Compare commits

...

11 commits

24 changed files with 667 additions and 60 deletions

35
.gitignore vendored
View file

@ -1,28 +1,21 @@
# nix env
.direnv/
# node
node_modules
# nix
.direnv
# build
dist
result
# build output
dist/
# generated type files
.astro/
# dependencies
node_modules/
# generated
.astro
.pre-commit-config.yaml
# logs
npm-debug.log*
pnpm-debug.log*
yarn-debug.log*
yarn-error.log*
*.log*
# environment variables
.env
.env.production
src/env.d.ts
# pre-commit
/.pre-commit-config.yaml
# config
.env*
templates

11
.vscode/settings.json vendored
View file

@ -3,13 +3,22 @@
"[nix]": {
"editor.defaultFormatter": "kamadorueda.alejandra"
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[jsonc]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
"[typescript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"[typescriptreact]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features"
},
"[astro]": {
"editor.defaultFormatter": "astro-build.astro-vscode"
}
}
}

View file

@ -1,11 +1,20 @@
import { defineConfig } from "astro/config";
import react from "@astrojs/react";
import tailwind from "@astrojs/tailwind";
import svgr from 'vite-plugin-svgr'
export default defineConfig({
// https://astro.build/config
site: "https://srx.digital",
server: { port: 3001 },
integrations: [react(), tailwind()],
integrations: [
react(),
tailwind()
],
vite: {
plugins: [
svgr()
],
},
devToolbar: { enabled: false },
});

View file

