mirror of
https://github.com/pheralb/svgl.git
synced 2025-12-29 08:01:36 +08:00
✨ Initial commit with Sveltekit + format files
This commit is contained in:
@@ -1,13 +0,0 @@
|
||||
.DS_Store
|
||||
node_modules
|
||||
/build
|
||||
/.svelte-kit
|
||||
/package
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
|
||||
# Ignore files for PNPM, NPM and YARN
|
||||
pnpm-lock.yaml
|
||||
package-lock.json
|
||||
yarn.lock
|
||||
+10
-21
@@ -1,34 +1,23 @@
|
||||
# Dependencies
|
||||
node_modules
|
||||
package-lock.json
|
||||
yarn.lock
|
||||
|
||||
# Folders
|
||||
# Output
|
||||
.output
|
||||
.vercel
|
||||
.netlify
|
||||
.wrangler
|
||||
/.svelte-kit
|
||||
/build
|
||||
dist
|
||||
/package
|
||||
.idea/
|
||||
|
||||
# Hono
|
||||
.wrangler
|
||||
.dev.vars
|
||||
|
||||
# Vercel
|
||||
.vercel
|
||||
|
||||
# Logs
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Environment variables
|
||||
# Env
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
!.env.test
|
||||
|
||||
# Vite files
|
||||
# Vite
|
||||
vite.config.js.timestamp-*
|
||||
vite.config.ts.timestamp-*
|
||||
src/figma/dist
|
||||
|
||||
# Lychee files
|
||||
.lycheecache
|
||||
+7
-11
@@ -1,13 +1,9 @@
|
||||
.DS_Store
|
||||
node_modules
|
||||
/build
|
||||
/.svelte-kit
|
||||
/package
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
|
||||
# Ignore files for PNPM, NPM and YARN
|
||||
pnpm-lock.yaml
|
||||
# Package Managers
|
||||
package-lock.json
|
||||
pnpm-lock.yaml
|
||||
yarn.lock
|
||||
bun.lock
|
||||
bun.lockb
|
||||
|
||||
# Miscellaneous
|
||||
/static/
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"$schema": "https://shadcn-svelte.com/schema.json",
|
||||
"style": "new-york",
|
||||
"tailwind": {
|
||||
"config": "tailwind.config.js",
|
||||
"css": "src\\app.css",
|
||||
"baseColor": "neutral"
|
||||
},
|
||||
"aliases": {
|
||||
"components": "@/ui",
|
||||
"utils": "@/utils"
|
||||
},
|
||||
"typescript": true
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
import js from '@eslint/js';
|
||||
import ts from 'typescript-eslint';
|
||||
import svelte from 'eslint-plugin-svelte';
|
||||
import prettier from 'eslint-config-prettier';
|
||||
import globals from 'globals';
|
||||
|
||||
/** @type {import('eslint').Linter.Config[]} */
|
||||
export default [
|
||||
js.configs.recommended,
|
||||
...ts.configs.recommended,
|
||||
...svelte.configs['flat/recommended'],
|
||||
prettier,
|
||||
...svelte.configs['flat/prettier'],
|
||||
{
|
||||
languageOptions: {
|
||||
globals: {
|
||||
...globals.browser,
|
||||
...globals.node
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
files: ['**/*.svelte'],
|
||||
languageOptions: {
|
||||
parserOptions: {
|
||||
parser: ts.parser
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
ignores: ['build/', '.svelte-kit/', 'dist/']
|
||||
}
|
||||
];
|
||||
@@ -0,0 +1,40 @@
|
||||
import prettier from "eslint-config-prettier";
|
||||
import { includeIgnoreFile } from "@eslint/compat";
|
||||
import js from "@eslint/js";
|
||||
import svelte from "eslint-plugin-svelte";
|
||||
import globals from "globals";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import ts from "typescript-eslint";
|
||||
import svelteConfig from "./svelte.config.js";
|
||||
|
||||
const gitignorePath = fileURLToPath(new URL("./.gitignore", import.meta.url));
|
||||
|
||||
export default ts.config(
|
||||
includeIgnoreFile(gitignorePath),
|
||||
js.configs.recommended,
|
||||
...ts.configs.recommended,
|
||||
...svelte.configs.recommended,
|
||||
prettier,
|
||||
...svelte.configs.prettier,
|
||||
{
|
||||
languageOptions: {
|
||||
globals: { ...globals.browser, ...globals.node },
|
||||
},
|
||||
rules: {
|
||||
// typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects.
|
||||
// see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors
|
||||
"no-undef": "off",
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ["**/*.svelte", "**/*.svelte.ts", "**/*.svelte.js"],
|
||||
languageOptions: {
|
||||
parserOptions: {
|
||||
projectService: true,
|
||||
extraFileExtensions: [".svelte"],
|
||||
parser: ts.parser,
|
||||
svelteConfig,
|
||||
},
|
||||
},
|
||||
},
|
||||
);
|
||||
@@ -1,51 +0,0 @@
|
||||
import { escapeSvelte } from 'mdsvex';
|
||||
import { createHighlighter, makeSingletonHighlighter } from 'shiki';
|
||||
|
||||
// Markdown Plugins
|
||||
import remarkGfm from 'remark-gfm';
|
||||
import rehypeSlug from 'rehype-slug';
|
||||
import rehypeAutolinkHeadings from 'rehype-autolink-headings';
|
||||
|
||||
// Highlighter
|
||||
const getHighlighter = makeSingletonHighlighter(createHighlighter);
|
||||
|
||||
/** @type {import('mdsvex').MdsvexOptions} */
|
||||
const mdsvexOptions = {
|
||||
remarkPlugins: [[remarkGfm]],
|
||||
rehypePlugins: [
|
||||
[rehypeSlug],
|
||||
[
|
||||
rehypeAutolinkHeadings,
|
||||
{
|
||||
behavior: 'wrap',
|
||||
properties: {
|
||||
className: [
|
||||
`before:content-['#'] before:absolute before:-ml-[1em] before:text-neutral-100/0 hover:before:text-neutral-200/50 pl-[1em] -ml-[1em]`
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
extensions: ['.md'],
|
||||
highlight: {
|
||||
highlighter: async (code, lang = 'text') => {
|
||||
const highlighter = await getHighlighter({
|
||||
themes: ['github-light', 'github-dark'],
|
||||
langs: ['javascript', 'typescript', 'bash', 'json', 'html']
|
||||
});
|
||||
await highlighter.loadLanguage('javascript', 'typescript', 'bash', 'html');
|
||||
const html = escapeSvelte(
|
||||
highlighter.codeToHtml(code, {
|
||||
lang,
|
||||
themes: {
|
||||
light: 'github-light',
|
||||
dark: 'github-dark'
|
||||
}
|
||||
})
|
||||
);
|
||||
return `{@html \`${html}\` }`;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export { mdsvexOptions };
|
||||
+30
-66
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@pheralb/svgl",
|
||||
"author": "@pheralb_",
|
||||
"version": "4.6.1",
|
||||
"version": "5.0.0",
|
||||
"description": "A beautiful library with SVG logos.",
|
||||
"private": true,
|
||||
"license": "MIT",
|
||||
@@ -21,75 +21,39 @@
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "vite dev",
|
||||
"host": "vite dev --host",
|
||||
"build": "pnpm run prebuild && vite build",
|
||||
"prebuild": "cd ./utils/check-size && pnpm install && pnpm run start",
|
||||
"vite:build": "vite build",
|
||||
"build": "vite build",
|
||||
"preview": "vite preview",
|
||||
"prepare": "svelte-kit sync || echo ''",
|
||||
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
||||
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
||||
"check:size": "cd ./utils/check-size && npm run start",
|
||||
"check:links": " lychee --base . ./src/data/svgs.ts --cache --max-cache-age 3d . --include 'https://svgl.app'",
|
||||
"fix:viewbox": "cd ./utils/fix-viewbox && npm run start",
|
||||
"test": "vitest run",
|
||||
"lint": "prettier --plugin-search-dir . --check . && eslint .",
|
||||
"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.115.0",
|
||||
"@svelte-dev/pretty-code": "1.0.0",
|
||||
"@svgr/core": "8.1.0",
|
||||
"@svgr/plugin-jsx": "8.1.0",
|
||||
"@upstash/ratelimit": "2.0.6",
|
||||
"@upstash/redis": "1.35.3",
|
||||
"clsx": "2.1.1",
|
||||
"downloadjs": "1.4.7",
|
||||
"fuse.js": "7.1.0",
|
||||
"jszip": "3.10.1",
|
||||
"lucide-svelte": "0.525.0",
|
||||
"mode-watcher": "0.5.1",
|
||||
"rehype-autolink-headings": "7.1.0",
|
||||
"rehype-slug": "6.0.0",
|
||||
"remark-gfm": "4.0.1",
|
||||
"shiki": "3.7.0",
|
||||
"svelte-sonner": "0.3.28",
|
||||
"svgo": "4.0.0",
|
||||
"tailwind-merge": "2.6.0",
|
||||
"tailwind-variants": "0.3.1"
|
||||
"format": "prettier --write .",
|
||||
"lint": "prettier --check . && eslint ."
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sveltejs/adapter-auto": "3.2.5",
|
||||
"@sveltejs/adapter-node": "5.2.5",
|
||||
"@sveltejs/kit": "2.5.28",
|
||||
"@sveltejs/vite-plugin-svelte": "3.1.2",
|
||||
"@tailwindcss/typography": "0.5.16",
|
||||
"@types/downloadjs": "1.4.6",
|
||||
"@types/eslint": "9.6.1",
|
||||
"@types/node": "22.5.5",
|
||||
"autoprefixer": "10.4.21",
|
||||
"bits-ui": "0.22.0",
|
||||
"concurrently": "9.0.1",
|
||||
"esbuild": "0.24.0",
|
||||
"eslint": "9.11.0",
|
||||
"eslint-config-prettier": "9.1.0",
|
||||
"eslint-plugin-svelte": "2.44.0",
|
||||
"globals": "15.9.0",
|
||||
"mdsvex": "0.12.5",
|
||||
"postcss": "8.5.3",
|
||||
"prettier": "3.3.3",
|
||||
"prettier-plugin-svelte": "3.2.6",
|
||||
"prettier-plugin-tailwindcss": "0.6.6",
|
||||
"svelte": "4.2.20",
|
||||
"svelte-check": "4.0.9",
|
||||
"sveltekit-search-params": "3.0.0",
|
||||
"tailwindcss": "3.4.17",
|
||||
"tslib": "2.7.0",
|
||||
"typescript": "5.6.2",
|
||||
"typescript-eslint": "8.6.0",
|
||||
"vite": "5.4.7",
|
||||
"vitest": "2.1.1"
|
||||
"@eslint/compat": "1.3.2",
|
||||
"@eslint/js": "9.33.0",
|
||||
"@sveltejs/adapter-auto": "6.1.0",
|
||||
"@sveltejs/kit": "2.36.1",
|
||||
"@sveltejs/vite-plugin-svelte": "6.1.3",
|
||||
"@tailwindcss/vite": "4.1.12",
|
||||
"eslint": "9.33.0",
|
||||
"eslint-config-prettier": "10.1.8",
|
||||
"eslint-plugin-svelte": "3.11.0",
|
||||
"globals": "16.3.0",
|
||||
"mdsvex": "0.12.6",
|
||||
"prettier": "3.6.2",
|
||||
"prettier-plugin-svelte": "3.4.0",
|
||||
"prettier-plugin-tailwindcss": "0.6.14",
|
||||
"svelte": "5.38.2",
|
||||
"svelte-check": "4.3.1",
|
||||
"tailwindcss": "4.1.12",
|
||||
"typescript": "5.9.2",
|
||||
"typescript-eslint": "8.40.0",
|
||||
"vite": "7.1.3"
|
||||
},
|
||||
"pnpm": {
|
||||
"onlyBuiltDependencies": [
|
||||
"esbuild"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+1122
-4012
@@ -7,516 +7,228 @@ settings:
|
||||
importers:
|
||||
|
||||
.:
|
||||
dependencies:
|
||||
'@figma/plugin-typings':
|
||||
specifier: 1.115.0
|
||||
version: 1.115.0
|
||||
'@svelte-dev/pretty-code':
|
||||
specifier: 1.0.0
|
||||
version: 1.0.0(shikiji@0.10.2)
|
||||
'@svgr/core':
|
||||
specifier: 8.1.0
|
||||
version: 8.1.0(typescript@5.6.2)
|
||||
'@svgr/plugin-jsx':
|
||||
specifier: 8.1.0
|
||||
version: 8.1.0(@svgr/core@8.1.0(typescript@5.6.2))
|
||||
'@upstash/ratelimit':
|
||||
specifier: 2.0.6
|
||||
version: 2.0.6(@upstash/redis@1.35.3)
|
||||
'@upstash/redis':
|
||||
specifier: 1.35.3
|
||||
version: 1.35.3
|
||||
clsx:
|
||||
specifier: 2.1.1
|
||||
version: 2.1.1
|
||||
downloadjs:
|
||||
specifier: 1.4.7
|
||||
version: 1.4.7
|
||||
fuse.js:
|
||||
specifier: 7.1.0
|
||||
version: 7.1.0
|
||||
jszip:
|
||||
specifier: 3.10.1
|
||||
version: 3.10.1
|
||||
lucide-svelte:
|
||||
specifier: 0.525.0
|
||||
version: 0.525.0(svelte@4.2.20)
|
||||
mode-watcher:
|
||||
specifier: 0.5.1
|
||||
version: 0.5.1(svelte@4.2.20)
|
||||
rehype-autolink-headings:
|
||||
specifier: 7.1.0
|
||||
version: 7.1.0
|
||||
rehype-slug:
|
||||
specifier: 6.0.0
|
||||
version: 6.0.0
|
||||
remark-gfm:
|
||||
specifier: 4.0.1
|
||||
version: 4.0.1
|
||||
shiki:
|
||||
specifier: 3.7.0
|
||||
version: 3.7.0
|
||||
svelte-sonner:
|
||||
specifier: 0.3.28
|
||||
version: 0.3.28(svelte@4.2.20)
|
||||
svgo:
|
||||
specifier: 4.0.0
|
||||
version: 4.0.0
|
||||
tailwind-merge:
|
||||
specifier: 2.6.0
|
||||
version: 2.6.0
|
||||
tailwind-variants:
|
||||
specifier: 0.3.1
|
||||
version: 0.3.1(tailwindcss@3.4.17)
|
||||
devDependencies:
|
||||
'@eslint/compat':
|
||||
specifier: 1.3.2
|
||||
version: 1.3.2(eslint@9.33.0(jiti@2.5.1))
|
||||
'@eslint/js':
|
||||
specifier: 9.33.0
|
||||
version: 9.33.0
|
||||
'@sveltejs/adapter-auto':
|
||||
specifier: 3.2.5
|
||||
version: 3.2.5(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))
|
||||
'@sveltejs/adapter-node':
|
||||
specifier: 5.2.5
|
||||
version: 5.2.5(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))
|
||||
specifier: 6.1.0
|
||||
version: 6.1.0(@sveltejs/kit@2.36.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1)))(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1)))
|
||||
'@sveltejs/kit':
|
||||
specifier: 2.5.28
|
||||
version: 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5))
|
||||
specifier: 2.36.1
|
||||
version: 2.36.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1)))(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1))
|
||||
'@sveltejs/vite-plugin-svelte':
|
||||
specifier: 3.1.2
|
||||
version: 3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5))
|
||||
'@tailwindcss/typography':
|
||||
specifier: 0.5.16
|
||||
version: 0.5.16(tailwindcss@3.4.17)
|
||||
'@types/downloadjs':
|
||||
specifier: 1.4.6
|
||||
version: 1.4.6
|
||||
'@types/eslint':
|
||||
specifier: 9.6.1
|
||||
version: 9.6.1
|
||||
'@types/node':
|
||||
specifier: 22.5.5
|
||||
version: 22.5.5
|
||||
autoprefixer:
|
||||
specifier: 10.4.21
|
||||
version: 10.4.21(postcss@8.5.3)
|
||||
bits-ui:
|
||||
specifier: 0.22.0
|
||||
version: 0.22.0(svelte@4.2.20)
|
||||
concurrently:
|
||||
specifier: 9.0.1
|
||||
version: 9.0.1
|
||||
esbuild:
|
||||
specifier: 0.24.0
|
||||
version: 0.24.0
|
||||
specifier: 6.1.3
|
||||
version: 6.1.3(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1))
|
||||
'@tailwindcss/vite':
|
||||
specifier: 4.1.12
|
||||
version: 4.1.12(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1))
|
||||
eslint:
|
||||
specifier: 9.11.0
|
||||
version: 9.11.0(jiti@1.21.7)
|
||||
specifier: 9.33.0
|
||||
version: 9.33.0(jiti@2.5.1)
|
||||
eslint-config-prettier:
|
||||
specifier: 9.1.0
|
||||
version: 9.1.0(eslint@9.11.0(jiti@1.21.7))
|
||||
specifier: 10.1.8
|
||||
version: 10.1.8(eslint@9.33.0(jiti@2.5.1))
|
||||
eslint-plugin-svelte:
|
||||
specifier: 2.44.0
|
||||
version: 2.44.0(eslint@9.11.0(jiti@1.21.7))(svelte@4.2.20)
|
||||
specifier: 3.11.0
|
||||
version: 3.11.0(eslint@9.33.0(jiti@2.5.1))(svelte@5.38.2)
|
||||
globals:
|
||||
specifier: 15.9.0
|
||||
version: 15.9.0
|
||||
specifier: 16.3.0
|
||||
version: 16.3.0
|
||||
mdsvex:
|
||||
specifier: 0.12.5
|
||||
version: 0.12.5(svelte@4.2.20)
|
||||
postcss:
|
||||
specifier: 8.5.3
|
||||
version: 8.5.3
|
||||
specifier: 0.12.6
|
||||
version: 0.12.6(svelte@5.38.2)
|
||||
prettier:
|
||||
specifier: 3.3.3
|
||||
version: 3.3.3
|
||||
specifier: 3.6.2
|
||||
version: 3.6.2
|
||||
prettier-plugin-svelte:
|
||||
specifier: 3.2.6
|
||||
version: 3.2.6(prettier@3.3.3)(svelte@4.2.20)
|
||||
specifier: 3.4.0
|
||||
version: 3.4.0(prettier@3.6.2)(svelte@5.38.2)
|
||||
prettier-plugin-tailwindcss:
|
||||
specifier: 0.6.6
|
||||
version: 0.6.6(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.20))(prettier@3.3.3)
|
||||
specifier: 0.6.14
|
||||
version: 0.6.14(prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.38.2))(prettier@3.6.2)
|
||||
svelte:
|
||||
specifier: 4.2.20
|
||||
version: 4.2.20
|
||||
specifier: 5.38.2
|
||||
version: 5.38.2
|
||||
svelte-check:
|
||||
specifier: 4.0.9
|
||||
version: 4.0.9(picomatch@4.0.2)(svelte@4.2.20)(typescript@5.6.2)
|
||||
sveltekit-search-params:
|
||||
specifier: 3.0.0
|
||||
version: 3.0.0(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5))
|
||||
specifier: 4.3.1
|
||||
version: 4.3.1(picomatch@4.0.3)(svelte@5.38.2)(typescript@5.9.2)
|
||||
tailwindcss:
|
||||
specifier: 3.4.17
|
||||
version: 3.4.17
|
||||
tslib:
|
||||
specifier: 2.7.0
|
||||
version: 2.7.0
|
||||
specifier: 4.1.12
|
||||
version: 4.1.12
|
||||
typescript:
|
||||
specifier: 5.6.2
|
||||
version: 5.6.2
|
||||
specifier: 5.9.2
|
||||
version: 5.9.2
|
||||
typescript-eslint:
|
||||
specifier: 8.6.0
|
||||
version: 8.6.0(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2)
|
||||
specifier: 8.40.0
|
||||
version: 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)
|
||||
vite:
|
||||
specifier: 5.4.7
|
||||
version: 5.4.7(@types/node@22.5.5)
|
||||
vitest:
|
||||
specifier: 2.1.1
|
||||
version: 2.1.1(@types/node@22.5.5)
|
||||
specifier: 7.1.3
|
||||
version: 7.1.3(jiti@2.5.1)(lightningcss@1.30.1)
|
||||
|
||||
packages:
|
||||
|
||||
'@alloc/quick-lru@5.2.0':
|
||||
resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
'@ampproject/remapping@2.3.0':
|
||||
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
|
||||
'@babel/code-frame@7.26.2':
|
||||
resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/compat-data@7.26.8':
|
||||
resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/core@7.26.9':
|
||||
resolution: {integrity: sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/generator@7.26.9':
|
||||
resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/helper-compilation-targets@7.26.5':
|
||||
resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/helper-module-imports@7.25.9':
|
||||
resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/helper-module-transforms@7.26.0':
|
||||
resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.0.0
|
||||
|
||||
'@babel/helper-string-parser@7.25.9':
|
||||
resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/helper-validator-identifier@7.25.9':
|
||||
resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/helper-validator-option@7.25.9':
|
||||
resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/helpers@7.26.9':
|
||||
resolution: {integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/parser@7.26.9':
|
||||
resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
hasBin: true
|
||||
|
||||
'@babel/template@7.26.9':
|
||||
resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/traverse@7.26.9':
|
||||
resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@babel/types@7.26.9':
|
||||
resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
'@esbuild/aix-ppc64@0.21.5':
|
||||
resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ppc64]
|
||||
os: [aix]
|
||||
|
||||
'@esbuild/aix-ppc64@0.24.0':
|
||||
resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==}
|
||||
'@esbuild/aix-ppc64@0.25.9':
|
||||
resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ppc64]
|
||||
os: [aix]
|
||||
|
||||
'@esbuild/android-arm64@0.21.5':
|
||||
resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-arm64@0.24.0':
|
||||
resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==}
|
||||
'@esbuild/android-arm64@0.25.9':
|
||||
resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-arm@0.21.5':
|
||||
resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-arm@0.24.0':
|
||||
resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==}
|
||||
'@esbuild/android-arm@0.25.9':
|
||||
resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-x64@0.21.5':
|
||||
resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/android-x64@0.24.0':
|
||||
resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==}
|
||||
'@esbuild/android-x64@0.25.9':
|
||||
resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [android]
|
||||
|
||||
'@esbuild/darwin-arm64@0.21.5':
|
||||
resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/darwin-arm64@0.24.0':
|
||||
resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==}
|
||||
'@esbuild/darwin-arm64@0.25.9':
|
||||
resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/darwin-x64@0.21.5':
|
||||
resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/darwin-x64@0.24.0':
|
||||
resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==}
|
||||
'@esbuild/darwin-x64@0.25.9':
|
||||
resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@esbuild/freebsd-arm64@0.21.5':
|
||||
resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/freebsd-arm64@0.24.0':
|
||||
resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==}
|
||||
'@esbuild/freebsd-arm64@0.25.9':
|
||||
resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/freebsd-x64@0.21.5':
|
||||
resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/freebsd-x64@0.24.0':
|
||||
resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==}
|
||||
'@esbuild/freebsd-x64@0.25.9':
|
||||
resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@esbuild/linux-arm64@0.21.5':
|
||||
resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-arm64@0.24.0':
|
||||
resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==}
|
||||
'@esbuild/linux-arm64@0.25.9':
|
||||
resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-arm@0.21.5':
|
||||
resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-arm@0.24.0':
|
||||
resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==}
|
||||
'@esbuild/linux-arm@0.25.9':
|
||||
resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ia32@0.21.5':
|
||||
resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ia32@0.24.0':
|
||||
resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==}
|
||||
'@esbuild/linux-ia32@0.25.9':
|
||||
resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-loong64@0.21.5':
|
||||
resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-loong64@0.24.0':
|
||||
resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==}
|
||||
'@esbuild/linux-loong64@0.25.9':
|
||||
resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-mips64el@0.21.5':
|
||||
resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [mips64el]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-mips64el@0.24.0':
|
||||
resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==}
|
||||
'@esbuild/linux-mips64el@0.25.9':
|
||||
resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [mips64el]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ppc64@0.21.5':
|
||||
resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-ppc64@0.24.0':
|
||||
resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==}
|
||||
'@esbuild/linux-ppc64@0.25.9':
|
||||
resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-riscv64@0.21.5':
|
||||
resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-riscv64@0.24.0':
|
||||
resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==}
|
||||
'@esbuild/linux-riscv64@0.25.9':
|
||||
resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-s390x@0.21.5':
|
||||
resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-s390x@0.24.0':
|
||||
resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==}
|
||||
'@esbuild/linux-s390x@0.25.9':
|
||||
resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-x64@0.21.5':
|
||||
resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/linux-x64@0.24.0':
|
||||
resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==}
|
||||
'@esbuild/linux-x64@0.25.9':
|
||||
resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@esbuild/netbsd-x64@0.21.5':
|
||||
resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
'@esbuild/netbsd-arm64@0.25.9':
|
||||
resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/netbsd-x64@0.24.0':
|
||||
resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==}
|
||||
'@esbuild/netbsd-x64@0.25.9':
|
||||
resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [netbsd]
|
||||
|
||||
'@esbuild/openbsd-arm64@0.24.0':
|
||||
resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==}
|
||||
'@esbuild/openbsd-arm64@0.25.9':
|
||||
resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/openbsd-x64@0.21.5':
|
||||
resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/openbsd-x64@0.24.0':
|
||||
resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==}
|
||||
'@esbuild/openbsd-x64@0.25.9':
|
||||
resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [openbsd]
|
||||
|
||||
'@esbuild/sunos-x64@0.21.5':
|
||||
resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [sunos]
|
||||
'@esbuild/openharmony-arm64@0.25.9':
|
||||
resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [openharmony]
|
||||
|
||||
'@esbuild/sunos-x64@0.24.0':
|
||||
resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==}
|
||||
'@esbuild/sunos-x64@0.25.9':
|
||||
resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [sunos]
|
||||
|
||||
'@esbuild/win32-arm64@0.21.5':
|
||||
resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-arm64@0.24.0':
|
||||
resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==}
|
||||
'@esbuild/win32-arm64@0.25.9':
|
||||
resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-ia32@0.21.5':
|
||||
resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-ia32@0.24.0':
|
||||
resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==}
|
||||
'@esbuild/win32-ia32@0.25.9':
|
||||
resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-x64@0.21.5':
|
||||
resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
|
||||
engines: {node: '>=12'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@esbuild/win32-x64@0.24.0':
|
||||
resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==}
|
||||
'@esbuild/win32-x64@0.25.9':
|
||||
resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==}
|
||||
engines: {node: '>=18'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@eslint-community/eslint-utils@4.4.1':
|
||||
resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
|
||||
'@eslint-community/eslint-utils@4.7.0':
|
||||
resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
|
||||
@@ -525,41 +237,50 @@ packages:
|
||||
resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
|
||||
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
|
||||
|
||||
'@eslint/config-array@0.18.0':
|
||||
resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==}
|
||||
'@eslint/compat@1.3.2':
|
||||
resolution: {integrity: sha512-jRNwzTbd6p2Rw4sZ1CgWRS8YMtqG15YyZf7zvb6gY2rB2u6n+2Z+ELW0GtL0fQgyl0pr4Y/BzBfng/BdsereRA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.40 || 9
|
||||
peerDependenciesMeta:
|
||||
eslint:
|
||||
optional: true
|
||||
|
||||
'@eslint/config-array@0.21.0':
|
||||
resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/core@0.12.0':
|
||||
resolution: {integrity: sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==}
|
||||
'@eslint/config-helpers@0.3.1':
|
||||
resolution: {integrity: sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/eslintrc@3.3.0':
|
||||
resolution: {integrity: sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==}
|
||||
'@eslint/core@0.15.2':
|
||||
resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/js@9.11.0':
|
||||
resolution: {integrity: sha512-LPkkenkDqyzTFauZLLAPhIb48fj6drrfMvRGSL9tS3AcZBSVTllemLSNyCvHNNL2t797S/6DJNSIwRwXgMO/eQ==}
|
||||
'@eslint/eslintrc@3.3.1':
|
||||
resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/js@9.33.0':
|
||||
resolution: {integrity: sha512-5K1/mKhWaMfreBGJTwval43JJmkip0RmM+3+IuqupeSKNC/Th2Kc7ucaq5ovTSra/OOKB9c58CGSz3QMVbWt0A==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/object-schema@2.1.6':
|
||||
resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@eslint/plugin-kit@0.2.7':
|
||||
resolution: {integrity: sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==}
|
||||
'@eslint/plugin-kit@0.3.5':
|
||||
resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@figma/plugin-typings@1.115.0':
|
||||
resolution: {integrity: sha512-qAnJuOkZDXKzMacnkugoi9rIIQ9/P3CP0zqsSklXuXhREWsqOTua35Fpkxmp25DHjPqs6tC+eVuVWvKWHHq4pA==}
|
||||
'@humanfs/core@0.19.1':
|
||||
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
|
||||
engines: {node: '>=18.18.0'}
|
||||
|
||||
'@floating-ui/core@1.6.9':
|
||||
resolution: {integrity: sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==}
|
||||
|
||||
'@floating-ui/dom@1.6.13':
|
||||
resolution: {integrity: sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==}
|
||||
|
||||
'@floating-ui/utils@0.2.9':
|
||||
resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==}
|
||||
'@humanfs/node@0.16.6':
|
||||
resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
|
||||
engines: {node: '>=18.18.0'}
|
||||
|
||||
'@humanwhocodes/module-importer@1.0.1':
|
||||
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
|
||||
@@ -569,35 +290,29 @@ packages:
|
||||
resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
|
||||
engines: {node: '>=18.18'}
|
||||
|
||||
'@internationalized/date@3.7.0':
|
||||
resolution: {integrity: sha512-VJ5WS3fcVx0bejE/YHfbDKR/yawZgKqn/if+oEeLqNwBtPzVB06olkfcnojTmEMX+gTpH+FlQ69SHNitJ8/erQ==}
|
||||
'@humanwhocodes/retry@0.4.3':
|
||||
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
|
||||
engines: {node: '>=18.18'}
|
||||
|
||||
'@isaacs/cliui@8.0.2':
|
||||
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
|
||||
engines: {node: '>=12'}
|
||||
'@isaacs/fs-minipass@4.0.1':
|
||||
resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
|
||||
engines: {node: '>=18.0.0'}
|
||||
|
||||
'@jridgewell/gen-mapping@0.3.8':
|
||||
resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
'@jridgewell/gen-mapping@0.3.13':
|
||||
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
|
||||
|
||||
'@jridgewell/remapping@2.3.5':
|
||||
resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==}
|
||||
|
||||
'@jridgewell/resolve-uri@3.1.2':
|
||||
resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
|
||||
'@jridgewell/set-array@1.2.1':
|
||||
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
|
||||
engines: {node: '>=6.0.0'}
|
||||
'@jridgewell/sourcemap-codec@1.5.5':
|
||||
resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
|
||||
|
||||
'@jridgewell/sourcemap-codec@1.5.0':
|
||||
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
|
||||
|
||||
'@jridgewell/trace-mapping@0.3.25':
|
||||
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
|
||||
|
||||
'@melt-ui/svelte@0.76.2':
|
||||
resolution: {integrity: sha512-7SbOa11tXUS95T3fReL+dwDs5FyJtCEqrqG3inRziDws346SYLsxOQ6HmX+4BkIsQh1R8U3XNa+EMmdMt38lMA==}
|
||||
peerDependencies:
|
||||
svelte: '>=3 <5'
|
||||
'@jridgewell/trace-mapping@0.3.30':
|
||||
resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==}
|
||||
|
||||
'@nodelib/fs.scandir@2.1.5':
|
||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||
@@ -611,295 +326,245 @@ packages:
|
||||
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
'@pkgjs/parseargs@0.11.0':
|
||||
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
|
||||
engines: {node: '>=14'}
|
||||
'@polka/url@1.0.0-next.29':
|
||||
resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
|
||||
|
||||
'@polka/url@1.0.0-next.28':
|
||||
resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
|
||||
|
||||
'@rollup/plugin-commonjs@28.0.2':
|
||||
resolution: {integrity: sha512-BEFI2EDqzl+vA1rl97IDRZ61AIwGH093d9nz8+dThxJNH8oSoB7MjWvPCX3dkaK1/RCJ/1v/R1XB15FuSs0fQw==}
|
||||
engines: {node: '>=16.0.0 || 14 >= 14.17'}
|
||||
peerDependencies:
|
||||
rollup: ^2.68.0||^3.0.0||^4.0.0
|
||||
peerDependenciesMeta:
|
||||
rollup:
|
||||
optional: true
|
||||
|
||||
'@rollup/plugin-json@6.1.0':
|
||||
resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
|
||||
peerDependenciesMeta:
|
||||
rollup:
|
||||
optional: true
|
||||
|
||||
'@rollup/plugin-node-resolve@15.3.1':
|
||||
resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
rollup: ^2.78.0||^3.0.0||^4.0.0
|
||||
peerDependenciesMeta:
|
||||
rollup:
|
||||
optional: true
|
||||
|
||||
'@rollup/pluginutils@5.1.4':
|
||||
resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
|
||||
peerDependenciesMeta:
|
||||
rollup:
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.34.8':
|
||||
resolution: {integrity: sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==}
|
||||
'@rollup/rollup-android-arm-eabi@4.46.4':
|
||||
resolution: {integrity: sha512-B2wfzCJ+ps/OBzRjeds7DlJumCU3rXMxJJS1vzURyj7+KBHGONm7c9q1TfdBl4vCuNMkDvARn3PBl2wZzuR5mw==}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@rollup/rollup-android-arm64@4.34.8':
|
||||
resolution: {integrity: sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==}
|
||||
'@rollup/rollup-android-arm64@4.46.4':
|
||||
resolution: {integrity: sha512-FGJYXvYdn8Bs6lAlBZYT5n+4x0ciEp4cmttsvKAZc/c8/JiPaQK8u0c/86vKX8lA7OY/+37lIQSe0YoAImvBAA==}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@rollup/rollup-darwin-arm64@4.34.8':
|
||||
resolution: {integrity: sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==}
|
||||
'@rollup/rollup-darwin-arm64@4.46.4':
|
||||
resolution: {integrity: sha512-/9qwE/BM7ATw/W/OFEMTm3dmywbJyLQb4f4v5nmOjgYxPIGpw7HaxRi6LnD4Pjn/q7k55FGeHe1/OD02w63apA==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@rollup/rollup-darwin-x64@4.34.8':
|
||||
resolution: {integrity: sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==}
|
||||
'@rollup/rollup-darwin-x64@4.46.4':
|
||||
resolution: {integrity: sha512-QkWfNbeRuzFnv2d0aPlrzcA3Ebq2mE8kX/5Pl7VdRShbPBjSnom7dbT8E3Jmhxo2RL784hyqGvR5KHavCJQciw==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@rollup/rollup-freebsd-arm64@4.34.8':
|
||||
resolution: {integrity: sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==}
|
||||
'@rollup/rollup-freebsd-arm64@4.46.4':
|
||||
resolution: {integrity: sha512-+ToyOMYnSfV8D+ckxO6NthPln/PDNp1P6INcNypfZ7muLmEvPKXqduUiD8DlJpMMT8LxHcE5W0dK9kXfJke9Zw==}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@rollup/rollup-freebsd-x64@4.34.8':
|
||||
resolution: {integrity: sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==}
|
||||
'@rollup/rollup-freebsd-x64@4.46.4':
|
||||
resolution: {integrity: sha512-cGT6ey/W+sje6zywbLiqmkfkO210FgRz7tepWAzzEVgQU8Hn91JJmQWNqs55IuglG8sJdzk7XfNgmGRtcYlo1w==}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.34.8':
|
||||
resolution: {integrity: sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==}
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.46.4':
|
||||
resolution: {integrity: sha512-9fhTJyOb275w5RofPSl8lpr4jFowd+H4oQKJ9XTYzD1JWgxdZKE8bA6d4npuiMemkecQOcigX01FNZNCYnQBdA==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.34.8':
|
||||
resolution: {integrity: sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==}
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.46.4':
|
||||
resolution: {integrity: sha512-+6kCIM5Zjvz2HwPl/udgVs07tPMIp1VU2Y0c72ezjOvSvEfAIWsUgpcSDvnC7g9NrjYR6X9bZT92mZZ90TfvXw==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.34.8':
|
||||
resolution: {integrity: sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==}
|
||||
'@rollup/rollup-linux-arm64-gnu@4.46.4':
|
||||
resolution: {integrity: sha512-SWuXdnsayCZL4lXoo6jn0yyAj7TTjWE4NwDVt9s7cmu6poMhtiras5c8h6Ih6Y0Zk6Z+8t/mLumvpdSPTWub2Q==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.34.8':
|
||||
resolution: {integrity: sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==}
|
||||
'@rollup/rollup-linux-arm64-musl@4.46.4':
|
||||
resolution: {integrity: sha512-vDknMDqtMhrrroa5kyX6tuC0aRZZlQ+ipDfbXd2YGz5HeV2t8HOl/FDAd2ynhs7Ki5VooWiiZcCtxiZ4IjqZwQ==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.34.8':
|
||||
resolution: {integrity: sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==}
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.46.4':
|
||||
resolution: {integrity: sha512-mCBkjRZWhvjtl/x+Bd4fQkWZT8canStKDxGrHlBiTnZmJnWygGcvBylzLVCZXka4dco5ymkWhZlLwKCGFF4ivw==}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-powerpc64le-gnu@4.34.8':
|
||||
resolution: {integrity: sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==}
|
||||
'@rollup/rollup-linux-ppc64-gnu@4.46.4':
|
||||
resolution: {integrity: sha512-YMdz2phOTFF+Z66dQfGf0gmeDSi5DJzY5bpZyeg9CPBkV9QDzJ1yFRlmi/j7WWRf3hYIWrOaJj5jsfwgc8GTHQ==}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.34.8':
|
||||
resolution: {integrity: sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==}
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.46.4':
|
||||
resolution: {integrity: sha512-r0WKLSfFAK8ucG024v2yiLSJMedoWvk8yWqfNICX28NHDGeu3F/wBf8KG6mclghx4FsLePxJr/9N8rIj1PtCnw==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.34.8':
|
||||
resolution: {integrity: sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==}
|
||||
'@rollup/rollup-linux-riscv64-musl@4.46.4':
|
||||
resolution: {integrity: sha512-IaizpPP2UQU3MNyPH1u0Xxbm73D+4OupL0bjo4Hm0496e2wg3zuvoAIhubkD1NGy9fXILEExPQy87mweujEatA==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.46.4':
|
||||
resolution: {integrity: sha512-aCM29orANR0a8wk896p6UEgIfupReupnmISz6SUwMIwTGaTI8MuKdE0OD2LvEg8ondDyZdMvnaN3bW4nFbATPA==}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.34.8':
|
||||
resolution: {integrity: sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==}
|
||||
'@rollup/rollup-linux-x64-gnu@4.46.4':
|
||||
resolution: {integrity: sha512-0Xj1vZE3cbr/wda8d/m+UeuSL+TDpuozzdD4QaSzu/xSOMK0Su5RhIkF7KVHFQsobemUNHPLEcYllL7ZTCP/Cg==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.34.8':
|
||||
resolution: {integrity: sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==}
|
||||
'@rollup/rollup-linux-x64-musl@4.46.4':
|
||||
resolution: {integrity: sha512-kM/orjpolfA5yxsx84kI6bnK47AAZuWxglGKcNmokw2yy9i5eHY5UAjcX45jemTJnfHAWo3/hOoRqEeeTdL5hw==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.34.8':
|
||||
resolution: {integrity: sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==}
|
||||
'@rollup/rollup-win32-arm64-msvc@4.46.4':
|
||||
resolution: {integrity: sha512-cNLH4psMEsWKILW0isbpQA2OvjXLbKvnkcJFmqAptPQbtLrobiapBJVj6RoIvg6UXVp5w0wnIfd/Q56cNpF+Ew==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@rollup/rollup-win32-ia32-msvc@4.34.8':
|
||||
resolution: {integrity: sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==}
|
||||
'@rollup/rollup-win32-ia32-msvc@4.46.4':
|
||||
resolution: {integrity: sha512-OiEa5lRhiANpv4SfwYVgQ3opYWi/QmPDC5ve21m8G9pf6ZO+aX1g2EEF1/IFaM1xPSP7mK0msTRXlPs6mIagkg==}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@rollup/rollup-win32-x64-msvc@4.34.8':
|
||||
resolution: {integrity: sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==}
|
||||
'@rollup/rollup-win32-x64-msvc@4.46.4':
|
||||
resolution: {integrity: sha512-IKL9mewGZ5UuuX4NQlwOmxPyqielvkAPUS2s1cl6yWjjQvyN3h5JTdVFGD5Jr5xMjRC8setOfGQDVgX8V+dkjg==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@shikijs/core@3.7.0':
|
||||
resolution: {integrity: sha512-yilc0S9HvTPyahHpcum8eonYrQtmGTU0lbtwxhA6jHv4Bm1cAdlPFRCJX4AHebkCm75aKTjjRAW+DezqD1b/cg==}
|
||||
'@standard-schema/spec@1.0.0':
|
||||
resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==}
|
||||
|
||||
'@shikijs/engine-javascript@3.7.0':
|
||||
resolution: {integrity: sha512-0t17s03Cbv+ZcUvv+y33GtX75WBLQELgNdVghnsdhTgU3hVcWcMsoP6Lb0nDTl95ZJfbP1mVMO0p3byVh3uuzA==}
|
||||
'@sveltejs/acorn-typescript@1.0.5':
|
||||
resolution: {integrity: sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==}
|
||||
peerDependencies:
|
||||
acorn: ^8.9.0
|
||||
|
||||
'@shikijs/engine-oniguruma@3.7.0':
|
||||
resolution: {integrity: sha512-5BxcD6LjVWsGu4xyaBC5bu8LdNgPCVBnAkWTtOCs/CZxcB22L8rcoWfv7Hh/3WooVjBZmFtyxhgvkQFedPGnFw==}
|
||||
|
||||
'@shikijs/langs@3.7.0':
|
||||
resolution: {integrity: sha512-1zYtdfXLr9xDKLTGy5kb7O0zDQsxXiIsw1iIBcNOO8Yi5/Y1qDbJ+0VsFoqTlzdmneO8Ij35g7QKF8kcLyznCQ==}
|
||||
|
||||
'@shikijs/themes@3.7.0':
|
||||
resolution: {integrity: sha512-VJx8497iZPy5zLiiCTSIaOChIcKQwR0FebwE9S3rcN0+J/GTWwQ1v/bqhTbpbY3zybPKeO8wdammqkpXc4NVjQ==}
|
||||
|
||||
'@shikijs/types@3.7.0':
|
||||
resolution: {integrity: sha512-MGaLeaRlSWpnP0XSAum3kP3a8vtcTsITqoEPYdt3lQG3YCdQH4DnEhodkYcNMcU0uW0RffhoD1O3e0vG5eSBBg==}
|
||||
|
||||
'@shikijs/vscode-textmate@10.0.2':
|
||||
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
|
||||
|
||||
'@svelte-dev/pretty-code@1.0.0':
|
||||
resolution: {integrity: sha512-4dFacn9fv7SNK0kp6VjZeSQd9e7ISihaC3l/I7fB6sAAObZt5hRkbFeU2pM2kUlpjzRPGaYuXlWfYj7dLFvPHA==}
|
||||
|
||||
'@sveltejs/adapter-auto@3.2.5':
|
||||
resolution: {integrity: sha512-27LR+uKccZ62lgq4N/hvyU2G+hTP9fxWEAfnZcl70HnyfAjMSsGk1z/SjAPXNCD1mVJIE7IFu3TQ8cQ/UH3c0A==}
|
||||
'@sveltejs/adapter-auto@6.1.0':
|
||||
resolution: {integrity: sha512-shOuLI5D2s+0zTv2ab5M5PqfknXqWbKi+0UwB9yLTRIdzsK1R93JOO8jNhIYSHdW+IYXIYnLniu+JZqXs7h9Wg==}
|
||||
peerDependencies:
|
||||
'@sveltejs/kit': ^2.0.0
|
||||
|
||||
'@sveltejs/adapter-node@5.2.5':
|
||||
resolution: {integrity: sha512-FVeysFqeIlKFpDF1Oj38gby34f6uA9FuXnV330Z0RHmSyOR9JzJs70/nFKy1Ue3fWtf7S0RemOrP66Vr9Jcmew==}
|
||||
peerDependencies:
|
||||
'@sveltejs/kit': ^2.4.0
|
||||
|
||||
'@sveltejs/kit@2.5.28':
|
||||
resolution: {integrity: sha512-/O7pvFGBsQPcFa9UrW8eUC5uHTOXLsUp3SN0dY6YmRAL9nfPSrJsSJk//j5vMpinSshzUjteAFcfQTU+04Ka1w==}
|
||||
'@sveltejs/kit@2.36.1':
|
||||
resolution: {integrity: sha512-dldNCtSIpaGxQMEfHaUxSPH/k3uU28pTZwtKzfkn8fqpOjWufKlMBeIL7FJ/s93dOrhEq41zaQYkXh+XTgEgVw==}
|
||||
engines: {node: '>=18.13'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1
|
||||
'@opentelemetry/api': ^1.0.0
|
||||
'@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0
|
||||
svelte: ^4.0.0 || ^5.0.0-next.0
|
||||
vite: ^5.0.3
|
||||
vite: ^5.0.3 || ^6.0.0 || ^7.0.0-beta.0
|
||||
peerDependenciesMeta:
|
||||
'@opentelemetry/api':
|
||||
optional: true
|
||||
|
||||
'@sveltejs/vite-plugin-svelte-inspector@2.1.0':
|
||||
resolution: {integrity: sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==}
|
||||
engines: {node: ^18.0.0 || >=20}
|
||||
'@sveltejs/vite-plugin-svelte-inspector@5.0.1':
|
||||
resolution: {integrity: sha512-ubWshlMk4bc8mkwWbg6vNvCeT7lGQojE3ijDh3QTR6Zr/R+GXxsGbyH4PExEPpiFmqPhYiVSVmHBjUcVc1JIrA==}
|
||||
engines: {node: ^20.19 || ^22.12 || >=24}
|
||||
peerDependencies:
|
||||
'@sveltejs/vite-plugin-svelte': ^3.0.0
|
||||
svelte: ^4.0.0 || ^5.0.0-next.0
|
||||
vite: ^5.0.0
|
||||
'@sveltejs/vite-plugin-svelte': ^6.0.0-next.0
|
||||
svelte: ^5.0.0
|
||||
vite: ^6.3.0 || ^7.0.0
|
||||
|
||||
'@sveltejs/vite-plugin-svelte@3.1.2':
|
||||
resolution: {integrity: sha512-Txsm1tJvtiYeLUVRNqxZGKR/mI+CzuIQuc2gn+YCs9rMTowpNZ2Nqt53JdL8KF9bLhAf2ruR/dr9eZCwdTriRA==}
|
||||
engines: {node: ^18.0.0 || >=20}
|
||||
'@sveltejs/vite-plugin-svelte@6.1.3':
|
||||
resolution: {integrity: sha512-3pppgIeIZs6nrQLazzKcdnTJ2IWiui/UucEPXKyFG35TKaHQrfkWBnv6hyJcLxFuR90t+LaoecrqTs8rJKWfSQ==}
|
||||
engines: {node: ^20.19 || ^22.12 || >=24}
|
||||
peerDependencies:
|
||||
svelte: ^4.0.0 || ^5.0.0-next.0
|
||||
vite: ^5.0.0
|
||||
svelte: ^5.0.0
|
||||
vite: ^6.3.0 || ^7.0.0
|
||||
|
||||
'@svgr/babel-plugin-add-jsx-attribute@8.0.0':
|
||||
resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==}
|
||||
engines: {node: '>=14'}
|
||||
'@tailwindcss/node@4.1.12':
|
||||
resolution: {integrity: sha512-3hm9brwvQkZFe++SBt+oLjo4OLDtkvlE8q2WalaD/7QWaeM7KEJbAiY/LJZUaCs7Xa8aUu4xy3uoyX4q54UVdQ==}
|
||||
|
||||
'@tailwindcss/oxide-android-arm64@4.1.12':
|
||||
resolution: {integrity: sha512-oNY5pq+1gc4T6QVTsZKwZaGpBb2N1H1fsc1GD4o7yinFySqIuRZ2E4NvGasWc6PhYJwGK2+5YT1f9Tp80zUQZQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@tailwindcss/oxide-darwin-arm64@4.1.12':
|
||||
resolution: {integrity: sha512-cq1qmq2HEtDV9HvZlTtrj671mCdGB93bVY6J29mwCyaMYCP/JaUBXxrQQQm7Qn33AXXASPUb2HFZlWiiHWFytw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@tailwindcss/oxide-darwin-x64@4.1.12':
|
||||
resolution: {integrity: sha512-6UCsIeFUcBfpangqlXay9Ffty9XhFH1QuUFn0WV83W8lGdX8cD5/+2ONLluALJD5+yJ7k8mVtwy3zMZmzEfbLg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@tailwindcss/oxide-freebsd-x64@4.1.12':
|
||||
resolution: {integrity: sha512-JOH/f7j6+nYXIrHobRYCtoArJdMJh5zy5lr0FV0Qu47MID/vqJAY3r/OElPzx1C/wdT1uS7cPq+xdYYelny1ww==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.12':
|
||||
resolution: {integrity: sha512-v4Ghvi9AU1SYgGr3/j38PD8PEe6bRfTnNSUE3YCMIRrrNigCFtHZ2TCm8142X8fcSqHBZBceDx+JlFJEfNg5zQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@tailwindcss/oxide-linux-arm64-gnu@4.1.12':
|
||||
resolution: {integrity: sha512-YP5s1LmetL9UsvVAKusHSyPlzSRqYyRB0f+Kl/xcYQSPLEw/BvGfxzbH+ihUciePDjiXwHh+p+qbSP3SlJw+6g==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@tailwindcss/oxide-linux-arm64-musl@4.1.12':
|
||||
resolution: {integrity: sha512-V8pAM3s8gsrXcCv6kCHSuwyb/gPsd863iT+v1PGXC4fSL/OJqsKhfK//v8P+w9ThKIoqNbEnsZqNy+WDnwQqCA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@tailwindcss/oxide-linux-x64-gnu@4.1.12':
|
||||
resolution: {integrity: sha512-xYfqYLjvm2UQ3TZggTGrwxjYaLB62b1Wiysw/YE3Yqbh86sOMoTn0feF98PonP7LtjsWOWcXEbGqDL7zv0uW8Q==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@tailwindcss/oxide-linux-x64-musl@4.1.12':
|
||||
resolution: {integrity: sha512-ha0pHPamN+fWZY7GCzz5rKunlv9L5R8kdh+YNvP5awe3LtuXb5nRi/H27GeL2U+TdhDOptU7T6Is7mdwh5Ar3A==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@tailwindcss/oxide-wasm32-wasi@4.1.12':
|
||||
resolution: {integrity: sha512-4tSyu3dW+ktzdEpuk6g49KdEangu3eCYoqPhWNsZgUhyegEda3M9rG0/j1GV/JjVVsj+lG7jWAyrTlLzd/WEBg==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
cpu: [wasm32]
|
||||
bundledDependencies:
|
||||
- '@napi-rs/wasm-runtime'
|
||||
- '@emnapi/core'
|
||||
- '@emnapi/runtime'
|
||||
- '@tybys/wasm-util'
|
||||
- '@emnapi/wasi-threads'
|
||||
- tslib
|
||||
|
||||
'@tailwindcss/oxide-win32-arm64-msvc@4.1.12':
|
||||
resolution: {integrity: sha512-iGLyD/cVP724+FGtMWslhcFyg4xyYyM+5F4hGvKA7eifPkXHRAUDFaimu53fpNg9X8dfP75pXx/zFt/jlNF+lg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@tailwindcss/oxide-win32-x64-msvc@4.1.12':
|
||||
resolution: {integrity: sha512-NKIh5rzw6CpEodv/++r0hGLlfgT/gFN+5WNdZtvh6wpU2BpGNgdjvj6H2oFc8nCM839QM1YOhjpgbAONUb4IxA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@tailwindcss/oxide@4.1.12':
|
||||
resolution: {integrity: sha512-gM5EoKHW/ukmlEtphNwaGx45fGoEmP10v51t9unv55voWh6WrOL19hfuIdo2FjxIaZzw776/BUQg7Pck++cIVw==}
|
||||
engines: {node: '>= 10'}
|
||||
|
||||
'@tailwindcss/vite@4.1.12':
|
||||
resolution: {integrity: sha512-4pt0AMFDx7gzIrAOIYgYP0KCBuKWqyW8ayrdiLEjoJTT4pKTjrzG/e4uzWtTLDziC+66R9wbUqZBccJalSE5vQ==}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.0.0-0
|
||||
|
||||
'@svgr/babel-plugin-remove-jsx-attribute@8.0.0':
|
||||
resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.0.0-0
|
||||
|
||||
'@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0':
|
||||
resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.0.0-0
|
||||
|
||||
'@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0':
|
||||
resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.0.0-0
|
||||
|
||||
'@svgr/babel-plugin-svg-dynamic-title@8.0.0':
|
||||
resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.0.0-0
|
||||
|
||||
'@svgr/babel-plugin-svg-em-dimensions@8.0.0':
|
||||
resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.0.0-0
|
||||
|
||||
'@svgr/babel-plugin-transform-react-native-svg@8.1.0':
|
||||
resolution: {integrity: sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.0.0-0
|
||||
|
||||
'@svgr/babel-plugin-transform-svg-component@8.0.0':
|
||||
resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==}
|
||||
engines: {node: '>=12'}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.0.0-0
|
||||
|
||||
'@svgr/babel-preset@8.1.0':
|
||||
resolution: {integrity: sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
'@babel/core': ^7.0.0-0
|
||||
|
||||
'@svgr/core@8.1.0':
|
||||
resolution: {integrity: sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==}
|
||||
engines: {node: '>=14'}
|
||||
|
||||
'@svgr/hast-util-to-babel-ast@8.0.0':
|
||||
resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==}
|
||||
engines: {node: '>=14'}
|
||||
|
||||
'@svgr/plugin-jsx@8.1.0':
|
||||
resolution: {integrity: sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
'@svgr/core': '*'
|
||||
|
||||
'@swc/helpers@0.5.15':
|
||||
resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
|
||||
|
||||
'@tailwindcss/typography@0.5.16':
|
||||
resolution: {integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==}
|
||||
peerDependencies:
|
||||
tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1'
|
||||
vite: ^5.2.0 || ^6 || ^7
|
||||
|
||||
'@types/cookie@0.6.0':
|
||||
resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
|
||||
|
||||
'@types/debug@4.1.12':
|
||||
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
|
||||
|
||||
'@types/downloadjs@1.4.6':
|
||||
resolution: {integrity: sha512-mp3w70vsaiLRT9ix92fmI9Ob2yJAPZm6tShJtofo2uHbN11G2i6a0ApIEjBl/kv3e9V7Pv7jMjk1bUwYWvMHvA==}
|
||||
|
||||
'@types/eslint@9.6.1':
|
||||
resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
|
||||
|
||||
'@types/estree@1.0.6':
|
||||
resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
|
||||
|
||||
'@types/hast@3.0.4':
|
||||
resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
|
||||
'@types/estree@1.0.8':
|
||||
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
|
||||
|
||||
'@types/json-schema@7.0.15':
|
||||
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
|
||||
@@ -907,165 +572,85 @@ packages:
|
||||
'@types/mdast@4.0.4':
|
||||
resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
|
||||
|
||||
'@types/ms@2.1.0':
|
||||
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
|
||||
|
||||
'@types/node@22.5.5':
|
||||
resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==}
|
||||
|
||||
'@types/resolve@1.20.2':
|
||||
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
|
||||
|
||||
'@types/unist@2.0.11':
|
||||
resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
|
||||
|
||||
'@types/unist@3.0.3':
|
||||
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
|
||||
|
||||
'@typescript-eslint/eslint-plugin@8.6.0':
|
||||
resolution: {integrity: sha512-UOaz/wFowmoh2G6Mr9gw60B1mm0MzUtm6Ic8G2yM1Le6gyj5Loi/N+O5mocugRGY+8OeeKmkMmbxNqUCq3B4Sg==}
|
||||
'@typescript-eslint/eslint-plugin@8.40.0':
|
||||
resolution: {integrity: sha512-w/EboPlBwnmOBtRbiOvzjD+wdiZdgFeo17lkltrtn7X37vagKKWJABvyfsJXTlHe6XBzugmYgd4A4nW+k8Mixw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
|
||||
'@typescript-eslint/parser': ^8.40.0
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/parser@8.6.0':
|
||||
resolution: {integrity: sha512-eQcbCuA2Vmw45iGfcyG4y6rS7BhWfz9MQuk409WD47qMM+bKCGQWXxvoOs1DUp+T7UBMTtRTVT+kXr7Sh4O9Ow==}
|
||||
'@typescript-eslint/parser@8.40.0':
|
||||
resolution: {integrity: sha512-jCNyAuXx8dr5KJMkecGmZ8KI61KBUhkCob+SD+C+I5+Y1FWI2Y3QmY4/cxMCC5WAsZqoEtEETVhUiUMIGCf6Bw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/scope-manager@8.6.0':
|
||||
resolution: {integrity: sha512-ZuoutoS5y9UOxKvpc/GkvF4cuEmpokda4wRg64JEia27wX+PysIE9q+lzDtlHHgblwUWwo5/Qn+/WyTUvDwBHw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/type-utils@8.6.0':
|
||||
resolution: {integrity: sha512-dtePl4gsuenXVwC7dVNlb4mGDcKjDT/Ropsk4za/ouMBPplCLyznIaR+W65mvCvsyS97dymoBRrioEXI7k0XIg==}
|
||||
'@typescript-eslint/project-service@8.40.0':
|
||||
resolution: {integrity: sha512-/A89vz7Wf5DEXsGVvcGdYKbVM9F7DyFXj52lNYUDS1L9yJfqjW/fIp5PgMuEJL/KeqVTe2QSbXAGUZljDUpArw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/types@8.6.0':
|
||||
resolution: {integrity: sha512-rojqFZGd4MQxw33SrOy09qIDS8WEldM8JWtKQLAjf/X5mGSeEFh5ixQlxssMNyPslVIk9yzWqXCsV2eFhYrYUw==}
|
||||
'@typescript-eslint/scope-manager@8.40.0':
|
||||
resolution: {integrity: sha512-y9ObStCcdCiZKzwqsE8CcpyuVMwRouJbbSrNuThDpv16dFAj429IkM6LNb1dZ2m7hK5fHyzNcErZf7CEeKXR4w==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.6.0':
|
||||
resolution: {integrity: sha512-MOVAzsKJIPIlLK239l5s06YXjNqpKTVhBVDnqUumQJja5+Y94V3+4VUFRA0G60y2jNnTVwRCkhyGQpavfsbq/g==}
|
||||
'@typescript-eslint/tsconfig-utils@8.40.0':
|
||||
resolution: {integrity: sha512-jtMytmUaG9d/9kqSl/W3E3xaWESo4hFDxAIHGVW/WKKtQhesnRIJSAJO6XckluuJ6KDB5woD1EiqknriCtAmcw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/utils@8.6.0':
|
||||
resolution: {integrity: sha512-eNp9cWnYf36NaOVjkEUznf6fEgVy1TWpE0o52e4wtojjBx7D1UV2WAWGzR+8Y5lVFtpMLPwNbC67T83DWSph4A==}
|
||||
'@typescript-eslint/type-utils@8.40.0':
|
||||
resolution: {integrity: sha512-eE60cK4KzAc6ZrzlJnflXdrMqOBaugeukWICO2rB0KNvwdIMaEaYiywwHMzA1qFpTxrLhN9Lp4E/00EgWcD3Ow==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.6.0':
|
||||
resolution: {integrity: sha512-wapVFfZg9H0qOYh4grNVQiMklJGluQrOUiOhYRrQWhx7BY/+I1IYb8BczWNbbUpO+pqy0rDciv3lQH5E1bCLrg==}
|
||||
'@typescript-eslint/types@8.40.0':
|
||||
resolution: {integrity: sha512-ETdbFlgbAmXHyFPwqUIYrfc12ArvpBhEVgGAxVYSwli26dn8Ko+lIo4Su9vI9ykTZdJn+vJprs/0eZU0YMAEQg==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
'@ungap/structured-clone@1.3.0':
|
||||
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
|
||||
|
||||
'@upstash/core-analytics@0.0.10':
|
||||
resolution: {integrity: sha512-7qJHGxpQgQr9/vmeS1PktEwvNAF7TI4iJDi8Pu2CFZ9YUGHZH4fOP5TfYlZ4aVxfopnELiE4BS4FBjyK7V1/xQ==}
|
||||
engines: {node: '>=16.0.0'}
|
||||
|
||||
'@upstash/ratelimit@2.0.6':
|
||||
resolution: {integrity: sha512-Uak5qklMfzFN5RXltxY6IXRENu+Hgmo9iEgMPOlUs2etSQas2N+hJfbHw37OUy4vldLRXeD0OzL+YRvO2l5acg==}
|
||||
'@typescript-eslint/typescript-estree@8.40.0':
|
||||
resolution: {integrity: sha512-k1z9+GJReVVOkc1WfVKs1vBrR5MIKKbdAjDTPvIK3L8De6KbFfPFt6BKpdkdk7rZS2GtC/m6yI5MYX+UsuvVYQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
'@upstash/redis': ^1.34.3
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@upstash/redis@1.35.3':
|
||||
resolution: {integrity: sha512-hSjv66NOuahW3MisRGlSgoszU2uONAY2l5Qo3Sae8OT3/Tng9K+2/cBRuyPBX8egwEGcNNCF9+r0V6grNnhL+w==}
|
||||
|
||||
'@vitest/expect@2.1.1':
|
||||
resolution: {integrity: sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==}
|
||||
|
||||
'@vitest/mocker@2.1.1':
|
||||
resolution: {integrity: sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==}
|
||||
'@typescript-eslint/utils@8.40.0':
|
||||
resolution: {integrity: sha512-Cgzi2MXSZyAUOY+BFwGs17s7ad/7L+gKt6Y8rAVVWS+7o6wrjeFN4nVfTpbE25MNcxyJ+iYUXflbs2xR9h4UBg==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
'@vitest/spy': 2.1.1
|
||||
msw: ^2.3.5
|
||||
vite: ^5.0.0
|
||||
peerDependenciesMeta:
|
||||
msw:
|
||||
optional: true
|
||||
vite:
|
||||
optional: true
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
'@vitest/pretty-format@2.1.1':
|
||||
resolution: {integrity: sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==}
|
||||
|
||||
'@vitest/pretty-format@2.1.9':
|
||||
resolution: {integrity: sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==}
|
||||
|
||||
'@vitest/runner@2.1.1':
|
||||
resolution: {integrity: sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==}
|
||||
|
||||
'@vitest/snapshot@2.1.1':
|
||||
resolution: {integrity: sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==}
|
||||
|
||||
'@vitest/spy@2.1.1':
|
||||
resolution: {integrity: sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==}
|
||||
|
||||
'@vitest/utils@2.1.1':
|
||||
resolution: {integrity: sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==}
|
||||
'@typescript-eslint/visitor-keys@8.40.0':
|
||||
resolution: {integrity: sha512-8CZ47QwalyRjsypfwnbI3hKy5gJDPmrkLjkgMxhi0+DZZ2QNx2naS6/hWoVYUHU7LU2zleF68V9miaVZvhFfTA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
acorn-jsx@5.3.2:
|
||||
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
|
||||
peerDependencies:
|
||||
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
|
||||
|
||||
acorn@8.14.0:
|
||||
resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
|
||||
acorn@8.15.0:
|
||||
resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
|
||||
engines: {node: '>=0.4.0'}
|
||||
hasBin: true
|
||||
|
||||
ajv@6.12.6:
|
||||
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
|
||||
|
||||
ansi-regex@5.0.1:
|
||||
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
ansi-regex@6.1.0:
|
||||
resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
ansi-styles@4.3.0:
|
||||
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
ansi-styles@6.2.1:
|
||||
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
any-promise@1.3.0:
|
||||
resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
|
||||
|
||||
anymatch@3.1.3:
|
||||
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
arg@5.0.2:
|
||||
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
|
||||
|
||||
argparse@2.0.1:
|
||||
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
|
||||
|
||||
@@ -1073,119 +658,43 @@ packages:
|
||||
resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
assertion-error@2.0.1:
|
||||
resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
autoprefixer@10.4.21:
|
||||
resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
|
||||
axobject-query@4.1.0:
|
||||
resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
bail@2.0.2:
|
||||
resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
|
||||
|
||||
balanced-match@1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
|
||||
binary-extensions@2.3.0:
|
||||
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
|
||||
engines: {node: '>=8'}
|
||||
brace-expansion@1.1.12:
|
||||
resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
|
||||
|
||||
bits-ui@0.22.0:
|
||||
resolution: {integrity: sha512-r7Fw1HNgA4YxZBRcozl7oP0bheQ8EHh+kfMBZJgyFISix8t4p/nqDcHLmBgIiJ3T5XjYnJRorYDjIWaCfhb5fw==}
|
||||
peerDependencies:
|
||||
svelte: ^4.0.0 || ^5.0.0
|
||||
|
||||
boolbase@1.0.0:
|
||||
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
|
||||
|
||||
brace-expansion@1.1.11:
|
||||
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||
|
||||
brace-expansion@2.0.1:
|
||||
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
|
||||
brace-expansion@2.0.2:
|
||||
resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
|
||||
|
||||
braces@3.0.3:
|
||||
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
browserslist@4.24.4:
|
||||
resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==}
|
||||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||
hasBin: true
|
||||
|
||||
cac@6.7.14:
|
||||
resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
callsites@3.1.0:
|
||||
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
camelcase-css@2.0.1:
|
||||
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
camelcase@6.3.0:
|
||||
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
caniuse-lite@1.0.30001700:
|
||||
resolution: {integrity: sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==}
|
||||
|
||||
caniuse-lite@1.0.30001715:
|
||||
resolution: {integrity: sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw==}
|
||||
|
||||
ccount@2.0.1:
|
||||
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
|
||||
|
||||
chai@5.2.0:
|
||||
resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
chalk@4.1.2:
|
||||
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
character-entities-html4@2.1.0:
|
||||
resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
|
||||
|
||||
character-entities-legacy@3.0.0:
|
||||
resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
|
||||
|
||||
character-entities@2.0.2:
|
||||
resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
|
||||
|
||||
check-error@2.1.1:
|
||||
resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
|
||||
engines: {node: '>= 16'}
|
||||
|
||||
chokidar@3.6.0:
|
||||
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
|
||||
engines: {node: '>= 8.10.0'}
|
||||
|
||||
chokidar@4.0.3:
|
||||
resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
|
||||
engines: {node: '>= 14.16.0'}
|
||||
|
||||
cliui@8.0.1:
|
||||
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
|
||||
engines: {node: '>=12'}
|
||||
chownr@3.0.0:
|
||||
resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
clsx@2.1.1:
|
||||
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
code-red@1.0.4:
|
||||
resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==}
|
||||
|
||||
color-convert@2.0.1:
|
||||
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
||||
engines: {node: '>=7.0.0'}
|
||||
@@ -1193,81 +702,24 @@ packages:
|
||||
color-name@1.1.4:
|
||||
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
||||
|
||||
comma-separated-tokens@2.0.3:
|
||||
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
|
||||
|
||||
commander@11.1.0:
|
||||
resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
|
||||
engines: {node: '>=16'}
|
||||
|
||||
commander@4.1.1:
|
||||
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
commondir@1.0.1:
|
||||
resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
|
||||
|
||||
concat-map@0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
|
||||
concurrently@9.0.1:
|
||||
resolution: {integrity: sha512-wYKvCd/f54sTXJMSfV6Ln/B8UrfLBKOYa+lzc6CHay3Qek+LorVSBdMVfyewFhRbH0Rbabsk4D+3PL/VjQ5gzg==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
convert-source-map@2.0.0:
|
||||
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
|
||||
|
||||
cookie@0.6.0:
|
||||
resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
|
||||
engines: {node: '>= 0.6'}
|
||||
|
||||
core-util-is@1.0.3:
|
||||
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
|
||||
|
||||
cosmiconfig@8.3.6:
|
||||
resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
|
||||
engines: {node: '>=14'}
|
||||
peerDependencies:
|
||||
typescript: '>=4.9.5'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
|
||||
cross-spawn@7.0.6:
|
||||
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
css-select@5.2.2:
|
||||
resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==}
|
||||
|
||||
css-tree@2.2.1:
|
||||
resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
|
||||
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
|
||||
|
||||
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}
|
||||
|
||||
css-tree@3.1.0:
|
||||
resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==}
|
||||
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
|
||||
|
||||
css-what@6.2.2:
|
||||
resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
cssesc@3.0.0:
|
||||
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
|
||||
csso@5.0.5:
|
||||
resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
|
||||
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
|
||||
|
||||
debug@4.4.0:
|
||||
resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
|
||||
debug@4.4.1:
|
||||
resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
|
||||
engines: {node: '>=6.0'}
|
||||
peerDependencies:
|
||||
supports-color: '*'
|
||||
@@ -1275,13 +727,6 @@ packages:
|
||||
supports-color:
|
||||
optional: true
|
||||
|
||||
decode-named-character-reference@1.0.2:
|
||||
resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
|
||||
|
||||
deep-eql@5.0.2:
|
||||
resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
deep-is@0.1.4:
|
||||
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
|
||||
|
||||
@@ -1289,122 +734,56 @@ packages:
|
||||
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
dequal@2.0.3:
|
||||
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
|
||||
engines: {node: '>=6'}
|
||||
detect-libc@2.0.4:
|
||||
resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
devalue@5.1.1:
|
||||
resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==}
|
||||
|
||||
devlop@1.1.0:
|
||||
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
|
||||
enhanced-resolve@5.18.3:
|
||||
resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==}
|
||||
engines: {node: '>=10.13.0'}
|
||||
|
||||
didyoumean@1.2.2:
|
||||
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
|
||||
|
||||
dlv@1.1.3:
|
||||
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
|
||||
|
||||
dom-serializer@2.0.0:
|
||||
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
|
||||
|
||||
domelementtype@2.3.0:
|
||||
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
|
||||
|
||||
domhandler@5.0.3:
|
||||
resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
|
||||
engines: {node: '>= 4'}
|
||||
|
||||
domutils@3.2.2:
|
||||
resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
|
||||
|
||||
dot-case@3.0.4:
|
||||
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
|
||||
|
||||
downloadjs@1.4.7:
|
||||
resolution: {integrity: sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q==}
|
||||
|
||||
eastasianwidth@0.2.0:
|
||||
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
|
||||
|
||||
electron-to-chromium@1.5.104:
|
||||
resolution: {integrity: sha512-Us9M2L4cO/zMBqVkJtnj353nQhMju9slHm62NprKTmdF3HH8wYOtNvDFq/JB2+ZRoGLzdvYDiATlMHs98XBM1g==}
|
||||
|
||||
emoji-regex@8.0.0:
|
||||
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
||||
|
||||
emoji-regex@9.2.2:
|
||||
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
|
||||
|
||||
entities@4.5.0:
|
||||
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
|
||||
engines: {node: '>=0.12'}
|
||||
|
||||
error-ex@1.3.2:
|
||||
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
|
||||
|
||||
esbuild@0.21.5:
|
||||
resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
|
||||
engines: {node: '>=12'}
|
||||
hasBin: true
|
||||
|
||||
esbuild@0.24.0:
|
||||
resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==}
|
||||
esbuild@0.25.9:
|
||||
resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==}
|
||||
engines: {node: '>=18'}
|
||||
hasBin: true
|
||||
|
||||
escalade@3.2.0:
|
||||
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
escape-string-regexp@4.0.0:
|
||||
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
escape-string-regexp@5.0.0:
|
||||
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
eslint-compat-utils@0.5.1:
|
||||
resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==}
|
||||
engines: {node: '>=12'}
|
||||
peerDependencies:
|
||||
eslint: '>=6.0.0'
|
||||
|
||||
eslint-config-prettier@9.1.0:
|
||||
resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
|
||||
eslint-config-prettier@10.1.8:
|
||||
resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
eslint: '>=7.0.0'
|
||||
|
||||
eslint-plugin-svelte@2.44.0:
|
||||
resolution: {integrity: sha512-wav4MOs02vBb1WjvTCYItwJCxMkuk2Z4p+K/eyjL0N/z7ahXLP+0LtQQjiKc2ezuif7GnZLbD1F3o1VHzSvdVg==}
|
||||
engines: {node: ^14.17.0 || >=16.0.0}
|
||||
eslint-plugin-svelte@3.11.0:
|
||||
resolution: {integrity: sha512-KliWlkieHyEa65aQIkRwUFfHzT5Cn4u3BQQsu3KlkJOs7c1u7ryn84EWaOjEzilbKgttT4OfBURA8Uc4JBSQIw==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
eslint: ^7.0.0 || ^8.0.0-0 || ^9.0.0-0
|
||||
svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.191
|
||||
eslint: ^8.57.1 || ^9.0.0
|
||||
svelte: ^3.37.0 || ^4.0.0 || ^5.0.0
|
||||
peerDependenciesMeta:
|
||||
svelte:
|
||||
optional: 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}
|
||||
|
||||
eslint-scope@8.2.0:
|
||||
resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
|
||||
eslint-scope@8.4.0:
|
||||
resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
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}
|
||||
|
||||
eslint-visitor-keys@4.2.0:
|
||||
resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
|
||||
eslint-visitor-keys@4.2.1:
|
||||
resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
eslint@9.11.0:
|
||||
resolution: {integrity: sha512-yVS6XODx+tMFMDFcG4+Hlh+qG7RM6cCJXtQhCKLSsr3XkLvWggHjCqjfh0XsPPnt1c56oaT6PMgW9XWQQjdHXA==}
|
||||
eslint@9.33.0:
|
||||
resolution: {integrity: sha512-TS9bTNIryDzStCpJN93aC5VRSW3uTx9sClUn4B87pwiCaJh220otoI0X8mJKr+VcPtniMdN8GKjlwgWGUv5ZKA==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
@@ -1416,18 +795,17 @@ packages:
|
||||
esm-env@1.2.2:
|
||||
resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==}
|
||||
|
||||
espree@10.3.0:
|
||||
resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
|
||||
espree@10.4.0:
|
||||
resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
|
||||
espree@9.6.1:
|
||||
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
|
||||
esquery@1.6.0:
|
||||
resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
|
||||
engines: {node: '>=0.10'}
|
||||
|
||||
esrap@2.1.0:
|
||||
resolution: {integrity: sha512-yzmPNpl7TBbMRC5Lj2JlJZNPml0tzqoqP5B1JXycNUwtqma9AKCO0M2wHrdgsHcy1WRW7S9rJknAMtByg3usgA==}
|
||||
|
||||
esrecurse@4.3.0:
|
||||
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
|
||||
engines: {node: '>=4.0'}
|
||||
@@ -1436,19 +814,10 @@ packages:
|
||||
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
|
||||
engines: {node: '>=4.0'}
|
||||
|
||||
estree-walker@2.0.2:
|
||||
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
|
||||
|
||||
estree-walker@3.0.3:
|
||||
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
|
||||
|
||||
esutils@2.0.3:
|
||||
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
extend@3.0.2:
|
||||
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
|
||||
|
||||
fast-deep-equal@3.1.3:
|
||||
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
|
||||
|
||||
@@ -1462,11 +831,12 @@ packages:
|
||||
fast-levenshtein@2.0.6:
|
||||
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
|
||||
|
||||
fastq@1.19.0:
|
||||
resolution: {integrity: sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==}
|
||||
fastq@1.19.1:
|
||||
resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
|
||||
|
||||
fdir@6.4.3:
|
||||
resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==}
|
||||
fdir@6.5.0:
|
||||
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
peerDependencies:
|
||||
picomatch: ^3 || ^4
|
||||
peerDependenciesMeta:
|
||||
@@ -1492,39 +862,11 @@ packages:
|
||||
flatted@3.3.3:
|
||||
resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
|
||||
|
||||
focus-trap@7.6.4:
|
||||
resolution: {integrity: sha512-xx560wGBk7seZ6y933idtjJQc1l+ck+pI3sKvhKozdBV1dRZoKhkW5xoCaFv9tQiX5RH1xfSxjuNu6g+lmN/gw==}
|
||||
|
||||
foreground-child@3.3.1:
|
||||
resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
|
||||
engines: {node: '>=14'}
|
||||
|
||||
fraction.js@4.3.7:
|
||||
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
|
||||
|
||||
fsevents@2.3.3:
|
||||
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
|
||||
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
||||
os: [darwin]
|
||||
|
||||
function-bind@1.1.2:
|
||||
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
|
||||
|
||||
fuse.js@7.1.0:
|
||||
resolution: {integrity: sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
gensync@1.0.0-beta.2:
|
||||
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
get-caller-file@2.0.5:
|
||||
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
|
||||
engines: {node: 6.* || 8.* || >= 10.*}
|
||||
|
||||
github-slugger@2.0.0:
|
||||
resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
|
||||
|
||||
glob-parent@5.1.2:
|
||||
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
|
||||
engines: {node: '>= 6'}
|
||||
@@ -1533,27 +875,16 @@ packages:
|
||||
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
|
||||
engines: {node: '>=10.13.0'}
|
||||
|
||||
glob@10.4.5:
|
||||
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
|
||||
hasBin: true
|
||||
|
||||
globals@11.12.0:
|
||||
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
globals@14.0.0:
|
||||
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
globals@15.9.0:
|
||||
resolution: {integrity: sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==}
|
||||
globals@16.3.0:
|
||||
resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
globalyzer@0.1.0:
|
||||
resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
|
||||
|
||||
globrex@0.1.2:
|
||||
resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
|
||||
graceful-fs@4.2.11:
|
||||
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
|
||||
|
||||
graphemer@1.4.0:
|
||||
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
|
||||
@@ -1562,150 +893,57 @@ packages:
|
||||
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
hasown@2.0.2:
|
||||
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
hast-util-from-html@2.0.3:
|
||||
resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==}
|
||||
|
||||
hast-util-from-parse5@8.0.3:
|
||||
resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==}
|
||||
|
||||
hast-util-heading-rank@3.0.0:
|
||||
resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==}
|
||||
|
||||
hast-util-is-element@3.0.0:
|
||||
resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==}
|
||||
|
||||
hast-util-parse-selector@4.0.0:
|
||||
resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==}
|
||||
|
||||
hast-util-to-html@9.0.5:
|
||||
resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
|
||||
|
||||
hast-util-to-string@3.0.1:
|
||||
resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
|
||||
|
||||
hast-util-whitespace@3.0.0:
|
||||
resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
|
||||
|
||||
hastscript@9.0.1:
|
||||
resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==}
|
||||
|
||||
html-void-elements@3.0.0:
|
||||
resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
|
||||
|
||||
ignore@5.3.2:
|
||||
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
|
||||
engines: {node: '>= 4'}
|
||||
|
||||
immediate@3.0.6:
|
||||
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
|
||||
ignore@7.0.5:
|
||||
resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
|
||||
engines: {node: '>= 4'}
|
||||
|
||||
import-fresh@3.3.1:
|
||||
resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
import-meta-resolve@4.1.0:
|
||||
resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
|
||||
|
||||
imurmurhash@0.1.4:
|
||||
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
|
||||
engines: {node: '>=0.8.19'}
|
||||
|
||||
inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
|
||||
is-arrayish@0.2.1:
|
||||
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
|
||||
|
||||
is-binary-path@2.1.0:
|
||||
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
is-core-module@2.16.1:
|
||||
resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
is-extglob@2.1.1:
|
||||
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
is-fullwidth-code-point@3.0.0:
|
||||
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
is-glob@4.0.3:
|
||||
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
is-module@1.0.0:
|
||||
resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
|
||||
|
||||
is-number@7.0.0:
|
||||
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
|
||||
engines: {node: '>=0.12.0'}
|
||||
|
||||
is-path-inside@3.0.3:
|
||||
resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
is-plain-obj@4.1.0:
|
||||
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
is-reference@1.2.1:
|
||||
resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
|
||||
|
||||
is-reference@3.0.3:
|
||||
resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==}
|
||||
|
||||
isarray@1.0.0:
|
||||
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
|
||||
|
||||
isexe@2.0.0:
|
||||
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
||||
|
||||
jackspeak@3.4.3:
|
||||
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
|
||||
|
||||
jiti@1.21.7:
|
||||
resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==}
|
||||
jiti@2.5.1:
|
||||
resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==}
|
||||
hasBin: true
|
||||
|
||||
js-tokens@4.0.0:
|
||||
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
||||
|
||||
js-yaml@4.1.0:
|
||||
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
|
||||
hasBin: true
|
||||
|
||||
jsesc@3.1.0:
|
||||
resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
|
||||
engines: {node: '>=6'}
|
||||
hasBin: true
|
||||
|
||||
json-buffer@3.0.1:
|
||||
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
|
||||
|
||||
json-parse-even-better-errors@2.3.1:
|
||||
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
|
||||
|
||||
json-schema-traverse@0.4.1:
|
||||
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
|
||||
|
||||
json-stable-stringify-without-jsonify@1.0.1:
|
||||
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
|
||||
|
||||
json5@2.2.3:
|
||||
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
|
||||
engines: {node: '>=6'}
|
||||
hasBin: true
|
||||
|
||||
jszip@3.10.1:
|
||||
resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
|
||||
|
||||
keyv@4.5.4:
|
||||
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
|
||||
|
||||
@@ -1713,27 +951,81 @@ packages:
|
||||
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
known-css-properties@0.34.0:
|
||||
resolution: {integrity: sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==}
|
||||
known-css-properties@0.37.0:
|
||||
resolution: {integrity: sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==}
|
||||
|
||||
levn@0.4.1:
|
||||
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
|
||||
lie@3.3.0:
|
||||
resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
|
||||
lightningcss-darwin-arm64@1.30.1:
|
||||
resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
lightningcss-darwin-x64@1.30.1:
|
||||
resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
lightningcss-freebsd-x64@1.30.1:
|
||||
resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
lightningcss-linux-arm-gnueabihf@1.30.1:
|
||||
resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
lightningcss-linux-arm64-gnu@1.30.1:
|
||||
resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
lightningcss-linux-arm64-musl@1.30.1:
|
||||
resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
lightningcss-linux-x64-gnu@1.30.1:
|
||||
resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
lightningcss-linux-x64-musl@1.30.1:
|
||||
resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
lightningcss-win32-arm64-msvc@1.30.1:
|
||||
resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
lightningcss-win32-x64-msvc@1.30.1:
|
||||
resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
lightningcss@1.30.1:
|
||||
resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
|
||||
lilconfig@2.1.0:
|
||||
resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
lilconfig@3.1.3:
|
||||
resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
|
||||
engines: {node: '>=14'}
|
||||
|
||||
lines-and-columns@1.2.4:
|
||||
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
|
||||
|
||||
locate-character@3.0.0:
|
||||
resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
|
||||
|
||||
@@ -1741,91 +1033,14 @@ packages:
|
||||
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
lodash.castarray@4.4.0:
|
||||
resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==}
|
||||
|
||||
lodash.isplainobject@4.0.6:
|
||||
resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
|
||||
|
||||
lodash.merge@4.6.2:
|
||||
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
|
||||
|
||||
lodash@4.17.21:
|
||||
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
||||
|
||||
longest-streak@3.1.0:
|
||||
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
|
||||
|
||||
loupe@3.1.3:
|
||||
resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==}
|
||||
|
||||
lower-case@2.0.2:
|
||||
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
|
||||
|
||||
lru-cache@10.4.3:
|
||||
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
|
||||
|
||||
lru-cache@5.1.1:
|
||||
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
|
||||
|
||||
lucide-svelte@0.525.0:
|
||||
resolution: {integrity: sha512-kfuN6JcCqTfCz2B76aXnyGLAzEBRSYw5GaUspM5RNHQZS5aI5yaKu06fbaofOk8cDvUtY0AUm/zAix7aUX6Q3A==}
|
||||
peerDependencies:
|
||||
svelte: ^3 || ^4 || ^5.0.0-next.42
|
||||
|
||||
magic-string@0.30.17:
|
||||
resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
|
||||
|
||||
markdown-table@3.0.4:
|
||||
resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
|
||||
|
||||
mdast-util-find-and-replace@3.0.2:
|
||||
resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
|
||||
|
||||
mdast-util-from-markdown@2.0.2:
|
||||
resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==}
|
||||
|
||||
mdast-util-gfm-autolink-literal@2.0.1:
|
||||
resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
|
||||
|
||||
mdast-util-gfm-footnote@2.1.0:
|
||||
resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==}
|
||||
|
||||
mdast-util-gfm-strikethrough@2.0.0:
|
||||
resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
|
||||
|
||||
mdast-util-gfm-table@2.0.0:
|
||||
resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
|
||||
|
||||
mdast-util-gfm-task-list-item@2.0.0:
|
||||
resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
|
||||
|
||||
mdast-util-gfm@3.1.0:
|
||||
resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
|
||||
|
||||
mdast-util-phrasing@4.1.0:
|
||||
resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
|
||||
|
||||
mdast-util-to-hast@13.2.0:
|
||||
resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==}
|
||||
|
||||
mdast-util-to-markdown@2.1.2:
|
||||
resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
|
||||
|
||||
mdast-util-to-string@4.0.0:
|
||||
resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
|
||||
|
||||
mdn-data@2.0.28:
|
||||
resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
|
||||
|
||||
mdn-data@2.0.30:
|
||||
resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
|
||||
|
||||
mdn-data@2.12.2:
|
||||
resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
|
||||
|
||||
mdsvex@0.12.5:
|
||||
resolution: {integrity: sha512-JQy8CBbGF1IvpxZTmGJigRiD1s2BKfLKS9xCLPKngjHToY8WMYLZ8WFGRpuR6x4C4bxipSuLm2LctwL2fVXaEQ==}
|
||||
mdsvex@0.12.6:
|
||||
resolution: {integrity: sha512-pupx2gzWh3hDtm/iDW4WuCpljmyHbHi34r7ktOqpPGvyiM4MyfNgdJ3qMizXdgCErmvYC9Nn/qyjePy+4ss9Wg==}
|
||||
peerDependencies:
|
||||
svelte: ^3.56.0 || ^4.0.0 || ^5.0.0-next.120
|
||||
|
||||
@@ -1833,90 +1048,6 @@ packages:
|
||||
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
|
||||
engines: {node: '>= 8'}
|
||||
|
||||
micromark-core-commonmark@2.0.2:
|
||||
resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==}
|
||||
|
||||
micromark-extension-gfm-autolink-literal@2.1.0:
|
||||
resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
|
||||
|
||||
micromark-extension-gfm-footnote@2.1.0:
|
||||
resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
|
||||
|
||||
micromark-extension-gfm-strikethrough@2.1.0:
|
||||
resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
|
||||
|
||||
micromark-extension-gfm-table@2.1.1:
|
||||
resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==}
|
||||
|
||||
micromark-extension-gfm-tagfilter@2.0.0:
|
||||
resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
|
||||
|
||||
micromark-extension-gfm-task-list-item@2.1.0:
|
||||
resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
|
||||
|
||||
micromark-extension-gfm@3.0.0:
|
||||
resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
|
||||
|
||||
micromark-factory-destination@2.0.1:
|
||||
resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
|
||||
|
||||
micromark-factory-label@2.0.1:
|
||||
resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
|
||||
|
||||
micromark-factory-space@2.0.1:
|
||||
resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
|
||||
|
||||
micromark-factory-title@2.0.1:
|
||||
resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
|
||||
|
||||
micromark-factory-whitespace@2.0.1:
|
||||
resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
|
||||
|
||||
micromark-util-character@2.1.1:
|
||||
resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
|
||||
|
||||
micromark-util-chunked@2.0.1:
|
||||
resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
|
||||
|
||||
micromark-util-classify-character@2.0.1:
|
||||
resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
|
||||
|
||||
micromark-util-combine-extensions@2.0.1:
|
||||
resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
|
||||
|
||||
micromark-util-decode-numeric-character-reference@2.0.2:
|
||||
resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
|
||||
|
||||
micromark-util-decode-string@2.0.1:
|
||||
resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
|
||||
|
||||
micromark-util-encode@2.0.1:
|
||||
resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
|
||||
|
||||
micromark-util-html-tag-name@2.0.1:
|
||||
resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
|
||||
|
||||
micromark-util-normalize-identifier@2.0.1:
|
||||
resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
|
||||
|
||||
micromark-util-resolve-all@2.0.1:
|
||||
resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
|
||||
|
||||
micromark-util-sanitize-uri@2.0.1:
|
||||
resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
|
||||
|
||||
micromark-util-subtokenize@2.0.4:
|
||||
resolution: {integrity: sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==}
|
||||
|
||||
micromark-util-symbol@2.0.1:
|
||||
resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
|
||||
|
||||
micromark-util-types@2.0.1:
|
||||
resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==}
|
||||
|
||||
micromark@4.0.1:
|
||||
resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==}
|
||||
|
||||
micromatch@4.0.8:
|
||||
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
|
||||
engines: {node: '>=8.6'}
|
||||
@@ -1932,10 +1063,14 @@ packages:
|
||||
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
|
||||
engines: {node: '>=16 || 14 >=14.17'}
|
||||
|
||||
mode-watcher@0.5.1:
|
||||
resolution: {integrity: sha512-adEC6T7TMX/kzQlaO/MtiQOSFekZfQu4MC+lXyoceQG+U5sKpJWZ4yKXqw846ExIuWJgedkOIPqAYYRk/xHm+w==}
|
||||
peerDependencies:
|
||||
svelte: ^4.0.0 || ^5.0.0-next.1
|
||||
minizlib@3.0.2:
|
||||
resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==}
|
||||
engines: {node: '>= 18'}
|
||||
|
||||
mkdirp@3.0.1:
|
||||
resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==}
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
|
||||
mri@1.2.0:
|
||||
resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
|
||||
@@ -1948,53 +1083,14 @@ packages:
|
||||
ms@2.1.3:
|
||||
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||
|
||||
mz@2.7.0:
|
||||
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
|
||||
|
||||
nanoid@3.3.8:
|
||||
resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
|
||||
nanoid@3.3.11:
|
||||
resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
|
||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
||||
hasBin: true
|
||||
|
||||
nanoid@5.1.2:
|
||||
resolution: {integrity: sha512-b+CiXQCNMUGe0Ri64S9SXFcP9hogjAJ2Rd6GdVxhPLRm7mhGaM7VgOvCAJ1ZshfHbqVDI3uqTI5C8/GaKuLI7g==}
|
||||
engines: {node: ^18 || >=20}
|
||||
hasBin: true
|
||||
|
||||
natural-compare@1.4.0:
|
||||
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
|
||||
|
||||
no-case@3.0.4:
|
||||
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
|
||||
|
||||
node-releases@2.0.19:
|
||||
resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
|
||||
|
||||
normalize-path@3.0.0:
|
||||
resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
normalize-range@0.1.2:
|
||||
resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
nth-check@2.1.1:
|
||||
resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
|
||||
|
||||
object-assign@4.1.1:
|
||||
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
object-hash@3.0.0:
|
||||
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
oniguruma-parser@0.12.1:
|
||||
resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==}
|
||||
|
||||
oniguruma-to-es@4.3.3:
|
||||
resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==}
|
||||
|
||||
optionator@0.9.4:
|
||||
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
@@ -2007,26 +1103,10 @@ packages:
|
||||
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
package-json-from-dist@1.0.1:
|
||||
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
|
||||
|
||||
pako@1.0.11:
|
||||
resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
|
||||
|
||||
parent-module@1.0.1:
|
||||
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
parse-json@5.2.0:
|
||||
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
parse-numeric-range@1.3.0:
|
||||
resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==}
|
||||
|
||||
parse5@7.2.1:
|
||||
resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==}
|
||||
|
||||
path-exists@4.0.0:
|
||||
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -2035,27 +1115,6 @@ packages:
|
||||
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
path-parse@1.0.7:
|
||||
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
||||
|
||||
path-scurry@1.11.1:
|
||||
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
|
||||
engines: {node: '>=16 || 14 >=14.18'}
|
||||
|
||||
path-type@4.0.0:
|
||||
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
pathe@1.1.2:
|
||||
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
|
||||
|
||||
pathval@2.0.0:
|
||||
resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
|
||||
engines: {node: '>= 14.16'}
|
||||
|
||||
periscopic@3.1.0:
|
||||
resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
|
||||
|
||||
picocolors@1.1.1:
|
||||
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
|
||||
|
||||
@@ -2063,30 +1122,10 @@ packages:
|
||||
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
|
||||
engines: {node: '>=8.6'}
|
||||
|
||||
picomatch@4.0.2:
|
||||
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
|
||||
picomatch@4.0.3:
|
||||
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
pify@2.3.0:
|
||||
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
pirates@4.0.6:
|
||||
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
postcss-import@15.1.0:
|
||||
resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
peerDependencies:
|
||||
postcss: ^8.0.0
|
||||
|
||||
postcss-js@4.0.1:
|
||||
resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
|
||||
engines: {node: ^12 || ^14 || >= 16}
|
||||
peerDependencies:
|
||||
postcss: ^8.4.21
|
||||
|
||||
postcss-load-config@3.1.4:
|
||||
resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
|
||||
engines: {node: '>= 10'}
|
||||
@@ -2099,29 +1138,11 @@ packages:
|
||||
ts-node:
|
||||
optional: true
|
||||
|
||||
postcss-load-config@4.0.2:
|
||||
resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
|
||||
engines: {node: '>= 14'}
|
||||
postcss-safe-parser@7.0.1:
|
||||
resolution: {integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==}
|
||||
engines: {node: '>=18.0'}
|
||||
peerDependencies:
|
||||
postcss: '>=8.0.9'
|
||||
ts-node: '>=9.0.0'
|
||||
peerDependenciesMeta:
|
||||
postcss:
|
||||
optional: true
|
||||
ts-node:
|
||||
optional: true
|
||||
|
||||
postcss-nested@6.2.0:
|
||||
resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
|
||||
engines: {node: '>=12.0'}
|
||||
peerDependencies:
|
||||
postcss: ^8.2.14
|
||||
|
||||
postcss-safe-parser@6.0.0:
|
||||
resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
|
||||
engines: {node: '>=12.0'}
|
||||
peerDependencies:
|
||||
postcss: ^8.3.3
|
||||
postcss: ^8.4.31
|
||||
|
||||
postcss-scss@4.0.9:
|
||||
resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==}
|
||||
@@ -2129,40 +1150,35 @@ packages:
|
||||
peerDependencies:
|
||||
postcss: ^8.4.29
|
||||
|
||||
postcss-selector-parser@6.0.10:
|
||||
resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
|
||||
postcss-selector-parser@7.1.0:
|
||||
resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
postcss-selector-parser@6.1.2:
|
||||
resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
postcss-value-parser@4.2.0:
|
||||
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
|
||||
|
||||
postcss@8.5.3:
|
||||
resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
|
||||
postcss@8.5.6:
|
||||
resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
|
||||
prelude-ls@1.2.1:
|
||||
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
|
||||
prettier-plugin-svelte@3.2.6:
|
||||
resolution: {integrity: sha512-Y1XWLw7vXUQQZmgv1JAEiLcErqUniAF2wO7QJsw8BVMvpLET2dI5WpEIEJx1r11iHVdSMzQxivyfrH9On9t2IQ==}
|
||||
prettier-plugin-svelte@3.4.0:
|
||||
resolution: {integrity: sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==}
|
||||
peerDependencies:
|
||||
prettier: ^3.0.0
|
||||
svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
|
||||
|
||||
prettier-plugin-tailwindcss@0.6.6:
|
||||
resolution: {integrity: sha512-OPva5S7WAsPLEsOuOWXATi13QrCKACCiIonFgIR6V4lYv4QLp++UXVhZSzRbZxXGimkQtQT86CC6fQqTOybGng==}
|
||||
prettier-plugin-tailwindcss@0.6.14:
|
||||
resolution: {integrity: sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==}
|
||||
engines: {node: '>=14.21.3'}
|
||||
peerDependencies:
|
||||
'@ianvs/prettier-plugin-sort-imports': '*'
|
||||
'@prettier/plugin-hermes': '*'
|
||||
'@prettier/plugin-oxc': '*'
|
||||
'@prettier/plugin-pug': '*'
|
||||
'@shopify/prettier-plugin-liquid': '*'
|
||||
'@trivago/prettier-plugin-sort-imports': '*'
|
||||
'@zackad/prettier-plugin-twig-melody': '*'
|
||||
'@zackad/prettier-plugin-twig': '*'
|
||||
prettier: ^3.0
|
||||
prettier-plugin-astro: '*'
|
||||
prettier-plugin-css-order: '*'
|
||||
@@ -2178,13 +1194,17 @@ packages:
|
||||
peerDependenciesMeta:
|
||||
'@ianvs/prettier-plugin-sort-imports':
|
||||
optional: true
|
||||
'@prettier/plugin-hermes':
|
||||
optional: true
|
||||
'@prettier/plugin-oxc':
|
||||
optional: true
|
||||
'@prettier/plugin-pug':
|
||||
optional: true
|
||||
'@shopify/prettier-plugin-liquid':
|
||||
optional: true
|
||||
'@trivago/prettier-plugin-sort-imports':
|
||||
optional: true
|
||||
'@zackad/prettier-plugin-twig-melody':
|
||||
'@zackad/prettier-plugin-twig':
|
||||
optional: true
|
||||
prettier-plugin-astro:
|
||||
optional: true
|
||||
@@ -2209,24 +1229,18 @@ packages:
|
||||
prettier-plugin-svelte:
|
||||
optional: true
|
||||
|
||||
prettier@3.3.3:
|
||||
resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
|
||||
prettier@3.6.2:
|
||||
resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
|
||||
engines: {node: '>=14'}
|
||||
hasBin: true
|
||||
|
||||
prism-svelte@0.4.7:
|
||||
resolution: {integrity: sha512-yABh19CYbM24V7aS7TuPYRNMqthxwbvx6FF/Rw920YbyBWO3tnyPIqRMgHuSVsLmuHkkBS1Akyof463FVdkeDQ==}
|
||||
|
||||
prismjs@1.29.0:
|
||||
resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
|
||||
prismjs@1.30.0:
|
||||
resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
process-nextick-args@2.0.1:
|
||||
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
|
||||
|
||||
property-information@7.0.0:
|
||||
resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==}
|
||||
|
||||
punycode@2.3.1:
|
||||
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
|
||||
engines: {node: '>=6'}
|
||||
@@ -2234,112 +1248,38 @@ packages:
|
||||
queue-microtask@1.2.3:
|
||||
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
||||
|
||||
read-cache@1.0.0:
|
||||
resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
|
||||
|
||||
readable-stream@2.3.8:
|
||||
resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
|
||||
|
||||
readdirp@3.6.0:
|
||||
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
|
||||
engines: {node: '>=8.10.0'}
|
||||
|
||||
readdirp@4.1.2:
|
||||
resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
|
||||
engines: {node: '>= 14.18.0'}
|
||||
|
||||
regex-recursion@6.0.2:
|
||||
resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
|
||||
|
||||
regex-utilities@2.3.0:
|
||||
resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
|
||||
|
||||
regex@6.0.1:
|
||||
resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
|
||||
|
||||
rehype-autolink-headings@7.1.0:
|
||||
resolution: {integrity: sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw==}
|
||||
|
||||
rehype-parse@9.0.1:
|
||||
resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==}
|
||||
|
||||
rehype-pretty-code@0.12.6:
|
||||
resolution: {integrity: sha512-AW18s4eXwnb4PGwL0Y8BoUzBJr23epWNXndCKaZ52S4kl/4tsgM+406oCp5NdtPZsB0ItpaY+hCMv3kw58DLrA==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
shikiji: ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0
|
||||
|
||||
rehype-slug@6.0.0:
|
||||
resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==}
|
||||
|
||||
rehype-stringify@10.0.1:
|
||||
resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==}
|
||||
|
||||
remark-gfm@4.0.1:
|
||||
resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
|
||||
|
||||
remark-parse@11.0.0:
|
||||
resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
|
||||
|
||||
remark-rehype@11.1.1:
|
||||
resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==}
|
||||
|
||||
remark-stringify@11.0.0:
|
||||
resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
|
||||
|
||||
require-directory@2.1.1:
|
||||
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
resolve-from@4.0.0:
|
||||
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
resolve@1.22.10:
|
||||
resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
|
||||
engines: {node: '>= 0.4'}
|
||||
hasBin: true
|
||||
|
||||
reusify@1.1.0:
|
||||
resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
|
||||
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
|
||||
|
||||
rollup@4.34.8:
|
||||
resolution: {integrity: sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==}
|
||||
rollup@4.46.4:
|
||||
resolution: {integrity: sha512-YbxoxvoqNg9zAmw4+vzh1FkGAiZRK+LhnSrbSrSXMdZYsRPDWoshcSd/pldKRO6lWzv/e9TiJAVQyirYIeSIPQ==}
|
||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||
hasBin: true
|
||||
|
||||
run-parallel@1.2.0:
|
||||
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
|
||||
|
||||
rxjs@7.8.2:
|
||||
resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
|
||||
|
||||
sade@1.8.1:
|
||||
resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
safe-buffer@5.1.2:
|
||||
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
|
||||
|
||||
sax@1.4.1:
|
||||
resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
|
||||
|
||||
semver@6.3.1:
|
||||
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
|
||||
hasBin: true
|
||||
|
||||
semver@7.7.1:
|
||||
resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==}
|
||||
semver@7.7.2:
|
||||
resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
|
||||
set-cookie-parser@2.7.1:
|
||||
resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==}
|
||||
|
||||
setimmediate@1.0.5:
|
||||
resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
|
||||
|
||||
shebang-command@2.0.0:
|
||||
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -2348,187 +1288,57 @@ packages:
|
||||
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
shell-quote@1.8.2:
|
||||
resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
shiki@3.7.0:
|
||||
resolution: {integrity: sha512-ZcI4UT9n6N2pDuM2n3Jbk0sR4Swzq43nLPgS/4h0E3B/NrFn2HKElrDtceSf8Zx/OWYOo7G1SAtBLypCp+YXqg==}
|
||||
|
||||
shikiji-core@0.10.2:
|
||||
resolution: {integrity: sha512-9Of8HMlF96usXJHmCL3Gd0Fcf0EcyJUF9m8EoAKKd98mHXi0La2AZl1h6PegSFGtiYcBDK/fLuKbDa1l16r1fA==}
|
||||
deprecated: Deprecated, use @shikijs/core instead
|
||||
|
||||
shikiji@0.10.2:
|
||||
resolution: {integrity: sha512-wtZg3T0vtYV2PnqusWQs3mDaJBdCPWxFDrBM/SE5LfrX92gjUvfEMlc+vJnoKY6Z/S44OWaCRzNIsdBRWcTAiw==}
|
||||
deprecated: Deprecated, use shiki instead
|
||||
|
||||
siginfo@2.0.0:
|
||||
resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
|
||||
|
||||
signal-exit@4.1.0:
|
||||
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
|
||||
engines: {node: '>=14'}
|
||||
|
||||
sirv@2.0.4:
|
||||
resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
|
||||
engines: {node: '>= 10'}
|
||||
|
||||
snake-case@3.0.4:
|
||||
resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
|
||||
sirv@3.0.1:
|
||||
resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
source-map-js@1.2.1:
|
||||
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
space-separated-tokens@2.0.2:
|
||||
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
|
||||
|
||||
stackback@0.0.2:
|
||||
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
|
||||
|
||||
std-env@3.8.0:
|
||||
resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==}
|
||||
|
||||
string-width@4.2.3:
|
||||
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
string-width@5.1.2:
|
||||
resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
string_decoder@1.1.1:
|
||||
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
|
||||
|
||||
stringify-entities@4.0.4:
|
||||
resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
|
||||
|
||||
strip-ansi@6.0.1:
|
||||
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
strip-ansi@7.1.0:
|
||||
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
strip-json-comments@3.1.1:
|
||||
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
sucrase@3.35.0:
|
||||
resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
|
||||
engines: {node: '>=16 || 14 >=14.17'}
|
||||
hasBin: true
|
||||
|
||||
supports-color@7.2.0:
|
||||
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
supports-color@8.1.1:
|
||||
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
supports-preserve-symlinks-flag@1.0.0:
|
||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
svelte-check@4.0.9:
|
||||
resolution: {integrity: sha512-SVNCz2L+9ZELGli7G0n3B3QE5kdf0u27RtKr2ZivWQhcWIXatZxwM4VrQ6AiA2k9zKp2mk5AxkEhdjbpjv7rEw==}
|
||||
svelte-check@4.3.1:
|
||||
resolution: {integrity: sha512-lkh8gff5gpHLjxIV+IaApMxQhTGnir2pNUAqcNgeKkvK5bT/30Ey/nzBxNLDlkztCH4dP7PixkMt9SWEKFPBWg==}
|
||||
engines: {node: '>= 18.0.0'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
svelte: ^4.0.0 || ^5.0.0-next.0
|
||||
typescript: '>=5.0.0'
|
||||
|
||||
svelte-eslint-parser@0.41.1:
|
||||
resolution: {integrity: sha512-08ndI6zTghzI8SuJAFpvMbA/haPSGn3xz19pjre19yYMw8Nw/wQJ2PrZBI/L8ijGTgtkWCQQiLLy+Z1tfaCwNA==}
|
||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||
svelte-eslint-parser@1.3.1:
|
||||
resolution: {integrity: sha512-0Iztj5vcOVOVkhy1pbo5uA9r+d3yaVoE5XPc9eABIWDOSJZ2mOsZ4D+t45rphWCOr0uMw3jtSG2fh2e7GvKnPg==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.191
|
||||
svelte: ^3.37.0 || ^4.0.0 || ^5.0.0
|
||||
peerDependenciesMeta:
|
||||
svelte:
|
||||
optional: true
|
||||
|
||||
svelte-hmr@0.16.0:
|
||||
resolution: {integrity: sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==}
|
||||
engines: {node: ^12.20 || ^14.13.1 || >= 16}
|
||||
peerDependencies:
|
||||
svelte: ^3.19.0 || ^4.0.0
|
||||
svelte@5.38.2:
|
||||
resolution: {integrity: sha512-iAcp/oFAWauVSGILdD67n7DiwgLHXZzWZIdzl7araRxu72jUr7PFAo2Iie7gXt0IbnlYvhxCb9GT3ZJUquO3PA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
svelte-sonner@0.3.28:
|
||||
resolution: {integrity: sha512-K3AmlySeFifF/cKgsYNv5uXqMVNln0NBAacOYgmkQStLa/UoU0LhfAACU6Gr+YYC8bOCHdVmFNoKuDbMEsppJg==}
|
||||
peerDependencies:
|
||||
svelte: ^3.0.0 || ^4.0.0 || ^5.0.0-next.1
|
||||
tailwindcss@4.1.12:
|
||||
resolution: {integrity: sha512-DzFtxOi+7NsFf7DBtI3BJsynR+0Yp6etH+nRPTbpWnS2pZBaSksv/JGctNwSWzbFjp0vxSqknaUylseZqMDGrA==}
|
||||
|
||||
svelte@4.2.20:
|
||||
resolution: {integrity: sha512-eeEgGc2DtiUil5ANdtd8vPwt9AgaMdnuUFnPft9F5oMvU/FHu5IHFic+p1dR/UOB7XU2mX2yHW+NcTch4DCh5Q==}
|
||||
engines: {node: '>=16'}
|
||||
tapable@2.2.2:
|
||||
resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
sveltekit-search-params@3.0.0:
|
||||
resolution: {integrity: sha512-wq1Yo5zITev8ty9CWGmHgvAh+Xb3mCUewyUmvCdv6MJWi+/aZ4o79Y6SjuduDL0Cfd/KYHkqt4f/wQ4FtokSdw==}
|
||||
peerDependencies:
|
||||
'@sveltejs/kit': ^1.0.0 || ^2.0.0
|
||||
svelte: ^3.55.0 || ^4.0.0 || ^5.0.0
|
||||
tar@7.4.3:
|
||||
resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
svg-parser@2.0.4:
|
||||
resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==}
|
||||
|
||||
svgo@4.0.0:
|
||||
resolution: {integrity: sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==}
|
||||
engines: {node: '>=16'}
|
||||
hasBin: true
|
||||
|
||||
tabbable@6.2.0:
|
||||
resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==}
|
||||
|
||||
tailwind-merge@2.5.4:
|
||||
resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==}
|
||||
|
||||
tailwind-merge@2.6.0:
|
||||
resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==}
|
||||
|
||||
tailwind-variants@0.3.1:
|
||||
resolution: {integrity: sha512-krn67M3FpPwElg4FsZrOQd0U26o7UDH/QOkK8RNaiCCrr052f6YJPBUfNKnPo/s/xRzNPtv1Mldlxsg8Tb46BQ==}
|
||||
engines: {node: '>=16.x', pnpm: '>=7.x'}
|
||||
peerDependencies:
|
||||
tailwindcss: '*'
|
||||
|
||||
tailwindcss@3.4.17:
|
||||
resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
hasBin: true
|
||||
|
||||
text-table@0.2.0:
|
||||
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
||||
|
||||
thenify-all@1.6.0:
|
||||
resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
|
||||
engines: {node: '>=0.8'}
|
||||
|
||||
thenify@3.3.1:
|
||||
resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
|
||||
|
||||
tiny-glob@0.2.9:
|
||||
resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
|
||||
|
||||
tinybench@2.9.0:
|
||||
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
|
||||
|
||||
tinyexec@0.3.2:
|
||||
resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
|
||||
|
||||
tinypool@1.0.2:
|
||||
resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
|
||||
tinyrainbow@1.2.0:
|
||||
resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
|
||||
tinyspy@3.0.2:
|
||||
resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
tinyglobby@0.2.14:
|
||||
resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
|
||||
to-regex-range@5.0.1:
|
||||
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
|
||||
@@ -2538,130 +1348,70 @@ packages:
|
||||
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
tree-kill@1.2.2:
|
||||
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
|
||||
hasBin: true
|
||||
|
||||
trim-lines@3.0.1:
|
||||
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
|
||||
|
||||
trough@2.2.0:
|
||||
resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
|
||||
|
||||
ts-api-utils@1.4.3:
|
||||
resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==}
|
||||
engines: {node: '>=16'}
|
||||
ts-api-utils@2.1.0:
|
||||
resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
|
||||
engines: {node: '>=18.12'}
|
||||
peerDependencies:
|
||||
typescript: '>=4.2.0'
|
||||
|
||||
ts-interface-checker@0.1.13:
|
||||
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
|
||||
|
||||
tslib@2.7.0:
|
||||
resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
|
||||
|
||||
tslib@2.8.1:
|
||||
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
|
||||
typescript: '>=4.8.4'
|
||||
|
||||
type-check@0.4.0:
|
||||
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
|
||||
typescript-eslint@8.6.0:
|
||||
resolution: {integrity: sha512-eEhhlxCEpCd4helh3AO1hk0UP2MvbRi9CtIAJTVPQjuSXOOO2jsEacNi4UdcJzZJbeuVg1gMhtZ8UYb+NFYPrA==}
|
||||
typescript-eslint@8.40.0:
|
||||
resolution: {integrity: sha512-Xvd2l+ZmFDPEt4oj1QEXzA4A2uUK6opvKu3eGN9aGjB8au02lIVcLyi375w94hHyejTOmzIU77L8ol2sRg9n7Q==}
|
||||
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
typescript: '>=4.8.4 <6.0.0'
|
||||
|
||||
typescript@5.6.2:
|
||||
resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==}
|
||||
typescript@5.9.2:
|
||||
resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==}
|
||||
engines: {node: '>=14.17'}
|
||||
hasBin: true
|
||||
|
||||
uncrypto@0.1.3:
|
||||
resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
|
||||
|
||||
undici-types@6.19.8:
|
||||
resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
|
||||
|
||||
unified@11.0.5:
|
||||
resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
|
||||
|
||||
unist-util-is@4.1.0:
|
||||
resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==}
|
||||
|
||||
unist-util-is@6.0.0:
|
||||
resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
|
||||
|
||||
unist-util-position@5.0.0:
|
||||
resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
|
||||
|
||||
unist-util-stringify-position@2.0.3:
|
||||
resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
|
||||
|
||||
unist-util-stringify-position@4.0.0:
|
||||
resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
|
||||
|
||||
unist-util-visit-parents@3.1.1:
|
||||
resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==}
|
||||
|
||||
unist-util-visit-parents@6.0.1:
|
||||
resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
|
||||
|
||||
unist-util-visit@2.0.3:
|
||||
resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==}
|
||||
|
||||
unist-util-visit@5.0.0:
|
||||
resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
|
||||
|
||||
update-browserslist-db@1.1.2:
|
||||
resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
browserslist: '>= 4.21.0'
|
||||
|
||||
uri-js@4.4.1:
|
||||
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
|
||||
|
||||
util-deprecate@1.0.2:
|
||||
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
||||
|
||||
vfile-location@5.0.3:
|
||||
resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==}
|
||||
|
||||
vfile-message@2.0.4:
|
||||
resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==}
|
||||
|
||||
vfile-message@4.0.2:
|
||||
resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
|
||||
|
||||
vfile@6.0.3:
|
||||
resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
|
||||
|
||||
vite-node@2.1.1:
|
||||
resolution: {integrity: sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
|
||||
vite@5.4.7:
|
||||
resolution: {integrity: sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
vite@7.1.3:
|
||||
resolution: {integrity: sha512-OOUi5zjkDxYrKhTV3V7iKsoS37VUM7v40+HuwEmcrsf11Cdx9y3DIr2Px6liIcZFwt3XSRpQvFpL3WVy7ApkGw==}
|
||||
engines: {node: ^20.19.0 || >=22.12.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@types/node': ^18.0.0 || >=20.0.0
|
||||
less: '*'
|
||||
'@types/node': ^20.19.0 || >=22.12.0
|
||||
jiti: '>=1.21.0'
|
||||
less: ^4.0.0
|
||||
lightningcss: ^1.21.0
|
||||
sass: '*'
|
||||
sass-embedded: '*'
|
||||
stylus: '*'
|
||||
sugarss: '*'
|
||||
terser: ^5.4.0
|
||||
sass: ^1.70.0
|
||||
sass-embedded: ^1.70.0
|
||||
stylus: '>=0.54.8'
|
||||
sugarss: ^5.0.0
|
||||
terser: ^5.16.0
|
||||
tsx: ^4.8.1
|
||||
yaml: ^2.4.2
|
||||
peerDependenciesMeta:
|
||||
'@types/node':
|
||||
optional: true
|
||||
jiti:
|
||||
optional: true
|
||||
less:
|
||||
optional: true
|
||||
lightningcss:
|
||||
@@ -2676,368 +1426,153 @@ packages:
|
||||
optional: true
|
||||
terser:
|
||||
optional: true
|
||||
tsx:
|
||||
optional: true
|
||||
yaml:
|
||||
optional: true
|
||||
|
||||
vitefu@0.2.5:
|
||||
resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==}
|
||||
vitefu@1.1.1:
|
||||
resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==}
|
||||
peerDependencies:
|
||||
vite: ^3.0.0 || ^4.0.0 || ^5.0.0
|
||||
vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0
|
||||
peerDependenciesMeta:
|
||||
vite:
|
||||
optional: true
|
||||
|
||||
vitest@2.1.1:
|
||||
resolution: {integrity: sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@edge-runtime/vm': '*'
|
||||
'@types/node': ^18.0.0 || >=20.0.0
|
||||
'@vitest/browser': 2.1.1
|
||||
'@vitest/ui': 2.1.1
|
||||
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
|
||||
|
||||
web-namespaces@2.0.1:
|
||||
resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
|
||||
|
||||
which@2.0.2:
|
||||
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
|
||||
engines: {node: '>= 8'}
|
||||
hasBin: true
|
||||
|
||||
why-is-node-running@2.3.0:
|
||||
resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
|
||||
engines: {node: '>=8'}
|
||||
hasBin: true
|
||||
|
||||
word-wrap@1.2.5:
|
||||
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
wrap-ansi@7.0.0:
|
||||
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
wrap-ansi@8.1.0:
|
||||
resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
y18n@5.0.8:
|
||||
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
yallist@3.1.1:
|
||||
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
|
||||
yallist@5.0.0:
|
||||
resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
yaml@1.10.2:
|
||||
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
yaml@2.7.0:
|
||||
resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==}
|
||||
engines: {node: '>= 14'}
|
||||
hasBin: true
|
||||
|
||||
yargs-parser@21.1.1:
|
||||
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
yargs@17.7.2:
|
||||
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
yocto-queue@0.1.0:
|
||||
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
zwitch@2.0.4:
|
||||
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
|
||||
zimmerframe@1.1.2:
|
||||
resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==}
|
||||
|
||||
snapshots:
|
||||
|
||||
'@alloc/quick-lru@5.2.0': {}
|
||||
'@esbuild/aix-ppc64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@ampproject/remapping@2.3.0':
|
||||
'@esbuild/android-arm64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-x64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-arm64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-x64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-arm64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-x64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ia32@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-loong64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-mips64el@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ppc64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-riscv64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-s390x@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-x64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-arm64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-x64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-arm64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-x64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openharmony-arm64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/sunos-x64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-arm64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-ia32@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-x64@0.25.9':
|
||||
optional: true
|
||||
|
||||
'@eslint-community/eslint-utils@4.7.0(eslint@9.33.0(jiti@2.5.1))':
|
||||
dependencies:
|
||||
'@jridgewell/gen-mapping': 0.3.8
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
|
||||
'@babel/code-frame@7.26.2':
|
||||
dependencies:
|
||||
'@babel/helper-validator-identifier': 7.25.9
|
||||
js-tokens: 4.0.0
|
||||
picocolors: 1.1.1
|
||||
|
||||
'@babel/compat-data@7.26.8': {}
|
||||
|
||||
'@babel/core@7.26.9':
|
||||
dependencies:
|
||||
'@ampproject/remapping': 2.3.0
|
||||
'@babel/code-frame': 7.26.2
|
||||
'@babel/generator': 7.26.9
|
||||
'@babel/helper-compilation-targets': 7.26.5
|
||||
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9)
|
||||
'@babel/helpers': 7.26.9
|
||||
'@babel/parser': 7.26.9
|
||||
'@babel/template': 7.26.9
|
||||
'@babel/traverse': 7.26.9
|
||||
'@babel/types': 7.26.9
|
||||
convert-source-map: 2.0.0
|
||||
debug: 4.4.0
|
||||
gensync: 1.0.0-beta.2
|
||||
json5: 2.2.3
|
||||
semver: 6.3.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@babel/generator@7.26.9':
|
||||
dependencies:
|
||||
'@babel/parser': 7.26.9
|
||||
'@babel/types': 7.26.9
|
||||
'@jridgewell/gen-mapping': 0.3.8
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
jsesc: 3.1.0
|
||||
|
||||
'@babel/helper-compilation-targets@7.26.5':
|
||||
dependencies:
|
||||
'@babel/compat-data': 7.26.8
|
||||
'@babel/helper-validator-option': 7.25.9
|
||||
browserslist: 4.24.4
|
||||
lru-cache: 5.1.1
|
||||
semver: 6.3.1
|
||||
|
||||
'@babel/helper-module-imports@7.25.9':
|
||||
dependencies:
|
||||
'@babel/traverse': 7.26.9
|
||||
'@babel/types': 7.26.9
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@babel/helper-module-transforms@7.26.0(@babel/core@7.26.9)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@babel/helper-module-imports': 7.25.9
|
||||
'@babel/helper-validator-identifier': 7.25.9
|
||||
'@babel/traverse': 7.26.9
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@babel/helper-string-parser@7.25.9': {}
|
||||
|
||||
'@babel/helper-validator-identifier@7.25.9': {}
|
||||
|
||||
'@babel/helper-validator-option@7.25.9': {}
|
||||
|
||||
'@babel/helpers@7.26.9':
|
||||
dependencies:
|
||||
'@babel/template': 7.26.9
|
||||
'@babel/types': 7.26.9
|
||||
|
||||
'@babel/parser@7.26.9':
|
||||
dependencies:
|
||||
'@babel/types': 7.26.9
|
||||
|
||||
'@babel/template@7.26.9':
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.26.2
|
||||
'@babel/parser': 7.26.9
|
||||
'@babel/types': 7.26.9
|
||||
|
||||
'@babel/traverse@7.26.9':
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.26.2
|
||||
'@babel/generator': 7.26.9
|
||||
'@babel/parser': 7.26.9
|
||||
'@babel/template': 7.26.9
|
||||
'@babel/types': 7.26.9
|
||||
debug: 4.4.0
|
||||
globals: 11.12.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@babel/types@7.26.9':
|
||||
dependencies:
|
||||
'@babel/helper-string-parser': 7.25.9
|
||||
'@babel/helper-validator-identifier': 7.25.9
|
||||
|
||||
'@esbuild/aix-ppc64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/aix-ppc64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-arm@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-x64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/android-x64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-arm64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-arm64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-x64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/darwin-x64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-arm64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-arm64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-x64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/freebsd-x64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-arm@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ia32@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ia32@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-loong64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-loong64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-mips64el@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-mips64el@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ppc64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-ppc64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-riscv64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-riscv64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-s390x@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-s390x@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-x64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/linux-x64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-x64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/netbsd-x64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-arm64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-x64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/openbsd-x64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/sunos-x64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/sunos-x64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-arm64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-arm64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-ia32@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-ia32@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-x64@0.21.5':
|
||||
optional: true
|
||||
|
||||
'@esbuild/win32-x64@0.24.0':
|
||||
optional: true
|
||||
|
||||
'@eslint-community/eslint-utils@4.4.1(eslint@9.11.0(jiti@1.21.7))':
|
||||
dependencies:
|
||||
eslint: 9.11.0(jiti@1.21.7)
|
||||
eslint: 9.33.0(jiti@2.5.1)
|
||||
eslint-visitor-keys: 3.4.3
|
||||
|
||||
'@eslint-community/regexpp@4.12.1': {}
|
||||
|
||||
'@eslint/config-array@0.18.0':
|
||||
'@eslint/compat@1.3.2(eslint@9.33.0(jiti@2.5.1))':
|
||||
optionalDependencies:
|
||||
eslint: 9.33.0(jiti@2.5.1)
|
||||
|
||||
'@eslint/config-array@0.21.0':
|
||||
dependencies:
|
||||
'@eslint/object-schema': 2.1.6
|
||||
debug: 4.4.0
|
||||
debug: 4.4.1
|
||||
minimatch: 3.1.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@eslint/core@0.12.0':
|
||||
'@eslint/config-helpers@0.3.1': {}
|
||||
|
||||
'@eslint/core@0.15.2':
|
||||
dependencies:
|
||||
'@types/json-schema': 7.0.15
|
||||
|
||||
'@eslint/eslintrc@3.3.0':
|
||||
'@eslint/eslintrc@3.3.1':
|
||||
dependencies:
|
||||
ajv: 6.12.6
|
||||
debug: 4.4.0
|
||||
espree: 10.3.0
|
||||
debug: 4.4.1
|
||||
espree: 10.4.0
|
||||
globals: 14.0.0
|
||||
ignore: 5.3.2
|
||||
import-fresh: 3.3.1
|
||||
@@ -3047,71 +1582,50 @@ snapshots:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@eslint/js@9.11.0': {}
|
||||
'@eslint/js@9.33.0': {}
|
||||
|
||||
'@eslint/object-schema@2.1.6': {}
|
||||
|
||||
'@eslint/plugin-kit@0.2.7':
|
||||
'@eslint/plugin-kit@0.3.5':
|
||||
dependencies:
|
||||
'@eslint/core': 0.12.0
|
||||
'@eslint/core': 0.15.2
|
||||
levn: 0.4.1
|
||||
|
||||
'@figma/plugin-typings@1.115.0': {}
|
||||
'@humanfs/core@0.19.1': {}
|
||||
|
||||
'@floating-ui/core@1.6.9':
|
||||
'@humanfs/node@0.16.6':
|
||||
dependencies:
|
||||
'@floating-ui/utils': 0.2.9
|
||||
|
||||
'@floating-ui/dom@1.6.13':
|
||||
dependencies:
|
||||
'@floating-ui/core': 1.6.9
|
||||
'@floating-ui/utils': 0.2.9
|
||||
|
||||
'@floating-ui/utils@0.2.9': {}
|
||||
'@humanfs/core': 0.19.1
|
||||
'@humanwhocodes/retry': 0.3.1
|
||||
|
||||
'@humanwhocodes/module-importer@1.0.1': {}
|
||||
|
||||
'@humanwhocodes/retry@0.3.1': {}
|
||||
|
||||
'@internationalized/date@3.7.0':
|
||||
dependencies:
|
||||
'@swc/helpers': 0.5.15
|
||||
'@humanwhocodes/retry@0.4.3': {}
|
||||
|
||||
'@isaacs/cliui@8.0.2':
|
||||
'@isaacs/fs-minipass@4.0.1':
|
||||
dependencies:
|
||||
string-width: 5.1.2
|
||||
string-width-cjs: string-width@4.2.3
|
||||
strip-ansi: 7.1.0
|
||||
strip-ansi-cjs: strip-ansi@6.0.1
|
||||
wrap-ansi: 8.1.0
|
||||
wrap-ansi-cjs: wrap-ansi@7.0.0
|
||||
minipass: 7.1.2
|
||||
|
||||
'@jridgewell/gen-mapping@0.3.8':
|
||||
'@jridgewell/gen-mapping@0.3.13':
|
||||
dependencies:
|
||||
'@jridgewell/set-array': 1.2.1
|
||||
'@jridgewell/sourcemap-codec': 1.5.0
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
'@jridgewell/sourcemap-codec': 1.5.5
|
||||
'@jridgewell/trace-mapping': 0.3.30
|
||||
|
||||
'@jridgewell/remapping@2.3.5':
|
||||
dependencies:
|
||||
'@jridgewell/gen-mapping': 0.3.13
|
||||
'@jridgewell/trace-mapping': 0.3.30
|
||||
|
||||
'@jridgewell/resolve-uri@3.1.2': {}
|
||||
|
||||
'@jridgewell/set-array@1.2.1': {}
|
||||
'@jridgewell/sourcemap-codec@1.5.5': {}
|
||||
|
||||
'@jridgewell/sourcemap-codec@1.5.0': {}
|
||||
|
||||
'@jridgewell/trace-mapping@0.3.25':
|
||||
'@jridgewell/trace-mapping@0.3.30':
|
||||
dependencies:
|
||||
'@jridgewell/resolve-uri': 3.1.2
|
||||
'@jridgewell/sourcemap-codec': 1.5.0
|
||||
|
||||
'@melt-ui/svelte@0.76.2(svelte@4.2.20)':
|
||||
dependencies:
|
||||
'@floating-ui/core': 1.6.9
|
||||
'@floating-ui/dom': 1.6.13
|
||||
'@internationalized/date': 3.7.0
|
||||
dequal: 2.0.3
|
||||
focus-trap: 7.6.4
|
||||
nanoid: 5.1.2
|
||||
svelte: 4.2.20
|
||||
'@jridgewell/sourcemap-codec': 1.5.5
|
||||
|
||||
'@nodelib/fs.scandir@2.1.5':
|
||||
dependencies:
|
||||
@@ -3123,468 +1637,302 @@ snapshots:
|
||||
'@nodelib/fs.walk@1.2.8':
|
||||
dependencies:
|
||||
'@nodelib/fs.scandir': 2.1.5
|
||||
fastq: 1.19.0
|
||||
fastq: 1.19.1
|
||||
|
||||
'@pkgjs/parseargs@0.11.0':
|
||||
'@polka/url@1.0.0-next.29': {}
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@polka/url@1.0.0-next.28': {}
|
||||
'@rollup/rollup-android-arm64@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/plugin-commonjs@28.0.2(rollup@4.34.8)':
|
||||
'@rollup/rollup-darwin-arm64@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-darwin-x64@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-arm64@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-x64@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-ppc64-gnu@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-riscv64-musl@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-ia32-msvc@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-x64-msvc@4.46.4':
|
||||
optional: true
|
||||
|
||||
'@standard-schema/spec@1.0.0': {}
|
||||
|
||||
'@sveltejs/acorn-typescript@1.0.5(acorn@8.15.0)':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.4(rollup@4.34.8)
|
||||
commondir: 1.0.1
|
||||
estree-walker: 2.0.2
|
||||
fdir: 6.4.3(picomatch@4.0.2)
|
||||
is-reference: 1.2.1
|
||||
magic-string: 0.30.17
|
||||
picomatch: 4.0.2
|
||||
optionalDependencies:
|
||||
rollup: 4.34.8
|
||||
acorn: 8.15.0
|
||||
|
||||
'@rollup/plugin-json@6.1.0(rollup@4.34.8)':
|
||||
'@sveltejs/adapter-auto@6.1.0(@sveltejs/kit@2.36.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1)))(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1)))':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.4(rollup@4.34.8)
|
||||
optionalDependencies:
|
||||
rollup: 4.34.8
|
||||
'@sveltejs/kit': 2.36.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1)))(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1))
|
||||
|
||||
'@rollup/plugin-node-resolve@15.3.1(rollup@4.34.8)':
|
||||
'@sveltejs/kit@2.36.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1)))(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1))':
|
||||
dependencies:
|
||||
'@rollup/pluginutils': 5.1.4(rollup@4.34.8)
|
||||
'@types/resolve': 1.20.2
|
||||
deepmerge: 4.3.1
|
||||
is-module: 1.0.0
|
||||
resolve: 1.22.10
|
||||
optionalDependencies:
|
||||
rollup: 4.34.8
|
||||
|
||||
'@rollup/pluginutils@5.1.4(rollup@4.34.8)':
|
||||
dependencies:
|
||||
'@types/estree': 1.0.6
|
||||
estree-walker: 2.0.2
|
||||
picomatch: 4.0.2
|
||||
optionalDependencies:
|
||||
rollup: 4.34.8
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-android-arm64@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-darwin-arm64@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-darwin-x64@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-arm64@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-x64@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-loongarch64-gnu@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-powerpc64le-gnu@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-ia32-msvc@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-x64-msvc@4.34.8':
|
||||
optional: true
|
||||
|
||||
'@shikijs/core@3.7.0':
|
||||
dependencies:
|
||||
'@shikijs/types': 3.7.0
|
||||
'@shikijs/vscode-textmate': 10.0.2
|
||||
'@types/hast': 3.0.4
|
||||
hast-util-to-html: 9.0.5
|
||||
|
||||
'@shikijs/engine-javascript@3.7.0':
|
||||
dependencies:
|
||||
'@shikijs/types': 3.7.0
|
||||
'@shikijs/vscode-textmate': 10.0.2
|
||||
oniguruma-to-es: 4.3.3
|
||||
|
||||
'@shikijs/engine-oniguruma@3.7.0':
|
||||
dependencies:
|
||||
'@shikijs/types': 3.7.0
|
||||
'@shikijs/vscode-textmate': 10.0.2
|
||||
|
||||
'@shikijs/langs@3.7.0':
|
||||
dependencies:
|
||||
'@shikijs/types': 3.7.0
|
||||
|
||||
'@shikijs/themes@3.7.0':
|
||||
dependencies:
|
||||
'@shikijs/types': 3.7.0
|
||||
|
||||
'@shikijs/types@3.7.0':
|
||||
dependencies:
|
||||
'@shikijs/vscode-textmate': 10.0.2
|
||||
'@types/hast': 3.0.4
|
||||
|
||||
'@shikijs/vscode-textmate@10.0.2': {}
|
||||
|
||||
'@svelte-dev/pretty-code@1.0.0(shikiji@0.10.2)':
|
||||
dependencies:
|
||||
rehype-pretty-code: 0.12.6(shikiji@0.10.2)
|
||||
rehype-stringify: 10.0.1
|
||||
remark-parse: 11.0.0
|
||||
remark-rehype: 11.1.1
|
||||
unified: 11.0.5
|
||||
transitivePeerDependencies:
|
||||
- shikiji
|
||||
- supports-color
|
||||
|
||||
'@sveltejs/adapter-auto@3.2.5(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))':
|
||||
dependencies:
|
||||
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5))
|
||||
import-meta-resolve: 4.1.0
|
||||
|
||||
'@sveltejs/adapter-node@5.2.5(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))':
|
||||
dependencies:
|
||||
'@rollup/plugin-commonjs': 28.0.2(rollup@4.34.8)
|
||||
'@rollup/plugin-json': 6.1.0(rollup@4.34.8)
|
||||
'@rollup/plugin-node-resolve': 15.3.1(rollup@4.34.8)
|
||||
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5))
|
||||
rollup: 4.34.8
|
||||
|
||||
'@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5))':
|
||||
dependencies:
|
||||
'@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5))
|
||||
'@standard-schema/spec': 1.0.0
|
||||
'@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0)
|
||||
'@sveltejs/vite-plugin-svelte': 6.1.3(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1))
|
||||
'@types/cookie': 0.6.0
|
||||
acorn: 8.15.0
|
||||
cookie: 0.6.0
|
||||
devalue: 5.1.1
|
||||
esm-env: 1.2.2
|
||||
import-meta-resolve: 4.1.0
|
||||
kleur: 4.1.5
|
||||
magic-string: 0.30.17
|
||||
mrmime: 2.0.1
|
||||
sade: 1.8.1
|
||||
set-cookie-parser: 2.7.1
|
||||
sirv: 2.0.4
|
||||
svelte: 4.2.20
|
||||
tiny-glob: 0.2.9
|
||||
vite: 5.4.7(@types/node@22.5.5)
|
||||
sirv: 3.0.1
|
||||
svelte: 5.38.2
|
||||
vite: 7.1.3(jiti@2.5.1)(lightningcss@1.30.1)
|
||||
|
||||
'@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5))':
|
||||
'@sveltejs/vite-plugin-svelte-inspector@5.0.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1)))(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1))':
|
||||
dependencies:
|
||||
'@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5))
|
||||
debug: 4.4.0
|
||||
svelte: 4.2.20
|
||||
vite: 5.4.7(@types/node@22.5.5)
|
||||
'@sveltejs/vite-plugin-svelte': 6.1.3(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1))
|
||||
debug: 4.4.1
|
||||
svelte: 5.38.2
|
||||
vite: 7.1.3(jiti@2.5.1)(lightningcss@1.30.1)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5))':
|
||||
'@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1))':
|
||||
dependencies:
|
||||
'@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5))
|
||||
debug: 4.4.0
|
||||
'@sveltejs/vite-plugin-svelte-inspector': 5.0.1(@sveltejs/vite-plugin-svelte@6.1.3(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1)))(svelte@5.38.2)(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1))
|
||||
debug: 4.4.1
|
||||
deepmerge: 4.3.1
|
||||
kleur: 4.1.5
|
||||
magic-string: 0.30.17
|
||||
svelte: 4.2.20
|
||||
svelte-hmr: 0.16.0(svelte@4.2.20)
|
||||
vite: 5.4.7(@types/node@22.5.5)
|
||||
vitefu: 0.2.5(vite@5.4.7(@types/node@22.5.5))
|
||||
svelte: 5.38.2
|
||||
vite: 7.1.3(jiti@2.5.1)(lightningcss@1.30.1)
|
||||
vitefu: 1.1.1(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1))
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.26.9)':
|
||||
'@tailwindcss/node@4.1.12':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@jridgewell/remapping': 2.3.5
|
||||
enhanced-resolve: 5.18.3
|
||||
jiti: 2.5.1
|
||||
lightningcss: 1.30.1
|
||||
magic-string: 0.30.17
|
||||
source-map-js: 1.2.1
|
||||
tailwindcss: 4.1.12
|
||||
|
||||
'@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.26.9)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@tailwindcss/oxide-android-arm64@4.1.12':
|
||||
optional: true
|
||||
|
||||
'@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.26.9)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@tailwindcss/oxide-darwin-arm64@4.1.12':
|
||||
optional: true
|
||||
|
||||
'@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.26.9)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@tailwindcss/oxide-darwin-x64@4.1.12':
|
||||
optional: true
|
||||
|
||||
'@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.26.9)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@tailwindcss/oxide-freebsd-x64@4.1.12':
|
||||
optional: true
|
||||
|
||||
'@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.26.9)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.12':
|
||||
optional: true
|
||||
|
||||
'@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.26.9)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@tailwindcss/oxide-linux-arm64-gnu@4.1.12':
|
||||
optional: true
|
||||
|
||||
'@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.26.9)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@tailwindcss/oxide-linux-arm64-musl@4.1.12':
|
||||
optional: true
|
||||
|
||||
'@svgr/babel-preset@8.1.0(@babel/core@7.26.9)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.26.9)
|
||||
'@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.26.9)
|
||||
'@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.26.9)
|
||||
'@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.26.9)
|
||||
'@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.26.9)
|
||||
'@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.26.9)
|
||||
'@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.26.9)
|
||||
'@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.26.9)
|
||||
'@tailwindcss/oxide-linux-x64-gnu@4.1.12':
|
||||
optional: true
|
||||
|
||||
'@svgr/core@8.1.0(typescript@5.6.2)':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@svgr/babel-preset': 8.1.0(@babel/core@7.26.9)
|
||||
camelcase: 6.3.0
|
||||
cosmiconfig: 8.3.6(typescript@5.6.2)
|
||||
snake-case: 3.0.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
'@tailwindcss/oxide-linux-x64-musl@4.1.12':
|
||||
optional: true
|
||||
|
||||
'@svgr/hast-util-to-babel-ast@8.0.0':
|
||||
dependencies:
|
||||
'@babel/types': 7.26.9
|
||||
entities: 4.5.0
|
||||
'@tailwindcss/oxide-wasm32-wasi@4.1.12':
|
||||
optional: true
|
||||
|
||||
'@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.6.2))':
|
||||
dependencies:
|
||||
'@babel/core': 7.26.9
|
||||
'@svgr/babel-preset': 8.1.0(@babel/core@7.26.9)
|
||||
'@svgr/core': 8.1.0(typescript@5.6.2)
|
||||
'@svgr/hast-util-to-babel-ast': 8.0.0
|
||||
svg-parser: 2.0.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
'@tailwindcss/oxide-win32-arm64-msvc@4.1.12':
|
||||
optional: true
|
||||
|
||||
'@swc/helpers@0.5.15':
|
||||
dependencies:
|
||||
tslib: 2.8.1
|
||||
'@tailwindcss/oxide-win32-x64-msvc@4.1.12':
|
||||
optional: true
|
||||
|
||||
'@tailwindcss/typography@0.5.16(tailwindcss@3.4.17)':
|
||||
'@tailwindcss/oxide@4.1.12':
|
||||
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.17
|
||||
detect-libc: 2.0.4
|
||||
tar: 7.4.3
|
||||
optionalDependencies:
|
||||
'@tailwindcss/oxide-android-arm64': 4.1.12
|
||||
'@tailwindcss/oxide-darwin-arm64': 4.1.12
|
||||
'@tailwindcss/oxide-darwin-x64': 4.1.12
|
||||
'@tailwindcss/oxide-freebsd-x64': 4.1.12
|
||||
'@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.12
|
||||
'@tailwindcss/oxide-linux-arm64-gnu': 4.1.12
|
||||
'@tailwindcss/oxide-linux-arm64-musl': 4.1.12
|
||||
'@tailwindcss/oxide-linux-x64-gnu': 4.1.12
|
||||
'@tailwindcss/oxide-linux-x64-musl': 4.1.12
|
||||
'@tailwindcss/oxide-wasm32-wasi': 4.1.12
|
||||
'@tailwindcss/oxide-win32-arm64-msvc': 4.1.12
|
||||
'@tailwindcss/oxide-win32-x64-msvc': 4.1.12
|
||||
|
||||
'@tailwindcss/vite@4.1.12(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1))':
|
||||
dependencies:
|
||||
'@tailwindcss/node': 4.1.12
|
||||
'@tailwindcss/oxide': 4.1.12
|
||||
tailwindcss: 4.1.12
|
||||
vite: 7.1.3(jiti@2.5.1)(lightningcss@1.30.1)
|
||||
|
||||
'@types/cookie@0.6.0': {}
|
||||
|
||||
'@types/debug@4.1.12':
|
||||
dependencies:
|
||||
'@types/ms': 2.1.0
|
||||
|
||||
'@types/downloadjs@1.4.6': {}
|
||||
|
||||
'@types/eslint@9.6.1':
|
||||
dependencies:
|
||||
'@types/estree': 1.0.6
|
||||
'@types/json-schema': 7.0.15
|
||||
|
||||
'@types/estree@1.0.6': {}
|
||||
|
||||
'@types/hast@3.0.4':
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
'@types/estree@1.0.8': {}
|
||||
|
||||
'@types/json-schema@7.0.15': {}
|
||||
|
||||
'@types/mdast@4.0.4':
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
|
||||
'@types/ms@2.1.0': {}
|
||||
|
||||
'@types/node@22.5.5':
|
||||
dependencies:
|
||||
undici-types: 6.19.8
|
||||
|
||||
'@types/resolve@1.20.2': {}
|
||||
'@types/unist': 2.0.11
|
||||
|
||||
'@types/unist@2.0.11': {}
|
||||
|
||||
'@types/unist@3.0.3': {}
|
||||
|
||||
'@typescript-eslint/eslint-plugin@8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2)':
|
||||
'@typescript-eslint/eslint-plugin@8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.12.1
|
||||
'@typescript-eslint/parser': 8.6.0(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2)
|
||||
'@typescript-eslint/scope-manager': 8.6.0
|
||||
'@typescript-eslint/type-utils': 8.6.0(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2)
|
||||
'@typescript-eslint/utils': 8.6.0(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2)
|
||||
'@typescript-eslint/visitor-keys': 8.6.0
|
||||
eslint: 9.11.0(jiti@1.21.7)
|
||||
'@typescript-eslint/parser': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)
|
||||
'@typescript-eslint/scope-manager': 8.40.0
|
||||
'@typescript-eslint/type-utils': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)
|
||||
'@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)
|
||||
'@typescript-eslint/visitor-keys': 8.40.0
|
||||
eslint: 9.33.0(jiti@2.5.1)
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.3.2
|
||||
ignore: 7.0.5
|
||||
natural-compare: 1.4.0
|
||||
ts-api-utils: 1.4.3(typescript@5.6.2)
|
||||
optionalDependencies:
|
||||
typescript: 5.6.2
|
||||
ts-api-utils: 2.1.0(typescript@5.9.2)
|
||||
typescript: 5.9.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/parser@8.6.0(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2)':
|
||||
'@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 8.6.0
|
||||
'@typescript-eslint/types': 8.6.0
|
||||
'@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2)
|
||||
'@typescript-eslint/visitor-keys': 8.6.0
|
||||
debug: 4.4.0
|
||||
eslint: 9.11.0(jiti@1.21.7)
|
||||
optionalDependencies:
|
||||
typescript: 5.6.2
|
||||
'@typescript-eslint/scope-manager': 8.40.0
|
||||
'@typescript-eslint/types': 8.40.0
|
||||
'@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2)
|
||||
'@typescript-eslint/visitor-keys': 8.40.0
|
||||
debug: 4.4.1
|
||||
eslint: 9.33.0(jiti@2.5.1)
|
||||
typescript: 5.9.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/scope-manager@8.6.0':
|
||||
'@typescript-eslint/project-service@8.40.0(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.6.0
|
||||
'@typescript-eslint/visitor-keys': 8.6.0
|
||||
|
||||
'@typescript-eslint/type-utils@8.6.0(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2)':
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2)
|
||||
'@typescript-eslint/utils': 8.6.0(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2)
|
||||
debug: 4.4.0
|
||||
ts-api-utils: 1.4.3(typescript@5.6.2)
|
||||
optionalDependencies:
|
||||
typescript: 5.6.2
|
||||
'@typescript-eslint/tsconfig-utils': 8.40.0(typescript@5.9.2)
|
||||
'@typescript-eslint/types': 8.40.0
|
||||
debug: 4.4.1
|
||||
typescript: 5.9.2
|
||||
transitivePeerDependencies:
|
||||
- eslint
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/types@8.6.0': {}
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.6.0(typescript@5.6.2)':
|
||||
'@typescript-eslint/scope-manager@8.40.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.6.0
|
||||
'@typescript-eslint/visitor-keys': 8.6.0
|
||||
debug: 4.4.0
|
||||
'@typescript-eslint/types': 8.40.0
|
||||
'@typescript-eslint/visitor-keys': 8.40.0
|
||||
|
||||
'@typescript-eslint/tsconfig-utils@8.40.0(typescript@5.9.2)':
|
||||
dependencies:
|
||||
typescript: 5.9.2
|
||||
|
||||
'@typescript-eslint/type-utils@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.40.0
|
||||
'@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2)
|
||||
'@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)
|
||||
debug: 4.4.1
|
||||
eslint: 9.33.0(jiti@2.5.1)
|
||||
ts-api-utils: 2.1.0(typescript@5.9.2)
|
||||
typescript: 5.9.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/types@8.40.0': {}
|
||||
|
||||
'@typescript-eslint/typescript-estree@8.40.0(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@typescript-eslint/project-service': 8.40.0(typescript@5.9.2)
|
||||
'@typescript-eslint/tsconfig-utils': 8.40.0(typescript@5.9.2)
|
||||
'@typescript-eslint/types': 8.40.0
|
||||
'@typescript-eslint/visitor-keys': 8.40.0
|
||||
debug: 4.4.1
|
||||
fast-glob: 3.3.3
|
||||
is-glob: 4.0.3
|
||||
minimatch: 9.0.5
|
||||
semver: 7.7.1
|
||||
ts-api-utils: 1.4.3(typescript@5.6.2)
|
||||
optionalDependencies:
|
||||
typescript: 5.6.2
|
||||
semver: 7.7.2
|
||||
ts-api-utils: 2.1.0(typescript@5.9.2)
|
||||
typescript: 5.9.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/utils@8.6.0(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2)':
|
||||
'@typescript-eslint/utils@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.1(eslint@9.11.0(jiti@1.21.7))
|
||||
'@typescript-eslint/scope-manager': 8.6.0
|
||||
'@typescript-eslint/types': 8.6.0
|
||||
'@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2)
|
||||
eslint: 9.11.0(jiti@1.21.7)
|
||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1))
|
||||
'@typescript-eslint/scope-manager': 8.40.0
|
||||
'@typescript-eslint/types': 8.40.0
|
||||
'@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2)
|
||||
eslint: 9.33.0(jiti@2.5.1)
|
||||
typescript: 5.9.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
|
||||
'@typescript-eslint/visitor-keys@8.6.0':
|
||||
'@typescript-eslint/visitor-keys@8.40.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 8.6.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
'@typescript-eslint/types': 8.40.0
|
||||
eslint-visitor-keys: 4.2.1
|
||||
|
||||
'@ungap/structured-clone@1.3.0': {}
|
||||
|
||||
'@upstash/core-analytics@0.0.10':
|
||||
acorn-jsx@5.3.2(acorn@8.15.0):
|
||||
dependencies:
|
||||
'@upstash/redis': 1.35.3
|
||||
acorn: 8.15.0
|
||||
|
||||
'@upstash/ratelimit@2.0.6(@upstash/redis@1.35.3)':
|
||||
dependencies:
|
||||
'@upstash/core-analytics': 0.0.10
|
||||
'@upstash/redis': 1.35.3
|
||||
|
||||
'@upstash/redis@1.35.3':
|
||||
dependencies:
|
||||
uncrypto: 0.1.3
|
||||
|
||||
'@vitest/expect@2.1.1':
|
||||
dependencies:
|
||||
'@vitest/spy': 2.1.1
|
||||
'@vitest/utils': 2.1.1
|
||||
chai: 5.2.0
|
||||
tinyrainbow: 1.2.0
|
||||
|
||||
'@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(vite@5.4.7(@types/node@22.5.5))':
|
||||
dependencies:
|
||||
'@vitest/spy': 2.1.1
|
||||
estree-walker: 3.0.3
|
||||
magic-string: 0.30.17
|
||||
optionalDependencies:
|
||||
vite: 5.4.7(@types/node@22.5.5)
|
||||
|
||||
'@vitest/pretty-format@2.1.1':
|
||||
dependencies:
|
||||
tinyrainbow: 1.2.0
|
||||
|
||||
'@vitest/pretty-format@2.1.9':
|
||||
dependencies:
|
||||
tinyrainbow: 1.2.0
|
||||
|
||||
'@vitest/runner@2.1.1':
|
||||
dependencies:
|
||||
'@vitest/utils': 2.1.1
|
||||
pathe: 1.1.2
|
||||
|
||||
'@vitest/snapshot@2.1.1':
|
||||
dependencies:
|
||||
'@vitest/pretty-format': 2.1.1
|
||||
magic-string: 0.30.17
|
||||
pathe: 1.1.2
|
||||
|
||||
'@vitest/spy@2.1.1':
|
||||
dependencies:
|
||||
tinyspy: 3.0.2
|
||||
|
||||
'@vitest/utils@2.1.1':
|
||||
dependencies:
|
||||
'@vitest/pretty-format': 2.1.1
|
||||
loupe: 3.1.3
|
||||
tinyrainbow: 1.2.0
|
||||
|
||||
acorn-jsx@5.3.2(acorn@8.14.0):
|
||||
dependencies:
|
||||
acorn: 8.14.0
|
||||
|
||||
acorn@8.14.0: {}
|
||||
acorn@8.15.0: {}
|
||||
|
||||
ajv@6.12.6:
|
||||
dependencies:
|
||||
@@ -3593,64 +1941,24 @@ snapshots:
|
||||
json-schema-traverse: 0.4.1
|
||||
uri-js: 4.4.1
|
||||
|
||||
ansi-regex@5.0.1: {}
|
||||
|
||||
ansi-regex@6.1.0: {}
|
||||
|
||||
ansi-styles@4.3.0:
|
||||
dependencies:
|
||||
color-convert: 2.0.1
|
||||
|
||||
ansi-styles@6.2.1: {}
|
||||
|
||||
any-promise@1.3.0: {}
|
||||
|
||||
anymatch@3.1.3:
|
||||
dependencies:
|
||||
normalize-path: 3.0.0
|
||||
picomatch: 2.3.1
|
||||
|
||||
arg@5.0.2: {}
|
||||
|
||||
argparse@2.0.1: {}
|
||||
|
||||
aria-query@5.3.2: {}
|
||||
|
||||
assertion-error@2.0.1: {}
|
||||
|
||||
autoprefixer@10.4.21(postcss@8.5.3):
|
||||
dependencies:
|
||||
browserslist: 4.24.4
|
||||
caniuse-lite: 1.0.30001715
|
||||
fraction.js: 4.3.7
|
||||
normalize-range: 0.1.2
|
||||
picocolors: 1.1.1
|
||||
postcss: 8.5.3
|
||||
postcss-value-parser: 4.2.0
|
||||
|
||||
axobject-query@4.1.0: {}
|
||||
|
||||
bail@2.0.2: {}
|
||||
|
||||
balanced-match@1.0.2: {}
|
||||
|
||||
binary-extensions@2.3.0: {}
|
||||
|
||||
bits-ui@0.22.0(svelte@4.2.20):
|
||||
dependencies:
|
||||
'@internationalized/date': 3.7.0
|
||||
'@melt-ui/svelte': 0.76.2(svelte@4.2.20)
|
||||
nanoid: 5.1.2
|
||||
svelte: 4.2.20
|
||||
|
||||
boolbase@1.0.0: {}
|
||||
|
||||
brace-expansion@1.1.11:
|
||||
brace-expansion@1.1.12:
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
concat-map: 0.0.1
|
||||
|
||||
brace-expansion@2.0.1:
|
||||
brace-expansion@2.0.2:
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
|
||||
@@ -3658,343 +1966,141 @@ snapshots:
|
||||
dependencies:
|
||||
fill-range: 7.1.1
|
||||
|
||||
browserslist@4.24.4:
|
||||
dependencies:
|
||||
caniuse-lite: 1.0.30001700
|
||||
electron-to-chromium: 1.5.104
|
||||
node-releases: 2.0.19
|
||||
update-browserslist-db: 1.1.2(browserslist@4.24.4)
|
||||
|
||||
cac@6.7.14: {}
|
||||
|
||||
callsites@3.1.0: {}
|
||||
|
||||
camelcase-css@2.0.1: {}
|
||||
|
||||
camelcase@6.3.0: {}
|
||||
|
||||
caniuse-lite@1.0.30001700: {}
|
||||
|
||||
caniuse-lite@1.0.30001715: {}
|
||||
|
||||
ccount@2.0.1: {}
|
||||
|
||||
chai@5.2.0:
|
||||
dependencies:
|
||||
assertion-error: 2.0.1
|
||||
check-error: 2.1.1
|
||||
deep-eql: 5.0.2
|
||||
loupe: 3.1.3
|
||||
pathval: 2.0.0
|
||||
|
||||
chalk@4.1.2:
|
||||
dependencies:
|
||||
ansi-styles: 4.3.0
|
||||
supports-color: 7.2.0
|
||||
|
||||
character-entities-html4@2.1.0: {}
|
||||
|
||||
character-entities-legacy@3.0.0: {}
|
||||
|
||||
character-entities@2.0.2: {}
|
||||
|
||||
check-error@2.1.1: {}
|
||||
|
||||
chokidar@3.6.0:
|
||||
dependencies:
|
||||
anymatch: 3.1.3
|
||||
braces: 3.0.3
|
||||
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
|
||||
|
||||
chokidar@4.0.3:
|
||||
dependencies:
|
||||
readdirp: 4.1.2
|
||||
|
||||
cliui@8.0.1:
|
||||
dependencies:
|
||||
string-width: 4.2.3
|
||||
strip-ansi: 6.0.1
|
||||
wrap-ansi: 7.0.0
|
||||
chownr@3.0.0: {}
|
||||
|
||||
clsx@2.1.1: {}
|
||||
|
||||
code-red@1.0.4:
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.5.0
|
||||
'@types/estree': 1.0.6
|
||||
acorn: 8.14.0
|
||||
estree-walker: 3.0.3
|
||||
periscopic: 3.1.0
|
||||
|
||||
color-convert@2.0.1:
|
||||
dependencies:
|
||||
color-name: 1.1.4
|
||||
|
||||
color-name@1.1.4: {}
|
||||
|
||||
comma-separated-tokens@2.0.3: {}
|
||||
|
||||
commander@11.1.0: {}
|
||||
|
||||
commander@4.1.1: {}
|
||||
|
||||
commondir@1.0.1: {}
|
||||
|
||||
concat-map@0.0.1: {}
|
||||
|
||||
concurrently@9.0.1:
|
||||
dependencies:
|
||||
chalk: 4.1.2
|
||||
lodash: 4.17.21
|
||||
rxjs: 7.8.2
|
||||
shell-quote: 1.8.2
|
||||
supports-color: 8.1.1
|
||||
tree-kill: 1.2.2
|
||||
yargs: 17.7.2
|
||||
|
||||
convert-source-map@2.0.0: {}
|
||||
|
||||
cookie@0.6.0: {}
|
||||
|
||||
core-util-is@1.0.3: {}
|
||||
|
||||
cosmiconfig@8.3.6(typescript@5.6.2):
|
||||
dependencies:
|
||||
import-fresh: 3.3.1
|
||||
js-yaml: 4.1.0
|
||||
parse-json: 5.2.0
|
||||
path-type: 4.0.0
|
||||
optionalDependencies:
|
||||
typescript: 5.6.2
|
||||
|
||||
cross-spawn@7.0.6:
|
||||
dependencies:
|
||||
path-key: 3.1.1
|
||||
shebang-command: 2.0.0
|
||||
which: 2.0.2
|
||||
|
||||
css-select@5.2.2:
|
||||
dependencies:
|
||||
boolbase: 1.0.0
|
||||
css-what: 6.2.2
|
||||
domhandler: 5.0.3
|
||||
domutils: 3.2.2
|
||||
nth-check: 2.1.1
|
||||
|
||||
css-tree@2.2.1:
|
||||
dependencies:
|
||||
mdn-data: 2.0.28
|
||||
source-map-js: 1.2.1
|
||||
|
||||
css-tree@2.3.1:
|
||||
dependencies:
|
||||
mdn-data: 2.0.30
|
||||
source-map-js: 1.2.1
|
||||
|
||||
css-tree@3.1.0:
|
||||
dependencies:
|
||||
mdn-data: 2.12.2
|
||||
source-map-js: 1.2.1
|
||||
|
||||
css-what@6.2.2: {}
|
||||
|
||||
cssesc@3.0.0: {}
|
||||
|
||||
csso@5.0.5:
|
||||
dependencies:
|
||||
css-tree: 2.2.1
|
||||
|
||||
debug@4.4.0:
|
||||
debug@4.4.1:
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
|
||||
decode-named-character-reference@1.0.2:
|
||||
dependencies:
|
||||
character-entities: 2.0.2
|
||||
|
||||
deep-eql@5.0.2: {}
|
||||
|
||||
deep-is@0.1.4: {}
|
||||
|
||||
deepmerge@4.3.1: {}
|
||||
|
||||
dequal@2.0.3: {}
|
||||
detect-libc@2.0.4: {}
|
||||
|
||||
devalue@5.1.1: {}
|
||||
|
||||
devlop@1.1.0:
|
||||
enhanced-resolve@5.18.3:
|
||||
dependencies:
|
||||
dequal: 2.0.3
|
||||
graceful-fs: 4.2.11
|
||||
tapable: 2.2.2
|
||||
|
||||
didyoumean@1.2.2: {}
|
||||
|
||||
dlv@1.1.3: {}
|
||||
|
||||
dom-serializer@2.0.0:
|
||||
dependencies:
|
||||
domelementtype: 2.3.0
|
||||
domhandler: 5.0.3
|
||||
entities: 4.5.0
|
||||
|
||||
domelementtype@2.3.0: {}
|
||||
|
||||
domhandler@5.0.3:
|
||||
dependencies:
|
||||
domelementtype: 2.3.0
|
||||
|
||||
domutils@3.2.2:
|
||||
dependencies:
|
||||
dom-serializer: 2.0.0
|
||||
domelementtype: 2.3.0
|
||||
domhandler: 5.0.3
|
||||
|
||||
dot-case@3.0.4:
|
||||
dependencies:
|
||||
no-case: 3.0.4
|
||||
tslib: 2.7.0
|
||||
|
||||
downloadjs@1.4.7: {}
|
||||
|
||||
eastasianwidth@0.2.0: {}
|
||||
|
||||
electron-to-chromium@1.5.104: {}
|
||||
|
||||
emoji-regex@8.0.0: {}
|
||||
|
||||
emoji-regex@9.2.2: {}
|
||||
|
||||
entities@4.5.0: {}
|
||||
|
||||
error-ex@1.3.2:
|
||||
dependencies:
|
||||
is-arrayish: 0.2.1
|
||||
|
||||
esbuild@0.21.5:
|
||||
esbuild@0.25.9:
|
||||
optionalDependencies:
|
||||
'@esbuild/aix-ppc64': 0.21.5
|
||||
'@esbuild/android-arm': 0.21.5
|
||||
'@esbuild/android-arm64': 0.21.5
|
||||
'@esbuild/android-x64': 0.21.5
|
||||
'@esbuild/darwin-arm64': 0.21.5
|
||||
'@esbuild/darwin-x64': 0.21.5
|
||||
'@esbuild/freebsd-arm64': 0.21.5
|
||||
'@esbuild/freebsd-x64': 0.21.5
|
||||
'@esbuild/linux-arm': 0.21.5
|
||||
'@esbuild/linux-arm64': 0.21.5
|
||||
'@esbuild/linux-ia32': 0.21.5
|
||||
'@esbuild/linux-loong64': 0.21.5
|
||||
'@esbuild/linux-mips64el': 0.21.5
|
||||
'@esbuild/linux-ppc64': 0.21.5
|
||||
'@esbuild/linux-riscv64': 0.21.5
|
||||
'@esbuild/linux-s390x': 0.21.5
|
||||
'@esbuild/linux-x64': 0.21.5
|
||||
'@esbuild/netbsd-x64': 0.21.5
|
||||
'@esbuild/openbsd-x64': 0.21.5
|
||||
'@esbuild/sunos-x64': 0.21.5
|
||||
'@esbuild/win32-arm64': 0.21.5
|
||||
'@esbuild/win32-ia32': 0.21.5
|
||||
'@esbuild/win32-x64': 0.21.5
|
||||
|
||||
esbuild@0.24.0:
|
||||
optionalDependencies:
|
||||
'@esbuild/aix-ppc64': 0.24.0
|
||||
'@esbuild/android-arm': 0.24.0
|
||||
'@esbuild/android-arm64': 0.24.0
|
||||
'@esbuild/android-x64': 0.24.0
|
||||
'@esbuild/darwin-arm64': 0.24.0
|
||||
'@esbuild/darwin-x64': 0.24.0
|
||||
'@esbuild/freebsd-arm64': 0.24.0
|
||||
'@esbuild/freebsd-x64': 0.24.0
|
||||
'@esbuild/linux-arm': 0.24.0
|
||||
'@esbuild/linux-arm64': 0.24.0
|
||||
'@esbuild/linux-ia32': 0.24.0
|
||||
'@esbuild/linux-loong64': 0.24.0
|
||||
'@esbuild/linux-mips64el': 0.24.0
|
||||
'@esbuild/linux-ppc64': 0.24.0
|
||||
'@esbuild/linux-riscv64': 0.24.0
|
||||
'@esbuild/linux-s390x': 0.24.0
|
||||
'@esbuild/linux-x64': 0.24.0
|
||||
'@esbuild/netbsd-x64': 0.24.0
|
||||
'@esbuild/openbsd-arm64': 0.24.0
|
||||
'@esbuild/openbsd-x64': 0.24.0
|
||||
'@esbuild/sunos-x64': 0.24.0
|
||||
'@esbuild/win32-arm64': 0.24.0
|
||||
'@esbuild/win32-ia32': 0.24.0
|
||||
'@esbuild/win32-x64': 0.24.0
|
||||
|
||||
escalade@3.2.0: {}
|
||||
'@esbuild/aix-ppc64': 0.25.9
|
||||
'@esbuild/android-arm': 0.25.9
|
||||
'@esbuild/android-arm64': 0.25.9
|
||||
'@esbuild/android-x64': 0.25.9
|
||||
'@esbuild/darwin-arm64': 0.25.9
|
||||
'@esbuild/darwin-x64': 0.25.9
|
||||
'@esbuild/freebsd-arm64': 0.25.9
|
||||
'@esbuild/freebsd-x64': 0.25.9
|
||||
'@esbuild/linux-arm': 0.25.9
|
||||
'@esbuild/linux-arm64': 0.25.9
|
||||
'@esbuild/linux-ia32': 0.25.9
|
||||
'@esbuild/linux-loong64': 0.25.9
|
||||
'@esbuild/linux-mips64el': 0.25.9
|
||||
'@esbuild/linux-ppc64': 0.25.9
|
||||
'@esbuild/linux-riscv64': 0.25.9
|
||||
'@esbuild/linux-s390x': 0.25.9
|
||||
'@esbuild/linux-x64': 0.25.9
|
||||
'@esbuild/netbsd-arm64': 0.25.9
|
||||
'@esbuild/netbsd-x64': 0.25.9
|
||||
'@esbuild/openbsd-arm64': 0.25.9
|
||||
'@esbuild/openbsd-x64': 0.25.9
|
||||
'@esbuild/openharmony-arm64': 0.25.9
|
||||
'@esbuild/sunos-x64': 0.25.9
|
||||
'@esbuild/win32-arm64': 0.25.9
|
||||
'@esbuild/win32-ia32': 0.25.9
|
||||
'@esbuild/win32-x64': 0.25.9
|
||||
|
||||
escape-string-regexp@4.0.0: {}
|
||||
|
||||
escape-string-regexp@5.0.0: {}
|
||||
|
||||
eslint-compat-utils@0.5.1(eslint@9.11.0(jiti@1.21.7)):
|
||||
eslint-config-prettier@10.1.8(eslint@9.33.0(jiti@2.5.1)):
|
||||
dependencies:
|
||||
eslint: 9.11.0(jiti@1.21.7)
|
||||
semver: 7.7.1
|
||||
eslint: 9.33.0(jiti@2.5.1)
|
||||
|
||||
eslint-config-prettier@9.1.0(eslint@9.11.0(jiti@1.21.7)):
|
||||
eslint-plugin-svelte@3.11.0(eslint@9.33.0(jiti@2.5.1))(svelte@5.38.2):
|
||||
dependencies:
|
||||
eslint: 9.11.0(jiti@1.21.7)
|
||||
|
||||
eslint-plugin-svelte@2.44.0(eslint@9.11.0(jiti@1.21.7))(svelte@4.2.20):
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.1(eslint@9.11.0(jiti@1.21.7))
|
||||
'@jridgewell/sourcemap-codec': 1.5.0
|
||||
eslint: 9.11.0(jiti@1.21.7)
|
||||
eslint-compat-utils: 0.5.1(eslint@9.11.0(jiti@1.21.7))
|
||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1))
|
||||
'@jridgewell/sourcemap-codec': 1.5.5
|
||||
eslint: 9.33.0(jiti@2.5.1)
|
||||
esutils: 2.0.3
|
||||
known-css-properties: 0.34.0
|
||||
postcss: 8.5.3
|
||||
postcss-load-config: 3.1.4(postcss@8.5.3)
|
||||
postcss-safe-parser: 6.0.0(postcss@8.5.3)
|
||||
postcss-selector-parser: 6.1.2
|
||||
semver: 7.7.1
|
||||
svelte-eslint-parser: 0.41.1(svelte@4.2.20)
|
||||
globals: 16.3.0
|
||||
known-css-properties: 0.37.0
|
||||
postcss: 8.5.6
|
||||
postcss-load-config: 3.1.4(postcss@8.5.6)
|
||||
postcss-safe-parser: 7.0.1(postcss@8.5.6)
|
||||
semver: 7.7.2
|
||||
svelte-eslint-parser: 1.3.1(svelte@5.38.2)
|
||||
optionalDependencies:
|
||||
svelte: 4.2.20
|
||||
svelte: 5.38.2
|
||||
transitivePeerDependencies:
|
||||
- ts-node
|
||||
|
||||
eslint-scope@7.2.2:
|
||||
dependencies:
|
||||
esrecurse: 4.3.0
|
||||
estraverse: 5.3.0
|
||||
|
||||
eslint-scope@8.2.0:
|
||||
eslint-scope@8.4.0:
|
||||
dependencies:
|
||||
esrecurse: 4.3.0
|
||||
estraverse: 5.3.0
|
||||
|
||||
eslint-visitor-keys@3.4.3: {}
|
||||
|
||||
eslint-visitor-keys@4.2.0: {}
|
||||
eslint-visitor-keys@4.2.1: {}
|
||||
|
||||
eslint@9.11.0(jiti@1.21.7):
|
||||
eslint@9.33.0(jiti@2.5.1):
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.1(eslint@9.11.0(jiti@1.21.7))
|
||||
'@eslint-community/eslint-utils': 4.7.0(eslint@9.33.0(jiti@2.5.1))
|
||||
'@eslint-community/regexpp': 4.12.1
|
||||
'@eslint/config-array': 0.18.0
|
||||
'@eslint/eslintrc': 3.3.0
|
||||
'@eslint/js': 9.11.0
|
||||
'@eslint/plugin-kit': 0.2.7
|
||||
'@eslint/config-array': 0.21.0
|
||||
'@eslint/config-helpers': 0.3.1
|
||||
'@eslint/core': 0.15.2
|
||||
'@eslint/eslintrc': 3.3.1
|
||||
'@eslint/js': 9.33.0
|
||||
'@eslint/plugin-kit': 0.3.5
|
||||
'@humanfs/node': 0.16.6
|
||||
'@humanwhocodes/module-importer': 1.0.1
|
||||
'@humanwhocodes/retry': 0.3.1
|
||||
'@nodelib/fs.walk': 1.2.8
|
||||
'@humanwhocodes/retry': 0.4.3
|
||||
'@types/estree': 1.0.8
|
||||
'@types/json-schema': 7.0.15
|
||||
ajv: 6.12.6
|
||||
chalk: 4.1.2
|
||||
cross-spawn: 7.0.6
|
||||
debug: 4.4.0
|
||||
debug: 4.4.1
|
||||
escape-string-regexp: 4.0.0
|
||||
eslint-scope: 8.2.0
|
||||
eslint-visitor-keys: 4.2.0
|
||||
espree: 10.3.0
|
||||
eslint-scope: 8.4.0
|
||||
eslint-visitor-keys: 4.2.1
|
||||
espree: 10.4.0
|
||||
esquery: 1.6.0
|
||||
esutils: 2.0.3
|
||||
fast-deep-equal: 3.1.3
|
||||
@@ -4004,53 +2110,40 @@ snapshots:
|
||||
ignore: 5.3.2
|
||||
imurmurhash: 0.1.4
|
||||
is-glob: 4.0.3
|
||||
is-path-inside: 3.0.3
|
||||
json-stable-stringify-without-jsonify: 1.0.1
|
||||
lodash.merge: 4.6.2
|
||||
minimatch: 3.1.2
|
||||
natural-compare: 1.4.0
|
||||
optionator: 0.9.4
|
||||
strip-ansi: 6.0.1
|
||||
text-table: 0.2.0
|
||||
optionalDependencies:
|
||||
jiti: 1.21.7
|
||||
jiti: 2.5.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
esm-env@1.2.2: {}
|
||||
|
||||
espree@10.3.0:
|
||||
espree@10.4.0:
|
||||
dependencies:
|
||||
acorn: 8.14.0
|
||||
acorn-jsx: 5.3.2(acorn@8.14.0)
|
||||
eslint-visitor-keys: 4.2.0
|
||||
|
||||
espree@9.6.1:
|
||||
dependencies:
|
||||
acorn: 8.14.0
|
||||
acorn-jsx: 5.3.2(acorn@8.14.0)
|
||||
eslint-visitor-keys: 3.4.3
|
||||
acorn: 8.15.0
|
||||
acorn-jsx: 5.3.2(acorn@8.15.0)
|
||||
eslint-visitor-keys: 4.2.1
|
||||
|
||||
esquery@1.6.0:
|
||||
dependencies:
|
||||
estraverse: 5.3.0
|
||||
|
||||
esrap@2.1.0:
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.5.5
|
||||
|
||||
esrecurse@4.3.0:
|
||||
dependencies:
|
||||
estraverse: 5.3.0
|
||||
|
||||
estraverse@5.3.0: {}
|
||||
|
||||
estree-walker@2.0.2: {}
|
||||
|
||||
estree-walker@3.0.3:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.6
|
||||
|
||||
esutils@2.0.3: {}
|
||||
|
||||
extend@3.0.2: {}
|
||||
|
||||
fast-deep-equal@3.1.3: {}
|
||||
|
||||
fast-glob@3.3.3:
|
||||
@@ -4065,13 +2158,13 @@ snapshots:
|
||||
|
||||
fast-levenshtein@2.0.6: {}
|
||||
|
||||
fastq@1.19.0:
|
||||
fastq@1.19.1:
|
||||
dependencies:
|
||||
reusify: 1.1.0
|
||||
|
||||
fdir@6.4.3(picomatch@4.0.2):
|
||||
fdir@6.5.0(picomatch@4.0.3):
|
||||
optionalDependencies:
|
||||
picomatch: 4.0.2
|
||||
picomatch: 4.0.3
|
||||
|
||||
file-entry-cache@8.0.0:
|
||||
dependencies:
|
||||
@@ -4093,30 +2186,9 @@ snapshots:
|
||||
|
||||
flatted@3.3.3: {}
|
||||
|
||||
focus-trap@7.6.4:
|
||||
dependencies:
|
||||
tabbable: 6.2.0
|
||||
|
||||
foreground-child@3.3.1:
|
||||
dependencies:
|
||||
cross-spawn: 7.0.6
|
||||
signal-exit: 4.1.0
|
||||
|
||||
fraction.js@4.3.7: {}
|
||||
|
||||
fsevents@2.3.3:
|
||||
optional: true
|
||||
|
||||
function-bind@1.1.2: {}
|
||||
|
||||
fuse.js@7.1.0: {}
|
||||
|
||||
gensync@1.0.0-beta.2: {}
|
||||
|
||||
get-caller-file@2.0.5: {}
|
||||
|
||||
github-slugger@2.0.0: {}
|
||||
|
||||
glob-parent@5.1.2:
|
||||
dependencies:
|
||||
is-glob: 4.0.3
|
||||
@@ -4125,567 +2197,137 @@ snapshots:
|
||||
dependencies:
|
||||
is-glob: 4.0.3
|
||||
|
||||
glob@10.4.5:
|
||||
dependencies:
|
||||
foreground-child: 3.3.1
|
||||
jackspeak: 3.4.3
|
||||
minimatch: 9.0.5
|
||||
minipass: 7.1.2
|
||||
package-json-from-dist: 1.0.1
|
||||
path-scurry: 1.11.1
|
||||
|
||||
globals@11.12.0: {}
|
||||
|
||||
globals@14.0.0: {}
|
||||
|
||||
globals@15.9.0: {}
|
||||
globals@16.3.0: {}
|
||||
|
||||
globalyzer@0.1.0: {}
|
||||
|
||||
globrex@0.1.2: {}
|
||||
graceful-fs@4.2.11: {}
|
||||
|
||||
graphemer@1.4.0: {}
|
||||
|
||||
has-flag@4.0.0: {}
|
||||
|
||||
hasown@2.0.2:
|
||||
dependencies:
|
||||
function-bind: 1.1.2
|
||||
|
||||
hast-util-from-html@2.0.3:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
devlop: 1.1.0
|
||||
hast-util-from-parse5: 8.0.3
|
||||
parse5: 7.2.1
|
||||
vfile: 6.0.3
|
||||
vfile-message: 4.0.2
|
||||
|
||||
hast-util-from-parse5@8.0.3:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
'@types/unist': 3.0.3
|
||||
devlop: 1.1.0
|
||||
hastscript: 9.0.1
|
||||
property-information: 7.0.0
|
||||
vfile: 6.0.3
|
||||
vfile-location: 5.0.3
|
||||
web-namespaces: 2.0.1
|
||||
|
||||
hast-util-heading-rank@3.0.0:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
|
||||
hast-util-is-element@3.0.0:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
|
||||
hast-util-parse-selector@4.0.0:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
|
||||
hast-util-to-html@9.0.5:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
'@types/unist': 3.0.3
|
||||
ccount: 2.0.1
|
||||
comma-separated-tokens: 2.0.3
|
||||
hast-util-whitespace: 3.0.0
|
||||
html-void-elements: 3.0.0
|
||||
mdast-util-to-hast: 13.2.0
|
||||
property-information: 7.0.0
|
||||
space-separated-tokens: 2.0.2
|
||||
stringify-entities: 4.0.4
|
||||
zwitch: 2.0.4
|
||||
|
||||
hast-util-to-string@3.0.1:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
|
||||
hast-util-whitespace@3.0.0:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
|
||||
hastscript@9.0.1:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
comma-separated-tokens: 2.0.3
|
||||
hast-util-parse-selector: 4.0.0
|
||||
property-information: 7.0.0
|
||||
space-separated-tokens: 2.0.2
|
||||
|
||||
html-void-elements@3.0.0: {}
|
||||
|
||||
ignore@5.3.2: {}
|
||||
|
||||
immediate@3.0.6: {}
|
||||
ignore@7.0.5: {}
|
||||
|
||||
import-fresh@3.3.1:
|
||||
dependencies:
|
||||
parent-module: 1.0.1
|
||||
resolve-from: 4.0.0
|
||||
|
||||
import-meta-resolve@4.1.0: {}
|
||||
|
||||
imurmurhash@0.1.4: {}
|
||||
|
||||
inherits@2.0.4: {}
|
||||
|
||||
is-arrayish@0.2.1: {}
|
||||
|
||||
is-binary-path@2.1.0:
|
||||
dependencies:
|
||||
binary-extensions: 2.3.0
|
||||
|
||||
is-core-module@2.16.1:
|
||||
dependencies:
|
||||
hasown: 2.0.2
|
||||
|
||||
is-extglob@2.1.1: {}
|
||||
|
||||
is-fullwidth-code-point@3.0.0: {}
|
||||
|
||||
is-glob@4.0.3:
|
||||
dependencies:
|
||||
is-extglob: 2.1.1
|
||||
|
||||
is-module@1.0.0: {}
|
||||
|
||||
is-number@7.0.0: {}
|
||||
|
||||
is-path-inside@3.0.3: {}
|
||||
|
||||
is-plain-obj@4.1.0: {}
|
||||
|
||||
is-reference@1.2.1:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.6
|
||||
|
||||
is-reference@3.0.3:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.6
|
||||
|
||||
isarray@1.0.0: {}
|
||||
'@types/estree': 1.0.8
|
||||
|
||||
isexe@2.0.0: {}
|
||||
|
||||
jackspeak@3.4.3:
|
||||
dependencies:
|
||||
'@isaacs/cliui': 8.0.2
|
||||
optionalDependencies:
|
||||
'@pkgjs/parseargs': 0.11.0
|
||||
|
||||
jiti@1.21.7: {}
|
||||
|
||||
js-tokens@4.0.0: {}
|
||||
jiti@2.5.1: {}
|
||||
|
||||
js-yaml@4.1.0:
|
||||
dependencies:
|
||||
argparse: 2.0.1
|
||||
|
||||
jsesc@3.1.0: {}
|
||||
|
||||
json-buffer@3.0.1: {}
|
||||
|
||||
json-parse-even-better-errors@2.3.1: {}
|
||||
|
||||
json-schema-traverse@0.4.1: {}
|
||||
|
||||
json-stable-stringify-without-jsonify@1.0.1: {}
|
||||
|
||||
json5@2.2.3: {}
|
||||
|
||||
jszip@3.10.1:
|
||||
dependencies:
|
||||
lie: 3.3.0
|
||||
pako: 1.0.11
|
||||
readable-stream: 2.3.8
|
||||
setimmediate: 1.0.5
|
||||
|
||||
keyv@4.5.4:
|
||||
dependencies:
|
||||
json-buffer: 3.0.1
|
||||
|
||||
kleur@4.1.5: {}
|
||||
|
||||
known-css-properties@0.34.0: {}
|
||||
known-css-properties@0.37.0: {}
|
||||
|
||||
levn@0.4.1:
|
||||
dependencies:
|
||||
prelude-ls: 1.2.1
|
||||
type-check: 0.4.0
|
||||
|
||||
lie@3.3.0:
|
||||
lightningcss-darwin-arm64@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-darwin-x64@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-freebsd-x64@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-linux-arm-gnueabihf@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-linux-arm64-gnu@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-linux-arm64-musl@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-linux-x64-gnu@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-linux-x64-musl@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-win32-arm64-msvc@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-win32-x64-msvc@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss@1.30.1:
|
||||
dependencies:
|
||||
immediate: 3.0.6
|
||||
detect-libc: 2.0.4
|
||||
optionalDependencies:
|
||||
lightningcss-darwin-arm64: 1.30.1
|
||||
lightningcss-darwin-x64: 1.30.1
|
||||
lightningcss-freebsd-x64: 1.30.1
|
||||
lightningcss-linux-arm-gnueabihf: 1.30.1
|
||||
lightningcss-linux-arm64-gnu: 1.30.1
|
||||
lightningcss-linux-arm64-musl: 1.30.1
|
||||
lightningcss-linux-x64-gnu: 1.30.1
|
||||
lightningcss-linux-x64-musl: 1.30.1
|
||||
lightningcss-win32-arm64-msvc: 1.30.1
|
||||
lightningcss-win32-x64-msvc: 1.30.1
|
||||
|
||||
lilconfig@2.1.0: {}
|
||||
|
||||
lilconfig@3.1.3: {}
|
||||
|
||||
lines-and-columns@1.2.4: {}
|
||||
|
||||
locate-character@3.0.0: {}
|
||||
|
||||
locate-path@6.0.0:
|
||||
dependencies:
|
||||
p-locate: 5.0.0
|
||||
|
||||
lodash.castarray@4.4.0: {}
|
||||
|
||||
lodash.isplainobject@4.0.6: {}
|
||||
|
||||
lodash.merge@4.6.2: {}
|
||||
|
||||
lodash@4.17.21: {}
|
||||
|
||||
longest-streak@3.1.0: {}
|
||||
|
||||
loupe@3.1.3: {}
|
||||
|
||||
lower-case@2.0.2:
|
||||
dependencies:
|
||||
tslib: 2.7.0
|
||||
|
||||
lru-cache@10.4.3: {}
|
||||
|
||||
lru-cache@5.1.1:
|
||||
dependencies:
|
||||
yallist: 3.1.1
|
||||
|
||||
lucide-svelte@0.525.0(svelte@4.2.20):
|
||||
dependencies:
|
||||
svelte: 4.2.20
|
||||
|
||||
magic-string@0.30.17:
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.5.0
|
||||
'@jridgewell/sourcemap-codec': 1.5.5
|
||||
|
||||
markdown-table@3.0.4: {}
|
||||
|
||||
mdast-util-find-and-replace@3.0.2:
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
escape-string-regexp: 5.0.0
|
||||
unist-util-is: 6.0.0
|
||||
unist-util-visit-parents: 6.0.1
|
||||
|
||||
mdast-util-from-markdown@2.0.2:
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
'@types/unist': 3.0.3
|
||||
decode-named-character-reference: 1.0.2
|
||||
devlop: 1.1.0
|
||||
mdast-util-to-string: 4.0.0
|
||||
micromark: 4.0.1
|
||||
micromark-util-decode-numeric-character-reference: 2.0.2
|
||||
micromark-util-decode-string: 2.0.1
|
||||
micromark-util-normalize-identifier: 2.0.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
unist-util-stringify-position: 4.0.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
mdast-util-gfm-autolink-literal@2.0.1:
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
ccount: 2.0.1
|
||||
devlop: 1.1.0
|
||||
mdast-util-find-and-replace: 3.0.2
|
||||
micromark-util-character: 2.1.1
|
||||
|
||||
mdast-util-gfm-footnote@2.1.0:
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
devlop: 1.1.0
|
||||
mdast-util-from-markdown: 2.0.2
|
||||
mdast-util-to-markdown: 2.1.2
|
||||
micromark-util-normalize-identifier: 2.0.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
mdast-util-gfm-strikethrough@2.0.0:
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
mdast-util-from-markdown: 2.0.2
|
||||
mdast-util-to-markdown: 2.1.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
mdast-util-gfm-table@2.0.0:
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
devlop: 1.1.0
|
||||
markdown-table: 3.0.4
|
||||
mdast-util-from-markdown: 2.0.2
|
||||
mdast-util-to-markdown: 2.1.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
mdast-util-gfm-task-list-item@2.0.0:
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
devlop: 1.1.0
|
||||
mdast-util-from-markdown: 2.0.2
|
||||
mdast-util-to-markdown: 2.1.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
mdast-util-gfm@3.1.0:
|
||||
dependencies:
|
||||
mdast-util-from-markdown: 2.0.2
|
||||
mdast-util-gfm-autolink-literal: 2.0.1
|
||||
mdast-util-gfm-footnote: 2.1.0
|
||||
mdast-util-gfm-strikethrough: 2.0.0
|
||||
mdast-util-gfm-table: 2.0.0
|
||||
mdast-util-gfm-task-list-item: 2.0.0
|
||||
mdast-util-to-markdown: 2.1.2
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
mdast-util-phrasing@4.1.0:
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
unist-util-is: 6.0.0
|
||||
|
||||
mdast-util-to-hast@13.2.0:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
'@types/mdast': 4.0.4
|
||||
'@ungap/structured-clone': 1.3.0
|
||||
devlop: 1.1.0
|
||||
micromark-util-sanitize-uri: 2.0.1
|
||||
trim-lines: 3.0.1
|
||||
unist-util-position: 5.0.0
|
||||
unist-util-visit: 5.0.0
|
||||
vfile: 6.0.3
|
||||
|
||||
mdast-util-to-markdown@2.1.2:
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
'@types/unist': 3.0.3
|
||||
longest-streak: 3.1.0
|
||||
mdast-util-phrasing: 4.1.0
|
||||
mdast-util-to-string: 4.0.0
|
||||
micromark-util-classify-character: 2.0.1
|
||||
micromark-util-decode-string: 2.0.1
|
||||
unist-util-visit: 5.0.0
|
||||
zwitch: 2.0.4
|
||||
|
||||
mdast-util-to-string@4.0.0:
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
|
||||
mdn-data@2.0.28: {}
|
||||
|
||||
mdn-data@2.0.30: {}
|
||||
|
||||
mdn-data@2.12.2: {}
|
||||
|
||||
mdsvex@0.12.5(svelte@4.2.20):
|
||||
mdsvex@0.12.6(svelte@5.38.2):
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
'@types/unist': 2.0.11
|
||||
prism-svelte: 0.4.7
|
||||
prismjs: 1.29.0
|
||||
svelte: 4.2.20
|
||||
prismjs: 1.30.0
|
||||
svelte: 5.38.2
|
||||
unist-util-visit: 2.0.3
|
||||
vfile-message: 2.0.4
|
||||
|
||||
merge2@1.4.1: {}
|
||||
|
||||
micromark-core-commonmark@2.0.2:
|
||||
dependencies:
|
||||
decode-named-character-reference: 1.0.2
|
||||
devlop: 1.1.0
|
||||
micromark-factory-destination: 2.0.1
|
||||
micromark-factory-label: 2.0.1
|
||||
micromark-factory-space: 2.0.1
|
||||
micromark-factory-title: 2.0.1
|
||||
micromark-factory-whitespace: 2.0.1
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-chunked: 2.0.1
|
||||
micromark-util-classify-character: 2.0.1
|
||||
micromark-util-html-tag-name: 2.0.1
|
||||
micromark-util-normalize-identifier: 2.0.1
|
||||
micromark-util-resolve-all: 2.0.1
|
||||
micromark-util-subtokenize: 2.0.4
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-extension-gfm-autolink-literal@2.1.0:
|
||||
dependencies:
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-sanitize-uri: 2.0.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-extension-gfm-footnote@2.1.0:
|
||||
dependencies:
|
||||
devlop: 1.1.0
|
||||
micromark-core-commonmark: 2.0.2
|
||||
micromark-factory-space: 2.0.1
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-normalize-identifier: 2.0.1
|
||||
micromark-util-sanitize-uri: 2.0.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-extension-gfm-strikethrough@2.1.0:
|
||||
dependencies:
|
||||
devlop: 1.1.0
|
||||
micromark-util-chunked: 2.0.1
|
||||
micromark-util-classify-character: 2.0.1
|
||||
micromark-util-resolve-all: 2.0.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-extension-gfm-table@2.1.1:
|
||||
dependencies:
|
||||
devlop: 1.1.0
|
||||
micromark-factory-space: 2.0.1
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-extension-gfm-tagfilter@2.0.0:
|
||||
dependencies:
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-extension-gfm-task-list-item@2.1.0:
|
||||
dependencies:
|
||||
devlop: 1.1.0
|
||||
micromark-factory-space: 2.0.1
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-extension-gfm@3.0.0:
|
||||
dependencies:
|
||||
micromark-extension-gfm-autolink-literal: 2.1.0
|
||||
micromark-extension-gfm-footnote: 2.1.0
|
||||
micromark-extension-gfm-strikethrough: 2.1.0
|
||||
micromark-extension-gfm-table: 2.1.1
|
||||
micromark-extension-gfm-tagfilter: 2.0.0
|
||||
micromark-extension-gfm-task-list-item: 2.1.0
|
||||
micromark-util-combine-extensions: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-factory-destination@2.0.1:
|
||||
dependencies:
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-factory-label@2.0.1:
|
||||
dependencies:
|
||||
devlop: 1.1.0
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-factory-space@2.0.1:
|
||||
dependencies:
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-factory-title@2.0.1:
|
||||
dependencies:
|
||||
micromark-factory-space: 2.0.1
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-factory-whitespace@2.0.1:
|
||||
dependencies:
|
||||
micromark-factory-space: 2.0.1
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-util-character@2.1.1:
|
||||
dependencies:
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-util-chunked@2.0.1:
|
||||
dependencies:
|
||||
micromark-util-symbol: 2.0.1
|
||||
|
||||
micromark-util-classify-character@2.0.1:
|
||||
dependencies:
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-util-combine-extensions@2.0.1:
|
||||
dependencies:
|
||||
micromark-util-chunked: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-util-decode-numeric-character-reference@2.0.2:
|
||||
dependencies:
|
||||
micromark-util-symbol: 2.0.1
|
||||
|
||||
micromark-util-decode-string@2.0.1:
|
||||
dependencies:
|
||||
decode-named-character-reference: 1.0.2
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-decode-numeric-character-reference: 2.0.2
|
||||
micromark-util-symbol: 2.0.1
|
||||
|
||||
micromark-util-encode@2.0.1: {}
|
||||
|
||||
micromark-util-html-tag-name@2.0.1: {}
|
||||
|
||||
micromark-util-normalize-identifier@2.0.1:
|
||||
dependencies:
|
||||
micromark-util-symbol: 2.0.1
|
||||
|
||||
micromark-util-resolve-all@2.0.1:
|
||||
dependencies:
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-util-sanitize-uri@2.0.1:
|
||||
dependencies:
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-encode: 2.0.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
|
||||
micromark-util-subtokenize@2.0.4:
|
||||
dependencies:
|
||||
devlop: 1.1.0
|
||||
micromark-util-chunked: 2.0.1
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
|
||||
micromark-util-symbol@2.0.1: {}
|
||||
|
||||
micromark-util-types@2.0.1: {}
|
||||
|
||||
micromark@4.0.1:
|
||||
dependencies:
|
||||
'@types/debug': 4.1.12
|
||||
debug: 4.4.0
|
||||
decode-named-character-reference: 1.0.2
|
||||
devlop: 1.1.0
|
||||
micromark-core-commonmark: 2.0.2
|
||||
micromark-factory-space: 2.0.1
|
||||
micromark-util-character: 2.1.1
|
||||
micromark-util-chunked: 2.0.1
|
||||
micromark-util-combine-extensions: 2.0.1
|
||||
micromark-util-decode-numeric-character-reference: 2.0.2
|
||||
micromark-util-encode: 2.0.1
|
||||
micromark-util-normalize-identifier: 2.0.1
|
||||
micromark-util-resolve-all: 2.0.1
|
||||
micromark-util-sanitize-uri: 2.0.1
|
||||
micromark-util-subtokenize: 2.0.4
|
||||
micromark-util-symbol: 2.0.1
|
||||
micromark-util-types: 2.0.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
micromatch@4.0.8:
|
||||
dependencies:
|
||||
braces: 3.0.3
|
||||
@@ -4693,17 +2335,19 @@ snapshots:
|
||||
|
||||
minimatch@3.1.2:
|
||||
dependencies:
|
||||
brace-expansion: 1.1.11
|
||||
brace-expansion: 1.1.12
|
||||
|
||||
minimatch@9.0.5:
|
||||
dependencies:
|
||||
brace-expansion: 2.0.1
|
||||
brace-expansion: 2.0.2
|
||||
|
||||
minipass@7.1.2: {}
|
||||
|
||||
mode-watcher@0.5.1(svelte@4.2.20):
|
||||
minizlib@3.0.2:
|
||||
dependencies:
|
||||
svelte: 4.2.20
|
||||
minipass: 7.1.2
|
||||
|
||||
mkdirp@3.0.1: {}
|
||||
|
||||
mri@1.2.0: {}
|
||||
|
||||
@@ -4711,45 +2355,10 @@ snapshots:
|
||||
|
||||
ms@2.1.3: {}
|
||||
|
||||
mz@2.7.0:
|
||||
dependencies:
|
||||
any-promise: 1.3.0
|
||||
object-assign: 4.1.1
|
||||
thenify-all: 1.6.0
|
||||
|
||||
nanoid@3.3.8: {}
|
||||
|
||||
nanoid@5.1.2: {}
|
||||
nanoid@3.3.11: {}
|
||||
|
||||
natural-compare@1.4.0: {}
|
||||
|
||||
no-case@3.0.4:
|
||||
dependencies:
|
||||
lower-case: 2.0.2
|
||||
tslib: 2.7.0
|
||||
|
||||
node-releases@2.0.19: {}
|
||||
|
||||
normalize-path@3.0.0: {}
|
||||
|
||||
normalize-range@0.1.2: {}
|
||||
|
||||
nth-check@2.1.1:
|
||||
dependencies:
|
||||
boolbase: 1.0.0
|
||||
|
||||
object-assign@4.1.1: {}
|
||||
|
||||
object-hash@3.0.0: {}
|
||||
|
||||
oniguruma-parser@0.12.1: {}
|
||||
|
||||
oniguruma-to-es@4.3.3:
|
||||
dependencies:
|
||||
oniguruma-parser: 0.12.1
|
||||
regex: 6.0.1
|
||||
regex-recursion: 6.0.2
|
||||
|
||||
optionator@0.9.4:
|
||||
dependencies:
|
||||
deep-is: 0.1.4
|
||||
@@ -4767,537 +2376,190 @@ snapshots:
|
||||
dependencies:
|
||||
p-limit: 3.1.0
|
||||
|
||||
package-json-from-dist@1.0.1: {}
|
||||
|
||||
pako@1.0.11: {}
|
||||
|
||||
parent-module@1.0.1:
|
||||
dependencies:
|
||||
callsites: 3.1.0
|
||||
|
||||
parse-json@5.2.0:
|
||||
dependencies:
|
||||
'@babel/code-frame': 7.26.2
|
||||
error-ex: 1.3.2
|
||||
json-parse-even-better-errors: 2.3.1
|
||||
lines-and-columns: 1.2.4
|
||||
|
||||
parse-numeric-range@1.3.0: {}
|
||||
|
||||
parse5@7.2.1:
|
||||
dependencies:
|
||||
entities: 4.5.0
|
||||
|
||||
path-exists@4.0.0: {}
|
||||
|
||||
path-key@3.1.1: {}
|
||||
|
||||
path-parse@1.0.7: {}
|
||||
|
||||
path-scurry@1.11.1:
|
||||
dependencies:
|
||||
lru-cache: 10.4.3
|
||||
minipass: 7.1.2
|
||||
|
||||
path-type@4.0.0: {}
|
||||
|
||||
pathe@1.1.2: {}
|
||||
|
||||
pathval@2.0.0: {}
|
||||
|
||||
periscopic@3.1.0:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.6
|
||||
estree-walker: 3.0.3
|
||||
is-reference: 3.0.3
|
||||
|
||||
picocolors@1.1.1: {}
|
||||
|
||||
picomatch@2.3.1: {}
|
||||
|
||||
picomatch@4.0.2: {}
|
||||
picomatch@4.0.3: {}
|
||||
|
||||
pify@2.3.0: {}
|
||||
|
||||
pirates@4.0.6: {}
|
||||
|
||||
postcss-import@15.1.0(postcss@8.5.3):
|
||||
dependencies:
|
||||
postcss: 8.5.3
|
||||
postcss-value-parser: 4.2.0
|
||||
read-cache: 1.0.0
|
||||
resolve: 1.22.10
|
||||
|
||||
postcss-js@4.0.1(postcss@8.5.3):
|
||||
dependencies:
|
||||
camelcase-css: 2.0.1
|
||||
postcss: 8.5.3
|
||||
|
||||
postcss-load-config@3.1.4(postcss@8.5.3):
|
||||
postcss-load-config@3.1.4(postcss@8.5.6):
|
||||
dependencies:
|
||||
lilconfig: 2.1.0
|
||||
yaml: 1.10.2
|
||||
optionalDependencies:
|
||||
postcss: 8.5.3
|
||||
postcss: 8.5.6
|
||||
|
||||
postcss-load-config@4.0.2(postcss@8.5.3):
|
||||
postcss-safe-parser@7.0.1(postcss@8.5.6):
|
||||
dependencies:
|
||||
lilconfig: 3.1.3
|
||||
yaml: 2.7.0
|
||||
optionalDependencies:
|
||||
postcss: 8.5.3
|
||||
postcss: 8.5.6
|
||||
|
||||
postcss-nested@6.2.0(postcss@8.5.3):
|
||||
postcss-scss@4.0.9(postcss@8.5.6):
|
||||
dependencies:
|
||||
postcss: 8.5.3
|
||||
postcss-selector-parser: 6.1.2
|
||||
postcss: 8.5.6
|
||||
|
||||
postcss-safe-parser@6.0.0(postcss@8.5.3):
|
||||
dependencies:
|
||||
postcss: 8.5.3
|
||||
|
||||
postcss-scss@4.0.9(postcss@8.5.3):
|
||||
dependencies:
|
||||
postcss: 8.5.3
|
||||
|
||||
postcss-selector-parser@6.0.10:
|
||||
postcss-selector-parser@7.1.0:
|
||||
dependencies:
|
||||
cssesc: 3.0.0
|
||||
util-deprecate: 1.0.2
|
||||
|
||||
postcss-selector-parser@6.1.2:
|
||||
postcss@8.5.6:
|
||||
dependencies:
|
||||
cssesc: 3.0.0
|
||||
util-deprecate: 1.0.2
|
||||
|
||||
postcss-value-parser@4.2.0: {}
|
||||
|
||||
postcss@8.5.3:
|
||||
dependencies:
|
||||
nanoid: 3.3.8
|
||||
nanoid: 3.3.11
|
||||
picocolors: 1.1.1
|
||||
source-map-js: 1.2.1
|
||||
|
||||
prelude-ls@1.2.1: {}
|
||||
|
||||
prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.20):
|
||||
prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.38.2):
|
||||
dependencies:
|
||||
prettier: 3.3.3
|
||||
svelte: 4.2.20
|
||||
prettier: 3.6.2
|
||||
svelte: 5.38.2
|
||||
|
||||
prettier-plugin-tailwindcss@0.6.6(prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.20))(prettier@3.3.3):
|
||||
prettier-plugin-tailwindcss@0.6.14(prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.38.2))(prettier@3.6.2):
|
||||
dependencies:
|
||||
prettier: 3.3.3
|
||||
prettier: 3.6.2
|
||||
optionalDependencies:
|
||||
prettier-plugin-svelte: 3.2.6(prettier@3.3.3)(svelte@4.2.20)
|
||||
prettier-plugin-svelte: 3.4.0(prettier@3.6.2)(svelte@5.38.2)
|
||||
|
||||
prettier@3.3.3: {}
|
||||
prettier@3.6.2: {}
|
||||
|
||||
prism-svelte@0.4.7: {}
|
||||
|
||||
prismjs@1.29.0: {}
|
||||
|
||||
process-nextick-args@2.0.1: {}
|
||||
|
||||
property-information@7.0.0: {}
|
||||
prismjs@1.30.0: {}
|
||||
|
||||
punycode@2.3.1: {}
|
||||
|
||||
queue-microtask@1.2.3: {}
|
||||
|
||||
read-cache@1.0.0:
|
||||
dependencies:
|
||||
pify: 2.3.0
|
||||
|
||||
readable-stream@2.3.8:
|
||||
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
|
||||
|
||||
readdirp@3.6.0:
|
||||
dependencies:
|
||||
picomatch: 2.3.1
|
||||
|
||||
readdirp@4.1.2: {}
|
||||
|
||||
regex-recursion@6.0.2:
|
||||
dependencies:
|
||||
regex-utilities: 2.3.0
|
||||
|
||||
regex-utilities@2.3.0: {}
|
||||
|
||||
regex@6.0.1:
|
||||
dependencies:
|
||||
regex-utilities: 2.3.0
|
||||
|
||||
rehype-autolink-headings@7.1.0:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
'@ungap/structured-clone': 1.3.0
|
||||
hast-util-heading-rank: 3.0.0
|
||||
hast-util-is-element: 3.0.0
|
||||
unified: 11.0.5
|
||||
unist-util-visit: 5.0.0
|
||||
|
||||
rehype-parse@9.0.1:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
hast-util-from-html: 2.0.3
|
||||
unified: 11.0.5
|
||||
|
||||
rehype-pretty-code@0.12.6(shikiji@0.10.2):
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
hast-util-to-string: 3.0.1
|
||||
parse-numeric-range: 1.3.0
|
||||
rehype-parse: 9.0.1
|
||||
shikiji: 0.10.2
|
||||
unified: 11.0.5
|
||||
unist-util-visit: 5.0.0
|
||||
|
||||
rehype-slug@6.0.0:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
github-slugger: 2.0.0
|
||||
hast-util-heading-rank: 3.0.0
|
||||
hast-util-to-string: 3.0.1
|
||||
unist-util-visit: 5.0.0
|
||||
|
||||
rehype-stringify@10.0.1:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
hast-util-to-html: 9.0.5
|
||||
unified: 11.0.5
|
||||
|
||||
remark-gfm@4.0.1:
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
mdast-util-gfm: 3.1.0
|
||||
micromark-extension-gfm: 3.0.0
|
||||
remark-parse: 11.0.0
|
||||
remark-stringify: 11.0.0
|
||||
unified: 11.0.5
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
remark-parse@11.0.0:
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
mdast-util-from-markdown: 2.0.2
|
||||
micromark-util-types: 2.0.1
|
||||
unified: 11.0.5
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
remark-rehype@11.1.1:
|
||||
dependencies:
|
||||
'@types/hast': 3.0.4
|
||||
'@types/mdast': 4.0.4
|
||||
mdast-util-to-hast: 13.2.0
|
||||
unified: 11.0.5
|
||||
vfile: 6.0.3
|
||||
|
||||
remark-stringify@11.0.0:
|
||||
dependencies:
|
||||
'@types/mdast': 4.0.4
|
||||
mdast-util-to-markdown: 2.1.2
|
||||
unified: 11.0.5
|
||||
|
||||
require-directory@2.1.1: {}
|
||||
|
||||
resolve-from@4.0.0: {}
|
||||
|
||||
resolve@1.22.10:
|
||||
dependencies:
|
||||
is-core-module: 2.16.1
|
||||
path-parse: 1.0.7
|
||||
supports-preserve-symlinks-flag: 1.0.0
|
||||
|
||||
reusify@1.1.0: {}
|
||||
|
||||
rollup@4.34.8:
|
||||
rollup@4.46.4:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.6
|
||||
'@types/estree': 1.0.8
|
||||
optionalDependencies:
|
||||
'@rollup/rollup-android-arm-eabi': 4.34.8
|
||||
'@rollup/rollup-android-arm64': 4.34.8
|
||||
'@rollup/rollup-darwin-arm64': 4.34.8
|
||||
'@rollup/rollup-darwin-x64': 4.34.8
|
||||
'@rollup/rollup-freebsd-arm64': 4.34.8
|
||||
'@rollup/rollup-freebsd-x64': 4.34.8
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.34.8
|
||||
'@rollup/rollup-linux-arm-musleabihf': 4.34.8
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.34.8
|
||||
'@rollup/rollup-linux-arm64-musl': 4.34.8
|
||||
'@rollup/rollup-linux-loongarch64-gnu': 4.34.8
|
||||
'@rollup/rollup-linux-powerpc64le-gnu': 4.34.8
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.34.8
|
||||
'@rollup/rollup-linux-s390x-gnu': 4.34.8
|
||||
'@rollup/rollup-linux-x64-gnu': 4.34.8
|
||||
'@rollup/rollup-linux-x64-musl': 4.34.8
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.34.8
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.34.8
|
||||
'@rollup/rollup-win32-x64-msvc': 4.34.8
|
||||
'@rollup/rollup-android-arm-eabi': 4.46.4
|
||||
'@rollup/rollup-android-arm64': 4.46.4
|
||||
'@rollup/rollup-darwin-arm64': 4.46.4
|
||||
'@rollup/rollup-darwin-x64': 4.46.4
|
||||
'@rollup/rollup-freebsd-arm64': 4.46.4
|
||||
'@rollup/rollup-freebsd-x64': 4.46.4
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.46.4
|
||||
'@rollup/rollup-linux-arm-musleabihf': 4.46.4
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.46.4
|
||||
'@rollup/rollup-linux-arm64-musl': 4.46.4
|
||||
'@rollup/rollup-linux-loongarch64-gnu': 4.46.4
|
||||
'@rollup/rollup-linux-ppc64-gnu': 4.46.4
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.46.4
|
||||
'@rollup/rollup-linux-riscv64-musl': 4.46.4
|
||||
'@rollup/rollup-linux-s390x-gnu': 4.46.4
|
||||
'@rollup/rollup-linux-x64-gnu': 4.46.4
|
||||
'@rollup/rollup-linux-x64-musl': 4.46.4
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.46.4
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.46.4
|
||||
'@rollup/rollup-win32-x64-msvc': 4.46.4
|
||||
fsevents: 2.3.3
|
||||
|
||||
run-parallel@1.2.0:
|
||||
dependencies:
|
||||
queue-microtask: 1.2.3
|
||||
|
||||
rxjs@7.8.2:
|
||||
dependencies:
|
||||
tslib: 2.7.0
|
||||
|
||||
sade@1.8.1:
|
||||
dependencies:
|
||||
mri: 1.2.0
|
||||
|
||||
safe-buffer@5.1.2: {}
|
||||
|
||||
sax@1.4.1: {}
|
||||
|
||||
semver@6.3.1: {}
|
||||
|
||||
semver@7.7.1: {}
|
||||
semver@7.7.2: {}
|
||||
|
||||
set-cookie-parser@2.7.1: {}
|
||||
|
||||
setimmediate@1.0.5: {}
|
||||
|
||||
shebang-command@2.0.0:
|
||||
dependencies:
|
||||
shebang-regex: 3.0.0
|
||||
|
||||
shebang-regex@3.0.0: {}
|
||||
|
||||
shell-quote@1.8.2: {}
|
||||
|
||||
shiki@3.7.0:
|
||||
sirv@3.0.1:
|
||||
dependencies:
|
||||
'@shikijs/core': 3.7.0
|
||||
'@shikijs/engine-javascript': 3.7.0
|
||||
'@shikijs/engine-oniguruma': 3.7.0
|
||||
'@shikijs/langs': 3.7.0
|
||||
'@shikijs/themes': 3.7.0
|
||||
'@shikijs/types': 3.7.0
|
||||
'@shikijs/vscode-textmate': 10.0.2
|
||||
'@types/hast': 3.0.4
|
||||
|
||||
shikiji-core@0.10.2: {}
|
||||
|
||||
shikiji@0.10.2:
|
||||
dependencies:
|
||||
shikiji-core: 0.10.2
|
||||
|
||||
siginfo@2.0.0: {}
|
||||
|
||||
signal-exit@4.1.0: {}
|
||||
|
||||
sirv@2.0.4:
|
||||
dependencies:
|
||||
'@polka/url': 1.0.0-next.28
|
||||
'@polka/url': 1.0.0-next.29
|
||||
mrmime: 2.0.1
|
||||
totalist: 3.0.1
|
||||
|
||||
snake-case@3.0.4:
|
||||
dependencies:
|
||||
dot-case: 3.0.4
|
||||
tslib: 2.7.0
|
||||
|
||||
source-map-js@1.2.1: {}
|
||||
|
||||
space-separated-tokens@2.0.2: {}
|
||||
|
||||
stackback@0.0.2: {}
|
||||
|
||||
std-env@3.8.0: {}
|
||||
|
||||
string-width@4.2.3:
|
||||
dependencies:
|
||||
emoji-regex: 8.0.0
|
||||
is-fullwidth-code-point: 3.0.0
|
||||
strip-ansi: 6.0.1
|
||||
|
||||
string-width@5.1.2:
|
||||
dependencies:
|
||||
eastasianwidth: 0.2.0
|
||||
emoji-regex: 9.2.2
|
||||
strip-ansi: 7.1.0
|
||||
|
||||
string_decoder@1.1.1:
|
||||
dependencies:
|
||||
safe-buffer: 5.1.2
|
||||
|
||||
stringify-entities@4.0.4:
|
||||
dependencies:
|
||||
character-entities-html4: 2.1.0
|
||||
character-entities-legacy: 3.0.0
|
||||
|
||||
strip-ansi@6.0.1:
|
||||
dependencies:
|
||||
ansi-regex: 5.0.1
|
||||
|
||||
strip-ansi@7.1.0:
|
||||
dependencies:
|
||||
ansi-regex: 6.1.0
|
||||
|
||||
strip-json-comments@3.1.1: {}
|
||||
|
||||
sucrase@3.35.0:
|
||||
dependencies:
|
||||
'@jridgewell/gen-mapping': 0.3.8
|
||||
commander: 4.1.1
|
||||
glob: 10.4.5
|
||||
lines-and-columns: 1.2.4
|
||||
mz: 2.7.0
|
||||
pirates: 4.0.6
|
||||
ts-interface-checker: 0.1.13
|
||||
|
||||
supports-color@7.2.0:
|
||||
dependencies:
|
||||
has-flag: 4.0.0
|
||||
|
||||
supports-color@8.1.1:
|
||||
svelte-check@4.3.1(picomatch@4.0.3)(svelte@5.38.2)(typescript@5.9.2):
|
||||
dependencies:
|
||||
has-flag: 4.0.0
|
||||
|
||||
supports-preserve-symlinks-flag@1.0.0: {}
|
||||
|
||||
svelte-check@4.0.9(picomatch@4.0.2)(svelte@4.2.20)(typescript@5.6.2):
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
'@jridgewell/trace-mapping': 0.3.30
|
||||
chokidar: 4.0.3
|
||||
fdir: 6.4.3(picomatch@4.0.2)
|
||||
fdir: 6.5.0(picomatch@4.0.3)
|
||||
picocolors: 1.1.1
|
||||
sade: 1.8.1
|
||||
svelte: 4.2.20
|
||||
typescript: 5.6.2
|
||||
svelte: 5.38.2
|
||||
typescript: 5.9.2
|
||||
transitivePeerDependencies:
|
||||
- picomatch
|
||||
|
||||
svelte-eslint-parser@0.41.1(svelte@4.2.20):
|
||||
svelte-eslint-parser@1.3.1(svelte@5.38.2):
|
||||
dependencies:
|
||||
eslint-scope: 7.2.2
|
||||
eslint-visitor-keys: 3.4.3
|
||||
espree: 9.6.1
|
||||
postcss: 8.5.3
|
||||
postcss-scss: 4.0.9(postcss@8.5.3)
|
||||
eslint-scope: 8.4.0
|
||||
eslint-visitor-keys: 4.2.1
|
||||
espree: 10.4.0
|
||||
postcss: 8.5.6
|
||||
postcss-scss: 4.0.9(postcss@8.5.6)
|
||||
postcss-selector-parser: 7.1.0
|
||||
optionalDependencies:
|
||||
svelte: 4.2.20
|
||||
svelte: 5.38.2
|
||||
|
||||
svelte-hmr@0.16.0(svelte@4.2.20):
|
||||
svelte@5.38.2:
|
||||
dependencies:
|
||||
svelte: 4.2.20
|
||||
|
||||
svelte-sonner@0.3.28(svelte@4.2.20):
|
||||
dependencies:
|
||||
svelte: 4.2.20
|
||||
|
||||
svelte@4.2.20:
|
||||
dependencies:
|
||||
'@ampproject/remapping': 2.3.0
|
||||
'@jridgewell/sourcemap-codec': 1.5.0
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
'@types/estree': 1.0.6
|
||||
acorn: 8.14.0
|
||||
'@jridgewell/remapping': 2.3.5
|
||||
'@jridgewell/sourcemap-codec': 1.5.5
|
||||
'@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0)
|
||||
'@types/estree': 1.0.8
|
||||
acorn: 8.15.0
|
||||
aria-query: 5.3.2
|
||||
axobject-query: 4.1.0
|
||||
code-red: 1.0.4
|
||||
css-tree: 2.3.1
|
||||
estree-walker: 3.0.3
|
||||
clsx: 2.1.1
|
||||
esm-env: 1.2.2
|
||||
esrap: 2.1.0
|
||||
is-reference: 3.0.3
|
||||
locate-character: 3.0.0
|
||||
magic-string: 0.30.17
|
||||
periscopic: 3.1.0
|
||||
zimmerframe: 1.1.2
|
||||
|
||||
sveltekit-search-params@3.0.0(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)):
|
||||
tailwindcss@4.1.12: {}
|
||||
|
||||
tapable@2.2.2: {}
|
||||
|
||||
tar@7.4.3:
|
||||
dependencies:
|
||||
'@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5)))(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5))
|
||||
'@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.20)(vite@5.4.7(@types/node@22.5.5))
|
||||
svelte: 4.2.20
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- vite
|
||||
'@isaacs/fs-minipass': 4.0.1
|
||||
chownr: 3.0.0
|
||||
minipass: 7.1.2
|
||||
minizlib: 3.0.2
|
||||
mkdirp: 3.0.1
|
||||
yallist: 5.0.0
|
||||
|
||||
svg-parser@2.0.4: {}
|
||||
|
||||
svgo@4.0.0:
|
||||
tinyglobby@0.2.14:
|
||||
dependencies:
|
||||
commander: 11.1.0
|
||||
css-select: 5.2.2
|
||||
css-tree: 3.1.0
|
||||
css-what: 6.2.2
|
||||
csso: 5.0.5
|
||||
picocolors: 1.1.1
|
||||
sax: 1.4.1
|
||||
|
||||
tabbable@6.2.0: {}
|
||||
|
||||
tailwind-merge@2.5.4: {}
|
||||
|
||||
tailwind-merge@2.6.0: {}
|
||||
|
||||
tailwind-variants@0.3.1(tailwindcss@3.4.17):
|
||||
dependencies:
|
||||
tailwind-merge: 2.5.4
|
||||
tailwindcss: 3.4.17
|
||||
|
||||
tailwindcss@3.4.17:
|
||||
dependencies:
|
||||
'@alloc/quick-lru': 5.2.0
|
||||
arg: 5.0.2
|
||||
chokidar: 3.6.0
|
||||
didyoumean: 1.2.2
|
||||
dlv: 1.1.3
|
||||
fast-glob: 3.3.3
|
||||
glob-parent: 6.0.2
|
||||
is-glob: 4.0.3
|
||||
jiti: 1.21.7
|
||||
lilconfig: 3.1.3
|
||||
micromatch: 4.0.8
|
||||
normalize-path: 3.0.0
|
||||
object-hash: 3.0.0
|
||||
picocolors: 1.1.1
|
||||
postcss: 8.5.3
|
||||
postcss-import: 15.1.0(postcss@8.5.3)
|
||||
postcss-js: 4.0.1(postcss@8.5.3)
|
||||
postcss-load-config: 4.0.2(postcss@8.5.3)
|
||||
postcss-nested: 6.2.0(postcss@8.5.3)
|
||||
postcss-selector-parser: 6.1.2
|
||||
resolve: 1.22.10
|
||||
sucrase: 3.35.0
|
||||
transitivePeerDependencies:
|
||||
- ts-node
|
||||
|
||||
text-table@0.2.0: {}
|
||||
|
||||
thenify-all@1.6.0:
|
||||
dependencies:
|
||||
thenify: 3.3.1
|
||||
|
||||
thenify@3.3.1:
|
||||
dependencies:
|
||||
any-promise: 1.3.0
|
||||
|
||||
tiny-glob@0.2.9:
|
||||
dependencies:
|
||||
globalyzer: 0.1.0
|
||||
globrex: 0.1.2
|
||||
|
||||
tinybench@2.9.0: {}
|
||||
|
||||
tinyexec@0.3.2: {}
|
||||
|
||||
tinypool@1.0.2: {}
|
||||
|
||||
tinyrainbow@1.2.0: {}
|
||||
|
||||
tinyspy@3.0.2: {}
|
||||
fdir: 6.5.0(picomatch@4.0.3)
|
||||
picomatch: 4.0.3
|
||||
|
||||
to-regex-range@5.0.1:
|
||||
dependencies:
|
||||
@@ -5305,234 +2567,82 @@ snapshots:
|
||||
|
||||
totalist@3.0.1: {}
|
||||
|
||||
tree-kill@1.2.2: {}
|
||||
|
||||
trim-lines@3.0.1: {}
|
||||
|
||||
trough@2.2.0: {}
|
||||
|
||||
ts-api-utils@1.4.3(typescript@5.6.2):
|
||||
ts-api-utils@2.1.0(typescript@5.9.2):
|
||||
dependencies:
|
||||
typescript: 5.6.2
|
||||
|
||||
ts-interface-checker@0.1.13: {}
|
||||
|
||||
tslib@2.7.0: {}
|
||||
|
||||
tslib@2.8.1: {}
|
||||
typescript: 5.9.2
|
||||
|
||||
type-check@0.4.0:
|
||||
dependencies:
|
||||
prelude-ls: 1.2.1
|
||||
|
||||
typescript-eslint@8.6.0(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2):
|
||||
typescript-eslint@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2):
|
||||
dependencies:
|
||||
'@typescript-eslint/eslint-plugin': 8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2))(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2)
|
||||
'@typescript-eslint/parser': 8.6.0(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2)
|
||||
'@typescript-eslint/utils': 8.6.0(eslint@9.11.0(jiti@1.21.7))(typescript@5.6.2)
|
||||
optionalDependencies:
|
||||
typescript: 5.6.2
|
||||
'@typescript-eslint/eslint-plugin': 8.40.0(@typescript-eslint/parser@8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)
|
||||
'@typescript-eslint/parser': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)
|
||||
'@typescript-eslint/typescript-estree': 8.40.0(typescript@5.9.2)
|
||||
'@typescript-eslint/utils': 8.40.0(eslint@9.33.0(jiti@2.5.1))(typescript@5.9.2)
|
||||
eslint: 9.33.0(jiti@2.5.1)
|
||||
typescript: 5.9.2
|
||||
transitivePeerDependencies:
|
||||
- eslint
|
||||
- supports-color
|
||||
|
||||
typescript@5.6.2: {}
|
||||
|
||||
uncrypto@0.1.3: {}
|
||||
|
||||
undici-types@6.19.8: {}
|
||||
|
||||
unified@11.0.5:
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
bail: 2.0.2
|
||||
devlop: 1.1.0
|
||||
extend: 3.0.2
|
||||
is-plain-obj: 4.1.0
|
||||
trough: 2.2.0
|
||||
vfile: 6.0.3
|
||||
typescript@5.9.2: {}
|
||||
|
||||
unist-util-is@4.1.0: {}
|
||||
|
||||
unist-util-is@6.0.0:
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
|
||||
unist-util-position@5.0.0:
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
|
||||
unist-util-stringify-position@2.0.3:
|
||||
dependencies:
|
||||
'@types/unist': 2.0.11
|
||||
|
||||
unist-util-stringify-position@4.0.0:
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
|
||||
unist-util-visit-parents@3.1.1:
|
||||
dependencies:
|
||||
'@types/unist': 2.0.11
|
||||
unist-util-is: 4.1.0
|
||||
|
||||
unist-util-visit-parents@6.0.1:
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
unist-util-is: 6.0.0
|
||||
|
||||
unist-util-visit@2.0.3:
|
||||
dependencies:
|
||||
'@types/unist': 2.0.11
|
||||
unist-util-is: 4.1.0
|
||||
unist-util-visit-parents: 3.1.1
|
||||
|
||||
unist-util-visit@5.0.0:
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
unist-util-is: 6.0.0
|
||||
unist-util-visit-parents: 6.0.1
|
||||
|
||||
update-browserslist-db@1.1.2(browserslist@4.24.4):
|
||||
dependencies:
|
||||
browserslist: 4.24.4
|
||||
escalade: 3.2.0
|
||||
picocolors: 1.1.1
|
||||
|
||||
uri-js@4.4.1:
|
||||
dependencies:
|
||||
punycode: 2.3.1
|
||||
|
||||
util-deprecate@1.0.2: {}
|
||||
|
||||
vfile-location@5.0.3:
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
vfile: 6.0.3
|
||||
|
||||
vfile-message@2.0.4:
|
||||
dependencies:
|
||||
'@types/unist': 2.0.11
|
||||
unist-util-stringify-position: 2.0.3
|
||||
|
||||
vfile-message@4.0.2:
|
||||
vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1):
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
unist-util-stringify-position: 4.0.0
|
||||
|
||||
vfile@6.0.3:
|
||||
dependencies:
|
||||
'@types/unist': 3.0.3
|
||||
vfile-message: 4.0.2
|
||||
|
||||
vite-node@2.1.1(@types/node@22.5.5):
|
||||
dependencies:
|
||||
cac: 6.7.14
|
||||
debug: 4.4.0
|
||||
pathe: 1.1.2
|
||||
vite: 5.4.7(@types/node@22.5.5)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- less
|
||||
- lightningcss
|
||||
- sass
|
||||
- sass-embedded
|
||||
- stylus
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
|
||||
vite@5.4.7(@types/node@22.5.5):
|
||||
dependencies:
|
||||
esbuild: 0.21.5
|
||||
postcss: 8.5.3
|
||||
rollup: 4.34.8
|
||||
esbuild: 0.25.9
|
||||
fdir: 6.5.0(picomatch@4.0.3)
|
||||
picomatch: 4.0.3
|
||||
postcss: 8.5.6
|
||||
rollup: 4.46.4
|
||||
tinyglobby: 0.2.14
|
||||
optionalDependencies:
|
||||
'@types/node': 22.5.5
|
||||
fsevents: 2.3.3
|
||||
jiti: 2.5.1
|
||||
lightningcss: 1.30.1
|
||||
|
||||
vitefu@0.2.5(vite@5.4.7(@types/node@22.5.5)):
|
||||
vitefu@1.1.1(vite@7.1.3(jiti@2.5.1)(lightningcss@1.30.1)):
|
||||
optionalDependencies:
|
||||
vite: 5.4.7(@types/node@22.5.5)
|
||||
|
||||
vitest@2.1.1(@types/node@22.5.5):
|
||||
dependencies:
|
||||
'@vitest/expect': 2.1.1
|
||||
'@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(vite@5.4.7(@types/node@22.5.5))
|
||||
'@vitest/pretty-format': 2.1.9
|
||||
'@vitest/runner': 2.1.1
|
||||
'@vitest/snapshot': 2.1.1
|
||||
'@vitest/spy': 2.1.1
|
||||
'@vitest/utils': 2.1.1
|
||||
chai: 5.2.0
|
||||
debug: 4.4.0
|
||||
magic-string: 0.30.17
|
||||
pathe: 1.1.2
|
||||
std-env: 3.8.0
|
||||
tinybench: 2.9.0
|
||||
tinyexec: 0.3.2
|
||||
tinypool: 1.0.2
|
||||
tinyrainbow: 1.2.0
|
||||
vite: 5.4.7(@types/node@22.5.5)
|
||||
vite-node: 2.1.1(@types/node@22.5.5)
|
||||
why-is-node-running: 2.3.0
|
||||
optionalDependencies:
|
||||
'@types/node': 22.5.5
|
||||
transitivePeerDependencies:
|
||||
- less
|
||||
- lightningcss
|
||||
- msw
|
||||
- sass
|
||||
- sass-embedded
|
||||
- stylus
|
||||
- sugarss
|
||||
- supports-color
|
||||
- terser
|
||||
|
||||
web-namespaces@2.0.1: {}
|
||||
vite: 7.1.3(jiti@2.5.1)(lightningcss@1.30.1)
|
||||
|
||||
which@2.0.2:
|
||||
dependencies:
|
||||
isexe: 2.0.0
|
||||
|
||||
why-is-node-running@2.3.0:
|
||||
dependencies:
|
||||
siginfo: 2.0.0
|
||||
stackback: 0.0.2
|
||||
|
||||
word-wrap@1.2.5: {}
|
||||
|
||||
wrap-ansi@7.0.0:
|
||||
dependencies:
|
||||
ansi-styles: 4.3.0
|
||||
string-width: 4.2.3
|
||||
strip-ansi: 6.0.1
|
||||
|
||||
wrap-ansi@8.1.0:
|
||||
dependencies:
|
||||
ansi-styles: 6.2.1
|
||||
string-width: 5.1.2
|
||||
strip-ansi: 7.1.0
|
||||
|
||||
y18n@5.0.8: {}
|
||||
|
||||
yallist@3.1.1: {}
|
||||
yallist@5.0.0: {}
|
||||
|
||||
yaml@1.10.2: {}
|
||||
|
||||
yaml@2.7.0: {}
|
||||
|
||||
yargs-parser@21.1.1: {}
|
||||
|
||||
yargs@17.7.2:
|
||||
dependencies:
|
||||
cliui: 8.0.1
|
||||
escalade: 3.2.0
|
||||
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
|
||||
|
||||
yocto-queue@0.1.0: {}
|
||||
|
||||
zwitch@2.0.4: {}
|
||||
zimmerframe@1.1.2: {}
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
export default {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {}
|
||||
}
|
||||
};
|
||||
+13
-10
@@ -1,12 +1,15 @@
|
||||
/** @type {import("prettier").Config} */
|
||||
const config = {
|
||||
useTabs: false,
|
||||
singleQuote: true,
|
||||
trailingComma: 'none',
|
||||
printWidth: 100,
|
||||
plugins: ['prettier-plugin-svelte', 'prettier-plugin-tailwindcss'],
|
||||
pluginSearchDirs: ['.'],
|
||||
overrides: [{ files: '*.svelte', options: { parser: 'svelte' } }]
|
||||
/** @type {import('prettier').Config & import('prettier-plugin-tailwindcss').PluginOptions} */
|
||||
const prettierConfig = {
|
||||
plugins: ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
|
||||
tailwindStylesheet: "./src/styles/globals.css",
|
||||
overrides: [
|
||||
{
|
||||
files: "*.svelte",
|
||||
options: {
|
||||
parser: "svelte",
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export default config;
|
||||
export default prettierConfig;
|
||||
|
||||
Vendored
+2
-1
@@ -1,10 +1,11 @@
|
||||
// See https://kit.svelte.dev/docs/types#app
|
||||
// See https://svelte.dev/docs/kit/types#app.d.ts
|
||||
// for information about these interfaces
|
||||
declare global {
|
||||
namespace App {
|
||||
// interface Error {}
|
||||
// interface Locals {}
|
||||
// interface PageData {}
|
||||
// interface PageState {}
|
||||
// interface Platform {}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-30
@@ -2,37 +2,10 @@
|
||||
<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" />
|
||||
<link rel="icon" type="image/ico" href="%sveltekit.assets%/images/logo_ico.ico" />
|
||||
|
||||
<!-- OG -->
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="svgl" />
|
||||
<meta property="og:description" content="A beautiful library with SVG logos" />
|
||||
<meta property="og:url" content="https://svgl.app" />
|
||||
<meta property="og:image" content="https://svgl.app/images/screenshot.png" />
|
||||
|
||||
<!-- Twitter -->
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="Svgl" />
|
||||
<meta name="twitter:description" content="A beautiful library with SVG logos" />
|
||||
<meta name="twitter:creator" content="@pheralb_" />
|
||||
<meta name="twitter:image" content="https://svgl.app/images/screenshot.png" />
|
||||
|
||||
<!-- Title -->
|
||||
<title>A beautiful library with SVG logos - Svgl</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
%sveltekit.head%
|
||||
</head>
|
||||
<body
|
||||
data-sveltekit-preload-data="hover"
|
||||
class="min-h-screen scroll-smooth overscroll-none bg-white font-sans text-mini antialiased [text-rendering:optimizeLegibility;] selection:bg-neutral-200 dark:bg-dark dark:text-white dark:selection:bg-neutral-700"
|
||||
>
|
||||
<div>%sveltekit.body%</div>
|
||||
<body data-sveltekit-preload-data="hover">
|
||||
<div style="display: contents">%sveltekit.body%</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
<div class="container mx-auto px-6 pt-4 xl:px-[18px]">
|
||||
<slot />
|
||||
</div>
|
||||
@@ -1,514 +0,0 @@
|
||||
<script lang="ts">
|
||||
import type { iSVG } from '@/types/svg';
|
||||
|
||||
import { ClipboardIcon, CopyIcon, Loader, X } from 'lucide-svelte';
|
||||
import { toast } from 'svelte-sonner';
|
||||
|
||||
import * as Popover from '@/ui/popover';
|
||||
import * as Tabs from '@/ui/tabs';
|
||||
import { buttonStyles } from '@/ui/styles';
|
||||
|
||||
// Utils:
|
||||
import { cn } from '@/utils/cn';
|
||||
import { clipboard } from '@/utils/clipboard';
|
||||
import { copyToClipboard as figmaCopyToClipboard } from '@/figma/copy-to-clipboard';
|
||||
import { getPrefixFromSvgUrl, prefixSvgIds } from '@/utils/prefixSvgIds';
|
||||
|
||||
// Templates:
|
||||
import { getSource } from '@/templates/getSource';
|
||||
import { getReactCode } from '@/templates/getReactCode';
|
||||
import { getVueCode } from '@/templates/getVueCode';
|
||||
import { getSvelteCode } from '@/templates/getSvelteCode';
|
||||
import { getAngularCode } from '@/templates/getAngularCode';
|
||||
import { getWebComponent } from '@/templates/getWebComponent';
|
||||
import { getAstroCode } from '@/templates/getAstroCode';
|
||||
|
||||
//Icons:
|
||||
import ReactIcon from '@/components/icons/reactIcon.svelte';
|
||||
import VueIcon from '@/components/icons/vueIcon.svelte';
|
||||
import SvelteIcon from '@/components/icons/svelteIcon.svelte';
|
||||
import AngularIcon from '@/components/icons/angularIcon.svelte';
|
||||
import WebComponentIcon from '@/components/icons/webComponentIcon.svelte';
|
||||
import AstroIcon from '@/components/icons/astroIcon.svelte';
|
||||
|
||||
// Props:
|
||||
export let iconSize = 24;
|
||||
export let iconStroke = 2;
|
||||
export let isInFigma = false;
|
||||
export let isWordmarkSvg = false;
|
||||
export let svgInfo: iSVG;
|
||||
|
||||
// Variables:
|
||||
let optionsOpen = false;
|
||||
let isLoading = false;
|
||||
|
||||
const getSvgUrl = () => {
|
||||
let svgUrlToCopy;
|
||||
const dark = document.documentElement.classList.contains('dark');
|
||||
|
||||
if (isWordmarkSvg) {
|
||||
const svgHasTheme = typeof svgInfo.wordmark !== 'string';
|
||||
if (!svgHasTheme) {
|
||||
svgUrlToCopy =
|
||||
typeof svgInfo.wordmark === 'string'
|
||||
? svgInfo.wordmark
|
||||
: "Something went wrong. Couldn't copy the SVG.";
|
||||
}
|
||||
|
||||
svgUrlToCopy =
|
||||
typeof svgInfo.wordmark !== 'string'
|
||||
? dark
|
||||
? svgInfo.wordmark?.dark
|
||||
: svgInfo.wordmark?.light
|
||||
: svgInfo.wordmark;
|
||||
} else {
|
||||
const svgHasTheme = typeof svgInfo.route !== 'string';
|
||||
if (!svgHasTheme) {
|
||||
svgUrlToCopy =
|
||||
typeof svgInfo.route === 'string'
|
||||
? svgInfo.route
|
||||
: "Something went wrong. Couldn't copy the SVG.";
|
||||
}
|
||||
svgUrlToCopy =
|
||||
typeof svgInfo.route !== 'string'
|
||||
? dark
|
||||
? svgInfo.route.dark
|
||||
: svgInfo.route.light
|
||||
: svgInfo.route;
|
||||
}
|
||||
|
||||
return svgUrlToCopy;
|
||||
};
|
||||
|
||||
// Copy SVG to clipboard:
|
||||
const copyToClipboard = async () => {
|
||||
const svgUrlToCopy = getSvgUrl();
|
||||
optionsOpen = false;
|
||||
|
||||
let content = await getSource({
|
||||
url: svgUrlToCopy
|
||||
});
|
||||
|
||||
if (svgUrlToCopy) {
|
||||
content = prefixSvgIds(content, getPrefixFromSvgUrl(svgUrlToCopy));
|
||||
}
|
||||
|
||||
if (isInFigma) {
|
||||
figmaCopyToClipboard(content);
|
||||
}
|
||||
|
||||
await clipboard(content);
|
||||
|
||||
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 (isWordmarkSvg) {
|
||||
toast.success('Copied wordmark SVG to clipboard', {
|
||||
description: `${svgInfo.title} - ${category}`
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
toast.success('Copied to clipboard', {
|
||||
description: `${svgInfo.title} - ${category}`
|
||||
});
|
||||
};
|
||||
|
||||
// Convert SVG as React component:
|
||||
const convertSvgReactComponent = async (tsx: boolean) => {
|
||||
const svgUrlToCopy = getSvgUrl();
|
||||
optionsOpen = false;
|
||||
|
||||
isLoading = true;
|
||||
|
||||
const title = svgInfo.title.split(' ').join('');
|
||||
let content = await getSource({
|
||||
url: svgUrlToCopy
|
||||
});
|
||||
|
||||
if (svgUrlToCopy) {
|
||||
content = prefixSvgIds(content, getPrefixFromSvgUrl(svgUrlToCopy));
|
||||
}
|
||||
|
||||
const dataComponent = { code: content, typescript: tsx, name: title };
|
||||
const { data, error } = await getReactCode(dataComponent);
|
||||
|
||||
if (error || !data) {
|
||||
toast.error('Failed to fetch React component', {
|
||||
description: `${error ?? ''}`,
|
||||
duration: 5000
|
||||
});
|
||||
isLoading = false;
|
||||
return;
|
||||
}
|
||||
|
||||
await clipboard(data);
|
||||
|
||||
toast.success(`Copied as React ${tsx ? 'TSX' : 'JSX'} component`, {
|
||||
description: `${svgInfo.title} - ${svgInfo.category}`
|
||||
});
|
||||
|
||||
isLoading = false;
|
||||
};
|
||||
|
||||
// Copy SVG as Vue Component:
|
||||
const convertSvgVueComponent = async (ts: boolean) => {
|
||||
try {
|
||||
const svgUrlToCopy = getSvgUrl();
|
||||
|
||||
optionsOpen = false;
|
||||
|
||||
let content = await getSource({
|
||||
url: svgUrlToCopy
|
||||
});
|
||||
|
||||
if (svgUrlToCopy) {
|
||||
content = prefixSvgIds(content, getPrefixFromSvgUrl(svgUrlToCopy));
|
||||
}
|
||||
|
||||
const copyCode = getVueCode({
|
||||
content: content,
|
||||
lang: ts ? 'ts' : 'js'
|
||||
});
|
||||
|
||||
if (copyCode) {
|
||||
await clipboard(copyCode);
|
||||
}
|
||||
|
||||
const category = Array.isArray(svgInfo?.category)
|
||||
? svgInfo.category.sort().join(' - ')
|
||||
: svgInfo.category;
|
||||
|
||||
toast.success(`Copied as Vue ${ts ? 'TS' : 'JS'} component`, {
|
||||
description: `${svgInfo?.title} - ${category}`
|
||||
});
|
||||
} catch (err) {
|
||||
console.error(`Error copying Vue component:`, err);
|
||||
toast.error(`Failed to copy Vue component`);
|
||||
}
|
||||
};
|
||||
|
||||
// Copy SVG as Svelte Component:
|
||||
const convertSvgSvelteComponent = async (ts: boolean) => {
|
||||
try {
|
||||
const svgUrlToCopy = getSvgUrl();
|
||||
|
||||
optionsOpen = false;
|
||||
|
||||
let content = await getSource({
|
||||
url: svgUrlToCopy
|
||||
});
|
||||
|
||||
if (svgUrlToCopy) {
|
||||
content = prefixSvgIds(content, getPrefixFromSvgUrl(svgUrlToCopy));
|
||||
}
|
||||
|
||||
const copyCode = getSvelteCode({
|
||||
content: content,
|
||||
lang: ts ? 'ts' : 'js'
|
||||
});
|
||||
|
||||
if (copyCode) {
|
||||
await clipboard(copyCode);
|
||||
}
|
||||
|
||||
const category = Array.isArray(svgInfo?.category)
|
||||
? svgInfo.category.sort().join(' - ')
|
||||
: svgInfo.category;
|
||||
|
||||
toast.success(`Copied as Svelte ${ts ? 'TS' : 'JS'} component`, {
|
||||
description: `${svgInfo?.title} - ${category}`
|
||||
});
|
||||
} catch (err) {
|
||||
console.error(`Error copying Svelte component:`, err);
|
||||
toast.error(`Failed to copy Svelte component`);
|
||||
}
|
||||
};
|
||||
|
||||
// Copy SVG as Standalone Angular component:
|
||||
const convertSvgAngularComponent = async () => {
|
||||
isLoading = true;
|
||||
optionsOpen = false;
|
||||
|
||||
const title = svgInfo.title.split(' ').join('');
|
||||
const svgUrlToCopy = getSvgUrl();
|
||||
let content = await getSource({
|
||||
url: svgUrlToCopy
|
||||
});
|
||||
|
||||
if (svgUrlToCopy) {
|
||||
content = prefixSvgIds(content, getPrefixFromSvgUrl(svgUrlToCopy));
|
||||
}
|
||||
|
||||
if (!content) {
|
||||
toast.error('Failed to fetch the SVG content', {
|
||||
duration: 5000
|
||||
});
|
||||
isLoading = false;
|
||||
return;
|
||||
}
|
||||
|
||||
const angularComponent = getAngularCode({
|
||||
componentName: title,
|
||||
svgContent: content
|
||||
});
|
||||
|
||||
await clipboard(angularComponent);
|
||||
|
||||
toast.success(`Copied as Standalone Angular component`, {
|
||||
description: `${svgInfo.title} - ${svgInfo.category}`
|
||||
});
|
||||
|
||||
isLoading = false;
|
||||
};
|
||||
|
||||
// Copy SVG as Web Component:
|
||||
const convertSvgWebComponent = async () => {
|
||||
isLoading = true;
|
||||
optionsOpen = false;
|
||||
|
||||
const title = svgInfo.title.split(' ').join('');
|
||||
const svgUrlToCopy = getSvgUrl();
|
||||
let content = await getSource({
|
||||
url: svgUrlToCopy
|
||||
});
|
||||
|
||||
if (svgUrlToCopy) {
|
||||
content = prefixSvgIds(content, getPrefixFromSvgUrl(svgUrlToCopy));
|
||||
}
|
||||
|
||||
if (!content) {
|
||||
toast.error('Failed to fetch the SVG content', {
|
||||
duration: 5000
|
||||
});
|
||||
isLoading = false;
|
||||
return;
|
||||
}
|
||||
|
||||
const webComponentCode = getWebComponent({
|
||||
name: title,
|
||||
content: content
|
||||
});
|
||||
|
||||
await clipboard(webComponentCode);
|
||||
|
||||
toast.success(`Copied as Web Component`, {
|
||||
description: `${svgInfo.title} - ${svgInfo.category}`
|
||||
});
|
||||
|
||||
isLoading = false;
|
||||
};
|
||||
|
||||
// Copy SVG as Astro component:
|
||||
const convertSvgAstroComponent = async () => {
|
||||
isLoading = true;
|
||||
optionsOpen = false;
|
||||
|
||||
const svgUrlToCopy = getSvgUrl();
|
||||
let content = await getSource({
|
||||
url: svgUrlToCopy
|
||||
});
|
||||
|
||||
if (svgUrlToCopy) {
|
||||
content = prefixSvgIds(content, getPrefixFromSvgUrl(svgUrlToCopy));
|
||||
}
|
||||
|
||||
if (!content) {
|
||||
toast.error('Failed to fetch the SVG content', {
|
||||
duration: 5000
|
||||
});
|
||||
isLoading = false;
|
||||
return;
|
||||
}
|
||||
|
||||
const astroComponentCode = getAstroCode({
|
||||
svgContent: content
|
||||
});
|
||||
|
||||
await clipboard(astroComponentCode);
|
||||
|
||||
toast.success(`Copied as Astro Component`, {
|
||||
description: `${svgInfo.title} - ${svgInfo.category}`
|
||||
});
|
||||
|
||||
isLoading = false;
|
||||
};
|
||||
</script>
|
||||
|
||||
<Popover.Root open={optionsOpen} onOpenChange={(isOpen) => (optionsOpen = isOpen)}>
|
||||
<Popover.Trigger
|
||||
title="Copy SVG element as svg file, React TSX code, or React JSX code"
|
||||
class="flex items-center space-x-2 rounded-md p-2 duration-100 hover:bg-neutral-200 dark:hover:bg-neutral-700/40"
|
||||
>
|
||||
{#if optionsOpen}
|
||||
<X size={iconSize} strokeWidth={iconStroke} />
|
||||
{:else if isLoading}
|
||||
<Loader size={iconSize} strokeWidth={iconStroke} class="animate-spin" />
|
||||
{:else}
|
||||
<CopyIcon size={iconSize} strokeWidth={iconStroke} />
|
||||
{/if}
|
||||
</Popover.Trigger>
|
||||
<Popover.Content class="flex flex-col space-y-2 p-4" sideOffset={2}>
|
||||
<Tabs.Root value="source" class="flex w-full flex-col space-y-1">
|
||||
<Tabs.List>
|
||||
<Tabs.Trigger value="source">Source</Tabs.Trigger>
|
||||
<div
|
||||
class="ml-3 flex flex-row space-x-0.5 border-l border-dashed border-neutral-200 pl-3 dark:border-neutral-800"
|
||||
>
|
||||
<Tabs.Trigger value="web-component" title="Web Component">
|
||||
<WebComponentIcon iconSize={21} />
|
||||
</Tabs.Trigger>
|
||||
<Tabs.Trigger value="react" title="React">
|
||||
<ReactIcon iconSize={20} />
|
||||
</Tabs.Trigger>
|
||||
<Tabs.Trigger value="vue" title="Vue">
|
||||
<VueIcon iconSize={20} />
|
||||
</Tabs.Trigger>
|
||||
<Tabs.Trigger value="svelte" title="Svelte">
|
||||
<SvelteIcon iconSize={20} />
|
||||
</Tabs.Trigger>
|
||||
<Tabs.Trigger value="angular" title="Angular">
|
||||
<AngularIcon iconSize={20} />
|
||||
</Tabs.Trigger>
|
||||
<Tabs.Trigger value="astro" title="Astro" class="text-black dark:text-white">
|
||||
<AstroIcon iconSize={21} />
|
||||
</Tabs.Trigger>
|
||||
</div>
|
||||
</Tabs.List>
|
||||
<Tabs.Content value="source">
|
||||
<section class="flex flex-col space-y-2">
|
||||
<button
|
||||
class={cn(buttonStyles, 'w-full rounded-md')}
|
||||
title={isWordmarkSvg ? 'Copy wordmark SVG to clipboard' : 'Copy SVG to clipboard'}
|
||||
on:click={() => copyToClipboard()}
|
||||
>
|
||||
<ClipboardIcon size={16} strokeWidth={2} />
|
||||
<span>Copy SVG</span>
|
||||
</button>
|
||||
</section>
|
||||
</Tabs.Content>
|
||||
<Tabs.Content value="react">
|
||||
<section class="flex flex-col space-y-2">
|
||||
<button
|
||||
class={cn(buttonStyles, 'w-full rounded-md')}
|
||||
title="Copy as React component"
|
||||
disabled={isLoading}
|
||||
on:click={() => convertSvgReactComponent(true)}
|
||||
>
|
||||
<ReactIcon iconSize={18} />
|
||||
<span>Copy TSX</span>
|
||||
</button>
|
||||
<button
|
||||
class={cn(buttonStyles, 'w-full rounded-md')}
|
||||
title="Copy as React component"
|
||||
disabled={isLoading}
|
||||
on:click={() => convertSvgReactComponent(false)}
|
||||
>
|
||||
<ReactIcon iconSize={18} />
|
||||
<span>Copy JSX</span>
|
||||
</button>
|
||||
</section>
|
||||
</Tabs.Content>
|
||||
<Tabs.Content value="svelte">
|
||||
<section class="flex flex-col space-y-2">
|
||||
<button
|
||||
class={cn(buttonStyles, 'w-full rounded-md')}
|
||||
title="Copy as Svelte component"
|
||||
disabled={isLoading}
|
||||
on:click={() => convertSvgSvelteComponent(false)}
|
||||
>
|
||||
<SvelteIcon iconSize={18} />
|
||||
<span>Copy JS</span>
|
||||
</button>
|
||||
|
||||
<button
|
||||
class={cn(buttonStyles, 'w-full rounded-md')}
|
||||
title="Copy as Svelte component"
|
||||
disabled={isLoading}
|
||||
on:click={() => convertSvgSvelteComponent(true)}
|
||||
>
|
||||
<SvelteIcon iconSize={18} />
|
||||
<span>Copy TS</span>
|
||||
</button>
|
||||
</section>
|
||||
</Tabs.Content>
|
||||
<Tabs.Content value="vue">
|
||||
<section class="flex flex-col space-y-2">
|
||||
<button
|
||||
class={cn(buttonStyles, 'w-full rounded-md')}
|
||||
title="Copy as Vue component"
|
||||
disabled={isLoading}
|
||||
on:click={() => convertSvgVueComponent(false)}
|
||||
>
|
||||
<VueIcon iconSize={18} />
|
||||
<span>Copy JS</span>
|
||||
</button>
|
||||
<button
|
||||
class={cn(buttonStyles, 'w-full rounded-md')}
|
||||
title="Copy as Vue component"
|
||||
disabled={isLoading}
|
||||
on:click={() => convertSvgVueComponent(true)}
|
||||
>
|
||||
<VueIcon iconSize={18} />
|
||||
<span>Copy TS</span>
|
||||
</button>
|
||||
</section>
|
||||
</Tabs.Content>
|
||||
<Tabs.Content value="angular">
|
||||
<section class="flex flex-col space-y-2">
|
||||
<button
|
||||
class={cn(buttonStyles, 'w-full rounded-md')}
|
||||
title="Copy as Standalone Component"
|
||||
disabled={isLoading}
|
||||
on:click={() => convertSvgAngularComponent()}
|
||||
>
|
||||
<AngularIcon iconSize={18} />
|
||||
<span>Copy Standalone Component</span>
|
||||
</button>
|
||||
</section>
|
||||
</Tabs.Content>
|
||||
<Tabs.Content value="web-component">
|
||||
<section class="flex flex-col space-y-2">
|
||||
<button
|
||||
class={cn(buttonStyles, 'w-full rounded-md')}
|
||||
title="Copy as Web Component"
|
||||
disabled={isLoading}
|
||||
on:click={() => convertSvgWebComponent()}
|
||||
>
|
||||
<WebComponentIcon iconSize={18} />
|
||||
<span>Copy Web Component</span>
|
||||
</button>
|
||||
</section>
|
||||
</Tabs.Content>
|
||||
<Tabs.Content value="astro">
|
||||
<section class="flex flex-col space-y-2">
|
||||
<button
|
||||
class={cn(buttonStyles, 'w-full rounded-md')}
|
||||
title="Copy as Astro Component"
|
||||
disabled={isLoading}
|
||||
on:click={() => convertSvgAstroComponent()}
|
||||
>
|
||||
<AstroIcon iconSize={18} />
|
||||
<span>Copy Astro Component</span>
|
||||
</button>
|
||||
</section>
|
||||
</Tabs.Content>
|
||||
</Tabs.Root>
|
||||
<div
|
||||
class="mt-1 flex w-full items-center text-center text-[12px] text-neutral-600 dark:text-neutral-400"
|
||||
>
|
||||
<p>
|
||||
Remember to request permission from the creators for the use of the SVG. Modification is not
|
||||
allowed.
|
||||
</p>
|
||||
</div>
|
||||
</Popover.Content>
|
||||
</Popover.Root>
|
||||
@@ -1,298 +0,0 @@
|
||||
<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 { getSource } from '@/templates/getSource';
|
||||
|
||||
import {
|
||||
Dialog,
|
||||
DialogTrigger,
|
||||
DialogContent,
|
||||
DialogHeader,
|
||||
DialogTitle,
|
||||
DialogDescription,
|
||||
DialogFooter
|
||||
} from '@/ui/dialog';
|
||||
import { buttonStyles } from '@/ui/styles';
|
||||
import { cn } from '@/utils/cn';
|
||||
import { getPrefixFromSvgUrl, prefixSvgIds } from '@/utils/prefixSvgIds';
|
||||
|
||||
// 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 h-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 = async (url?: string) => {
|
||||
let content = await getSource({
|
||||
url: url
|
||||
});
|
||||
if (url) {
|
||||
content = prefixSvgIds(content, getPrefixFromSvgUrl(url));
|
||||
}
|
||||
download(content || '', url?.split('/').pop() || '', 'image/svg+xml');
|
||||
|
||||
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();
|
||||
|
||||
let lightSvg = await getSource({
|
||||
url: lightRoute
|
||||
});
|
||||
let darkSvg = await getSource({
|
||||
url: darkRoute
|
||||
});
|
||||
|
||||
lightSvg = prefixSvgIds(
|
||||
lightSvg,
|
||||
svgInfo.title.toLowerCase() + (isWordmark ? '_wordmark_light' : '_light')
|
||||
);
|
||||
darkSvg = prefixSvgIds(
|
||||
darkSvg,
|
||||
svgInfo.title.toLowerCase() + (isWordmark ? '_wordmark_dark' : '_dark')
|
||||
);
|
||||
|
||||
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' && svgInfo.wordmark === undefined}
|
||||
<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} SVG</DialogTitle>
|
||||
<DialogDescription>This logo has multiple options to download:</DialogDescription>
|
||||
</DialogHeader>
|
||||
<div
|
||||
class={cn(
|
||||
'flex h-full flex-col space-y-2 pb-0.5 pt-4',
|
||||
'md:flex-row md:items-center md:justify-center md:space-x-2 md:space-y-0'
|
||||
)}
|
||||
>
|
||||
{#if typeof svgInfo.route === 'string'}
|
||||
<div class={cardDownloadStyles}>
|
||||
<img
|
||||
src={isDarkTheme() ? svgInfo.route : svgInfo.route}
|
||||
alt={svgInfo.title}
|
||||
class="my-4 h-8"
|
||||
/>
|
||||
<button
|
||||
title="Download logo"
|
||||
class={buttonStyles}
|
||||
on:click={() => {
|
||||
if (typeof svgInfo.route === 'string') {
|
||||
downloadSvg(svgInfo.route);
|
||||
return;
|
||||
}
|
||||
}}
|
||||
>
|
||||
<DownloadIcon class="mr-2" size={iconSize} />
|
||||
<p>Icon logo</p>
|
||||
</button>
|
||||
</div>
|
||||
{:else}
|
||||
<div class={cardDownloadStyles}>
|
||||
<img
|
||||
src={isDarkTheme() ? svgInfo.route.dark : svgInfo.route.light}
|
||||
alt={svgInfo.title}
|
||||
class="my-4 h-10"
|
||||
/>
|
||||
<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}
|
||||
|
||||
{#if typeof svgInfo.wordmark === 'string' && svgInfo.wordmark !== undefined}
|
||||
<div class={cardDownloadStyles}>
|
||||
<img
|
||||
src={isDarkTheme() ? svgInfo.wordmark : svgInfo.wordmark}
|
||||
alt={svgInfo.title}
|
||||
class="my-4 h-8"
|
||||
/>
|
||||
<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="my-4 h-10"
|
||||
/>
|
||||
<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>
|
||||
<DialogFooter class="mt-3 text-xs text-neutral-600 dark:text-neutral-400">
|
||||
<p>
|
||||
Remember to request permission from the creators for the use of the SVG. Modification is
|
||||
not allowed.
|
||||
</p>
|
||||
</DialogFooter>
|
||||
</DialogContent>
|
||||
</Dialog>
|
||||
{/if}
|
||||
@@ -1,34 +0,0 @@
|
||||
<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>
|
||||
@@ -1,5 +0,0 @@
|
||||
<div
|
||||
class="mt-4 grid grid-cols-1 gap-4 sm:grid-cols-2 md:grid-cols-2 lg:grid-cols-4 xl:grid-cols-5"
|
||||
>
|
||||
<slot />
|
||||
</div>
|
||||
@@ -1,54 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { toast } from 'svelte-sonner';
|
||||
|
||||
import * as ContextMenu from '@/ui/context-menu';
|
||||
import { ArrowUpRightIcon, CopyIcon, StarsIcon } from 'lucide-svelte';
|
||||
import Logo from './icons/logo.svelte';
|
||||
|
||||
import { clipboard } from '@/utils/clipboard';
|
||||
|
||||
import GithubIcon from './icons/githubIcon.svelte';
|
||||
import { getSource } from '@/templates/getSource';
|
||||
|
||||
const logoUrl = '/library/svgl.svg';
|
||||
|
||||
const copyToClipboard = async () => {
|
||||
const content = await getSource({
|
||||
url: logoUrl
|
||||
});
|
||||
await clipboard(content);
|
||||
toast.success('Copied to clipboard', {
|
||||
description: `Svgl - Library`
|
||||
});
|
||||
};
|
||||
|
||||
const openUrl = (url: string) => {
|
||||
window.open(url, '_blank');
|
||||
};
|
||||
</script>
|
||||
|
||||
<ContextMenu.Root>
|
||||
<ContextMenu.Trigger 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-100 transition-opacity hover:opacity-80">
|
||||
<svelte:component this={Logo} />
|
||||
<span class="hidden text-xl font-medium tracking-tight md:block">svgl</span>
|
||||
</div>
|
||||
</a>
|
||||
</ContextMenu.Trigger>
|
||||
<ContextMenu.Content>
|
||||
<ContextMenu.Item on:click={() => copyToClipboard()}>
|
||||
<CopyIcon size={16} strokeWidth={1.5} />
|
||||
<span>Copy as SVG</span>
|
||||
</ContextMenu.Item>
|
||||
<ContextMenu.Item on:click={() => openUrl('https://github.com/pheralb/svgl')}>
|
||||
<GithubIcon iconSize={16} />
|
||||
<span>Repository</span>
|
||||
<ArrowUpRightIcon class="text-neutral-400 dark:text-neutral-500" size={14} strokeWidth={2} />
|
||||
</ContextMenu.Item>
|
||||
<ContextMenu.Item disabled class="font-mono">
|
||||
<StarsIcon size={16} strokeWidth={1.5} />
|
||||
<span>v4.6.1</span>
|
||||
</ContextMenu.Item>
|
||||
</ContextMenu.Content>
|
||||
</ContextMenu.Root>
|
||||
@@ -1,48 +0,0 @@
|
||||
<script lang="ts">
|
||||
import type { IconProps } from '@/types/icon';
|
||||
|
||||
export let iconSize: IconProps['size'];
|
||||
</script>
|
||||
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width={iconSize || 16}
|
||||
height={iconSize || 16}
|
||||
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
|
||||
>
|
||||
@@ -1,20 +0,0 @@
|
||||
<script lang="ts">
|
||||
import type { IconProps } from '@/types/icon';
|
||||
|
||||
export let iconSize: IconProps['size'];
|
||||
</script>
|
||||
|
||||
<svg
|
||||
viewBox="0 0 256 366"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width={iconSize || 16}
|
||||
height={iconSize || 16}
|
||||
preserveAspectRatio="xMidYMid"
|
||||
><path
|
||||
fill="currentColor"
|
||||
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
|
||||
>
|
||||
@@ -1,18 +0,0 @@
|
||||
<script lang="ts">
|
||||
import type { IconProps } from '@/types/icon';
|
||||
|
||||
export let iconSize: IconProps['size'];
|
||||
</script>
|
||||
|
||||
<svg
|
||||
width={iconSize || 16}
|
||||
height={iconSize || 16}
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
preserveAspectRatio="xMidYMid"
|
||||
viewBox="0 0 256 256"
|
||||
><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="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
@@ -1,60 +0,0 @@
|
||||
<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
|
||||
>
|
||||
|
Before Width: | Height: | Size: 1.7 KiB |
@@ -1,22 +0,0 @@
|
||||
<script lang="ts">
|
||||
import type { IconProps } from '@/types/icon';
|
||||
|
||||
export let iconSize: IconProps['size'];
|
||||
export let className: IconProps['className'];
|
||||
</script>
|
||||
|
||||
<svg
|
||||
width={iconSize || 28}
|
||||
height={iconSize || 28}
|
||||
class={className}
|
||||
viewBox="0 0 28 28"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="M7 18.079V21L0 14L1.46 12.54L7 18.081V18.079ZM9.921 21H7L14 28L15.46 26.54L9.921 21ZM26.535 15.462L27.996 14L13.996 0L12.538 1.466L18.077 7.004H14.73L10.864 3.146L9.404 4.606L11.809 7.01H10.129V17.876H20.994V16.196L23.399 18.6L24.859 17.14L20.994 13.274V9.927L26.535 15.462ZM7.73 6.276L6.265 7.738L7.833 9.304L9.294 7.844L7.73 6.276ZM20.162 18.708L18.702 20.17L20.268 21.738L21.73 20.276L20.162 18.708ZM4.596 9.41L3.134 10.872L7 14.738V11.815L4.596 9.41ZM16.192 21.006H13.268L17.134 24.872L18.596 23.41L16.192 21.006Z"
|
||||
fill="#FF6363"
|
||||
/>
|
||||
</svg>
|
||||
File diff suppressed because one or more lines are too long
@@ -1,19 +0,0 @@
|
||||
<script lang="ts">
|
||||
import type { IconProps } from '@/types/icon';
|
||||
|
||||
export let iconSize: IconProps['size'];
|
||||
</script>
|
||||
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width={iconSize || 16}
|
||||
height={iconSize || 16}
|
||||
viewBox="0 0 256 308"
|
||||
><path
|
||||
fill="#FF3E00"
|
||||
d="M239.682 40.707C211.113-.182 154.69-12.301 113.895 13.69L42.247 59.356a82.2 82.2 0 0 0-37.135 55.056a86.57 86.57 0 0 0 8.536 55.576a82.4 82.4 0 0 0-12.296 30.719a87.6 87.6 0 0 0 14.964 66.244c28.574 40.893 84.997 53.007 125.787 27.016l71.648-45.664a82.18 82.18 0 0 0 37.135-55.057a86.6 86.6 0 0 0-8.53-55.577a82.4 82.4 0 0 0 12.29-30.718a87.57 87.57 0 0 0-14.963-66.244"
|
||||
/><path
|
||||
fill="#FFF"
|
||||
d="M106.889 270.841c-23.102 6.007-47.497-3.036-61.103-22.648a52.7 52.7 0 0 1-9.003-39.85a50 50 0 0 1 1.713-6.693l1.35-4.115l3.671 2.697a92.5 92.5 0 0 0 28.036 14.007l2.663.808l-.245 2.659a16.07 16.07 0 0 0 2.89 10.656a17.14 17.14 0 0 0 18.397 6.828a15.8 15.8 0 0 0 4.403-1.935l71.67-45.672a14.92 14.92 0 0 0 6.734-9.977a15.92 15.92 0 0 0-2.713-12.011a17.16 17.16 0 0 0-18.404-6.832a15.8 15.8 0 0 0-4.396 1.933l-27.35 17.434a52.3 52.3 0 0 1-14.553 6.391c-23.101 6.007-47.497-3.036-61.101-22.649a52.68 52.68 0 0 1-9.004-39.849a49.43 49.43 0 0 1 22.34-33.114l71.664-45.677a52.2 52.2 0 0 1 14.563-6.398c23.101-6.007 47.497 3.036 61.101 22.648a52.7 52.7 0 0 1 9.004 39.85a51 51 0 0 1-1.713 6.692l-1.35 4.116l-3.67-2.693a92.4 92.4 0 0 0-28.037-14.013l-2.664-.809l.246-2.658a16.1 16.1 0 0 0-2.89-10.656a17.14 17.14 0 0 0-18.398-6.828a15.8 15.8 0 0 0-4.402 1.935l-71.67 45.674a14.9 14.9 0 0 0-6.73 9.975a15.9 15.9 0 0 0 2.709 12.012a17.16 17.16 0 0 0 18.404 6.832a15.8 15.8 0 0 0 4.402-1.935l27.345-17.427a52.2 52.2 0 0 1 14.552-6.397c23.101-6.006 47.497 3.037 61.102 22.65a52.68 52.68 0 0 1 9.003 39.848a49.45 49.45 0 0 1-22.34 33.12l-71.664 45.673a52.2 52.2 0 0 1-14.563 6.398"
|
||||
/></svg
|
||||
>
|
||||
@@ -1,16 +0,0 @@
|
||||
<script lang="ts">
|
||||
import type { IconProps } from '@/types/icon';
|
||||
|
||||
export let iconSize: IconProps['size'];
|
||||
</script>
|
||||
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width={iconSize || 16}
|
||||
height={iconSize || 16}
|
||||
viewBox="0 0 256 221"
|
||||
><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0z" /><path
|
||||
fill="#41B883"
|
||||
d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0z"
|
||||
/><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0z" /></svg
|
||||
>
|
||||
@@ -1,18 +0,0 @@
|
||||
<script lang="ts">
|
||||
import type { IconProps } from '@/types/icon';
|
||||
|
||||
export let iconSize: IconProps['size'];
|
||||
</script>
|
||||
|
||||
<svg viewBox="0 0 128 128" width={iconSize || 16} height={iconSize || 16}>
|
||||
<path
|
||||
fill="var(--bgcolor, #fff)"
|
||||
d="m31 12-1 1L2 63l29 51h67l15-26v-2l14-23-15-24v-2L98 12H31zm21 30h21l13 21-13 21H52L40 63z"
|
||||
/>
|
||||
<path fill="#166da5" d="m122 63-12 21-18-21 18-21z" />
|
||||
<path fill="#8fdb69" d="M108 88 89 65 78 84l17 26z" />
|
||||
<path fill="#166da5" d="M108 38 89 61 78 42l17-26z" />
|
||||
<path d="M63 110 35 63l28-47H33L6 63l27 47z" />
|
||||
<path fill="#287bbe" d="m50 38 13-22h32l13 22zm28 4h32l11 19H89z" />
|
||||
<path fill="#ddf021" d="m50 88 13 22h32l13-22zm28-4h32l11-19H89z" />
|
||||
</svg>
|
||||
@@ -1,19 +0,0 @@
|
||||
<script lang="ts">
|
||||
import type { IconProps } from '@/types/icon';
|
||||
|
||||
export let size: IconProps['size'];
|
||||
export let color: IconProps['color'];
|
||||
</script>
|
||||
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width={size || 16}
|
||||
height={size || 16}
|
||||
name="Twitter"
|
||||
fill="none"
|
||||
viewBox="0 0 1200 1227"
|
||||
><path
|
||||
fill={color || '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>
|
||||
@@ -1,105 +0,0 @@
|
||||
<script lang="ts">
|
||||
export let currentPath: string;
|
||||
|
||||
import { cn } from '@/utils/cn';
|
||||
import Theme from './theme.svelte';
|
||||
|
||||
import { ArrowUpRight, CloudyIcon } from 'lucide-svelte';
|
||||
import XIcon from './icons/xIcon.svelte';
|
||||
import GithubIcon from './icons/githubIcon.svelte';
|
||||
import HeaderLogoLink from './headerLogoLink.svelte';
|
||||
|
||||
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(
|
||||
'bg-white dark:bg-neutral-900',
|
||||
'w-full border-b border-neutral-200 px-5 py-4 dark:border-neutral-800',
|
||||
'sticky top-0 z-50',
|
||||
'bg-white/90 backdrop-blur-md dark:bg-neutral-900/90'
|
||||
)}
|
||||
>
|
||||
<div class="mx-auto flex items-center justify-between">
|
||||
<HeaderLogoLink />
|
||||
<div class="flex items-center space-x-0 md:space-x-7">
|
||||
<div
|
||||
class="flex items-center divide-x divide-dashed divide-neutral-300 dark:divide-neutral-700 md:space-x-4"
|
||||
>
|
||||
{#each externalLinks as link}
|
||||
<a
|
||||
href={link.url}
|
||||
target={link.external ? '_blank' : ''}
|
||||
aria-label={link.label ?? link.name}
|
||||
class={cn(
|
||||
'group flex items-center pl-2 text-[15px] opacity-80 transition-opacity hover:opacity-100 md:pl-3',
|
||||
currentPath === link.url &&
|
||||
'underline decoration-neutral-500 decoration-dotted underline-offset-8'
|
||||
)}
|
||||
>
|
||||
{#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 hidden transition-transform duration-300 group-hover:-translate-y-[1px] group-hover:translate-x-[1px] 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 transition-opacity hover:opacity-100"
|
||||
title="Twitter"
|
||||
>
|
||||
<XIcon size={16} color="currentColor" />
|
||||
</a>
|
||||
<a
|
||||
href="https://github.com/pheralb/svgl"
|
||||
target="_blank"
|
||||
class="flex items-center space-x-1 opacity-80 transition-opacity hover:opacity-100"
|
||||
title="GitHub"
|
||||
>
|
||||
<GithubIcon iconSize={19} />
|
||||
</a>
|
||||
<Theme />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -1,29 +0,0 @@
|
||||
<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,77 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { page } from '$app/stores';
|
||||
import { inputStyles } from '@/ui/styles';
|
||||
import { Command, SearchIcon } from 'lucide-svelte';
|
||||
export let searchTerm: string;
|
||||
export let placeholder: string = 'Search...';
|
||||
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);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
let searchParams = {} as { [key: string]: string };
|
||||
|
||||
$: {
|
||||
if ($page) {
|
||||
searchParams = Object.fromEntries($page.url.searchParams);
|
||||
if (!searchParams?.search) {
|
||||
clearSearch();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<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>
|
||||
</div>
|
||||
@@ -1,239 +0,0 @@
|
||||
<script lang="ts">
|
||||
import type { iSVG } from '@/types/svg';
|
||||
|
||||
// Utils:
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
// Icons:
|
||||
import {
|
||||
LinkIcon,
|
||||
ChevronsRight,
|
||||
Baseline,
|
||||
Sparkles,
|
||||
EllipsisIcon,
|
||||
TagIcon,
|
||||
XIcon,
|
||||
PaletteIcon
|
||||
} from 'lucide-svelte';
|
||||
|
||||
// Components & styles:
|
||||
import DownloadSvg from './downloadSvg.svelte';
|
||||
import CopySvg from './copySvg.svelte';
|
||||
import { badgeStyles, buttonStyles } from '@/ui/styles';
|
||||
import * as Popover from '@/ui/popover';
|
||||
|
||||
// Figma
|
||||
import { onMount } from 'svelte';
|
||||
import { insertSVG as figmaInsertSVG } from '@/figma/insert-svg';
|
||||
import { getSource } from '@/templates/getSource';
|
||||
|
||||
// Props:
|
||||
export let svgInfo: iSVG;
|
||||
export let searchTerm: string;
|
||||
|
||||
let isInFigma = false;
|
||||
onMount(() => {
|
||||
const searchParams = new URLSearchParams(window.location.search);
|
||||
isInFigma = searchParams.get('figma') === '1';
|
||||
});
|
||||
|
||||
// Wordmark SVG:
|
||||
let wordmarkSvg = false;
|
||||
$: {
|
||||
if (searchTerm) {
|
||||
wordmarkSvg = false;
|
||||
}
|
||||
}
|
||||
|
||||
const insertSVG = async (url?: string) => {
|
||||
const content = (await getSource({
|
||||
url
|
||||
})) as string;
|
||||
figmaInsertSVG(content);
|
||||
};
|
||||
|
||||
// Icon Stroke & Size:
|
||||
let iconStroke = 1.8;
|
||||
let iconSize = 16;
|
||||
|
||||
// Max Categories:
|
||||
let maxVisibleCategories = 1;
|
||||
let moreTagsOptions = false;
|
||||
|
||||
// Global Styles:
|
||||
const globalImageStyles = 'mb-4 mt-2 h-10 select-none pointer-events-none';
|
||||
const btnStyles =
|
||||
'flex items-center space-x-2 rounded-md p-2 duration-100 hover:bg-neutral-200 dark:hover:bg-neutral-700/40';
|
||||
</script>
|
||||
|
||||
<div
|
||||
class="group flex flex-col items-center justify-center rounded-md border border-neutral-200 p-4 transition-colors duration-100 hover:bg-neutral-100/80 dark:border-neutral-800 dark:hover:bg-neutral-800/20"
|
||||
>
|
||||
<!-- Image -->
|
||||
{#if wordmarkSvg == true && svgInfo.wordmark !== undefined}
|
||||
<img
|
||||
class={cn('hidden dark:block', globalImageStyles)}
|
||||
src={typeof svgInfo.wordmark !== 'string'
|
||||
? svgInfo.wordmark?.dark || ''
|
||||
: svgInfo.wordmark || ''}
|
||||
alt={svgInfo.title}
|
||||
title={svgInfo.title}
|
||||
loading="lazy"
|
||||
/>
|
||||
<img
|
||||
class={cn('block dark:hidden', globalImageStyles)}
|
||||
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', globalImageStyles)}
|
||||
src={typeof svgInfo.route !== 'string' ? svgInfo.route.dark : svgInfo.route}
|
||||
alt={svgInfo.title}
|
||||
title={svgInfo.title}
|
||||
loading="lazy"
|
||||
/>
|
||||
<img
|
||||
class={cn('block dark:hidden', globalImageStyles)}
|
||||
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 items-center justify-center space-y-1">
|
||||
<p class="select-all truncate text-balance text-center text-[15px] font-medium">
|
||||
{svgInfo.title}
|
||||
</p>
|
||||
<div class="flex items-center justify-center space-x-1">
|
||||
{#if Array.isArray(svgInfo.category)}
|
||||
{#each svgInfo.category.slice(0, maxVisibleCategories) as c, index}
|
||||
<a
|
||||
href={`/directory/${c.toLowerCase()}`}
|
||||
class={badgeStyles}
|
||||
title={`This icon is part of the ${svgInfo.category} category`}>{c}</a
|
||||
>
|
||||
{/each}
|
||||
|
||||
{#if svgInfo.category.length > maxVisibleCategories}
|
||||
<Popover.Root
|
||||
open={moreTagsOptions}
|
||||
onOpenChange={(isOpen) => (moreTagsOptions = isOpen)}
|
||||
>
|
||||
<Popover.Trigger class={badgeStyles} title="More Tags">
|
||||
{#if moreTagsOptions}
|
||||
<XIcon size={15} strokeWidth={1.5} />
|
||||
{:else}
|
||||
<EllipsisIcon size={15} strokeWidth={1.5} />
|
||||
{/if}
|
||||
</Popover.Trigger>
|
||||
<Popover.Content class="flex flex-col space-y-2">
|
||||
<p class="font-medium">More tags:</p>
|
||||
{#each svgInfo.category.slice(maxVisibleCategories) as c}
|
||||
<a
|
||||
href={`/directory/${c.toLowerCase()}`}
|
||||
class={cn(buttonStyles, 'w-full rounded-md')}
|
||||
>
|
||||
<TagIcon size={15} strokeWidth={1.5} />
|
||||
<span>{c}</span>
|
||||
</a>
|
||||
{/each}
|
||||
</Popover.Content>
|
||||
</Popover.Root>
|
||||
{/if}
|
||||
{: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={btnStyles}
|
||||
>
|
||||
<ChevronsRight size={iconSize} strokeWidth={iconStroke} />
|
||||
</button>
|
||||
{/if}
|
||||
|
||||
{#if wordmarkSvg && svgInfo.wordmark !== undefined}
|
||||
<CopySvg {iconSize} {iconStroke} {svgInfo} isInFigma={false} isWordmarkSvg={true} />
|
||||
{:else}
|
||||
<CopySvg {iconSize} {iconStroke} {svgInfo} isInFigma={false} isWordmarkSvg={false} />
|
||||
{/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={btnStyles}
|
||||
>
|
||||
<LinkIcon size={iconSize} strokeWidth={iconStroke} />
|
||||
</a>
|
||||
{#if svgInfo.wordmark !== undefined}
|
||||
<button
|
||||
title={wordmarkSvg ? 'Show logo SVG' : 'Show wordmark SVG'}
|
||||
on:click={() => {
|
||||
wordmarkSvg = !wordmarkSvg;
|
||||
}}
|
||||
class={btnStyles}
|
||||
>
|
||||
{#if wordmarkSvg}
|
||||
<Sparkles size={iconSize} strokeWidth={iconStroke} />
|
||||
{:else}
|
||||
<Baseline size={iconSize} strokeWidth={iconStroke} />
|
||||
{/if}
|
||||
</button>
|
||||
{/if}
|
||||
{#if svgInfo.brandUrl !== undefined}
|
||||
<a
|
||||
href={svgInfo.brandUrl}
|
||||
title="Brand Assets"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class={btnStyles}
|
||||
>
|
||||
<PaletteIcon size={iconSize} strokeWidth={iconStroke} />
|
||||
</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,14 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { toggleMode, mode } from 'mode-watcher';
|
||||
|
||||
// Icons:
|
||||
import { MoonIcon, SunIcon } from 'lucide-svelte';
|
||||
</script>
|
||||
|
||||
<button on:click={toggleMode} aria-label="Toggle dark mode" class="opacity-80 hover:opacity-100">
|
||||
{#if $mode === 'light'}
|
||||
<SunIcon size={20} strokeWidth={1.5} />
|
||||
{:else}
|
||||
<MoonIcon size={20} strokeWidth={1.5} />
|
||||
{/if}
|
||||
</button>
|
||||
@@ -1,10 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { fly } from 'svelte/transition';
|
||||
export let pathname: string = '';
|
||||
</script>
|
||||
|
||||
{#key pathname}
|
||||
<div in:fly={{ x: 0, y: 23, duration: 450 }}>
|
||||
<slot />
|
||||
</div>
|
||||
{/key}
|
||||
@@ -1,45 +0,0 @@
|
||||
<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;
|
||||
let warningName = 'svgl_warn_message';
|
||||
const initialValue = browser ? window.localStorage.getItem(warningName) : true;
|
||||
</script>
|
||||
|
||||
{#if !warning && !initialValue}
|
||||
<div
|
||||
class="flex w-full flex-col items-center justify-between space-x-0 space-y-2 border-b border-neutral-200 bg-neutral-100/60 px-3 py-2 text-neutral-700 dark:border-neutral-800 dark:bg-neutral-800/40 dark:text-neutral-300 md:flex-row md:space-x-2 md:space-y-0"
|
||||
>
|
||||
<div class="flex items-center space-x-2">
|
||||
<AlertTriangleIcon
|
||||
size={18}
|
||||
strokeWidth={2}
|
||||
class="mr-1 flex-shrink-0 animate-pulse text-yellow-600 dark:text-yellow-500"
|
||||
/>
|
||||
<p>
|
||||
All SVGs include links to the respective products or companies that own them. <strong
|
||||
>Please contact the owner directly if you need to use their logo.</strong
|
||||
>
|
||||
If you are the owner of an SVG and would like it removed,
|
||||
<a
|
||||
target="_blank"
|
||||
class="underline decoration-neutral-500 decoration-dotted underline-offset-4"
|
||||
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(warningName, 'true');
|
||||
warning = true;
|
||||
}}
|
||||
>
|
||||
<Check size={14} strokeWidth={2} />
|
||||
<span>Accept</span>
|
||||
</button>
|
||||
</div>
|
||||
{/if}
|
||||
+62
-58
@@ -1,87 +1,91 @@
|
||||
import type { Extension } from '@/types/extensions';
|
||||
import type { Extension } from "@/types/extensions";
|
||||
|
||||
export const extensions: Extension[] = [
|
||||
{
|
||||
name: 'SVGL for Raycast',
|
||||
description: 'Search SVG logos via svgl using Raycast.',
|
||||
url: 'https://www.raycast.com/1weiho/svgl',
|
||||
image: 'https://github.com/pheralb/svgl/raw/main/static/library/raycast.svg',
|
||||
name: "SVGL for Raycast",
|
||||
description: "Search SVG logos via svgl using Raycast.",
|
||||
url: "https://www.raycast.com/1weiho/svgl",
|
||||
image:
|
||||
"https://github.com/pheralb/svgl/raw/main/static/library/raycast.svg",
|
||||
created_by: {
|
||||
name: '1weiho',
|
||||
socialUrl: 'https://x.com/1weiho'
|
||||
}
|
||||
name: "1weiho",
|
||||
socialUrl: "https://x.com/1weiho",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'SVGL for PowerToys',
|
||||
description: 'Search & copy SVG logos in PowerToys Run.',
|
||||
url: 'https://svgl.sameerjs.com/',
|
||||
image: 'https://github.com/pheralb/svgl/raw/main/static/library/powertoys.svg',
|
||||
name: "SVGL for PowerToys",
|
||||
description: "Search & copy SVG logos in PowerToys Run.",
|
||||
url: "https://svgl.sameerjs.com/",
|
||||
image:
|
||||
"https://github.com/pheralb/svgl/raw/main/static/library/powertoys.svg",
|
||||
created_by: {
|
||||
name: 'SameerJS6',
|
||||
socialUrl: 'https://svgl.sameerjs.com/'
|
||||
}
|
||||
name: "SameerJS6",
|
||||
socialUrl: "https://svgl.sameerjs.com/",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'SVGL for React',
|
||||
name: "SVGL for React",
|
||||
description:
|
||||
'An open-source NPM package that offers a collection of high-quality SVGL logos for React.',
|
||||
url: 'https://github.com/ridemountainpig/svgl-react?tab=readme-ov-file',
|
||||
"An open-source NPM package that offers a collection of high-quality SVGL logos for React.",
|
||||
url: "https://github.com/ridemountainpig/svgl-react?tab=readme-ov-file",
|
||||
image:
|
||||
'https://raw.githubusercontent.com/pheralb/svgl/0d4514c9521688e76c6a1b426f3054a424d96aa5/static/library/react_dark.svg',
|
||||
"https://raw.githubusercontent.com/pheralb/svgl/0d4514c9521688e76c6a1b426f3054a424d96aa5/static/library/react_dark.svg",
|
||||
created_by: {
|
||||
name: 'ridemountainpig',
|
||||
socialUrl: 'https://twitter.com/ridemountainpig'
|
||||
}
|
||||
name: "ridemountainpig",
|
||||
socialUrl: "https://twitter.com/ridemountainpig",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'SVGL Badges',
|
||||
description: 'A beautiful badges with svgl SVG logos.',
|
||||
url: 'https://svgl-badge.vercel.app/',
|
||||
name: "SVGL Badges",
|
||||
description: "A beautiful badges with svgl SVG logos.",
|
||||
url: "https://svgl-badge.vercel.app/",
|
||||
image:
|
||||
'https://camo.githubusercontent.com/b516f0f725ad1827dd854f16ec08626569d02ab827cd06b4f42163e519b813c7/68747470733a2f2f7376676c2d62616467652e76657263656c2e6170702f6170692f4c6962726172792f5376676c3f7468656d653d6c69676874',
|
||||
"https://camo.githubusercontent.com/b516f0f725ad1827dd854f16ec08626569d02ab827cd06b4f42163e519b813c7/68747470733a2f2f7376676c2d62616467652e76657263656c2e6170702f6170692f4c6962726172792f5376676c3f7468656d653d6c69676874",
|
||||
created_by: {
|
||||
name: 'ridemountainpig',
|
||||
socialUrl: 'https://twitter.com/ridemountainpig'
|
||||
}
|
||||
name: "ridemountainpig",
|
||||
socialUrl: "https://twitter.com/ridemountainpig",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Magic',
|
||||
description: 'AI extension for Cursor & other IDEs.',
|
||||
url: 'https://21st.dev/magic',
|
||||
image: 'https://github.com/serafimcloud/21st/blob/main/apps/web/public/icon.png?raw=true',
|
||||
name: "Magic",
|
||||
description: "AI extension for Cursor & other IDEs.",
|
||||
url: "https://21st.dev/magic",
|
||||
image:
|
||||
"https://github.com/serafimcloud/21st/blob/main/apps/web/public/icon.png?raw=true",
|
||||
created_by: {
|
||||
name: 'serafim',
|
||||
socialUrl: 'https://x.com/serafimcloud'
|
||||
}
|
||||
name: "serafim",
|
||||
socialUrl: "https://x.com/serafimcloud",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'svgls',
|
||||
description: 'A CLI for easily adding SVG icons to your project.',
|
||||
url: 'https://github.com/sujjeee/svgls',
|
||||
image: 'https://github.com/pheralb/svgl/raw/main/static/library/svgl.svg',
|
||||
name: "svgls",
|
||||
description: "A CLI for easily adding SVG icons to your project.",
|
||||
url: "https://github.com/sujjeee/svgls",
|
||||
image: "https://github.com/pheralb/svgl/raw/main/static/library/svgl.svg",
|
||||
created_by: {
|
||||
name: 'Sujjeee',
|
||||
socialUrl: 'https://twitter.com/sujjeeee'
|
||||
}
|
||||
name: "Sujjeee",
|
||||
socialUrl: "https://twitter.com/sujjeeee",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'SVGL for Figma',
|
||||
description: 'Add svgs from svgl to your Figma project.',
|
||||
url: 'https://www.figma.com/community/plugin/1320306989350693206/svgl',
|
||||
image: 'https://github.com/pheralb/svgl/raw/main/static/library/figma.svg',
|
||||
name: "SVGL for Figma",
|
||||
description: "Add svgs from svgl to your Figma project.",
|
||||
url: "https://www.figma.com/community/plugin/1320306989350693206/svgl",
|
||||
image: "https://github.com/pheralb/svgl/raw/main/static/library/figma.svg",
|
||||
created_by: {
|
||||
name: 'Quill',
|
||||
socialUrl: 'https://x.com/quillzhou'
|
||||
}
|
||||
name: "Quill",
|
||||
socialUrl: "https://x.com/quillzhou",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'SVGL for VSCode',
|
||||
description: 'SVGL directly in your VSCode.',
|
||||
url: 'https://marketplace.visualstudio.com/items?itemName=EsteveSegura.svgl',
|
||||
image: 'https://github.com/pheralb/svgl/blob/main/static/library/vscode.svg',
|
||||
name: "SVGL for VSCode",
|
||||
description: "SVGL directly in your VSCode.",
|
||||
url: "https://marketplace.visualstudio.com/items?itemName=EsteveSegura.svgl",
|
||||
image:
|
||||
"https://github.com/pheralb/svgl/blob/main/static/library/vscode.svg",
|
||||
created_by: {
|
||||
name: 'GiR',
|
||||
socialUrl: 'https://x.com/girlazote'
|
||||
}
|
||||
}
|
||||
name: "GiR",
|
||||
socialUrl: "https://x.com/girlazote",
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
+9
-5
@@ -1,5 +1,5 @@
|
||||
import type { iSVG } from '@/types/svg';
|
||||
import { svgs } from './svgs';
|
||||
import type { iSVG } from "@/types/svg";
|
||||
import { svgs } from "./svgs";
|
||||
|
||||
export const svgsData = svgs.map((svg: iSVG, index: number) => {
|
||||
return { id: index, ...svg };
|
||||
@@ -7,17 +7,21 @@ export const svgsData = svgs.map((svg: iSVG, index: number) => {
|
||||
|
||||
export const getCategories = () => {
|
||||
const categories = svgs
|
||||
.flatMap((svg) => (Array.isArray(svg.category) ? svg.category : [svg.category]))
|
||||
.flatMap((svg) =>
|
||||
Array.isArray(svg.category) ? svg.category : [svg.category],
|
||||
)
|
||||
.filter((category, index, array) => array.indexOf(category) === index);
|
||||
return categories;
|
||||
};
|
||||
|
||||
export const getCategoriesForDirectory = () => {
|
||||
const categories = svgs
|
||||
.flatMap((svg) => (Array.isArray(svg.category) ? svg.category : [svg.category]))
|
||||
.flatMap((svg) =>
|
||||
Array.isArray(svg.category) ? svg.category : [svg.category],
|
||||
)
|
||||
.filter((category, index, array) => array.indexOf(category) === index)
|
||||
.map((category) => ({
|
||||
slug: category.toLowerCase()
|
||||
slug: category.toLowerCase(),
|
||||
}));
|
||||
return categories;
|
||||
};
|
||||
|
||||
+2414
-2414
@@ -1,3812 +1,3812 @@
|
||||
import type { iSVG } from '@/types/svg';
|
||||
import type { iSVG } from "@/types/svg";
|
||||
|
||||
export const svgs: iSVG[] = [
|
||||
{
|
||||
title: 'Google Classroom',
|
||||
category: ['Google', 'Education'],
|
||||
route: '/library/google-classroom.svg',
|
||||
url: 'https://edu.google.com/workspace-for-education/products/classroom/',
|
||||
brandUrl: 'https://developers.google.com/workspace/classroom/brand'
|
||||
title: "Google Classroom",
|
||||
category: ["Google", "Education"],
|
||||
route: "/library/google-classroom.svg",
|
||||
url: "https://edu.google.com/workspace-for-education/products/classroom/",
|
||||
brandUrl: "https://developers.google.com/workspace/classroom/brand",
|
||||
},
|
||||
{
|
||||
title: 'Kimi',
|
||||
category: 'AI',
|
||||
route: '/library/kimi.svg',
|
||||
url: 'https://kimi.ai/'
|
||||
title: "Kimi",
|
||||
category: "AI",
|
||||
route: "/library/kimi.svg",
|
||||
url: "https://kimi.ai/",
|
||||
},
|
||||
{
|
||||
title: 'Perspective',
|
||||
category: 'Software',
|
||||
title: "Perspective",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/perspective-light.svg',
|
||||
dark: '/library/perspective-dark.svg'
|
||||
light: "/library/perspective-light.svg",
|
||||
dark: "/library/perspective-dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/perspective-wordmark-light.svg',
|
||||
dark: '/library/perspective-wordmark-dark.svg'
|
||||
light: "/library/perspective-wordmark-light.svg",
|
||||
dark: "/library/perspective-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://perspective.co/'
|
||||
url: "https://perspective.co/",
|
||||
},
|
||||
{
|
||||
title: 'Windsurf',
|
||||
category: ['Software', 'AI'],
|
||||
route: '/library/windsurf-logo.svg',
|
||||
url: 'https://codeium.com/windsurf'
|
||||
title: "Windsurf",
|
||||
category: ["Software", "AI"],
|
||||
route: "/library/windsurf-logo.svg",
|
||||
url: "https://codeium.com/windsurf",
|
||||
},
|
||||
{
|
||||
title: 'Mattermost',
|
||||
category: 'Software',
|
||||
title: "Mattermost",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/mattermost-light.svg',
|
||||
dark: '/library/mattermost-dark.svg'
|
||||
light: "/library/mattermost-light.svg",
|
||||
dark: "/library/mattermost-dark.svg",
|
||||
},
|
||||
url: 'http://mattermost.com/'
|
||||
url: "http://mattermost.com/",
|
||||
},
|
||||
{
|
||||
title: 'Inngest',
|
||||
category: 'Software',
|
||||
title: "Inngest",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/inngest-light.svg',
|
||||
dark: '/library/inngest-dark.svg'
|
||||
light: "/library/inngest-light.svg",
|
||||
dark: "/library/inngest-dark.svg",
|
||||
},
|
||||
url: 'https://inngest.com/'
|
||||
url: "https://inngest.com/",
|
||||
},
|
||||
{
|
||||
title: 'daisyUI',
|
||||
category: 'Library',
|
||||
route: '/library/daisyui.svg',
|
||||
url: 'https://daisyui.com/'
|
||||
title: "daisyUI",
|
||||
category: "Library",
|
||||
route: "/library/daisyui.svg",
|
||||
url: "https://daisyui.com/",
|
||||
},
|
||||
{
|
||||
title: 'PayPal',
|
||||
category: 'Payment',
|
||||
route: '/library/paypal.svg',
|
||||
wordmark: '/library/paypal-wordmark.svg',
|
||||
url: 'https://paypal.com'
|
||||
title: "PayPal",
|
||||
category: "Payment",
|
||||
route: "/library/paypal.svg",
|
||||
wordmark: "/library/paypal-wordmark.svg",
|
||||
url: "https://paypal.com",
|
||||
},
|
||||
{
|
||||
title: 'Google Drive',
|
||||
category: 'Google',
|
||||
route: '/library/drive.svg',
|
||||
url: 'https://www.google.com/drive/'
|
||||
title: "Google Drive",
|
||||
category: "Google",
|
||||
route: "/library/drive.svg",
|
||||
url: "https://www.google.com/drive/",
|
||||
},
|
||||
{
|
||||
title: 'Amazon Q',
|
||||
category: 'AI',
|
||||
route: '/library/amazon-q.svg',
|
||||
url: 'https://aws.amazon.com/q'
|
||||
title: "Amazon Q",
|
||||
category: "AI",
|
||||
route: "/library/amazon-q.svg",
|
||||
url: "https://aws.amazon.com/q",
|
||||
},
|
||||
{
|
||||
title: 'UV',
|
||||
category: 'Devtool',
|
||||
route: '/library/uv.svg',
|
||||
url: 'https://docs.astral.sh/uv/'
|
||||
title: "UV",
|
||||
category: "Devtool",
|
||||
route: "/library/uv.svg",
|
||||
url: "https://docs.astral.sh/uv/",
|
||||
},
|
||||
{
|
||||
title: 'Milanote',
|
||||
category: 'Software',
|
||||
title: "Milanote",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/milanote-light.svg',
|
||||
dark: '/library/milanote-dark.svg'
|
||||
light: "/library/milanote-light.svg",
|
||||
dark: "/library/milanote-dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/milanote-wordmark-light.svg',
|
||||
dark: '/library/milanote-wordmark-dark.svg'
|
||||
light: "/library/milanote-wordmark-light.svg",
|
||||
dark: "/library/milanote-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://milanote.com'
|
||||
url: "https://milanote.com",
|
||||
},
|
||||
|
||||
{
|
||||
title: 'Together AI',
|
||||
category: 'AI',
|
||||
title: "Together AI",
|
||||
category: "AI",
|
||||
route: {
|
||||
light: '/library/togetherai_light.svg',
|
||||
dark: '/library/togetherai_dark.svg'
|
||||
light: "/library/togetherai_light.svg",
|
||||
dark: "/library/togetherai_dark.svg",
|
||||
},
|
||||
url: 'https://www.together.ai/'
|
||||
url: "https://www.together.ai/",
|
||||
},
|
||||
{
|
||||
title: 'Suno',
|
||||
category: 'AI',
|
||||
route: '/library/suno.svg',
|
||||
title: "Suno",
|
||||
category: "AI",
|
||||
route: "/library/suno.svg",
|
||||
wordmark: {
|
||||
light: '/library/suno_wordmark_light.svg',
|
||||
dark: '/library/suno_wordmark_dark.svg'
|
||||
light: "/library/suno_wordmark_light.svg",
|
||||
dark: "/library/suno_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://suno.com/'
|
||||
url: "https://suno.com/",
|
||||
},
|
||||
{
|
||||
title: 'Groq',
|
||||
category: 'AI',
|
||||
route: '/library/groq.svg',
|
||||
title: "Groq",
|
||||
category: "AI",
|
||||
route: "/library/groq.svg",
|
||||
wordmark: {
|
||||
light: '/library/groq_wordmark_light.svg',
|
||||
dark: '/library/groq_wordmark_dark.svg'
|
||||
light: "/library/groq_wordmark_light.svg",
|
||||
dark: "/library/groq_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://groq.com/'
|
||||
url: "https://groq.com/",
|
||||
},
|
||||
{
|
||||
title: 'Cohere',
|
||||
category: 'AI',
|
||||
route: '/library/cohere.svg',
|
||||
wordmark: '/library/cohere_wordmark.svg',
|
||||
url: 'https://cohere.com/'
|
||||
title: "Cohere",
|
||||
category: "AI",
|
||||
route: "/library/cohere.svg",
|
||||
wordmark: "/library/cohere_wordmark.svg",
|
||||
url: "https://cohere.com/",
|
||||
},
|
||||
{
|
||||
title: 'Ollama',
|
||||
category: 'AI',
|
||||
title: "Ollama",
|
||||
category: "AI",
|
||||
route: {
|
||||
light: '/library/ollama_light.svg',
|
||||
dark: '/library/ollama_dark.svg'
|
||||
light: "/library/ollama_light.svg",
|
||||
dark: "/library/ollama_dark.svg",
|
||||
},
|
||||
url: 'https://www.ollama.com/'
|
||||
url: "https://www.ollama.com/",
|
||||
},
|
||||
{
|
||||
title: 'Cisco',
|
||||
category: 'Software',
|
||||
title: "Cisco",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/cisco_light.svg',
|
||||
dark: '/library/cisco_dark.svg'
|
||||
light: "/library/cisco_light.svg",
|
||||
dark: "/library/cisco_dark.svg",
|
||||
},
|
||||
url: 'https://www.cisco.com/'
|
||||
url: "https://www.cisco.com/",
|
||||
},
|
||||
{
|
||||
title: 'Animate',
|
||||
category: ['Software', 'Design'],
|
||||
route: '/library/animate.svg',
|
||||
url: 'https://www.adobe.com/products/animate'
|
||||
title: "Animate",
|
||||
category: ["Software", "Design"],
|
||||
route: "/library/animate.svg",
|
||||
url: "https://www.adobe.com/products/animate",
|
||||
},
|
||||
{
|
||||
title: 'Apollo.io',
|
||||
category: 'Software',
|
||||
route: '/library/apollo.io.svg',
|
||||
url: 'https://www.apollo.io/'
|
||||
title: "Apollo.io",
|
||||
category: "Software",
|
||||
route: "/library/apollo.io.svg",
|
||||
url: "https://www.apollo.io/",
|
||||
},
|
||||
{
|
||||
title: 'Blender',
|
||||
category: ['Software', 'Design'],
|
||||
route: '/library/blender.svg',
|
||||
url: 'https://blender.org/',
|
||||
brandUrl: 'https://www.blender.org/about/logo/'
|
||||
title: "Blender",
|
||||
category: ["Software", "Design"],
|
||||
route: "/library/blender.svg",
|
||||
url: "https://blender.org/",
|
||||
brandUrl: "https://www.blender.org/about/logo/",
|
||||
},
|
||||
{
|
||||
title: 'Lua',
|
||||
category: 'Language',
|
||||
route: '/library/lua.svg',
|
||||
url: 'https://lua.org/'
|
||||
title: "Lua",
|
||||
category: "Language",
|
||||
route: "/library/lua.svg",
|
||||
url: "https://lua.org/",
|
||||
},
|
||||
{
|
||||
title: 'Mercado Pago',
|
||||
category: 'Payment',
|
||||
route: '/library/mercado-pago.svg',
|
||||
wordmark: '/library/mercado-pago-wordmark.svg',
|
||||
url: 'https://www.mercadopago.com/developers/'
|
||||
title: "Mercado Pago",
|
||||
category: "Payment",
|
||||
route: "/library/mercado-pago.svg",
|
||||
wordmark: "/library/mercado-pago-wordmark.svg",
|
||||
url: "https://www.mercadopago.com/developers/",
|
||||
},
|
||||
{
|
||||
title: 'Basewell',
|
||||
category: ['AI', 'Software'],
|
||||
route: '/library/basewell.svg',
|
||||
url: 'https://www.basewell.com/'
|
||||
title: "Basewell",
|
||||
category: ["AI", "Software"],
|
||||
route: "/library/basewell.svg",
|
||||
url: "https://www.basewell.com/",
|
||||
},
|
||||
{
|
||||
title: 'ahooks',
|
||||
category: 'Library',
|
||||
route: '/library/ahooks.svg',
|
||||
title: "ahooks",
|
||||
category: "Library",
|
||||
route: "/library/ahooks.svg",
|
||||
wordmark: {
|
||||
light: '/library/ahooks-wordmark-light.svg',
|
||||
dark: '/library/ahooks-wordmark-dark.svg'
|
||||
light: "/library/ahooks-wordmark-light.svg",
|
||||
dark: "/library/ahooks-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://ahooks.js.org/'
|
||||
url: "https://ahooks.js.org/",
|
||||
},
|
||||
{
|
||||
title: 'Discord',
|
||||
category: 'Software',
|
||||
route: '/library/discord.svg',
|
||||
url: 'https://discord.com/',
|
||||
brandUrl: 'https://discord.com/branding'
|
||||
title: "Discord",
|
||||
category: "Software",
|
||||
route: "/library/discord.svg",
|
||||
url: "https://discord.com/",
|
||||
brandUrl: "https://discord.com/branding",
|
||||
},
|
||||
{
|
||||
title: 'Aliexpress',
|
||||
category: 'Software',
|
||||
route: '/library/aliexpress-icon.svg',
|
||||
wordmark: '/library/aliexpress-logo.svg',
|
||||
url: 'https://aliexpress.com/'
|
||||
title: "Aliexpress",
|
||||
category: "Software",
|
||||
route: "/library/aliexpress-icon.svg",
|
||||
wordmark: "/library/aliexpress-logo.svg",
|
||||
url: "https://aliexpress.com/",
|
||||
},
|
||||
{
|
||||
title: 'Preact',
|
||||
category: 'Library',
|
||||
route: '/library/preact.svg',
|
||||
url: 'https://preactjs.com/'
|
||||
title: "Preact",
|
||||
category: "Library",
|
||||
route: "/library/preact.svg",
|
||||
url: "https://preactjs.com/",
|
||||
},
|
||||
{
|
||||
title: 'React',
|
||||
category: 'Library',
|
||||
title: "React",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/react_light.svg',
|
||||
dark: '/library/react_dark.svg'
|
||||
light: "/library/react_light.svg",
|
||||
dark: "/library/react_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/react_wordmark_light.svg',
|
||||
dark: '/library/react_wordmark_dark.svg'
|
||||
light: "/library/react_wordmark_light.svg",
|
||||
dark: "/library/react_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://react.dev/'
|
||||
url: "https://react.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Svelte',
|
||||
category: 'Library',
|
||||
route: '/library/svelte.svg',
|
||||
url: 'https://svelte.dev/'
|
||||
title: "Svelte",
|
||||
category: "Library",
|
||||
route: "/library/svelte.svg",
|
||||
url: "https://svelte.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Vue',
|
||||
category: 'Framework',
|
||||
route: '/library/vue.svg',
|
||||
url: 'https://vuejs.org/'
|
||||
title: "Vue",
|
||||
category: "Framework",
|
||||
route: "/library/vue.svg",
|
||||
url: "https://vuejs.org/",
|
||||
},
|
||||
{
|
||||
title: 'Vuetify',
|
||||
category: 'Library',
|
||||
route: '/library/vuetify.svg',
|
||||
url: 'https://vuetifyjs.com/',
|
||||
brandUrl: 'https://vuetifyjs.com/en/resources/brand-kit/'
|
||||
title: "Vuetify",
|
||||
category: "Library",
|
||||
route: "/library/vuetify.svg",
|
||||
url: "https://vuetifyjs.com/",
|
||||
brandUrl: "https://vuetifyjs.com/en/resources/brand-kit/",
|
||||
},
|
||||
{
|
||||
title: 'Nuxt',
|
||||
category: 'Framework',
|
||||
route: '/library/nuxt.svg',
|
||||
url: 'https://nuxtjs.org/',
|
||||
brandUrl: 'https://nuxt.com/design-kit'
|
||||
title: "Nuxt",
|
||||
category: "Framework",
|
||||
route: "/library/nuxt.svg",
|
||||
url: "https://nuxtjs.org/",
|
||||
brandUrl: "https://nuxt.com/design-kit",
|
||||
},
|
||||
{
|
||||
title: 'Visual Studio Code',
|
||||
category: 'Software',
|
||||
route: '/library/vscode.svg',
|
||||
url: 'https://code.visualstudio.com/',
|
||||
brandUrl: 'https://code.visualstudio.com/brand'
|
||||
title: "Visual Studio Code",
|
||||
category: "Software",
|
||||
route: "/library/vscode.svg",
|
||||
url: "https://code.visualstudio.com/",
|
||||
brandUrl: "https://code.visualstudio.com/brand",
|
||||
},
|
||||
{
|
||||
title: 'Ton',
|
||||
category: 'Crypto',
|
||||
route: '/library/ton.svg',
|
||||
url: 'https://ton.org/'
|
||||
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: "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: "Runway",
|
||||
category: "AI",
|
||||
route: "/library/runway.svg",
|
||||
url: "https://runwayml.com/",
|
||||
},
|
||||
{
|
||||
title: 'Yarn',
|
||||
category: 'Software',
|
||||
route: '/library/yarn.svg',
|
||||
url: 'https://yarnpkg.com/'
|
||||
title: "Yarn",
|
||||
category: "Software",
|
||||
route: "/library/yarn.svg",
|
||||
url: "https://yarnpkg.com/",
|
||||
},
|
||||
{
|
||||
title: 'JWT',
|
||||
category: ['Library', 'Authentication'],
|
||||
route: '/library/jwt.svg',
|
||||
url: 'https://jwt.io/'
|
||||
title: "JWT",
|
||||
category: ["Library", "Authentication"],
|
||||
route: "/library/jwt.svg",
|
||||
url: "https://jwt.io/",
|
||||
},
|
||||
{
|
||||
title: 'Strapi',
|
||||
category: 'CMS',
|
||||
route: '/library/strapi.svg',
|
||||
url: 'https://strapi.io/',
|
||||
brandUrl: 'https://handbook.strapi.io/strapi-brand-book-2022'
|
||||
title: "Strapi",
|
||||
category: "CMS",
|
||||
route: "/library/strapi.svg",
|
||||
url: "https://strapi.io/",
|
||||
brandUrl: "https://handbook.strapi.io/strapi-brand-book-2022",
|
||||
},
|
||||
{
|
||||
title: 'Figma',
|
||||
category: 'Design',
|
||||
route: '/library/figma.svg',
|
||||
url: 'https://www.figma.com/',
|
||||
brandUrl: 'https://www.figma.com/using-the-figma-brand/'
|
||||
title: "Figma",
|
||||
category: "Design",
|
||||
route: "/library/figma.svg",
|
||||
url: "https://www.figma.com/",
|
||||
brandUrl: "https://www.figma.com/using-the-figma-brand/",
|
||||
},
|
||||
{
|
||||
title: 'Spotify',
|
||||
category: 'Music',
|
||||
route: '/library/spotify.svg',
|
||||
wordmark: '/library/spotify_wordmark.svg',
|
||||
url: 'https://www.spotify.com/'
|
||||
title: "Spotify",
|
||||
category: "Music",
|
||||
route: "/library/spotify.svg",
|
||||
wordmark: "/library/spotify_wordmark.svg",
|
||||
url: "https://www.spotify.com/",
|
||||
},
|
||||
{
|
||||
title: 'WorkOS',
|
||||
category: ['Software', 'Authentication'],
|
||||
title: "WorkOS",
|
||||
category: ["Software", "Authentication"],
|
||||
route: {
|
||||
light: '/library/workos.svg',
|
||||
dark: '/library/workos-light.svg'
|
||||
light: "/library/workos.svg",
|
||||
dark: "/library/workos-light.svg",
|
||||
},
|
||||
url: 'https://workos.com/'
|
||||
url: "https://workos.com/",
|
||||
},
|
||||
{
|
||||
title: 'Whop',
|
||||
category: 'Marketplace',
|
||||
title: "Whop",
|
||||
category: "Marketplace",
|
||||
route: {
|
||||
light: '/library/whop.svg',
|
||||
dark: '/library/whop-light.svg'
|
||||
light: "/library/whop.svg",
|
||||
dark: "/library/whop-light.svg",
|
||||
},
|
||||
url: 'https://whop.com/'
|
||||
url: "https://whop.com/",
|
||||
},
|
||||
{
|
||||
title: 'Postman',
|
||||
category: 'Software',
|
||||
route: '/library/postman.svg',
|
||||
url: 'https://www.getpostman.com/'
|
||||
title: "Postman",
|
||||
category: "Software",
|
||||
route: "/library/postman.svg",
|
||||
url: "https://www.getpostman.com/",
|
||||
},
|
||||
{
|
||||
title: 'Discord.js',
|
||||
category: 'Library',
|
||||
route: '/library/djs.svg',
|
||||
url: 'https://discord.js.org/'
|
||||
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: "OpenSea",
|
||||
category: "Crypto",
|
||||
route: "/library/opensea.svg",
|
||||
url: "https://opensea.io/",
|
||||
},
|
||||
{
|
||||
title: 'Algolia',
|
||||
category: 'Library',
|
||||
route: '/library/algolia.svg',
|
||||
url: 'https://www.algolia.com/'
|
||||
title: "Algolia",
|
||||
category: "Library",
|
||||
route: "/library/algolia.svg",
|
||||
url: "https://www.algolia.com/",
|
||||
},
|
||||
{
|
||||
title: 'Bootstrap',
|
||||
category: 'Framework',
|
||||
route: '/library/bootstrap.svg',
|
||||
url: 'https://getbootstrap.com/',
|
||||
brandUrl: 'https://getbootstrap.com/docs/4.0/about/brand/'
|
||||
title: "Bootstrap",
|
||||
category: "Framework",
|
||||
route: "/library/bootstrap.svg",
|
||||
url: "https://getbootstrap.com/",
|
||||
brandUrl: "https://getbootstrap.com/docs/4.0/about/brand/",
|
||||
},
|
||||
{
|
||||
title: 'Facebook',
|
||||
category: 'Social',
|
||||
route: '/library/facebook.svg',
|
||||
url: 'https://www.facebook.com/',
|
||||
brandUrl: 'https://about.meta.com/brand/resources/facebook/logo/'
|
||||
title: "Facebook",
|
||||
category: "Social",
|
||||
route: "/library/facebook.svg",
|
||||
url: "https://www.facebook.com/",
|
||||
brandUrl: "https://about.meta.com/brand/resources/facebook/logo/",
|
||||
},
|
||||
{
|
||||
title: 'Twitter',
|
||||
category: 'Social',
|
||||
route: '/library/twitter.svg',
|
||||
url: 'https://twitter.com/'
|
||||
title: "Twitter",
|
||||
category: "Social",
|
||||
route: "/library/twitter.svg",
|
||||
url: "https://twitter.com/",
|
||||
},
|
||||
{
|
||||
title: 'Esbuild',
|
||||
category: 'Compiler',
|
||||
route: '/library/esbuild.svg',
|
||||
url: 'https://esbuild.github.io/'
|
||||
title: "Esbuild",
|
||||
category: "Compiler",
|
||||
route: "/library/esbuild.svg",
|
||||
url: "https://esbuild.github.io/",
|
||||
},
|
||||
{
|
||||
title: 'Deno',
|
||||
category: 'Library',
|
||||
title: "Deno",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/deno.svg',
|
||||
dark: '/library/deno_dark.svg'
|
||||
light: "/library/deno.svg",
|
||||
dark: "/library/deno_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/deno_wordmark.svg',
|
||||
dark: '/library/deno_wordmark_dark.svg'
|
||||
light: "/library/deno_wordmark.svg",
|
||||
dark: "/library/deno_wordmark_dark.svg",
|
||||
},
|
||||
brandUrl: 'https://deno.com/brand',
|
||||
url: 'https://deno.com/'
|
||||
brandUrl: "https://deno.com/brand",
|
||||
url: "https://deno.com/",
|
||||
},
|
||||
{
|
||||
title: 'Gatsby',
|
||||
category: 'Framework',
|
||||
route: '/library/gatsby.svg',
|
||||
url: 'https://www.gatsbyjs.org/'
|
||||
title: "Gatsby",
|
||||
category: "Framework",
|
||||
route: "/library/gatsby.svg",
|
||||
url: "https://www.gatsbyjs.org/",
|
||||
},
|
||||
{
|
||||
title: 'NPM',
|
||||
category: 'Software',
|
||||
route: '/library/npm.svg',
|
||||
url: 'https://www.npmjs.com/'
|
||||
title: "NPM",
|
||||
category: "Software",
|
||||
route: "/library/npm.svg",
|
||||
url: "https://www.npmjs.com/",
|
||||
},
|
||||
{
|
||||
title: 'Nuget',
|
||||
category: 'Software',
|
||||
route: '/library/nuget.svg',
|
||||
url: 'https://www.nuget.org/'
|
||||
title: "Nuget",
|
||||
category: "Software",
|
||||
route: "/library/nuget.svg",
|
||||
url: "https://www.nuget.org/",
|
||||
},
|
||||
{
|
||||
title: 'Homebrew',
|
||||
category: 'Software',
|
||||
route: '/library/homebrew.svg',
|
||||
url: 'https://brew.sh/'
|
||||
title: "Homebrew",
|
||||
category: "Software",
|
||||
route: "/library/homebrew.svg",
|
||||
url: "https://brew.sh/",
|
||||
},
|
||||
{
|
||||
title: 'Sublime Text',
|
||||
category: 'Software',
|
||||
route: '/library/sublimetext.svg',
|
||||
url: 'https://www.sublimetext.com/'
|
||||
title: "Sublime Text",
|
||||
category: "Software",
|
||||
route: "/library/sublimetext.svg",
|
||||
url: "https://www.sublimetext.com/",
|
||||
},
|
||||
{
|
||||
title: 'Turborepo',
|
||||
category: ['Library', 'Vercel', 'Monorepo'],
|
||||
route: '/library/turborepo.svg',
|
||||
url: 'https://turborepo.org/'
|
||||
title: "Turborepo",
|
||||
category: ["Library", "Vercel", "Monorepo"],
|
||||
route: "/library/turborepo.svg",
|
||||
url: "https://turborepo.org/",
|
||||
},
|
||||
{
|
||||
title: 'Tailwind CSS',
|
||||
category: 'Framework',
|
||||
route: '/library/tailwindcss.svg',
|
||||
title: "Tailwind CSS",
|
||||
category: "Framework",
|
||||
route: "/library/tailwindcss.svg",
|
||||
wordmark: {
|
||||
light: '/library/tailwindcss-wordmark.svg',
|
||||
dark: '/library/tailwindcss-wordmark-dark.svg'
|
||||
light: "/library/tailwindcss-wordmark.svg",
|
||||
dark: "/library/tailwindcss-wordmark-dark.svg",
|
||||
},
|
||||
brandUrl: 'https://tailwindcss.com/brand',
|
||||
url: 'https://tailwindcss.com/'
|
||||
brandUrl: "https://tailwindcss.com/brand",
|
||||
url: "https://tailwindcss.com/",
|
||||
},
|
||||
{
|
||||
title: 'Styled Components',
|
||||
category: 'Library',
|
||||
route: '/library/styledcomponents.svg',
|
||||
url: 'https://styled-components.com/'
|
||||
title: "Styled Components",
|
||||
category: "Library",
|
||||
route: "/library/styledcomponents.svg",
|
||||
url: "https://styled-components.com/",
|
||||
},
|
||||
{
|
||||
title: 'Angular',
|
||||
category: 'Framework',
|
||||
route: '/library/angular.svg',
|
||||
url: 'https://angular.dev/',
|
||||
brandUrl: 'https://angular.dev/press-kit'
|
||||
title: "Angular",
|
||||
category: "Framework",
|
||||
route: "/library/angular.svg",
|
||||
url: "https://angular.dev/",
|
||||
brandUrl: "https://angular.dev/press-kit",
|
||||
},
|
||||
{
|
||||
title: 'Blitz',
|
||||
category: 'Framework',
|
||||
route: '/library/blitzjs.svg',
|
||||
url: 'https://blitzjs.com/'
|
||||
title: "Blitz",
|
||||
category: "Framework",
|
||||
route: "/library/blitzjs.svg",
|
||||
url: "https://blitzjs.com/",
|
||||
},
|
||||
{
|
||||
title: 'Lit',
|
||||
category: 'Library',
|
||||
route: '/library/lit.svg',
|
||||
url: 'https://lit.dev/'
|
||||
title: "Lit",
|
||||
category: "Library",
|
||||
route: "/library/lit.svg",
|
||||
url: "https://lit.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Atom',
|
||||
category: 'Software',
|
||||
route: '/library/atom.svg',
|
||||
url: 'https://atom.io/'
|
||||
title: "Atom",
|
||||
category: "Software",
|
||||
route: "/library/atom.svg",
|
||||
url: "https://atom.io/",
|
||||
},
|
||||
{
|
||||
title: 'YouTube',
|
||||
category: ['Google', 'Social'],
|
||||
route: '/library/youtube.svg',
|
||||
wordmark: '/library/youtube-wordmark.svg',
|
||||
url: 'https://www.youtube.com/'
|
||||
title: "YouTube",
|
||||
category: ["Google", "Social"],
|
||||
route: "/library/youtube.svg",
|
||||
wordmark: "/library/youtube-wordmark.svg",
|
||||
url: "https://www.youtube.com/",
|
||||
},
|
||||
{
|
||||
title: 'Astro',
|
||||
category: 'Framework',
|
||||
title: "Astro",
|
||||
category: "Framework",
|
||||
route: {
|
||||
light: '/library/astro.svg',
|
||||
dark: '/library/astro_dark.svg'
|
||||
light: "/library/astro.svg",
|
||||
dark: "/library/astro_dark.svg",
|
||||
},
|
||||
url: 'https://astro.build/',
|
||||
brandUrl: 'https://astro.build/press/'
|
||||
url: "https://astro.build/",
|
||||
brandUrl: "https://astro.build/press/",
|
||||
},
|
||||
{
|
||||
title: 'Google',
|
||||
category: 'Google',
|
||||
route: '/library/google.svg',
|
||||
wordmark: '/library/google-wordmark.svg',
|
||||
url: 'https://www.google.com/'
|
||||
title: "Google",
|
||||
category: "Google",
|
||||
route: "/library/google.svg",
|
||||
wordmark: "/library/google-wordmark.svg",
|
||||
url: "https://www.google.com/",
|
||||
},
|
||||
{
|
||||
title: 'Framer',
|
||||
category: 'Software',
|
||||
title: "Framer",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/framer.svg',
|
||||
dark: '/library/framer_dark.svg'
|
||||
light: "/library/framer.svg",
|
||||
dark: "/library/framer_dark.svg",
|
||||
},
|
||||
url: 'https://framer.com/'
|
||||
url: "https://framer.com/",
|
||||
},
|
||||
{
|
||||
title: 'Netflix',
|
||||
category: 'Entertainment',
|
||||
route: '/library/netflix.svg',
|
||||
url: 'https://www.netflix.com/',
|
||||
brandUrl: 'https://brand.netflix.com/en/assets/logos'
|
||||
title: "Netflix",
|
||||
category: "Entertainment",
|
||||
route: "/library/netflix.svg",
|
||||
url: "https://www.netflix.com/",
|
||||
brandUrl: "https://brand.netflix.com/en/assets/logos",
|
||||
},
|
||||
{
|
||||
title: 'Firefox',
|
||||
category: 'Browser',
|
||||
route: '/library/firefox.svg',
|
||||
url: 'https://www.mozilla.org/en-US/firefox/',
|
||||
brandUrl: 'https://mozilla.design/firefox/'
|
||||
title: "Firefox",
|
||||
category: "Browser",
|
||||
route: "/library/firefox.svg",
|
||||
url: "https://www.mozilla.org/en-US/firefox/",
|
||||
brandUrl: "https://mozilla.design/firefox/",
|
||||
},
|
||||
{
|
||||
title: 'LinkedIn',
|
||||
category: 'Social',
|
||||
route: '/library/linkedin.svg',
|
||||
url: 'https://www.linkedin.com/',
|
||||
brandUrl: 'https://brand.linkedin.com/'
|
||||
title: "LinkedIn",
|
||||
category: "Social",
|
||||
route: "/library/linkedin.svg",
|
||||
url: "https://www.linkedin.com/",
|
||||
brandUrl: "https://brand.linkedin.com/",
|
||||
},
|
||||
{
|
||||
title: 'Telegram',
|
||||
category: 'Social',
|
||||
route: '/library/telegram.svg',
|
||||
url: 'https://web.telegram.org/'
|
||||
title: "Telegram",
|
||||
category: "Social",
|
||||
route: "/library/telegram.svg",
|
||||
url: "https://web.telegram.org/",
|
||||
},
|
||||
{
|
||||
title: 'Matrix',
|
||||
category: 'Social',
|
||||
title: "Matrix",
|
||||
category: "Social",
|
||||
route: {
|
||||
light: '/library/matrix-light.svg',
|
||||
dark: '/library/matrix-dark.svg'
|
||||
light: "/library/matrix-light.svg",
|
||||
dark: "/library/matrix-dark.svg",
|
||||
},
|
||||
url: 'https://matrix.org/'
|
||||
url: "https://matrix.org/",
|
||||
},
|
||||
{
|
||||
title: 'WhatsApp',
|
||||
category: 'Social',
|
||||
route: '/library/whatsapp.svg',
|
||||
url: 'https://web.whatsapp.com/'
|
||||
title: "WhatsApp",
|
||||
category: "Social",
|
||||
route: "/library/whatsapp.svg",
|
||||
url: "https://web.whatsapp.com/",
|
||||
},
|
||||
{
|
||||
title: 'Headless UI',
|
||||
category: 'Library',
|
||||
route: '/library/headlessui.svg',
|
||||
url: 'https://headlessui.dev/'
|
||||
title: "Headless UI",
|
||||
category: "Library",
|
||||
route: "/library/headlessui.svg",
|
||||
url: "https://headlessui.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Kotlin',
|
||||
category: 'Language',
|
||||
route: '/library/kotlin.svg',
|
||||
url: 'https://kotlinlang.org/'
|
||||
title: "Kotlin",
|
||||
category: "Language",
|
||||
route: "/library/kotlin.svg",
|
||||
url: "https://kotlinlang.org/",
|
||||
},
|
||||
{
|
||||
title: 'Storybook',
|
||||
category: 'Software',
|
||||
route: '/library/storybook.svg',
|
||||
url: 'https://storybook.js.org/'
|
||||
title: "Storybook",
|
||||
category: "Software",
|
||||
route: "/library/storybook.svg",
|
||||
url: "https://storybook.js.org/",
|
||||
},
|
||||
{
|
||||
title: 'Netlify',
|
||||
category: 'Hosting',
|
||||
route: '/library/netlify.svg',
|
||||
url: 'https://www.netlify.com/'
|
||||
title: "Netlify",
|
||||
category: "Hosting",
|
||||
route: "/library/netlify.svg",
|
||||
url: "https://www.netlify.com/",
|
||||
},
|
||||
{
|
||||
title: 'Solidjs',
|
||||
category: 'Framework',
|
||||
route: '/library/solidjs.svg',
|
||||
url: 'https://www.solidjs.com/'
|
||||
title: "Solidjs",
|
||||
category: "Framework",
|
||||
route: "/library/solidjs.svg",
|
||||
url: "https://www.solidjs.com/",
|
||||
},
|
||||
{
|
||||
title: 'MongoDB',
|
||||
category: 'Database',
|
||||
route: '/library/mongodb.svg',
|
||||
wordmark: '/library/mongodb-wordmark.svg',
|
||||
url: 'https://www.mongodb.com/',
|
||||
brandUrl: 'https://www.mongodb.com/company/newsroom/brand-resources'
|
||||
title: "MongoDB",
|
||||
category: "Database",
|
||||
route: "/library/mongodb.svg",
|
||||
wordmark: "/library/mongodb-wordmark.svg",
|
||||
url: "https://www.mongodb.com/",
|
||||
brandUrl: "https://www.mongodb.com/company/newsroom/brand-resources",
|
||||
},
|
||||
{
|
||||
title: 'Moon',
|
||||
category: 'Framework',
|
||||
route: '/library/moon.svg',
|
||||
url: 'https://moonjs.org/'
|
||||
title: "Moon",
|
||||
category: "Framework",
|
||||
route: "/library/moon.svg",
|
||||
url: "https://moonjs.org/",
|
||||
},
|
||||
{
|
||||
title: 'Payload CMS',
|
||||
category: 'CMS',
|
||||
title: "Payload CMS",
|
||||
category: "CMS",
|
||||
route: {
|
||||
light: '/library/payload.svg',
|
||||
dark: '/library/payload_dark.svg'
|
||||
light: "/library/payload.svg",
|
||||
dark: "/library/payload_dark.svg",
|
||||
},
|
||||
url: 'https://payloadcms.com'
|
||||
url: "https://payloadcms.com",
|
||||
},
|
||||
{
|
||||
title: 'Fly',
|
||||
category: 'Hosting',
|
||||
route: '/library/fly.svg',
|
||||
url: 'https://fly.io',
|
||||
brandUrl: 'https://fly.io/docs/about/brand/'
|
||||
title: "Fly",
|
||||
category: "Hosting",
|
||||
route: "/library/fly.svg",
|
||||
url: "https://fly.io",
|
||||
brandUrl: "https://fly.io/docs/about/brand/",
|
||||
},
|
||||
{
|
||||
title: 'LearnThis',
|
||||
category: 'Education',
|
||||
route: '/library/learnthis.svg',
|
||||
url: 'https://learnthisacademy.com'
|
||||
title: "LearnThis",
|
||||
category: "Education",
|
||||
route: "/library/learnthis.svg",
|
||||
url: "https://learnthisacademy.com",
|
||||
},
|
||||
{
|
||||
title: 'Visual Studio',
|
||||
category: 'Software',
|
||||
route: '/library/visual-studio.svg',
|
||||
url: 'https://visualstudio.microsoft.com'
|
||||
title: "Visual Studio",
|
||||
category: "Software",
|
||||
route: "/library/visual-studio.svg",
|
||||
url: "https://visualstudio.microsoft.com",
|
||||
},
|
||||
{
|
||||
title: 'Chakra UI',
|
||||
category: 'Library',
|
||||
route: '/library/chakra-ui.svg',
|
||||
url: 'https://chakra-ui.com'
|
||||
title: "Chakra UI",
|
||||
category: "Library",
|
||||
route: "/library/chakra-ui.svg",
|
||||
url: "https://chakra-ui.com",
|
||||
},
|
||||
{
|
||||
title: 'Express.js',
|
||||
category: 'Framework',
|
||||
title: "Express.js",
|
||||
category: "Framework",
|
||||
route: {
|
||||
light: '/library/expressjs.svg',
|
||||
dark: '/library/expressjs_dark.svg'
|
||||
light: "/library/expressjs.svg",
|
||||
dark: "/library/expressjs_dark.svg",
|
||||
},
|
||||
url: 'https://expressjs.com'
|
||||
url: "https://expressjs.com",
|
||||
},
|
||||
{
|
||||
title: 'Fastify',
|
||||
category: 'Framework',
|
||||
title: "Fastify",
|
||||
category: "Framework",
|
||||
route: {
|
||||
light: '/library/fastify.svg',
|
||||
dark: '/library/fastify_dark.svg'
|
||||
light: "/library/fastify.svg",
|
||||
dark: "/library/fastify_dark.svg",
|
||||
},
|
||||
url: 'https://www.fastify.io'
|
||||
url: "https://www.fastify.io",
|
||||
},
|
||||
{
|
||||
title: 'JavaScript',
|
||||
category: 'Language',
|
||||
route: '/library/javascript.svg',
|
||||
url: 'https://developer.mozilla.org/docs/Web/JavaScript'
|
||||
title: "JavaScript",
|
||||
category: "Language",
|
||||
route: "/library/javascript.svg",
|
||||
url: "https://developer.mozilla.org/docs/Web/JavaScript",
|
||||
},
|
||||
{
|
||||
title: 'jQuery',
|
||||
category: 'Library',
|
||||
title: "jQuery",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/jquery.svg',
|
||||
dark: '/library/jquery_dark.svg'
|
||||
light: "/library/jquery.svg",
|
||||
dark: "/library/jquery_dark.svg",
|
||||
},
|
||||
url: 'https://jquery.com'
|
||||
url: "https://jquery.com",
|
||||
},
|
||||
{
|
||||
title: 'Rapid API',
|
||||
category: 'Software',
|
||||
route: '/library/rapidapi.svg',
|
||||
url: 'https://rapidapi.com'
|
||||
title: "Rapid API",
|
||||
category: "Software",
|
||||
route: "/library/rapidapi.svg",
|
||||
url: "https://rapidapi.com",
|
||||
},
|
||||
{
|
||||
title: 'TypeScript',
|
||||
category: 'Language',
|
||||
route: '/library/typescript.svg',
|
||||
url: 'https://www.typescriptlang.org'
|
||||
title: "TypeScript",
|
||||
category: "Language",
|
||||
route: "/library/typescript.svg",
|
||||
url: "https://www.typescriptlang.org",
|
||||
},
|
||||
{
|
||||
title: 'Bun',
|
||||
category: 'Library',
|
||||
route: '/library/bun.svg',
|
||||
url: 'https://bun.sh',
|
||||
brandUrl: 'https://bun.sh/press-kit'
|
||||
title: "Bun",
|
||||
category: "Library",
|
||||
route: "/library/bun.svg",
|
||||
url: "https://bun.sh",
|
||||
brandUrl: "https://bun.sh/press-kit",
|
||||
},
|
||||
{
|
||||
title: 'BuildShip',
|
||||
category: 'AI',
|
||||
route: '/library/buildship.svg',
|
||||
url: 'https://buildship.com/'
|
||||
title: "BuildShip",
|
||||
category: "AI",
|
||||
route: "/library/buildship.svg",
|
||||
url: "https://buildship.com/",
|
||||
},
|
||||
{
|
||||
title: 'Twilio',
|
||||
category: ['Software', 'Authentication'],
|
||||
route: '/library/twilio.svg',
|
||||
url: 'https://twilio.com'
|
||||
title: "Twilio",
|
||||
category: ["Software", "Authentication"],
|
||||
route: "/library/twilio.svg",
|
||||
url: "https://twilio.com",
|
||||
},
|
||||
{
|
||||
title: 'Arc',
|
||||
category: 'Social',
|
||||
title: "Arc",
|
||||
category: "Social",
|
||||
route: {
|
||||
light: '/library/arc.svg',
|
||||
dark: '/library/arc_dark.svg'
|
||||
light: "/library/arc.svg",
|
||||
dark: "/library/arc_dark.svg",
|
||||
},
|
||||
url: 'https://arc.dev'
|
||||
url: "https://arc.dev",
|
||||
},
|
||||
{
|
||||
title: 'Arc',
|
||||
category: 'Software',
|
||||
title: "Arc",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/arc_fintech_light.svg',
|
||||
dark: '/library/arc_fintech_dark.svg'
|
||||
light: "/library/arc_fintech_light.svg",
|
||||
dark: "/library/arc_fintech_dark.svg",
|
||||
},
|
||||
url: 'https://arc.tech'
|
||||
url: "https://arc.tech",
|
||||
},
|
||||
{
|
||||
title: 'Qwik',
|
||||
category: 'Framework',
|
||||
route: '/library/qwik.svg',
|
||||
url: 'https://qwik.builder.io/'
|
||||
title: "Qwik",
|
||||
category: "Framework",
|
||||
route: "/library/qwik.svg",
|
||||
url: "https://qwik.builder.io/",
|
||||
},
|
||||
{
|
||||
title: 'Coinbase',
|
||||
category: 'Crypto',
|
||||
route: '/library/coinbase.svg',
|
||||
title: "Coinbase",
|
||||
category: "Crypto",
|
||||
route: "/library/coinbase.svg",
|
||||
wordmark: {
|
||||
light: '/library/coinbase-wordmark-light.svg',
|
||||
dark: '/library/coinbase-wordmark-dark.svg'
|
||||
light: "/library/coinbase-wordmark-light.svg",
|
||||
dark: "/library/coinbase-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://www.coinbase.com/'
|
||||
url: "https://www.coinbase.com/",
|
||||
},
|
||||
{
|
||||
title: 'Authy',
|
||||
category: ['Software', 'Authentication'],
|
||||
route: '/library/authy.svg',
|
||||
url: 'https://authy.com/'
|
||||
title: "Authy",
|
||||
category: ["Software", "Authentication"],
|
||||
route: "/library/authy.svg",
|
||||
url: "https://authy.com/",
|
||||
},
|
||||
{
|
||||
title: 'NestJS',
|
||||
category: 'Framework',
|
||||
route: '/library/nestjs.svg',
|
||||
url: 'https://nestjs.com/'
|
||||
title: "NestJS",
|
||||
category: "Framework",
|
||||
route: "/library/nestjs.svg",
|
||||
url: "https://nestjs.com/",
|
||||
},
|
||||
{
|
||||
title: 'GitHub Copilot',
|
||||
category: 'Software',
|
||||
title: "GitHub Copilot",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/copilot.svg',
|
||||
dark: '/library/copilot_dark.svg'
|
||||
light: "/library/copilot.svg",
|
||||
dark: "/library/copilot_dark.svg",
|
||||
},
|
||||
url: 'https://github.com/features/copilot'
|
||||
url: "https://github.com/features/copilot",
|
||||
},
|
||||
{
|
||||
title: 'Railway',
|
||||
category: 'Software',
|
||||
title: "Railway",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/railway.svg',
|
||||
dark: '/library/railway_dark.svg'
|
||||
light: "/library/railway.svg",
|
||||
dark: "/library/railway_dark.svg",
|
||||
},
|
||||
url: 'https://railway.app/'
|
||||
url: "https://railway.app/",
|
||||
},
|
||||
{
|
||||
title: 'Docusaurus',
|
||||
category: 'Software',
|
||||
route: '/library/docusaurus.svg',
|
||||
url: 'https://docusaurus.io/'
|
||||
title: "Docusaurus",
|
||||
category: "Software",
|
||||
route: "/library/docusaurus.svg",
|
||||
url: "https://docusaurus.io/",
|
||||
},
|
||||
{
|
||||
title: 'Twitch',
|
||||
category: 'Entertainment',
|
||||
route: '/library/twitch.svg',
|
||||
url: 'https://twitch.tv'
|
||||
title: "Twitch",
|
||||
category: "Entertainment",
|
||||
route: "/library/twitch.svg",
|
||||
url: "https://twitch.tv",
|
||||
},
|
||||
{
|
||||
title: 'GoDaddy',
|
||||
category: 'Hosting',
|
||||
title: "GoDaddy",
|
||||
category: "Hosting",
|
||||
route: {
|
||||
light: '/library/godaddy.svg',
|
||||
dark: '/library/godaddy_dark.svg'
|
||||
light: "/library/godaddy.svg",
|
||||
dark: "/library/godaddy_dark.svg",
|
||||
},
|
||||
url: 'https://www.godaddy.com/'
|
||||
url: "https://www.godaddy.com/",
|
||||
},
|
||||
{
|
||||
title: 'Udemy',
|
||||
category: 'Education',
|
||||
title: "Udemy",
|
||||
category: "Education",
|
||||
route: {
|
||||
light: '/library/udemy.svg',
|
||||
dark: '/library/udemy_dark.svg'
|
||||
light: "/library/udemy.svg",
|
||||
dark: "/library/udemy_dark.svg",
|
||||
},
|
||||
url: 'https://www.udemy.com/'
|
||||
url: "https://www.udemy.com/",
|
||||
},
|
||||
{
|
||||
title: 'GraphQL',
|
||||
category: 'Language',
|
||||
route: '/library/graphql.svg',
|
||||
url: 'https://graphql.org/'
|
||||
title: "GraphQL",
|
||||
category: "Language",
|
||||
route: "/library/graphql.svg",
|
||||
url: "https://graphql.org/",
|
||||
},
|
||||
{
|
||||
title: 'Grok',
|
||||
category: 'AI',
|
||||
title: "Grok",
|
||||
category: "AI",
|
||||
route: {
|
||||
light: '/library/grok-light.svg',
|
||||
dark: '/library/grok-dark.svg'
|
||||
light: "/library/grok-light.svg",
|
||||
dark: "/library/grok-dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/grok-wordmark-light.svg',
|
||||
dark: '/library/grok-wordmark-dark.svg'
|
||||
light: "/library/grok-wordmark-light.svg",
|
||||
dark: "/library/grok-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://grok.com/'
|
||||
url: "https://grok.com/",
|
||||
},
|
||||
{
|
||||
title: 'GitLab',
|
||||
category: 'Software',
|
||||
route: '/library/gitlab.svg',
|
||||
url: 'https://gitlab.com/'
|
||||
title: "GitLab",
|
||||
category: "Software",
|
||||
route: "/library/gitlab.svg",
|
||||
url: "https://gitlab.com/",
|
||||
},
|
||||
{
|
||||
title: 'Prisma',
|
||||
category: 'Software',
|
||||
title: "Prisma",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/prisma.svg',
|
||||
dark: '/library/prisma_dark.svg'
|
||||
light: "/library/prisma.svg",
|
||||
dark: "/library/prisma_dark.svg",
|
||||
},
|
||||
url: 'https://prisma.io/'
|
||||
url: "https://prisma.io/",
|
||||
},
|
||||
{
|
||||
title: 'Go',
|
||||
category: 'Language',
|
||||
title: "Go",
|
||||
category: "Language",
|
||||
route: {
|
||||
light: '/library/golang.svg',
|
||||
dark: '/library/golang_dark.svg'
|
||||
light: "/library/golang.svg",
|
||||
dark: "/library/golang_dark.svg",
|
||||
},
|
||||
url: 'https://go.dev/'
|
||||
url: "https://go.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Platzi',
|
||||
category: 'Education',
|
||||
route: '/library/platzi.svg',
|
||||
url: 'https://platzi.com/'
|
||||
title: "Platzi",
|
||||
category: "Education",
|
||||
route: "/library/platzi.svg",
|
||||
url: "https://platzi.com/",
|
||||
},
|
||||
{
|
||||
title: 'Coursera',
|
||||
category: 'Education',
|
||||
route: '/library/coursera.svg',
|
||||
url: 'https://www.coursera.org/'
|
||||
title: "Coursera",
|
||||
category: "Education",
|
||||
route: "/library/coursera.svg",
|
||||
url: "https://www.coursera.org/",
|
||||
},
|
||||
{
|
||||
title: 'Udacity',
|
||||
category: 'Education',
|
||||
route: '/library/udacity.svg',
|
||||
url: 'https://www.udacity.com/'
|
||||
title: "Udacity",
|
||||
category: "Education",
|
||||
route: "/library/udacity.svg",
|
||||
url: "https://www.udacity.com/",
|
||||
},
|
||||
{
|
||||
title: 'Kubernetes',
|
||||
category: 'Software',
|
||||
route: '/library/kubernetes.svg',
|
||||
url: 'https://kubernetes.io/'
|
||||
title: "Kubernetes",
|
||||
category: "Software",
|
||||
route: "/library/kubernetes.svg",
|
||||
url: "https://kubernetes.io/",
|
||||
},
|
||||
{
|
||||
title: 'Docker',
|
||||
category: 'Software',
|
||||
route: '/library/docker.svg',
|
||||
url: 'https://www.docker.com/',
|
||||
brandUrl: 'https://www.docker.com/company/newsroom/media-resources/'
|
||||
title: "Docker",
|
||||
category: "Software",
|
||||
route: "/library/docker.svg",
|
||||
url: "https://www.docker.com/",
|
||||
brandUrl: "https://www.docker.com/company/newsroom/media-resources/",
|
||||
},
|
||||
{
|
||||
title: 'Amazon Web Services',
|
||||
category: 'Software',
|
||||
title: "Amazon Web Services",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/aws_light.svg',
|
||||
dark: '/library/aws_dark.svg'
|
||||
light: "/library/aws_light.svg",
|
||||
dark: "/library/aws_dark.svg",
|
||||
},
|
||||
url: 'https://aws.amazon.com/'
|
||||
url: "https://aws.amazon.com/",
|
||||
},
|
||||
{
|
||||
title: 'Microsoft Azure',
|
||||
category: 'Software',
|
||||
route: '/library/azure.svg',
|
||||
url: 'https://azure.microsoft.com/'
|
||||
title: "Microsoft Azure",
|
||||
category: "Software",
|
||||
route: "/library/azure.svg",
|
||||
url: "https://azure.microsoft.com/",
|
||||
},
|
||||
{
|
||||
title: 'Heroku',
|
||||
category: 'Software',
|
||||
route: '/library/heroku.svg',
|
||||
url: 'https://www.heroku.com/'
|
||||
title: "Heroku",
|
||||
category: "Software",
|
||||
route: "/library/heroku.svg",
|
||||
url: "https://www.heroku.com/",
|
||||
},
|
||||
{
|
||||
title: 'JetBrains',
|
||||
category: 'Software',
|
||||
route: '/library/jetbrains.svg',
|
||||
url: 'https://www.jetbrains.com/',
|
||||
brandUrl: 'https://www.jetbrains.com/company/brand/'
|
||||
title: "JetBrains",
|
||||
category: "Software",
|
||||
route: "/library/jetbrains.svg",
|
||||
url: "https://www.jetbrains.com/",
|
||||
brandUrl: "https://www.jetbrains.com/company/brand/",
|
||||
},
|
||||
{
|
||||
title: 'JetBrains Rider',
|
||||
category: 'Software',
|
||||
route: '/library/rider.svg',
|
||||
url: 'https://www.jetbrains.com/rider/'
|
||||
title: "JetBrains Rider",
|
||||
category: "Software",
|
||||
route: "/library/rider.svg",
|
||||
url: "https://www.jetbrains.com/rider/",
|
||||
},
|
||||
{
|
||||
title: 'PlanetScale',
|
||||
category: 'Database',
|
||||
title: "PlanetScale",
|
||||
category: "Database",
|
||||
route: {
|
||||
light: '/library/planetscale.svg',
|
||||
dark: '/library/planetscale_dark.svg'
|
||||
light: "/library/planetscale.svg",
|
||||
dark: "/library/planetscale_dark.svg",
|
||||
},
|
||||
url: 'https://planetscale.com/'
|
||||
url: "https://planetscale.com/",
|
||||
},
|
||||
{
|
||||
title: 'Playwright',
|
||||
category: 'Framework',
|
||||
route: '/library/playwright.svg',
|
||||
url: 'https://playwright.dev/'
|
||||
title: "Playwright",
|
||||
category: "Framework",
|
||||
route: "/library/playwright.svg",
|
||||
url: "https://playwright.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Atlassian',
|
||||
category: 'Software',
|
||||
route: '/library/atlassian.svg',
|
||||
url: 'https://www.atlassian.com/'
|
||||
title: "Atlassian",
|
||||
category: "Software",
|
||||
route: "/library/atlassian.svg",
|
||||
url: "https://www.atlassian.com/",
|
||||
},
|
||||
{
|
||||
title: 'Discourse',
|
||||
category: 'Software',
|
||||
route: '/library/discourse.svg',
|
||||
url: 'https://discourse.org/'
|
||||
title: "Discourse",
|
||||
category: "Software",
|
||||
route: "/library/discourse.svg",
|
||||
url: "https://discourse.org/",
|
||||
},
|
||||
{
|
||||
title: 'Ember',
|
||||
category: 'Framework',
|
||||
route: '/library/ember.svg',
|
||||
url: 'https://emberjs.com/'
|
||||
title: "Ember",
|
||||
category: "Framework",
|
||||
route: "/library/ember.svg",
|
||||
url: "https://emberjs.com/",
|
||||
},
|
||||
{
|
||||
title: 'Expo',
|
||||
category: 'Software',
|
||||
route: '/library/expo.svg',
|
||||
url: 'https://expo.dev/'
|
||||
title: "Expo",
|
||||
category: "Software",
|
||||
route: "/library/expo.svg",
|
||||
url: "https://expo.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Flutter',
|
||||
category: 'Framework',
|
||||
route: '/library/flutter.svg',
|
||||
url: 'https://flutter.dev/',
|
||||
brandUrl: 'https://flutter.dev/brand'
|
||||
title: "Flutter",
|
||||
category: "Framework",
|
||||
route: "/library/flutter.svg",
|
||||
url: "https://flutter.dev/",
|
||||
brandUrl: "https://flutter.dev/brand",
|
||||
},
|
||||
{
|
||||
title: 'Auth0',
|
||||
category: ['Library', 'Authentication'],
|
||||
route: '/library/auth0.svg',
|
||||
url: 'https://auth0.com/'
|
||||
title: "Auth0",
|
||||
category: ["Library", "Authentication"],
|
||||
route: "/library/auth0.svg",
|
||||
url: "https://auth0.com/",
|
||||
},
|
||||
{
|
||||
title: 'Fresh',
|
||||
category: 'Framework',
|
||||
route: '/library/fresh.svg',
|
||||
url: 'https://fresh.deno.dev/'
|
||||
title: "Fresh",
|
||||
category: "Framework",
|
||||
route: "/library/fresh.svg",
|
||||
url: "https://fresh.deno.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Git',
|
||||
category: 'Software',
|
||||
route: '/library/git.svg',
|
||||
url: 'https://git-scm.com/'
|
||||
title: "Git",
|
||||
category: "Software",
|
||||
route: "/library/git.svg",
|
||||
url: "https://git-scm.com/",
|
||||
},
|
||||
{
|
||||
title: 'Hostgator',
|
||||
category: 'Hosting',
|
||||
route: '/library/hostgator.svg',
|
||||
url: 'https://www.hostgator.com/'
|
||||
title: "Hostgator",
|
||||
category: "Hosting",
|
||||
route: "/library/hostgator.svg",
|
||||
url: "https://www.hostgator.com/",
|
||||
},
|
||||
{
|
||||
title: 'IntelliJ IDEA',
|
||||
category: 'Software',
|
||||
route: '/library/intellijidea.svg',
|
||||
url: 'https://www.jetbrains.com/idea/'
|
||||
title: "IntelliJ IDEA",
|
||||
category: "Software",
|
||||
route: "/library/intellijidea.svg",
|
||||
url: "https://www.jetbrains.com/idea/",
|
||||
},
|
||||
{
|
||||
title: 'Jasmine',
|
||||
category: 'Framework',
|
||||
route: '/library/jasmine.svg',
|
||||
url: 'https://jasmine.github.io/'
|
||||
title: "Jasmine",
|
||||
category: "Framework",
|
||||
route: "/library/jasmine.svg",
|
||||
url: "https://jasmine.github.io/",
|
||||
},
|
||||
{
|
||||
title: 'Java',
|
||||
category: 'Language',
|
||||
route: '/library/java.svg',
|
||||
url: 'https://www.java.com/'
|
||||
title: "Java",
|
||||
category: "Language",
|
||||
route: "/library/java.svg",
|
||||
url: "https://www.java.com/",
|
||||
},
|
||||
{
|
||||
title: 'Jest',
|
||||
category: 'Framework',
|
||||
route: '/library/jest.svg',
|
||||
url: 'https://jestjs.io/'
|
||||
title: "Jest",
|
||||
category: "Framework",
|
||||
route: "/library/jest.svg",
|
||||
url: "https://jestjs.io/",
|
||||
},
|
||||
{
|
||||
title: 'JetBrains',
|
||||
category: 'Software',
|
||||
route: '/library/jetbrainsSolid.svg',
|
||||
url: 'https://www.jetbrains.com/'
|
||||
title: "JetBrains",
|
||||
category: "Software",
|
||||
route: "/library/jetbrainsSolid.svg",
|
||||
url: "https://www.jetbrains.com/",
|
||||
},
|
||||
{
|
||||
title: 'KrakenJS',
|
||||
category: 'Framework',
|
||||
route: '/library/krakenjs.svg',
|
||||
url: 'https://krakenjs.com/'
|
||||
title: "KrakenJS",
|
||||
category: "Framework",
|
||||
route: "/library/krakenjs.svg",
|
||||
url: "https://krakenjs.com/",
|
||||
},
|
||||
{
|
||||
title: 'Laravel',
|
||||
category: 'Framework',
|
||||
route: '/library/laravel.svg',
|
||||
url: 'https://laravel.com/'
|
||||
title: "Laravel",
|
||||
category: "Framework",
|
||||
route: "/library/laravel.svg",
|
||||
url: "https://laravel.com/",
|
||||
},
|
||||
{
|
||||
title: 'MariaDB',
|
||||
category: 'Database',
|
||||
route: '/library/mariadb.svg',
|
||||
url: 'https://mariadb.org/'
|
||||
title: "MariaDB",
|
||||
category: "Database",
|
||||
route: "/library/mariadb.svg",
|
||||
url: "https://mariadb.org/",
|
||||
},
|
||||
{
|
||||
title: 'Material UI',
|
||||
category: 'Framework',
|
||||
route: '/library/materialui.svg',
|
||||
url: 'https://mui.com/'
|
||||
title: "Material UI",
|
||||
category: "Framework",
|
||||
route: "/library/materialui.svg",
|
||||
url: "https://mui.com/",
|
||||
},
|
||||
{
|
||||
title: 'MySQL',
|
||||
category: 'Database',
|
||||
route: '/library/mysql.svg',
|
||||
url: 'https://www.mysql.com/'
|
||||
title: "MySQL",
|
||||
category: "Database",
|
||||
route: "/library/mysql.svg",
|
||||
url: "https://www.mysql.com/",
|
||||
},
|
||||
{
|
||||
title: 'Parcel',
|
||||
category: 'Compiler',
|
||||
route: '/library/parcel.svg',
|
||||
url: 'https://parceljs.org/'
|
||||
title: "Parcel",
|
||||
category: "Compiler",
|
||||
route: "/library/parcel.svg",
|
||||
url: "https://parceljs.org/",
|
||||
},
|
||||
{
|
||||
title: 'PM2',
|
||||
category: 'Framework',
|
||||
route: '/library/pm2.svg',
|
||||
url: 'https://pm2.io/'
|
||||
title: "PM2",
|
||||
category: "Framework",
|
||||
route: "/library/pm2.svg",
|
||||
url: "https://pm2.io/",
|
||||
},
|
||||
{
|
||||
title: 'PostgreSQL',
|
||||
category: 'Database',
|
||||
route: '/library/postgresql.svg',
|
||||
url: 'https://www.postgresql.org/'
|
||||
title: "PostgreSQL",
|
||||
category: "Database",
|
||||
route: "/library/postgresql.svg",
|
||||
url: "https://www.postgresql.org/",
|
||||
},
|
||||
{
|
||||
title: 'React Query',
|
||||
category: 'Framework',
|
||||
route: '/library/reactquery.svg',
|
||||
url: 'https://tanstack.com/query/v4'
|
||||
title: "React Query",
|
||||
category: "Framework",
|
||||
route: "/library/reactquery.svg",
|
||||
url: "https://tanstack.com/query/v4",
|
||||
},
|
||||
{
|
||||
title: 'Devto',
|
||||
category: 'Community',
|
||||
title: "Devto",
|
||||
category: "Community",
|
||||
route: {
|
||||
light: '/library/devto-light.svg',
|
||||
dark: '/library/devto-dark.svg'
|
||||
light: "/library/devto-light.svg",
|
||||
dark: "/library/devto-dark.svg",
|
||||
},
|
||||
url: 'https://dev.to/'
|
||||
url: "https://dev.to/",
|
||||
},
|
||||
{
|
||||
title: 'Redis',
|
||||
category: 'Database',
|
||||
route: '/library/redis.svg',
|
||||
url: 'https://redis.io/'
|
||||
title: "Redis",
|
||||
category: "Database",
|
||||
route: "/library/redis.svg",
|
||||
url: "https://redis.io/",
|
||||
},
|
||||
{
|
||||
title: 'RedwoodJS',
|
||||
category: 'Framework',
|
||||
route: '/library/redwoodjs.svg',
|
||||
url: 'https://redwoodjs.com/'
|
||||
title: "RedwoodJS",
|
||||
category: "Framework",
|
||||
route: "/library/redwoodjs.svg",
|
||||
url: "https://redwoodjs.com/",
|
||||
},
|
||||
{
|
||||
title: 'Ruby',
|
||||
category: 'Language',
|
||||
route: '/library/ruby.svg',
|
||||
url: 'https://www.ruby-lang.org/'
|
||||
title: "Ruby",
|
||||
category: "Language",
|
||||
route: "/library/ruby.svg",
|
||||
url: "https://www.ruby-lang.org/",
|
||||
},
|
||||
{
|
||||
title: 'Scala',
|
||||
category: 'Language',
|
||||
route: '/library/scala.svg',
|
||||
url: 'https://www.scala-lang.org/'
|
||||
title: "Scala",
|
||||
category: "Language",
|
||||
route: "/library/scala.svg",
|
||||
url: "https://www.scala-lang.org/",
|
||||
},
|
||||
{
|
||||
title: 'Sequelize',
|
||||
category: 'Framework',
|
||||
route: '/library/sequelize.svg',
|
||||
url: 'https://sequelize.org/'
|
||||
title: "Sequelize",
|
||||
category: "Framework",
|
||||
route: "/library/sequelize.svg",
|
||||
url: "https://sequelize.org/",
|
||||
},
|
||||
{
|
||||
title: 'Spinnaker',
|
||||
category: 'Software',
|
||||
route: '/library/spinnaker.svg',
|
||||
url: 'https://spinnaker.io/'
|
||||
title: "Spinnaker",
|
||||
category: "Software",
|
||||
route: "/library/spinnaker.svg",
|
||||
url: "https://spinnaker.io/",
|
||||
},
|
||||
{
|
||||
title: 'SQLite',
|
||||
category: 'Database',
|
||||
route: '/library/sqlite.svg',
|
||||
url: 'https://www.sqlite.org/'
|
||||
title: "SQLite",
|
||||
category: "Database",
|
||||
route: "/library/sqlite.svg",
|
||||
url: "https://www.sqlite.org/",
|
||||
},
|
||||
{
|
||||
title: 'Swagger',
|
||||
category: 'Software',
|
||||
route: '/library/swagger.svg',
|
||||
url: 'https://swagger.io/'
|
||||
title: "Swagger",
|
||||
category: "Software",
|
||||
route: "/library/swagger.svg",
|
||||
url: "https://swagger.io/",
|
||||
},
|
||||
{
|
||||
title: 'Swift',
|
||||
category: 'Language',
|
||||
route: '/library/swift.svg',
|
||||
url: 'https://swift.org/'
|
||||
title: "Swift",
|
||||
category: "Language",
|
||||
route: "/library/swift.svg",
|
||||
url: "https://swift.org/",
|
||||
},
|
||||
{
|
||||
title: 'TypeORM',
|
||||
category: 'Database',
|
||||
route: '/library/typeorm.svg',
|
||||
url: 'https://typeorm.io/'
|
||||
title: "TypeORM",
|
||||
category: "Database",
|
||||
route: "/library/typeorm.svg",
|
||||
url: "https://typeorm.io/",
|
||||
},
|
||||
{
|
||||
title: 'Unity',
|
||||
category: 'Software',
|
||||
title: "Unity",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/unity.svg',
|
||||
dark: '/library/unity_dark.svg'
|
||||
light: "/library/unity.svg",
|
||||
dark: "/library/unity_dark.svg",
|
||||
},
|
||||
url: 'https://unity.com/'
|
||||
url: "https://unity.com/",
|
||||
},
|
||||
{
|
||||
title: 'Vim',
|
||||
category: 'Software',
|
||||
route: '/library/vim.svg',
|
||||
url: 'https://www.vim.org/'
|
||||
title: "Vim",
|
||||
category: "Software",
|
||||
route: "/library/vim.svg",
|
||||
url: "https://www.vim.org/",
|
||||
},
|
||||
{
|
||||
title: 'Pocketbase',
|
||||
category: 'Database',
|
||||
route: '/library/pocket-base.svg',
|
||||
url: 'https://pocketbase.io/'
|
||||
title: "Pocketbase",
|
||||
category: "Database",
|
||||
route: "/library/pocket-base.svg",
|
||||
url: "https://pocketbase.io/",
|
||||
},
|
||||
{
|
||||
title: 'OpenBootcamp',
|
||||
category: 'Education',
|
||||
route: '/library/openbootcamp.svg',
|
||||
url: 'https://open-bootcamp.com/'
|
||||
title: "OpenBootcamp",
|
||||
category: "Education",
|
||||
route: "/library/openbootcamp.svg",
|
||||
url: "https://open-bootcamp.com/",
|
||||
},
|
||||
{
|
||||
title: 'Digital Ocean',
|
||||
category: 'Software',
|
||||
route: '/library/digitalocean.svg',
|
||||
url: 'https://www.digitalocean.com/'
|
||||
title: "Digital Ocean",
|
||||
category: "Software",
|
||||
route: "/library/digitalocean.svg",
|
||||
url: "https://www.digitalocean.com/",
|
||||
},
|
||||
{
|
||||
title: 'Disney+',
|
||||
category: 'Entertainment',
|
||||
route: '/library/disneyplus.svg',
|
||||
url: 'https://www.disneyplus.com/'
|
||||
title: "Disney+",
|
||||
category: "Entertainment",
|
||||
route: "/library/disneyplus.svg",
|
||||
url: "https://www.disneyplus.com/",
|
||||
},
|
||||
{
|
||||
title: 'React Router',
|
||||
category: 'Library',
|
||||
route: '/library/reactrouter.svg',
|
||||
url: 'https://reactrouter.com/en/main'
|
||||
title: "React Router",
|
||||
category: "Library",
|
||||
route: "/library/reactrouter.svg",
|
||||
url: "https://reactrouter.com/en/main",
|
||||
},
|
||||
{
|
||||
title: 'AMP',
|
||||
category: 'Library',
|
||||
route: '/library/amp.svg',
|
||||
url: 'https://amp.dev/'
|
||||
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/'
|
||||
title: "Developer Student Club",
|
||||
category: "Community",
|
||||
route: "/library/gdsc.svg",
|
||||
url: "https://gdsc.community.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Brave Browser',
|
||||
category: 'Browser',
|
||||
route: '/library/brave.svg',
|
||||
url: 'https://brave.com/',
|
||||
brandUrl: 'https://brave.com/brave-branding-assets/'
|
||||
title: "Brave Browser",
|
||||
category: "Browser",
|
||||
route: "/library/brave.svg",
|
||||
url: "https://brave.com/",
|
||||
brandUrl: "https://brave.com/brave-branding-assets/",
|
||||
},
|
||||
{
|
||||
title: 'Eclipse IDE',
|
||||
category: 'Software',
|
||||
route: '/library/eclipse.svg',
|
||||
url: 'https://www.eclipse.org/'
|
||||
title: "Eclipse IDE",
|
||||
category: "Software",
|
||||
route: "/library/eclipse.svg",
|
||||
url: "https://www.eclipse.org/",
|
||||
},
|
||||
{
|
||||
title: 'Three.js',
|
||||
category: 'Library',
|
||||
title: "Three.js",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/threejs-light.svg',
|
||||
dark: '/library/threejs-dark.svg'
|
||||
light: "/library/threejs-light.svg",
|
||||
dark: "/library/threejs-dark.svg",
|
||||
},
|
||||
url: 'https://threejs.org/'
|
||||
url: "https://threejs.org/",
|
||||
},
|
||||
{
|
||||
title: 'HTML5',
|
||||
category: 'Language',
|
||||
route: '/library/html5.svg',
|
||||
url: 'https://es.wikipedia.org/wiki/HTML5'
|
||||
title: "HTML5",
|
||||
category: "Language",
|
||||
route: "/library/html5.svg",
|
||||
url: "https://es.wikipedia.org/wiki/HTML5",
|
||||
},
|
||||
{
|
||||
title: 'CSS (New)',
|
||||
category: 'Language',
|
||||
route: '/library/css.svg',
|
||||
url: 'https://es.wikipedia.org/wiki/CSS'
|
||||
title: "CSS (New)",
|
||||
category: "Language",
|
||||
route: "/library/css.svg",
|
||||
url: "https://es.wikipedia.org/wiki/CSS",
|
||||
},
|
||||
{
|
||||
title: 'CSS',
|
||||
category: 'Language',
|
||||
route: '/library/css_old.svg',
|
||||
url: 'https://es.wikipedia.org/wiki/CSS'
|
||||
title: "CSS",
|
||||
category: "Language",
|
||||
route: "/library/css_old.svg",
|
||||
url: "https://es.wikipedia.org/wiki/CSS",
|
||||
},
|
||||
{
|
||||
title: 'midudev',
|
||||
category: 'Community',
|
||||
route: '/library/midudev.svg',
|
||||
url: 'https://midu.dev'
|
||||
title: "midudev",
|
||||
category: "Community",
|
||||
route: "/library/midudev.svg",
|
||||
url: "https://midu.dev",
|
||||
},
|
||||
{
|
||||
title: 'Apple',
|
||||
category: 'Software',
|
||||
title: "Apple",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/apple.svg',
|
||||
dark: '/library/apple_dark.svg'
|
||||
light: "/library/apple.svg",
|
||||
dark: "/library/apple_dark.svg",
|
||||
},
|
||||
url: 'https://www.apple.com'
|
||||
url: "https://www.apple.com",
|
||||
},
|
||||
{
|
||||
title: 'Windows',
|
||||
category: 'Software',
|
||||
route: '/library/windows.svg',
|
||||
url: 'https://www.microsoft.com/windows'
|
||||
title: "Windows",
|
||||
category: "Software",
|
||||
route: "/library/windows.svg",
|
||||
url: "https://www.microsoft.com/windows",
|
||||
},
|
||||
{
|
||||
title: 'Python',
|
||||
category: 'Language',
|
||||
route: '/library/python.svg',
|
||||
url: 'https://www.python.org/'
|
||||
title: "Python",
|
||||
category: "Language",
|
||||
route: "/library/python.svg",
|
||||
url: "https://www.python.org/",
|
||||
},
|
||||
{
|
||||
title: 'Solidity',
|
||||
category: 'Language',
|
||||
route: '/library/solidity.svg',
|
||||
url: 'https://soliditylang.org/'
|
||||
title: "Solidity",
|
||||
category: "Language",
|
||||
route: "/library/solidity.svg",
|
||||
url: "https://soliditylang.org/",
|
||||
},
|
||||
{
|
||||
title: 'Turbopack',
|
||||
category: 'Software',
|
||||
route: '/library/turbopack.svg',
|
||||
url: 'https://turbo.build/'
|
||||
title: "Turbopack",
|
||||
category: "Software",
|
||||
route: "/library/turbopack.svg",
|
||||
url: "https://turbo.build/",
|
||||
},
|
||||
{
|
||||
title: 'Builder',
|
||||
category: 'CMS',
|
||||
route: '/library/builder.svg',
|
||||
url: 'https://builder.io/'
|
||||
title: "Builder",
|
||||
category: "CMS",
|
||||
route: "/library/builder.svg",
|
||||
url: "https://builder.io/",
|
||||
},
|
||||
{
|
||||
title: 'Babel',
|
||||
category: 'Compiler',
|
||||
route: '/library/babel.svg',
|
||||
url: 'https://babeljs.io/'
|
||||
title: "Babel",
|
||||
category: "Compiler",
|
||||
route: "/library/babel.svg",
|
||||
url: "https://babeljs.io/",
|
||||
},
|
||||
{
|
||||
title: 'Surrealdb',
|
||||
category: 'Database',
|
||||
route: '/library/surrealdb.svg',
|
||||
url: 'https://surrealdb.com/'
|
||||
title: "Surrealdb",
|
||||
category: "Database",
|
||||
route: "/library/surrealdb.svg",
|
||||
url: "https://surrealdb.com/",
|
||||
},
|
||||
{
|
||||
title: 'Jetbrains Space',
|
||||
category: 'Software',
|
||||
route: '/library/jetbrains-space.svg',
|
||||
url: 'https://www.jetbrains.com/space/'
|
||||
title: "Jetbrains Space",
|
||||
category: "Software",
|
||||
route: "/library/jetbrains-space.svg",
|
||||
url: "https://www.jetbrains.com/space/",
|
||||
},
|
||||
{
|
||||
title: 'Stimulus',
|
||||
category: 'Framework',
|
||||
route: '/library/stimulus.svg',
|
||||
url: 'https://stimulus.hotwired.dev/'
|
||||
title: "Stimulus",
|
||||
category: "Framework",
|
||||
route: "/library/stimulus.svg",
|
||||
url: "https://stimulus.hotwired.dev/",
|
||||
},
|
||||
{
|
||||
title: 'WindiCSS',
|
||||
category: 'Framework',
|
||||
route: '/library/windicss.svg',
|
||||
url: 'https://windicss.org/'
|
||||
title: "WindiCSS",
|
||||
category: "Framework",
|
||||
route: "/library/windicss.svg",
|
||||
url: "https://windicss.org/",
|
||||
},
|
||||
{
|
||||
title: 'Mastodon',
|
||||
category: 'Social',
|
||||
route: '/library/mastodon.svg',
|
||||
url: 'https://joinmastodon.org/'
|
||||
title: "Mastodon",
|
||||
category: "Social",
|
||||
route: "/library/mastodon.svg",
|
||||
url: "https://joinmastodon.org/",
|
||||
},
|
||||
{
|
||||
title: 'Upstash',
|
||||
category: 'Database',
|
||||
route: '/library/upstash.svg',
|
||||
url: 'https://upstash.com/',
|
||||
brandUrl: 'https://upstash.com/brand'
|
||||
title: "Upstash",
|
||||
category: "Database",
|
||||
route: "/library/upstash.svg",
|
||||
url: "https://upstash.com/",
|
||||
brandUrl: "https://upstash.com/brand",
|
||||
},
|
||||
{
|
||||
title: 'Storyblok',
|
||||
category: 'CMS',
|
||||
route: '/library/storyblok.svg',
|
||||
url: 'https://www.storyblok.com/'
|
||||
title: "Storyblok",
|
||||
category: "CMS",
|
||||
route: "/library/storyblok.svg",
|
||||
url: "https://www.storyblok.com/",
|
||||
},
|
||||
{
|
||||
title: 'Cloudflare Workers',
|
||||
category: 'Software',
|
||||
route: '/library/cloudflare-workers.svg',
|
||||
url: 'https://workers.cloudflare.com/'
|
||||
title: "Cloudflare Workers",
|
||||
category: "Software",
|
||||
route: "/library/cloudflare-workers.svg",
|
||||
url: "https://workers.cloudflare.com/",
|
||||
},
|
||||
{
|
||||
title: 'Cloudflare',
|
||||
category: 'Software',
|
||||
route: '/library/cloudflare.svg',
|
||||
url: 'https://www.cloudflare.com/'
|
||||
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: "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: "Cloudinary",
|
||||
category: "Software",
|
||||
route: "/library/cloudinary.svg",
|
||||
url: "https://cloudinary.com/",
|
||||
},
|
||||
{
|
||||
title: 'Dart',
|
||||
category: 'Language',
|
||||
route: '/library/dart.svg',
|
||||
url: 'https://dart.dev/'
|
||||
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: "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: "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: "Loom",
|
||||
category: "Software",
|
||||
route: "/library/loom.svg",
|
||||
url: "https://www.loom.com/",
|
||||
},
|
||||
{
|
||||
title: 'Hulu',
|
||||
category: 'Entertainment',
|
||||
title: "Hulu",
|
||||
category: "Entertainment",
|
||||
route: {
|
||||
light: '/library/hulu.svg',
|
||||
dark: '/library/hulu-dark.svg'
|
||||
light: "/library/hulu.svg",
|
||||
dark: "/library/hulu-dark.svg",
|
||||
},
|
||||
url: 'https://www.hulu.com/'
|
||||
url: "https://www.hulu.com/",
|
||||
},
|
||||
{
|
||||
title: 'Stackblitz',
|
||||
category: 'Software',
|
||||
route: '/library/stackblitz.svg',
|
||||
url: 'https://stackblitz.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: "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: "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: "NHost",
|
||||
category: "Hosting",
|
||||
route: "/library/nhost.svg",
|
||||
url: "https://nhost.io/",
|
||||
},
|
||||
{
|
||||
title: 'Medusa',
|
||||
category: 'Software',
|
||||
route: '/library/medusa.svg',
|
||||
url: 'https://medusajs.com/'
|
||||
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/',
|
||||
brandUrl: 'https://wordpress.org/about/logos/'
|
||||
title: "WordPress",
|
||||
category: ["Software", "CMS"],
|
||||
route: "/library/wordpress.svg",
|
||||
url: "https://wordpress.org/",
|
||||
brandUrl: "https://wordpress.org/about/logos/",
|
||||
},
|
||||
{
|
||||
title: 'Microsoft',
|
||||
category: 'Software',
|
||||
route: '/library/microsoft.svg',
|
||||
url: 'https://www.microsoft.com/'
|
||||
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: "Elementor",
|
||||
category: "Software",
|
||||
route: "/library/elementor.svg",
|
||||
url: "https://elementor.com/",
|
||||
},
|
||||
{
|
||||
title: 'Kick',
|
||||
category: 'Entertainment',
|
||||
title: "Kick",
|
||||
category: "Entertainment",
|
||||
route: {
|
||||
light: '/library/kick-light.svg',
|
||||
dark: '/library/kick-dark.svg'
|
||||
light: "/library/kick-light.svg",
|
||||
dark: "/library/kick-dark.svg",
|
||||
},
|
||||
url: 'https://kick.com/'
|
||||
url: "https://kick.com/",
|
||||
},
|
||||
{
|
||||
title: 'Prime video',
|
||||
category: 'Entertainment',
|
||||
route: '/library/prime-video.svg',
|
||||
url: 'https://primevideo.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: "Chrome",
|
||||
category: "Browser",
|
||||
route: "/library/chrome.svg",
|
||||
url: "https://chrome.com/",
|
||||
},
|
||||
{
|
||||
title: 'RxJS',
|
||||
category: 'Library',
|
||||
route: '/library/rxjs.svg',
|
||||
url: 'https://rxjs.dev/'
|
||||
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: "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: "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: "Trust Wallet",
|
||||
category: "Crypto",
|
||||
route: "/library/trust.svg",
|
||||
url: "https://trustwallet.com/",
|
||||
},
|
||||
{
|
||||
title: 'Php',
|
||||
category: 'Language',
|
||||
title: "Php",
|
||||
category: "Language",
|
||||
route: {
|
||||
light: '/library/php.svg',
|
||||
dark: '/library/php_dark.svg'
|
||||
light: "/library/php.svg",
|
||||
dark: "/library/php_dark.svg",
|
||||
},
|
||||
url: 'https://www.php.net/'
|
||||
url: "https://www.php.net/",
|
||||
},
|
||||
{
|
||||
title: 'Hugo',
|
||||
category: 'Framework',
|
||||
route: '/library/hugo.svg',
|
||||
url: 'https://gohugo.io/'
|
||||
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: "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: "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: "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: "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: "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: "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: "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: "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: "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: "Tauri",
|
||||
category: "Library",
|
||||
route: "/library/tauri.svg",
|
||||
url: "https://tauri.app/",
|
||||
},
|
||||
{
|
||||
title: 'WebKit',
|
||||
category: 'Software',
|
||||
route: '/library/webkit.svg',
|
||||
url: 'https://webkit.org/'
|
||||
title: "WebKit",
|
||||
category: "Software",
|
||||
route: "/library/webkit.svg",
|
||||
url: "https://webkit.org/",
|
||||
},
|
||||
{
|
||||
title: 'DuckDuckGo',
|
||||
category: ['Software', 'Browser'],
|
||||
route: '/library/duckduckgo.svg',
|
||||
wordmark: '/library/duckduckgo-wordmark.svg',
|
||||
url: 'https://duckduckgo.com/'
|
||||
title: "DuckDuckGo",
|
||||
category: ["Software", "Browser"],
|
||||
route: "/library/duckduckgo.svg",
|
||||
wordmark: "/library/duckduckgo-wordmark.svg",
|
||||
url: "https://duckduckgo.com/",
|
||||
},
|
||||
|
||||
{
|
||||
title: 'Obsidian',
|
||||
category: 'Software',
|
||||
route: '/library/obsidian.svg',
|
||||
url: 'https://obsidian.md/',
|
||||
brandUrl: 'https://obsidian.md/brand'
|
||||
title: "Obsidian",
|
||||
category: "Software",
|
||||
route: "/library/obsidian.svg",
|
||||
url: "https://obsidian.md/",
|
||||
brandUrl: "https://obsidian.md/brand",
|
||||
},
|
||||
{
|
||||
title: 'Zod',
|
||||
category: 'Library',
|
||||
route: '/library/zod.svg',
|
||||
url: 'https://zod.dev/'
|
||||
title: "Zod",
|
||||
category: "Library",
|
||||
route: "/library/zod.svg",
|
||||
url: "https://zod.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Valibot',
|
||||
category: 'Library',
|
||||
route: '/library/valibot.svg',
|
||||
title: "Valibot",
|
||||
category: "Library",
|
||||
route: "/library/valibot.svg",
|
||||
wordmark: {
|
||||
light: '/library/valibot-wordmark-light.svg',
|
||||
dark: '/library/valibot-wordmark-dark.svg'
|
||||
light: "/library/valibot-wordmark-light.svg",
|
||||
dark: "/library/valibot-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://valibot.dev'
|
||||
url: "https://valibot.dev",
|
||||
},
|
||||
{
|
||||
title: 'Dreamweaver',
|
||||
category: 'Software',
|
||||
route: '/library/dw.svg',
|
||||
url: 'https://www.adobe.com/products/dreamweaver.html'
|
||||
title: "Dreamweaver",
|
||||
category: "Software",
|
||||
route: "/library/dw.svg",
|
||||
url: "https://www.adobe.com/products/dreamweaver.html",
|
||||
},
|
||||
{
|
||||
title: 'OpenAI',
|
||||
category: 'AI',
|
||||
title: "OpenAI",
|
||||
category: "AI",
|
||||
route: {
|
||||
light: '/library/openai.svg',
|
||||
dark: '/library/openai_dark.svg'
|
||||
light: "/library/openai.svg",
|
||||
dark: "/library/openai_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/openai_wordmark_light.svg',
|
||||
dark: '/library/openai_wordmark_dark.svg'
|
||||
light: "/library/openai_wordmark_light.svg",
|
||||
dark: "/library/openai_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://openai.com/',
|
||||
brandUrl: 'https://openai.com/brand/'
|
||||
url: "https://openai.com/",
|
||||
brandUrl: "https://openai.com/brand/",
|
||||
},
|
||||
{
|
||||
title: 'Threads',
|
||||
category: 'Social',
|
||||
title: "Threads",
|
||||
category: "Social",
|
||||
route: {
|
||||
light: '/library/threads.svg',
|
||||
dark: '/library/threads_dark.svg'
|
||||
light: "/library/threads.svg",
|
||||
dark: "/library/threads_dark.svg",
|
||||
},
|
||||
url: 'https://threads.net/'
|
||||
url: "https://threads.net/",
|
||||
},
|
||||
{
|
||||
title: 'Instagram',
|
||||
category: 'Social',
|
||||
title: "Instagram",
|
||||
category: "Social",
|
||||
route: {
|
||||
light: '/library/instagram.svg',
|
||||
dark: '/library/instagram_dark.svg'
|
||||
light: "/library/instagram.svg",
|
||||
dark: "/library/instagram_dark.svg",
|
||||
},
|
||||
url: 'https://www.instagram.com/',
|
||||
brandUrl: 'https://about.instagram.com/brand'
|
||||
url: "https://www.instagram.com/",
|
||||
brandUrl: "https://about.instagram.com/brand",
|
||||
},
|
||||
{
|
||||
title: 'VueUse',
|
||||
category: 'Library',
|
||||
route: '/library/vueuse.svg',
|
||||
url: 'https://vueuse.org/'
|
||||
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: "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: "Hono",
|
||||
category: "Framework",
|
||||
route: "/library/hono.svg",
|
||||
url: "https://hono.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Million',
|
||||
category: 'Library',
|
||||
route: '/library/million.svg',
|
||||
url: 'https://million.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: "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: "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: "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: "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: "Crossplane",
|
||||
category: "Framework",
|
||||
route: "/library/crossplane.svg",
|
||||
url: "https://crossplane.io/",
|
||||
},
|
||||
{
|
||||
title: 'Volta',
|
||||
category: 'Software',
|
||||
title: "Volta",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/volta-dark.svg',
|
||||
dark: '/library/volta-light.svg'
|
||||
light: "/library/volta-dark.svg",
|
||||
dark: "/library/volta-light.svg",
|
||||
},
|
||||
url: 'https://volta.net/'
|
||||
url: "https://volta.net/",
|
||||
},
|
||||
{
|
||||
title: 'Typesense',
|
||||
category: 'Software',
|
||||
route: '/library/typesense.svg',
|
||||
url: 'https://typesense.org/'
|
||||
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: "Bitcoin",
|
||||
category: "Crypto",
|
||||
route: "/library/btc.svg",
|
||||
url: "https://bitcoin.org/",
|
||||
},
|
||||
{
|
||||
title: 'Ethereum',
|
||||
category: 'Crypto',
|
||||
route: '/library/eth.svg',
|
||||
url: 'https://ethereum.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: "Solana",
|
||||
category: "Crypto",
|
||||
route: "/library/sol.svg",
|
||||
url: "https://solana.com/",
|
||||
},
|
||||
{
|
||||
title: 'Dogecoin',
|
||||
category: 'Crypto',
|
||||
route: '/library/doge.svg',
|
||||
url: 'https://dogecoin.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: "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: "BNB",
|
||||
category: "Crypto",
|
||||
route: "/library/bnb.svg",
|
||||
url: "https://www.bnbchain.org/",
|
||||
},
|
||||
{
|
||||
title: 'Link',
|
||||
category: 'Crypto',
|
||||
route: '/library/link.svg',
|
||||
title: "Link",
|
||||
category: "Crypto",
|
||||
route: "/library/link.svg",
|
||||
wordmark: {
|
||||
light: '/library/link-wordmark-light.svg',
|
||||
dark: '/library/link-wordmark-dark.svg'
|
||||
light: "/library/link-wordmark-light.svg",
|
||||
dark: "/library/link-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://chain.link/'
|
||||
url: "https://chain.link/",
|
||||
},
|
||||
{
|
||||
title: 'Polygon',
|
||||
category: 'Crypto',
|
||||
route: '/library/matic.svg',
|
||||
url: 'https://polygon.technology/'
|
||||
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: "Algorand",
|
||||
category: "Crypto",
|
||||
route: "/library/algorand.svg",
|
||||
url: "https://algorand.org/",
|
||||
},
|
||||
{
|
||||
title: 'Tether',
|
||||
category: 'Crypto',
|
||||
route: '/library/tether.svg',
|
||||
url: 'https://tether.to/'
|
||||
title: "Tether",
|
||||
category: "Crypto",
|
||||
route: "/library/tether.svg",
|
||||
url: "https://tether.to/",
|
||||
},
|
||||
{
|
||||
title: 'X (formerly Twitter)',
|
||||
category: 'Social',
|
||||
title: "X (formerly Twitter)",
|
||||
category: "Social",
|
||||
route: {
|
||||
light: '/library/x.svg',
|
||||
dark: '/library/x_dark.svg'
|
||||
light: "/library/x.svg",
|
||||
dark: "/library/x_dark.svg",
|
||||
},
|
||||
url: 'https://x.com',
|
||||
brandUrl: 'https://about.x.com/en/who-we-are/brand-toolkit'
|
||||
url: "https://x.com",
|
||||
brandUrl: "https://about.x.com/en/who-we-are/brand-toolkit",
|
||||
},
|
||||
{
|
||||
title: 'Adobe',
|
||||
category: 'Design',
|
||||
route: '/library/adobe.svg',
|
||||
url: 'https://www.adobe.com/'
|
||||
title: "Adobe",
|
||||
category: "Design",
|
||||
route: "/library/adobe.svg",
|
||||
url: "https://www.adobe.com/",
|
||||
},
|
||||
{
|
||||
title: 'After Effects',
|
||||
category: 'Design',
|
||||
route: '/library/after-effects.svg',
|
||||
url: 'https://www.adobe.com/products/aftereffects'
|
||||
title: "After Effects",
|
||||
category: "Design",
|
||||
route: "/library/after-effects.svg",
|
||||
url: "https://www.adobe.com/products/aftereffects",
|
||||
},
|
||||
{
|
||||
title: 'Canva',
|
||||
category: 'Design',
|
||||
route: '/library/canva.svg',
|
||||
url: 'https://www.canva.com/'
|
||||
title: "Canva",
|
||||
category: "Design",
|
||||
route: "/library/canva.svg",
|
||||
url: "https://www.canva.com/",
|
||||
},
|
||||
{
|
||||
title: 'Illustrator',
|
||||
category: 'Design',
|
||||
route: '/library/illustrator.svg',
|
||||
url: 'https://www.adobe.com/products/illustrator'
|
||||
title: "Illustrator",
|
||||
category: "Design",
|
||||
route: "/library/illustrator.svg",
|
||||
url: "https://www.adobe.com/products/illustrator",
|
||||
},
|
||||
{
|
||||
title: 'InDesign',
|
||||
category: 'Design',
|
||||
route: '/library/indesign.svg',
|
||||
url: 'https://www.adobe.com/products/indesign'
|
||||
title: "InDesign",
|
||||
category: "Design",
|
||||
route: "/library/indesign.svg",
|
||||
url: "https://www.adobe.com/products/indesign",
|
||||
},
|
||||
{
|
||||
title: 'Lightroom',
|
||||
category: 'Design',
|
||||
route: '/library/lightroom.svg',
|
||||
url: 'https://www.adobe.com/products/photoshop-lightroom'
|
||||
title: "Lightroom",
|
||||
category: "Design",
|
||||
route: "/library/lightroom.svg",
|
||||
url: "https://www.adobe.com/products/photoshop-lightroom",
|
||||
},
|
||||
{
|
||||
title: 'Photoshop',
|
||||
category: 'Design',
|
||||
route: '/library/photoshop.svg',
|
||||
url: 'https://www.adobe.com/products/photoshop'
|
||||
title: "Photoshop",
|
||||
category: "Design",
|
||||
route: "/library/photoshop.svg",
|
||||
url: "https://www.adobe.com/products/photoshop",
|
||||
},
|
||||
{
|
||||
title: 'Premiere',
|
||||
category: 'Design',
|
||||
route: '/library/premiere.svg',
|
||||
url: 'https://www.adobe.com/products/premiere'
|
||||
title: "Premiere",
|
||||
category: "Design",
|
||||
route: "/library/premiere.svg",
|
||||
url: "https://www.adobe.com/products/premiere",
|
||||
},
|
||||
{
|
||||
title: 'VK',
|
||||
category: 'Social',
|
||||
route: '/library/vk.svg',
|
||||
url: 'https://vk.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',
|
||||
brandUrl: 'https://hoppscotch.com/brand'
|
||||
title: "Hoppscotch",
|
||||
category: "Software",
|
||||
route: "/library/hoppscotch.svg",
|
||||
url: "https://hoppscotch.com",
|
||||
brandUrl: "https://hoppscotch.com/brand",
|
||||
},
|
||||
{
|
||||
title: 'Opera',
|
||||
category: 'Browser',
|
||||
route: '/library/opera.svg',
|
||||
url: 'https://www.opera.com',
|
||||
brandUrl: 'https://brand.opera.com/'
|
||||
title: "Opera",
|
||||
category: "Browser",
|
||||
route: "/library/opera.svg",
|
||||
url: "https://www.opera.com",
|
||||
brandUrl: "https://brand.opera.com/",
|
||||
},
|
||||
{
|
||||
title: 'Salesforce',
|
||||
category: 'Software',
|
||||
route: '/library/salesforce.svg',
|
||||
url: 'https://www.salesforce.com',
|
||||
brandUrl: 'https://brand.salesforce.com/'
|
||||
title: "Salesforce",
|
||||
category: "Software",
|
||||
route: "/library/salesforce.svg",
|
||||
url: "https://www.salesforce.com",
|
||||
brandUrl: "https://brand.salesforce.com/",
|
||||
},
|
||||
{
|
||||
title: 'Unreal Engine',
|
||||
category: 'Software',
|
||||
title: "Unreal Engine",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/unreal_engine.svg',
|
||||
dark: '/library/unreal_engine_dark.svg'
|
||||
light: "/library/unreal_engine.svg",
|
||||
dark: "/library/unreal_engine_dark.svg",
|
||||
},
|
||||
url: 'https://www.unrealengine.com/'
|
||||
url: "https://www.unrealengine.com/",
|
||||
},
|
||||
{
|
||||
title: 'Godot Engine',
|
||||
category: 'Software',
|
||||
route: '/library/godot_engine.svg',
|
||||
url: 'https://godotengine.org/'
|
||||
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: "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: "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: "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: "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: "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: "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: "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: "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 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 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: "Affinity Publisher",
|
||||
category: "Software",
|
||||
route: "/library/affinity_publisher.svg",
|
||||
url: "https://affinity.serif.com/en-us/publisher/",
|
||||
},
|
||||
{
|
||||
title: 'Roblox',
|
||||
category: 'Software',
|
||||
title: "Roblox",
|
||||
category: "Software",
|
||||
route: {
|
||||
dark: '/library/roblox.svg',
|
||||
light: '/library/roblox_light.svg'
|
||||
dark: "/library/roblox.svg",
|
||||
light: "/library/roblox_light.svg",
|
||||
},
|
||||
url: 'https://www.roblox.com/'
|
||||
url: "https://www.roblox.com/",
|
||||
},
|
||||
{
|
||||
title: 'Stately.ai',
|
||||
category: 'Software',
|
||||
title: "Stately.ai",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/stately.svg',
|
||||
dark: '/library/stately_dark.svg'
|
||||
light: "/library/stately.svg",
|
||||
dark: "/library/stately_dark.svg",
|
||||
},
|
||||
url: 'https://stately.ai/'
|
||||
url: "https://stately.ai/",
|
||||
},
|
||||
{
|
||||
title: 'XState',
|
||||
category: 'Library',
|
||||
title: "XState",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/xstate.svg',
|
||||
dark: '/library/xstate_dark.svg'
|
||||
light: "/library/xstate.svg",
|
||||
dark: "/library/xstate_dark.svg",
|
||||
},
|
||||
url: 'https://github.com/statelyai/xstate'
|
||||
url: "https://github.com/statelyai/xstate",
|
||||
},
|
||||
{
|
||||
title: 'Hashnode',
|
||||
category: 'Social',
|
||||
route: '/library/hashnode.svg',
|
||||
url: 'https://hashnode.com'
|
||||
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: "Rowy",
|
||||
category: "CMS",
|
||||
route: "/library/rowy.svg",
|
||||
url: "https://www.rowy.io/",
|
||||
},
|
||||
{
|
||||
title: 'Cal.com',
|
||||
category: 'Software',
|
||||
title: "Cal.com",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/cal.svg',
|
||||
dark: '/library/cal_dark.svg'
|
||||
light: "/library/cal.svg",
|
||||
dark: "/library/cal_dark.svg",
|
||||
},
|
||||
url: 'https://cal.com',
|
||||
brandUrl: 'https://design.cal.com/'
|
||||
url: "https://cal.com",
|
||||
brandUrl: "https://design.cal.com/",
|
||||
},
|
||||
{
|
||||
title: 'Calendly',
|
||||
category: 'Software',
|
||||
route: '/library/calendly.svg',
|
||||
url: 'https://calendly.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: "Mintlify",
|
||||
category: "Software",
|
||||
route: "/library/mintlify.svg",
|
||||
url: "https://mintlify.com/",
|
||||
},
|
||||
{
|
||||
title: 'Patreon',
|
||||
category: 'Social',
|
||||
title: "Patreon",
|
||||
category: "Social",
|
||||
route: {
|
||||
light: '/library/patreon.svg',
|
||||
dark: '/library/patreon_dark.svg'
|
||||
light: "/library/patreon.svg",
|
||||
dark: "/library/patreon_dark.svg",
|
||||
},
|
||||
url: 'https://www.patreon.com/'
|
||||
url: "https://www.patreon.com/",
|
||||
},
|
||||
{
|
||||
title: 'Peerlist',
|
||||
category: 'Social',
|
||||
route: '/library/peerlist.svg',
|
||||
url: 'https://www.peerlist.io/'
|
||||
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: "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: "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: "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: "SST",
|
||||
category: "Framework",
|
||||
route: "/library/sst.svg",
|
||||
url: "https://sst.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Documenso',
|
||||
category: 'Software',
|
||||
title: "Documenso",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/documenso.svg',
|
||||
dark: '/library/documenso_dark.svg'
|
||||
light: "/library/documenso.svg",
|
||||
dark: "/library/documenso_dark.svg",
|
||||
},
|
||||
url: 'https://documenso.com'
|
||||
url: "https://documenso.com",
|
||||
},
|
||||
{
|
||||
title: 'Bash',
|
||||
category: 'Language',
|
||||
title: "Bash",
|
||||
category: "Language",
|
||||
route: {
|
||||
light: '/library/bash.svg',
|
||||
dark: '/library/bash_dark.svg'
|
||||
light: "/library/bash.svg",
|
||||
dark: "/library/bash_dark.svg",
|
||||
},
|
||||
url: 'https://www.gnu.org/software/bash/'
|
||||
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_(programming_language)",
|
||||
},
|
||||
{
|
||||
title: 'C++',
|
||||
category: 'Language',
|
||||
route: '/library/c-plusplus.svg',
|
||||
url: 'https://en.wikipedia.org/wiki/C%2B%2B'
|
||||
title: "C++",
|
||||
category: "Language",
|
||||
route: "/library/c-plusplus.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: "Cobol",
|
||||
category: "Language",
|
||||
route: "/library/cobol.svg",
|
||||
url: "https://en.wikipedia.org/wiki/COBOL",
|
||||
},
|
||||
{
|
||||
title: 'Fortran',
|
||||
category: 'Language',
|
||||
route: '/library/fortran.svg',
|
||||
url: 'https://fortran-lang.org/'
|
||||
title: "Fortran",
|
||||
category: "Language",
|
||||
route: "/library/fortran.svg",
|
||||
url: "https://fortran-lang.org/",
|
||||
},
|
||||
{
|
||||
title: 'Haskell',
|
||||
category: 'Language',
|
||||
route: '/library/haskell.svg',
|
||||
url: 'https://www.haskell.org/'
|
||||
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: "matlab",
|
||||
category: "Language",
|
||||
route: "/library/matlab.svg",
|
||||
url: "https://www.mathworks.com/products/matlab.html",
|
||||
},
|
||||
{
|
||||
title: 'R',
|
||||
category: 'Language',
|
||||
title: "R",
|
||||
category: "Language",
|
||||
route: {
|
||||
light: '/library/r.svg',
|
||||
dark: '/library/r_dark.svg'
|
||||
light: "/library/r.svg",
|
||||
dark: "/library/r_dark.svg",
|
||||
},
|
||||
url: 'https://www.r-project.org/'
|
||||
url: "https://www.r-project.org/",
|
||||
},
|
||||
{
|
||||
title: 'Rust',
|
||||
category: 'Language',
|
||||
title: "Rust",
|
||||
category: "Language",
|
||||
route: {
|
||||
light: '/library/rust.svg',
|
||||
dark: '/library/rust_dark.svg'
|
||||
light: "/library/rust.svg",
|
||||
dark: "/library/rust_dark.svg",
|
||||
},
|
||||
url: 'https://www.rust-lang.org/'
|
||||
url: "https://www.rust-lang.org/",
|
||||
},
|
||||
{
|
||||
title: 'Zig',
|
||||
category: 'Language',
|
||||
route: '/library/zig.svg',
|
||||
url: 'https://ziglang.org/'
|
||||
title: "Zig",
|
||||
category: "Language",
|
||||
route: "/library/zig.svg",
|
||||
url: "https://ziglang.org/",
|
||||
},
|
||||
{
|
||||
title: 'Instatus',
|
||||
category: 'Software',
|
||||
title: "Instatus",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/instatus.svg',
|
||||
dark: '/library/instatus_dark.svg'
|
||||
light: "/library/instatus.svg",
|
||||
dark: "/library/instatus_dark.svg",
|
||||
},
|
||||
url: 'https://instatus.com'
|
||||
url: "https://instatus.com",
|
||||
},
|
||||
{
|
||||
title: 'Front',
|
||||
category: 'Software',
|
||||
route: '/library/front.svg',
|
||||
url: 'https://front.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: "Monero",
|
||||
category: "Crypto",
|
||||
route: "/library/monero.svg",
|
||||
url: "https://www.getmonero.org/",
|
||||
},
|
||||
{
|
||||
title: 'Axiom',
|
||||
category: 'Software',
|
||||
title: "Axiom",
|
||||
category: "Software",
|
||||
route: {
|
||||
dark: '/library/axiom-dark.svg',
|
||||
light: '/library/axiom-light.svg'
|
||||
dark: "/library/axiom-dark.svg",
|
||||
light: "/library/axiom-light.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/axiom-wordmark-light.svg',
|
||||
dark: '/library/axiom-wordmark-dark.svg'
|
||||
light: "/library/axiom-wordmark-light.svg",
|
||||
dark: "/library/axiom-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://axiom.co/'
|
||||
url: "https://axiom.co/",
|
||||
},
|
||||
{
|
||||
title: 'Django',
|
||||
category: 'Framework',
|
||||
route: '/library/django.svg',
|
||||
url: 'https://www.djangoproject.com/',
|
||||
brandUrl: 'https://www.djangoproject.com/community/logos/'
|
||||
title: "Django",
|
||||
category: "Framework",
|
||||
route: "/library/django.svg",
|
||||
url: "https://www.djangoproject.com/",
|
||||
brandUrl: "https://www.djangoproject.com/community/logos/",
|
||||
},
|
||||
{
|
||||
title: 'Zeabur',
|
||||
category: 'Hosting',
|
||||
title: "Zeabur",
|
||||
category: "Hosting",
|
||||
route: {
|
||||
light: '/library/zeabur-light.svg',
|
||||
dark: '/library/zeabur-dark.svg'
|
||||
light: "/library/zeabur-light.svg",
|
||||
dark: "/library/zeabur-dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/zeabur_wordmark_light.svg',
|
||||
dark: '/library/zeabur_wordmark_dark.svg'
|
||||
light: "/library/zeabur_wordmark_light.svg",
|
||||
dark: "/library/zeabur_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://zeabur.com/'
|
||||
url: "https://zeabur.com/",
|
||||
},
|
||||
{
|
||||
title: 'MetaMask',
|
||||
category: 'Crypto',
|
||||
route: '/library/metamask.svg',
|
||||
url: 'https://metamask.io/'
|
||||
title: "MetaMask",
|
||||
category: "Crypto",
|
||||
route: "/library/metamask.svg",
|
||||
url: "https://metamask.io/",
|
||||
},
|
||||
{
|
||||
title: 'shadcn/ui',
|
||||
category: 'Library',
|
||||
title: "shadcn/ui",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/shadcn-ui.svg',
|
||||
dark: '/library/shadcn-ui_dark.svg'
|
||||
light: "/library/shadcn-ui.svg",
|
||||
dark: "/library/shadcn-ui_dark.svg",
|
||||
},
|
||||
url: 'https://ui.shadcn.com/'
|
||||
url: "https://ui.shadcn.com/",
|
||||
},
|
||||
{
|
||||
title: 'putio',
|
||||
category: 'Software',
|
||||
route: '/library/putio.svg',
|
||||
url: 'https://put.io/'
|
||||
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: "Pinterest",
|
||||
category: "Social",
|
||||
route: "/library/pinterest.svg",
|
||||
url: "https://pinterest.com/",
|
||||
},
|
||||
{
|
||||
title: 'Reflex',
|
||||
category: 'Software',
|
||||
title: "Reflex",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/reflex-dark.svg',
|
||||
dark: '/library/reflex-light.svg'
|
||||
light: "/library/reflex-dark.svg",
|
||||
dark: "/library/reflex-light.svg",
|
||||
},
|
||||
url: 'https://reflex.dev/'
|
||||
url: "https://reflex.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Stripe',
|
||||
category: ['Software', 'Payment'],
|
||||
route: '/library/stripe.svg',
|
||||
url: 'https://stripe.com/'
|
||||
title: "Stripe",
|
||||
category: ["Software", "Payment"],
|
||||
route: "/library/stripe.svg",
|
||||
url: "https://stripe.com/",
|
||||
},
|
||||
{
|
||||
title: 'Linux',
|
||||
category: 'Software',
|
||||
route: '/library/linux.svg',
|
||||
url: 'https://www.linux.org/'
|
||||
title: "Linux",
|
||||
category: "Software",
|
||||
route: "/library/linux.svg",
|
||||
url: "https://www.linux.org/",
|
||||
},
|
||||
{
|
||||
title: 'XD',
|
||||
category: 'Design',
|
||||
route: '/library/adobe-xd.svg',
|
||||
url: 'https://www.adobe.com/products/xd'
|
||||
title: "XD",
|
||||
category: "Design",
|
||||
route: "/library/adobe-xd.svg",
|
||||
url: "https://www.adobe.com/products/xd",
|
||||
},
|
||||
{
|
||||
title: 'Axure',
|
||||
category: 'Design',
|
||||
route: '/library/axure.svg',
|
||||
url: 'https://www.axure.com/'
|
||||
title: "Axure",
|
||||
category: "Design",
|
||||
route: "/library/axure.svg",
|
||||
url: "https://www.axure.com/",
|
||||
},
|
||||
{
|
||||
title: 'Penpot',
|
||||
category: 'Design',
|
||||
title: "Penpot",
|
||||
category: "Design",
|
||||
route: {
|
||||
light: '/library/penpot.svg',
|
||||
dark: '/library/penpot_dark.svg'
|
||||
light: "/library/penpot.svg",
|
||||
dark: "/library/penpot_dark.svg",
|
||||
},
|
||||
url: 'https://penpot.app/'
|
||||
url: "https://penpot.app/",
|
||||
},
|
||||
{
|
||||
title: 'Sketch',
|
||||
category: 'Design',
|
||||
title: "Sketch",
|
||||
category: "Design",
|
||||
route: {
|
||||
light: '/library/sketch_light.svg',
|
||||
dark: '/library/sketch.svg'
|
||||
light: "/library/sketch_light.svg",
|
||||
dark: "/library/sketch.svg",
|
||||
},
|
||||
url: 'https://www.sketch.com/'
|
||||
url: "https://www.sketch.com/",
|
||||
},
|
||||
{
|
||||
title: 'Gimp',
|
||||
category: 'Design',
|
||||
route: '/library/gimp.svg',
|
||||
url: 'https://www.gimp.org/'
|
||||
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/',
|
||||
brandUrl: 'https://design.ubuntu.com/brand'
|
||||
title: "Ubuntu",
|
||||
category: "Software",
|
||||
route: "/library/ubuntu.svg",
|
||||
url: "https://ubuntu.com/",
|
||||
brandUrl: "https://design.ubuntu.com/brand",
|
||||
},
|
||||
{
|
||||
title: 'Cypress',
|
||||
category: 'Framework',
|
||||
route: '/library/cypress.svg',
|
||||
url: 'https://www.cypress.io/'
|
||||
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/',
|
||||
brandUrl: 'https://redditinc.com/brand'
|
||||
title: "Reddit",
|
||||
category: "Social",
|
||||
route: "/library/reddit.svg",
|
||||
url: "https://www.reddit.com/",
|
||||
brandUrl: "https://redditinc.com/brand",
|
||||
},
|
||||
{
|
||||
title: 'JetBrains WebStorm',
|
||||
category: 'Software',
|
||||
route: '/library/webstorm.svg',
|
||||
url: 'https://www.jetbrains.com/webstorm/'
|
||||
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 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 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 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: "JetBrains PhpStorm",
|
||||
category: "Software",
|
||||
route: "/library/phpstorm.svg",
|
||||
url: "https://www.jetbrains.com/phpstorm/",
|
||||
},
|
||||
{
|
||||
title: 'Monkeytype',
|
||||
category: 'Software',
|
||||
route: '/library/monkeytype.svg',
|
||||
title: "Monkeytype",
|
||||
category: "Software",
|
||||
route: "/library/monkeytype.svg",
|
||||
wordmark: {
|
||||
dark: '/library/monkeytype-wordmark-dark.svg',
|
||||
light: '/library/monkeytype-wordmark-light.svg'
|
||||
dark: "/library/monkeytype-wordmark-dark.svg",
|
||||
light: "/library/monkeytype-wordmark-light.svg",
|
||||
},
|
||||
url: 'https://monkeytype.com/'
|
||||
url: "https://monkeytype.com/",
|
||||
},
|
||||
{
|
||||
title: 'PyCharm',
|
||||
category: 'Software',
|
||||
route: '/library/pycharm.svg',
|
||||
url: 'https://www.jetbrains.com/pycharm/'
|
||||
title: "PyCharm",
|
||||
category: "Software",
|
||||
route: "/library/pycharm.svg",
|
||||
url: "https://www.jetbrains.com/pycharm/",
|
||||
},
|
||||
{
|
||||
title: 'Shopify',
|
||||
category: 'CMS',
|
||||
route: '/library/shopify.svg',
|
||||
title: "Shopify",
|
||||
category: "CMS",
|
||||
route: "/library/shopify.svg",
|
||||
wordmark: {
|
||||
dark: '/library/shopify-wordmark-dark.svg',
|
||||
light: '/library/shopify-wordmark-light.svg'
|
||||
dark: "/library/shopify-wordmark-dark.svg",
|
||||
light: "/library/shopify-wordmark-light.svg",
|
||||
},
|
||||
url: 'https://www.shopify.com',
|
||||
brandUrl: 'https://www.shopify.com/brand-assets'
|
||||
url: "https://www.shopify.com",
|
||||
brandUrl: "https://www.shopify.com/brand-assets",
|
||||
},
|
||||
{
|
||||
title: 'Webflow',
|
||||
category: 'CMS',
|
||||
route: '/library/webflow.svg',
|
||||
title: "Webflow",
|
||||
category: "CMS",
|
||||
route: "/library/webflow.svg",
|
||||
wordmark: {
|
||||
dark: '/library/webflow-wordmark-dark.svg',
|
||||
light: '/library/webflow-wordmark-light.svg'
|
||||
dark: "/library/webflow-wordmark-dark.svg",
|
||||
light: "/library/webflow-wordmark-light.svg",
|
||||
},
|
||||
url: 'https://www.webflow.com',
|
||||
brandUrl: 'https://brand-at.webflow.io/resources'
|
||||
url: "https://www.webflow.com",
|
||||
brandUrl: "https://brand-at.webflow.io/resources",
|
||||
},
|
||||
{
|
||||
title: 'Sanity',
|
||||
category: 'CMS',
|
||||
route: '/library/sanity.svg',
|
||||
url: 'https://www.sanity.io'
|
||||
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: "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: "Airbnb",
|
||||
category: "Software",
|
||||
route: "/library/airbnb.svg",
|
||||
wordmark: "/library/airbnb-wordmark.svg",
|
||||
url: "https://www.airbnb.com",
|
||||
},
|
||||
{
|
||||
title: 'Uber',
|
||||
category: 'Software',
|
||||
title: "Uber",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/uber_light.svg',
|
||||
dark: '/library/uber_dark.svg'
|
||||
light: "/library/uber_light.svg",
|
||||
dark: "/library/uber_dark.svg",
|
||||
},
|
||||
url: 'https://www.uber.com',
|
||||
brandUrl: 'https://brand.uber.com/'
|
||||
url: "https://www.uber.com",
|
||||
brandUrl: "https://brand.uber.com/",
|
||||
},
|
||||
{
|
||||
title: 'Gmail',
|
||||
category: ['Google', 'Software'],
|
||||
route: '/library/gmail.svg',
|
||||
url: 'https://www.gmail.com'
|
||||
title: "Gmail",
|
||||
category: ["Google", "Software"],
|
||||
route: "/library/gmail.svg",
|
||||
url: "https://www.gmail.com",
|
||||
},
|
||||
{
|
||||
title: 'Outlook',
|
||||
category: 'Software',
|
||||
route: '/library/outlook.svg',
|
||||
url: 'https://www.outlook.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: "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: "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: "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: "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: "TrustPilot",
|
||||
category: "Software",
|
||||
route: "/library/trustpilot.svg",
|
||||
url: "https://www.trustpilot.com",
|
||||
},
|
||||
{
|
||||
title: 'Raycast',
|
||||
category: 'Software',
|
||||
route: '/library/raycast.svg',
|
||||
title: "Raycast",
|
||||
category: "Software",
|
||||
route: "/library/raycast.svg",
|
||||
wordmark: {
|
||||
light: '/library/raycast-wordmark-light.svg',
|
||||
dark: '/library/raycast-wordmark-dark.svg'
|
||||
light: "/library/raycast-wordmark-light.svg",
|
||||
dark: "/library/raycast-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://raycast.com/'
|
||||
url: "https://raycast.com/",
|
||||
},
|
||||
{
|
||||
title: 'Flow Launcher',
|
||||
category: ['Software', 'Devtool'],
|
||||
route: '/library/FlowLauncher.svg',
|
||||
url: 'https://www.flowlauncher.com/'
|
||||
title: "Flow Launcher",
|
||||
category: ["Software", "Devtool"],
|
||||
route: "/library/FlowLauncher.svg",
|
||||
url: "https://www.flowlauncher.com/",
|
||||
},
|
||||
{
|
||||
title: 'Hack The Box',
|
||||
category: 'Cybersecurity',
|
||||
route: '/library/hack-the-box.svg',
|
||||
title: "Hack The Box",
|
||||
category: "Cybersecurity",
|
||||
route: "/library/hack-the-box.svg",
|
||||
wordmark: {
|
||||
light: '/library/hack-the-box-wordmark-light.svg',
|
||||
dark: '/library/hack-the-box-wordmark-dark.svg'
|
||||
light: "/library/hack-the-box-wordmark-light.svg",
|
||||
dark: "/library/hack-the-box-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://www.hackthebox.com/'
|
||||
url: "https://www.hackthebox.com/",
|
||||
},
|
||||
{
|
||||
title: 'Procure',
|
||||
category: 'Marketplace',
|
||||
route: '/library/procure.svg',
|
||||
url: 'https://procure.biz/'
|
||||
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: "Julia",
|
||||
category: "Language",
|
||||
route: "/library/julia.svg",
|
||||
url: "https://julialang.org/",
|
||||
},
|
||||
{
|
||||
title: 'SWC',
|
||||
category: 'Compiler',
|
||||
route: '/library/swc.svg',
|
||||
url: 'https://swc.rs/'
|
||||
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: "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: "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: "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: "Sourcegraph",
|
||||
category: "AI",
|
||||
route: "/library/sourcegraph.svg",
|
||||
url: "https://about.sourcegraph.com/",
|
||||
},
|
||||
{
|
||||
title: 'Perplexity AI',
|
||||
category: 'AI',
|
||||
route: '/library/perplexity.svg',
|
||||
title: "Perplexity AI",
|
||||
category: "AI",
|
||||
route: "/library/perplexity.svg",
|
||||
wordmark: {
|
||||
light: '/library/perplexity_wordmark_light.svg',
|
||||
dark: '/library/perplexity_wordmark_dark.svg'
|
||||
light: "/library/perplexity_wordmark_light.svg",
|
||||
dark: "/library/perplexity_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://perplexity.ai/'
|
||||
url: "https://perplexity.ai/",
|
||||
},
|
||||
{
|
||||
title: 'Spring',
|
||||
category: 'Framework',
|
||||
route: '/library/spring.svg',
|
||||
url: 'https://spring.io/'
|
||||
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: "Directus",
|
||||
category: "CMS",
|
||||
route: "/library/directus.svg",
|
||||
url: "https://directus.io/",
|
||||
},
|
||||
{
|
||||
title: 'Pnpm',
|
||||
category: 'Software',
|
||||
title: "Pnpm",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/pnpm.svg',
|
||||
dark: '/library/pnpm_dark.svg'
|
||||
light: "/library/pnpm.svg",
|
||||
dark: "/library/pnpm_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/pnpm_wordmark_light.svg',
|
||||
dark: '/library/pnpm_wordmark_dark.svg'
|
||||
light: "/library/pnpm_wordmark_light.svg",
|
||||
dark: "/library/pnpm_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://pnpm.io/'
|
||||
url: "https://pnpm.io/",
|
||||
},
|
||||
{
|
||||
title: 'Emacs',
|
||||
category: 'Software',
|
||||
route: '/library/emacs.svg',
|
||||
url: 'https://www.gnu.org/software/emacs/'
|
||||
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: "Svgl",
|
||||
category: "Library",
|
||||
route: "/library/svgl.svg",
|
||||
url: "https://svgl.app",
|
||||
},
|
||||
{
|
||||
title: 'Google Idx',
|
||||
category: ['Software', 'Google'],
|
||||
route: '/library/google-idx.svg',
|
||||
url: 'https://idx.dev/'
|
||||
title: "Google Idx",
|
||||
category: ["Software", "Google"],
|
||||
route: "/library/google-idx.svg",
|
||||
url: "https://idx.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Remix',
|
||||
category: 'Framework',
|
||||
title: "Remix",
|
||||
category: "Framework",
|
||||
route: {
|
||||
light: '/library/remix_light.svg',
|
||||
dark: '/library/remix_dark.svg'
|
||||
light: "/library/remix_light.svg",
|
||||
dark: "/library/remix_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/remix_wordmark_light.svg',
|
||||
dark: '/library/remix_wordmark_dark.svg'
|
||||
light: "/library/remix_wordmark_light.svg",
|
||||
dark: "/library/remix_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://remix.run/',
|
||||
brandUrl: 'https://remix.run/brand'
|
||||
url: "https://remix.run/",
|
||||
brandUrl: "https://remix.run/brand",
|
||||
},
|
||||
{
|
||||
title: 'Steam',
|
||||
category: 'Software',
|
||||
route: '/library/steam.svg',
|
||||
url: 'https://store.steampowered.com/'
|
||||
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: "Tabby",
|
||||
category: "Software",
|
||||
route: "/library/tabby.svg",
|
||||
url: "https://tabby.sh/",
|
||||
},
|
||||
{
|
||||
title: '1Password',
|
||||
category: 'Software',
|
||||
title: "1Password",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/1password-light.svg',
|
||||
dark: '/library/1password-dark.svg'
|
||||
light: "/library/1password-light.svg",
|
||||
dark: "/library/1password-dark.svg",
|
||||
},
|
||||
url: 'https://1password.com'
|
||||
url: "https://1password.com",
|
||||
},
|
||||
{
|
||||
title: 'Flask',
|
||||
category: 'Framework',
|
||||
title: "Flask",
|
||||
category: "Framework",
|
||||
route: {
|
||||
light: '/library/flask-light.svg',
|
||||
dark: '/library/flask-dark.svg'
|
||||
light: "/library/flask-light.svg",
|
||||
dark: "/library/flask-dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/flask-wordmark-light.svg',
|
||||
dark: '/library/flask-wordmark-dark.svg'
|
||||
light: "/library/flask-wordmark-light.svg",
|
||||
dark: "/library/flask-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://flask.palletsprojects.com/'
|
||||
url: "https://flask.palletsprojects.com/",
|
||||
},
|
||||
{
|
||||
title: 'Alacritty',
|
||||
category: 'Software',
|
||||
route: '/library/alacritty.svg',
|
||||
url: 'https://alacritty.org'
|
||||
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: "Qt",
|
||||
category: "Software",
|
||||
route: "/library/qt.svg",
|
||||
url: "https://www.qt.io/",
|
||||
},
|
||||
{
|
||||
title: 'Bitwarden',
|
||||
category: ['Software', 'Authentication'],
|
||||
route: '/library/bitwarden.svg',
|
||||
url: 'https://bitwarden.com/',
|
||||
brandUrl: 'https://bitwarden.com/brand/'
|
||||
title: "Bitwarden",
|
||||
category: ["Software", "Authentication"],
|
||||
route: "/library/bitwarden.svg",
|
||||
url: "https://bitwarden.com/",
|
||||
brandUrl: "https://bitwarden.com/brand/",
|
||||
},
|
||||
{
|
||||
title: 'Voicemod',
|
||||
category: 'Entertainment',
|
||||
title: "Voicemod",
|
||||
category: "Entertainment",
|
||||
route: {
|
||||
light: '/library/voicemod_light.svg',
|
||||
dark: '/library/voicemod_dark.svg'
|
||||
light: "/library/voicemod_light.svg",
|
||||
dark: "/library/voicemod_dark.svg",
|
||||
},
|
||||
url: 'https://voicemod.net/'
|
||||
url: "https://voicemod.net/",
|
||||
},
|
||||
{
|
||||
title: 'Neovim',
|
||||
category: 'Software',
|
||||
route: '/library/neovim.svg',
|
||||
url: 'https://neovim.io/'
|
||||
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: "Pitch",
|
||||
category: "Design",
|
||||
route: "/library/pitch.svg",
|
||||
url: "https://pitch.com",
|
||||
},
|
||||
{
|
||||
title: 'Biomejs',
|
||||
category: 'Compiler',
|
||||
route: '/library/biomejs.svg',
|
||||
url: 'https://biomejs.dev/'
|
||||
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: "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/',
|
||||
brandUrl: 'https://about.meta.com/brand/resources/'
|
||||
title: "Meta",
|
||||
category: "Social",
|
||||
route: "/library/meta.svg",
|
||||
url: "https://about.meta.com/es/",
|
||||
brandUrl: "https://about.meta.com/brand/resources/",
|
||||
},
|
||||
{
|
||||
title: 'Stability AI',
|
||||
category: 'AI',
|
||||
route: '/library/stability-ai.svg',
|
||||
url: 'https://stability.ai/'
|
||||
title: "Stability AI",
|
||||
category: "AI",
|
||||
route: "/library/stability-ai.svg",
|
||||
url: "https://stability.ai/",
|
||||
},
|
||||
{
|
||||
title: 'Google PaLM',
|
||||
category: ['AI', 'Google'],
|
||||
route: '/library/google-palm.svg',
|
||||
url: 'https://ai.google/discover/palm2/'
|
||||
title: "Google PaLM",
|
||||
category: ["AI", "Google"],
|
||||
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: "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/',
|
||||
brandUrl: 'https://sentry.io/branding/'
|
||||
title: "Sentry",
|
||||
category: "Software",
|
||||
route: "/library/sentry.svg",
|
||||
url: "https://sentry.io/",
|
||||
brandUrl: "https://sentry.io/branding/",
|
||||
},
|
||||
{
|
||||
title: 'Grafana',
|
||||
category: 'Software',
|
||||
route: '/library/grafana.svg',
|
||||
url: 'https://grafana.com/'
|
||||
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: "Notion",
|
||||
category: "Software",
|
||||
route: "/library/notion.svg",
|
||||
url: "https://notion.so/",
|
||||
},
|
||||
{
|
||||
title: 'Litecoin',
|
||||
category: 'Crypto',
|
||||
route: '/library/litecoin.svg',
|
||||
url: 'https://litecoin.org/'
|
||||
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: "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: "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: "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: "C#",
|
||||
category: "Language",
|
||||
route: "/library/csharp.svg",
|
||||
url: "https://dotnet.microsoft.com/languages/csharp",
|
||||
},
|
||||
{
|
||||
title: 'Replicate',
|
||||
category: 'AI',
|
||||
title: "Replicate",
|
||||
category: "AI",
|
||||
route: {
|
||||
light: '/library/replicate_light.svg',
|
||||
dark: '/library/replicate_dark.svg'
|
||||
light: "/library/replicate_light.svg",
|
||||
dark: "/library/replicate_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/replicate-wordmark_light.svg',
|
||||
dark: '/library/replicate-wordmark_dark.svg'
|
||||
light: "/library/replicate-wordmark_light.svg",
|
||||
dark: "/library/replicate-wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://replicate.com/'
|
||||
url: "https://replicate.com/",
|
||||
},
|
||||
{
|
||||
title: 'Markdown',
|
||||
category: 'Language',
|
||||
title: "Markdown",
|
||||
category: "Language",
|
||||
route: {
|
||||
light: '/library/markdown-light.svg',
|
||||
dark: '/library/markdown-dark.svg'
|
||||
light: "/library/markdown-light.svg",
|
||||
dark: "/library/markdown-dark.svg",
|
||||
},
|
||||
url: 'https://www.markdownguide.org/'
|
||||
url: "https://www.markdownguide.org/",
|
||||
},
|
||||
{
|
||||
title: 'Radix UI',
|
||||
category: 'Library',
|
||||
title: "Radix UI",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/radix-ui_light.svg',
|
||||
dark: '/library/radix-ui_dark.svg'
|
||||
light: "/library/radix-ui_light.svg",
|
||||
dark: "/library/radix-ui_dark.svg",
|
||||
},
|
||||
url: 'https://www.radix-ui.com/'
|
||||
url: "https://www.radix-ui.com/",
|
||||
},
|
||||
{
|
||||
title: 'Web.dev',
|
||||
category: 'Education',
|
||||
route: '/library/webdev.svg',
|
||||
url: 'https://web.dev/'
|
||||
title: "Web.dev",
|
||||
category: "Education",
|
||||
route: "/library/webdev.svg",
|
||||
url: "https://web.dev/",
|
||||
},
|
||||
{
|
||||
title: 'SWR',
|
||||
category: 'Library',
|
||||
title: "SWR",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/swr-light.svg',
|
||||
dark: '/library/swr-dark.svg'
|
||||
light: "/library/swr-light.svg",
|
||||
dark: "/library/swr-dark.svg",
|
||||
},
|
||||
url: 'https://swr.vercel.app/'
|
||||
url: "https://swr.vercel.app/",
|
||||
},
|
||||
{
|
||||
title: 'Refine',
|
||||
category: 'Framework',
|
||||
title: "Refine",
|
||||
category: "Framework",
|
||||
route: {
|
||||
light: '/library/refine_dark.svg',
|
||||
dark: '/library/refine_light.svg'
|
||||
light: "/library/refine_dark.svg",
|
||||
dark: "/library/refine_light.svg",
|
||||
},
|
||||
url: 'https://refine.dev/'
|
||||
url: "https://refine.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Youtube Music',
|
||||
category: ['Google', 'Music'],
|
||||
route: '/library/youtube_music.svg',
|
||||
title: "Youtube Music",
|
||||
category: ["Google", "Music"],
|
||||
route: "/library/youtube_music.svg",
|
||||
wordmark: {
|
||||
light: '/library/youtube_music_wordmark_light.svg',
|
||||
dark: '/library/youtube_music_wordmark_dark.svg'
|
||||
light: "/library/youtube_music_wordmark_light.svg",
|
||||
dark: "/library/youtube_music_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://music.youtube.com/'
|
||||
url: "https://music.youtube.com/",
|
||||
},
|
||||
{
|
||||
title: 'TIDAL',
|
||||
category: 'Music',
|
||||
title: "TIDAL",
|
||||
category: "Music",
|
||||
route: {
|
||||
light: '/library/tidal_light.svg',
|
||||
dark: '/library/tidal_dark.svg'
|
||||
light: "/library/tidal_light.svg",
|
||||
dark: "/library/tidal_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/tidal_wordmark_light.svg',
|
||||
dark: '/library/tidal_wordmark_dark.svg'
|
||||
light: "/library/tidal_wordmark_light.svg",
|
||||
dark: "/library/tidal_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://tidal.com/'
|
||||
url: "https://tidal.com/",
|
||||
},
|
||||
{
|
||||
title: 'OBS',
|
||||
category: 'Software',
|
||||
route: '/library/obs.svg',
|
||||
url: 'https://obsproject.com/'
|
||||
title: "OBS",
|
||||
category: "Software",
|
||||
route: "/library/obs.svg",
|
||||
url: "https://obsproject.com/",
|
||||
},
|
||||
{
|
||||
title: 'Stack Overflow',
|
||||
category: 'Software',
|
||||
route: '/library/stackoverflow.svg',
|
||||
wordmark: '/library/stackoverflow_wordmark.svg',
|
||||
url: 'https://stackoverflow.com/',
|
||||
brandUrl: 'https://stackoverflow.design/brand/'
|
||||
title: "Stack Overflow",
|
||||
category: "Software",
|
||||
route: "/library/stackoverflow.svg",
|
||||
wordmark: "/library/stackoverflow_wordmark.svg",
|
||||
url: "https://stackoverflow.com/",
|
||||
brandUrl: "https://stackoverflow.design/brand/",
|
||||
},
|
||||
{
|
||||
title: 'TikTok',
|
||||
category: 'Social',
|
||||
route: '/library/tiktok.svg',
|
||||
url: 'https://www.tiktok.com/'
|
||||
title: "TikTok",
|
||||
category: "Social",
|
||||
route: "/library/tiktok.svg",
|
||||
url: "https://www.tiktok.com/",
|
||||
},
|
||||
{
|
||||
title: 'Ngrok',
|
||||
category: 'Software',
|
||||
title: "Ngrok",
|
||||
category: "Software",
|
||||
route: {
|
||||
dark: '/library/ngrok-dark.svg',
|
||||
light: '/library/ngrok-light.svg'
|
||||
dark: "/library/ngrok-dark.svg",
|
||||
light: "/library/ngrok-light.svg",
|
||||
},
|
||||
url: 'https://ngrok.com'
|
||||
url: "https://ngrok.com",
|
||||
},
|
||||
{
|
||||
title: 'Lemon Squeezy',
|
||||
category: 'Software',
|
||||
route: '/library/lemonsqueezy.svg',
|
||||
url: 'https://www.lemonsqueezy.com'
|
||||
title: "Lemon Squeezy",
|
||||
category: "Software",
|
||||
route: "/library/lemonsqueezy.svg",
|
||||
url: "https://www.lemonsqueezy.com",
|
||||
},
|
||||
{
|
||||
title: 'Asana',
|
||||
category: 'Software',
|
||||
route: '/library/asana-logo.svg',
|
||||
title: "Asana",
|
||||
category: "Software",
|
||||
route: "/library/asana-logo.svg",
|
||||
wordmark: {
|
||||
dark: '/library/asana-wordmark-dark.svg',
|
||||
light: '/library/asana-wordmark-light.svg'
|
||||
dark: "/library/asana-wordmark-dark.svg",
|
||||
light: "/library/asana-wordmark-light.svg",
|
||||
},
|
||||
url: 'https://asana.com'
|
||||
url: "https://asana.com",
|
||||
},
|
||||
{
|
||||
title: 'UpLeveled',
|
||||
category: 'Education',
|
||||
route: '/library/upleveled.svg',
|
||||
wordmark: '/library/upleveled-wordmark.svg',
|
||||
url: 'https://upleveled.io/'
|
||||
title: "UpLeveled",
|
||||
category: "Education",
|
||||
route: "/library/upleveled.svg",
|
||||
wordmark: "/library/upleveled-wordmark.svg",
|
||||
url: "https://upleveled.io/",
|
||||
},
|
||||
{
|
||||
title: 'Zoom',
|
||||
category: 'Software',
|
||||
route: '/library/zoom.svg',
|
||||
url: 'https://zoom.us/'
|
||||
title: "Zoom",
|
||||
category: "Software",
|
||||
route: "/library/zoom.svg",
|
||||
url: "https://zoom.us/",
|
||||
},
|
||||
{
|
||||
title: 'Tina',
|
||||
category: 'CMS',
|
||||
route: '/library/tina.svg',
|
||||
wordmark: '/library/tina_wordmark.svg',
|
||||
url: 'https://tina.io/'
|
||||
title: "Tina",
|
||||
category: "CMS",
|
||||
route: "/library/tina.svg",
|
||||
wordmark: "/library/tina_wordmark.svg",
|
||||
url: "https://tina.io/",
|
||||
},
|
||||
{
|
||||
title: 'Next.js',
|
||||
category: ['Framework', 'Vercel'],
|
||||
route: '/library/nextjs_icon_dark.svg',
|
||||
title: "Next.js",
|
||||
category: ["Framework", "Vercel"],
|
||||
route: "/library/nextjs_icon_dark.svg",
|
||||
wordmark: {
|
||||
light: '/library/nextjs_logo_light.svg',
|
||||
dark: '/library/nextjs_logo_dark.svg'
|
||||
light: "/library/nextjs_logo_light.svg",
|
||||
dark: "/library/nextjs_logo_dark.svg",
|
||||
},
|
||||
url: 'https://nextjs.org/'
|
||||
url: "https://nextjs.org/",
|
||||
},
|
||||
{
|
||||
title: 'Mistral AI',
|
||||
category: 'AI',
|
||||
route: '/library/mistral-ai_logo.svg',
|
||||
wordmark: '/library/mistral-ai_wordmark.svg',
|
||||
url: 'https://mistral.ai/'
|
||||
title: "Mistral AI",
|
||||
category: "AI",
|
||||
route: "/library/mistral-ai_logo.svg",
|
||||
wordmark: "/library/mistral-ai_wordmark.svg",
|
||||
url: "https://mistral.ai/",
|
||||
},
|
||||
{
|
||||
title: 'Hugging Face',
|
||||
category: 'AI',
|
||||
route: '/library/hugging_face.svg',
|
||||
url: 'https://huggingface.co/',
|
||||
brandUrl: 'https://huggingface.co/brand'
|
||||
title: "Hugging Face",
|
||||
category: "AI",
|
||||
route: "/library/hugging_face.svg",
|
||||
url: "https://huggingface.co/",
|
||||
brandUrl: "https://huggingface.co/brand",
|
||||
},
|
||||
{
|
||||
title: 'Node.js',
|
||||
category: 'Library',
|
||||
route: '/library/nodejs.svg',
|
||||
url: 'https://nodejs.org/',
|
||||
brandUrl: 'https://nodejs.org/en/about/branding'
|
||||
title: "Node.js",
|
||||
category: "Library",
|
||||
route: "/library/nodejs.svg",
|
||||
url: "https://nodejs.org/",
|
||||
brandUrl: "https://nodejs.org/en/about/branding",
|
||||
},
|
||||
{
|
||||
title: 'Raindrop.io',
|
||||
category: 'Software',
|
||||
route: '/library/raindrop.svg',
|
||||
url: 'https://raindrop.io/'
|
||||
title: "Raindrop.io",
|
||||
category: "Software",
|
||||
route: "/library/raindrop.svg",
|
||||
url: "https://raindrop.io/",
|
||||
},
|
||||
{
|
||||
title: 'Microsoft Todo',
|
||||
category: 'Software',
|
||||
route: '/library/microsoft-todo.svg',
|
||||
url: 'https://to-do.office.com/'
|
||||
title: "Microsoft Todo",
|
||||
category: "Software",
|
||||
route: "/library/microsoft-todo.svg",
|
||||
url: "https://to-do.office.com/",
|
||||
},
|
||||
{
|
||||
title: 'Manifest',
|
||||
category: ['Software', 'AI', 'Database'],
|
||||
route: '/library/manifest.svg',
|
||||
url: 'https://manifest.build',
|
||||
brandUrl: 'https://manifest.build/brand-assets'
|
||||
title: "Manifest",
|
||||
category: ["Software", "AI", "Database"],
|
||||
route: "/library/manifest.svg",
|
||||
url: "https://manifest.build",
|
||||
brandUrl: "https://manifest.build/brand-assets",
|
||||
},
|
||||
{
|
||||
title: 'Supabase',
|
||||
category: 'Database',
|
||||
route: '/library/supabase.svg',
|
||||
url: 'https://supabase.com/',
|
||||
title: "Supabase",
|
||||
category: "Database",
|
||||
route: "/library/supabase.svg",
|
||||
url: "https://supabase.com/",
|
||||
wordmark: {
|
||||
light: '/library/supabase_wordmark_light.svg',
|
||||
dark: '/library/supabase_wordmark_dark.svg'
|
||||
light: "/library/supabase_wordmark_light.svg",
|
||||
dark: "/library/supabase_wordmark_dark.svg",
|
||||
},
|
||||
brandUrl: 'https://supabase.com/brand-assets'
|
||||
brandUrl: "https://supabase.com/brand-assets",
|
||||
},
|
||||
{
|
||||
title: 'Gleam',
|
||||
category: 'Language',
|
||||
route: '/library/gleam.svg',
|
||||
url: 'https://gleam.run/'
|
||||
title: "Gleam",
|
||||
category: "Language",
|
||||
route: "/library/gleam.svg",
|
||||
url: "https://gleam.run/",
|
||||
},
|
||||
{
|
||||
title: 'Flowbite',
|
||||
category: 'Framework',
|
||||
route: '/library/flowbite.svg',
|
||||
url: 'https://flowbite.com/'
|
||||
title: "Flowbite",
|
||||
category: "Framework",
|
||||
route: "/library/flowbite.svg",
|
||||
url: "https://flowbite.com/",
|
||||
},
|
||||
{
|
||||
title: 'Hume AI',
|
||||
category: 'AI',
|
||||
route: '/library/hume-ai.svg',
|
||||
url: 'https://hume.ai/'
|
||||
title: "Hume AI",
|
||||
category: "AI",
|
||||
route: "/library/hume-ai.svg",
|
||||
url: "https://hume.ai/",
|
||||
},
|
||||
{
|
||||
title: 'Resend',
|
||||
category: 'Software',
|
||||
url: 'https://resend.com/',
|
||||
title: "Resend",
|
||||
category: "Software",
|
||||
url: "https://resend.com/",
|
||||
route: {
|
||||
light: '/library/resend-icon-black.svg',
|
||||
dark: '/library/resend-icon-white.svg'
|
||||
light: "/library/resend-icon-black.svg",
|
||||
dark: "/library/resend-icon-white.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/resend-wordmark-black.svg',
|
||||
dark: '/library/resend-wordmark-white.svg'
|
||||
light: "/library/resend-wordmark-black.svg",
|
||||
dark: "/library/resend-wordmark-white.svg",
|
||||
},
|
||||
brandUrl: 'https://resend.com/brand'
|
||||
brandUrl: "https://resend.com/brand",
|
||||
},
|
||||
{
|
||||
title: 'Layers',
|
||||
category: 'Design',
|
||||
title: "Layers",
|
||||
category: "Design",
|
||||
route: {
|
||||
light: '/library/layers_light.svg',
|
||||
dark: '/library/layers_dark.svg'
|
||||
light: "/library/layers_light.svg",
|
||||
dark: "/library/layers_dark.svg",
|
||||
},
|
||||
url: 'https://layers.to/'
|
||||
url: "https://layers.to/",
|
||||
},
|
||||
{
|
||||
title: 'Exome',
|
||||
category: 'Library',
|
||||
route: '/library/exome.svg',
|
||||
url: 'https://exome.dev/'
|
||||
title: "Exome",
|
||||
category: "Library",
|
||||
route: "/library/exome.svg",
|
||||
url: "https://exome.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Poper',
|
||||
category: 'AI',
|
||||
route: '/library/poper.svg',
|
||||
url: 'https://www.poper.ai'
|
||||
title: "Poper",
|
||||
category: "AI",
|
||||
route: "/library/poper.svg",
|
||||
url: "https://www.poper.ai",
|
||||
},
|
||||
{
|
||||
title: 'Dub',
|
||||
category: 'Software',
|
||||
title: "Dub",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/dub.svg',
|
||||
dark: '/library/dub_dark_logo.svg'
|
||||
light: "/library/dub.svg",
|
||||
dark: "/library/dub_dark_logo.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/dub_light_wordmark.svg',
|
||||
dark: '/library/dub_dark_wordmark.svg'
|
||||
light: "/library/dub_light_wordmark.svg",
|
||||
dark: "/library/dub_dark_wordmark.svg",
|
||||
},
|
||||
url: 'https://dub.co',
|
||||
brandUrl: 'https://dub.co/brand'
|
||||
url: "https://dub.co",
|
||||
brandUrl: "https://dub.co/brand",
|
||||
},
|
||||
{
|
||||
title: 'Turso',
|
||||
category: ['Database', 'Software'],
|
||||
title: "Turso",
|
||||
category: ["Database", "Software"],
|
||||
route: {
|
||||
light: '/library/turso-light.svg',
|
||||
dark: '/library/turso-dark.svg'
|
||||
light: "/library/turso-light.svg",
|
||||
dark: "/library/turso-dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/turso-wordmark-light.svg',
|
||||
dark: '/library/turso-wordmark-dark.svg'
|
||||
light: "/library/turso-wordmark-light.svg",
|
||||
dark: "/library/turso-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://turso.tech'
|
||||
url: "https://turso.tech",
|
||||
},
|
||||
{
|
||||
title: 'RelaGit',
|
||||
category: 'Software',
|
||||
title: "RelaGit",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/relagit-icon-light.svg',
|
||||
dark: '/library/relagit-icon-dark.svg'
|
||||
light: "/library/relagit-icon-light.svg",
|
||||
dark: "/library/relagit-icon-dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/relagit-wordmark-light.svg',
|
||||
dark: '/library/relagit-wordmark-dark.svg'
|
||||
light: "/library/relagit-wordmark-light.svg",
|
||||
dark: "/library/relagit-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://rela.dev'
|
||||
url: "https://rela.dev",
|
||||
},
|
||||
{
|
||||
title: 'T3 Stack',
|
||||
category: 'Framework',
|
||||
title: "T3 Stack",
|
||||
category: "Framework",
|
||||
route: {
|
||||
light: '/library/t3-dark.svg',
|
||||
dark: '/library/t3-light.svg'
|
||||
light: "/library/t3-dark.svg",
|
||||
dark: "/library/t3-light.svg",
|
||||
},
|
||||
url: 'https://create.t3.gg/'
|
||||
url: "https://create.t3.gg/",
|
||||
},
|
||||
{
|
||||
title: 'Apple Music',
|
||||
category: 'Music',
|
||||
route: '/library/apple-music-icon.svg',
|
||||
title: "Apple Music",
|
||||
category: "Music",
|
||||
route: "/library/apple-music-icon.svg",
|
||||
wordmark: {
|
||||
light: '/library/apple-music-wordmark-light.svg',
|
||||
dark: '/library/apple-music-wordmark-dark.svg'
|
||||
light: "/library/apple-music-wordmark-light.svg",
|
||||
dark: "/library/apple-music-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://music.apple.com/'
|
||||
url: "https://music.apple.com/",
|
||||
},
|
||||
{
|
||||
title: 'YGeeker',
|
||||
category: 'Software',
|
||||
route: '/library/ygeeker.svg',
|
||||
url: 'https://www.ygeeker.com'
|
||||
title: "YGeeker",
|
||||
category: "Software",
|
||||
route: "/library/ygeeker.svg",
|
||||
url: "https://www.ygeeker.com",
|
||||
},
|
||||
{
|
||||
title: 'PostCSS',
|
||||
category: 'Compiler',
|
||||
route: '/library/postcss.svg',
|
||||
wordmark: '/library/postcss_wordmark.svg',
|
||||
url: 'https://postcss.org/'
|
||||
title: "PostCSS",
|
||||
category: "Compiler",
|
||||
route: "/library/postcss.svg",
|
||||
wordmark: "/library/postcss_wordmark.svg",
|
||||
url: "https://postcss.org/",
|
||||
},
|
||||
{
|
||||
title: 'SVG',
|
||||
category: ['Language', 'Design'],
|
||||
route: '/library/svg.svg',
|
||||
wordmark: '/library/svg_wordmark.svg',
|
||||
url: 'https://www.w3.org/TR/SVG/'
|
||||
title: "SVG",
|
||||
category: ["Language", "Design"],
|
||||
route: "/library/svg.svg",
|
||||
wordmark: "/library/svg_wordmark.svg",
|
||||
url: "https://www.w3.org/TR/SVG/",
|
||||
},
|
||||
{
|
||||
title: 'Todoist',
|
||||
category: 'Software',
|
||||
route: '/library/todoist.svg',
|
||||
wordmark: '/library/todoist-wordmark.svg',
|
||||
url: 'https://todoist.com/'
|
||||
title: "Todoist",
|
||||
category: "Software",
|
||||
route: "/library/todoist.svg",
|
||||
wordmark: "/library/todoist-wordmark.svg",
|
||||
url: "https://todoist.com/",
|
||||
},
|
||||
{
|
||||
title: 'Apidog',
|
||||
category: 'Software',
|
||||
route: '/library/apidog.svg',
|
||||
url: 'https://apidog.com/'
|
||||
title: "Apidog",
|
||||
category: "Software",
|
||||
route: "/library/apidog.svg",
|
||||
url: "https://apidog.com/",
|
||||
},
|
||||
{
|
||||
title: 'Chart.js',
|
||||
category: 'Library',
|
||||
route: '/library/chartjs.svg',
|
||||
url: 'https://www.chartjs.org/'
|
||||
title: "Chart.js",
|
||||
category: "Library",
|
||||
route: "/library/chartjs.svg",
|
||||
url: "https://www.chartjs.org/",
|
||||
},
|
||||
{
|
||||
title: 'JSON Schema',
|
||||
category: 'Library',
|
||||
route: '/library/json-schema.svg',
|
||||
url: 'https://json-schema.org/'
|
||||
title: "JSON Schema",
|
||||
category: "Library",
|
||||
route: "/library/json-schema.svg",
|
||||
url: "https://json-schema.org/",
|
||||
},
|
||||
{
|
||||
title: 'v0',
|
||||
category: 'Vercel',
|
||||
title: "v0",
|
||||
category: "Vercel",
|
||||
route: {
|
||||
light: '/library/v0_light.svg',
|
||||
dark: '/library/v0_dark.svg'
|
||||
light: "/library/v0_light.svg",
|
||||
dark: "/library/v0_dark.svg",
|
||||
},
|
||||
url: 'https://v0.dev/'
|
||||
url: "https://v0.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Bento',
|
||||
category: 'Software',
|
||||
route: '/library/bento.svg',
|
||||
url: 'https://bento.me/home'
|
||||
title: "Bento",
|
||||
category: "Software",
|
||||
route: "/library/bento.svg",
|
||||
url: "https://bento.me/home",
|
||||
},
|
||||
{
|
||||
title: 'Firebase',
|
||||
category: ['Hosting', 'Google'],
|
||||
route: '/library/firebase.svg',
|
||||
wordmark: '/library/firebase-wordmark.svg',
|
||||
url: 'https://firebase.google.com/'
|
||||
title: "Firebase",
|
||||
category: ["Hosting", "Google"],
|
||||
route: "/library/firebase.svg",
|
||||
wordmark: "/library/firebase-wordmark.svg",
|
||||
url: "https://firebase.google.com/",
|
||||
},
|
||||
{
|
||||
title: 'Prettier',
|
||||
category: 'Library',
|
||||
title: "Prettier",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/prettier-icon-light.svg',
|
||||
dark: '/library/prettier-icon-dark.svg'
|
||||
light: "/library/prettier-icon-light.svg",
|
||||
dark: "/library/prettier-icon-dark.svg",
|
||||
},
|
||||
url: 'https://prettier.io/'
|
||||
url: "https://prettier.io/",
|
||||
},
|
||||
{
|
||||
title: 'Leap Wallet',
|
||||
category: ['Crypto', 'Software', 'Payment'],
|
||||
route: '/library/leap-wallet.svg',
|
||||
title: "Leap Wallet",
|
||||
category: ["Crypto", "Software", "Payment"],
|
||||
route: "/library/leap-wallet.svg",
|
||||
wordmark: {
|
||||
light: '/library/leap-wallet-wordmark-light.svg',
|
||||
dark: '/library/leap-wallet-wordmark-dark.svg'
|
||||
light: "/library/leap-wallet-wordmark-light.svg",
|
||||
dark: "/library/leap-wallet-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://leapwallet.io/'
|
||||
url: "https://leapwallet.io/",
|
||||
},
|
||||
{
|
||||
title: 'Nx',
|
||||
category: ['Devtool', 'Monorepo'],
|
||||
title: "Nx",
|
||||
category: ["Devtool", "Monorepo"],
|
||||
route: {
|
||||
light: '/library/nx_light.svg',
|
||||
dark: '/library/nx_dark.svg'
|
||||
light: "/library/nx_light.svg",
|
||||
dark: "/library/nx_dark.svg",
|
||||
},
|
||||
url: 'https://nx.dev'
|
||||
url: "https://nx.dev",
|
||||
},
|
||||
{
|
||||
title: 'Google Colaboratory',
|
||||
category: ['Google', 'Software'],
|
||||
route: '/library/Google_Colaboratory.svg',
|
||||
url: 'https://colab.research.google.com/'
|
||||
title: "Google Colaboratory",
|
||||
category: ["Google", "Software"],
|
||||
route: "/library/Google_Colaboratory.svg",
|
||||
url: "https://colab.research.google.com/",
|
||||
},
|
||||
{
|
||||
title: 'Raspberry PI',
|
||||
category: ['Hardware', 'Software'],
|
||||
route: '/library/raspberry_pi.svg',
|
||||
url: 'https://www.raspberrypi.com/'
|
||||
title: "Raspberry PI",
|
||||
category: ["Hardware", "Software"],
|
||||
route: "/library/raspberry_pi.svg",
|
||||
url: "https://www.raspberrypi.com/",
|
||||
},
|
||||
{
|
||||
title: 'Vite',
|
||||
category: ['Devtool', 'VoidZero'],
|
||||
route: '/library/vitejs.svg',
|
||||
url: 'https://vitejs.dev'
|
||||
title: "Vite",
|
||||
category: ["Devtool", "VoidZero"],
|
||||
route: "/library/vitejs.svg",
|
||||
url: "https://vitejs.dev",
|
||||
},
|
||||
{
|
||||
title: 'Vitest',
|
||||
category: ['Framework', 'VoidZero'],
|
||||
route: '/library/vitest.svg',
|
||||
url: 'https://vitest.dev/'
|
||||
title: "Vitest",
|
||||
category: ["Framework", "VoidZero"],
|
||||
route: "/library/vitest.svg",
|
||||
url: "https://vitest.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Oxc',
|
||||
category: ['Devtool', 'VoidZero'],
|
||||
route: '/library/oxc.svg',
|
||||
url: 'https://oxc.rs/'
|
||||
title: "Oxc",
|
||||
category: ["Devtool", "VoidZero"],
|
||||
route: "/library/oxc.svg",
|
||||
url: "https://oxc.rs/",
|
||||
},
|
||||
{
|
||||
title: 'Rolldown',
|
||||
category: ['Compiler', 'VoidZero'],
|
||||
route: '/library/rolldown.svg',
|
||||
url: 'https://rolldown.rs/'
|
||||
title: "Rolldown",
|
||||
category: ["Compiler", "VoidZero"],
|
||||
route: "/library/rolldown.svg",
|
||||
url: "https://rolldown.rs/",
|
||||
},
|
||||
{
|
||||
title: 'ManzDev',
|
||||
category: ['Community'],
|
||||
route: '/library/manzdev.svg',
|
||||
url: 'https://manz.dev/'
|
||||
title: "ManzDev",
|
||||
category: ["Community"],
|
||||
route: "/library/manzdev.svg",
|
||||
url: "https://manz.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Afordin',
|
||||
category: ['Community'],
|
||||
title: "Afordin",
|
||||
category: ["Community"],
|
||||
route: {
|
||||
light: '/library/afordin-light.svg',
|
||||
dark: '/library/afordin-dark.svg'
|
||||
light: "/library/afordin-light.svg",
|
||||
dark: "/library/afordin-dark.svg",
|
||||
},
|
||||
url: 'https://github.com/Afordin'
|
||||
url: "https://github.com/Afordin",
|
||||
},
|
||||
{
|
||||
title: 'MediaWiki',
|
||||
category: ['Software', 'CMS'],
|
||||
route: '/library/mediawiki.svg',
|
||||
title: "MediaWiki",
|
||||
category: ["Software", "CMS"],
|
||||
route: "/library/mediawiki.svg",
|
||||
wordmark: {
|
||||
light: '/library/mediawiki-wordmark-light.svg',
|
||||
dark: '/library/mediawiki-wordmark-dark.svg'
|
||||
light: "/library/mediawiki-wordmark-light.svg",
|
||||
dark: "/library/mediawiki-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://www.mediawiki.org/'
|
||||
url: "https://www.mediawiki.org/",
|
||||
},
|
||||
{
|
||||
title: 'Carrd',
|
||||
category: ['Social'],
|
||||
route: '/library/carrd.svg',
|
||||
url: 'https://carrd.co/'
|
||||
title: "Carrd",
|
||||
category: ["Social"],
|
||||
route: "/library/carrd.svg",
|
||||
url: "https://carrd.co/",
|
||||
},
|
||||
{
|
||||
title: 'Claude AI',
|
||||
category: 'AI',
|
||||
route: '/library/claude-ai-icon.svg',
|
||||
title: "Claude AI",
|
||||
category: "AI",
|
||||
route: "/library/claude-ai-icon.svg",
|
||||
wordmark: {
|
||||
light: '/library/claude-ai-wordmark-icon_light.svg',
|
||||
dark: '/library/claude-ai-wordmark-icon_dark.svg'
|
||||
light: "/library/claude-ai-wordmark-icon_light.svg",
|
||||
dark: "/library/claude-ai-wordmark-icon_dark.svg",
|
||||
},
|
||||
url: 'https://claude.ai/'
|
||||
url: "https://claude.ai/",
|
||||
},
|
||||
{
|
||||
title: 'UnoCSS',
|
||||
category: 'Devtool',
|
||||
route: '/library/unocss.svg',
|
||||
url: 'https://unocss.dev/'
|
||||
title: "UnoCSS",
|
||||
category: "Devtool",
|
||||
route: "/library/unocss.svg",
|
||||
url: "https://unocss.dev/",
|
||||
},
|
||||
{
|
||||
title: 'tRPC',
|
||||
category: 'Framework',
|
||||
route: '/library/trpc.svg',
|
||||
title: "tRPC",
|
||||
category: "Framework",
|
||||
route: "/library/trpc.svg",
|
||||
wordmark: {
|
||||
light: '/library/trpc_wordmark_light.svg',
|
||||
dark: 'library/trpc_wordmark_dark.svg'
|
||||
light: "/library/trpc_wordmark_light.svg",
|
||||
dark: "library/trpc_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://trpc.io/'
|
||||
url: "https://trpc.io/",
|
||||
},
|
||||
{
|
||||
title: 'Bluesky',
|
||||
category: 'Social',
|
||||
route: '/library/bluesky.svg',
|
||||
url: 'https://blueskyweb.xyz/'
|
||||
title: "Bluesky",
|
||||
category: "Social",
|
||||
route: "/library/bluesky.svg",
|
||||
url: "https://blueskyweb.xyz/",
|
||||
},
|
||||
{
|
||||
title: 'Drizzle ORM',
|
||||
category: ['Library', 'Database'],
|
||||
title: "Drizzle ORM",
|
||||
category: ["Library", "Database"],
|
||||
route: {
|
||||
light: '/library/drizzle-orm_light.svg',
|
||||
dark: '/library/drizzle-orm_dark.svg'
|
||||
light: "/library/drizzle-orm_light.svg",
|
||||
dark: "/library/drizzle-orm_dark.svg",
|
||||
},
|
||||
url: 'https://orm.drizzle.team/'
|
||||
url: "https://orm.drizzle.team/",
|
||||
},
|
||||
{
|
||||
title: 'daily.dev',
|
||||
category: ['Social', 'Community'],
|
||||
title: "daily.dev",
|
||||
category: ["Social", "Community"],
|
||||
route: {
|
||||
light: '/library/daily-dev-ligth.svg',
|
||||
dark: '/library/daily-dev-dark.svg'
|
||||
light: "/library/daily-dev-ligth.svg",
|
||||
dark: "/library/daily-dev-dark.svg",
|
||||
},
|
||||
url: 'https://daily.dev/'
|
||||
url: "https://daily.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Polars',
|
||||
category: 'Library',
|
||||
route: '/library/polars-logo.svg',
|
||||
url: 'https://pola.rs/'
|
||||
title: "Polars",
|
||||
category: "Library",
|
||||
route: "/library/polars-logo.svg",
|
||||
url: "https://pola.rs/",
|
||||
},
|
||||
{
|
||||
title: 'Zed',
|
||||
category: 'Software',
|
||||
title: "Zed",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/zed-logo.svg',
|
||||
dark: '/library/zed-logo_dark.svg'
|
||||
light: "/library/zed-logo.svg",
|
||||
dark: "/library/zed-logo_dark.svg",
|
||||
},
|
||||
url: 'https://zed.dev/'
|
||||
url: "https://zed.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Polar',
|
||||
category: ['Software', 'Payment'],
|
||||
title: "Polar",
|
||||
category: ["Software", "Payment"],
|
||||
route: {
|
||||
light: '/library/polar-sh_light.svg',
|
||||
dark: '/library/polar-sh_dark.svg'
|
||||
light: "/library/polar-sh_light.svg",
|
||||
dark: "/library/polar-sh_dark.svg",
|
||||
},
|
||||
url: 'https://polar.sh/'
|
||||
url: "https://polar.sh/",
|
||||
},
|
||||
{
|
||||
title: 'bolt',
|
||||
category: 'Devtool',
|
||||
title: "bolt",
|
||||
category: "Devtool",
|
||||
route: {
|
||||
light: '/library/bolt-new.svg',
|
||||
dark: '/library/bolt-new_dark.svg'
|
||||
light: "/library/bolt-new.svg",
|
||||
dark: "/library/bolt-new_dark.svg",
|
||||
},
|
||||
url: 'https://bolt.new/'
|
||||
url: "https://bolt.new/",
|
||||
},
|
||||
{
|
||||
title: 'JSON',
|
||||
category: 'Language',
|
||||
route: '/library/json.svg',
|
||||
url: 'https://json.org/'
|
||||
title: "JSON",
|
||||
category: "Language",
|
||||
route: "/library/json.svg",
|
||||
url: "https://json.org/",
|
||||
},
|
||||
{
|
||||
title: 'nuqs',
|
||||
category: 'Library',
|
||||
title: "nuqs",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/nuqs.svg',
|
||||
dark: '/library/nuqs_dark.svg'
|
||||
light: "/library/nuqs.svg",
|
||||
dark: "/library/nuqs_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/nuqs-wordmark.svg',
|
||||
dark: '/library/nuqs-wordmark_dark.svg'
|
||||
light: "/library/nuqs-wordmark.svg",
|
||||
dark: "/library/nuqs-wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://nuqs.47ng.com/'
|
||||
url: "https://nuqs.47ng.com/",
|
||||
},
|
||||
{
|
||||
title: 'SoundCloud',
|
||||
category: 'Music',
|
||||
title: "SoundCloud",
|
||||
category: "Music",
|
||||
route: {
|
||||
light: '/library/soundcloud-logo.svg',
|
||||
dark: '/library/soundcloud-logo_dark.svg'
|
||||
light: "/library/soundcloud-logo.svg",
|
||||
dark: "/library/soundcloud-logo_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/soundcloud-wordmark.svg',
|
||||
dark: 'library/soundcloud-wordmark_dark.svg'
|
||||
light: "/library/soundcloud-wordmark.svg",
|
||||
dark: "library/soundcloud-wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://soundcloud.com/'
|
||||
url: "https://soundcloud.com/",
|
||||
},
|
||||
{
|
||||
title: 'Mermaid',
|
||||
category: ['Library'],
|
||||
title: "Mermaid",
|
||||
category: ["Library"],
|
||||
route: {
|
||||
light: '/library/mermaid-logo-light.svg',
|
||||
dark: '/library/mermaid-logo-dark.svg'
|
||||
light: "/library/mermaid-logo-light.svg",
|
||||
dark: "/library/mermaid-logo-dark.svg",
|
||||
},
|
||||
url: 'https://mermaid.js.org/'
|
||||
url: "https://mermaid.js.org/",
|
||||
},
|
||||
{
|
||||
title: 'Home Assistant',
|
||||
category: ['IoT', 'Software'],
|
||||
route: '/library/home-assistant.svg',
|
||||
title: "Home Assistant",
|
||||
category: ["IoT", "Software"],
|
||||
route: "/library/home-assistant.svg",
|
||||
wordmark: {
|
||||
light: '/library/home-assistant-wordmark.svg',
|
||||
dark: '/library/home-assistant-wordmark-dark.svg'
|
||||
light: "/library/home-assistant-wordmark.svg",
|
||||
dark: "/library/home-assistant-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://github.com/home-assistant/assets/tree/master/logo'
|
||||
url: "https://github.com/home-assistant/assets/tree/master/logo",
|
||||
},
|
||||
{
|
||||
title: 'UXAnaRangel',
|
||||
category: ['Community'],
|
||||
title: "UXAnaRangel",
|
||||
category: ["Community"],
|
||||
route: {
|
||||
light: '/library/uxanarangel-light.svg',
|
||||
dark: '/library/uxanarangel-dark.svg'
|
||||
light: "/library/uxanarangel-light.svg",
|
||||
dark: "/library/uxanarangel-dark.svg",
|
||||
},
|
||||
url: 'https://uxanarangel.com/'
|
||||
url: "https://uxanarangel.com/",
|
||||
},
|
||||
{
|
||||
title: 'UXCorpRangel',
|
||||
category: ['Community'],
|
||||
title: "UXCorpRangel",
|
||||
category: ["Community"],
|
||||
route: {
|
||||
light: '/library/uxcorprangel-light.svg',
|
||||
dark: '/library/uxcorprangel-dark.svg'
|
||||
light: "/library/uxcorprangel-light.svg",
|
||||
dark: "/library/uxcorprangel-dark.svg",
|
||||
},
|
||||
url: 'https://github.com/UXCorpRangel/'
|
||||
url: "https://github.com/UXCorpRangel/",
|
||||
},
|
||||
{
|
||||
title: 'PostHog',
|
||||
category: 'Devtool',
|
||||
route: '/library/posthog.svg',
|
||||
title: "PostHog",
|
||||
category: "Devtool",
|
||||
route: "/library/posthog.svg",
|
||||
wordmark: {
|
||||
light: '/library/posthog-wordmark.svg',
|
||||
dark: '/library/posthog-wordmark_dark.svg'
|
||||
light: "/library/posthog-wordmark.svg",
|
||||
dark: "/library/posthog-wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://posthog.com/',
|
||||
brandUrl: 'https://posthog.com/handbook/company/brand-assets'
|
||||
url: "https://posthog.com/",
|
||||
brandUrl: "https://posthog.com/handbook/company/brand-assets",
|
||||
},
|
||||
{
|
||||
title: 'PowerToys',
|
||||
category: 'Software',
|
||||
route: '/library/powertoys.svg',
|
||||
url: 'https://learn.microsoft.com/en-us/windows/powertoys/'
|
||||
title: "PowerToys",
|
||||
category: "Software",
|
||||
route: "/library/powertoys.svg",
|
||||
url: "https://learn.microsoft.com/en-us/windows/powertoys/",
|
||||
},
|
||||
{
|
||||
title: 'PowerShell',
|
||||
category: 'Language',
|
||||
route: '/library/powershell.svg',
|
||||
url: 'https://learn.microsoft.com/en-us/powershell/'
|
||||
title: "PowerShell",
|
||||
category: "Language",
|
||||
route: "/library/powershell.svg",
|
||||
url: "https://learn.microsoft.com/en-us/powershell/",
|
||||
},
|
||||
{
|
||||
title: 'Lottielab',
|
||||
category: 'Design',
|
||||
route: '/library/lottielab.svg',
|
||||
url: 'https://www.lottielab.com/'
|
||||
title: "Lottielab",
|
||||
category: "Design",
|
||||
route: "/library/lottielab.svg",
|
||||
url: "https://www.lottielab.com/",
|
||||
},
|
||||
{
|
||||
title: 'TanStack',
|
||||
category: ['Software', 'Library'],
|
||||
route: '/library/tanstack.svg',
|
||||
url: 'https://tanstack.com/'
|
||||
title: "TanStack",
|
||||
category: ["Software", "Library"],
|
||||
route: "/library/tanstack.svg",
|
||||
url: "https://tanstack.com/",
|
||||
},
|
||||
{
|
||||
title: 'TypeGPU',
|
||||
category: ['Software', 'Library'],
|
||||
title: "TypeGPU",
|
||||
category: ["Software", "Library"],
|
||||
route: {
|
||||
light: '/library/typegpu-light.svg',
|
||||
dark: '/library/typegpu-dark.svg'
|
||||
light: "/library/typegpu-light.svg",
|
||||
dark: "/library/typegpu-dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/typegpu-wordmark-light.svg',
|
||||
dark: '/library/typegpu-wordmark-dark.svg'
|
||||
light: "/library/typegpu-wordmark-light.svg",
|
||||
dark: "/library/typegpu-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://typegpu.com'
|
||||
url: "https://typegpu.com",
|
||||
},
|
||||
{
|
||||
title: 'dotenv',
|
||||
category: ['Config', 'Library', 'Devtool'],
|
||||
route: '/library/dotenv.svg',
|
||||
url: 'https://github.com/motdotla/dotenv'
|
||||
title: "dotenv",
|
||||
category: ["Config", "Library", "Devtool"],
|
||||
route: "/library/dotenv.svg",
|
||||
url: "https://github.com/motdotla/dotenv",
|
||||
},
|
||||
{
|
||||
title: 'dotenvx',
|
||||
category: ['Secrets', 'Config', 'Devtool'],
|
||||
route: '/library/dotenvx.svg',
|
||||
url: 'https://dotenvx.com'
|
||||
title: "dotenvx",
|
||||
category: ["Secrets", "Config", "Devtool"],
|
||||
route: "/library/dotenvx.svg",
|
||||
url: "https://dotenvx.com",
|
||||
},
|
||||
{
|
||||
title: 'Motion',
|
||||
category: 'Library',
|
||||
title: "Motion",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/motion.svg',
|
||||
dark: '/library/motion_dark.svg'
|
||||
light: "/library/motion.svg",
|
||||
dark: "/library/motion_dark.svg",
|
||||
},
|
||||
url: 'https://motion.dev/'
|
||||
url: "https://motion.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Keycloak',
|
||||
category: 'Authentication',
|
||||
route: '/library/keycloak.svg',
|
||||
url: 'https://keycloak.org'
|
||||
title: "Keycloak",
|
||||
category: "Authentication",
|
||||
route: "/library/keycloak.svg",
|
||||
url: "https://keycloak.org",
|
||||
},
|
||||
{
|
||||
title: 'DeepSeek',
|
||||
category: 'AI',
|
||||
route: '/library/deepseek.svg',
|
||||
wordmark: '/library/deepseek_wordmark.svg',
|
||||
url: 'https://deepseek.com/'
|
||||
title: "DeepSeek",
|
||||
category: "AI",
|
||||
route: "/library/deepseek.svg",
|
||||
wordmark: "/library/deepseek_wordmark.svg",
|
||||
url: "https://deepseek.com/",
|
||||
},
|
||||
{
|
||||
title: 'Shiki',
|
||||
category: 'Library',
|
||||
route: '/library/shiki.svg',
|
||||
url: 'https://shiki.style/'
|
||||
title: "Shiki",
|
||||
category: "Library",
|
||||
route: "/library/shiki.svg",
|
||||
url: "https://shiki.style/",
|
||||
},
|
||||
{
|
||||
title: 'Dropbox',
|
||||
category: ['Hosting', 'Software'],
|
||||
route: '/library/dropbox.svg',
|
||||
title: "Dropbox",
|
||||
category: ["Hosting", "Software"],
|
||||
route: "/library/dropbox.svg",
|
||||
wordmark: {
|
||||
light: '/library/dropbox_wordmark.svg',
|
||||
dark: '/library/dropbox_wordmark_dark.svg'
|
||||
light: "/library/dropbox_wordmark.svg",
|
||||
dark: "/library/dropbox_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://www.dropbox.com/',
|
||||
brandUrl: 'https://brand.dropbox.com/'
|
||||
url: "https://www.dropbox.com/",
|
||||
brandUrl: "https://brand.dropbox.com/",
|
||||
},
|
||||
{
|
||||
title: 'Open WebUI',
|
||||
category: ['AI', 'Software'],
|
||||
route: '/library/openwebui.svg',
|
||||
url: 'https://openwebui.com/'
|
||||
title: "Open WebUI",
|
||||
category: ["AI", "Software"],
|
||||
route: "/library/openwebui.svg",
|
||||
url: "https://openwebui.com/",
|
||||
},
|
||||
{
|
||||
title: 'Base UI',
|
||||
category: 'Library',
|
||||
title: "Base UI",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/base-ui.svg',
|
||||
dark: '/library/base-ui-dark.svg'
|
||||
light: "/library/base-ui.svg",
|
||||
dark: "/library/base-ui-dark.svg",
|
||||
},
|
||||
url: 'https://base-ui.com/'
|
||||
url: "https://base-ui.com/",
|
||||
},
|
||||
{
|
||||
title: 'Vercel',
|
||||
category: ['Hosting', 'Vercel'],
|
||||
title: "Vercel",
|
||||
category: ["Hosting", "Vercel"],
|
||||
route: {
|
||||
light: '/library/vercel.svg',
|
||||
dark: '/library/vercel_dark.svg'
|
||||
light: "/library/vercel.svg",
|
||||
dark: "/library/vercel_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/vercel_wordmark.svg',
|
||||
dark: '/library/vercel_wordmark_dark.svg'
|
||||
light: "/library/vercel_wordmark.svg",
|
||||
dark: "/library/vercel_wordmark_dark.svg",
|
||||
},
|
||||
brandUrl: 'https://vercel.com/geist/brands',
|
||||
url: 'https://vercel.com/'
|
||||
brandUrl: "https://vercel.com/geist/brands",
|
||||
url: "https://vercel.com/",
|
||||
},
|
||||
{
|
||||
title: 'Model Context Protocol',
|
||||
category: ['AI', 'Framework'],
|
||||
title: "Model Context Protocol",
|
||||
category: ["AI", "Framework"],
|
||||
route: {
|
||||
light: '/library/model-context-protocol-light.svg',
|
||||
dark: '/library/model-context-protocol-dark.svg'
|
||||
light: "/library/model-context-protocol-light.svg",
|
||||
dark: "/library/model-context-protocol-dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/model-context-protocol-wordmark-light.svg',
|
||||
dark: '/library/model-context-protocol-wordmark-dark.svg'
|
||||
light: "/library/model-context-protocol-wordmark-light.svg",
|
||||
dark: "/library/model-context-protocol-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://modelcontextprotocol.io/'
|
||||
url: "https://modelcontextprotocol.io/",
|
||||
},
|
||||
{
|
||||
title: 'Socket.io',
|
||||
category: 'Software',
|
||||
title: "Socket.io",
|
||||
category: "Software",
|
||||
route: {
|
||||
dark: '/library/socketio-dark.svg',
|
||||
light: '/library/socketio-light.svg'
|
||||
dark: "/library/socketio-dark.svg",
|
||||
light: "/library/socketio-light.svg",
|
||||
},
|
||||
url: 'https://socket.io/'
|
||||
url: "https://socket.io/",
|
||||
},
|
||||
{
|
||||
title: 'Ant Design',
|
||||
category: 'Library',
|
||||
route: '/library/ant-design-dark-theme.svg',
|
||||
url: 'https://ant.design/'
|
||||
title: "Ant Design",
|
||||
category: "Library",
|
||||
route: "/library/ant-design-dark-theme.svg",
|
||||
url: "https://ant.design/",
|
||||
},
|
||||
{
|
||||
title: 'VSCodium',
|
||||
category: 'Software',
|
||||
route: '/library/vscodium.svg',
|
||||
url: 'https://vscodium.com/'
|
||||
title: "VSCodium",
|
||||
category: "Software",
|
||||
route: "/library/vscodium.svg",
|
||||
url: "https://vscodium.com/",
|
||||
},
|
||||
{
|
||||
title: 'Zen Browser',
|
||||
category: 'Browser',
|
||||
title: "Zen Browser",
|
||||
category: "Browser",
|
||||
route: {
|
||||
light: '/library/zen-browser-light.svg',
|
||||
dark: '/library/zen-browser-dark.svg'
|
||||
light: "/library/zen-browser-light.svg",
|
||||
dark: "/library/zen-browser-dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/zen-browser-wordmark-light.svg',
|
||||
dark: '/library/zen-browser-wordmark-dark.svg'
|
||||
light: "/library/zen-browser-wordmark-light.svg",
|
||||
dark: "/library/zen-browser-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://zen-browser.app/'
|
||||
url: "https://zen-browser.app/",
|
||||
},
|
||||
{
|
||||
title: 'Gemini',
|
||||
category: ['Google', 'AI'],
|
||||
route: '/library/gemini.svg',
|
||||
wordmark: '/library/gemini_wordmark.svg',
|
||||
url: 'https://gemini.google.com/'
|
||||
title: "Gemini",
|
||||
category: ["Google", "AI"],
|
||||
route: "/library/gemini.svg",
|
||||
wordmark: "/library/gemini_wordmark.svg",
|
||||
url: "https://gemini.google.com/",
|
||||
},
|
||||
{
|
||||
title: 'xAI (Grok)',
|
||||
category: ['AI'],
|
||||
title: "xAI (Grok)",
|
||||
category: ["AI"],
|
||||
route: {
|
||||
light: '/library/xai_light.svg',
|
||||
dark: '/library/xai_dark.svg'
|
||||
light: "/library/xai_light.svg",
|
||||
dark: "/library/xai_dark.svg",
|
||||
},
|
||||
url: 'https://grok.com/'
|
||||
url: "https://grok.com/",
|
||||
},
|
||||
{
|
||||
title: 'Qwen',
|
||||
category: ['AI'],
|
||||
title: "Qwen",
|
||||
category: ["AI"],
|
||||
route: {
|
||||
light: '/library/qwen_light.svg',
|
||||
dark: '/library/qwen_dark.svg'
|
||||
light: "/library/qwen_light.svg",
|
||||
dark: "/library/qwen_dark.svg",
|
||||
},
|
||||
url: 'https://chat.qwenlm.ai/'
|
||||
url: "https://chat.qwenlm.ai/",
|
||||
},
|
||||
{
|
||||
title: 'Inflection AI',
|
||||
category: 'AI',
|
||||
title: "Inflection AI",
|
||||
category: "AI",
|
||||
route: {
|
||||
light: '/library/inflectionai_light.svg',
|
||||
dark: '/library/inflectionai_dark.svg'
|
||||
light: "/library/inflectionai_light.svg",
|
||||
dark: "/library/inflectionai_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/inflectionai_wordmark_light.svg',
|
||||
dark: '/library/inflectionai_wordmark_dark.svg'
|
||||
light: "/library/inflectionai_wordmark_light.svg",
|
||||
dark: "/library/inflectionai_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://inflection.ai/'
|
||||
url: "https://inflection.ai/",
|
||||
},
|
||||
{
|
||||
title: 'D3.js',
|
||||
category: 'Library',
|
||||
route: '/library/D3.svg',
|
||||
url: 'https://d3js.org/'
|
||||
title: "D3.js",
|
||||
category: "Library",
|
||||
route: "/library/D3.svg",
|
||||
url: "https://d3js.org/",
|
||||
},
|
||||
{
|
||||
title: 'Anthropic',
|
||||
category: 'AI',
|
||||
title: "Anthropic",
|
||||
category: "AI",
|
||||
route: {
|
||||
light: '/library/anthropic_black.svg',
|
||||
dark: '/library/anthropic_white.svg'
|
||||
light: "/library/anthropic_black.svg",
|
||||
dark: "/library/anthropic_white.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/anthropic_black_wordmark.svg',
|
||||
dark: '/library/anthropic_white_wordmark.svg'
|
||||
light: "/library/anthropic_black_wordmark.svg",
|
||||
dark: "/library/anthropic_white_wordmark.svg",
|
||||
},
|
||||
url: 'https://www.anthropic.com/'
|
||||
url: "https://www.anthropic.com/",
|
||||
},
|
||||
{
|
||||
title: 'Replit',
|
||||
category: 'AI',
|
||||
route: '/library/replit.svg',
|
||||
title: "Replit",
|
||||
category: "AI",
|
||||
route: "/library/replit.svg",
|
||||
wordmark: {
|
||||
light: '/library/replit-wordmark-light.svg',
|
||||
dark: '/library/replit-wordmark-dark.svg'
|
||||
light: "/library/replit-wordmark-light.svg",
|
||||
dark: "/library/replit-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://replit.com/',
|
||||
brandUrl: 'https://replit.com/brandkit'
|
||||
url: "https://replit.com/",
|
||||
brandUrl: "https://replit.com/brandkit",
|
||||
},
|
||||
{
|
||||
title: 'Magic UI',
|
||||
category: 'Library',
|
||||
route: '/library/magicui.svg',
|
||||
url: 'https://magicui.design/'
|
||||
title: "Magic UI",
|
||||
category: "Library",
|
||||
route: "/library/magicui.svg",
|
||||
url: "https://magicui.design/",
|
||||
},
|
||||
{
|
||||
title: 'Web Components',
|
||||
category: 'Library',
|
||||
route: '/library/webcomponents.svg',
|
||||
url: 'https://www.webcomponents.org/'
|
||||
title: "Web Components",
|
||||
category: "Library",
|
||||
route: "/library/webcomponents.svg",
|
||||
url: "https://www.webcomponents.org/",
|
||||
},
|
||||
{
|
||||
title: 'Designali',
|
||||
category: ['Software', 'Design'],
|
||||
route: '/library/designali.svg',
|
||||
url: 'https://designali.in'
|
||||
title: "Designali",
|
||||
category: ["Software", "Design"],
|
||||
route: "/library/designali.svg",
|
||||
url: "https://designali.in",
|
||||
},
|
||||
{
|
||||
title: 'CurseForge',
|
||||
category: ['Marketplace', 'Community'],
|
||||
title: "CurseForge",
|
||||
category: ["Marketplace", "Community"],
|
||||
route: {
|
||||
light: '/library/curseforge.svg',
|
||||
dark: '/library/curseforge-dark.svg'
|
||||
light: "/library/curseforge.svg",
|
||||
dark: "/library/curseforge-dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/curseforge-wordmark.svg',
|
||||
dark: '/library/curseforge-wordmark-dark.svg'
|
||||
light: "/library/curseforge-wordmark.svg",
|
||||
dark: "/library/curseforge-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://curseforge.com/',
|
||||
url: "https://curseforge.com/",
|
||||
brandUrl:
|
||||
'https://www.figma.com/file/YYn36CxVpcT6aPKDXIH9JG/CurseForge-Brandbook?type=design&node-id=0-1&t=dvC0gPtyP36PQdsi-0'
|
||||
"https://www.figma.com/file/YYn36CxVpcT6aPKDXIH9JG/CurseForge-Brandbook?type=design&node-id=0-1&t=dvC0gPtyP36PQdsi-0",
|
||||
},
|
||||
{
|
||||
title: 'Cursor',
|
||||
category: ['Software'],
|
||||
title: "Cursor",
|
||||
category: ["Software"],
|
||||
route: {
|
||||
light: '/library/cursor_light.svg',
|
||||
dark: '/library/cursor_dark.svg'
|
||||
light: "/library/cursor_light.svg",
|
||||
dark: "/library/cursor_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/cursor_wordmark_light.svg',
|
||||
dark: '/library/cursor_wordmark_dark.svg'
|
||||
light: "/library/cursor_wordmark_light.svg",
|
||||
dark: "/library/cursor_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://www.cursor.com'
|
||||
url: "https://www.cursor.com",
|
||||
},
|
||||
{
|
||||
title: 'Ghostty',
|
||||
category: ['Software'],
|
||||
route: '/library/ghostty.svg',
|
||||
title: "Ghostty",
|
||||
category: ["Software"],
|
||||
route: "/library/ghostty.svg",
|
||||
wordmark: {
|
||||
dark: '/library/ghostty_wordmark_dark.svg',
|
||||
light: '/library/ghostty_wordmark_light.svg'
|
||||
dark: "/library/ghostty_wordmark_dark.svg",
|
||||
light: "/library/ghostty_wordmark_light.svg",
|
||||
},
|
||||
url: 'https://ghostty.org/'
|
||||
url: "https://ghostty.org/",
|
||||
},
|
||||
{
|
||||
title: 'Better Auth',
|
||||
category: ['Authentication', 'Library'],
|
||||
title: "Better Auth",
|
||||
category: ["Authentication", "Library"],
|
||||
route: {
|
||||
light: '/library/better-auth_light.svg',
|
||||
dark: '/library/better-auth_dark.svg'
|
||||
light: "/library/better-auth_light.svg",
|
||||
dark: "/library/better-auth_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
dark: '/library/better-auth_wordmark_dark.svg',
|
||||
light: '/library/better-auth_wordmark_light.svg'
|
||||
dark: "/library/better-auth_wordmark_dark.svg",
|
||||
light: "/library/better-auth_wordmark_light.svg",
|
||||
},
|
||||
url: 'https://www.better-auth.com/'
|
||||
url: "https://www.better-auth.com/",
|
||||
},
|
||||
{
|
||||
title: 'Buy Me a Coffee',
|
||||
category: ['Software'],
|
||||
route: '/library/bmc.svg',
|
||||
brandUrl: 'https://buymeacoffee.com/brand',
|
||||
url: 'https://buymeacoffee.com/'
|
||||
title: "Buy Me a Coffee",
|
||||
category: ["Software"],
|
||||
route: "/library/bmc.svg",
|
||||
brandUrl: "https://buymeacoffee.com/brand",
|
||||
url: "https://buymeacoffee.com/",
|
||||
},
|
||||
{
|
||||
title: 'GitHub',
|
||||
category: 'Software',
|
||||
title: "GitHub",
|
||||
category: "Software",
|
||||
route: {
|
||||
light: '/library/github_light.svg',
|
||||
dark: '/library/github_dark.svg'
|
||||
light: "/library/github_light.svg",
|
||||
dark: "/library/github_dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/github_wordmark_light.svg',
|
||||
dark: '/library/github_wordmark_dark.svg'
|
||||
light: "/library/github_wordmark_light.svg",
|
||||
dark: "/library/github_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://github.com/',
|
||||
brandUrl: 'https://brand.github.com/'
|
||||
url: "https://github.com/",
|
||||
brandUrl: "https://brand.github.com/",
|
||||
},
|
||||
{
|
||||
title: 'Firebase Studio',
|
||||
category: ['AI', 'Google'],
|
||||
route: '/library/firebase-studio.svg',
|
||||
url: 'https://firebase.studio/'
|
||||
title: "Firebase Studio",
|
||||
category: ["AI", "Google"],
|
||||
route: "/library/firebase-studio.svg",
|
||||
url: "https://firebase.studio/",
|
||||
},
|
||||
{
|
||||
title: 'HeroUI',
|
||||
category: 'Library',
|
||||
title: "HeroUI",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/heroui_black.svg',
|
||||
dark: '/library/heroui_light.svg'
|
||||
light: "/library/heroui_black.svg",
|
||||
dark: "/library/heroui_light.svg",
|
||||
},
|
||||
url: 'https://www.heroui.com/'
|
||||
url: "https://www.heroui.com/",
|
||||
},
|
||||
{
|
||||
title: 'Convex',
|
||||
category: ['Database', 'Software'],
|
||||
route: '/library/convex.svg',
|
||||
title: "Convex",
|
||||
category: ["Database", "Software"],
|
||||
route: "/library/convex.svg",
|
||||
wordmark: {
|
||||
light: '/library/convex_wordmark_light.svg',
|
||||
dark: '/library/convex_wordmark_dark.svg'
|
||||
light: "/library/convex_wordmark_light.svg",
|
||||
dark: "/library/convex_wordmark_dark.svg",
|
||||
},
|
||||
url: 'https://www.convex.dev/'
|
||||
url: "https://www.convex.dev/",
|
||||
},
|
||||
{
|
||||
title: 'Clerk',
|
||||
category: ['Software', 'Authentication'],
|
||||
title: "Clerk",
|
||||
category: ["Software", "Authentication"],
|
||||
route: {
|
||||
light: '/library/clerk-light.svg',
|
||||
dark: '/library/clerk-dark.svg'
|
||||
light: "/library/clerk-light.svg",
|
||||
dark: "/library/clerk-dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/clerk-wordmark-light.svg',
|
||||
dark: '/library/clerk-wordmark-dark.svg'
|
||||
light: "/library/clerk-wordmark-light.svg",
|
||||
dark: "/library/clerk-wordmark-dark.svg",
|
||||
},
|
||||
url: 'https://clerk.com/',
|
||||
brandUrl: 'https://clerk.com/design'
|
||||
url: "https://clerk.com/",
|
||||
brandUrl: "https://clerk.com/design",
|
||||
},
|
||||
{
|
||||
title: 'Terraform',
|
||||
category: ['Software', 'Language', 'IaC'],
|
||||
route: '/library/terraform.svg',
|
||||
url: 'https://terraform.io',
|
||||
brandUrl: 'https://brand.hashicorp.com'
|
||||
title: "Terraform",
|
||||
category: ["Software", "Language", "IaC"],
|
||||
route: "/library/terraform.svg",
|
||||
url: "https://terraform.io",
|
||||
brandUrl: "https://brand.hashicorp.com",
|
||||
},
|
||||
{
|
||||
title: 'Rspack',
|
||||
category: 'Compiler',
|
||||
route: '/library/rspack.svg',
|
||||
url: 'https://rspack.rs/'
|
||||
title: "Rspack",
|
||||
category: "Compiler",
|
||||
route: "/library/rspack.svg",
|
||||
url: "https://rspack.rs/",
|
||||
},
|
||||
{
|
||||
title: 'Rsbuild',
|
||||
category: ['Devtool', 'Compiler'],
|
||||
route: '/library/rsbuild.svg',
|
||||
url: 'https://rsbuild.rs'
|
||||
title: "Rsbuild",
|
||||
category: ["Devtool", "Compiler"],
|
||||
route: "/library/rsbuild.svg",
|
||||
url: "https://rsbuild.rs",
|
||||
},
|
||||
{
|
||||
title: 'React Wheel Picker',
|
||||
category: 'Library',
|
||||
title: "React Wheel Picker",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/react-wheel-picker_light.svg',
|
||||
dark: '/library/react-wheel-picker_dark.svg'
|
||||
light: "/library/react-wheel-picker_light.svg",
|
||||
dark: "/library/react-wheel-picker_dark.svg",
|
||||
},
|
||||
url: 'https://react-wheel-picker.chanhdai.com'
|
||||
url: "https://react-wheel-picker.chanhdai.com",
|
||||
},
|
||||
{
|
||||
title: 'cPanel',
|
||||
category: 'Software',
|
||||
route: '/library/cP_orange.svg',
|
||||
wordmark: '/library/cPanel_orange_wordmark.svg',
|
||||
url: 'https://cpanel.net/',
|
||||
brandUrl: 'https://cpanel.net/company/cpanel-brand-guide/'
|
||||
title: "cPanel",
|
||||
category: "Software",
|
||||
route: "/library/cP_orange.svg",
|
||||
wordmark: "/library/cPanel_orange_wordmark.svg",
|
||||
url: "https://cpanel.net/",
|
||||
brandUrl: "https://cpanel.net/company/cpanel-brand-guide/",
|
||||
},
|
||||
{
|
||||
title: 'Lovable',
|
||||
category: 'AI',
|
||||
route: '/library/lovable.svg',
|
||||
url: 'https://lovable.dev/',
|
||||
brandUrl: 'https://lovable.dev/brand'
|
||||
title: "Lovable",
|
||||
category: "AI",
|
||||
route: "/library/lovable.svg",
|
||||
url: "https://lovable.dev/",
|
||||
brandUrl: "https://lovable.dev/brand",
|
||||
},
|
||||
{
|
||||
title: 'Mocha',
|
||||
category: 'AI',
|
||||
title: "Mocha",
|
||||
category: "AI",
|
||||
route: {
|
||||
light: '/library/mocha-light.svg',
|
||||
dark: '/library/mocha-dark.svg'
|
||||
light: "/library/mocha-light.svg",
|
||||
dark: "/library/mocha-dark.svg",
|
||||
},
|
||||
wordmark: {
|
||||
light: '/library/mocha-light_wordmark.svg',
|
||||
dark: '/library/mocha-dark_wordmark.svg'
|
||||
light: "/library/mocha-light_wordmark.svg",
|
||||
dark: "/library/mocha-dark_wordmark.svg",
|
||||
},
|
||||
url: 'https://getmocha.com/'
|
||||
url: "https://getmocha.com/",
|
||||
},
|
||||
{
|
||||
title: 'OpenRouter',
|
||||
category: 'AI',
|
||||
title: "OpenRouter",
|
||||
category: "AI",
|
||||
route: {
|
||||
light: '/library/openrouter_light.svg',
|
||||
dark: '/library/openrouter_dark.svg'
|
||||
light: "/library/openrouter_light.svg",
|
||||
dark: "/library/openrouter_dark.svg",
|
||||
},
|
||||
url: 'https://openrouter.ai/'
|
||||
url: "https://openrouter.ai/",
|
||||
},
|
||||
{
|
||||
title: 'OpenHunts',
|
||||
category: ['Platform', 'Community'],
|
||||
route: '/library/openhunts.svg',
|
||||
url: 'https://openhunts.com'
|
||||
title: "OpenHunts",
|
||||
category: ["Platform", "Community"],
|
||||
route: "/library/openhunts.svg",
|
||||
url: "https://openhunts.com",
|
||||
},
|
||||
{
|
||||
title: 'Kokonut UI',
|
||||
category: 'Library',
|
||||
title: "Kokonut UI",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/kokonutui-light.svg',
|
||||
dark: '/library/kokonutui-dark.svg'
|
||||
light: "/library/kokonutui-light.svg",
|
||||
dark: "/library/kokonutui-dark.svg",
|
||||
},
|
||||
url: 'https://kokonutui.com/'
|
||||
url: "https://kokonutui.com/",
|
||||
},
|
||||
{
|
||||
title: 'Google Cloud',
|
||||
category: ['Google', 'Hosting'],
|
||||
route: '/library/google-cloud.svg',
|
||||
url: 'https://cloud.google.com/'
|
||||
title: "Google Cloud",
|
||||
category: ["Google", "Hosting"],
|
||||
route: "/library/google-cloud.svg",
|
||||
url: "https://cloud.google.com/",
|
||||
},
|
||||
{
|
||||
title: 'Effect TS',
|
||||
category: 'Library',
|
||||
title: "Effect TS",
|
||||
category: "Library",
|
||||
route: {
|
||||
light: '/library/effect_light.svg',
|
||||
dark: '/library/effect_dark.svg'
|
||||
light: "/library/effect_light.svg",
|
||||
dark: "/library/effect_dark.svg",
|
||||
},
|
||||
url: 'https://effect.website/',
|
||||
url: "https://effect.website/",
|
||||
brandUrl:
|
||||
'https://sparkling-lancer-5bd.notion.site/Effect-logo-guidelines-14280adbc6354eaa8bd173e1bc0128a4'
|
||||
"https://sparkling-lancer-5bd.notion.site/Effect-logo-guidelines-14280adbc6354eaa8bd173e1bc0128a4",
|
||||
},
|
||||
{
|
||||
title: 'Ark UI',
|
||||
category: 'Library',
|
||||
route: '/library/ark-ui.svg',
|
||||
url: 'https://ark-ui.com/'
|
||||
title: "Ark UI",
|
||||
category: "Library",
|
||||
route: "/library/ark-ui.svg",
|
||||
url: "https://ark-ui.com/",
|
||||
},
|
||||
{
|
||||
title: 'Mantine',
|
||||
category: 'Library',
|
||||
route: '/library/mantine.svg',
|
||||
url: 'https://mantine.dev'
|
||||
title: "Mantine",
|
||||
category: "Library",
|
||||
route: "/library/mantine.svg",
|
||||
url: "https://mantine.dev",
|
||||
},
|
||||
{
|
||||
title: 'ESLint',
|
||||
category: 'Library',
|
||||
route: '/library/eslint.svg',
|
||||
url: 'https://eslint.org/'
|
||||
title: "ESLint",
|
||||
category: "Library",
|
||||
route: "/library/eslint.svg",
|
||||
url: "https://eslint.org/",
|
||||
},
|
||||
{
|
||||
title: 'PlainSignal',
|
||||
category: 'Analytics',
|
||||
route: '/library/plainsignal.svg',
|
||||
url: 'https://plainsignal.com/'
|
||||
title: "PlainSignal",
|
||||
category: "Analytics",
|
||||
route: "/library/plainsignal.svg",
|
||||
url: "https://plainsignal.com/",
|
||||
},
|
||||
{
|
||||
title: 'Heptabase',
|
||||
category: 'Software',
|
||||
route: '/library/heptabase.svg',
|
||||
url: 'https://heptabase.com/'
|
||||
}
|
||||
title: "Heptabase",
|
||||
category: "Software",
|
||||
route: "/library/heptabase.svg",
|
||||
url: "https://heptabase.com/",
|
||||
},
|
||||
];
|
||||
|
||||
+20
-11
@@ -148,17 +148,26 @@ https://api.svgl.app/svg/adobe.svg
|
||||
|
||||
```html
|
||||
// Returns:
|
||||
<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
|
||||
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>
|
||||
```
|
||||
|
||||
|
||||
+18
-15
@@ -1,37 +1,40 @@
|
||||
declare const SITE_URL: string
|
||||
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
|
||||
return;
|
||||
}
|
||||
|
||||
switch (message.type) {
|
||||
case 'EVAL': {
|
||||
const fn = eval.call(null, message.code)
|
||||
case "EVAL": {
|
||||
const fn = eval.call(null, message.code);
|
||||
|
||||
try {
|
||||
const result = await fn(figma, message.params)
|
||||
const result = await fn(figma, message.params);
|
||||
figma.ui.postMessage({
|
||||
type: 'EVAL_RESULT',
|
||||
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,
|
||||
type: "EVAL_REJECT",
|
||||
error:
|
||||
typeof e === "string"
|
||||
? e
|
||||
: e && typeof e === "object" && "message" in e
|
||||
? e.message
|
||||
: null,
|
||||
id: message.id,
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
break
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
@@ -7,12 +7,12 @@ export function copyToClipboard(value: string) {
|
||||
// @ts-ignore
|
||||
window.copy(value);
|
||||
} else {
|
||||
const area = document.createElement('textarea');
|
||||
const area = document.createElement("textarea");
|
||||
document.body.appendChild(area);
|
||||
area.value = value;
|
||||
// area.focus();
|
||||
area.select();
|
||||
const result = document.execCommand('copy');
|
||||
const result = document.execCommand("copy");
|
||||
document.body.removeChild(area);
|
||||
if (!result) {
|
||||
throw new Error();
|
||||
@@ -23,4 +23,4 @@ export function copyToClipboard(value: string) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
+37
-23
@@ -23,7 +23,7 @@
|
||||
* ```
|
||||
*/
|
||||
class FigmaAPI {
|
||||
private id = 0
|
||||
private id = 0;
|
||||
|
||||
/**
|
||||
* Run a function in the Figma plugin context. The function cannot reference
|
||||
@@ -31,50 +31,64 @@ class FigmaAPI {
|
||||
* 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> {
|
||||
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 id = this.id++;
|
||||
const cb = (event: MessageEvent) => {
|
||||
if (event.origin !== 'https://www.figma.com' && event.origin !== 'https://staging.figma.com') {
|
||||
return
|
||||
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?.type === "EVAL_RESULT") {
|
||||
if (event.data.pluginMessage.id === id) {
|
||||
window.removeEventListener('message', cb)
|
||||
resolve(event.data.pluginMessage.result)
|
||||
window.removeEventListener("message", cb);
|
||||
resolve(event.data.pluginMessage.result);
|
||||
}
|
||||
}
|
||||
|
||||
if (event.data.pluginMessage?.type === 'EVAL_REJECT') {
|
||||
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.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)
|
||||
};
|
||||
window.addEventListener("message", cb);
|
||||
|
||||
const msg = {
|
||||
pluginMessage: {
|
||||
type: 'EVAL',
|
||||
type: "EVAL",
|
||||
code: fn.toString(),
|
||||
id,
|
||||
params,
|
||||
},
|
||||
pluginId: '*',
|
||||
}
|
||||
pluginId: "*",
|
||||
};
|
||||
|
||||
;['https://www.figma.com', 'https://staging.figma.com'].forEach((origin) => {
|
||||
["https://www.figma.com", "https://staging.figma.com"].forEach(
|
||||
(origin) => {
|
||||
try {
|
||||
parent.postMessage(msg, origin)
|
||||
parent.postMessage(msg, origin);
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
console.error(e);
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export const figmaAPI = new FigmaAPI()
|
||||
export const figmaAPI = new FigmaAPI();
|
||||
|
||||
+10
-10
@@ -1,22 +1,22 @@
|
||||
import { figmaAPI } from './figma-api'
|
||||
import { figmaAPI } from "./figma-api";
|
||||
|
||||
export async function insertSVG(svgString: string) {
|
||||
if (!svgString) return
|
||||
if (!svgString) return;
|
||||
|
||||
figmaAPI.run(
|
||||
async (figma, { svgString }: { svgString: string }) => {
|
||||
const node = figma.createNodeFromSvg(svgString)
|
||||
const selectedNode = figma.currentPage.selection[0]
|
||||
const node = figma.createNodeFromSvg(svgString);
|
||||
const selectedNode = figma.currentPage.selection[0];
|
||||
|
||||
if (selectedNode) {
|
||||
node.x = selectedNode.x + selectedNode.width + 20
|
||||
node.y = selectedNode.y
|
||||
node.x = selectedNode.x + selectedNode.width + 20;
|
||||
node.y = selectedNode.y;
|
||||
}
|
||||
|
||||
figma.currentPage.appendChild(node)
|
||||
figma.currentPage.selection = [node]
|
||||
figma.viewport.scrollAndZoomIntoView([node])
|
||||
figma.currentPage.appendChild(node);
|
||||
figma.currentPage.selection = [node];
|
||||
figma.viewport.scrollAndZoomIntoView([node]);
|
||||
},
|
||||
{ svgString },
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { svgs } from './data/svgs';
|
||||
|
||||
describe('Get svgs by category', () => {
|
||||
it('should have a category named "Social"', () => {
|
||||
expect(svgs.find((svg) => svg.category === 'Social')).toBeDefined();
|
||||
});
|
||||
});
|
||||
|
||||
describe('Get a specific svg', () => {
|
||||
it('should have a svg named "Discord"', () => {
|
||||
expect(svgs.find((svg) => svg.title === 'Discord')).toBeDefined();
|
||||
});
|
||||
});
|
||||
@@ -1,5 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
|
||||
redirect(301, '/');
|
||||
</script>
|
||||
+8
-103
@@ -1,107 +1,12 @@
|
||||
<script lang="ts">
|
||||
import { page } from '$app/stores';
|
||||
import "../app.css";
|
||||
import favicon from "$lib/assets/favicon.svg";
|
||||
|
||||
// Global styles:
|
||||
import '@/styles/app.css';
|
||||
import { cn } from '@/utils/cn';
|
||||
import { ModeWatcher, mode } from 'mode-watcher';
|
||||
|
||||
// Categories:
|
||||
import type { tCategory } from '@/types/categories';
|
||||
import { svgs } from '@/data/svgs';
|
||||
import { getCategories } from '@/data';
|
||||
|
||||
// Toaster:
|
||||
import { Toaster } from 'svelte-sonner';
|
||||
|
||||
// Components for all pages:
|
||||
import Transition from '@/components/transition.svelte';
|
||||
import Warning from '@/components/warning.svelte';
|
||||
|
||||
// Layout:
|
||||
import Navbar from '@/components/navbar.svelte';
|
||||
import { sidebarCategoryCountStyles } from '@/ui/styles';
|
||||
import { sidebarItemStyles } from '@/ui/styles';
|
||||
|
||||
// Get category counts:
|
||||
const categories: tCategory[] = getCategories();
|
||||
let categoryCounts: Record<string, number> = {};
|
||||
categories.forEach((category) => {
|
||||
categoryCounts[category] = svgs.filter((svg) => svg.category.includes(category)).length;
|
||||
});
|
||||
|
||||
// Get main pathname:
|
||||
$: pathname = $page.url.pathname;
|
||||
let { children } = $props();
|
||||
</script>
|
||||
|
||||
<ModeWatcher />
|
||||
<Navbar currentPath={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-[calc(100vh-63px)] md:w-56 md:pb-0',
|
||||
'bg-white dark:bg-neutral-900',
|
||||
'opacity-95 backdrop-blur-md',
|
||||
'border-b border-neutral-200 dark:border-neutral-800 md:border-r'
|
||||
)}
|
||||
>
|
||||
<div class="md:px-3 md:py-6">
|
||||
<nav
|
||||
class="flex items-center space-x-1 overflow-y-auto px-6 pb-2 pt-2 md:mb-3 md:flex-col md:space-x-0 md:space-y-1 md:overflow-y-visible md:px-0 md:pt-0"
|
||||
>
|
||||
<a
|
||||
href="/"
|
||||
class={cn(
|
||||
sidebarItemStyles,
|
||||
pathname === '/'
|
||||
? 'bg-neutral-200 font-medium text-dark dark:bg-neutral-700/30 dark:text-white'
|
||||
: ''
|
||||
)}
|
||||
data-sveltekit-preload-data>All</a
|
||||
>
|
||||
<!-- Order alfabetically: -->
|
||||
{#each categories.sort() as category}
|
||||
<a
|
||||
href={`/directory/${category.toLowerCase()}`}
|
||||
data-sveltekit-preload-data
|
||||
class={cn(
|
||||
sidebarItemStyles,
|
||||
pathname === `/directory/${category.toLowerCase()}`
|
||||
? 'bg-neutral-200 font-medium text-dark dark:bg-neutral-700/30 dark:text-white'
|
||||
: ''
|
||||
)}
|
||||
>
|
||||
<span>{category}</span>
|
||||
<span
|
||||
class={cn(
|
||||
sidebarCategoryCountStyles,
|
||||
pathname === `/directory/${category.toLowerCase()}`
|
||||
? 'border-neutral-300 dark:border-neutral-700'
|
||||
: '',
|
||||
'hidden font-mono text-xs md:inline'
|
||||
)}>{categoryCounts[category]}</span
|
||||
>
|
||||
</a>
|
||||
{/each}
|
||||
</nav>
|
||||
</div>
|
||||
</aside>
|
||||
<div class="ml-0 pb-6 md:ml-56">
|
||||
<Warning />
|
||||
<Transition {pathname}>
|
||||
<slot />
|
||||
</Transition>
|
||||
<Toaster
|
||||
position="bottom-right"
|
||||
theme={$mode}
|
||||
class="toaster group"
|
||||
toastOptions={{
|
||||
classes: {
|
||||
toast: 'group toast dark:group-[.toaster]:bg-neutral-900 group-[.toaster]:font-sans',
|
||||
description: 'group-[.toast]:text-xs font-mono'
|
||||
}
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</main>
|
||||
<svelte:head>
|
||||
<link rel="icon" href={favicon} />
|
||||
</svelte:head>
|
||||
|
||||
{@render children?.()}
|
||||
|
||||
+5
-171
@@ -1,171 +1,5 @@
|
||||
<script lang="ts">
|
||||
import type { iSVG } from '@/types/svg';
|
||||
import { cn } from '@/utils/cn';
|
||||
import { onMount } from 'svelte';
|
||||
import { queryParam } from 'sveltekit-search-params';
|
||||
import Fuse from 'fuse.js';
|
||||
|
||||
// Get all svgs:
|
||||
import { svgsData } from '@/data';
|
||||
const allSvgs = JSON.parse(JSON.stringify(svgsData));
|
||||
|
||||
// Cache sorted arrays
|
||||
const latestSorted = [...allSvgs].sort((a, b) => b.id! - a.id!);
|
||||
const alphabeticallySorted = [...allSvgs].sort((a, b) => a.title.localeCompare(b.title));
|
||||
|
||||
// Fuzzy search setup:
|
||||
const fuse = new Fuse<iSVG>(allSvgs, {
|
||||
keys: ['title'],
|
||||
threshold: 0.35,
|
||||
ignoreLocation: true,
|
||||
isCaseSensitive: false,
|
||||
shouldSort: true
|
||||
});
|
||||
|
||||
// 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';
|
||||
|
||||
// URL params
|
||||
const searchParam = queryParam('search');
|
||||
|
||||
// Icons:
|
||||
import { ArrowDown, ArrowDownUpIcon, ArrowUpDownIcon, TrashIcon } from 'lucide-svelte';
|
||||
import { buttonStyles } from '@/ui/styles';
|
||||
|
||||
let sorted: boolean = false;
|
||||
let showAll: boolean = false;
|
||||
|
||||
// Search:
|
||||
let searchTerm = '';
|
||||
let filteredSvgs: iSVG[] = [];
|
||||
let displaySvgs: iSVG[] = [];
|
||||
let maxDisplay = 24;
|
||||
|
||||
const updateDisplaySvgs = () => {
|
||||
displaySvgs = showAll ? filteredSvgs : filteredSvgs.slice(0, maxDisplay);
|
||||
};
|
||||
|
||||
// Hybrid search strategy:
|
||||
// - Simple string matching for queries < 3 chars
|
||||
// - Fuzzy search for longer queries (handle typos and partial matches)
|
||||
const searchSvgs = () => {
|
||||
$searchParam = searchTerm || null;
|
||||
|
||||
if (!searchTerm) {
|
||||
filteredSvgs = sorted ? alphabeticallySorted : latestSorted;
|
||||
updateDisplaySvgs();
|
||||
return;
|
||||
}
|
||||
|
||||
if (searchTerm.length < 3) {
|
||||
filteredSvgs = allSvgs.filter((svg: iSVG) =>
|
||||
svg.title.toLowerCase().includes(searchTerm.toLowerCase())
|
||||
);
|
||||
} else {
|
||||
filteredSvgs = fuse.search(searchTerm).map((result) => result.item);
|
||||
}
|
||||
|
||||
updateDisplaySvgs();
|
||||
};
|
||||
|
||||
// Clear search:
|
||||
const clearSearch = () => {
|
||||
searchTerm = '';
|
||||
// Use current sort state to determine order
|
||||
filteredSvgs = sorted ? alphabeticallySorted : latestSorted;
|
||||
updateDisplaySvgs();
|
||||
};
|
||||
|
||||
// Sort:
|
||||
const sort = () => {
|
||||
sorted = !sorted;
|
||||
filteredSvgs = sorted ? alphabeticallySorted : latestSorted;
|
||||
updateDisplaySvgs();
|
||||
};
|
||||
|
||||
onMount(() => {
|
||||
if ($searchParam) {
|
||||
searchTerm = $searchParam;
|
||||
}
|
||||
searchSvgs();
|
||||
});
|
||||
|
||||
$: {
|
||||
if (showAll || filteredSvgs) {
|
||||
updateDisplaySvgs();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>A beautiful library with SVG logos - Svgl</title>
|
||||
</svelte:head>
|
||||
|
||||
<Search
|
||||
bind:searchTerm
|
||||
on:input={searchSvgs}
|
||||
clearSearch={() => clearSearch()}
|
||||
placeholder={`Search ${allSvgs.length} logos...`}
|
||||
/>
|
||||
|
||||
<Container>
|
||||
<div class={cn('mb-4 flex items-center justify-end', searchTerm.length > 0 && 'justify-between')}>
|
||||
{#if searchTerm.length > 0}
|
||||
<button
|
||||
class={cn(
|
||||
'flex items-center justify-center space-x-1 rounded-md py-1.5 text-sm font-medium opacity-80 transition-opacity hover:opacity-100',
|
||||
filteredSvgs.length === 0 && 'hidden'
|
||||
)}
|
||||
on:click={() => clearSearch()}
|
||||
>
|
||||
<TrashIcon size={16} strokeWidth={2} class="mr-1" />
|
||||
<span>Clear results</span>
|
||||
</button>
|
||||
{/if}
|
||||
<button
|
||||
class={cn(
|
||||
'flex items-center justify-center space-x-1 rounded-md py-1.5 text-sm font-medium opacity-80 transition-opacity hover:opacity-100',
|
||||
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 A-Z'}</span>
|
||||
</button>
|
||||
</div>
|
||||
<Grid>
|
||||
{#each displaySvgs as svg}
|
||||
<SvgCard svgInfo={svg} {searchTerm} />
|
||||
{/each}
|
||||
</Grid>
|
||||
{#if filteredSvgs.length > maxDisplay && !showAll}
|
||||
<div class="mt-4 flex items-center justify-center">
|
||||
<button
|
||||
class={buttonStyles}
|
||||
on:click={() => {
|
||||
showAll = true;
|
||||
updateDisplaySvgs();
|
||||
}}
|
||||
>
|
||||
<div class="relative flex items-center space-x-2">
|
||||
<ArrowDown size={16} strokeWidth={2} />
|
||||
<span>Load All SVGs</span>
|
||||
<span class="opacity-70">
|
||||
({filteredSvgs.length - maxDisplay} more)
|
||||
</span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
{/if}
|
||||
{#if filteredSvgs.length === 0}
|
||||
<NotFound notFoundTerm={searchTerm} />
|
||||
{/if}
|
||||
</Container>
|
||||
<h1>Welcome to SvelteKit</h1>
|
||||
<p>
|
||||
Visit <a href="https://svelte.dev/docs/kit">svelte.dev/docs/kit</a> to read the
|
||||
documentation
|
||||
</p>
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
<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 bg-[url('/images/hero-pattern_light.svg')] dark:bg-neutral-900 dark:bg-[url('/images/hero-pattern_dark.svg')]"
|
||||
>
|
||||
<div class="relative z-10 mx-auto max-w-screen-xl px-4 py-8 text-center lg:py-20">
|
||||
<div class="flex items-center justify-center space-x-4 text-center">
|
||||
<h1
|
||||
class="mb-4 text-4xl font-bold leading-none tracking-tight text-neutral-900 dark:text-white md:text-5xl lg:text-6xl"
|
||||
>
|
||||
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 border border-neutral-100 bg-neutral-100 px-3 py-1 font-mono text-xs font-medium backdrop-blur-3xl dark:border-neutral-800 dark:bg-neutral-900 dark:text-white"
|
||||
>
|
||||
v1
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
<p class="text-lg font-normal text-gray-500 dark:text-gray-200 sm:px-16 lg:px-48 lg:text-xl">
|
||||
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 max-w-3xl px-4 py-10',
|
||||
'prose-h2:font-medium prose-h2:tracking-tight prose-h2:underline prose-h2:decoration-neutral-300 prose-h2:underline-offset-[6px] prose-h2:transition-opacity hover:prose-h2:opacity-70 dark:prose-h2:decoration-neutral-700/65',
|
||||
'prose-pre:m-0 prose-pre:border prose-pre:border-neutral-200 dark:prose-pre:border dark:prose-pre:border-neutral-800/65',
|
||||
'prose-inline-code:rounded prose-inline-code:border prose-inline-code:border-neutral-300 prose-inline-code:bg-neutral-200/50 prose-inline-code:p-[2px] prose-inline-code:font-mono prose-inline-code:dark:border-neutral-800 prose-inline-code:dark:bg-neutral-800/50'
|
||||
)}
|
||||
>
|
||||
<svelte:component this={data.content} />
|
||||
</article>
|
||||
@@ -1,14 +0,0 @@
|
||||
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`);
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
import type { RequestEvent } from '../$types';
|
||||
|
||||
import { transform } from '@svgr/core';
|
||||
import { json, redirect } from '@sveltejs/kit';
|
||||
|
||||
import { ratelimit } from '@/server/redis';
|
||||
|
||||
// SVGR Plugins:
|
||||
import svgrJSX from '@svgr/plugin-jsx';
|
||||
|
||||
export const GET = async () => {
|
||||
return redirect(301, 'https://svgl.app/api');
|
||||
};
|
||||
|
||||
export const POST = async ({ request }: RequestEvent) => {
|
||||
try {
|
||||
const body = await request.json();
|
||||
|
||||
const svgCode = body.code;
|
||||
const typescript = body.typescript;
|
||||
const name = body.name.replace(/[^a-zA-Z0-9]/g, '');
|
||||
|
||||
const jsCode = await transform(
|
||||
svgCode,
|
||||
{
|
||||
plugins: [svgrJSX],
|
||||
icon: true,
|
||||
typescript: typescript
|
||||
},
|
||||
{ componentName: name }
|
||||
);
|
||||
|
||||
return json({ data: jsCode }, { status: 200 });
|
||||
} catch (error) {
|
||||
return json({ error: `⚠️ api/svgs/svgr - Error: ${error}` }, { status: 500 });
|
||||
}
|
||||
};
|
||||
@@ -1,16 +0,0 @@
|
||||
<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,67 +0,0 @@
|
||||
<script lang="ts">
|
||||
import type { PageData } from './$types';
|
||||
import type { iSVG } from '@/types/svg';
|
||||
import { queryParam } from 'sveltekit-search-params';
|
||||
|
||||
export let data: PageData;
|
||||
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';
|
||||
|
||||
// URL params
|
||||
const searchParam = queryParam('search');
|
||||
|
||||
// Search:
|
||||
let searchTerm = $searchParam || '';
|
||||
let filteredSvgs: iSVG[] = [];
|
||||
|
||||
if (searchTerm.length === 0) {
|
||||
filteredSvgs = svgsByCategory.sort((a: iSVG, b: iSVG) => {
|
||||
return a.title.localeCompare(b.title);
|
||||
});
|
||||
}
|
||||
|
||||
const searchSvgs = () => {
|
||||
$searchParam = searchTerm || null;
|
||||
return (filteredSvgs = svgsByCategory.filter((svg: iSVG) => {
|
||||
let svgTitle = svg.title.toLowerCase();
|
||||
return svgTitle.includes(searchTerm.toLowerCase());
|
||||
}));
|
||||
};
|
||||
|
||||
const clearSearch = () => {
|
||||
searchTerm = '';
|
||||
searchSvgs();
|
||||
};
|
||||
|
||||
if ($searchParam) {
|
||||
searchSvgs();
|
||||
}
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>{category} logos - Svgl</title>
|
||||
</svelte:head>
|
||||
|
||||
<Container>
|
||||
<Search
|
||||
bind:searchTerm
|
||||
on:input={searchSvgs}
|
||||
clearSearch={() => clearSearch()}
|
||||
placeholder={`Search ${filteredSvgs.length} ${category} logos...`}
|
||||
/>
|
||||
<Grid>
|
||||
{#each filteredSvgs as svg}
|
||||
<SvgCard svgInfo={svg} {searchTerm} />
|
||||
{/each}
|
||||
</Grid>
|
||||
{#if filteredSvgs.length === 0}
|
||||
<NotFound notFoundTerm={searchTerm} />
|
||||
{/if}
|
||||
</Container>
|
||||
@@ -1,32 +0,0 @@
|
||||
import type { PageLoad, EntryGenerator } from './$types';
|
||||
import type { iSVG } from '@/types/svg';
|
||||
|
||||
import { error } from '@sveltejs/kit';
|
||||
import { svgs } from '@/data/svgs';
|
||||
import { getCategoriesForDirectory } from '@/data';
|
||||
|
||||
export const entries: EntryGenerator = () => {
|
||||
const categories = getCategoriesForDirectory();
|
||||
return categories;
|
||||
};
|
||||
|
||||
export const load = (async ({ params }) => {
|
||||
const { slug } = params;
|
||||
|
||||
const svgsByCategory = svgs.filter((svg: iSVG) => {
|
||||
if (Array.isArray(svg.category)) {
|
||||
return svg.category.some((categoryItem) => categoryItem.toLowerCase() === slug.toLowerCase());
|
||||
} else {
|
||||
return svg.category.toLowerCase() === slug.toLowerCase();
|
||||
}
|
||||
});
|
||||
|
||||
if (svgsByCategory.length === 0) {
|
||||
throw error(404, 'Category not found');
|
||||
}
|
||||
|
||||
return {
|
||||
category: slug,
|
||||
svgs: svgsByCategory
|
||||
};
|
||||
}) satisfies PageLoad;
|
||||
@@ -1,16 +0,0 @@
|
||||
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 cleanUrl = UPSTASH_REDIS_URL.replace(/^['"]|['"]$/g, '').trim();
|
||||
|
||||
const redis = new Redis({
|
||||
url: cleanUrl,
|
||||
token: UPSTASH_REDIS_TOKEN
|
||||
});
|
||||
|
||||
export const ratelimit = new Ratelimit({
|
||||
redis: redis,
|
||||
limiter: Ratelimit.slidingWindow(Number(SVGL_API_REQUESTS), '60s'),
|
||||
analytics: true
|
||||
});
|
||||
@@ -1,83 +0,0 @@
|
||||
@tailwind base;
|
||||
@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: 'InterVariable';
|
||||
src: url('/fonts/InterVariable.woff2') format('woff2');
|
||||
font-weight: 100 900;
|
||||
font-display: swap;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'GeistMono';
|
||||
src: url('/fonts/GeistMonoVariableVF.woff2') format('woff2');
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
html.dark .shiki,
|
||||
html.dark .shiki span {
|
||||
color: var(--shiki-dark) !important;
|
||||
background-color: transparent !important;
|
||||
font-style: var(--shiki-dark-font-style) !important;
|
||||
font-weight: var(--shiki-dark-font-weight) !important;
|
||||
text-decoration: var(--shiki-dark-text-decoration) !important;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
@import "tailwindcss";
|
||||
@@ -6,7 +6,7 @@ interface AngularComponentParams {
|
||||
export function getAngularCode(params: AngularComponentParams): string {
|
||||
const updatedSvgContent = params.svgContent.replace(
|
||||
/<svg([^>]*)>/,
|
||||
`<svg$1 [attr.width]="size.width" [attr.height]="size.height">`
|
||||
`<svg$1 [attr.width]="size.width" [attr.height]="size.height">`,
|
||||
);
|
||||
|
||||
return `
|
||||
|
||||
@@ -4,11 +4,11 @@ interface AstroComponentParams {
|
||||
|
||||
export function getAstroCode({ svgContent }: AstroComponentParams): string {
|
||||
const cleanedSvg = svgContent
|
||||
.replace(/\s*(width|height)="[^"]*"/gi, '')
|
||||
.replace(/\s*(width|height)='[^']*'/gi, '')
|
||||
.replace(/\s*(width|height)=\{[^}]*\}/gi, '')
|
||||
.replace(/\s*(width|height)="[^"]*"/gi, "")
|
||||
.replace(/\s*(width|height)='[^']*'/gi, "")
|
||||
.replace(/\s*(width|height)=\{[^}]*\}/gi, "")
|
||||
.replace(/<svg([^>]*)>/i, (match, attrs) => {
|
||||
const cleanedAttrs = attrs.replace(/\s*\{?\.\.\.Astro\.props\}?\s*/i, '');
|
||||
const cleanedAttrs = attrs.replace(/\s*\{?\.\.\.Astro\.props\}?\s*/i, "");
|
||||
return `<svg ${cleanedAttrs} {...Astro.props}>`;
|
||||
});
|
||||
|
||||
|
||||
@@ -5,15 +5,15 @@ interface ReactComponentParams {
|
||||
}
|
||||
|
||||
export const getReactCode = async (
|
||||
params: ReactComponentParams
|
||||
params: ReactComponentParams,
|
||||
): Promise<{ data?: string; error?: string }> => {
|
||||
try {
|
||||
const getCode = await fetch('/api/svgs/svgr', {
|
||||
method: 'POST',
|
||||
const getCode = await fetch("/api/svgs/svgr", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
body: JSON.stringify(params)
|
||||
body: JSON.stringify(params),
|
||||
});
|
||||
const data = await getCode.json();
|
||||
return data;
|
||||
|
||||
@@ -3,7 +3,7 @@ interface SourceParams {
|
||||
}
|
||||
|
||||
export const getSource = async (params: SourceParams) => {
|
||||
const response = await fetch(params.url || '');
|
||||
const response = await fetch(params.url || "");
|
||||
const content = await response.text();
|
||||
return content;
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { parseSvgContent } from '@/utils/parseSvgContent';
|
||||
import { parseSvgContent } from "@/utils/parseSvgContent";
|
||||
|
||||
interface SvelteComponentParams {
|
||||
lang: string;
|
||||
@@ -6,8 +6,11 @@ interface SvelteComponentParams {
|
||||
}
|
||||
|
||||
export const getSvelteCode = (params: SvelteComponentParams) => {
|
||||
const { templateContent, componentStyle } = parseSvgContent(params.content, 'Svelte');
|
||||
return `<script${params.lang ? ` lang="${params.lang}"` : ''}></script>
|
||||
const { templateContent, componentStyle } = parseSvgContent(
|
||||
params.content,
|
||||
"Svelte",
|
||||
);
|
||||
return `<script${params.lang ? ` lang="${params.lang}"` : ""}></script>
|
||||
${templateContent}
|
||||
|
||||
${componentStyle}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { parseSvgContent } from '@/utils/parseSvgContent';
|
||||
import { parseSvgContent } from "@/utils/parseSvgContent";
|
||||
|
||||
interface VueComponentParams {
|
||||
lang: string;
|
||||
@@ -6,8 +6,11 @@ interface VueComponentParams {
|
||||
}
|
||||
|
||||
export const getVueCode = (params: VueComponentParams) => {
|
||||
const { templateContent, componentStyle } = parseSvgContent(params.content, 'Vue');
|
||||
return `<script setup${params.lang ? ` lang="${params.lang}"` : ''}></script>
|
||||
const { templateContent, componentStyle } = parseSvgContent(
|
||||
params.content,
|
||||
"Vue",
|
||||
);
|
||||
return `<script setup${params.lang ? ` lang="${params.lang}"` : ""}></script>
|
||||
<template>
|
||||
${templateContent}
|
||||
</template>
|
||||
|
||||
+33
-33
@@ -1,34 +1,34 @@
|
||||
export type tCategory =
|
||||
| 'All'
|
||||
| 'AI'
|
||||
| 'Software'
|
||||
| 'Hardware'
|
||||
| 'Library'
|
||||
| 'Hosting'
|
||||
| 'Framework'
|
||||
| 'Devtool'
|
||||
| 'Monorepo'
|
||||
| 'CMS'
|
||||
| 'Database'
|
||||
| 'Compiler'
|
||||
| 'Crypto'
|
||||
| 'Cybersecurity'
|
||||
| 'Social'
|
||||
| 'Entertainment'
|
||||
| 'Browser'
|
||||
| 'Language'
|
||||
| 'Education'
|
||||
| 'Design'
|
||||
| 'Community'
|
||||
| 'Marketplace'
|
||||
| 'Music'
|
||||
| 'Vercel'
|
||||
| 'Google'
|
||||
| 'Payment'
|
||||
| 'VoidZero'
|
||||
| 'Authentication'
|
||||
| 'IoT'
|
||||
| 'Config'
|
||||
| 'Secrets'
|
||||
| 'IaC'
|
||||
| 'Analytics';
|
||||
| "All"
|
||||
| "AI"
|
||||
| "Software"
|
||||
| "Hardware"
|
||||
| "Library"
|
||||
| "Hosting"
|
||||
| "Framework"
|
||||
| "Devtool"
|
||||
| "Monorepo"
|
||||
| "CMS"
|
||||
| "Database"
|
||||
| "Compiler"
|
||||
| "Crypto"
|
||||
| "Cybersecurity"
|
||||
| "Social"
|
||||
| "Entertainment"
|
||||
| "Browser"
|
||||
| "Language"
|
||||
| "Education"
|
||||
| "Design"
|
||||
| "Community"
|
||||
| "Marketplace"
|
||||
| "Music"
|
||||
| "Vercel"
|
||||
| "Google"
|
||||
| "Payment"
|
||||
| "VoidZero"
|
||||
| "Authentication"
|
||||
| "IoT"
|
||||
| "Config"
|
||||
| "Secrets"
|
||||
| "IaC"
|
||||
| "Analytics";
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import type { tCategory } from './categories';
|
||||
import type { tCategory } from "./categories";
|
||||
|
||||
export type ThemeOptions = {
|
||||
dark: string;
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { cn } from '@/utils/cn';
|
||||
import { AlertTriangleIcon, CheckCircleIcon, InfoIcon, XCircleIcon } from 'lucide-svelte';
|
||||
|
||||
type iAlertType = 'success' | 'error' | 'warning' | 'info';
|
||||
|
||||
export let type: iAlertType = 'info';
|
||||
|
||||
const icons = {
|
||||
success: CheckCircleIcon,
|
||||
error: XCircleIcon,
|
||||
warning: AlertTriangleIcon,
|
||||
info: InfoIcon
|
||||
};
|
||||
</script>
|
||||
|
||||
<div
|
||||
class={cn(
|
||||
'flex items-center space-x-3 rounded-lg border px-3 py-2 text-sm dark:border-gray-700/20 dark:text-gray-200',
|
||||
type === 'success' &&
|
||||
'border-emerald-600/20 bg-emerald-100/50 text-emerald-900 selection:bg-emerald-500/20 dark:border-emerald-500/30 dark:bg-emerald-500/10 dark:text-emerald-200 dark:selection:bg-emerald-500/30',
|
||||
type === 'error' &&
|
||||
'border-red-600/20 bg-red-100/50 text-red-900 selection:bg-red-500/20 dark:border-red-500/30 dark:bg-red-500/10 dark:text-red-200 dark:selection:bg-red-500/30',
|
||||
type === 'warning' &&
|
||||
'border-yellow-600/20 bg-yellow-100/50 text-yellow-900 selection:bg-yellow-500/20 dark:border-yellow-500/30 dark:bg-yellow-500/10 dark:text-yellow-200 dark:selection:bg-yellow-500/30',
|
||||
type === 'info' &&
|
||||
'border-blue-600/20 bg-blue-100/50 text-blue-900 selection:bg-blue-500/20 dark:border-blue-500/30 dark:bg-blue-500/10 dark:text-blue-200 dark:selection:bg-blue-500/30'
|
||||
)}
|
||||
>
|
||||
{#if icons[type]}
|
||||
<svelte:component this={icons[type]} class="flex-shrink-0" size={16} />
|
||||
{/if}
|
||||
<div>
|
||||
<slot />
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,35 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
||||
import { CheckIcon } from 'lucide-svelte';
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
type $$Props = ContextMenuPrimitive.CheckboxItemProps;
|
||||
type $$Events = ContextMenuPrimitive.CheckboxItemEvents;
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export { className as class };
|
||||
export let checked: $$Props['checked'] = undefined;
|
||||
</script>
|
||||
|
||||
<ContextMenuPrimitive.CheckboxItem
|
||||
bind:checked
|
||||
class={cn(
|
||||
'data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
|
||||
className
|
||||
)}
|
||||
{...$$restProps}
|
||||
on:click
|
||||
on:keydown
|
||||
on:focusin
|
||||
on:focusout
|
||||
on:pointerdown
|
||||
on:pointerleave
|
||||
on:pointermove
|
||||
>
|
||||
<span class="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
|
||||
<ContextMenuPrimitive.CheckboxIndicator>
|
||||
<CheckIcon class="h-4 w-4" />
|
||||
</ContextMenuPrimitive.CheckboxIndicator>
|
||||
</span>
|
||||
<slot />
|
||||
</ContextMenuPrimitive.CheckboxItem>
|
||||
@@ -1,25 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
||||
import { cn } from '@/utils/cn';
|
||||
import { flyAndScale } from '@/utils/flyAndScale';
|
||||
|
||||
type $$Props = ContextMenuPrimitive.ContentProps;
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export let transition: $$Props['transition'] = flyAndScale;
|
||||
export let transitionConfig: $$Props['transitionConfig'] = undefined;
|
||||
export { className as class };
|
||||
</script>
|
||||
|
||||
<ContextMenuPrimitive.Content
|
||||
{transition}
|
||||
{transitionConfig}
|
||||
class={cn(
|
||||
'bg-white dark:bg-neutral-900 text-popover-foreground z-50 min-w-[8rem] rounded-md border border-neutral-200 dark:border-neutral-800 p-1 shadow-md focus:outline-none',
|
||||
className
|
||||
)}
|
||||
{...$$restProps}
|
||||
on:keydown
|
||||
>
|
||||
<slot />
|
||||
</ContextMenuPrimitive.Content>
|
||||
@@ -1,31 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
type $$Props = ContextMenuPrimitive.ItemProps & {
|
||||
inset?: boolean;
|
||||
};
|
||||
type $$Events = ContextMenuPrimitive.ItemEvents;
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export let inset: $$Props['inset'] = undefined;
|
||||
export { className as class };
|
||||
</script>
|
||||
|
||||
<ContextMenuPrimitive.Item
|
||||
class={cn(
|
||||
'data-[highlighted]:bg-neutral-100 dark:data-[highlighted]:bg-neutral-800 data-[highlighted]:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 space-x-2',
|
||||
inset && 'pl-8',
|
||||
className
|
||||
)}
|
||||
{...$$restProps}
|
||||
on:click
|
||||
on:keydown
|
||||
on:focusin
|
||||
on:focusout
|
||||
on:pointerdown
|
||||
on:pointerleave
|
||||
on:pointermove
|
||||
>
|
||||
<slot />
|
||||
</ContextMenuPrimitive.Item>
|
||||
@@ -1,19 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
type $$Props = ContextMenuPrimitive.LabelProps & {
|
||||
inset?: boolean;
|
||||
};
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export let inset: $$Props['inset'] = undefined;
|
||||
export { className as class };
|
||||
</script>
|
||||
|
||||
<ContextMenuPrimitive.Label
|
||||
class={cn('text-foreground px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}
|
||||
{...$$restProps}
|
||||
>
|
||||
<slot />
|
||||
</ContextMenuPrimitive.Label>
|
||||
@@ -1,31 +0,0 @@
|
||||
import { ContextMenu as ContextMenuPrimitive } from 'bits-ui';
|
||||
|
||||
import Item from './context-menu-item.svelte';
|
||||
import Label from './context-menu-label.svelte';
|
||||
import Content from './context-menu-content.svelte';
|
||||
import CheckboxItem from './context-menu-checkbox-item.svelte';
|
||||
|
||||
const Sub = ContextMenuPrimitive.Sub;
|
||||
const Root = ContextMenuPrimitive.Root;
|
||||
const Trigger = ContextMenuPrimitive.Trigger;
|
||||
const Group = ContextMenuPrimitive.Group;
|
||||
|
||||
export {
|
||||
Sub,
|
||||
Root,
|
||||
Item,
|
||||
Label,
|
||||
Group,
|
||||
Trigger,
|
||||
Content,
|
||||
CheckboxItem,
|
||||
//
|
||||
Root as ContextMenu,
|
||||
Sub as ContextMenuSub,
|
||||
Item as ContextMenuItem,
|
||||
Label as ContextMenuLabel,
|
||||
Group as ContextMenuGroup,
|
||||
Content as ContextMenuContent,
|
||||
Trigger as ContextMenuTrigger,
|
||||
CheckboxItem as ContextMenuCheckboxItem
|
||||
};
|
||||
@@ -1,38 +0,0 @@
|
||||
<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>
|
||||
@@ -1,13 +0,0 @@
|
||||
<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>
|
||||
@@ -1,16 +0,0 @@
|
||||
<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>
|
||||
@@ -1,13 +0,0 @@
|
||||
<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>
|
||||
@@ -1,24 +0,0 @@
|
||||
<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}
|
||||
/>
|
||||
@@ -1,8 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { Dialog as DialogPrimitive } from 'bits-ui';
|
||||
type $$Props = DialogPrimitive.PortalProps;
|
||||
</script>
|
||||
|
||||
<DialogPrimitive.Portal {...$$restProps}>
|
||||
<slot />
|
||||
</DialogPrimitive.Portal>
|
||||
@@ -1,16 +0,0 @@
|
||||
<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>
|
||||
@@ -1,34 +0,0 @@
|
||||
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
|
||||
};
|
||||
@@ -1,16 +0,0 @@
|
||||
import { Popover as PopoverPrimitive } from 'bits-ui';
|
||||
import Content from './popover-content.svelte';
|
||||
const Root = PopoverPrimitive.Root;
|
||||
const Trigger = PopoverPrimitive.Trigger;
|
||||
const Close = PopoverPrimitive.Close;
|
||||
|
||||
export {
|
||||
Root,
|
||||
Content,
|
||||
Trigger,
|
||||
Close,
|
||||
Root as Popover,
|
||||
Content as PopoverContent,
|
||||
Trigger as PopoverTrigger,
|
||||
Close as PopoverClose
|
||||
};
|
||||
@@ -1,29 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { Popover as PopoverPrimitive } from 'bits-ui';
|
||||
|
||||
import { cn } from '@/utils/cn';
|
||||
import { flyAndScale } from '@/utils/flyAndScale';
|
||||
|
||||
type $$Props = PopoverPrimitive.ContentProps;
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export let transition: $$Props['transition'] = flyAndScale;
|
||||
export let transitionConfig: $$Props['transitionConfig'] = undefined;
|
||||
export let align: $$Props['align'] = 'center';
|
||||
export let sideOffset: $$Props['sideOffset'] = 4;
|
||||
export { className as class };
|
||||
</script>
|
||||
|
||||
<PopoverPrimitive.Content
|
||||
{transition}
|
||||
{transitionConfig}
|
||||
{align}
|
||||
{sideOffset}
|
||||
{...$$restProps}
|
||||
class={cn(
|
||||
'z-50 w-auto max-w-96 rounded-md border border-neutral-200 bg-white p-3 shadow-md outline-none dark:border-neutral-800 dark:bg-neutral-900',
|
||||
className
|
||||
)}
|
||||
>
|
||||
<slot />
|
||||
</PopoverPrimitive.Content>
|
||||
@@ -1,14 +0,0 @@
|
||||
export const buttonStyles =
|
||||
'flex items-center space-x-2 relative h-10 rounded-full 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 disabled:opacity-50 disabled:cursor-not-allowed';
|
||||
|
||||
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 border border-neutral-200 dark:border-neutral-800 text-neutral-600 dark:text-neutral-400 text-xs font-mono hover:underline hover:bg-neutral-200 dark:hover:bg-neutral-700/50 transition-colors duration-100';
|
||||
|
||||
export const sidebarItemStyles =
|
||||
'flex w-full items-center space-x-3 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 text-sm';
|
||||
|
||||
export const sidebarCategoryCountStyles =
|
||||
'px-2.5 py-0.5 rounded-full font-medium bg-neutral-100 dark:bg-neutral-800/50 border border-neutral-200 dark:border-neutral-800 text-neutral-600 dark:text-neutral-400 text-xs font-mono';
|
||||
@@ -1,18 +0,0 @@
|
||||
import { Tabs as TabsPrimitive } from 'bits-ui';
|
||||
import Content from './tabs-content.svelte';
|
||||
import List from './tabs-list.svelte';
|
||||
import Trigger from './tabs-trigger.svelte';
|
||||
|
||||
const Root = TabsPrimitive.Root;
|
||||
|
||||
export {
|
||||
Root,
|
||||
Content,
|
||||
List,
|
||||
Trigger,
|
||||
//
|
||||
Root as Tabs,
|
||||
Content as TabsContent,
|
||||
List as TabsList,
|
||||
Trigger as TabsTrigger
|
||||
};
|
||||
@@ -1,21 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { Tabs as TabsPrimitive } from 'bits-ui';
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
type $$Props = TabsPrimitive.ContentProps;
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export let value: $$Props['value'];
|
||||
export { className as class };
|
||||
</script>
|
||||
|
||||
<TabsPrimitive.Content
|
||||
class={cn(
|
||||
'focus-visible:ring-ring mt-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2',
|
||||
className
|
||||
)}
|
||||
{value}
|
||||
{...$$restProps}
|
||||
>
|
||||
<slot />
|
||||
</TabsPrimitive.Content>
|
||||
@@ -1,16 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { Tabs as TabsPrimitive } from 'bits-ui';
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
type $$Props = TabsPrimitive.ListProps;
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export { className as class };
|
||||
</script>
|
||||
|
||||
<TabsPrimitive.List
|
||||
class={cn('mb-2 flex flex-wrap items-center justify-center rounded-lg', className)}
|
||||
{...$$restProps}
|
||||
>
|
||||
<slot />
|
||||
</TabsPrimitive.List>
|
||||
@@ -1,25 +0,0 @@
|
||||
<script lang="ts">
|
||||
import { Tabs as TabsPrimitive } from 'bits-ui';
|
||||
import { cn } from '@/utils/cn';
|
||||
|
||||
type $$Props = TabsPrimitive.TriggerProps;
|
||||
type $$Events = TabsPrimitive.TriggerEvents;
|
||||
|
||||
let className: $$Props['class'] = undefined;
|
||||
export let value: $$Props['value'];
|
||||
export { className as class };
|
||||
</script>
|
||||
|
||||
<TabsPrimitive.Trigger
|
||||
class={cn(
|
||||
'inline-flex items-center justify-center whitespace-nowrap rounded-md px-2.5 py-1 text-sm font-medium text-neutral-500 transition-all hover:bg-neutral-300/40 hover:text-black focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral-200 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-neutral-300/40 data-[state=active]:text-black data-[state=active]:shadow dark:text-neutral-400 dark:hover:bg-neutral-800/40 dark:hover:text-white dark:focus-visible:ring-neutral-800 dark:data-[state=active]:bg-neutral-800/40 dark:data-[state=active]:text-white',
|
||||
className
|
||||
)}
|
||||
{value}
|
||||
{...$$restProps}
|
||||
on:click
|
||||
on:keydown
|
||||
on:focus
|
||||
>
|
||||
<slot />
|
||||
</TabsPrimitive.Trigger>
|
||||
@@ -1,15 +0,0 @@
|
||||
const MIMETYPE = 'text/plain';
|
||||
|
||||
export const clipboard = async (content: string) => {
|
||||
try {
|
||||
const clipboardItem = new ClipboardItem({
|
||||
[MIMETYPE]: new Blob([content], { type: MIMETYPE })
|
||||
});
|
||||
|
||||
setTimeout(async () => {
|
||||
await navigator.clipboard.write([clipboardItem]);
|
||||
}, 200);
|
||||
} catch (error) {
|
||||
await navigator.clipboard.writeText(content);
|
||||
}
|
||||
};
|
||||
@@ -1,6 +0,0 @@
|
||||
import { clsx, type ClassValue } from 'clsx';
|
||||
import { twMerge } from 'tailwind-merge';
|
||||
|
||||
export function cn(...inputs: ClassValue[]) {
|
||||
return twMerge(clsx(inputs));
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
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
|
||||
};
|
||||
};
|
||||
@@ -1,10 +0,0 @@
|
||||
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;
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
export const parseSvgContent = (content: string, framework: 'Vue' | 'Svelte') => {
|
||||
if (content.includes('<?xml')) {
|
||||
content = content.replace(/<\?xml[^>]*\?>/i, '');
|
||||
}
|
||||
// Regular expression to match <style> tags in the SVG content
|
||||
const styleTagRegex = /<style[^>]*>([\s\S]*?)<\/style>/gi;
|
||||
|
||||
// Extract styles and store them in an array
|
||||
const styles = [];
|
||||
let matched;
|
||||
while ((matched = styleTagRegex.exec(content)) !== null) {
|
||||
styles.push(matched[1]); // Add the style content (not including the style tag)
|
||||
}
|
||||
|
||||
// Remove <style> tags from the SVG content
|
||||
const templateContent = content.replace(styleTagRegex, '');
|
||||
|
||||
const componentStyle = styles.length
|
||||
? `<style${framework === 'Vue' ? ' scoped' : ''}>\n${styles.join('\n')}\n</style>`
|
||||
: '';
|
||||
|
||||
return {
|
||||
componentStyle,
|
||||
templateContent
|
||||
};
|
||||
};
|
||||
@@ -1,21 +0,0 @@
|
||||
import { optimize } from 'svgo';
|
||||
|
||||
export const getPrefixFromSvgUrl = (svgUrl: string) => {
|
||||
return svgUrl.split('/').pop()!.replace('.svg', '').split('-').join('_');
|
||||
};
|
||||
|
||||
export const prefixSvgIds = (content: string, prefix: string): string => {
|
||||
const result = optimize(content, {
|
||||
plugins: [
|
||||
{
|
||||
name: 'prefixIds',
|
||||
params: {
|
||||
prefix
|
||||
}
|
||||
}
|
||||
],
|
||||
multipass: false
|
||||
});
|
||||
|
||||
return (result as { data: string }).data;
|
||||
};
|
||||
+11
-17
@@ -1,25 +1,19 @@
|
||||
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
|
||||
import { mdsvex } from "mdsvex";
|
||||
import adapter from "@sveltejs/adapter-auto";
|
||||
import { vitePreprocess } from "@sveltejs/vite-plugin-svelte";
|
||||
|
||||
// ☁️ Adapter:
|
||||
import adapter from '@sveltejs/adapter-node';
|
||||
|
||||
// 📦 Extensions:
|
||||
import { mdsvex } from 'mdsvex';
|
||||
|
||||
// 📄 Markdown Config:
|
||||
import { mdsvexOptions } from './markdown.config.js';
|
||||
|
||||
// 🧡 Svelte config:
|
||||
/** @type {import('@sveltejs/kit').Config} */
|
||||
const config = {
|
||||
extensions: ['.svelte', '.md'],
|
||||
preprocess: [vitePreprocess(), mdsvex(mdsvexOptions)],
|
||||
// Consult https://svelte.dev/docs/kit/integrations
|
||||
// for more information about preprocessors
|
||||
preprocess: [vitePreprocess(), mdsvex()],
|
||||
kit: {
|
||||
// adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list.
|
||||
// If your environment is not supported, or you settled on a specific environment, switch out the adapter.
|
||||
// See https://svelte.dev/docs/kit/adapters for more information about adapters.
|
||||
adapter: adapter(),
|
||||
alias: {
|
||||
'@': './src/*'
|
||||
}
|
||||
}
|
||||
},
|
||||
extensions: [".svelte", ".svx"],
|
||||
};
|
||||
|
||||
export default config;
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
import type { Config } from 'tailwindcss';
|
||||
|
||||
// Plugins:
|
||||
import plugin from 'tailwindcss/plugin';
|
||||
import defaultTheme from 'tailwindcss/defaultTheme';
|
||||
import twTypography from '@tailwindcss/typography';
|
||||
|
||||
const config = {
|
||||
darkMode: 'class',
|
||||
content: ['./src/**/*.{html,js,svelte,ts}'],
|
||||
theme: {
|
||||
extend: {
|
||||
typography: {
|
||||
DEFAULT: {
|
||||
css: {
|
||||
'code::before': {
|
||||
content: '""'
|
||||
},
|
||||
'code::after': {
|
||||
content: '""'
|
||||
},
|
||||
'h1 a': {
|
||||
'text-decoration': 'none'
|
||||
},
|
||||
'h2 a': {
|
||||
'text-decoration': 'none'
|
||||
},
|
||||
blockquote: {
|
||||
'font-style': 'normal'
|
||||
}
|
||||
}
|
||||
},
|
||||
quoteless: {
|
||||
css: {
|
||||
'blockquote p:first-of-type::before': { content: 'none' },
|
||||
'blockquote p:first-of-type::after': { content: 'none' }
|
||||
}
|
||||
}
|
||||
},
|
||||
colors: {
|
||||
dark: '#161616',
|
||||
light: '#f5f5f5'
|
||||
},
|
||||
fontFamily: {
|
||||
sans: ['InterVariable', ...defaultTheme.fontFamily.sans],
|
||||
mono: ['GeistMono', ...defaultTheme.fontFamily.mono]
|
||||
},
|
||||
fontSize: {
|
||||
mini: '14px'
|
||||
}
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
twTypography,
|
||||
({ addUtilities }) => {
|
||||
addUtilities({
|
||||
'.text-balance': {
|
||||
'text-wrap': 'balance'
|
||||
}
|
||||
});
|
||||
},
|
||||
plugin(function ({ addVariant }) {
|
||||
addVariant(
|
||||
'prose-inline-code',
|
||||
'&.prose :where(:not(pre)>code):not(:where([class~="not-prose"] *))'
|
||||
);
|
||||
})
|
||||
]
|
||||
} satisfies Config;
|
||||
|
||||
export default config;
|
||||
+6
-1
@@ -9,6 +9,11 @@
|
||||
"skipLibCheck": true,
|
||||
"sourceMap": true,
|
||||
"strict": true,
|
||||
"types": ["@figma/plugin-typings"]
|
||||
"moduleResolution": "bundler"
|
||||
}
|
||||
// Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias
|
||||
// except $lib which is handled by https://svelte.dev/docs/kit/configuration#files
|
||||
//
|
||||
// To make changes to top-level options such as include and exclude, we recommend extending
|
||||
// the generated config; see https://svelte.dev/docs/kit/configuration#typescript
|
||||
}
|
||||
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
{
|
||||
"headers": [
|
||||
{
|
||||
"source": "/:all*(ttf|otf|woff|woff2)",
|
||||
"headers": [
|
||||
{
|
||||
"key": "Cache-Control",
|
||||
"value": "public, max-age=31536000, immutable"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"redirects": [
|
||||
{
|
||||
"source": "/git",
|
||||
"destination": "https://github.com/pheralb/svgl"
|
||||
},
|
||||
{
|
||||
"source": "/raycast",
|
||||
"destination": "https://www.raycast.com/1weiho/svgl"
|
||||
},
|
||||
{
|
||||
"source": "/vscode",
|
||||
"destination": "https://marketplace.visualstudio.com/items?itemName=EsteveSegura.svgl"
|
||||
},
|
||||
{
|
||||
"source": "/figma",
|
||||
"destination": "https://www.figma.com/community/plugin/1320306989350693206/svgl"
|
||||
},
|
||||
{
|
||||
"source": "/terminal",
|
||||
"destination": "https://github.com/sujjeee/svgls"
|
||||
},
|
||||
{
|
||||
"source": "/badges",
|
||||
"destination": "https://svgl-badge.vercel.app/"
|
||||
}
|
||||
]
|
||||
}
|
||||
+4
-6
@@ -1,9 +1,7 @@
|
||||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import { defineConfig } from 'vitest/config';
|
||||
import tailwindcss from "@tailwindcss/vite";
|
||||
import { sveltekit } from "@sveltejs/kit/vite";
|
||||
import { defineConfig } from "vite";
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [sveltekit()],
|
||||
test: {
|
||||
include: ['src/**/*.{test,spec}.{js,ts}']
|
||||
}
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user