# Partners Section v2

> Split partners section: word-by-word GSAP heading reveal beside a framed 3x2 logo grid whose rules draw in on scroll; cells rotate between 12 dev-infra wordmarks (Vercel, Supabase, Stripe, GitHub, Clerk, Cursor, Astro, Neon, Convex, MongoDB, Sanity, Turso) with a blur swap.

A shadcn/ui block from the [@uiception](https://uiception.com) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/uiception/partners-section-v2).

- Page, with a live preview: https://shadcn.exchange/r/uiception/partners-section-v2
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/uiception/partners-section-v2-light-180397bb5279223e.png
- Registry item: https://uiception.com/r/partners-section-v2.json
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://uiception.com/r/partners-section-v2.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- npm packages: `gsap`

## Files

### `registry/new-york/blocks/partners-section-v2/page.tsx`

```tsx
import PartnersSectionV2 from "./components/partners-section-v2"

export default function Page() {
  return <PartnersSectionV2 />
}
```

### `registry/new-york/blocks/partners-section-v2/components/partners-section-v2.tsx`

```tsx
"use client"

import { useRef } from "react"

import PartnerGrid from "./partner-grid"
import { usePartnersV2Motion } from "../hooks/use-partners-v2-motion"
import { partnersSectionV2Content } from "../lib/config"
import { partners } from "../lib/partners"

import "../styles/partners-section-v2.css"

export default function PartnersSectionV2() {
  const { heading, description } = partnersSectionV2Content
  const sectionRef = useRef<HTMLElement>(null)

  usePartnersV2Motion(sectionRef)

  const words = heading.split(" ")

  return (
    <section ref={sectionRef} data-pv2-root className="py-16 md:py-24">
      <div className="mx-auto grid max-w-6xl gap-12 px-4 lg:grid-cols-12 lg:items-center lg:gap-16">
        <div className="flex flex-col gap-5 lg:col-span-5">
          <h2 className="text-3xl leading-[1.05] font-medium tracking-[-0.035em] text-balance text-foreground sm:text-4xl lg:text-5xl">
            {words.map((word, i) => (
              <span key={`${word}-${i}`}>
                <span className="-mb-[0.12em] inline-block overflow-hidden pb-[0.12em] align-top">
                  <span data-pv2-word className="inline-block">
                    {word}
                  </span>
                </span>
                {i < words.length - 1 ? " " : null}
              </span>
            ))}
          </h2>
          <p
            data-pv2-description
            className="max-w-md text-base leading-relaxed text-pretty text-muted-foreground md:text-lg"
          >
            {description}
          </p>
        </div>

        <div className="lg:col-span-7">
          <ul aria-label="Partner companies" className="sr-only">
            {partners.map((partner) => (
              <li key={partner.name}>{partner.name}</li>
            ))}
          </ul>
          <PartnerGrid />
        </div>
      </div>
    </section>
  )
}
```

### `registry/new-york/blocks/partners-section-v2/components/partner-grid.tsx`

```tsx
import { cn } from "@/lib/utils"

import PartnerCell from "./partner-cell"
import { CELL_COUNT } from "../lib/config"
import { partners, type Partner } from "../lib/partners"

const cells: Partner[][] = Array.from({ length: CELL_COUNT }, (_, i) =>
  partners.filter((_, j) => j % CELL_COUNT === i)
)

function CornerMark({ className }: { className: string }) {
  return (
    <span
      data-pv2-mark
      className={cn("absolute size-3 -translate-x-1/2 -translate-y-1/2", className)}
    >
      <span className="absolute top-1/2 left-0 h-px w-full bg-foreground" />
      <span className="absolute top-0 left-1/2 h-full w-px bg-foreground" />
    </span>
  )
}

export default function PartnerGrid() {
  return (
    <div aria-hidden data-pv2-grid className="relative">
      {/* Frame */}
      <span data-pv2-line="x" className="absolute inset-x-0 top-0 h-px bg-border" />
      <span data-pv2-line="x" className="absolute inset-x-0 bottom-0 h-px bg-border" />
      <span data-pv2-line="y" className="absolute inset-y-0 left-0 w-px bg-border" />
      <span data-pv2-line="y" className="absolute inset-y-0 right-0 w-px bg-border" />

      {/* Inner rules: 2 × 3 on mobile, 3 × 2 from md */}
      <span data-pv2-line="y" className="absolute inset-y-0 left-1/2 w-px bg-border md:hidden" />
      <span data-pv2-line="x" className="absolute inset-x-0 top-1/3 h-px bg-border md:hidden" />
      <span data-pv2-line="x" className="absolute inset-x-0 top-2/3 h-px bg-border md:hidden" />
      <span data-pv2-line="y" className="absolute inset-y-0 left-1/3 hidden w-px bg-border md:block" />
      <span data-pv2-line="y" className="absolute inset-y-0 left-2/3 hidden w-px bg-border md:block" />
      <span data-pv2-line="x" className="absolute inset-x-0 top-1/2 hidden h-px bg-border md:block" />

      <CornerMark className="top-0 left-0" />
      <CornerMark className="top-0 left-full" />
      <CornerMark className="top-full left-0" />
      <CornerMark className="top-full left-full" />

      <ul className="relative grid grid-cols-2 md:grid-cols-3">
        {cells.map((rotation) => (
          <PartnerCell key={rotation[0].name} rotation={rotation} />
        ))}
      </ul>
    </div>
  )
}
```

### `registry/new-york/blocks/partners-section-v2/components/partner-cell.tsx`

```tsx
import { cn } from "@/lib/utils"

import PartnerLogo from "./partner-logo"
import type { Partner } from "../lib/partners"

export default function PartnerCell({ rotation }: { rotation: Partner[] }) {
  return (
    <li data-pv2-cell className="group relative h-28 overflow-hidden sm:h-32 md:h-40">
      {rotation.map((partner, j) => (
        <div
          key={partner.name}
          data-pv2-layer
          className={cn(
            "absolute inset-0 flex items-center justify-center",
            j > 0 && "invisible opacity-0"
          )}
        >
          <span data-pv2-logo>
            <span className="block transition-transform duration-500 ease-out group-hover:scale-[1.06]">
              <PartnerLogo partner={partner} />
            </span>
          </span>
        </div>
      ))}
    </li>
  )
}
```

### `registry/new-york/blocks/partners-section-v2/components/partner-logo.tsx`

```tsx
import { cn } from "@/lib/utils"

import type { Partner } from "../lib/partners"

const partnerLogoShellClass =
  "inline-flex h-7 w-32 max-w-full items-center justify-center md:h-8 md:w-36"

export default function PartnerLogo({
  partner,
  className,
}: {
  partner: Partner
  className?: string
}) {
  const Light = partner.light
  const Dark = partner.dark
  const shellClass = cn(partnerLogoShellClass, className)

  if (Dark) {
    return (
      <span className={shellClass}>
        <Light className="block h-full w-full dark:hidden" aria-hidden />
        <Dark className="hidden h-full w-full dark:block" aria-hidden />
      </span>
    )
  }

  return (
    <span className={shellClass}>
      <Light className="h-full w-full" aria-hidden />
    </span>
  )
}
```

### `registry/new-york/blocks/partners-section-v2/hooks/use-partners-v2-motion.ts`

```ts
"use client"

import { type RefObject, useLayoutEffect } from "react"

import gsap from "gsap"
import { ScrollTrigger } from "gsap/ScrollTrigger"

import { motion } from "../lib/config"

gsap.registerPlugin(ScrollTrigger)

type Cell = {
  el: HTMLElement
  layers: HTMLElement[]
  current: number
  busy: boolean
}

export function usePartnersV2Motion(rootRef: RefObject<HTMLElement | null>) {
  useLayoutEffect(() => {
    const root = rootRef.current
    if (!root) return

    const mm = gsap.matchMedia()

    mm.add("(prefers-reduced-motion: no-preference)", () => {
      const q = (selector: string) =>
        Array.from(root.querySelectorAll<HTMLElement>(selector))

      const words = q("[data-pv2-word]")
      const description = q("[data-pv2-description]")
      const linesX = q('[data-pv2-line="x"]')
      const linesY = q('[data-pv2-line="y"]')
      const marks = q("[data-pv2-mark]")
      const cells: Cell[] = q("[data-pv2-cell]").map((el) => ({
        el,
        layers: Array.from(el.querySelectorAll<HTMLElement>("[data-pv2-layer]")),
        current: 0,
        busy: false,
      }))
      const allLayers = cells.flatMap((cell) => cell.layers)
      const firstLogos = cells
        .map((cell) => cell.layers[0]?.querySelector<HTMLElement>("[data-pv2-logo]"))
        .filter((el): el is HTMLElement => Boolean(el))

      gsap.set(words, { yPercent: 110 })
      gsap.set(description, { autoAlpha: 0, y: 16 })
      gsap.set(linesX, { scaleX: 0, transformOrigin: "left center" })
      gsap.set(linesY, { scaleY: 0, transformOrigin: "center top" })
      gsap.set(marks, { autoAlpha: 0, scale: 0.3, rotate: -90 })
      gsap.set(firstLogos, { autoAlpha: 0, yPercent: 40, filter: "blur(8px)" })
      root.dataset.pv2Ready = ""

      // Touch browsers keep :hover on the last tapped element, which would
      // freeze that cell, so only honor hover on devices that can hover.
      const canHover = window.matchMedia("(hover: hover)").matches

      let inView = false
      let introDone = false
      let lastCell = -1
      let nextSwap: gsap.core.Tween | null = null

      // Swap one random cell to its next logo. Skips the cell that just
      // swapped, any cell mid-swap, and the cell under the pointer.
      const swap = () => {
        const candidates = cells.filter(
          (cell, i) =>
            i !== lastCell &&
            !cell.busy &&
            cell.layers.length > 1 &&
            !(canHover && cell.el.matches(":hover"))
        )
        if (!candidates.length) return

        const cell = candidates[Math.floor(Math.random() * candidates.length)]
        lastCell = cells.indexOf(cell)

        const outgoing = cell.layers[cell.current]
        cell.current = (cell.current + 1) % cell.layers.length
        const incoming = cell.layers[cell.current]
        cell.busy = true

        const d = motion.swapDuration
        const tl = gsap.timeline({
          onComplete: () => {
            cell.busy = false
          },
        })

        tl.to(
          outgoing,
          {
            yPercent: -60,
            autoAlpha: 0,
            filter: "blur(8px)",
            duration: d * 0.55,
            ease: "power3.in",
          },
          0
        ).fromTo(
          incoming,
          { yPercent: 60, autoAlpha: 0, filter: "blur(8px)" },
          {
            yPercent: 0,
            autoAlpha: 1,
            filter: "blur(0px)",
            duration: d * 0.75,
            ease: "power3.out",
          },
          d * 0.4
        )
      }

      const loop = () => {
        swap()
        nextSwap = gsap.delayedCall(motion.swapInterval, loop)
      }

      const start = () => {
        if (nextSwap || !introDone || !inView) return
        nextSwap = gsap.delayedCall(motion.swapInterval, loop)
      }

      const stop = () => {
        nextSwap?.kill()
        nextSwap = null
      }

      const intro = gsap.timeline({
        paused: true,
        defaults: { ease: "power3.out" },
        onComplete: () => {
          introDone = true
          start()
        },
      })

      // Title, then description, then the grid once both have mostly landed.
      intro
        .to(words, { yPercent: 0, duration: 0.9, stagger: 0.05, ease: "power4.out" })
        .to(description, { autoAlpha: 1, y: 0, duration: 0.7 }, 0.45)
        .addLabel("grid", "-=0.2")
        .to(linesX, { scaleX: 1, duration: 1.1, stagger: 0.07, ease: "expo.inOut" }, "grid")
        .to(linesY, { scaleY: 1, duration: 1.1, stagger: 0.07, ease: "expo.inOut" }, "grid+=0.1")
        .to(
          firstLogos,
          {
            autoAlpha: 1,
            yPercent: 0,
            filter: "blur(0px)",
            duration: 0.8,
            stagger: { each: 0.07, from: "random" },
            clearProps: "transform,filter",
          },
          "grid+=0.5"
        )
        .to(
          marks,
          { autoAlpha: 1, scale: 1, rotate: 0, duration: 0.6, stagger: 0.06, ease: "back.out(2)" },
          "grid+=0.6"
        )

      ScrollTrigger.create({
        trigger: root,
        start: "top 80%",
        end: "bottom top",
        onEnter: () => intro.play(),
        onEnterBack: () => intro.play(),
        onToggle: (self) => {
          inView = self.isActive
          if (inView) start()
          else stop()
        },
      })

      // Swap timelines are created after this callback returns, so
      // matchMedia's revert doesn't track them — clean them up by hand.
      return () => {
        stop()
        gsap.killTweensOf(allLayers)
        gsap.set(allLayers, { clearProps: "all" })
        delete root.dataset.pv2Ready
      }
    })

    return () => mm.revert()
  }, [rootRef])
}
```

### `registry/new-york/blocks/partners-section-v2/lib/config.ts`

```ts
export const partnersSectionV2Content = {
  heading: "We work with the companies developers build on",
  description:
    "Our partners make the tools developers use to write code and run it in production.",
} as const

/** Number of logo cells in the grid. Each cell rotates through `partners.length / CELL_COUNT` logos. */
export const CELL_COUNT = 6

export const motion = {
  /** Pause between one cell swap and the next (seconds). */
  swapInterval: 1.6,
  /** Duration of a single logo swap (seconds). */
  swapDuration: 0.7,
} as const
```

### `registry/new-york/blocks/partners-section-v2/lib/partners.ts`

```ts
import type { ComponentType, SVGProps } from "react"

import { VercelWordmark } from "@/components/ui/svgs/vercelWordmark"
import { VercelWordmarkDark } from "@/components/ui/svgs/vercelWordmarkDark"
import { StripeWordmark } from "@/components/ui/svgs/stripeWordmark"
import { StripeWordmarkDark } from "@/components/ui/svgs/stripeWordmarkDark"
import { SupabaseWordmarkLight } from "@/components/ui/svgs/supabaseWordmarkLight"
import { SupabaseWordmarkDark } from "@/components/ui/svgs/supabaseWordmarkDark"
import { GithubWordmarkLight } from "@/components/ui/svgs/githubWordmarkLight"
import { GithubWordmarkDark } from "@/components/ui/svgs/githubWordmarkDark"
import { CursorWordmarkLight } from "@/components/ui/svgs/cursorWordmarkLight"
import { CursorWordmarkDark } from "@/components/ui/svgs/cursorWordmarkDark"
import { NeonWordmarkLight } from "@/components/ui/svgs/neonWordmarkLight"
import { NeonWordmarkDark } from "@/components/ui/svgs/neonWordmarkDark"
import { ConvexWordmarkLight } from "@/components/ui/svgs/convexWordmarkLight"
import { ConvexWordmarkDark } from "@/components/ui/svgs/convexWordmarkDark"
import { clerkWordmarkLight } from "@/components/ui/svgs/clerkWordmarkLight"
import { clerkWordmarkDark } from "@/components/ui/svgs/clerkWordmarkDark"
import { SanityWordmarkLight } from "@/components/ui/svgs/sanityWordmarkLight"
import { SanityWordmarkDark } from "@/components/ui/svgs/sanityWordmarkDark"
import { MongodbWordmarkLight } from "@/components/ui/svgs/mongodbWordmarkLight"
import { MongodbWordmarkDark } from "@/components/ui/svgs/mongodbWordmarkDark"
import { TursoWordmarkLight } from "@/components/ui/svgs/tursoWordmarkLight"
import { TursoWordmarkDark } from "@/components/ui/svgs/tursoWordmarkDark"
import { AstroWordmarkLight } from "@/components/ui/svgs/astroWordmarkLight"
import { AstroWordmarkDark } from "@/components/ui/svgs/astroWordmarkDark"

export type SvgComponent = ComponentType<SVGProps<SVGSVGElement>>

export type Partner = {
  name: string
  light: SvgComponent
  dark?: SvgComponent
}

/**
 * Cell `i` rotates through partners `i`, `i + CELL_COUNT`, ...
 * so the first row of six is what renders on first paint.
 */
export const partners: Partner[] = [
  { name: "Vercel",   light: VercelWordmark,        dark: VercelWordmarkDark },
  { name: "Supabase", light: SupabaseWordmarkLight, dark: SupabaseWordmarkDark },
  { name: "Stripe",   light: StripeWordmark,        dark: StripeWordmarkDark },
  { name: "GitHub",   light: GithubWordmarkLight,   dark: GithubWordmarkDark },
  { name: "Clerk",    light: clerkWordmarkLight,    dark: clerkWordmarkDark },
  { name: "Cursor",   light: CursorWordmarkLight,   dark: CursorWordmarkDark },
  { name: "Astro",    light: AstroWordmarkLight,    dark: AstroWordmarkDark },
  { name: "Neon",     light: NeonWordmarkLight,     dark: NeonWordmarkDark },
  { name: "Convex",   light: ConvexWordmarkLight,   dark: ConvexWordmarkDark },
  { name: "MongoDB",  light: MongodbWordmarkLight,  dark: MongodbWordmarkDark },
  { name: "Sanity",   light: SanityWordmarkLight,   dark: SanityWordmarkDark },
  { name: "Turso",    light: TursoWordmarkLight,    dark: TursoWordmarkDark },
]
```

### `registry/new-york/blocks/partners-section-v2/styles/partners-section-v2.css`

```css
/* Server HTML would paint these before GSAP sets their intro state, so keep
   them hidden until the motion hook marks the section ready. */
@media (prefers-reduced-motion: no-preference) {
  [data-pv2-root]:not([data-pv2-ready]) :is([data-pv2-word], [data-pv2-description], [data-pv2-grid]) {
    visibility: hidden;
  }
}
```

### `components/ui/svgs/vercelWordmark.tsx`

```tsx
import type { SVGProps } from "react";

const VercelWordmark = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} aria-label="Vercel logotype" viewBox="0 0 262 52">
    <path
      d="M59.8019 52L29.9019 0L0.00190544 52H59.8019ZM89.9593 49.6328L114.947 2.36365H104.139L86.9018 36.6921L69.6647 2.36365H58.8564L83.8442 49.6328H89.9593ZM260.25 2.36365V49.6329H251.302V2.36365H260.25ZM210.442 31.99C210.442 28.3062 211.211 25.0661 212.749 22.2699C214.287 19.4737 216.431 17.321 219.181 15.812C221.93 14.3029 225.146 13.5484 228.828 13.5484C232.09 13.5484 235.026 14.2585 237.636 15.6788C240.245 17.0991 242.319 19.2074 243.857 22.0036C245.395 24.7998 246.187 28.2174 246.234 32.2564V34.3202H219.88C220.066 37.2496 220.928 39.5576 222.466 41.2442C224.051 42.8864 226.171 43.7075 228.828 43.7075C230.505 43.7075 232.043 43.2637 233.441 42.376C234.839 41.4883 235.888 40.2899 236.587 38.7808L245.745 39.4466C244.626 42.7754 242.529 45.4385 239.453 47.4358C236.377 49.4331 232.835 50.4317 228.828 50.4317C225.146 50.4317 221.93 49.6772 219.181 48.1681C216.431 46.6591 214.287 44.5064 212.749 41.7102C211.211 38.914 210.442 35.6739 210.442 31.99ZM237.006 28.6612C236.68 25.7762 235.771 23.668 234.28 22.3365C232.789 20.9606 230.971 20.2726 228.828 20.2726C226.358 20.2726 224.354 21.0049 222.816 22.4696C221.278 23.9343 220.322 25.9982 219.95 28.6612H237.006ZM195.347 22.3365C196.838 23.5348 197.77 25.1993 198.143 27.3297L207.371 26.8637C207.044 24.1562 206.089 21.8039 204.505 19.8066C202.92 17.8093 200.869 16.278 198.353 15.2128C195.883 14.1032 193.157 13.5484 190.174 13.5484C186.492 13.5484 183.277 14.3029 180.527 15.812C177.777 17.321 175.634 19.4737 174.096 22.2699C172.558 25.0661 171.789 28.3062 171.789 31.99C171.789 35.6739 172.558 38.914 174.096 41.7102C175.634 44.5064 177.777 46.6591 180.527 48.1681C183.277 49.6772 186.492 50.4317 190.174 50.4317C193.25 50.4317 196.046 49.8769 198.563 48.7673C201.079 47.6133 203.13 45.9933 204.714 43.9072C206.299 41.8212 207.254 39.38 207.58 36.5838L198.283 36.1844C197.957 38.5367 197.048 40.3565 195.557 41.6436C194.065 42.8864 192.271 43.5078 190.174 43.5078C187.285 43.5078 185.048 42.5091 183.463 40.5118C181.879 38.5145 181.086 35.6739 181.086 31.99C181.086 28.3062 181.879 25.4656 183.463 23.4683C185.048 21.471 187.285 20.4723 190.174 20.4723C192.178 20.4723 193.902 21.0937 195.347 22.3365ZM149.955 14.3457H158.281L158.522 21.1369C159.113 19.2146 159.935 17.7218 160.988 16.6585C162.514 15.1166 164.642 14.3457 167.371 14.3457H170.771V21.6146H167.302C165.359 21.6146 163.763 21.8789 162.514 22.4075C161.311 22.9362 160.386 23.7732 159.739 24.9186C159.137 26.064 158.837 27.5178 158.837 29.2799V49.6328H149.955V14.3457ZM111.548 22.2699C110.01 25.0661 109.241 28.3062 109.241 31.99C109.241 35.6739 110.01 38.914 111.548 41.7102C113.086 44.5064 115.229 46.6591 117.979 48.1681C120.729 49.6772 123.944 50.4317 127.626 50.4317C131.634 50.4317 135.176 49.4331 138.252 47.4358C141.327 45.4385 143.425 42.7754 144.543 39.4466L135.385 38.7808C134.686 40.2899 133.638 41.4883 132.24 42.376C130.842 43.2637 129.304 43.7075 127.626 43.7075C124.97 43.7075 122.849 42.8864 121.265 41.2442C119.727 39.5576 118.865 37.2496 118.678 34.3202H145.032V32.2564C144.986 28.2174 144.194 24.7998 142.656 22.0036C141.118 19.2074 139.044 17.0991 136.434 15.6788C133.824 14.2585 130.888 13.5484 127.626 13.5484C123.944 13.5484 120.729 14.3029 117.979 15.812C115.229 17.321 113.086 19.4737 111.548 22.2699ZM133.079 22.3365C134.57 23.668 135.479 25.7762 135.805 28.6612H118.748C119.121 25.9982 120.076 23.9343 121.614 22.4696C123.152 21.0049 125.156 20.2726 127.626 20.2726C129.77 20.2726 131.587 20.9606 133.079 22.3365Z"
      fill="black"
    />
  </svg>
);

export { VercelWordmark };
```

### `components/ui/svgs/vercelWordmarkDark.tsx`

```tsx
import type { SVGProps } from "react";

const VercelWordmarkDark = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} aria-label="Vercel logotype" viewBox="0 0 262 52">
    <path
      d="M59.8019 52L29.9019 0L0.00190544 52H59.8019ZM89.9593 49.6328L114.947 2.36365H104.139L86.9018 36.6921L69.6647 2.36365H58.8564L83.8442 49.6328H89.9593ZM260.25 2.36365V49.6329H251.302V2.36365H260.25ZM210.442 31.99C210.442 28.3062 211.211 25.0661 212.749 22.2699C214.287 19.4737 216.431 17.321 219.181 15.812C221.93 14.3029 225.146 13.5484 228.828 13.5484C232.09 13.5484 235.026 14.2585 237.636 15.6788C240.245 17.0991 242.319 19.2074 243.857 22.0036C245.395 24.7998 246.187 28.2174 246.234 32.2564V34.3202H219.88C220.066 37.2496 220.928 39.5576 222.466 41.2442C224.051 42.8864 226.171 43.7075 228.828 43.7075C230.505 43.7075 232.043 43.2637 233.441 42.376C234.839 41.4883 235.888 40.2899 236.587 38.7808L245.745 39.4466C244.626 42.7754 242.529 45.4385 239.453 47.4358C236.377 49.4331 232.835 50.4317 228.828 50.4317C225.146 50.4317 221.93 49.6772 219.181 48.1681C216.431 46.6591 214.287 44.5064 212.749 41.7102C211.211 38.914 210.442 35.6739 210.442 31.99ZM237.006 28.6612C236.68 25.7762 235.771 23.668 234.28 22.3365C232.789 20.9606 230.971 20.2726 228.828 20.2726C226.358 20.2726 224.354 21.0049 222.816 22.4696C221.278 23.9343 220.322 25.9982 219.95 28.6612H237.006ZM195.347 22.3365C196.838 23.5348 197.77 25.1993 198.143 27.3297L207.371 26.8637C207.044 24.1562 206.089 21.8039 204.505 19.8066C202.92 17.8093 200.869 16.278 198.353 15.2128C195.883 14.1032 193.157 13.5484 190.174 13.5484C186.492 13.5484 183.277 14.3029 180.527 15.812C177.777 17.321 175.634 19.4737 174.096 22.2699C172.558 25.0661 171.789 28.3062 171.789 31.99C171.789 35.6739 172.558 38.914 174.096 41.7102C175.634 44.5064 177.777 46.6591 180.527 48.1681C183.277 49.6772 186.492 50.4317 190.174 50.4317C193.25 50.4317 196.046 49.8769 198.563 48.7673C201.079 47.6133 203.13 45.9933 204.714 43.9072C206.299 41.8212 207.254 39.38 207.58 36.5838L198.283 36.1844C197.957 38.5367 197.048 40.3565 195.557 41.6436C194.065 42.8864 192.271 43.5078 190.174 43.5078C187.285 43.5078 185.048 42.5091 183.463 40.5118C181.879 38.5145 181.086 35.6739 181.086 31.99C181.086 28.3062 181.879 25.4656 183.463 23.4683C185.048 21.471 187.285 20.4723 190.174 20.4723C192.178 20.4723 193.902 21.0937 195.347 22.3365ZM149.955 14.3457H158.281L158.522 21.1369C159.113 19.2146 159.935 17.7218 160.988 16.6585C162.514 15.1166 164.642 14.3457 167.371 14.3457H170.771V21.6146H167.302C165.359 21.6146 163.763 21.8789 162.514 22.4075C161.311 22.9362 160.386 23.7732 159.739 24.9186C159.137 26.064 158.837 27.5178 158.837 29.2799V49.6328H149.955V14.3457ZM111.548 22.2699C110.01 25.0661 109.241 28.3062 109.241 31.99C109.241 35.6739 110.01 38.914 111.548 41.7102C113.086 44.5064 115.229 46.6591 117.979 48.1681C120.729 49.6772 123.944 50.4317 127.626 50.4317C131.634 50.4317 135.176 49.4331 138.252 47.4358C141.327 45.4385 143.425 42.7754 144.543 39.4466L135.385 38.7808C134.686 40.2899 133.638 41.4883 132.24 42.376C130.842 43.2637 129.304 43.7075 127.626 43.7075C124.97 43.7075 122.849 42.8864 121.265 41.2442C119.727 39.5576 118.865 37.2496 118.678 34.3202H145.032V32.2564C144.986 28.2174 144.194 24.7998 142.656 22.0036C141.118 19.2074 139.044 17.0991 136.434 15.6788C133.824 14.2585 130.888 13.5484 127.626 13.5484C123.944 13.5484 120.729 14.3029 117.979 15.812C115.229 17.321 113.086 19.4737 111.548 22.2699ZM133.079 22.3365C134.57 23.668 135.479 25.7762 135.805 28.6612H118.748C119.121 25.9982 120.076 23.9343 121.614 22.4696C123.152 21.0049 125.156 20.2726 127.626 20.2726C129.77 20.2726 131.587 20.9606 133.079 22.3365Z"
      fill="white"
    />
  </svg>
);

export { VercelWordmarkDark };
```

### `components/ui/svgs/stripeWordmark.tsx`

```tsx
import type { SVGProps } from "react";

const StripeWordmark = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} viewBox="0 0 512 214">
    <path
      fill="#635bff"
      d="M512 110.08c0-36.409-17.636-65.138-51.342-65.138-33.85 0-54.33 28.73-54.33 64.854 0 42.808 24.179 64.426 58.88 64.426 16.925 0 29.725-3.84 39.396-9.244v-28.445c-9.67 4.836-20.764 7.823-34.844 7.823-13.796 0-26.027-4.836-27.591-21.618h69.547c0-1.85.284-9.245.284-12.658m-70.258-13.511c0-16.071 9.814-22.756 18.774-22.756 8.675 0 17.92 6.685 17.92 22.756zm-90.31-51.627c-13.939 0-22.899 6.542-27.876 11.094l-1.85-8.818h-31.288v165.83l35.555-7.537.143-40.249c5.12 3.698 12.657 8.96 25.173 8.96 25.458 0 48.64-20.48 48.64-65.564-.142-41.245-23.609-63.716-48.498-63.716m-8.534 97.991c-8.391 0-13.37-2.986-16.782-6.684l-.143-52.765c3.698-4.124 8.818-6.968 16.925-6.968 12.942 0 21.902 14.506 21.902 33.137 0 19.058-8.818 33.28-21.902 33.28M241.493 36.551l35.698-7.68V0l-35.698 7.538zm0 10.809h35.698v124.444h-35.698zm-38.257 10.524L200.96 47.36h-30.72v124.444h35.556V87.467c8.39-10.951 22.613-8.96 27.022-7.396V47.36c-4.551-1.707-21.191-4.836-29.582 10.524m-71.112-41.386-34.702 7.395-.142 113.92c0 21.05 15.787 36.551 36.836 36.551 11.662 0 20.195-2.133 24.888-4.693V140.8c-4.55 1.849-27.022 8.391-27.022-12.658V77.653h27.022V47.36h-27.022zM35.982 83.484c0-5.546 4.551-7.68 12.09-7.68 10.808 0 24.461 3.272 35.27 9.103V51.484c-11.804-4.693-23.466-6.542-35.27-6.542C19.2 44.942 0 60.018 0 85.192c0 39.252 54.044 32.995 54.044 49.92 0 6.541-5.688 8.675-13.653 8.675-11.804 0-26.88-4.836-38.827-11.378v33.849c13.227 5.689 26.596 8.106 38.827 8.106 29.582 0 49.92-14.648 49.92-40.106-.142-42.382-54.329-34.845-54.329-50.774"
    />
  </svg>
);

export { StripeWordmark };
```

### `components/ui/svgs/stripeWordmarkDark.tsx`

```tsx
import type { SVGProps } from "react";

const StripeWordmarkDark = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} viewBox="0 0 512 214">
    <path
      fill="#fff"
      d="M512 110.08c0-36.409-17.636-65.138-51.342-65.138-33.85 0-54.33 28.73-54.33 64.854 0 42.808 24.179 64.426 58.88 64.426 16.925 0 29.725-3.84 39.396-9.244v-28.445c-9.67 4.836-20.764 7.823-34.844 7.823-13.796 0-26.027-4.836-27.591-21.618h69.547c0-1.85.284-9.245.284-12.658m-70.258-13.511c0-16.071 9.814-22.756 18.774-22.756 8.675 0 17.92 6.685 17.92 22.756zm-90.31-51.627c-13.939 0-22.899 6.542-27.876 11.094l-1.85-8.818h-31.288v165.83l35.555-7.537.143-40.249c5.12 3.698 12.657 8.96 25.173 8.96 25.458 0 48.64-20.48 48.64-65.564-.142-41.245-23.609-63.716-48.498-63.716m-8.534 97.991c-8.391 0-13.37-2.986-16.782-6.684l-.143-52.765c3.698-4.124 8.818-6.968 16.925-6.968 12.942 0 21.902 14.506 21.902 33.137 0 19.058-8.818 33.28-21.902 33.28M241.493 36.551l35.698-7.68V0l-35.698 7.538zm0 10.809h35.698v124.444h-35.698zm-38.257 10.524L200.96 47.36h-30.72v124.444h35.556V87.467c8.39-10.951 22.613-8.96 27.022-7.396V47.36c-4.551-1.707-21.191-4.836-29.582 10.524m-71.112-41.386-34.702 7.395-.142 113.92c0 21.05 15.787 36.551 36.836 36.551 11.662 0 20.195-2.133 24.888-4.693V140.8c-4.55 1.849-27.022 8.391-27.022-12.658V77.653h27.022V47.36h-27.022zM35.982 83.484c0-5.546 4.551-7.68 12.09-7.68 10.808 0 24.461 3.272 35.27 9.103V51.484c-11.804-4.693-23.466-6.542-35.27-6.542C19.2 44.942 0 60.018 0 85.192c0 39.252 54.044 32.995 54.044 49.92 0 6.541-5.688 8.675-13.653 8.675-11.804 0-26.88-4.836-38.827-11.378v33.849c13.227 5.689 26.596 8.106 38.827 8.106 29.582 0 49.92-14.648 49.92-40.106-.142-42.382-54.329-34.845-54.329-50.774"
    />
  </svg>
);

export { StripeWordmarkDark };
```

### `components/ui/svgs/supabaseWordmarkLight.tsx`

```tsx
import type { SVGProps } from "react";

const SupabaseWordmarkLight = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} viewBox="0 0 581 113" fill="none">
    <path
      d="M151.397 66.7608C151.996 72.3621 157.091 81.9642 171.877 81.9642C184.764 81.9642 190.959 73.7624 190.959 65.7607C190.959 58.559 186.063 52.6577 176.373 50.6571L169.379 49.1569C166.682 48.6568 164.884 47.1565 164.884 44.7559C164.884 41.9552 167.681 39.8549 171.178 39.8549C176.772 39.8549 178.87 43.5556 179.27 46.4564L190.359 43.9558C189.76 38.6546 185.064 29.7527 171.078 29.7527C160.488 29.7527 152.696 37.0543 152.696 45.8561C152.696 52.7576 156.991 58.4591 166.482 60.5594L172.976 62.0598C176.772 62.8599 178.271 64.6605 178.271 66.8609C178.271 69.4615 176.173 71.762 171.777 71.762C165.983 71.762 163.085 68.1611 162.786 64.2602L151.397 66.7608Z"
      fill="#1F1F1F"
    />
    <path
      d="M233.421 80.4639H246.109C245.909 78.7635 245.609 75.3628 245.609 71.5618V31.2529H232.321V59.8592C232.321 65.5606 228.925 69.5614 223.031 69.5614C216.837 69.5614 214.039 65.1604 214.039 59.6592V31.2529H200.752V62.3599C200.752 73.0622 207.545 81.7642 219.434 81.7642C224.628 81.7642 230.325 79.7638 233.022 75.1627C233.022 77.1631 233.221 79.4636 233.421 80.4639Z"
      fill="#1F1F1F"
    />
    <path
      d="M273.076 99.4682V75.663C275.473 78.9636 280.469 81.6644 287.263 81.6644C301.149 81.6644 310.439 70.6617 310.439 55.7584C310.439 41.1553 302.148 30.1528 287.762 30.1528C280.37 30.1528 274.875 33.4534 272.677 37.2544V31.253H259.79V99.4682H273.076ZM297.352 55.8585C297.352 64.6606 291.958 69.7616 285.164 69.7616C278.372 69.7616 272.877 64.5605 272.877 55.8585C272.877 47.1566 278.372 42.0554 285.164 42.0554C291.958 42.0554 297.352 47.1566 297.352 55.8585Z"
      fill="#1F1F1F"
    />
    <path
      d="M317.964 67.0609C317.964 74.7627 324.357 81.8643 334.848 81.8643C342.139 81.8643 346.835 78.4634 349.332 74.5625C349.332 76.463 349.532 79.1635 349.832 80.4639H362.02C361.72 78.7635 361.422 75.2627 361.422 72.6622V48.4567C361.422 38.5545 355.627 29.7527 340.043 29.7527C326.855 29.7527 319.761 38.2544 318.963 45.9562L330.751 48.4567C331.151 44.1558 334.348 40.455 340.141 40.455C345.737 40.455 348.434 43.3556 348.434 46.8564C348.434 48.5568 347.536 49.9572 344.738 50.3572L332.65 52.1576C324.458 53.3579 317.964 58.2589 317.964 67.0609ZM337.644 71.962C333.349 71.962 331.25 69.1614 331.25 66.2608C331.25 62.4599 333.947 60.5594 337.345 60.0594L348.434 58.359V60.5594C348.434 69.2615 343.239 71.962 337.644 71.962Z"
      fill="#1F1F1F"
    />
    <path
      d="M387.703 80.4641V74.4627C390.299 78.6637 395.494 81.6644 402.288 81.6644C416.276 81.6644 425.467 70.5618 425.467 55.6585C425.467 41.0552 417.174 29.9528 402.788 29.9528C395.494 29.9528 390.1 33.1535 387.902 36.6541V8.04785H374.815V80.4641H387.703ZM412.178 55.7584C412.178 64.7605 406.784 69.7616 399.99 69.7616C393.297 69.7616 387.703 64.6606 387.703 55.7584C387.703 46.7564 393.297 41.8554 399.99 41.8554C406.784 41.8554 412.178 46.7564 412.178 55.7584Z"
      fill="#1F1F1F"
    />
    <path
      d="M432.99 67.0609C432.99 74.7627 439.383 81.8643 449.873 81.8643C457.165 81.8643 461.862 78.4634 464.358 74.5625C464.358 76.463 464.559 79.1635 464.858 80.4639H477.046C476.748 78.7635 476.448 75.2627 476.448 72.6622V48.4567C476.448 38.5545 470.653 29.7527 455.068 29.7527C441.881 29.7527 434.788 38.2544 433.989 45.9562L445.776 48.4567C446.177 44.1558 449.374 40.455 455.167 40.455C460.763 40.455 463.46 43.3556 463.46 46.8564C463.46 48.5568 462.561 49.9572 459.763 50.3572L447.676 52.1576C439.484 53.3579 432.99 58.2589 432.99 67.0609ZM452.671 71.962C448.375 71.962 446.276 69.1614 446.276 66.2608C446.276 62.4599 448.973 60.5594 452.371 60.0594L463.46 58.359V60.5594C463.46 69.2615 458.265 71.962 452.671 71.962Z"
      fill="#1F1F1F"
    />
    <path
      d="M485.645 66.7608C486.243 72.3621 491.339 81.9642 506.124 81.9642C519.012 81.9642 525.205 73.7624 525.205 65.7607C525.205 58.559 520.311 52.6577 510.62 50.6571L503.626 49.1569C500.929 48.6568 499.132 47.1565 499.132 44.7559C499.132 41.9552 501.928 39.8549 505.425 39.8549C511.021 39.8549 513.118 43.5556 513.519 46.4564L524.607 43.9558C524.007 38.6546 519.312 29.7527 505.326 29.7527C494.735 29.7527 486.944 37.0543 486.944 45.8561C486.944 52.7576 491.238 58.4591 500.73 60.5594L507.224 62.0598C511.021 62.8599 512.519 64.6605 512.519 66.8609C512.519 69.4615 510.421 71.762 506.025 71.762C500.23 71.762 497.334 68.1611 497.034 64.2602L485.645 66.7608Z"
      fill="#1F1F1F"
    />
    <path
      d="M545.385 50.2571C545.685 45.7562 549.482 40.5549 556.375 40.5549C563.967 40.5549 567.165 45.3561 567.365 50.2571H545.385ZM568.664 63.0601C567.065 67.4609 563.668 70.5617 557.474 70.5617C550.88 70.5617 545.385 65.8606 545.087 59.3593H580.252C580.252 59.159 580.451 57.1587 580.451 55.2582C580.451 39.4547 571.361 29.7527 556.175 29.7527C543.588 29.7527 531.998 39.9548 531.998 55.6584C531.998 72.262 543.886 81.9642 557.374 81.9642C569.462 81.9642 577.255 74.8626 579.753 66.3607L568.664 63.0601Z"
      fill="#1F1F1F"
    />
    <path
      d="M63.7076 110.284C60.8481 113.885 55.0502 111.912 54.9813 107.314L53.9738 40.0627L99.1935 40.0627C107.384 40.0627 111.952 49.5228 106.859 55.9374L63.7076 110.284Z"
      fill="url(#paint0_linear)"
    />
    <path
      d="M63.7076 110.284C60.8481 113.885 55.0502 111.912 54.9813 107.314L53.9738 40.0627L99.1935 40.0627C107.384 40.0627 111.952 49.5228 106.859 55.9374L63.7076 110.284Z"
      fill="url(#paint1_linear)"
      fillOpacity="0.2"
    />
    <path
      d="M45.317 2.07103C48.1765 -1.53037 53.9745 0.442937 54.0434 5.041L54.4849 72.2922H9.83113C1.64038 72.2922 -2.92775 62.8321 2.1655 56.4175L45.317 2.07103Z"
      fill="#3ECF8E"
    />
    <defs>
      <linearGradient
        id="paint0_linear"
        x1="53.9738"
        y1="54.974"
        x2="94.1635"
        y2="71.8295"
        gradientUnits="userSpaceOnUse"
      >
        <stop stopColor="#249361" />
        <stop offset="1" stopColor="#3ECF8E" />
      </linearGradient>
      <linearGradient
        id="paint1_linear"
        x1="36.1558"
        y1="30.578"
        x2="54.4844"
        y2="65.0806"
        gradientUnits="userSpaceOnUse"
      >
        <stop />
        <stop offset="1" stopOpacity="0" />
      </linearGradient>
    </defs>
  </svg>
);

export { SupabaseWordmarkLight };
```

### `components/ui/svgs/supabaseWordmarkDark.tsx`

```tsx
import type { SVGProps } from "react";

const SupabaseWordmarkDark = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} viewBox="0 0 581 113" fill="none">
    <path
      d="M151.397 66.7608C151.996 72.3621 157.091 81.9642 171.877 81.9642C184.764 81.9642 190.959 73.7624 190.959 65.7607C190.959 58.559 186.063 52.6577 176.373 50.6571L169.379 49.1569C166.682 48.6568 164.884 47.1565 164.884 44.7559C164.884 41.9552 167.681 39.8549 171.178 39.8549C176.772 39.8549 178.87 43.5556 179.27 46.4564L190.359 43.9558C189.76 38.6546 185.064 29.7527 171.078 29.7527C160.488 29.7527 152.696 37.0543 152.696 45.8561C152.696 52.7576 156.991 58.4591 166.482 60.5594L172.976 62.0598C176.772 62.8599 178.271 64.6605 178.271 66.8609C178.271 69.4615 176.173 71.762 171.777 71.762C165.983 71.762 163.085 68.1611 162.786 64.2602L151.397 66.7608Z"
      fill="white"
    />
    <path
      d="M233.421 80.4639H246.109C245.909 78.7635 245.609 75.3628 245.609 71.5618V31.2529H232.321V59.8592C232.321 65.5606 228.925 69.5614 223.031 69.5614C216.837 69.5614 214.039 65.1604 214.039 59.6592V31.2529H200.752V62.3599C200.752 73.0622 207.545 81.7642 219.434 81.7642C224.628 81.7642 230.325 79.7638 233.022 75.1627C233.022 77.1631 233.221 79.4636 233.421 80.4639Z"
      fill="white"
    />
    <path
      d="M273.076 99.4682V75.663C275.473 78.9636 280.469 81.6644 287.263 81.6644C301.149 81.6644 310.439 70.6617 310.439 55.7584C310.439 41.1553 302.148 30.1528 287.762 30.1528C280.37 30.1528 274.875 33.4534 272.677 37.2544V31.253H259.79V99.4682H273.076ZM297.352 55.8585C297.352 64.6606 291.958 69.7616 285.164 69.7616C278.372 69.7616 272.877 64.5605 272.877 55.8585C272.877 47.1566 278.372 42.0554 285.164 42.0554C291.958 42.0554 297.352 47.1566 297.352 55.8585Z"
      fill="white"
    />
    <path
      d="M317.964 67.0609C317.964 74.7627 324.357 81.8643 334.848 81.8643C342.139 81.8643 346.835 78.4634 349.332 74.5625C349.332 76.463 349.532 79.1635 349.832 80.4639H362.02C361.72 78.7635 361.422 75.2627 361.422 72.6622V48.4567C361.422 38.5545 355.627 29.7527 340.043 29.7527C326.855 29.7527 319.761 38.2544 318.963 45.9562L330.751 48.4567C331.151 44.1558 334.348 40.455 340.141 40.455C345.737 40.455 348.434 43.3556 348.434 46.8564C348.434 48.5568 347.536 49.9572 344.738 50.3572L332.65 52.1576C324.458 53.3579 317.964 58.2589 317.964 67.0609ZM337.644 71.962C333.349 71.962 331.25 69.1614 331.25 66.2608C331.25 62.4599 333.947 60.5594 337.345 60.0594L348.434 58.359V60.5594C348.434 69.2615 343.239 71.962 337.644 71.962Z"
      fill="white"
    />
    <path
      d="M387.703 80.4641V74.4627C390.299 78.6637 395.494 81.6644 402.288 81.6644C416.276 81.6644 425.467 70.5618 425.467 55.6585C425.467 41.0552 417.174 29.9528 402.788 29.9528C395.494 29.9528 390.1 33.1535 387.902 36.6541V8.04785H374.815V80.4641H387.703ZM412.178 55.7584C412.178 64.7605 406.784 69.7616 399.99 69.7616C393.297 69.7616 387.703 64.6606 387.703 55.7584C387.703 46.7564 393.297 41.8554 399.99 41.8554C406.784 41.8554 412.178 46.7564 412.178 55.7584Z"
      fill="white"
    />
    <path
      d="M432.99 67.0609C432.99 74.7627 439.383 81.8643 449.873 81.8643C457.165 81.8643 461.862 78.4634 464.358 74.5625C464.358 76.463 464.559 79.1635 464.858 80.4639H477.046C476.748 78.7635 476.448 75.2627 476.448 72.6622V48.4567C476.448 38.5545 470.653 29.7527 455.068 29.7527C441.881 29.7527 434.788 38.2544 433.989 45.9562L445.776 48.4567C446.177 44.1558 449.374 40.455 455.167 40.455C460.763 40.455 463.46 43.3556 463.46 46.8564C463.46 48.5568 462.561 49.9572 459.763 50.3572L447.676 52.1576C439.484 53.3579 432.99 58.2589 432.99 67.0609ZM452.671 71.962C448.375 71.962 446.276 69.1614 446.276 66.2608C446.276 62.4599 448.973 60.5594 452.371 60.0594L463.46 58.359V60.5594C463.46 69.2615 458.265 71.962 452.671 71.962Z"
      fill="white"
    />
    <path
      d="M485.645 66.7608C486.243 72.3621 491.339 81.9642 506.124 81.9642C519.012 81.9642 525.205 73.7624 525.205 65.7607C525.205 58.559 520.311 52.6577 510.62 50.6571L503.626 49.1569C500.929 48.6568 499.132 47.1565 499.132 44.7559C499.132 41.9552 501.928 39.8549 505.425 39.8549C511.021 39.8549 513.118 43.5556 513.519 46.4564L524.607 43.9558C524.007 38.6546 519.312 29.7527 505.326 29.7527C494.735 29.7527 486.944 37.0543 486.944 45.8561C486.944 52.7576 491.238 58.4591 500.73 60.5594L507.224 62.0598C511.021 62.8599 512.519 64.6605 512.519 66.8609C512.519 69.4615 510.421 71.762 506.025 71.762C500.23 71.762 497.334 68.1611 497.034 64.2602L485.645 66.7608Z"
      fill="white"
    />
    <path
      d="M545.385 50.2571C545.685 45.7562 549.482 40.5549 556.375 40.5549C563.967 40.5549 567.165 45.3561 567.365 50.2571H545.385ZM568.664 63.0601C567.065 67.4609 563.668 70.5617 557.474 70.5617C550.88 70.5617 545.385 65.8606 545.087 59.3593H580.252C580.252 59.159 580.451 57.1587 580.451 55.2582C580.451 39.4547 571.361 29.7527 556.175 29.7527C543.588 29.7527 531.998 39.9548 531.998 55.6584C531.998 72.262 543.886 81.9642 557.374 81.9642C569.462 81.9642 577.255 74.8626 579.753 66.3607L568.664 63.0601Z"
      fill="white"
    />
    <path
      d="M63.7076 110.284C60.8481 113.885 55.0502 111.912 54.9813 107.314L53.9738 40.0627L99.1935 40.0627C107.384 40.0627 111.952 49.5228 106.859 55.9374L63.7076 110.284Z"
      fill="url(#paint0_linear_dark)"
    />
    <path
      d="M63.7076 110.284C60.8481 113.885 55.0502 111.912 54.9813 107.314L53.9738 40.0627L99.1935 40.0627C107.384 40.0627 111.952 49.5228 106.859 55.9374L63.7076 110.284Z"
      fill="url(#paint1_linear_dark)"
      fillOpacity="0.2"
    />
    <path
      d="M45.317 2.07103C48.1765 -1.53037 53.9745 0.442937 54.0434 5.041L54.4849 72.2922H9.83113C1.64038 72.2922 -2.92775 62.8321 2.1655 56.4175L45.317 2.07103Z"
      fill="#3ECF8E"
    />
    <defs>
      <linearGradient
        id="paint0_linear_dark"
        x1="53.9738"
        y1="54.974"
        x2="94.1635"
        y2="71.8295"
        gradientUnits="userSpaceOnUse"
      >
        <stop stopColor="#249361" />
        <stop offset="1" stopColor="#3ECF8E" />
      </linearGradient>
      <linearGradient
        id="paint1_linear_dark"
        x1="36.1558"
        y1="30.578"
        x2="54.4844"
        y2="65.0806"
        gradientUnits="userSpaceOnUse"
      >
        <stop />
        <stop offset="1" stopOpacity="0" />
      </linearGradient>
    </defs>
  </svg>
);

export { SupabaseWordmarkDark };
```

### `components/ui/svgs/githubWordmarkLight.tsx`

```tsx
import type { SVGProps } from "react";

const GithubWordmarkLight = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} xmlSpace="preserve" viewBox="0 0 249.1 67.5">
    <path
      d="M103.4 55.9h-.1s0 .1.1 0m0 .1c-.5 0-1.8.3-3.2.3-4.4 0-5.9-2-5.9-4.6V34.2h8.9c.5 0 .9-.4.9-1.1v-9.5c0-.5-.4-.9-.9-.9h-8.9V10.9c0-.4-.3-.7-.8-.7h-12c-.5 0-.8.3-.8.7V23s-6.1 1.5-6.5 1.6-.7.5-.7.9v7.6c0 .6.4 1.1.9 1.1h6.2v18.3c0 13.6 9.5 15 16 15 3 0 6.5-.9 7.1-1.2.3-.1.5-.5.5-.9V57c0-.5-.4-.9-.8-1m132.1-12.3c0-10.1-4.1-11.4-8.4-11-3.3.2-6 1.9-6 1.9v19.6s2.7 1.9 6.8 2c5.8.2 7.6-1.8 7.6-12.5m13.6-.9c0 19.1-6.2 24.6-17 24.6-9.1 0-14.1-4.6-14.1-4.6s-.2 2.6-.5 2.9c-.2.3-.4.4-.8.4h-8.3c-.6 0-1.1-.4-1.1-.9l.1-62c0-.5.4-.9.9-.9h11.9c.5 0 .9.4.9.9l-.1 20.9s4.6-3 11.3-3h.1c6.8.1 16.7 2.6 16.7 21.7m-48.6-20.1h-11.7c-.6 0-.9.4-.9 1.1v30.3s-3.1 2.2-7.3 2.2-5.4-1.9-5.4-6.1V23.7c0-.5-.4-.9-.9-.9h-11.9c-.5 0-.9.4-.9.9v28.5c0 12.3 6.9 15.3 16.3 15.3 7.8 0 14.1-4.3 14.1-4.3s.3 2.2.4 2.5.5.5.9.5h7.5c.6 0 .9-.4.9-.9l.1-41.7c-.2-.5-.6-.9-1.2-.9m-132.2-.1H56.4c-.5 0-.9.5-.9 1.1v40.9c0 1.1.7 1.5 1.7 1.5h10.7c1.1 0 1.4-.5 1.4-1.5v-41c-.1-.5-.5-1-1-1M62.4 3.8c-4.3 0-7.7 3.4-7.7 7.7s3.4 7.7 7.7 7.7c4.2 0 7.6-3.4 7.6-7.7s-3.4-7.7-7.6-7.7m92-1.4h-11.8c-.5 0-.9.4-.9.9v22.8h-18.5V3.3c0-.5-.4-.9-.9-.9h-11.9c-.5 0-.9.4-.9.9v62c0 .5.5.9.9.9h11.9c.5 0 .9-.4.9-.9V38.8h18.5l-.1 26.5c0 .5.4.9.9.9h11.9c.5 0 .9-.4.9-.9v-62c0-.5-.4-.9-.9-.9M49.1 29.8v32c0 .2-.1.6-.3.7 0 0-7 5-18.5 5-13.8 0-30.3-4.3-30.3-33C0 5.9 14.4-.1 28.4 0c12.2 0 17.1 2.7 17.8 3.2.2.3.3.5.3.8l-2.3 9.9c0 .5-.5 1.1-1.1.9-2-.6-5-1.8-12.1-1.8-8.2 0-17 2.3-17 20.8s8.4 20.6 14.4 20.6c5.1 0 7-.6 7-.6V41.1h-8.2c-.6 0-1.1-.4-1.1-.9V29.8c0-.5.4-.9 1.1-.9h20.9c.6 0 1 .4 1 .9"
      style={{ fill: "#1b1f24" }}
    />
  </svg>
);

export { GithubWordmarkLight };
```

### `components/ui/svgs/githubWordmarkDark.tsx`

```tsx
import type { SVGProps } from "react";

const GithubWordmarkDark = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} xmlSpace="preserve" viewBox="0 0 249.1 67.5">
    <path
      d="M103.4 55.9h-.1s0 .1.1 0m0 .1c-.5 0-1.8.3-3.2.3-4.4 0-5.9-2-5.9-4.6V34.2h8.9c.5 0 .9-.4.9-1.1v-9.5c0-.5-.4-.9-.9-.9h-8.9V10.9c0-.4-.3-.7-.8-.7h-12c-.5 0-.8.3-.8.7V23s-6.1 1.5-6.5 1.6-.7.5-.7.9v7.6c0 .6.4 1.1.9 1.1h6.2v18.3c0 13.6 9.5 15 16 15 3 0 6.5-.9 7.1-1.2.3-.1.5-.5.5-.9V57c0-.5-.4-.9-.8-1m132.1-12.3c0-10.1-4.1-11.4-8.4-11-3.3.2-6 1.9-6 1.9v19.6s2.7 1.9 6.8 2c5.8.2 7.6-1.8 7.6-12.5m13.6-.9c0 19.1-6.2 24.6-17 24.6-9.1 0-14.1-4.6-14.1-4.6s-.2 2.6-.5 2.9c-.2.3-.4.4-.8.4h-8.3c-.6 0-1.1-.4-1.1-.9l.1-62c0-.5.4-.9.9-.9h11.9c.5 0 .9.4.9.9l-.1 20.9s4.6-3 11.3-3h.1c6.8.1 16.7 2.6 16.7 21.7m-48.6-20.1h-11.7c-.6 0-.9.4-.9 1.1v30.3s-3.1 2.2-7.3 2.2-5.4-1.9-5.4-6.1V23.7c0-.5-.4-.9-.9-.9h-11.9c-.5 0-.9.4-.9.9v28.5c0 12.3 6.9 15.3 16.3 15.3 7.8 0 14.1-4.3 14.1-4.3s.3 2.2.4 2.5.5.5.9.5h7.5c.6 0 .9-.4.9-.9l.1-41.7c-.2-.5-.6-.9-1.2-.9m-132.2-.1H56.4c-.5 0-.9.5-.9 1.1v40.9c0 1.1.7 1.5 1.7 1.5h10.7c1.1 0 1.4-.5 1.4-1.5v-41c-.1-.5-.5-1-1-1M62.4 3.8c-4.3 0-7.7 3.4-7.7 7.7s3.4 7.7 7.7 7.7c4.2 0 7.6-3.4 7.6-7.7s-3.4-7.7-7.6-7.7m92-1.4h-11.8c-.5 0-.9.4-.9.9v22.8h-18.5V3.3c0-.5-.4-.9-.9-.9h-11.9c-.5 0-.9.4-.9.9v62c0 .5.5.9.9.9h11.9c.5 0 .9-.4.9-.9V38.8h18.5l-.1 26.5c0 .5.4.9.9.9h11.9c.5 0 .9-.4.9-.9v-62c0-.5-.4-.9-.9-.9M49.1 29.8v32c0 .2-.1.6-.3.7 0 0-7 5-18.5 5-13.8 0-30.3-4.3-30.3-33C0 5.9 14.4-.1 28.4 0c12.2 0 17.1 2.7 17.8 3.2.2.3.3.5.3.8l-2.3 9.9c0 .5-.5 1.1-1.1.9-2-.6-5-1.8-12.1-1.8-8.2 0-17 2.3-17 20.8s8.4 20.6 14.4 20.6c5.1 0 7-.6 7-.6V41.1h-8.2c-.6 0-1.1-.4-1.1-.9V29.8c0-.5.4-.9 1.1-.9h20.9c.6 0 1 .4 1 .9"
      style={{ fill: "#fff" }}
    />
  </svg>
);

export { GithubWordmarkDark };
```

### `components/ui/svgs/cursorWordmarkLight.tsx`

```tsx
import type { SVGProps } from "react";

const CursorWordmarkLight = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} id="Ebene_1" version="1.1" viewBox="0 0 1655.29 278.83">
    <path d="M139.03,4.61h90.64v49.93h-87.57c-47.24,0-84.11,27.27-84.11,84.88s36.87,84.88,84.11,84.88h87.57v49.93h-94.48c-79.12,0-135.19-46.48-135.19-134.82S59.91,4.61,139.03,4.61Z" />
    <path d="M275.75,4.61h56.07v164.76c0,41.09,18.82,60.3,62.99,60.3s62.99-19.2,62.99-60.3V4.61h56.07v176.28c0,59.91-38.02,97.94-119.06,97.94s-119.06-38.41-119.06-98.32V4.61Z" />
    <path d="M806.9,81.04c0,29.96-17.28,53-40.33,62.99v.77c24.2,3.46,36.49,20.74,36.87,44.17l1.15,85.26h-56.07l-1.15-76.04c-.38-16.9-10.37-27.27-30.34-27.27h-93.33v103.31h-56.07V4.61h154.78c50.7,0,84.49,25.73,84.49,76.43h0ZM750.45,88.72c0-23.04-12.29-35.72-35.33-35.72h-91.41v71.43h92.17c21.12,0,34.57-12.67,34.57-35.72h0Z" />
    <path d="M1018.9,195.49c0-19.2-12.29-27.27-30.72-28.8l-62.22-5.76c-53.77-4.99-81.81-26.12-81.81-77.2S878.72,4.61,928.26,4.61h137.49v48.39h-133.65c-19.2,0-31.49,9.99-31.49,29.19s12.67,28.42,31.88,29.96l63.37,5.38c48.01,4.22,79.5,26.12,79.5,77.58s-33.41,79.12-80.65,79.12h-143.64v-48.39h138.26c18.05,0,29.57-12.29,29.57-30.34h0Z" />
    <path d="M1239.35,0c84.49,0,137.88,54.15,137.88,139.03s-55.69,139.8-140.18,139.8-137.88-54.92-137.88-139.8S1154.86,0,1239.35,0ZM1319.24,139.41c0-56.84-33.03-90.25-81.04-90.25s-81.04,33.41-81.04,90.25,33.03,90.25,81.04,90.25,81.04-33.41,81.04-90.25Z" />
    <path d="M1655.29,81.04c0,29.96-17.28,53-40.33,62.99v.77c24.2,3.46,36.49,20.74,36.87,44.17l1.15,85.26h-56.07l-1.15-76.04c-.38-16.9-10.37-27.27-30.34-27.27h-93.33v103.31h-56.07V4.61h154.78c50.7,0,84.49,25.73,84.49,76.43h0ZM1598.83,88.72c0-23.04-12.29-35.72-35.33-35.72h-91.41v71.43h92.17c21.12,0,34.57-12.67,34.57-35.72h0Z" />
  </svg>
);

export { CursorWordmarkLight };
```

### `components/ui/svgs/cursorWordmarkDark.tsx`

```tsx
import type { SVGProps } from "react";

const CursorWordmarkDark = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} id="Ebene_1" version="1.1" viewBox="0 0 1655.29 278.83" fill="#fff">
    <path d="M139.03,4.61h90.64v49.93h-87.57c-47.24,0-84.11,27.27-84.11,84.88s36.87,84.88,84.11,84.88h87.57v49.93h-94.48c-79.12,0-135.19-46.48-135.19-134.82S59.91,4.61,139.03,4.61Z" />
    <path d="M275.75,4.61h56.07v164.76c0,41.09,18.82,60.3,62.99,60.3s62.99-19.2,62.99-60.3V4.61h56.07v176.28c0,59.91-38.02,97.94-119.06,97.94s-119.06-38.41-119.06-98.32V4.61Z" />
    <path d="M806.9,81.04c0,29.96-17.28,53-40.33,62.99v.77c24.2,3.46,36.49,20.74,36.87,44.17l1.15,85.26h-56.07l-1.15-76.04c-.38-16.9-10.37-27.27-30.34-27.27h-93.33v103.31h-56.07V4.61h154.78c50.7,0,84.49,25.73,84.49,76.43h0ZM750.45,88.72c0-23.04-12.29-35.72-35.33-35.72h-91.41v71.43h92.17c21.12,0,34.57-12.67,34.57-35.72h0Z" />
    <path d="M1018.9,195.49c0-19.2-12.29-27.27-30.72-28.8l-62.22-5.76c-53.77-4.99-81.81-26.12-81.81-77.2S878.72,4.61,928.26,4.61h137.49v48.39h-133.65c-19.2,0-31.49,9.99-31.49,29.19s12.67,28.42,31.88,29.96l63.37,5.38c48.01,4.22,79.5,26.12,79.5,77.58s-33.41,79.12-80.65,79.12h-143.64v-48.39h138.26c18.05,0,29.57-12.29,29.57-30.34h0Z" />
    <path d="M1239.35,0c84.49,0,137.88,54.15,137.88,139.03s-55.69,139.8-140.18,139.8-137.88-54.92-137.88-139.8S1154.86,0,1239.35,0ZM1319.24,139.41c0-56.84-33.03-90.25-81.04-90.25s-81.04,33.41-81.04,90.25,33.03,90.25,81.04,90.25,81.04-33.41,81.04-90.25Z" />
    <path d="M1655.29,81.04c0,29.96-17.28,53-40.33,62.99v.77c24.2,3.46,36.49,20.74,36.87,44.17l1.15,85.26h-56.07l-1.15-76.04c-.38-16.9-10.37-27.27-30.34-27.27h-93.33v103.31h-56.07V4.61h154.78c50.7,0,84.49,25.73,84.49,76.43h0ZM1598.83,88.72c0-23.04-12.29-35.72-35.33-35.72h-91.41v71.43h92.17c21.12,0,34.57-12.67,34.57-35.72h0Z" />
  </svg>
);

export { CursorWordmarkDark };
```

### `components/ui/svgs/neonWordmarkLight.tsx`

```tsx
import type { SVGProps } from "react";

const NeonWordmarkLight = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} viewBox="0 0 157 45" fill="none">
    <title>Neon Wordmark</title>
    <path
      d="M43.9842 0.0123174V44L26.9844 29.2514V44H0.416626V0L43.9842 0.0123174ZM5.75712 38.6595H21.6439V17.5326L38.644 32.5729V5.35124L5.75712 5.34181V38.6595Z"
      fill="#37C38F"
    />
    <path
      d="M79.0702 35.7042L62.1565 20.7349V35.4106H56.8365V9.06775L73.7503 24.037V9.36126H79.0702V35.7042ZM84.9267 35.4106V9.36126H100.85V14.6078H90.2467V19.7443H98.6485V24.8808H90.2467V30.1641H100.85V35.4106H84.9267ZM117.32 35.7042C109.945 35.7042 104.001 29.7605 104.001 22.386C104.001 15.0114 109.945 9.06775 117.32 9.06775C124.694 9.06775 130.638 15.0114 130.638 22.386C130.638 29.7605 124.694 35.7042 117.32 35.7042ZM117.32 30.5677C121.869 30.5677 125.281 26.8987 125.281 22.386C125.281 17.8732 121.869 14.2042 117.32 14.2042C112.77 14.2042 109.358 17.8732 109.358 22.386C109.358 26.8987 112.77 30.5677 117.32 30.5677ZM156.493 35.7042L139.579 20.7349V35.4106H134.259V9.06775L151.173 24.037V9.36126H156.493V35.7042Z"
      fill="black"
    />
  </svg>
);

export { NeonWordmarkLight };
```

### `components/ui/svgs/neonWordmarkDark.tsx`

```tsx
import type { SVGProps } from "react";

const NeonWordmarkDark = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} viewBox="0 0 157 45" fill="none">
    <title>Neon Wordmark</title>
    <path
      d="M43.9842 0.0123174V44L26.9844 29.2514V44H0.416626V0L43.9842 0.0123174ZM5.75712 38.6595H21.6439V17.5326L38.644 32.5729V5.35124L5.75712 5.34181V38.6595Z"
      fill="#34D59A"
    />
    <path
      d="M79.0701 35.7042L62.1564 20.7349V35.4106H56.8364V9.06775L73.7502 24.037V9.36126H79.0701V35.7042ZM84.9267 35.4106V9.36126H100.85V14.6078H90.2466V19.7443H98.6485V24.8808H90.2466V30.1641H100.85V35.4106H84.9267ZM117.32 35.7042C109.945 35.7042 104.001 29.7605 104.001 22.386C104.001 15.0114 109.945 9.06775 117.32 9.06775C124.694 9.06775 130.638 15.0114 130.638 22.386C130.638 29.7605 124.694 35.7042 117.32 35.7042ZM117.32 30.5677C121.869 30.5677 125.281 26.8987 125.281 22.386C125.281 17.8732 121.869 14.2042 117.32 14.2042C112.77 14.2042 109.358 17.8732 109.358 22.386C109.358 26.8987 112.77 30.5677 117.32 30.5677ZM156.493 35.7042L139.579 20.7349V35.4106H134.259V9.06775L151.173 24.037V9.36126H156.493V35.7042Z"
      fill="black"
    />
    <path
      d="M79.0701 35.7042L62.1564 20.7349V35.4106H56.8364V9.06775L73.7502 24.037V9.36126H79.0701V35.7042ZM84.9267 35.4106V9.36126H100.85V14.6078H90.2466V19.7443H98.6485V24.8808H90.2466V30.1641H100.85V35.4106H84.9267ZM117.32 35.7042C109.945 35.7042 104.001 29.7605 104.001 22.386C104.001 15.0114 109.945 9.06775 117.32 9.06775C124.694 9.06775 130.638 15.0114 130.638 22.386C130.638 29.7605 124.694 35.7042 117.32 35.7042ZM117.32 30.5677C121.869 30.5677 125.281 26.8987 125.281 22.386C125.281 17.8732 121.869 14.2042 117.32 14.2042C112.77 14.2042 109.358 17.8732 109.358 22.386C109.358 26.8987 112.77 30.5677 117.32 30.5677ZM156.493 35.7042L139.579 20.7349V35.4106H134.259V9.06775L151.173 24.037V9.36126H156.493V35.7042Z"
      fill="white"
    />
  </svg>
);

export { NeonWordmarkDark };
```

### `components/ui/svgs/convexWordmarkLight.tsx`

```tsx
import type { SVGProps } from "react";

const ConvexWordmarkLight = (props: SVGProps<SVGSVGElement>) => (
  <svg
    {...props}
    xmlSpace="preserve"
    style={{
      fillRule: "evenodd",
      clipRule: "evenodd",
      strokeLinejoin: "round",
      strokeMiterlimit: "2",
    }}
    viewBox="0 0 600 150"
  >
    <path
      d="m512.51 75.13-22.19-29.38h25.72l45.39 59.77h-25.97l-10.09-13.37-10.09 13.37h-25.85l23.08-30.39ZM534.89 45.75h25.6l-19.65 26.17-13-16.77 7.05-9.4ZM159.9 98.9c-6.18-5.25-9.27-13.01-9.27-23.26 0-10.25 3.15-18.01 9.46-23.26 6.3-5.25 14.92-7.88 25.85-7.88 4.54 0 8.55.31 12.04.95 3.49.63 6.83 1.7 10.02 3.22V65.3c-4.96-2.35-10.59-3.53-16.89-3.53-5.55 0-9.65 1.05-12.29 3.15-2.65 2.1-3.97 5.67-3.97 10.72 0 4.88 1.3 8.41 3.91 10.59 2.6 2.19 6.72 3.28 12.36 3.28 5.97 0 11.64-1.39 17.02-4.16v17.4c-5.97 2.69-13.41 4.03-22.32 4.03-11.11 0-19.74-2.63-25.92-7.88ZM213.52 75.63c0-10.17 2.9-17.9 8.7-23.2 5.8-5.3 14.54-7.94 26.23-7.94 11.77 0 20.57 2.65 26.42 7.94 5.84 5.29 8.76 13.03 8.76 23.2 0 20.76-11.73 31.14-35.18 31.14-23.29.01-34.93-10.37-34.93-31.14Zm43.32 10.6c1.72-2.19 2.58-5.72 2.58-10.59 0-4.79-.86-8.3-2.58-10.53-1.72-2.23-4.52-3.34-8.39-3.34-3.78 0-6.52 1.12-8.2 3.34-1.68 2.23-2.52 5.74-2.52 10.53 0 4.88.84 8.41 2.52 10.59 1.68 2.19 4.41 3.28 8.2 3.28 3.87 0 6.66-1.1 8.39-3.28ZM289.15 45.75h22.19l.63 4.54c2.44-1.68 5.55-3.07 9.33-4.16 3.78-1.09 7.69-1.64 11.73-1.64 7.48 0 12.94 1.85 16.39 5.55 3.45 3.7 5.17 9.41 5.17 17.15v38.33h-23.7V69.58c0-2.69-.61-4.62-1.83-5.8-1.22-1.18-3.26-1.76-6.12-1.76-1.76 0-3.57.4-5.42 1.2-1.85.8-3.4 1.83-4.67 3.09v39.21h-23.7V45.75ZM354.66 45.75h24.71l11.35 35.05 11.35-35.05h24.71l-23.58 59.77h-24.97l-23.57-59.77Z"
      style={{ fill: "#111", fillRule: "nonzero" }}
    />
    <path
      d="M434.24 100.38c-7.12-5.34-10.45-14.61-10.45-24.62 0-9.75 2.65-17.78 8.7-23.33 6.05-5.55 15.27-7.94 26.91-7.94 10.71 0 19.13 2.48 25.28 7.44 6.14 4.96 9.22 11.73 9.22 20.3V82.7h-45.07c1.12 3.11 2.54 5.36 6.03 6.75 3.49 1.39 8.36 2.08 14.59 2.08 3.72 0 7.52-.29 11.38-.88 1.36-.21 3.6-.54 4.78-.79v14.53c-5.89 1.6-13.74 2.4-22.59 2.4-11.91-.01-21.66-1.07-28.78-6.41ZM469 69.84c0-2.96-3.41-9.33-10.26-9.33-6.18 0-10.26 6.27-10.26 9.33H469Z"
      style={{ fill: "#111", fillRule: "nonzero" }}
    />
    <path
      d="M100.22 100.4c13.1-1.43 25.45-8.29 32.25-19.74-3.22 28.32-34.73 46.22-60.45 35.23-2.37-1.01-4.41-2.69-5.81-4.85-5.78-8.92-7.68-20.27-4.95-30.57 7.8 13.23 23.66 21.34 38.96 19.93Z"
      style={{ fill: "#f3b01c", fillRule: "nonzero" }}
    />
    <path
      d="M60.78 72.16c-5.31 12.06-5.54 26.18.97 37.8C38.84 93.02 39.09 56.77 61.47 40c2.07-1.55 4.53-2.47 7.11-2.61 10.61-.55 21.39 3.48 28.95 10.99-15.36.15-30.32 9.82-36.75 23.78Z"
      style={{ fill: "#8d2676", fillRule: "nonzero" }}
    />
    <path
      d="M104.94 52.09c-7.75-10.62-19.88-17.85-33.17-18.07 25.69-11.46 57.29 7.12 60.73 34.59.32 2.55-.1 5.15-1.25 7.45-4.8 9.58-13.7 17.01-24.1 19.76 7.62-13.89 6.68-30.86-2.21-43.73Z"
      style={{ fill: "#ee342f", fillRule: "nonzero" }}
    />
  </svg>
);

export { ConvexWordmarkLight };
```

### `components/ui/svgs/convexWordmarkDark.tsx`

```tsx
import type { SVGProps } from "react";

const ConvexWordmarkDark = (props: SVGProps<SVGSVGElement>) => (
  <svg
    {...props}
    xmlSpace="preserve"
    style={{
      fillRule: "evenodd",
      clipRule: "evenodd",
      strokeLinejoin: "round",
      strokeMiterlimit: "2",
    }}
    viewBox="0 0 600 150"
  >
    <path
      d="m512.51 75.13-22.19-29.38h25.72l45.39 59.77h-25.97l-10.09-13.37-10.09 13.37h-25.85l23.08-30.39ZM534.89 45.75h25.6l-19.65 26.17-13-16.77 7.05-9.4ZM159.9 98.9c-6.18-5.25-9.27-13.01-9.27-23.26 0-10.25 3.15-18.01 9.46-23.26 6.3-5.25 14.92-7.88 25.85-7.88 4.54 0 8.55.31 12.04.95 3.49.63 6.83 1.7 10.02 3.22V65.3c-4.96-2.35-10.59-3.53-16.89-3.53-5.55 0-9.65 1.05-12.29 3.15-2.65 2.1-3.97 5.67-3.97 10.72 0 4.88 1.3 8.41 3.91 10.59 2.6 2.19 6.72 3.28 12.36 3.28 5.97 0 11.64-1.39 17.02-4.16v17.4c-5.97 2.69-13.41 4.03-22.32 4.03-11.11 0-19.74-2.63-25.92-7.88ZM213.52 75.63c0-10.17 2.9-17.9 8.7-23.2 5.8-5.3 14.54-7.94 26.23-7.94 11.77 0 20.57 2.65 26.42 7.94 5.84 5.29 8.76 13.03 8.76 23.2 0 20.76-11.73 31.14-35.18 31.14-23.29.01-34.93-10.37-34.93-31.14Zm43.32 10.6c1.72-2.19 2.58-5.72 2.58-10.59 0-4.79-.86-8.3-2.58-10.53-1.72-2.23-4.52-3.34-8.39-3.34-3.78 0-6.52 1.12-8.2 3.34-1.68 2.23-2.52 5.74-2.52 10.53 0 4.88.84 8.41 2.52 10.59 1.68 2.19 4.41 3.28 8.2 3.28 3.87 0 6.66-1.1 8.39-3.28ZM289.15 45.75h22.19l.63 4.54c2.44-1.68 5.55-3.07 9.33-4.16 3.78-1.09 7.69-1.64 11.73-1.64 7.48 0 12.94 1.85 16.39 5.55 3.45 3.7 5.17 9.41 5.17 17.15v38.33h-23.7V69.58c0-2.69-.61-4.62-1.83-5.8-1.22-1.18-3.26-1.76-6.12-1.76-1.76 0-3.57.4-5.42 1.2-1.85.8-3.4 1.83-4.67 3.09v39.21h-23.7V45.75ZM354.66 45.75h24.71l11.35 35.05 11.35-35.05h24.71l-23.58 59.77h-24.97l-23.57-59.77Z"
      style={{ fill: "#fff", fillRule: "nonzero" }}
    />
    <path
      d="M434.24 100.38c-7.12-5.34-10.45-14.61-10.45-24.62 0-9.75 2.65-17.78 8.7-23.33 6.05-5.55 15.27-7.94 26.91-7.94 10.71 0 19.13 2.48 25.28 7.44 6.14 4.96 9.22 11.73 9.22 20.3V82.7h-45.07c1.12 3.11 2.54 5.36 6.03 6.75 3.49 1.39 8.36 2.08 14.59 2.08 3.72 0 7.52-.29 11.38-.88 1.36-.21 3.6-.54 4.78-.79v14.53c-5.89 1.6-13.74 2.4-22.59 2.4-11.91-.01-21.66-1.07-28.78-6.41ZM469 69.84c0-2.96-3.41-9.33-10.26-9.33-6.18 0-10.26 6.27-10.26 9.33H469Z"
      style={{ fill: "#fff", fillRule: "nonzero" }}
    />
    <path
      d="M100.22 100.4c13.1-1.43 25.45-8.29 32.25-19.74-3.22 28.32-34.73 46.22-60.45 35.23-2.37-1.01-4.41-2.69-5.81-4.85-5.78-8.92-7.68-20.27-4.95-30.57 7.8 13.23 23.66 21.34 38.96 19.93Z"
      style={{ fill: "#f3b01c", fillRule: "nonzero" }}
    />
    <path
      d="M60.78 72.16c-5.31 12.06-5.54 26.18.97 37.8C38.84 93.02 39.09 56.77 61.47 40c2.07-1.55 4.53-2.47 7.11-2.61 10.61-.55 21.39 3.48 28.95 10.99-15.36.15-30.32 9.82-36.75 23.78Z"
      style={{ fill: "#8d2676", fillRule: "nonzero" }}
    />
    <path
      d="M104.94 52.09c-7.75-10.62-19.88-17.85-33.17-18.07 25.69-11.46 57.29 7.12 60.73 34.59.32 2.55-.1 5.15-1.25 7.45-4.8 9.58-13.7 17.01-24.1 19.76 7.62-13.89 6.68-30.86-2.21-43.73Z"
      style={{ fill: "#ee342f", fillRule: "nonzero" }}
    />
  </svg>
);

export { ConvexWordmarkDark };
```

### `components/ui/svgs/clerkWordmarkLight.tsx`

```tsx
import type { SVGProps } from "react";

const clerkWordmarkLight = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} viewBox="0 0 441 128">
    <path fill="#131316" d="M166.971 40.917c11.605 0 23.824 4.606 31.392 13.519a.14.14 0 0 1-.015.196l-11.393 9.858a.141.141 0 0 1-.198-.013 24.393 24.393 0 0 0-8.422-6.174 24.897 24.897 0 0 0-10.437-2.133c-13.41 0-22.35 9.192-22.35 22.63 0 6.713 2.223 12.345 6.087 16.29a22.093 22.093 0 0 0 7.464 4.805 22.461 22.461 0 0 0 8.799 1.511 26.7 26.7 0 0 0 10.378-1.996 26.24 26.24 0 0 0 8.635-5.752.141.141 0 0 1 .192-.007l11.645 10.047a.14.14 0 0 1 .013.2c-6.497 7.175-17.999 12.866-32.397 12.866-11.139 0-20.793-3.91-27.569-10.565C132.019 99.545 128 90.12 128 78.928c0-22.63 16.169-38.01 38.971-38.01Zm105.326.007c22.067 0 36.337 15.52 36.337 36.95a61.277 61.277 0 0 1-.457 6.659.141.141 0 0 1-.14.123h-54.261a.14.14 0 0 0-.136.171c2.321 10.287 10.27 16.557 21.26 16.557 3.579.075 7.126-.66 10.369-2.151a23.251 23.251 0 0 0 8.236-6.335.14.14 0 0 1 .199-.019l.447.373 11.163 9.719a.14.14 0 0 1 .018.194c-6.316 7.834-16.808 13.599-31.355 13.599-21.772 0-38.196-15.077-38.196-37.983 0-11.238 3.87-20.663 10.319-27.317a35.7 35.7 0 0 1 11.989-7.934 36.2 36.2 0 0 1 14.208-2.606Zm-46.636-28.948a.14.14 0 0 1 .141.14v103.509a.14.14 0 0 1-.141.141h-16.684a.14.14 0 0 1-.141-.141V12.117c0-.078.063-.141.141-.141h16.684Zm135.724 28.943a.14.14 0 0 1 .142.14v18.553c0 .081-.07.146-.151.14-1.944-.147-3.88-.29-5.072-.29-13.058 0-20.725 9.19-20.725 21.253v34.91a.14.14 0 0 1-.141.141h-16.683a.14.14 0 0 1-.141-.141v-73.52a.14.14 0 0 1 .141-.14h16.683a.14.14 0 0 1 .141.14V53.04c0 .057.047.103.104.103a.105.105 0 0 0 .083-.041c5.851-7.815 14.488-12.162 23.613-12.162l2.006-.022Zm26.947-28.943a.14.14 0 0 1 .141.14v63.165c0 .129.157.19.244.095l30.691-33.455a.142.142 0 0 1 .104-.046h20.063c.122 0 .187.145.105.236l-26.752 29.515a.142.142 0 0 0-.016.17l27.119 43.755a.14.14 0 0 1-.119.215h-19.033a.14.14 0 0 1-.12-.067l-19.234-30.912a.14.14 0 0 0-.119-.066h-.18a.144.144 0 0 0-.104.045l-12.612 13.55a.14.14 0 0 0-.037.096v17.213a.14.14 0 0 1-.141.141h-16.685a.14.14 0 0 1-.14-.141V12.117a.14.14 0 0 1 .14-.141h16.685ZM273.184 56.153a19.44 19.44 0 0 0-8.036 1.46 19.154 19.154 0 0 0-6.683 4.624 20.438 20.438 0 0 0-4.538 8.68.14.14 0 0 0 .135.173h37.036a.14.14 0 0 0 .135-.174c-2.156-8.804-8.293-14.763-18.049-14.763Z"/><circle cx="64" cy="64" r="20" fill="#6C47FF"/><path fill="#BAB1FF" d="M99.572 10.788c1.999 1.34 2.17 4.156.468 5.858L85.424 31.262c-1.32 1.32-3.37 1.53-5.033.678A35.846 35.846 0 0 0 64 28c-19.882 0-36 16.118-36 36a35.846 35.846 0 0 0 3.94 16.391c.851 1.663.643 3.712-.678 5.033L16.646 100.04c-1.702 1.702-4.519 1.531-5.858-.468C3.974 89.399 0 77.163 0 64 0 28.654 28.654 0 64 0c13.163 0 25.399 3.974 35.572 10.788Z"/><path fill="#6C47FF" d="M100.04 111.354c1.702 1.702 1.531 4.519-.468 5.858C89.399 124.026 77.164 128 64 128c-13.164 0-25.399-3.974-35.572-10.788-2-1.339-2.17-4.156-.468-5.858l14.615-14.616c1.321-1.32 3.37-1.53 5.033-.678A35.846 35.846 0 0 0 64 100a35.846 35.846 0 0 0 16.392-3.94c1.662-.852 3.712-.643 5.032.678l14.616 14.616Z"/>
  </svg>
);

export { clerkWordmarkLight };
```

### `components/ui/svgs/clerkWordmarkDark.tsx`

```tsx
import type { SVGProps } from "react";

const clerkWordmarkDark = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} viewBox="0 0 441 128">
    <path fill="#fff" d="M166.971 40.917c11.605 0 23.824 4.606 31.392 13.519a.14.14 0 0 1-.015.196l-11.393 9.858a.141.141 0 0 1-.198-.013 24.393 24.393 0 0 0-8.422-6.174 24.897 24.897 0 0 0-10.437-2.133c-13.41 0-22.35 9.192-22.35 22.63 0 6.713 2.223 12.345 6.087 16.29a22.093 22.093 0 0 0 7.464 4.805 22.461 22.461 0 0 0 8.799 1.511 26.7 26.7 0 0 0 10.378-1.996 26.24 26.24 0 0 0 8.635-5.752.141.141 0 0 1 .192-.007l11.645 10.047a.14.14 0 0 1 .013.2c-6.497 7.175-17.999 12.866-32.397 12.866-11.139 0-20.793-3.91-27.569-10.565C132.019 99.545 128 90.12 128 78.928c0-22.63 16.169-38.01 38.971-38.01Zm105.326.007c22.067 0 36.337 15.52 36.337 36.95a61.277 61.277 0 0 1-.457 6.659.141.141 0 0 1-.14.123h-54.261a.14.14 0 0 0-.136.171c2.321 10.287 10.27 16.557 21.26 16.557 3.579.075 7.126-.66 10.369-2.151a23.251 23.251 0 0 0 8.236-6.335.14.14 0 0 1 .199-.019l.447.373 11.163 9.719a.14.14 0 0 1 .018.194c-6.316 7.834-16.808 13.599-31.355 13.599-21.772 0-38.196-15.077-38.196-37.983 0-11.238 3.87-20.663 10.319-27.317a35.7 35.7 0 0 1 11.989-7.934 36.2 36.2 0 0 1 14.208-2.606Zm-46.636-28.948a.14.14 0 0 1 .141.14v103.509a.14.14 0 0 1-.141.141h-16.684a.14.14 0 0 1-.141-.141V12.117c0-.078.063-.141.141-.141h16.684Zm135.724 28.943a.14.14 0 0 1 .142.14v18.553c0 .081-.07.146-.151.14-1.944-.147-3.88-.29-5.072-.29-13.058 0-20.725 9.19-20.725 21.253v34.91a.14.14 0 0 1-.141.141h-16.683a.14.14 0 0 1-.141-.141v-73.52a.14.14 0 0 1 .141-.14h16.683a.14.14 0 0 1 .141.14V53.04c0 .057.047.103.104.103a.105.105 0 0 0 .083-.041c5.851-7.815 14.488-12.162 23.613-12.162l2.006-.022Zm26.947-28.943a.14.14 0 0 1 .141.14v63.165c0 .129.157.19.244.095l30.691-33.455a.142.142 0 0 1 .104-.046h20.063c.122 0 .187.145.105.236l-26.752 29.515a.142.142 0 0 0-.016.17l27.119 43.755a.14.14 0 0 1-.119.215h-19.033a.14.14 0 0 1-.12-.067l-19.234-30.912a.14.14 0 0 0-.119-.066h-.18a.144.144 0 0 0-.104.045l-12.612 13.55a.14.14 0 0 0-.037.096v17.213a.14.14 0 0 1-.141.141h-16.685a.14.14 0 0 1-.14-.141V12.117a.14.14 0 0 1 .14-.141h16.685ZM273.184 56.153a19.44 19.44 0 0 0-8.036 1.46 19.154 19.154 0 0 0-6.683 4.624 20.438 20.438 0 0 0-4.538 8.68.14.14 0 0 0 .135.173h37.036a.14.14 0 0 0 .135-.174c-2.156-8.804-8.293-14.763-18.049-14.763Z"/><circle cx="64" cy="64" r="20" fill="#fff"/><path fill="#fff" fillOpacity=".4" d="M99.572 10.788c1.999 1.34 2.17 4.156.468 5.858L85.424 31.262c-1.32 1.32-3.37 1.53-5.033.678A35.846 35.846 0 0 0 64 28c-19.882 0-36 16.118-36 36a35.846 35.846 0 0 0 3.94 16.391c.851 1.663.643 3.712-.678 5.033L16.646 100.04c-1.702 1.702-4.519 1.531-5.858-.468C3.974 89.399 0 77.163 0 64 0 28.654 28.654 0 64 0c13.163 0 25.399 3.974 35.572 10.788Z"/><path fill="#fff" d="M100.04 111.354c1.702 1.702 1.531 4.519-.468 5.858C89.399 124.026 77.164 128 64 128c-13.164 0-25.399-3.974-35.572-10.788-2-1.339-2.17-4.156-.468-5.858l14.615-14.616c1.321-1.32 3.37-1.53 5.033-.678A35.846 35.846 0 0 0 64 100a35.846 35.846 0 0 0 16.392-3.94c1.662-.852 3.712-.643 5.032.678l14.616 14.616Z"/>
  </svg>
);

export { clerkWordmarkDark };
```

### `components/ui/svgs/sanityWordmarkLight.tsx`

```tsx
import type { SVGProps } from "react";

const SanityWordmarkLight = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} fill="none" viewBox="0 0 435 154">
    <path
      fill="#0D0E12"
      d="M44.883 52.446c-11.465-8.649-23.07-15.344-23.07-25.108 0-5.856 5.17-11.853 12.305-11.853 12.865 0 20.412 13.39 27.824 30.125h4.612V7.112h-32.16C7.83 7.112 0 23.154 0 35.705c0 16.46 13.565 26.224 28.942 37.66 10.764 7.95 19.853 15.344 19.853 23.853 0 9.206-6.294 14.505-14.265 14.505-8.53 0-21.112-11.161-29.924-34.31H0v42.683h36.777c22.653 0 33.977-17.856 34.395-32.22.558-16.735-13.842-26.082-26.289-35.43ZM145.002 106.841V61.788c0-19.528-12.165-24.686-29.783-24.686H83.895l.141 31.803h5.171c5.453-13.53 13.283-23.43 21.671-23.43 7.271 0 10.488 6.279 10.488 12.833v6.138c-11.747 6.977-43.065 12.833-43.065 34.033 0 12.275 8.53 22.456 20.977 22.456 10.765 0 18.176-6.977 21.953-15.203.7 6.836 5.171 14.364 15.383 14.364h16.082v-6.138c-5.171 0-7.688-3.485-7.688-7.111l-.006-.006Zm-24.053-6.977c-2.236 3.21-5.736 6.836-9.93 6.836-5.871 0-9.647-4.466-9.647-13.39 0-10.181 13.7-16.735 19.577-21.617V99.87v-.006ZM270.145 28.453c8.947 0 14.541-6.279 14.541-14.364C284.686 6.002 279.092 0 270.145 0s-14.683 5.997-14.683 14.088c0 8.092 6.012 14.365 14.683 14.365ZM409.135 37.102v6.138c8.812 0 11.324 4.6 6.994 17.016l-10.488 28.312-13.424-34.45c-3.076-6.695-1.4-10.878 5.035-10.878v-6.138h-66.695V9.207h-6.294c-1.817 9.482-11.747 27.895-28.665 27.895v6.138h10.906v57.328c0 9.623 3.218 20.502 21.953 20.502h29.083V89.548h-5.17c-2.101 7.394-6.43 22.175-15.801 22.175-5.17 0-6.012-5.721-6.012-10.322V45.886h26.707c3.217 0 6.57.417 8.247 4.325l28.383 70.02c-5.453 12.416-14.824 14.364-31.601 9.206v24.551c4.336 0 15.518.141 17.477-.416 11.047-3.21 18.594-24.827 21.671-33.194l24.047-64.857c2.659-7.112 4.894-12.275 9.506-12.275v-6.138h-25.865l.006-.006ZM237.703 106.841V59.276c0-14.921-7.129-23.852-21.253-23.852-12.441 0-19.647 8.608-25.171 16.617V37.096h-31.883v6.138c5.453 0 7.83 3.344 7.83 7.252v56.349c0 3.767-2.794 7.112-7.83 7.112v6.137h39.713v-6.137c-5.036 0-7.83-3.345-7.83-7.112V59.646c3.224-4.272 6.935-8.878 13.141-8.878 5.871 0 9.23 4.741 9.23 10.462v45.611c0 3.767-2.794 7.111-7.83 7.111v6.138h39.713v-6.138c-5.036 0-7.83-3.344-7.83-7.111ZM284.127 106.841V37.102h-31.882v6.138c5.453 0 7.829 3.344 7.829 7.252v56.349c0 3.767-2.794 7.111-7.829 7.111v6.138h39.712v-6.138c-5.035 0-7.83-3.344-7.83-7.111Z"
    />
  </svg>
);

export { SanityWordmarkLight };
```

### `components/ui/svgs/sanityWordmarkDark.tsx`

```tsx
import type { SVGProps } from "react";

const SanityWordmarkDark = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} fill="none" viewBox="0 0 435 154">
    <path
      fill="white"
      d="M44.883 52.446c-11.465-8.649-23.07-15.344-23.07-25.108 0-5.856 5.17-11.853 12.305-11.853 12.865 0 20.412 13.39 27.824 30.125h4.612V7.112h-32.16C7.83 7.112 0 23.154 0 35.705c0 16.46 13.565 26.224 28.942 37.66 10.764 7.95 19.853 15.344 19.853 23.853 0 9.206-6.294 14.505-14.265 14.505-8.53 0-21.112-11.161-29.924-34.31H0v42.683h36.777c22.653 0 33.977-17.856 34.395-32.22.558-16.735-13.842-26.082-26.289-35.43ZM145.002 106.841V61.788c0-19.528-12.165-24.686-29.783-24.686H83.895l.141 31.803h5.171c5.453-13.53 13.283-23.43 21.671-23.43 7.271 0 10.488 6.279 10.488 12.833v6.138c-11.747 6.977-43.065 12.833-43.065 34.033 0 12.275 8.53 22.456 20.977 22.456 10.765 0 18.176-6.977 21.953-15.203.7 6.836 5.171 14.364 15.383 14.364h16.082v-6.138c-5.171 0-7.688-3.485-7.688-7.111l-.006-.006Zm-24.053-6.977c-2.236 3.21-5.736 6.836-9.93 6.836-5.871 0-9.647-4.466-9.647-13.39 0-10.181 13.7-16.735 19.577-21.617V99.87v-.006ZM270.145 28.453c8.947 0 14.541-6.279 14.541-14.364C284.686 6.002 279.092 0 270.145 0s-14.683 5.997-14.683 14.088c0 8.092 6.012 14.365 14.683 14.365ZM409.135 37.102v6.138c8.812 0 11.324 4.6 6.994 17.016l-10.488 28.312-13.424-34.45c-3.076-6.695-1.4-10.878 5.035-10.878v-6.138h-66.695V9.207h-6.294c-1.817 9.482-11.747 27.895-28.665 27.895v6.138h10.906v57.328c0 9.623 3.218 20.502 21.953 20.502h29.083V89.548h-5.17c-2.101 7.394-6.43 22.175-15.801 22.175-5.17 0-6.012-5.721-6.012-10.322V45.886h26.707c3.217 0 6.57.417 8.247 4.325l28.383 70.02c-5.453 12.416-14.824 14.364-31.601 9.206v24.551c4.336 0 15.518.141 17.477-.416 11.047-3.21 18.594-24.827 21.671-33.194l24.047-64.857c2.659-7.112 4.894-12.275 9.506-12.275v-6.138h-25.865l.006-.006ZM237.703 106.841V59.276c0-14.921-7.129-23.852-21.253-23.852-12.441 0-19.647 8.608-25.171 16.617V37.096h-31.883v6.138c5.453 0 7.83 3.344 7.83 7.252v56.349c0 3.767-2.794 7.112-7.83 7.112v6.137h39.713v-6.137c-5.036 0-7.83-3.345-7.83-7.112V59.646c3.224-4.272 6.935-8.878 13.141-8.878 5.871 0 9.23 4.741 9.23 10.462v45.611c0 3.767-2.794 7.111-7.83 7.111v6.138h39.713v-6.138c-5.036 0-7.83-3.344-7.83-7.111ZM284.127 106.841V37.102h-31.882v6.138c5.453 0 7.829 3.344 7.829 7.252v56.349c0 3.767-2.794 7.111-7.829 7.111v6.138h39.712v-6.138c-5.035 0-7.83-3.344-7.83-7.111Z"
    />
  </svg>
);

export { SanityWordmarkDark };
```

### `components/ui/svgs/mongodbWordmarkLight.tsx`

```tsx
import type { SVGProps } from "react";

const MongodbWordmarkLight = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} fill="none" viewBox="0 0 1102 278">
    <path
      fill="#001E2B"
      d="M82.323 28.644C71.537 15.847 62.249 2.85 60.35.15c-.2-.2-.5-.2-.7 0-1.897 2.7-11.185 15.697-21.971 28.494C-54.902 146.721 52.26 226.406 52.26 226.406l.9.6C53.958 239.303 55.955 257 55.955 257h7.99s1.998-17.597 2.797-29.994l.899-.7c.1.1 107.263-79.585 14.68-197.662ZM59.95 224.606s-4.793-4.099-6.092-6.198v-.201l5.793-128.574c0-.4.6-.4.6 0l5.792 128.574v.201c-1.299 2.099-6.093 6.198-6.093 6.198ZM260.501 198.369 215.845 89.301l-.1-.301h-34.744v7.331h5.607c1.702 0 3.304.703 4.506 1.909 1.201 1.205 1.802 2.812 1.802 4.519l-1.001 109.771c0 3.414-2.803 6.226-6.208 6.327l-5.707.1v7.231h33.843v-7.231l-3.505-.1c-3.404-.101-6.208-2.913-6.208-6.327V109.086l48.662 117.102c.7 1.707 2.302 2.812 4.105 2.812 1.802 0 3.404-1.105 4.105-2.812l47.56-114.491.701 100.833c0 3.515-2.804 6.327-6.308 6.427h-3.605v7.231H339v-7.231h-5.407c-3.404 0-6.208-2.912-6.308-6.327l-.3-109.771c0-3.515 2.803-6.327 6.208-6.427l5.807-.1V89h-33.843l-44.656 109.369ZM571.869 217.046c-1.105-1.106-1.707-2.615-1.707-4.426v-53.924c0-10.261-3.011-18.31-9.035-24.044-5.922-5.735-14.154-8.652-24.393-8.652-14.356 0-25.699 5.835-33.63 17.304-.1.201-.401.302-.702.302-.302 0-.502-.202-.502-.503l-3.715-14.387h-6.224L476 137.871v5.03h4.116c1.907 0 3.513.503 4.618 1.51 1.104 1.006 1.706 2.515 1.706 4.627v63.481c0 1.811-.602 3.32-1.706 4.427-1.105 1.106-2.61 1.71-4.417 1.71h-4.016V226h36.741v-7.344h-4.015c-1.807 0-3.313-.604-4.417-1.71-1.104-1.107-1.707-2.616-1.707-4.427v-42.052c0-5.332 1.205-10.664 3.414-15.896 2.308-5.13 5.721-9.456 10.239-12.776 4.517-3.32 9.938-4.93 16.162-4.93 7.027 0 12.348 2.213 15.66 6.64 3.313 4.427 5.02 10.161 5.02 17.002v51.912c0 1.81-.603 3.319-1.707 4.426-1.104 1.107-2.61 1.71-4.417 1.71h-4.015v7.344H580v-7.344h-4.015c-1.506.202-2.912-.402-4.116-1.509ZM907.546 97.212C897.39 91.804 886.039 89 873.792 89H826v7.31h4.68c1.792 0 3.385.702 4.978 2.304 1.494 1.502 2.29 3.205 2.29 5.007v107.758c0 1.802-.796 3.505-2.29 5.007-1.493 1.502-3.186 2.303-4.978 2.303H826V226h47.792c12.247 0 23.598-2.804 33.754-8.212 10.155-5.408 18.42-13.42 24.394-23.634 5.974-10.215 9.06-22.533 9.06-36.554 0-14.02-3.086-26.238-9.06-36.553-6.074-10.415-14.239-18.327-24.394-23.835Zm14.238 60.188c0 12.819-2.29 23.634-6.771 32.347-4.48 8.713-10.455 15.222-17.823 19.429-7.367 4.206-15.532 6.309-24.294 6.309h-9.658c-1.792 0-3.385-.701-4.978-2.304-1.494-1.502-2.29-3.204-2.29-5.007V106.526c0-1.803.697-3.405 2.29-5.008 1.493-1.502 3.186-2.303 4.978-2.303h9.658c8.762 0 16.927 2.103 24.294 6.309 7.368 4.206 13.343 10.716 17.823 19.428 4.481 8.813 6.771 19.729 6.771 32.448ZM1053.97 164.711c-4.42-5.108-12.95-9.414-22.98-11.718 13.85-6.91 20.97-16.624 20.97-29.142 0-6.81-1.8-12.919-5.42-18.127-3.61-5.207-8.73-9.413-15.25-12.318-6.53-2.904-14.16-4.406-22.79-4.406h-54.098v7.31h4.316c1.806 0 3.412.702 5.018 2.304 1.506 1.502 2.309 3.205 2.309 5.007v107.758c0 1.802-.803 3.505-2.309 5.007-1.505 1.502-3.212 2.303-5.018 2.303H954V226h58.72c8.93 0 17.26-1.502 24.79-4.507 7.53-3.004 13.55-7.41 17.87-13.219 4.41-5.808 6.62-12.919 6.62-21.131-.1-8.813-2.71-16.324-8.03-22.432Zm-67.349 48.57c-1.506-1.502-2.309-3.204-2.309-5.007v-48.371h27.908c9.83 0 17.36 2.504 22.58 7.511 5.22 5.008 7.83 11.517 7.83 19.529 0 4.807-1.21 9.514-3.41 13.82-2.31 4.407-5.73 7.912-10.34 10.616-4.52 2.704-10.14 4.106-16.66 4.106h-20.581c-1.806 0-3.412-.701-5.018-2.204Zm-2.208-63.693v-42.962c0-1.803.702-3.405 2.308-5.008 1.506-1.502 3.212-2.303 5.019-2.303h13.25c9.53 0 16.56 2.404 20.98 7.01 4.41 4.707 6.62 10.716 6.62 18.127 0 7.611-2.11 13.72-6.22 18.326-4.12 4.507-10.34 6.81-18.57 6.81h-23.387ZM431.999 132.388c-7.67-4.192-16.236-6.388-25.499-6.388-9.263 0-17.929 2.096-25.499 6.388-7.67 4.191-13.746 10.279-18.228 17.964C358.291 158.037 356 167.02 356 177s2.291 18.963 6.773 26.648c4.482 7.685 10.558 13.773 18.228 17.965 7.67 4.191 16.236 6.387 25.499 6.387 9.263 0 17.929-2.096 25.499-6.387 7.67-4.192 13.746-10.28 18.228-17.965C454.709 195.963 457 186.98 457 177s-2.291-18.963-6.773-26.648c-4.482-7.685-10.558-13.773-18.228-17.964ZM439.37 177c0 12.276-2.988 22.256-8.965 29.442-5.876 7.186-13.944 10.879-23.905 10.879-9.96 0-18.029-3.693-23.905-10.879-5.977-7.186-8.965-17.166-8.965-29.442s2.988-22.256 8.965-29.442c5.876-7.186 13.945-10.879 23.905-10.879 9.961 0 18.029 3.693 23.905 10.879 5.977 7.186 8.965 17.166 8.965 29.442ZM784.999 132.388c-7.67-4.192-16.236-6.388-25.499-6.388-9.263 0-17.929 2.096-25.499 6.388-7.67 4.191-13.746 10.279-18.228 17.964C711.291 158.037 709 167.02 709 177s2.291 18.963 6.773 26.648c4.482 7.685 10.558 13.773 18.228 17.965 7.67 4.191 16.236 6.387 25.499 6.387 9.263 0 17.929-2.096 25.499-6.387 7.67-4.192 13.746-10.28 18.228-17.965C807.709 195.963 810 186.98 810 177s-2.291-18.963-6.773-26.648c-4.482-7.685-10.658-13.773-18.228-17.964ZM792.37 177c0 12.276-2.989 22.256-8.965 29.442-5.877 7.186-13.945 10.879-23.905 10.879-9.961 0-18.029-3.693-23.905-10.879-5.977-7.186-8.965-17.166-8.965-29.442 0-12.376 2.988-22.256 8.965-29.442 5.876-7.186 13.944-10.879 23.905-10.879 9.96 0 18.028 3.693 23.905 10.879 5.877 7.186 8.965 17.166 8.965 29.442ZM642.64 126c-8.026 0-15.348 1.704-21.969 5.113-6.621 3.409-11.837 8.022-15.549 13.937-3.711 5.815-5.617 12.333-5.617 19.251 0 6.216 1.404 11.931 4.313 17.045 2.809 4.913 6.621 9.023 11.436 12.432l-14.345 19.452c-1.806 2.406-2.006 5.614-.702 8.221 1.404 2.707 4.012 4.312 7.022 4.312h4.113c-4.013 2.707-7.223 5.915-9.43 9.725-2.608 4.311-3.912 8.823-3.912 13.435 0 8.623 3.812 15.742 11.335 21.056 7.424 5.314 17.856 8.021 30.997 8.021 9.129 0 17.856-1.504 25.781-4.412 8.025-2.907 14.545-7.219 19.36-12.833 4.916-5.615 7.424-12.433 7.424-20.254 0-8.221-3.01-14.037-10.032-19.651-6.018-4.713-15.448-7.219-27.185-7.219h-40.125c-.1 0-.201-.101-.201-.101s-.1-.2 0-.3l10.433-14.037a36.898 36.898 0 0 0 7.724 2.606c2.407.502 5.116.702 8.125.702 8.427 0 16.051-1.704 22.671-5.113 6.621-3.409 11.938-8.021 15.75-13.937 3.811-5.815 5.717-12.332 5.717-19.25 0-7.42-3.611-20.956-13.442-27.874 0-.1.101-.1.101-.1L694 138.633v-9.926h-34.508c-5.417-1.704-11.034-2.707-16.852-2.707Zm12.037 62.765c-3.812 2.005-7.925 3.108-12.037 3.108-6.721 0-12.64-2.406-17.656-7.118-5.015-4.713-7.523-11.631-7.523-20.454s2.508-15.742 7.523-20.454c5.016-4.712 10.935-7.119 17.656-7.119 4.213 0 8.225 1.003 12.037 3.108 3.812 2.006 6.922 5.114 9.43 9.225 2.407 4.111 3.711 9.224 3.711 15.24 0 6.116-1.204 11.229-3.711 15.24-2.408 4.111-5.618 7.219-9.43 9.224Zm-27.185 36.897h27.185c7.524 0 12.339 1.504 15.549 4.713 3.21 3.208 4.815 7.519 4.815 12.533 0 7.319-2.909 13.335-8.727 17.847-5.819 4.512-13.643 6.818-23.273 6.818-8.427 0-15.449-1.905-20.565-5.515-5.116-3.609-7.724-9.124-7.724-16.142 0-4.412 1.204-8.523 3.612-12.132 2.407-3.61 5.316-6.217 9.128-8.122ZM1082.35 224.327c-1.98-1.083-3.47-2.658-4.66-4.528-1.09-1.968-1.69-4.035-1.69-6.299 0-2.264.6-4.429 1.69-6.299 1.09-1.969 2.68-3.445 4.66-4.528 1.99-1.082 4.17-1.673 6.65-1.673 2.48 0 4.66.591 6.65 1.673 1.98 1.083 3.47 2.658 4.66 4.528 1.09 1.968 1.69 4.035 1.69 6.299 0 2.264-.6 4.429-1.69 6.299-1.09 1.969-2.68 3.445-4.66 4.528-1.99 1.082-4.17 1.673-6.65 1.673-2.38 0-4.66-.492-6.65-1.673Zm12.21-1.378c1.68-.886 2.88-2.264 3.87-3.839a11.79 11.79 0 0 0 1.39-5.61c0-2.067-.5-3.937-1.39-5.61a9.147 9.147 0 0 0-3.87-3.839c-1.69-.886-3.48-1.378-5.56-1.378-2.08 0-3.87.492-5.56 1.378-1.68.886-2.88 2.264-3.87 3.839a11.79 11.79 0 0 0-1.39 5.61c0 2.067.5 3.937 1.39 5.61a9.147 9.147 0 0 0 3.87 3.839c1.69.886 3.48 1.378 5.56 1.378 2.08 0 3.97-.492 5.56-1.378Zm-10.92-3.445v-.886l.2-.098h.6c.19 0 .39-.099.49-.197.2-.197.2-.295.2-.492v-9.154c0-.197-.1-.393-.2-.492-.2-.197-.3-.197-.49-.197h-.6l-.2-.098v-.886l.2-.098h5.16c1.49 0 2.58.295 3.47.984.9.689 1.29 1.575 1.29 2.756 0 .886-.29 1.771-.99 2.362-.69.689-1.49 1.083-2.48 1.181l1.19.394 2.28 3.641c.2.296.4.394.7.394h.59l.1.099v.885l-.1.099h-3.07l-.2-.099-3.18-5.315h-.79v3.544c0 .197.1.393.2.492.2.197.3.197.49.197h.6l.2.098v.886l-.2.098h-5.26l-.2-.098Zm5.06-6.496c.8 0 1.49-.197 1.89-.689.39-.394.69-1.083.69-1.87 0-.788-.2-1.378-.59-1.87-.4-.492-1-.689-1.69-.689h-.4a.74.74 0 0 0-.49.197c-.2.196-.2.295-.2.492v4.429h.79Z"
    />
  </svg>
);

export { MongodbWordmarkLight };
```

### `components/ui/svgs/mongodbWordmarkDark.tsx`

```tsx
import type { SVGProps } from "react";

const MongodbWordmarkDark = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} fill="none" viewBox="0 0 1102 278">
    <path
      fill="#00ED64"
      d="M82.323 28.644C71.537 15.847 62.249 2.85 60.35.15c-.2-.2-.5-.2-.7 0-1.897 2.7-11.185 15.697-21.971 28.494C-54.902 146.721 52.26 226.406 52.26 226.406l.9.6C53.958 239.303 55.955 257 55.955 257h7.99s1.998-17.597 2.797-29.994l.899-.7c.1.1 107.263-79.585 14.68-197.662ZM59.95 224.706s-4.793-4.099-6.092-6.199v-.199l5.793-128.575c0-.4.6-.4.6 0l5.792 128.575v.199c-1.299 2.1-6.093 6.199-6.093 6.199Z"
    />
    <path
      fill="#fff"
      d="M260.501 197.588 215.845 89.299l-.1-.299h-34.744v7.279h5.607c1.702 0 3.304.698 4.506 1.895 1.201 1.196 1.802 2.792 1.802 4.487l-1.001 108.986c0 3.39-2.803 6.182-6.208 6.282l-5.707.1v7.179h33.843v-7.179l-3.505-.1c-3.404-.1-6.208-2.892-6.208-6.282V108.943l48.662 116.265c.7 1.695 2.302 2.792 4.105 2.792 1.802 0 3.404-1.097 4.105-2.792l47.56-113.673.701 100.112c0 3.49-2.804 6.282-6.308 6.382h-3.605v7.179H339v-7.179h-5.407c-3.404 0-6.208-2.892-6.308-6.282l-.3-108.987c0-3.49 2.803-6.282 6.208-6.381l5.807-.1V89h-33.843l-44.656 108.588ZM571.869 216.136c-1.105-1.096-1.707-2.59-1.707-4.382v-53.385c0-10.159-3.011-18.127-9.035-23.804-5.922-5.677-14.154-8.565-24.393-8.565-14.356 0-25.699 5.777-33.63 17.131-.1.199-.401.299-.702.299-.302 0-.502-.2-.502-.498l-3.715-14.243h-6.224L476 137.753v4.979h4.116c1.907 0 3.513.498 4.618 1.494 1.104.996 1.706 2.49 1.706 4.582v62.846c0 1.793-.602 3.287-1.706 4.382-1.105 1.096-2.61 1.693-4.417 1.693h-4.016V225h36.741v-7.271h-4.015c-1.807 0-3.313-.597-4.417-1.693-1.104-1.095-1.707-2.589-1.707-4.382v-41.632c0-5.279 1.205-10.557 3.414-15.736 2.308-5.08 5.721-9.362 10.239-12.649 4.517-3.287 9.938-4.88 16.162-4.88 7.027 0 12.348 2.191 15.66 6.573 3.313 4.382 5.02 10.059 5.02 16.832v51.392c0 1.793-.603 3.287-1.707 4.383-1.104 1.095-2.61 1.693-4.417 1.693h-4.015v7.27H580v-7.27h-4.015c-1.506.199-2.912-.399-4.116-1.494ZM907.546 97.212C897.39 91.804 886.039 89 873.792 89H826v7.31h4.68c1.792 0 3.385.702 4.978 2.304 1.494 1.502 2.29 3.205 2.29 5.007v107.758c0 1.802-.796 3.505-2.29 5.007-1.493 1.502-3.186 2.303-4.978 2.303H826V226h47.792c12.247 0 23.598-2.804 33.754-8.212 10.155-5.408 18.42-13.42 24.394-23.634 5.974-10.215 9.06-22.533 9.06-36.554 0-14.02-3.086-26.238-9.06-36.553-6.074-10.415-14.239-18.427-24.394-23.835Zm14.238 60.188c0 12.819-2.29 23.634-6.771 32.347-4.48 8.713-10.455 15.222-17.823 19.428-7.367 4.207-15.532 6.31-24.294 6.31h-9.658c-1.792 0-3.385-.701-4.978-2.304-1.494-1.502-2.29-3.204-2.29-5.007V106.526c0-1.803.697-3.405 2.29-5.008 1.493-1.502 3.186-2.303 4.978-2.303h9.658c8.762 0 16.927 2.103 24.294 6.309 7.368 4.206 13.343 10.716 17.823 19.429 4.481 8.712 6.771 19.628 6.771 32.447ZM1053.97 164.711c-4.42-5.108-12.95-9.414-22.98-11.718 13.85-6.91 20.97-16.624 20.97-29.142 0-6.81-1.8-12.919-5.42-18.127-3.61-5.207-8.73-9.413-15.25-12.318-6.53-2.904-14.16-4.406-22.79-4.406h-54.098v7.31h4.316c1.806 0 3.412.702 5.018 2.304 1.506 1.502 2.309 3.205 2.309 5.007v107.758c0 1.802-.803 3.505-2.309 5.007-1.505 1.502-3.212 2.303-5.018 2.303H954V226h58.72c8.93 0 17.26-1.502 24.79-4.507 7.53-3.004 13.55-7.41 17.87-13.219 4.41-5.808 6.62-12.919 6.62-21.131-.1-8.813-2.71-16.324-8.03-22.432Zm-67.349 48.57c-1.506-1.502-2.309-3.204-2.309-5.007v-48.37h27.908c9.83 0 17.36 2.503 22.58 7.51 5.22 5.008 7.83 11.517 7.83 19.529 0 4.807-1.21 9.514-3.41 13.82-2.31 4.407-5.73 7.912-10.34 10.616-4.52 2.704-10.14 4.106-16.66 4.106h-20.581c-1.806.1-3.412-.701-5.018-2.204Zm-2.208-63.693v-42.962c0-1.803.702-3.405 2.308-5.008 1.506-1.502 3.212-2.303 5.019-2.303h13.25c9.53 0 16.56 2.404 20.98 7.01 4.41 4.707 6.62 10.716 6.62 18.127 0 7.611-2.11 13.72-6.22 18.327-4.12 4.506-10.34 6.809-18.57 6.809h-23.387ZM431.999 132.387c-7.67-4.191-16.236-6.387-25.499-6.387-9.263 0-17.929 2.096-25.499 6.387-7.67 4.192-13.746 10.28-18.228 17.965C358.291 158.037 356 167.02 356 177s2.291 18.963 6.773 26.648c4.482 7.685 10.558 13.773 18.228 17.965 7.67 4.191 16.236 6.387 25.499 6.387 9.263 0 17.929-2.096 25.499-6.387 7.67-4.192 13.746-10.28 18.228-17.965C454.709 195.963 457 186.98 457 177s-2.291-18.963-6.773-26.648c-4.482-7.685-10.558-13.673-18.228-17.965ZM439.37 177c0 12.276-2.988 22.256-8.965 29.442-5.876 7.186-13.944 10.879-23.905 10.879-9.96 0-18.029-3.693-23.905-10.879-5.977-7.186-8.965-17.166-8.965-29.442s2.988-22.256 8.965-29.442c5.876-7.186 13.945-10.879 23.905-10.879 9.961 0 18.029 3.693 23.905 10.879 5.977 7.285 8.965 17.166 8.965 29.442ZM784.999 132.387c-7.67-4.191-16.236-6.387-25.499-6.387-9.263 0-17.929 2.096-25.499 6.387-7.67 4.192-13.746 10.28-18.228 17.965C711.291 158.037 709 167.02 709 177s2.291 18.963 6.773 26.648c4.482 7.685 10.558 13.773 18.228 17.965 7.67 4.191 16.236 6.387 25.499 6.387 9.263 0 17.929-2.096 25.499-6.387 7.67-4.192 13.746-10.28 18.228-17.965C807.709 195.963 810 186.98 810 177s-2.291-18.963-6.773-26.648c-4.482-7.685-10.658-13.673-18.228-17.965ZM792.37 177c0 12.276-2.989 22.256-8.965 29.442-5.877 7.186-13.945 10.879-23.905 10.879-9.961 0-18.029-3.693-23.905-10.879-5.977-7.186-8.965-17.166-8.965-29.442 0-12.376 2.988-22.256 8.965-29.442 5.876-7.186 13.944-10.879 23.905-10.879 9.96 0 18.028 3.693 23.905 10.879 5.877 7.285 8.965 17.166 8.965 29.442ZM642.64 126c-8.026 0-15.348 1.704-21.969 5.113-6.621 3.409-11.837 8.022-15.549 13.937-3.711 5.815-5.617 12.333-5.617 19.251 0 6.216 1.404 11.931 4.313 17.045 2.809 4.913 6.621 9.023 11.436 12.432l-14.345 19.452c-1.806 2.406-2.006 5.614-.702 8.221 1.404 2.707 4.012 4.312 7.022 4.312h4.113c-4.013 2.707-7.223 5.915-9.43 9.725-2.608 4.312-3.912 8.823-3.912 13.435 0 8.623 3.812 15.742 11.335 21.056 7.424 5.314 17.856 8.021 30.997 8.021 9.129 0 17.856-1.504 25.781-4.412 8.025-2.907 14.545-7.219 19.36-12.833 4.916-5.615 7.424-12.433 7.424-20.254 0-8.221-3.01-14.037-10.032-19.651-6.018-4.713-15.448-7.219-27.185-7.219h-40.125c-.1 0-.201-.101-.201-.101s-.1-.2 0-.3l10.433-14.037a36.898 36.898 0 0 0 7.724 2.606c2.407.502 5.116.702 8.125.702 8.427 0 16.051-1.704 22.671-5.113 6.621-3.409 11.938-8.021 15.75-13.937 3.811-5.815 5.717-12.332 5.717-19.25 0-7.42-3.611-20.956-13.442-27.874 0-.1.101-.1.101-.1L694 138.633v-9.926h-34.508c-5.417-1.805-11.034-2.707-16.852-2.707Zm12.037 62.665c-3.812 2.005-7.925 3.108-12.037 3.108-6.721 0-12.64-2.406-17.656-7.119-5.015-4.712-7.523-11.63-7.523-20.453 0-8.824 2.508-15.742 7.523-20.454 5.016-4.713 10.935-7.119 17.656-7.119 4.213 0 8.225 1.003 12.037 3.108 3.812 2.005 6.922 5.114 9.43 9.224 2.407 4.111 3.711 9.225 3.711 15.241 0 6.116-1.204 11.229-3.711 15.24-2.408 4.11-5.618 7.219-9.43 9.224Zm-27.185 36.997h27.185c7.524 0 12.339 1.504 15.549 4.713 3.21 3.208 4.815 7.519 4.815 12.533 0 7.319-2.909 13.335-8.727 17.847-5.819 4.512-13.643 6.818-23.273 6.818-8.427 0-15.449-1.905-20.565-5.515-5.116-3.609-7.724-9.124-7.724-16.142 0-4.412 1.204-8.523 3.612-12.132 2.407-3.61 5.316-6.217 9.128-8.122ZM1082.35 224.327c-1.98-1.083-3.47-2.658-4.66-4.528-1.09-1.968-1.69-4.035-1.69-6.299 0-2.264.6-4.429 1.69-6.299 1.09-1.969 2.68-3.445 4.66-4.528 1.99-1.082 4.17-1.673 6.65-1.673 2.48 0 4.66.591 6.65 1.673 1.98 1.083 3.47 2.658 4.66 4.528 1.09 1.968 1.69 4.035 1.69 6.299 0 2.264-.6 4.429-1.69 6.299-1.09 1.969-2.68 3.445-4.66 4.528-1.99 1.082-4.17 1.673-6.65 1.673-2.38 0-4.66-.591-6.65-1.673Zm12.21-1.477c1.68-.885 2.88-2.263 3.87-3.838a11.792 11.792 0 0 0 1.39-5.61c0-2.067-.5-3.937-1.39-5.611a9.145 9.145 0 0 0-3.87-3.838c-1.69-.886-3.48-1.378-5.56-1.378-2.08 0-3.87.492-5.56 1.378-1.68.886-2.88 2.264-3.87 3.838a11.796 11.796 0 0 0-1.39 5.611c0 2.066.5 3.937 1.39 5.61a9.139 9.139 0 0 0 3.87 3.838c1.69.886 3.48 1.378 5.56 1.378 2.08 0 3.97-.492 5.56-1.378Zm-10.92-3.444v-.886l.2-.099h.6c.19 0 .39-.098.49-.197.2-.196.2-.295.2-.492v-9.153c0-.197-.1-.394-.2-.492-.2-.197-.3-.197-.49-.197h-.6l-.2-.099v-.885l.2-.099h5.16c1.49 0 2.58.295 3.47.984.9.689 1.29 1.575 1.29 2.756 0 .886-.29 1.772-.99 2.362-.69.689-1.49 1.083-2.48 1.182l1.19.393 2.28 3.642c.2.295.4.394.7.394h.59l.1.098v.886l-.1.098h-3.07l-.2-.098-3.18-5.315h-.79v3.543c0 .197.1.394.2.492.2.197.3.197.49.197h.6l.2.099v.886l-.2.098h-5.26l-.2-.098Zm5.06-6.398c.8 0 1.49-.197 1.89-.689.39-.394.69-1.083.69-1.87 0-.788-.2-1.378-.59-1.87-.4-.492-1-.689-1.69-.689h-.4a.74.74 0 0 0-.49.197c-.2.196-.2.295-.2.492v4.429h.79Z"
    />
  </svg>
);

export { MongodbWordmarkDark };
```

### `components/ui/svgs/tursoWordmarkLight.tsx`

```tsx
import type { SVGProps } from "react";

const TursoWordmarkLight = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} fill="none" viewBox="0 0 740 170">
    <g fill="#183134">
      <path d="m171.172 0v30.78l-14.54 3.75-9.11-10.97-4.809 9.46c-9.92-2.7-23.58-4.44-42.37-4.44-18.7905 0-32.4505 1.75-42.3705 4.44l-4.81-9.46-9.11 10.97-14.54-3.75v-30.78s-24.48996 20.67-29.159961 48.61l32.139861 11.12c1.05 19.43 9.7901 71.88 12.2901 76.64 2.66 5.07 16.7799 19.56 27.8299 25.13 0 0 4.0001-4.23 6.4401-7.96 3.1 3.65 19.11 16.45 21.3005 16.45 2.19 0 18.199-12.8 21.299-16.45 2.44 3.73 6.441 7.96 6.441 7.96 11.05-5.57 25.169-20.06 27.829-25.13 2.5-4.76 11.241-57.21 12.291-76.64l32.14-11.12c-4.69-27.94-29.181-48.61-29.181-48.61zm-17.04 93.36-21.75 1.94 1.91 26.67s-13.229 10.95-33.959 10.95c-20.7305 0-33.9606-10.95-33.9606-10.95l1.9101-26.67-21.75-1.94-3.72-30.04 36.0499 12.48-2.7999 37.39c6.7 1.7 13.75 3.39 24.2805 3.39 10.53 0 17.569-1.69 24.269-3.39l-2.8-37.39 36.05-12.48-3.72 30.04z" />
      <path d="m239.632 49.4199 31.07 3.82v89.5901h27.96v-89.5901l30.9-3.82v-22.25h-89.93z" />
      <path d="m405.913 96.5299c0 13.0401-6.36 22.2301-19.59 22.2301s-19.93-9.02-19.93-22.0601v-69.53h-27.96v69.53c0 28.9101 14.9 48.3001 47.56 48.3001s47.89-20.56 47.89-48.4701v-69.36h-27.96v69.36z" />
      <path d="m523.962 61.5999c0-21.89-12.23-34.43-36.5-34.43h-39.85v115.6501h27.8v-47.4701h7.54l22.77 47.4701h29.97l-26.46-52.8101c9.38-5.68 14.74-15.54 14.74-28.41zm-38.85 11.03h-9.71v-21.39h9.71c6.19 0 10.04 4.18 10.04 10.53s-3.68 10.86-10.04 10.86z" />
      <path d="m588.092 74.47-14.57-5.68c-7.87-3.01-10.55-6.35-10.55-11.2s3.18-8.69 9.55-8.69 10.21 5.01 10.05 12.2h25.78c1.18-20.56-8.7-36.1-36-36.1-22.6 0-37.34 14.04-37.34 34.26 0 14.04 6.19 25.4 17.92 31.42 6.36 3.18 12.22 5.35 18.08 7.69 7.53 2.84 12.22 6.02 12.22 12.53s-4.69 10.2-11.05 10.2c-9.21 0-12.06-7.19-11.72-14.54h-26.46c-1 16.88 5.02 38.44 38.18 38.44 23.27 0 39.85-13.7 39.85-37.1 0-17.21-8.88-27.24-23.95-33.43z" />
      <path d="m678.182 25c-35.66 0-60.109 26.57-60.109 60.17s23.109 59.83 60.949 59.83 60.621-26.57 60.621-60.33-23.611-59.67-61.461-59.67zm.671 93.93c-19.26 0-31.48-14.87-31.48-33.93s10.889-33.93 31.309-33.93 31.651 15.04 31.651 33.93-11.05 33.93-31.48 33.93z" />
    </g>
  </svg>
);

export { TursoWordmarkLight };
```

### `components/ui/svgs/tursoWordmarkDark.tsx`

```tsx
import type { SVGProps } from "react";

const TursoWordmarkDark = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} viewBox="0 0 741 170" fill="none">
    <path
      d="M100.827 170C98.6375 170 82.6275 157.2 79.5275 153.55C77.0875 157.28 73.0875 161.51 73.0875 161.51C62.0375 155.94 47.9175 141.45 45.2575 136.38C42.6375 131.38 33.1275 73.8001 32.8675 57.0801C32.5275 47.6701 38.7175 28.5901 100.827 28.5901C162.938 28.5901 169.118 47.6701 168.788 57.0801C168.538 73.8001 159.027 131.38 156.397 136.38C153.737 141.45 139.617 155.94 128.567 161.51C128.567 161.51 124.567 157.28 122.127 153.55C119.027 157.2 103.017 170 100.827 170Z"
      fill="#1EBCA1"
    />
    <path
      d="M100.827 132.92C80.0975 132.92 66.8675 121.97 66.8675 121.97L68.7775 95.3001L47.0275 93.3601L43.1175 61.8101H158.547L154.637 93.3601L132.887 95.3001L134.797 121.97C134.797 121.97 121.567 132.92 100.837 132.92H100.827Z"
      fill="#183134"
    />
    <path
      d="M122.308 75.79L200.828 48.61C196.158 20.67 171.668 0 171.668 0V30.78L157.128 34.53L148.018 23.56L140.218 38.9L100.838 49.06L61.4575 38.9L53.6575 23.56L44.5475 34.53L30.0075 30.78V0C30.0075 0 5.49751 20.67 0.827515 48.61L79.3475 75.79L76.5475 113.18C83.2475 114.88 90.2975 116.57 100.828 116.57C111.358 116.57 118.398 114.88 125.098 113.18L122.298 75.79H122.308Z"
      fill="#4FF8D2"
    />
    <path
      d="M299.158 53.2399V142.82H271.198V53.2399L240.138 49.4199V27.1699H330.058V49.4199L299.158 53.2399Z"
      fill="#4FF7D1"
    />
    <path
      d="M338.928 96.6999V27.1699H366.888V96.6999C366.888 109.74 373.088 118.76 386.818 118.76C400.548 118.76 406.408 109.57 406.408 96.5299V27.1699H434.368V96.5299C434.368 124.44 418.298 145 386.478 145C354.658 145 338.918 125.61 338.918 96.6999H338.928Z"
      fill="#4FF7D1"
    />
    <path
      d="M509.718 90.0099L536.177 142.82H506.208L483.438 95.3499H475.898V142.82H448.098V27.1699H487.948C512.228 27.1699 524.448 39.7099 524.448 61.5999C524.448 74.4699 519.088 84.3299 509.708 90.0099H509.718ZM475.898 51.2399V72.6299H485.608C491.968 72.6299 495.648 68.2799 495.648 61.7699C495.648 55.2599 491.798 51.2399 485.608 51.2399H475.898Z"
      fill="#4FF7D1"
    />
    <path
      d="M574.017 68.79L588.587 74.47C603.658 80.65 612.538 90.68 612.538 107.9C612.538 131.3 595.957 145 572.687 145C539.527 145 533.507 123.44 534.507 106.56H560.968C560.638 113.91 563.477 121.1 572.687 121.1C579.047 121.1 583.737 117.59 583.737 110.9C583.737 104.21 579.047 101.21 571.517 98.37C565.657 96.03 559.797 93.86 553.437 90.68C541.717 84.66 535.517 73.3 535.517 59.26C535.517 39.04 550.248 25 572.858 25C600.158 25 610.038 40.54 608.858 61.1H583.077C583.247 53.91 579.557 48.9 573.028 48.9C566.498 48.9 563.478 52.74 563.478 57.59C563.478 62.44 566.158 65.78 574.028 68.79H574.017Z"
      fill="#4FF7D1"
    />
    <path
      d="M678.677 25C716.527 25 740.138 50.91 740.138 84.67C740.138 118.43 716.688 145 679.518 145C642.348 145 618.568 119.1 618.568 85.17C618.568 51.24 643.017 25 678.677 25ZM679.348 118.93C699.778 118.93 710.828 103.89 710.828 85C710.828 66.11 699.107 51.07 679.177 51.07C659.247 51.07 647.867 66.11 647.867 85C647.867 103.89 660.088 118.93 679.348 118.93Z"
      fill="#4FF7D1"
    />
  </svg>
);

export { TursoWordmarkDark };
```

### `components/ui/svgs/astroWordmarkLight.tsx`

```tsx
import type { SVGProps } from "react";

const AstroWordmarkLight = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} viewBox="0 -6 381 100">
    <path
      fill="#17191E"
      d="M25.8 85.2c-4.5-4.2-5.9-12.8-4-19.1 3.3 4 7.8 5.2 12.5 6 7.2 1 14.3.6 21-2.7l2.4-1.4c.6 1.8.8 3.7.5 5.6-.5 4.5-2.8 8-6.4 10.7-1.4 1.1-3 2-4.5 3-4.6 3.2-5.8 6.8-4 12.1v.6a12 12 0 0 1-5.3-4.6 13 13 0 0 1-2-7c0-1.2 0-2.5-.2-3.7-.4-3-1.8-4.3-4.5-4.4a5.2 5.2 0 0 0-5.4 4.2l-.1.7ZM0 65s13.4-6.5 26.8-6.5l10.1-31.3c.4-1.5 1.5-2.5 2.7-2.5 1.3 0 2.4 1 2.8 2.5l10 31.3c16 0 26.9 6.5 26.9 6.5L56.5 3c-.6-1.8-1.7-3-3.2-3H26c-1.5 0-2.5 1.2-3.2 3L0 65Zm141-19.9c0 5.5-6.8 8.8-16.2 8.8-6.2 0-8.3-1.5-8.3-4.7 0-3.4 2.6-5 8.8-5 5.5 0 10.3 0 15.7.8v.1Zm.1-6.8a71 71 0 0 0-14.5-1.2c-17.7 0-26 4.2-26 14 0 10.1 5.7 14 18.8 14 11.2 0 18.8-2.8 21.6-9.8h.4l-.1 4.7c0 3.6.6 3.9 3.5 3.9h13.8c-.8-2.2-1.2-8.2-1.2-13.4l.2-15.4c0-11.5-6.9-18.8-28.5-18.8-9.3 0-19.6 1.6-27.5 4 .8 3.1 1.8 9.4 2.3 13.5a61.4 61.4 0 0 1 24-4.5c10.4 0 13.2 2.3 13.2 7.1v2Zm37.9 10c-1.9.3-4.5.3-7 .3a60 60 0 0 1-7.1-.4l-.1 2c0 9.5 6.2 15 28.1 15 20.6 0 27.3-5.5 27.3-15.1 0-9.2-4.4-13.7-24-14.7-15.2-.6-16.6-2.3-16.6-4.2 0-2.2 2-3.4 12.2-3.4 10.6 0 13.4 1.5 13.4 4.5v.7a153 153 0 0 1 14.1 0v-1.7c0-11.2-9.2-14.9-27.2-14.9-20.3 0-27 5-27 14.6 0 8.7 5.4 14.1 24.8 15 14.3.4 16 2 16 4.2 0 2.4-2.4 3.5-12.5 3.5-11.5 0-14.4-1.6-14.4-5v-.4Zm66-40.1a58.2 58.2 0 0 1-20.8 11.6v10.8h5V47c0 10 5.3 17.7 21.8 17.7 7 0 11.6-.8 17.4-2-.6-3.7-1.3-9.4-1.5-13.8a41 41 0 0 1-12.6 1.8c-6.6 0-9.3-1.8-9.3-7.1V30.8c8.6 0 17.1.2 22.1.4 0-4 .1-9.7.3-13.5l-22.1.2.2-9.7h-.5Zm44.7 20.1.3-10.6h-15.1c.2 6.5.2 13.3.2 23 0 10 0 16.7-.2 23.2H292c-.3-4.6-.3-12.3-.3-18.9 0-10.3 4.2-13.3 13.7-13.3 4.4 0 7.6.5 10.3 1.5.1-3.8.9-11.4 1.3-14.7a34 34 0 0 0-9.8-1.4c-8.2 0-14.2 3.3-17 11.3l-.6-.1Zm75.1 12.2c0 8.3-6 12.2-15.4 12.2S334 49 334 40.5c0-8.6 6-11.8 15.4-11.8 9.3 0 15.4 3.5 15.4 11.8Zm15.7-.4c0-16.5-13-24-31.1-24-18.3 0-30.8 7.5-30.8 24s11.6 25.3 30.7 25.3c19.2 0 31.2-8.8 31.2-25.3Z"
    />
  </svg>
);

export { AstroWordmarkLight };
```

### `components/ui/svgs/astroWordmarkDark.tsx`

```tsx
import type { SVGProps } from "react";

const AstroWordmarkDark = (props: SVGProps<SVGSVGElement>) => (
  <svg {...props} viewBox="0 -6 381 100">
    <defs>
      <linearGradient
        id="a"
        x1="21"
        x2="64.6"
        y1="100"
        y2="79.4"
        gradientUnits="userSpaceOnUse"
      >
        <stop stopColor="#D83333" />
        <stop offset="1" stopColor="#F041FF" />
      </linearGradient>
    </defs>
    <path
      fill="url(#a)"
      d="M25.8 85.2c-4.5-4.2-5.9-12.8-4-19.1 3.3 4 7.8 5.2 12.5 6 7.2 1 14.3.6 21-2.7l2.4-1.4c.6 1.8.8 3.7.5 5.6-.5 4.5-2.8 8-6.4 10.7-1.4 1.1-3 2-4.5 3-4.6 3.2-5.8 6.8-4 12.1v.6a12 12 0 0 1-5.3-4.6 13 13 0 0 1-2-7c0-1.2 0-2.5-.2-3.7-.4-3-1.8-4.3-4.5-4.4a5.2 5.2 0 0 0-5.4 4.2l-.1.7Z"
    />
    <path
      fill="#fff"
      d="M0 65s13.4-6.5 26.8-6.5l10.1-31.3c.4-1.5 1.5-2.5 2.7-2.5 1.3 0 2.4 1 2.8 2.5l10 31.3c16 0 26.9 6.5 26.9 6.5L56.5 3c-.6-1.8-1.7-3-3.2-3H26c-1.5 0-2.5 1.2-3.2 3L0 65Zm141-19.9c0 5.5-6.8 8.8-16.2 8.8-6.2 0-8.3-1.5-8.3-4.7 0-3.4 2.6-5 8.8-5 5.5 0 10.3 0 15.7.8v.1Zm.1-6.8a71 71 0 0 0-14.5-1.2c-17.7 0-26 4.2-26 14 0 10.1 5.7 14 18.8 14 11.2 0 18.8-2.8 21.6-9.8h.4l-.1 4.7c0 3.6.6 3.9 3.5 3.9h13.8c-.8-2.2-1.2-8.2-1.2-13.4l.2-15.4c0-11.5-6.9-18.8-28.5-18.8-9.3 0-19.6 1.6-27.5 4 .8 3.1 1.8 9.4 2.3 13.5a61.4 61.4 0 0 1 24-4.5c10.4 0 13.2 2.3 13.2 7.1v2Zm37.9 10c-1.9.3-4.5.3-7 .3a60 60 0 0 1-7.1-.4l-.1 2c0 9.5 6.2 15 28.1 15 20.6 0 27.3-5.5 27.3-15.1 0-9.2-4.4-13.7-24-14.7-15.2-.6-16.6-2.3-16.6-4.2 0-2.2 2-3.4 12.2-3.4 10.6 0 13.4 1.5 13.4 4.5v.7a153 153 0 0 1 14.1 0v-1.7c0-11.2-9.2-14.9-27.2-14.9-20.3 0-27 5-27 14.6 0 8.7 5.4 14.1 24.8 15 14.3.4 16 2 16 4.2 0 2.4-2.4 3.5-12.5 3.5-11.5 0-14.4-1.6-14.4-5v-.4Zm66-40.1a58.2 58.2 0 0 1-20.8 11.6v10.8h5V47c0 10 5.3 17.7 21.8 17.7 7 0 11.6-.8 17.4-2-.6-3.7-1.3-9.4-1.5-13.8a41 41 0 0 1-12.6 1.8c-6.6 0-9.3-1.8-9.3-7.1V30.8c8.6 0 17.1.2 22.1.4 0-4 .1-9.7.3-13.5l-22.1.2.2-9.7h-.5Zm44.7 20.1.3-10.6h-15.1c.2 6.5.2 13.3.2 23 0 10 0 16.7-.2 23.2H292c-.3-4.6-.3-12.3-.3-18.9 0-10.3 4.2-13.3 13.7-13.3 4.4 0 7.6.5 10.3 1.5.1-3.8.9-11.4 1.3-14.7a34 34 0 0 0-9.8-1.4c-8.2 0-14.2 3.3-17 11.3l-.6-.1Zm75.1 12.2c0 8.3-6 12.2-15.4 12.2S334 49 334 40.5c0-8.6 6-11.8 15.4-11.8 9.3 0 15.4 3.5 15.4 11.8Zm15.7-.4c0-16.5-13-24-31.1-24-18.3 0-30.8 7.5-30.8 24s11.6 25.3 30.7 25.3c19.2 0 31.2-8.8 31.2-25.3Z"
    />
  </svg>
);

export { AstroWordmarkDark };
```