@ -7,7 +7,7 @@ in {
inputs',
...
}: {
packages.srx-digital = pkgs.mkYarnPackage {
packages.srx-digital = pkgs.mkYarnPackage rec {
name = "srx-digital";
src = filter {
@ -58,7 +58,7 @@ in {
runHook postBuild
'';
installPhase = "mv -v deps/srx-digital/dist \${out}";
installPhase = "mv -v deps/${name}/dist \${out}";
};
};
}

View file

@ -29,12 +29,20 @@
"@astrojs/check": "^0.5.6",
"@astrojs/react": "^3.0.10",
"@astrojs/tailwind": "^5.1.0",
"@fontsource-variable/literata": "^5.0.20",
"@fontsource-variable/manrope": "^5.0.19",
"@fontsource-variable/martian-mono": "^5.0.12",
"@types/react": "^18.2.61",
"@types/react-dom": "^18.2.19",
"astro": "^4.4.9",
"lucide-react": "^0.344.0",
"lucide-static": "^0.344.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"tailwindcss": "^3.4.1",
"typescript": "^5.3.3"
},
"devDependencies": {
"vite-plugin-svgr": "^4.2.0"
}
}

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 749 B

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" version="1.1" viewBox="0 0 160 80" enable-background="new 0 0 160 80">
<title>Das Logo formt aus den Buchstaben "s", "r", und "x" ein gleichschenkliges Dreieck mit ergänzenden Kreisen, symbolisiert die Einheit von "You, me, technology" und steht für Dynamik, Zusammenarbeit und Harmonie.</title>
<path class="wordmark" d="m14.699 0c-4.6 0-8.0988 0.89961-10.799 2.5996-2.5 1.9-3.8008 4.5008-3.8008 7.8008 0 2.8 0.90117 5 2.7012 6.5 1.8 1.6 4.6996 2.5996 8.5996 3.0996l4.9004 0.69922c2.4 0.4 4.0992 0.90156 5.1992 1.6016 1.1 0.7 1.6992 1.6988 1.6992 2.7988 0 1.8-0.79922 3.1-2.1992 4s-3.5008 1.4004-6.3008 1.4004c-2.7 0-4.8-0.49961-6.5-1.5996-1.6-1.1-2.6992-2.6-3.1992-4.5v0.19922h-5c0.2 3.5 1.5992 6.2012 4.1992 8.2012 2.5 1.9 6 2.8984 10.5 2.8984 3 0 5.5-0.39922 7.5-1.1992 2.1-0.9 3.7008-2.0996 4.8008-3.5996 1.1-1.6 1.6992-3.5012 1.6992-5.7012 0-2.8-0.89922-5-2.6992-6.5-1.7-1.5-4.6-2.4996-8.5-3.0996l-4.9004-0.69922c-2.4-0.3-4.0992-0.8-5.1992-1.5-1.1-0.7-1.7012-1.7008-1.7012-2.8008-1e-7 -1.8 0.80078-3.1 2.3008-4 1.6-0.9 3.7992-1.4004 6.6992-1.4004 2.8-1e-7 5.0012 0.60078 6.7012 1.8008 1.7 1.1 2.7988 2.8 3.2988 5h5c-0.2-3.8-1.5992-6.7008-4.1992-8.8008-2.6-2.1-6.2008-3.1992-10.801-3.1992zm49.801 0c-1.7 0-3.2 0.4-4.5 1s-2.3996 1.4996-3.0996 2.5996h-1.5996v-2.7988h-13.602v5.1992h8.5v23.699h-7.2988v5.1016h24.9v-5.1016h-12.201v-13.1c0-3.8 0.60078-6.6 1.8008-8.5 1.2-1.9 2.9988-2.9004 5.2988-2.9004 3.9 0 5.8008 2.2016 5.8008 6.6016v3.6992h5.6992v-4.5996c0-3.4-0.89961-6.1-2.5996-8-1.7-1.9-4.0996-2.9004-7.0996-2.9004zm-45.199 46.1 11.898 17.701-11.199 16.199h6.1992l8.6016-12.4 0.5-1.4004h0.5l0.5 1.4004 8.5 12.4h6.6992l-11.301-16.6 12-17.201h-6.1992l-9.5 13.5-0.5 1.4004h-0.5l-0.5-1.4004-9.0996-13.6h-6.5996z"/>
<path class="picturemark" d="m117 0c-3 0-6.0008 0.7-8.8008 2-2.7 1.3-5.1996 3.2-7.0996 5.5-1.9 2.3-3.2996 5.1-4.0996 8s-0.90078 6-0.30078 9l6.7012-11.5c1.4-2.4 3.2992-4.4008 5.6992-5.8008 2.4-1.4 5.1004-2.0996 7.9004-2.0996s5.5004 0.69961 7.9004 2.0996c2.4 1.4 4.3992 3.4008 5.6992 5.8008l6.5996 11.4c0.6-3 0.50117-6-0.29883-9-0.8-2.9-2.0996-5.7-4.0996-8-1.9-2.3-4.4016-4.2-7.1016-5.5-2.7-1.2-5.6992-1.9004-8.6992-1.9004zm-0.09961 10.4c-2.7 0-5.3008 1.1-7.3008 3-1.8 1.9-2.9004 4.4992-2.9004 7.1992 0 2 0.60117 4.0012 1.7012 5.7012 1.1 1.7 2.6996 2.9988 4.5996 3.7988 1.9 0.8 3.9004 0.99961 5.9004 0.59961 2-0.4 3.7988-1.3988 5.2988-2.7988 1.4-1.4 2.4008-3.3008 2.8008-5.3008s0.20039-4.1004-0.59961-5.9004c-0.8-1.9-2.1008-3.4996-3.8008-4.5996s-3.6992-1.6992-5.6992-1.6992zm0.19922 5.2988c1.3 0 2.6 0.5 3.5 1.5 0.9 0.8 1.4004 2.1004 1.4004 3.4004 0 1-0.30078 1.9008-0.80078 2.8008-0.5 0.8-1.2992 1.4988-2.1992 1.7988-0.9 0.4-1.9004 0.50078-2.9004 0.30078s-1.9-0.70039-2.5-1.4004c-0.7-0.7-1.2004-1.6-1.4004-2.5-0.2-1-0.09922-2.0004 0.30078-2.9004s1.0008-1.6992 1.8008-2.1992 1.7988-0.80078 2.7988-0.80078zm-14.6 9.6016-3.3008 5.5996c1.8 3.1 4.4 5.7996 7.5 7.5996s6.7008 2.8008 10.301 2.8008 7.2008-1.0008 10.301-2.8008c3.1-1.9 5.7-4.4996 7.5-7.5996l-3.3008-5.5996c-1 3.1-2.9 5.7992-5.5 7.6992s-5.8 3-9 3-6.4-1-9-3c-2.6-1.9-4.6-4.5992-5.5-7.6992zm36.9 13.5c-3.6 0-7.2008 0.89883-10.301 2.7988-3.1 1.8-5.7 4.4-7.5 7.5s-2.7988 6.7008-2.7988 10.301c0 3.6 0.99883 7.1988 2.7988 10.299h6.5c-2.5-2.8-4-6.4988-4-10.299 0-2.3 0.5-4.4996 1.5-6.5996s2.4012-3.9008 4.2012-5.3008 3.8996-2.4 6.0996-3c2.2-0.5 4.4988-0.5 6.7988 0l-3.2988-5.6992zm-44.125 0.09375c-0.22485-0.002295-0.45078-3.9e-4 -0.67578 0.00586l-3.2988 5.6992c3.2-0.7 6.4984-0.39961 9.3984 0.90039 3 1.3 5.4016 3.5008 7.1016 6.3008 1.6 2.8 2.3 6.0988 2 9.2988-0.3 3.2-1.7004 6.3012-3.9004 8.7012h6.5c1.8-3.1 2.7988-6.7008 2.7988-10.301s-0.89883-7.2008-2.7988-10.301c-1.8-3.1-4.3996-5.7-7.5996-7.5-2.8125-1.7812-6.1526-2.7703-9.5254-2.8047zm-7.4746 1.1055c-2.9 1-5.5016 2.5992-7.6016 4.6992-2.2 2.1-3.7984 4.7-4.8984 7.5s-1.5012 5.9004-1.2012 8.9004c0.3 3 1.2012 5.8996 2.7012 8.5996 1.5 2.6 3.5996 4.9016 6.0996 6.6016 2.5 1.7 5.2988 2.8984 8.2988 3.3984 3 0.5 6 0.4 9-0.5 2.9-0.8 5.6004-2.2992 7.9004-4.1992h-13.299c-2.8 0-5.5004-0.69961-7.9004-2.0996-2.4-1.3-4.3012-3.3012-5.7012-5.7012-1.4-2.4-2.0996-5.0984-2.0996-7.8984s0.69961-5.5004 2.0996-7.9004l6.6016-11.4zm58.398 0 6.6016 11.4c1.4 2.4 2.0996 5.1004 2.0996 7.9004s-0.69961 5.4984-2.0996 7.8984c-1.4 2.4-3.4008 4.4008-5.8008 5.8008s-5.1004 2.0996-7.9004 2.0996h-13.1c2.3 2 5.0004 3.4012 7.9004 4.2012s6 1 9 0.5c3-0.5 5.7988-1.7004 8.2988-3.4004 2.5-1.7 4.6016-3.9996 6.1016-6.5996 1.5-2.6 2.3992-5.5016 2.6992-8.6016 0.3-3-0.19922-5.9984-1.1992-8.8984-1-2.8-2.7004-5.4-4.9004-7.5-2.2-2.2-4.8012-3.8008-7.7012-4.8008zm-6.7988 9.1992c-2.7 0-5.3008 1.1-7.3008 3-1.9 1.9-2.9004 4.5012-2.9004 7.2012 0 2 0.60117 3.9992 1.7012 5.6992 1.1 1.7 2.6996 3.0008 4.5996 3.8008 1.9 0.8 3.9004 0.99961 5.9004 0.59961s3.7988-1.4008 5.2988-2.8008c1.4-1.4 2.4008-3.2988 2.8008-5.2988s0.20039-4.1004-0.59961-5.9004c-0.8-1.9-2.1008-3.4996-3.8008-4.5996s-3.6992-1.7012-5.6992-1.7012zm-45.072 0.003906c-1.2617 0.03125-2.5039 0.29688-3.6289 0.79688-1.9 0.8-3.4996 2.1008-4.5996 3.8008-1.1 1.7-1.6992 3.6992-1.6992 5.6992 0 2.7 1.1 5.3008 3 7.3008s4.4992 2.8984 7.1992 2.8984c2 0 4.0012-0.59922 5.7012-1.6992 1.7-1.1 2.9988-2.6996 3.7988-4.5996s0.99961-3.9004 0.59961-5.9004-1.3988-3.8008-2.7988-5.3008c-1.4-1.4-3.3008-2.3988-5.3008-2.7988-0.75-0.15-1.5145-0.21602-2.2715-0.19727zm0.27148 5.2969c1 0 2.0008 0.30078 2.8008 0.80078 0.8 0.5 1.4988 1.2992 1.7988 2.1992 0.4 0.9 0.50078 1.9004 0.30078 2.9004s-0.70039 1.8996-1.4004 2.5996c-0.7 0.7-1.5996 1.2004-2.5996 1.4004-1 0.2-2.0004 0.099218-2.9004-0.30078-0.9-0.4-1.6992-0.99883-2.1992-1.7988-0.5-0.8-0.80078-1.8008-0.80078-2.8008 0-1.3 0.5-2.6 1.5-3.5 0.9-1 2.2-1.5 3.5-1.5zm44.9 0c1.3 0 2.6 0.5 3.5 1.5 0.9 0.8 1.4004 2.1004 1.4004 3.4004 0 1-0.30078 1.8988-0.80078 2.7988-0.5 0.8-1.2992 1.5008-2.1992 1.8008-0.9 0.4-1.9004 0.50078-2.9004 0.30078s-1.9-0.70039-2.5-1.4004c-0.7-0.7-1.2004-1.6-1.4004-2.5-0.2-1-0.09922-2.0004 0.30078-2.9004s0.99883-1.6992 1.7988-2.1992c0.8-0.5 1.8008-0.80078 2.8008-0.80078z"/>
<style>
path {
fill: #28d27d;
}
</style>
</svg>

After

Width:  |  Height:  |  Size: 6 KiB

15
src/authors/swendel.json Normal file
View file

@ -0,0 +1,15 @@
{
"firstName": "Sebastian",
"lastName": "Wendel",
"bio": "His focus is on software development as well as platform and cloud engineering.",
"image": {
"default": "/images/sebastian_wendel.jpg",
"alt": "Portrait of Sebastian Wendel"
},
"social": {
"mastodon": "@swendel@srx.digital",
"linkedin": "https://www.linkedin.com/in/sebastian-wendel-935b8a9a/"
},
"chat": "swendel@srx.digital",
"homepage": "https://srx.digital/"
}

43
src/components/Footer.tsx Normal file
View file

@ -0,0 +1,43 @@
import type React from 'react'
import SRXLogo from '@srx/assets/srx-digital-logo.svg?react'
interface Props {
children?: React.ReactNode
}
const Footer: React.FC<Props> = ({ children }: Props) => {
return (
<>
<div className={'flex gap-8 flex-col justify-between md:pt-0.5 z-10 lg:col-start-2 lg:col-span-5 col-span-1'}>
<div>
<SRXLogo className={'h-8 md:h-10'} />
</div>
<div className='flex flex-col gap-6 items-start'>
{children}
</div>
</div>
<div className={'z-10 col-span-1 lg:col-span-6'}>
<h3 className={'text-xl md:text-bb-3xl font-grotesk'}>
Du möchtest mit uns zusammenarbeiten? Wir freuen uns auf deine E-Mail.
</h3>
<div className={'flex flex-col md:flex-row justify-between text-base md:text-lg leading-[1.4] mt-[11.5rem] md:mt-[17.875rem]'}>
<div>
srx digital<br />
Development & Operations<br />
</div>
<address className={'not-italic mt-8 md:mt-0'}>
Sebastian Wendel<br />
Wohlwillstraße 2<br />
20359 Hamburg<br />
</address>
</div>
</div>
</>
)
}
export default Footer

View file

@ -0,0 +1,41 @@
import React from 'react'
interface Props {
title: string
subtitle?: string
buttonCaption?: string
}
const HeroSection: React.FC<Props> = ({ title, subtitle, buttonCaption }: Props) => {
return (
<>
<div className='flex flex-col items-start pt-[18.625rem] pb-24 lg:pt-36 lg:pb-32 bg-bb-grey-200 px-5 lg:px-0 col-span-1 lg:col-span-5 lg:col-start-2'>
<h1 className='text-black font-grotesk font-medium text-[1.75rem] lg:text-5xl mt-7 leading-tight'>
{title}
</h1>
{subtitle && <p className='text-base lg:text-xl mt-6 text-bb-grey-500'>{subtitle}</p>}
{buttonCaption}
</div>
<div className='relative lg:pt-28 w-full overflow-visible bg-bb-grey-200 col-span-1 lg:col-start-8 lg:col-span-6'>
<div className={'lg:absolute h-[64vw] lg:h-[46rem] w-full overflow-hidden'}>
<picture>
<source srcSet='/images/swendel_portrait.webp' type='image/webp' />
<source srcSet='/images/swendel_portrait.jpg' type='image/jpeg' />
<img
src='/images/swendel_portrait.webp'
alt={
''
}
width={671}
height={736}
className='relative lg:top-0 -top-[18vw] w-full lg:h-full object-cover'
/>
</picture>
</div>
</div>
</>
)
}
export default HeroSection

View file

@ -0,0 +1,30 @@
import { ArrowRightIcon } from "lucide-react"
interface Props {
caption: string
className?: string
href?: string
dark?: boolean
newTab?: boolean
small?: boolean
}
const LinkButton: React.FC<Props> = ({
caption,
className,
dark = false,
href,
newTab,
small,
}: Props) => {
return (
<a href={href} className={`flex w-fit gap-2 py-4 px-5 rounded-full items-center font-medium hover:bg-opacity-75 ${dark ? 'bg-black text-white' : 'bg-white text-bb-grey-500'
} ${small ? 'py-[10px] px-4' : 'py-4 px-5'} ${className || ''}`}
{...(newTab ? { target: '_blank' } : {})}>
{caption}
<ArrowRightIcon className='h-6 w-6' />
</a>
)
}
export default LinkButton

25
src/components/Navbar.tsx Normal file
View file

@ -0,0 +1,25 @@
import type { Props } from 'astro'
import type React from 'react'
import { useState } from 'react'
import { SectionGridContainer } from '@srx/components'
import SrxLogo from '@srx/assets/srx-digital-logo.svg?react'
const Navbar: React.FC<Props> = ({ }) => {
const [navListOpen] = useState(false)
return (
<SectionGridContainer className='fixed top-0 bg-white w-full z-20 border border-b-bb-grey-200'>
<div className={`${navListOpen ? 'flex-col h-dvh' : 'flex-row'} flex justify-between lg:items-center lg:col-start-2 col-span-1 lg:col-span-11`}>
<nav className={`flex ${navListOpen ? 'flex-col h-full' : 'flex-row'} w-full justify-between items-start lg:items-center px-5 lg:px-0`}>
<div className='flex justify-between items-center w-full h-20'>
<a href={'/'}>
<SrxLogo className={'h-8'} />
</a>
</div>
</nav>
</div>
</SectionGridContainer>
)
}
export default Navbar

View file

@ -0,0 +1,37 @@
import type React from 'react'
import type { ElementType } from 'react'
interface SectionGridContainerProps {
children: React.ReactNode
className?: string
innerClassName?: string
breakpoint?: 'lg' | 'xl' | '2xl'
as?: ElementType
}
const SectionGridContainer: React.FC<SectionGridContainerProps> = ({
children,
className,
innerClassName,
breakpoint = 'lg',
as: Tag = 'section',
}) => {
const innerGridBreakpointClasses = {
lg: 'lg:grid-cols-inner lg:gap-4',
xl: 'xl:grid-cols-inner xl:gap-4',
'2xl': '2xl:grid-cols-inner 2xl:gap-4',
}
return (
<div className={`2xl:grid 2xl:grid-cols-outer 2xl:grid-wrapper ${className ?? ''}`}>
<Tag
className={`grid grid-cols-1 relative ${innerGridBreakpointClasses[breakpoint] ?? ''} ${
innerClassName || ''
}`}
>
{children}
</Tag>
</div>
)
}
export default SectionGridContainer

13
src/components/index.ts Normal file
View file

@ -0,0 +1,13 @@
import Navbar from "@srx/components/Navbar";
import HeroSection from "@srx/components/HeroSection";
import Footer from "@srx/components/Footer";
import SectionGridContainer from "@srx/components/SectionGridContainer";
import LinkButton from "@srx/components/LinkButton";
export {
Navbar,
HeroSection,
Footer,
SectionGridContainer,
LinkButton,
}

22
src/content/config.ts Normal file
View file

@ -0,0 +1,22 @@
import { z, defineCollection } from 'astro:content'
const authorCollection = defineCollection({
type: 'data',
schema: z.object({
firstName: z.string(),
lastName: z.string(),
image: z.object({
default: z.string(),
webp: z.string().optional(),
alt: z.string(),
}),
chat: z.string().optional(),
social: z.string().optional(),
homepage: z.string().optional(),
}),
})
export const collections = {
authors: authorCollection,
}

1
src/env.d.ts vendored
View file

@ -1,2 +1,3 @@
/// <reference path="../.astro/types.d.ts" />
/// <reference types="astro/client" />
/// <reference types="vite-plugin-svgr/client" />

View file

@ -1,3 +1,92 @@
---
import "@srx-styles/base.css";
import "@fontsource-variable/literata";
import "@fontsource-variable/manrope";
import "@fontsource-variable/martian-mono";
import "@srx/styles/base.css";
import { Footer, Navbar, SectionGridContainer } from "@srx/components";
interface Props {
metaTitle?: string;
metaSubtitle?: string;
metaDescription?: string;
metaImage?: string;
metaAuthors?: string[];
metaType?: string;
metaDate?: string;
metaSchema?: string;
}
const {
metaTitle = "srx digital",
metaSubtitle = "Development & Operations",
metaDescription = "",
metaImage = "https://srx.digital/srx_digital_opengraph.jpg",
metaAuthors = ["Sebastian Wendel"],
metaType = "website",
metaDate,
metaSchema,
} = Astro.props;
---
<html lang="en" class="overflow-x-hidden scroll-smooth">
<head>
<meta charset="utf-8" />
<title>{`${metaTitle} - ${metaSubtitle}`}</title>
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="generator" content={Astro.generator} />
<meta name="description" content={metaDescription} />
<meta property="og:type" content={metaType} />
<meta
name="title"
property="og:title"
content={`${metaTitle} - ${metaSubtitle}`}
/>
<meta
name="description"
property="og:description"
content={metaDescription}
/>
<meta property="og:url" content={Astro.url} />
<meta name="image" property="og:image" content={metaImage} />
{
metaDate && (
<meta
name="date"
property="og:article:published_time"
content={metaDate}
/>
)
}
{
metaAuthors?.map((author) => (
<meta
property="og:article:author"
name="author"
content={author}
/>
))
}
{
metaSchema && (
<script
type="application/ld+json"
set:html={metaSchema}
is:inline
/>
)
}
</head>
<body class="flex flex-col overflow-x-hidden pt-20">
<Navbar buttonCaption="Schreib mir!" client:only="react" />
<slot />
<SectionGridContainer
as="footer"
className="bg-bb-grey-200 overflow-y-hidden"
innerClassName="pt-20 pb-14 relative px-5 2xl:px-0 gap-y-12"
>
<Footer />
</SectionGridContainer>
</body>
</html>

View file

@ -1,18 +1,5 @@
---
import BaseLayout from "@srx-layouts/BaseLayout.astro";
import BaseLayout from "@srx/layouts/BaseLayout.astro";
---
<BaseLayout />
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width" />
<meta name="generator" content={Astro.generator} />
<title>Astro</title>
</head>
<body>
<h1>Astro</h1>
</body>
</html>

View file

@ -1,21 +1,51 @@
{
"extends": "astro/tsconfigs/strict",
"exclude": ["dist", "templates"],
"exclude": [
"dist",
"templates",
"result"
],
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@srx-components": ["src/components"],
"@srx-components/*": ["src/components/*"],
"@srx-layouts": ["src/layouts"],
"@srx-layouts/*": ["src/layouts/*"],
"@srx-pages": ["src/pages"],
"@srx-pages/*": ["src/pages/*"],
"@srx-scripts": ["src/scripts"],
"@srx-scripts/*": ["src/scripts/*"],
"@srx-styles": ["src/styles"],
"@srx-styles/*": ["src/styles/*"]
"@srx/assets": [
"src/assets"
],
"@srx/assets/*": [
"src/assets/*"
],
"@srx/components": [
"src/components"
],
"@srx/components/*": [
"src/components/*"
],
"@srx/layouts": [
"src/layouts"
],
"@srx/layouts/*": [
"src/layouts/*"
],
"@srx/pages": [
"src/pages"
],
"@srx/pages/*": [
"src/pages/*"
],
"@srx/scripts": [
"src/scripts"
],
"@srx/scripts/*": [
"src/scripts/*"
],
"@srx/styles": [
"src/styles"
],
"@srx/styles/*": [
"src/styles/*"
]
},
"jsx": "react-jsx",
"jsxImportSource": "react"
}
}
}

250
yarn.lock
View file

