Compare commits
581 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3044081038 | |||
| 72d5572fc4 | |||
| 7219171713 | |||
| bb2d70cc7a | |||
| 9d8f86f414 | |||
| 52f73bf3a7 | |||
| dfe29cc43f | |||
| 5a9176f486 | |||
| 83056ce019 | |||
| 5f4116f25f | |||
| b69d1f729e | |||
| 1f2a600685 | |||
| 4e10a47d46 | |||
| 1ad57396b4 | |||
| 7dd3854193 | |||
| 1e66d1a21d | |||
| 8b85200aa4 | |||
| 7fd044f804 | |||
| d1c140f614 | |||
| 5c711e4838 | |||
| 6f8bcc5350 | |||
| 6b39aa4e70 | |||
| 2874e5bfb8 | |||
| dd316aa3bb | |||
| d5ef79b753 | |||
| 700c9f1f51 | |||
| 09cd832f83 | |||
| 9ecc26a9b5 | |||
| e814a3c7ec | |||
| 170108d6ae | |||
| 2392a92b77 | |||
| dba9378833 | |||
| 44b6201b75 | |||
| 49e1927e7e | |||
| 37b457ddf1 | |||
| 184196f0ee | |||
| 0a55e4d920 | |||
| 091bf2b543 | |||
| f3757474fc | |||
| 6f9a30c3eb | |||
| 8ee5c62b72 | |||
| 41e5a618de | |||
| 03dc2bb844 | |||
| 7887663463 | |||
| c6db9f451c | |||
| d8b9363869 | |||
| b617682f3c | |||
| 693577b688 | |||
| 3dd32cfeec | |||
| 780313ef37 | |||
| 55a179bb65 | |||
| 0f40f78311 | |||
| be906f3ee6 | |||
| 0fffd997ce | |||
| 6ebee7a323 | |||
| c2352c8f4f | |||
| 9c8e17b213 | |||
| 38ef3dde88 | |||
| 887fb2f2f5 | |||
| bd47061fc9 | |||
| 5e5097c9a8 | |||
| fae0615568 | |||
| fffef60892 | |||
| 32e9f7bb80 | |||
| 504b8cf0c3 | |||
| 29a71a2ff0 | |||
| 0d70168d8a | |||
| 9022cdb444 | |||
| 9dbf7a91df | |||
| cc012324e6 | |||
| fae5d8543b | |||
| dd314719b4 | |||
| d69adfe4be | |||
| 4a3ba43afb | |||
| 03f7befb41 | |||
| 58a674b517 | |||
| c6b244f0e6 | |||
| 6a6c397c21 | |||
| c21ae979ef | |||
| d8f6c456b2 | |||
| 31d69e36c8 | |||
| 8a74f97ac0 | |||
| 6d5e54b602 | |||
| 0fc7ab88c4 | |||
| 4a1ca9056f | |||
| 0a6d374a67 | |||
| f49916cc28 | |||
| 2873f122e7 | |||
| 34f15be55c | |||
| 86a1b5fa8f | |||
| c36f8a8bb6 | |||
| e5cf8e48c0 | |||
| 6845bb0b6b | |||
| 0c9ca6024d | |||
| 973ff39ba3 | |||
| 38726e79b1 | |||
| 6b311e341c | |||
| d433f4f4b8 | |||
| f4b2d5f085 | |||
| 3b4730e88f | |||
| 0caef2f8b7 | |||
| 6f530acae2 | |||
| 06be163025 | |||
| e2aba65caf | |||
| b04d2de39d | |||
| a4757914de | |||
| 1d011ec84b | |||
| d0a69a3c52 | |||
| 0588374475 | |||
| d4cb71cb12 | |||
| 6bb0648f8b | |||
| a297b99330 | |||
| 793223e23d | |||
| e4ad938316 | |||
| a9ea191622 | |||
| 0b5006c614 | |||
| dc2aaf2f73 | |||
| f610a94ef2 | |||
| 0ee1605921 | |||
| 195b392530 | |||
| bc29ddcf43 | |||
| 5dd522746d | |||
| 7bf654d64f | |||
| 344d152673 | |||
| a974f46062 | |||
| ab01879c14 | |||
| 6afab0e435 | |||
| 1fbdf5dbbf | |||
| 5c21ef5f98 | |||
| c9d81caf4b | |||
| 8123b52fae | |||
| a3422e5052 | |||
| ed1f31d3d9 | |||
| f17f4f1054 | |||
| f0c43a85eb | |||
| f8aa92e2c9 | |||
| 05e4b1dfb3 | |||
| 7562edb413 | |||
| 6273f84486 | |||
| 1029fb575a | |||
| b0fd049147 | |||
| 8c5a8debdd | |||
| 703451bd29 | |||
| 234efd2b12 | |||
| 37371f12cc | |||
| a76a1e010f | |||
| 6e532140d7 | |||
| 78af46f686 | |||
| d85b610139 | |||
| cc16e3a04e | |||
| ffc96ba5ce | |||
| 0564b21406 | |||
| 4a5cd7309b | |||
| 38a0e57543 | |||
| 9cf6fea646 | |||
| b205a3c73f | |||
| a84050e626 | |||
| 127bf69b29 | |||
| f3dc8a37bd | |||
| 2b2b071377 | |||
| d6bb17a6c4 | |||
| 980a961ae0 | |||
| 7cb43cb6b5 | |||
| b013c036ef | |||
| 6148736b1d | |||
| 9110601c62 | |||
| 844be1fbc6 | |||
| 0a7f15da55 | |||
| 238f8d8619 | |||
| 0ae8b654e1 | |||
| 7afcf19b96 | |||
| 121bb52e2f | |||
| d53bacb6fe | |||
| 99d02504d3 | |||
| ed1fd39747 | |||
| 8d649eaa1a | |||
| 70488e2dd2 | |||
| c802690de1 | |||
| 4cbd522880 | |||
| 865bd458d5 | |||
| 72a778cf4c | |||
| 9e0ade0466 | |||
| d6b8ebfca8 | |||
| ce57982ee5 | |||
| cc9904d961 | |||
| 41b501284e | |||
| 690566df93 | |||
| d8dd69cd66 | |||
| b7addab9c5 | |||
| 6c7be89d89 | |||
| 3e05033896 | |||
| dbfcdca6e3 | |||
| 9515d367d8 | |||
| df4dff3da6 | |||
| 819e44ba4d | |||
| a11debc76b | |||
| 18bf515989 | |||
| a7421ed9f6 | |||
| 44ad5e2a1f | |||
| 61658f8b74 | |||
| 83a1d49af4 | |||
| 3ca6d6d34e | |||
| f90966808b | |||
| a55080bd36 | |||
| 8c7450fd98 | |||
| b38e8e79a4 | |||
| c96e578494 | |||
| 68230012eb | |||
| 0441d9ad2a | |||
| d78be9b4b5 | |||
| 71a2c04437 | |||
| 0338236122 | |||
| 4547ec1c37 | |||
| 11ea758e00 | |||
| 7da25d757c | |||
| 7c62922a83 | |||
| 495be3de09 | |||
| e046aa3514 | |||
| 932ed38af7 | |||
| e7f6305830 | |||
| 2f7965093e | |||
| ee03a16a53 | |||
| 2e7aa6ac81 | |||
| 35d25ef991 | |||
| 1a50e6e57b | |||
| f843003170 | |||
| b45ad011e0 | |||
| 339619111c | |||
| 75b4c17c89 | |||
| 5bd5cd7c0c | |||
| 8ada638d16 | |||
| 363752b695 | |||
| 78b91206b0 | |||
| b9eec5f4a6 | |||
| cb503ea279 | |||
| c82f2f4c6c | |||
| d733edbf01 | |||
| 6a0520e2f8 | |||
| ffff743283 | |||
| 614629f086 | |||
| 6d2c1f9bcc | |||
| bcb26fad4b | |||
| 591c9c4cee | |||
| cb1f1052d1 | |||
| 6d6e4f8ade | |||
| 367b3dcb8a | |||
| bfd8e3a0c5 | |||
| 7f692e42ce | |||
| a66c127f1e | |||
| 782f3921b6 | |||
| 28e428968a | |||
| bee957c3a9 | |||
| 40d6e0cf9c | |||
| d51d9cf238 | |||
| 3b3c3ed484 | |||
| 2ef519e6d9 | |||
| b0e02de894 | |||
| 5cea4818e8 | |||
| 7f38e57ad6 | |||
| 8b5a725ace | |||
| 2a66d1fe4f | |||
| 74d5defaac | |||
| 015dd7c007 | |||
| d4c9b3a316 | |||
| 0e7ff01315 | |||
| bc23448701 | |||
| 4f3a9d133e | |||
| f8ce6586db | |||
| 7d62809599 | |||
| 8c1cbb1eff | |||
| 2f7cbe0a2a | |||
| 5b5759a5ea | |||
| 824a83bf35 | |||
| eac20137b8 | |||
| faeb193531 | |||
| 85ddb3fdb8 | |||
| 76886347d8 | |||
| b26adf850f | |||
| 03b15c9fe3 | |||
| e66d3eea49 | |||
| 350c73ecaa | |||
| d401bb8682 | |||
| e78b4e0f7f | |||
| 099de90f6d | |||
| f7e6883cdd | |||
| d333ce0b07 | |||
| 49dab68575 | |||
| 19da26d9de | |||
| 7c66ebddde | |||
| ed1730c352 | |||
| 08b618a1c1 | |||
| c6660504a4 | |||
| 65c51b73d3 | |||
| ca0167c5f4 | |||
| 3b4d96403b | |||
| d7d10705e6 | |||
| 3b903cd1b4 | |||
| 179f27fdf5 | |||
| bb5b094fd0 | |||
| 19f2ecef03 | |||
| 991494c04d | |||
| ddb1192cdf | |||
| 2b5e43cfb5 | |||
| 49a5ba6794 | |||
| a3d0277581 | |||
| 78ad666e67 | |||
| 2704ca4bdb | |||
| f63d692389 | |||
| 104874ca20 | |||
| 30d1c72f46 | |||
| 0d770de827 | |||
| 8d3590cf35 | |||
| d7bc686349 | |||
| d6bad4ed48 | |||
| dc7a7c1598 | |||
| e61f58d751 | |||
| addd4ac7d6 | |||
| 5926dd097e | |||
| 1aca8d150a | |||
| 34a7b610e5 | |||
| 49291817f1 | |||
| 3378603e37 | |||
| d7d4ade2a7 | |||
| ea60b114e2 | |||
| 68fe020f5b | |||
| c9e9d77d0a | |||
| eca3bce038 | |||
| bab6f75d00 | |||
| 46701ad161 | |||
| 4ea36dfbb0 | |||
| 71e4a1dfd6 | |||
| 14496c5c1d | |||
| 31989c1dfd | |||
| 0184f1b027 | |||
| 7abef9f5e7 | |||
| ef3bda9e42 | |||
| e2c0a35843 | |||
| 77f145b5a1 | |||
| 0586d2a9a6 | |||
| 2118947539 | |||
| f0e79f85e8 | |||
| 37d40fe59c | |||
| 5cf6e2a593 | |||
| 38a136fe1c | |||
| 9eccc4f78a | |||
| 07d906f3f1 | |||
| 2d95fe62b6 | |||
| 18d7fe7cca | |||
| 927cbdca6d | |||
| 84be304cb4 | |||
| 6a4faa2260 | |||
| 2034e4f3d0 | |||
| 3e1d62889c | |||
| ebf38459c1 | |||
| 619016b7c0 | |||
| 1c4f5fa48c | |||
| 18069b30a0 | |||
| b0d2957896 | |||
| 6aed0e04f7 | |||
| 7fd236c45c | |||
| c557342eee | |||
| 25f7acf6e0 | |||
| 24d7ee39ba | |||
| 6223fe7be1 | |||
| e50b87d7c4 | |||
| 5825101dfe | |||
| b20866a459 | |||
| 22ef6a4c68 | |||
| fd94b5884f | |||
| 507dda0f2b | |||
| e81d70b286 | |||
| c7eba26df5 | |||
| ff38d0ac9c | |||
| f67f4a1276 | |||
| 52f067f87a | |||
| 2b57fee182 | |||
| f4ce451502 | |||
| 3c4a9cf941 | |||
| b1520bffa1 | |||
| eba4ff7298 | |||
| bbb25cdb83 | |||
| 35dc77f295 | |||
| a64a8408a1 | |||
| 105cc41551 | |||
| 26283bd49d | |||
| 993dbc60b5 | |||
| b70a71928f | |||
| 27758972e3 | |||
| 1eb1873edf | |||
| 362373f4b4 | |||
| 8269fc0430 | |||
| c0e78702ef | |||
| 4532e65281 | |||
| 0f09316086 | |||
| 6ac9e35bfd | |||
| 1812049a94 | |||
| e214e010af | |||
| 6084393d23 | |||
| b7b1a6de58 | |||
| 81dc918ab7 | |||
| fe05684f7f | |||
| 8615bf2670 | |||
| f2c65a1276 | |||
| 33640372e0 | |||
| 26a55eddd4 | |||
| 6adee00470 | |||
| f6a9f0047e | |||
| 65ba213250 | |||
| 8bd188aadf | |||
| 8ab8ed1e80 | |||
| a6c71b565a | |||
| 4f2d339de3 | |||
| bb049ec0d3 | |||
| b8a102d99b | |||
| 20b2dd5155 | |||
| 3d23d22ed2 | |||
| 3c05205573 | |||
| ff26de5baf | |||
| b815018a70 | |||
| 5db9333a12 | |||
| 782410a544 | |||
| 81a6edca6c | |||
| 51d828ebc9 | |||
| 254e37af6f | |||
| 3e70914f91 | |||
| 73f71f3dd6 | |||
| 6d7459ee85 | |||
| d583fad8d6 | |||
| 0576bf98c6 | |||
| afe2683bf1 | |||
| 092630b4f1 | |||
| c8ce3c6608 | |||
| 54b0174b0c | |||
| 1231b5387b | |||
| 19c3095c1a | |||
| 8ef8a3c9bf | |||
| b8ec5bf3d2 | |||
| c0470a6002 | |||
| bba44655b9 | |||
| b4494d4e3e | |||
| b0f9264898 | |||
| 1f6fbe0cd9 | |||
| d5859a3704 | |||
| 3b6d50fc00 | |||
| fcbd73daf8 | |||
| 4f4edd6b0b | |||
| fa8de6293e | |||
| dae0d0a115 | |||
| 04aa688f4f | |||
| c94387685c | |||
| a87b2bf77c | |||
| 730eeb78ed | |||
| 2357c29c56 | |||
| 31209c4d0a | |||
| 72ce0595fa | |||
| 1b26e9ec5e | |||
| b9d77ee267 | |||
| bb6a1e960a | |||
| 2ebbd13cc6 | |||
| 3419e0794d | |||
| 512de281b1 | |||
| f78306f386 | |||
| 1be9017495 | |||
| a11ce0526e | |||
| 57d2108331 | |||
| b4d24938e8 | |||
| a12213c12c | |||
| 09aa54bcc3 | |||
| bd43e1c26f | |||
| 8bef109ccc | |||
| e700effe91 | |||
| 86598ffc3a | |||
| 521f131dd1 | |||
| ccc135abaf | |||
| ba574ac741 | |||
| 0fb01f1025 | |||
| a6902feeb2 | |||
| 9675175a66 | |||
| a32d7ba2ce | |||
| 41f8a9b6a4 | |||
| 36e2db43e5 | |||
| 539a1722cb | |||
| c42d8dd06f | |||
| b28c56723f | |||
| 266fb7ca4c | |||
| c3149de6c4 | |||
| 800881df5d | |||
| 6b51892697 | |||
| a31b3dda17 | |||
| 645ebc9c60 | |||
| c8d85f1178 | |||
| de3c85fe3c | |||
| 89d1553518 | |||
| b955217aee | |||
| d6c35effd7 | |||
| c3d7b14f57 | |||
| 785fa9d1e0 | |||
| 92b5aa0425 | |||
| f20e8eb22f | |||
| ad54bbb280 | |||
| 10fa885725 | |||
| 51809f10e5 | |||
| 723cf85b6c | |||
| 31814adce4 | |||
| 551192053d | |||
| 9adafef87f | |||
| 550696e4a7 | |||
| dfc975df71 | |||
| 68c929b755 | |||
| e74b33e215 | |||
| 45e6b075d8 | |||
| 79209b57e1 | |||
| 2455918eca | |||
| 1bb44f0251 | |||
| 981b236953 | |||
| c5dc0d6313 | |||
| ed2a0a36d6 | |||
| c063b7995c | |||
| db529e73ac | |||
| c7c9a020d3 | |||
| 29e2f6a81e | |||
| 61df4050ca | |||
| f2f74fe0e2 | |||
| 465835bdb2 | |||
| 9b576529ae | |||
| c1d8b7d531 | |||
| 3082244e9d | |||
| 079113a5ff | |||
| 5470b17afb | |||
| 539d103a1e | |||
| ba3e228a4d | |||
| 874876fc8e | |||
| 76cabd2923 | |||
| 2d323bcd80 | |||
| df73d03931 | |||
| 7bff4d141e | |||
| 2af148c319 | |||
| 50613a56a8 | |||
| 7ac4837786 | |||
| 9904e3e57d | |||
| 54860b5f3b | |||
| d645f744f1 | |||
| 3df10b6a88 | |||
| 06fdbe1b63 | |||
| 3a1f9af3d3 | |||
| 0d159346f1 | |||
| e9b097faec | |||
| 7ef31b6af2 | |||
| 444787b515 | |||
| 52adf56c0d | |||
| 1e1a0f160b | |||
| 60e7ab7a48 | |||
| 08dcee775f | |||
| 1ffe9026c8 | |||
| 6733c6e0a5 | |||
| 3706c43bf2 | |||
| b200f14a7a | |||
| 8787e1a2eb | |||
| 54d52e436b | |||
| 3e10c06471 | |||
| 6225883315 | |||
| fae5d27fe8 | |||
| 49e92b82db | |||
| 93b2964d7d | |||
| 1f7a02a514 | |||
| 63d8d470b2 | |||
| 8df82e2e2a | |||
| 897ce00383 | |||
| 9529c4fc04 | |||
| 5f9b1bfb4e | |||
| 7092c6a5a0 | |||
| 2fdc7782fc | |||
| 005a7e6767 | |||
| 0c377fbffe | |||
| b0d22d9084 | |||
| 6fae6020b0 | |||
| 041e65ea5a | |||
| 88e7be2747 | |||
| f38595d21c | |||
| cc0d49b30c | |||
| b9bf4bf48a |
@@ -1,20 +1,30 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
parser: '@typescript-eslint/parser',
|
||||
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
|
||||
plugins: ['svelte3', '@typescript-eslint'],
|
||||
ignorePatterns: ['*.cjs'],
|
||||
overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
|
||||
settings: {
|
||||
'svelte3/typescript': () => require('typescript')
|
||||
},
|
||||
parserOptions: {
|
||||
sourceType: 'module',
|
||||
ecmaVersion: 2020
|
||||
},
|
||||
env: {
|
||||
browser: true,
|
||||
es2017: true,
|
||||
node: true
|
||||
}
|
||||
root: true,
|
||||
extends: [
|
||||
'eslint:recommended',
|
||||
'plugin:@typescript-eslint/recommended',
|
||||
'plugin:svelte/recommended',
|
||||
'prettier'
|
||||
],
|
||||
parser: '@typescript-eslint/parser',
|
||||
plugins: ['@typescript-eslint'],
|
||||
parserOptions: {
|
||||
sourceType: 'module',
|
||||
ecmaVersion: 2020,
|
||||
extraFileExtensions: ['.svelte']
|
||||
},
|
||||
env: {
|
||||
browser: true,
|
||||
es2017: true,
|
||||
node: true
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
files: ['*.svelte'],
|
||||
parser: 'svelte-eslint-parser',
|
||||
parserOptions: {
|
||||
parser: '@typescript-eslint/parser'
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
name: Request SVG.
|
||||
about: Request an SVG here.
|
||||
title: '🔔 [Request]:'
|
||||
labels: request
|
||||
assignees: pheralb
|
||||
---
|
||||
|
||||
## 🔎 Information:
|
||||
|
||||
- **Title**:
|
||||
- **Category**:
|
||||
- **Source (.svg)**:
|
||||
- **Website**:
|
||||
|
||||
## 📝 Checklist:
|
||||
|
||||
- [x] I have permission to use this logo.
|
||||
- [x] The link I have provided is optimized for web use.
|
||||
- [x] The size of the SVG is less than **20kb**.
|
||||
@@ -1,26 +1,45 @@
|
||||
name: 🛠️ Check
|
||||
name: 🔎 Check
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- next
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
- next
|
||||
|
||||
jobs:
|
||||
svelte-check:
|
||||
vitest:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Setup Node.js 18.x
|
||||
uses: actions/setup-node@v3
|
||||
- name: Setup pnpm 8
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
node-version: 18.x
|
||||
version: 8
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
run: pnpm install
|
||||
|
||||
- name: Run typecheck
|
||||
run: npm run check
|
||||
- name: Run Vitest
|
||||
run: pnpm test
|
||||
svgs-size:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Setup pnpm 8
|
||||
uses: pnpm/action-setup@v2
|
||||
with:
|
||||
version: 8
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
working-directory: ./check-size
|
||||
|
||||
- name: Check svgs size
|
||||
run: pnpm start
|
||||
working-directory: ./check-size
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# Dependencies
|
||||
node_modules
|
||||
package-lock.json
|
||||
pnpm-lock.yaml
|
||||
yarn.lock
|
||||
|
||||
# Folders
|
||||
/.svelte-kit
|
||||
/build
|
||||
/package
|
||||
.idea/
|
||||
|
||||
# Logs
|
||||
.DS_Store
|
||||
@@ -20,3 +20,4 @@ yarn.lock
|
||||
# Vite files
|
||||
vite.config.js.timestamp-*
|
||||
vite.config.ts.timestamp-*
|
||||
src/figma/dist
|
||||
@@ -1,8 +1,11 @@
|
||||
{
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": true
|
||||
"source.fixAll.eslint": "explicit"
|
||||
},
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnSave": true,
|
||||
"tailwindCSS.experimental.classRegex": [["[\"'`]([^\"'`]*).*?[\"'`]"]]
|
||||
"tailwindCSS.experimental.classRegex": [["[\"'`]([^\"'`]*).*?[\"'`]"]],
|
||||
"[svelte]": {
|
||||
"editor.defaultFormatter": "svelte.svelte-vscode"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,23 +1,31 @@
|
||||
<div align="center">
|
||||
<a href="https://svgl.vercel.app">
|
||||
<img src="static/images/screenshot.png">
|
||||
<a href="https://svgl.app">
|
||||
<img src="static/images/readme.png">
|
||||
</a>
|
||||
<p></p>
|
||||
</div>
|
||||
|
||||
<div align="center">
|
||||
<a href="https://svgl.vercel.app/" target="_blank">
|
||||
<a href="https://svgl.app" target="_blank">
|
||||
Discover
|
||||
</a>
|
||||
<span> ● </span>
|
||||
<span> ✦ </span>
|
||||
<a href="https://github.com/pheralb/svgl/issues/new?assignees=pheralb&labels=request&projects=&template=request-svg-.md&title=%5BRequest%5D%3A">
|
||||
Request logo
|
||||
</a>
|
||||
<span> ✦ </span>
|
||||
<a href="#-getting-started">
|
||||
Submit logo
|
||||
</a>
|
||||
<span> ● </span>
|
||||
<a href="#%EF%B8%8F-stack">
|
||||
Stack
|
||||
<span> ✦ </span>
|
||||
<a href="#-extensions">
|
||||
Extensions
|
||||
</a>
|
||||
<span> ● </span>
|
||||
<span> ✦ </span>
|
||||
<a href="https://svgl.app/api">
|
||||
API
|
||||
</a>
|
||||
<span> ✦ </span>
|
||||
<a href="#%EF%B8%8F-contributing">
|
||||
Contributing
|
||||
</a>
|
||||
@@ -27,12 +35,13 @@
|
||||
|
||||
<div align="center">
|
||||
|
||||

|
||||
[](https://actions-badge.atrox.dev/pheralb/svgl/goto?ref=main)
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
</div>
|
||||
|
||||
@@ -40,56 +49,122 @@
|
||||
|
||||
- [**Sveltekit**](https://kit.svelte.dev/) - Web development, streamlined.
|
||||
- [**Typescript**](https://www.typescriptlang.org/) - JavaScript with syntax for types.
|
||||
- [**mdsvex**](https://mdsvex.com/) - Markdown for Svelte apps.
|
||||
- [**Shiki**](https://github.com/shikijs/shiki) - A beautiful Syntax Highlighter.
|
||||
- [**Tailwindcss**](https://tailwindcss.com/) - A utility-first CSS framework for rapidly building custom designs.
|
||||
- [**bits-ui**](https://www.bits-ui.com) - A collection of headless components for Svelte.
|
||||
- [**clsx**](https://github.com/lukeed/clsx) + [**tailwind-merge**](https://github.com/dcastil/tailwind-merge) inspired by [shadcn/ui](https://ui.shadcn.com) - A tiny utility for constructing `className` strings conditionally.
|
||||
- [**Prettier**](https://prettier.io/) + [prettier-plugin-tailwindcss](https://github.com/tailwindlabs/prettier-plugin-tailwindcss) - An opinionated code formatter.
|
||||
- [**phosphor-svelte**](https://github.com/haruaki07/phosphor-svelte) - A clean and friendly icon family for Svelte.
|
||||
- [**Lucide Icons**](https://lucide.dev/) + [**phosphor-svelte**](https://github.com/haruaki07/phosphor-svelte) - A clean and friendly icons libraries.
|
||||
- [**svelte-sonner**](https://github.com/wobsoriano/svelte-sonner) - An opinionated toast component for Svelte.
|
||||
- [**@upstash/redis** + **@upstash/ratelimit**](https://upstash.com/) - Serverless Redis for developers.
|
||||
- [**Vitest**](https://vitest.dev/) - Blazing Fast Unit Test Framework.
|
||||
|
||||
## 🚀 Getting Started
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Before submitting the SVG, **make sure that you have permission** or that the license of the SVG allows you to add it to svgl. If you are not sure, please contact the company or author.
|
||||
|
||||
You will need:
|
||||
|
||||
- [Node.js 16+ (recommended 18 LTS)](https://nodejs.org/en/).
|
||||
- [Git](https://git-scm.com/).
|
||||
|
||||
1. Clone or [fork](https://github.com/pheralb/svgl/fork) this repository:
|
||||
1. [Fork](https://github.com/pheralb/svgl/fork) this repository and clone it locally:
|
||||
|
||||
```bash
|
||||
git clone git@github.com:pheralb/svgl.git
|
||||
git clone git@github.com:your_username/svgl.git
|
||||
```
|
||||
|
||||
2. Install dependencies with your favorite package manager:
|
||||
2. Install dependencies:
|
||||
|
||||
```bash
|
||||
# with npm:
|
||||
npm install
|
||||
# Install pnpm globally if you don't have it:
|
||||
npm install -g pnpm
|
||||
|
||||
# with pnpm:
|
||||
# and install dependencies:
|
||||
pnpm install
|
||||
|
||||
# with ultra:
|
||||
ultra install
|
||||
|
||||
# with yarn:
|
||||
yarn install
|
||||
```
|
||||
|
||||
3. Go to the [**`static/library`**](https://github.com/pheralb/svgl/blob/main/static/library) folder and add your `.svg` logo. Remember to optimize SVG for web use, you can use [SVGOMG](https://jakearchibald.github.io/svgomg/).
|
||||
3. Go to the [**`static/library`**](https://github.com/pheralb/svgl/blob/main/static/library) folder and add your `.svg` logo.
|
||||
|
||||
> [!WARNING]
|
||||
>
|
||||
> - Remember to optimize SVG for web, you can use [SVGOMG](https://jakearchibald.github.io/svgomg/).
|
||||
> - When you optimize the SVG, make sure that the `viewBox` is not removed.
|
||||
> - The size limit for each .svg is **20kb**.
|
||||
|
||||
4. Go to the [**`src/data/svgs.ts`**](https://github.com/pheralb/svgl/blob/main/src/data/svgs.ts) and add the information about your logo, following the structure:
|
||||
|
||||
- If the logo is a solid color:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"title": "Title",
|
||||
"category": "Category",
|
||||
"route": "/library/your_logo.svg",
|
||||
"url": "Website"
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
- If the logo has logo + wordmark version:
|
||||
|
||||
```json
|
||||
{
|
||||
"title": "Title",
|
||||
"category": "Category",
|
||||
"route": "/library/your_logo.svg",
|
||||
"wordmark": "/library/your_logo_wordmark.svg",
|
||||
"url": "Website"
|
||||
}
|
||||
```
|
||||
|
||||
- If the logo/wordmark has light and dark mode:
|
||||
|
||||
```json
|
||||
{
|
||||
"title": "Title",
|
||||
"category": "Category",
|
||||
"route": {
|
||||
"light": "/library/your_logo_light.svg",
|
||||
"dark": "/library/your_logo_dark.svg"
|
||||
},
|
||||
"wordmark": {
|
||||
"light": "/library/your_wordmark-logo_light.svg",
|
||||
"dark": "/library/your_wordmark-logo_dark.svg"
|
||||
},
|
||||
"url": "Website"
|
||||
}
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> - The list of categories is here: [`src/types/categories.ts`](https://github.com/pheralb/svgl/blob/main/src/types/categories.ts). You can add a new category if you need it.
|
||||
> - You can add multiple categories to the same logo, for example: `"category": ["Social", "Design"]` (max 3 categories per logo).
|
||||
|
||||
And create a pull request with your logo 🚀.
|
||||
|
||||
5. (Optional) If you want to run the [API](https://svgl.app/api) locally, you will need to create a `.env` file in the root of the project with the following variables:
|
||||
|
||||
- [Create a Upstash account](https://console.upstash.com/).
|
||||
- [Create a Upstash Redis Database](https://upstash.com/docs/redis/overall/getstarted).
|
||||
|
||||
```bash
|
||||
SVGL_API_REQUESTS = 1
|
||||
UPSTASH_REDIS_URL = ""
|
||||
UPSTASH_REDIS_TOKEN = ""
|
||||
```
|
||||
|
||||
## 📦 Extensions
|
||||
|
||||
A list of extensions that use the [svgl API](https://svgl.app/api), created by the community:
|
||||
|
||||
| | Extension | Description | Created by | Link |
|
||||
| ---------------------------------------------------------------------------------------------- | ---------------- | -------------------------------------------------- | ----------------------------------------- | ------------------------------------------------------------------------------- |
|
||||
| <img src="https://github.com/pheralb/svgl/blob/main/static/library/svgl.svg" height="25" /> | svgls | A CLI for easily adding SVG icons to your project. | [sujjeee](https://twitter.com/sujjeeee) | [Github Repository](https://github.com/sujjeee/svgls) |
|
||||
| <img src="https://github.com/pheralb/svgl/blob/main/static/library/figma.svg" height="25" /> | SVGL for Figma | Add svgs from svgl to your Figma project. | [quilljou](https://twitter.com/quillzhou) | [Figma Plugin](https://www.figma.com/community/plugin/1320306989350693206/svgl) |
|
||||
| <img src="https://github.com/pheralb/svgl/blob/main/static/library/raycast.svg" height="25" /> | SVGL for Raycast | Search SVG logos via svgl. | [1weiho](https://twitter.com/1weiho) | [Raycast Store](https://www.raycast.com/davidho0403/svgl) |
|
||||
|
||||
## ✌️ Contributing
|
||||
|
||||
<a href="https://github.com/pheralb/svgl/graphs/contributors">
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
/* eslint-disable @typescript-eslint/no-var-requires */
|
||||
const { readdir, stat } = require('fs').promises;
|
||||
const { join } = require('path');
|
||||
|
||||
// For GitHub Actions:
|
||||
const core = require('@actions/core');
|
||||
|
||||
// 🔎 Settings:
|
||||
const dir = '../static/library';
|
||||
const sizeLimit = 20000; // 20kb;
|
||||
|
||||
function convertBytes(bytes, format = 'KB') {
|
||||
if (format === 'KB') {
|
||||
return (bytes / 1024).toFixed(2) + ' KB';
|
||||
} else if (format === 'MB') {
|
||||
return (bytes / (1024 * 1024)).toFixed(2) + ' MB';
|
||||
} else {
|
||||
return 'Invalid format. Use "KB" or "MB".';
|
||||
}
|
||||
}
|
||||
|
||||
async function checkSize() {
|
||||
const files = await readdir(dir);
|
||||
let maxSize = 0;
|
||||
let maxFiles = [];
|
||||
let message = '';
|
||||
|
||||
try {
|
||||
for (const file of files) {
|
||||
const filePath = join(dir, file);
|
||||
const stats = await stat(filePath);
|
||||
|
||||
if (stats.size >= sizeLimit) {
|
||||
maxFiles.push({
|
||||
filename: file,
|
||||
size: stats.size
|
||||
});
|
||||
if (stats.size > maxSize) {
|
||||
maxSize = stats.size;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (maxFiles.length === 0) {
|
||||
message = `- ✅ All files are smaller than ${convertBytes(sizeLimit)}`;
|
||||
core.setOutput('message', message);
|
||||
} else {
|
||||
message = `- ❌ There are files bigger than ${convertBytes(sizeLimit)}.`;
|
||||
throw new Error(message);
|
||||
}
|
||||
} catch (err) {
|
||||
core.setFailed(message);
|
||||
} finally {
|
||||
if (maxFiles.length > 0) {
|
||||
console.log('🔎 Files found:');
|
||||
maxFiles.forEach((file) => {
|
||||
console.log(`- 📄 ${file.filename} - ${convertBytes(file.size, 'KB')}`);
|
||||
});
|
||||
}
|
||||
console.log('⚙️ Settings:');
|
||||
console.log(`- 📁 Directory: ${dir}`);
|
||||
console.log(`- 🧱 Size limit: ${convertBytes(sizeLimit)} bytes`);
|
||||
if (maxSize > 0) {
|
||||
console.log(`- 🔔 Max size found: ${convertBytes(maxSize, 'KB')}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Run the function
|
||||
checkSize();
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "@svgl/check-size",
|
||||
"version": "1.0.0",
|
||||
"description": "Limit the size of your SVG files",
|
||||
"main": "index.js",
|
||||
"author": "@pheralb_",
|
||||
"license": "ISC",
|
||||
"keywords": [
|
||||
"svg",
|
||||
"size",
|
||||
"limit",
|
||||
"check"
|
||||
],
|
||||
"scripts": {
|
||||
"start": "node index.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@actions/core": "1.10.1",
|
||||
"@actions/github": "6.0.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
lockfileVersion: '6.0'
|
||||
|
||||
settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
dependencies:
|
||||
'@actions/core':
|
||||
specifier: 1.10.1
|
||||
version: 1.10.1
|
||||
'@actions/github':
|
||||
specifier: 6.0.0
|
||||
version: 6.0.0
|
||||
|
||||
packages:
|
||||
|
||||
/@actions/core@1.10.1:
|
||||
resolution: {integrity: sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==}
|
||||
dependencies:
|
||||
'@actions/http-client': 2.2.0
|
||||
uuid: 8.3.2
|
||||
dev: false
|
||||
|
||||
/@actions/github@6.0.0:
|
||||
resolution: {integrity: sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==}
|
||||
dependencies:
|
||||
'@actions/http-client': 2.2.0
|
||||
'@octokit/core': 5.0.2
|
||||
'@octokit/plugin-paginate-rest': 9.1.5(@octokit/core@5.0.2)
|
||||
'@octokit/plugin-rest-endpoint-methods': 10.2.0(@octokit/core@5.0.2)
|
||||
dev: false
|
||||
|
||||
/@actions/http-client@2.2.0:
|
||||
resolution: {integrity: sha512-q+epW0trjVUUHboliPb4UF9g2msf+w61b32tAkFEwL/IwP0DQWgbCMM0Hbe3e3WXSKz5VcUXbzJQgy8Hkra/Lg==}
|
||||
dependencies:
|
||||
tunnel: 0.0.6
|
||||
undici: 5.28.2
|
||||
dev: false
|
||||
|
||||
/@fastify/busboy@2.1.0:
|
||||
resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==}
|
||||
engines: {node: '>=14'}
|
||||
dev: false
|
||||
|
||||
/@octokit/auth-token@4.0.0:
|
||||
resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==}
|
||||
engines: {node: '>= 18'}
|
||||
dev: false
|
||||
|
||||
/@octokit/core@5.0.2:
|
||||
resolution: {integrity: sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg==}
|
||||
engines: {node: '>= 18'}
|
||||
dependencies:
|
||||
'@octokit/auth-token': 4.0.0
|
||||
'@octokit/graphql': 7.0.2
|
||||
'@octokit/request': 8.1.6
|
||||
'@octokit/request-error': 5.0.1
|
||||
'@octokit/types': 12.4.0
|
||||
before-after-hook: 2.2.3
|
||||
universal-user-agent: 6.0.1
|
||||
dev: false
|
||||
|
||||
/@octokit/endpoint@9.0.4:
|
||||
resolution: {integrity: sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==}
|
||||
engines: {node: '>= 18'}
|
||||
dependencies:
|
||||
'@octokit/types': 12.4.0
|
||||
universal-user-agent: 6.0.1
|
||||
dev: false
|
||||
|
||||
/@octokit/graphql@7.0.2:
|
||||
resolution: {integrity: sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==}
|
||||
engines: {node: '>= 18'}
|
||||
dependencies:
|
||||
'@octokit/request': 8.1.6
|
||||
'@octokit/types': 12.4.0
|
||||
universal-user-agent: 6.0.1
|
||||
dev: false
|
||||
|
||||
/@octokit/openapi-types@19.1.0:
|
||||
resolution: {integrity: sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==}
|
||||
dev: false
|
||||
|
||||
/@octokit/plugin-paginate-rest@9.1.5(@octokit/core@5.0.2):
|
||||
resolution: {integrity: sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==}
|
||||
engines: {node: '>= 18'}
|
||||
peerDependencies:
|
||||
'@octokit/core': '>=5'
|
||||
dependencies:
|
||||
'@octokit/core': 5.0.2
|
||||
'@octokit/types': 12.4.0
|
||||
dev: false
|
||||
|
||||
/@octokit/plugin-rest-endpoint-methods@10.2.0(@octokit/core@5.0.2):
|
||||
resolution: {integrity: sha512-ePbgBMYtGoRNXDyKGvr9cyHjQ163PbwD0y1MkDJCpkO2YH4OeXX40c4wYHKikHGZcpGPbcRLuy0unPUuafco8Q==}
|
||||
engines: {node: '>= 18'}
|
||||
peerDependencies:
|
||||
'@octokit/core': '>=5'
|
||||
dependencies:
|
||||
'@octokit/core': 5.0.2
|
||||
'@octokit/types': 12.4.0
|
||||
dev: false
|
||||
|
||||
/@octokit/request-error@5.0.1:
|
||||
resolution: {integrity: sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==}
|
||||
engines: {node: '>= 18'}
|
||||
dependencies:
|
||||
'@octokit/types': 12.4.0
|
||||
deprecation: 2.3.1
|
||||
once: 1.4.0
|
||||
dev: false
|
||||
|
||||
/@octokit/request@8.1.6:
|
||||
resolution: {integrity: sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==}
|
||||
engines: {node: '>= 18'}
|
||||
dependencies:
|
||||
'@octokit/endpoint': 9.0.4
|
||||
'@octokit/request-error': 5.0.1
|
||||
'@octokit/types': 12.4.0
|
||||
universal-user-agent: 6.0.1
|
||||
dev: false
|
||||
|
||||
/@octokit/types@12.4.0:
|
||||
resolution: {integrity: sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==}
|
||||
dependencies:
|
||||
'@octokit/openapi-types': 19.1.0
|
||||
dev: false
|
||||
|
||||
/before-after-hook@2.2.3:
|
||||
resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==}
|
||||
dev: false
|
||||
|
||||
/deprecation@2.3.1:
|
||||
resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
|
||||
dev: false
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/tunnel@0.0.6:
|
||||
resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==}
|
||||
engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'}
|
||||
dev: false
|
||||
|
||||
/undici@5.28.2:
|
||||
resolution: {integrity: sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==}
|
||||
engines: {node: '>=14.0'}
|
||||
dependencies:
|
||||
'@fastify/busboy': 2.1.0
|
||||
dev: false
|
||||
|
||||
/universal-user-agent@6.0.1:
|
||||
resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==}
|
||||
dev: false
|
||||
|
||||
/uuid@8.3.2:
|
||||
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
dev: false
|
||||
@@ -0,0 +1,62 @@
|
||||
/* eslint-disable @typescript-eslint/no-var-requires */
|
||||
const { readdir, stat } = require('fs').promises;
|
||||
const { readFile, writeFile } = require('fs/promises');
|
||||
const { join } = require('path');
|
||||
|
||||
// 🔎 Settings:
|
||||
const dir = '../static/library';
|
||||
|
||||
async function fixViewbox() {
|
||||
const files = await readdir(dir);
|
||||
const fileType = 'svg';
|
||||
let message = '';
|
||||
|
||||
for (const file of files) {
|
||||
const filePath = join(dir, file);
|
||||
const fileStat = await stat(filePath);
|
||||
if (fileStat.isFile() && file.endsWith(fileType)) {
|
||||
const fileContent = await readFile(filePath);
|
||||
const viewBox = getViewBox(fileContent);
|
||||
const width = getWidth(fileContent);
|
||||
const height = getHeight(fileContent);
|
||||
if (!viewBox) {
|
||||
const newFileContent = fileContent
|
||||
.toString()
|
||||
.replace('<svg', `<svg viewBox="0 0 ${width} ${height}"`);
|
||||
await writeFile(filePath, newFileContent);
|
||||
message = `🔔 File ${file} has been fixed.`;
|
||||
console.log(message);
|
||||
} else {
|
||||
message = `✅ File ${file} has already a viewBox.`;
|
||||
console.log(message);
|
||||
}
|
||||
} else {
|
||||
message = `❌ File ${file} is not a ${fileType} file.`;
|
||||
console.log(message);
|
||||
}
|
||||
}
|
||||
|
||||
// Log the result:
|
||||
console.log('🚀 Done.');
|
||||
}
|
||||
|
||||
function getViewBox(fileContent) {
|
||||
const viewBoxRegex = /viewBox="(.+?)"/;
|
||||
const viewBox = viewBoxRegex.exec(fileContent);
|
||||
return viewBox ? viewBox[1] : null;
|
||||
}
|
||||
|
||||
function getWidth(fileContent) {
|
||||
const widthRegex = /width="(.+?)"/;
|
||||
const width = widthRegex.exec(fileContent);
|
||||
return width ? width[1] : null;
|
||||
}
|
||||
|
||||
function getHeight(fileContent) {
|
||||
const heightRegex = /height="(.+?)"/;
|
||||
const height = heightRegex.exec(fileContent);
|
||||
return height ? height[1] : null;
|
||||
}
|
||||
|
||||
// Run the function
|
||||
fixViewbox();
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "@svgl/fix-viewbox",
|
||||
"version": "1.0.0",
|
||||
"description": "Add viewbox to svg files if not present.",
|
||||
"main": "index.js",
|
||||
"author": "@pheralb_",
|
||||
"license": "ISC",
|
||||
"keywords": [
|
||||
"svg",
|
||||
"size",
|
||||
"limit",
|
||||
"check"
|
||||
],
|
||||
"scripts": {
|
||||
"start": "node index.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@actions/core": "1.10.1",
|
||||
"@actions/github": "6.0.0"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
lockfileVersion: '6.0'
|
||||
|
||||
settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
dependencies:
|
||||
'@actions/core':
|
||||
specifier: 1.10.1
|
||||
version: 1.10.1
|
||||
'@actions/github':
|
||||
specifier: 6.0.0
|
||||
version: 6.0.0
|
||||
|
||||
packages:
|
||||
|
||||
/@actions/core@1.10.1:
|
||||
resolution: {integrity: sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==}
|
||||
dependencies:
|
||||
'@actions/http-client': 2.2.0
|
||||
uuid: 8.3.2
|
||||
dev: false
|
||||
|
||||
/@actions/github@6.0.0:
|
||||
resolution: {integrity: sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==}
|
||||
dependencies:
|
||||
'@actions/http-client': 2.2.0
|
||||
'@octokit/core': 5.0.2
|
||||
'@octokit/plugin-paginate-rest': 9.1.5(@octokit/core@5.0.2)
|
||||
'@octokit/plugin-rest-endpoint-methods': 10.2.0(@octokit/core@5.0.2)
|
||||
dev: false
|
||||
|
||||
/@actions/http-client@2.2.0:
|
||||
resolution: {integrity: sha512-q+epW0trjVUUHboliPb4UF9g2msf+w61b32tAkFEwL/IwP0DQWgbCMM0Hbe3e3WXSKz5VcUXbzJQgy8Hkra/Lg==}
|
||||
dependencies:
|
||||
tunnel: 0.0.6
|
||||
undici: 5.28.2
|
||||
dev: false
|
||||
|
||||
/@fastify/busboy@2.1.0:
|
||||
resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==}
|
||||
engines: {node: '>=14'}
|
||||
dev: false
|
||||
|
||||
/@octokit/auth-token@4.0.0:
|
||||
resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==}
|
||||
engines: {node: '>= 18'}
|
||||
dev: false
|
||||
|
||||
/@octokit/core@5.0.2:
|
||||
resolution: {integrity: sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg==}
|
||||
engines: {node: '>= 18'}
|
||||
dependencies:
|
||||
'@octokit/auth-token': 4.0.0
|
||||
'@octokit/graphql': 7.0.2
|
||||
'@octokit/request': 8.1.6
|
||||
'@octokit/request-error': 5.0.1
|
||||
'@octokit/types': 12.4.0
|
||||
before-after-hook: 2.2.3
|
||||
universal-user-agent: 6.0.1
|
||||
dev: false
|
||||
|
||||
/@octokit/endpoint@9.0.4:
|
||||
resolution: {integrity: sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==}
|
||||
engines: {node: '>= 18'}
|
||||
dependencies:
|
||||
'@octokit/types': 12.4.0
|
||||
universal-user-agent: 6.0.1
|
||||
dev: false
|
||||
|
||||
/@octokit/graphql@7.0.2:
|
||||
resolution: {integrity: sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==}
|
||||
engines: {node: '>= 18'}
|
||||
dependencies:
|
||||
'@octokit/request': 8.1.6
|
||||
'@octokit/types': 12.4.0
|
||||
universal-user-agent: 6.0.1
|
||||
dev: false
|
||||
|
||||
/@octokit/openapi-types@19.1.0:
|
||||
resolution: {integrity: sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==}
|
||||
dev: false
|
||||
|
||||
/@octokit/plugin-paginate-rest@9.1.5(@octokit/core@5.0.2):
|
||||
resolution: {integrity: sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==}
|
||||
engines: {node: '>= 18'}
|
||||
peerDependencies:
|
||||
'@octokit/core': '>=5'
|
||||
dependencies:
|
||||
'@octokit/core': 5.0.2
|
||||
'@octokit/types': 12.4.0
|
||||
dev: false
|
||||
|
||||
/@octokit/plugin-rest-endpoint-methods@10.2.0(@octokit/core@5.0.2):
|
||||
resolution: {integrity: sha512-ePbgBMYtGoRNXDyKGvr9cyHjQ163PbwD0y1MkDJCpkO2YH4OeXX40c4wYHKikHGZcpGPbcRLuy0unPUuafco8Q==}
|
||||
engines: {node: '>= 18'}
|
||||
peerDependencies:
|
||||
'@octokit/core': '>=5'
|
||||
dependencies:
|
||||
'@octokit/core': 5.0.2
|
||||
'@octokit/types': 12.4.0
|
||||
dev: false
|
||||
|
||||
/@octokit/request-error@5.0.1:
|
||||
resolution: {integrity: sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==}
|
||||
engines: {node: '>= 18'}
|
||||
dependencies:
|
||||
'@octokit/types': 12.4.0
|
||||
deprecation: 2.3.1
|
||||
once: 1.4.0
|
||||
dev: false
|
||||
|
||||
/@octokit/request@8.1.6:
|
||||
resolution: {integrity: sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==}
|
||||
engines: {node: '>= 18'}
|
||||
dependencies:
|
||||
'@octokit/endpoint': 9.0.4
|
||||
'@octokit/request-error': 5.0.1
|
||||
'@octokit/types': 12.4.0
|
||||
universal-user-agent: 6.0.1
|
||||
dev: false
|
||||
|
||||
/@octokit/types@12.4.0:
|
||||
resolution: {integrity: sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==}
|
||||
dependencies:
|
||||
'@octokit/openapi-types': 19.1.0
|
||||
dev: false
|
||||
|
||||
/before-after-hook@2.2.3:
|
||||
resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==}
|
||||
dev: false
|
||||
|
||||
/deprecation@2.3.1:
|
||||
resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
|
||||
dev: false
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
wrappy: 1.0.2
|
||||
dev: false
|
||||
|
||||
/tunnel@0.0.6:
|
||||
resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==}
|
||||
engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'}
|
||||
dev: false
|
||||
|
||||
/undici@5.28.2:
|
||||
resolution: {integrity: sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==}
|
||||
engines: {node: '>=14.0'}
|
||||
dependencies:
|
||||
'@fastify/busboy': 2.1.0
|
||||
dev: false
|
||||
|
||||
/universal-user-agent@6.0.1:
|
||||
resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==}
|
||||
dev: false
|
||||
|
||||
/uuid@8.3.2:
|
||||
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
dev: false
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "svgl",
|
||||
"author": "@pheralb_",
|
||||
"version": "3.0.0",
|
||||
"version": "4.1.0",
|
||||
"description": "A beautiful library with SVG logos.",
|
||||
"private": true,
|
||||
"license": "MIT",
|
||||
@@ -15,39 +15,61 @@
|
||||
"scripts": {
|
||||
"dev": "vite dev",
|
||||
"host": "vite dev --host",
|
||||
"build": "vite build",
|
||||
"build": "pnpm run prebuild && vite build",
|
||||
"prebuild": "cd ./check-size && pnpm install && pnpm run start",
|
||||
"preview": "vite preview",
|
||||
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
||||
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
||||
"test:unit": "vitest",
|
||||
"check:size": "cd ./check-size && npm run start",
|
||||
"fix:viewbox": "cd ./fix-viewbox && npm run start",
|
||||
"test": "vitest run",
|
||||
"lint": "prettier --plugin-search-dir . --check . && eslint .",
|
||||
"format": "prettier --plugin-search-dir . --write ."
|
||||
"format": "prettier --plugin-search-dir . --write .",
|
||||
"dev:figma": "concurrently -n plugin,svelte 'npm run build:plugin -- --watch --define:SITE_URL=\\\"http://localhost:5173?figma=1\\\"' 'npm run dev'",
|
||||
"build:plugin": "esbuild src/figma/code.ts --bundle --target=es6 --loader:.svg=text --outfile=src/figma/dist/code.js",
|
||||
"build:figma": "concurrently -n plugin,svelte 'npm run build:plugin -- --define:SITE_URL=\\\"$npm_package_config_siteURL\\\"' 'npm run build'"
|
||||
},
|
||||
"dependencies": {
|
||||
"@figma/plugin-typings": "1.84.0",
|
||||
"@upstash/ratelimit": "1.0.0",
|
||||
"@upstash/redis": "1.28.2",
|
||||
"bits-ui": "0.15.1",
|
||||
"clsx": "2.1.0",
|
||||
"downloadjs": "1.4.7",
|
||||
"svelte-french-toast": "1.0.3"
|
||||
"jszip": "3.10.1",
|
||||
"lucide-svelte": "0.314.0",
|
||||
"shiki": "0.14.7",
|
||||
"svelte-sonner": "0.3.6",
|
||||
"tailwind-merge": "2.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sveltejs/adapter-auto": "2.0.0",
|
||||
"@sveltejs/kit": "1.11.0",
|
||||
"@types/downloadjs": "1.4.3",
|
||||
"@typescript-eslint/eslint-plugin": "5.55.0",
|
||||
"@typescript-eslint/parser": "5.55.0",
|
||||
"autoprefixer": "10.4.14",
|
||||
"eslint": "8.36.0",
|
||||
"eslint-config-prettier": "8.7.0",
|
||||
"eslint-plugin-svelte3": "4.0.0",
|
||||
"phosphor-svelte": "1.2.1",
|
||||
"postcss": "8.4.21",
|
||||
"prettier": "2.8.4",
|
||||
"prettier-plugin-svelte": "2.9.0",
|
||||
"prettier-plugin-tailwindcss": "0.2.4",
|
||||
"svelte": "3.56.0",
|
||||
"svelte-check": "3.1.4",
|
||||
"tailwindcss": "3.2.7",
|
||||
"tslib": "2.5.0",
|
||||
"typescript": "4.9.5",
|
||||
"vite": "4.1.4",
|
||||
"vitest": "0.29.2"
|
||||
"@sveltejs/adapter-auto": "3.1.1",
|
||||
"@sveltejs/kit": "2.4.3",
|
||||
"@sveltejs/vite-plugin-svelte": "3.0.1",
|
||||
"@tailwindcss/typography": "0.5.10",
|
||||
"@types/downloadjs": "1.4.6",
|
||||
"@typescript-eslint/eslint-plugin": "6.19.1",
|
||||
"@typescript-eslint/parser": "6.19.1",
|
||||
"autoprefixer": "10.4.17",
|
||||
"concurrently": "8.2.2",
|
||||
"esbuild": "0.19.12",
|
||||
"eslint": "8.56.0",
|
||||
"eslint-config-prettier": "9.1.0",
|
||||
"eslint-plugin-svelte": "2.35.1",
|
||||
"mdsvex": "0.11.0",
|
||||
"postcss": "8.4.33",
|
||||
"prettier": "3.2.4",
|
||||
"prettier-plugin-svelte": "3.1.2",
|
||||
"prettier-plugin-tailwindcss": "0.5.11",
|
||||
"svelte": "4.2.9",
|
||||
"svelte-check": "3.6.3",
|
||||
"tailwindcss": "3.4.1",
|
||||
"tslib": "2.6.2",
|
||||
"typescript": "5.3.3",
|
||||
"vite": "5.0.12",
|
||||
"vitest": "1.2.1"
|
||||
},
|
||||
"config": {
|
||||
"siteURL": "https://svgl.app?figma=1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3262 @@
|
||||
lockfileVersion: '6.0'
|
||||
|
||||
settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
dependencies:
|
||||
'@figma/plugin-typings':
|
||||
specifier: 1.84.0
|
||||
version: 1.84.0
|
||||
'@upstash/ratelimit':
|
||||
specifier: 1.0.0
|
||||
version: 1.0.0
|
||||
'@upstash/redis':
|
||||
specifier: 1.28.2
|
||||
version: 1.28.2
|
||||
bits-ui:
|
||||
specifier: 0.15.1
|
||||
version: 0.15.1(svelte@4.2.9)
|
||||
clsx:
|
||||
specifier: 2.1.0
|
||||
version: 2.1.0
|
||||
downloadjs:
|
||||
specifier: 1.4.7
|
||||
version: 1.4.7
|
||||
jszip:
|
||||
specifier: 3.10.1
|
||||
version: 3.10.1
|
||||
lucide-svelte:
|
||||
specifier: 0.314.0
|
||||
version: 0.314.0(svelte@4.2.9)
|
||||
shiki:
|
||||
specifier: 0.14.7
|
||||
version: 0.14.7
|
||||
svelte-sonner:
|
||||
specifier: 0.3.6
|
||||
version: 0.3.6(svelte@4.2.9)
|
||||
tailwind-merge:
|
||||
specifier: 2.2.1
|
||||
version: 2.2.1
|
||||
|
||||
devDependencies:
|
||||
'@sveltejs/adapter-auto':
|
||||
specifier: 3.1.1
|
||||
version: 3.1.1(@sveltejs/kit@2.4.3)
|
||||
'@sveltejs/kit':
|
||||
specifier: 2.4.3
|
||||
version: 2.4.3(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.9)(vite@5.0.12)
|
||||
'@sveltejs/vite-plugin-svelte':
|
||||
specifier: 3.0.1
|
||||
version: 3.0.1(svelte@4.2.9)(vite@5.0.12)
|
||||
'@tailwindcss/typography':
|
||||
specifier: 0.5.10
|
||||
version: 0.5.10(tailwindcss@3.4.1)
|
||||
'@types/downloadjs':
|
||||
specifier: 1.4.6
|
||||
version: 1.4.6
|
||||
'@typescript-eslint/eslint-plugin':
|
||||
specifier: 6.19.1
|
||||
version: 6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.56.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/parser':
|
||||
specifier: 6.19.1
|
||||
version: 6.19.1(eslint@8.56.0)(typescript@5.3.3)
|
||||
autoprefixer:
|
||||
specifier: 10.4.17
|
||||
version: 10.4.17(postcss@8.4.33)
|
||||
concurrently:
|
||||
specifier: 8.2.2
|
||||
version: 8.2.2
|
||||
esbuild:
|
||||
specifier: 0.19.12
|
||||
version: 0.19.12
|
||||
eslint:
|
||||
specifier: 8.56.0
|
||||
version: 8.56.0
|
||||
eslint-config-prettier:
|
||||
specifier: 9.1.0
|
||||
version: 9.1.0(eslint@8.56.0)
|
||||
eslint-plugin-svelte:
|
||||
specifier: 2.35.1
|
||||
version: 2.35.1(eslint@8.56.0)(svelte@4.2.9)
|
||||
mdsvex:
|
||||
specifier: 0.11.0
|
||||
version: 0.11.0(svelte@4.2.9)
|
||||
postcss:
|
||||
specifier: 8.4.33
|
||||
version: 8.4.33
|
||||
prettier:
|
||||
specifier: 3.2.4
|
||||
version: 3.2.4
|
||||
prettier-plugin-svelte:
|
||||
specifier: 3.1.2
|
||||
version: 3.1.2(prettier@3.2.4)(svelte@4.2.9)
|
||||
prettier-plugin-tailwindcss:
|
||||
specifier: 0.5.11
|
||||
version: 0.5.11(prettier-plugin-svelte@3.1.2)(prettier@3.2.4)
|
||||
svelte:
|
||||
specifier: 4.2.9
|
||||
version: 4.2.9
|
||||
svelte-check:
|
||||
specifier: 3.6.3
|
||||
version: 3.6.3(postcss@8.4.33)(svelte@4.2.9)
|
||||
tailwindcss:
|
||||
specifier: 3.4.1
|
||||
version: 3.4.1
|
||||
tslib:
|
||||
specifier: 2.6.2
|
||||
version: 2.6.2
|
||||
typescript:
|
||||
specifier: 5.3.3
|
||||
version: 5.3.3
|
||||
vite:
|
||||
specifier: 5.0.12
|
||||
version: 5.0.12
|
||||
vitest:
|
||||
specifier: 1.2.1
|
||||
version: 1.2.1
|
||||
|
||||
packages:
|
||||
|
||||
/@aashutoshrathi/word-wrap@1.2.6:
|
||||
resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/@alloc/quick-lru@5.2.0:
|
||||
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/@ampproject/remapping@2.2.1:
|
||||
resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
dependencies:
|
||||
'@jridgewell/gen-mapping': 0.3.3
|
||||
'@jridgewell/trace-mapping': 0.3.20
|
||||
|
||||
/@babel/runtime@7.23.6:
|
||||
resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
regenerator-runtime: 0.14.0
|
||||
dev: true
|
||||
|
||||
/@babel/runtime@7.23.8:
|
||||
resolution: {integrity: sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
dependencies:
|
||||
regenerator-runtime: 0.14.0
|
||||
dev: false
|
||||
|
||||
/@esbuild/aix-ppc64@0.19.12:
|
||||
resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ppc64]
|
||||
os: [aix]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/android-arm64@0.19.12:
|
||||
resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/android-arm@0.19.12:
|
||||
resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/android-x64@0.19.12:
|
||||
resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/darwin-arm64@0.19.12:
|
||||
resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/darwin-x64@0.19.12:
|
||||
resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/freebsd-arm64@0.19.12:
|
||||
resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/freebsd-x64@0.19.12:
|
||||
resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-arm64@0.19.12:
|
||||
resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-arm@0.19.12:
|
||||
resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-ia32@0.19.12:
|
||||
resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-loong64@0.19.12:
|
||||
resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-mips64el@0.19.12:
|
||||
resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [mips64el]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-ppc64@0.19.12:
|
||||
resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-riscv64@0.19.12:
|
||||
resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-s390x@0.19.12:
|
||||
resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/linux-x64@0.19.12:
|
||||
resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/netbsd-x64@0.19.12:
|
||||
resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [netbsd]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/openbsd-x64@0.19.12:
|
||||
resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/sunos-x64@0.19.12:
|
||||
resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [sunos]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/win32-arm64@0.19.12:
|
||||
resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/win32-ia32@0.19.12:
|
||||
resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@esbuild/win32-x64@0.19.12:
|
||||
resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@eslint-community/eslint-utils@4.4.0(eslint@8.56.0):
|
||||
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
||||
dependencies:
|
||||
eslint: 8.56.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
dev: true
|
||||
|
||||
/@eslint-community/regexpp@4.10.0:
|
||||
resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
|
||||
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/@eslint/eslintrc@2.1.4:
|
||||
resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dependencies:
|
||||
ajv: 6.12.6
|
||||
debug: 4.3.4
|
||||
espree: 9.6.1
|
||||
globals: 13.24.0
|
||||
ignore: 5.3.0
|
||||
import-fresh: 3.3.0
|
||||
js-yaml: 4.1.0
|
||||
minimatch: 3.1.2
|
||||
strip-json-comments: 3.1.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@eslint/js@8.56.0:
|
||||
resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/@figma/plugin-typings@1.84.0:
|
||||
resolution: {integrity: sha512-YisOp7S2y10BWMLBJY2DazCjRpg/0m03dDlS3nKhpw2alFQSXNuSLLd+y4pbnJpOXJMnInZdbikr/7JxudjsYg==}
|
||||
dev: false
|
||||
|
||||
/@floating-ui/core@1.5.2:
|
||||
resolution: {integrity: sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==}
|
||||
dependencies:
|
||||
'@floating-ui/utils': 0.1.6
|
||||
dev: false
|
||||
|
||||
/@floating-ui/dom@1.5.3:
|
||||
resolution: {integrity: sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==}
|
||||
dependencies:
|
||||
'@floating-ui/core': 1.5.2
|
||||
'@floating-ui/utils': 0.1.6
|
||||
dev: false
|
||||
|
||||
/@floating-ui/utils@0.1.6:
|
||||
resolution: {integrity: sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==}
|
||||
dev: false
|
||||
|
||||
/@humanwhocodes/config-array@0.11.13:
|
||||
resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
|
||||
engines: {node: '>=10.10.0'}
|
||||
dependencies:
|
||||
'@humanwhocodes/object-schema': 2.0.1
|
||||
debug: 4.3.4
|
||||
minimatch: 3.1.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@humanwhocodes/module-importer@1.0.1:
|
||||
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
|
||||
engines: {node: '>=12.22'}
|
||||
dev: true
|
||||
|
||||
/@humanwhocodes/object-schema@2.0.1:
|
||||
resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
|
||||
dev: true
|
||||
|
||||
/@internationalized/date@3.5.1:
|
||||
resolution: {integrity: sha512-LUQIfwU9e+Fmutc/DpRTGXSdgYZLBegi4wygCWDSVmUdLTaMHsQyASDiJtREwanwKuQLq0hY76fCJ9J/9I2xOQ==}
|
||||
dependencies:
|
||||
'@swc/helpers': 0.5.3
|
||||
dev: false
|
||||
|
||||
/@jest/schemas@29.6.3:
|
||||
resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
|
||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||
dependencies:
|
||||
'@sinclair/typebox': 0.27.8
|
||||
dev: true
|
||||
|
||||
/@jridgewell/gen-mapping@0.3.3:
|
||||
resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
dependencies:
|
||||
'@jridgewell/set-array': 1.1.2
|
||||
'@jridgewell/sourcemap-codec': 1.4.15
|
||||
'@jridgewell/trace-mapping': 0.3.20
|
||||
|
||||
/@jridgewell/resolve-uri@3.1.1:
|
||||
resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
|
||||
/@jridgewell/set-array@1.1.2:
|
||||
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
|
||||
/@jridgewell/sourcemap-codec@1.4.15:
|
||||
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
|
||||
|
||||
/@jridgewell/trace-mapping@0.3.20:
|
||||
resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
|
||||
dependencies:
|
||||
'@jridgewell/resolve-uri': 3.1.1
|
||||
'@jridgewell/sourcemap-codec': 1.4.15
|
||||
|
||||
/@melt-ui/svelte@0.68.0(svelte@4.2.9):
|
||||
resolution: {integrity: sha512-/QvA98hnYEodZtHJ71+ocum/WWp30hVNt3F8uiZKnNYwZDaiQYjlyR9AaGKYcZLCe6R68op1mfCzc0kTzJilyA==}
|
||||
peerDependencies:
|
||||
svelte: '>=3 <5'
|
||||
dependencies:
|
||||
'@floating-ui/core': 1.5.2
|
||||
'@floating-ui/dom': 1.5.3
|
||||
'@internationalized/date': 3.5.1
|
||||
dequal: 2.0.3
|
||||
focus-trap: 7.5.4
|
||||
nanoid: 5.0.4
|
||||
svelte: 4.2.9
|
||||
dev: false
|
||||
|
||||
/@nodelib/fs.scandir@2.1.5:
|
||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||
engines: {node: '>= 8'}
|
||||
dependencies:
|
||||
'@nodelib/fs.stat': 2.0.5
|
||||
run-parallel: 1.2.0
|
||||
dev: true
|
||||
|
||||
/@nodelib/fs.stat@2.0.5:
|
||||
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
|
||||
engines: {node: '>= 8'}
|
||||
dev: true
|
||||
|
||||
/@nodelib/fs.walk@1.2.8:
|
||||
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
|
||||
engines: {node: '>= 8'}
|
||||
dependencies:
|
||||
'@nodelib/fs.scandir': 2.1.5
|
||||
fastq: 1.15.0
|
||||
dev: true
|
||||
|
||||
/@polka/url@1.0.0-next.24:
|
||||
resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==}
|
||||
dev: true
|
||||
|
||||
/@rollup/rollup-android-arm-eabi@4.8.0:
|
||||
resolution: {integrity: sha512-zdTObFRoNENrdPpnTNnhOljYIcOX7aI7+7wyrSpPFFIOf/nRdedE6IYsjaBE7tjukphh1tMTojgJ7p3lKY8x6Q==}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-android-arm64@4.8.0:
|
||||
resolution: {integrity: sha512-aiItwP48BiGpMFS9Znjo/xCNQVwTQVcRKkFKsO81m8exrGjHkCBDvm9PHay2kpa8RPnZzzKcD1iQ9KaLY4fPQQ==}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-darwin-arm64@4.8.0:
|
||||
resolution: {integrity: sha512-zhNIS+L4ZYkYQUjIQUR6Zl0RXhbbA0huvNIWjmPc2SL0cB1h5Djkcy+RZ3/Bwszfb6vgwUvcVJYD6e6Zkpsi8g==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-darwin-x64@4.8.0:
|
||||
resolution: {integrity: sha512-A/FAHFRNQYrELrb/JHncRWzTTXB2ticiRFztP4ggIUAfa9Up1qfW8aG2w/mN9jNiZ+HB0t0u0jpJgFXG6BfRTA==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-arm-gnueabihf@4.8.0:
|
||||
resolution: {integrity: sha512-JsidBnh3p2IJJA4/2xOF2puAYqbaczB3elZDT0qHxn362EIoIkq7hrR43Xa8RisgI6/WPfvb2umbGsuvf7E37A==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-arm64-gnu@4.8.0:
|
||||
resolution: {integrity: sha512-hBNCnqw3EVCkaPB0Oqd24bv8SklETptQWcJz06kb9OtiShn9jK1VuTgi7o4zPSt6rNGWQOTDEAccbk0OqJmS+g==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-arm64-musl@4.8.0:
|
||||
resolution: {integrity: sha512-Fw9ChYfJPdltvi9ALJ9wzdCdxGw4wtq4t1qY028b2O7GwB5qLNSGtqMsAel1lfWTZvf4b6/+4HKp0GlSYg0ahA==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-riscv64-gnu@4.8.0:
|
||||
resolution: {integrity: sha512-BH5xIh7tOzS9yBi8dFrCTG8Z6iNIGWGltd3IpTSKp6+pNWWO6qy8eKoRxOtwFbMrid5NZaidLYN6rHh9aB8bEw==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-x64-gnu@4.8.0:
|
||||
resolution: {integrity: sha512-PmvAj8k6EuWiyLbkNpd6BLv5XeYFpqWuRvRNRl80xVfpGXK/z6KYXmAgbI4ogz7uFiJxCnYcqyvZVD0dgFog7Q==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-linux-x64-musl@4.8.0:
|
||||
resolution: {integrity: sha512-mdxnlW2QUzXwY+95TuxZ+CurrhgrPAMveDWI97EQlA9bfhR8tw3Pt7SUlc/eSlCNxlWktpmT//EAA8UfCHOyXg==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-win32-arm64-msvc@4.8.0:
|
||||
resolution: {integrity: sha512-ge7saUz38aesM4MA7Cad8CHo0Fyd1+qTaqoIo+Jtk+ipBi4ATSrHWov9/S4u5pbEQmLjgUjB7BJt+MiKG2kzmA==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-win32-ia32-msvc@4.8.0:
|
||||
resolution: {integrity: sha512-p9E3PZlzurhlsN5h9g7zIP1DnqKXJe8ZUkFwAazqSvHuWfihlIISPxG9hCHCoA+dOOspL/c7ty1eeEVFTE0UTw==}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@rollup/rollup-win32-x64-msvc@4.8.0:
|
||||
resolution: {integrity: sha512-kb4/auKXkYKqlUYTE8s40FcJIj5soOyRLHKd4ugR0dCq0G2EfcF54eYcfQiGkHzjidZ40daB4ulsFdtqNKZtBg==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/@sinclair/typebox@0.27.8:
|
||||
resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
|
||||
dev: true
|
||||
|
||||
/@sveltejs/adapter-auto@3.1.1(@sveltejs/kit@2.4.3):
|
||||
resolution: {integrity: sha512-6LeZft2Fo/4HfmLBi5CucMYmgRxgcETweQl/yQoZo/895K3S9YWYN4Sfm/IhwlIpbJp3QNvhKmwCHbsqQNYQpw==}
|
||||
peerDependencies:
|
||||
'@sveltejs/kit': ^2.0.0
|
||||
dependencies:
|
||||
'@sveltejs/kit': 2.4.3(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.9)(vite@5.0.12)
|
||||
import-meta-resolve: 4.0.0
|
||||
dev: true
|
||||
|
||||
/@sveltejs/kit@2.4.3(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.9)(vite@5.0.12):
|
||||
resolution: {integrity: sha512-nKNhUdt61vtD961kQpUk6vLDhpnV0yku5F1uYNWvrJYFV0+cGfmW7ol0JVMSjHMXlMtmmv2FTc+nPRrTFwb2UA==}
|
||||
engines: {node: '>=18.13'}
|
||||
hasBin: true
|
||||
requiresBuild: true
|
||||
peerDependencies:
|
||||
'@sveltejs/vite-plugin-svelte': ^3.0.0
|
||||
svelte: ^4.0.0 || ^5.0.0-next.0
|
||||
vite: ^5.0.3
|
||||
dependencies:
|
||||
'@sveltejs/vite-plugin-svelte': 3.0.1(svelte@4.2.9)(vite@5.0.12)
|
||||
'@types/cookie': 0.6.0
|
||||
cookie: 0.6.0
|
||||
devalue: 4.3.2
|
||||
esm-env: 1.0.0
|
||||
import-meta-resolve: 4.0.0
|
||||
kleur: 4.1.5
|
||||
magic-string: 0.30.5
|
||||
mrmime: 2.0.0
|
||||
sade: 1.8.1
|
||||
set-cookie-parser: 2.6.0
|
||||
sirv: 2.0.4
|
||||
svelte: 4.2.9
|
||||
tiny-glob: 0.2.9
|
||||
vite: 5.0.12
|
||||
dev: true
|
||||
|
||||
/@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.9)(vite@5.0.12):
|
||||
resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==}
|
||||
engines: {node: ^18.0.0 || >=20}
|
||||
peerDependencies:
|
||||
'@sveltejs/vite-plugin-svelte': ^3.0.0
|
||||
svelte: ^4.0.0 || ^5.0.0-next.0
|
||||
vite: ^5.0.0
|
||||
dependencies:
|
||||
'@sveltejs/vite-plugin-svelte': 3.0.1(svelte@4.2.9)(vite@5.0.12)
|
||||
debug: 4.3.4
|
||||
svelte: 4.2.9
|
||||
vite: 5.0.12
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@sveltejs/vite-plugin-svelte@3.0.1(svelte@4.2.9)(vite@5.0.12):
|
||||
resolution: {integrity: sha512-CGURX6Ps+TkOovK6xV+Y2rn8JKa8ZPUHPZ/NKgCxAmgBrXReavzFl8aOSCj3kQ1xqT7yGJj53hjcV/gqwDAaWA==}
|
||||
engines: {node: ^18.0.0 || >=20}
|
||||
peerDependencies:
|
||||
svelte: ^4.0.0 || ^5.0.0-next.0
|
||||
vite: ^5.0.0
|
||||
dependencies:
|
||||
'@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.9)(vite@5.0.12)
|
||||
debug: 4.3.4
|
||||
deepmerge: 4.3.1
|
||||
kleur: 4.1.5
|
||||
magic-string: 0.30.5
|
||||
svelte: 4.2.9
|
||||
svelte-hmr: 0.15.3(svelte@4.2.9)
|
||||
vite: 5.0.12
|
||||
vitefu: 0.2.5(vite@5.0.12)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@swc/helpers@0.5.3:
|
||||
resolution: {integrity: sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A==}
|
||||
dependencies:
|
||||
tslib: 2.6.2
|
||||
dev: false
|
||||
|
||||
/@tailwindcss/typography@0.5.10(tailwindcss@3.4.1):
|
||||
resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==}
|
||||
peerDependencies:
|
||||
tailwindcss: '>=3.0.0 || insiders'
|
||||
dependencies:
|
||||
lodash.castarray: 4.4.0
|
||||
lodash.isplainobject: 4.0.6
|
||||
lodash.merge: 4.6.2
|
||||
postcss-selector-parser: 6.0.10
|
||||
tailwindcss: 3.4.1
|
||||
dev: true
|
||||
|
||||
/@types/cookie@0.6.0:
|
||||
resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
|
||||
dev: true
|
||||
|
||||
/@types/downloadjs@1.4.6:
|
||||
resolution: {integrity: sha512-mp3w70vsaiLRT9ix92fmI9Ob2yJAPZm6tShJtofo2uHbN11G2i6a0ApIEjBl/kv3e9V7Pv7jMjk1bUwYWvMHvA==}
|
||||
dev: true
|
||||
|
||||
/@types/estree@1.0.5:
|
||||
resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
|
||||
|
||||
/@types/json-schema@7.0.15:
|
||||
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
|
||||
dev: true
|
||||
|
||||
/@types/pug@2.0.10:
|
||||
resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==}
|
||||
dev: true
|
||||
|
||||
/@types/semver@7.5.6:
|
||||
resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==}
|
||||
dev: true
|
||||
|
||||
/@types/unist@2.0.10:
|
||||
resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/eslint-plugin@6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.56.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
|
||||
eslint: ^7.0.0 || ^8.0.0
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.10.0
|
||||
'@typescript-eslint/parser': 6.19.1(eslint@8.56.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/scope-manager': 6.19.1
|
||||
'@typescript-eslint/type-utils': 6.19.1(eslint@8.56.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 6.19.1(eslint@8.56.0)(typescript@5.3.3)
|
||||
'@typescript-eslint/visitor-keys': 6.19.1
|
||||
debug: 4.3.4
|
||||
eslint: 8.56.0
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.3.0
|
||||
natural-compare: 1.4.0
|
||||
semver: 7.5.4
|
||||
ts-api-utils: 1.0.3(typescript@5.3.3)
|
||||
typescript: 5.3.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/parser@6.19.1(eslint@8.56.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^7.0.0 || ^8.0.0
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 6.19.1
|
||||
'@typescript-eslint/types': 6.19.1
|
||||
'@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3)
|
||||
'@typescript-eslint/visitor-keys': 6.19.1
|
||||
debug: 4.3.4
|
||||
eslint: 8.56.0
|
||||
typescript: 5.3.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/scope-manager@6.19.1:
|
||||
resolution: {integrity: sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 6.19.1
|
||||
'@typescript-eslint/visitor-keys': 6.19.1
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/type-utils@6.19.1(eslint@8.56.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^7.0.0 || ^8.0.0
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3)
|
||||
'@typescript-eslint/utils': 6.19.1(eslint@8.56.0)(typescript@5.3.3)
|
||||
debug: 4.3.4
|
||||
eslint: 8.56.0
|
||||
ts-api-utils: 1.0.3(typescript@5.3.3)
|
||||
typescript: 5.3.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/types@6.19.1:
|
||||
resolution: {integrity: sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/typescript-estree@6.19.1(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 6.19.1
|
||||
'@typescript-eslint/visitor-keys': 6.19.1
|
||||
debug: 4.3.4
|
||||
globby: 11.1.0
|
||||
is-glob: 4.0.3
|
||||
minimatch: 9.0.3
|
||||
semver: 7.5.4
|
||||
ts-api-utils: 1.0.3(typescript@5.3.3)
|
||||
typescript: 5.3.3
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/utils@6.19.1(eslint@8.56.0)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^7.0.0 || ^8.0.0
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
|
||||
'@types/json-schema': 7.0.15
|
||||
'@types/semver': 7.5.6
|
||||
'@typescript-eslint/scope-manager': 6.19.1
|
||||
'@typescript-eslint/types': 6.19.1
|
||||
'@typescript-eslint/typescript-estree': 6.19.1(typescript@5.3.3)
|
||||
eslint: 8.56.0
|
||||
semver: 7.5.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
dev: true
|
||||
|
||||
/@typescript-eslint/visitor-keys@6.19.1:
|
||||
resolution: {integrity: sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==}
|
||||
engines: {node: ^16.0.0 || >=18.0.0}
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 6.19.1
|
||||
eslint-visitor-keys: 3.4.3
|
||||
dev: true
|
||||
|
||||
/@ungap/structured-clone@1.2.0:
|
||||
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
|
||||
dev: true
|
||||
|
||||
/@upstash/core-analytics@0.0.6:
|
||||
resolution: {integrity: sha512-cpPSR0XJAJs4Ddz9nq3tINlPS5aLfWVCqhhtHnXt4p7qr5+/Znlt1Es736poB/9rnl1hAHrOsOvVj46NEXcVqA==}
|
||||
engines: {node: '>=16.0.0'}
|
||||
dependencies:
|
||||
'@upstash/redis': 1.28.2
|
||||
dev: false
|
||||
|
||||
/@upstash/ratelimit@1.0.0:
|
||||
resolution: {integrity: sha512-IUlc+UKuHJQqXGQi7E3UKV0CKfRZ0g6qeNnbSve940k3xLoM+X3H45MrSwDaH7meMWemztLs0Q4yjkd3ItddCw==}
|
||||
dependencies:
|
||||
'@upstash/core-analytics': 0.0.6
|
||||
dev: false
|
||||
|
||||
/@upstash/redis@1.28.2:
|
||||
resolution: {integrity: sha512-e4HmmCji6kE6UnriU92sAVGLQcRYAB4fXSPXls08cjW7zdE/wFaDfhAGi1/T4/wUN50bAy/lpHwW4bMkI2EAcw==}
|
||||
dependencies:
|
||||
crypto-js: 4.2.0
|
||||
dev: false
|
||||
|
||||
/@vitest/expect@1.2.1:
|
||||
resolution: {integrity: sha512-/bqGXcHfyKgFWYwIgFr1QYDaR9e64pRKxgBNWNXPefPFRhgm+K3+a/dS0cUGEreWngets3dlr8w8SBRw2fCfFQ==}
|
||||
dependencies:
|
||||
'@vitest/spy': 1.2.1
|
||||
'@vitest/utils': 1.2.1
|
||||
chai: 4.3.10
|
||||
dev: true
|
||||
|
||||
/@vitest/runner@1.2.1:
|
||||
resolution: {integrity: sha512-zc2dP5LQpzNzbpaBt7OeYAvmIsRS1KpZQw4G3WM/yqSV1cQKNKwLGmnm79GyZZjMhQGlRcSFMImLjZaUQvNVZQ==}
|
||||
dependencies:
|
||||
'@vitest/utils': 1.2.1
|
||||
p-limit: 5.0.0
|
||||
pathe: 1.1.1
|
||||
dev: true
|
||||
|
||||
/@vitest/snapshot@1.2.1:
|
||||
resolution: {integrity: sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==}
|
||||
dependencies:
|
||||
magic-string: 0.30.5
|
||||
pathe: 1.1.1
|
||||
pretty-format: 29.7.0
|
||||
dev: true
|
||||
|
||||
/@vitest/spy@1.2.1:
|
||||
resolution: {integrity: sha512-vG3a/b7INKH7L49Lbp0IWrG6sw9j4waWAucwnksPB1r1FTJgV7nkBByd9ufzu6VWya/QTvQW4V9FShZbZIB2UQ==}
|
||||
dependencies:
|
||||
tinyspy: 2.2.0
|
||||
dev: true
|
||||
|
||||
/@vitest/utils@1.2.1:
|
||||
resolution: {integrity: sha512-bsH6WVZYe/J2v3+81M5LDU8kW76xWObKIURpPrOXm2pjBniBu2MERI/XP60GpS4PHU3jyK50LUutOwrx4CyHUg==}
|
||||
dependencies:
|
||||
diff-sequences: 29.6.3
|
||||
estree-walker: 3.0.3
|
||||
loupe: 2.3.7
|
||||
pretty-format: 29.7.0
|
||||
dev: true
|
||||
|
||||
/acorn-jsx@5.3.2(acorn@8.11.2):
|
||||
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
|
||||
peerDependencies:
|
||||
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||
dependencies:
|
||||
acorn: 8.11.2
|
||||
dev: true
|
||||
|
||||
/acorn-walk@8.3.2:
|
||||
resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
dev: true
|
||||
|
||||
/acorn@8.11.2:
|
||||
resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
hasBin: true
|
||||
|
||||
/ajv@6.12.6:
|
||||
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
|
||||
dependencies:
|
||||
fast-deep-equal: 3.1.3
|
||||
fast-json-stable-stringify: 2.1.0
|
||||
json-schema-traverse: 0.4.1
|
||||
uri-js: 4.4.1
|
||||
dev: true
|
||||
|
||||
/ansi-regex@5.0.1:
|
||||
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/ansi-sequence-parser@1.1.1:
|
||||
resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==}
|
||||
dev: false
|
||||
|
||||
/ansi-styles@4.3.0:
|
||||
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
color-convert: 2.0.1
|
||||
dev: true
|
||||
|
||||
/ansi-styles@5.2.0:
|
||||
resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/any-promise@1.3.0:
|
||||
resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
|
||||
dev: true
|
||||
|
||||
/anymatch@3.1.3:
|
||||
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
|
||||
engines: {node: '>= 8'}
|
||||
dependencies:
|
||||
normalize-path: 3.0.0
|
||||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
/arg@5.0.2:
|
||||
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
|
||||
dev: true
|
||||
|
||||
/argparse@2.0.1:
|
||||
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
||||
dev: true
|
||||
|
||||
/aria-query@5.3.0:
|
||||
resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
|
||||
dependencies:
|
||||
dequal: 2.0.3
|
||||
|
||||
/array-union@2.1.0:
|
||||
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/assertion-error@1.1.0:
|
||||
resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
|
||||
dev: true
|
||||
|
||||
/autoprefixer@10.4.17(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
browserslist: 4.22.2
|
||||
caniuse-lite: 1.0.30001579
|
||||
fraction.js: 4.3.7
|
||||
normalize-range: 0.1.2
|
||||
picocolors: 1.0.0
|
||||
postcss: 8.4.33
|
||||
postcss-value-parser: 4.2.0
|
||||
dev: true
|
||||
|
||||
/axobject-query@4.0.0:
|
||||
resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==}
|
||||
dependencies:
|
||||
dequal: 2.0.3
|
||||
|
||||
/balanced-match@1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
dev: true
|
||||
|
||||
/binary-extensions@2.2.0:
|
||||
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/bits-ui@0.15.1(svelte@4.2.9):
|
||||
resolution: {integrity: sha512-1Np8bT6W6SC2tKESfm0CySW+7+xU5S0GuUZqIxC41atZE3WIRiRlzXEYHxW88w6UaLFzZ51ns4E7pchkdV5XCQ==}
|
||||
peerDependencies:
|
||||
svelte: ^4.0.0
|
||||
dependencies:
|
||||
'@internationalized/date': 3.5.1
|
||||
'@melt-ui/svelte': 0.68.0(svelte@4.2.9)
|
||||
nanoid: 5.0.4
|
||||
svelte: 4.2.9
|
||||
dev: false
|
||||
|
||||
/brace-expansion@1.1.11:
|
||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
concat-map: 0.0.1
|
||||
dev: true
|
||||
|
||||
/brace-expansion@2.0.1:
|
||||
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
dev: true
|
||||
|
||||
/braces@3.0.2:
|
||||
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
fill-range: 7.0.1
|
||||
dev: true
|
||||
|
||||
/browserslist@4.22.2:
|
||||
resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==}
|
||||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
caniuse-lite: 1.0.30001579
|
||||
electron-to-chromium: 1.4.609
|
||||
node-releases: 2.0.14
|
||||
update-browserslist-db: 1.0.13(browserslist@4.22.2)
|
||||
dev: true
|
||||
|
||||
/buffer-crc32@0.2.13:
|
||||
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
|
||||
dev: true
|
||||
|
||||
/cac@6.7.14:
|
||||
resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/callsites@3.1.0:
|
||||
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/camelcase-css@2.0.1:
|
||||
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
|
||||
engines: {node: '>= 6'}
|
||||
dev: true
|
||||
|
||||
/caniuse-lite@1.0.30001579:
|
||||
resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==}
|
||||
dev: true
|
||||
|
||||
/chai@4.3.10:
|
||||
resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
assertion-error: 1.1.0
|
||||
check-error: 1.0.3
|
||||
deep-eql: 4.1.3
|
||||
get-func-name: 2.0.2
|
||||
loupe: 2.3.7
|
||||
pathval: 1.1.1
|
||||
type-detect: 4.0.8
|
||||
dev: true
|
||||
|
||||
/chalk@4.1.2:
|
||||
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
ansi-styles: 4.3.0
|
||||
supports-color: 7.2.0
|
||||
dev: true
|
||||
|
||||
/check-error@1.0.3:
|
||||
resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
|
||||
dependencies:
|
||||
get-func-name: 2.0.2
|
||||
dev: true
|
||||
|
||||
/chokidar@3.5.3:
|
||||
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
|
||||
engines: {node: '>= 8.10.0'}
|
||||
dependencies:
|
||||
anymatch: 3.1.3
|
||||
braces: 3.0.2
|
||||
glob-parent: 5.1.2
|
||||
is-binary-path: 2.1.0
|
||||
is-glob: 4.0.3
|
||||
normalize-path: 3.0.0
|
||||
readdirp: 3.6.0
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.3
|
||||
dev: true
|
||||
|
||||
/cliui@8.0.1:
|
||||
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
string-width: 4.2.3
|
||||
strip-ansi: 6.0.1
|
||||
wrap-ansi: 7.0.0
|
||||
dev: true
|
||||
|
||||
/clsx@2.1.0:
|
||||
resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==}
|
||||
engines: {node: '>=6'}
|
||||
dev: false
|
||||
|
||||
/code-red@1.0.4:
|
||||
resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.4.15
|
||||
'@types/estree': 1.0.5
|
||||
acorn: 8.11.2
|
||||
estree-walker: 3.0.3
|
||||
periscopic: 3.1.0
|
||||
|
||||
/color-convert@2.0.1:
|
||||
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
||||
engines: {node: '>=7.0.0'}
|
||||
dependencies:
|
||||
color-name: 1.1.4
|
||||
dev: true
|
||||
|
||||
/color-name@1.1.4:
|
||||
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
||||
dev: true
|
||||
|
||||
/commander@4.1.1:
|
||||
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
|
||||
engines: {node: '>= 6'}
|
||||
dev: true
|
||||
|
||||
/concat-map@0.0.1:
|
||||
resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
|
||||
dev: true
|
||||
|
||||
/concurrently@8.2.2:
|
||||
resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==}
|
||||
engines: {node: ^14.13.0 || >=16.0.0}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
chalk: 4.1.2
|
||||
date-fns: 2.30.0
|
||||
lodash: 4.17.21
|
||||
rxjs: 7.8.1
|
||||
shell-quote: 1.8.1
|
||||
spawn-command: 0.0.2
|
||||
supports-color: 8.1.1
|
||||
tree-kill: 1.2.2
|
||||
yargs: 17.7.2
|
||||
dev: true
|
||||
|
||||
/cookie@0.6.0:
|
||||
resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: true
|
||||
|
||||
/core-util-is@1.0.3:
|
||||
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
|
||||
dev: false
|
||||
|
||||
/cross-spawn@7.0.3:
|
||||
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
|
||||
engines: {node: '>= 8'}
|
||||
dependencies:
|
||||
path-key: 3.1.1
|
||||
shebang-command: 2.0.0
|
||||
which: 2.0.2
|
||||
dev: true
|
||||
|
||||
/crypto-js@4.2.0:
|
||||
resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==}
|
||||
dev: false
|
||||
|
||||
/css-tree@2.3.1:
|
||||
resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
|
||||
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
|
||||
dependencies:
|
||||
mdn-data: 2.0.30
|
||||
source-map-js: 1.0.2
|
||||
|
||||
/cssesc@3.0.0:
|
||||
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/date-fns@2.30.0:
|
||||
resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
|
||||
engines: {node: '>=0.11'}
|
||||
dependencies:
|
||||
'@babel/runtime': 7.23.6
|
||||
dev: true
|
||||
|
||||
/debug@4.3.4:
|
||||
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
||||
engines: {node: '>=6.0'}
|
||||
peerDependencies:
|
||||
supports-color: '*'
|
||||
peerDependenciesMeta:
|
||||
supports-color:
|
||||
optional: true
|
||||
dependencies:
|
||||
ms: 2.1.2
|
||||
dev: true
|
||||
|
||||
/deep-eql@4.1.3:
|
||||
resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
|
||||
engines: {node: '>=6'}
|
||||
dependencies:
|
||||
type-detect: 4.0.8
|
||||
dev: true
|
||||
|
||||
/deep-is@0.1.4:
|
||||
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
|
||||
dev: true
|
||||
|
||||
/deepmerge@4.3.1:
|
||||
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/dequal@2.0.3:
|
||||
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
/detect-indent@6.1.0:
|
||||
resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/devalue@4.3.2:
|
||||
resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
|
||||
dev: true
|
||||
|
||||
/didyoumean@1.2.2:
|
||||
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
|
||||
dev: true
|
||||
|
||||
/diff-sequences@29.6.3:
|
||||
resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
|
||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||
dev: true
|
||||
|
||||
/dir-glob@3.0.1:
|
||||
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
path-type: 4.0.0
|
||||
dev: true
|
||||
|
||||
/dlv@1.1.3:
|
||||
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
|
||||
dev: true
|
||||
|
||||
/doctrine@3.0.0:
|
||||
resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
dependencies:
|
||||
esutils: 2.0.3
|
||||
dev: true
|
||||
|
||||
/downloadjs@1.4.7:
|
||||
resolution: {integrity: sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q==}
|
||||
dev: false
|
||||
|
||||
/electron-to-chromium@1.4.609:
|
||||
resolution: {integrity: sha512-ihiCP7PJmjoGNuLpl7TjNA8pCQWu09vGyjlPYw1Rqww4gvNuCcmvl+44G+2QyJ6S2K4o+wbTS++Xz0YN8Q9ERw==}
|
||||
dev: true
|
||||
|
||||
/emoji-regex@8.0.0:
|
||||
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
||||
dev: true
|
||||
|
||||
/es6-promise@3.3.1:
|
||||
resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
|
||||
dev: true
|
||||
|
||||
/esbuild@0.19.12:
|
||||
resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
|
||||
engines: {node: '>=12'}
|
||||
hasBin: true
|
||||
requiresBuild: true
|
||||
optionalDependencies:
|
||||
'@esbuild/aix-ppc64': 0.19.12
|
||||
'@esbuild/android-arm': 0.19.12
|
||||
'@esbuild/android-arm64': 0.19.12
|
||||
'@esbuild/android-x64': 0.19.12
|
||||
'@esbuild/darwin-arm64': 0.19.12
|
||||
'@esbuild/darwin-x64': 0.19.12
|
||||
'@esbuild/freebsd-arm64': 0.19.12
|
||||
'@esbuild/freebsd-x64': 0.19.12
|
||||
'@esbuild/linux-arm': 0.19.12
|
||||
'@esbuild/linux-arm64': 0.19.12
|
||||
'@esbuild/linux-ia32': 0.19.12
|
||||
'@esbuild/linux-loong64': 0.19.12
|
||||
'@esbuild/linux-mips64el': 0.19.12
|
||||
'@esbuild/linux-ppc64': 0.19.12
|
||||
'@esbuild/linux-riscv64': 0.19.12
|
||||
'@esbuild/linux-s390x': 0.19.12
|
||||
'@esbuild/linux-x64': 0.19.12
|
||||
'@esbuild/netbsd-x64': 0.19.12
|
||||
'@esbuild/openbsd-x64': 0.19.12
|
||||
'@esbuild/sunos-x64': 0.19.12
|
||||
'@esbuild/win32-arm64': 0.19.12
|
||||
'@esbuild/win32-ia32': 0.19.12
|
||||
'@esbuild/win32-x64': 0.19.12
|
||||
dev: true
|
||||
|
||||
/escalade@3.1.1:
|
||||
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/escape-string-regexp@4.0.0:
|
||||
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/eslint-compat-utils@0.1.2(eslint@8.56.0):
|
||||
resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==}
|
||||
engines: {node: '>=12'}
|
||||
peerDependencies:
|
||||
eslint: '>=6.0.0'
|
||||
dependencies:
|
||||
eslint: 8.56.0
|
||||
dev: true
|
||||
|
||||
/eslint-config-prettier@9.1.0(eslint@8.56.0):
|
||||
resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
eslint: '>=7.0.0'
|
||||
dependencies:
|
||||
eslint: 8.56.0
|
||||
dev: true
|
||||
|
||||
/eslint-plugin-svelte@2.35.1(eslint@8.56.0)(svelte@4.2.9):
|
||||
resolution: {integrity: sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==}
|
||||
engines: {node: ^14.17.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^7.0.0 || ^8.0.0-0
|
||||
svelte: ^3.37.0 || ^4.0.0
|
||||
peerDependenciesMeta:
|
||||
svelte:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
|
||||
'@jridgewell/sourcemap-codec': 1.4.15
|
||||
debug: 4.3.4
|
||||
eslint: 8.56.0
|
||||
eslint-compat-utils: 0.1.2(eslint@8.56.0)
|
||||
esutils: 2.0.3
|
||||
known-css-properties: 0.29.0
|
||||
postcss: 8.4.33
|
||||
postcss-load-config: 3.1.4(postcss@8.4.33)
|
||||
postcss-safe-parser: 6.0.0(postcss@8.4.33)
|
||||
postcss-selector-parser: 6.0.13
|
||||
semver: 7.5.4
|
||||
svelte: 4.2.9
|
||||
svelte-eslint-parser: 0.33.1(svelte@4.2.9)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- ts-node
|
||||
dev: true
|
||||
|
||||
/eslint-scope@7.2.2:
|
||||
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dependencies:
|
||||
esrecurse: 4.3.0
|
||||
estraverse: 5.3.0
|
||||
dev: true
|
||||
|
||||
/eslint-visitor-keys@3.4.3:
|
||||
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/eslint@8.56.0:
|
||||
resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0)
|
||||
'@eslint-community/regexpp': 4.10.0
|
||||
'@eslint/eslintrc': 2.1.4
|
||||
'@eslint/js': 8.56.0
|
||||
'@humanwhocodes/config-array': 0.11.13
|
||||
'@humanwhocodes/module-importer': 1.0.1
|
||||
'@nodelib/fs.walk': 1.2.8
|
||||
'@ungap/structured-clone': 1.2.0
|
||||
ajv: 6.12.6
|
||||
chalk: 4.1.2
|
||||
cross-spawn: 7.0.3
|
||||
debug: 4.3.4
|
||||
doctrine: 3.0.0
|
||||
escape-string-regexp: 4.0.0
|
||||
eslint-scope: 7.2.2
|
||||
eslint-visitor-keys: 3.4.3
|
||||
espree: 9.6.1
|
||||
esquery: 1.5.0
|
||||
esutils: 2.0.3
|
||||
fast-deep-equal: 3.1.3
|
||||
file-entry-cache: 6.0.1
|
||||
find-up: 5.0.0
|
||||
glob-parent: 6.0.2
|
||||
globals: 13.24.0
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.3.0
|
||||
imurmurhash: 0.1.4
|
||||
is-glob: 4.0.3
|
||||
is-path-inside: 3.0.3
|
||||
js-yaml: 4.1.0
|
||||
json-stable-stringify-without-jsonify: 1.0.1
|
||||
levn: 0.4.1
|
||||
lodash.merge: 4.6.2
|
||||
minimatch: 3.1.2
|
||||
natural-compare: 1.4.0
|
||||
optionator: 0.9.3
|
||||
strip-ansi: 6.0.1
|
||||
text-table: 0.2.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/esm-env@1.0.0:
|
||||
resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
|
||||
dev: true
|
||||
|
||||
/espree@9.6.1:
|
||||
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
dependencies:
|
||||
acorn: 8.11.2
|
||||
acorn-jsx: 5.3.2(acorn@8.11.2)
|
||||
eslint-visitor-keys: 3.4.3
|
||||
dev: true
|
||||
|
||||
/esquery@1.5.0:
|
||||
resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
|
||||
engines: {node: '>=0.10'}
|
||||
dependencies:
|
||||
estraverse: 5.3.0
|
||||
dev: true
|
||||
|
||||
/esrecurse@4.3.0:
|
||||
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
|
||||
engines: {node: '>=4.0'}
|
||||
dependencies:
|
||||
estraverse: 5.3.0
|
||||
dev: true
|
||||
|
||||
/estraverse@5.3.0:
|
||||
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
|
||||
engines: {node: '>=4.0'}
|
||||
dev: true
|
||||
|
||||
/estree-walker@3.0.3:
|
||||
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
|
||||
dependencies:
|
||||
'@types/estree': 1.0.5
|
||||
|
||||
/esutils@2.0.3:
|
||||
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/execa@8.0.1:
|
||||
resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
|
||||
engines: {node: '>=16.17'}
|
||||
dependencies:
|
||||
cross-spawn: 7.0.3
|
||||
get-stream: 8.0.1
|
||||
human-signals: 5.0.0
|
||||
is-stream: 3.0.0
|
||||
merge-stream: 2.0.0
|
||||
npm-run-path: 5.1.0
|
||||
onetime: 6.0.0
|
||||
signal-exit: 4.1.0
|
||||
strip-final-newline: 3.0.0
|
||||
dev: true
|
||||
|
||||
/fast-deep-equal@3.1.3:
|
||||
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
|
||||
dev: true
|
||||
|
||||
/fast-glob@3.3.2:
|
||||
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
|
||||
engines: {node: '>=8.6.0'}
|
||||
dependencies:
|
||||
'@nodelib/fs.stat': 2.0.5
|
||||
'@nodelib/fs.walk': 1.2.8
|
||||
glob-parent: 5.1.2
|
||||
merge2: 1.4.1
|
||||
micromatch: 4.0.5
|
||||
dev: true
|
||||
|
||||
/fast-json-stable-stringify@2.1.0:
|
||||
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
|
||||
dev: true
|
||||
|
||||
/fast-levenshtein@2.0.6:
|
||||
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
|
||||
dev: true
|
||||
|
||||
/fastq@1.15.0:
|
||||
resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
|
||||
dependencies:
|
||||
reusify: 1.0.4
|
||||
dev: true
|
||||
|
||||
/file-entry-cache@6.0.1:
|
||||
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
|
||||
engines: {node: ^10.12.0 || >=12.0.0}
|
||||
dependencies:
|
||||
flat-cache: 3.2.0
|
||||
dev: true
|
||||
|
||||
/fill-range@7.0.1:
|
||||
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
to-regex-range: 5.0.1
|
||||
dev: true
|
||||
|
||||
/find-up@5.0.0:
|
||||
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
locate-path: 6.0.0
|
||||
path-exists: 4.0.0
|
||||
dev: true
|
||||
|
||||
/flat-cache@3.2.0:
|
||||
resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
|
||||
engines: {node: ^10.12.0 || >=12.0.0}
|
||||
dependencies:
|
||||
flatted: 3.2.9
|
||||
keyv: 4.5.4
|
||||
rimraf: 3.0.2
|
||||
dev: true
|
||||
|
||||
/flatted@3.2.9:
|
||||
resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
|
||||
dev: true
|
||||
|
||||
/focus-trap@7.5.4:
|
||||
resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==}
|
||||
dependencies:
|
||||
tabbable: 6.2.0
|
||||
dev: false
|
||||
|
||||
/fraction.js@4.3.7:
|
||||
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
|
||||
dev: true
|
||||
|
||||
/fs.realpath@1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
dev: true
|
||||
|
||||
/fsevents@2.3.3:
|
||||
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
|
||||
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/function-bind@1.1.2:
|
||||
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
|
||||
dev: true
|
||||
|
||||
/get-caller-file@2.0.5:
|
||||
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
|
||||
engines: {node: 6.* || 8.* || >= 10.*}
|
||||
dev: true
|
||||
|
||||
/get-func-name@2.0.2:
|
||||
resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
|
||||
dev: true
|
||||
|
||||
/get-stream@8.0.1:
|
||||
resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
|
||||
engines: {node: '>=16'}
|
||||
dev: true
|
||||
|
||||
/glob-parent@5.1.2:
|
||||
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
|
||||
engines: {node: '>= 6'}
|
||||
dependencies:
|
||||
is-glob: 4.0.3
|
||||
dev: true
|
||||
|
||||
/glob-parent@6.0.2:
|
||||
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
|
||||
engines: {node: '>=10.13.0'}
|
||||
dependencies:
|
||||
is-glob: 4.0.3
|
||||
dev: true
|
||||
|
||||
/glob@7.1.6:
|
||||
resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
|
||||
dependencies:
|
||||
fs.realpath: 1.0.0
|
||||
inflight: 1.0.6
|
||||
inherits: 2.0.4
|
||||
minimatch: 3.1.2
|
||||
once: 1.4.0
|
||||
path-is-absolute: 1.0.1
|
||||
dev: true
|
||||
|
||||
/glob@7.2.3:
|
||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||
dependencies:
|
||||
fs.realpath: 1.0.0
|
||||
inflight: 1.0.6
|
||||
inherits: 2.0.4
|
||||
minimatch: 3.1.2
|
||||
once: 1.4.0
|
||||
path-is-absolute: 1.0.1
|
||||
dev: true
|
||||
|
||||
/globals@13.24.0:
|
||||
resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
type-fest: 0.20.2
|
||||
dev: true
|
||||
|
||||
/globalyzer@0.1.0:
|
||||
resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
|
||||
dev: true
|
||||
|
||||
/globby@11.1.0:
|
||||
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
array-union: 2.1.0
|
||||
dir-glob: 3.0.1
|
||||
fast-glob: 3.3.2
|
||||
ignore: 5.3.0
|
||||
merge2: 1.4.1
|
||||
slash: 3.0.0
|
||||
dev: true
|
||||
|
||||
/globrex@0.1.2:
|
||||
resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
|
||||
dev: true
|
||||
|
||||
/graceful-fs@4.2.11:
|
||||
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
|
||||
dev: true
|
||||
|
||||
/graphemer@1.4.0:
|
||||
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
|
||||
dev: true
|
||||
|
||||
/has-flag@4.0.0:
|
||||
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/hasown@2.0.0:
|
||||
resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dependencies:
|
||||
function-bind: 1.1.2
|
||||
dev: true
|
||||
|
||||
/human-signals@5.0.0:
|
||||
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
|
||||
engines: {node: '>=16.17.0'}
|
||||
dev: true
|
||||
|
||||
/ignore@5.3.0:
|
||||
resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
|
||||
engines: {node: '>= 4'}
|
||||
dev: true
|
||||
|
||||
/immediate@3.0.6:
|
||||
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
|
||||
dev: false
|
||||
|
||||
/import-fresh@3.3.0:
|
||||
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
|
||||
engines: {node: '>=6'}
|
||||
dependencies:
|
||||
parent-module: 1.0.1
|
||||
resolve-from: 4.0.0
|
||||
dev: true
|
||||
|
||||
/import-meta-resolve@4.0.0:
|
||||
resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==}
|
||||
dev: true
|
||||
|
||||
/imurmurhash@0.1.4:
|
||||
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
|
||||
engines: {node: '>=0.8.19'}
|
||||
dev: true
|
||||
|
||||
/inflight@1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
dependencies:
|
||||
once: 1.4.0
|
||||
wrappy: 1.0.2
|
||||
dev: true
|
||||
|
||||
/inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
|
||||
/is-binary-path@2.1.0:
|
||||
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
binary-extensions: 2.2.0
|
||||
dev: true
|
||||
|
||||
/is-core-module@2.13.1:
|
||||
resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
|
||||
dependencies:
|
||||
hasown: 2.0.0
|
||||
dev: true
|
||||
|
||||
/is-extglob@2.1.1:
|
||||
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/is-fullwidth-code-point@3.0.0:
|
||||
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/is-glob@4.0.3:
|
||||
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
is-extglob: 2.1.1
|
||||
dev: true
|
||||
|
||||
/is-number@7.0.0:
|
||||
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
|
||||
engines: {node: '>=0.12.0'}
|
||||
dev: true
|
||||
|
||||
/is-path-inside@3.0.3:
|
||||
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/is-reference@3.0.2:
|
||||
resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
|
||||
dependencies:
|
||||
'@types/estree': 1.0.5
|
||||
|
||||
/is-stream@3.0.0:
|
||||
resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
dev: true
|
||||
|
||||
/isarray@1.0.0:
|
||||
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
|
||||
dev: false
|
||||
|
||||
/isexe@2.0.0:
|
||||
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
||||
dev: true
|
||||
|
||||
/jiti@1.21.0:
|
||||
resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/js-yaml@4.1.0:
|
||||
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
argparse: 2.0.1
|
||||
dev: true
|
||||
|
||||
/json-buffer@3.0.1:
|
||||
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
|
||||
dev: true
|
||||
|
||||
/json-schema-traverse@0.4.1:
|
||||
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
|
||||
dev: true
|
||||
|
||||
/json-stable-stringify-without-jsonify@1.0.1:
|
||||
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
|
||||
dev: true
|
||||
|
||||
/jsonc-parser@3.2.0:
|
||||
resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
|
||||
|
||||
/jszip@3.10.1:
|
||||
resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
|
||||
dependencies:
|
||||
lie: 3.3.0
|
||||
pako: 1.0.11
|
||||
readable-stream: 2.3.8
|
||||
setimmediate: 1.0.5
|
||||
dev: false
|
||||
|
||||
/keyv@4.5.4:
|
||||
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
|
||||
dependencies:
|
||||
json-buffer: 3.0.1
|
||||
dev: true
|
||||
|
||||
/kleur@4.1.5:
|
||||
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/known-css-properties@0.29.0:
|
||||
resolution: {integrity: sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==}
|
||||
dev: true
|
||||
|
||||
/levn@0.4.1:
|
||||
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
dependencies:
|
||||
prelude-ls: 1.2.1
|
||||
type-check: 0.4.0
|
||||
dev: true
|
||||
|
||||
/lie@3.3.0:
|
||||
resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
|
||||
dependencies:
|
||||
immediate: 3.0.6
|
||||
dev: false
|
||||
|
||||
/lilconfig@2.1.0:
|
||||
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/lilconfig@3.0.0:
|
||||
resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==}
|
||||
engines: {node: '>=14'}
|
||||
dev: true
|
||||
|
||||
/lines-and-columns@1.2.4:
|
||||
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
|
||||
dev: true
|
||||
|
||||
/local-pkg@0.5.0:
|
||||
resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
|
||||
engines: {node: '>=14'}
|
||||
dependencies:
|
||||
mlly: 1.4.2
|
||||
pkg-types: 1.0.3
|
||||
dev: true
|
||||
|
||||
/locate-character@3.0.0:
|
||||
resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
|
||||
|
||||
/locate-path@6.0.0:
|
||||
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
p-locate: 5.0.0
|
||||
dev: true
|
||||
|
||||
/lodash.castarray@4.4.0:
|
||||
resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==}
|
||||
dev: true
|
||||
|
||||
/lodash.isplainobject@4.0.6:
|
||||
resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
|
||||
dev: true
|
||||
|
||||
/lodash.merge@4.6.2:
|
||||
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
|
||||
dev: true
|
||||
|
||||
/lodash@4.17.21:
|
||||
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
||||
dev: true
|
||||
|
||||
/loupe@2.3.7:
|
||||
resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
|
||||
dependencies:
|
||||
get-func-name: 2.0.2
|
||||
dev: true
|
||||
|
||||
/lru-cache@6.0.0:
|
||||
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
yallist: 4.0.0
|
||||
dev: true
|
||||
|
||||
/lucide-svelte@0.314.0(svelte@4.2.9):
|
||||
resolution: {integrity: sha512-w7oPy6aU7ybjopT9k65S1S5y/XgFVL6i6Qm0MT9pSjvORfWEdaI7cvonx5D2w3+Ty8+0jVRm4k8U/txhEpwLOg==}
|
||||
peerDependencies:
|
||||
svelte: '>=3 <5'
|
||||
dependencies:
|
||||
svelte: 4.2.9
|
||||
dev: false
|
||||
|
||||
/magic-string@0.27.0:
|
||||
resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.4.15
|
||||
dev: true
|
||||
|
||||
/magic-string@0.30.5:
|
||||
resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.4.15
|
||||
|
||||
/mdn-data@2.0.30:
|
||||
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
|
||||
|
||||
/mdsvex@0.11.0(svelte@4.2.9):
|
||||
resolution: {integrity: sha512-gJF1s0N2nCmdxcKn8HDn0LKrN8poStqAicp6bBcsKFd/zkUBGLP5e7vnxu+g0pjBbDFOscUyI1mtHz+YK2TCDw==}
|
||||
peerDependencies:
|
||||
svelte: '>=3 <5'
|
||||
dependencies:
|
||||
'@types/unist': 2.0.10
|
||||
prism-svelte: 0.4.7
|
||||
prismjs: 1.29.0
|
||||
svelte: 4.2.9
|
||||
vfile-message: 2.0.4
|
||||
dev: true
|
||||
|
||||
/merge-stream@2.0.0:
|
||||
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
|
||||
dev: true
|
||||
|
||||
/merge2@1.4.1:
|
||||
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
|
||||
engines: {node: '>= 8'}
|
||||
dev: true
|
||||
|
||||
/micromatch@4.0.5:
|
||||
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
|
||||
engines: {node: '>=8.6'}
|
||||
dependencies:
|
||||
braces: 3.0.2
|
||||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
/mimic-fn@4.0.0:
|
||||
resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/min-indent@1.0.1:
|
||||
resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/minimatch@3.1.2:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
dependencies:
|
||||
brace-expansion: 1.1.11
|
||||
dev: true
|
||||
|
||||
/minimatch@9.0.3:
|
||||
resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
|
||||
engines: {node: '>=16 || 14 >=14.17'}
|
||||
dependencies:
|
||||
brace-expansion: 2.0.1
|
||||
dev: true
|
||||
|
||||
/minimist@1.2.8:
|
||||
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
||||
dev: true
|
||||
|
||||
/mkdirp@0.5.6:
|
||||
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
minimist: 1.2.8
|
||||
dev: true
|
||||
|
||||
/mlly@1.4.2:
|
||||
resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==}
|
||||
dependencies:
|
||||
acorn: 8.11.2
|
||||
pathe: 1.1.1
|
||||
pkg-types: 1.0.3
|
||||
ufo: 1.3.2
|
||||
dev: true
|
||||
|
||||
/mri@1.2.0:
|
||||
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/mrmime@2.0.0:
|
||||
resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/ms@2.1.2:
|
||||
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
|
||||
dev: true
|
||||
|
||||
/mz@2.7.0:
|
||||
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
|
||||
dependencies:
|
||||
any-promise: 1.3.0
|
||||
object-assign: 4.1.1
|
||||
thenify-all: 1.6.0
|
||||
dev: true
|
||||
|
||||
/nanoid@3.3.7:
|
||||
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
|
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/nanoid@5.0.4:
|
||||
resolution: {integrity: sha512-vAjmBf13gsmhXSgBrtIclinISzFFy22WwCYoyilZlsrRXNIHSwgFQ1bEdjRwMT3aoadeIF6HMuDRlOxzfXV8ig==}
|
||||
engines: {node: ^18 || >=20}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/natural-compare@1.4.0:
|
||||
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
|
||||
dev: true
|
||||
|
||||
/node-releases@2.0.14:
|
||||
resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
|
||||
dev: true
|
||||
|
||||
/normalize-path@3.0.0:
|
||||
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/normalize-range@0.1.2:
|
||||
resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/npm-run-path@5.1.0:
|
||||
resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==}
|
||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||
dependencies:
|
||||
path-key: 4.0.0
|
||||
dev: true
|
||||
|
||||
/object-assign@4.1.1:
|
||||
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/object-hash@3.0.0:
|
||||
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
|
||||
engines: {node: '>= 6'}
|
||||
dev: true
|
||||
|
||||
/once@1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
wrappy: 1.0.2
|
||||
dev: true
|
||||
|
||||
/onetime@6.0.0:
|
||||
resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
mimic-fn: 4.0.0
|
||||
dev: true
|
||||
|
||||
/optionator@0.9.3:
|
||||
resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
dependencies:
|
||||
'@aashutoshrathi/word-wrap': 1.2.6
|
||||
deep-is: 0.1.4
|
||||
fast-levenshtein: 2.0.6
|
||||
levn: 0.4.1
|
||||
prelude-ls: 1.2.1
|
||||
type-check: 0.4.0
|
||||
dev: true
|
||||
|
||||
/p-limit@3.1.0:
|
||||
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
yocto-queue: 0.1.0
|
||||
dev: true
|
||||
|
||||
/p-limit@5.0.0:
|
||||
resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
|
||||
engines: {node: '>=18'}
|
||||
dependencies:
|
||||
yocto-queue: 1.0.0
|
||||
dev: true
|
||||
|
||||
/p-locate@5.0.0:
|
||||
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
p-limit: 3.1.0
|
||||
dev: true
|
||||
|
||||
/pako@1.0.11:
|
||||
resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
|
||||
dev: false
|
||||
|
||||
/parent-module@1.0.1:
|
||||
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
|
||||
engines: {node: '>=6'}
|
||||
dependencies:
|
||||
callsites: 3.1.0
|
||||
dev: true
|
||||
|
||||
/path-exists@4.0.0:
|
||||
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/path-is-absolute@1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/path-key@3.1.1:
|
||||
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/path-key@4.0.0:
|
||||
resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/path-parse@1.0.7:
|
||||
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
||||
dev: true
|
||||
|
||||
/path-type@4.0.0:
|
||||
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/pathe@1.1.1:
|
||||
resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==}
|
||||
dev: true
|
||||
|
||||
/pathval@1.1.1:
|
||||
resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
|
||||
dev: true
|
||||
|
||||
/periscopic@3.1.0:
|
||||
resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
|
||||
dependencies:
|
||||
'@types/estree': 1.0.5
|
||||
estree-walker: 3.0.3
|
||||
is-reference: 3.0.2
|
||||
|
||||
/picocolors@1.0.0:
|
||||
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
|
||||
dev: true
|
||||
|
||||
/picomatch@2.3.1:
|
||||
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
|
||||
engines: {node: '>=8.6'}
|
||||
dev: true
|
||||
|
||||
/pify@2.3.0:
|
||||
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/pirates@4.0.6:
|
||||
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
|
||||
engines: {node: '>= 6'}
|
||||
dev: true
|
||||
|
||||
/pkg-types@1.0.3:
|
||||
resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
|
||||
dependencies:
|
||||
jsonc-parser: 3.2.0
|
||||
mlly: 1.4.2
|
||||
pathe: 1.1.1
|
||||
dev: true
|
||||
|
||||
/postcss-import@15.1.0(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
postcss: ^8.0.0
|
||||
dependencies:
|
||||
postcss: 8.4.33
|
||||
postcss-value-parser: 4.2.0
|
||||
read-cache: 1.0.0
|
||||
resolve: 1.22.8
|
||||
dev: true
|
||||
|
||||
/postcss-js@4.0.1(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
|
||||
engines: {node: ^12 || ^14 || >= 16}
|
||||
peerDependencies:
|
||||
postcss: ^8.4.21
|
||||
dependencies:
|
||||
camelcase-css: 2.0.1
|
||||
postcss: 8.4.33
|
||||
dev: true
|
||||
|
||||
/postcss-load-config@3.1.4(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
|
||||
engines: {node: '>= 10'}
|
||||
peerDependencies:
|
||||
postcss: '>=8.0.9'
|
||||
ts-node: '>=9.0.0'
|
||||
peerDependenciesMeta:
|
||||
postcss:
|
||||
optional: true
|
||||
ts-node:
|
||||
optional: true
|
||||
dependencies:
|
||||
lilconfig: 2.1.0
|
||||
postcss: 8.4.33
|
||||
yaml: 1.10.2
|
||||
dev: true
|
||||
|
||||
/postcss-load-config@4.0.2(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
|
||||
engines: {node: '>= 14'}
|
||||
peerDependencies:
|
||||
postcss: '>=8.0.9'
|
||||
ts-node: '>=9.0.0'
|
||||
peerDependenciesMeta:
|
||||
postcss:
|
||||
optional: true
|
||||
ts-node:
|
||||
optional: true
|
||||
dependencies:
|
||||
lilconfig: 3.0.0
|
||||
postcss: 8.4.33
|
||||
yaml: 2.3.4
|
||||
dev: true
|
||||
|
||||
/postcss-nested@6.0.1(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
|
||||
engines: {node: '>=12.0'}
|
||||
peerDependencies:
|
||||
postcss: ^8.2.14
|
||||
dependencies:
|
||||
postcss: 8.4.33
|
||||
postcss-selector-parser: 6.0.13
|
||||
dev: true
|
||||
|
||||
/postcss-safe-parser@6.0.0(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
|
||||
engines: {node: '>=12.0'}
|
||||
peerDependencies:
|
||||
postcss: ^8.3.3
|
||||
dependencies:
|
||||
postcss: 8.4.33
|
||||
dev: true
|
||||
|
||||
/postcss-scss@4.0.9(postcss@8.4.33):
|
||||
resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
|
||||
engines: {node: '>=12.0'}
|
||||
peerDependencies:
|
||||
postcss: ^8.4.29
|
||||
dependencies:
|
||||
postcss: 8.4.33
|
||||
dev: true
|
||||
|
||||
/postcss-selector-parser@6.0.10:
|
||||
resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
cssesc: 3.0.0
|
||||
util-deprecate: 1.0.2
|
||||
dev: true
|
||||
|
||||
/postcss-selector-parser@6.0.13:
|
||||
resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
cssesc: 3.0.0
|
||||
util-deprecate: 1.0.2
|
||||
dev: true
|
||||
|
||||
/postcss-value-parser@4.2.0:
|
||||
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
|
||||
dev: true
|
||||
|
||||
/postcss@8.4.33:
|
||||
resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
dependencies:
|
||||
nanoid: 3.3.7
|
||||
picocolors: 1.0.0
|
||||
source-map-js: 1.0.2
|
||||
dev: true
|
||||
|
||||
/prelude-ls@1.2.1:
|
||||
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
dev: true
|
||||
|
||||
/prettier-plugin-svelte@3.1.2(prettier@3.2.4)(svelte@4.2.9):
|
||||
resolution: {integrity: sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==}
|
||||
peerDependencies:
|
||||
prettier: ^3.0.0
|
||||
svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
|
||||
dependencies:
|
||||
prettier: 3.2.4
|
||||
svelte: 4.2.9
|
||||
dev: true
|
||||
|
||||
/prettier-plugin-tailwindcss@0.5.11(prettier-plugin-svelte@3.1.2)(prettier@3.2.4):
|
||||
resolution: {integrity: sha512-AvI/DNyMctyyxGOjyePgi/gqj5hJYClZ1avtQvLlqMT3uDZkRbi4HhGUpok3DRzv9z7Lti85Kdj3s3/1CeNI0w==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
peerDependencies:
|
||||
'@ianvs/prettier-plugin-sort-imports': '*'
|
||||
'@prettier/plugin-pug': '*'
|
||||
'@shopify/prettier-plugin-liquid': '*'
|
||||
'@trivago/prettier-plugin-sort-imports': '*'
|
||||
prettier: ^3.0
|
||||
prettier-plugin-astro: '*'
|
||||
prettier-plugin-css-order: '*'
|
||||
prettier-plugin-import-sort: '*'
|
||||
prettier-plugin-jsdoc: '*'
|
||||
prettier-plugin-marko: '*'
|
||||
prettier-plugin-organize-attributes: '*'
|
||||
prettier-plugin-organize-imports: '*'
|
||||
prettier-plugin-style-order: '*'
|
||||
prettier-plugin-svelte: '*'
|
||||
prettier-plugin-twig-melody: '*'
|
||||
peerDependenciesMeta:
|
||||
'@ianvs/prettier-plugin-sort-imports':
|
||||
optional: true
|
||||
'@prettier/plugin-pug':
|
||||
optional: true
|
||||
'@shopify/prettier-plugin-liquid':
|
||||
optional: true
|
||||
'@trivago/prettier-plugin-sort-imports':
|
||||
optional: true
|
||||
prettier-plugin-astro:
|
||||
optional: true
|
||||
prettier-plugin-css-order:
|
||||
optional: true
|
||||
prettier-plugin-import-sort:
|
||||
optional: true
|
||||
prettier-plugin-jsdoc:
|
||||
optional: true
|
||||
prettier-plugin-marko:
|
||||
optional: true
|
||||
prettier-plugin-organize-attributes:
|
||||
optional: true
|
||||
prettier-plugin-organize-imports:
|
||||
optional: true
|
||||
prettier-plugin-style-order:
|
||||
optional: true
|
||||
prettier-plugin-svelte:
|
||||
optional: true
|
||||
prettier-plugin-twig-melody:
|
||||
optional: true
|
||||
dependencies:
|
||||
prettier: 3.2.4
|
||||
prettier-plugin-svelte: 3.1.2(prettier@3.2.4)(svelte@4.2.9)
|
||||
dev: true
|
||||
|
||||
/prettier@3.2.4:
|
||||
resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==}
|
||||
engines: {node: '>=14'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/pretty-format@29.7.0:
|
||||
resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
|
||||
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
|
||||
dependencies:
|
||||
'@jest/schemas': 29.6.3
|
||||
ansi-styles: 5.2.0
|
||||
react-is: 18.2.0
|
||||
dev: true
|
||||
|
||||
/prism-svelte@0.4.7:
|
||||
resolution: {integrity: sha512-yABh19CYbM24V7aS7TuPYRNMqthxwbvx6FF/Rw920YbyBWO3tnyPIqRMgHuSVsLmuHkkBS1Akyof463FVdkeDQ==}
|
||||
dev: true
|
||||
|
||||
/prismjs@1.29.0:
|
||||
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/process-nextick-args@2.0.1:
|
||||
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
|
||||
dev: false
|
||||
|
||||
/punycode@2.3.1:
|
||||
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/queue-microtask@1.2.3:
|
||||
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
||||
dev: true
|
||||
|
||||
/react-is@18.2.0:
|
||||
resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
|
||||
dev: true
|
||||
|
||||
/read-cache@1.0.0:
|
||||
resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
|
||||
dependencies:
|
||||
pify: 2.3.0
|
||||
dev: true
|
||||
|
||||
/readable-stream@2.3.8:
|
||||
resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
|
||||
dependencies:
|
||||
core-util-is: 1.0.3
|
||||
inherits: 2.0.4
|
||||
isarray: 1.0.0
|
||||
process-nextick-args: 2.0.1
|
||||
safe-buffer: 5.1.2
|
||||
string_decoder: 1.1.1
|
||||
util-deprecate: 1.0.2
|
||||
dev: false
|
||||
|
||||
/readdirp@3.6.0:
|
||||
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
|
||||
engines: {node: '>=8.10.0'}
|
||||
dependencies:
|
||||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
/regenerator-runtime@0.14.0:
|
||||
resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
|
||||
|
||||
/require-directory@2.1.1:
|
||||
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/resolve-from@4.0.0:
|
||||
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/resolve@1.22.8:
|
||||
resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
is-core-module: 2.13.1
|
||||
path-parse: 1.0.7
|
||||
supports-preserve-symlinks-flag: 1.0.0
|
||||
dev: true
|
||||
|
||||
/reusify@1.0.4:
|
||||
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
|
||||
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/rimraf@2.7.1:
|
||||
resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
glob: 7.2.3
|
||||
dev: true
|
||||
|
||||
/rimraf@3.0.2:
|
||||
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
glob: 7.2.3
|
||||
dev: true
|
||||
|
||||
/rollup@4.8.0:
|
||||
resolution: {integrity: sha512-NpsklK2fach5CdI+PScmlE5R4Ao/FSWtF7LkoIrHDxPACY/xshNasPsbpG0VVHxUTbf74tJbVT4PrP8JsJ6ZDA==}
|
||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||
hasBin: true
|
||||
optionalDependencies:
|
||||
'@rollup/rollup-android-arm-eabi': 4.8.0
|
||||
'@rollup/rollup-android-arm64': 4.8.0
|
||||
'@rollup/rollup-darwin-arm64': 4.8.0
|
||||
'@rollup/rollup-darwin-x64': 4.8.0
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.8.0
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.8.0
|
||||
'@rollup/rollup-linux-arm64-musl': 4.8.0
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.8.0
|
||||
'@rollup/rollup-linux-x64-gnu': 4.8.0
|
||||
'@rollup/rollup-linux-x64-musl': 4.8.0
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.8.0
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.8.0
|
||||
'@rollup/rollup-win32-x64-msvc': 4.8.0
|
||||
fsevents: 2.3.3
|
||||
dev: true
|
||||
|
||||
/run-parallel@1.2.0:
|
||||
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
|
||||
dependencies:
|
||||
queue-microtask: 1.2.3
|
||||
dev: true
|
||||
|
||||
/rxjs@7.8.1:
|
||||
resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
|
||||
dependencies:
|
||||
tslib: 2.6.2
|
||||
dev: true
|
||||
|
||||
/sade@1.8.1:
|
||||
resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
|
||||
engines: {node: '>=6'}
|
||||
dependencies:
|
||||
mri: 1.2.0
|
||||
dev: true
|
||||
|
||||
/safe-buffer@5.1.2:
|
||||
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
|
||||
dev: false
|
||||
|
||||
/sander@0.5.1:
|
||||
resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==}
|
||||
dependencies:
|
||||
es6-promise: 3.3.1
|
||||
graceful-fs: 4.2.11
|
||||
mkdirp: 0.5.6
|
||||
rimraf: 2.7.1
|
||||
dev: true
|
||||
|
||||
/semver@7.5.4:
|
||||
resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
lru-cache: 6.0.0
|
||||
dev: true
|
||||
|
||||
/set-cookie-parser@2.6.0:
|
||||
resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
|
||||
dev: true
|
||||
|
||||
/setimmediate@1.0.5:
|
||||
resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
|
||||
dev: false
|
||||
|
||||
/shebang-command@2.0.0:
|
||||
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
shebang-regex: 3.0.0
|
||||
dev: true
|
||||
|
||||
/shebang-regex@3.0.0:
|
||||
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/shell-quote@1.8.1:
|
||||
resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
|
||||
dev: true
|
||||
|
||||
/shiki@0.14.7:
|
||||
resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==}
|
||||
dependencies:
|
||||
ansi-sequence-parser: 1.1.1
|
||||
jsonc-parser: 3.2.0
|
||||
vscode-oniguruma: 1.7.0
|
||||
vscode-textmate: 8.0.0
|
||||
dev: false
|
||||
|
||||
/siginfo@2.0.0:
|
||||
resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
|
||||
dev: true
|
||||
|
||||
/signal-exit@4.1.0:
|
||||
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
|
||||
engines: {node: '>=14'}
|
||||
dev: true
|
||||
|
||||
/sirv@2.0.4:
|
||||
resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
|
||||
engines: {node: '>= 10'}
|
||||
dependencies:
|
||||
'@polka/url': 1.0.0-next.24
|
||||
mrmime: 2.0.0
|
||||
totalist: 3.0.1
|
||||
dev: true
|
||||
|
||||
/slash@3.0.0:
|
||||
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/sorcery@0.11.0:
|
||||
resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.4.15
|
||||
buffer-crc32: 0.2.13
|
||||
minimist: 1.2.8
|
||||
sander: 0.5.1
|
||||
dev: true
|
||||
|
||||
/source-map-js@1.0.2:
|
||||
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/spawn-command@0.0.2:
|
||||
resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==}
|
||||
dev: true
|
||||
|
||||
/stackback@0.0.2:
|
||||
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
|
||||
dev: true
|
||||
|
||||
/std-env@3.6.0:
|
||||
resolution: {integrity: sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==}
|
||||
dev: true
|
||||
|
||||
/string-width@4.2.3:
|
||||
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
emoji-regex: 8.0.0
|
||||
is-fullwidth-code-point: 3.0.0
|
||||
strip-ansi: 6.0.1
|
||||
dev: true
|
||||
|
||||
/string_decoder@1.1.1:
|
||||
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
|
||||
dependencies:
|
||||
safe-buffer: 5.1.2
|
||||
dev: false
|
||||
|
||||
/strip-ansi@6.0.1:
|
||||
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
ansi-regex: 5.0.1
|
||||
dev: true
|
||||
|
||||
/strip-final-newline@3.0.0:
|
||||
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/strip-indent@3.0.0:
|
||||
resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
min-indent: 1.0.1
|
||||
dev: true
|
||||
|
||||
/strip-json-comments@3.1.1:
|
||||
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/strip-literal@1.3.0:
|
||||
resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==}
|
||||
dependencies:
|
||||
acorn: 8.11.2
|
||||
dev: true
|
||||
|
||||
/sucrase@3.34.0:
|
||||
resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
|
||||
engines: {node: '>=8'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@jridgewell/gen-mapping': 0.3.3
|
||||
commander: 4.1.1
|
||||
glob: 7.1.6
|
||||
lines-and-columns: 1.2.4
|
||||
mz: 2.7.0
|
||||
pirates: 4.0.6
|
||||
ts-interface-checker: 0.1.13
|
||||
dev: true
|
||||
|
||||
/supports-color@7.2.0:
|
||||
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
has-flag: 4.0.0
|
||||
dev: true
|
||||
|
||||
/supports-color@8.1.1:
|
||||
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
has-flag: 4.0.0
|
||||
dev: true
|
||||
|
||||
/supports-preserve-symlinks-flag@1.0.0:
|
||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dev: true
|
||||
|
||||
/svelte-check@3.6.3(postcss@8.4.33)(svelte@4.2.9):
|
||||
resolution: {integrity: sha512-Q2nGnoysxUnB9KjnjpQLZwdjK62DHyW6nuH/gm2qteFnDk0lCehe/6z8TsIvYeKjC6luKaWxiNGyOcWiLLPSwA==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.20
|
||||
chokidar: 3.5.3
|
||||
fast-glob: 3.3.2
|
||||
import-fresh: 3.3.0
|
||||
picocolors: 1.0.0
|
||||
sade: 1.8.1
|
||||
svelte: 4.2.9
|
||||
svelte-preprocess: 5.1.1(postcss@8.4.33)(svelte@4.2.9)(typescript@5.3.3)
|
||||
typescript: 5.3.3
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
- coffeescript
|
||||
- less
|
||||
- postcss
|
||||
- postcss-load-config
|
||||
- pug
|
||||
- sass
|
||||
- stylus
|
||||
- sugarss
|
||||
dev: true
|
||||
|
||||
/svelte-eslint-parser@0.33.1(svelte@4.2.9):
|
||||
resolution: {integrity: sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
svelte: ^3.37.0 || ^4.0.0
|
||||
peerDependenciesMeta:
|
||||
svelte:
|
||||
optional: true
|
||||
dependencies:
|
||||
eslint-scope: 7.2.2
|
||||
eslint-visitor-keys: 3.4.3
|
||||
espree: 9.6.1
|
||||
postcss: 8.4.33
|
||||
postcss-scss: 4.0.9(postcss@8.4.33)
|
||||
svelte: 4.2.9
|
||||
dev: true
|
||||
|
||||
/svelte-hmr@0.15.3(svelte@4.2.9):
|
||||
resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==}
|
||||
engines: {node: ^12.20 || ^14.13.1 || >= 16}
|
||||
peerDependencies:
|
||||
svelte: ^3.19.0 || ^4.0.0
|
||||
dependencies:
|
||||
svelte: 4.2.9
|
||||
dev: true
|
||||
|
||||
/svelte-preprocess@5.1.1(postcss@8.4.33)(svelte@4.2.9)(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-p/Dp4hmrBW5mrCCq29lEMFpIJT2FZsRlouxEc5qpbOmXRbaFs7clLs8oKPwD3xCFyZfv1bIhvOzpQkhMEVQdMw==}
|
||||
engines: {node: '>= 14.10.0'}
|
||||
requiresBuild: true
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.10.2
|
||||
coffeescript: ^2.5.1
|
||||
less: ^3.11.3 || ^4.0.0
|
||||
postcss: ^7 || ^8
|
||||
postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0
|
||||
pug: ^3.0.0
|
||||
sass: ^1.26.8
|
||||
stylus: ^0.55.0
|
||||
sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
|
||||
svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
|
||||
typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0'
|
||||
peerDependenciesMeta:
|
||||
'@babel/core':
|
||||
optional: true
|
||||
coffeescript:
|
||||
optional: true
|
||||
less:
|
||||
optional: true
|
||||
postcss:
|
||||
optional: true
|
||||
postcss-load-config:
|
||||
optional: true
|
||||
pug:
|
||||
optional: true
|
||||
sass:
|
||||
optional: true
|
||||
stylus:
|
||||
optional: true
|
||||
sugarss:
|
||||
optional: true
|
||||
typescript:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@types/pug': 2.0.10
|
||||
detect-indent: 6.1.0
|
||||
magic-string: 0.27.0
|
||||
postcss: 8.4.33
|
||||
sorcery: 0.11.0
|
||||
strip-indent: 3.0.0
|
||||
svelte: 4.2.9
|
||||
typescript: 5.3.3
|
||||
dev: true
|
||||
|
||||
/svelte-sonner@0.3.6(svelte@4.2.9):
|
||||
resolution: {integrity: sha512-MwVhh4nxCqTBLHYamRw+q9erZC2Y4wuL8mUa7phgq/9kq9VdTr+/6S1PX1CnALJPy2rkc7TlIECYTJavUkoWlg==}
|
||||
peerDependencies:
|
||||
svelte: '>=3 <5'
|
||||
dependencies:
|
||||
svelte: 4.2.9
|
||||
dev: false
|
||||
|
||||
/svelte@4.2.9:
|
||||
resolution: {integrity: sha512-hsoB/WZGEPFXeRRLPhPrbRz67PhP6sqYgvwcAs+gWdSQSvNDw+/lTeUJSWe5h2xC97Fz/8QxAOqItwBzNJPU8w==}
|
||||
engines: {node: '>=16'}
|
||||
dependencies:
|
||||
'@ampproject/remapping': 2.2.1
|
||||
'@jridgewell/sourcemap-codec': 1.4.15
|
||||
'@jridgewell/trace-mapping': 0.3.20
|
||||
'@types/estree': 1.0.5
|
||||
acorn: 8.11.2
|
||||
aria-query: 5.3.0
|
||||
axobject-query: 4.0.0
|
||||
code-red: 1.0.4
|
||||
css-tree: 2.3.1
|
||||
estree-walker: 3.0.3
|
||||
is-reference: 3.0.2
|
||||
locate-character: 3.0.0
|
||||
magic-string: 0.30.5
|
||||
periscopic: 3.1.0
|
||||
|
||||
/tabbable@6.2.0:
|
||||
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
|
||||
dev: false
|
||||
|
||||
/tailwind-merge@2.2.1:
|
||||
resolution: {integrity: sha512-o+2GTLkthfa5YUt4JxPfzMIpQzZ3adD1vLVkvKE1Twl9UAhGsEbIZhHHZVRttyW177S8PDJI3bTQNaebyofK3Q==}
|
||||
dependencies:
|
||||
'@babel/runtime': 7.23.8
|
||||
dev: false
|
||||
|
||||
/tailwindcss@3.4.1:
|
||||
resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@alloc/quick-lru': 5.2.0
|
||||
arg: 5.0.2
|
||||
chokidar: 3.5.3
|
||||
didyoumean: 1.2.2
|
||||
dlv: 1.1.3
|
||||
fast-glob: 3.3.2
|
||||
glob-parent: 6.0.2
|
||||
is-glob: 4.0.3
|
||||
jiti: 1.21.0
|
||||
lilconfig: 2.1.0
|
||||
micromatch: 4.0.5
|
||||
normalize-path: 3.0.0
|
||||
object-hash: 3.0.0
|
||||
picocolors: 1.0.0
|
||||
postcss: 8.4.33
|
||||
postcss-import: 15.1.0(postcss@8.4.33)
|
||||
postcss-js: 4.0.1(postcss@8.4.33)
|
||||
postcss-load-config: 4.0.2(postcss@8.4.33)
|
||||
postcss-nested: 6.0.1(postcss@8.4.33)
|
||||
postcss-selector-parser: 6.0.13
|
||||
resolve: 1.22.8
|
||||
sucrase: 3.34.0
|
||||
transitivePeerDependencies:
|
||||
- ts-node
|
||||
dev: true
|
||||
|
||||
/text-table@0.2.0:
|
||||
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
||||
dev: true
|
||||
|
||||
/thenify-all@1.6.0:
|
||||
resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
|
||||
engines: {node: '>=0.8'}
|
||||
dependencies:
|
||||
thenify: 3.3.1
|
||||
dev: true
|
||||
|
||||
/thenify@3.3.1:
|
||||
resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
|
||||
dependencies:
|
||||
any-promise: 1.3.0
|
||||
dev: true
|
||||
|
||||
/tiny-glob@0.2.9:
|
||||
resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
|
||||
dependencies:
|
||||
globalyzer: 0.1.0
|
||||
globrex: 0.1.2
|
||||
dev: true
|
||||
|
||||
/tinybench@2.5.1:
|
||||
resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==}
|
||||
dev: true
|
||||
|
||||
/tinypool@0.8.1:
|
||||
resolution: {integrity: sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
dev: true
|
||||
|
||||
/tinyspy@2.2.0:
|
||||
resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
dev: true
|
||||
|
||||
/to-regex-range@5.0.1:
|
||||
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
|
||||
engines: {node: '>=8.0'}
|
||||
dependencies:
|
||||
is-number: 7.0.0
|
||||
dev: true
|
||||
|
||||
/totalist@3.0.1:
|
||||
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/tree-kill@1.2.2:
|
||||
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/ts-api-utils@1.0.3(typescript@5.3.3):
|
||||
resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
|
||||
engines: {node: '>=16.13.0'}
|
||||
peerDependencies:
|
||||
typescript: '>=4.2.0'
|
||||
dependencies:
|
||||
typescript: 5.3.3
|
||||
dev: true
|
||||
|
||||
/ts-interface-checker@0.1.13:
|
||||
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
|
||||
dev: true
|
||||
|
||||
/tslib@2.6.2:
|
||||
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
|
||||
|
||||
/type-check@0.4.0:
|
||||
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
dependencies:
|
||||
prelude-ls: 1.2.1
|
||||
dev: true
|
||||
|
||||
/type-detect@4.0.8:
|
||||
resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/type-fest@0.20.2:
|
||||
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/typescript@5.3.3:
|
||||
resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
|
||||
engines: {node: '>=14.17'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/ufo@1.3.2:
|
||||
resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==}
|
||||
dev: true
|
||||
|
||||
/unist-util-stringify-position@2.0.3:
|
||||
resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
|
||||
dependencies:
|
||||
'@types/unist': 2.0.10
|
||||
dev: true
|
||||
|
||||
/update-browserslist-db@1.0.13(browserslist@4.22.2):
|
||||
resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
browserslist: '>= 4.21.0'
|
||||
dependencies:
|
||||
browserslist: 4.22.2
|
||||
escalade: 3.1.1
|
||||
picocolors: 1.0.0
|
||||
dev: true
|
||||
|
||||
/uri-js@4.4.1:
|
||||
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
|
||||
dependencies:
|
||||
punycode: 2.3.1
|
||||
dev: true
|
||||
|
||||
/util-deprecate@1.0.2:
|
||||
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
||||
|
||||
/vfile-message@2.0.4:
|
||||
resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==}
|
||||
dependencies:
|
||||
'@types/unist': 2.0.10
|
||||
unist-util-stringify-position: 2.0.3
|
||||
dev: true
|
||||
|
||||
/vite-node@1.2.1:
|
||||
resolution: {integrity: sha512-fNzHmQUSOY+y30naohBvSW7pPn/xn3Ib/uqm+5wAJQJiqQsU0NBR78XdRJb04l4bOFKjpTWld0XAfkKlrDbySg==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
cac: 6.7.14
|
||||
debug: 4.3.4
|
||||
pathe: 1.1.1
|
||||
picocolors: 1.0.0
|
||||
vite: 5.0.12
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- less
|
||||
- lightningcss
|
||||
- sass
|
||||
- stylus
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
dev: true
|
||||
|
||||
/vite@5.0.12:
|
||||
resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@types/node': ^18.0.0 || >=20.0.0
|
||||
less: '*'
|
||||
lightningcss: ^1.21.0
|
||||
sass: '*'
|
||||
stylus: '*'
|
||||
sugarss: '*'
|
||||
terser: ^5.4.0
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
less:
|
||||
optional: true
|
||||
lightningcss:
|
||||
optional: true
|
||||
sass:
|
||||
optional: true
|
||||
stylus:
|
||||
optional: true
|
||||
sugarss:
|
||||
optional: true
|
||||
terser:
|
||||
optional: true
|
||||
dependencies:
|
||||
esbuild: 0.19.12
|
||||
postcss: 8.4.33
|
||||
rollup: 4.8.0
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.3
|
||||
dev: true
|
||||
|
||||
/vitefu@0.2.5(vite@5.0.12):
|
||||
resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
|
||||
peerDependencies:
|
||||
vite: ^3.0.0 || ^4.0.0 || ^5.0.0
|
||||
peerDependenciesMeta:
|
||||
vite:
|
||||
optional: true
|
||||
dependencies:
|
||||
vite: 5.0.12
|
||||
dev: true
|
||||
|
||||
/vitest@1.2.1:
|
||||
resolution: {integrity: sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@edge-runtime/vm': '*'
|
||||
'@types/node': ^18.0.0 || >=20.0.0
|
||||
'@vitest/browser': ^1.0.0
|
||||
'@vitest/ui': ^1.0.0
|
||||
happy-dom: '*'
|
||||
jsdom: '*'
|
||||
peerDependenciesMeta:
|
||||
'@edge-runtime/vm':
|
||||
optional: true
|
||||
'@types/node':
|
||||
optional: true
|
||||
'@vitest/browser':
|
||||
optional: true
|
||||
'@vitest/ui':
|
||||
optional: true
|
||||
happy-dom:
|
||||
optional: true
|
||||
jsdom:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@vitest/expect': 1.2.1
|
||||
'@vitest/runner': 1.2.1
|
||||
'@vitest/snapshot': 1.2.1
|
||||
'@vitest/spy': 1.2.1
|
||||
'@vitest/utils': 1.2.1
|
||||
acorn-walk: 8.3.2
|
||||
cac: 6.7.14
|
||||
chai: 4.3.10
|
||||
debug: 4.3.4
|
||||
execa: 8.0.1
|
||||
local-pkg: 0.5.0
|
||||
magic-string: 0.30.5
|
||||
pathe: 1.1.1
|
||||
picocolors: 1.0.0
|
||||
std-env: 3.6.0
|
||||
strip-literal: 1.3.0
|
||||
tinybench: 2.5.1
|
||||
tinypool: 0.8.1
|
||||
vite: 5.0.12
|
||||
vite-node: 1.2.1
|
||||
why-is-node-running: 2.2.2
|
||||
transitivePeerDependencies:
|
||||
- less
|
||||
- lightningcss
|
||||
- sass
|
||||
- stylus
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
dev: true
|
||||
|
||||
/vscode-oniguruma@1.7.0:
|
||||
resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==}
|
||||
dev: false
|
||||
|
||||
/vscode-textmate@8.0.0:
|
||||
resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==}
|
||||
dev: false
|
||||
|
||||
/which@2.0.2:
|
||||
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
|
||||
engines: {node: '>= 8'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
isexe: 2.0.0
|
||||
dev: true
|
||||
|
||||
/why-is-node-running@2.2.2:
|
||||
resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
|
||||
engines: {node: '>=8'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
siginfo: 2.0.0
|
||||
stackback: 0.0.2
|
||||
dev: true
|
||||
|
||||
/wrap-ansi@7.0.0:
|
||||
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
ansi-styles: 4.3.0
|
||||
string-width: 4.2.3
|
||||
strip-ansi: 6.0.1
|
||||
dev: true
|
||||
|
||||
/wrappy@1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
dev: true
|
||||
|
||||
/y18n@5.0.8:
|
||||
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/yallist@4.0.0:
|
||||
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
||||
dev: true
|
||||
|
||||
/yaml@1.10.2:
|
||||
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
|
||||
engines: {node: '>= 6'}
|
||||
dev: true
|
||||
|
||||
/yaml@2.3.4:
|
||||
resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
|
||||
engines: {node: '>= 14'}
|
||||
dev: true
|
||||
|
||||
/yargs-parser@21.1.1:
|
||||
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
|
||||
engines: {node: '>=12'}
|
||||
dev: true
|
||||
|
||||
/yargs@17.7.2:
|
||||
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
cliui: 8.0.1
|
||||
escalade: 3.1.1
|
||||
get-caller-file: 2.0.5
|
||||
require-directory: 2.1.1
|
||||
string-width: 4.2.3
|
||||
y18n: 5.0.8
|
||||
yargs-parser: 21.1.1
|
||||
dev: true
|
||||
|
||||
/yocto-queue@0.1.0:
|
||||
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/yocto-queue@1.0.0:
|
||||
resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
|
||||
engines: {node: '>=12.20'}
|
||||
dev: true
|
||||
@@ -2,30 +2,73 @@
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
@layer base {
|
||||
:root {
|
||||
--sb-track-color: rgb(229 229 229 / 0.5);
|
||||
--sb-thumb-color: #d4d4d4;
|
||||
--sb-size: 10px;
|
||||
}
|
||||
|
||||
.dark {
|
||||
--sb-track-color: #171717;
|
||||
--sb-thumb-color: #404040;
|
||||
--sb-size: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@layer base {
|
||||
body,
|
||||
nav {
|
||||
scrollbar-color: var(--sb-thumb-color) transparent;
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar {
|
||||
width: var(--sb-size);
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar-track {
|
||||
background: var(--sb-track-color);
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar-thumb {
|
||||
background: var(--sb-thumb-color);
|
||||
}
|
||||
|
||||
aside::-webkit-scrollbar {
|
||||
width: var(--sb-size);
|
||||
}
|
||||
|
||||
aside::-webkit-scrollbar-track {
|
||||
background: var(--sb-track-color);
|
||||
}
|
||||
|
||||
aside::-webkit-scrollbar-thumb {
|
||||
background: var(--sb-thumb-color);
|
||||
}
|
||||
|
||||
nav::-webkit-scrollbar {
|
||||
width: var(--sb-size);
|
||||
}
|
||||
|
||||
nav::-webkit-scrollbar-track {
|
||||
background: var(--sb-track-color);
|
||||
}
|
||||
|
||||
nav::-webkit-scrollbar-thumb {
|
||||
background: var(--sb-thumb-color);
|
||||
}
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'General-Sans';
|
||||
src: url('/fonts/GeneralSans-Variable.woff2') format('woff2');
|
||||
font-weight: 200 700;
|
||||
font-family: 'InterVariable';
|
||||
src: url('/fonts/InterVariable.woff2') format('woff2');
|
||||
font-weight: 100 900;
|
||||
font-display: swap;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
body {
|
||||
--sb-track-color: #171717;
|
||||
--sb-thumb-color: #404040;
|
||||
--sb-size: 10px;
|
||||
|
||||
scrollbar-color: var(--sb-thumb-color) var(--sb-track-color);
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar {
|
||||
width: var(--sb-size);
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar-track {
|
||||
background: var(--sb-track-color);
|
||||
}
|
||||
|
||||
body::-webkit-scrollbar-thumb {
|
||||
background: var(--sb-thumb-color);
|
||||
@font-face {
|
||||
font-family: 'GeistMono';
|
||||
src: url('/fonts/GeistMonoVariableVF.woff2') format('woff2');
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="robots" content="index, follow" />
|
||||
<meta name="author" content="@pheralb_" />
|
||||
<meta name="description" content="A beautiful library with SVG logos" />
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/svg+xml" href="%sveltekit.assets%/images/logo.svg" />
|
||||
@@ -23,11 +24,21 @@
|
||||
<meta name="twitter:creator" content="@pheralb_" />
|
||||
<meta name="twitter:image" content="https://svgl.vercel.app/images/screenshot.png" />
|
||||
|
||||
<!-- Analytics -->
|
||||
<script
|
||||
async
|
||||
src="https://umami.pheralb.dev/script.js"
|
||||
data-website-id="50de464e-cf2c-4b76-b5e8-21c9259bc7be"
|
||||
></script>
|
||||
|
||||
<!-- Title -->
|
||||
<title>A beautiful library with SVG logos - Svgl</title>
|
||||
%sveltekit.head%
|
||||
</head>
|
||||
<body data-sveltekit-preload-data="hover">
|
||||
<body
|
||||
data-sveltekit-preload-data="hover"
|
||||
class="min-h-screen bg-white font-sans text-mini dark:bg-dark dark:text-white antialiased selection:bg-neutral-200 dark:selection:bg-neutral-700"
|
||||
>
|
||||
<div>%sveltekit.body%</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
<script lang="ts">
|
||||
let domElement: HTMLElement;
|
||||
let focused = false;
|
||||
let position = { x: 0, y: 0 };
|
||||
let opacity = 0;
|
||||
|
||||
const handleMouseMove = (e: MouseEvent) => {
|
||||
if (!domElement || focused) return;
|
||||
|
||||
const rect = domElement.getBoundingClientRect();
|
||||
|
||||
position = {
|
||||
x: e.clientX - rect.left,
|
||||
y: e.clientY - rect.top
|
||||
};
|
||||
};
|
||||
|
||||
const handleFocus = () => {
|
||||
focused = true;
|
||||
opacity = 1;
|
||||
};
|
||||
|
||||
const handleBlur = () => {
|
||||
focused = false;
|
||||
opacity = 0;
|
||||
};
|
||||
|
||||
const handleMouseEnter = () => {
|
||||
opacity = 1;
|
||||
};
|
||||
|
||||
const handleMouseLeave = () => {
|
||||
opacity = 0;
|
||||
};
|
||||
</script>
|
||||
|
||||
<!--Se quito el aria-hidden="true" para que se pueda leer el contenido del card con el lector de pantalla -->
|
||||
<article
|
||||
bind:this={domElement}
|
||||
on:mousemove={handleMouseMove}
|
||||
on:focus={handleFocus}
|
||||
on:blur={handleBlur}
|
||||
on:mouseenter={handleMouseEnter}
|
||||
on:mouseleave={handleMouseLeave}
|
||||
class="relative flex items-center justify-center overflow-hidden rounded-md border border-neutral-200 dark:border-neutral-800 bg-white dark:bg-neutral-900"
|
||||
>
|
||||
<div
|
||||
class="pointer-events-none absolute transform-gpu -inset-px opacity-0 transition duration-300"
|
||||
style={`
|
||||
opacity: ${opacity};
|
||||
background: radial-gradient(600px circle at ${position.x}px ${position.y}px, rgba(97, 97, 97, 0.1), transparent 40%);
|
||||
`}
|
||||
/>
|
||||
<slot />
|
||||
</article>
|
||||
@@ -0,0 +1,248 @@
|
||||
<script lang="ts">
|
||||
import type { iSVG } from '@/types/svg';
|
||||
import JSZip from 'jszip';
|
||||
import download from 'downloadjs';
|
||||
import { toast } from 'svelte-sonner';
|
||||
import { DownloadIcon } from 'lucide-svelte';
|
||||
import { getSvgContent } from '@/utils/getSvgContent';
|
||||
import {
|
||||
Dialog,
|
||||
DialogTrigger,
|
||||
DialogContent,
|
||||
DialogHeader,
|
||||
DialogTitle,
|
||||
DialogDescription
|
||||
} from '@/ui/dialog';
|
||||
import { buttonStyles } from '@/ui/styles';
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
// Props:
|
||||
export let svgInfo: iSVG;
|
||||
export let isDarkTheme: () => boolean;
|
||||
|
||||
// Shared:
|
||||
let iconStroke = 1.8;
|
||||
let iconSize = 16;
|
||||
let mainDownloadStyles =
|
||||
'flex items-center space-x-2 rounded-md p-2 duration-100 hover:bg-neutral-200 dark:hover:bg-neutral-700/40';
|
||||
let cardDownloadStyles =
|
||||
'flex w-full flex-col p-4 rounded-md shadow-sm dark:bg-neutral-800/20 bg-neutral-200/10 border border-neutral-200 dark:border-neutral-800 space-y-2';
|
||||
|
||||
// Functions:
|
||||
const downloadSvg = (url?: string) => {
|
||||
download(url || '');
|
||||
|
||||
const category = Array.isArray(svgInfo.category)
|
||||
? svgInfo.category.sort().join(' - ')
|
||||
: svgInfo.category;
|
||||
|
||||
toast.success(`Downloading...`, {
|
||||
description: `${svgInfo.title} - ${category}`
|
||||
});
|
||||
};
|
||||
|
||||
// Download all variants:
|
||||
const downloadAllVariants = async ({
|
||||
lightRoute,
|
||||
darkRoute,
|
||||
isWordmark
|
||||
}: {
|
||||
lightRoute: string;
|
||||
darkRoute: string;
|
||||
isWordmark?: boolean;
|
||||
}) => {
|
||||
const zip = new JSZip();
|
||||
|
||||
const lightSvg = await getSvgContent(lightRoute, false);
|
||||
const darkSvg = await getSvgContent(darkRoute, false);
|
||||
|
||||
if (isWordmark) {
|
||||
zip.file(`${svgInfo.title}_wordmark_light.svg`, lightSvg);
|
||||
zip.file(`${svgInfo.title}_wordmark_dark.svg`, darkSvg);
|
||||
} else {
|
||||
zip.file(`${svgInfo.title}_light.svg`, lightSvg);
|
||||
zip.file(`${svgInfo.title}_dark.svg`, darkSvg);
|
||||
}
|
||||
|
||||
zip.generateAsync({ type: 'blob' }).then((content) => {
|
||||
download(
|
||||
content,
|
||||
isWordmark ? `${svgInfo.title}_wordmark_light_dark.zip` : `${svgInfo.title}_light_dark.zip`,
|
||||
'application/zip'
|
||||
);
|
||||
});
|
||||
|
||||
const category = Array.isArray(svgInfo.category)
|
||||
? svgInfo.category.sort().join(' - ')
|
||||
: svgInfo.category;
|
||||
|
||||
toast.success('Downloading light & dark variants...', {
|
||||
description: isWordmark
|
||||
? `${svgInfo.title} - Wordmark - ${category}`
|
||||
: `${svgInfo.title} - ${category}`
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
{#if typeof svgInfo.route === 'string'}
|
||||
<button
|
||||
title="Download Light & Dark variants"
|
||||
class={mainDownloadStyles}
|
||||
on:click={() => {
|
||||
if (typeof svgInfo.route === 'string') {
|
||||
downloadSvg(svgInfo.route);
|
||||
return;
|
||||
}
|
||||
}}
|
||||
>
|
||||
<DownloadIcon size={iconSize} strokeWidth={iconStroke} />
|
||||
</button>
|
||||
{:else}
|
||||
<Dialog>
|
||||
<DialogTrigger title="Download SVG" class={mainDownloadStyles}>
|
||||
<DownloadIcon size={iconSize} strokeWidth={iconStroke} />
|
||||
</DialogTrigger>
|
||||
<DialogContent class="max-w-[630px]">
|
||||
<DialogHeader>
|
||||
<DialogTitle>Download {svgInfo.title}</DialogTitle>
|
||||
<DialogDescription>This logo has multiple options to download.</DialogDescription>
|
||||
</DialogHeader>
|
||||
|
||||
<div
|
||||
class={cn(
|
||||
'flex flex-col space-y-2 mt-4 h-full',
|
||||
'md:space-y-0 md:flex-row md:space-x-2 md:items-center md:justify-center'
|
||||
)}
|
||||
>
|
||||
<div class={cardDownloadStyles}>
|
||||
<img
|
||||
src={isDarkTheme() ? svgInfo.route.dark : svgInfo.route.light}
|
||||
alt={svgInfo.title}
|
||||
class="h-10 my-4"
|
||||
/>
|
||||
<button
|
||||
title="Logo with light & dark variants"
|
||||
class={buttonStyles}
|
||||
on:click={() => {
|
||||
if (typeof svgInfo.route !== 'string') {
|
||||
downloadAllVariants({
|
||||
lightRoute: svgInfo.route.light,
|
||||
darkRoute: svgInfo.route.dark
|
||||
});
|
||||
}
|
||||
}}
|
||||
>
|
||||
<DownloadIcon size={iconSize} />
|
||||
<p>Light & dark variants</p>
|
||||
</button>
|
||||
|
||||
<button
|
||||
title="Download light variant"
|
||||
class={buttonStyles}
|
||||
on:click={() => {
|
||||
if (typeof svgInfo.route !== 'string') {
|
||||
downloadSvg(svgInfo.route.light);
|
||||
return;
|
||||
}
|
||||
}}
|
||||
>
|
||||
<DownloadIcon class="mr-2" size={iconSize} />
|
||||
Only light variant
|
||||
</button>
|
||||
|
||||
<button
|
||||
title="Download dark variant"
|
||||
class={buttonStyles}
|
||||
on:click={() => {
|
||||
if (typeof svgInfo.route !== 'string') {
|
||||
downloadSvg(svgInfo.route.dark);
|
||||
return;
|
||||
}
|
||||
}}
|
||||
>
|
||||
<DownloadIcon class="mr-2" size={iconSize} />
|
||||
Only dark variant
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{#if typeof svgInfo.wordmark === 'string' && svgInfo.wordmark !== undefined}
|
||||
<div class={cardDownloadStyles}>
|
||||
<img
|
||||
src={isDarkTheme() ? svgInfo.wordmark : svgInfo.wordmark}
|
||||
alt={svgInfo.title}
|
||||
class="h-8 my-4"
|
||||
/>
|
||||
<button
|
||||
title="Download Wordmark logo"
|
||||
class={buttonStyles}
|
||||
on:click={() => {
|
||||
if (typeof svgInfo.wordmark === 'string') {
|
||||
downloadSvg(svgInfo.wordmark);
|
||||
return;
|
||||
}
|
||||
}}
|
||||
>
|
||||
<DownloadIcon class="mr-2" size={iconSize} />
|
||||
<p>Wordmark logo</p>
|
||||
</button>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{#if typeof svgInfo.wordmark !== 'string' && svgInfo.wordmark !== undefined}
|
||||
<div class={cardDownloadStyles}>
|
||||
<img
|
||||
src={isDarkTheme() ? svgInfo.wordmark.dark : svgInfo.wordmark.light}
|
||||
alt={svgInfo.title}
|
||||
class="h-10 my-4"
|
||||
/>
|
||||
<button
|
||||
title="Download Wordmark light variant"
|
||||
class={buttonStyles}
|
||||
on:click={() => {
|
||||
if (typeof svgInfo.wordmark !== 'string') {
|
||||
downloadAllVariants({
|
||||
lightRoute: svgInfo.wordmark?.light || '',
|
||||
darkRoute: svgInfo.wordmark?.dark || '',
|
||||
isWordmark: true
|
||||
});
|
||||
return;
|
||||
}
|
||||
}}
|
||||
>
|
||||
<DownloadIcon class="mr-2" size={iconSize} />
|
||||
Light & dark variants
|
||||
</button>
|
||||
|
||||
<button
|
||||
title="Download Wordmark light variant"
|
||||
class={buttonStyles}
|
||||
on:click={() => {
|
||||
if (typeof svgInfo.wordmark !== 'string') {
|
||||
downloadSvg(svgInfo.wordmark?.light);
|
||||
return;
|
||||
}
|
||||
}}
|
||||
>
|
||||
<DownloadIcon class="mr-2" size={iconSize} />
|
||||
Wordmark light variant
|
||||
</button>
|
||||
|
||||
<button
|
||||
title="Download Wordmark dark variant"
|
||||
class={buttonStyles}
|
||||
on:click={() => {
|
||||
if (typeof svgInfo.wordmark !== 'string') {
|
||||
downloadSvg(svgInfo.wordmark?.dark);
|
||||
return;
|
||||
}
|
||||
}}
|
||||
>
|
||||
<DownloadIcon class="mr-2" size={iconSize} />
|
||||
Wordmark dark variant
|
||||
</button>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</DialogContent>
|
||||
</Dialog>
|
||||
{/if}
|
||||
@@ -0,0 +1,34 @@
|
||||
<script lang="ts">
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
type methodType = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
||||
|
||||
export let method: methodType;
|
||||
export let title: string;
|
||||
export let description: string;
|
||||
</script>
|
||||
|
||||
<div class={cn('border-2 border-neutral-100 dark:border-neutral-800 rounded-lg', 'p-4 mb-2')}>
|
||||
<div class="flex items-center space-x-4 mb-4">
|
||||
<p
|
||||
class={cn(
|
||||
'm-0 rounded-md font-medium px-1.5 py-0.5 text-sm leading-5 select-none',
|
||||
method === 'GET' &&
|
||||
' text-green-600 dark:text-green-500 bg-green-400/20 dark:bg-green-400/20',
|
||||
method === 'POST' && ' text-blue-600 dark:text-blue-500 bg-blue-400/20 dark:bg-blue-400/20',
|
||||
method === 'PUT' &&
|
||||
' text-yellow-600 dark:text-yellow-500 bg-yellow-400/20 dark:bg-yellow-400/20',
|
||||
method === 'PATCH' &&
|
||||
' text-yellow-600 dark:text-yellow-500 bg-yellow-400/20 dark:bg-yellow-400/20',
|
||||
method === 'DELETE' && ' text-red-600 dark:text-red-500 bg-red-400/20 dark:bg-red-400/20'
|
||||
)}
|
||||
>
|
||||
{method}
|
||||
</p>
|
||||
<div class="flex flex-col space-y-0 m-0">
|
||||
<h3 class="m-0 font-medium">{title}</h3>
|
||||
<p class="mb-0 font-mono text-sm">{description}</p>
|
||||
</div>
|
||||
</div>
|
||||
<slot />
|
||||
</div>
|
||||
@@ -0,0 +1,15 @@
|
||||
<script lang="ts">
|
||||
export let iconSize: number;
|
||||
</script>
|
||||
|
||||
<svg
|
||||
width={iconSize || 16}
|
||||
height={iconSize || 16}
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
><path
|
||||
d="M128.001 0C57.317 0 0 57.307 0 128.001c0 56.554 36.676 104.535 87.535 121.46 6.397 1.185 8.746-2.777 8.746-6.158 0-3.052-.12-13.135-.174-23.83-35.61 7.742-43.124-15.103-43.124-15.103-5.823-14.795-14.213-18.73-14.213-18.73-11.613-7.944.876-7.78.876-7.78 12.853.902 19.621 13.19 19.621 13.19 11.417 19.568 29.945 13.911 37.249 10.64 1.149-8.272 4.466-13.92 8.127-17.116-28.431-3.236-58.318-14.212-58.318-63.258 0-13.975 5-25.394 13.188-34.358-1.329-3.224-5.71-16.242 1.24-33.874 0 0 10.749-3.44 35.21 13.121 10.21-2.836 21.16-4.258 32.038-4.307 10.878.049 21.837 1.47 32.066 4.307 24.431-16.56 35.165-13.12 35.165-13.12 6.967 17.63 2.584 30.65 1.255 33.873 8.207 8.964 13.173 20.383 13.173 34.358 0 49.163-29.944 59.988-58.447 63.157 4.591 3.972 8.682 11.762 8.682 23.704 0 17.126-.148 30.91-.148 35.126 0 3.407 2.304 7.398 8.792 6.14C219.37 232.5 256 184.537 256 128.002 256 57.307 198.691 0 128.001 0Zm-80.06 182.34c-.282.636-1.283.827-2.194.39-.929-.417-1.45-1.284-1.15-1.922.276-.655 1.279-.838 2.205-.399.93.418 1.46 1.293 1.139 1.931Zm6.296 5.618c-.61.566-1.804.303-2.614-.591-.837-.892-.994-2.086-.375-2.66.63-.566 1.787-.301 2.626.591.838.903 1 2.088.363 2.66Zm4.32 7.188c-.785.545-2.067.034-2.86-1.104-.784-1.138-.784-2.503.017-3.05.795-.547 2.058-.055 2.861 1.075.782 1.157.782 2.522-.019 3.08Zm7.304 8.325c-.701.774-2.196.566-3.29-.49-1.119-1.032-1.43-2.496-.726-3.27.71-.776 2.213-.558 3.315.49 1.11 1.03 1.45 2.505.701 3.27Zm9.442 2.81c-.31 1.003-1.75 1.459-3.199 1.033-1.448-.439-2.395-1.613-2.103-2.626.301-1.01 1.747-1.484 3.207-1.028 1.446.436 2.396 1.602 2.095 2.622Zm10.744 1.193c.036 1.055-1.193 1.93-2.715 1.95-1.53.034-2.769-.82-2.786-1.86 0-1.065 1.202-1.932 2.733-1.958 1.522-.03 2.768.818 2.768 1.868Zm10.555-.405c.182 1.03-.875 2.088-2.387 2.37-1.485.271-2.861-.365-3.05-1.386-.184-1.056.893-2.114 2.376-2.387 1.514-.263 2.868.356 3.061 1.403Z"
|
||||
fill="#121212"
|
||||
/>
|
||||
</svg>
|
||||
@@ -0,0 +1,60 @@
|
||||
<svg
|
||||
width="30"
|
||||
name="SVGL Logo"
|
||||
viewBox="0 0 512 512"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
class=""
|
||||
><rect
|
||||
id="r4"
|
||||
width="512"
|
||||
height="512"
|
||||
x="0"
|
||||
y="0"
|
||||
rx="128"
|
||||
fill="#222"
|
||||
stroke="#FFFFFF"
|
||||
stroke-width="0"
|
||||
stroke-opacity="100%"
|
||||
paint-order="stroke"
|
||||
></rect><rect
|
||||
width="512"
|
||||
height="512"
|
||||
x="0"
|
||||
y="0"
|
||||
fill="url(#r6)"
|
||||
rx="128"
|
||||
style="mix-blend-mode: overlay;"
|
||||
></rect><clipPath id="clip"><use xlink:href="#r4"></use></clipPath><defs
|
||||
><linearGradient
|
||||
id="r5"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="rotate(135)"
|
||||
style="transform-origin: center center;"
|
||||
><stop stop-color="#222"></stop><stop offset="1" stop-color="#222222"></stop></linearGradient
|
||||
><radialGradient
|
||||
id="r6"
|
||||
cx="0"
|
||||
cy="0"
|
||||
r="1"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(256) rotate(90) scale(512)"
|
||||
><stop stop-color="white"></stop><stop offset="1" stop-color="white" stop-opacity="0"
|
||||
></stop></radialGradient
|
||||
></defs
|
||||
><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="310"
|
||||
height="310"
|
||||
fill="#e8e8e8"
|
||||
viewBox="0 0 256 256"
|
||||
x="101"
|
||||
y="101"
|
||||
alignment-baseline="middle"
|
||||
style="color: rgb(255, 255, 255);"
|
||||
><path
|
||||
d="M168,32H88A56.06,56.06,0,0,0,32,88v80a56.06,56.06,0,0,0,56,56h48a8.07,8.07,0,0,0,2.53-.41c26.23-8.75,76.31-58.83,85.06-85.06A8.07,8.07,0,0,0,224,136V88A56.06,56.06,0,0,0,168,32ZM48,168V88A40,40,0,0,1,88,48h80a40,40,0,0,1,40,40v40H184a56.06,56.06,0,0,0-56,56v24H88A40,40,0,0,1,48,168Zm96,35.14V184a40,40,0,0,1,40-40h19.14C191,163.5,163.5,191,144,203.14Z"
|
||||
></path></svg
|
||||
></svg
|
||||
>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1,124 @@
|
||||
<script lang="ts">
|
||||
export let currentPath: string;
|
||||
|
||||
import { cn } from '@/utils/cn';
|
||||
import Logo from './logo.svelte';
|
||||
import Theme from './theme.svelte';
|
||||
|
||||
import { ArrowUpRight, CloudyIcon, GithubIcon } from 'lucide-svelte';
|
||||
import XIcon from './xIcon.svelte';
|
||||
|
||||
// Se le pusieron aria-labels a los links
|
||||
const socials = [
|
||||
{
|
||||
name: 'GitHub',
|
||||
url: 'https://github.com/pheralb/svgl',
|
||||
icon: GithubIcon
|
||||
}
|
||||
];
|
||||
|
||||
const externalLinks = [
|
||||
{
|
||||
name: 'API',
|
||||
url: '/api',
|
||||
icon: CloudyIcon,
|
||||
external: false,
|
||||
label: "Go to the SVGL's API section"
|
||||
},
|
||||
{
|
||||
name: 'Extensions',
|
||||
url: 'https://github.com/pheralb/svgl?tab=readme-ov-file#-extensions',
|
||||
icon: ArrowUpRight,
|
||||
external: true,
|
||||
label: "Go to the SVGL's extensions section"
|
||||
},
|
||||
{
|
||||
name: 'Submit logo',
|
||||
url: 'https://github.com/pheralb/svgl#-getting-started',
|
||||
icon: ArrowUpRight,
|
||||
external: true,
|
||||
label: "Submit logo and go to the SVGL's getting started section"
|
||||
}
|
||||
];
|
||||
</script>
|
||||
|
||||
<nav
|
||||
class={cn(
|
||||
'dark:bg-neutral-900 bg-white',
|
||||
'w-full px-5 py-4 border-b border-neutral-200 dark:border-neutral-800',
|
||||
'sticky top-0 z-50',
|
||||
'backdrop-blur-md opacity-95'
|
||||
)}
|
||||
>
|
||||
<!-- Se le puso un aria-label al href="/" -->
|
||||
<div class="flex items-center justify-between mx-auto">
|
||||
<div class="flex items-center space-x-2">
|
||||
<a href="/" aria-label="Go to the SVGL v4.1 home page">
|
||||
<div class="flex items-center space-x-2 opacity-80 hover:opacity-100 transition-opacity">
|
||||
<svelte:component this={Logo} />
|
||||
<span class="text-[19px] font-medium tracking-wide hidden md:block">svgl</span>
|
||||
<p class="text-neutral-400 hidden md:block font-mono">v4.1</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="flex items-center space-x-0 md:space-x-7">
|
||||
<div
|
||||
class="flex items-center md:space-x-4 divide-x divide-neutral-300 dark:divide-neutral-700"
|
||||
>
|
||||
{#each externalLinks as link}
|
||||
<a
|
||||
href={link.url}
|
||||
target={link.external ? '_blank' : ''}
|
||||
aria-label={link.label ?? link.name}
|
||||
class={cn(
|
||||
'flex items-center opacity-80 hover:opacity-100 transition-opacity text-[15px] pl-2 md:pl-3 group',
|
||||
currentPath === link.url &&
|
||||
'underline underline-offset-8 decoration-dotted decoration-neutral-500'
|
||||
)}
|
||||
>
|
||||
{#if !link.external}
|
||||
<svelte:component
|
||||
this={link.icon}
|
||||
size={16}
|
||||
strokeWidth={1.5}
|
||||
class="mr-2"
|
||||
name={link.name}
|
||||
/>
|
||||
{/if}
|
||||
<span class={cn('hidden md:block', !link.external && 'block')}>{link.name}</span>
|
||||
{#if link.external}
|
||||
<svelte:component
|
||||
this={link.icon}
|
||||
size={16}
|
||||
name="External link"
|
||||
strokeWidth={1.5}
|
||||
class="ml-1 transition-transform duration-300 group-hover:-translate-y-[1px] group-hover:translate-x-[1px] hidden md:block"
|
||||
/>
|
||||
{/if}
|
||||
</a>
|
||||
{/each}
|
||||
</div>
|
||||
<div class="flex items-center space-x-4">
|
||||
<a
|
||||
href="https://twitter.com/pheralb_"
|
||||
target="_blank"
|
||||
class="flex items-center space-x-1 opacity-80 hover:opacity-100 transition-opacity"
|
||||
title="Twitter"
|
||||
>
|
||||
<XIcon iconSize={16} />
|
||||
</a>
|
||||
{#each socials as social}
|
||||
<a
|
||||
href={social.url}
|
||||
target="_blank"
|
||||
class="flex items-center space-x-1 opacity-80 hover:opacity-100 transition-opacity"
|
||||
title={social.name}
|
||||
>
|
||||
<svelte:component this={social.icon} size={20} strokeWidth={1.5} name={social.name} />
|
||||
</a>
|
||||
{/each}
|
||||
<Theme />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -0,0 +1,29 @@
|
||||
<script lang="ts">
|
||||
import { buttonStyles } from '@/ui/styles';
|
||||
export let notFoundTerm: string;
|
||||
import { PackageOpen, ArrowUpRight } from 'lucide-svelte';
|
||||
</script>
|
||||
|
||||
<div class="mt-6 flex w-full flex-col items-center justify-center text-gray-600 dark:text-gray-400">
|
||||
<PackageOpen size={40} class="mb-4" />
|
||||
<p class="text-xl mb-1 font-medium">Couldn't find the Icon</p>
|
||||
<p class="text-md mb-4 font-mono">"{notFoundTerm}"</p>
|
||||
<div class="flex items-center space-x-1">
|
||||
<a
|
||||
href="https://github.com/pheralb/svgl?tab=readme-ov-file#-getting-started"
|
||||
target="_blank"
|
||||
class={buttonStyles}
|
||||
>
|
||||
<span>Submit logo</span>
|
||||
<ArrowUpRight size={16} />
|
||||
</a>
|
||||
<a
|
||||
href="https://github.com/pheralb/svgl/issues/new?assignees=pheralb&labels=request&projects=&template=request-svg-.md&title=%5BRequest%5D%3A"
|
||||
target="_blank"
|
||||
class={buttonStyles}
|
||||
>
|
||||
<span>Request Icon</span>
|
||||
<ArrowUpRight size={16} />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,21 +1,65 @@
|
||||
<script lang="ts">
|
||||
import { inputStyles } from '@/ui/styles';
|
||||
import { Command, SearchIcon } from 'lucide-svelte';
|
||||
export let searchTerm: string;
|
||||
export let placeholder: string = 'Search...';
|
||||
import MagnifyingGlass from 'phosphor-svelte/lib/MagnifyingGlass';
|
||||
export let clearSearch: () => void;
|
||||
import { X } from 'lucide-svelte';
|
||||
|
||||
let inputElement;
|
||||
|
||||
function focusInput(node: HTMLElement) {
|
||||
const handleKeydown = (event: KeyboardEvent) => {
|
||||
if ((event.metaKey || event.ctrlKey) && event.key === 'k') {
|
||||
event.preventDefault();
|
||||
node.focus();
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('keydown', handleKeydown);
|
||||
|
||||
return {
|
||||
destroy() {
|
||||
window.removeEventListener('keydown', handleKeydown);
|
||||
}
|
||||
};
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="relative w-full">
|
||||
<div class="absolute inset-y-0 left-0 flex items-center pl-3 text-neutral-500">
|
||||
<div class="pointer-events-none">
|
||||
<MagnifyingGlass size={18} weight={searchTerm ? 'duotone' : 'regular'} />
|
||||
<div class="sticky top-[63px] z-50">
|
||||
<div class="relative w-full text-[16px]">
|
||||
<div class="absolute inset-y-0 left-0 flex items-center pl-3 text-neutral-500">
|
||||
<div class="pointer-events-none">
|
||||
<SearchIcon size={20} strokeWidth={searchTerm ? 2.5 : 1.5} />
|
||||
</div>
|
||||
</div>
|
||||
<input
|
||||
type="text"
|
||||
{placeholder}
|
||||
autocomplete="off"
|
||||
class={inputStyles}
|
||||
bind:value={searchTerm}
|
||||
on:input
|
||||
use:focusInput
|
||||
bind:this={inputElement}
|
||||
/>
|
||||
{#if searchTerm.length > 0}
|
||||
<div class="absolute inset-y-0 right-0 flex items-center pr-3">
|
||||
<button
|
||||
type="button"
|
||||
class="focus:outline-none focus:ring-1 focus:ring-neutral-300"
|
||||
on:click={clearSearch}
|
||||
>
|
||||
<X size={18} />
|
||||
</button>
|
||||
</div>
|
||||
{:else}
|
||||
<div class="absolute inset-y-0 right-0 flex items-center pr-4 text-neutral-500">
|
||||
<div class="flex h-full items-center pointer-events-none gap-x-1 font-mono">
|
||||
<Command size={16} />
|
||||
<span>K</span>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
<input
|
||||
type="text"
|
||||
{placeholder}
|
||||
autocomplete="off"
|
||||
class="w-full rounded-md border border-neutral-300 bg-neutral-200/50 p-3 pl-10 placeholder-neutral-500 focus:outline-none focus:ring-1 focus:ring-neutral-300 dark:border-neutral-800 dark:bg-neutral-700/10 dark:focus:ring-neutral-700"
|
||||
bind:value={searchTerm}
|
||||
on:input
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -1,31 +1,47 @@
|
||||
<script lang="ts">
|
||||
import download from 'downloadjs';
|
||||
import toast from 'svelte-french-toast';
|
||||
import type { iSVG } from '../types/svg';
|
||||
import { MIMETYPE, getSvgContent } from '../utils/getSvgContent';
|
||||
import { toast } from 'svelte-sonner';
|
||||
|
||||
// Utils:
|
||||
import { cn } from '@/utils/cn';
|
||||
import { MIMETYPE, getSvgContent } from '@/utils/getSvgContent';
|
||||
|
||||
// Icons:
|
||||
import DownloadSimple from 'phosphor-svelte/lib/DownloadSimple';
|
||||
import ArrowUpRight from 'phosphor-svelte/lib/ArrowUpRight';
|
||||
import Copy from 'phosphor-svelte/lib/Copy';
|
||||
import { CopyIcon, LinkIcon, ChevronsRight, Baseline, Sparkles } from 'lucide-svelte';
|
||||
|
||||
// Components & styles:
|
||||
import CardSpotlight from './cardSpotlight.svelte';
|
||||
import DownloadSvg from './downloadSvg.svelte';
|
||||
import { badgeStyles } from '@/ui/styles';
|
||||
|
||||
// Figma
|
||||
import { onMount } from 'svelte';
|
||||
import { copyToClipboard as figmaCopyToClipboard } from '@/figma/copy-to-clipboard';
|
||||
import { insertSVG as figmaInsertSVG } from '@/figma/insert-svg';
|
||||
|
||||
// Props:
|
||||
export let svgInfo: iSVG;
|
||||
|
||||
// Download SVG:
|
||||
const downloadSvg = (url?: string) => {
|
||||
download(url || '');
|
||||
toast('Downloading', {
|
||||
icon: '🎉',
|
||||
style: 'border-radius: 200px; background: #333; color: #fff;'
|
||||
});
|
||||
};
|
||||
let isInFigma = false;
|
||||
onMount(() => {
|
||||
const searchParams = new URLSearchParams(window.location.search);
|
||||
isInFigma = searchParams.get('figma') === '1';
|
||||
});
|
||||
|
||||
// Wordmark SVG:
|
||||
let wordmarkSvg = false;
|
||||
|
||||
// Copy SVG to clipboard:
|
||||
const copyToClipboard = async (url?: string) => {
|
||||
const data = {
|
||||
[MIMETYPE]: getSvgContent(url, true)
|
||||
};
|
||||
|
||||
if (isInFigma) {
|
||||
const content = (await getSvgContent(url, false)) as string;
|
||||
figmaCopyToClipboard(content);
|
||||
}
|
||||
|
||||
try {
|
||||
const clipboardItem = new ClipboardItem(data);
|
||||
await navigator.clipboard.write([clipboardItem]);
|
||||
@@ -33,50 +49,220 @@
|
||||
const content = (await getSvgContent(url, false)) as string;
|
||||
await navigator.clipboard.writeText(content);
|
||||
}
|
||||
toast('Copied to clipboard', {
|
||||
icon: '👏',
|
||||
style: 'border-radius: 200px; background: #333; color: #fff;'
|
||||
|
||||
const category = Array.isArray(svgInfo.category)
|
||||
? svgInfo.category.sort().join(' - ')
|
||||
: svgInfo.category;
|
||||
|
||||
if (isInFigma) {
|
||||
toast.success('Ready to paste in Figma!', {
|
||||
description: `${svgInfo.title} - ${category}`
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (wordmarkSvg) {
|
||||
toast.success('Copied wordmark SVG to clipboard!', {
|
||||
description: `${svgInfo.title} - ${category}`
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
toast.success('Copied to clipboard!', {
|
||||
description: `${svgInfo.title} - ${category}`
|
||||
});
|
||||
};
|
||||
|
||||
const insertSVG = async (url?: string) => {
|
||||
const content = (await getSvgContent(url, false)) as string;
|
||||
figmaInsertSVG(content);
|
||||
};
|
||||
|
||||
// Icon Stroke & Size:
|
||||
let iconStroke = 1.8;
|
||||
let iconSize = 16;
|
||||
</script>
|
||||
|
||||
<div
|
||||
class="flex flex-col items-center justify-center rounded-md border border-neutral-300 bg-neutral-100 p-4 dark:border-neutral-800 dark:bg-neutral-700/10"
|
||||
>
|
||||
<img src={svgInfo.route} alt={svgInfo.title} class="mb-4 mt-2 h-10" />
|
||||
<div class="mb-3 flex flex-col items-center justify-center">
|
||||
<p class="truncate text-[15px] font-medium">{svgInfo.title}</p>
|
||||
<a
|
||||
href={`/directory/${svgInfo.category.toLowerCase()}`}
|
||||
class="text-sm lowercase text-neutral-500 hover:underline">{svgInfo.category}</a
|
||||
>
|
||||
<CardSpotlight>
|
||||
<div class="flex flex-col items-center justify-center rounded-md p-4">
|
||||
<!-- Image -->
|
||||
{#if wordmarkSvg == true}
|
||||
<img
|
||||
class="hidden dark:block mb-4 mt-2 h-10"
|
||||
src={typeof svgInfo.wordmark !== 'string'
|
||||
? svgInfo.wordmark?.dark || ''
|
||||
: svgInfo.wordmark || ''}
|
||||
alt={svgInfo.title}
|
||||
title={svgInfo.title}
|
||||
loading="lazy"
|
||||
/>
|
||||
<img
|
||||
class="block dark:hidden mb-4 mt-2 h-10"
|
||||
src={typeof svgInfo.wordmark !== 'string'
|
||||
? svgInfo.wordmark?.light || ''
|
||||
: svgInfo.wordmark || ''}
|
||||
alt={svgInfo.title}
|
||||
title={svgInfo.title}
|
||||
loading="lazy"
|
||||
/>
|
||||
{:else}
|
||||
<img
|
||||
class={cn('hidden dark:block mb-4 mt-2 h-10')}
|
||||
src={typeof svgInfo.route !== 'string' ? svgInfo.route.dark : svgInfo.route}
|
||||
alt={svgInfo.title}
|
||||
title={svgInfo.title}
|
||||
loading="lazy"
|
||||
/>
|
||||
<img
|
||||
class={cn('block dark:hidden mb-4 mt-2 h-10')}
|
||||
src={typeof svgInfo.route !== 'string' ? svgInfo.route.light : svgInfo.route}
|
||||
alt={svgInfo.title}
|
||||
title={svgInfo.title}
|
||||
loading="lazy"
|
||||
/>
|
||||
{/if}
|
||||
<!-- Title -->
|
||||
<div class="mb-3 flex flex-col space-y-1 items-center justify-center">
|
||||
<p class="truncate text-[15px] font-medium text-balance text-center select-all">
|
||||
{svgInfo.title}
|
||||
</p>
|
||||
<div class="flex items-center space-x-1 justify-center">
|
||||
{#if Array.isArray(svgInfo.category)}
|
||||
{#each svgInfo.category.sort() as c, index}
|
||||
<a href={`/directory/${c.toLowerCase()}`} class={badgeStyles}>{c} </a>
|
||||
{/each}
|
||||
{:else}
|
||||
<a href={`/directory/${svgInfo.category.toLowerCase()}`} class={badgeStyles}>
|
||||
{svgInfo.category}
|
||||
</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<!-- Actions -->
|
||||
<div class="flex items-center space-x-1">
|
||||
{#if isInFigma}
|
||||
<button
|
||||
title="Insert to figma"
|
||||
on:click={() => {
|
||||
const svgHasTheme = typeof svgInfo.route !== 'string';
|
||||
|
||||
if (!svgHasTheme) {
|
||||
insertSVG(
|
||||
typeof svgInfo.route === 'string'
|
||||
? svgInfo.route
|
||||
: "Something went wrong. Couldn't copy the SVG."
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const dark = document.documentElement.classList.contains('dark');
|
||||
|
||||
insertSVG(
|
||||
typeof svgInfo.route !== 'string'
|
||||
? dark
|
||||
? svgInfo.route.dark
|
||||
: svgInfo.route.light
|
||||
: svgInfo.route
|
||||
);
|
||||
}}
|
||||
class="flex items-center space-x-2 rounded-md p-2 duration-100 hover:bg-neutral-200 dark:hover:bg-neutral-700/40"
|
||||
>
|
||||
<ChevronsRight size={iconSize} strokeWidth={iconStroke} />
|
||||
</button>
|
||||
{/if}
|
||||
|
||||
{#if wordmarkSvg}
|
||||
<button
|
||||
title="Copy wordmark SVG to clipboard"
|
||||
on:click={() => {
|
||||
const svgHasTheme = typeof svgInfo.wordmark !== 'string';
|
||||
|
||||
if (!svgHasTheme) {
|
||||
copyToClipboard(
|
||||
typeof svgInfo.wordmark === 'string'
|
||||
? svgInfo.wordmark
|
||||
: "Something went wrong. Couldn't copy the SVG."
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const dark = document.documentElement.classList.contains('dark');
|
||||
|
||||
copyToClipboard(
|
||||
typeof svgInfo.wordmark !== 'string'
|
||||
? dark
|
||||
? svgInfo.wordmark?.dark
|
||||
: svgInfo.wordmark?.light
|
||||
: svgInfo.wordmark
|
||||
);
|
||||
}}
|
||||
class="flex items-center space-x-2 rounded-md p-2 duration-100 hover:bg-neutral-200 dark:hover:bg-neutral-700/40"
|
||||
>
|
||||
<CopyIcon size={iconSize} strokeWidth={iconStroke} />
|
||||
</button>
|
||||
{:else}
|
||||
<button
|
||||
title="Copy to clipboard"
|
||||
on:click={() => {
|
||||
const svgHasTheme = typeof svgInfo.route !== 'string';
|
||||
|
||||
if (!svgHasTheme) {
|
||||
copyToClipboard(
|
||||
typeof svgInfo.route === 'string'
|
||||
? svgInfo.route
|
||||
: "Something went wrong. Couldn't copy the SVG."
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const dark = document.documentElement.classList.contains('dark');
|
||||
|
||||
copyToClipboard(
|
||||
typeof svgInfo.route !== 'string'
|
||||
? dark
|
||||
? svgInfo.route.dark
|
||||
: svgInfo.route.light
|
||||
: svgInfo.route
|
||||
);
|
||||
}}
|
||||
class="flex items-center space-x-2 rounded-md p-2 duration-100 hover:bg-neutral-200 dark:hover:bg-neutral-700/40"
|
||||
>
|
||||
<CopyIcon size={iconSize} strokeWidth={iconStroke} />
|
||||
</button>
|
||||
{/if}
|
||||
|
||||
<DownloadSvg
|
||||
{svgInfo}
|
||||
isDarkTheme={() => {
|
||||
const dark = document.documentElement.classList.contains('dark');
|
||||
return dark;
|
||||
}}
|
||||
/>
|
||||
|
||||
<a
|
||||
href={svgInfo.url}
|
||||
title="Website"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="flex items-center space-x-2 rounded-md p-2 duration-100 hover:bg-neutral-200 dark:hover:bg-neutral-700/40"
|
||||
>
|
||||
<LinkIcon size={iconSize} strokeWidth={iconStroke} />
|
||||
</a>
|
||||
{#if svgInfo.wordmark !== undefined}
|
||||
<button
|
||||
title="Show wordmark SVG"
|
||||
on:click={() => {
|
||||
wordmarkSvg = !wordmarkSvg;
|
||||
}}
|
||||
class="flex items-center space-x-2 rounded-md p-2 duration-100 hover:bg-neutral-200 dark:hover:bg-neutral-700/40"
|
||||
>
|
||||
{#if wordmarkSvg}
|
||||
<Sparkles size={iconSize} strokeWidth={iconStroke} />
|
||||
{:else}
|
||||
<Baseline size={iconSize} strokeWidth={iconStroke} />
|
||||
{/if}
|
||||
</button>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center space-x-1">
|
||||
<button
|
||||
title="Copy to clipboard"
|
||||
on:click={() => {
|
||||
copyToClipboard(svgInfo.route);
|
||||
}}
|
||||
class="flex items-center space-x-2 rounded-md p-2 duration-100 hover:bg-neutral-300 dark:hover:bg-neutral-700/40"
|
||||
>
|
||||
<Copy size={17} />
|
||||
</button>
|
||||
<button
|
||||
title="Download"
|
||||
on:click={() => {
|
||||
downloadSvg(svgInfo.route);
|
||||
}}
|
||||
class="flex items-center space-x-2 rounded-md p-2 duration-100 hover:bg-neutral-300 dark:hover:bg-neutral-700/40"
|
||||
>
|
||||
<DownloadSimple size={17} />
|
||||
</button>
|
||||
<a
|
||||
href={svgInfo.url}
|
||||
title="Website"
|
||||
target="_blank"
|
||||
class="flex items-center space-x-2 rounded-md p-2 duration-100 hover:bg-neutral-300 dark:hover:bg-neutral-700/40"
|
||||
>
|
||||
<ArrowUpRight size={17} />
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</CardSpotlight>
|
||||
|
||||
@@ -35,12 +35,10 @@
|
||||
}
|
||||
|
||||
// Icons:
|
||||
import Moon from 'phosphor-svelte/lib/Moon';
|
||||
import Sun from 'phosphor-svelte/lib/Sun';
|
||||
import { MoonIcon, SunIcon } from 'lucide-svelte';
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<!-- set dark mode class based on user preference / device settings (in head to avoid FOUC) -->
|
||||
<script>
|
||||
if (
|
||||
localStorage.theme === 'dark' ||
|
||||
@@ -53,11 +51,11 @@
|
||||
</script>
|
||||
</svelte:head>
|
||||
|
||||
<button on:click={toggle} class="focus:outline-none" class:hidden>
|
||||
<button on:click={toggle} aria-label="Toggle dark mode" class="opacity-80 hover:opacity-100">
|
||||
<!-- moon icon -->
|
||||
{#if dark}
|
||||
<Sun size={18} />
|
||||
<SunIcon size={20} strokeWidth={1.5} />
|
||||
{:else}
|
||||
<Moon size={18} />
|
||||
<MoonIcon size={20} strokeWidth={1.5} />
|
||||
{/if}
|
||||
</button>
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
<script lang="ts">
|
||||
import { AlertTriangleIcon, Check } from 'lucide-svelte';
|
||||
import { browser } from '$app/environment';
|
||||
import { buttonStyles } from '@/ui/styles';
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
let warning = false;
|
||||
const initialValue = browser ? window.localStorage.getItem('warning') : true;
|
||||
</script>
|
||||
|
||||
{#if !warning && !initialValue}
|
||||
<div
|
||||
class="flex items-center w-full justify-between md:flex-row flex-col md:space-x-2 space-x-0 space-y-2 md:space-y-0 py-2 px-3 bg-neutral-100 dark:bg-neutral-800/40 text-neutral-700 dark:text-neutral-300"
|
||||
>
|
||||
<div class="flex items-center space-x-2">
|
||||
<AlertTriangleIcon size={18} strokeWidth={2} class="mr-1" />
|
||||
<p>
|
||||
All svgs provides the link to the product or company that owns it, <strong
|
||||
>please contact them</strong
|
||||
>
|
||||
if you are going to use their logo. If you are the owner of an svg and do not want it to appear
|
||||
here, please
|
||||
<a
|
||||
target="_blank"
|
||||
class="underline underline-offset-4 decoration-dotted decoration-neutral-500"
|
||||
href="https://github.com/pheralb/svgl/issues/new">create an issue</a
|
||||
> on Github.
|
||||
</p>
|
||||
</div>
|
||||
<button
|
||||
class={cn(buttonStyles, 'h-10 text-sm')}
|
||||
on:click={() => {
|
||||
localStorage.setItem('warning', 'true');
|
||||
warning = true;
|
||||
}}
|
||||
>
|
||||
<Check size={14} strokeWidth={2} />
|
||||
<span>Accept</span>
|
||||
</button>
|
||||
</div>
|
||||
{/if}
|
||||
@@ -0,0 +1,16 @@
|
||||
<script lang="ts">
|
||||
export let iconSize: number;
|
||||
</script>
|
||||
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width={iconSize || 16}
|
||||
height={iconSize || 16}
|
||||
name="Twitter"
|
||||
fill="none"
|
||||
viewBox="0 0 1200 1227"
|
||||
><path
|
||||
fill="currentColor"
|
||||
d="M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z"
|
||||
/>
|
||||
</svg>
|
||||
@@ -0,0 +1,6 @@
|
||||
import type { iSVG } from '@/types/svg';
|
||||
import { svgs } from './svgs';
|
||||
|
||||
export const svgsData = svgs.map((svg: iSVG, index: number) => {
|
||||
return { id: index, ...svg };
|
||||
});
|
||||
@@ -2,1095 +2,2404 @@ import type { iSVG } from '../types/svg';
|
||||
|
||||
export const svgs: iSVG[] = [
|
||||
{
|
||||
id: 1,
|
||||
title: 'Discord',
|
||||
category: 'Software',
|
||||
route: '/library/discord.svg',
|
||||
url: 'https://discord.com/'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: 'Github',
|
||||
category: 'Software',
|
||||
route: '/library/github.svg',
|
||||
url: 'https://github.com/'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: 'Preact',
|
||||
category: 'Library',
|
||||
route: '/library/preact.svg',
|
||||
url: 'https://preactjs.com/'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
title: 'React',
|
||||
category: 'Library',
|
||||
route: '/library/react.svg',
|
||||
url: 'https://reactjs.org/'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
title: 'Vercel',
|
||||
category: 'Hosting',
|
||||
route: '/library/vercel.svg',
|
||||
route: {
|
||||
light: '/library/vercel.svg',
|
||||
dark: '/library/vercel_dark.svg'
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/vercel_wordmark.svg',
|
||||
dark: '/library/vercel_wordmark_dark.svg'
|
||||
},
|
||||
url: 'https://vercel.com/'
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
title: 'Svelte',
|
||||
category: 'Library',
|
||||
route: '/library/svelte.svg',
|
||||
url: 'https://svelte.dev/'
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
title: 'Vue',
|
||||
category: 'Framework',
|
||||
route: '/library/vue.svg',
|
||||
url: 'https://vuejs.org/'
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
title: 'Vuetify',
|
||||
category: 'Library',
|
||||
route: '/library/vuetify.svg',
|
||||
url: 'https://vuetifyjs.com/'
|
||||
},
|
||||
{
|
||||
title: 'Nuxt',
|
||||
category: 'Framework',
|
||||
route: '/library/nuxt.svg',
|
||||
url: 'https://nuxtjs.org/'
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
title: 'Nextjs',
|
||||
title: 'Next.js',
|
||||
category: 'Framework',
|
||||
route: '/library/nextjs.svg',
|
||||
url: 'https://nextjs.org/'
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
title: 'Visual Studio Code',
|
||||
category: 'Software',
|
||||
route: '/library/vscode.svg',
|
||||
url: 'https://code.visualstudio.com/'
|
||||
},
|
||||
{
|
||||
id: 11,
|
||||
title: 'Ton',
|
||||
category: 'Crypto',
|
||||
route: '/library/ton.svg',
|
||||
url: 'https://ton.org/'
|
||||
},
|
||||
{
|
||||
title: 'Locofy',
|
||||
category: 'AI',
|
||||
route: '/library/locofy.svg',
|
||||
url: 'https://www.locofy.ai/'
|
||||
},
|
||||
{
|
||||
title: 'Runway',
|
||||
category: 'AI',
|
||||
route: '/library/runway.svg',
|
||||
url: 'https://runwayml.com/'
|
||||
},
|
||||
{
|
||||
title: 'Yarn',
|
||||
category: 'Software',
|
||||
route: '/library/yarn.svg',
|
||||
url: 'https://yarnpkg.com/'
|
||||
},
|
||||
{
|
||||
title: 'JWT',
|
||||
category: 'Library',
|
||||
route: '/library/jwt.svg',
|
||||
url: 'https://jwt.io/'
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
title: 'Strapi',
|
||||
category: 'CMS',
|
||||
route: '/library/strapi.svg',
|
||||
url: 'https://strapi.io/'
|
||||
},
|
||||
{
|
||||
id: 13,
|
||||
title: 'Figma',
|
||||
category: 'Software',
|
||||
category: 'Design',
|
||||
route: '/library/figma.svg',
|
||||
url: 'https://www.figma.com/'
|
||||
},
|
||||
{
|
||||
id: 14,
|
||||
title: 'Spotify',
|
||||
category: 'Software',
|
||||
route: '/library/spotify.svg',
|
||||
url: 'https://www.spotify.com/'
|
||||
},
|
||||
{
|
||||
id: 15,
|
||||
title: 'WorkOS',
|
||||
category: 'Software',
|
||||
route: {
|
||||
light: '/library/workos.svg',
|
||||
dark: '/library/workos-light.svg'
|
||||
},
|
||||
url: 'https://workos.com/'
|
||||
},
|
||||
{
|
||||
title: 'Whop',
|
||||
category: 'Marketplace',
|
||||
route: {
|
||||
light: '/library/whop.svg',
|
||||
dark: '/library/whop-light.svg'
|
||||
},
|
||||
url: 'https://whop.com/'
|
||||
},
|
||||
{
|
||||
title: 'Postman',
|
||||
category: 'Software',
|
||||
route: '/library/postman.svg',
|
||||
url: 'https://www.getpostman.com/'
|
||||
},
|
||||
{
|
||||
id: 16,
|
||||
title: 'Discord.js',
|
||||
category: 'Library',
|
||||
route: '/library/djs.svg',
|
||||
url: 'https://discord.js.org/'
|
||||
},
|
||||
{
|
||||
title: 'OpenSea',
|
||||
category: 'Crypto',
|
||||
route: '/library/opensea.svg',
|
||||
url: 'https://opensea.io/'
|
||||
},
|
||||
{
|
||||
title: 'Algolia',
|
||||
category: 'Library',
|
||||
route: '/library/algolia.svg',
|
||||
url: 'https://www.algolia.com/'
|
||||
},
|
||||
{
|
||||
id: 17,
|
||||
title: 'Bootstrap',
|
||||
category: 'Framework',
|
||||
route: '/library/bootstrap.svg',
|
||||
url: 'https://getbootstrap.com/'
|
||||
},
|
||||
{
|
||||
id: 18,
|
||||
title: 'Firebase',
|
||||
category: 'Hosting',
|
||||
route: '/library/firebase.svg',
|
||||
url: 'https://firebase.google.com/'
|
||||
},
|
||||
{
|
||||
id: 19,
|
||||
title: 'Supabase',
|
||||
category: 'Database',
|
||||
route: '/library/supabase.svg',
|
||||
url: 'https://supabase.com/'
|
||||
},
|
||||
{
|
||||
id: 20,
|
||||
title: 'Vite.js',
|
||||
category: 'Compiler',
|
||||
route: '/library/vitejs.svg',
|
||||
url: 'https://vitejs.dev'
|
||||
},
|
||||
{
|
||||
id: 21,
|
||||
title: 'Facebook',
|
||||
category: 'Social',
|
||||
route: '/library/facebook.svg',
|
||||
url: 'https://www.facebook.com/'
|
||||
},
|
||||
{
|
||||
id: 22,
|
||||
title: 'Twitter',
|
||||
category: 'Social',
|
||||
route: '/library/twitter.svg',
|
||||
url: 'https://twitter.com/'
|
||||
},
|
||||
{
|
||||
id: 23,
|
||||
title: 'Node.js',
|
||||
category: 'Library',
|
||||
route: '/library/nodejs.svg',
|
||||
url: 'https://nodejs.org/'
|
||||
},
|
||||
{
|
||||
id: 24,
|
||||
title: 'Esbuild',
|
||||
category: 'Compiler',
|
||||
route: '/library/esbuild.svg',
|
||||
url: 'https://esbuild.github.io/'
|
||||
},
|
||||
{
|
||||
id: 25,
|
||||
title: 'Deno',
|
||||
category: 'Library',
|
||||
route: '/library/deno.svg',
|
||||
route: {
|
||||
light: '/library/deno.svg',
|
||||
dark: '/library/deno_dark.svg'
|
||||
},
|
||||
url: 'https://deno.land/'
|
||||
},
|
||||
{
|
||||
id: 26,
|
||||
title: 'Gatsby',
|
||||
category: 'Framework',
|
||||
route: '/library/gatsby.svg',
|
||||
url: 'https://www.gatsbyjs.org/'
|
||||
},
|
||||
{
|
||||
id: 27,
|
||||
title: 'NPM',
|
||||
category: 'Software',
|
||||
route: '/library/npm.svg',
|
||||
url: 'https://www.npmjs.com/'
|
||||
},
|
||||
{
|
||||
id: 28,
|
||||
title: 'Homebrew',
|
||||
category: 'Software',
|
||||
route: '/library/homebrew.svg',
|
||||
url: 'https://brew.sh/'
|
||||
},
|
||||
{
|
||||
id: 29,
|
||||
title: 'Sublime Text',
|
||||
category: 'Software',
|
||||
route: '/library/sublimetext.svg',
|
||||
url: 'https://www.sublimetext.com/'
|
||||
},
|
||||
{
|
||||
id: 30,
|
||||
title: 'TurboRepo',
|
||||
category: 'Library',
|
||||
route: '/library/turborepo.svg',
|
||||
url: 'https://turborepo.org/'
|
||||
},
|
||||
{
|
||||
id: 31,
|
||||
title: 'Tailwind CSS',
|
||||
category: 'Framework',
|
||||
route: '/library/tailwindcss.svg',
|
||||
url: 'https://tailwindcss.com/'
|
||||
},
|
||||
{
|
||||
id: 32,
|
||||
title: 'Styled Components',
|
||||
category: 'Library',
|
||||
route: '/library/styledcomponents.svg',
|
||||
url: 'https://styled-components.com/'
|
||||
},
|
||||
{
|
||||
id: 33,
|
||||
title: 'Angular',
|
||||
category: 'Framework',
|
||||
route: '/library/angular.svg',
|
||||
url: 'https://angular.io/'
|
||||
url: 'https://angular.dev/'
|
||||
},
|
||||
{
|
||||
id: 34,
|
||||
title: 'Blitz',
|
||||
category: 'Framework',
|
||||
route: '/library/blitzjs.svg',
|
||||
url: 'https://blitzjs.com/'
|
||||
},
|
||||
{
|
||||
id: 35,
|
||||
title: 'Lit',
|
||||
category: 'Library',
|
||||
route: '/library/lit.svg',
|
||||
url: 'https://lit.dev/'
|
||||
},
|
||||
{
|
||||
id: 36,
|
||||
title: 'Atom',
|
||||
category: 'Software',
|
||||
route: '/library/atom.svg',
|
||||
url: 'https://atom.io/'
|
||||
},
|
||||
{
|
||||
id: 37,
|
||||
title: 'YouTube',
|
||||
category: 'Social',
|
||||
route: '/library/youtube.svg',
|
||||
wordmark: '/library/youtube-wordmark.svg',
|
||||
url: 'https://www.youtube.com/'
|
||||
},
|
||||
{
|
||||
id: 38,
|
||||
title: 'Astro',
|
||||
category: 'Framework',
|
||||
route: '/library/astro.svg',
|
||||
route: {
|
||||
light: '/library/astro.svg',
|
||||
dark: '/library/astro_dark.svg'
|
||||
},
|
||||
url: 'https://astro.build/'
|
||||
},
|
||||
{
|
||||
id: 39,
|
||||
title: 'Google',
|
||||
category: 'Social',
|
||||
route: '/library/google.svg',
|
||||
wordmark: '/library/google-wordmark.svg',
|
||||
url: 'https://www.google.com/'
|
||||
},
|
||||
{
|
||||
id: 40,
|
||||
title: 'Framer',
|
||||
category: 'Software',
|
||||
route: '/library/framer.svg',
|
||||
route: {
|
||||
light: '/library/framer.svg',
|
||||
dark: '/library/framer_dark.svg'
|
||||
},
|
||||
url: 'https://framer.com/'
|
||||
},
|
||||
{
|
||||
id: 41,
|
||||
title: 'Netflix',
|
||||
category: 'Entertainment',
|
||||
route: '/library/netflix.svg',
|
||||
url: 'https://www.netflix.com/'
|
||||
},
|
||||
{
|
||||
id: 42,
|
||||
title: 'Firefox',
|
||||
category: 'Software',
|
||||
category: 'Browser',
|
||||
route: '/library/firefox.svg',
|
||||
url: 'https://www.mozilla.org/en-US/firefox/'
|
||||
},
|
||||
{
|
||||
id: 43,
|
||||
title: 'LinkedIn',
|
||||
category: 'Social',
|
||||
route: '/library/linkedin.svg',
|
||||
url: 'https://www.linkedin.com/'
|
||||
},
|
||||
{
|
||||
id: 44,
|
||||
title: 'Telegram',
|
||||
category: 'Social',
|
||||
route: '/library/telegram.svg',
|
||||
url: 'https://web.telegram.org/'
|
||||
},
|
||||
{
|
||||
id: 45,
|
||||
title: 'WhatsApp',
|
||||
category: 'Social',
|
||||
route: '/library/whatsapp.svg',
|
||||
url: 'https://web.whatsapp.com/'
|
||||
},
|
||||
{
|
||||
id: 46,
|
||||
title: 'Headless UI',
|
||||
category: 'Library',
|
||||
route: '/library/headlessui.svg',
|
||||
url: 'https://headlessui.dev/'
|
||||
},
|
||||
{
|
||||
id: 47,
|
||||
title: 'Kotlin',
|
||||
category: 'Language',
|
||||
route: '/library/kotlin.svg',
|
||||
url: 'https://kotlinlang.org/'
|
||||
},
|
||||
{
|
||||
id: 48,
|
||||
title: 'Vitest',
|
||||
category: 'Framework',
|
||||
route: '/library/vitest.svg',
|
||||
url: 'https://vitest.dev/'
|
||||
},
|
||||
{
|
||||
id: 49,
|
||||
title: 'Storybook',
|
||||
category: 'Software',
|
||||
route: '/library/storybook.svg',
|
||||
url: 'https://storybook.js.org/'
|
||||
},
|
||||
{
|
||||
id: 50,
|
||||
title: 'Netlify',
|
||||
category: 'Hosting',
|
||||
route: '/library/netlify.svg',
|
||||
url: 'https://www.netlify.com/'
|
||||
},
|
||||
{
|
||||
id: 51,
|
||||
title: 'Solidjs',
|
||||
category: 'Framework',
|
||||
route: '/library/solidjs.svg',
|
||||
url: 'https://www.solidjs.com/'
|
||||
},
|
||||
{
|
||||
id: 52,
|
||||
title: 'MongoDB',
|
||||
category: 'Database',
|
||||
route: '/library/mongodb.svg',
|
||||
wordmark: '/library/mongodb-wordmark.svg',
|
||||
url: 'https://www.mongodb.com/'
|
||||
},
|
||||
{
|
||||
id: 53,
|
||||
title: 'Babel',
|
||||
category: 'Compiler',
|
||||
route: '/library/babel.svg',
|
||||
url: 'https://babeljs.io'
|
||||
},
|
||||
{
|
||||
id: 54,
|
||||
title: 'Moon',
|
||||
category: 'Framework',
|
||||
route: '/library/moon.svg',
|
||||
url: 'https://moonjs.org/'
|
||||
},
|
||||
{
|
||||
id: 55,
|
||||
title: 'Payload CMS',
|
||||
category: 'CMS',
|
||||
route: '/library/payload.svg',
|
||||
route: {
|
||||
light: '/library/payload.svg',
|
||||
dark: '/library/payload_dark.svg'
|
||||
},
|
||||
url: 'https://payloadcms.com'
|
||||
},
|
||||
{
|
||||
id: 56,
|
||||
title: 'Fly',
|
||||
category: 'Hosting',
|
||||
route: '/library/fly.svg',
|
||||
url: 'https://fly.io'
|
||||
},
|
||||
{
|
||||
id: 57,
|
||||
title: 'LearnThis',
|
||||
category: 'Education',
|
||||
route: '/library/learnthis.svg',
|
||||
url: 'https://learnthisacademy.com'
|
||||
},
|
||||
{
|
||||
id: 58,
|
||||
title: 'Visual Studio',
|
||||
category: 'Software',
|
||||
route: '/library/visual-studio.svg',
|
||||
url: 'https://visualstudio.microsoft.com'
|
||||
},
|
||||
{
|
||||
id: 59,
|
||||
title: 'Chakra UI',
|
||||
category: 'Library',
|
||||
route: '/library/chakra-ui.svg',
|
||||
url: 'https://chakra-ui.com'
|
||||
},
|
||||
{
|
||||
id: 60,
|
||||
title: 'Express.js',
|
||||
category: 'Framework',
|
||||
route: '/library/expressjs.svg',
|
||||
route: {
|
||||
light: '/library/expressjs.svg',
|
||||
dark: '/library/expressjs_dark.svg'
|
||||
},
|
||||
url: 'https://expressjs.com'
|
||||
},
|
||||
{
|
||||
id: 61,
|
||||
title: 'Fastify',
|
||||
category: 'Framework',
|
||||
route: '/library/fastify.svg',
|
||||
route: {
|
||||
light: '/library/fastify.svg',
|
||||
dark: '/library/fastify_dark.svg'
|
||||
},
|
||||
url: 'https://www.fastify.io'
|
||||
},
|
||||
{
|
||||
id: 62,
|
||||
title: 'JavaScript',
|
||||
category: 'Language',
|
||||
route: '/library/javascript.svg',
|
||||
url: 'https://developer.mozilla.org/docs/Web/JavaScript'
|
||||
},
|
||||
{
|
||||
id: 63,
|
||||
title: 'jQuery',
|
||||
category: 'Language',
|
||||
route: '/library/jquery.svg',
|
||||
route: {
|
||||
light: '/library/jquery.svg',
|
||||
dark: '/library/jquery_dark.svg'
|
||||
},
|
||||
url: 'https://jquery.com'
|
||||
},
|
||||
{
|
||||
id: 64,
|
||||
title: 'Rapid API',
|
||||
category: 'Software',
|
||||
route: '/library/rapidapi.svg',
|
||||
url: 'https://rapidapi.com'
|
||||
},
|
||||
{
|
||||
id: 65,
|
||||
title: 'TypeScript',
|
||||
category: 'Language',
|
||||
route: '/library/typescript.svg',
|
||||
url: 'https://www.typescriptlang.org'
|
||||
},
|
||||
{
|
||||
id: 66,
|
||||
title: 'Bun',
|
||||
category: 'Library',
|
||||
route: '/library/bun.svg',
|
||||
url: 'https://bun.sh'
|
||||
},
|
||||
{
|
||||
id: 67,
|
||||
title: 'Twilio',
|
||||
category: 'Software',
|
||||
route: '/library/twilio.svg',
|
||||
url: 'https://twilio.com'
|
||||
},
|
||||
{
|
||||
id: 68,
|
||||
title: 'Arc',
|
||||
category: 'Software',
|
||||
route: '/library/arc.svg',
|
||||
category: 'Social',
|
||||
route: {
|
||||
light: '/library/arc.svg',
|
||||
dark: '/library/arc_dark.svg'
|
||||
},
|
||||
url: 'https://arc.dev'
|
||||
},
|
||||
{
|
||||
id: 69,
|
||||
title: 'Arc',
|
||||
category: 'Fintech',
|
||||
route: {
|
||||
light: '/library/arc_fintech_light.svg',
|
||||
dark: '/library/arc_fintech_dark.svg'
|
||||
},
|
||||
url: 'https://arc.tech'
|
||||
},
|
||||
{
|
||||
title: 'Qwik',
|
||||
category: 'Framework',
|
||||
route: '/library/qwik.svg',
|
||||
url: 'https://qwik.builder.io/'
|
||||
},
|
||||
{
|
||||
id: 70,
|
||||
title: 'Coinbase',
|
||||
category: 'Crypto',
|
||||
route: '/library/coinbase.svg',
|
||||
wordmark: {
|
||||
light: '/library/coinbase-wordmark-light.svg',
|
||||
dark: '/library/coinbase-wordmark-dark.svg'
|
||||
},
|
||||
url: 'https://www.coinbase.com/'
|
||||
},
|
||||
{
|
||||
title: 'Authy',
|
||||
category: 'Software',
|
||||
route: '/library/authy.svg',
|
||||
url: 'https://authy.com/'
|
||||
},
|
||||
{
|
||||
id: 71,
|
||||
title: 'Notion',
|
||||
category: 'Software',
|
||||
route: '/library/notion.svg',
|
||||
url: 'https://notion.so/'
|
||||
},
|
||||
{
|
||||
id: 72,
|
||||
title: 'NestJS',
|
||||
category: 'Framework',
|
||||
route: '/library/nestjs.svg',
|
||||
url: 'https://nestjs.com/'
|
||||
},
|
||||
{
|
||||
id: 73,
|
||||
title: 'Github Copilot',
|
||||
category: 'Software',
|
||||
route: '/library/copilot.svg',
|
||||
route: {
|
||||
light: '/library/copilot.svg',
|
||||
dark: '/library/copilot_dark.svg'
|
||||
},
|
||||
url: 'https://github.com/features/copilot'
|
||||
},
|
||||
{
|
||||
id: 74,
|
||||
title: 'Railway',
|
||||
category: 'Software',
|
||||
route: '/library/railway.svg',
|
||||
route: {
|
||||
light: '/library/railway.svg',
|
||||
dark: '/library/railway_dark.svg'
|
||||
},
|
||||
url: 'https://railway.app/'
|
||||
},
|
||||
{
|
||||
id: 75,
|
||||
title: 'Docusaurus',
|
||||
category: 'Software',
|
||||
route: '/library/docusaurus.svg',
|
||||
url: 'https://docusaurus.io/'
|
||||
},
|
||||
{
|
||||
id: 76,
|
||||
title: 'Twitch',
|
||||
category: 'Entertainment',
|
||||
route: '/library/twitch.svg',
|
||||
url: 'https://twitch.tv'
|
||||
},
|
||||
{
|
||||
id: 77,
|
||||
title: 'GoDaddy',
|
||||
category: 'Hosting',
|
||||
route: '/library/godaddy.svg',
|
||||
route: {
|
||||
light: '/library/godaddy.svg',
|
||||
dark: '/library/godaddy_dark.svg'
|
||||
},
|
||||
url: 'https://www.godaddy.com/'
|
||||
},
|
||||
{
|
||||
id: 78,
|
||||
title: 'Udemy',
|
||||
category: 'Education',
|
||||
route: '/library/udemy.svg',
|
||||
route: {
|
||||
light: '/library/udemy.svg',
|
||||
dark: '/library/udemy_dark.svg'
|
||||
},
|
||||
url: 'https://www.udemy.com/'
|
||||
},
|
||||
{
|
||||
id: 79,
|
||||
title: 'GraphQL',
|
||||
category: 'Language',
|
||||
route: '/library/graphql.svg',
|
||||
url: 'https://graphql.org/'
|
||||
},
|
||||
{
|
||||
id: 80,
|
||||
title: 'GitLab',
|
||||
category: 'Software',
|
||||
route: '/library/gitlab.svg',
|
||||
url: 'https://gitlab.com/'
|
||||
},
|
||||
{
|
||||
id: 81,
|
||||
title: 'Prisma',
|
||||
category: 'Software',
|
||||
route: '/library/prisma.svg',
|
||||
route: {
|
||||
light: '/library/prisma.svg',
|
||||
dark: '/library/prisma_dark.svg'
|
||||
},
|
||||
url: 'https://prisma.io/'
|
||||
},
|
||||
{
|
||||
id: 82,
|
||||
title: 'Go',
|
||||
category: 'Language',
|
||||
route: '/library/golang.svg',
|
||||
route: {
|
||||
light: '/library/golang.svg',
|
||||
dark: '/library/golang_dark.svg'
|
||||
},
|
||||
url: 'https://go.dev/'
|
||||
},
|
||||
{
|
||||
id: 83,
|
||||
title: 'Platzi',
|
||||
category: 'Education',
|
||||
route: '/library/platzi.svg',
|
||||
url: 'https://platzi.com/'
|
||||
},
|
||||
{
|
||||
id: 84,
|
||||
title: 'Coursera',
|
||||
category: 'Education',
|
||||
route: '/library/coursera.svg',
|
||||
url: 'https://www.coursera.org/'
|
||||
},
|
||||
{
|
||||
id: 85,
|
||||
title: 'Udacity',
|
||||
category: 'Education',
|
||||
route: '/library/udacity.svg',
|
||||
url: 'https://www.udacity.com/'
|
||||
},
|
||||
{
|
||||
id: 86,
|
||||
title: 'Kubernetes',
|
||||
category: 'Software',
|
||||
route: '/library/kubernetes.svg',
|
||||
url: 'https://kubernetes.io/'
|
||||
},
|
||||
{
|
||||
id: 87,
|
||||
title: 'Docker',
|
||||
category: 'Software',
|
||||
route: '/library/docker.svg',
|
||||
url: 'https://www.docker.com/'
|
||||
},
|
||||
{
|
||||
id: 88,
|
||||
title: 'Amazon Web Services',
|
||||
category: 'Software',
|
||||
route: '/library/aws.svg',
|
||||
url: 'https://aws.amazon.com/'
|
||||
},
|
||||
{
|
||||
id: 89,
|
||||
title: 'Microsoft Azure',
|
||||
category: 'Software',
|
||||
route: '/library/azure.svg',
|
||||
url: 'https://azure.microsoft.com/'
|
||||
},
|
||||
{
|
||||
id: 90,
|
||||
title: 'Heroku',
|
||||
category: 'Software',
|
||||
route: '/library/heroku.svg',
|
||||
url: 'https://www.heroku.com/'
|
||||
},
|
||||
{
|
||||
id: 91,
|
||||
title: 'JetBrains',
|
||||
category: 'Software',
|
||||
route: '/library/jetbrains.svg',
|
||||
url: 'https://www.jetbrains.com/'
|
||||
},
|
||||
{
|
||||
id: 92,
|
||||
title: 'JetBrains Rider',
|
||||
category: 'Software',
|
||||
route: '/library/rider.svg',
|
||||
url: 'https://www.jetbrains.com/rider/'
|
||||
},
|
||||
{
|
||||
id: 93,
|
||||
title: 'PlanetScale',
|
||||
category: 'Database',
|
||||
route: '/library/planetscale.svg',
|
||||
route: {
|
||||
light: '/library/planetscale.svg',
|
||||
dark: '/library/planetscale_dark.svg'
|
||||
},
|
||||
url: 'https://planetscale.com/'
|
||||
},
|
||||
{
|
||||
id: 94,
|
||||
title: 'Playwright',
|
||||
category: 'Framework',
|
||||
route: '/library/playwright.svg',
|
||||
url: 'https://playwright.dev/'
|
||||
},
|
||||
{
|
||||
id: 95,
|
||||
title: 'Atlassian',
|
||||
category: 'Software',
|
||||
route: '/library/atlassian.svg',
|
||||
url: 'https://www.atlassian.com/'
|
||||
},
|
||||
{
|
||||
id: 96,
|
||||
title: 'Discourse',
|
||||
category: 'Software',
|
||||
route: '/library/discourse.svg',
|
||||
url: 'https://discourse.org/'
|
||||
},
|
||||
{
|
||||
id: 97,
|
||||
title: 'Ember',
|
||||
category: 'Framework',
|
||||
route: '/library/ember.svg',
|
||||
url: 'https://emberjs.com/'
|
||||
},
|
||||
{
|
||||
id: 98,
|
||||
title: 'Expo',
|
||||
category: 'Software',
|
||||
route: '/library/expo.svg',
|
||||
url: 'https://expo.dev/'
|
||||
},
|
||||
{
|
||||
id: 99,
|
||||
title: 'Flutter',
|
||||
category: 'Framework',
|
||||
route: '/library/flutter.svg',
|
||||
url: 'https://flutter.dev/'
|
||||
},
|
||||
{
|
||||
id: 100,
|
||||
title: 'Auth0',
|
||||
category: 'Library',
|
||||
route: '/library/auth0.svg',
|
||||
url: 'https://auth0.com/'
|
||||
},
|
||||
{
|
||||
title: 'Fresh',
|
||||
category: 'Framework',
|
||||
route: '/library/fresh.svg',
|
||||
url: 'https://fresh.deno.dev/'
|
||||
},
|
||||
{
|
||||
id: 101,
|
||||
title: 'Git',
|
||||
category: 'Software',
|
||||
route: '/library/git.svg',
|
||||
url: 'https://git-scm.com/'
|
||||
},
|
||||
{
|
||||
id: 102,
|
||||
title: 'Hostgator',
|
||||
category: 'Hosting',
|
||||
route: '/library/hostgator.svg',
|
||||
url: 'https://www.hostgator.com/'
|
||||
},
|
||||
{
|
||||
id: 103,
|
||||
title: 'IntelliJ IDEA',
|
||||
category: 'Software',
|
||||
route: '/library/intellijidea.svg',
|
||||
url: 'https://www.jetbrains.com/idea/'
|
||||
},
|
||||
{
|
||||
id: 104,
|
||||
title: 'Jasmine',
|
||||
category: 'Framework',
|
||||
route: '/library/jasmine.svg',
|
||||
url: 'https://jasmine.github.io/'
|
||||
},
|
||||
{
|
||||
id: 105,
|
||||
title: 'Java',
|
||||
category: 'Language',
|
||||
route: '/library/java.svg',
|
||||
url: 'https://www.java.com/'
|
||||
},
|
||||
{
|
||||
id: 106,
|
||||
title: 'Jest',
|
||||
category: 'Framework',
|
||||
route: '/library/jest.svg',
|
||||
url: 'https://jestjs.io/'
|
||||
},
|
||||
{
|
||||
id: 107,
|
||||
title: 'JetBrains',
|
||||
category: 'Software',
|
||||
route: '/library/jetbrainsSolid.svg',
|
||||
url: 'https://www.jetbrains.com/'
|
||||
},
|
||||
{
|
||||
id: 108,
|
||||
title: 'KrakenJS',
|
||||
category: 'Framework',
|
||||
route: '/library/krakenjs.svg',
|
||||
url: 'https://krakenjs.com/'
|
||||
},
|
||||
{
|
||||
id: 109,
|
||||
title: 'Laravel',
|
||||
category: 'Framework',
|
||||
route: '/library/laravel.svg',
|
||||
url: 'https://laravel.com/'
|
||||
},
|
||||
{
|
||||
id: 110,
|
||||
title: 'MariaDB',
|
||||
category: 'Database',
|
||||
route: '/library/mariadb.svg',
|
||||
url: 'https://mariadb.org/'
|
||||
},
|
||||
{
|
||||
id: 111,
|
||||
title: 'Material UI',
|
||||
category: 'Framework',
|
||||
route: '/library/materialui.svg',
|
||||
url: 'https://mui.com/'
|
||||
},
|
||||
{
|
||||
id: 112,
|
||||
title: 'MySQL',
|
||||
category: 'Database',
|
||||
route: '/library/mysql.svg',
|
||||
url: 'https://www.mysql.com/'
|
||||
},
|
||||
{
|
||||
id: 113,
|
||||
title: 'Parcel',
|
||||
category: 'Compiler',
|
||||
route: '/library/parcel.svg',
|
||||
url: 'https://parceljs.org/'
|
||||
},
|
||||
{
|
||||
id: 114,
|
||||
title: 'PM2',
|
||||
category: 'Framework',
|
||||
route: '/library/pm2.svg',
|
||||
url: 'https://pm2.io/'
|
||||
},
|
||||
{
|
||||
id: 115,
|
||||
title: 'PostgreSQL',
|
||||
category: 'Database',
|
||||
route: '/library/postgresql.svg',
|
||||
url: 'https://www.postgresql.org/'
|
||||
},
|
||||
{
|
||||
id: 116,
|
||||
title: 'React Query',
|
||||
category: 'Framework',
|
||||
route: '/library/reactquery.svg',
|
||||
url: 'https://tanstack.com/query/v4'
|
||||
},
|
||||
{
|
||||
id: 117,
|
||||
title: 'Devto',
|
||||
category: 'Community',
|
||||
route: {
|
||||
light: '/library/devto-light.svg',
|
||||
dark: '/library/devto-dark.svg'
|
||||
},
|
||||
url: 'https://dev.to/'
|
||||
},
|
||||
{
|
||||
title: 'Redis',
|
||||
category: 'Database',
|
||||
route: '/library/redis.svg',
|
||||
url: 'https://redis.io/'
|
||||
},
|
||||
{
|
||||
id: 118,
|
||||
title: 'RedwoodJS',
|
||||
category: 'Framework',
|
||||
route: '/library/redwoodjs.svg',
|
||||
url: 'https://redwoodjs.com/'
|
||||
},
|
||||
{
|
||||
id: 119,
|
||||
title: 'Ruby',
|
||||
category: 'Language',
|
||||
route: '/library/ruby.svg',
|
||||
url: 'https://www.ruby-lang.org/'
|
||||
},
|
||||
{
|
||||
id: 120,
|
||||
title: 'Scala',
|
||||
category: 'Language',
|
||||
route: '/library/scala.svg',
|
||||
url: 'https://www.scala-lang.org/'
|
||||
},
|
||||
{
|
||||
id: 121,
|
||||
title: 'Sequelize',
|
||||
category: 'Framework',
|
||||
route: '/library/sequelize.svg',
|
||||
url: 'https://sequelize.org/'
|
||||
},
|
||||
{
|
||||
id: 122,
|
||||
title: 'Spinnaker',
|
||||
category: 'Software',
|
||||
route: '/library/spinnaker.svg',
|
||||
url: 'https://spinnaker.io/'
|
||||
},
|
||||
{
|
||||
id: 123,
|
||||
title: 'SQLite',
|
||||
category: 'Database',
|
||||
route: '/library/sqlite.svg',
|
||||
url: 'https://www.sqlite.org/'
|
||||
},
|
||||
{
|
||||
id: 124,
|
||||
title: 'Swagger',
|
||||
category: 'Software',
|
||||
route: '/library/swagger.svg',
|
||||
url: 'https://swagger.io/'
|
||||
},
|
||||
{
|
||||
id: 125,
|
||||
title: 'Swift',
|
||||
category: 'Language',
|
||||
route: '/library/swift.svg',
|
||||
url: 'https://swift.org/'
|
||||
},
|
||||
{
|
||||
id: 126,
|
||||
title: 'Testing Library',
|
||||
category: 'Framework',
|
||||
route: '/library/testinglibrary.svg',
|
||||
url: 'https://testing-library.com/'
|
||||
},
|
||||
{
|
||||
id: 127,
|
||||
title: 'TypeORM',
|
||||
category: 'Database',
|
||||
route: '/library/typeorm.svg',
|
||||
url: 'https://typeorm.io/'
|
||||
},
|
||||
{
|
||||
id: 128,
|
||||
title: 'Unity',
|
||||
category: 'Software',
|
||||
route: '/library/unity.svg',
|
||||
route: {
|
||||
light: '/library/unity.svg',
|
||||
dark: '/library/unity_dark.svg'
|
||||
},
|
||||
url: 'https://unity.com/'
|
||||
},
|
||||
{
|
||||
id: 129,
|
||||
title: 'Vim',
|
||||
category: 'Software',
|
||||
route: '/library/vim.svg',
|
||||
url: 'https://www.vim.org/'
|
||||
},
|
||||
{
|
||||
id: 130,
|
||||
title: 'WMR',
|
||||
category: 'Compiler',
|
||||
route: '/library/wmr.svg',
|
||||
url: 'https://wmr.dev/'
|
||||
title: 'Pocketbase',
|
||||
category: 'Database',
|
||||
route: '/library/pocket-base.svg',
|
||||
url: 'https://pocketbase.io/'
|
||||
},
|
||||
{
|
||||
id: 131,
|
||||
title: 'OpenBootcamp',
|
||||
category: 'Education',
|
||||
route: '/library/openbootcamp.svg',
|
||||
url: 'https://open-bootcamp.com/'
|
||||
},
|
||||
{
|
||||
id: 132,
|
||||
title: 'Digital Ocean',
|
||||
category: 'Software',
|
||||
route: '/library/digitalocean.svg',
|
||||
url: 'https://www.digitalocean.com/'
|
||||
},
|
||||
{
|
||||
id: 133,
|
||||
title: 'Disney+',
|
||||
category: 'Entertainment',
|
||||
route: '/library/disneyplus.svg',
|
||||
url: 'https://www.disneyplus.com/'
|
||||
},
|
||||
{
|
||||
id: 134,
|
||||
title: 'React Router',
|
||||
category: 'Library',
|
||||
route: '/library/reactrouter.svg',
|
||||
url: 'https://reactrouter.com/en/main'
|
||||
},
|
||||
{
|
||||
id: 135,
|
||||
title: 'Google Student Developer Club',
|
||||
category: 'Google',
|
||||
title: 'AMP',
|
||||
category: 'Library',
|
||||
route: '/library/amp.svg',
|
||||
url: 'https://amp.dev/'
|
||||
},
|
||||
{
|
||||
title: 'Developer Student Club',
|
||||
category: 'Community',
|
||||
route: '/library/gdsc.svg',
|
||||
url: 'https://gdsc.community.dev/'
|
||||
},
|
||||
{
|
||||
id: 136,
|
||||
title: 'Brave Browser',
|
||||
category: 'Browser',
|
||||
route: '/library/brave.svg',
|
||||
url: 'https://brave.com/'
|
||||
},
|
||||
{
|
||||
id: 137,
|
||||
title: 'Eclipse IDE',
|
||||
category: 'IDE',
|
||||
category: 'Software',
|
||||
route: '/library/eclipse.svg',
|
||||
url: 'https://www.eclipse.org/'
|
||||
},
|
||||
{
|
||||
id: 138,
|
||||
title: 'Three.js',
|
||||
category: 'Library',
|
||||
route: {
|
||||
light: '/library/threejs-light.svg',
|
||||
dark: '/library/threejs-dark.svg'
|
||||
},
|
||||
url: 'https://threejs.org/'
|
||||
},
|
||||
{
|
||||
title: 'HTML5',
|
||||
category: 'Language',
|
||||
route: '/library/html5.svg',
|
||||
url: 'https://es.wikipedia.org/wiki/HTML5'
|
||||
},
|
||||
{
|
||||
id: 139,
|
||||
title: 'CSS',
|
||||
category: 'Language',
|
||||
route: '/library/css.svg',
|
||||
url: 'https://es.wikipedia.org/wiki/CSS'
|
||||
},
|
||||
{
|
||||
id: 140,
|
||||
title: 'midudev',
|
||||
category: 'Education',
|
||||
category: 'Community',
|
||||
route: '/library/midudev.svg',
|
||||
url: 'https://midu.dev'
|
||||
},
|
||||
{
|
||||
id: 141,
|
||||
title: 'Apple',
|
||||
category: 'Software',
|
||||
route: '/library/apple.svg',
|
||||
route: {
|
||||
light: '/library/apple.svg',
|
||||
dark: '/library/apple_dark.svg'
|
||||
},
|
||||
url: 'https://www.apple.com'
|
||||
},
|
||||
{
|
||||
id: 142,
|
||||
title: 'Android',
|
||||
category: 'Software',
|
||||
route: '/library/android.svg',
|
||||
url: 'https://www.android.com/'
|
||||
},
|
||||
{
|
||||
id: 143,
|
||||
title: 'Windows',
|
||||
category: 'Software',
|
||||
route: '/library/windows.svg',
|
||||
url: 'https://www.microsoft.com/windows'
|
||||
},
|
||||
{
|
||||
id: 144,
|
||||
title: 'Python',
|
||||
category: 'Language',
|
||||
route: '/library/python.svg',
|
||||
url: 'https://www.python.org/'
|
||||
},
|
||||
{
|
||||
id: 145,
|
||||
title: 'Turbopack',
|
||||
category: 'Software',
|
||||
route: '/library/turbopack.svg',
|
||||
url: 'https://turbo.build/'
|
||||
},
|
||||
{
|
||||
id: 146,
|
||||
title: 'Builder',
|
||||
category: 'CMS',
|
||||
route: '/library/builder.svg',
|
||||
url: 'https://builder.io/'
|
||||
},
|
||||
{
|
||||
id: 147,
|
||||
title: 'Babel',
|
||||
category: 'Compiler',
|
||||
route: '/library/babel.svg',
|
||||
url: 'https://babeljs.io/'
|
||||
},
|
||||
{
|
||||
title: 'Surrealdb',
|
||||
category: 'Database',
|
||||
route: '/library/surrealdb.svg',
|
||||
url: 'https://surrealdb.com/'
|
||||
},
|
||||
{
|
||||
id: 148,
|
||||
title: 'Jetbrains Space',
|
||||
category: 'Software',
|
||||
route: '/library/jetbrains-space.svg',
|
||||
url: 'https://www.jetbrains.com/space/'
|
||||
},
|
||||
{
|
||||
id: 149,
|
||||
title: 'Gin',
|
||||
category: 'Framework',
|
||||
route: '/library/gin.svg',
|
||||
url: 'https://gin-gonic.com/'
|
||||
},
|
||||
{
|
||||
id: 150,
|
||||
title: 'Stimulus',
|
||||
category: 'Framework',
|
||||
route: '/library/stimulus.svg',
|
||||
url: 'https://stimulus.hotwired.dev/'
|
||||
},
|
||||
{
|
||||
id: 151,
|
||||
title: 'WindiCSS',
|
||||
category: 'Framework',
|
||||
route: '/library/windicss.svg',
|
||||
url: 'https://windicss.org/'
|
||||
},
|
||||
{
|
||||
id: 152,
|
||||
title: 'Mastodon',
|
||||
category: 'Social',
|
||||
route: '/library/mastodon.svg',
|
||||
url: 'https://joinmastodon.org/'
|
||||
},
|
||||
{
|
||||
id: 153,
|
||||
title: 'Upstash',
|
||||
category: 'Database',
|
||||
route: '/library/upstash.svg',
|
||||
url: 'https://upstash.com/'
|
||||
},
|
||||
{
|
||||
id: 154,
|
||||
title: 'Storyblok',
|
||||
category: 'CMS',
|
||||
route: '/library/storyblok.svg',
|
||||
url: 'https://www.storyblok.com/'
|
||||
},
|
||||
{
|
||||
id: 155,
|
||||
title: 'Cloudflare Workers',
|
||||
category: 'Software',
|
||||
route: '/library/cloudflare-workers.svg',
|
||||
url: 'https://workers.cloudflare.com/'
|
||||
},
|
||||
{
|
||||
id: 156,
|
||||
title: 'Cloudflare',
|
||||
category: 'Software',
|
||||
route: '/library/cloudflare.svg',
|
||||
url: 'https://www.cloudflare.com/'
|
||||
},
|
||||
{
|
||||
title: 'Bing',
|
||||
category: 'Browser',
|
||||
route: '/library/bing.svg',
|
||||
url: 'https://www.bing.com/'
|
||||
},
|
||||
{
|
||||
title: 'Cloudinary',
|
||||
category: 'Software',
|
||||
route: '/library/cloudinary.svg',
|
||||
url: 'https://cloudinary.com/'
|
||||
},
|
||||
{
|
||||
title: 'Dart',
|
||||
category: 'Language',
|
||||
route: '/library/dart.svg',
|
||||
url: 'https://dart.dev/'
|
||||
},
|
||||
{
|
||||
title: 'hCaptcha',
|
||||
category: 'Software',
|
||||
route: '/library/hcaptcha.svg',
|
||||
url: 'https://www.hcaptcha.com/'
|
||||
},
|
||||
{
|
||||
title: 'Appwrite',
|
||||
category: 'Software',
|
||||
route: '/library/appwrite.svg',
|
||||
url: 'https://appwrite.io/'
|
||||
},
|
||||
{
|
||||
title: 'Loom',
|
||||
category: 'Software',
|
||||
route: '/library/loom.svg',
|
||||
url: 'https://www.loom.com/'
|
||||
},
|
||||
{
|
||||
title: 'Hulu',
|
||||
category: 'Entertainment',
|
||||
route: {
|
||||
light: '/library/hulu.svg',
|
||||
dark: '/library/hulu-dark.svg'
|
||||
},
|
||||
url: 'https://www.hulu.com/'
|
||||
},
|
||||
{
|
||||
title: 'Stackblitz',
|
||||
category: 'Software',
|
||||
route: '/library/stackblitz.svg',
|
||||
url: 'https://stackblitz.com/'
|
||||
},
|
||||
{
|
||||
title: 'Binance',
|
||||
category: 'Crypto',
|
||||
route: '/library/binance.svg',
|
||||
url: 'https://binance.com/'
|
||||
},
|
||||
{
|
||||
title: 'Messenger',
|
||||
category: 'Social',
|
||||
route: '/library/messenger.svg',
|
||||
url: 'https://www.messenger.com/'
|
||||
},
|
||||
{
|
||||
title: 'NHost',
|
||||
category: 'Hosting',
|
||||
route: '/library/nhost.svg',
|
||||
url: 'https://nhost.io/'
|
||||
},
|
||||
{
|
||||
title: 'Medusa',
|
||||
category: 'Software',
|
||||
route: '/library/medusa.svg',
|
||||
url: 'https://medusajs.com/'
|
||||
},
|
||||
{
|
||||
title: 'WordPress',
|
||||
category: ['Software', 'CMS'],
|
||||
route: '/library/wordpress.svg',
|
||||
url: 'https://wordpress.org/'
|
||||
},
|
||||
{
|
||||
title: 'Microsoft',
|
||||
category: 'Software',
|
||||
route: '/library/microsoft.svg',
|
||||
url: 'https://www.microsoft.com/'
|
||||
},
|
||||
{
|
||||
title: 'Elementor',
|
||||
category: 'Software',
|
||||
route: '/library/elementor.svg',
|
||||
url: 'https://elementor.com/'
|
||||
},
|
||||
{
|
||||
title: 'Prime video',
|
||||
category: 'Entertainment',
|
||||
route: '/library/prime-video.svg',
|
||||
url: 'https://primevideo.com/'
|
||||
},
|
||||
{
|
||||
title: 'Chrome',
|
||||
category: 'Browser',
|
||||
route: '/library/chrome.svg',
|
||||
url: 'https://chrome.com/'
|
||||
},
|
||||
{
|
||||
title: 'RxJS',
|
||||
category: 'Library',
|
||||
route: '/library/rxjs.svg',
|
||||
url: 'https://rxjs.dev/'
|
||||
},
|
||||
{
|
||||
title: 'Electron',
|
||||
category: 'Library',
|
||||
route: '/library/electron.svg',
|
||||
url: 'https://www.electronjs.org'
|
||||
},
|
||||
{
|
||||
title: 'Redux',
|
||||
category: 'Library',
|
||||
route: '/library/redux.svg',
|
||||
url: 'https://redux.js.org/'
|
||||
},
|
||||
{
|
||||
title: 'Trust Wallet',
|
||||
category: 'Crypto',
|
||||
route: '/library/trust.svg',
|
||||
url: 'https://trustwallet.com/'
|
||||
},
|
||||
{
|
||||
title: 'Php',
|
||||
category: 'Language',
|
||||
route: {
|
||||
light: '/library/php.svg',
|
||||
dark: '/library/php_dark.svg'
|
||||
},
|
||||
url: 'https://www.php.net/'
|
||||
},
|
||||
{
|
||||
title: 'Hugo',
|
||||
category: 'Framework',
|
||||
route: '/library/hugo.svg',
|
||||
url: 'https://gohugo.io/'
|
||||
},
|
||||
{
|
||||
title: 'Sass',
|
||||
category: 'Language',
|
||||
route: '/library/sass.svg',
|
||||
url: 'https://sass-lang.com/'
|
||||
},
|
||||
{
|
||||
title: 'Arc',
|
||||
category: 'Browser',
|
||||
route: '/library/arc_browser.svg',
|
||||
url: 'https://arc.net/'
|
||||
},
|
||||
{
|
||||
title: 'Pinia',
|
||||
category: 'Library',
|
||||
route: '/library/pinia.svg',
|
||||
url: 'https://pinia.vuejs.org/'
|
||||
},
|
||||
{
|
||||
title: 'Neon',
|
||||
category: 'Database',
|
||||
route: '/library/neon.svg',
|
||||
url: 'https://neon.tech/'
|
||||
},
|
||||
{
|
||||
title: 'Infojobs',
|
||||
category: 'Social',
|
||||
route: '/library/infojobs-logo.svg',
|
||||
url: 'https://www.infojobs.net/'
|
||||
},
|
||||
{
|
||||
title: 'Linear',
|
||||
category: 'Software',
|
||||
route: '/library/linear.svg',
|
||||
url: 'https://linear.app/'
|
||||
},
|
||||
{
|
||||
title: 'Tor',
|
||||
category: 'Browser',
|
||||
route: '/library/tor.svg',
|
||||
url: 'https://www.torproject.org/'
|
||||
},
|
||||
{
|
||||
title: 'Codesandbox',
|
||||
category: 'Software',
|
||||
route: '/library/codesandbox-square.svg',
|
||||
url: 'https://codesandbox.io/'
|
||||
},
|
||||
{
|
||||
title: 'Skype',
|
||||
category: 'Social',
|
||||
route: '/library/skype.svg',
|
||||
url: 'https://www.skype.com/'
|
||||
},
|
||||
{
|
||||
title: 'Tauri',
|
||||
category: 'Library',
|
||||
route: '/library/tauri.svg',
|
||||
url: 'https://tauri.app/'
|
||||
},
|
||||
{
|
||||
title: 'WebKit',
|
||||
category: 'Software',
|
||||
route: '/library/webkit.svg',
|
||||
url: 'https://webkit.org/'
|
||||
},
|
||||
{
|
||||
title: 'Google Bard',
|
||||
category: 'AI',
|
||||
route: '/library/bard.svg',
|
||||
url: 'https://bard.google.com/'
|
||||
},
|
||||
{
|
||||
title: 'Obsidian',
|
||||
category: 'Software',
|
||||
route: '/library/obsidian.svg',
|
||||
url: 'https://obsidian.md/'
|
||||
},
|
||||
{
|
||||
title: 'Zod',
|
||||
category: 'Library',
|
||||
route: '/library/zod.svg',
|
||||
url: 'https://zod.dev/'
|
||||
},
|
||||
{
|
||||
title: 'Dreamweaver',
|
||||
category: 'Software',
|
||||
route: '/library/dw.svg',
|
||||
url: 'https://www.adobe.com/products/dreamweaver.html'
|
||||
},
|
||||
{
|
||||
title: 'OpenAI',
|
||||
category: 'AI',
|
||||
route: {
|
||||
light: '/library/openai.svg',
|
||||
dark: '/library/openai_dark.svg'
|
||||
},
|
||||
url: 'https://openai.com/'
|
||||
},
|
||||
{
|
||||
title: 'Threads',
|
||||
category: 'Social',
|
||||
route: {
|
||||
light: '/library/threads.svg',
|
||||
dark: '/library/threads_dark.svg'
|
||||
},
|
||||
url: 'https://threads.net/'
|
||||
},
|
||||
{
|
||||
title: 'Instagram',
|
||||
category: 'Social',
|
||||
route: {
|
||||
light: '/library/instagram.svg',
|
||||
dark: '/library/instagram_dark.svg'
|
||||
},
|
||||
url: 'https://www.instagram.com/'
|
||||
},
|
||||
{
|
||||
title: 'VueUse',
|
||||
category: 'Library',
|
||||
route: '/library/vueuse.svg',
|
||||
url: 'https://vueuse.org/'
|
||||
},
|
||||
{
|
||||
title: 'Microsoft SQL Server ',
|
||||
category: 'Database',
|
||||
route: '/library/sql-server.svg',
|
||||
url: 'https://www.microsoft.com/en-us/sql-server/'
|
||||
},
|
||||
{
|
||||
title: 'Hono',
|
||||
category: 'Framework',
|
||||
route: '/library/hono.svg',
|
||||
url: 'https://hono.dev/'
|
||||
},
|
||||
{
|
||||
title: 'Million',
|
||||
category: 'Library',
|
||||
route: '/library/million.svg',
|
||||
url: 'https://million.dev/'
|
||||
},
|
||||
{
|
||||
title: 'PandaCSS',
|
||||
category: 'Library',
|
||||
route: '/library/pandacss.svg',
|
||||
url: 'https://panda-css.com/'
|
||||
},
|
||||
{
|
||||
title: 'Pulumi',
|
||||
category: 'Software',
|
||||
route: '/library/pulumi.svg',
|
||||
url: 'https://www.pulumi.com/'
|
||||
},
|
||||
{
|
||||
title: 'FastAPI',
|
||||
category: 'Framework',
|
||||
route: '/library/fastapi.svg',
|
||||
url: 'https://fastapi.tiangolo.com/'
|
||||
},
|
||||
{
|
||||
title: 'Codium',
|
||||
category: 'AI',
|
||||
route: '/library/codium.svg',
|
||||
url: 'https://www.codium.ai/'
|
||||
},
|
||||
{
|
||||
title: 'Crossplane',
|
||||
category: 'Framework',
|
||||
route: '/library/crossplane.svg',
|
||||
url: 'https://crossplane.io/'
|
||||
},
|
||||
{
|
||||
title: 'Volta',
|
||||
category: 'Software',
|
||||
route: {
|
||||
light: '/library/volta-dark.svg',
|
||||
dark: '/library/volta-light.svg'
|
||||
},
|
||||
url: 'https://volta.net/'
|
||||
},
|
||||
{
|
||||
title: 'Typesense',
|
||||
category: 'Software',
|
||||
route: '/library/typesense.svg',
|
||||
url: 'https://typesense.org/'
|
||||
},
|
||||
{
|
||||
title: 'Bitcoin',
|
||||
category: 'Crypto',
|
||||
route: '/library/btc.svg',
|
||||
url: 'https://bitcoin.org/'
|
||||
},
|
||||
{
|
||||
title: 'Ethereum',
|
||||
category: 'Crypto',
|
||||
route: '/library/eth.svg',
|
||||
url: 'https://ethereum.org/'
|
||||
},
|
||||
{
|
||||
title: 'Solana',
|
||||
category: 'Crypto',
|
||||
route: '/library/sol.svg',
|
||||
url: 'https://solana.com/'
|
||||
},
|
||||
{
|
||||
title: 'Dogecoin',
|
||||
category: 'Crypto',
|
||||
route: '/library/doge.svg',
|
||||
url: 'https://dogecoin.com/'
|
||||
},
|
||||
{
|
||||
title: 'XRP',
|
||||
category: 'Crypto',
|
||||
route: '/library/xrp.svg',
|
||||
url: 'https://xrpl.org/'
|
||||
},
|
||||
{
|
||||
title: 'BNB',
|
||||
category: 'Crypto',
|
||||
route: '/library/bnb.svg',
|
||||
url: 'https://www.bnbchain.org/'
|
||||
},
|
||||
{
|
||||
title: 'Link',
|
||||
category: 'Crypto',
|
||||
route: '/library/link.svg',
|
||||
wordmark: {
|
||||
light: '/library/link-wordmark-light.svg',
|
||||
dark: '/library/link-wordmark-dark.svg'
|
||||
},
|
||||
url: 'https://chain.link/'
|
||||
},
|
||||
{
|
||||
title: 'Polygon',
|
||||
category: 'Crypto',
|
||||
route: '/library/matic.svg',
|
||||
url: 'https://polygon.technology/'
|
||||
},
|
||||
{
|
||||
title: 'Algorand',
|
||||
category: 'Crypto',
|
||||
route: '/library/algorand.svg',
|
||||
url: 'https://algorand.org/'
|
||||
},
|
||||
{
|
||||
title: 'Tether',
|
||||
category: 'Crypto',
|
||||
route: '/library/tether.svg',
|
||||
url: 'https://tether.to/'
|
||||
},
|
||||
{
|
||||
title: 'X',
|
||||
category: 'Social',
|
||||
route: {
|
||||
light: '/library/x.svg',
|
||||
dark: '/library/x_dark.svg'
|
||||
},
|
||||
url: 'https://x.com'
|
||||
},
|
||||
{
|
||||
title: 'Adobe',
|
||||
category: 'Design',
|
||||
route: '/library/adobe.svg',
|
||||
url: 'https://x.com'
|
||||
},
|
||||
{
|
||||
title: 'After Effects',
|
||||
category: 'Design',
|
||||
route: '/library/after-effects.svg',
|
||||
url: 'https://x.com'
|
||||
},
|
||||
{
|
||||
title: 'Canva',
|
||||
category: 'Design',
|
||||
route: '/library/canva.svg',
|
||||
url: 'https://x.com'
|
||||
},
|
||||
{
|
||||
title: 'Illustrator',
|
||||
category: 'Design',
|
||||
route: '/library/illustrator.svg',
|
||||
url: 'https://x.com'
|
||||
},
|
||||
{
|
||||
title: 'InDesign',
|
||||
category: 'Design',
|
||||
route: '/library/indesign.svg',
|
||||
url: 'https://x.com'
|
||||
},
|
||||
{
|
||||
title: 'Lightroom',
|
||||
category: 'Design',
|
||||
route: '/library/lightroom.svg',
|
||||
url: 'https://x.com'
|
||||
},
|
||||
{
|
||||
title: 'Photoshop',
|
||||
category: 'Design',
|
||||
route: '/library/photoshop.svg',
|
||||
url: 'https://x.com'
|
||||
},
|
||||
{
|
||||
title: 'Premiere',
|
||||
category: 'Design',
|
||||
route: '/library/premiere.svg',
|
||||
url: 'https://x.com'
|
||||
},
|
||||
{
|
||||
title: 'VK',
|
||||
category: 'Social',
|
||||
route: '/library/vk.svg',
|
||||
url: 'https://vk.com'
|
||||
},
|
||||
{
|
||||
title: 'Hoppscotch',
|
||||
category: 'Software',
|
||||
route: '/library/hoppscotch.svg',
|
||||
url: 'https://hoppscotch.com'
|
||||
},
|
||||
{
|
||||
title: 'Dub',
|
||||
category: 'Software',
|
||||
route: '/library/dub.svg',
|
||||
url: 'https://dub.co'
|
||||
},
|
||||
{
|
||||
title: 'Opera',
|
||||
category: 'Browser',
|
||||
route: '/library/opera.svg',
|
||||
url: 'https://www.opera.com'
|
||||
},
|
||||
{
|
||||
title: 'Salesforce',
|
||||
category: 'Software',
|
||||
route: '/library/salesforce.svg',
|
||||
url: 'https://www.salesforce.com'
|
||||
},
|
||||
{
|
||||
title: 'Unreal Engine',
|
||||
category: 'Software',
|
||||
route: {
|
||||
light: '/library/unreal_engine.svg',
|
||||
dark: '/library/unreal_engine_dark.svg'
|
||||
},
|
||||
url: 'https://www.unrealengine.com/'
|
||||
},
|
||||
{
|
||||
title: 'Godot Engine',
|
||||
category: 'Software',
|
||||
route: '/library/godot_engine.svg',
|
||||
url: 'https://godotengine.org/'
|
||||
},
|
||||
{
|
||||
title: 'Datadog',
|
||||
category: 'Software',
|
||||
route: '/library/datadog.svg',
|
||||
url: 'https://www.datadoghq.com/'
|
||||
},
|
||||
{
|
||||
title: 'Tron',
|
||||
category: 'Crypto',
|
||||
route: '/library/tron.svg',
|
||||
url: 'https://tron.network/'
|
||||
},
|
||||
{
|
||||
title: 'Randevum',
|
||||
category: 'Software',
|
||||
route: '/library/randevum.svg',
|
||||
url: 'https://www.randevum.co'
|
||||
},
|
||||
{
|
||||
title: 'Chromium',
|
||||
category: 'Browser',
|
||||
route: '/library/chromium.svg',
|
||||
url: 'https://www.chromium.org'
|
||||
},
|
||||
{
|
||||
title: 'Edge',
|
||||
category: 'Browser',
|
||||
route: '/library/edge.svg',
|
||||
url: 'https://www.microsoft.com/en-us/edge'
|
||||
},
|
||||
{
|
||||
title: 'Safari',
|
||||
category: 'Browser',
|
||||
route: '/library/safari.svg',
|
||||
url: 'https://www.apple.com/safari'
|
||||
},
|
||||
{
|
||||
title: 'Vivaldi',
|
||||
category: 'Browser',
|
||||
route: '/library/vivaldi.svg',
|
||||
url: 'https://vivaldi.com'
|
||||
},
|
||||
{
|
||||
title: 'Beacon',
|
||||
category: 'Software',
|
||||
route: '/library/Beacon-Logo.svg',
|
||||
url: 'https://www.beacon.com'
|
||||
},
|
||||
{
|
||||
title: 'Affinity Designer',
|
||||
category: 'Design',
|
||||
route: '/library/affinity_designer.svg',
|
||||
url: 'https://affinity.serif.com/en-us/designer/'
|
||||
},
|
||||
{
|
||||
title: 'Affinity Photo',
|
||||
category: 'Software',
|
||||
route: '/library/affinity_photo.svg',
|
||||
url: 'https://affinity.serif.com/en-us/photo/'
|
||||
},
|
||||
{
|
||||
title: 'Affinity Publisher',
|
||||
category: 'Software',
|
||||
route: '/library/affinity_publisher.svg',
|
||||
url: 'https://affinity.serif.com/en-us/publisher/'
|
||||
},
|
||||
{
|
||||
title: 'Roblox',
|
||||
category: 'Software',
|
||||
route: {
|
||||
dark: '/library/roblox.svg',
|
||||
light: '/library/roblox_light.svg'
|
||||
},
|
||||
url: 'https://www.roblox.com/'
|
||||
},
|
||||
{
|
||||
title: 'Stately.ai',
|
||||
category: 'Software',
|
||||
route: {
|
||||
light: '/library/stately.svg',
|
||||
dark: '/library/stately_dark.svg'
|
||||
},
|
||||
url: 'https://stately.ai/'
|
||||
},
|
||||
{
|
||||
title: 'XState',
|
||||
category: 'Library',
|
||||
route: {
|
||||
light: '/library/xstate.svg',
|
||||
dark: '/library/xstate_dark.svg'
|
||||
},
|
||||
url: 'https://github.com/statelyai/xstate'
|
||||
},
|
||||
{
|
||||
title: 'Hashnode',
|
||||
category: 'Social',
|
||||
route: '/library/hashnode.svg',
|
||||
url: 'https://hashnode.com'
|
||||
},
|
||||
{
|
||||
title: 'Rowy',
|
||||
category: 'CMS',
|
||||
route: '/library/rowy.svg',
|
||||
url: 'https://www.rowy.io/'
|
||||
},
|
||||
{
|
||||
title: 'Cal.com',
|
||||
category: 'Software',
|
||||
route: {
|
||||
light: '/library/cal.svg',
|
||||
dark: '/library/cal_dark.svg'
|
||||
},
|
||||
url: 'https://cal.com'
|
||||
},
|
||||
{
|
||||
title: 'Calendly',
|
||||
category: 'Software',
|
||||
route: '/library/calendly.svg',
|
||||
url: 'https://calendly.com/'
|
||||
},
|
||||
{
|
||||
title: 'Mintlify',
|
||||
category: 'Software',
|
||||
route: '/library/mintlify.svg',
|
||||
url: 'https://mintlify.com/'
|
||||
},
|
||||
{
|
||||
title: 'Patreon',
|
||||
category: 'Social',
|
||||
route: {
|
||||
light: '/library/patreon.svg',
|
||||
dark: '/library/patreon_dark.svg'
|
||||
},
|
||||
url: 'https://www.patreon.com/'
|
||||
},
|
||||
{
|
||||
title: 'Peerlist',
|
||||
category: 'Social',
|
||||
route: '/library/peerlist.svg',
|
||||
url: 'https://www.peerlist.io/'
|
||||
},
|
||||
{
|
||||
title: 'Product Hunt',
|
||||
category: 'Software',
|
||||
route: '/library/producthunt.svg',
|
||||
url: 'https://www.producthunt.com/'
|
||||
},
|
||||
{
|
||||
title: 'Remotion',
|
||||
category: 'Framework',
|
||||
route: '/library/remotion.svg',
|
||||
url: 'https://www.remotion.dev/'
|
||||
},
|
||||
{
|
||||
title: 'Warp',
|
||||
category: 'Software',
|
||||
route: '/library/warp.svg',
|
||||
url: 'https://www.warp.dev/'
|
||||
},
|
||||
{
|
||||
title: 'SST',
|
||||
category: 'Framework',
|
||||
route: '/library/sst.svg',
|
||||
url: 'https://sst.dev/'
|
||||
},
|
||||
{
|
||||
title: 'Documenso',
|
||||
category: 'Software',
|
||||
route: {
|
||||
light: '/library/documenso.svg',
|
||||
dark: '/library/documenso_dark.svg'
|
||||
},
|
||||
url: 'https://documenso.com'
|
||||
},
|
||||
{
|
||||
title: 'Bash',
|
||||
category: 'Language',
|
||||
route: {
|
||||
light: '/library/bash.svg',
|
||||
dark: '/library/bash_dark.svg'
|
||||
},
|
||||
url: 'https://www.gnu.org/software/bash/'
|
||||
},
|
||||
{
|
||||
title: 'C',
|
||||
category: 'Language',
|
||||
route: '/library/c.svg',
|
||||
url: 'https://en.wikipedia.org/wiki/C_(programming_language)'
|
||||
},
|
||||
{
|
||||
title: 'C++',
|
||||
category: 'Language',
|
||||
route: '/library/c++.svg',
|
||||
url: 'https://en.wikipedia.org/wiki/C%2B%2B'
|
||||
},
|
||||
{
|
||||
title: 'Cobol',
|
||||
category: 'Language',
|
||||
route: '/library/cobol.svg',
|
||||
url: 'https://en.wikipedia.org/wiki/COBOL'
|
||||
},
|
||||
{
|
||||
title: 'Fortran',
|
||||
category: 'Language',
|
||||
route: '/library/fortran.svg',
|
||||
url: 'https://en.wikipedia.org/wiki/Fortran'
|
||||
},
|
||||
{
|
||||
title: 'Haskell',
|
||||
category: 'Language',
|
||||
route: '/library/haskell.svg',
|
||||
url: 'https://www.haskell.org/'
|
||||
},
|
||||
{
|
||||
title: 'matlab',
|
||||
category: 'Language',
|
||||
route: '/library/matlab.svg',
|
||||
url: 'https://www.mathworks.com/products/matlab.html'
|
||||
},
|
||||
{
|
||||
title: 'R',
|
||||
category: 'Language',
|
||||
route: {
|
||||
light: '/library/r.svg',
|
||||
dark: '/library/r_dark.svg'
|
||||
},
|
||||
url: 'https://www.r-project.org/'
|
||||
},
|
||||
{
|
||||
title: 'Rust',
|
||||
category: 'Language',
|
||||
route: {
|
||||
light: '/library/rust.svg',
|
||||
dark: '/library/rust_dark.svg'
|
||||
},
|
||||
url: 'https://www.rust-lang.org/'
|
||||
},
|
||||
{
|
||||
title: 'Zig',
|
||||
category: 'Language',
|
||||
route: '/library/zig.svg',
|
||||
url: 'https://ziglang.org/'
|
||||
},
|
||||
{
|
||||
title: 'Instatus',
|
||||
category: 'Software',
|
||||
route: {
|
||||
light: '/library/instatus.svg',
|
||||
dark: '/library/instatus_dark.svg'
|
||||
},
|
||||
url: 'https://instatus.com'
|
||||
},
|
||||
{
|
||||
title: 'Front',
|
||||
category: 'Software',
|
||||
route: '/library/front.svg',
|
||||
url: 'https://front.com'
|
||||
},
|
||||
{
|
||||
title: 'Monero',
|
||||
category: 'Crypto',
|
||||
route: '/library/monero.svg',
|
||||
url: 'https://www.getmonero.org/'
|
||||
},
|
||||
{
|
||||
title: 'Axiom',
|
||||
category: 'Software',
|
||||
route: {
|
||||
dark: '/library/axiom-dark.svg',
|
||||
light: '/library/axiom-light.svg'
|
||||
},
|
||||
url: 'https://axiom.co/'
|
||||
},
|
||||
{
|
||||
title: 'Django',
|
||||
category: 'Framework',
|
||||
route: '/library/django.svg',
|
||||
url: 'https://www.djangoproject.com/'
|
||||
},
|
||||
{
|
||||
title: 'Zeabur',
|
||||
category: 'Hosting',
|
||||
route: {
|
||||
light: '/library/zeabur-light.svg',
|
||||
dark: '/library/zeabur-dark.svg'
|
||||
},
|
||||
url: 'https://zeabur.com/'
|
||||
},
|
||||
{
|
||||
title: 'MetaMask',
|
||||
category: 'Crypto',
|
||||
route: '/library/metamask.svg',
|
||||
url: 'https://metamask.io/'
|
||||
},
|
||||
{
|
||||
title: 'shadcn/ui',
|
||||
category: 'Library',
|
||||
route: {
|
||||
light: '/library/shadcn-ui.svg',
|
||||
dark: '/library/shadcn-ui_dark.svg'
|
||||
},
|
||||
url: 'https://ui.shadcn.com/'
|
||||
},
|
||||
{
|
||||
title: 'putio',
|
||||
category: 'Software',
|
||||
route: '/library/putio.svg',
|
||||
url: 'https://put.io/'
|
||||
},
|
||||
{
|
||||
title: 'Pinterest',
|
||||
category: 'Social',
|
||||
route: '/library/pinterest.svg',
|
||||
url: 'https://pinterest.com/'
|
||||
},
|
||||
{
|
||||
title: 'Reflex',
|
||||
category: 'Software',
|
||||
route: {
|
||||
light: '/library/reflex-dark.svg',
|
||||
dark: '/library/reflex-light.svg'
|
||||
},
|
||||
url: 'https://reflex.dev/'
|
||||
},
|
||||
{
|
||||
title: 'Stripe',
|
||||
category: 'Software',
|
||||
route: '/library/stripe.svg',
|
||||
url: 'https://stripe.com/'
|
||||
},
|
||||
{
|
||||
title: 'Linux',
|
||||
category: 'Software',
|
||||
route: '/library/linux.svg',
|
||||
url: 'https://www.linux.org/'
|
||||
},
|
||||
{
|
||||
title: 'XD',
|
||||
category: 'Design',
|
||||
route: '/library/adobe-xd.svg',
|
||||
url: 'https://helpx.adobe.com/xd/get-started.html'
|
||||
},
|
||||
{
|
||||
title: 'Axure',
|
||||
category: 'Design',
|
||||
route: '/library/axure.svg',
|
||||
url: 'https://www.axure.com/'
|
||||
},
|
||||
{
|
||||
title: 'Penpot',
|
||||
category: 'Design',
|
||||
route: {
|
||||
light: '/library/penpot.svg',
|
||||
dark: '/library/penpot_dark.svg'
|
||||
},
|
||||
url: 'https://penpot.app/'
|
||||
},
|
||||
{
|
||||
title: 'Sketch',
|
||||
category: 'Design',
|
||||
route: {
|
||||
light: '/library/sketch_light.svg',
|
||||
dark: '/library/sketch.svg'
|
||||
},
|
||||
url: 'https://www.sketch.com/'
|
||||
},
|
||||
{
|
||||
title: 'Gimp',
|
||||
category: 'Design',
|
||||
route: '/library/gimp.svg',
|
||||
url: 'https://www.gimp.org/'
|
||||
},
|
||||
{
|
||||
title: 'Ubuntu',
|
||||
category: 'Software',
|
||||
route: '/library/ubuntu.svg',
|
||||
url: 'https://ubuntu.com/'
|
||||
},
|
||||
{
|
||||
title: 'Cypress',
|
||||
category: 'Framework',
|
||||
route: '/library/cypress.svg',
|
||||
url: 'https://www.cypress.io/'
|
||||
},
|
||||
{
|
||||
title: 'Reddit',
|
||||
category: 'Social',
|
||||
route: '/library/reddit.svg',
|
||||
url: 'https://www.reddit.com/'
|
||||
},
|
||||
{
|
||||
title: 'JetBrains WebStorm',
|
||||
category: 'Software',
|
||||
route: '/library/webstorm.svg',
|
||||
url: 'https://www.jetbrains.com/webstorm/'
|
||||
},
|
||||
{
|
||||
title: 'JetBrains PyCharm',
|
||||
category: 'Software',
|
||||
route: '/library/pycharm.svg',
|
||||
url: 'https://www.jetbrains.com/pycharm/'
|
||||
},
|
||||
{
|
||||
title: 'JetBrains Fleet',
|
||||
category: 'Software',
|
||||
route: '/library/fleet.svg',
|
||||
url: 'https://www.jetbrains.com/fleet/'
|
||||
},
|
||||
{
|
||||
title: 'JetBrains RubyMine',
|
||||
category: 'Software',
|
||||
route: '/library/rubymine.svg',
|
||||
url: 'https://www.jetbrains.com/ruby/'
|
||||
},
|
||||
{
|
||||
title: 'JetBrains PhpStorm',
|
||||
category: 'Software',
|
||||
route: '/library/phpstorm.svg',
|
||||
url: 'https://www.jetbrains.com/phpstorm/'
|
||||
},
|
||||
{
|
||||
title: 'MonkeyType',
|
||||
category: 'Software',
|
||||
route: '/library/monkeytype.svg',
|
||||
url: 'https://monkeytype.com/'
|
||||
},
|
||||
{
|
||||
title: 'PyCharm',
|
||||
category: 'Software',
|
||||
route: '/library/pycharm.svg',
|
||||
url: 'https://www.jetbrains.com/pycharm/'
|
||||
},
|
||||
{
|
||||
title: 'Shopify',
|
||||
category: 'CMS',
|
||||
route: '/library/shopify.svg',
|
||||
wordmark: {
|
||||
dark: '/library/shopify-wordmark-dark.svg',
|
||||
light: '/library/shopify-wordmark-light.svg'
|
||||
},
|
||||
url: 'https://www.shopify.com'
|
||||
},
|
||||
{
|
||||
title: 'WebFlow',
|
||||
category: 'CMS',
|
||||
route: '/library/webflow.svg',
|
||||
url: 'https://www.webflow.com'
|
||||
},
|
||||
{
|
||||
title: 'Sanity',
|
||||
category: 'CMS',
|
||||
route: '/library/sanity.svg',
|
||||
url: 'https://www.sanity.io'
|
||||
},
|
||||
{
|
||||
title: 'sky',
|
||||
category: 'Entertainment',
|
||||
route: '/library/sky.svg',
|
||||
url: 'https://www.sky.com'
|
||||
},
|
||||
{
|
||||
title: 'Airbnb',
|
||||
category: 'Software',
|
||||
route: '/library/airbnb.svg',
|
||||
wordmark: '/library/airbnb-wordmark.svg',
|
||||
url: 'https://www.airbnb.com'
|
||||
},
|
||||
{
|
||||
title: 'Uber',
|
||||
category: 'Software',
|
||||
route: {
|
||||
light: '/library/uber_light.svg',
|
||||
dark: '/library/uber_dark.svg'
|
||||
},
|
||||
url: 'https://www.uber.com'
|
||||
},
|
||||
{
|
||||
title: 'Gmail',
|
||||
category: 'Software',
|
||||
route: '/library/gmail.svg',
|
||||
url: 'https://www.gmail.com'
|
||||
},
|
||||
{
|
||||
title: 'Outlook',
|
||||
category: 'Software',
|
||||
route: '/library/outlook.svg',
|
||||
url: 'https://www.outlook.com'
|
||||
},
|
||||
{
|
||||
title: 'Slack',
|
||||
category: 'Software',
|
||||
route: '/library/slack.svg',
|
||||
wordmark: '/library/slack-wordmark.svg',
|
||||
url: 'https://www.slack.com'
|
||||
},
|
||||
{
|
||||
title: 'Snapchat',
|
||||
category: 'Software',
|
||||
route: '/library/snapchat.svg',
|
||||
url: 'https://www.snapchat.com'
|
||||
},
|
||||
{
|
||||
title: 'Ebay',
|
||||
category: 'Software',
|
||||
route: '/library/ebay.svg',
|
||||
url: 'https://www.ebay.com'
|
||||
},
|
||||
{
|
||||
title: 'IBM',
|
||||
category: 'Software',
|
||||
route: '/library/ibm.svg',
|
||||
url: 'https://www.ibm.com'
|
||||
},
|
||||
{
|
||||
title: 'TrustPilot',
|
||||
category: 'Software',
|
||||
route: '/library/trustpilot.svg',
|
||||
url: 'https://www.trustpilot.com'
|
||||
},
|
||||
{
|
||||
title: 'Raycast',
|
||||
category: 'Software',
|
||||
route: '/library/raycast.svg',
|
||||
url: 'https://raycast.com/'
|
||||
},
|
||||
{
|
||||
title: 'Procure',
|
||||
category: 'Marketplace',
|
||||
route: '/library/procure.svg',
|
||||
url: 'https://procure.biz/'
|
||||
},
|
||||
{
|
||||
title: 'Julia',
|
||||
category: 'Language',
|
||||
route: '/library/julia.svg',
|
||||
url: 'https://julialang.org/'
|
||||
},
|
||||
{
|
||||
title: 'SWC',
|
||||
category: 'Compiler',
|
||||
route: '/library/swc.svg',
|
||||
url: 'https://swc.rs/'
|
||||
},
|
||||
{
|
||||
title: 'PlayStation',
|
||||
category: 'Software',
|
||||
route: '/library/playstation.svg',
|
||||
url: 'https://www.playstation.com/'
|
||||
},
|
||||
{
|
||||
title: 'Xbox',
|
||||
category: 'Software',
|
||||
route: '/library/xbox.svg',
|
||||
url: 'https://www.xbox.com/'
|
||||
},
|
||||
{
|
||||
title: 'Cody',
|
||||
category: 'AI',
|
||||
route: '/library/cody.svg',
|
||||
url: 'https://about.sourcegraph.com/'
|
||||
},
|
||||
{
|
||||
title: 'Sourcegraph',
|
||||
category: 'AI',
|
||||
route: '/library/sourcegraph.svg',
|
||||
url: 'https://about.sourcegraph.com/'
|
||||
},
|
||||
{
|
||||
title: 'Claude AI',
|
||||
category: 'AI',
|
||||
route: '/library/claude-ai.svg',
|
||||
url: 'https://claude.ai/'
|
||||
},
|
||||
{
|
||||
title: 'Perplexity AI',
|
||||
category: 'AI',
|
||||
route: '/library/perplexity.svg',
|
||||
url: 'https://perplexity.ai/'
|
||||
},
|
||||
{
|
||||
title: 'Spring',
|
||||
category: 'Framework',
|
||||
route: '/library/spring.svg',
|
||||
url: 'https://spring.io/'
|
||||
},
|
||||
{
|
||||
title: 'Directus',
|
||||
category: 'CMS',
|
||||
route: '/library/directus.svg',
|
||||
url: 'https://directus.io/'
|
||||
},
|
||||
{
|
||||
title: 'Pnpm',
|
||||
category: 'Software',
|
||||
route: {
|
||||
light: '/library/pnpm.svg',
|
||||
dark: '/library/pnpm_dark.svg'
|
||||
},
|
||||
url: 'https://pnpm.io/'
|
||||
},
|
||||
{
|
||||
title: 'Emacs',
|
||||
category: 'Software',
|
||||
route: '/library/emacs.svg',
|
||||
url: 'https://www.gnu.org/software/emacs/'
|
||||
},
|
||||
{
|
||||
title: 'Svgl',
|
||||
category: 'Library',
|
||||
route: '/library/svgl.svg',
|
||||
url: 'https://svgl.app'
|
||||
},
|
||||
{
|
||||
title: 'Google Idx',
|
||||
category: 'Software',
|
||||
route: '/library/google-idx.svg',
|
||||
url: 'https://idx.dev/'
|
||||
},
|
||||
{
|
||||
title: 'Bluesky',
|
||||
category: 'Social',
|
||||
route: '/library/bluesky.svg',
|
||||
url: 'https://blueskyweb.xyz/'
|
||||
},
|
||||
{
|
||||
title: 'Remix',
|
||||
category: 'Framework',
|
||||
route: {
|
||||
light: '/library/remix_light.svg',
|
||||
dark: '/library/remix_dark.svg'
|
||||
},
|
||||
url: 'https://remix.run/'
|
||||
},
|
||||
{
|
||||
title: 'Steam',
|
||||
category: 'Software',
|
||||
route: '/library/steam.svg',
|
||||
url: 'https://store.steampowered.com/'
|
||||
},
|
||||
{
|
||||
title: 'Tabby',
|
||||
category: 'Software',
|
||||
route: '/library/tabby.svg',
|
||||
url: 'https://tabby.sh/'
|
||||
},
|
||||
{
|
||||
title: '1Password',
|
||||
category: 'Software',
|
||||
route: {
|
||||
light: '/library/1password-light.svg',
|
||||
dark: '/library/1password-dark.svg'
|
||||
},
|
||||
url: 'https://1password.com'
|
||||
},
|
||||
{
|
||||
title: 'Flask',
|
||||
category: 'Framework',
|
||||
route: {
|
||||
light: '/library/flask-light.svg',
|
||||
dark: '/library/flask-dark.svg'
|
||||
},
|
||||
url: 'https://flask.palletsprojects.com/'
|
||||
},
|
||||
{
|
||||
title: 'Alacritty',
|
||||
category: 'Software',
|
||||
route: '/library/alacritty.svg',
|
||||
url: 'https://alacritty.org'
|
||||
},
|
||||
{
|
||||
title: 'Qt',
|
||||
category: 'Software',
|
||||
route: '/library/qt.svg',
|
||||
url: 'https://www.qt.io/'
|
||||
},
|
||||
{
|
||||
title: 'Bitwarden',
|
||||
category: 'Software',
|
||||
route: '/library/bitwarden.svg',
|
||||
url: 'https://bitwarden.com/'
|
||||
},
|
||||
{
|
||||
title: 'Voicemod',
|
||||
category: 'Entertainment',
|
||||
route: {
|
||||
light: '/library/voicemod_light.svg',
|
||||
dark: '/library/voicemod_dark.svg'
|
||||
},
|
||||
url: 'https://voicemod.net/'
|
||||
},
|
||||
{
|
||||
title: 'Neovim',
|
||||
category: 'Software',
|
||||
route: '/library/neovim.svg',
|
||||
url: 'https://neovim.io/'
|
||||
},
|
||||
{
|
||||
title: 'Pitch',
|
||||
category: 'Design',
|
||||
route: '/library/pitch.svg',
|
||||
url: 'https://pitch.com'
|
||||
},
|
||||
{
|
||||
title: 'Biomejs',
|
||||
category: 'Compiler',
|
||||
route: '/library/biomejs.svg',
|
||||
url: 'https://biomejs.dev/'
|
||||
},
|
||||
{
|
||||
title: 'Gradio',
|
||||
category: 'Software',
|
||||
route: '/library/gradio.svg',
|
||||
url: 'https://www.gradio.app/'
|
||||
},
|
||||
{
|
||||
title: 'Meta',
|
||||
category: 'Social',
|
||||
route: '/library/meta.svg',
|
||||
url: 'https://about.meta.com/es/'
|
||||
},
|
||||
{
|
||||
title: 'Stability AI',
|
||||
category: 'AI',
|
||||
route: '/library/stability-ai.svg',
|
||||
url: 'https://stability.ai/'
|
||||
},
|
||||
{
|
||||
title: 'Google PaLM',
|
||||
category: 'AI',
|
||||
route: '/library/google-palm.svg',
|
||||
url: 'https://ai.google/discover/palm2/'
|
||||
},
|
||||
{
|
||||
title: 'Android',
|
||||
category: 'Software',
|
||||
route: '/library/android-icon.svg',
|
||||
url: 'https://www.android.com/'
|
||||
},
|
||||
{
|
||||
title: 'Sentry',
|
||||
category: 'Software',
|
||||
route: '/library/sentry.svg',
|
||||
url: 'https://sentry.io/'
|
||||
},
|
||||
{
|
||||
title: 'Grafana',
|
||||
category: 'Software',
|
||||
route: '/library/grafana.svg',
|
||||
url: 'https://grafana.com/'
|
||||
},
|
||||
{
|
||||
title: 'Notion',
|
||||
category: 'Software',
|
||||
route: '/library/notion.svg',
|
||||
url: 'https://notion.so/'
|
||||
},
|
||||
{
|
||||
title: 'Litecoin',
|
||||
category: 'Crypto',
|
||||
route: '/library/litecoin.svg',
|
||||
url: 'https://litecoin.org/'
|
||||
},
|
||||
{
|
||||
title: 'ElysiaJS',
|
||||
category: 'Framework',
|
||||
route: '/library/elysiajs.svg',
|
||||
url: 'https://elysiajs.com/'
|
||||
},
|
||||
{
|
||||
title: 'TensorFlow',
|
||||
category: 'Library',
|
||||
route: '/library/tensorflow.svg',
|
||||
url: 'https://www.tensorflow.org/'
|
||||
},
|
||||
{
|
||||
title: 'Midday',
|
||||
category: 'AI',
|
||||
route: '/library/midday.svg',
|
||||
url: 'https://midday.ai/'
|
||||
},
|
||||
{
|
||||
title: 'C#',
|
||||
category: 'Language',
|
||||
route: '/library/csharp.svg',
|
||||
url: 'https://dotnet.microsoft.com/languages/csharp'
|
||||
},
|
||||
{
|
||||
title: 'Replicate',
|
||||
category: 'AI',
|
||||
route: {
|
||||
light: '/library/replicate_light.svg',
|
||||
dark: '/library/replicate_dark.svg'
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/replicate-wordmark_light.svg',
|
||||
dark: '/library/replicate-wordmark_dark.svg'
|
||||
},
|
||||
url: 'https://replicate.com/'
|
||||
},
|
||||
{
|
||||
title: 'Markdown',
|
||||
category: 'Language',
|
||||
route: {
|
||||
light: '/library/markdown-light.svg',
|
||||
dark: '/library/markdown-dark.svg'
|
||||
},
|
||||
url: 'https://www.markdownguide.org/'
|
||||
},
|
||||
{
|
||||
title: 'Movie Web',
|
||||
category: 'Entertainment',
|
||||
route: '/library/movie-web.svg',
|
||||
url: 'https://movie-web.app/'
|
||||
},
|
||||
{
|
||||
title: 'Radix UI',
|
||||
category: 'Library',
|
||||
route: {
|
||||
light: '/library/radix-ui_light.svg',
|
||||
dark: '/library/radix-ui_dark.svg'
|
||||
},
|
||||
url: 'https://www.radix-ui.com/'
|
||||
}
|
||||
];
|
||||
|
||||
@@ -0,0 +1,182 @@
|
||||
---
|
||||
title: API Reference
|
||||
description: The API reference is a detailed documentation of all the endpoints available in the SVGL API.
|
||||
---
|
||||
|
||||
<script>
|
||||
import Endpoint from '../components/endpoints.svelte';
|
||||
</script>
|
||||
|
||||
## Introduction
|
||||
|
||||
SVGL API is a RESTFul API that allows you to get all the information of the SVGs that are in the repository.
|
||||
|
||||
## Limitations
|
||||
|
||||
The API is currently open to everyone and does not require any authentication. However, to prevent abusive use of the API, there is a limit to the number of requests: **5 requests** with **60s** cooldown.
|
||||
|
||||
## Base URL
|
||||
|
||||
The base URL for the API is:
|
||||
|
||||
```bash
|
||||
https://svgl.app/api/svgs
|
||||
# or
|
||||
https://svgl.app/api/categories
|
||||
```
|
||||
|
||||
## Typescript usage
|
||||
|
||||
- For categories:
|
||||
|
||||
```ts
|
||||
export interface Category {
|
||||
category: string;
|
||||
total: number;
|
||||
}
|
||||
```
|
||||
|
||||
- For SVGs:
|
||||
|
||||
```ts
|
||||
type ThemeOptions = {
|
||||
light: string;
|
||||
dark: string;
|
||||
};
|
||||
|
||||
export interface iSVG {
|
||||
id: number;
|
||||
title: string;
|
||||
category: string | string[];
|
||||
route: string | ThemeOptions;
|
||||
wordmark?: string | ThemeOptions;
|
||||
url: string;
|
||||
}
|
||||
```
|
||||
|
||||
## Endpoints
|
||||
|
||||
<Endpoint title="Get all SVGs" method="GET" description="Returns all the SVGs in the repository.">
|
||||
|
||||
```bash
|
||||
/api/svgs
|
||||
```
|
||||
|
||||
<p></p>
|
||||
|
||||
```json
|
||||
// Returns:
|
||||
[
|
||||
{
|
||||
"id": 0,
|
||||
"title": "Discord",
|
||||
"category": "Software",
|
||||
"route": "https://svgl.app/library/discord.svg",
|
||||
"url": "https://discord.com/"
|
||||
},
|
||||
...
|
||||
]
|
||||
```
|
||||
|
||||
</Endpoint>
|
||||
|
||||
<Endpoint title="Get a limited number of SVGs" method="GET" description="Returns a limited number of SVGs in the repository. Start from the first SVG.">
|
||||
|
||||
```bash
|
||||
/api/svgs?limit=10
|
||||
```
|
||||
|
||||
<p></p>
|
||||
|
||||
```json
|
||||
// Returns:
|
||||
[
|
||||
{
|
||||
"id": 0,
|
||||
"title": "Discord",
|
||||
"category": "Software",
|
||||
"route": "https://svgl.app/library/discord.svg",
|
||||
"url": "https://discord.com/"
|
||||
},
|
||||
...
|
||||
]
|
||||
```
|
||||
|
||||
</Endpoint>
|
||||
|
||||
<Endpoint title="Filter SVGs by category" method="GET" description="Returns all the SVGs in the repository that match the category.">
|
||||
|
||||
```bash
|
||||
/api/svgs?category=software
|
||||
```
|
||||
|
||||
<p></p>
|
||||
|
||||
```json
|
||||
// Returns:
|
||||
[
|
||||
{
|
||||
"id": 0,
|
||||
"title": "Discord",
|
||||
"category": "Software",
|
||||
"route": "https://svgl.app/library/discord.svg",
|
||||
"url": "https://discord.com/"
|
||||
},
|
||||
...
|
||||
]
|
||||
```
|
||||
|
||||
The list of categories is available [here](https://github.com/pheralb/svgl/blob/main/src/types/categories.ts) (except for the _all_ category).
|
||||
|
||||
</Endpoint>
|
||||
|
||||
<Endpoint title="Get only categories" method="GET" description="Returns only categories with the number of SVGs in each category.">
|
||||
|
||||
```bash
|
||||
/api/categories
|
||||
```
|
||||
|
||||
<p></p>
|
||||
|
||||
```json
|
||||
// Returns:
|
||||
[
|
||||
{
|
||||
"category": "Software",
|
||||
"total": 97
|
||||
},
|
||||
{
|
||||
"category": "Library",
|
||||
"total": 25
|
||||
},
|
||||
...
|
||||
]
|
||||
```
|
||||
|
||||
</Endpoint>
|
||||
|
||||
<Endpoint title="Search SVGs by name" method="GET" description="Returns all the SVGs in the repository that match the name.">
|
||||
|
||||
```bash
|
||||
/api/svgs?search=axiom
|
||||
```
|
||||
|
||||
<p></p>
|
||||
|
||||
```json
|
||||
// Returns:
|
||||
[
|
||||
{
|
||||
"id": 267,
|
||||
"title": "Axiom",
|
||||
"category": "Software",
|
||||
"route": {
|
||||
"light": "https://svgl.app/library/axiom-light.svg",
|
||||
"dark": "https://svgl.app/library/axiom-dark.svg"
|
||||
},
|
||||
"url": "https://axiom.co/"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
</Endpoint>
|
||||
@@ -0,0 +1,37 @@
|
||||
declare const SITE_URL: string
|
||||
|
||||
figma.showUI(`<script>window.location.href = '${SITE_URL}'</script>`, {
|
||||
width: 400,
|
||||
height: 700,
|
||||
})
|
||||
|
||||
|
||||
figma.ui.onmessage = async (message, props) => {
|
||||
if (!SITE_URL.includes(props.origin)) {
|
||||
return
|
||||
}
|
||||
|
||||
switch (message.type) {
|
||||
case 'EVAL': {
|
||||
const fn = eval.call(null, message.code)
|
||||
|
||||
try {
|
||||
const result = await fn(figma, message.params)
|
||||
figma.ui.postMessage({
|
||||
type: 'EVAL_RESULT',
|
||||
result,
|
||||
id: message.id,
|
||||
})
|
||||
} catch (e) {
|
||||
figma.ui.postMessage({
|
||||
type: 'EVAL_REJECT',
|
||||
error: typeof e === 'string' ? e : e && typeof e === 'object' && 'message' in e ? e.message : null,
|
||||
id: message.id,
|
||||
})
|
||||
}
|
||||
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
export function copyToClipboard(value: string) {
|
||||
try {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
if (window.copy) {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
// @ts-ignore
|
||||
window.copy(value);
|
||||
} else {
|
||||
const area = document.createElement('textarea');
|
||||
document.body.appendChild(area);
|
||||
area.value = value;
|
||||
// area.focus();
|
||||
area.select();
|
||||
const result = document.execCommand('copy');
|
||||
document.body.removeChild(area);
|
||||
if (!result) {
|
||||
throw new Error();
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(`Unable to copy the value: ${value}`);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
/**
|
||||
* This is a magic file that allows us to run code in the Figma plugin context
|
||||
* from the iframe. It does this by getting the code as a string, and sending it
|
||||
* to the plugin via postMessage. The plugin then evals the code and sends the
|
||||
* result back to the iframe. There are a few caveats:
|
||||
* 1. The code cannot reference any variables outside of the function. This is
|
||||
* because the code is stringified and sent to the plugin, and the plugin
|
||||
* evals it. The plugin has no access to the variables in the iframe.
|
||||
* 2. The return value of the function must be JSON serializable. This is
|
||||
* because the result is sent back to the iframe via postMessage, which only
|
||||
* supports JSON.
|
||||
*
|
||||
* You can get around these limitations by passing in the variables you need
|
||||
* as parameters to the function.
|
||||
*
|
||||
* @example
|
||||
* ```ts
|
||||
* const result = await figmaAPI.run((figma, {nodeId}) => {
|
||||
* return figma.getNodeById(nodeId)?.name;
|
||||
* }, {nodeId: "0:2"});
|
||||
*
|
||||
* console.log(result); // "Page 1"
|
||||
* ```
|
||||
*/
|
||||
class FigmaAPI {
|
||||
private id = 0
|
||||
|
||||
/**
|
||||
* Run a function in the Figma plugin context. The function cannot reference
|
||||
* any variables outside of itself, and the return value must be JSON
|
||||
* serializable. If you need to pass in variables, you can do so by passing
|
||||
* them as the second parameter.
|
||||
*/
|
||||
run<T, U>(fn: (figma: PluginAPI, params: U) => Promise<T> | T, params?: U): Promise<T> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const id = this.id++
|
||||
const cb = (event: MessageEvent) => {
|
||||
if (event.origin !== 'https://www.figma.com' && event.origin !== 'https://staging.figma.com') {
|
||||
return
|
||||
}
|
||||
|
||||
if (event.data.pluginMessage?.type === 'EVAL_RESULT') {
|
||||
if (event.data.pluginMessage.id === id) {
|
||||
window.removeEventListener('message', cb)
|
||||
resolve(event.data.pluginMessage.result)
|
||||
}
|
||||
}
|
||||
|
||||
if (event.data.pluginMessage?.type === 'EVAL_REJECT') {
|
||||
if (event.data.pluginMessage.id === id) {
|
||||
window.removeEventListener('message', cb)
|
||||
const message = event.data.pluginMessage.error
|
||||
reject(new Error(typeof message === 'string' ? message : 'An error occurred in FigmaAPI.run()'))
|
||||
}
|
||||
}
|
||||
}
|
||||
window.addEventListener('message', cb)
|
||||
|
||||
const msg = {
|
||||
pluginMessage: {
|
||||
type: 'EVAL',
|
||||
code: fn.toString(),
|
||||
id,
|
||||
params,
|
||||
},
|
||||
pluginId: '*',
|
||||
}
|
||||
|
||||
;['https://www.figma.com', 'https://staging.figma.com'].forEach((origin) => {
|
||||
try {
|
||||
parent.postMessage(msg, origin)
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export const figmaAPI = new FigmaAPI()
|
||||
@@ -0,0 +1,22 @@
|
||||
import { figmaAPI } from './figma-api'
|
||||
|
||||
export async function insertSVG(svgString: string) {
|
||||
if (!svgString) return
|
||||
|
||||
figmaAPI.run(
|
||||
async (figma, { svgString }: { svgString: string }) => {
|
||||
const node = figma.createNodeFromSvg(svgString)
|
||||
const selectedNode = figma.currentPage.selection[0]
|
||||
|
||||
if (selectedNode) {
|
||||
node.x = selectedNode.x + selectedNode.width + 20
|
||||
node.y = selectedNode.y
|
||||
}
|
||||
|
||||
figma.currentPage.appendChild(node)
|
||||
figma.currentPage.selection = [node]
|
||||
figma.viewport.scrollAndZoomIntoView([node])
|
||||
},
|
||||
{ svgString },
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "SVGL",
|
||||
"id": "1320306989350693206",
|
||||
"api": "1.0.0",
|
||||
"main": "dist/code.js",
|
||||
"enableProposedApi": false,
|
||||
"editorType": ["figma", "figjam"],
|
||||
"permissions": ["currentuser"],
|
||||
"networkAccess": {
|
||||
"allowedDomains": ["*"],
|
||||
"reasoning": "Internet access for local development."
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
import type { LayoutServerLoad } from './$types';
|
||||
import { fetchGitHubStars } from '@/utils/getStarsRepository';
|
||||
|
||||
export const load: LayoutServerLoad = async ({ url: { pathname } }) => {
|
||||
return { pathname };
|
||||
const stars = await fetchGitHubStars();
|
||||
return { pathname, stars };
|
||||
};
|
||||
|
||||
@@ -8,107 +8,76 @@
|
||||
// Get categories:
|
||||
import { svgs } from '@/data/svgs';
|
||||
const categories = svgs
|
||||
.map((svg) => svg.category)
|
||||
.flatMap((svg) => Array.isArray(svg.category) ? svg.category : [svg.category])
|
||||
.filter((category, index, array) => array.indexOf(category) === index);
|
||||
|
||||
// Icons:
|
||||
import Heart from 'phosphor-svelte/lib/Heart';
|
||||
import ArrowUpRight from 'phosphor-svelte/lib/ArrowUpRight';
|
||||
import ArrowLeft from 'phosphor-svelte/lib/ArrowLeft';
|
||||
|
||||
// Toaster:
|
||||
import { Toaster } from 'svelte-french-toast';
|
||||
import { Toaster } from 'svelte-sonner';
|
||||
|
||||
// Components for all pages:
|
||||
import Transition from '@/components/transition.svelte';
|
||||
import Container from '@/components/container.svelte';
|
||||
import Theme from '@/components/theme.svelte';
|
||||
import Warning from '@/components/warning.svelte';
|
||||
|
||||
// Layout:
|
||||
import Navbar from '@/components/navbar.svelte';
|
||||
import { cn } from '@/utils/cn';
|
||||
</script>
|
||||
|
||||
<main class="min-h-screen bg-light font-sans text-mini dark:bg-dark dark:text-white">
|
||||
<nav
|
||||
class="z-50 w-full overflow-y-auto overflow-x-hidden border-b border-neutral-800 md:fixed md:top-0 md:left-0 md:h-full md:w-60 md:border-none md:pb-10"
|
||||
<Navbar currentPath={data.pathname} />
|
||||
<main>
|
||||
<aside
|
||||
class={cn(
|
||||
'z-50 w-full overflow-y-auto overflow-x-hidden',
|
||||
'dark:border-neutral-800 md:fixed md:left-0 md:h-full md:w-56 md:pb-10',
|
||||
'bg-white dark:bg-neutral-900',
|
||||
'backdrop-blur-md opacity-95',
|
||||
'border-r border-neutral-200 dark:border-neutral-800'
|
||||
)}
|
||||
>
|
||||
<div class="px-6 py-6">
|
||||
<div class="mb-3 border-b border-neutral-300 pb-3 dark:border-neutral-700/40">
|
||||
<div class="flex items-center justify-between">
|
||||
<a href="/">
|
||||
<div
|
||||
class="flex items-center space-x-2 duration-150 hover:text-neutral-500 dark:hover:text-neutral-300"
|
||||
>
|
||||
<h3 class="text-xl font-medium">svgl</h3>
|
||||
<p class="text-neutral-500">v3.0.0</p>
|
||||
</div>
|
||||
</a>
|
||||
<Theme />
|
||||
</div>
|
||||
<p class="mt-2 font-medium text-neutral-400">✨ Optimized SVGs for web</p>
|
||||
</div>
|
||||
<div
|
||||
class="flex items-center space-x-1 overflow-y-auto border-b border-neutral-300 pb-3 dark:border-neutral-700/40 md:mb-3 md:flex-col md:space-x-0 md:space-y-1 md:overflow-y-visible"
|
||||
<div class="md:px-6 md:py-6">
|
||||
<nav
|
||||
class="flex items-center space-x-1 overflow-y-auto md:mb-3 md:flex-col md:space-x-0 md:space-y-1 md:overflow-y-visible px-5 md:px-0 pb-2 pt-3 md:pt-0"
|
||||
>
|
||||
{#each categories as category}
|
||||
<a
|
||||
href="/"
|
||||
class={`flex w-full items-center rounded-md p-2 transition-none duration-100 hover:bg-neutral-200 dark:hover:bg-neutral-700/40 text-neutral-600 hover:text-dark dark:hover:text-white dark:text-neutral-400 ${
|
||||
data.pathname === `/`
|
||||
? 'bg-neutral-200 dark:bg-neutral-700/30 font-medium dark:text-white text-dark'
|
||||
: ''
|
||||
}`}
|
||||
data-sveltekit-preload-data>All</a
|
||||
>
|
||||
<!-- Order alfabetically: -->
|
||||
{#each categories.sort() as category}
|
||||
<a
|
||||
href={`/directory/${category.toLowerCase()}`}
|
||||
class={`flex w-full items-center rounded-md p-2 transition-none duration-100 hover:bg-neutral-200 dark:hover:bg-neutral-700/40
|
||||
${
|
||||
data.pathname === `/directory/${category.toLowerCase()}`
|
||||
? 'bg-neutral-200 dark:bg-neutral-700/30'
|
||||
: ''
|
||||
}`}
|
||||
data-sveltekit-preload-data>{category}</a
|
||||
class={cn(
|
||||
'flex w-full items-center justify-between rounded-md p-2 transition-none duration-100 text-neutral-600 hover:text-dark dark:hover:text-white dark:text-neutral-400 hover:bg-neutral-200 dark:hover:bg-neutral-700/40',
|
||||
data.pathname === `/directory/${category.toLowerCase()}`
|
||||
? 'bg-neutral-200 dark:bg-neutral-700/30 font-medium dark:text-white text-dark'
|
||||
: ''
|
||||
)}
|
||||
>
|
||||
<span>{category}</span>
|
||||
</a>
|
||||
{/each}
|
||||
</div>
|
||||
<div
|
||||
class="mt-3 flex flex-row items-center space-x-2 border-b border-neutral-300 pb-3 dark:border-neutral-700/40 md:mt-0 md:flex-col md:space-x-0 md:space-y-1"
|
||||
>
|
||||
<a
|
||||
href="https://github.com/pheralb/svgl#-getting-started"
|
||||
target="_blank"
|
||||
class="flex w-full items-center space-x-2 rounded-md p-2 duration-100 hover:bg-neutral-200 dark:hover:bg-neutral-700/40"
|
||||
>
|
||||
<span>Submit logo</span>
|
||||
<ArrowUpRight size={16} />
|
||||
</a>
|
||||
<a
|
||||
href="https://github.com/pheralb/svgl#-getting-started"
|
||||
target="_blank"
|
||||
class="flex w-full items-center space-x-2 rounded-md p-2 duration-100 hover:bg-neutral-200 dark:hover:bg-neutral-700/40"
|
||||
>
|
||||
<span>Repository</span>
|
||||
<ArrowUpRight size={16} />
|
||||
</a>
|
||||
</div>
|
||||
<a
|
||||
href="https://twitter.com/pheralb_"
|
||||
target="_blank"
|
||||
class="mt-5 flex items-center space-x-2 duration-100 hover:text-dark dark:text-neutral-400 dark:hover:text-white"
|
||||
>
|
||||
<Heart color="#991b1b" size={18} weight={'duotone'} />
|
||||
<div class="flex items-center space-x-1">
|
||||
<p class="text-muted text-sm">Created by pheralb</p>
|
||||
<ArrowUpRight size={12} />
|
||||
</div>
|
||||
</a>
|
||||
</nav>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="py-2 md:ml-60 md:py-6">
|
||||
{#if data.pathname !== '/'}
|
||||
<Container>
|
||||
<a href="/">
|
||||
<div
|
||||
class="flex items-center space-x-2 duration-100 dark:text-neutral-400 dark:hover:text-white"
|
||||
>
|
||||
<ArrowLeft size={20} />
|
||||
<span>Back to home</span>
|
||||
</div>
|
||||
</a>
|
||||
</Container>
|
||||
{/if}
|
||||
</aside>
|
||||
<div class="ml-0 md:ml-56 pb-6">
|
||||
<Warning />
|
||||
<Transition pathname={data.pathname}>
|
||||
<slot />
|
||||
</Transition>
|
||||
<Toaster position="bottom-center" />
|
||||
<Toaster
|
||||
position="bottom-right"
|
||||
toastOptions={{
|
||||
class: 'font-sans',
|
||||
descriptionClass: 'font-mono',
|
||||
style: `background-color: #262626;
|
||||
color: #ffff;
|
||||
border-radius: 0.4rem; border: 1px solid #121212;`
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
@@ -1,47 +1,135 @@
|
||||
<script lang="ts">
|
||||
import type { iSVG } from '@/types/svg';
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
// Get all svgs:
|
||||
import { svgs } from '@/data/svgs';
|
||||
const allSvgs = JSON.parse(JSON.stringify(svgs));
|
||||
import { svgsData } from '@/data';
|
||||
const allSvgs = JSON.parse(JSON.stringify(svgsData));
|
||||
|
||||
// Components:
|
||||
import Search from '@/components/search.svelte';
|
||||
import Container from '@/components/container.svelte';
|
||||
import SvgCard from '@/components/svgCard.svelte';
|
||||
import Grid from '@/components/grid.svelte';
|
||||
import NotFound from '@/components/notFound.svelte';
|
||||
|
||||
// Icons:
|
||||
import { ArrowDown, ArrowDownUpIcon, ArrowUpDownIcon } from 'lucide-svelte';
|
||||
import { buttonStyles } from '@/ui/styles';
|
||||
|
||||
let sorted: boolean = false;
|
||||
let isFirstLoad: boolean = true;
|
||||
let showAll: boolean = false;
|
||||
|
||||
// Search:
|
||||
let searchTerm = '';
|
||||
let filteredSvgs: iSVG[] = [];
|
||||
|
||||
// Order by last added:
|
||||
if (searchTerm.length === 0) {
|
||||
filteredSvgs = allSvgs.sort((a: iSVG, b: iSVG) => {
|
||||
return b.id - a.id;
|
||||
return b.id! - a.id!;
|
||||
});
|
||||
}
|
||||
|
||||
const loadSvgs = () => {
|
||||
if (isFirstLoad || showAll) {
|
||||
filteredSvgs = allSvgs;
|
||||
isFirstLoad = false;
|
||||
} else {
|
||||
filteredSvgs = allSvgs.slice(0, 30);
|
||||
}
|
||||
};
|
||||
|
||||
// Search svgs:
|
||||
const searchSvgs = () => {
|
||||
return (filteredSvgs = allSvgs.filter((svg: iSVG) => {
|
||||
loadSvgs();
|
||||
filteredSvgs = allSvgs.filter((svg: iSVG) => {
|
||||
let svgTitle = svg.title.toLowerCase();
|
||||
return svgTitle.includes(searchTerm.toLowerCase());
|
||||
}));
|
||||
});
|
||||
};
|
||||
|
||||
// Clear search:
|
||||
const clearSearch = () => {
|
||||
searchTerm = '';
|
||||
searchSvgs();
|
||||
};
|
||||
|
||||
// Sort:
|
||||
const sort = () => {
|
||||
if (sorted) {
|
||||
sortByLatest();
|
||||
} else {
|
||||
sortAlphabetically();
|
||||
}
|
||||
sorted = !sorted;
|
||||
};
|
||||
|
||||
// Sort alphabetically:
|
||||
const sortAlphabetically = () => {
|
||||
filteredSvgs = allSvgs.sort((a: iSVG, b: iSVG) => {
|
||||
return a.title.localeCompare(b.title);
|
||||
});
|
||||
};
|
||||
|
||||
// Sort by latest:
|
||||
const sortByLatest = () => {
|
||||
filteredSvgs = filteredSvgs.sort((a: iSVG, b: iSVG) => {
|
||||
return b.id! - a.id!;
|
||||
});
|
||||
};
|
||||
|
||||
loadSvgs();
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>A beautiful library with SVG logos - Svgl</title>
|
||||
</svelte:head>
|
||||
|
||||
<Search
|
||||
bind:searchTerm
|
||||
on:input={searchSvgs}
|
||||
clearSearch={() => clearSearch()}
|
||||
placeholder={`Search ${filteredSvgs.length} logos...`}
|
||||
/>
|
||||
|
||||
<Container>
|
||||
<Search
|
||||
bind:searchTerm
|
||||
on:input={searchSvgs}
|
||||
placeholder={`Search ${filteredSvgs.length} logos...`}
|
||||
/>
|
||||
<div class="flex items-center justify-end mb-4">
|
||||
<button
|
||||
class={cn(
|
||||
'flex items-center justify-center space-x-1 rounded-md px-3 py-1.5 text-sm font-medium hover:opacity-80 transition-opacity',
|
||||
filteredSvgs.length === 0 && 'hidden'
|
||||
)}
|
||||
on:click={() => sort()}
|
||||
>
|
||||
{#if sorted}
|
||||
<ArrowDownUpIcon size={16} strokeWidth={2} class="mr-1" />
|
||||
{:else}
|
||||
<ArrowUpDownIcon size={16} strokeWidth={2} class="mr-1" />
|
||||
{/if}
|
||||
<span>{sorted ? 'Sort by latest' : 'Sort alphabetically'}</span>
|
||||
</button>
|
||||
</div>
|
||||
<Grid>
|
||||
{#each filteredSvgs as svg}
|
||||
{#each filteredSvgs.slice(0, showAll ? undefined : 30) as svg}
|
||||
<SvgCard svgInfo={svg} />
|
||||
{/each}
|
||||
</Grid>
|
||||
{#if filteredSvgs.length > 30 && !showAll}
|
||||
<div class="flex items-center justify-center mt-4">
|
||||
<button class={buttonStyles} on:click={() => (showAll = true)}>
|
||||
<div class="flex items-center space-x-2 relative">
|
||||
<ArrowDown size={16} strokeWidth={2} />
|
||||
<span>Load All SVGs</span>
|
||||
<span class="opacity-70">
|
||||
({filteredSvgs.length - 30} more)
|
||||
</span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
{/if}
|
||||
{#if filteredSvgs.length === 0}
|
||||
<NotFound notFoundTerm={searchTerm} />
|
||||
{/if}
|
||||
</Container>
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
<script>
|
||||
import { cn } from '@/utils/cn';
|
||||
export let data;
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>{data.meta.title} - SVGL</title>
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:title" content={data.meta.title} />
|
||||
<meta property="og:description" content={data.meta.description} />
|
||||
</svelte:head>
|
||||
|
||||
<section
|
||||
class="bg-white dark:bg-neutral-900 bg-[url('/images/hero-pattern_light.svg')] dark:bg-[url('/images/hero-pattern_dark.svg')]"
|
||||
>
|
||||
<div class="py-8 px-4 mx-auto max-w-screen-xl text-center lg:py-20 z-10 relative">
|
||||
<div class="flex items-center space-x-4 text-center justify-center">
|
||||
<h1
|
||||
class="mb-4 text-4xl font-bold tracking-tight leading-none text-neutral-900 md:text-5xl lg:text-6xl dark:text-white"
|
||||
>
|
||||
API Reference
|
||||
</h1>
|
||||
<span class="relative inline-block overflow-hidden rounded-full p-[1px] shadow-sm">
|
||||
<span
|
||||
class="absolute inset-[-1000%] animate-[spin_4s_linear_infinite] bg-[conic-gradient(from_90deg_at_50%_50%,#f4f4f5_0%,#f4f4f5_50%,#737373_100%)] dark:bg-[conic-gradient(from_90deg_at_50%_50%,#121212_0%,#121212_50%,#737373_100%)]"
|
||||
/>
|
||||
<div
|
||||
class="inline-flex h-full w-full cursor-default items-center justify-center rounded-full bg-neutral-100 dark:bg-neutral-900 px-3 py-1 text-xs font-medium dark:text-white backdrop-blur-3xl border border-neutral-100 dark:border-neutral-800 font-mono"
|
||||
>
|
||||
beta
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
<p class="text-lg font-normal text-gray-500 lg:text-xl sm:px-16 lg:px-48 dark:text-gray-200">
|
||||
The API reference is a detailed documentation of all the endpoints available in the API.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<article
|
||||
class={cn(
|
||||
'prose dark:prose-invert',
|
||||
'mx-auto py-10 px-4 max-w-3xl',
|
||||
'prose-h2:font-medium',
|
||||
'prose-pre:m-0'
|
||||
)}
|
||||
>
|
||||
<svelte:component this={data.content} />
|
||||
</article>
|
||||
@@ -0,0 +1,14 @@
|
||||
import { error } from '@sveltejs/kit';
|
||||
|
||||
export async function load() {
|
||||
try {
|
||||
const documentTitle = 'api';
|
||||
const post = await import(`../../docs/${documentTitle}.md`);
|
||||
return {
|
||||
content: post.default,
|
||||
meta: post.metadata
|
||||
};
|
||||
} catch (e) {
|
||||
throw error(404, `Could not find this page`);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
import type { RequestEvent } from './$types';
|
||||
|
||||
import { json } from '@sveltejs/kit';
|
||||
import { ratelimit } from '@/server/redis';
|
||||
|
||||
// Data:
|
||||
import { svgs } from '@/data/svgs';
|
||||
|
||||
export const GET = async ({ request }: RequestEvent) => {
|
||||
const categories = svgs
|
||||
.map((svg) => svg.category)
|
||||
.filter((category, index, array) => array.indexOf(category) === index);
|
||||
const ip = request.headers.get('x-forwarded-for') ?? '';
|
||||
const { success, reset } = await ratelimit.limit(ip);
|
||||
|
||||
// Error 429 | If rate limit is exceeded:
|
||||
if (!success) {
|
||||
const now = Date.now();
|
||||
const retryAfter = Math.floor((reset - now) / 1000);
|
||||
return new Response('Too Many Requests', {
|
||||
status: 429,
|
||||
headers: {
|
||||
'Retry-After': retryAfter.toString()
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Status 200 | If limit is a number:
|
||||
return json(
|
||||
categories.map((category) => {
|
||||
return {
|
||||
category,
|
||||
total: svgs.filter((svg) => svg.category === category).length
|
||||
};
|
||||
}),
|
||||
{ status: 200 }
|
||||
);
|
||||
};
|
||||
@@ -0,0 +1,120 @@
|
||||
import type { RequestEvent } from './$types';
|
||||
import type { iSVG } from '@/types/svg';
|
||||
|
||||
import { error, json } from '@sveltejs/kit';
|
||||
import { ratelimit } from '@/server/redis';
|
||||
|
||||
// Data:
|
||||
import { svgsData } from '@/data';
|
||||
|
||||
export const GET = async ({ url, request }: RequestEvent) => {
|
||||
const fullUrl = url.origin ?? 'svgl.vercel.app';
|
||||
const ip = request.headers.get('x-forwarded-for') ?? '';
|
||||
const { success, reset } = await ratelimit.limit(ip);
|
||||
|
||||
// Error 429 | If rate limit is exceeded:
|
||||
if (!success) {
|
||||
const now = Date.now();
|
||||
const retryAfter = Math.floor((reset - now) / 1000);
|
||||
return new Response('Too Many Requests', {
|
||||
status: 429,
|
||||
headers: {
|
||||
'Retry-After': retryAfter.toString()
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Params:
|
||||
const getLimitParams = url.searchParams.get('limit');
|
||||
const getCategoryParams = url.searchParams.get('category');
|
||||
const getSearchParams = url.searchParams.get('search');
|
||||
|
||||
// Add full route to svgs:
|
||||
const fullRouteSvgsData: iSVG[] = svgsData.map((svg) => {
|
||||
if (typeof svg.route === 'object' && svg.route !== null) {
|
||||
return {
|
||||
...svg,
|
||||
route: {
|
||||
light: `${fullUrl}${svg.route.light}`,
|
||||
dark: `${fullUrl}${svg.route.dark}`
|
||||
}
|
||||
};
|
||||
} else if (typeof svg.route === 'string') {
|
||||
return {
|
||||
...svg,
|
||||
route: `${fullUrl}${svg.route}`
|
||||
};
|
||||
}
|
||||
return svg;
|
||||
});
|
||||
|
||||
// Status 200 | If no limit is provided, return all svgs:
|
||||
if (!getLimitParams && !getCategoryParams && !getSearchParams) {
|
||||
return json(fullRouteSvgsData, { status: 200 });
|
||||
}
|
||||
|
||||
const limit = Number(getLimitParams);
|
||||
const category = getCategoryParams;
|
||||
|
||||
if (category) {
|
||||
const categorySvgs = fullRouteSvgsData.filter((svg) => {
|
||||
return svg.category === category.charAt(0).toUpperCase() + category.slice(1);
|
||||
});
|
||||
|
||||
// Error 400 | If category does not exist:
|
||||
if (categorySvgs.length === 0) {
|
||||
error(400, {
|
||||
message: 'Category does not exist.'
|
||||
});
|
||||
}
|
||||
|
||||
if (!getLimitParams) {
|
||||
return json(categorySvgs, { status: 200 });
|
||||
}
|
||||
|
||||
return json(categorySvgs.slice(0, limit), { status: 200 });
|
||||
}
|
||||
|
||||
if (getSearchParams) {
|
||||
const searchSvgs = fullRouteSvgsData.filter((svg) => {
|
||||
return svg.title.toLowerCase().includes(getSearchParams.toLowerCase());
|
||||
});
|
||||
|
||||
// Error 400 | If search does not exist:
|
||||
if (searchSvgs.length === 0) {
|
||||
error(400, {
|
||||
message: 'Search does not exist.'
|
||||
});
|
||||
}
|
||||
|
||||
if (!getLimitParams) {
|
||||
return json(searchSvgs, { status: 200 });
|
||||
}
|
||||
|
||||
return json(searchSvgs.slice(0, limit), { status: 200 });
|
||||
}
|
||||
|
||||
// Error 400 | if limit is not a number:
|
||||
if (isNaN(limit)) {
|
||||
error(400, {
|
||||
message: 'Limit must be a number.'
|
||||
});
|
||||
}
|
||||
|
||||
// Error 400 | If limit is not positive:
|
||||
if (limit < 1) {
|
||||
error(400, {
|
||||
message: 'Limit must be a positive number.'
|
||||
});
|
||||
}
|
||||
|
||||
// Error 400 | If limit is greater than the number of svgs:
|
||||
if (limit > fullRouteSvgsData.length) {
|
||||
error(400, {
|
||||
message: 'Limit is greater than the number of svgs.'
|
||||
});
|
||||
}
|
||||
|
||||
// Status 200 | If limit is a number:
|
||||
return json(fullRouteSvgsData.slice(0, limit), { status: 200 });
|
||||
};
|
||||
@@ -0,0 +1,16 @@
|
||||
<script>
|
||||
import Container from '@/components/container.svelte';
|
||||
import { ArrowLeft } from 'lucide-svelte';
|
||||
</script>
|
||||
|
||||
<Container>
|
||||
<a href="/">
|
||||
<div
|
||||
class="flex items-center space-x-2 duration-100 hover:text-neutral-500 dark:text-neutral-400 dark:hover:text-white group md:mt-2"
|
||||
>
|
||||
<ArrowLeft size={20} class="group-hover:-translate-x-[2px] group-hover:duration-200" />
|
||||
<span>View all</span>
|
||||
</div>
|
||||
</a>
|
||||
</Container>
|
||||
<slot />
|
||||
@@ -1,15 +1,17 @@
|
||||
<script lang="ts">
|
||||
import type { PageData } from './$types';
|
||||
import type { iSVG } from '@/types/svg';
|
||||
|
||||
export let data: PageData;
|
||||
let svgsByCategory = data.props?.svgs || [];
|
||||
let category = data.props?.category || '';
|
||||
let svgsByCategory = data.svgs || [];
|
||||
let category = data.category || '';
|
||||
|
||||
// Components:
|
||||
import Container from '@/components/container.svelte';
|
||||
import Grid from '@/components/grid.svelte';
|
||||
import Search from '@/components/search.svelte';
|
||||
import SvgCard from '@/components/svgCard.svelte';
|
||||
import NotFound from '@/components/notFound.svelte';
|
||||
|
||||
// Search:
|
||||
let searchTerm = '';
|
||||
@@ -17,7 +19,7 @@
|
||||
|
||||
if (searchTerm.length === 0) {
|
||||
filteredSvgs = svgsByCategory.sort((a: iSVG, b: iSVG) => {
|
||||
return b.id - a.id;
|
||||
return a.title.localeCompare(b.title);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -27,6 +29,11 @@
|
||||
return svgTitle.includes(searchTerm.toLowerCase());
|
||||
}));
|
||||
};
|
||||
|
||||
const clearSearch = () => {
|
||||
searchTerm = '';
|
||||
searchSvgs();
|
||||
};
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
@@ -37,6 +44,7 @@
|
||||
<Search
|
||||
bind:searchTerm
|
||||
on:input={searchSvgs}
|
||||
clearSearch={() => clearSearch()}
|
||||
placeholder={`Search ${filteredSvgs.length} ${category} logos...`}
|
||||
/>
|
||||
<Grid>
|
||||
@@ -44,4 +52,7 @@
|
||||
<SvgCard svgInfo={svg} />
|
||||
{/each}
|
||||
</Grid>
|
||||
{#if filteredSvgs.length === 0}
|
||||
<NotFound notFoundTerm={searchTerm} />
|
||||
{/if}
|
||||
</Container>
|
||||
|
||||
@@ -13,12 +13,16 @@ export const load = (async ({ params }) => {
|
||||
}
|
||||
|
||||
// Filter out the svg with the matching slug:
|
||||
const svgsByCategory = svgs.filter((svg: iSVG) => svg.category.toLowerCase() === slug);
|
||||
const svgsByCategory = svgs.filter((svg: iSVG) => {
|
||||
if (Array.isArray(svg.category)) {
|
||||
return svg.category.some(categoryItem => categoryItem.toLowerCase() === slug);
|
||||
} else {
|
||||
return svg.category.toLowerCase() === slug;
|
||||
}
|
||||
});
|
||||
|
||||
return {
|
||||
props: {
|
||||
category: slug,
|
||||
svgs: svgsByCategory
|
||||
}
|
||||
category: slug as string,
|
||||
svgs: svgsByCategory
|
||||
};
|
||||
}) satisfies PageLoad;
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
import { Redis } from '@upstash/redis';
|
||||
import { Ratelimit } from '@upstash/ratelimit';
|
||||
import { UPSTASH_REDIS_TOKEN, UPSTASH_REDIS_URL, SVGL_API_REQUESTS } from '$env/static/private';
|
||||
|
||||
const redis = new Redis({
|
||||
url: UPSTASH_REDIS_URL,
|
||||
token: UPSTASH_REDIS_TOKEN
|
||||
});
|
||||
|
||||
export const ratelimit = new Ratelimit({
|
||||
redis: redis,
|
||||
limiter: Ratelimit.slidingWindow(Number(SVGL_API_REQUESTS), '60s'),
|
||||
analytics: true
|
||||
});
|
||||
@@ -0,0 +1,20 @@
|
||||
export type tCategory =
|
||||
| 'All'
|
||||
| 'AI'
|
||||
| 'Software'
|
||||
| 'Library'
|
||||
| 'Hosting'
|
||||
| 'Framework'
|
||||
| 'CMS'
|
||||
| 'Database'
|
||||
| 'Compiler'
|
||||
| 'Crypto'
|
||||
| 'Social'
|
||||
| 'Entertainment'
|
||||
| 'Browser'
|
||||
| 'Language'
|
||||
| 'Education'
|
||||
| 'Design'
|
||||
| 'Community'
|
||||
| 'Marketplace'
|
||||
| 'Fintech';
|
||||
@@ -1,7 +1,18 @@
|
||||
import type { tCategory } from './categories';
|
||||
|
||||
type CategoryPair = [tCategory, tCategory];
|
||||
type CategoryTriple = [tCategory, tCategory, tCategory];
|
||||
|
||||
type ThemeOptions = {
|
||||
dark: string;
|
||||
light: string;
|
||||
};
|
||||
|
||||
export interface iSVG {
|
||||
id: number;
|
||||
id?: number;
|
||||
title: string;
|
||||
category: string;
|
||||
route: string;
|
||||
category: tCategory | CategoryPair | CategoryTriple;
|
||||
route: string | ThemeOptions;
|
||||
wordmark?: string | ThemeOptions;
|
||||
url: string;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
<script lang="ts">
|
||||
import { Dialog as DialogPrimitive } from 'bits-ui';
|
||||
import * as Dialog from '@/ui/dialog';
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
import { X } from 'lucide-svelte';
|
||||
import { flyAndScale } from '@/utils/flyAndScale';
|
||||
|
||||
type $$Props = DialogPrimitive.ContentProps;
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export let transition: $$Props['transition'] = flyAndScale;
|
||||
export let transitionConfig: $$Props['transitionConfig'] = {
|
||||
duration: 200
|
||||
};
|
||||
export { className as class };
|
||||
</script>
|
||||
|
||||
<Dialog.Portal>
|
||||
<Dialog.Overlay />
|
||||
<DialogPrimitive.Content
|
||||
{transition}
|
||||
{transitionConfig}
|
||||
class={cn(
|
||||
'fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] border border-neutral-200 dark:border-neutral-800 dark:bg-neutral-900 bg-white p-6 shadow-lg sm:rounded-lg md:w-full',
|
||||
className
|
||||
)}
|
||||
{...$$restProps}
|
||||
>
|
||||
<slot />
|
||||
<DialogPrimitive.Close
|
||||
class="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"
|
||||
>
|
||||
<X class="h-4 w-4" />
|
||||
<span class="sr-only">Close</span>
|
||||
</DialogPrimitive.Close>
|
||||
</DialogPrimitive.Content>
|
||||
</Dialog.Portal>
|
||||
@@ -0,0 +1,13 @@
|
||||
<script lang="ts">
|
||||
import { Dialog as DialogPrimitive } from 'bits-ui';
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
type $$Props = DialogPrimitive.DescriptionProps;
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export { className as class };
|
||||
</script>
|
||||
|
||||
<DialogPrimitive.Description class={cn('text-sm opacity-70 mb-2', className)} {...$$restProps}>
|
||||
<slot />
|
||||
</DialogPrimitive.Description>
|
||||
@@ -0,0 +1,16 @@
|
||||
<script lang="ts">
|
||||
import { cn } from '@/utils/cn';
|
||||
import type { HTMLAttributes } from 'svelte/elements';
|
||||
|
||||
type $$Props = HTMLAttributes<HTMLDivElement>;
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export { className as class };
|
||||
</script>
|
||||
|
||||
<div
|
||||
class={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)}
|
||||
{...$$restProps}
|
||||
>
|
||||
<slot />
|
||||
</div>
|
||||
@@ -0,0 +1,13 @@
|
||||
<script lang="ts">
|
||||
import { cn } from '@/utils/cn';
|
||||
import type { HTMLAttributes } from 'svelte/elements';
|
||||
|
||||
type $$Props = HTMLAttributes<HTMLDivElement>;
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export { className as class };
|
||||
</script>
|
||||
|
||||
<div class={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)} {...$$restProps}>
|
||||
<slot />
|
||||
</div>
|
||||
@@ -0,0 +1,24 @@
|
||||
<script lang="ts">
|
||||
import { Dialog as DialogPrimitive } from 'bits-ui';
|
||||
import { cn } from '@/utils/cn';
|
||||
import { fade } from 'svelte/transition';
|
||||
|
||||
type $$Props = DialogPrimitive.OverlayProps;
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export let transition: $$Props['transition'] = fade;
|
||||
export let transitionConfig: $$Props['transitionConfig'] = {
|
||||
duration: 150
|
||||
};
|
||||
export { className as class };
|
||||
</script>
|
||||
|
||||
<DialogPrimitive.Overlay
|
||||
{transition}
|
||||
{transitionConfig}
|
||||
class={cn(
|
||||
'fixed inset-0 z-50 bg-neutral-100/80 dark:bg-neutral-900/80 backdrop-blur-sm',
|
||||
className
|
||||
)}
|
||||
{...$$restProps}
|
||||
/>
|
||||
@@ -0,0 +1,8 @@
|
||||
<script lang="ts">
|
||||
import { Dialog as DialogPrimitive } from 'bits-ui';
|
||||
type $$Props = DialogPrimitive.PortalProps;
|
||||
</script>
|
||||
|
||||
<DialogPrimitive.Portal {...$$restProps}>
|
||||
<slot />
|
||||
</DialogPrimitive.Portal>
|
||||
@@ -0,0 +1,16 @@
|
||||
<script lang="ts">
|
||||
import { Dialog as DialogPrimitive } from 'bits-ui';
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
type $$Props = DialogPrimitive.TitleProps;
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export { className as class };
|
||||
</script>
|
||||
|
||||
<DialogPrimitive.Title
|
||||
class={cn('text-lg font-semibold leading-none tracking-tight', className)}
|
||||
{...$$restProps}
|
||||
>
|
||||
<slot />
|
||||
</DialogPrimitive.Title>
|
||||
@@ -0,0 +1,34 @@
|
||||
import { Dialog as DialogPrimitive } from 'bits-ui';
|
||||
|
||||
const Root = DialogPrimitive.Root;
|
||||
const Trigger = DialogPrimitive.Trigger;
|
||||
|
||||
import Title from './dialog-title.svelte';
|
||||
import Portal from './dialog-portal.svelte';
|
||||
import Footer from './dialog-footer.svelte';
|
||||
import Header from './dialog-header.svelte';
|
||||
import Overlay from './dialog-overlay.svelte';
|
||||
import Content from './dialog-content.svelte';
|
||||
import Description from './dialog-description.svelte';
|
||||
|
||||
export {
|
||||
Root,
|
||||
Title,
|
||||
Portal,
|
||||
Footer,
|
||||
Header,
|
||||
Trigger,
|
||||
Overlay,
|
||||
Content,
|
||||
Description,
|
||||
//
|
||||
Root as Dialog,
|
||||
Title as DialogTitle,
|
||||
Portal as DialogPortal,
|
||||
Footer as DialogFooter,
|
||||
Header as DialogHeader,
|
||||
Trigger as DialogTrigger,
|
||||
Overlay as DialogOverlay,
|
||||
Content as DialogContent,
|
||||
Description as DialogDescription
|
||||
};
|
||||
@@ -0,0 +1,8 @@
|
||||
export const buttonStyles =
|
||||
'flex items-center space-x-2 relative h-10 overflow-hidden rounded-md border border-neutral-200 dark:border-neutral-800 bg-transparent px-4 text-neutral-950 dark:text-white hover:bg-neutral-200/50 dark:hover:bg-neutral-800/50 focus:outline-none focus:ring-1 focus:ring-neutral-300 dark:focus:ring-neutral-700 transition-colors duration-100';
|
||||
|
||||
export const inputStyles =
|
||||
'w-full border-b border-neutral-300 bg-white p-3 px-11 placeholder-neutral-500 focus:outline-none focus:ring-1 focus:ring-neutral-300 dark:border-neutral-800 dark:bg-neutral-900 dark:focus:ring-neutral-700';
|
||||
|
||||
export const badgeStyles =
|
||||
'inline-flex items-center px-2.5 py-0.5 rounded-full font-medium bg-neutral-100 dark:bg-neutral-800/50 text-neutral-500 dark:text-neutral-400 text-xs font-mono hover:underline hover:bg-neutral-200 dark:hover:bg-neutral-700/50 transition-colors duration-100';
|
||||
@@ -0,0 +1,6 @@
|
||||
import { clsx, type ClassValue } from 'clsx';
|
||||
import { twMerge } from 'tailwind-merge';
|
||||
|
||||
export function cn(...inputs: ClassValue[]) {
|
||||
return twMerge(clsx(inputs));
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
import { cubicOut } from 'svelte/easing';
|
||||
import type { TransitionConfig } from 'svelte/transition';
|
||||
|
||||
type FlyAndScaleParams = {
|
||||
y?: number;
|
||||
x?: number;
|
||||
start?: number;
|
||||
duration?: number;
|
||||
};
|
||||
export const flyAndScale = (
|
||||
node: Element,
|
||||
params: FlyAndScaleParams = { y: -8, x: 0, start: 0.95, duration: 150 }
|
||||
): TransitionConfig => {
|
||||
const style = getComputedStyle(node);
|
||||
const transform = style.transform === 'none' ? '' : style.transform;
|
||||
const scaleConversion = (valueA: number, scaleA: [number, number], scaleB: [number, number]) => {
|
||||
const [minA, maxA] = scaleA;
|
||||
const [minB, maxB] = scaleB;
|
||||
const percentage = (valueA - minA) / (maxA - minA);
|
||||
const valueB = percentage * (maxB - minB) + minB;
|
||||
return valueB;
|
||||
};
|
||||
const styleToString = (style: Record<string, number | string | undefined>): string => {
|
||||
return Object.keys(style).reduce((str, key) => {
|
||||
if (style[key] === undefined) return str;
|
||||
return str + key + ':' + style[key] + ';';
|
||||
}, '');
|
||||
};
|
||||
return {
|
||||
duration: params.duration ?? 200,
|
||||
delay: 0,
|
||||
css: (t) => {
|
||||
const y = scaleConversion(t, [0, 1], [params.y ?? 5, 0]);
|
||||
const x = scaleConversion(t, [0, 1], [params.x ?? 0, 0]);
|
||||
const scale = scaleConversion(t, [0, 1], [params.start ?? 0.95, 1]);
|
||||
return styleToString({
|
||||
transform: transform + 'translate3d(' + x + 'px, ' + y + 'px, 0) scale(' + scale + ')',
|
||||
opacity: t
|
||||
});
|
||||
},
|
||||
easing: cubicOut
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,10 @@
|
||||
export async function fetchGitHubStars() {
|
||||
const res = await fetch('https://api.github.com/repos/pheralb/svgl');
|
||||
const response = await res.json();
|
||||
const starsFormated =
|
||||
response.stargazers_count > 1000
|
||||
? `${(response.stargazers_count / 1000).toFixed(1)}K`
|
||||
: response.stargazers_count;
|
||||
|
||||
return starsFormated;
|
||||
}
|
||||
@@ -0,0 +1,271 @@
|
||||
<svg width="1440" height="462" viewBox="0 0 1440 462" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g opacity="0.3" clip-path="url(#clip0_302_24807)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 58.7206H48V0H47V57.4972H0V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M48 58.7206H96V0H95V57.4972H48V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M96 58.7206H144V0H143V57.4972H96V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M144 58.7206H192V0H191V57.4972H144V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M192 58.7206H240V0H239V57.4972H192V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M240 58.7206H288V0H287V57.4972H240V58.7206Z" fill="#262626"/>
|
||||
<path d="M288 0H336V58.7206H288V0Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M288 58.7206H336V0H335V57.4972H288V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M336 58.7206H384V0H383V57.4972H336V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M384 58.7206H432V0H431V57.4972H384V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M432 58.7206H480V0H479V57.4972H432V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M480 58.7206H528V0H527V57.4972H480V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M528 58.7206H576V0H575V57.4972H528V58.7206Z" fill="#262626"/>
|
||||
<path d="M576 0H624V58.7206H576V0Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M576 58.7206H624V0H623V57.4972H576V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M624 58.7206H672V0H671V57.4972H624V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M672 58.7206H720V0H719V57.4972H672V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M720 58.7206H768V0H767V57.4972H720V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M768 58.7206H816V0H815V57.4972H768V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M816 58.7206H864V0H863V57.4972H816V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M864 58.7206H912V0H911V57.4972H864V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M912 58.7206H960V0H959V57.4972H912V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M960 58.7206H1008V0H1007V57.4972H960V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1008 58.7206H1056V0H1055V57.4972H1008V58.7206Z" fill="#262626"/>
|
||||
<path d="M1056 0H1104V58.7206H1056V0Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1056 58.7206H1104V0H1103V57.4972H1056V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1104 58.7206H1152V0H1151V57.4972H1104V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1152 58.7206H1200V0H1199V57.4972H1152V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1200 58.7206H1248V0H1247V57.4972H1200V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1248 58.7206H1296V0H1295V57.4972H1248V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1296 58.7206H1344V0H1343V57.4972H1296V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1344 58.7206H1392V0H1391V57.4972H1344V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1392 58.7206H1440V0H1439V57.4972H1392V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 117.441H48V58.7206L47 58.7206V116.218H0V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M48 117.441H96V58.7206L95 58.7206V116.218H48V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M96 117.441H144V58.7206L143 58.7206V116.218H96V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M144 117.441H192V58.7206L191 58.7206V116.218H144V117.441Z" fill="#262626"/>
|
||||
<path d="M192 58.7206H240V117.441H192V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M192 117.441H240V58.7206L239 58.7206V116.218H192V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M240 117.441H288V58.7206L287 58.7206V116.218H240V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M288 117.441H336V58.7206L335 58.7206V116.218H288V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M336 117.441H384V58.7206L383 58.7206V116.218H336V117.441Z" fill="#262626"/>
|
||||
<path d="M384 58.7206H432V117.441H384V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M384 117.441H432V58.7206L431 58.7206V116.218H384V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M432 117.441H480V58.7206L479 58.7206V116.218H432V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M480 117.441H528V58.7206L527 58.7206V116.218H480V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M528 117.441H576V58.7206L575 58.7206V116.218H528V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M576 117.441H624V58.7206L623 58.7206V116.218H576V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M624 117.441H672V58.7206L671 58.7206V116.218H624V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M672 117.441H720V58.7206L719 58.7206V116.218H672V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M720 117.441H768V58.7206L767 58.7206V116.218H720V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M768 117.441H816V58.7206L815 58.7206V116.218H768V117.441Z" fill="#262626"/>
|
||||
<path d="M816 58.7206H864V117.441H816V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M816 117.441H864V58.7206L863 58.7206V116.218H816V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M864 117.441H912V58.7206L911 58.7206V116.218H864V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M912 117.441H960V58.7206L959 58.7206V116.218H912V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M960 117.441H1008V58.7206L1007 58.7206V116.218H960V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1008 117.441H1056V58.7206L1055 58.7206V116.218H1008V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1056 117.441H1104V58.7206L1103 58.7206V116.218H1056V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1104 117.441H1152V58.7206L1151 58.7206V116.218H1104V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1152 117.441H1200V58.7206L1199 58.7206V116.218H1152V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1200 117.441H1248V58.7206L1247 58.7206V116.218H1200V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1248 117.441H1296V58.7206L1295 58.7206V116.218H1248V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1296 117.441H1344V58.7206L1343 58.7206V116.218H1296V117.441Z" fill="#262626"/>
|
||||
<path d="M1344 58.7206H1392V117.441H1344V58.7206Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1344 117.441H1392V58.7206L1391 58.7206V116.218H1344V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1392 117.441H1440V58.7206L1439 58.7206V116.218H1392V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 168.397H48V117.441H47V167.335H0V168.397Z" fill="#262626"/>
|
||||
<path d="M48 117.441H96V168.397H48V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M48 168.397H96V117.441H95V167.335H48V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M96 168.397H144V117.441H143V167.335H96V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M144 168.397H192V117.441H191V167.335H144V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M192 168.397H240V117.441H239V167.335H192V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M240 168.397H288V117.441H287V167.335H240V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M288 168.397H336V117.441H335V167.335H288V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M336 168.397H384V117.441H383V167.335H336V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M384 168.397H432V117.441H431V167.335H384V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M432 168.397H480V117.441H479V167.335H432V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M480 168.397H528V117.441H527V167.335H480V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M528 168.397H576V117.441H575V167.335H528V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M576 168.397H624V117.441H623V167.335H576V168.397Z" fill="#262626"/>
|
||||
<path d="M624 117.441H672V168.397H624V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M624 168.397H672V117.441H671V167.335H624V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M672 168.397H720V117.441H719V167.335H672V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M720 168.397H768V117.441H767V167.335H720V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M768 168.397H816V117.441H815V167.335H768V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M816 168.397H864V117.441H863V167.335H816V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M864 168.397H912V117.441H911V167.335H864V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M912 168.397H960V117.441H959V167.335H912V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M960 168.397H1008V117.441H1007V167.335H960V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1008 168.397H1056V117.441H1055V167.335H1008V168.397Z" fill="#262626"/>
|
||||
<path d="M1056 117.441H1104V168.397H1056V117.441Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1056 168.397H1104V117.441H1103V167.335H1056V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1104 168.397H1152V117.441H1151V167.335H1104V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1152 168.397H1200V117.441H1199V167.335H1152V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1200 168.397H1248V117.441H1247V167.335H1200V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1248 168.397H1296V117.441H1295V167.335H1248V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1296 168.397H1344V117.441H1343V167.335H1296V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1344 168.397H1392V117.441H1391V167.335H1344V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1392 168.397H1440V117.441H1439V167.335H1392V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 227.118H48V168.397H47V225.894H0V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M48 227.118H96V168.397H95V225.894H48V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M96 227.118H144V168.397H143V225.894H96V227.118Z" fill="#262626"/>
|
||||
<path d="M144 168.397H192V227.118H144V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M144 227.118H192V168.397H191V225.894H144V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M192 227.118H240V168.397H239V225.894H192V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M240 227.118H288V168.397H287V225.894H240V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M288 227.118H336V168.397H335V225.894H288V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M336 227.118H384V168.397H383V225.894H336V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M384 227.118H432V168.397H431V225.894H384V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M432 227.118H480V168.397H479V225.894H432V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M480 227.118H528V168.397H527V225.894H480V227.118Z" fill="#262626"/>
|
||||
<path d="M528 168.397H576V227.118H528V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M528 227.118H576V168.397H575V225.894H528V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M576 227.118H624V168.397H623V225.894H576V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M624 227.118H672V168.397H671V225.894H624V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M672 227.118H720V168.397H719V225.894H672V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M720 227.118H768V168.397H767V225.894H720V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M768 227.118H816V168.397H815V225.894H768V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M816 227.118H864V168.397H863V225.894H816V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M864 227.118H912V168.397H911V225.894H864V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M912 227.118H960V168.397H959V225.894H912V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M960 227.118H1008V168.397H1007V225.894H960V227.118Z" fill="#262626"/>
|
||||
<path d="M1008 168.397H1056V227.118H1008V168.397Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1008 227.118H1056V168.397H1055V225.894H1008V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1056 227.118H1104V168.397H1103V225.894H1056V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1104 227.118H1152V168.397H1151V225.894H1104V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1152 227.118H1200V168.397H1199V225.894H1152V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1200 227.118H1248V168.397H1247V225.894H1200V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1248 227.118H1296V168.397H1295V225.894H1248V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1296 227.118H1344V168.397H1343V225.894H1296V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1344 227.118H1392V168.397H1391V225.894H1344V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1392 227.118H1440V168.397H1439V225.894H1392V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 285.838H48V227.118H47V284.615H0V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M48 285.838H96V227.118H95V284.615H48V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M96 285.838H144V227.118H143V284.615H96V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M144 285.838H192V227.118H191V284.615H144V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M192 285.838H240V227.118H239V284.615H192V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M240 285.838H288V227.118H287V284.615H240V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M288 285.838H336V227.118H335V284.615H288V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M336 285.838H384V227.118H383V284.615H336V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M384 285.838H432V227.118H431V284.615H384V285.838Z" fill="#262626"/>
|
||||
<path d="M432 227.118H480V285.838H432V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M432 285.838H480V227.118H479V284.615H432V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M480 285.838H528V227.118H527V284.615H480V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M528 285.838H576V227.118H575V284.615H528V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M576 285.838H624V227.118H623V284.615H576V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M624 285.838H672V227.118H671V284.615H624V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M672 285.838H720V227.118H719V284.615H672V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M720 285.838H768V227.118H767V284.615H720V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M768 285.838H816V227.118H815V284.615H768V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M816 285.838H864V227.118H863V284.615H816V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M864 285.838H912V227.118H911V284.615H864V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M912 285.838H960V227.118H959V284.615H912V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M960 285.838H1008V227.118H1007V284.615H960V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1008 285.838H1056V227.118H1055V284.615H1008V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1056 285.838H1104V227.118H1103V284.615H1056V285.838Z" fill="#262626"/>
|
||||
<path d="M1104 227.118H1152V285.838H1104V227.118Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1104 285.838H1152V227.118H1151V284.615H1104V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1152 285.838H1200V227.118H1199V284.615H1152V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1200 285.838H1248V227.118H1247V284.615H1200V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1248 285.838H1296V227.118H1295V284.615H1248V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1296 285.838H1344V227.118H1343V284.615H1296V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1344 285.838H1392V227.118H1391V284.615H1344V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1392 285.838H1440V227.118H1439V284.615H1392V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 344.559H48V285.838H47V343.335H0V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M48 344.559H96V285.838H95V343.335H48V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M96 344.559H144V285.838H143V343.335H96V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M144 344.559H192V285.838H191V343.335H144V344.559Z" fill="#262626"/>
|
||||
<path d="M192 285.838H240V344.559H192V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M192 344.559H240V285.838H239V343.335H192V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M240 344.559H288V285.838H287V343.335H240V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M288 344.559H336V285.838H335V343.335H288V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M336 344.559H384V285.838H383V343.335H336V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M384 344.559H432V285.838H431V343.335H384V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M432 344.559H480V285.838H479V343.335H432V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M480 344.559H528V285.838H527V343.335H480V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M528 344.559H576V285.838H575V343.335H528V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M576 344.559H624V285.838H623V343.335H576V344.559Z" fill="#262626"/>
|
||||
<path d="M624 285.838H672V344.559H624V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M624 344.559H672V285.838H671V343.335H624V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M672 344.559H720V285.838H719V343.335H672V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M720 344.559H768V285.838H767V343.335H720V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M768 344.559H816V285.838H815V343.335H768V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M816 344.559H864V285.838H863V343.335H816V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M864 344.559H912V285.838H911V343.335H864V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M912 344.559H960V285.838H959V343.335H912V344.559Z" fill="#262626"/>
|
||||
<path d="M960 285.838H1008V344.559H960V285.838Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M960 344.559H1008V285.838H1007V343.335H960V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1008 344.559H1056V285.838H1055V343.335H1008V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1056 344.559H1104V285.838H1103V343.335H1056V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1104 344.559H1152V285.838H1151V343.335H1104V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1152 344.559H1200V285.838H1199V343.335H1152V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1200 344.559H1248V285.838H1247V343.335H1200V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1248 344.559H1296V285.838H1295V343.335H1248V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1296 344.559H1344V285.838H1343V343.335H1296V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1344 344.559H1392V285.838H1391V343.335H1344V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1392 344.559H1440V285.838H1439V343.335H1392V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 403.279H48V344.559H47V402.056H0V403.279Z" fill="#262626"/>
|
||||
<path d="M48 344.559H96V403.279H48V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M48 403.279H96V344.559H95V402.056H48V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M96 403.279H144V344.559H143V402.056H96V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M144 403.279H192V344.559H191V402.056H144V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M192 403.279H240V344.559H239V402.056H192V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M240 403.279H288V344.559H287V402.056H240V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M288 403.279H336V344.559H335V402.056H288V403.279Z" fill="#262626"/>
|
||||
<path d="M336 344.559H384V403.279H336V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M336 403.279H384V344.559H383V402.056H336V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M384 403.279H432V344.559H431V402.056H384V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M432 403.279H480V344.559H479V402.056H432V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M480 403.279H528V344.559H527V402.056H480V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M528 403.279H576V344.559H575V402.056H528V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M576 403.279H624V344.559H623V402.056H576V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M624 403.279H672V344.559H671V402.056H624V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M672 403.279H720V344.559H719V402.056H672V403.279Z" fill="#262626"/>
|
||||
<path d="M720 344.559H768V403.279H720V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M720 403.279H768V344.559H767V402.056H720V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M768 403.279H816V344.559H815V402.056H768V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M816 403.279H864V344.559H863V402.056H816V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M864 403.279H912V344.559H911V402.056H864V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M912 403.279H960V344.559H959V402.056H912V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M960 403.279H1008V344.559H1007V402.056H960V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1008 403.279H1056V344.559H1055V402.056H1008V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1056 403.279H1104V344.559H1103V402.056H1056V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1104 403.279H1152V344.559H1151V402.056H1104V403.279Z" fill="#262626"/>
|
||||
<path d="M1152 344.559H1200V403.279H1152V344.559Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1152 403.279H1200V344.559H1199V402.056H1152V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1200 403.279H1248V344.559H1247V402.056H1200V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1248 403.279H1296V344.559H1295V402.056H1248V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1296 403.279H1344V344.559H1343V402.056H1296V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1344 403.279H1392V344.559H1391V402.056H1344V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1392 403.279H1440V344.559H1439V402.056H1392V403.279Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 462H48V403.279H47V460.777H0V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M48 462H96V403.279H95V460.777H48V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M96 462H144V403.279H143V460.777H96V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M144 462H192V403.279H191V460.777H144V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M192 462H240V403.279H239V460.777H192V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M240 462H288V403.279H287V460.777H240V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M288 462H336V403.279H335V460.777H288V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M336 462H384V403.279H383V460.777H336V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M384 462H432V403.279H431V460.777H384V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M432 462H480V403.279H479V460.777H432V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M480 462H528V403.279H527V460.777H480V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M528 462H576V403.279H575V460.777H528V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M576 462H624V403.279H623V460.777H576V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M624 462H672V403.279H671V460.777H624V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M672 462H720V403.279H719V460.777H672V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M720 462H768V403.279H767V460.777H720V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M768 462H816V403.279H815V460.777H768V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M816 462H864V403.279H863V460.777H816V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M864 462H912V403.279H911V460.777H864V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M912 462H960V403.279H959V460.777H912V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M960 462H1008V403.279H1007V460.777H960V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1008 462H1056V403.279H1055V460.777H1008V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1056 462H1104V403.279H1103V460.777H1056V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1104 462H1152V403.279H1151V460.777H1104V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1152 462H1200V403.279H1199V460.777H1152V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1200 462H1248V403.279H1247V460.777H1200V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1248 462H1296V403.279H1295V460.777H1248V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1296 462H1344V403.279H1343V460.777H1296V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1344 462H1392V403.279H1391V460.777H1344V462Z" fill="#262626"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M1392 462H1440V403.279H1439V460.777H1392V462Z" fill="#262626"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_302_24807">
|
||||
<rect width="1440" height="462" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 185 KiB |
|
Before Width: | Height: | Size: 174 KiB After Width: | Height: | Size: 262 KiB |
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" fill="none"><g clip-path="url(#a)"><path fill="white" fill-rule="evenodd" clip-rule="evenodd" d="M32 16c0-8.836-7.164-16-16-16S0 7.164 0 16c0 8.837 7.164 16 16 16s16-7.163 16-16ZM13.063 6.989c-.101.199-.101.459-.101.98v4.107c0 .13 0 .195.017.256a.464.464 0 0 0 .07.148c.036.05.087.092.188.174l1.079.876c.121.099.182.148.204.208.02.052.02.11 0 .162-.022.059-.083.108-.204.207l-1.08.877c-.1.082-.15.123-.187.173a.463.463 0 0 0-.07.149c-.017.06-.017.125-.017.255v8.47c0 .521 0 .782.101.98a.93.93 0 0 0 .407.407c.198.101.459.101.98.101h3.1c.521 0 .781 0 .98-.101a.93.93 0 0 0 .407-.407c.101-.198.101-.459.101-.98v-4.107c0-.13 0-.195-.016-.255a.465.465 0 0 0-.071-.149 1.019 1.019 0 0 0-.188-.174l-1.079-.876c-.121-.099-.182-.148-.204-.208a.232.232 0 0 1 0-.161c.022-.06.083-.11.204-.208l1.08-.877c.1-.081.15-.122.187-.173a.466.466 0 0 0 .07-.149c.017-.06.017-.125.017-.255V7.97c0-.521 0-.781-.101-.98a.93.93 0 0 0-.407-.407c-.199-.101-.459-.101-.98-.101h-3.1c-.521 0-.781 0-.98.101a.93.93 0 0 0-.407.407Z"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h32v32H0z"/></clipPath></defs></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" fill="none"><g clip-path="url(#a)"><path fill="black" fill-rule="evenodd" clip-rule="evenodd" d="M32 16c0-8.836-7.164-16-16-16S0 7.164 0 16c0 8.837 7.164 16 16 16s16-7.163 16-16ZM13.063 6.989c-.101.199-.101.459-.101.98v4.107c0 .13 0 .195.017.256a.464.464 0 0 0 .07.148c.036.05.087.092.188.174l1.079.876c.121.099.182.148.204.208.02.052.02.11 0 .162-.022.059-.083.108-.204.207l-1.08.877c-.1.082-.15.123-.187.173a.463.463 0 0 0-.07.149c-.017.06-.017.125-.017.255v8.47c0 .521 0 .782.101.98a.93.93 0 0 0 .407.407c.198.101.459.101.98.101h3.1c.521 0 .781 0 .98-.101a.93.93 0 0 0 .407-.407c.101-.198.101-.459.101-.98v-4.107c0-.13 0-.195-.016-.255a.465.465 0 0 0-.071-.149 1.019 1.019 0 0 0-.188-.174l-1.079-.876c-.121-.099-.182-.148-.204-.208a.232.232 0 0 1 0-.161c.022-.06.083-.11.204-.208l1.08-.877c.1-.081.15-.122.187-.173a.466.466 0 0 0 .07-.149c.017-.06.017-.125.017-.255V7.97c0-.521 0-.781-.101-.98a.93.93 0 0 0-.407-.407c-.199-.101-.459-.101-.98-.101h-3.1c-.521 0-.781 0-.98.101a.93.93 0 0 0-.407.407Z" /></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h32v32H0z"/></clipPath></defs></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 93 20" xmlns="http://www.w3.org/2000/svg" width="93" height="20" fill="none"><path fill="#FF7E23" fill-rule="evenodd" d="M6.815 19.719c4.869 0 7.122-2.254 7.122-5.494 0-2.845-1.83-4.79-4.197-5.352 1.662-.647 2.844-2.028 2.844-4.028 0-2.59-1.94-4.845-5.911-4.845H0v19.719h6.815ZM3.096 8V2.733h3.322c2.028 0 3.097.958 3.097 2.535C9.515 6.873 8.417 8 6.389 8H3.096Zm7.742 5.747c0-1.944-1.24-3.324-4.196-3.324H3.096v6.563h3.577c2.928 0 4.165-1.24 4.165-3.24Zm18.78-.226H18.043c.452 2.59 2.48 3.888 4.814 3.888 1.943 0 2.983-.507 4.055-1.353l1.717 1.634C27.335 19.157 25.476 20 22.774 20c-3.687 0-7.716-2.507-7.716-7.578 0-5.1 4.14-7.632 7.432-7.632 3.325 0 7.831 2.533 7.127 8.73Zm-11.545-2.255h8.813c-.28-2.59-2.505-3.86-4.39-3.86-1.86.003-3.945 1.27-4.423 3.86Zm19.874-6.479c-3.293 0-7.263 2.48-7.263 7.607 0 5.126 3.97 7.606 7.263 7.606 2.535 0 4.281-1.466 4.872-2.677h.168v2.393h3.041V5.068h-3.041v2.394h-.168c-.591-1.211-2.337-2.675-4.872-2.675Zm.395 2.706c2.279 0 4.73 1.632 4.73 4.9 0 3.27-2.449 4.903-4.73 4.9-2.28 0-4.701-1.633-4.701-4.9 0-3.265 2.42-4.9 4.7-4.9Zm20.832 1.913 2.366-1.07c-1.323-2.364-3.603-3.546-6.252-3.549-3.322 0-7.574 2.533-7.574 7.633 0 5.097 4.252 7.578 7.574 7.578 2.676 0 4.927-1.154 6.279-3.521l-2.393-1.07c-.874 1.183-2.056 1.887-3.857 1.887-2.167 0-4.646-1.634-4.646-4.874 0-3.295 2.48-4.929 4.646-4.929 1.801 0 2.986.733 3.857 1.915ZM69.871 20c3.35 0 7.602-2.48 7.602-7.578 0-5.1-4.251-7.632-7.602-7.632s-7.603 2.533-7.603 7.632c0 5.098 4.252 7.578 7.603 7.578Zm.002-2.704c-2.166 0-4.645-1.634-4.645-4.873 0-3.295 2.476-4.93 4.645-4.93 2.17 0 4.646 1.635 4.646 4.93 0 3.24-2.477 4.873-4.646 4.873Zm22.858 2.423V11.24c0-4.564-2.757-6.45-5.489-6.45-3.18 0-4.758 2.477-5.04 3.323V5.071h-3.04v14.645h3.04v-8.76c.14-1.237 1.493-3.491 3.998-3.491 1.857 0 3.49 1.156 3.49 3.943v8.31h3.041Z" clip-rule="evenodd"/></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 240 234">
|
||||
<path fill="#470137" d="M42.5 0h155C221 0 240 19 240 42.5v149c0 23.5-19 42.5-42.5 42.5h-155C19 234 0 215 0 191.5v-149C0 19 19 0 42.5 0z"/>
|
||||
<path fill="#ff61f6" d="m126.2 61.5-30 49.5 32 52.5c.2.4.3.8.2 1.2-.1.4-.5.1-1.1.2h-22.9c-1.6 0-2.7-.1-3.4-1.1-2.1-4.2-4.3-8.3-6.4-12.5-2.1-4.1-4.4-8.3-6.8-12.6-2.4-4.3-4.8-8.6-7.2-13h-.2c-2.1 4.3-4.4 8.6-6.7 12.9-2.3 4.3-4.6 8.6-6.8 12.8-2.3 4.2-4.6 8.5-6.9 12.6-.4 1-1.2 1.1-2.3 1.1h-22c-.4 0-.7.2-.7-.3-.1-.4 0-.8.2-1.1l31.1-51L36 61.4c-.3-.4-.4-.8-.2-1 .2-.3.6-.4 1-.4h22.7c.5 0 1 .1 1.4.2.4.2.7.5 1 .9 1.9 4.3 4.1 8.6 6.4 12.9 2.4 4.3 4.7 8.5 7.2 12.7 2.4 4.2 4.6 8.4 6.7 12.7h.2c2.1-4.4 4.3-8.7 6.5-12.9 2.2-4.2 4.5-8.4 6.8-12.6 2.3-4.2 4.5-8.5 6.7-12.6.1-.4.3-.8.6-1 .4-.2.8-.3 1.3-.2h21.1c.5-.1 1 .2 1.1.7.1.1-.1.5-.3.7zM172.4 167c-7.4.1-14.8-1.4-21.5-4.5-6.3-2.9-11.5-7.7-15.1-13.6-3.7-6.1-5.5-13.7-5.5-22.8-.1-7.4 1.8-14.7 5.5-21.1 3.8-6.5 9.3-11.9 15.9-15.5 7-3.9 15.4-5.8 25.3-5.8.5 0 1.2 0 2.1.1.9.1 1.9.1 3.1.2V52.4c0-.7.3-1.1 1-1.1h20.3c.5-.1.9.3 1 .7v95.4c0 1.8.1 3.8.2 6 .2 2.1.3 4.1.4 5.8 0 .7-.3 1.3-1 1.6-5.2 2.2-10.7 3.8-16.3 4.8-5.1.9-10.2 1.4-15.4 1.4zm9.8-20v-44c-.9-.2-1.8-.4-2.7-.5-1.1-.1-2.2-.2-3.3-.2-3.9 0-7.8.8-11.3 2.6-3.4 1.7-6.3 4.2-8.5 7.4s-3.3 7.5-3.3 12.7c-.1 3.5.5 7 1.7 10.3 1 2.7 2.5 5.1 4.5 7.1 1.9 1.8 4.2 3.2 6.8 4 2.7.9 5.5 1.3 8.3 1.3 1.5 0 2.9-.1 4.2-.2 1.3.1 2.4-.1 3.6-.5z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,12 @@
|
||||
<svg width="91" height="80" viewBox="0 0 91 80" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_906_1839)">
|
||||
<path d="M56.9686 0H90.4318V80L56.9686 0Z" fill="#EB1000"/>
|
||||
<path d="M33.4632 0H0V80L33.4632 0Z" fill="#EB1000"/>
|
||||
<path d="M45.1821 29.4668L66.5199 80.0002H52.5657L46.1982 63.9461H30.6182L45.1821 29.4668Z" fill="#EB1000"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_906_1839">
|
||||
<rect width="90.4318" height="80" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 475 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 1024 1024"><path fill="#134881" d="M1024 100c0-55.192-44.808-100-100-100H100C44.808 0 0 44.808 0 100v824c0 55.192 44.808 100 100 100h824c55.192 0 100-44.808 100-100V100Z"/><path fill="url(#a)" d="M2477 909.311c-.17 21.934-18.03 39.689-40 39.689h-403.69l-172.55-298.876H2477v259.187ZM1603 909V733.513L1983.19 75h148.58l-321.19 556.33L1993.98 949H1643c-22.08 0-40-17.923-40-40Zm487.17-292.956h-150.22c-16.77 0-32.27-8.8-40.65-23.327-8.38-14.502-8.38-32.433 0-46.935l75.15-130.17 115.72 200.432ZM2437 75c21.97 0 39.83 17.755 40 39.689v501.355h-347.48l-135.41-234.495L2171.1 75H2437Z" transform="translate(-1528)"/><defs><radialGradient id="a" cx="0" cy="0" r="1" gradientTransform="translate(2271.03 -89.26) scale(1038.26)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#6be1fb"/><stop offset="1" stop-color="#38bdfa"/></radialGradient></defs></svg>
|
||||
|
After Width: | Height: | Size: 1020 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 1024 1024"><path fill="#4e3188" d="M1023.994 100c0-55.192-44.807-100-99.999-100H100.002C44.81 0 .002 44.808.002 100v824c0 55.192 44.808 100 100 100h823.993c55.192 0 100-44.808 100-100V100Z"/><path fill="url(#a)" d="M3547 650.087V909c0 21.809-17.49 39.566-39.2 39.992l-264.42-.001-172.64-298.904H3547Zm-342.96 298.904h-467.78l234.02-404.714 233.76 404.714Zm-505.34-2.629c-14.15-5.425-24.44-18.652-25.59-34.397l-.11-178.463 190.17-329.251h148.64L2698.7 946.362Zm449.05-542.726c12.95.054 25.34 7.661 32.03 18.935.07.114.2.344.2.344l39.3 68.052.34.564c6.42 11.234 6.67 25.389.25 36.827-13.17 23.042-26.55 45.973-39.83 68.96-6.52 11.179-18.86 18.473-31.98 18.636-25.03.105-75.22.047-75.29.047-12.95-.054-25.54-6.959-32.24-18.233-.15-.244-.43-.743-.43-.743s-39.32-68.059-39.4-68.217c-6.43-11.234-6.42-25.747 0-37.185.09-.168.29-.504.29-.504s26.31-45.638 39.48-68.457c6.52-11.179 18.89-18.87 32-19.034.22-.001.66-.011.66-.011l74.17.019h.45Zm372.14-326.51-311.25 538.875H3547V115c0-17.566-11.35-32.503-27.11-37.874ZM3053.34 75h428.43l-231.7 401.157-214.21-370.881L3053.34 75Zm96.18 295.191h-266.68l133.34-230.855 133.34 230.855Z" transform="matrix(1 0 0 1 -2597.98 0)"/><defs><radialGradient id="a" cx="0" cy="0" r="1" gradientTransform="translate(3341.03 -89.259) scale(1038.25)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#f9a6ff"/><stop offset="1" stop-color="#ea73ff"/></radialGradient></defs></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 1024 1024"><path fill="#891b26" d="M1024 100c0-55.192-44.808-100-100-100H100C44.808 0 0 44.808 0 100v824c0 55.192 44.808 100 100 100h824c55.192 0 100-44.808 100-100V100Z"/><path fill="url(#a)" d="m4145.14 949-257.8-446.348L3754 733.508V909c0 22.077 17.92 40 40 40h351.14Zm187.99 0h-148.64s-192.55-333.487-257.06-445.057c-12.63-21.85-12.64-48.87-.01-70.724 23.33-40.368 53.92-93.31 53.92-93.31L4333.13 949Zm187.99 0h-148.64l-369.29-646.928 72.14-124.89L4521.12 949ZM4628 808.578V909c0 22.077-17.92 40-40 40h-27.53L4095 143.121 4134.35 75h69.95L4628 808.578ZM4588 75h-344.36L4628 740.456V115c0-22.077-17.92-40-40-40Z" transform="translate(-3678.99)"/><defs><radialGradient id="a" cx="0" cy="0" r="1" gradientTransform="translate(4421.95 -89.26) scale(1038.26)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ffae71"/><stop offset="1" stop-color="#ff9350"/></radialGradient></defs></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1,12 @@
|
||||
<svg width="83" height="80" viewBox="0 0 83 80" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_912_9)">
|
||||
<path d="M67.5214 0H14.5299C6.50526 0 0 6.50526 0 14.5299V65.4701C0 73.4947 6.50526 80 14.5299 80H67.5214C75.546 80 82.0513 73.4947 82.0513 65.4701V14.5299C82.0513 6.50526 75.546 0 67.5214 0Z" fill="#00005B"/>
|
||||
<path d="M32.9624 47.8634H20.2474L17.6604 55.915C17.6252 56.0616 17.54 56.1913 17.4194 56.2817C17.2988 56.3721 17.1504 56.4177 16.9999 56.4104H10.5599C10.1927 56.4104 10.0642 56.2086 10.1746 55.805L21.1832 24.2314C21.2932 23.9012 21.4034 23.5783 21.5134 23.156C21.6576 22.4216 21.7313 21.6752 21.7336 20.9268C21.7261 20.8745 21.731 20.8212 21.7477 20.771C21.7644 20.7209 21.7926 20.6753 21.83 20.6379C21.8674 20.6005 21.9129 20.5723 21.9631 20.5556C22.0132 20.5389 22.0666 20.534 22.1189 20.5415H30.8708C31.127 20.5415 31.2738 20.6332 31.3111 20.8168L43.8058 55.86C43.9158 56.2272 43.8057 56.4107 43.4756 56.4104H36.32C36.1971 56.4241 36.0734 56.3925 35.9721 56.3216C35.8708 56.2507 35.7988 56.1453 35.7696 56.0251L32.9624 47.8634ZM22.2291 41.0745H30.9258C30.7056 40.3409 30.4487 39.5152 30.1551 38.5975C29.861 37.6807 29.5491 36.6991 29.2194 35.6527C28.8892 34.607 28.559 33.5611 28.2287 32.5153C27.8985 31.4695 27.5957 30.4604 27.3204 29.4879C27.0453 28.5161 26.7976 27.6263 26.5774 26.8184H26.5223C26.2126 28.305 25.8268 29.7747 25.3664 31.2218C24.8521 32.8731 24.3292 34.5611 23.7977 36.2857C23.2654 38.011 22.7425 39.6072 22.2291 41.0745Z" fill="#9999FF"/>
|
||||
<path d="M64.0619 44.7295H53.2185C53.3513 45.8024 53.7076 46.8355 54.2644 47.7622C54.8799 48.6798 55.7504 49.3973 56.7687 49.8263C58.1487 50.4234 59.6413 50.716 61.1447 50.684C62.3374 50.6611 63.5256 50.5306 64.6949 50.2942C65.7407 50.153 66.7656 49.8858 67.7473 49.4985C67.9304 49.3523 68.0226 49.4435 68.0226 49.7737V55.0028C68.0316 55.1452 68.0031 55.2876 67.9399 55.4156C67.8769 55.5157 67.7923 55.6003 67.6922 55.6632C66.6033 56.1456 65.4574 56.4869 64.2821 56.6791C62.6854 56.979 61.0627 57.1173 59.4383 57.092C56.8323 57.092 54.6489 56.6883 52.8882 55.881C51.2236 55.1477 49.7535 54.0357 48.5949 52.6335C47.5127 51.3123 46.7077 49.7866 46.228 48.1475C45.753 46.5297 45.512 44.8522 45.5125 43.1661C45.5074 41.3251 45.7954 39.4949 46.3657 37.7444C46.9149 36.0369 47.7834 34.4492 48.9252 33.0658C50.0513 31.6985 51.4595 30.5908 53.0534 29.8182C54.6677 29.0296 56.5761 28.7466 58.7778 28.7466C60.6037 28.7005 62.4173 29.0576 64.0894 29.7924C65.4955 30.3921 66.7333 31.3269 67.6947 32.5153C68.5965 33.679 69.2859 34.9927 69.7313 36.3959C70.165 37.7481 70.3878 39.1591 70.3918 40.5791C70.3918 41.3867 70.3643 42.1206 70.3092 42.7808C70.2543 43.4413 70.2084 43.9183 70.1716 44.2119C70.1574 44.3333 70.099 44.4452 70.0077 44.5263C69.9163 44.6075 69.7984 44.6523 69.6762 44.6523C69.456 44.6523 69.0799 44.6798 68.5479 44.7349C68.0155 44.7899 67.355 44.8266 66.5664 44.8449C65.7768 44.8638 64.9426 44.7295 64.0619 44.7295ZM53.2185 39.7153H60.4291C61.3098 39.7153 61.9611 39.7061 62.383 39.6878C62.6654 39.6595 62.938 39.5692 63.1813 39.4232V39.0929C63.1702 38.6624 63.096 38.2359 62.9611 37.827C62.6641 36.8879 62.0671 36.0723 61.2616 35.5055C60.4561 34.9387 59.4869 34.652 58.5027 34.6895C57.5764 34.6335 56.6538 34.8483 55.8474 35.3077C55.0411 35.7671 54.3858 36.4511 53.9616 37.2765C53.5845 38.0442 53.3336 38.8677 53.2185 39.7153Z" fill="#9999FF"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_912_9">
|
||||
<rect width="82.0513" height="80" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="329.775 439.999 320.426 100.002">
|
||||
<path fill="#ff5a5f" d="M498.65 465.125c0 3.604-2.904 6.506-6.508 6.506s-6.506-2.902-6.506-6.506 2.803-6.506 6.506-6.506c3.706.1 6.508 3.003 6.508 6.506zm-26.828 13.114v1.602s-3.102-4.006-9.709-4.006c-10.91 0-19.42 8.309-19.42 19.82 0 11.412 8.41 19.82 19.42 19.82 6.707 0 9.709-4.104 9.709-4.104v1.701c0 .801.602 1.4 1.402 1.4h8.107v-37.639h-8.107c-.8.003-1.402.705-1.402 1.406zm0 24.123c-1.5 2.203-4.504 4.105-8.107 4.105-6.406 0-11.312-4.004-11.312-10.812 0-6.807 4.906-10.811 11.312-10.811 3.504 0 6.707 2.002 8.107 4.104v13.414zm15.516-25.526h9.609v37.639h-9.609v-37.639zm143.545-1.002c-6.607 0-9.711 4.006-9.711 4.006v-21.121h-9.609v55.756h8.109c.801 0 1.4-.701 1.4-1.402v-1.701s3.104 4.104 9.709 4.104c10.912 0 19.42-8.406 19.42-19.818s-8.508-19.824-19.318-19.824zm-1.602 30.532c-3.705 0-6.607-1.9-8.109-4.104v-13.414c1.502-2.002 4.705-4.104 8.109-4.104 6.406 0 11.311 4.004 11.311 10.811s-4.904 10.811-11.311 10.811zm-22.722-14.213v22.422h-9.611v-21.322c0-6.205-2.002-8.709-7.404-8.709-2.902 0-5.906 1.502-7.811 3.705v26.227h-9.607v-37.639h7.605c.801 0 1.402.701 1.402 1.402v1.602c2.803-2.904 6.506-4.006 10.209-4.006 4.205 0 7.709 1.203 10.512 3.605 3.402 2.803 4.705 6.406 4.705 12.713zm-57.76-16.319c-6.605 0-9.709 4.006-9.709 4.006v-21.121h-9.609v55.756h8.107c.801 0 1.402-.701 1.402-1.402v-1.701s3.104 4.104 9.709 4.104c10.912 0 19.42-8.406 19.42-19.818.1-11.413-8.408-19.824-19.32-19.824zm-1.602 30.532c-3.703 0-6.605-1.9-8.107-4.104v-13.414c1.502-2.002 4.705-4.104 8.107-4.104 6.408 0 11.312 4.004 11.312 10.811s-4.904 10.811-11.312 10.811zm-26.025-30.532c2.902 0 4.404.502 4.404.502v8.908s-8.008-2.703-13.012 3.004v26.326h-9.611v-37.738h8.109c.801 0 1.4.701 1.4 1.402v1.602c1.804-2.103 5.708-4.006 8.71-4.006zm-99.799 35.237c-.5-1.201-1.001-2.502-1.501-3.604-.802-1.801-1.603-3.504-2.302-5.105l-.1-.1c-6.908-15.016-14.314-30.23-22.123-45.244l-.3-.602a196.953 196.953 0 0 1-2.401-4.705c-1.002-1.803-2.002-3.703-3.604-5.506-3.203-4.004-7.808-6.207-12.712-6.207-5.006 0-9.51 2.203-12.812 6.006-1.502 1.801-2.604 3.703-3.604 5.506a217.271 217.271 0 0 1-2.401 4.705l-.301.602c-7.708 15.014-15.215 30.229-22.122 45.244l-.101.199c-.7 1.604-1.502 3.305-2.303 5.105-.5 1.102-1 2.303-1.5 3.604-1.302 3.703-1.703 7.207-1.201 10.812 1.101 7.508 6.105 13.812 13.013 16.617 2.603 1.102 5.306 1.602 8.108 1.602.801 0 1.801-.1 2.603-.201 3.304-.4 6.707-1.5 10.011-3.402 4.104-2.303 8.008-5.605 12.412-10.41 4.404 4.805 8.408 8.107 12.412 10.41 3.305 1.902 6.707 3.002 10.01 3.402.801.102 1.803.201 2.604.201 2.803 0 5.605-.5 8.107-1.602 7.008-2.805 11.912-9.209 13.014-16.617.795-3.503.395-7.005-.906-10.71zm-45.144 5.205c-5.406-6.807-8.91-13.213-10.11-18.617-.5-2.303-.601-4.305-.3-6.107.199-1.602.801-3.004 1.602-4.205 1.902-2.701 5.105-4.404 8.809-4.404 3.705 0 7.008 1.602 8.81 4.404.801 1.201 1.401 2.604 1.603 4.205.299 1.803.199 3.904-.301 6.107-1.205 5.304-4.709 11.711-10.113 18.617zm39.938 4.705c-.7 5.205-4.204 9.711-9.108 11.713-2.402 1-5.006 1.301-7.607 1-2.502-.301-5.006-1.102-7.607-2.602-3.604-2.004-7.207-5.105-11.412-9.711 6.606-8.107 10.61-15.516 12.112-22.121.701-3.104.802-5.906.5-8.51-.399-2.502-1.301-4.805-2.702-6.807-3.105-4.506-8.311-7.107-14.115-7.107s-11.01 2.703-14.113 7.107c-1.401 2.002-2.303 4.305-2.703 6.807-.4 2.604-.301 5.506.5 8.51 1.501 6.605 5.605 14.113 12.111 22.221-4.104 4.605-7.808 7.709-11.412 9.711-2.603 1.502-5.104 2.303-7.606 2.602-2.702.301-5.306-.1-7.608-1-4.904-2.002-8.408-6.508-9.108-11.713-.3-2.502-.101-5.004.901-7.807.299-1.002.801-2.002 1.301-3.203.701-1.602 1.5-3.305 2.302-5.006l.101-.199c6.906-14.916 14.313-30.131 22.021-44.945l.3-.602c.802-1.5 1.603-3.102 2.403-4.604.801-1.602 1.701-3.104 2.803-4.406 2.102-2.4 4.904-3.703 8.008-3.703s5.906 1.303 8.008 3.703c1.102 1.305 2.002 2.807 2.803 4.406.802 1.502 1.603 3.104 2.402 4.604l.301.602a1325.424 1325.424 0 0 1 21.922 45.045v.1c.802 1.604 1.502 3.404 2.303 5.008.5 1.199 1.001 2.199 1.301 3.201.799 2.6 1.099 5.104.698 7.706z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
@@ -0,0 +1,3 @@
|
||||
<svg enable-background="new 0 0 1991.3 2143.2" viewBox="0 0 1991.3 2143.2" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m1851.6 1735.6c-15 111.6-90.1 208.1-195.2 251-51.5 21.4-107.3 27.9-163.1 21.4-53.6-6.4-107.3-23.6-163-55.7-77.2-43-154.5-109.4-244.6-208.1 141.6-173.8 227.4-332.5 259.6-474.1 15-66.5 17.2-126.6 10.7-182.4-8.6-53.6-27.9-103-57.9-145.9-66.5-96.5-178.1-152.3-302.5-152.3s-236 57.9-302.5 152.3c-30 42.9-49.3 92.3-57.9 145.9-8.6 55.8-6.4 118 10.7 182.4 32.2 141.6 120.1 302.5 259.6 476.2-88 98.7-167.3 165.2-244.6 208.1-55.8 32.2-109.4 49.4-163 55.8-55.3 6.2-111.2-1.2-163-21.4-105.1-42.9-180.2-139.5-195.2-251-6.4-53.6-2.1-107.2 19.3-167.3 6.4-21.5 17.2-42.9 27.9-68.6 15-34.3 32.2-70.8 49.3-107.3l2.2-4.3c148-319.7 306.8-645.8 472-963.3l6.4-12.9c17.2-32.1 34.3-66.5 51.5-98.7 17.2-34.3 36.5-66.5 60.1-94.4 45.1-51.5 105.1-79.4 171.6-79.4s126.6 27.9 171.6 79.4c23.6 27.9 42.9 60.1 60.1 94.4 17.2 32.2 34.3 66.5 51.5 98.6l6.5 12.9c163 319.6 321.8 645.7 469.8 965.4v2.1c17.2 34.3 32.2 73 49.3 107.3 10.7 25.8 21.5 47.2 27.9 68.6 17.1 55.9 23.5 109.5 14.9 165.3zm-856-100.9c-115.8-145.9-190.9-283.2-216.7-399-10.7-49.4-12.9-92.3-6.4-130.9 4.3-34.3 17.2-64.4 34.3-90.1 40.8-57.9 109.4-94.4 188.8-94.4s150.2 34.4 188.8 94.4c17.2 25.8 30 55.8 34.3 90.1 6.4 38.6 4.3 83.7-6.4 130.9-25.7 113.7-100.8 251-216.7 399zm967.6-111.5c-10.7-25.7-21.5-53.6-32.2-77.2-17.2-38.6-34.3-75.1-49.4-109.4l-2.1-2.1c-148-321.8-306.8-647.9-474.1-969.7l-6.4-12.9c-17.2-32.2-34.3-66.5-51.5-100.8-21.5-38.6-42.9-79.4-77.2-118-68.7-85.9-167.4-133.1-272.5-133.1-107.3 0-203.8 47.2-274.7 128.7-32.2 38.6-55.8 79.4-77.2 118-17.2 34.3-34.3 68.6-51.5 100.8l-6.4 12.8c-165.2 321.8-326.1 647.9-474.1 969.7l-2.1 4.3c-15 34.3-32.2 70.8-49.4 109.4-11.5 25.4-22.2 51.2-32.2 77.2-27.9 79.4-36.5 154.5-25.8 231.7 23.6 160.9 130.9 296.1 278.9 356.1 55.8 23.6 113.7 34.3 173.8 34.3 17.2 0 38.6-2.1 55.8-4.3 70.8-8.6 143.7-32.1 214.5-72.9 88-49.3 171.6-120.1 266-223.1 94.4 103 180.2 173.8 266 223.1 70.8 40.8 143.7 64.3 214.5 72.9 17.2 2.2 38.6 4.3 55.8 4.3 60.1 0 120.1-10.7 173.8-34.3 150.2-60.1 255.3-197.4 278.9-356.1 17.2-75 8.6-150-19.2-229.4z" fill="#e0565b"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
@@ -0,0 +1,20 @@
|
||||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32">
|
||||
<defs>
|
||||
<linearGradient id="c" x1="16" x2="16" y1="0" y2="30" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0%" stop-color="#FFF" stop-opacity=".5"/>
|
||||
<stop offset="100%" stop-opacity=".5"/>
|
||||
</linearGradient>
|
||||
<filter id="a" width="1.08" height="1.0966667" x="-.04" y="-.04" filterUnits="objectBoundingBox">
|
||||
<feOffset dy=".5" in="SourceAlpha" result="shadowOffsetOuter1"/>
|
||||
<feGaussianBlur in="shadowOffsetOuter1" result="shadowBlurOuter1" stdDeviation=".5"/>
|
||||
<feComposite in="shadowBlurOuter1" in2="SourceAlpha" operator="out" result="shadowBlurOuter1"/>
|
||||
<feColorMatrix in="shadowBlurOuter1" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.199473505 0"/>
|
||||
</filter>
|
||||
<circle id="b" cx="16" cy="15" r="15"/>
|
||||
</defs>
|
||||
<use xlink:href="#b" filter="url(#a)" style="display:inline;fill-rule:evenodd"/>
|
||||
<use xlink:href="#b" fill="#627eea" style="display:inline;fill:#e5e5e5;fill-opacity:1;fill-rule:evenodd"/>
|
||||
<use xlink:href="#b" fill="url(#c)" style="display:inline;mix-blend-mode:soft-light;fill:url(#c);fill-rule:evenodd"/>
|
||||
<circle cx="16" cy="15" r="14.5" stroke="#000" stroke-opacity=".097" style="display:inline;fill:none;fill-rule:evenodd"/>
|
||||
<path d="m10.331859 23 7.221238-12.601771.99115 3.256638L13.022125 23h2.83186l3.539822-6.088495L20.951328 23H23.5l-2.40708-9.061945 1.699118-2.973453h-2.548674L19.252216 7h-2.407083L7.5 23Z" style="fill:#000;fill-opacity:1;stroke:none;stroke-width:.141594;stroke-opacity:1"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1 @@
|
||||
<svg fill="#005AF0" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>AMP</title><path d="M12 0c6.628 0 12 5.373 12 12s-5.372 12-12 12C5.373 24 0 18.627 0 12S5.373 0 12 0zm-.92 19.278l5.034-8.377a.444.444 0 00.097-.268.455.455 0 00-.455-.455l-2.851.004.924-5.468-.927-.003-5.018 8.367s-.1.183-.1.291c0 .251.204.455.455.455l2.831-.004-.901 5.458z"/></svg>
|
||||
|
After Width: | Height: | Size: 377 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="150" preserveAspectRatio="xMidYMid" viewBox="0 0 256 150"><path fill="#34A853" d="M255.285 143.47c-.084-.524-.164-1.042-.251-1.56a128.119 128.119 0 0 0-12.794-38.288 128.778 128.778 0 0 0-23.45-31.86 129.166 129.166 0 0 0-22.713-18.005c.049-.08.09-.168.14-.25 2.582-4.461 5.172-8.917 7.755-13.38l7.576-13.068c1.818-3.126 3.632-6.26 5.438-9.386a11.776 11.776 0 0 0 .662-10.484 11.668 11.668 0 0 0-4.823-5.536 11.85 11.85 0 0 0-5.004-1.61 11.963 11.963 0 0 0-2.218.018 11.738 11.738 0 0 0-8.968 5.798c-1.814 3.127-3.628 6.26-5.438 9.386l-7.576 13.069c-2.583 4.462-5.173 8.918-7.755 13.38-.282.487-.567.973-.848 1.467-.392-.157-.78-.313-1.172-.462-14.24-5.43-29.688-8.4-45.836-8.4-.442 0-.879 0-1.324.006-14.357.143-28.152 2.64-41.022 7.12a119.434 119.434 0 0 0-4.42 1.642c-.262-.455-.532-.911-.79-1.367-2.583-4.462-5.173-8.918-7.755-13.38L65.123 15.25c-1.818-3.126-3.632-6.259-5.439-9.386A11.736 11.736 0 0 0 48.5.048 11.71 11.71 0 0 0 43.49 1.66a11.716 11.716 0 0 0-4.077 4.063c-.281.474-.532.967-.742 1.473a11.808 11.808 0 0 0-.365 8.188c.259.786.594 1.554 1.023 2.296a3973.32 3973.32 0 0 1 5.439 9.386c2.53 4.357 5.054 8.713 7.58 13.069 2.582 4.462 5.168 8.918 7.75 13.38.02.038.046.075.065.112A129.184 129.184 0 0 0 45.32 64.38a129.693 129.693 0 0 0-22.2 24.015 127.737 127.737 0 0 0-9.34 15.24 128.238 128.238 0 0 0-10.843 28.764 130.743 130.743 0 0 0-1.951 9.524c-.087.518-.167 1.042-.247 1.56A124.978 124.978 0 0 0 0 149.118h256c-.205-1.891-.449-3.77-.734-5.636l.019-.012Z"/><path fill="#202124" d="M194.59 113.712c5.122-3.41 5.867-11.3 1.661-17.62-4.203-6.323-11.763-8.682-16.883-5.273-5.122 3.41-5.868 11.3-1.662 17.621 4.203 6.322 11.764 8.682 16.883 5.272ZM78.518 108.462c4.206-6.321 3.46-14.21-1.662-17.62-5.123-3.41-12.68-1.05-16.886 5.27-4.203 6.323-3.458 14.212 1.662 17.622 5.122 3.41 12.683 1.05 16.886-5.272Z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
@@ -1 +1 @@
|
||||
<svg width="256" height="272" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid"><path d="M.1 45.522 125.908.697l129.196 44.028-20.919 166.45-108.277 59.966-106.583-59.169L.1 45.522Z" fill="#E23237"/><path d="M255.104 44.725 125.908.697v270.444l108.277-59.866 20.919-166.55Z" fill="#B52E31"/><path d="M126.107 32.274 47.714 206.693l29.285-.498 15.739-39.347h70.325l17.233 39.845 27.99.498-82.179-174.917Zm.2 55.882 26.496 55.383h-49.806l23.31-55.383Z" fill="#FFF"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 242 256"><g clip-path="url(#a)"><mask id="b" width="242" height="256" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><path fill="#fff" d="M0 0h242v256H0V0Z"/></mask><g mask="url(#b)"><path fill="url(#c)" d="m241 43-9 136L149 0l92 43Zm-58 176-62 36-63-36 12-31h101l12 31ZM121 68l32 80H88l33-80ZM9 179 0 43 92 0 9 179Z"/><path fill="url(#d)" d="m241 43-9 136L149 0l92 43Zm-58 176-62 36-63-36 12-31h101l12 31ZM121 68l32 80H88l33-80ZM9 179 0 43 92 0 9 179Z"/></g></g><defs><linearGradient id="c" x1="53.2" x2="245" y1="231.9" y2="140.7" gradientUnits="userSpaceOnUse"><stop stop-color="#E40035"/><stop offset=".2" stop-color="#F60A48"/><stop offset=".4" stop-color="#F20755"/><stop offset=".5" stop-color="#DC087D"/><stop offset=".7" stop-color="#9717E7"/><stop offset="1" stop-color="#6C00F5"/></linearGradient> <linearGradient id="d" x1="44.5" x2="170" y1="30.7" y2="174" gradientUnits="userSpaceOnUse"> <stop stop-color="#FF31D9"/><stop offset="1" stop-color="#FF5BE1" stop-opacity="0"/></linearGradient><clipPath id="a"><path fill="#fff" d="M0 0h242v256H0z"/></clipPath></defs></svg>
|
||||
|
Before Width: | Height: | Size: 486 B After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="209" height="256" viewBox="0 0 814 1000"><path fill="#fff" d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76.5 0-103.7 40.8-165.9 40.8s-105.6-57-155.5-127C46.7 790.7 0 663 0 541.8c0-194.4 126.4-297.5 250.8-297.5 66.1 0 121.2 43.4 162.7 43.4 39.5 0 101.1-46 176.3-46 28.5 0 130.9 2.6 198.3 99.2zm-234-181.5c31.1-36.9 53.1-88.1 53.1-139.3 0-7.1-.6-14.3-1.9-20.1-50.6 1.9-110.8 33.7-147.1 75.8-28.5 32.4-55.1 83.6-55.1 135.5 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.4 0 102.5-30.4 135.5-71.3z"/></svg>
|
||||
|
After Width: | Height: | Size: 690 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" fill="none" viewBox="0 0 256 256"><rect width="256" height="256" fill="#F02E65" rx="60"/><path fill="#fff" fill-rule="evenodd" d="M159.946 192.801C148.186 192.801 137.162 189.649 127.675 184.142C120.556 188.263 112.645 191.02 104.341 192.181C87.4292 194.546 70.2701 190.096 56.6391 179.81C49.8831 174.719 44.1965 168.347 39.9042 161.058C35.612 153.768 32.7982 145.704 31.6236 137.327C30.4491 128.95 30.9369 120.423 33.0591 112.234C35.1813 104.045 38.8963 96.3552 43.9919 89.6029C49.0874 82.8505 55.4636 77.1683 62.756 72.8812C70.0485 68.5941 78.1141 65.786 86.4927 64.6173C94.8707 63.4488 103.397 63.9425 111.584 66.0705C117.235 67.5393 122.648 69.7668 127.679 72.683C137.166 67.1786 148.188 64.0268 159.946 64.0268C195.507 64.0268 224.333 92.8534 224.333 128.414C224.333 163.974 195.507 192.801 159.946 192.801ZM116.897 80.5317L116.917 80.5148C107.976 76.503 98.0123 75.0407 88.1517 76.4197C74.3622 78.3481 61.903 85.6756 53.5158 96.7901C45.1286 107.905 41.5001 121.895 43.4286 135.686C45.357 149.475 52.6844 161.934 63.7989 170.321C74.9132 178.708 88.9045 182.337 102.694 180.408C116.484 178.48 128.943 171.153 137.33 160.038C145.717 148.923 149.346 134.933 147.417 121.143C146.528 114.781 144.489 108.702 141.459 103.176C135.972 93.2076 127.339 85.214 116.897 80.5317Z" clip-rule="evenodd"/><path fill="#fff" d="M97.1484 106.137C97.071 106.327 96.0869 110.194 95.0265 114.78C93.9264 119.366 92.1827 126.606 91.1991 130.888C89.3021 138.734 88.165 143.889 88.165 144.572C88.165 144.76 89.3407 144.913 90.7799 144.913H93.3965L94.5698 139.681C95.2537 136.839 96.7702 130.319 97.9827 125.203C99.1959 120.085 100.673 113.87 101.243 111.367C101.81 108.865 102.379 106.593 102.493 106.327C102.608 105.987 101.962 105.874 99.9916 105.874C98.5126 105.874 97.2227 105.987 97.1484 106.137ZM76.7934 122.549L73.3062 126.34L74.3308 127.552C74.8975 128.234 76.4533 129.941 77.78 131.343L80.2057 133.92H87.1041L83.8452 130.394C82.0623 128.501 80.5839 126.681 80.5839 126.454C80.5839 126.189 81.9494 124.484 83.6175 122.664C85.2844 120.808 86.6492 119.214 86.6492 119.024C86.6492 118.873 85.2088 118.759 83.4658 118.759H80.3199L76.7934 122.549ZM103.326 118.986C103.326 119.101 103.971 119.82 104.765 120.616C107.724 123.573 109.808 126.076 109.694 126.567C109.619 126.833 108.177 128.613 106.435 130.471L103.29 133.92H106.814L110.339 133.882L113.559 130.358C115.342 128.388 116.782 126.642 116.782 126.415C116.782 126.227 115.266 124.445 113.37 122.437L109.96 118.759H106.661C104.804 118.759 103.326 118.873 103.326 118.986Z"/></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 256 219" xmlns="http://www.w3.org/2000/svg" width="256" height="219" preserveAspectRatio="xMidYMid"><path fill="#FFF" d="M123.632.012c13.836.398 26.332 8.52 32.32 21.089l23.761 49.984.382-.966a58.846 58.846 0 0 0 2.315-7.64l.332-1.548c4.004-20.02 23.463-32.977 43.52-29.016a36.982 36.982 0 0 1 29.018 43.526c-5.337 26.652-19.095 51.387-38.829 70.983l-.625.607 8.33 17.514c9.668 20.33-.349 44.903-21.4 51.799l-.95.297-.725.219a36.691 36.691 0 0 1-9.897 1.373 37.012 37.012 0 0 1-33.42-21.102l-6.43-13.518-1.622.402c-8.692 2.054-17.508 3.192-26.328 3.367l-2.405.024c-8.488 0-17.116-.987-25.736-2.9l-1.7-.396-6.177 12.987a36.972 36.972 0 0 1-20.713 18.852l-1.1.382a36.963 36.963 0 0 1-28.96-2.484c-17.56-9.334-24.256-31.186-15.688-49.235l7.67-16.129-.67-.65C17.39 137.46 9.054 125.67 3.524 112.996l-.737-1.733-.106-.281C-4.93 92.058 4.21 70.517 23.122 62.86c14.834-6.005 31.278-1.693 41.39 9.578l.19.218 24.446-51.422A36.858 36.858 0 0 1 121.535.01L122.57 0l1.062.012Z"/><path fill="#1A007F" d="m87.118 170.045 21.896-46.068c-16.724-3.552-33.551-13.897-43.068-26.482L43.05 145.63c12.723 10.793 27.999 19.276 44.068 24.414"/><path fill="#4E000A" d="M178.495 96.115c-11 13.483-26.275 23.483-42.62 27.379l21.827 45.93c15.931-5.38 30.827-14.069 43.69-25.206l-22.897-48.103Z"/><path fill="#1A007F" d="M43.05 145.631 31.602 169.7c-5.828 12.241-1.449 27.31 10.551 33.689 12.724 6.758 28.379 1.483 34.517-11.38l10.448-21.964A130.635 130.635 0 0 1 43.05 145.63"/><path fill="#FF9396" d="M223.942 43.565a25.137 25.137 0 0 0-29.585 19.723c-2.414 12.07-8.069 23.31-15.862 32.862l22.862 48.137c21.103-18.31 36.688-43.24 42.275-71.137 2.724-13.655-6.104-26.896-19.69-29.585"/><path fill="#002DC8" d="M135.875 123.494c-4.896 1.172-9.896 1.793-14.896 1.793-3.896 0-7.93-.448-11.965-1.31-16.724-3.552-33.551-13.897-43.068-26.482-2.38-3.138-4.31-6.414-5.655-9.759-5.207-12.862-19.862-19.068-32.724-13.896C14.705 79.047 8.5 93.702 13.671 106.563c5.896 14.62 16.31 28.034 29.379 39.068a130.48 130.48 0 0 0 44.033 24.414c11.069 3.551 22.551 5.517 33.862 5.517 12.551 0 24.93-2.173 36.723-6.138l-21.793-45.93Z"/><path fill="#FF536A" d="m213.425 169.596-12.068-25.378-22.862-48.103-.034.035s0-.035.034-.035l-33.24-69.93a25.144 25.144 0 0 0-22.69-14.344c-9.69 0-18.517 5.586-22.689 14.345L65.98 97.495c9.517 12.585 26.344 22.93 43.068 26.482l10.965-23.034c1.035-2.173 4.138-2.173 5.173 0l10.724 22.551h.069-.07l21.828 45.93 10.724 22.551a25.103 25.103 0 0 0 22.723 14.345c2.242 0 4.483-.31 6.69-.931 15.138-4.173 22.31-21.586 15.551-35.793"/></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
@@ -0,0 +1 @@
|
||||
<svg version="1" xmlns="http://www.w3.org/2000/svg" width="682.667" height="682.667" viewBox="0 0 512 512"><path fill="#fff" d="M236.5.6C233.8.8 225.4 1.9 218 3 147 13.5 83.2 54.1 42.8 114.5c-40.7 60.9-53 138.1-33.3 209.8C26.1 385.1 66 438.4 121 473.4c9.8 6.2 34.9 18.5 47.3 23 13.7 5.1 34.1 10.2 50.9 12.7 20.4 3.2 53.2 3.2 73.6 0 28.2-4.3 50.2-11.2 75.7-23.6 24.8-12.1 45.1-26.4 64.9-45.5 59.9-58.1 87.9-139.8 75.7-221.5C498.5 147 458 83.3 397.5 42.8c-29.9-20-66.2-34-103-39.8-12.7-2-45.9-3.4-58-2.4zM400.8 175c16.1 1.7 43.2 8.2 43.2 10.4 0 .9-12 38.8-12.4 39.3-.1.1-3.7-.9-7.9-2.2-20.3-6.2-46.9-7.7-67.5-3.6C293 231.3 245.1 283.7 238 348.1c-1.4 13-2.4 16.2-6.3 20.6-7.7 8.7-21.3 9.6-29.6 2-3.1-2.9-7.1-11.4-7.1-15.2 0-6.4-4.2-20.4-9-30-10.1-20.2-26.1-34.1-48-41.7-9-3-10.3-3.2-24-3.3-11.4 0-16.1.4-22 2-4.1 1.1-7.9 2-8.4 2s-3.7-8.8-7.2-19.5c-4.5-14-6-19.7-5.1-20.2 1.8-1.1 16-4.8 23-6 9.7-1.6 32-1.3 41.2.7 26.5 5.6 46.7 16.5 65.6 35.6l10.6 10.7 3.2-6.7c8.7-17.7 21.4-35.2 35.9-49.8 39.6-39.9 95.3-60.1 150-54.3z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1 @@
|
||||
<svg width="114" height="46" viewBox="0 0 114 46" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 23C0 10.2983 10.2621 3.05934e-05 22.9192 3.05934e-05C35.5764 3.05934e-05 45.8385 10.2983 45.8385 23V45.3426C45.8385 45.7067 45.5462 46 45.1833 46H33.3971C33.2234 46 33.0568 45.9307 32.9339 45.8074C32.811 45.6841 32.742 45.5169 32.742 45.3426V23C32.742 21.0504 32.1659 19.1446 31.0866 17.5235C30.0072 15.9025 28.4731 14.639 26.6782 13.8929C24.8834 13.1469 22.9083 12.9517 21.0029 13.332C19.0975 13.7124 17.3472 14.6512 15.9735 16.0298C14.5997 17.4083 13.6642 19.1648 13.2852 21.0769C12.9062 22.9891 13.1007 24.9711 13.8441 26.7723C14.5876 28.5735 15.8466 30.113 17.462 31.1961C19.0773 32.2793 20.9765 32.8574 22.9192 32.8574H30.4501C30.813 32.8574 31.1052 33.1507 31.1052 33.5148V45.3426C31.1052 45.7067 30.8111 46 30.4501 46H22.9192C10.2621 46 0 35.7017 0 23ZM82.0203 4.19944C82.3641 3.90811 82.3373 3.35994 81.9496 3.13186C78.4443 1.07452 74.4553 -0.00663037 70.3945 3.05934e-05C57.7374 3.05934e-05 47.4753 10.2983 47.4753 23V45.3426C47.4753 45.7067 47.7694 46 48.1304 46H59.9166C60.2795 46 60.5717 45.7067 60.5717 45.3426V23C60.5713 21.3684 60.9745 19.7622 61.7451 18.3254C62.5157 16.8887 63.6297 15.6664 64.987 14.7682C66.3444 13.87 67.9027 13.324 69.5222 13.1791C71.1417 13.0342 72.7716 13.2949 74.2659 13.938C74.3517 13.9758 74.444 13.9962 74.5376 13.998C74.6313 13.9999 74.7243 13.9831 74.8115 13.9487C74.8986 13.9144 74.9781 13.863 75.0455 13.7977C75.1128 13.7324 75.1666 13.6544 75.2037 13.5681C76.7034 9.94641 79.0406 6.735 82.0222 4.19944H82.0203ZM97.8976 3.05934e-05C103.834 -0.00813064 109.54 2.303 113.807 6.44386C114.065 6.69302 114.063 7.10702 113.807 7.36194L105.48 15.7205C105.352 15.8445 105.182 15.9144 105.004 15.9154C104.826 15.9165 104.654 15.8487 104.525 15.7263C103.146 14.4609 101.436 13.6165 99.5957 13.2921C97.7554 12.9677 95.861 13.1768 94.1349 13.8949C92.4088 14.6129 90.9226 15.8101 89.8507 17.346C88.7788 18.8819 88.1656 20.6928 88.0832 22.5661C88.0008 24.4394 88.4525 26.2974 89.3854 27.9221C90.3182 29.5468 91.6935 30.8708 93.3498 31.7388C95.0061 32.6067 96.8748 32.9825 98.7365 32.8222C100.598 32.6618 102.376 31.9719 103.86 30.8334C103.991 30.7296 104.155 30.677 104.322 30.6855C104.488 30.694 104.646 30.7629 104.766 30.8794L113.127 39.2706C113.19 39.3319 113.239 39.4054 113.272 39.4865C113.305 39.5677 113.321 39.6547 113.319 39.7424C113.318 39.83 113.298 39.9163 113.262 39.996C113.225 40.0758 113.173 40.1472 113.108 40.2059C108.919 43.946 103.505 46.0084 97.8976 46C85.2404 46 74.9783 35.7017 74.9783 23C74.9783 10.2983 85.2404 3.05934e-05 97.8976 3.05934e-05Z" fill="white"/></svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1 @@
|
||||
<svg width="62" height="24" viewBox="0 0 62 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 12C0 5.37259 5.58071 0 12.4649 0C19.349 0 24.9297 5.37259 24.9297 12V20.5714V23.6571C24.9297 23.8466 24.7703 24 24.5736 24H18.1631C17.9663 24 17.8069 23.8466 17.8069 23.6571V20.5714V12C17.8069 9.15969 15.4153 6.85714 12.4649 6.85714C9.51451 6.85714 7.12278 9.15969 7.12278 12C7.12278 14.8404 9.51451 17.1429 12.4649 17.1429H16.5605C16.7572 17.1429 16.9166 17.2963 16.9166 17.4857V23.6571C16.9166 23.8466 16.7572 24 16.5605 24H12.4649C5.58071 24 0 18.6274 0 12ZM44.608 2.19125C44.795 2.03861 44.7804 1.7533 44.5688 1.63418C42.7238 0.595354 40.5765 0 38.2849 0C31.4008 0 25.8201 5.37259 25.8201 12V20.5714V23.6571C25.8201 23.8466 25.9794 24 26.1762 24H32.5867C32.7835 24 32.9428 23.8466 32.9428 23.6571V20.5714V12C32.9428 9.15969 35.3345 6.85714 38.2849 6.85714C39.0326 6.85714 39.7446 7.00505 40.3908 7.27214C40.5868 7.35317 40.819 7.26861 40.9008 7.0789C41.7202 5.17615 43.0007 3.50391 44.608 2.19125ZM53.2427 0C56.6033 0 59.6532 1.28028 61.895 3.36182C62.0356 3.49234 62.034 3.70793 61.896 3.84087L57.3659 8.20198C57.2246 8.3381 56.9952 8.33458 56.8478 8.20464C55.8976 7.36774 54.632 6.85714 53.2427 6.85714C50.2923 6.85714 47.9007 9.15969 47.9007 12C47.9007 14.8404 50.2923 17.1429 53.2427 17.1429C54.4627 17.1429 55.5872 16.7493 56.4865 16.0865C56.635 15.9771 56.8462 15.9833 56.9785 16.1107L61.526 20.4886C61.6681 20.6254 61.6649 20.8486 61.5148 20.977C59.314 22.8578 56.417 24 53.2427 24C46.3586 24 40.7779 18.6274 40.7779 12C40.7779 5.37259 46.3586 0 53.2427 0Z" fill="black"/></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -1 +1 @@
|
||||
<svg width="256" height="264" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid"><defs><linearGradient x1="137.073%" y1="-40.996%" x2="85.999%" y2="56.205%" id="a"><stop stop-color="#FF1639" offset="0%"/><stop stop-color="#FF1639" stop-opacity="0" offset="100%"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path d="M156.377 4.834c1.575 1.956 2.379 4.595 3.986 9.874l35.105 115.32a146.081 146.081 0 0 0-41.97-14.209l-22.857-77.24a2.975 2.975 0 0 0-5.708.008l-22.58 77.193a146.086 146.086 0 0 0-42.159 14.23L95.471 14.682c1.612-5.27 2.418-7.904 3.994-9.857A12.97 12.97 0 0 1 104.72.936C107.048 0 109.804 0 115.315 0h25.196c5.518 0 8.277 0 10.607.938a13.016 13.016 0 0 1 5.259 3.896Z" fill="#000"/><path d="M160.577 135.516c-5.787 4.949-17.338 8.324-30.643 8.324-16.33 0-30.017-5.084-33.65-11.922-1.298 3.92-1.589 8.404-1.589 11.269 0 0-.856 14.068 8.929 23.852a9.199 9.199 0 0 1 9.2-9.198c8.707 0 8.697 7.596 8.69 13.76l-.001.55c0 9.355 5.718 17.375 13.85 20.757a18.86 18.86 0 0 1-1.896-8.268c0-8.923 5.238-12.246 11.326-16.108 4.845-3.072 10.227-6.485 13.936-13.332a25.145 25.145 0 0 0 3.034-12.013 25.24 25.24 0 0 0-1.186-7.67Z" fill="#FF5D01"/><path d="M160.577 135.516c-5.787 4.949-17.338 8.324-30.643 8.324-16.33 0-30.017-5.084-33.65-11.922-1.298 3.92-1.589 8.404-1.589 11.269 0 0-.856 14.068 8.929 23.852a9.199 9.199 0 0 1 9.2-9.198c8.707 0 8.697 7.596 8.69 13.76l-.001.55c0 9.355 5.718 17.375 13.85 20.757a18.86 18.86 0 0 1-1.896-8.268c0-8.923 5.238-12.246 11.326-16.108 4.845-3.072 10.227-6.485 13.936-13.332a25.145 25.145 0 0 0 3.034-12.013 25.24 25.24 0 0 0-1.186-7.67Z" fill="url(#a)"/><path d="M28.014 221.64c15.874 0 24.2 5.68 24.2 16.418v10.464c.006 4.954.09 7.704.389 10.311l.062.52c.109.866.242 1.732.405 2.673h-7.704c-.389-2.49-.544-5.214-.544-8.093-4.591 6.458-12.45 9.571-25.446 9.571-11.75 0-19.376-4.28-19.376-11.672 0-3.502 1.478-6.537 4.124-8.482 2.802-2.023 6.459-3.424 16.341-3.969l24.279-1.4v-.779c0-6.225-6.225-9.882-16.73-9.882-10.661 0-17.12 3.035-18.365 8.793H1.48c1.245-8.56 11.205-14.474 26.535-14.474Zm58.86 0c13.384 0 22.021 3.579 25.912 9.649l-6.303 3.034c-3.735-4.824-9.416-7.003-20.31-7.003-9.571 0-14.007 2.101-14.007 6.147 0 3.19 2.88 4.67 8.015 5.058l18.91 1.479c10.116.856 14.084 4.124 14.084 10.505 0 7.704-6.459 12.995-22.566 12.995-14.24 0-22.567-4.046-27.314-11.205l6.148-3.346c3.502 5.68 10.738 8.793 22.177 8.793 9.416 0 14.163-2.18 14.163-6.77 0-3.19-1.868-4.436-8.015-4.903l-18.754-1.478c-9.26-.778-14.162-4.046-14.162-10.816 0-7.548 8.248-12.14 22.022-12.14Zm141.19 0c16.575 0 27.936 8.403 27.936 20.932 0 12.528-11.361 20.932-27.936 20.932-16.574 0-27.935-8.404-27.935-20.932 0-12.529 11.36-20.933 27.935-20.933Zm-91.497-11.673v13.15h19.454v5.837h-19.454v18.053c0 6.692 3.658 9.338 10.427 9.338 3.19 0 6.46-.467 9.183-1.09v6.304c-1.946.856-6.381 1.556-10.038 1.556-14.396 0-17.042-7.704-17.042-15.407v-18.754H116.88v-5.836h12.217v-10.116l7.47-3.035Zm55.203 11.984c2.1 0 3.502.077 5.136.467v7.159c-1.79-.312-3.113-.467-5.214-.467-6.147 0-9.649 1.712-12.373 4.746-3.112 3.269-4.202 8.015-4.202 13.618v14.552h-7.392v-38.908h6.848V234.4c2.256-7.548 8.87-12.45 17.197-12.45ZM44.744 243.039l-22.8 1.4c-10.972.7-14.085 2.724-14.085 7.237 0 4.202 4.98 6.303 14.007 6.303 13.307 0 22.878-4.98 22.878-13.15v-1.79Zm183.32-15.252c-12.217 0-20.076 5.758-20.076 14.785 0 9.026 7.86 14.785 20.076 14.785 12.14 0 20.077-5.759 20.077-14.785 0-9.027-7.938-14.785-20.077-14.785Z" fill="#000"/></g></svg>
|
||||
<svg viewBox="0 0 256 366" xmlns="http://www.w3.org/2000/svg" width="256" height="366" preserveAspectRatio="xMidYMid"><path d="M182.022 9.147c2.982 3.702 4.502 8.697 7.543 18.687L256 246.074a276.467 276.467 0 0 0-79.426-26.891L133.318 73.008a5.63 5.63 0 0 0-10.802.017L79.784 219.11A276.453 276.453 0 0 0 0 246.04L66.76 27.783c3.051-9.972 4.577-14.959 7.559-18.654a24.541 24.541 0 0 1 9.946-7.358C88.67 0 93.885 0 104.314 0h47.683c10.443 0 15.664 0 20.074 1.774a24.545 24.545 0 0 1 9.95 7.373Z"/><path fill="#FF5D01" d="M189.972 256.46c-10.952 9.364-32.812 15.751-57.992 15.751-30.904 0-56.807-9.621-63.68-22.56-2.458 7.415-3.009 15.903-3.009 21.324 0 0-1.619 26.623 16.898 45.14 0-9.615 7.795-17.41 17.41-17.41 16.48 0 16.46 14.378 16.446 26.043l-.001 1.041c0 17.705 10.82 32.883 26.21 39.28a35.685 35.685 0 0 1-3.588-15.647c0-16.886 9.913-23.173 21.435-30.48 9.167-5.814 19.353-12.274 26.372-25.232a47.588 47.588 0 0 0 5.742-22.735c0-5.06-.786-9.938-2.243-14.516Z"/></svg>
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 974 B |
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 256 366" xmlns="http://www.w3.org/2000/svg" width="256" height="366" preserveAspectRatio="xMidYMid"><path fill="#fff" d="M182.022 9.147c2.982 3.702 4.502 8.697 7.543 18.687L256 246.074a276.467 276.467 0 0 0-79.426-26.891L133.318 73.008a5.63 5.63 0 0 0-10.802.017L79.784 219.11A276.453 276.453 0 0 0 0 246.04L66.76 27.783c3.051-9.972 4.577-14.959 7.559-18.654a24.541 24.541 0 0 1 9.946-7.358C88.67 0 93.885 0 104.314 0h47.683c10.443 0 15.664 0 20.074 1.774a24.545 24.545 0 0 1 9.95 7.373Z"/><path fill="#FF5D01" d="M189.972 256.46c-10.952 9.364-32.812 15.751-57.992 15.751-30.904 0-56.807-9.621-63.68-22.56-2.458 7.415-3.009 15.903-3.009 21.324 0 0-1.619 26.623 16.898 45.14 0-9.615 7.795-17.41 17.41-17.41 16.48 0 16.46 14.378 16.446 26.043l-.001 1.041c0 17.705 10.82 32.883 26.21 39.28a35.685 35.685 0 0 1-3.588-15.647c0-16.886 9.913-23.173 21.435-30.48 9.167-5.814 19.353-12.274 26.372-25.232a47.588 47.588 0 0 0 5.742-22.735c0-5.06-.786-9.938-2.243-14.516Z"/></svg>
|
||||
|
After Width: | Height: | Size: 986 B |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
@@ -0,0 +1 @@
|
||||
<svg fill="#EB5424" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M21.98 7.448L19.62 0H4.347L2.02 7.448c-1.352 4.312.03 9.206 3.815 12.015L12.007 24l6.157-4.552c3.755-2.81 5.182-7.688 3.815-12.015l-6.16 4.58 2.343 7.45-6.157-4.597-6.158 4.58 2.358-7.433-6.188-4.55 7.63-.045L12.008 0l2.356 7.404 7.615.044z"/></svg>
|
||||
|
After Width: | Height: | Size: 344 B |
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 358 309" xmlns="http://www.w3.org/2000/svg" width="358" height="309" fill="none"><g clip-path="url(#a)"><path fill="#fff" d="M354.75 215.609 278.412 87.8475c-3.501-5.872-12.127-10.6761-19.17-10.6761h-47.659c-11.077 0-15.618-7.5477-10.093-16.7723l26.136-43.6269c2.074-3.4623 2.069-7.72483-.011-11.1835C225.534 2.13003 221.691 0 217.533 0h-66.485c-7.044 0-15.688 4.79349-19.212 10.6524L2.6449 225.448c-3.524953 5.859-3.526307 15.447-.00541 21.307L35.8815 302.08c5.5392 9.217 14.6223 9.228 20.1846.023l25.9742-42.98c5.5636-9.205 14.6452-9.195 20.1847.023l23.548 39.192c3.521 5.86 12.164 10.654 19.207 10.654h153.633c7.04 0 15.685-4.794 19.206-10.654l36.892-61.397c3.521-5.86 3.538-15.459.039-21.332Zm-103.096-6.149c5.505 9.236.945 16.794-10.132 16.794H122.021c-11.077 0-15.609-7.542-10.07-16.76l59.796-99.517c5.539-9.218 14.602-9.217 20.141.001l59.766 99.482Z"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h358v309H0z"/></clipPath></defs></svg>
|
||||
|
After Width: | Height: | Size: 967 B |
@@ -0,0 +1 @@
|
||||
<svg viewBox="0 0 358 309" xmlns="http://www.w3.org/2000/svg" width="358" height="309" fill="none"><g clip-path="url(#a)"><path fill="#000" d="M354.75 215.609 278.412 87.8475c-3.501-5.872-12.127-10.6761-19.17-10.6761h-47.659c-11.077 0-15.618-7.5477-10.093-16.7723l26.136-43.6269c2.074-3.4623 2.069-7.72483-.011-11.1835C225.534 2.13003 221.691 0 217.533 0h-66.485c-7.044 0-15.688 4.79349-19.212 10.6524L2.6449 225.448c-3.524953 5.859-3.526307 15.447-.00541 21.307L35.8815 302.08c5.5392 9.217 14.6223 9.228 20.1846.023l25.9742-42.98c5.5636-9.205 14.6452-9.195 20.1847.023l23.548 39.192c3.521 5.86 12.164 10.654 19.207 10.654h153.633c7.04 0 15.685-4.794 19.206-10.654l36.892-61.397c3.521-5.86 3.538-15.459.039-21.332Zm-103.096-6.149c5.505 9.236.945 16.794-10.132 16.794H122.021c-11.077 0-15.609-7.542-10.07-16.76l59.796-99.517c5.539-9.218 14.602-9.217 20.141.001l59.766 99.482Z"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h358v309H0z"/></clipPath></defs></svg>
|
||||
|
After Width: | Height: | Size: 967 B |
@@ -0,0 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="21.705 19.44 335.589 80.057">
|
||||
<g fill="none" fill-rule="evenodd">
|
||||
<path fill="#272727" d="M326.63 19.441c-13.71 0-21.455 2.647-25.902 8.85-4.646 6.479-5.58 16.706-5.58 31.11 0 28.276 4.375 40.096 31.482 40.096 3.256 0 14.385-.062 20.882-.855 2.528-.419 3.66-2.355 3.66-4.087v-3.123c0-2.43-1.836-4.264-4.273-4.264h-20.27c-15.294 0-18.052-3.605-18.444-24.101v-6.635c.13-20.974 2.888-24.662 18.445-24.662 14.345 0 17.096 3.273 17.573 21.738h-22.794v12.466h29.98c5.905 0 5.905-4.13 5.905-5.486v-3.98c-.428-28.753-7.307-37.067-30.664-37.067m-39.476 1.099-.326-.086c-2.792-.587-10.422-1.013-14.205-1.013-13.387 0-20.462 5.605-20.462 16.209v59.04c0 2.43 1.7 4.128 4.137 4.128h4.762c2.437 0 4.138-1.697 4.138-4.128V36.734c0-2.617.662-4.964 8.65-4.964l11.828-.01c1.158.138 2.263-.182 3.114-.903.929-.783 1.44-1.926 1.44-3.215v-2.987c0-1.96-1.122-3.46-3.076-4.115m-57.172-.148h-4.762c-2.436 0-4.138 1.697-4.138 4.128v62.649h-19.804c-12.25 0-17.22-.779-17.22-20.303V24.52c0-2.43-1.702-4.128-4.138-4.128h-4.627c-2.436 0-4.273 1.774-4.273 4.128v42.346c0 27.748 10.064 32.631 31.21 32.631 7.607 0 18.025 0 27.96-1.399l.23-.046c2.454-.613 3.699-2.018 3.699-4.176V24.52c0-2.43-1.702-4.128-4.137-4.128"/>
|
||||
<path fill="#74bb11" d="M156.332 22.331c-.611-1.3-1.922-2.075-3.506-2.075h-6.121c-1.778 0-3.107.716-3.807 2.005l-9.072 13.255 7.942 10.861 13.866-19.89c1.522-1.849.995-3.523.698-4.156"/>
|
||||
<path fill="#009cd9" d="m108.505 22.11-.008-.012c-1.383-1.843-3.223-1.843-3.828-1.843h-5.987c-1.534 0-2.79.705-3.446 1.932-.675 1.257-.532 2.767.402 4.166l22.179 30.746-25.504 35.572c-.891 1.338-1.016 2.825-.343 4.081.66 1.227 1.917 1.93 3.448 1.93h6.12c1.574 0 2.958-.817 3.65-2.104l28.547-39.337z"/>
|
||||
<path fill="#eb2084" d="m159.377 92.982-17.794-24.42-7.827 10.79 14.072 18.781.366.16a4.416 4.416 0 0 0 1.775.388h5.985c1.446 0 2.673-.642 3.368-1.764.712-1.15.732-2.583.055-3.935"/>
|
||||
<path fill="#272727" d="M68.774 65.43v20.738c-6.06.93-15.297 1.136-18.445 1.136-13.926 0-15.452-3.805-15.452-11.886 0-7.562 2.83-9.989 11.643-9.989zM49.649 19.44c-4.303 0-10.171.112-17.472.99l-.33.073c-2.127.605-3.204 2.002-3.204 4.152v2.986c0 2.546 1.585 4.128 4.137 4.128h16.87c13.583 0 19.124 3.68 19.124 12.701v8.767H46.52c-17.393 0-24.815 6.633-24.815 22.18 0 17.328 7.682 24.08 27.4 24.08 7.987 0 22.689-.621 28.123-2.278 4.582-1.272 4.582-4.772 4.582-5.922v-47.64c0-16.295-10.52-24.217-32.16-24.217z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 7.6 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="258" preserveAspectRatio="xMidYMid" viewBox="0 0 256 258"><defs><radialGradient id="a" cx="78.302%" cy="55.52%" r="78.115%" fx="78.302%" fy="55.52%" gradientTransform="scale(.99947 1) rotate(78.858 .783 .555)"><stop offset="0%" stop-color="#1BA1E3"/><stop offset=".01%" stop-color="#1BA1E3"/><stop offset="30.022%" stop-color="#5489D6"/><stop offset="54.552%" stop-color="#9B72CB"/><stop offset="82.537%" stop-color="#D96570"/><stop offset="100%" stop-color="#F49C46"/></radialGradient><radialGradient id="b" cx="-3.409%" cy="-54.219%" r="169.363%" fx="-3.409%" fy="-54.219%" gradientTransform="scale(.99946 1) rotate(78.858 -.034 -.542)"><stop offset="0%" stop-color="#1BA1E3"/><stop offset=".01%" stop-color="#1BA1E3"/><stop offset="30.022%" stop-color="#5489D6"/><stop offset="54.552%" stop-color="#9B72CB"/><stop offset="82.537%" stop-color="#D96570"/><stop offset="100%" stop-color="#F49C46"/></radialGradient></defs><path fill="url(#a)" d="m122.062 172.77-10.27 23.52c-3.947 9.042-16.459 9.042-20.406 0l-10.27-23.52c-9.14-20.933-25.59-37.595-46.108-46.703L6.74 113.52c-8.987-3.99-8.987-17.064 0-21.053l27.385-12.156C55.172 70.97 71.917 53.69 80.9 32.043L91.303 6.977c3.86-9.303 16.712-9.303 20.573 0l10.403 25.066c8.983 21.646 25.728 38.926 46.775 48.268l27.384 12.156c8.987 3.99 8.987 17.063 0 21.053l-28.267 12.547c-20.52 9.108-36.97 25.77-46.109 46.703Z"/><path fill="url(#b)" d="m217.5 246.937-2.888 6.62c-2.114 4.845-8.824 4.845-10.937 0l-2.889-6.62c-5.148-11.803-14.42-21.2-25.992-26.34l-8.898-3.954c-4.811-2.137-4.811-9.131 0-11.269l8.4-3.733c11.87-5.273 21.308-15.017 26.368-27.22l2.966-7.154c2.067-4.985 8.96-4.985 11.027 0l2.966 7.153c5.06 12.204 14.499 21.948 26.368 27.221l8.4 3.733c4.812 2.138 4.812 9.132 0 11.27l-8.898 3.953c-11.571 5.14-20.844 14.537-25.992 26.34Z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 32 32"><path fill="#1b1b1f" fill-rule="evenodd" d="M28.057 6.53 17.952.532a3.8 3.8 0 0 0-3.88 0L3.965 6.53A4.03 4.03 0 0 0 2 10.002v11.996a4.03 4.03 0 0 0 1.948 3.472l10.105 5.998a3.8 3.8 0 0 0 3.88 0L28.04 25.47a4.03 4.03 0 0 0 1.948-3.472V10.002a4.03 4.03 0 0 0-1.93-3.472zM20.23 25.262v.86a.318.318 0 0 1-.148.265l-.512.293c-.08.042-.148 0-.148-.113v-.847a1.66 1.66 0 0 1-1.164.113c-.062-.042-.086-.122-.056-.2l.183-.78a.322.322 0 0 1 .102-.17.18.18 0 0 1 .05-.035.11.11 0 0 1 .08 0 1.41 1.41 0 0 0 1.059-.134 1.41 1.41 0 0 0 .79-1.21c0-.438-.24-.62-.82-.625-.734 0-1.4-.14-1.43-1.224a3.137 3.137 0 0 1 1.186-2.4v-.872a.34.34 0 0 1 .148-.268l.494-.314c.08-.042.148 0 .148.116v.872a1.61 1.61 0 0 1 .967-.116c.07.04.098.128.064.2l-.173.773a.325.325 0 0 1-.138.195c-.02.012-.05.008-.074 0a1.28 1.28 0 0 0-.931.152 1.17 1.17 0 0 0-.706 1.037c0 .395.208.515.907.53.935 0 1.337.423 1.348 1.362a3.346 3.346 0 0 1-1.228 2.53zm5.293-1.45a.201.201 0 0 1-.078.194L22.9 25.558c-.024.02-.06.023-.087.007s-.04-.05-.033-.08v-.66a.184.184 0 0 1 .116-.162l2.516-1.507c.024-.02.06-.023.087-.007s.04.05.033.08v.582zM27.288 9.06l-9.562 5.906c-1.193.706-2.07 1.478-2.07 2.914v11.778c0 .86.353 1.4.882 1.58a3.14 3.14 0 0 1-.53.053 3.13 3.13 0 0 1-1.595-.441L4.308 24.853A3.3 3.3 0 0 1 2.706 22V10.002a3.304 3.304 0 0 1 1.602-2.858l10.105-5.998c.98-.58 2.196-.58 3.176 0l10.105 5.998c.833.504 1.4 1.35 1.552 2.3-.328-.713-1.083-.9-1.962-.395h.003z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |