diff --git a/.nvmrc b/.nvmrc index 3c79f30e..d135defb 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18.16.0 \ No newline at end of file +22.12.0 \ No newline at end of file diff --git a/apps/code-not-found/package.json b/apps/code-not-found/package.json index 36ee32e9..32146daa 100644 --- a/apps/code-not-found/package.json +++ b/apps/code-not-found/package.json @@ -3,10 +3,10 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "PORT=3004 next dev", "build": "next build", - "start": "PORT=3004 next start", - "lint": "next lint" + "dev": "PORT=3004 next dev", + "lint": "next lint", + "start": "PORT=3004 next start" }, "dependencies": { "next": "15.1.2", diff --git a/apps/design/package.json b/apps/design/package.json index ce73646e..f4c79f24 100644 --- a/apps/design/package.json +++ b/apps/design/package.json @@ -2,11 +2,11 @@ "name": "design-app", "private": true, "scripts": { - "dev": "PORT=3001 next dev", "build": "next build", + "dev": "PORT=3001 next dev", "export": "next export", - "start": "PORT=3001 next start", - "lint": "next lint" + "lint": "next lint", + "start": "PORT=3001 next start" }, "dependencies": { "@radix-ui/react-icons": "1.3.2", diff --git a/apps/games/package.json b/apps/games/package.json index 782d33b6..449d9f4e 100644 --- a/apps/games/package.json +++ b/apps/games/package.json @@ -3,14 +3,15 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "PORT=3002 next dev", "build": "next build", - "start": "PORT=3002 next start", - "lint": "next lint" + "dev": "PORT=3002 next dev", + "lint": "next lint", + "start": "PORT=3002 next start" }, "dependencies": { "@faker-js/faker": "7.4.0", "@nanostores/react": "0.7.1", + "@repo/ui": "workspace:*", "just-shuffle": "4.1.1", "lib": "workspace:*", "lz-string": "1.5.0", @@ -24,7 +25,13 @@ "ui": "workspace:*" }, "devDependencies": { + "@repo/eslint-config": "workspace:*", + "@repo/tailwind-config": "workspace:*", + "@repo/typescript-config": "workspace:*", + "autoprefixer": "10.4.20", "config": "workspace:*", + "postcss": "8.4.49", + "tailwindcss": "3.4.17", "tsconfig": "workspace:*" } } diff --git a/apps/games/src/app/idiot/Game.tsx b/apps/games/src/app/idiot/Game.tsx index 8812263c..6f1c80bb 100644 --- a/apps/games/src/app/idiot/Game.tsx +++ b/apps/games/src/app/idiot/Game.tsx @@ -1,10 +1,10 @@ 'use client' -import type { Card, Deck, Piles } from 'src/types/card-games' +import type { Card, Deck, Piles } from '@/types/card-games' import { useRef, useState } from 'react' import { FiRefreshCw } from 'react-icons/fi' -import { Header, HeaderAction } from 'ui' +import { Header, HeaderAction } from '@repo/ui' import { isDefined, isEmpty } from 'lib/utils/lang' import { classNames } from 'lib/utils/string' import { first, last, lastIndex, chunk } from 'lib/utils/array' @@ -12,8 +12,8 @@ import { deselectAll, moveCardsToPiles, removeEmptyLeadingCards, -} from 'src/lib/game' -import { usePreloadCards } from 'src/lib/hooks' +} from '@/lib/game' +import { usePreloadCards } from '@/lib/hooks' const Image = ({ card }: { card: Card }) => ( card?.combined === current.combined ? index : undefined, ) - .filter(isDefined)[0] + .filter(isDefined)[0]! const newPiles = [...piles] newPiles[pileIndex].splice(lastIndex(newPiles[pileIndex]), 1) if (piles[pileIndex].length < 1) { - piles[pileIndex].push(undefined) + piles[pileIndex].push(undefined as unknown as Card) } setPiles(newPiles) return diff --git a/apps/games/src/app/idiot/page.tsx b/apps/games/src/app/idiot/page.tsx index dfc9f2b7..a831657b 100644 --- a/apps/games/src/app/idiot/page.tsx +++ b/apps/games/src/app/idiot/page.tsx @@ -1,6 +1,6 @@ -import type { Rank, Suit } from 'src/types/card-games' +import type { Rank, Suit } from '@/types/card-games' import shuffle from 'just-shuffle' -import { createDeck } from 'src/lib/deck' +import { createDeck } from '@/lib/deck' import { Game } from './Game' enum RankValue { diff --git a/apps/games/src/app/ms/MineSweaper.tsx b/apps/games/src/app/ms/MineSweaper.tsx index 165ae20e..67212520 100644 --- a/apps/games/src/app/ms/MineSweaper.tsx +++ b/apps/games/src/app/ms/MineSweaper.tsx @@ -1,7 +1,7 @@ 'use client' import { MuseoModerno } from 'next/font/google' -import { Header, Select, SelectItem } from 'ui' +import { Header, Select, SelectItem } from '@repo/ui' import { useStore } from '@nanostores/react' import { Board } from './Board' import { $selectedDifficulty } from './store' diff --git a/apps/games/src/app/spider/Game.tsx b/apps/games/src/app/spider/Game.tsx index 97b75a89..0c22eddd 100644 --- a/apps/games/src/app/spider/Game.tsx +++ b/apps/games/src/app/spider/Game.tsx @@ -1,20 +1,20 @@ 'use client' -import type { Card, Deck, Piles } from 'src/types/card-games' +import type { Card, Deck, Piles } from '@/types/card-games' +import { useRouter } from 'next/navigation' import { useRef, useState } from 'react' import { FiRefreshCw, FiRotateCcw } from 'react-icons/fi' import { isDefined, isEmpty } from 'lib/utils/lang' import { chunk, first, last } from 'lib/utils/array' -import { Header, HeaderAction } from 'ui' +import { Header, HeaderAction } from '@repo/ui' import { deselectAll, moveCardsToPiles, removeEmptyLeadingCards, -} from 'src/lib/game' -import { usePreloadCards } from 'src/lib/hooks' +} from '@/lib/game' +import { usePreloadCards } from '@/lib/hooks' import { createBaseDeck } from './createBaseDeck' -import { useRouter } from 'next/navigation' import { Image } from './Image' import { restoreGameFromHash, saveGameToHash } from './state' @@ -121,7 +121,7 @@ export function Game({ ) if (newPiles[selectedPileIndex].length < 1) { - newPiles[selectedPileIndex].push(undefined) + newPiles[selectedPileIndex].push(undefined as unknown as Card) } else { newPiles[selectedPileIndex][ newPiles[selectedPileIndex].length - 1 @@ -147,7 +147,7 @@ export function Game({ clickableIndexes[clickableIndexes.length - 1] + 1, ) if (newPiles[currentPileIndex].length < 1) { - newPiles[currentPileIndex].push(undefined) + newPiles[currentPileIndex].push(undefined as unknown as Card) } else { last(newPiles[currentPileIndex]).hidden = false } diff --git a/apps/games/src/app/spider/Image.tsx b/apps/games/src/app/spider/Image.tsx index 8f4b3dd9..f9283fd2 100644 --- a/apps/games/src/app/spider/Image.tsx +++ b/apps/games/src/app/spider/Image.tsx @@ -1,4 +1,4 @@ -import type { Card } from 'src/types/card-games' +import type { Card } from '@/types/card-games' import { classNames } from 'lib/utils/string' export const Image = ({ diff --git a/apps/games/src/app/spider/createBaseDeck.ts b/apps/games/src/app/spider/createBaseDeck.ts index 0f88d6c8..46d2fb8f 100644 --- a/apps/games/src/app/spider/createBaseDeck.ts +++ b/apps/games/src/app/spider/createBaseDeck.ts @@ -1,6 +1,6 @@ -import type { Rank, Suit } from 'src/types/card-games' +import type { Rank, Suit } from '@/types/card-games' -import { createDeck } from 'src/lib/deck' +import { createDeck } from '@/lib/deck' enum RankValue { 'J' = 11, diff --git a/apps/games/src/app/wordle/Game.tsx b/apps/games/src/app/wordle/Game.tsx index 47618366..130720c4 100644 --- a/apps/games/src/app/wordle/Game.tsx +++ b/apps/games/src/app/wordle/Game.tsx @@ -2,7 +2,7 @@ import { useEffect, useState } from 'react' import { motion } from 'motion/react' -import { Header } from 'ui' +import { Header } from '@repo/ui' enum Color { Green = 'green', diff --git a/apps/games/src/app/wordle/page.tsx b/apps/games/src/app/wordle/page.tsx index 9a478880..b656cde5 100644 --- a/apps/games/src/app/wordle/page.tsx +++ b/apps/games/src/app/wordle/page.tsx @@ -9,11 +9,11 @@ const wordMethods = [ faker.word.verb, ] const dictionary = [ - faker.locales.en.word.adjective.filter((word) => word.length === 5), - faker.locales.en.word.adverb.filter((word) => word.length === 5), - faker.locales.en.word.conjunction.filter((word) => word.length === 5), - faker.locales.en.word.noun.filter((word) => word.length === 5), - faker.locales.en.word.verb.filter((word) => word.length === 5), + faker.locales.en!.word!.adjective!.filter((word) => word.length === 5), + faker.locales.en!.word!.adverb!.filter((word) => word.length === 5), + faker.locales.en!.word!.conjunction!.filter((word) => word.length === 5), + faker.locales.en!.word!.noun!.filter((word) => word.length === 5), + faker.locales.en!.word!.verb!.filter((word) => word.length === 5), ] .flat() .reduce((r, w) => { diff --git a/apps/games/src/lib/deck.ts b/apps/games/src/lib/deck.ts index 11de1f2a..9b75afe1 100644 --- a/apps/games/src/lib/deck.ts +++ b/apps/games/src/lib/deck.ts @@ -1,5 +1,5 @@ import { uniqueId } from 'lib/utils/string' -import type { Card, Rank, Suit } from 'src/types/card-games' +import type { Card, Rank, Suit } from '@/types/card-games' export const ranks: Rank[] = ['A', 2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K'] diff --git a/apps/games/src/lib/game.ts b/apps/games/src/lib/game.ts index 1b31d0cf..0826be66 100644 --- a/apps/games/src/lib/game.ts +++ b/apps/games/src/lib/game.ts @@ -1,4 +1,4 @@ -import type { Card, Deck, Piles } from 'src/types/card-games' +import type { Card, Deck, Piles } from '@/types/card-games' export function scaleGame(gameEl: HTMLElement) { const visibleHeight = gameEl.offsetHeight diff --git a/apps/games/src/lib/hooks.ts b/apps/games/src/lib/hooks.ts index 8265c807..0765509a 100644 --- a/apps/games/src/lib/hooks.ts +++ b/apps/games/src/lib/hooks.ts @@ -1,5 +1,5 @@ import { useEffect } from 'react' -import { Deck } from 'src/types/card-games' +import { Deck } from '@/types/card-games' export const usePreloadCards = (deck: Deck) => { useEffect(() => { diff --git a/apps/games/tsconfig.json b/apps/games/tsconfig.json index cd3fa5d6..6d42da99 100644 --- a/apps/games/tsconfig.json +++ b/apps/games/tsconfig.json @@ -1,30 +1,11 @@ { - "extends": "tsconfig/nextjs.json", + "extends": "@repo/typescript-config/nextjs.json", "compilerOptions": { - "baseUrl": ".", - "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": false, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, + "plugins": [{ "name": "next" }], "paths": { "@/*": ["./src/*"] - }, - "plugins": [ - { - "name": "next" - } - ] + } }, - "include": ["*.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules", "cypress"] + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] } diff --git a/apps/next/package.json b/apps/next/package.json index 62203ac4..2359b52e 100644 --- a/apps/next/package.json +++ b/apps/next/package.json @@ -1,18 +1,18 @@ { "name": "next-app", - "description": "Playground for Emil Johansson", "version": "1.2.1", - "author": "emiljohansson.dev@gmail.com", + "description": "Playground for Emil Johansson", "keywords": [ "emil", "johansson" ], "license": "MIT", + "author": "emiljohansson.dev@gmail.com", "scripts": { - "dev": "next dev", "build": "next build", - "start": "next start", - "lint": "next lint" + "dev": "next dev", + "lint": "next lint", + "start": "next start" }, "dependencies": { "@emiljohansson/random-string": "1.1.2", @@ -25,6 +25,7 @@ "@radix-ui/react-progress": "1.1.1", "@radix-ui/react-select": "2.1.4", "@radix-ui/react-tabs": "1.1.2", + "@repo/ui": "workspace:*", "@supabase/ssr": "0.0.10", "@vercel/analytics": "1.1.1", "@vercel/kv": "1.0.0", @@ -43,11 +44,17 @@ "ui": "workspace:*" }, "devDependencies": { + "@repo/eslint-config": "workspace:*", + "@repo/tailwind-config": "workspace:*", + "@repo/typescript-config": "workspace:*", "@types/crypto-js": "4.1.1", "@types/jsonwebtoken": "9.0.1", "@types/use-sync-external-store": "0.0.6", + "autoprefixer": "10.4.20", "config": "workspace:*", "next-transpile-modules": "9.0.0", + "postcss": "8.4.49", + "tailwindcss": "3.4.17", "tsconfig": "workspace:*" } } diff --git a/apps/next/src/app/api/calculate/route.ts b/apps/next/src/app/api/calculate/route.ts index e5fe4d41..492f0dad 100644 --- a/apps/next/src/app/api/calculate/route.ts +++ b/apps/next/src/app/api/calculate/route.ts @@ -4,8 +4,7 @@ import { add } from 'lib/utils/math' const toNumber = (value: string): number => parseFloat(value) export async function POST(request: Request) { - const response = await request - const data = await response.json() + const data = await request.json() const query = data.query const sum = query.split('+').map(toNumber).reduce(add) diff --git a/apps/next/src/app/layout.tsx b/apps/next/src/app/layout.tsx index ad1937ce..b4322f38 100644 --- a/apps/next/src/app/layout.tsx +++ b/apps/next/src/app/layout.tsx @@ -1,7 +1,7 @@ import type { PropsWithChildren } from 'react' import type { Metadata } from 'next' -// import 'ui/globals.css' +import '@repo/ui/styles.css' import './styles.css' import { headers } from 'next/headers' diff --git a/apps/next/src/app/login/page.tsx b/apps/next/src/app/login/page.tsx index ea14097c..54742c68 100644 --- a/apps/next/src/app/login/page.tsx +++ b/apps/next/src/app/login/page.tsx @@ -1,38 +1,39 @@ // import Image from 'next/image' -import Content from '@/components/Content' -import Section from '@/components/Section' +// import Content from '@/components/Content' +// import Section from '@/components/Section' export default function Page() { return ( - -
- {/*
- - - - - App logo -

Welcome

-

Log in to continue to All Applications.

- - - -
*/} -
-
+ <> + // + //
+ //
+ // + // + // + // + // App logo + //

Welcome

+ //

Log in to continue to All Applications.

+ // + // + // + //
+ //
+ //
) } diff --git a/apps/next/src/app/password-generator/page.tsx b/apps/next/src/app/password-generator/page.tsx index 5cab8819..f0cdf1b7 100644 --- a/apps/next/src/app/password-generator/page.tsx +++ b/apps/next/src/app/password-generator/page.tsx @@ -3,7 +3,7 @@ import { type PropsWithChildren, useState } from 'react' import * as Tabs from '@radix-ui/react-tabs' import useSWR from 'swr' -import { Slider, CheckboxWithLabel } from 'ui' +import { Slider, CheckboxWithLabel } from '@repo/ui' import { randomString } from 'lib/utils/string' interface Selection { diff --git a/apps/next/src/app/signals/page.tsx b/apps/next/src/app/signals/page.tsx index bf19ca5f..573ab945 100644 --- a/apps/next/src/app/signals/page.tsx +++ b/apps/next/src/app/signals/page.tsx @@ -22,7 +22,7 @@ export default function Page() {
-

Global 1

+

Global

diff --git a/apps/next/src/components/ProgressBar.tsx b/apps/next/src/components/ProgressBar.tsx index dab8fbf3..dd5bc75a 100644 --- a/apps/next/src/components/ProgressBar.tsx +++ b/apps/next/src/components/ProgressBar.tsx @@ -1,5 +1,5 @@ import { useState, useEffect } from 'react' -import { Progress } from 'ui' +import { Progress } from '@repo/ui' const useIncrementalProgress = () => { const [progress, setProgress] = useState(0) diff --git a/apps/next/middleware.ts b/apps/next/src/middleware.ts similarity index 100% rename from apps/next/middleware.ts rename to apps/next/src/middleware.ts diff --git a/apps/next/tailwind.config.js b/apps/next/tailwind.config.js deleted file mode 100644 index c055f715..00000000 --- a/apps/next/tailwind.config.js +++ /dev/null @@ -1,6 +0,0 @@ -/* eslint-disable @typescript-eslint/no-var-requires */ -const baseConfig = require('config/tailwind.config.js') - -module.exports = { - ...baseConfig, -} diff --git a/apps/next/tailwind.config.ts b/apps/next/tailwind.config.ts new file mode 100644 index 00000000..aaf493ec --- /dev/null +++ b/apps/next/tailwind.config.ts @@ -0,0 +1,11 @@ +// tailwind config is required for editor support + +import type { Config } from 'tailwindcss' +import sharedConfig from '@repo/tailwind-config' + +const config: Pick = { + content: ['./src/app/**/*.tsx'], + presets: [sharedConfig], +} + +export default config diff --git a/apps/next/tsconfig.json b/apps/next/tsconfig.json index 50aa1d7e..71a5d51a 100644 --- a/apps/next/tsconfig.json +++ b/apps/next/tsconfig.json @@ -1,42 +1,12 @@ { - "extends": "tsconfig/nextjs.json", + + "extends": "@repo/typescript-config/nextjs.json", "compilerOptions": { - "baseUrl": ".", - "target": "es5", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": false, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "paths": { + "plugins": [{ "name": "next" }], + "paths": { "@/*": ["./src/*"] }, - "plugins": [ - { - "name": "next" - } - ], - "strictNullChecks": true }, - "include": [ - "*.d.ts", - "**/*.ts", - "**/*.tsx", - ".next/types/**/*.ts", - ], - "exclude": [ - "node_modules" - ] + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "exclude": ["node_modules"] } diff --git a/apps/oauth-app/package.json b/apps/oauth-app/package.json index ec3b608a..d25d37ce 100644 --- a/apps/oauth-app/package.json +++ b/apps/oauth-app/package.json @@ -3,26 +3,26 @@ "version": "0.1.0", "private": true, "scripts": { - "x_dev": "PORT=3006 next dev", "x_build": "PORT=3006 next build", - "x_start": "PORT=3006 next start", - "x_lint": "next lint" + "x_dev": "PORT=3006 next dev", + "x_lint": "next lint", + "x_start": "PORT=3006 next start" }, "dependencies": { "@types/node": "18.0.1", - "@types/react": "18.0.15", - "@types/react-dom": "18.0.6", - "autoprefixer": "10.4.13", + "@types/react": "19.0.2", + "@types/react-dom": "19.0.2", + "autoprefixer": "10.4.20", "eslint": "8.54.0", "eslint-config-next": "14.0.3", "jsonwebtoken": "9.0.2", "next": "15.1.2", "node-cache": "5.1.2", - "postcss": "8.4.31", + "postcss": "8.4.49", "react": "19.0.0", "react-dom": "19.0.0", - "tailwindcss": "3.4.0", - "typescript": "5.0.4" + "tailwindcss": "3.4.17", + "typescript": "5.7.2" }, "devDependencies": { "@types/jsonwebtoken": "9.0.1" diff --git a/apps/password-manager/package.json b/apps/password-manager/package.json index c8861433..33abddab 100644 --- a/apps/password-manager/package.json +++ b/apps/password-manager/package.json @@ -3,10 +3,10 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "PORT=3003 next dev", "build": "next build", - "start": "PORT=3003 next start", - "lint": "next lint" + "dev": "PORT=3003 next dev", + "lint": "next lint", + "start": "PORT=3003 next start" }, "dependencies": { "@radix-ui/react-icons": "1.3.2", diff --git a/apps/svelte/package.json b/apps/svelte/package.json index c8a75635..fdb8dbaf 100644 --- a/apps/svelte/package.json +++ b/apps/svelte/package.json @@ -33,7 +33,7 @@ "svelte-check": "3.6.2", "tsconfig": "workspace:*", "tslib": "2.4.1", - "typescript": "5.0.4", + "typescript": "5.7.2", "ui": "workspace:*", "vite": "5.0.11" }, diff --git a/package.json b/package.json index 943f41a2..7feaaebf 100644 --- a/package.json +++ b/package.json @@ -1,45 +1,43 @@ { "name": "emiljohansson.dev", - "description": "Playground for Emil Johansson", "version": "1.2.1", - "author": "emiljohansson.dev@gmail.com", + "description": "Playground for Emil Johansson", "keywords": [ "emil", "johansson" ], "license": "MIT", + "author": "emiljohansson.dev@gmail.com", + "workspaces": [ + "packages/*", + "apps/*" + ], "scripts": { - "prepare": "husky install", "build": "turbo run build", - "export": "turbo run export", - "dev": "turbo run dev --parallel", - "start": "turbo run start", - "test": "turbo run test", - "test:ci": "start-server-and-test start http://localhost:3000 \"cypress run --headless --browser chrome\"", - "cy:run": "cypress run --headless --browser chrome", "cy:open": "cypress open", - "prettier:check": "prettier --check .", + "cy:run": "cypress run --headless --browser chrome", + "dev": "turbo run dev --parallel", + "export": "turbo run export", "format": "prettier --write \"**/*.{ts,tsx,js,md,json,html,css,svelte}\"", "lint": "pnpm lint:eslint && pnpm lint:prettier", "lint:eslint": "turbo run lint", - "lint:prettier": "pnpm prettier:check" + "lint:prettier": "pnpm prettier:check", + "prepare": "husky install", + "prettier:check": "prettier --check .", + "start": "turbo run start", + "test": "turbo run test", + "test:ci": "start-server-and-test start http://localhost:3000 \"cypress run --headless --browser chrome\"", + "type-check": "turbo type-check" }, - "workspaces": [ - "packages/*", - "apps/*" - ], "dependencies": { - "@tailwindcss/typography": "0.5.9", - "autoprefixer": "10.4.13", - "postcss": "8.4.31", - "tailwindcss": "3.4.0" + "@tailwindcss/typography": "0.5.9" }, "devDependencies": { "@cypress-audit/lighthouse": "1.4.2", "@types/jest": "29.5.10", "@types/node": "18.0.1", - "@types/react": "18.0.15", - "@types/react-dom": "18.0.6", + "@types/react": "19.0.2", + "@types/react-dom": "19.0.2", "axe-core": "4.4.3", "cypress": "13.6.0", "cypress-axe": "1.5.0", @@ -48,8 +46,8 @@ "prettier": "2.8.4", "start-server-and-test": "2.0.3", "ts-jest": "29.1.1", - "turbo": "1.9.3", - "typescript": "5.0.4" + "turbo": "2.3.3", + "typescript": "5.7.2" }, "packageManager": "pnpm@7.1.3" } diff --git a/packages/config-eslint/README.md b/packages/config-eslint/README.md new file mode 100644 index 00000000..8b42d901 --- /dev/null +++ b/packages/config-eslint/README.md @@ -0,0 +1,3 @@ +# `@turbo/eslint-config` + +Collection of internal eslint configurations. diff --git a/packages/config-eslint/library.js b/packages/config-eslint/library.js new file mode 100644 index 00000000..d7a32348 --- /dev/null +++ b/packages/config-eslint/library.js @@ -0,0 +1,37 @@ +const { resolve } = require('node:path') + +const project = resolve(process.cwd(), 'tsconfig.json') + +/* + * This is a custom ESLint configuration for use with + * typescript packages. + * + * This config extends the Vercel Engineering Style Guide. + * For more information, see https://github.com/vercel/style-guide + * + */ + +module.exports = { + extends: [ + '@vercel/style-guide/eslint/node', + '@vercel/style-guide/eslint/typescript', + ].map(require.resolve), + parserOptions: { + project, + }, + globals: { + React: true, + JSX: true, + }, + settings: { + 'import/resolver': { + typescript: { + project, + }, + node: { + extensions: ['.mjs', '.js', '.jsx', '.ts', '.tsx'], + }, + }, + }, + ignorePatterns: ['node_modules/', 'dist/'], +} diff --git a/packages/config-eslint/next.js b/packages/config-eslint/next.js new file mode 100644 index 00000000..9ba62f1d --- /dev/null +++ b/packages/config-eslint/next.js @@ -0,0 +1,47 @@ +const { resolve } = require('node:path') + +const project = resolve(process.cwd(), 'tsconfig.json') + +/* + * This is a custom ESLint configuration for use with + * Next.js apps. + * + * This config extends the Vercel Engineering Style Guide. + * For more information, see https://github.com/vercel/style-guide + * + */ + +module.exports = { + extends: [ + ...[ + '@vercel/style-guide/eslint/node', + '@vercel/style-guide/eslint/typescript', + '@vercel/style-guide/eslint/browser', + '@vercel/style-guide/eslint/react', + '@vercel/style-guide/eslint/next', + ].map(require.resolve), + 'turbo', + ], + parserOptions: { + project, + }, + globals: { + React: true, + JSX: true, + }, + settings: { + 'import/resolver': { + typescript: { + project, + }, + node: { + extensions: ['.mjs', '.js', '.jsx', '.ts', '.tsx'], + }, + }, + }, + ignorePatterns: ['node_modules/', 'dist/'], + // add rules configurations here + rules: { + 'import/no-default-export': 'off', + }, +} diff --git a/packages/config-eslint/package.json b/packages/config-eslint/package.json new file mode 100644 index 00000000..b2ba96ec --- /dev/null +++ b/packages/config-eslint/package.json @@ -0,0 +1,9 @@ +{ + "name": "@repo/eslint-config", + "version": "0.0.0", + "private": true, + "devDependencies": { + "@vercel/style-guide": "^5.2.0", + "eslint-config-turbo": "^2.0.0" + } +} diff --git a/packages/config-eslint/react.js b/packages/config-eslint/react.js new file mode 100644 index 00000000..22e03798 --- /dev/null +++ b/packages/config-eslint/react.js @@ -0,0 +1,49 @@ +const { resolve } = require('node:path') + +const project = resolve(process.cwd(), 'tsconfig.json') + +/* + * This is a custom ESLint configuration for use a library + * that utilizes React. + * + * This config extends the Vercel Engineering Style Guide. + * For more information, see https://github.com/vercel/style-guide + * + */ + +module.exports = { + extends: [ + '@vercel/style-guide/eslint/browser', + '@vercel/style-guide/eslint/typescript', + '@vercel/style-guide/eslint/react', + ].map(require.resolve), + parserOptions: { + project, + }, + globals: { + JSX: true, + }, + settings: { + 'import/resolver': { + typescript: { + project, + }, + node: { + extensions: ['.mjs', '.js', '.jsx', '.ts', '.tsx'], + }, + }, + }, + ignorePatterns: ['node_modules/', 'dist/', '.eslintrc.js', '**/*.css'], + // add rules configurations here + rules: { + 'import/no-default-export': 'off', + }, + overrides: [ + { + files: ['*.config.js'], + env: { + node: true, + }, + }, + ], +} diff --git a/packages/config-tailwind/package.json b/packages/config-tailwind/package.json new file mode 100644 index 00000000..87c5996e --- /dev/null +++ b/packages/config-tailwind/package.json @@ -0,0 +1,12 @@ +{ + "name": "@repo/tailwind-config", + "version": "0.0.0", + "private": true, + "exports": { + ".": "./tailwind.config.ts" + }, + "devDependencies": { + "@repo/typescript-config": "workspace:*", + "tailwindcss": "^3.4.17" + } +} diff --git a/packages/config-tailwind/tailwind.config.ts b/packages/config-tailwind/tailwind.config.ts new file mode 100644 index 00000000..14c6502a --- /dev/null +++ b/packages/config-tailwind/tailwind.config.ts @@ -0,0 +1,90 @@ +import type { Config } from 'tailwindcss' +import plugin from 'tailwindcss/plugin' +import defaultTheme from 'tailwindcss/defaultTheme' + +// We want each package to be responsible for its own content. +const config: Omit = { + darkMode: 'class', + content: [ + './src/**/*.{ts,tsx,js,jsx}', + './app/**/*.{ts,tsx,js,jsx}', + './pages/**/*.{js,ts,jsx,tsx}', + './components/**/*.{js,ts,jsx,tsx}', + ], + theme: { + extend: { + backgroundImage: { + dots: 'conic-gradient(at 92% 8%, rgb(200, 200, 200) 90deg, transparent 0deg, transparent 225deg, transparent 0deg)', + }, + boxShadow: { + 'thin-border': '0 0 0 .5px var(--tw-shadow-color)', + }, + colors: { + primary: { + dark: '#c62e1d', + DEFAULT: '#e94f37', + }, + secondary: '#c084fc', + accent: '#67e8f9', + neutral: '#191D24', + 'base-100': '#ffffff', + info: '#38bdf8', + success: '#4ade80', + warning: '#FBBD23', + error: '#ef4444', + // yellow: { + // DEFAULT: '#fed766', + // }, + black: { + DEFAULT: '#000000', + // rich: '#1e1d2b', + rich: '#0d1117', + 900: '#161b22', + 800: '#454353', + 700: '#6f6d7f', + 600: '#9d9bad', + 500: '#cdcbde', + }, + blue: '#e9f1f7', + 'blue-star-command': '#2274a5', + eggshell: '#e7dfc6', + gray: { + 900: '#111', + 600: '#666', + 500: '#888', + 400: '#a1a1a1', + 300: '#e6e6ea', + dark: '#383838', + light: '#f4f4f8', + }, + }, + fontFamily: { + sans: [...defaultTheme.fontFamily.sans], + }, + fontSize: { + '3/6': '50%', + }, + typography: ({ theme }: { theme: (path: string) => string }) => ({ + DEFAULT: { + css: { + '--tw-prose-body': theme('colors.black'), + '--tw-prose-invert-body': theme('colors.white'), + }, + }, + }), + gridTemplateColumns: { + '2-auto': 'repeat(2, minmax(0, auto))', + }, + }, + }, + plugins: [ + plugin(function ({ addVariant }) { + addVariant('size', '&:size') + addVariant('direction', '&:direction') + addVariant('data-disabled', '&[data-disabled]') + addVariant('state-active', '&[data-state="active"]') + }), + require('@tailwindcss/typography'), + ], +} +export default config diff --git a/packages/config-tailwind/tsconfig.json b/packages/config-tailwind/tsconfig.json new file mode 100644 index 00000000..0611d497 --- /dev/null +++ b/packages/config-tailwind/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "@repo/typescript-config/base.json", + "include": ["."], + "exclude": ["dist", "build", "node_modules"] +} diff --git a/packages/config-typescript/base.json b/packages/config-typescript/base.json new file mode 100644 index 00000000..9f1257ba --- /dev/null +++ b/packages/config-typescript/base.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "composite": false, + "declaration": true, + "declarationMap": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "allowImportingTsExtensions": true, + "noEmit": true, + "inlineSources": false, + "isolatedModules": true, + "module": "ESNext", + "moduleResolution": "Bundler", + "noUnusedLocals": false, + "noUnusedParameters": false, + "preserveWatchOutput": true, + "skipLibCheck": true, + "strict": true, + "strictNullChecks": true + }, + "exclude": ["node_modules"] +} diff --git a/packages/config-typescript/nextjs.json b/packages/config-typescript/nextjs.json new file mode 100644 index 00000000..f9349e0b --- /dev/null +++ b/packages/config-typescript/nextjs.json @@ -0,0 +1,19 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "./base.json", + "compilerOptions": { + "plugins": [{ "name": "next" }], + "allowJs": true, + "declaration": false, + "declarationMap": false, + "incremental": true, + "jsx": "preserve", + "lib": ["dom", "dom.iterable", "esnext"], + "module": "esnext", + "resolveJsonModule": true, + "strict": true, + "target": "es5" + }, + "include": ["src", "next-env.d.ts"], + "exclude": ["node_modules"] +} diff --git a/packages/config-typescript/package.json b/packages/config-typescript/package.json new file mode 100644 index 00000000..a9d4b226 --- /dev/null +++ b/packages/config-typescript/package.json @@ -0,0 +1,9 @@ +{ + "name": "@repo/typescript-config", + "version": "0.0.0", + "private": true, + "license": "MIT", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/config-typescript/react-library.json b/packages/config-typescript/react-library.json new file mode 100644 index 00000000..8033eff6 --- /dev/null +++ b/packages/config-typescript/react-library.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "./base.json", + "compilerOptions": { + "lib": ["ES2015", "DOM"], + "module": "ESNext", + "target": "ES6", + "jsx": "react-jsx", + "noEmit": true + } +} diff --git a/packages/config/package.json b/packages/config/package.json index be899dbe..8c8372df 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,8 +1,8 @@ { "name": "config", "version": "1.0.0", - "main": "eslint-preset.js", "license": "MIT", + "main": "eslint-preset.js", "dependencies": { "next": "15.1.2", "react": "19.0.0", @@ -20,6 +20,6 @@ "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "6.0.0", "eslint-plugin-react": "7.33.2", - "typescript": "5.0.4" + "typescript": "5.7.2" } } diff --git a/packages/lib/hooks/useCurrentTime.ts b/packages/lib/hooks/useCurrentTime.ts index abf56939..4f03da23 100644 --- a/packages/lib/hooks/useCurrentTime.ts +++ b/packages/lib/hooks/useCurrentTime.ts @@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from 'react' import { getCurrentTime } from '../utils/date' function useInterval(callback: () => void, delay: number) { - const savedCallback = useRef<() => void>() + const savedCallback = useRef<() => void>(null) // Remember the latest callback. useEffect(() => { diff --git a/packages/lib/package.json b/packages/lib/package.json index 526ee46f..7ef6a8d8 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -5,8 +5,8 @@ "scripts": { "lint": "eslint ./{hooks,tests,utils}/*.ts", "test": "jest --coverage", - "test:watch": "jest --coverage --watchAll", - "test:ci": "npm run test" + "test:ci": "npm run test", + "test:watch": "jest --coverage --watchAll" }, "dependencies": { "@preact/signals-core": "1.8.0", diff --git a/packages/ui-new/package.json b/packages/ui-new/package.json new file mode 100644 index 00000000..9d6a3237 --- /dev/null +++ b/packages/ui-new/package.json @@ -0,0 +1,47 @@ +{ + "name": "@repo/ui", + "version": "0.0.0", + "private": true, + "sideEffects": [ + "**/*.css" + ], + "exports": { + "./styles.css": "./dist/index.css", + ".": "./src/index.tsx" + }, + "files": [ + "dist" + ], + "scripts": { + "build": "tailwindcss -i ./src/styles.css -o ./dist/index.css", + "dev": "tailwindcss -i ./src/styles.css -o ./dist/index.css --watch", + "lint": "eslint src/", + "type-check": "tsc --noEmit" + }, + "dependencies": { + "@radix-ui/react-checkbox": "1.1.3", + "@radix-ui/react-icons": "1.3.2", + "@radix-ui/react-progress": "1.1.1", + "@radix-ui/react-select": "2.1.4", + "@radix-ui/react-slider": "1.2.2", + "lib": "workspace:*", + "motion": "11.15.0", + "next": "15.1.2", + "react": "19.0.0", + "react-dom": "19.0.0", + "react-icons": "4.7.1" + }, + "devDependencies": { + "@repo/eslint-config": "workspace:*", + "@repo/tailwind-config": "workspace:*", + "@repo/typescript-config": "workspace:*", + "@types/react": "19.0.2", + "autoprefixer": "10.4.20", + "postcss": "8.4.49", + "tailwindcss": "3.4.17", + "typescript": "5.7.2" + }, + "peerDependencies": { + "react": "18.2.0" + } +} diff --git a/packages/ui-new/postcss.config.js b/packages/ui-new/postcss.config.js new file mode 100644 index 00000000..3b2e926f --- /dev/null +++ b/packages/ui-new/postcss.config.js @@ -0,0 +1,9 @@ +// If you want to use other PostCSS plugins, see the following: +// https://tailwindcss.com/docs/using-with-preprocessors + +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/packages/ui-new/src/CheckboxWithLabel.tsx b/packages/ui-new/src/CheckboxWithLabel.tsx new file mode 100644 index 00000000..4270020b --- /dev/null +++ b/packages/ui-new/src/CheckboxWithLabel.tsx @@ -0,0 +1,29 @@ +import { Root, Indicator, type CheckboxProps } from '@radix-ui/react-checkbox' +import { CheckIcon } from '@radix-ui/react-icons' +import { useUniqueId } from 'lib/hooks/useUniqueId' + +interface Props extends CheckboxProps { + labelText: string +} + +export const CheckboxWithLabel = ({ labelText, ...props }: Props) => { + const id = useUniqueId() + + return ( +
+ + + + + + +
+ ) +} diff --git a/packages/ui-new/src/Header.tsx b/packages/ui-new/src/Header.tsx new file mode 100644 index 00000000..48d5d3ed --- /dev/null +++ b/packages/ui-new/src/Header.tsx @@ -0,0 +1,15 @@ +import type { PropsWithChildren } from 'react' +import Link from 'next/link' +import { FiArrowLeft } from 'react-icons/fi' + +export const Header = ({ children }: PropsWithChildren) => { + return ( +
+ + + Back + +
{children}
+
+ ) +} diff --git a/packages/ui-new/src/HeaderAction.tsx b/packages/ui-new/src/HeaderAction.tsx new file mode 100644 index 00000000..f6b806a6 --- /dev/null +++ b/packages/ui-new/src/HeaderAction.tsx @@ -0,0 +1,15 @@ +import type { PropsWithChildren, ReactNode } from 'react' + +export const HeaderAction = ({ + children, + onClick, + ...attributes +}: PropsWithChildren<{ + children?: ReactNode + onClick: () => void + attributes?: { [key: string]: string }[] +}>) => ( + +) diff --git a/packages/ui-new/src/Progress.tsx b/packages/ui-new/src/Progress.tsx new file mode 100644 index 00000000..3b2f5a4e --- /dev/null +++ b/packages/ui-new/src/Progress.tsx @@ -0,0 +1,29 @@ +import { Root, Indicator } from '@radix-ui/react-progress' +import { motion } from 'motion/react' +import { classNames } from 'lib/utils/string' + +export const Progress = ({ progress }: { progress: number }) => { + let colorClass = 'ui-bg-green-400' + if (progress <= 25) { + colorClass = 'ui-bg-red-400' + } else if (progress <= 50) { + colorClass = 'ui-bg-yellow-200' + } + return ( + + + + + + ) +} diff --git a/packages/ui-new/src/Select/Select.tsx b/packages/ui-new/src/Select/Select.tsx new file mode 100644 index 00000000..8fbfde13 --- /dev/null +++ b/packages/ui-new/src/Select/Select.tsx @@ -0,0 +1,68 @@ +import { ChevronDownIcon, ChevronUpIcon } from '@radix-ui/react-icons' +import { + Root, + Trigger, + Portal, + Content, + Viewport, + Icon, + Value, + ScrollUpButton, + ScrollDownButton, +} from '@radix-ui/react-select' +import type { SelectProps } from '@radix-ui/react-select' +import { useState } from 'react' + +interface Option { + value: string + title: string +} + +const scrollButtonClassNames = 'flex items-center justify-center h-7 bg-white' + +function getTitleFromValue(options: Option[], selectedValue: string) { + const option = options.find((option) => option.value === selectedValue) + return option?.title || '' +} + +export default function Select({ + children, + defaultValue, + options, + onValueChange = () => { + // + }, +}: SelectProps & { options: Option[] }) { + const [value, setValue] = useState(defaultValue || '') + return ( + { + setValue(newValue) + onValueChange(newValue) + }} + > + + + {getTitleFromValue(options, value)} + + + + + + + + + + + + {children} + + + + + + + + ) +} diff --git a/packages/ui-new/src/Select/SelectItem.tsx b/packages/ui-new/src/Select/SelectItem.tsx new file mode 100644 index 00000000..2c5b5236 --- /dev/null +++ b/packages/ui-new/src/Select/SelectItem.tsx @@ -0,0 +1,21 @@ +import type { PropsWithChildren } from 'react' +import { Item, ItemText, ItemIndicator } from '@radix-ui/react-select' +import { CheckIcon } from '@radix-ui/react-icons' + +const SelectItem = ({ + children, + value, + disabled, +}: PropsWithChildren<{ + value: string | number + disabled?: boolean +}>) => ( + + {children} + + + + +) + +export default SelectItem diff --git a/packages/ui-new/src/Select/SelectLabel.tsx b/packages/ui-new/src/Select/SelectLabel.tsx new file mode 100644 index 00000000..751fe889 --- /dev/null +++ b/packages/ui-new/src/Select/SelectLabel.tsx @@ -0,0 +1,8 @@ +import type { PropsWithChildren } from 'react' +import { Label } from '@radix-ui/react-select' + +const SelectLabel = ({ children }: PropsWithChildren) => ( + +) + +export default SelectLabel diff --git a/packages/ui-new/src/Select/SelectSeparator.tsx b/packages/ui-new/src/Select/SelectSeparator.tsx new file mode 100644 index 00000000..f909fa8c --- /dev/null +++ b/packages/ui-new/src/Select/SelectSeparator.tsx @@ -0,0 +1,5 @@ +import { Separator } from '@radix-ui/react-select' + +const SelectSeparator = () => + +export default SelectSeparator diff --git a/packages/ui-new/src/Select/index.tsx b/packages/ui-new/src/Select/index.tsx new file mode 100644 index 00000000..28fe667e --- /dev/null +++ b/packages/ui-new/src/Select/index.tsx @@ -0,0 +1,7 @@ +import { Group as SelectGroup } from '@radix-ui/react-select' +import Select from './Select' +import SelectItem from './SelectItem' +import SelectLabel from './SelectLabel' +import SelectSeparator from './SelectSeparator' + +export { SelectGroup, Select, SelectItem, SelectLabel, SelectSeparator } diff --git a/packages/ui-new/src/Slider.tsx b/packages/ui-new/src/Slider.tsx new file mode 100644 index 00000000..df75eeb3 --- /dev/null +++ b/packages/ui-new/src/Slider.tsx @@ -0,0 +1,23 @@ +import type { SliderProps } from '@radix-ui/react-slider' +import { Root, Track, Range, Thumb } from '@radix-ui/react-slider' + +interface Props extends Omit { + defaultValue: number + label?: string +} + +export const Slider = ({ defaultValue, max, label, ...props }: Props) => ( + + + + + + +) diff --git a/packages/ui-new/src/index.tsx b/packages/ui-new/src/index.tsx new file mode 100644 index 00000000..633ebfce --- /dev/null +++ b/packages/ui-new/src/index.tsx @@ -0,0 +1,6 @@ +export * from './CheckboxWithLabel' +export * from './Slider' +export * from './Header' +export * from './HeaderAction' +export * from './Progress' +export * from './Select' diff --git a/packages/ui-new/src/styles.css b/packages/ui-new/src/styles.css new file mode 100644 index 00000000..d34610fa --- /dev/null +++ b/packages/ui-new/src/styles.css @@ -0,0 +1,129 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer components { + .select { + @apply ui-h-10 + ui-px-2 + ui-rounded; + } + + .select { + @apply ui-inline-flex + ui-items-center + ui-justify-center + ui-cursor-default + ui-gap-1 + ui-outline-none + ui-border + ui-border-gray-300 + hover:ui-border-black-rich + focus:ui-border-black-rich + dark:ui-border-gray-600 + dark:hover:ui-border-white + dark:focus:ui-border-white; + } + .select-item { + @apply ui-border-0 + ui-text-sm + focus:ui-bg-primary + focus:ui-text-white + dark:ui-text-primary + dark:focus:ui-text-white + focus-visible:ui-outline-none + ui-rounded + ui-flex + ui-items-center + ui-h-6 + ui-py-0 + ui-px-6 + ui-relative + ui-select-none + data-disabled:ui-text-zinc-300 + data-disabled:ui-pointer-events-none; + } + .select-item-indicator { + @apply ui-absolute + ui-left-0 + ui-inline-flex + ui-items-center + ui-justify-center + ui-w-6; + } + .select-label { + @apply ui-text-slate-600 ui-text-xs ui-leading-6 ui-py-0 ui-px-6; + } + .select-separator { + @apply ui-h-px ui-m-1 ui-bg-gray-300; + } + + /* ----------- */ + /* ----------- */ + /* ----------- */ + /* ----------- */ + + /* .btn-primary, + .btn-secondary, + .input, + .select { + @apply h-10 + px-2 + rounded; + } + + .btn-primary, + .btn-secondary { + @apply border + no-underline; + } + + .btn-primary { + @apply bg-primary + border-primary + text-black + hover:bg-primary-dark; + } + .btn-secondary { + @apply bg-transparent + border-gray-600 + hover:border-black-rich + text-gray-600 + hover:text-black-rich + dark:text-gray-400 + dark:border-gray-400 + dark:hover:text-white + dark:hover:border-white; + } + button.btn-primary, + button.btn-secondary { + @apply hover:cursor-auto; + } + a.btn-primary, + a.btn-secondary { + @apply inline-flex + items-center; + } + + .link { + @apply no-underline + hover:underline; + } + + .input { + @apply inline-flex + items-center + justify-center + h-10 + leading-none + bg-transparent + outline-none + border + border-gray-300 + focus:border-black-rich + dark:border-gray-600 + dark:focus:border-white; + } + + */ +} diff --git a/packages/ui-new/tailwind.config.ts b/packages/ui-new/tailwind.config.ts new file mode 100644 index 00000000..7f2ce5b1 --- /dev/null +++ b/packages/ui-new/tailwind.config.ts @@ -0,0 +1,12 @@ +import type { Config } from 'tailwindcss' +import sharedConfig from '@repo/tailwind-config' + +console.log('sharedConfig:', sharedConfig) + +const config: Pick = { + content: ['./src/**/*.tsx'], + prefix: 'ui-', + presets: [sharedConfig], +} + +export default config diff --git a/packages/ui-new/tsconfig.json b/packages/ui-new/tsconfig.json new file mode 100644 index 00000000..233f000b --- /dev/null +++ b/packages/ui-new/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "@repo/typescript-config/react-library.json", + "include": ["."], + "exclude": ["dist", "build", "node_modules"] +} diff --git a/packages/ui/package.json b/packages/ui/package.json index fd7b7992..6f420fa4 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -5,23 +5,23 @@ "sideEffects": [ "**/*.css" ], - "types": "./dist/index.d.ts", "exports": { - ".": "./dist", + "./*": { + "import": "./dist/*.mjs", + "types": "./dist/*.d.ts" + }, "./globals.css": "./dist/index.css", "./dist/Header": { "import": "./dist/Header.mjs", "types": "./dist/Header.d.ts" } }, + "types": "./dist/index.d.ts", "scripts": { "build": "tsup && tailwindcss -i ./src/globals.css -o ./dist/index.css", "dev": "tsup --watch", "lint": "eslint ./**/*.tsx" }, - "peerDependencies": { - "react": "18.2.0" - }, "dependencies": { "@radix-ui/react-checkbox": "1.1.3", "@radix-ui/react-icons": "1.3.2", @@ -36,8 +36,14 @@ "react-icons": "4.7.1" }, "devDependencies": { + "autoprefixer": "10.4.20", "config": "workspace:*", + "postcss": "8.4.49", + "tailwindcss": "3.4.17", "tsconfig": "workspace:*", "tsup": "5.11.13" + }, + "peerDependencies": { + "react": "18.2.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9c744936..7a9c4b13 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,20 +10,11 @@ importers: dependencies: '@tailwindcss/typography': specifier: 0.5.9 - version: 0.5.9(tailwindcss@3.4.0) - autoprefixer: - specifier: 10.4.13 - version: 10.4.13(postcss@8.4.31) - postcss: - specifier: 8.4.31 - version: 8.4.31 - tailwindcss: - specifier: 3.4.0 - version: 3.4.0 + version: 0.5.9 devDependencies: '@cypress-audit/lighthouse': specifier: 1.4.2 - version: 1.4.2(typescript@5.0.4) + version: 1.4.2(typescript@5.7.2) '@types/jest': specifier: 29.5.10 version: 29.5.10 @@ -31,11 +22,11 @@ importers: specifier: 18.0.1 version: 18.0.1 '@types/react': - specifier: 18.0.15 - version: 18.0.15 + specifier: 19.0.2 + version: 19.0.2 '@types/react-dom': - specifier: 18.0.6 - version: 18.0.6 + specifier: 19.0.2 + version: 19.0.2(@types/react@19.0.2) axe-core: specifier: 4.4.3 version: 4.4.3 @@ -59,13 +50,13 @@ importers: version: 2.0.3 ts-jest: specifier: 29.1.1 - version: 29.1.1(@babel/core@7.23.7)(jest@29.7.0)(typescript@5.0.4) + version: 29.1.1(@babel/core@7.23.7)(jest@29.7.0)(typescript@5.7.2) turbo: - specifier: 1.9.3 - version: 1.9.3 + specifier: 2.3.3 + version: 2.3.3 typescript: - specifier: 5.0.4 - version: 5.0.4 + specifier: 5.7.2 + version: 5.7.2 apps/code-not-found: dependencies: @@ -93,13 +84,13 @@ importers: version: 1.3.2(react@19.0.0) '@radix-ui/react-label': specifier: 2.1.1 - version: 2.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) + version: 2.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) '@radix-ui/react-progress': specifier: 1.1.1 - version: 1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) + version: 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) '@radix-ui/react-radio-group': specifier: ^1.2.2 - version: 1.2.2(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) + version: 1.2.2(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) lib: specifier: workspace:* version: link:../../packages/lib @@ -134,6 +125,9 @@ importers: '@nanostores/react': specifier: 0.7.1 version: 0.7.1(nanostores@0.9.5)(react@19.0.0) + '@repo/ui': + specifier: workspace:* + version: link:../../packages/ui-new just-shuffle: specifier: 4.1.1 version: 4.1.1 @@ -168,9 +162,27 @@ importers: specifier: workspace:* version: link:../../packages/ui devDependencies: + '@repo/eslint-config': + specifier: workspace:* + version: link:../../packages/config-eslint + '@repo/tailwind-config': + specifier: workspace:* + version: link:../../packages/config-tailwind + '@repo/typescript-config': + specifier: workspace:* + version: link:../../packages/config-typescript + autoprefixer: + specifier: 10.4.20 + version: 10.4.20(postcss@8.4.49) config: specifier: workspace:* version: link:../../packages/config + postcss: + specifier: 8.4.49 + version: 8.4.49 + tailwindcss: + specifier: 3.4.17 + version: 3.4.17 tsconfig: specifier: workspace:* version: link:../../packages/tsconfig @@ -194,19 +206,22 @@ importers: version: 2.3.0(react@19.0.0) '@radix-ui/react-accessible-icon': specifier: 1.1.1 - version: 1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) + version: 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) '@radix-ui/react-label': specifier: 2.1.1 - version: 2.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) + version: 2.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) '@radix-ui/react-progress': specifier: 1.1.1 - version: 1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) + version: 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) '@radix-ui/react-select': specifier: 2.1.4 - version: 2.1.4(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) + version: 2.1.4(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) '@radix-ui/react-tabs': specifier: 1.1.2 - version: 1.1.2(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) + version: 1.1.2(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@repo/ui': + specifier: workspace:* + version: link:../../packages/ui-new '@supabase/ssr': specifier: 0.0.10 version: 0.0.10(@supabase/supabase-js@2.47.10) @@ -256,6 +271,15 @@ importers: specifier: workspace:* version: link:../../packages/ui devDependencies: + '@repo/eslint-config': + specifier: workspace:* + version: link:../../packages/config-eslint + '@repo/tailwind-config': + specifier: workspace:* + version: link:../../packages/config-tailwind + '@repo/typescript-config': + specifier: workspace:* + version: link:../../packages/config-typescript '@types/crypto-js': specifier: 4.1.1 version: 4.1.1 @@ -265,12 +289,21 @@ importers: '@types/use-sync-external-store': specifier: 0.0.6 version: 0.0.6 + autoprefixer: + specifier: 10.4.20 + version: 10.4.20(postcss@8.4.49) config: specifier: workspace:* version: link:../../packages/config next-transpile-modules: specifier: 9.0.0 version: 9.0.0 + postcss: + specifier: 8.4.49 + version: 8.4.49 + tailwindcss: + specifier: 3.4.17 + version: 3.4.17 tsconfig: specifier: workspace:* version: link:../../packages/tsconfig @@ -281,20 +314,20 @@ importers: specifier: 18.0.1 version: 18.0.1 '@types/react': - specifier: 18.0.15 - version: 18.0.15 + specifier: 19.0.2 + version: 19.0.2 '@types/react-dom': - specifier: 18.0.6 - version: 18.0.6 + specifier: 19.0.2 + version: 19.0.2(@types/react@19.0.2) autoprefixer: - specifier: 10.4.13 - version: 10.4.13(postcss@8.4.31) + specifier: 10.4.20 + version: 10.4.20(postcss@8.4.49) eslint: specifier: 8.54.0 version: 8.54.0 eslint-config-next: specifier: 14.0.3 - version: 14.0.3(eslint@8.54.0)(typescript@5.0.4) + version: 14.0.3(eslint@8.54.0)(typescript@5.7.2) jsonwebtoken: specifier: 9.0.2 version: 9.0.2 @@ -305,8 +338,8 @@ importers: specifier: 5.1.2 version: 5.1.2 postcss: - specifier: 8.4.31 - version: 8.4.31 + specifier: 8.4.49 + version: 8.4.49 react: specifier: 19.0.0 version: 19.0.0 @@ -314,11 +347,11 @@ importers: specifier: 19.0.0 version: 19.0.0(react@19.0.0) tailwindcss: - specifier: 3.4.0 - version: 3.4.0 + specifier: 3.4.17 + version: 3.4.17 typescript: - specifier: 5.0.4 - version: 5.0.4 + specifier: 5.7.2 + version: 5.7.2 devDependencies: '@types/jsonwebtoken': specifier: 9.0.1 @@ -331,7 +364,7 @@ importers: version: 1.3.2(react@19.0.0) '@radix-ui/react-label': specifier: 2.1.1 - version: 2.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) + version: 2.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) '@supabase/auth-helpers-nextjs': specifier: 0.2.7 version: 0.2.7 @@ -392,10 +425,10 @@ importers: version: 4.29.1 '@typescript-eslint/eslint-plugin': specifier: 6.12.0 - version: 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.0.4) + version: 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.7.2) '@typescript-eslint/parser': specifier: 6.12.0 - version: 6.12.0(eslint@8.54.0)(typescript@5.0.4) + version: 6.12.0(eslint@8.54.0)(typescript@5.7.2) config: specifier: workspace:* version: link:../../packages/config @@ -431,7 +464,7 @@ importers: version: 4.2.7 svelte-check: specifier: 3.6.2 - version: 3.6.2(@babel/core@7.23.7)(postcss@8.4.31)(svelte@4.2.7) + version: 3.6.2(@babel/core@7.23.7)(postcss@8.4.49)(svelte@4.2.7) tsconfig: specifier: workspace:* version: link:../../packages/tsconfig @@ -439,8 +472,8 @@ importers: specifier: 2.4.1 version: 2.4.1 typescript: - specifier: 5.0.4 - version: 5.0.4 + specifier: 5.7.2 + version: 5.7.2 ui: specifier: workspace:* version: link:../../packages/ui @@ -462,16 +495,16 @@ importers: devDependencies: '@typescript-eslint/eslint-plugin': specifier: 6.12.0 - version: 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.0.4) + version: 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.7.2) '@typescript-eslint/parser': specifier: 6.12.0 - version: 6.12.0(eslint@8.54.0)(typescript@5.0.4) + version: 6.12.0(eslint@8.54.0)(typescript@5.7.2) eslint: specifier: 8.54.0 version: 8.54.0 eslint-config-next: specifier: 14.0.3 - version: 14.0.3(eslint@8.54.0)(typescript@5.0.4) + version: 14.0.3(eslint@8.54.0)(typescript@5.7.2) eslint-config-prettier: specifier: latest version: 9.1.0(eslint@8.54.0) @@ -494,8 +527,28 @@ importers: specifier: 7.33.2 version: 7.33.2(eslint@8.54.0) typescript: - specifier: 5.0.4 - version: 5.0.4 + specifier: 5.7.2 + version: 5.7.2 + + packages/config-eslint: + devDependencies: + '@vercel/style-guide': + specifier: ^5.2.0 + version: 5.2.0(eslint@8.54.0)(jest@29.7.0)(prettier@2.8.4)(typescript@5.7.2) + eslint-config-turbo: + specifier: ^2.0.0 + version: 2.3.3(eslint@8.54.0) + + packages/config-tailwind: + devDependencies: + '@repo/typescript-config': + specifier: workspace:* + version: link:../config-typescript + tailwindcss: + specifier: ^3.4.17 + version: 3.4.17 + + packages/config-typescript: {} packages/lib: dependencies: @@ -523,7 +576,7 @@ importers: version: link:../tsconfig tsup: specifier: 5.11.13 - version: 5.11.13(postcss@8.4.31)(typescript@5.0.4) + version: 5.11.13(postcss@8.4.49)(typescript@5.7.2) packages/tsconfig: {} @@ -531,19 +584,19 @@ importers: dependencies: '@radix-ui/react-checkbox': specifier: 1.1.3 - version: 1.1.3(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) + version: 1.1.3(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) '@radix-ui/react-icons': specifier: 1.3.2 version: 1.3.2(react@19.0.0) '@radix-ui/react-progress': specifier: 1.1.1 - version: 1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) + version: 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) '@radix-ui/react-select': specifier: 2.1.4 - version: 2.1.4(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) + version: 2.1.4(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) '@radix-ui/react-slider': specifier: 1.2.2 - version: 1.2.2(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) + version: 1.2.2(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) lib: specifier: workspace:* version: link:../lib @@ -563,15 +616,85 @@ importers: specifier: 4.7.1 version: 4.7.1(react@19.0.0) devDependencies: + autoprefixer: + specifier: 10.4.20 + version: 10.4.20(postcss@8.4.49) config: specifier: workspace:* version: link:../config + postcss: + specifier: 8.4.49 + version: 8.4.49 + tailwindcss: + specifier: 3.4.17 + version: 3.4.17 tsconfig: specifier: workspace:* version: link:../tsconfig tsup: specifier: 5.11.13 - version: 5.11.13(postcss@8.4.31)(typescript@5.0.4) + version: 5.11.13(postcss@8.4.49)(typescript@5.7.2) + + packages/ui-new: + dependencies: + '@radix-ui/react-checkbox': + specifier: 1.1.3 + version: 1.1.3(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-icons': + specifier: 1.3.2 + version: 1.3.2(react@19.0.0) + '@radix-ui/react-progress': + specifier: 1.1.1 + version: 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-select': + specifier: 2.1.4 + version: 2.1.4(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-slider': + specifier: 1.2.2 + version: 1.2.2(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + lib: + specifier: workspace:* + version: link:../lib + motion: + specifier: 11.15.0 + version: 11.15.0(react-dom@19.0.0)(react@19.0.0) + next: + specifier: 15.1.2 + version: 15.1.2(@babel/core@7.23.7)(react-dom@19.0.0)(react@19.0.0) + react: + specifier: 19.0.0 + version: 19.0.0 + react-dom: + specifier: 19.0.0 + version: 19.0.0(react@19.0.0) + react-icons: + specifier: 4.7.1 + version: 4.7.1(react@19.0.0) + devDependencies: + '@repo/eslint-config': + specifier: workspace:* + version: link:../config-eslint + '@repo/tailwind-config': + specifier: workspace:* + version: link:../config-tailwind + '@repo/typescript-config': + specifier: workspace:* + version: link:../config-typescript + '@types/react': + specifier: 19.0.2 + version: 19.0.2 + autoprefixer: + specifier: 10.4.20 + version: 10.4.20(postcss@8.4.49) + postcss: + specifier: 8.4.49 + version: 8.4.49 + tailwindcss: + specifier: 3.4.17 + version: 3.4.17 + typescript: + specifier: 5.7.2 + version: 5.7.2 packages: @@ -582,7 +705,6 @@ packages: /@alloc/quick-lru@5.2.0: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - dev: false /@ampproject/remapping@2.2.1: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} @@ -624,6 +746,20 @@ packages: transitivePeerDependencies: - supports-color + /@babel/eslint-parser@7.25.9(@babel/core@7.23.7)(eslint@8.54.0): + resolution: {integrity: sha512-5UXfgpK0j0Xr/xIdgdLEhOFxaDZ0bRPWJJchRpqOSur/3rZoPbqqki5mm0p4NE2cs28krBEiSM2MB7//afRSQQ==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + dependencies: + '@babel/core': 7.23.7 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.54.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + dev: true + /@babel/generator@7.23.6: resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} @@ -639,7 +775,7 @@ packages: dependencies: '@babel/compat-data': 7.23.5 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.2 + browserslist: 4.24.3 lru-cache: 5.1.1 semver: 6.3.1 @@ -909,10 +1045,10 @@ packages: dev: true optional: true - /@cypress-audit/lighthouse@1.4.2(typescript@5.0.4): + /@cypress-audit/lighthouse@1.4.2(typescript@5.7.2): resolution: {integrity: sha512-xiYeCnZYav89vsIWNtyXdU1mORyp/OGK3qQ8tDYN3HacYjTtcsp+avcoi4X2vXZWC7yu4dcu17SbTg4H64ymSQ==} dependencies: - lighthouse: 10.4.0(typescript@5.0.4) + lighthouse: 10.4.0(typescript@5.7.2) transitivePeerDependencies: - bufferutil - encoding @@ -1679,7 +1815,7 @@ packages: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.8 pirates: 4.0.6 slash: 3.0.0 write-file-atomic: 4.0.2 @@ -1707,23 +1843,61 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.21 + /@jridgewell/gen-mapping@0.3.8: + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + /@jridgewell/resolve-uri@3.1.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + /@jridgewell/trace-mapping@0.3.21: resolution: {integrity: sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g==} dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + /@microsoft/tsdoc-config@0.16.2: + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + dependencies: + '@microsoft/tsdoc': 0.14.2 + ajv: 6.12.6 + jju: 1.4.0 + resolve: 1.19.0 + dev: true + + /@microsoft/tsdoc@0.14.2: + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + dev: true + /@nanostores/react@0.7.1(nanostores@0.9.5)(react@19.0.0): resolution: {integrity: sha512-EXQg9N4MdI4eJQz/AZLIx3hxQ6BuBmV4Q55bCd5YCSgEOAW7tGTsIZxpRXxvxLXzflNvHTBvfrDNY38TlSVBkQ==} engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0} @@ -1816,6 +1990,12 @@ packages: dev: false optional: true + /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + dependencies: + eslint-scope: 5.1.1 + dev: true + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1840,6 +2020,11 @@ packages: requiresBuild: true optional: true + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + /@polka/url@1.0.0-next.24: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: true @@ -1858,7 +2043,7 @@ packages: use-sync-external-store: 1.4.0(react@19.0.0) dev: false - /@puppeteer/browsers@1.4.6(typescript@5.0.4): + /@puppeteer/browsers@1.4.6(typescript@5.7.2): resolution: {integrity: sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==} engines: {node: '>=16.3.0'} hasBin: true @@ -1873,7 +2058,7 @@ packages: progress: 2.0.3 proxy-agent: 6.3.0 tar-fs: 3.0.4 - typescript: 5.0.4 + typescript: 5.7.2 unbzip2-stream: 1.4.3 yargs: 17.7.1 transitivePeerDependencies: @@ -1888,7 +2073,7 @@ packages: resolution: {integrity: sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==} dev: false - /@radix-ui/react-accessible-icon@1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-accessible-icon@1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-DH8vuU7oqHt9RhO3V9Z1b8ek+bOl4+9VLsh0cgL6t7f2WhbuOChm3ft0EmCCsfd4ORi7Cs3II4aNcTXi+bh+wg==} peerDependencies: '@types/react': '*' @@ -1901,14 +2086,14 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-arrow@1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-arrow@1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w==} peerDependencies: '@types/react': '*' @@ -1921,14 +2106,14 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-checkbox@1.1.3(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-checkbox@1.1.3(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-HD7/ocp8f1B3e6OHygH0n7ZKjONkhciy1Nh0yuBgObqThc3oyx+vuMfFHKAknXRHHWVE9XvXStxJFyjUmB8PIw==} peerDependencies: '@types/react': '*' @@ -1942,20 +2127,20 @@ packages: optional: true dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-collection@1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-collection@1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA==} peerDependencies: '@types/react': '*' @@ -1968,17 +2153,17 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-slot': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-slot': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-compose-refs@1.1.1(@types/react@18.0.15)(react@19.0.0): + /@radix-ui/react-compose-refs@1.1.1(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==} peerDependencies: '@types/react': '*' @@ -1987,11 +2172,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.15 + '@types/react': 19.0.2 react: 19.0.0 dev: false - /@radix-ui/react-context@1.1.1(@types/react@18.0.15)(react@19.0.0): + /@radix-ui/react-context@1.1.1(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==} peerDependencies: '@types/react': '*' @@ -2000,11 +2185,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.15 + '@types/react': 19.0.2 react: 19.0.0 dev: false - /@radix-ui/react-direction@1.1.0(@types/react@18.0.15)(react@19.0.0): + /@radix-ui/react-direction@1.1.0(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==} peerDependencies: '@types/react': '*' @@ -2013,11 +2198,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.15 + '@types/react': 19.0.2 react: 19.0.0 dev: false - /@radix-ui/react-dismissable-layer@1.1.3(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-dismissable-layer@1.1.3(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==} peerDependencies: '@types/react': '*' @@ -2031,17 +2216,17 @@ packages: optional: true dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-focus-guards@1.1.1(@types/react@18.0.15)(react@19.0.0): + /@radix-ui/react-focus-guards@1.1.1(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==} peerDependencies: '@types/react': '*' @@ -2050,11 +2235,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.15 + '@types/react': 19.0.2 react: 19.0.0 dev: false - /@radix-ui/react-focus-scope@1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-focus-scope@1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-01omzJAYRxXdG2/he/+xy+c8a8gCydoQ1yOxnWNcRhrrBW5W+RQJ22EK1SaO8tb3WoUsuEw7mJjBozPzihDFjA==} peerDependencies: '@types/react': '*' @@ -2067,11 +2252,11 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false @@ -2084,7 +2269,7 @@ packages: react: 19.0.0 dev: false - /@radix-ui/react-id@1.1.0(@types/react@18.0.15)(react@19.0.0): + /@radix-ui/react-id@1.1.0(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} peerDependencies: '@types/react': '*' @@ -2093,12 +2278,12 @@ packages: '@types/react': optional: true dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 react: 19.0.0 dev: false - /@radix-ui/react-label@2.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-label@2.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-UUw5E4e/2+4kFMH7+YxORXGWggtY6sM8WIwh5RZchhLuUg2H1hc98Py+pr8HMz6rdaYrK2t296ZEjYLOCO5uUw==} peerDependencies: '@types/react': '*' @@ -2111,14 +2296,14 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-popper@1.2.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-popper@1.2.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw==} peerDependencies: '@types/react': '*' @@ -2132,22 +2317,22 @@ packages: optional: true dependencies: '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-arrow': 1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-rect': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.0.15)(react@19.0.0) + '@radix-ui/react-arrow': 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-rect': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.2)(react@19.0.0) '@radix-ui/rect': 1.1.0 - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-portal@1.1.3(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-portal@1.1.3(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw==} peerDependencies: '@types/react': '*' @@ -2160,15 +2345,15 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-presence@1.1.2(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-presence@1.1.2(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==} peerDependencies: '@types/react': '*' @@ -2181,15 +2366,15 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-primitive@2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-primitive@2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==} peerDependencies: '@types/react': '*' @@ -2202,14 +2387,14 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-slot': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-slot': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-progress@1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-progress@1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-6diOawA84f/eMxFHcWut0aE1C2kyE9dOyCTQOMRR2C/qPiXz/X0SaiA/RLbapQaXUCmy0/hLMf9meSccD1N0pA==} peerDependencies: '@types/react': '*' @@ -2222,15 +2407,15 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-context': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-radio-group@1.2.2(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-radio-group@1.2.2(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-E0MLLGfOP0l8P/NxgVzfXJ8w3Ch8cdO6UDzJfDChu4EJDy+/WdO5LqpdY8PYnCErkmZH3gZhDL1K7kQ41fAHuQ==} peerDependencies: '@types/react': '*' @@ -2244,22 +2429,22 @@ packages: optional: true dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-roving-focus@1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-roving-focus@1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-QE1RoxPGJ/Nm8Qmk0PxP8ojmoaS67i0s7hVssS7KuI2FQoc/uzVlZsqKfQvxPE6D8hICCPHJ4D88zNhT3OOmkw==} peerDependencies: '@types/react': '*' @@ -2273,21 +2458,21 @@ packages: optional: true dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-select@2.1.4(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-select@2.1.4(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-pOkb2u8KgO47j/h7AylCj7dJsm69BXcjkrvTqMptFqsE2i0p8lHkfgneXKjAgPzBMivnoMyt8o4KiV4wYzDdyQ==} peerDependencies: '@types/react': '*' @@ -2302,32 +2487,32 @@ packages: dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-slot': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-popper': 1.2.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-portal': 1.1.3(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-slot': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) aria-hidden: 1.2.4 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.6.2(@types/react@18.0.15)(react@19.0.0) + react-remove-scroll: 2.6.2(@types/react@19.0.2)(react@19.0.0) dev: false - /@radix-ui/react-slider@1.2.2(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-slider@1.2.2(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-sNlU06ii1/ZcbHf8I9En54ZPW0Vil/yPVg4vQMcFNjrIx51jsHbFl1HYHQvCIWJSr1q0ZmA+iIs/ZTv8h7HHSA==} peerDependencies: '@types/react': '*' @@ -2342,22 +2527,22 @@ packages: dependencies: '@radix-ui/number': 1.1.0 '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-collection': 1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-context': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-collection': 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-previous': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-use-size': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-slot@1.1.1(@types/react@18.0.15)(react@19.0.0): + /@radix-ui/react-slot@1.1.1(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==} peerDependencies: '@types/react': '*' @@ -2366,12 +2551,12 @@ packages: '@types/react': optional: true dependencies: - '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 + '@radix-ui/react-compose-refs': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 react: 19.0.0 dev: false - /@radix-ui/react-tabs@1.1.2(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-tabs@1.1.2(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-9u/tQJMcC2aGq7KXpGivMm1mgq7oRJKXphDwdypPd/j21j/2znamPU8WkXgnhUaTrSFNIt8XhOyCAupg8/GbwQ==} peerDependencies: '@types/react': '*' @@ -2385,20 +2570,20 @@ packages: optional: true dependencies: '@radix-ui/primitive': 1.1.1 - '@radix-ui/react-context': 1.1.1(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-context': 1.1.1(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-direction': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-id': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@radix-ui/react-presence': 1.1.2(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-roving-focus': 1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false - /@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.0.15)(react@19.0.0): + /@radix-ui/react-use-callback-ref@1.1.0(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} peerDependencies: '@types/react': '*' @@ -2407,11 +2592,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.15 + '@types/react': 19.0.2 react: 19.0.0 dev: false - /@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.0.15)(react@19.0.0): + /@radix-ui/react-use-controllable-state@1.1.0(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} peerDependencies: '@types/react': '*' @@ -2420,12 +2605,12 @@ packages: '@types/react': optional: true dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 react: 19.0.0 dev: false - /@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.0.15)(react@19.0.0): + /@radix-ui/react-use-escape-keydown@1.1.0(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} peerDependencies: '@types/react': '*' @@ -2434,12 +2619,12 @@ packages: '@types/react': optional: true dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 react: 19.0.0 dev: false - /@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.0.15)(react@19.0.0): + /@radix-ui/react-use-layout-effect@1.1.0(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} peerDependencies: '@types/react': '*' @@ -2448,11 +2633,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.15 + '@types/react': 19.0.2 react: 19.0.0 dev: false - /@radix-ui/react-use-previous@1.1.0(@types/react@18.0.15)(react@19.0.0): + /@radix-ui/react-use-previous@1.1.0(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==} peerDependencies: '@types/react': '*' @@ -2461,11 +2646,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.15 + '@types/react': 19.0.2 react: 19.0.0 dev: false - /@radix-ui/react-use-rect@1.1.0(@types/react@18.0.15)(react@19.0.0): + /@radix-ui/react-use-rect@1.1.0(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==} peerDependencies: '@types/react': '*' @@ -2475,11 +2660,11 @@ packages: optional: true dependencies: '@radix-ui/rect': 1.1.0 - '@types/react': 18.0.15 + '@types/react': 19.0.2 react: 19.0.0 dev: false - /@radix-ui/react-use-size@1.1.0(@types/react@18.0.15)(react@19.0.0): + /@radix-ui/react-use-size@1.1.0(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==} peerDependencies: '@types/react': '*' @@ -2488,12 +2673,12 @@ packages: '@types/react': optional: true dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.0.15)(react@19.0.0) - '@types/react': 18.0.15 + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@19.0.2)(react@19.0.0) + '@types/react': 19.0.2 react: 19.0.0 dev: false - /@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0): + /@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg==} peerDependencies: '@types/react': '*' @@ -2506,9 +2691,9 @@ packages: '@types/react-dom': optional: true dependencies: - '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.0.6)(@types/react@18.0.15)(react-dom@19.0.0)(react@19.0.0) - '@types/react': 18.0.15 - '@types/react-dom': 18.0.6 + '@radix-ui/react-primitive': 2.0.1(@types/react-dom@19.0.2)(@types/react@19.0.2)(react-dom@19.0.0)(react@19.0.0) + '@types/react': 19.0.2 + '@types/react-dom': 19.0.2(@types/react@19.0.2) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) dev: false @@ -2948,7 +3133,7 @@ packages: tslib: 2.8.1 dev: false - /@tailwindcss/typography@0.5.9(tailwindcss@3.4.0): + /@tailwindcss/typography@0.5.9: resolution: {integrity: sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg==} peerDependencies: tailwindcss: '>=3.0.0 || insiders' @@ -2957,7 +3142,6 @@ packages: lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.4.0 dev: false /@tootallnate/quickjs-emscripten@0.23.0: @@ -3060,6 +3244,10 @@ packages: undici-types: 5.26.5 dev: true + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + dev: true + /@types/phoenix@1.6.4: resolution: {integrity: sha512-B34A7uot1Cv0XtaHRYDATltAdKx0BvVKNgYNqE4WjtPUa4VQJM7kxeXcVKaH+KS+kCmZ+6w+QaUdcljiheiBJA==} dev: false @@ -3068,28 +3256,22 @@ packages: resolution: {integrity: sha512-PIzZZlEppgrpoT2QgbnDU+MMzuR6BbCjllj0bM70lWoejMeNJAxCchxnv7J3XFkI8MpygtRpzXrIlmWUBclP5A==} dev: false - /@types/prop-types@15.7.11: - resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} - /@types/pug@2.0.10: resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==} dev: true - /@types/react-dom@18.0.6: - resolution: {integrity: sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA==} + /@types/react-dom@19.0.2(@types/react@19.0.2): + resolution: {integrity: sha512-c1s+7TKFaDRRxr1TxccIX2u7sfCnc3RxkVyBIUA2lCpyqCF+QoAwQ/CBg7bsMdVwP120HEH143VQezKtef5nCg==} + peerDependencies: + '@types/react': ^19.0.0 dependencies: - '@types/react': 18.0.15 + '@types/react': 19.0.2 - /@types/react@18.0.15: - resolution: {integrity: sha512-iz3BtLuIYH1uWdsv6wXYdhozhqj20oD4/Hk2DNXIn1kFsmp9x8d9QB6FnPhfkbhd2PgEONt9Q1x/ebkwjfFLow==} + /@types/react@19.0.2: + resolution: {integrity: sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==} dependencies: - '@types/prop-types': 15.7.11 - '@types/scheduler': 0.16.8 csstype: 3.1.3 - /@types/scheduler@0.16.8: - resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} - /@types/semver@7.5.6: resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} dev: true @@ -3134,7 +3316,7 @@ packages: dev: true optional: true - /@typescript-eslint/eslint-plugin@6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.0.4): + /@typescript-eslint/eslint-plugin@6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.7.2): resolution: {integrity: sha512-XOpZ3IyJUIV1b15M7HVOpgQxPPF7lGXgsfcEIu3yDxFPaf/xZKt7s9QO/pbk7vpWQyVulpJbu4E5LwpZiQo4kA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3146,10 +3328,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.0.4) + '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.7.2) '@typescript-eslint/scope-manager': 6.12.0 - '@typescript-eslint/type-utils': 6.12.0(eslint@8.54.0)(typescript@5.0.4) - '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@5.0.4) + '@typescript-eslint/type-utils': 6.12.0(eslint@8.54.0)(typescript@5.7.2) + '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@5.7.2) '@typescript-eslint/visitor-keys': 6.12.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.54.0 @@ -3157,13 +3339,13 @@ packages: ignore: 5.3.0 natural-compare: 1.4.0 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.0.4) - typescript: 5.0.4 + ts-api-utils: 1.0.3(typescript@5.7.2) + typescript: 5.7.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.12.0(eslint@8.54.0)(typescript@5.0.4): + /@typescript-eslint/parser@6.12.0(eslint@8.54.0)(typescript@5.7.2): resolution: {integrity: sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3175,14 +3357,22 @@ packages: dependencies: '@typescript-eslint/scope-manager': 6.12.0 '@typescript-eslint/types': 6.12.0 - '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.0.4) + '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.7.2) '@typescript-eslint/visitor-keys': 6.12.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.54.0 - typescript: 5.0.4 + typescript: 5.7.2 transitivePeerDependencies: - supports-color + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + dev: true + /@typescript-eslint/scope-manager@6.12.0: resolution: {integrity: sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3190,7 +3380,7 @@ packages: '@typescript-eslint/types': 6.12.0 '@typescript-eslint/visitor-keys': 6.12.0 - /@typescript-eslint/type-utils@6.12.0(eslint@8.54.0)(typescript@5.0.4): + /@typescript-eslint/type-utils@6.12.0(eslint@8.54.0)(typescript@5.7.2): resolution: {integrity: sha512-WWmRXxhm1X8Wlquj+MhsAG4dU/Blvf1xDgGaYCzfvStP2NwPQh6KBvCDbiOEvaE0filhranjIlK/2fSTVwtBng==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3200,21 +3390,47 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.0.4) - '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@5.0.4) + '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.7.2) + '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@5.7.2) debug: 4.3.4(supports-color@8.1.1) eslint: 8.54.0 - ts-api-utils: 1.0.3(typescript@5.0.4) - typescript: 5.0.4 + ts-api-utils: 1.0.3(typescript@5.7.2) + typescript: 5.7.2 transitivePeerDependencies: - supports-color dev: true + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@typescript-eslint/types@6.12.0: resolution: {integrity: sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q==} engines: {node: ^16.0.0 || >=18.0.0} - /@typescript-eslint/typescript-estree@6.12.0(typescript@5.0.4): + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.7.2): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.6.3 + tsutils: 3.21.0(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree@6.12.0(typescript@5.7.2): resolution: {integrity: sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3229,12 +3445,32 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.0.4) - typescript: 5.0.4 + ts-api-utils: 1.0.3(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + + /@typescript-eslint/utils@5.62.0(eslint@8.54.0)(typescript@5.7.2): + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.7.2) + eslint: 8.54.0 + eslint-scope: 5.1.1 + semver: 7.6.3 transitivePeerDependencies: - supports-color + - typescript + dev: true - /@typescript-eslint/utils@6.12.0(eslint@8.54.0)(typescript@5.0.4): + /@typescript-eslint/utils@6.12.0(eslint@8.54.0)(typescript@5.7.2): resolution: {integrity: sha512-LywPm8h3tGEbgfyjYnu3dauZ0U7R60m+miXgKcZS8c7QALO9uWJdvNoP+duKTk2XMWc7/Q3d/QiCuLN9X6SWyQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3245,7 +3481,7 @@ packages: '@types/semver': 7.5.6 '@typescript-eslint/scope-manager': 6.12.0 '@typescript-eslint/types': 6.12.0 - '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.0.4) + '@typescript-eslint/typescript-estree': 6.12.0(typescript@5.7.2) eslint: 8.54.0 semver: 7.5.4 transitivePeerDependencies: @@ -3253,6 +3489,14 @@ packages: - typescript dev: true + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + dev: true + /@typescript-eslint/visitor-keys@6.12.0: resolution: {integrity: sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3282,6 +3526,53 @@ packages: '@upstash/redis': 1.24.3 dev: false + /@vercel/style-guide@5.2.0(eslint@8.54.0)(jest@29.7.0)(prettier@2.8.4)(typescript@5.7.2): + resolution: {integrity: sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==} + engines: {node: '>=16'} + peerDependencies: + '@next/eslint-plugin-next': '>=12.3.0 <15' + eslint: '>=8.48.0 <9' + prettier: '>=3.0.0 <4' + typescript: '>=4.8.0 <6' + peerDependenciesMeta: + '@next/eslint-plugin-next': + optional: true + eslint: + optional: true + prettier: + optional: true + typescript: + optional: true + dependencies: + '@babel/core': 7.23.7 + '@babel/eslint-parser': 7.25.9(@babel/core@7.23.7)(eslint@8.54.0) + '@rushstack/eslint-patch': 1.6.1 + '@typescript-eslint/eslint-plugin': 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.7.2) + '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.7.2) + eslint: 8.54.0 + eslint-config-prettier: 9.1.0(eslint@8.54.0) + eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.29.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.12.0)(eslint-plugin-import@2.29.0)(eslint@8.54.0) + eslint-plugin-eslint-comments: 3.2.0(eslint@8.54.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.12.0)(eslint@8.54.0)(jest@29.7.0)(typescript@5.7.2) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.54.0) + eslint-plugin-playwright: 0.16.0(eslint-plugin-jest@27.9.0)(eslint@8.54.0) + eslint-plugin-react: 7.33.2(eslint@8.54.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.54.0) + eslint-plugin-testing-library: 6.5.0(eslint@8.54.0)(typescript@5.7.2) + eslint-plugin-tsdoc: 0.2.17 + eslint-plugin-unicorn: 48.0.1(eslint@8.54.0) + prettier: 2.8.4 + prettier-plugin-packagejson: 2.5.6(prettier@2.8.4) + typescript: 5.7.2 + transitivePeerDependencies: + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - jest + - supports-color + dev: true + /acorn-jsx@5.3.2(acorn@8.11.3): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -3344,8 +3635,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + /ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} engines: {node: '>=12'} /ansi-styles@3.2.1: @@ -3399,7 +3690,7 @@ packages: resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} engines: {node: '>=10'} dependencies: - tslib: 2.8.1 + tslib: 2.4.1 dev: false /aria-query@5.3.0: @@ -3494,7 +3785,7 @@ packages: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} dependencies: - tslib: 2.4.1 + tslib: 2.8.1 dev: true /astral-regex@2.0.0: @@ -3520,21 +3811,20 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /autoprefixer@10.4.13(postcss@8.4.31): - resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} + /autoprefixer@10.4.20(postcss@8.4.49): + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.22.2 - caniuse-lite: 1.0.30001576 + browserslist: 4.24.3 + caniuse-lite: 1.0.30001690 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.31 + picocolors: 1.1.1 + postcss: 8.4.49 postcss-value-parser: 4.2.0 - dev: false /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} @@ -3671,8 +3961,8 @@ packages: tweetnacl: 0.14.5 dev: true - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} /blob-util@2.0.2: @@ -3699,16 +3989,23 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 + dev: true + + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.1.1 - /browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + /browserslist@4.24.3: + resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001576 - electron-to-chromium: 1.4.630 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) + caniuse-lite: 1.0.30001690 + electron-to-chromium: 1.5.76 + node-releases: 2.0.19 + update-browserslist-db: 1.1.1(browserslist@4.24.3) /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} @@ -3802,7 +4099,6 @@ packages: /camelcase-css@2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - dev: false /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} @@ -3814,12 +4110,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001576: - resolution: {integrity: sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==} - /caniuse-lite@1.0.30001690: resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} - dev: false /caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -3855,7 +4147,21 @@ packages: engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -3899,6 +4205,13 @@ packages: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} dev: true + /clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + /clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -4106,6 +4419,14 @@ packages: shebang-command: 2.0.0 which: 2.0.2 + /cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + /crypto-js@4.2.0: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} dev: false @@ -4124,7 +4445,7 @@ packages: engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} dependencies: mdn-data: 2.0.30 - source-map-js: 1.0.2 + source-map-js: 1.2.1 dev: true /cssesc@3.0.0: @@ -4317,6 +4638,11 @@ packages: engines: {node: '>=8'} dev: true + /detect-indent@7.0.1: + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} + dev: true + /detect-libc@2.0.3: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} @@ -4329,6 +4655,11 @@ packages: engines: {node: '>=8'} dev: true + /detect-newline@4.0.1: + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} dev: false @@ -4347,7 +4678,6 @@ packages: /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - dev: false /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} @@ -4362,7 +4692,6 @@ packages: /dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dev: false /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} @@ -4383,6 +4712,11 @@ packages: is-obj: 2.0.0 dev: true + /dotenv@16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + engines: {node: '>=12'} + dev: true + /duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} dev: true @@ -4403,8 +4737,8 @@ packages: safe-buffer: 5.2.1 dev: false - /electron-to-chromium@1.4.630: - resolution: {integrity: sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg==} + /electron-to-chromium@1.5.76: + resolution: {integrity: sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==} /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -4799,6 +5133,11 @@ packages: /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + dev: true + + /escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} @@ -4834,7 +5173,7 @@ packages: eslint: 8.54.0 dev: true - /eslint-config-next@14.0.3(eslint@8.54.0)(typescript@5.0.4): + /eslint-config-next@14.0.3(eslint@8.54.0)(typescript@5.7.2): resolution: {integrity: sha512-IKPhpLdpSUyKofmsXUfrvBC49JMUTdeaD8ZIH4v9Vk0sC1X6URTuTJCLtA0Vwuj7V/CQh0oISuSTvNn5//Buew==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 @@ -4845,7 +5184,7 @@ packages: dependencies: '@next/eslint-plugin-next': 14.0.3 '@rushstack/eslint-patch': 1.6.1 - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.0.4) + '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.7.2) eslint: 8.54.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.54.0) @@ -4853,7 +5192,7 @@ packages: eslint-plugin-jsx-a11y: 6.8.0(eslint@8.54.0) eslint-plugin-react: 7.33.2(eslint@8.54.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.54.0) - typescript: 5.0.4 + typescript: 5.7.2 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color @@ -4891,6 +5230,24 @@ packages: eslint-plugin-promise: 6.0.0(eslint@8.54.0) dev: true + /eslint-config-turbo@2.3.3(eslint@8.54.0): + resolution: {integrity: sha512-cM9wSBYowQIrjx2MPCzFE6jTnG4vpTPJKZ/O+Ps3CqrmGK/wtNOsY6WHGMwLtKY/nNbgRahAJH6jGVF6k2coOg==} + peerDependencies: + eslint: '>6.6.0' + dependencies: + eslint: 8.54.0 + eslint-plugin-turbo: 2.3.3(eslint@8.54.0) + dev: true + + /eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.29.0): + resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} + engines: {node: '>= 4'} + peerDependencies: + eslint-plugin-import: '>=1.4.0' + dependencies: + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0) + dev: true + /eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: @@ -4922,6 +5279,29 @@ packages: - eslint-import-resolver-webpack - supports-color + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.12.0)(eslint-plugin-import@2.29.0)(eslint@8.54.0): + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.4(supports-color@8.1.1) + enhanced-resolve: 5.15.0 + eslint: 8.54.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) + eslint-plugin-import: 2.29.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0) + fast-glob: 3.3.2 + get-tsconfig: 4.7.2 + is-core-module: 2.13.1 + is-glob: 4.0.3 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + dev: true + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} @@ -4943,7 +5323,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.0.4) + '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.7.2) debug: 3.2.7(supports-color@8.1.1) eslint: 8.54.0 eslint-import-resolver-node: 0.3.9 @@ -4951,11 +5331,40 @@ packages: transitivePeerDependencies: - supports-color - /eslint-plugin-es-x@7.5.0(eslint@8.54.0): - resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} - engines: {node: ^14.18.0 || >=16.0.0} + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} peerDependencies: - eslint: '>=8' + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.7.2) + debug: 3.2.7(supports-color@8.1.1) + eslint: 8.54.0 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.12.0)(eslint-plugin-import@2.29.0)(eslint@8.54.0) + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-es-x@7.5.0(eslint@8.54.0): + resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8' dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) '@eslint-community/regexpp': 4.10.0 @@ -4974,6 +5383,17 @@ packages: regexpp: 3.2.0 dev: true + /eslint-plugin-eslint-comments@3.2.0(eslint@8.54.0): + resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} + engines: {node: '>=6.5.0'} + peerDependencies: + eslint: '>=4.19.1' + dependencies: + escape-string-regexp: 1.0.5 + eslint: 8.54.0 + ignore: 5.3.0 + dev: true + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.12.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} @@ -4984,7 +5404,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.0.4) + '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.7.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -5018,7 +5438,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.0.4) + '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@5.7.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -5043,6 +5463,28 @@ packages: - supports-color dev: true + /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.12.0)(eslint@8.54.0)(jest@29.7.0)(typescript@5.7.2): + resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@5.7.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.7.2) + eslint: 8.54.0 + jest: 29.7.0(@types/node@18.0.1) + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.54.0): resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} engines: {node: '>=4.0'} @@ -5102,6 +5544,19 @@ packages: semver: 6.3.1 dev: true + /eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.9.0)(eslint@8.54.0): + resolution: {integrity: sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==} + peerDependencies: + eslint: '>=7' + eslint-plugin-jest: '>=25' + peerDependenciesMeta: + eslint-plugin-jest: + optional: true + dependencies: + eslint: 8.54.0 + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.12.0)(eslint@8.54.0)(jest@29.7.0)(typescript@5.7.2) + dev: true + /eslint-plugin-promise@6.0.0(eslint@8.54.0): resolution: {integrity: sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -5160,9 +5615,9 @@ packages: eslint-compat-utils: 0.1.2(eslint@8.54.0) esutils: 2.0.3 known-css-properties: 0.29.0 - postcss: 8.4.31 - postcss-load-config: 3.1.4(postcss@8.4.31) - postcss-safe-parser: 6.0.0(postcss@8.4.31) + postcss: 8.4.49 + postcss-load-config: 3.1.4(postcss@8.4.49) + postcss-safe-parser: 6.0.0(postcss@8.4.49) postcss-selector-parser: 6.0.15 semver: 7.5.4 svelte: 4.2.7 @@ -5172,6 +5627,67 @@ packages: - ts-node dev: true + /eslint-plugin-testing-library@6.5.0(eslint@8.54.0)(typescript@5.7.2): + resolution: {integrity: sha512-Ls5TUfLm5/snocMAOlofSOJxNN0aKqwTlco7CrNtMjkTdQlkpSMaeTCDHCuXfzrI97xcx2rSCNeKeJjtpkNC1w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} + peerDependencies: + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + dependencies: + '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.7.2) + eslint: 8.54.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-tsdoc@0.2.17: + resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} + dependencies: + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + dev: true + + /eslint-plugin-turbo@2.3.3(eslint@8.54.0): + resolution: {integrity: sha512-j8UEA0Z+NNCsjZep9G5u5soDQHcXq/x4amrwulk6eHF1U91H2qAjp5I4jQcvJewmccCJbVp734PkHHTRnosjpg==} + peerDependencies: + eslint: '>6.6.0' + dependencies: + dotenv: 16.0.3 + eslint: 8.54.0 + dev: true + + /eslint-plugin-unicorn@48.0.1(eslint@8.54.0): + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.44.0' + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + ci-info: 3.9.0 + clean-regexp: 1.0.0 + eslint: 8.54.0 + esquery: 1.5.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.1.0 + lodash: 4.17.21 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.6.3 + strip-indent: 3.0.0 + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + /eslint-scope@7.2.2: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -5191,6 +5707,11 @@ packages: engines: {node: '>=4'} dev: true + /eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + /eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -5271,6 +5792,11 @@ packages: dependencies: estraverse: 5.3.0 + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -5320,7 +5846,7 @@ packages: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} engines: {node: '>=10'} dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 get-stream: 6.0.1 human-signals: 2.1.0 is-stream: 2.0.1 @@ -5398,7 +5924,7 @@ packages: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -5423,6 +5949,17 @@ packages: pend: 1.2.0 dev: true + /fdir@6.4.2(picomatch@4.0.2): + resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + dependencies: + picomatch: 4.0.2 + dev: true + /feather-icons@4.29.0: resolution: {integrity: sha512-Y7VqN9FYb8KdaSF0qD1081HCkm0v4Eq/fpfQYQnubpqi0hXx14k+gF9iqtRys1SIcTEi97xDi/fmsPFZ8xo0GQ==} dependencies: @@ -5448,6 +5985,13 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 + dev: true + + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 /find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} @@ -5492,11 +6036,11 @@ packages: dependencies: is-callable: 1.2.7 - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + /foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 signal-exit: 4.1.0 /forever-agent@0.6.1: @@ -5523,7 +6067,6 @@ packages: /fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - dev: false /framer-motion@11.15.0(react-dom@19.0.0)(react@19.0.0): resolution: {integrity: sha512-MLk8IvZntxOMg7lDBLw2qgTHHv664bYoYmnFTmE0Gm/FW67aOJk0WM3ctMcG+Xhcv+vh5uyyXwxvxhSeJzSe+w==} @@ -5621,6 +6164,11 @@ packages: engines: {node: '>=8.0.0'} dev: true + /get-stdin@9.0.0: + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} + dev: true + /get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -5669,6 +6217,10 @@ packages: assert-plus: 1.0.0 dev: true + /git-hooks-list@3.1.0: + resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} + dev: true + /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -5681,16 +6233,16 @@ packages: dependencies: is-glob: 4.0.3 - /glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} + /glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.4 - path-scurry: 1.10.1 + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 /glob@7.1.7: resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} @@ -5801,6 +6353,16 @@ packages: dependencies: function-bind: 1.1.2 + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true @@ -5979,7 +6541,7 @@ packages: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} @@ -6011,6 +6573,12 @@ packages: dependencies: hasown: 2.0.0 + /is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + dependencies: + hasown: 2.0.2 + /is-date-object@1.0.5: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} @@ -6087,6 +6655,11 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + /is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + dev: true + /is-reference@3.0.2: resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} dependencies: @@ -6238,9 +6811,8 @@ packages: reflect.getprototypeof: 1.0.4 set-function-name: 2.0.1 - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} + /jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -6342,7 +6914,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -6410,7 +6982,7 @@ packages: jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.8 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -6443,7 +7015,7 @@ packages: '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -6495,7 +7067,7 @@ packages: jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) jest-util: 29.7.0 jest-validate: 29.7.0 - resolve: 1.22.8 + resolve: 1.22.10 resolve.exports: 2.0.2 slash: 3.0.0 dev: true @@ -6656,10 +7228,13 @@ packages: - ts-node dev: true - /jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + /jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true - dev: false + + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true /joi@17.11.1: resolution: {integrity: sha512-671acnrx+w96PCcQOzvm0VYQVwNL2PVgZmDRaFuSsx8sIUmGzYElPw5lU8F3Cr0jOuPs1oM56p7W2a1cdDOwcw==} @@ -6710,11 +7285,22 @@ packages: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} dev: true + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true + /jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + dev: true + /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -6879,7 +7465,7 @@ packages: resolution: {integrity: sha512-sRr0z1S/I26VffRLq9KJsKtLk856YrJlNGmcJmbLX8dFn3MuzVPUbstuChEhqnSxZb8TZmVfthuXuwhG9vRoSw==} dev: true - /lighthouse@10.4.0(typescript@5.0.4): + /lighthouse@10.4.0(typescript@5.7.2): resolution: {integrity: sha512-XQWHEWkJ8YxSPsxttBJORy5+hQrzbvGkYfeP3fJjyYKioWkF2MXfFqNK4ZuV4jL8pBu7Z91qnQP6In0bq1yXww==} engines: {node: '>=16.16'} hasBin: true @@ -6903,7 +7489,7 @@ packages: open: 8.4.2 parse-cache-control: 1.0.1 ps-list: 8.1.1 - puppeteer-core: 20.9.0(typescript@5.0.4) + puppeteer-core: 20.9.0(typescript@5.7.2) robots-parser: 3.0.1 semver: 5.7.2 speedline-core: 1.4.3 @@ -6922,11 +7508,11 @@ packages: /lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} + dev: true - /lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + /lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} - dev: false /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -7042,9 +7628,8 @@ packages: dependencies: js-tokens: 4.0.0 - /lru-cache@10.1.0: - resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} - engines: {node: 14 || >=16.14} + /lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -7140,6 +7725,14 @@ packages: dependencies: braces: 3.0.2 picomatch: 2.3.1 + dev: true + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 /million@2.6.4: resolution: {integrity: sha512-voUkdd/jHWrG+7NS+mX49Pat+POKdgGW78V7pYMSrTaOjUitR6ySEcAci8hn17Rsx1IMI3+5w41dkADM1J1ZEg==} @@ -7184,8 +7777,8 @@ packages: dependencies: brace-expansion: 1.1.11 - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + /minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 @@ -7193,8 +7786,8 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + /minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} /mitt@3.0.0: @@ -7271,8 +7864,8 @@ packages: object-assign: 4.1.1 thenify-all: 1.6.0 - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + /nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -7372,8 +7965,17 @@ packages: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + /node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.10 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + dev: true /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -7382,7 +7984,6 @@ packages: /normalize-range@0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} - dev: false /npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} @@ -7398,7 +7999,6 @@ packages: /object-hash@3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - dev: false /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} @@ -7553,6 +8153,9 @@ packages: netmask: 2.0.2 dev: true + /package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -7588,12 +8191,12 @@ packages: /path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} + /path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} dependencies: - lru-cache: 10.1.0 - minipass: 7.0.4 + lru-cache: 10.4.3 + minipass: 7.1.2 /path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -7623,11 +8226,20 @@ packages: /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + /picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + dev: true + /pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -7643,29 +8255,32 @@ packages: find-up: 4.1.0 dev: true - /postcss-import@15.1.0(postcss@8.4.31): + /pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: true + + /postcss-import@15.1.0(postcss@8.4.49): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.31 + postcss: 8.4.49 postcss-value-parser: 4.2.0 read-cache: 1.0.0 - resolve: 1.22.8 - dev: false + resolve: 1.22.10 - /postcss-js@4.0.1(postcss@8.4.31): + /postcss-js@4.0.1(postcss@8.4.49): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.31 - dev: false + postcss: 8.4.49 - /postcss-load-config@3.1.4(postcss@8.4.31): + /postcss-load-config@3.1.4(postcss@8.4.49): resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -7678,11 +8293,11 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.31 + postcss: 8.4.49 yaml: 1.10.2 dev: true - /postcss-load-config@4.0.2(postcss@8.4.31): + /postcss-load-config@4.0.2(postcss@8.4.49): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -7694,37 +8309,35 @@ packages: ts-node: optional: true dependencies: - lilconfig: 3.0.0 - postcss: 8.4.31 - yaml: 2.3.4 - dev: false + lilconfig: 3.1.3 + postcss: 8.4.49 + yaml: 2.6.1 - /postcss-nested@6.0.1(postcss@8.4.31): - resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + /postcss-nested@6.2.0(postcss@8.4.49): + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.31 - postcss-selector-parser: 6.0.15 - dev: false + postcss: 8.4.49 + postcss-selector-parser: 6.1.2 - /postcss-safe-parser@6.0.0(postcss@8.4.31): + /postcss-safe-parser@6.0.0(postcss@8.4.49): resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.3.3 dependencies: - postcss: 8.4.31 + postcss: 8.4.49 dev: true - /postcss-scss@4.0.9(postcss@8.4.31): + /postcss-scss@4.0.9(postcss@8.4.49): resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.4.29 dependencies: - postcss: 8.4.31 + postcss: 8.4.49 dev: true /postcss-selector-parser@6.0.10: @@ -7741,32 +8354,52 @@ packages: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 + dev: true + + /postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: false /postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + dev: false - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + /postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + /prettier-plugin-packagejson@2.5.6(prettier@2.8.4): + resolution: {integrity: sha512-TY7KiLtyt6Tlf53BEbXUWkN0+TRdHKgIMmtXtDCyHH6yWnZ50Lwq6Vb6lyjapZrhDTXooC4EtlY5iLe1sCgi5w==} + peerDependencies: + prettier: '>= 1.16.0' + peerDependenciesMeta: + prettier: + optional: true + dependencies: + prettier: 2.8.4 + sort-package-json: 2.12.0 + synckit: 0.9.2 + dev: true + /prettier-plugin-svelte@3.1.2(prettier@2.8.0)(svelte@4.2.7): resolution: {integrity: sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==} peerDependencies: @@ -7880,7 +8513,7 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - /puppeteer-core@20.9.0(typescript@5.0.4): + /puppeteer-core@20.9.0(typescript@5.7.2): resolution: {integrity: sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==} engines: {node: '>=16.3.0'} peerDependencies: @@ -7889,12 +8522,12 @@ packages: typescript: optional: true dependencies: - '@puppeteer/browsers': 1.4.6(typescript@5.0.4) + '@puppeteer/browsers': 1.4.6(typescript@5.7.2) chromium-bidi: 0.4.16(devtools-protocol@0.0.1147663) cross-fetch: 4.0.0 debug: 4.3.4(supports-color@8.1.1) devtools-protocol: 0.0.1147663 - typescript: 5.0.4 + typescript: 5.7.2 ws: 8.13.0 transitivePeerDependencies: - bufferutil @@ -7953,7 +8586,7 @@ packages: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true - /react-remove-scroll-bar@2.3.8(@types/react@18.0.15)(react@19.0.0): + /react-remove-scroll-bar@2.3.8(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} peerDependencies: @@ -7963,13 +8596,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.15 + '@types/react': 19.0.2 react: 19.0.0 - react-style-singleton: 2.2.3(@types/react@18.0.15)(react@19.0.0) + react-style-singleton: 2.2.3(@types/react@19.0.2)(react@19.0.0) tslib: 2.8.1 dev: false - /react-remove-scroll@2.6.2(@types/react@18.0.15)(react@19.0.0): + /react-remove-scroll@2.6.2(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==} engines: {node: '>=10'} peerDependencies: @@ -7979,16 +8612,16 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.15 + '@types/react': 19.0.2 react: 19.0.0 - react-remove-scroll-bar: 2.3.8(@types/react@18.0.15)(react@19.0.0) - react-style-singleton: 2.2.3(@types/react@18.0.15)(react@19.0.0) - tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@18.0.15)(react@19.0.0) - use-sidecar: 1.1.3(@types/react@18.0.15)(react@19.0.0) + react-remove-scroll-bar: 2.3.8(@types/react@19.0.2)(react@19.0.0) + react-style-singleton: 2.2.3(@types/react@19.0.2)(react@19.0.0) + tslib: 2.4.1 + use-callback-ref: 1.3.3(@types/react@19.0.2)(react@19.0.0) + use-sidecar: 1.1.3(@types/react@19.0.2)(react@19.0.0) dev: false - /react-style-singleton@2.2.3(@types/react@18.0.15)(react@19.0.0): + /react-style-singleton@2.2.3(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} engines: {node: '>=10'} peerDependencies: @@ -7998,7 +8631,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.15 + '@types/react': 19.0.2 get-nonce: 1.0.1 react: 19.0.0 tslib: 2.8.1 @@ -8013,7 +8646,25 @@ packages: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} dependencies: pify: 2.3.0 - dev: false + + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} @@ -8035,6 +8686,11 @@ packages: /regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + /regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + dev: true + /regexp.prototype.flags@1.5.1: resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} engines: {node: '>= 0.4'} @@ -8048,6 +8704,13 @@ packages: engines: {node: '>=8'} dev: true + /regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + /request-progress@3.0.0: resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==} dependencies: @@ -8087,6 +8750,22 @@ packages: engines: {node: '>=10'} dev: true + /resolve@1.19.0: + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + dev: true + + /resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -8184,7 +8863,7 @@ packages: /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.4.1 + tslib: 2.8.1 dev: true /sade@1.8.1: @@ -8252,8 +8931,6 @@ packages: engines: {node: '>=10'} hasBin: true requiresBuild: true - dev: false - optional: true /server-only@0.0.1: resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} @@ -8414,8 +9091,26 @@ packages: sander: 0.5.1 dev: true - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + /sort-object-keys@1.1.3: + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + dev: true + + /sort-package-json@2.12.0: + resolution: {integrity: sha512-/HrPQAeeLaa+vbAH/znjuhwUluuiM/zL5XX9kop8UpDgjtyWKt43hGDk2vd/TBdDpzIyzIHVUgmYofzYrAQjew==} + hasBin: true + dependencies: + detect-indent: 7.0.1 + detect-newline: 4.0.1 + get-stdin: 9.0.0 + git-hooks-list: 3.1.0 + is-plain-obj: 4.1.0 + semver: 7.6.3 + sort-object-keys: 1.1.3 + tinyglobby: 0.2.10 + dev: true + + /source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} /source-map-support@0.5.13: @@ -8435,6 +9130,28 @@ packages: engines: {node: '>= 8'} dev: true + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.20 + dev: true + + /spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.20 + dev: true + + /spdx-license-ids@3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} + dev: true + /speedline-core@1.4.3: resolution: {integrity: sha512-DI7/OuAUD+GMpR6dmu8lliO2Wg5zfeh+/xsdyJZCzd8o5JgFUjCeLsBDuZjIQJdwXS3J0L/uZYrELKYqx+PXog==} engines: {node: '>=8.0'} @@ -8581,7 +9298,7 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} dependencies: - ansi-regex: 6.0.1 + ansi-regex: 6.1.0 /strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} @@ -8631,9 +9348,9 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.8 commander: 4.1.1 - glob: 10.3.10 + glob: 10.4.5 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 @@ -8661,7 +9378,7 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /svelte-check@3.6.2(@babel/core@7.23.7)(postcss@8.4.31)(svelte@4.2.7): + /svelte-check@3.6.2(@babel/core@7.23.7)(postcss@8.4.49)(svelte@4.2.7): resolution: {integrity: sha512-E6iFh4aUCGJLRz6QZXH3gcN/VFfkzwtruWSRmlKrLWQTiO6VzLsivR6q02WYLGNAGecV3EocqZuCDrC2uttZ0g==} hasBin: true peerDependencies: @@ -8674,8 +9391,8 @@ packages: picocolors: 1.0.0 sade: 1.8.1 svelte: 4.2.7 - svelte-preprocess: 5.1.3(@babel/core@7.23.7)(postcss@8.4.31)(svelte@4.2.7)(typescript@5.0.4) - typescript: 5.0.4 + svelte-preprocess: 5.1.3(@babel/core@7.23.7)(postcss@8.4.49)(svelte@4.2.7)(typescript@5.7.2) + typescript: 5.7.2 transitivePeerDependencies: - '@babel/core' - coffeescript @@ -8700,8 +9417,8 @@ packages: eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - postcss: 8.4.31 - postcss-scss: 4.0.9(postcss@8.4.31) + postcss: 8.4.49 + postcss-scss: 4.0.9(postcss@8.4.49) svelte: 4.2.7 dev: true @@ -8714,7 +9431,7 @@ packages: svelte: 4.2.7 dev: true - /svelte-preprocess@5.1.3(@babel/core@7.23.7)(postcss@8.4.31)(svelte@4.2.7)(typescript@5.0.4): + /svelte-preprocess@5.1.3(@babel/core@7.23.7)(postcss@8.4.49)(svelte@4.2.7)(typescript@5.7.2): resolution: {integrity: sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==} engines: {node: '>= 16.0.0', pnpm: ^8.0.0} requiresBuild: true @@ -8756,11 +9473,11 @@ packages: '@types/pug': 2.0.10 detect-indent: 6.1.0 magic-string: 0.30.5 - postcss: 8.4.31 + postcss: 8.4.49 sorcery: 0.11.0 strip-indent: 3.0.0 svelte: 4.2.7 - typescript: 5.0.4 + typescript: 5.7.2 dev: true /svelte@4.2.7: @@ -8790,36 +9507,43 @@ packages: react: 19.0.0 dev: false - /tailwindcss@3.4.0: - resolution: {integrity: sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==} + /synckit@0.9.2: + resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.8.1 + dev: true + + /tailwindcss@3.4.17: + resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} engines: {node: '>=14.0.0'} hasBin: true dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 - chokidar: 3.5.3 + chokidar: 3.6.0 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.21.0 - lilconfig: 2.1.0 - micromatch: 4.0.5 + jiti: 1.21.7 + lilconfig: 3.1.3 + micromatch: 4.0.8 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.31 - postcss-import: 15.1.0(postcss@8.4.31) - postcss-js: 4.0.1(postcss@8.4.31) - postcss-load-config: 4.0.2(postcss@8.4.31) - postcss-nested: 6.0.1(postcss@8.4.31) - postcss-selector-parser: 6.0.15 - resolve: 1.22.8 + picocolors: 1.1.1 + postcss: 8.4.49 + postcss-import: 15.1.0(postcss@8.4.49) + postcss-js: 4.0.1(postcss@8.4.49) + postcss-load-config: 4.0.2(postcss@8.4.49) + postcss-nested: 6.2.0(postcss@8.4.49) + postcss-selector-parser: 6.1.2 + resolve: 1.22.10 sucrase: 3.35.0 transitivePeerDependencies: - ts-node - dev: false /tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} @@ -8883,6 +9607,14 @@ packages: globrex: 0.1.2 dev: true + /tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} + engines: {node: '>=12.0.0'} + dependencies: + fdir: 6.4.2(picomatch@4.0.2) + picomatch: 4.0.2 + dev: true + /tmp@0.2.1: resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} engines: {node: '>=8.17.0'} @@ -8927,18 +9659,18 @@ packages: hasBin: true dev: true - /ts-api-utils@1.0.3(typescript@5.0.4): + /ts-api-utils@1.0.3(typescript@5.7.2): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.0.4 + typescript: 5.7.2 /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-jest@29.1.1(@babel/core@7.23.7)(jest@29.7.0)(typescript@5.0.4): + /ts-jest@29.1.1(@babel/core@7.23.7)(jest@29.7.0)(typescript@5.7.2): resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -8968,7 +9700,7 @@ packages: lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.5.4 - typescript: 5.0.4 + typescript: 5.7.2 yargs-parser: 21.1.1 dev: true @@ -8989,9 +9721,8 @@ packages: /tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - dev: false - /tsup@5.11.13(postcss@8.4.31)(typescript@5.0.4): + /tsup@5.11.13(postcss@8.4.49)(typescript@5.7.2): resolution: {integrity: sha512-NVMK01gVmojZn7+iZwxRK1CzW2BIabaVMyEjs7Nm9lm4DrSf7IAqs2F3fg0vT7rH72x1cIBsW9U/TlWrCvHVQQ==} hasBin: true peerDependencies: @@ -9002,90 +9733,99 @@ packages: dependencies: bundle-require: 3.1.2(esbuild@0.14.54) cac: 6.7.14 - chokidar: 3.5.3 + chokidar: 3.6.0 debug: 4.3.4(supports-color@8.1.1) esbuild: 0.14.54 execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 3.1.4(postcss@8.4.31) + postcss-load-config: 3.1.4(postcss@8.4.49) resolve-from: 5.0.0 rollup: 2.79.1 source-map: 0.7.4 sucrase: 3.35.0 tree-kill: 1.2.2 - typescript: 5.0.4 + typescript: 5.7.2 transitivePeerDependencies: - postcss - supports-color - ts-node dev: true + /tsutils@3.21.0(typescript@5.7.2): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 5.7.2 + dev: true + /tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 dev: true - /turbo-darwin-64@1.9.3: - resolution: {integrity: sha512-0dFc2cWXl82kRE4Z+QqPHhbEFEpUZho1msHXHWbz5+PqLxn8FY0lEVOHkq5tgKNNEd5KnGyj33gC/bHhpZOk5g==} + /turbo-darwin-64@2.3.3: + resolution: {integrity: sha512-bxX82xe6du/3rPmm4aCC5RdEilIN99VUld4HkFQuw+mvFg6darNBuQxyWSHZTtc25XgYjQrjsV05888w1grpaA==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64@1.9.3: - resolution: {integrity: sha512-1cYbjqLBA2zYE1nbf/qVnEkrHa4PkJJbLo7hnuMuGM0bPzh4+AnTNe98gELhqI1mkTWBu/XAEeF5u6dgz0jLNA==} + /turbo-darwin-arm64@2.3.3: + resolution: {integrity: sha512-DYbQwa3NsAuWkCUYVzfOUBbSUBVQzH5HWUFy2Kgi3fGjIWVZOFk86ss+xsWu//rlEAfYwEmopigsPYSmW4X15A==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64@1.9.3: - resolution: {integrity: sha512-UuBPFefawEwpuxh5pM9Jqq3q4C8M0vYxVYlB3qea/nHQ80pxYq7ZcaLGEpb10SGnr3oMUUs1zZvkXWDNKCJb8Q==} + /turbo-linux-64@2.3.3: + resolution: {integrity: sha512-eHj9OIB0dFaP6BxB88jSuaCLsOQSYWBgmhy2ErCu6D2GG6xW3b6e2UWHl/1Ho9FsTg4uVgo4DB9wGsKa5erjUA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64@1.9.3: - resolution: {integrity: sha512-vUrNGa3hyDtRh9W0MkO+l1dzP8Co2gKnOVmlJQW0hdpOlWlIh22nHNGGlICg+xFa2f9j4PbQlWTsc22c019s8Q==} + /turbo-linux-arm64@2.3.3: + resolution: {integrity: sha512-NmDE/NjZoDj1UWBhMtOPmqFLEBKhzGS61KObfrDEbXvU3lekwHeoPvAMfcovzswzch+kN2DrtbNIlz+/rp8OCg==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64@1.9.3: - resolution: {integrity: sha512-0BZ7YaHs6r+K4ksqWus1GKK3W45DuDqlmfjm/yuUbTEVc8szmMCs12vugU2Zi5GdrdJSYfoKfEJ/PeegSLIQGQ==} + /turbo-windows-64@2.3.3: + resolution: {integrity: sha512-O2+BS4QqjK3dOERscXqv7N2GXNcqHr9hXumkMxDj/oGx9oCatIwnnwx34UmzodloSnJpgSqjl8iRWiY65SmYoQ==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64@1.9.3: - resolution: {integrity: sha512-QJUYLSsxdXOsR1TquiOmLdAgtYcQ/RuSRpScGvnZb1hY0oLc7JWU0llkYB81wVtWs469y8H9O0cxbKwCZGR4RQ==} + /turbo-windows-arm64@2.3.3: + resolution: {integrity: sha512-dW4ZK1r6XLPNYLIKjC4o87HxYidtRRcBeo/hZ9Wng2XM/MqqYkAyzJXJGgRMsc0MMEN9z4+ZIfnSNBrA0b08ag==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo@1.9.3: - resolution: {integrity: sha512-ID7mxmaLUPKG/hVkp+h0VuucB1U99RPCJD9cEuSEOdIPoSIuomcIClEJtKamUsdPLhLCud+BvapBNnhgh58Nzw==} + /turbo@2.3.3: + resolution: {integrity: sha512-DUHWQAcC8BTiUZDRzAYGvpSpGLiaOQPfYXlCieQbwUvmml/LRGIe3raKdrOPOoiX0DYlzxs2nH6BoWJoZrj8hA==} hasBin: true - requiresBuild: true optionalDependencies: - turbo-darwin-64: 1.9.3 - turbo-darwin-arm64: 1.9.3 - turbo-linux-64: 1.9.3 - turbo-linux-arm64: 1.9.3 - turbo-windows-64: 1.9.3 - turbo-windows-arm64: 1.9.3 + turbo-darwin-64: 2.3.3 + turbo-darwin-arm64: 2.3.3 + turbo-linux-64: 2.3.3 + turbo-linux-arm64: 2.3.3 + turbo-windows-64: 2.3.3 + turbo-windows-arm64: 2.3.3 dev: true /tweetnacl@0.14.5: @@ -9112,6 +9852,16 @@ packages: engines: {node: '>=10'} dev: true + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + /type@1.2.0: resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} dev: false @@ -9159,9 +9909,9 @@ packages: dependencies: is-typedarray: 1.0.0 - /typescript@5.0.4: - resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} - engines: {node: '>=12.20'} + /typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} + engines: {node: '>=14.17'} hasBin: true /unbox-primitive@1.0.2: @@ -9226,15 +9976,15 @@ packages: engines: {node: '>=8'} dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.2): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + /update-browserslist-db@1.1.1(browserslist@4.24.3): + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.22.2 - escalade: 3.1.1 - picocolors: 1.0.0 + browserslist: 4.24.3 + escalade: 3.2.0 + picocolors: 1.1.1 /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -9248,7 +9998,7 @@ packages: requires-port: 1.0.0 dev: true - /use-callback-ref@1.3.3(@types/react@18.0.15)(react@19.0.0): + /use-callback-ref@1.3.3(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} engines: {node: '>=10'} peerDependencies: @@ -9258,12 +10008,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.15 + '@types/react': 19.0.2 react: 19.0.0 tslib: 2.8.1 dev: false - /use-sidecar@1.1.3(@types/react@18.0.15)(react@19.0.0): + /use-sidecar@1.1.3(@types/react@19.0.2)(react@19.0.0): resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} engines: {node: '>=10'} peerDependencies: @@ -9273,7 +10023,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.15 + '@types/react': 19.0.2 detect-node-es: 1.1.0 react: 19.0.0 tslib: 2.8.1 @@ -9312,6 +10062,13 @@ packages: convert-source-map: 2.0.0 dev: true + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + /verror@1.10.0: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} @@ -9351,7 +10108,7 @@ packages: dependencies: '@types/node': 18.0.1 esbuild: 0.19.11 - postcss: 8.4.33 + postcss: 8.4.49 rollup: 4.9.5 optionalDependencies: fsevents: 2.3.3 @@ -9581,10 +10338,10 @@ packages: engines: {node: '>= 6'} dev: true - /yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + /yaml@2.6.1: + resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} engines: {node: '>= 14'} - dev: false + hasBin: true /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} diff --git a/turbo.json b/turbo.json index ad0641bc..b47f4b2a 100644 --- a/turbo.json +++ b/turbo.json @@ -1,30 +1,18 @@ { - "baseBranch": "origin/main", - "pipeline": { + "$schema": "https://turbo.build/schema.json", + "tasks": { "build": { "dependsOn": ["^build"], - "outputs": ["dist/**", ".next/**"] - }, - "export": { - "dependsOn": ["^build"], - "outputs": ["out/**"] - }, - "test": { - "dependsOn": ["^build"], - "outputs": [] - }, - "test:ci": { - "dependsOn": ["^build"], - "outputs": [] - }, - "start": { - "dependsOn": ["^build"], - "outputs": [] - }, - "lint": { - "outputs": [] + "inputs": ["$TURBO_DEFAULT$", ".env*"], + "outputs": ["dist/**", ".next/**", "!.next/cache/**"] }, + "lint": {}, + "type-check": {}, "dev": { + "cache": false, + "persistent": true + }, + "clean": { "cache": false } }