@ -115,7 +115,7 @@
is-wsl "^3.0.0"
which-pm-runs "^1.1.0"
"@babel/code-frame@^7.23.5":
"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.23.5":
version "7.23.5"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244"
integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==
@ -128,7 +128,7 @@
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98"
integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
"@babel/core@^7.23.3", "@babel/core@^7.23.5":
"@babel/core@^7.21.3", "@babel/core@^7.23.3", "@babel/core@^7.23.5":
version "7.24.0"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.0.tgz#56cbda6b185ae9d9bed369816a8f4423c5f2ff1b"
integrity sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==
@ -329,7 +329,7 @@
debug "^4.3.1"
globals "^11.1.0"
"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.24.0":
"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.24.0":
version "7.24.0"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf"
integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==
@ -472,6 +472,21 @@
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz#c57c8afbb4054a3ab8317591a0b7320360b444ae"
integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==
"@fontsource-variable/literata@^5.0.20":
version "5.0.20"
resolved "https://registry.yarnpkg.com/@fontsource-variable/literata/-/literata-5.0.20.tgz#6cf52fbd76b190bc21f795e559de1b3c98231521"
integrity sha512-KBUK1vIstt1nJGJxaENYGBmMaRHPZ+6q0rUCRSN9Z7FKQnUWVFOO9YIwdEDAp9j6vbyzL/txfKr/3EzjFjR17A==
"@fontsource-variable/manrope@^5.0.19":
version "5.0.19"
resolved "https://registry.yarnpkg.com/@fontsource-variable/manrope/-/manrope-5.0.19.tgz#34949aee173ab250d380412ef6150d56249883a0"
integrity sha512-1WQ1NFnS3tfZ+ZQ3nNJ6sQGpIr6RWhq/wTovlcTlmvVrd53lnmITSolq6vBSEgVef6DWNFUehEvodDcyL3O6EA==
"@fontsource-variable/martian-mono@^5.0.12":
version "5.0.12"
resolved "https://registry.yarnpkg.com/@fontsource-variable/martian-mono/-/martian-mono-5.0.12.tgz#411db8f1e5d2b467490e6acf8ace7c6ae5d93474"
integrity sha512-EkfFxXLhXenDYYkiiNLd+aPcCmmjLh9+aYmrd5axrdcQifKkWELvYUBnzHSZY2A5lf4iQMHlqIflrtBcsddpKQ==
"@isaacs/cliui@^8.0.2":
version "8.0.2"
resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
@ -547,6 +562,15 @@
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
"@rollup/pluginutils@^5.0.5":
version "5.1.0"
resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0"
integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==
dependencies:
"@types/estree" "^1.0.0"
estree-walker "^2.0.2"
picomatch "^2.3.1"
"@rollup/rollup-android-arm-eabi@4.12.0":
version "4.12.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz#38c3abd1955a3c21d492af6b1a1dca4bb1d894d6"
@ -612,6 +636,89 @@
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz#9ffdf9ed133a7464f4ae187eb9e1294413fab235"
integrity sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==
"@svgr/babel-plugin-add-jsx-attribute@8.0.0":
version "8.0.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22"
integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==
"@svgr/babel-plugin-remove-jsx-attribute@8.0.0":
version "8.0.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186"
integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==
"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0":
version "8.0.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44"
integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==
"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0":
version "8.0.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27"
integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==
"@svgr/babel-plugin-svg-dynamic-title@8.0.0":
version "8.0.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0"
integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==
"@svgr/babel-plugin-svg-em-dimensions@8.0.0":
version "8.0.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501"
integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==
"@svgr/babel-plugin-transform-react-native-svg@8.1.0":
version "8.1.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754"
integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==
"@svgr/babel-plugin-transform-svg-component@8.0.0":
version "8.0.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e"
integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==
"@svgr/babel-preset@8.1.0":
version "8.1.0"
resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece"
integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==
dependencies:
"@svgr/babel-plugin-add-jsx-attribute" "8.0.0"
"@svgr/babel-plugin-remove-jsx-attribute" "8.0.0"
"@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0"
"@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0"
"@svgr/babel-plugin-svg-dynamic-title" "8.0.0"
"@svgr/babel-plugin-svg-em-dimensions" "8.0.0"
"@svgr/babel-plugin-transform-react-native-svg" "8.1.0"
"@svgr/babel-plugin-transform-svg-component" "8.0.0"
"@svgr/core@^8.1.0":
version "8.1.0"
resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88"
integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==
dependencies:
"@babel/core" "^7.21.3"
"@svgr/babel-preset" "8.1.0"
camelcase "^6.2.0"
cosmiconfig "^8.1.3"
snake-case "^3.0.4"
"@svgr/hast-util-to-babel-ast@8.0.0":
version "8.0.0"
resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4"
integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==
dependencies:
"@babel/types" "^7.21.3"
entities "^4.4.0"
"@svgr/plugin-jsx@^8.1.0":
version "8.1.0"
resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928"
integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==
dependencies:
"@babel/core" "^7.21.3"
"@svgr/babel-preset" "8.1.0"
"@svgr/hast-util-to-babel-ast" "8.0.0"
svg-parser "^2.0.4"
"@types/babel__core@^7.20.4", "@types/babel__core@^7.20.5":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017"
@ -1127,11 +1234,21 @@ buffer@^6.0.3:
base64-js "^1.3.1"
ieee754 "^1.2.1"
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
camelcase-css@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
camelcase@^6.2.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
camelcase@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048"
@ -1302,6 +1419,16 @@ cookie@^0.6.0:
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051"
integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==
cosmiconfig@^8.1.3:
version "8.3.6"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3"
integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==
dependencies:
import-fresh "^3.3.0"
js-yaml "^4.1.0"
parse-json "^5.2.0"
path-type "^4.0.0"
cross-spawn@^7.0.0, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
@ -1391,6 +1518,14 @@ dlv@^1.1.3:
resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79"
integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
dot-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751"
integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==
dependencies:
no-case "^3.0.4"
tslib "^2.0.3"
dset@^3.1.2, dset@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.3.tgz#c194147f159841148e8e34ca41f638556d9542d2"
@ -1441,6 +1576,13 @@ entities@^4.4.0:
resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
error-ex@^1.3.1:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
dependencies:
is-arrayish "^0.2.1"
es-module-lexer@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5"
@ -1495,6 +1637,11 @@ esprima@^4.0.0:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
estree-walker@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
estree-walker@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d"
@ -1839,6 +1986,14 @@ ieee754@^1.1.13, ieee754@^1.2.1:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
import-fresh@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
dependencies:
parent-module "^1.0.0"
resolve-from "^4.0.0"
import-meta-resolve@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz#0b1195915689f60ab00f830af0f15cc841e8919e"
@ -1854,6 +2009,11 @@ ini@~1.3.0:
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
is-arrayish@^0.3.1:
version "0.3.2"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
@ -1988,6 +2148,11 @@ jsesc@^2.5.1:
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
json-parse-even-better-errors@^2.3.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
json5@^2.2.3:
version "2.2.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
@ -2072,6 +2237,13 @@ loose-envify@^1.1.0:
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
lower-case@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28"
integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
dependencies:
tslib "^2.0.3"
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@ -2091,6 +2263,16 @@ lru-cache@^6.0.0:
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3"
integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==
lucide-react@^0.344.0:
version "0.344.0"
resolved "https://registry.yarnpkg.com/lucide-react/-/lucide-react-0.344.0.tgz#fcbc7cf855e6baedbc14aab6ddca09b7c1afc46d"
integrity sha512-6YyBnn91GB45VuVT96bYCOKElbJzUHqp65vX8cDcu55MQL9T969v4dhGClpljamuI/+KMO9P6w9Acq1CVQGvIQ==
lucide-static@^0.344.0:
version "0.344.0"
resolved "https://registry.yarnpkg.com/lucide-static/-/lucide-static-0.344.0.tgz#a2ac5f4fd6f59316d4ae322a1f6115afe3ded6e3"
integrity sha512-ZHAEpjrKIJ9O6aQFSqpjsgbPizT9D6NAds9CDptWF7IEBswhuZsE+pw6O6ApgtgvI6rmxVpe8wuXT/ED+nMhuQ==
magic-string@^0.30.3:
version "0.30.7"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.7.tgz#0cecd0527d473298679da95a2d7aeb8c64048505"
@ -2632,6 +2814,14 @@ nlcst-to-string@^3.0.0:
dependencies:
"@types/nlcst" "^1.0.0"
no-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d"
integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
dependencies:
lower-case "^2.0.2"
tslib "^2.0.3"
node-abi@^3.3.0:
version "3.56.0"
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.56.0.tgz#ca807d5ff735ac6bbbd684ae3ff2debc1c2a40a7"
@ -2765,6 +2955,23 @@ p-try@^2.0.0:
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
dependencies:
callsites "^3.0.0"
parse-json@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
dependencies:
"@babel/code-frame" "^7.0.0"
error-ex "^1.3.1"
json-parse-even-better-errors "^2.3.0"
lines-and-columns "^1.1.6"
parse-latin@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/parse-latin/-/parse-latin-5.0.1.tgz#f3b4fac54d06f6a0501cf8b8ecfafa4cbb4f2f47"
@ -2819,6 +3026,11 @@ path-to-regexp@^6.2.1:
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.1.tgz#d54934d6798eb9e5ef14e7af7962c945906918e5"
integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==
path-type@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
picocolors@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
@ -3119,6 +3331,11 @@ require-directory@^2.1.1:
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
resolve@^1.1.7, resolve@^1.22.2, resolve@^1.22.4:
version "1.22.8"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
@ -3315,6 +3532,14 @@ sisteransi@^1.0.5:
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==
snake-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c"
integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==
dependencies:
dot-case "^3.0.4"
tslib "^2.0.3"
source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
@ -3457,6 +3682,11 @@ supports-preserve-symlinks-flag@^1.0.0:
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
svg-parser@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5"
integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
tailwindcss@^3.4.1:
version "3.4.1"
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.1.tgz#f512ca5d1dd4c9503c7d3d28a968f1ad8f5c839d"
@ -3572,6 +3802,11 @@ tsconfck@^3.0.0:
resolved "https://registry.yarnpkg.com/tsconfck/-/tsconfck-3.0.2.tgz#d8e279f7a049d55f207f528d13fa493e1d8e7ceb"
integrity sha512-6lWtFjwuhS3XI4HsX4Zg0izOI3FU/AI9EGVlPEUMDIhvLPMD4wkiof0WCoDgW7qY+Dy198g4d9miAqUHWHFH6Q==
tslib@^2.0.3:
version "2.6.2"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
@ -3777,6 +4012,15 @@ vfile@^6.0.0, vfile@^6.0.1:
unist-util-stringify-position "^4.0.0"
vfile-message "^4.0.0"
vite-plugin-svgr@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/vite-plugin-svgr/-/vite-plugin-svgr-4.2.0.tgz#9f3bf5206b0ec510287e56d16f1915e729bb4e6b"
integrity sha512-SC7+FfVtNQk7So0XMjrrtLAbEC8qjFPifyD7+fs/E6aaNdVde6umlVVh0QuwDLdOMu7vp5RiGFsB70nj5yo0XA==
dependencies:
"@rollup/pluginutils" "^5.0.5"
"@svgr/core" "^8.1.0"
"@svgr/plugin-jsx" "^8.1.0"
vite@^5.1.4:
version "5.1.4"
resolved "https://registry.yarnpkg.com/vite/-/vite-5.1.4.tgz#14e9d3e7a6e488f36284ef13cebe149f060bcfb6"