diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000..5470ef2
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,46 @@
+# GitHub Personal Access Token
+# This token is required to authenticate requests to GitHub’s API for fetching
+# repository releases and assets without hitting rate limits.
+#
+# Purpose:
+# The GitHub API limits the number of requests per hour for unauthorized
+# requests. By including a GitHub Personal Access Token, you increase the rate
+# limit available for your application, allowing it to function without interruptions.
+#
+# Without this token, you may experience 403 (Forbidden) errors if the app
+# exceeds the API’s request limit. GitHub tokens also ensure that your application
+# has authorized access to private repositories, if needed.
+#
+# How to get your GitHub Personal Access Token:
+#
+# 1. Sign in to GitHub: Go to https://github.com/ and login.
+#
+# 2. Access Settings:
+# - In the top right corner of any GitHub page, click your profile picture.
+# - Click on **Settings** in the dropdown menu.
+#
+# 3. Open Developer Settings:
+# - Scroll down and click **Developer settings** in the left sidebar.
+#
+# 4. Generate Token:
+# - Select **Personal access tokens** > **Tokens (classic)** from the left sidebar.
+# - Click on **Generate new token** > **Generate new token (classic)**.
+#
+# 5. Configure Token Permissions:
+# - In the **Note** field, add a description (e.g., "Access for My Project").
+# - Set the **Expiration** duration, or leave it as "No expiration" if you want it to last indefinitely.
+# - Under **Select scopes**, choose at least:
+# - `repo` - Grants read and write access to repositories, which allows access to private repositories if needed.
+#
+# 6. Generate and Copy Token:
+# - Click **Generate token** at the bottom of the page.
+# - GitHub will show your token only once. Copy it immediately and store it in a safe place.
+#
+# 7. Add Token Here:
+# - Place the token below as the value for `GITHUB_TOKEN`.
+#
+# GitHub Documentation:
+# - More details on personal access tokens: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
+# - GitHub API rate limits: https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting
+
+GITHUB_TOKEN=your_personal_access_token_here
diff --git a/.eslintignore b/.eslintignore
index 4b7cd47..506e574 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -5,6 +5,10 @@ node_modules/
build/
dist/
.out/
+**/build/**/*.js
+**/.next/**/*.js
+**/build/**/*.ts
+**/.next/**/*.ts
# Ignore all configuration files in the root directory
# This includes ESLint, Prettier, Babel, Stylelint, and other config files
@@ -25,11 +29,12 @@ dist/
# Ignore lock files
package-lock.json
+pnpm-lock.yaml
yarn.lock
# Ignore log files
npm-debug.log
-yarn-error.log
+pnpm-error.log
pnpm-debug.log
# Ignore coverage directory used by testing tools
diff --git a/.eslintrc.js b/.eslintrc.js
deleted file mode 100644
index 44acdbe..0000000
--- a/.eslintrc.js
+++ /dev/null
@@ -1,3 +0,0 @@
-module.exports = {
- extends: "next/core-web-vitals",
-};
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 0000000..bffb357
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "next/core-web-vitals"
+}
diff --git a/.gitattributes b/.gitattributes
index 605115a..4fae9ab 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -200,4 +200,4 @@ Procfile text
# DISABLE SHRINKWRAP MERGING AS RESULTS MAY BE INVALID.
npm-shrinkwrap.json merge=binary
shrinkwrap.yaml merge=binary
-yarn.lock merge=binary
+pnpm.lock merge=binary
diff --git a/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md
similarity index 97%
rename from CODE_OF_CONDUCT.md
rename to .github/CODE_OF_CONDUCT.md
index 5445e1d..2b666a4 100644
--- a/CODE_OF_CONDUCT.md
+++ b/.github/CODE_OF_CONDUCT.md
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team at codeilluminators@gmail.com. All
+reported by contacting the project team at serstor15@gmail.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index 8633e01..8b16fdb 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1,6 +1,6 @@
# These are supported funding model platforms
-github: [Storik4Pro, lumenpearson, ValdikSS]
+github: [Storik4pro, lumenpearson, ValdikSS, bol-van, xvzc, hufrea]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md
deleted file mode 100644
index 64e5669..0000000
--- a/.github/ISSUE_TEMPLATE/bug-report.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve GoodbyeDPI UI documentation
-title: "\U0001F47E BUG"
-labels: bug
-assignees: ''
-
----
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**To Reproduce**
-Steps to reproduce the behavior:
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Desktop (please complete the following information):**
- - OS: [e.g. iOS]
- - Browser [e.g. chrome, safari]
- - Version [e.g. 22]
-
-**Smartphone (please complete the following information):**
- - Device: [e.g. iPhone6]
- - OS: [e.g. iOS8.1]
- - Browser [e.g. stock browser, safari]
- - Version [e.g. 22]
-
-**Additional context**
-Add any other context about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index 189feb1..0000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-title: "✨ IMPROVE"
-labels: documentation, enhancement
-assignees: ''
-
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
-
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
diff --git a/.github/assets/readme-logo.png b/.github/assets/readme-logo.png
new file mode 100644
index 0000000..84762ed
Binary files /dev/null and b/.github/assets/readme-logo.png differ
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..c9a5fd7
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,25 @@
+version: 2
+updates:
+ # Configuration to check for updates in Node.js dependencies (using pnpm).
+ - package-ecosystem: 'npm' # The package manager for the project (using "npm" ecosystem for pnpm).
+ directory: '/' # Directory where the package.json is located (root in this case).
+ schedule:
+ interval: 'weekly' # Frequency of the update checks (can be daily, weekly, or monthly).
+ commit-message:
+ prefix: 'chore(deps)' # Prefix added to commit messages for dependency updates.
+ labels:
+ - 'dependencies'
+ - 'node'
+ - 'pnpm'
+ open-pull-requests-limit: 5 # Limit the number of open pull requests created by Dependabot at a time.
+ ignore:
+ # List of specific dependencies to ignore for updates.
+ # Useful for libraries where automatic updates might cause issues.
+ - dependency-name: 'next'
+ - dependency-name: 'babylon'
+ - dependency-name: 'typescript'
+ - dependency-name: 'autoprefixer'
+ - dependency-name: 'lucide-react'
+ - dependency-name: 'eslint-config-next'
+ - dependency-name: 'eslint'
+ rebase-strategy: 'auto' # Automatically rebase pull requests if conflicts arise.
diff --git a/.github/workflows/dependabot-automerge.yml b/.github/workflows/dependabot-automerge.yml
new file mode 100644
index 0000000..bad8c11
--- /dev/null
+++ b/.github/workflows/dependabot-automerge.yml
@@ -0,0 +1,34 @@
+# Automatically squashes and merges Dependabot dependency upgrades if tests pass
+
+name: Dependabot Auto-merge
+
+on: pull_request_target
+
+permissions:
+ pull-requests: write
+ contents: write
+
+jobs:
+ dependabot:
+ runs-on: ubuntu-latest
+
+ if: ${{ github.actor == 'dependabot[bot]' }}
+ steps:
+ - name: Fetch Dependabot metadata
+ id: dependabot-metadata
+ uses: dependabot/fetch-metadata@v1.3.3
+ with:
+ github-token: '${{ secrets.GITHUB_TOKEN }}'
+
+ - name: Approve Dependabot PR
+ run: gh pr review --approve "$PR_URL"
+ env:
+ PR_URL: ${{ github.event.pull_request.html_url }}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Auto-merge (squash) Dependabot PR
+ if: ${{ steps.dependabot-metadata.outputs.update-type != 'version-update:semver-major' }}
+ run: gh pr merge --auto --squash "$PR_URL"
+ env:
+ PR_URL: ${{ github.event.pull_request.html_url }}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.gitignore b/.gitignore
index 17167b7..39ab6ee 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,75 +1,97 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-.yarn/install-state.gz
+# Logs and Debugging
+logs/
+*.log
+npm-debug.log*
+pnpm-debug.log*
+pnpm-error.log*
+pnpm-debug.log*
+lerna-debug.log*
-# next.js
-/.next/
+# Node Modules
+node_modules/
-# testing
-/.nyc_output
-/coverage
-/out/
+# Distribution Builds
+dist/
+build/
+output
+out/
+dist-ssr/
+!/out/.gitkeep
+!/dist/.gitkeep
+!/build/.gitkeep
-# production
-/build
-/dist
+# Vercel Deployment
+.vercel/
-# OS
-.DS_Store
-*.pem
+# Next.js
+.next/
+out/
+!/out/.gitkeep
-# debug
-*.log
-npm-debug.log*
-pnpm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
+# Testing and Coverage
+coverage/
+.nyc_output/
+.vitest/
-# dotenv environment variable files
+# Local Environment Files
.env
+.env*.local
.env.development.local
.env.test.local
.env.production.local
-.env.local
-
-# IDEs and editors
-/.idea
-.project
-.classpath
-.c9/
-*.launch
-.settings/
-*.sublime-workspace
+
+# Package Managers
+.pnp
+.pnp.js
+.yarn/install-state.gz
+
+# WiX
+WixTools
+
+# TypeScript
+*.tsbuildinfo
+
+# Lint and Formatter
+.eslintcache
+.stylelintcache
+.prettiercache
+.npmrc
+.pnpmrc
+
+# IDE and Editor Settings
+# Visual Studio Code
.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
!.vscode/extensions.json
+!.vscode/settings.json
-# temp directory
-.temp
-.tmp
+# JetBrains IDEs (WebStorm, IntelliJ, etc.)
+.idea/
+*.iml
-# Runtime data
-pids
-*.pid
-*.seed
-*.pid.lock
+# Visual Studio
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
-# local env files
-.env*.local
+# Operating System Specific Files
+# macOS
+.DS_Store
-# vercel
-.vercel
+# Windows
+Thumbs.db
-# typescript
-*.tsbuildinfo
-next-env.d.ts
+# Miscellaneous
+*.local
+*.lock
+yarn.lock
+package-lock.json
+
+# Temporary Files
+tmp/
+temp/
-# Diagnostic reports (https://nodejs.org/api/report.html)
-report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+# Other
+keys/*
+!/keys/.gitkeep
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100644
index 0000000..a4fc325
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,4 @@
+#!/usr/bin/env sh
+. "$(dirname -- "$0")/_/husky.sh"
+
+npm exec lint-staged
diff --git a/.lintstagedrc.js b/.lintstagedrc.js
new file mode 100644
index 0000000..d5a7dbb
--- /dev/null
+++ b/.lintstagedrc.js
@@ -0,0 +1,13 @@
+const path = require('path');
+
+const buildEslintCommand = filenames =>
+ `next lint --fix --file ${filenames
+ .map(f => path.relative(process.cwd(), f))
+ .join(' --file ')}`;
+
+module.exports = {
+ '**/**/*.{js,jsx,ts,tsx}': [buildEslintCommand],
+ '*.{js,ts,cjs,mjs,d.cts,d.mts,jsx,tsx,json,jsonc}': [
+ 'biome check --apply --no-errors-on-unmatched', // Format, sort imports, lint, and apply safe fixes
+ ],
+};
diff --git a/.lintstagedrc.json b/.lintstagedrc.json
deleted file mode 100644
index ceaa164..0000000
--- a/.lintstagedrc.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "*": "pnpm run clean:write"
-}
diff --git a/.markdownlint.config b/.markdownlint.config
new file mode 100644
index 0000000..5c6eeb7
--- /dev/null
+++ b/.markdownlint.config
@@ -0,0 +1,13 @@
+{
+ "default": true,
+ "line-length": false,
+ "no-trailing-punctuation":
+ "punctuation": '.,;:'
+ "list-marker-space": false
+ "no-multiple-blanks": false
+ "no-hard-tabs": false
+ "MD001": false
+ "MD013": false
+ "MD024": false
+ "MD033": false
+}
diff --git a/.node-version b/.node-version
new file mode 100644
index 0000000..209e3ef
--- /dev/null
+++ b/.node-version
@@ -0,0 +1 @@
+20
diff --git a/.pnpmignore b/.pnpmignore
deleted file mode 100644
index 4abbfa9..0000000
--- a/.pnpmignore
+++ /dev/null
@@ -1,16 +0,0 @@
-# Ignore temporary files and directories
-.tmp
-
-# Ignore production directories
-.next
-prod
-dist
-
-# Ignore the directory with installed dependencies
-node_modules
-
-# Ignore the React configuration files
-.env
-
-# Ignore the log files
-*.log
diff --git a/.prettierignore b/.prettierignore
index 10b95e3..cf39fae 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1,9 +1,10 @@
node_modules
.husky
-/coverage
+/dist/
+/node_modules/
+/stories/
.prettierignore
.stylelintignore
.editorconfig
.eslintignore
-.pnpmignore
-.pnpmrc
+
diff --git a/.prettierrc.js b/.prettierrc.js
deleted file mode 100644
index 4225769..0000000
--- a/.prettierrc.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// Some settings are automatically inherited from .editorconfig
-module.exports = {
- overrides: [
- {
- files: ".editorconfig",
- options: { parser: "yaml" },
- },
- ],
- useTabs: true,
- printWidth: 80,
- tabWidth: 2,
- singleQuote: false,
- jsxSingleQuote: false,
- trailingComma: "all",
- semi: true,
-};
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000..92fd5e5
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,15 @@
+{
+ "arrowParens": "avoid",
+ "bracketSpacing": true,
+ "endOfLine": "lf",
+ "jsxSingleQuote": false,
+ "printWidth": 80,
+ "proseWrap": "preserve",
+ "quoteProps": "as-needed",
+ "requirePragma": false,
+ "semi": true,
+ "singleQuote": true,
+ "tabWidth": 2,
+ "trailingComma": "all",
+ "useTabs": true
+}
diff --git a/README.md b/README.md
index e69de29..41c3284 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1,14 @@
+
+
+
+
+GoodbyeDPI UI / Docs
+
+
+
+
+
+
+
+
+
diff --git a/app/App.tsx b/app/App.tsx
new file mode 100644
index 0000000..688b87d
--- /dev/null
+++ b/app/App.tsx
@@ -0,0 +1,29 @@
+import { ThemeProvider } from "@/components/contexts/theme-provider";
+import { Footer } from "@/components/footer";
+import { Navbar } from "@/components/navbar";
+import { Analytics } from "@vercel/analytics/react";
+import { SpeedInsights } from "@vercel/speed-insights/next";
+import { PropsWithChildren } from "react";
+
+export const App = (props: PropsWithChildren) => {
+ return (
+ <>
+
+
+
+ {props.children}
+
+
+
+
+
+ >
+ );
+};
+
+export default App;
diff --git a/app/blog/[slug]/page.tsx b/app/blog/[slug]/page.tsx
new file mode 100644
index 0000000..e13ab3c
--- /dev/null
+++ b/app/blog/[slug]/page.tsx
@@ -0,0 +1,108 @@
+import { Typography } from "@/components/atoms/typography";
+import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
+import { buttonVariants } from "@/components/ui/button";
+import { Author, getAllBlogStaticPaths, getBlogForSlug } from "@/lib/markdown";
+import { formatDate } from "@/lib/utils";
+import { ArrowLeftIcon } from "lucide-react";
+import Image from "next/image";
+import Link from "next/link";
+import { notFound } from "next/navigation";
+
+type PageProps = {
+ params: { slug: string };
+};
+
+export async function generateMetadata({ params: { slug } }: PageProps) {
+ const res = await getBlogForSlug(slug);
+ if (!res) return null;
+ const { frontmatter } = res;
+ return {
+ title: `${frontmatter.title} - GoodbyeDPI UI`,
+ description: frontmatter.description,
+ };
+}
+
+export async function generateStaticParams() {
+ const val = await getAllBlogStaticPaths();
+ if (!val) return [];
+ return val.map((it) => ({ slug: it }));
+}
+
+export default async function BlogPage({ params: { slug } }: PageProps) {
+ const res = await getBlogForSlug(slug);
+ if (!res) notFound();
+ return (
+
+
+
Назад
+
+
+
+ {formatDate(res.frontmatter.date)}
+
+
+ {res.frontmatter.title}
+
+
+
+ {!res.frontmatter.authors || res.frontmatter.authors.length === 0
+ ? "Автор не указан."
+ : res.frontmatter.authors.length === 0
+ ? "Автор не указан."
+ : res.frontmatter.authors.length > 1
+ ? "Опубликовали:"
+ : "Опубликовал:"}
+
+
+
+
+
+
+ );
+}
+
+function Authors({ authors }: { authors: Author[] }) {
+ return (
+
+ {authors.map((author) => {
+ return (
+
+
+
+
+ {author.username.slice(0, 2).toUpperCase()}
+
+
+
+
{author.username}
+
+ @{author.handle}
+
+
+
+ );
+ })}
+
+ );
+}
diff --git a/app/blog/layout.tsx b/app/blog/layout.tsx
new file mode 100644
index 0000000..6211155
--- /dev/null
+++ b/app/blog/layout.tsx
@@ -0,0 +1,9 @@
+import { PropsWithChildren } from "react";
+
+export default function BlogLayout({ children }: PropsWithChildren) {
+ return (
+
+ {children}
+
+ );
+}
diff --git a/app/blog/page.tsx b/app/blog/page.tsx
new file mode 100644
index 0000000..4b604b3
--- /dev/null
+++ b/app/blog/page.tsx
@@ -0,0 +1,105 @@
+import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
+import { Author, BlogMdxFrontmatter, getAllBlogs } from "@/lib/markdown";
+import { formatDate2, stringToDate } from "@/lib/utils";
+import { MoveUpRightIcon } from "lucide-react";
+import { Metadata } from "next";
+import Image from "next/image";
+import Link from "next/link";
+
+export const metadata: Metadata = {
+ title: "GoodbyeDPI UI - Блог",
+};
+
+export default async function BlogIndexPage() {
+ const blogs = (await getAllBlogs()).sort(
+ (a, b) => stringToDate(b.date).getTime() - stringToDate(a.date).getTime()
+ );
+ return (
+
+
+
+ Блог
+
+
+ Последние новости и материалы опубликованные нашей командой. Мы стараемся следить за актуальностью ленты, благодарим за любую{" "}
+
+ обратную связь
+
+ .
+
+
+
+ {blogs.map((blog) => (
+
+ ))}
+
+
+ );
+}
+
+function BlogCard({
+ date,
+ title,
+ description,
+ slug,
+ cover,
+ authors,
+}: BlogMdxFrontmatter & { slug: string }) {
+ return (
+
+ {title}
+
+
+
+ {description}
+
+
+ Опубликовано {formatDate2(date)}
+
+
+
+
+ );
+}
+
+function AvatarGroup({ users, max = 4 }: { users: Author[]; max?: number }) {
+ const displayUsers = users.slice(0, max);
+ const remainingUsers = Math.max(users.length - max, 0);
+
+ return (
+
+ {displayUsers.map((user, index) => (
+
+
+
+ {user.username.slice(0, 2).toUpperCase()}
+
+
+ ))}
+ {remainingUsers > 0 && (
+
+ +{remainingUsers}
+
+ )}
+
+ );
+}
diff --git a/app/changelog/[slug]/page.tsx b/app/changelog/[slug]/page.tsx
new file mode 100644
index 0000000..8229a60
--- /dev/null
+++ b/app/changelog/[slug]/page.tsx
@@ -0,0 +1,96 @@
+import { Typography } from "@/components/atoms/typography";
+import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
+import { buttonVariants } from "@/components/ui/button";
+import { Author, getAllBlogStaticPaths, getBlogForSlug } from "@/lib/markdown";
+import { formatDate } from "@/lib/utils";
+import { ArrowLeftIcon } from "lucide-react";
+import Link from "next/link";
+import { notFound } from "next/navigation";
+
+type PageProps = {
+ params: { slug: string };
+};
+
+export async function generateMetadata({ params: { slug } }: PageProps) {
+ const res = await getBlogForSlug(slug);
+ if (!res) return null;
+ const { frontmatter } = res;
+ return {
+ title: `${frontmatter.title} - GoodbyeDPI UI`,
+ description: frontmatter.description,
+ };
+}
+
+export async function generateStaticParams() {
+ const val = await getAllBlogStaticPaths();
+ if (!val) return [];
+ return val.map((it) => ({ slug: it }));
+}
+
+export default async function ChangelogPage({ params: { slug } }: PageProps) {
+ const res = await getBlogForSlug(slug);
+ if (!res) notFound();
+ return (
+
+
+
Назад
+
+
+
+ {formatDate(res.frontmatter.date)}
+
+
{res.frontmatter.title}
+
+
+ {!res.frontmatter.authors || res.frontmatter.authors.length === 0
+ ? "Автор не указан."
+ : res.frontmatter.authors.length === 0
+ ? "Автор не указан."
+ : res.frontmatter.authors.length > 1
+ ? "Опубликовали"
+ : "Опубликовал"}
+
+
+
+
+
+ {res.content}
+
+
+ );
+}
+
+function Authors({ authors }: { authors: Author[] }) {
+ return (
+
+ {authors.map((author) => {
+ return (
+
+
+
+
+ {author.username.slice(0, 2).toUpperCase()}
+
+
+
+
{author.username}
+
+ @{author.handle}
+
+
+
+ );
+ })}
+
+ );
+}
diff --git a/app/changelog/layout.tsx b/app/changelog/layout.tsx
new file mode 100644
index 0000000..8c9ab9a
--- /dev/null
+++ b/app/changelog/layout.tsx
@@ -0,0 +1,9 @@
+import { PropsWithChildren } from "react";
+
+export default function ChangelogLayout({ children }: PropsWithChildren) {
+ return (
+
+ {children}
+
+ );
+}
\ No newline at end of file
diff --git a/app/changelog/page.tsx b/app/changelog/page.tsx
new file mode 100644
index 0000000..04016c1
--- /dev/null
+++ b/app/changelog/page.tsx
@@ -0,0 +1,66 @@
+import DownloadComp from "@/components/changelog/download-comp";
+import { Button } from "@/components/ui/button";
+import { BlogMdxFrontmatter } from "@/lib/markdown";
+import { formatDate2 } from "@/lib/utils";
+import { ChevronRightIcon, CircleIcon } from "lucide-react";
+import { Metadata } from "next";
+import Link from "next/link";
+
+export const metadata: Metadata = {
+ title: "GoodbyeDPI UI - Журнал изменений",
+};
+
+export default function ChangelogIndexPage() {
+ // const blogs = (await getAllBlogs()).sort(
+ // (a, b) =>
+ // stringToDate(b.frontmatter.date).getTime() -
+ // stringToDate(a.frontmatter.date).getTime()
+ // );
+ return (
+
+
+
+ Журнал изменений
+
+
+ Сводка ключевых изменений и релизов в главном репозитории проекта.
+
+
+
+ {/*
+ {blogs.map((blog) => (
+
+ ))}
+
*/}
+
+ );
+}
+
+function ChangelogPoint({
+ date,
+ title,
+ description,
+ slug,
+}: BlogMdxFrontmatter & { slug: string }) {
+ return (
+
+
+
+
+
+
{title}
+
{description}
+
+ Подробнее
+
+
+
+
+ );
+}
diff --git a/app/docs/[[...slug]]/layout.tsx b/app/docs/[[...slug]]/layout.tsx
deleted file mode 100644
index 002f4ff..0000000
--- a/app/docs/[[...slug]]/layout.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Leftbar } from "@/components/leftbar";
-
-export default function DocsLayout({
- children,
-}: Readonly<{
- children: React.ReactNode;
-}>) {
- return (
-
- );
-}
diff --git a/app/docs/[[...slug]]/page.tsx b/app/docs/[[...slug]]/page.tsx
index 720dce7..cbf8dac 100644
--- a/app/docs/[[...slug]]/page.tsx
+++ b/app/docs/[[...slug]]/page.tsx
@@ -1,61 +1,51 @@
-import { notFound } from "next/navigation";
-import { PropsWithChildren, cache } from "react";
+import { Typography } from "@/components/atoms/typography";
import DocsBreadcrumb from "@/components/docs-breadcrumb";
import Pagination from "@/components/pagination";
import Toc from "@/components/toc";
+import { getDocsForSlug } from "@/lib/markdown";
import { page_routes } from "@/lib/routes-config";
-import { getMarkdownForSlug } from "@/lib/markdown";
+import { notFound } from "next/navigation";
type PageProps = {
- params: { slug: string[] };
+ params: { slug: string[] };
};
-const cachedGetMarkdownForSlug = cache(getMarkdownForSlug);
-
export default async function DocsPage({ params: { slug = [] } }: PageProps) {
- const pathName = slug.join("/");
- const res = await cachedGetMarkdownForSlug(pathName);
-
- if (!res) notFound();
- return (
-
-
-
-
- {res.frontmatter.title}
-
- {res.frontmatter.description}
-
- {res.content}
-
-
-
-
-
- );
-}
+ const pathName = slug.join("/");
+ const res = await getDocsForSlug(pathName);
-function Markdown({ children }: PropsWithChildren) {
- return (
-
- {children}
-
- );
+ if (!res) notFound();
+ return (
+
+
+
+
+ {res.frontmatter.title}
+
+ {res.frontmatter.description}
+
+ {res.content}
+
+
+
+
+
+ );
}
export async function generateMetadata({ params: { slug = [] } }: PageProps) {
- const pathName = slug.join("/");
- const res = await cachedGetMarkdownForSlug(pathName);
- if (!res) return null;
- const { frontmatter } = res;
- return {
- title: `${frontmatter.title} | GoodbyeDPI/UI`,
- description: frontmatter.description,
- };
+ const pathName = slug.join("/");
+ const res = await getDocsForSlug(pathName);
+ if (!res) return null;
+ const { frontmatter } = res;
+ return {
+ title: frontmatter.title,
+ description: frontmatter.description,
+ };
}
export function generateStaticParams() {
- return page_routes.map((item) => ({
- slug: item.href.split("/"),
- }));
+ return page_routes.map((item) => ({
+ slug: item.href.split("/").slice(1),
+ }));
}
diff --git a/app/docs/layout.tsx b/app/docs/layout.tsx
new file mode 100644
index 0000000..ef73ca4
--- /dev/null
+++ b/app/docs/layout.tsx
@@ -0,0 +1,14 @@
+import { Leftbar } from "@/components/leftbar";
+
+export default function DocsLayout({
+ children,
+}: Readonly<{
+ children: React.ReactNode;
+}>) {
+ return (
+
+ );
+}
diff --git a/app/error.tsx b/app/error.tsx
index 38bdb40..f42bbe6 100644
--- a/app/error.tsx
+++ b/app/error.tsx
@@ -1,31 +1,44 @@
-"use client";
+"use client"; // Error components must be Client Components
-import {useEffect} from "react";
-import {Button} from "@/components/ui/button";
+import { Button, buttonVariants } from "@/components/ui/button";
+import Link from "next/link";
+import { useEffect } from "react";
-export default function Error({error,reset}: {
- error: Error & { digest?: string };
- reset: () => void;
+export default function Error({
+ error,
+ reset,
+}: {
+ error: Error & { digest?: string };
+ reset: () => void;
}) {
- useEffect(() => {
- // Log the error to an error reporting service
- console.error(error);
- }, [error]);
+ useEffect(() => {
+ console.error(error);
+ }, [error]);
- return (
-
-
-
Oops!
-
Something went wrong!
-
-
reset()
- }
- >
- Try again
-
-
- );
+ return (
+
+
+
Упсс!
+
+ Что-то пошло не так {":("}
+
+
+ При обработке вашего запроса произошла неизвестная ошибка.
+
+
+
+ reset()
+ }
+ >
+ Перезагрузить страницу
+
+
+ Вернуться на главную
+
+
+
+ );
}
diff --git a/app/favicon.ico b/app/favicon.ico
index 56276eb..4272858 100644
Binary files a/app/favicon.ico and b/app/favicon.ico differ
diff --git a/app/globals.css b/app/globals.css
deleted file mode 100644
index 9a85c97..0000000
--- a/app/globals.css
+++ /dev/null
@@ -1,170 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-@layer base {
- :root {
- --background: 0 0% 100%;
- --foreground: 240 10% 3.9%;
- --card: 0 0% 100%;
- --card-foreground: 240 10% 3.9%;
- --popover: 0 0% 100%;
- --popover-foreground: 240 10% 3.9%;
- --primary: 240 5.9% 10%;
- --primary-foreground: 0 0% 98%;
- --secondary: 240 4.8% 95.9%;
- --secondary-foreground: 240 5.9% 10%;
- --muted: 240 4.8% 95.9%;
- --muted-foreground: 240 3.8% 46.1%;
- --accent: 240 4.8% 95.9%;
- --accent-foreground: 240 5.9% 10%;
- --destructive: 0 84.2% 60.2%;
- --destructive-foreground: 0 0% 98%;
- --border: 240 5.9% 90%;
- --input: 240 5.9% 90%;
- --ring: 240 5.9% 10%;
- --radius: 0.75rem;
- --chart-1: 12 76% 61%;
- --chart-2: 173 58% 39%;
- --chart-3: 197 37% 24%;
- --chart-4: 43 74% 66%;
- --chart-5: 27 87% 67%;
- }
-
- .dark {
- --background: 240 10% 3.9%;
- --foreground: 0 0% 98%;
- --card: 240 10% 3.9%;
- --card-foreground: 0 0% 98%;
- --popover: 240 10% 3.9%;
- --popover-foreground: 0 0% 98%;
- --primary: 0 0% 98%;
- --primary-foreground: 240 5.9% 10%;
- --secondary: 240 3.7% 15.9%;
- --secondary-foreground: 0 0% 98%;
- --muted: 240 3.7% 15.9%;
- --muted-foreground: 240 5% 64.9%;
- --accent: 240 3.7% 15.9%;
- --accent-foreground: 0 0% 98%;
- --destructive: 0 62.8% 30.6%;
- --destructive-foreground: 0 0% 98%;
- --border: 240 3.7% 15.9%;
- --input: 240 3.7% 15.9%;
- --ring: 240 4.9% 83.9%;
- }
-}
-
-@layer base {
- * {
- @apply border-border;
- }
-
- body {
- @apply bg-background text-foreground;
- }
-}
-
-.prose {
- margin: 0 !important;
-}
-
-pre {
- padding: 0 !important;
- width: inherit !important;
- overflow-x: auto;
-}
-
-pre > code {
- display: grid;
- max-width: inherit !important;
- padding: 14px 0 !important;
-}
-
-.code-line {
- padding: 0.75px 12.5px;
-}
-
-.line-number::before {
- display: inline-block;
- width: 1rem;
- margin-right: 22px;
- margin-left: -2px;
- color: rgb(110, 110, 110);
- content: attr(line);
- font-size: 13.5px;
- text-align: right;
-}
-
-.highlight-line {
- @apply dark:bg-neutral-800/90;
- @apply bg-neutral-200/90;
-}
-
-.punctuation {
- color: gray;
-}
-
-.comment {
- color: gray;
-}
-
-.keyword {
- color: rgb(255, 50, 115);
-}
-
-.function {
- color: hsla(210, 100%, 66%, 1);
-}
-
-.string,
-.constant,
-.annotation,
-.boolean,
-.number {
- color: hsl(0, 0%, 29%);
-}
-
-.dark .string,
-.dark .constant,
-.dark .annotation,
-.dark .boolean,
-.dark.number {
- color: hsl(0, 0%, 71%);
-}
-
-.dark .keyword {
- color: hsla(341, 90%, 67%, 1);
-}
-
-.attr-value {
- color: hsla(131, 43%, 57%, 1);
-}
-
-.tag {
- color: hsla(341, 90%, 67%, 1);
-}
-
-.attr-name {
- color: #414141;
-}
-
-.dark .attr-name {
- color: #cacaca;
-}
-
-.rehype-code-title {
- @apply px-2;
- @apply -mb-8;
- @apply w-full;
- @apply text-sm;
- @apply pt-1;
- @apply pb-5;
- @apply font-normal;
- @apply tracking-wider;
- @apply font-medium;
- font-family: var(--font-code) !important;
-}
-
-.highlight-comp > code {
- background-color: transparent !important;
-}
diff --git a/app/layout.tsx b/app/layout.tsx
index 3f7cd5f..b774e1f 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -1,43 +1,52 @@
-import type {Metadata} from "next";
-import {GeistSans} from "geist/font/sans";
-import {GeistMono} from "geist/font/mono";
-import {ThemeProvider} from "@/components/theme-provider";
-import {Navbar} from "@/components/navbar";
-import {Footer} from "@/components/footer";
-import {SpeedInsights} from "@vercel/speed-insights/next";
-import {Analytics} from "@vercel/analytics/react";
-import "./globals.css";
+import App from "@/app/App";
+import RouterProgress from "@/components/atoms/router-progress";
+import "@/styles/globals.css";
+import "@/styles/nprogress.css";
+import { GeistMono } from "geist/font/mono";
+import { GeistSans } from "geist/font/sans";
+import type { Metadata, Viewport } from "next";
export const metadata: Metadata = {
- title: "GoodbyeDPI/UI",
- metadataBase: new URL("https://goodbyedpi-ui.vercel.app/"),
- description: "",
+ title: "GoodbyeDPI UI",
+ metadataBase: new URL("https://goodbyedpi-ui.vercel.app/"),
+ description:
+ "GoodbyeDPI UI, a graphical interface for managing DPI(Deep Packet Inspection) bypass utils (Windows 10/11).",
+ openGraph: {
+ title: "GoodbyeDPI UI",
+ description: "UI for Managing DPI(Deep Packet Inspection) Bypass utils (Windows 10/11).",
+ url: "https://goodbyedpi-ui.vercel.app/",
+ siteName: "GoodbyeDPI UI",
+ images: "/opengraph-image.jpg",
+ locale: "ru_RU",
+ type: "website",
+ },
};
-const RootLayout = ({children}: Readonly<{children: React.ReactNode}>) => {
- return (
-
-
-
-
-
- {children}
-
-
-
-
-
-
-
- );
-}
+export const viewport: Viewport = {
+ width: "device-width",
+ initialScale: 1.0,
+ maximumScale: 1.0,
+ userScalable: false,
+ themeColor: [
+ { media: "(prefers-color-scheme: light)", color: "var(--background)" },
+ { media: "(prefers-color-scheme: dark)", color: "var(--background)" },
+ ],
+};
-export default RootLayout;
+export default function RootLayout({
+ children,
+}: Readonly<{
+ children: React.ReactNode;
+}>) {
+ return (
+
+
+
+ {children}
+
+
+ );
+}
diff --git a/app/not-found.tsx b/app/not-found.tsx
index fa04b8c..6e5f795 100644
--- a/app/not-found.tsx
+++ b/app/not-found.tsx
@@ -1,17 +1,19 @@
-import Link from "next/link";
import { buttonVariants } from "@/components/ui/button";
+import Link from "next/link";
export default function NotFound() {
- return (
-
-
-
-
- Back to homepage
-
-
- );
+ return (
+
+
+
404
+
+ Страница не найдена {":("}
+
+
Упсс! Страница, которую вы ищете, не существует.
+
+
+ Вернуться на главную
+
+
+ );
}
diff --git a/app/page.tsx b/app/page.tsx
index fa8c987..cc56c3a 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -1,54 +1,48 @@
-"use client"
-
-import {MoveUpRightIcon, TerminalIcon} from "lucide-react";
+import { buttonVariants } from "@/components/ui/button";
+import { page_routes } from "@/lib/routes-config";
+import { MoveUpRightIcon, TerminalSquareIcon } from "lucide-react";
import Link from "next/link";
-import {buttonVariants} from "@/components/ui/button";
-import {page_routes} from "@/lib/routes-config";
-import {memo} from "react";
-
-const Home = memo(() => {
- return (
-
-
- Следите за проектом на GitHub{" "}
-
-
-
- GoodbyeDPI/UI
-
-
- GoodbyeDPI/UI предоставляет удобный графический интерфейс для управления скриптами GoodbyeDPI.
- С его помощью вы можете легко изменять настройки DPI и запускать соответствующие скрипты.
-
-
-
- Подробнее
-
-
- Журнал изменений
-
-
- {/*
*/}
- {/* ~ npx this-library-name@latest*/}
- {/* */}
-
- );
-})
-
-Home.displayName = "Home";
-export default Home;
+export default function Home() {
+ return (
+
+
+ Следите за проектом на GitHub{" "}
+
+
+
+ GoodbyeDPI UI
+
+
+ Удобный графический интерфейс для управления GoodbyeDPI, Zapret, ByeDPI и SpoofDPI.
+ С его помощью вы можете легко изменять настройки DPI и запускать приложение в трее.
+
+
+
+ Подробнее
+
+
+ Блог
+
+
+
+
+ {"git clone https://github.com/Storik4pro/GoodbyeDPI-UI.git"}
+
+
+ );
+}
diff --git a/components.json b/components.json
index 7bda259..c57f5f7 100644
--- a/components.json
+++ b/components.json
@@ -1,17 +1,17 @@
{
- "$schema": "https://ui.shadcn.com/schema.json",
- "style": "default",
- "rsc": true,
- "tsx": true,
- "tailwind": {
- "config": "tailwind.config.ts",
- "css": "app/globals.css",
- "baseColor": "zinc",
- "cssVariables": true,
- "prefix": ""
- },
- "aliases": {
- "components": "@/components",
- "utils": "@/lib/utils"
- }
-}
+ "$schema": "https://ui.shadcn.com/schema.json",
+ "style": "default",
+ "rsc": true,
+ "tsx": true,
+ "tailwind": {
+ "config": "tailwind.config.ts",
+ "css": "app/globals.css",
+ "baseColor": "blue",
+ "cssVariables": true,
+ "prefix": ""
+ },
+ "aliases": {
+ "components": "@/components",
+ "utils": "@/lib/utils"
+ }
+}
\ No newline at end of file
diff --git a/components/anchor.tsx b/components/anchor.tsx
index 45fd8ba..c2d225e 100644
--- a/components/anchor.tsx
+++ b/components/anchor.tsx
@@ -1,40 +1,38 @@
"use client";
+import { cn } from "@/lib/utils";
import Link from "next/link";
import { usePathname } from "next/navigation";
-import {ComponentProps, memo} from "react";
-import { cn } from "@/lib/utils";
+import { ComponentProps } from "react";
type AnchorProps = ComponentProps & {
- absolute?: boolean;
- activeClassName?: string;
- disabled?: boolean;
+ absolute?: boolean;
+ activeClassName?: string;
+ disabled?: boolean;
};
-const Anchor = memo(({
- absolute,
- className = "",
- activeClassName = "",
- disabled,
- children,
- ...props
-}: AnchorProps) => {
- const path = usePathname();
- const isMatch = absolute
- ? props.href.toString().split("/")[1] == path.split("/")[1]
- : path === props.href;
-
- if (disabled)
- return (
- {children}
- );
- return (
-
- {children}
-
- );
-})
+export default function Anchor({
+ absolute,
+ className = "",
+ activeClassName = "",
+ disabled,
+ children,
+ ...props
+}: AnchorProps) {
+ const path = usePathname();
+ let isMatch = absolute
+ ? props.href.toString().split("/")[1] == path?.split("/")[1]
+ : path === props.href;
-Anchor.displayName = "Anchor";
+ if (props.href.toString().includes("http")) isMatch = false;
-export default Anchor;
+ if (disabled)
+ return (
+ {children}
+ );
+ return (
+
+ {children}
+
+ );
+}
diff --git a/components/atoms/external-arrow.tsx b/components/atoms/external-arrow.tsx
new file mode 100644
index 0000000..d30dfd9
--- /dev/null
+++ b/components/atoms/external-arrow.tsx
@@ -0,0 +1,32 @@
+"use client";
+
+import { SVGProps } from "react";
+
+interface ExternalArrowProps extends SVGProps {
+ className?: string;
+ width?: string | number;
+ height?: string | number;
+}
+
+export default function ExternalArrow({
+ className = "",
+ width = 6,
+ height = 6,
+ ...props
+}: ExternalArrowProps): JSX.Element {
+ return (
+
+
+
+ );
+}
diff --git a/components/atoms/preloader.tsx b/components/atoms/preloader.tsx
new file mode 100644
index 0000000..28a63f4
--- /dev/null
+++ b/components/atoms/preloader.tsx
@@ -0,0 +1,7 @@
+const Preloader = (): JSX.Element => {
+ return (
+ Loading...
+ );
+}
+
+export default Preloader;
\ No newline at end of file
diff --git a/components/atoms/router-progress.tsx b/components/atoms/router-progress.tsx
new file mode 100644
index 0000000..458cf91
--- /dev/null
+++ b/components/atoms/router-progress.tsx
@@ -0,0 +1,23 @@
+"use client";
+
+import { usePathname } from "next/navigation";
+import NProgress from "nprogress";
+import { useEffect } from "react";
+
+const RouterProgress = () => {
+ const pathname = usePathname();
+
+ useEffect(() => {
+ NProgress.configure({ showSpinner: true });
+ NProgress.start();
+ NProgress.done();
+
+ return () => {
+ NProgress.done();
+ };
+ }, [pathname]);
+
+ return null;
+};
+
+export default RouterProgress;
diff --git a/components/atoms/scroll-to-top-button.tsx b/components/atoms/scroll-to-top-button.tsx
new file mode 100644
index 0000000..e7ff753
--- /dev/null
+++ b/components/atoms/scroll-to-top-button.tsx
@@ -0,0 +1,57 @@
+"use client";
+
+import ScrollToTopIcon from "@/components/atoms/scroll-to-top-icon";
+import { useCallback, useEffect, useState } from "react";
+
+const ScrollToTopButton = ({
+ scrollThreshold = 300,
+}: {
+ scrollThreshold?: number;
+}): JSX.Element => {
+ const [isVisible, setIsVisible] = useState(false);
+
+ const handleScroll = useCallback(() => {
+ setIsVisible(window.scrollY > scrollThreshold);
+ }, [scrollThreshold]);
+
+ useEffect(() => {
+ const throttledScroll = () => requestAnimationFrame(handleScroll);
+ window.addEventListener("scroll", throttledScroll);
+ return () => window.removeEventListener("scroll", throttledScroll);
+ }, [handleScroll]);
+
+ const scrollToTop = () => {
+ window.scrollTo({
+ top: 0,
+ behavior: "smooth",
+ });
+ };
+
+ return (
+ <>
+
+
+
+ Прокрутить вверх
+
+
+
+ >
+ );
+};
+
+export default ScrollToTopButton;
diff --git a/components/atoms/scroll-to-top-icon.tsx b/components/atoms/scroll-to-top-icon.tsx
new file mode 100644
index 0000000..eeee018
--- /dev/null
+++ b/components/atoms/scroll-to-top-icon.tsx
@@ -0,0 +1,37 @@
+"use client";
+
+import { SVGProps } from "react";
+
+interface ScrollToTopIconProps extends SVGProps {
+ className?: string;
+ width?: string | number;
+ height?: string | number;
+}
+
+export default function ScrollToTopIcon({
+ className = "",
+ width = 14,
+ height = 14,
+ ...props
+}: ScrollToTopIconProps): JSX.Element {
+ return (
+
+
+
+
+
+ );
+}
diff --git a/components/atoms/typography.tsx b/components/atoms/typography.tsx
new file mode 100644
index 0000000..86676ff
--- /dev/null
+++ b/components/atoms/typography.tsx
@@ -0,0 +1,9 @@
+import { PropsWithChildren } from "react";
+
+export function Typography({ children }: PropsWithChildren) {
+ return (
+
+ {children}
+
+ );
+}
diff --git a/components/changelog/download-comp.tsx b/components/changelog/download-comp.tsx
new file mode 100644
index 0000000..1d7c370
--- /dev/null
+++ b/components/changelog/download-comp.tsx
@@ -0,0 +1,17 @@
+"use client";
+
+import { lazy } from "react";
+
+// Lazy load the Releases component
+const Releases = lazy(() => import("./releases"));
+
+const DownloadComp = () => {
+ return (
+
+
Релизы:
+
+
+ );
+};
+
+export default DownloadComp;
diff --git a/components/changelog/releases.tsx b/components/changelog/releases.tsx
new file mode 100644
index 0000000..d46315b
--- /dev/null
+++ b/components/changelog/releases.tsx
@@ -0,0 +1,50 @@
+import Preloader from "@/components/atoms/preloader";
+import { GitHubRelease } from "@/pages/api/types";
+import { memo } from "react";
+import useSWR from "swr";
+
+const fetcher = (url: string) =>
+ fetch(url).then((res) => {
+ if (!res.ok) throw new Error("Failed to fetch all releases");
+ return res.json();
+ });
+
+const Releases = memo(() => {
+ const { data, error } = useSWR<{ releases: GitHubRelease[] }>("/api/all-releases", fetcher);
+
+ return (
+
+ {error ? (
+
An error occurred while fetching all releases. Please try again later.
+ ) : !data ? (
+
+ ) : (
+ <>
+
+ {data.releases.map((release) => (
+
+ {release.name}
+ ({release.tagName}) - {new Date(release.createdAt).toLocaleDateString()}
+ {release.assets.length > 0 && (
+
+ )}
+
+ ))}
+
+ >
+ )}
+
+ );
+});
+
+Releases.displayName = "Releases";
+
+export default Releases;
diff --git a/components/theme-provider.tsx b/components/contexts/theme-provider.tsx
similarity index 78%
rename from components/theme-provider.tsx
rename to components/contexts/theme-provider.tsx
index c527cde..b0ff266 100644
--- a/components/theme-provider.tsx
+++ b/components/contexts/theme-provider.tsx
@@ -5,5 +5,5 @@ import { ThemeProvider as NextThemesProvider } from "next-themes";
import { type ThemeProviderProps } from "next-themes/dist/types";
export function ThemeProvider({ children, ...props }: ThemeProviderProps) {
- return {children} ;
+ return {children} ;
}
diff --git a/components/copy.tsx b/components/copy.tsx
deleted file mode 100644
index 75c52e0..0000000
--- a/components/copy.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-"use client";
-
-import { CheckIcon, CopyIcon } from "lucide-react";
-import { useState } from "react";
-import { Button } from "./ui/button";
-
-export default function Copy({ content }: { content: string }) {
- const [isCopied, setIsCopied] = useState(false);
-
- async function handleCopy() {
- await navigator.clipboard.writeText(content);
- setIsCopied(true);
-
- setTimeout(() => {
- setIsCopied(false);
- }, 2000);
- }
-
- return (
-
- {isCopied ? (
-
- ) : (
-
- )}
-
- );
-}
diff --git a/components/docs-breadcrumb.tsx b/components/docs-breadcrumb.tsx
index ddedb7f..660fbe5 100644
--- a/components/docs-breadcrumb.tsx
+++ b/components/docs-breadcrumb.tsx
@@ -1,47 +1,47 @@
-import { Fragment } from "react";
import {
- Breadcrumb,
- BreadcrumbItem,
- BreadcrumbLink,
- BreadcrumbList,
- BreadcrumbPage,
- BreadcrumbSeparator,
+ Breadcrumb,
+ BreadcrumbItem,
+ BreadcrumbLink,
+ BreadcrumbList,
+ BreadcrumbPage,
+ BreadcrumbSeparator,
} from "@/components/ui/breadcrumb";
+import { Fragment } from "react";
export default function DocsBreadcrumb({ paths }: { paths: string[] }) {
- return (
-
-
-
-
- Docs
-
- {paths.map((path, index) => (
-
-
-
- {index < paths.length - 1 ? (
-
- {toTitleCase(path)}
-
- ) : (
-
- {toTitleCase(path)}
-
- )}
-
-
- ))}
-
-
-
- );
+ return (
+
+
+
+
+ Docs
+
+ {paths.map((path, index) => (
+
+
+
+ {index < paths.length - 1 ? (
+
+ {toTitleCase(path)}
+
+ ) : (
+
+ {toTitleCase(path)}
+
+ )}
+
+
+ ))}
+
+
+
+ );
}
function toTitleCase(input: string): string {
- const words = input.split("-");
- const capitalizedWords = words.map(
- (word) => word.charAt(0).toUpperCase() + word.slice(1),
- );
- return capitalizedWords.join(" ");
+ const words = input.split("-");
+ const capitalizedWords = words.map(
+ (word) => word.charAt(0).toUpperCase() + word.slice(1)
+ );
+ return capitalizedWords.join(" ");
}
diff --git a/components/docs-menu.tsx b/components/docs-menu.tsx
new file mode 100644
index 0000000..5a66cb2
--- /dev/null
+++ b/components/docs-menu.tsx
@@ -0,0 +1,24 @@
+"use client";
+
+import SubLink from "@/components/sublink";
+import { ROUTES } from "@/lib/routes-config";
+import { usePathname } from "next/navigation";
+
+export default function DocsMenu({ isSheet = false }) {
+ const pathname = usePathname();
+ if (!pathname?.startsWith("/docs")) return null;
+
+ return (
+
+ {ROUTES.map((item, index) => {
+ const modifiedItems = {
+ ...item,
+ href: `/docs${item.href}`,
+ level: 0,
+ isSheet,
+ };
+ return ;
+ })}
+
+ );
+}
diff --git a/components/footer.tsx b/components/footer.tsx
index 394231e..257ddfe 100644
--- a/components/footer.tsx
+++ b/components/footer.tsx
@@ -1,50 +1,49 @@
+import { buttonVariants } from "@/components/ui/button";
+import { HeartIcon, WrenchIcon } from "lucide-react";
import Link from "next/link";
-import { HeartIcon, Wrench } from "lucide-react";
-import { buttonVariants } from "./ui/button";
export function Footer() {
- return (
-
-
-
-
-
- Build by{" "}
-
- CodeIlluminators
-
- . The source code is available on{" "}
-
- GitHub
-
- .
-
-
-
-
-
-
-
-
- );
+ return (
+
+
+
+
+
+ Документация создана с помощью{" "}
+
+ CodeIlluminators
+
+ . Исходный код доступен на{" "}
+
+ GitHub
+
+ .
+
+
+
+
+
+
+
+ );
}
export function FooterButtons() {
- return (
- <>
-
-
- Sponsor
-
- >
- );
+ return (
+ <>
+
+
+ Поддержать
+
+ >
+ );
}
diff --git a/components/leftbar.tsx b/components/leftbar.tsx
index e36a51b..b9c4700 100644
--- a/components/leftbar.tsx
+++ b/components/leftbar.tsx
@@ -1,88 +1,55 @@
-import { AlignLeftIcon } from "lucide-react";
-import { ROUTES } from "@/lib/routes-config";
-import Anchor from "./anchor";
+import DocsMenu from "@/components/docs-menu";
+import { FooterButtons } from "@/components/footer";
+import { Logo, NavMenu } from "@/components/navbar";
+import { Button } from "@/components/ui/button";
+import { DialogTitle } from "@/components/ui/dialog";
import { ScrollArea } from "@/components/ui/scroll-area";
import {
- Sheet,
- SheetClose,
- SheetContent,
- SheetHeader,
- SheetTrigger,
+ Sheet,
+ SheetClose,
+ SheetContent,
+ SheetHeader,
+ SheetTrigger,
} from "@/components/ui/sheet";
-import Logo from "./logo";
-import { NavMenu } from "./navbar";
-import { Button } from "./ui/button";
-import { FooterButtons } from "./footer";
+import { Menu } from "lucide-react";
export function Leftbar() {
- return (
-
- );
+ return (
+
+ );
}
export function SheetLeftbar() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-function Menu({ isSheet = false }) {
- return (
- <>
- {ROUTES.map(({ href, items, title }) => (
-
-
{title}
-
- {items.map((subItem) => {
- const key = `/docs/${href}${subItem.href}`;
- const Comp = (
-
- {subItem.title}
-
- );
- return isSheet ? (
-
- {Comp}
-
- ) : (
- Comp
- );
- })}
-
-
- ))}
- >
- );
+ return (
+
+
+
+
+
+
+
+ Меню
+
+
+
+
+
+
+
+
+ );
}
diff --git a/components/logo.tsx b/components/logo.tsx
deleted file mode 100644
index 0f58321..0000000
--- a/components/logo.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-'use client';
-
-import React, {memo, useEffect} from 'react';
-import Link from 'next/link';
-import Image from 'next/image';
-import {disableContextMenu} from "@/utils/disableContextMenu";
-
-const Logo = memo(() => {
- useEffect(() => {
- disableContextMenu("no-context-menu");
- })
-
- return (
-
-
- GoodbyeDPI/UI
-
- );
-});
-
-Logo.displayName = 'Logo';
-
-export default Logo;
diff --git a/components/markdown/copy.tsx b/components/markdown/copy.tsx
new file mode 100644
index 0000000..d14499b
--- /dev/null
+++ b/components/markdown/copy.tsx
@@ -0,0 +1,33 @@
+"use client";
+
+import { CheckIcon, CopyIcon } from "lucide-react";
+import { Button } from "../ui/button";
+import { useState } from "react";
+
+export default function Copy({ content }: { content: string }) {
+ const [isCopied, setIsCopied] = useState(false);
+
+ async function handleCopy() {
+ await navigator.clipboard.writeText(content);
+ setIsCopied(true);
+
+ setTimeout(() => {
+ setIsCopied(false);
+ }, 2000);
+ }
+
+ return (
+
+ {isCopied ? (
+
+ ) : (
+
+ )}
+
+ );
+}
diff --git a/components/markdown/image.tsx b/components/markdown/image.tsx
new file mode 100644
index 0000000..6ce2df2
--- /dev/null
+++ b/components/markdown/image.tsx
@@ -0,0 +1,25 @@
+import NextImage from "next/image";
+import { ComponentProps } from "react";
+
+type Height = ComponentProps["height"];
+type Width = ComponentProps["width"];
+
+export default function Image({
+ src,
+ alt = "alt",
+ width = 800,
+ height = 350,
+ ...props
+}: ComponentProps<"img">) {
+ if (!src) return null;
+ return (
+
+ );
+}
diff --git a/components/markdown/link.tsx b/components/markdown/link.tsx
new file mode 100644
index 0000000..d96baca
--- /dev/null
+++ b/components/markdown/link.tsx
@@ -0,0 +1,14 @@
+import NextLink from "next/link";
+import { ComponentProps } from "react";
+
+export default function Link({ href, ...props }: ComponentProps<"a">) {
+ if (!href) return null;
+ return (
+
+ );
+}
diff --git a/components/markdown/note.tsx b/components/markdown/note.tsx
new file mode 100644
index 0000000..70bcc64
--- /dev/null
+++ b/components/markdown/note.tsx
@@ -0,0 +1,35 @@
+import { cn } from "@/lib/utils";
+import clsx from "clsx";
+import { PropsWithChildren } from "react";
+
+type NoteProps = PropsWithChildren & {
+ title?: string;
+ type?: "note" | "danger" | "warning" | "success";
+};
+
+export default function Note({
+ children,
+ title = "Note",
+ type = "note",
+}: NoteProps) {
+ const noteClassNames = clsx({
+ "bg-muted": type == "note",
+ "dark:bg-red-950 bg-red-100 border-red-200 dark:border-red-900":
+ type === "danger",
+ "dark:bg-orange-950 bg-orange-100 border-orange-200 dark:border-orange-900":
+ type === "warning",
+ "dark:bg-green-950 bg-green-100 border-green-200 dark:border-green-900":
+ type === "success",
+ });
+
+ return (
+
+ );
+}
diff --git a/components/markdown/outlet.tsx b/components/markdown/outlet.tsx
new file mode 100644
index 0000000..eeb7dd7
--- /dev/null
+++ b/components/markdown/outlet.tsx
@@ -0,0 +1,29 @@
+import { BaseMdxFrontmatter, getAllChilds } from "@/lib/markdown";
+import Link from "next/link";
+
+export default async function Outlet({ path }: { path: string }) {
+ if (!path) throw new Error("path not provided");
+ const output = await getAllChilds(path);
+
+ return (
+
+ {output.map((child) => (
+
+ ))}
+
+ );
+}
+
+type ChildCardProps = BaseMdxFrontmatter & { href: string };
+
+function ChildCard({ description, href, title }: ChildCardProps) {
+ return (
+
+ {title}
+ {description}
+
+ );
+}
diff --git a/components/markdown/pre.tsx b/components/markdown/pre.tsx
new file mode 100644
index 0000000..3c53a2c
--- /dev/null
+++ b/components/markdown/pre.tsx
@@ -0,0 +1,19 @@
+import Copy from "@/components/markdown/copy";
+import { ComponentProps } from "react";
+
+export default function Pre({
+ children,
+ raw,
+ ...rest
+}: ComponentProps<"pre"> & { raw?: string }) {
+ return (
+
+ );
+}
diff --git a/components/markdown/stepper.tsx b/components/markdown/stepper.tsx
new file mode 100644
index 0000000..297bfad
--- /dev/null
+++ b/components/markdown/stepper.tsx
@@ -0,0 +1,41 @@
+import { cn } from "@/lib/utils";
+import clsx from "clsx";
+import { Children, PropsWithChildren } from "react";
+
+export function Stepper({ children }: PropsWithChildren) {
+ const length = Children.count(children);
+
+ return (
+
+ {Children.map(children, (child, index) => {
+ return (
+
+
+ {index + 1}
+
+ {child}
+
+ );
+ })}
+
+ );
+}
+
+export function StepperItem({
+ children,
+ title,
+}: PropsWithChildren & { title?: string }) {
+ return (
+
+ );
+}
diff --git a/components/navbar.tsx b/components/navbar.tsx
index 7485517..81d5cf2 100644
--- a/components/navbar.tsx
+++ b/components/navbar.tsx
@@ -1,92 +1,142 @@
-import Link from "next/link";
-import Search from "./search";
-import Anchor from "./anchor";
-import { Github } from "lucide-react";
-import { buttonVariants } from "./ui/button";
-import { page_routes } from "@/lib/routes-config";
-import Logo from "@/components/logo";
+import Anchor from "@/components/anchor";
+import ExternalArrow from "@/components/atoms/external-arrow";
+import { SheetLeftbar } from "@/components/leftbar";
+import Search from "@/components/search";
import { ModeToggle } from "@/components/theme-toggle";
+import { buttonVariants } from "@/components/ui/button";
import { SheetClose } from "@/components/ui/sheet";
-import { SheetLeftbar } from "./leftbar";
-import {memo} from "react";
+import { page_routes } from "@/lib/routes-config";
+import { GeistMono } from "geist/font/mono";
+import { GithubIcon } from "lucide-react";
+import Link from "next/link";
+
+export interface NavLink {
+ title: string;
+ href: string;
+ external?: boolean;
+}
+
+const ROUTES = {
+ documentation: `/docs${page_routes[0].href}`,
+ blog: "/blog",
+ changelog: "/changelog",
+ support: "https://github.com/Storik4pro/goodbyeDPI-UI/issues/",
+} as const;
-export const NAVLINKS = [
- {
- title: "Документация",
- href: `/docs/${page_routes[0].href}`,
- },
- {
- title: "Q&A",
- href: `/docs/faq/qna`,
- },
- {
- title: "Релизы",
- href: "https://github.com/Storik4pro/goodbyeDPI-UI/releases",
- },
+export function getNavLinks(): NavLink[] {
+ const links: Omit[] = [
{
- title: "Поддержка",
- href: "https://github.com/Storik4pro/goodbyeDPI-UI/issues",
+ title: "Документация",
+ href: ROUTES.documentation,
},
-];
+ {
+ title: "Блог",
+ href: ROUTES.blog,
+ },
+ {
+ title: "Журнал изменений",
+ href: ROUTES.changelog,
+ },
+ {
+ title: "Поддержка",
+ href: ROUTES.support,
+ },
+ ];
+
+ return links.map((link) => ({
+ ...link,
+ external: link.href.startsWith("http"),
+ }));
+}
-export const Navbar = memo(() => {
- return (
-
-
-
+export const NAVLINKS = getNavLinks();
-
-
-
- );
-})
-Navbar.displayName = "Navbar";
+export function Navbar() {
+ return (
+
+
+
+ );
+}
+
+export const LogoIcon = ({ className }: { className?: string }): JSX.Element => {
+ return (
+
+
+
+
+
+
+
+
+ );
+};
+
+export function Logo() {
+ return (
+
+
+ GoodbyeDPI.UI
+
+ );
+}
-export const NavMenu = ({ isSheet = false }) => {
- return (
- <>
- {NAVLINKS.map((item) => {
- const Comp = (
-
- {item.title}
-
- );
- return isSheet ? (
-
- {Comp}
-
- ) : (
- Comp
- );
- })}
- >
- );
+export function NavMenu({ isSheet = false }) {
+ return (
+ <>
+ {NAVLINKS.map((item) => {
+ const Comp = (
+
+ {item.title}{" "}
+ {item.external && (
+
+ )}
+
+ );
+ return isSheet ? (
+
+ {Comp}
+
+ ) : (
+ Comp
+ );
+ })}
+ >
+ );
}
diff --git a/components/note.tsx b/components/note.tsx
deleted file mode 100644
index d3f0876..0000000
--- a/components/note.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import clsx from "clsx";
-import { PropsWithChildren } from "react";
-import { cn } from "@/lib/utils";
-
-type NoteProps = PropsWithChildren & {
- title?: string;
- type?: "note" | "danger" | "warning" | "success";
-};
-
-export default function Note({
- children,
- title = "Note",
- type = "note",
-}: NoteProps) {
- const noteClassNames = clsx({
- "dark:bg-neutral-900 bg-neutral-100": type == "note",
- "dark:bg-red-950 bg-red-100 border-red-200 dark:border-red-900":
- type === "danger",
- "dark:bg-orange-950 bg-orange-100 border-orange-200 dark:border-orange-900":
- type === "warning",
- "dark:bg-green-950 bg-green-100 border-green-200 dark:border-green-900":
- type === "success",
- });
-
- return (
-
- );
-}
diff --git a/components/pagination.tsx b/components/pagination.tsx
index 1e01d06..33e4a93 100644
--- a/components/pagination.tsx
+++ b/components/pagination.tsx
@@ -1,35 +1,49 @@
+import { getPreviousNext } from "@/lib/markdown";
import { ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
import Link from "next/link";
-import { getPreviousNext } from "@/lib/markdown";
import { buttonVariants } from "./ui/button";
export default function Pagination({ pathname }: { pathname: string }) {
- const res = getPreviousNext(pathname);
+ const res = getPreviousNext(pathname);
- return (
-
-
- {res.prev && (
-
-
-
{res.prev.title}
-
- )}
-
-
- {res.next && (
-
-
{res.next.title}
-
-
- )}
-
-
- );
+ return (
+
+
+ {res.prev && (
+
+
+
+ Назад
+
+ {res.prev.title}
+
+ )}
+
+
+ {res.next && (
+
+
+ Далее
+
+
+ {res.next.title}
+
+ )}
+
+
+ );
}
diff --git a/components/pre.tsx b/components/pre.tsx
deleted file mode 100644
index c682f96..0000000
--- a/components/pre.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import { ComponentProps } from "react";
-import Copy from "./copy";
-
-export default function Pre({
- children,
- raw,
- ...rest
-}: ComponentProps<"pre"> & { raw?: string }) {
- return (
-
- );
-}
diff --git a/components/search.tsx b/components/search.tsx
index 5cd7e9f..6d6452a 100644
--- a/components/search.tsx
+++ b/components/search.tsx
@@ -1,107 +1,123 @@
"use client";
-import { Command, FileTextIcon, SearchIcon } from "lucide-react";
-import { useEffect, useMemo, useState } from "react";
-import { Input } from "@/components/ui/input";
+import Anchor from "@/components/anchor";
import {
- Dialog,
- DialogContent,
- DialogHeader,
- DialogTrigger,
- DialogClose,
+ Dialog,
+ DialogClose,
+ DialogContent,
+ DialogHeader,
+ DialogTitle,
+ DialogTrigger,
} from "@/components/ui/dialog";
-import { page_routes } from "@/lib/routes-config";
+import { Input } from "@/components/ui/input";
import { ScrollArea } from "@/components/ui/scroll-area";
-import Anchor from "./anchor";
+import { advanceSearch, cn } from "@/lib/utils";
+import { CommandIcon, FileIcon, SearchIcon } from "lucide-react";
+import { useEffect, useMemo, useState } from "react";
export default function Search() {
- const [searchedInput, setSearchedInput] = useState("");
- const [isOpen, setIsOpen] = useState(false);
+ const [searchedInput, setSearchedInput] = useState("");
+ const [isOpen, setIsOpen] = useState(false);
+
+ useEffect(() => {
+ const handleKeyDown = (event: KeyboardEvent) => {
+ if (event.ctrlKey && event.key === "k") {
+ event.preventDefault();
+ setIsOpen(true);
+ }
+ };
+ window.addEventListener("keydown", handleKeyDown);
- useEffect(() => {
- const handleKeyDown = (event: KeyboardEvent) => {
- if (event.ctrlKey && event.key === "k") {
- event.preventDefault();
- setIsOpen(true);
- }
- };
- window.addEventListener("keydown", handleKeyDown);
+ return () => {
+ window.removeEventListener("keydown", handleKeyDown);
+ };
+ }, []);
- return () => {
- window.removeEventListener("keydown", handleKeyDown);
- };
- }, []);
+ const filteredResults = useMemo(
+ () => advanceSearch(searchedInput.trim()),
+ [searchedInput]
+ );
- const filteredResults = useMemo(
- () =>
- page_routes.filter((item) =>
- item.title.toLowerCase().includes(searchedInput.toLowerCase()),
- ),
- [searchedInput],
- );
+ return (
+
+
{
+ if (!open) setSearchedInput("");
+ setIsOpen(open);
+ }}
+ >
+
+
+
+
+ Поиск по документации
+
+ setSearchedInput(e.target.value)}
+ placeholder="Начните писать..."
+ autoFocus
+ className="h-14 px-6 bg-transparent border-b text-[14px] outline-none"
+ />
+
+ {filteredResults.length == 0 && searchedInput && (
+
+ Ничего не найдено по запросу{" "}
+ {`"${searchedInput}"`}
+
+ )}
+
+
+ {filteredResults.map((item) => {
+ const level = (item.href.split("/").slice(1).length -
+ 1) as keyof typeof paddingMap;
+ const paddingClass = paddingMap[level];
- return (
- <>
-
{
- if (!open) setSearchedInput("");
- setIsOpen(open);
- }}
- >
-
-
-
-
-
- setSearchedInput(e.target.value)}
- placeholder="Начните писать чтобы искать..."
- autoFocus
- className="h-14 px-4 bg-transparent border-b text-[15px] outline-none"
- />
-
- {filteredResults.length == 0 && searchedInput && (
-
- Нет результатов по запросу{" "}
- {`"${searchedInput}"`}
- .
-
- )}
-
-
- {filteredResults.map((item) => (
-
console.log(val)}
- key={item.href}
- asChild
- >
-
- {" "}
- {item.title}
-
-
- ))}
-
-
-
-
- >
- );
+ return (
+
+
+ 1 && "border-l pl-4"
+ )}
+ >
+ {" "}
+ {item.title}
+
+
+
+ );
+ })}
+
+
+
+
+
+ );
}
+
+const paddingMap = {
+ 1: "pl-2",
+ 2: "pl-4",
+ 3: "pl-10",
+ // Add more levels if needed
+} as const;
diff --git a/components/sublink.tsx b/components/sublink.tsx
new file mode 100644
index 0000000..a10da3e
--- /dev/null
+++ b/components/sublink.tsx
@@ -0,0 +1,96 @@
+import Anchor from "@/components/anchor";
+import {
+ Collapsible,
+ CollapsibleContent,
+ CollapsibleTrigger,
+} from "@/components/ui/collapsible";
+import { SheetClose } from "@/components/ui/sheet";
+import { EachRoute } from "@/lib/routes-config";
+import { cn } from "@/lib/utils";
+import { ChevronDown, ChevronRight } from "lucide-react";
+import { usePathname } from "next/navigation";
+import { useEffect, useRef, useState } from "react";
+
+export default function SubLink({
+ title,
+ href,
+ items,
+ noLink,
+ level,
+ isSheet,
+}: EachRoute & { level: number; isSheet: boolean }) {
+ const path = usePathname();
+ const [isOpen, setIsOpen] = useState(level === 0);
+ const linkRef = useRef(null);
+
+ useEffect(() => {
+ if (path === href || path?.includes(href)) {
+ setIsOpen(true);
+ linkRef.current?.scrollIntoView({ behavior: "smooth", block: "center" });
+ }
+ }, [href, path]);
+
+ const Comp = (
+
+ {title}
+
+ );
+
+ const titleOrLink = !noLink ? (
+ isSheet ? (
+ {Comp}
+ ) : (
+ Comp
+ )
+ ) : (
+ {title}
+ );
+
+ if (!items) {
+ return (
+
+ {titleOrLink}
+
+ );
+ }
+
+ return (
+
+
+
+
+ {titleOrLink}
+
+ {!isOpen ? (
+
+ ) : (
+
+ )}
+
+
+
+
+ 0 && "pl-4 border-l ml-1.5"
+ )}
+ >
+ {items?.map((innerLink) => {
+ const modifiedItems = {
+ ...innerLink,
+ href: `${href + innerLink.href}`,
+ level: level + 1,
+ isSheet,
+ };
+ return ;
+ })}
+
+
+
+
+ );
+}
diff --git a/components/theme-toggle.tsx b/components/theme-toggle.tsx
index d106b43..1b222dc 100644
--- a/components/theme-toggle.tsx
+++ b/components/theme-toggle.tsx
@@ -1,40 +1,39 @@
"use client";
-import * as React from "react";
import { Moon, Sun } from "lucide-react";
import { useTheme } from "next-themes";
import { Button } from "@/components/ui/button";
import {
- DropdownMenu,
- DropdownMenuContent,
- DropdownMenuItem,
- DropdownMenuTrigger,
+ DropdownMenu,
+ DropdownMenuContent,
+ DropdownMenuItem,
+ DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu";
export function ModeToggle() {
- const { setTheme } = useTheme();
+ const { setTheme } = useTheme();
- return (
-
-
-
-
-
- Изменить тему
-
-
-
- setTheme("light")}>
- Светлая
-
- setTheme("dark")}>
- Тёмная
-
- setTheme("system")}>
- Системная
-
-
-
- );
+ return (
+
+
+
+
+
+ Смена тема веб-сайта
+
+
+
+ setTheme("light")}>
+ Светлая
+
+ setTheme("dark")}>
+ Тёмная
+
+ setTheme("system")}>
+ Системная
+
+
+
+ );
}
diff --git a/components/toc-observer.tsx b/components/toc-observer.tsx
index 5e2babe..1e72815 100644
--- a/components/toc-observer.tsx
+++ b/components/toc-observer.tsx
@@ -1,67 +1,71 @@
"use client";
+import { getDocsTocs } from "@/lib/markdown";
import clsx from "clsx";
import Link from "next/link";
-import { useState, useRef, useEffect } from "react";
-import { getTocs } from "@/lib/markdown";
+import { useEffect, useRef, useState } from "react";
-type Props = { data: Awaited> };
+type Props = { data: Awaited> };
export default function TocObserver({ data }: Props) {
- const [activeId, setActiveId] = useState(null);
- const observer = useRef(null);
+ const [activeId, setActiveId] = useState(null);
+ const observer = useRef(null);
- useEffect(() => {
- const handleIntersect = (entries: IntersectionObserverEntry[]) => {
- const visibleEntry = entries.find((entry) => entry.isIntersecting);
- if (visibleEntry) {
- setActiveId(visibleEntry.target.id);
- }
- };
+ useEffect(() => {
+ const handleIntersect = (entries: IntersectionObserverEntry[]) => {
+ const visibleEntry = entries.find((entry) => entry.isIntersecting);
+ if (visibleEntry) {
+ setActiveId(visibleEntry.target.id);
+ }
+ };
- observer.current = new IntersectionObserver(handleIntersect, {
- root: null,
- rootMargin: "-20px 0px 0px 0px",
- threshold: 0.1,
- });
+ observer.current = new IntersectionObserver(handleIntersect, {
+ root: null,
+ rootMargin: "-20px 0px 0px 0px",
+ threshold: 0.1,
+ });
- const elements = data.map((item) =>
- document.getElementById(item.href.slice(1)),
- );
+ const elements = data.map((item) =>
+ document.getElementById(item.href.slice(1))
+ );
- elements.forEach((el) => {
- if (el && observer.current) {
- observer.current.observe(el);
- }
- });
+ elements.forEach((el) => {
+ if (el && observer.current) {
+ observer.current.observe(el);
+ }
+ });
- return () => {
- if (observer.current) {
- elements.forEach((el) => {
- if (el) {
- observer.current.unobserve(el);
- }
- });
- }
- };
- }, [data]);
+ return () => {
+ if (observer.current) {
+ elements.forEach((el) => {
+ if (el) {
+ observer.current!.unobserve(el);
+ }
+ });
+ }
+ };
+ }, [data]);
- return (
-
- {data.map(({ href, level, text }) => (
-
- {text}
-
- ))}
-
- );
+ return (
+ <>
+
+ {data.map(({ href, level, text }) => {
+ return (
+
+ {text}
+
+ );
+ })}
+
+ >
+ );
}
diff --git a/components/toc.tsx b/components/toc.tsx
index 20bb408..bf5deba 100644
--- a/components/toc.tsx
+++ b/components/toc.tsx
@@ -1,18 +1,24 @@
-import { getTocs } from "@/lib/markdown";
-import TocObserver from "./toc-observer";
+import ScrollToTopButton from "@/components/atoms/scroll-to-top-button";
+import TocObserver from "@/components/toc-observer";
import { ScrollArea } from "@/components/ui/scroll-area";
+import { getDocsTocs } from "@/lib/markdown";
+import { AlignLeftIcon } from "lucide-react";
export default async function Toc({ path }: { path: string }) {
- const tocs = await getTocs(path);
+ const tocs = await getDocsTocs(path);
- return (
-
-
-
On this page
-
-
-
-
-
- );
+ return (
+
+ );
}
diff --git a/components/ui/accordion.tsx b/components/ui/accordion.tsx
index 86da12f..24c788c 100644
--- a/components/ui/accordion.tsx
+++ b/components/ui/accordion.tsx
@@ -1,58 +1,58 @@
-"use client";
+"use client"
-import * as React from "react";
-import * as AccordionPrimitive from "@radix-ui/react-accordion";
-import { ChevronDown } from "lucide-react";
+import * as React from "react"
+import * as AccordionPrimitive from "@radix-ui/react-accordion"
+import { ChevronDown } from "lucide-react"
-import { cn } from "@/lib/utils";
+import { cn } from "@/lib/utils"
-const Accordion = AccordionPrimitive.Root;
+const Accordion = AccordionPrimitive.Root
const AccordionItem = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
-));
-AccordionItem.displayName = "AccordionItem";
+
+))
+AccordionItem.displayName = "AccordionItem"
const AccordionTrigger = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, children, ...props }, ref) => (
-
- svg]:rotate-180",
- className,
- )}
- {...props}
- >
- {children}
-
-
-
-));
-AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
+
+ svg]:rotate-180",
+ className
+ )}
+ {...props}
+ >
+ {children}
+
+
+
+))
+AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName
const AccordionContent = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, children, ...props }, ref) => (
-
- {children}
-
-));
-
-AccordionContent.displayName = AccordionPrimitive.Content.displayName;
-
-export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
+
+ {children}
+
+))
+
+AccordionContent.displayName = AccordionPrimitive.Content.displayName
+
+export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }
diff --git a/components/ui/avatar.tsx b/components/ui/avatar.tsx
new file mode 100644
index 0000000..51e507b
--- /dev/null
+++ b/components/ui/avatar.tsx
@@ -0,0 +1,50 @@
+"use client"
+
+import * as React from "react"
+import * as AvatarPrimitive from "@radix-ui/react-avatar"
+
+import { cn } from "@/lib/utils"
+
+const Avatar = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+))
+Avatar.displayName = AvatarPrimitive.Root.displayName
+
+const AvatarImage = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+))
+AvatarImage.displayName = AvatarPrimitive.Image.displayName
+
+const AvatarFallback = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(({ className, ...props }, ref) => (
+
+))
+AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName
+
+export { Avatar, AvatarImage, AvatarFallback }
diff --git a/components/ui/breadcrumb.tsx b/components/ui/breadcrumb.tsx
index 22c9227..71a5c32 100644
--- a/components/ui/breadcrumb.tsx
+++ b/components/ui/breadcrumb.tsx
@@ -1,115 +1,115 @@
-import * as React from "react";
-import { Slot } from "@radix-ui/react-slot";
-import { ChevronRight, MoreHorizontal } from "lucide-react";
+import * as React from "react"
+import { Slot } from "@radix-ui/react-slot"
+import { ChevronRight, MoreHorizontal } from "lucide-react"
-import { cn } from "@/lib/utils";
+import { cn } from "@/lib/utils"
const Breadcrumb = React.forwardRef<
- HTMLElement,
- React.ComponentPropsWithoutRef<"nav"> & {
- separator?: React.ReactNode;
- }
->(({ ...props }, ref) => );
-Breadcrumb.displayName = "Breadcrumb";
+ HTMLElement,
+ React.ComponentPropsWithoutRef<"nav"> & {
+ separator?: React.ReactNode
+ }
+>(({ ...props }, ref) => )
+Breadcrumb.displayName = "Breadcrumb"
const BreadcrumbList = React.forwardRef<
- HTMLOListElement,
- React.ComponentPropsWithoutRef<"ol">
+ HTMLOListElement,
+ React.ComponentPropsWithoutRef<"ol">
>(({ className, ...props }, ref) => (
-
-));
-BreadcrumbList.displayName = "BreadcrumbList";
+
+))
+BreadcrumbList.displayName = "BreadcrumbList"
const BreadcrumbItem = React.forwardRef<
- HTMLLIElement,
- React.ComponentPropsWithoutRef<"li">
+ HTMLLIElement,
+ React.ComponentPropsWithoutRef<"li">
>(({ className, ...props }, ref) => (
-
-));
-BreadcrumbItem.displayName = "BreadcrumbItem";
+
+))
+BreadcrumbItem.displayName = "BreadcrumbItem"
const BreadcrumbLink = React.forwardRef<
- HTMLAnchorElement,
- React.ComponentPropsWithoutRef<"a"> & {
- asChild?: boolean;
- }
+ HTMLAnchorElement,
+ React.ComponentPropsWithoutRef<"a"> & {
+ asChild?: boolean
+ }
>(({ asChild, className, ...props }, ref) => {
- const Comp = asChild ? Slot : "a";
+ const Comp = asChild ? Slot : "a"
- return (
-
- );
-});
-BreadcrumbLink.displayName = "BreadcrumbLink";
+ return (
+
+ )
+})
+BreadcrumbLink.displayName = "BreadcrumbLink"
const BreadcrumbPage = React.forwardRef<
- HTMLSpanElement,
- React.ComponentPropsWithoutRef<"span">
+ HTMLSpanElement,
+ React.ComponentPropsWithoutRef<"span">
>(({ className, ...props }, ref) => (
-
-));
-BreadcrumbPage.displayName = "BreadcrumbPage";
+
+))
+BreadcrumbPage.displayName = "BreadcrumbPage"
const BreadcrumbSeparator = ({
- children,
- className,
- ...props
+ children,
+ className,
+ ...props
}: React.ComponentProps<"li">) => (
- svg]:size-3.5", className)}
- {...props}
- >
- {children ?? }
-
-);
-BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
+ svg]:size-3.5", className)}
+ {...props}
+ >
+ {children ?? }
+
+)
+BreadcrumbSeparator.displayName = "BreadcrumbSeparator"
const BreadcrumbEllipsis = ({
- className,
- ...props
+ className,
+ ...props
}: React.ComponentProps<"span">) => (
-
-
- More
-
-);
-BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
+
+
+ More
+
+)
+BreadcrumbEllipsis.displayName = "BreadcrumbElipssis"
export {
- Breadcrumb,
- BreadcrumbList,
- BreadcrumbItem,
- BreadcrumbLink,
- BreadcrumbPage,
- BreadcrumbSeparator,
- BreadcrumbEllipsis,
-};
+ Breadcrumb,
+ BreadcrumbList,
+ BreadcrumbItem,
+ BreadcrumbLink,
+ BreadcrumbPage,
+ BreadcrumbSeparator,
+ BreadcrumbEllipsis,
+}
diff --git a/components/ui/button.tsx b/components/ui/button.tsx
index d8f727f..f1a420e 100644
--- a/components/ui/button.tsx
+++ b/components/ui/button.tsx
@@ -1,56 +1,56 @@
-import * as React from "react";
import { Slot } from "@radix-ui/react-slot";
import { cva, type VariantProps } from "class-variance-authority";
+import * as React from "react";
import { cn } from "@/lib/utils";
const buttonVariants = cva(
- "select-none inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
- {
- variants: {
- variant: {
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
- destructive:
- "bg-destructive text-destructive-foreground hover:bg-destructive/90",
- outline:
- "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
- secondary:
- "bg-secondary text-secondary-foreground hover:bg-secondary/80",
- ghost: "hover:bg-accent hover:text-accent-foreground",
- link: "text-primary underline-offset-4 hover:underline",
- },
- size: {
- default: "h-10 px-4 py-2",
- sm: "h-9 rounded-md px-3",
- lg: "h-11 rounded-md px-8",
- icon: "h-9 w-9",
- xs: "h-7 rounded-md px-2",
- },
- },
- defaultVariants: {
- variant: "default",
- size: "default",
- },
- },
+ "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
+ {
+ variants: {
+ variant: {
+ default: "select-none bg-primary text-primary-foreground hover:bg-primary/90",
+ destructive:
+ "select-none bg-destructive text-destructive-foreground hover:bg-destructive/90",
+ outline:
+ "select-none border border-input bg-background hover:bg-accent hover:text-accent-foreground",
+ secondary:
+ "select-none bg-secondary text-secondary-foreground hover:bg-secondary/80",
+ ghost: "select-none hover:bg-accent hover:text-accent-foreground",
+ link: "select-none text-primary underline-offset-4 hover:underline",
+ },
+ size: {
+ default: "h-10 px-4 py-2",
+ sm: "h-9 rounded-md px-3",
+ lg: "h-11 rounded-md px-8",
+ icon: "h-9 w-9",
+ xs: "h-7 rounded-md px-2",
+ },
+ },
+ defaultVariants: {
+ variant: "default",
+ size: "default",
+ },
+ }
);
export interface ButtonProps
- extends React.ButtonHTMLAttributes,
- VariantProps {
- asChild?: boolean;
+ extends React.ButtonHTMLAttributes,
+ VariantProps {
+ asChild?: boolean;
}
const Button = React.forwardRef(
- ({ className, variant, size, asChild = false, ...props }, ref) => {
- const Comp = asChild ? Slot : "button";
- return (
-
- );
- },
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
+ const Comp = asChild ? Slot : "button";
+ return (
+
+ );
+ }
);
Button.displayName = "Button";
diff --git a/components/ui/collapsible.tsx b/components/ui/collapsible.tsx
new file mode 100644
index 0000000..9fa4894
--- /dev/null
+++ b/components/ui/collapsible.tsx
@@ -0,0 +1,11 @@
+"use client"
+
+import * as CollapsiblePrimitive from "@radix-ui/react-collapsible"
+
+const Collapsible = CollapsiblePrimitive.Root
+
+const CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger
+
+const CollapsibleContent = CollapsiblePrimitive.CollapsibleContent
+
+export { Collapsible, CollapsibleTrigger, CollapsibleContent }
diff --git a/components/ui/dialog.tsx b/components/ui/dialog.tsx
index 2e86ab1..583acd7 100644
--- a/components/ui/dialog.tsx
+++ b/components/ui/dialog.tsx
@@ -14,111 +14,111 @@ const DialogPortal = DialogPrimitive.Portal;
const DialogClose = DialogPrimitive.Close;
const DialogOverlay = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
+
));
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
const DialogContent = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, children, ...props }, ref) => (
-
-
-
- {children}
-
- {/* */}
-
- Esc
-
- Close
-
-
-
+
+
+
+ {children}
+
+ {/* */}
+
+ Esc
+
+ Close
+
+
+
));
DialogContent.displayName = DialogPrimitive.Content.displayName;
const DialogHeader = ({
- className,
- ...props
+ className,
+ ...props
}: React.HTMLAttributes) => (
-
+
);
DialogHeader.displayName = "DialogHeader";
const DialogFooter = ({
- className,
- ...props
+ className,
+ ...props
}: React.HTMLAttributes) => (
-
+
);
DialogFooter.displayName = "DialogFooter";
const DialogTitle = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
+
));
DialogTitle.displayName = DialogPrimitive.Title.displayName;
const DialogDescription = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
+
));
DialogDescription.displayName = DialogPrimitive.Description.displayName;
export {
- Dialog,
- DialogPortal,
- DialogOverlay,
- DialogClose,
- DialogTrigger,
- DialogContent,
- DialogHeader,
- DialogFooter,
- DialogTitle,
- DialogDescription,
+ Dialog,
+ DialogPortal,
+ DialogOverlay,
+ DialogClose,
+ DialogTrigger,
+ DialogContent,
+ DialogHeader,
+ DialogFooter,
+ DialogTitle,
+ DialogDescription,
};
diff --git a/components/ui/dropdown-menu.tsx b/components/ui/dropdown-menu.tsx
index 7b8384c..f69a0d6 100644
--- a/components/ui/dropdown-menu.tsx
+++ b/components/ui/dropdown-menu.tsx
@@ -1,198 +1,200 @@
-"use client";
+"use client"
-import * as React from "react";
-import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
-import { Check, ChevronRight, Circle } from "lucide-react";
+import * as React from "react"
+import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"
+import { Check, ChevronRight, Circle } from "lucide-react"
-import { cn } from "@/lib/utils";
+import { cn } from "@/lib/utils"
-const DropdownMenu = DropdownMenuPrimitive.Root;
+const DropdownMenu = DropdownMenuPrimitive.Root
-const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
+const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger
-const DropdownMenuGroup = DropdownMenuPrimitive.Group;
+const DropdownMenuGroup = DropdownMenuPrimitive.Group
-const DropdownMenuPortal = DropdownMenuPrimitive.Portal;
+const DropdownMenuPortal = DropdownMenuPrimitive.Portal
-const DropdownMenuSub = DropdownMenuPrimitive.Sub;
+const DropdownMenuSub = DropdownMenuPrimitive.Sub
-const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
+const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup
const DropdownMenuSubTrigger = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef & {
- inset?: boolean;
- }
+ React.ElementRef,
+ React.ComponentPropsWithoutRef & {
+ inset?: boolean
+ }
>(({ className, inset, children, ...props }, ref) => (
-
- {children}
-
-
-));
+
+ {children}
+
+
+))
DropdownMenuSubTrigger.displayName =
- DropdownMenuPrimitive.SubTrigger.displayName;
+ DropdownMenuPrimitive.SubTrigger.displayName
const DropdownMenuSubContent = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
-));
+
+))
DropdownMenuSubContent.displayName =
- DropdownMenuPrimitive.SubContent.displayName;
+ DropdownMenuPrimitive.SubContent.displayName
const DropdownMenuContent = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, sideOffset = 4, ...props }, ref) => (
-
-
-
-));
-DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
+
+
+
+))
+DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName
const DropdownMenuItem = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef & {
- inset?: boolean;
- }
+ React.ElementRef,
+ React.ComponentPropsWithoutRef & {
+ inset?: boolean
+ }
>(({ className, inset, ...props }, ref) => (
-
-));
-DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
+
+))
+DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName
const DropdownMenuCheckboxItem = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, children, checked, ...props }, ref) => (
-
-
-
-
-
-
- {children}
-
-));
+
+
+
+
+
+
+ {children}
+
+))
DropdownMenuCheckboxItem.displayName =
- DropdownMenuPrimitive.CheckboxItem.displayName;
+ DropdownMenuPrimitive.CheckboxItem.displayName
const DropdownMenuRadioItem = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, children, ...props }, ref) => (
-
-
-
-
-
-
- {children}
-
-));
-DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
+
+
+
+
+
+
+ {children}
+
+))
+DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName
const DropdownMenuLabel = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef & {
- inset?: boolean;
- }
+ React.ElementRef,
+ React.ComponentPropsWithoutRef & {
+ inset?: boolean
+ }
>(({ className, inset, ...props }, ref) => (
-
-));
-DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
+
+))
+DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName
const DropdownMenuSeparator = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
-));
-DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
+
+))
+DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName
const DropdownMenuShortcut = ({
- className,
- ...props
-}: React.HTMLAttributes) => (
-
-);
-DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
+ className,
+ ...props
+}: React.HTMLAttributes) => {
+ return (
+
+ )
+}
+DropdownMenuShortcut.displayName = "DropdownMenuShortcut"
export {
- DropdownMenu,
- DropdownMenuTrigger,
- DropdownMenuContent,
- DropdownMenuItem,
- DropdownMenuCheckboxItem,
- DropdownMenuRadioItem,
- DropdownMenuLabel,
- DropdownMenuSeparator,
- DropdownMenuShortcut,
- DropdownMenuGroup,
- DropdownMenuPortal,
- DropdownMenuSub,
- DropdownMenuSubContent,
- DropdownMenuSubTrigger,
- DropdownMenuRadioGroup,
-};
+ DropdownMenu,
+ DropdownMenuTrigger,
+ DropdownMenuContent,
+ DropdownMenuItem,
+ DropdownMenuCheckboxItem,
+ DropdownMenuRadioItem,
+ DropdownMenuLabel,
+ DropdownMenuSeparator,
+ DropdownMenuShortcut,
+ DropdownMenuGroup,
+ DropdownMenuPortal,
+ DropdownMenuSub,
+ DropdownMenuSubContent,
+ DropdownMenuSubTrigger,
+ DropdownMenuRadioGroup,
+}
diff --git a/components/ui/input.tsx b/components/ui/input.tsx
index f4c31b0..677d05f 100644
--- a/components/ui/input.tsx
+++ b/components/ui/input.tsx
@@ -1,23 +1,25 @@
-import * as React from "react";
+import * as React from "react"
-import { cn } from "@/lib/utils";
+import { cn } from "@/lib/utils"
export interface InputProps
- extends React.InputHTMLAttributes {}
+ extends React.InputHTMLAttributes {}
const Input = React.forwardRef(
- ({ className, type, ...props }, ref) => (
-
- ),
-);
-Input.displayName = "Input";
+ ({ className, type, ...props }, ref) => {
+ return (
+
+ )
+ }
+)
+Input.displayName = "Input"
-export { Input };
+export { Input }
diff --git a/components/ui/scroll-area.tsx b/components/ui/scroll-area.tsx
index 2821ee4..0b4a48d 100644
--- a/components/ui/scroll-area.tsx
+++ b/components/ui/scroll-area.tsx
@@ -1,48 +1,48 @@
-"use client";
+"use client"
-import * as React from "react";
-import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
+import * as React from "react"
+import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area"
-import { cn } from "@/lib/utils";
+import { cn } from "@/lib/utils"
const ScrollArea = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, children, ...props }, ref) => (
-
-
- {children}
-
-
-
-
-));
-ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
+
+
+ {children}
+
+
+
+
+))
+ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName
const ScrollBar = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, orientation = "vertical", ...props }, ref) => (
-
-
-
-));
-ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
+
+
+
+))
+ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName
-export { ScrollArea, ScrollBar };
+export { ScrollArea, ScrollBar }
diff --git a/components/ui/sheet.tsx b/components/ui/sheet.tsx
index 71990c3..cd05922 100644
--- a/components/ui/sheet.tsx
+++ b/components/ui/sheet.tsx
@@ -1,9 +1,9 @@
"use client";
-import * as React from "react";
import * as SheetPrimitive from "@radix-ui/react-dialog";
import { cva, type VariantProps } from "class-variance-authority";
import { X } from "lucide-react";
+import * as React from "react";
import { cn } from "@/lib/utils";
@@ -16,125 +16,118 @@ const SheetClose = SheetPrimitive.Close;
const SheetPortal = SheetPrimitive.Portal;
const SheetOverlay = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
+
));
SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
const sheetVariants = cva(
- "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
- {
- variants: {
- side: {
- top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
- bottom:
- "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
- left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
- right:
- "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm",
- },
- },
- defaultVariants: {
- side: "right",
- },
- },
+ "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
+ {
+ variants: {
+ side: {
+ top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
+ bottom:
+ "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
+ left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
+ right:
+ "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm",
+ },
+ },
+ defaultVariants: {
+ side: "right",
+ },
+ }
);
interface SheetContentProps
- extends React.ComponentPropsWithoutRef,
- VariantProps {}
+ extends React.ComponentPropsWithoutRef,
+ VariantProps {}
const SheetContent = React.forwardRef<
- React.ElementRef,
- SheetContentProps
+ React.ElementRef,
+ SheetContentProps
>(({ side = "right", className, children, ...props }, ref) => (
-
-
-
- {children}
-
-
- Close
-
-
-
+
+
+
+ {children}
+
+
+ Close
+
+
+
));
SheetContent.displayName = SheetPrimitive.Content.displayName;
const SheetHeader = ({
- className,
- ...props
+ className,
+ ...props
}: React.HTMLAttributes) => (
-
+
);
SheetHeader.displayName = "SheetHeader";
const SheetFooter = ({
- className,
- ...props
+ className,
+ ...props
}: React.HTMLAttributes) => (
-
+
);
SheetFooter.displayName = "SheetFooter";
const SheetTitle = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
+
));
SheetTitle.displayName = SheetPrimitive.Title.displayName;
const SheetDescription = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
+
));
SheetDescription.displayName = SheetPrimitive.Description.displayName;
export {
- Sheet,
- SheetPortal,
- SheetOverlay,
- SheetTrigger,
- SheetClose,
- SheetContent,
- SheetHeader,
- SheetFooter,
- SheetTitle,
- SheetDescription,
+ Sheet, SheetClose,
+ SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger
};
+
diff --git a/components/ui/stepper.tsx b/components/ui/stepper.tsx
deleted file mode 100644
index 4780f38..0000000
--- a/components/ui/stepper.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import clsx from "clsx";
-import { Children, PropsWithChildren } from "react";
-import { cn } from "@/lib/utils";
-
-export function Stepper({ children }: PropsWithChildren) {
- const length = Children.count(children);
-
- return (
-
- {Children.map(children, (child, index) => (
-
-
- {index + 1}
-
- {child}
-
- ))}
-
- );
-}
-
-export function StepperItem({
- children,
- title,
-}: PropsWithChildren & { title?: string }) {
- return (
-
- );
-}
diff --git a/components/ui/table.tsx b/components/ui/table.tsx
index 8f0f408..7f3502f 100644
--- a/components/ui/table.tsx
+++ b/components/ui/table.tsx
@@ -1,117 +1,117 @@
-import * as React from "react";
+import * as React from "react"
-import { cn } from "@/lib/utils";
+import { cn } from "@/lib/utils"
const Table = React.forwardRef<
- HTMLTableElement,
- React.HTMLAttributes
+ HTMLTableElement,
+ React.HTMLAttributes
>(({ className, ...props }, ref) => (
-
-));
-Table.displayName = "Table";
+
+))
+Table.displayName = "Table"
const TableHeader = React.forwardRef<
- HTMLTableSectionElement,
- React.HTMLAttributes
+ HTMLTableSectionElement,
+ React.HTMLAttributes
>(({ className, ...props }, ref) => (
-
-));
-TableHeader.displayName = "TableHeader";
+
+))
+TableHeader.displayName = "TableHeader"
const TableBody = React.forwardRef<
- HTMLTableSectionElement,
- React.HTMLAttributes
+ HTMLTableSectionElement,
+ React.HTMLAttributes
>(({ className, ...props }, ref) => (
-
-));
-TableBody.displayName = "TableBody";
+
+))
+TableBody.displayName = "TableBody"
const TableFooter = React.forwardRef<
- HTMLTableSectionElement,
- React.HTMLAttributes
+ HTMLTableSectionElement,
+ React.HTMLAttributes
>(({ className, ...props }, ref) => (
- tr]:last:border-b-0",
- className,
- )}
- {...props}
- />
-));
-TableFooter.displayName = "TableFooter";
+ tr]:last:border-b-0",
+ className
+ )}
+ {...props}
+ />
+))
+TableFooter.displayName = "TableFooter"
const TableRow = React.forwardRef<
- HTMLTableRowElement,
- React.HTMLAttributes
+ HTMLTableRowElement,
+ React.HTMLAttributes
>(({ className, ...props }, ref) => (
-
-));
-TableRow.displayName = "TableRow";
+
+))
+TableRow.displayName = "TableRow"
const TableHead = React.forwardRef<
- HTMLTableCellElement,
- React.ThHTMLAttributes
+ HTMLTableCellElement,
+ React.ThHTMLAttributes
>(({ className, ...props }, ref) => (
-
-));
-TableHead.displayName = "TableHead";
+
+))
+TableHead.displayName = "TableHead"
const TableCell = React.forwardRef<
- HTMLTableCellElement,
- React.TdHTMLAttributes
+ HTMLTableCellElement,
+ React.TdHTMLAttributes
>(({ className, ...props }, ref) => (
-
-));
-TableCell.displayName = "TableCell";
+
+))
+TableCell.displayName = "TableCell"
const TableCaption = React.forwardRef<
- HTMLTableCaptionElement,
- React.HTMLAttributes
+ HTMLTableCaptionElement,
+ React.HTMLAttributes
>(({ className, ...props }, ref) => (
-
-));
-TableCaption.displayName = "TableCaption";
+
+))
+TableCaption.displayName = "TableCaption"
export {
- Table,
- TableHeader,
- TableBody,
- TableFooter,
- TableHead,
- TableRow,
- TableCell,
- TableCaption,
-};
+ Table,
+ TableHeader,
+ TableBody,
+ TableFooter,
+ TableHead,
+ TableRow,
+ TableCell,
+ TableCaption,
+}
diff --git a/components/ui/tabs.tsx b/components/ui/tabs.tsx
index ebd271a..8e2a884 100644
--- a/components/ui/tabs.tsx
+++ b/components/ui/tabs.tsx
@@ -8,47 +8,47 @@ import { cn } from "@/lib/utils";
const Tabs = TabsPrimitive.Root;
const TabsList = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
+
));
TabsList.displayName = TabsPrimitive.List.displayName;
const TabsTrigger = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
+
));
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
const TabsContent = React.forwardRef<
- React.ElementRef,
- React.ComponentPropsWithoutRef
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => (
-
+
));
TabsContent.displayName = TabsPrimitive.Content.displayName;
diff --git a/contents/blogs/file-rec.mdx b/contents/blogs/file-rec.mdx
new file mode 100644
index 0000000..239e908
--- /dev/null
+++ b/contents/blogs/file-rec.mdx
@@ -0,0 +1,170 @@
+---
+title: "Building a Recursive File System with React: A Deep Dive"
+description: "Explore how to create a recursive file system in React. This blog post provides a comprehensive guide on building a file system where folders and files can be nested, added, renamed, and deleted."
+date: 02-09-2024
+authors:
+ - avatar: "https://ui.shadcn.com/avatars/02.png"
+ handle: nisabmohd
+ username: Nisab Mohd
+ handleUrl: "https://github.com/nisabmohd"
+cover: "https://img.freepik.com/premium-vector/many-monsters-various-colors-doodle-come-bless-birthday-happy_577083-84.jpg?w=826"
+---
+
+## Introduction: Crafting a Recursive File System in React
+
+In modern web development, creating interactive and dynamic file systems is a common requirement. Whether for managing documents, organizing projects, or building complex data structures, having a robust file system is crucial. In this blog post, we’ll explore how to build a recursive file system in React, focusing on nested folders and files that can be added, renamed, or deleted.
+
+Check out the project on [GitHub](https://github.com/nisabmohd/recursive-file-system-react) for a complete implementation.
+
+## Project Overview
+
+The Recursive File System project is designed to simulate a file management system where users can interact with folders and files dynamically. It supports the following features:
+
+- **Adding New Folders and Files**: Create new folders and files within any existing folder.
+- **Renaming Items**: Change the name of folders and files.
+- **Deleting Items**: Remove folders and files from the file system.
+- **Nested Structure**: Handle nested folders and files to create a hierarchical view.
+
+## Key Features and Implementation
+
+### 1. Recursive Data Structure
+
+The core of the project is a recursive data structure that represents the file system. Each folder can contain other folders or files, and each file or folder has properties such as `id`, `name`, and `children` (for folders).
+
+Here’s a basic structure for a folder:
+
+```jsx
+const folder = {
+ id: "1",
+ name: "Documents",
+ type: "folder",
+ children: [
+ { id: "2", name: "Resume.pdf", type: "file" },
+ { id: "3", name: "CoverLetter.docx", type: "file" },
+ ],
+};
+```
+
+### 2. Components
+
+The project includes several key components to handle different aspects of the file system:
+
+- **FileExplorer**: Displays the entire file system and handles rendering folders and files.
+
+```jsx
+// src/components/FileExplorer.js
+import React, { useState } from "react";
+import Folder from "./Folder";
+import File from "./File";
+
+const FileExplorer = () => {
+ const [files, setFiles] = useState(initialData); // initialData is your recursive data structure
+
+ const addItem = (parentId, type) => {
+ // Logic to add a folder or file
+ };
+
+ const renameItem = (id, newName) => {
+ // Logic to rename a folder or file
+ };
+
+ const deleteItem = (id) => {
+ // Logic to delete a folder or file
+ };
+
+ return (
+
+ {files.map((file) =>
+ file.type === "folder" ? (
+
+ ) : (
+
+ )
+ )}
+
+ );
+};
+
+export default FileExplorer;
+```
+
+- **Folder**: Renders folders and handles nested items.
+
+```jsx
+// src/components/Folder.js
+import React from "react";
+import FileExplorer from "./FileExplorer";
+
+const Folder = ({ folder, onAdd, onRename, onDelete }) => {
+ return (
+
+
{folder.name}
+ onAdd(folder.id, "folder")}>Add Folder
+ onAdd(folder.id, "file")}>Add File
+ onRename(folder.id, "New Name")}>Rename
+ onDelete(folder.id)}>Delete
+ {folder.children && }
+
+ );
+};
+
+export default Folder;
+```
+
+- **File**: Renders individual files with options to rename and delete.
+
+```jsx
+// src/components/File.js
+import React from "react";
+
+const File = ({ file, onRename, onDelete }) => {
+ return (
+
+
{file.name}
+
onRename(file.id, "New Name")}>Rename
+
onDelete(file.id)}>Delete
+
+ );
+};
+
+export default File;
+```
+
+### 3. Handling State and Actions
+
+State management is handled using React hooks like `useState` to manage the file system data. Actions such as adding, renaming, and deleting items update the state accordingly.
+
+```jsx
+const [files, setFiles] = useState(initialData);
+
+const addItem = (parentId, type) => {
+ // Logic to add a new item to the file system
+};
+
+const renameItem = (id, newName) => {
+ // Logic to rename an existing item
+};
+
+const deleteItem = (id) => {
+ // Logic to delete an item
+};
+```
+
+## Conclusion: Building a Dynamic File System with React
+
+Creating a recursive file system in React is a powerful way to manage hierarchical data and provide a dynamic user experience. By leveraging React's component-based architecture and state management, you can build interactive file systems that handle complex nested structures efficiently.
+
+Check out the full implementation on [GitHub](https://github.com/nisabmohd/recursive-file-system-react) and explore how these concepts can be applied to your own projects. Happy coding!
+
+🚀📁
diff --git a/contents/blogs/next-react.mdx b/contents/blogs/next-react.mdx
new file mode 100644
index 0000000..d8a0fd8
--- /dev/null
+++ b/contents/blogs/next-react.mdx
@@ -0,0 +1,121 @@
+---
+title: "Using React Server Components and Server Actions in Next.js"
+description: "Explore how to leverage React Server Components and Server Actions in Next.js to build modern, efficient web applications. Learn how these features enhance performance and simplify server-side logic."
+date: 05-09-2024
+authors:
+ - avatar: "https://ui.shadcn.com/avatars/02.png"
+ handle: reactdev
+ username: React Dev
+ handleUrl: "https://github.com/reactdev"
+ - avatar: "https://ui.shadcn.com/avatars/01.png"
+ handle: nextjsguru
+ username: Next.js Guru
+ handleUrl: "https://github.com/nextjsguru"
+cover: "https://img.freepik.com/premium-vector/many-monsters-various-colors-doodle-come-bless-birthday-happy_577083-85.jpg?w=826"
+---
+
+## Introduction: Enhancing Next.js with React Server Components
+
+Next.js has evolved to include powerful features like React Server Components and Server Actions, which offer a new way to handle server-side rendering and logic. These features provide a more efficient and streamlined approach to building web applications, allowing you to fetch data and render components on the server without compromising performance.
+
+In this blog post, we'll explore how to use React Server Components and Server Actions in Next.js with practical examples and code snippets.
+
+## What Are React Server Components?
+
+React Server Components (RSC) are a new type of component introduced by React that allows you to render components on the server. This approach helps reduce the amount of JavaScript sent to the client and enhances performance by offloading rendering work to the server.
+
+### Benefits of React Server Components
+
+- **Improved Performance**: By rendering on the server, you reduce the amount of client-side JavaScript and improve load times.
+- **Enhanced User Experience**: Faster initial page loads and smoother interactions.
+- **Simplified Data Fetching**: Fetch data on the server and pass it directly to components.
+
+### Example: Creating a Server Component
+
+Here’s a basic example of a React Server Component in a Next.js application:
+
+```jsx
+// app/components/UserProfile.server.js
+import { getUserData } from "../lib/api";
+
+export default async function UserProfile() {
+ const user = await getUserData();
+
+ return (
+
+
{user.name}
+
{user.email}
+
+ );
+}
+```
+
+In this example, `UserProfile` is a server component that fetches user data on the server and renders it.
+
+## What Are Server Actions?
+
+Server Actions are functions that run on the server in response to user interactions or other events. They allow you to handle server-side logic, such as form submissions or API requests, directly from your React components.
+
+### Benefits of Server Actions
+
+- **Simplified Server Logic**: Write server-side code directly in your components.
+- **Enhanced Security**: Handle sensitive operations on the server rather than the client.
+- **Improved Performance**: Reduce client-side JavaScript and offload tasks to the server.
+
+### Example: Using Server Actions
+
+Here’s how you can use Server Actions in a Next.js application to handle form submissions:
+
+```jsx
+// app/actions/submitForm.js
+import { saveFormData } from "../lib/api";
+
+export async function submitForm(data) {
+ await saveFormData(data);
+ return { success: true };
+}
+```
+
+```jsx
+// app/components/ContactForm.js
+"use client";
+
+import { submitForm } from "../actions/submitForm";
+
+export default function ContactForm() {
+ const handleSubmit = async (event) => {
+ event.preventDefault();
+ const formData = new FormData(event.target);
+ const result = await submitForm(Object.fromEntries(formData));
+ if (result.success) {
+ alert("Form submitted successfully!");
+ }
+ };
+
+ return (
+
+ );
+}
+```
+
+In this example, `submitForm` is a server action that processes form data on the server, and `ContactForm` is a client component that uses this action to handle form submissions.
+
+## Conclusion: Leveraging Modern Features for Better Web Apps
+
+React Server Components and Server Actions in Next.js provide powerful tools for building efficient, modern web applications. By leveraging these features, you can improve performance, simplify server-side logic, and create a more responsive user experience.
+
+As you build your Next.js applications, consider incorporating React Server Components and Server Actions to take full advantage of the latest advancements in web development.
+
+Happy coding!
+
+🚀✨
diff --git a/contents/docs/about/acknowledgments.mdx b/contents/docs/about/acknowledgments.mdx
deleted file mode 100644
index 2aafe3d..0000000
--- a/contents/docs/about/acknowledgments.mdx
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Благодарности
-description:
----
diff --git a/contents/docs/about/contact.mdx b/contents/docs/about/contact.mdx
deleted file mode 100644
index f6ba7e2..0000000
--- a/contents/docs/about/contact.mdx
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Реквизиты
-description: Свяжитесь с нами.
----
diff --git a/contents/docs/about/license.mdx b/contents/docs/about/license.mdx
deleted file mode 100644
index 909a31c..0000000
--- a/contents/docs/about/license.mdx
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Лицензия
-description:
----
diff --git a/contents/docs/faq/deinstallation.mdx b/contents/docs/faq/deinstallation.mdx
deleted file mode 100644
index d98cec6..0000000
--- a/contents/docs/faq/deinstallation.mdx
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Деинсталляция
-description: Руководство по деинсталляции программы.
----
-
diff --git a/contents/docs/faq/qna.mdx b/contents/docs/faq/qna.mdx
deleted file mode 100644
index b8f6fac..0000000
--- a/contents/docs/faq/qna.mdx
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Часто Задаваемые Вопросы
-description: Ответы на часто задаваемые вопросы.
----
-
diff --git a/contents/docs/getting-started/changelog.mdx b/contents/docs/getting-started/changelog.mdx
deleted file mode 100644
index b8e8e0e..0000000
--- a/contents/docs/getting-started/changelog.mdx
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title: Журнал изменений
-description: В этом разделе представлен журнал изменений версий.
----
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Numquam iste dolorum tempore consectetur explicabo tempora provident quia maxime, molestiae, facilis aperiam et, error illum vel ullam? Quis architecto dolore ullam
-
-## Overview
-
-Welcome to the `Changelog` section. Here, you'll find all the information you need to get started with our application.
diff --git a/contents/docs/getting-started/components/code-block/index.mdx b/contents/docs/getting-started/components/code-block/index.mdx
new file mode 100644
index 0000000..8b55b85
--- /dev/null
+++ b/contents/docs/getting-started/components/code-block/index.mdx
@@ -0,0 +1,41 @@
+---
+title: Code Block
+description: This section previews the Code Block features in markdown.
+---
+
+The Code Block in this documentation allows you to display code snippets with optional line numbering and line highlighting.
+
+## Preview
+
+```javascript:main.js showLineNumbers {3-4}
+function isRocketAboutToCrash() {
+ // Check if the rocket is stable
+ if (!isStable()) {
+ NoCrash(); // Prevent the crash
+ }
+}
+```
+
+In this example, line numbers are displayed for lines 1 to 4. You can specify which lines to highlight using the format `{2,3-5}`.
+
+## Usage
+
+You can directly use the following syntax to create a code block with line numbers and highlight specific lines:
+
+````plaintext
+```javascript:main.js showLineNumbers {3-4}
+function isRocketAboutToCrash() {
+ // Check if the rocket is stable
+ if (!isStable()) {
+ NoCrash(); // Prevent the crash
+ }
+}
+```
+````
+
+### Features
+
+- **Line Numbers**: Enable line numbers by adding `showLineNumbers` after the opening backticks.
+- **Highlight Lines**: Specify lines to highlight using curly braces (e.g., `{2,3-5}`).
+- **Syntax Highlighting**: Use the appropriate language for syntax highlighting.
+
diff --git a/contents/docs/getting-started/components/custom/index.mdx b/contents/docs/getting-started/components/custom/index.mdx
new file mode 100644
index 0000000..aedb252
--- /dev/null
+++ b/contents/docs/getting-started/components/custom/index.mdx
@@ -0,0 +1,38 @@
+---
+title: Custom Components
+description: How to create custom components for Markdown.
+---
+
+To add custom components in AriaDocs, follow these steps:
+
+1. **Create Your Component**: First, create your custom component in the `@components/markdown` folder. For example, you might create a file named `Outlet.tsx`.
+
+2. **Import Your Component**: Next, open the `@lib/markdown.ts` file. This is where you'll register your custom component for use in Markdown.
+
+3. **Add Your Component to the Components Object**: In the `@lib/markdown.ts` file, import your custom component and add it to the `components` object. Here’s how to do it:
+
+```ts
+import Outlet from "@/components/markdown/outlet";
+
+// Add custom components
+const components = {
+ Outlet,
+};
+```
+
+4. **Using Your Custom Component in Markdown**: After registering your component, you can now use it anywhere in your Markdown content. For instance, if your `Outlet` component is designed to display additional information, you can use it as follows:
+
+### Markdown Example
+
+```markdown
+
+ This is some custom content rendered by the Outlet component!
+
+```
+
+### Rendered Output
+
+This will render the content inside the `Outlet` component, allowing you to create reusable and dynamic Markdown content.
+
+
+By following these steps, you can extend the capabilities of your Markdown documentation and create a more engaging user experience.
diff --git a/contents/docs/getting-started/components/image-link/index.mdx b/contents/docs/getting-started/components/image-link/index.mdx
new file mode 100644
index 0000000..752d270
--- /dev/null
+++ b/contents/docs/getting-started/components/image-link/index.mdx
@@ -0,0 +1,57 @@
+---
+title: Image and Link
+description: This section provides an overview of how AriaDocs handles links and images in Markdown.
+---
+
+In AriaDocs, all links and images written in Markdown are automatically converted to their respective Next.js components. This allows for better optimization and performance in your application.
+
+## Links
+
+When you create a link in your Markdown, it is converted to the Next.js `Link` component. This enables client-side navigation and improves loading times. Here’s an example of how a Markdown link is transformed:
+
+### Markdown
+
+```markdown
+[Visit OpenAI](https://www.openai.com)
+```
+
+### Rendered Output
+
+The above Markdown is converted to:
+
+```jsx
+
+ Visit OpenAI
+
+```
+
+## Images
+
+Similarly, images in Markdown are transformed into the Next.js `Image` component. This allows for automatic image optimization, such as lazy loading and resizing, which enhances performance and user experience. Here’s an example:
+
+### Markdown
+
+```markdown
+![Alt text for the image](https://via.placeholder.com/150)
+```
+
+### Rendered Output
+
+The above Markdown is converted to:
+
+```jsx
+
+```
+
+## Benefits
+
+- **Performance Optimization**: Automatic conversion to Next.js components ensures optimized loading of images and links.
+- **Improved User Experience**: Client-side navigation with Next.js `Link` improves the browsing experience.
+- **Responsive Images**: Next.js `Image` component handles responsive images, providing the best quality for various device sizes.
+
+By utilizing these features, you can ensure that your documentation is not only visually appealing but also performs efficiently.
diff --git a/contents/docs/getting-started/components/index.mdx b/contents/docs/getting-started/components/index.mdx
new file mode 100644
index 0000000..12a9ff6
--- /dev/null
+++ b/contents/docs/getting-started/components/index.mdx
@@ -0,0 +1,9 @@
+---
+title: Components
+description: This section provides an overview of the custom components available in AriaDocs.
+---
+
+Explore the custom components we've defined for easy integration and development within your projects. Each component is designed to enhance your workflow and streamline your development process.
+
+
+
\ No newline at end of file
diff --git a/contents/docs/getting-started/components/note/index.mdx b/contents/docs/getting-started/components/note/index.mdx
new file mode 100644
index 0000000..a7c7400
--- /dev/null
+++ b/contents/docs/getting-started/components/note/index.mdx
@@ -0,0 +1,44 @@
+---
+title: Note
+description: This section previews the Note component.
+---
+
+The `Note` component allows you to display different types of messages such as general notes, warnings, or success notifications. Each type is styled accordingly, providing a clear visual cue to the user.
+
+## Preview
+
+
+ This is a general note to convey information to the user.
+
+
+ This is a danger alert to notify the user of a critical issue.
+
+
+ This is a warning alert for issues that require attention.
+
+
+ This is a success message to inform the user of successful actions.
+
+
+## Props
+
+| Prop | Type | Default | Description |
+|---------|--------------------------------|---------|--------------------------------------------|
+| `title` | `string` | "Note" | Sets the title of the note. |
+| `type` | `"note"`, `"danger"`, `"warning"`, `"success"` | "note" | Determines the visual style of the note. |
+
+## Code
+
+```jsx
+
+ This is a general note to convey information to the user.
+
+
+ This is a danger alert to notify the user of a critical issue.
+
+
+ This is a warning alert for issues that require attention.
+
+
+ This is a success message to inform the user of successful actions.
+
diff --git a/contents/docs/getting-started/components/stepper/index.mdx b/contents/docs/getting-started/components/stepper/index.mdx
new file mode 100644
index 0000000..55a056f
--- /dev/null
+++ b/contents/docs/getting-started/components/stepper/index.mdx
@@ -0,0 +1,38 @@
+---
+title: Stepper
+description: This section previews the stepper component.
+---
+
+In this guide, we utilize a custom `Stepper` component, specifically designed for AriaDocs, which enables users to display step-by-step instructions directly within the markdown render.
+
+## Preview
+##
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec interdum, felis sed efficitur tincidunt, justo nulla viverra enim, et maximus nunc dolor in lorem.
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin non neque ut eros auctor accumsan. Mauris a nisl vitae magna ultricies aliquam.
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque ut ipsum nec nulla ultricies porttitor et non justo.
+
+
+
+## Code
+
+```jsx
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec interdum, felis sed efficitur tincidunt, justo nulla viverra enim, et maximus nunc dolor in lorem.
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin non neque ut eros auctor accumsan. Mauris a nisl vitae magna ultricies aliquam.
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque ut ipsum nec nulla ultricies porttitor et non justo.
+
+
+```
+
diff --git a/contents/docs/getting-started/components/tabs/index.mdx b/contents/docs/getting-started/components/tabs/index.mdx
new file mode 100644
index 0000000..3dc080d
--- /dev/null
+++ b/contents/docs/getting-started/components/tabs/index.mdx
@@ -0,0 +1,68 @@
+---
+title: Tabs
+description: This section previews the Tabs component.
+---
+
+The `Tabs` component allows you to organize content into multiple sections, enabling users to switch between them easily. This is particularly useful for displaying related content in a compact manner.
+
+## Preview
+
+
+
+ Java
+ TypeScript
+
+
+ ```java
+ // HelloWorld.java
+ public class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+
+ ```typescript
+ // helloWorld.ts
+ function helloWorld(): void {
+ console.log("Hello, World!");
+ }
+ helloWorld();
+ ```
+
+
+
+## Props
+
+| Prop | Type | Default | Description |
+|-------------|--------|-------------|--------------------------------------------------|
+| `defaultValue` | `string` | `null` | The value of the tab that is selected by default. |
+| `className` | `string` | `""` | Additional CSS classes for styling the Tabs component. |
+
+## Code
+
+```jsx
+
+
+ Java
+ TypeScript
+
+
+ ```java
+ // HelloWorld.java
+ public class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World!");
+ }
+ }
+ ```
+
+ ```typescript
+ // helloWorld.ts
+ function helloWorld(): void {
+ console.log("Hello, World!");
+ }
+ helloWorld();
+ ```
+
diff --git a/contents/docs/getting-started/customize/index.mdx b/contents/docs/getting-started/customize/index.mdx
new file mode 100644
index 0000000..ead6211
--- /dev/null
+++ b/contents/docs/getting-started/customize/index.mdx
@@ -0,0 +1,93 @@
+---
+title: Customize
+description: This guide provides instructions on customizing our application.
+---
+
+## Markdown Options
+
+To customize Markdown parsing, navigate to `@lib/markdown.ts` and locate the `parseMdx` function. You can add your desired plugins in the `mdxOptions`. Here’s an example:
+
+```ts:lib/markdown.ts
+async function parseMdx(rawMdx: string) {
+ return await compileMDX({
+ source: rawMdx,
+ options: {
+ parseFrontmatter: true,
+ mdxOptions: {
+ // Add your plugins here
+ rehypePlugins: [Shiki],
+ remarkPlugins: [remarkGfm],
+ },
+ },
+ components,
+ });
+}
+```
+
+## Fonts
+
+Currently, this project uses the `Geist` font. If you want to use other fonts, you can change the configuration in the main layout as shown below:
+
+### Google Fonts
+
+To use a Google font, import your desired font from `next/font/google`, initialize it with options, and apply the variable to the `body`:
+
+```tsx:app/layout.tsx
+import { Space_Grotesk } from "next/font/google";
+
+const fontSans = Space_Grotesk({
+ display: "swap",
+ variable: "--font-regular",
+ weight: "400",
+ subsets: ["latin"],
+});
+
+export default function RootLayout({ children }) {
+ return (
+
+
+ {children}
+
+
+ );
+}
+```
+
+### Local Fonts
+
+To use a local font, you need to use the local font loader from Next.js. Pass the options and apply them to the `body`:
+
+```tsx:app/layout.tsx
+import localFont from "next/font/local";
+
+const geistSans = localFont({
+ src: "./fonts/GeistVF.woff",
+ variable: "--font-regular",
+ weight: "100 900",
+});
+
+export default function RootLayout({ children }) {
+ return (
+
+
+ {children}
+
+
+ );
+}
+```
+
+For both options, ensure that you add the variable to `tailwind.config.ts`:
+
+```ts:tailwind.config.ts
+{
+ // ...
+ extend: {
+ fontFamily: {
+ regular: ["var(--font-regular)"],
+ },
+ }
+}
+```
+
+For theme and colors, refer to the [Theme section](/docs/getting-started/themes)
diff --git a/contents/docs/getting-started/installation.mdx b/contents/docs/getting-started/installation.mdx
deleted file mode 100644
index 7e3574f..0000000
--- a/contents/docs/getting-started/installation.mdx
+++ /dev/null
@@ -1,79 +0,0 @@
----
-title: Инсталляция
-description: Руководство по инсталляции программы.
----
-
-To get started with our application, follow these simple steps:
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Numquam iste dolorum tempore consectetur explicabo tempora provident quia maxime, molestiae, facilis aperiam et, error illum vel ullam? Quis architecto dolore ullam
-
-## Prerequisites
-
-Before installing our application, make sure you have the following:
-
-- Node.js installed on your machine
-
-
- Lorem ipsum dolor sit amet consectetur adipisicing elit Numquam iste dolorum
- tempore consectetur explicabo.
-
-
-## Installation Steps
-
-
-
-Start by creating a new React project using vite:
-
-```bash
-git clone https://github.com/your-repo/your-project.git
-```
-
-
-
-Install `tailwindcss` and its peer dependencies, then add your `tailwind.config.js` and postcss.config.js files:
-
-```tsx
-import "@/styles/globals.css";
-import { Inter as FontSans } from "next/font/google";
-
-import { cn } from "@/lib/utils";
-
-const fontSans = FontSans({
- subsets: ["latin"],
- variable: "--font-sans",
-});
-
-export default function RootLayout({ children }: RootLayoutProps) {
- return (
-
-
-
- ...
-
-
- );
-}
-```
-
-
-
-
- Install the necessary dependencies using npm or yarn.
-
-```bash
-npm install
-# or
-yarn install
-```
-
-
-
-
-
-## Additional Information
-
-For more detailed instructions and troubleshooting tips, refer to our [documentation](#).
diff --git a/contents/docs/getting-started/installation/index.mdx b/contents/docs/getting-started/installation/index.mdx
new file mode 100644
index 0000000..be6836b
--- /dev/null
+++ b/contents/docs/getting-started/installation/index.mdx
@@ -0,0 +1,68 @@
+---
+title: Installation
+description: Installation guide for our application.
+---
+
+Setting up AriaDocs is straightforward, with options to clone the repository or use the convenient `npx` command. AriaDocs requires [Node.js](https://nodejs.org/) version 18 or higher for optimal performance.
+
+## Clone Repository
+To get started, you can clone the AriaDocs repository directly from GitHub.
+
+
+ Begin by cloning the AriaDocs repository from GitHub:
+
+ ```bash
+ git clone https://github.com/nisabmohd/Aria-Docs.git
+ ```
+
+
+
+ After cloning, navigate into the project directory to start setting up:
+
+ ```bash
+ cd Aria-Docs
+ ```
+
+
+
+ Install all necessary project dependencies with npm:
+
+ ```bash
+ npm install
+ ```
+
+
+
+ Finally, start the development server to view the project locally:
+
+ ```bash
+ npm run dev
+ ```
+
+
+
+## Quick Setup with npx
+
+For a faster setup, use the `npx` command to create a new AriaDocs project in one step:
+
+```bash
+npx create-aria-doc
+```
+
+**Command Output:**
+
+```bash
+Creating a new AriaDocs project in /path/to/your/project from the master branch...
+Cloning Master (Full Documentation)...
+AriaDocs project successfully created in /path/to/your/project!
+
+Next steps:
+1. Navigate to your project directory:
+ cd
+2. Install dependencies:
+ npm install
+3. Start the development server:
+ npm run dev
+```
+
+With this setup, you’ll have a ready-to-use AriaDocs instance to start building your documentation.
\ No newline at end of file
diff --git a/contents/docs/getting-started/introduction.mdx b/contents/docs/getting-started/introduction.mdx
deleted file mode 100644
index 3b18973..0000000
--- a/contents/docs/getting-started/introduction.mdx
+++ /dev/null
@@ -1,102 +0,0 @@
----
-title: Знакомство
-description: Первое знакомство с программой.
----
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Numquam iste dolorum tempore consectetur explicabo tempora provident quia maxime, molestiae, facilis aperiam et, error illum vel ullam? Quis architecto dolore ullam
-
-## Getting Started
-
-To begin using the Documentation Template, follow these simple steps:
-
-1. **Clone the Repository**: Start by cloning the repository to your local machine.
-2. **Install Dependencies**: If any dependencies are required, follow the installation instructions provided.
-3. **Customize**: Replace placeholder content with your actual documentation.
-4. **Publish**: Once customized, publish your documentation for others to access.
-
-## Blockquotes
-
-Blockquotes are useful for emphasizing key points or quoting external sources:
-
-> "Documentation is a love letter that you write to your future self." - Damian Conway
-
-Feel free to use blockquotes to highlight important information or quotes relevant to your documentation.
-
-## Code Examples with switch
-
-Here a custom tab component from shadcn ui is used.
-
-
-
- layout.jsx
- layout.tsx
-
-
- ```jsx {7} showLineNumbers
-import ThemeProvider from './theme-provider'
-
-export default function RootLayout({ children }) {
- return (
-
-
- {children}
-
-
- )}
-````
-
-
-```tsx {11} showLineNumbers
-import ThemeProvider from './theme-provider'
-
-export default function RootLayout({
- children,
-}: {
- children: React.ReactNode
-}) {
- return (
-
-
- {children}
-
-
- )
-}
-```
-
-
-
-## Project Structure
-
-This file serves as the introduction to your documentation. Customize it to provide an overview of your project, highlight key features, and guide users on what to expect from the documentation. Start here to set the tone and direction for your documentation portal.
-
-```plaintext
-root
-├── app
-├── content
-│ └── docs
-│ └── getting-started
-│ ├── introduction.mdx /*Get started by editing this file*/
-│ └── installation.mdx
-└── package.json
-```
-
-The structure ought to be obvious and simple to comprehend thanks to this representation. In the event that you wish to add new routes or a routes section, you can edit the `routes.config.ts` file as necessary.
-
-```ts:lib/routes-config.ts {8}
-export const ROUTES = [
- {
- title: "Getting Started",
- href: "getting-started",
- items: [
- { title: "Introduction", href: "/introduction" },
- - { title: "Installation", href: "/installation" },
- + { title: "Refrences", href: "/refrences" },
- ],
- },
-]
-```
-
-## Conclusion
-
-Thank you for choosing the Documentation Template for your project. Whether you're documenting software, APIs, or processes, we're here to support you in creating clear and effective documentation. Happy documenting!
diff --git a/contents/docs/getting-started/introduction/index.mdx b/contents/docs/getting-started/introduction/index.mdx
new file mode 100644
index 0000000..07e9b1a
--- /dev/null
+++ b/contents/docs/getting-started/introduction/index.mdx
@@ -0,0 +1,58 @@
+---
+title: Introduction
+description: This section provides an overview of AriaDocs.
+---
+
+Welcome to **AriaDocs**! This template provides a modern, flexible, and user-friendly foundation for creating engaging documentation. Whether you're building a knowledge base, project docs, or a personal blog, AriaDocs makes it easy to set up and scale.
+
+
+## Open Source Philosophy
+
+AriaDocs is proudly **open-source**! 🎉 We believe in creating an accessible, collaborative platform that thrives on community contributions.
+
+
+ Interested in helping us improve? Check out our [GitHub repository](https://github.com/your-repo) to get started! From feature suggestions to bug fixes, all contributions are welcome.
+
+
+## Project Overview
+
+**AriaDocs** is more than just a documentation template. It's a **complete toolkit** designed for modern web development. Key features include:
+
+- **Markdown & MDX Support:** Easily write documentation in Markdown, with the option to include interactive components via MDX.
+- **Customizable Themes:** Designed with a minimalist ShadCN-inspired theme that’s easy to style.
+- **SEO-Optimized:** Each page is SEO-ready, ensuring search engines can find and rank your content.
+- **Interactive Code Blocks:** Beautifully styled, language-specific code blocks for an enhanced reading experience.
+
+### Key Features
+
+| **Feature** | **Description** |
+|-------------------------------|----------------------------------------------------------|
+| MDX Support | Write interactive documentation with MDX. |
+| Nested Pages | Organize content in a nested, hierarchical structure. |
+| Blog Section | Include a dedicated blog section. |
+| Pagination | Split content across multiple pages. |
+| Syntax Highlighting | Highlight code for better readability. |
+| Code Line Highlighting & Titles | Highlight specific lines with descriptive titles. |
+| Interactive Code Blocks | Language-specific and interactive code display. |
+| Custom Markdown Components | Embed custom, reusable components in your docs. |
+| Static Site Generation | Generate a static, high-performance site. |
+| SEO-Optimized | Structured for optimal search engine indexing. |
+
+
+## Technology & Libraries
+
+AriaDocs leverages cutting-edge technologies to ensure performance and flexibility:
+
+- **Next.js 14** - The powerful React framework optimized for production.
+- **Tailwind CSS** - Utility-first styling for quick, clean designs.
+- **Shadcn-UI** - Elegant, accessible components for a polished look.
+- **next-mdx-remote** - Enables MDX support for dynamic, interactive Markdown content.
+
+
+## Deploy on Vercel
+
+The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
+
+Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
+
+You can deploy your project by clicking [Deploy with Vercel](https://vercel.com/new/clone?repository-url=https://github.com/nisabmohd/Aria-Docs)
diff --git a/contents/docs/getting-started/project-structure.mdx b/contents/docs/getting-started/project-structure.mdx
deleted file mode 100644
index 1174bef..0000000
--- a/contents/docs/getting-started/project-structure.mdx
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: Структура проекта
-description: Обзор структуры проекта и документации.
----
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Numquam iste dolorum tempore consectetur explicabo tempora provident quia maxime, molestiae, facilis aperiam et, error illum vel ullam? Quis architecto dolore ullam
-
-## Overview
-
-Welcome to the `Project Structure` section. Here, you'll find all the information you need to get started with our application.
-
-## Content
-
-- **Introduction**: Get to know the basics.
-- **Installation**: Step-by-step guide to set up the application.
-- **Configuration**: Learn how to configure the application.
-- **Examples**: Check out some practical examples.
-- **FAQ**: Frequently Asked Questions.
-
-## Getting Started
-
-### Step 1: Introduction
-
-The `Project Structure` section introduces you to the core concepts and functionalities of our application. It is designed to help you understand the essentials and get started quickly.
-
-### Step 2: Installation
-
-Follow these steps to install the necessary components:
-
-1. **Install Node.js**: Ensure you have Node.js installed.
-2. **Clone the Repository**: Clone our GitHub repository to your local machine.
- ```bash
- git clone https://github.com/your-repo/your-project.git
- ```
-3. **Install Dependencies**: Navigate to the project directory and install dependencies.
- ```bash
- cd your-project
- npm install
- ```
-
-### Step 3: Configuration
-
-Configure your application by creating a `config.json` file and setting the required parameters.
-
-### Step 4: Examples
-
-Here are some examples to help you get started:
-
-```jsx
-// Basic usage example
-import React from "react";
-import { ExampleComponent } from "your-library";
-
-function App() {
- return (
-
-
-
- );
-}
-
-export default App;
-```
-
-### Step 5: FAQ
-
-Find answers to common questions in our [FAQ section](#).
-
-## Conclusion
-
-The `Project Structure` section is your starting point for exploring the application. Follow the steps above to get started quickly and easily.
diff --git a/contents/docs/getting-started/project-structure/index.mdx b/contents/docs/getting-started/project-structure/index.mdx
new file mode 100644
index 0000000..ba5099d
--- /dev/null
+++ b/contents/docs/getting-started/project-structure/index.mdx
@@ -0,0 +1,95 @@
+---
+title: Project Structure
+description: This section provides an overview of Project Structure.
+---
+
+## Project Structure Overview
+
+### app
+
+This folder contains the main application code for Next.js, managing layouts, routing, and specific content pages. It is organized to support both the `docs` and `blog` sections, with dedicated pages and layouts for each section.
+
+```
+app // Main Next.js application folder
+├── page.tsx // Hero page - the entry point of the app showcasing key content
+├── layout.tsx // Main layout file, applies global navigation and footer
+├── blog
+│ ├── page.tsx // Blog list page, displaying all blog posts with titles, dates, and excerpts
+│ └── [slug]
+│ └── page.tsx // Dynamic blog post page for viewing individual posts with rich content
+└── docs
+ ├── layout.tsx // Documentation layout with sidebar, providing easy navigation across doc pages
+ └── [[...slug]] // Catch-all route to handle nested documentation pages, allowing flexible doc structure
+```
+
+### components
+
+This folder contains all reusable components used throughout the project. It’s structured to categorize components, making it easy to locate and manage UI elements, Markdown customizations, and navigation.
+
+```
+components // Reusable components
+├── ui // ShadCN components, includes standardized UI elements like buttons, forms, and modals
+├── markdown // Custom Markdown components for rendering rich Markdown content
+│ ├── CodeBlock.tsx // Component for rendering syntax-highlighted code blocks
+│ ├── Image.tsx // Component for handling responsive images in Markdown
+│ └── Table.tsx // Component to render tables with consistent styling
+└── navbar.tsx // Main navigation component for the site header, managing links and responsive behavior
+```
+
+### styles
+
+This folder contains global and component-specific CSS files, allowing for project-wide styling consistency and customizations.
+
+```
+styles // CSS files
+├── globals.css // Global CSS file, includes Tailwind base, utilities, and custom global styles
+├── syntax.css // Syntax highlighting styles, providing consistent code block appearance across the site
+└── overrides.css // Additional custom styles that override specific component or plugin defaults
+```
+
+### contents
+
+This folder stores all Markdown content for the documentation and blog sections, with clear organization by content type. Each Markdown file represents a single piece of content, with frontmatter used for metadata.
+
+```
+contents // Markdown content for blogs and documentation
+├── docs // Documentation content, structured to support nested sections and pages
+│ ├── getting-started.md // Introductory guide for new users
+│ ├── api-reference.md // API documentation with detailed endpoint descriptions
+│ └── tutorials // Subfolder for tutorial-style content
+│ └── tutorial-1.md // Step-by-step tutorial on a specific topic
+└── blogs // Blog content, organized by post
+ ├── intro-to-project.md // Blog post introducing the project and its goals
+ └── dev-updates.md // Post discussing recent development updates and new features
+```
+
+### public
+
+This folder holds all static assets, such as images, videos, fonts, and icons. These files are directly accessible via URL, so it’s important to avoid sensitive or private content here.
+
+```
+public // Publicly accessible assets
+├── images // Image assets, used across various parts of the app
+│ ├── logo.png // Project logo for branding
+│ └── banner.jpg // Banner image for the hero section
+├── icons // SVG icons for the app
+└── videos // Video files for media content, if any
+```
+
+### lib
+
+This folder contains helper functions and utilities used across the application, such as Markdown parsing and routing logic. These utilities help keep the codebase clean and organized by separating out common functionality.
+
+```
+lib // Utility or helper functions
+├── markdown.ts // Markdown parsing logic, converts Markdown to HTML and adds custom components
+├── routes-config.ts // Routing configuration for docs, maps URLs to content files for dynamic routing
+└── utils.tsx // General utility functions used across the app, such as data formatting and validation helpers
+```
+
+### Additional
+
+- **`package.json`**: Contains metadata about the project, dependencies, and scripts for building and running the application.
+- **`tailwind.config.ts`**: Configures Tailwind CSS, allowing customization of theme colors, fonts, and responsive breakpoints specific to this project.
+
+This structure organizes your project in a way that supports scalability and maintainability, making it easier to navigate and work on different sections of the application.
\ No newline at end of file
diff --git a/contents/docs/getting-started/quick-start-guide.mdx b/contents/docs/getting-started/quick-start-guide.mdx
deleted file mode 100644
index ffe37e1..0000000
--- a/contents/docs/getting-started/quick-start-guide.mdx
+++ /dev/null
@@ -1,71 +0,0 @@
----
-title: Краткое руководство
-description: Краткое руководство пользователя программы.
----
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Numquam iste dolorum tempore consectetur explicabo tempora provident quia maxime, molestiae, facilis aperiam et, error illum vel ullam? Quis architecto dolore ullam
-
-## Overview
-
-Welcome to the `Quick Start Guide` section. Here, you'll find all the information you need to get started with our application.
-
-## Content
-
-- **Introduction**: Get to know the basics.
-- **Installation**: Step-by-step guide to set up the application.
-- **Configuration**: Learn how to configure the application.
-- **Examples**: Check out some practical examples.
-- **FAQ**: Frequently Asked Questions.
-
-## Getting Started
-
-### Step 1: Introduction
-
-The `Quick Start Guide` section introduces you to the core concepts and functionalities of our application. It is designed to help you understand the essentials and get started quickly.
-
-### Step 2: Installation
-
-Follow these steps to install the necessary components:
-
-1. **Install Node.js**: Ensure you have Node.js installed.
-2. **Clone the Repository**: Clone our GitHub repository to your local machine.
- ```bash
- git clone https://github.com/your-repo/your-project.git
- ```
-3. **Install Dependencies**: Navigate to the project directory and install dependencies.
- ```bash
- cd your-project
- npm install
- ```
-
-### Step 3: Configuration
-
-Configure your application by creating a `config.json` file and setting the required parameters.
-
-### Step 4: Examples
-
-Here is an code block with line highlight and filename:
-
-```jsx:app.jsx showLineNumbers {8}
-// Basic usage example
-import React from 'react';
-import { ExampleComponent } from 'your-library';
-
-function App() {
- return (
-
-
-
- );
-}
-
-export default App;
-```
-
-### Step 5: FAQ
-
-Find answers to common questions in our [FAQ section](#).
-
-## Conclusion
-
-The `Quick Start Guide` section is your starting point for exploring the application. Follow the steps above to get started quickly and easily.
diff --git a/contents/docs/getting-started/quick-start-guide/index.mdx b/contents/docs/getting-started/quick-start-guide/index.mdx
new file mode 100644
index 0000000..5fd835e
--- /dev/null
+++ b/contents/docs/getting-started/quick-start-guide/index.mdx
@@ -0,0 +1,80 @@
+---
+title: Quick Start Guide
+description: This section provides an overview of Quick Start Guide.
+---
+
+Follow these simple instructions to set up your project efficiently and begin creating content without delay!:
+
+## Documentation
+
+1. **Configure Routing**
+ - Open the `@lib/route-config.ts` file and add your routing pages:
+ ```typescript
+ export const ROUTES: EachRoute[] = [
+ // Add new route below
+ {
+ title: "Fundamentals",
+ href: "/fundamentals",
+ noLink: true, // Set to true to prevent routing
+ items: [
+ // All the sub-sections under `fundamentals`
+ { title: "HTTP Server", href: "/http-server" },
+ ],
+ },
+ ];
+ ```
+
+2. **Create Content Structure**
+ - Navigate to the `@content/docs` directory and create a folder named `fundamentals`, as defined in the `route-config` file. Within this folder, create a subfolder named `http-server`, and inside that, create an `index.mdx` file that will render when you navigate to `/fundamentals/http-server`:
+ ```plaintext
+ root
+ ├── content/docs
+ │ └── fundamentals
+ │ └── http-server
+ │ └── index.mdx
+ ```
+
+3. **Write Your Markdown Content**
+ - Start writing your markdown content inside the `index.mdx` file. Be sure to include frontmatter at the beginning of the file, which is used for the page title and description:
+ ```markdown showLineNumbers {1-4}
+ ---
+ title: HTTP Server
+ description: This section is about HTTP Server.
+ ---
+
+
+ ```
+
+4. **Run Your Application**
+ - Ensure your application is running. Navigate to `http://localhost:3000/docs/fundamentals/http-server` to view your content. You should also see it in the left panel, allowing you to navigate to other pages.
+
+
+## Blogs
+
+To get started with blogs, follow these steps:
+
+- Navigate to the `@content/blogs` directory and create a file with a unique name prefixed with `.mdx`, then start writing the markdown content inside.
+
+- Make sure to add the following frontmatter to format data for the blogs properly:
+ ```markdown
+ ---
+ title: "Building a Recursive File System with React: A Deep Dive"
+ description: "Explore how to create a recursive file system in React. This blog post provides a comprehensive guide on building a file system where folders and files can be nested, added, renamed, and deleted."
+ date: 02-09-2024
+ authors:
+ - avatar: "https://ui.shadcn.com/avatars/02.png"
+ handle: nisabmohd
+ username: Nisab Mohd
+ handleUrl: "https://github.com/nisabmohd"
+ cover: "https://img.freepik.com/premium-vector/many-monsters-various-colors-doodle-come-bless-birthday-happy_577083-84.jpg?w=826"
+ ---
+
+ ```
+
+- Navigate to your local development server at `http://localhost:3000/blog`, where you will see your blog listed and sorted based on date. You can navigate to any blog to read it.
+
+
+## Explore Further
+
+This section serves as your starting point for exploring the application. By following the steps above, you can quickly and easily set up your content. For more customization and control, please refer to the following pages.
+
diff --git a/contents/docs/getting-started/themes/index.mdx b/contents/docs/getting-started/themes/index.mdx
new file mode 100644
index 0000000..a978b64
--- /dev/null
+++ b/contents/docs/getting-started/themes/index.mdx
@@ -0,0 +1,484 @@
+---
+title: Themes
+description: This section provides an overview of Themes.
+---
+
+> Customize the theme colors in your project to create a cohesive and visually appealing interface. Each theme comes with a unique color palette that's easy to adjust.
+
+## Customize
+
+You have the flexibility to change the theme of this documentation by modifying the Tailwind CSS variables in `@styles/globals.css` and adjusting the syntax highlighting colors in `@styles/syntax.css`.
+
+If you’d like to use the predefined Nebula, Halloween, or Ocean themes, simply copy and paste the provided code into the respective files. Once added, you'll immediately see the visual changes reflected in your documentation, enhancing its overall look and feel.
+
+### Nebula Theme
+
+The Nebula theme provides a vibrant color palette, making your application visually appealing and engaging.
+The theme is inspired by the cosmos, featuring vibrant colors that enhance the reading experience.
+
+
+
+ globals.css
+ syntax.css
+
+
+ ```css
+ /* nebula */
+ @layer base {
+ :root {
+ --background: 152 9% 98%; /* Soft white with a hint of green */
+ --foreground: 160 10% 10%; /* Dark forest green */
+ --card: 0 0% 100%; /* Pure white for a clean look */
+ --card-foreground: 160 10% 10%;
+ --popover: 0 0% 100%;
+ --popover-foreground: 160 10% 10%;
+ --primary: 158 85% 40%; /* Vibrant Supabase green */
+ --primary-foreground: 0 0% 100%; /* Pure white for contrast */
+ --secondary: 152 14% 90%; /* Light mint green */
+ --secondary-foreground: 160 10% 10%;
+ --muted: 152 14% 90%;
+ --muted-foreground: 160 10% 40%; /* Muted olive green */
+ --accent: 158 85% 40%; /* Same green as primary */
+ --accent-foreground: 0 0% 100%;
+ --destructive: 0 65% 55%; /* Light red for warnings */
+ --destructive-foreground: 0 0% 100%;
+ --border: 160 10% 85%; /* Light grey-green border */
+ --input: 160 10% 85%;
+ --ring: 158 85% 50%; /* Slightly lighter green ring */
+ --radius: 0.5rem;
+ --chart-1: 158 85% 40%; /* Green for primary chart */
+ --chart-2: 160 20% 45%; /* Subdued green for charts */
+ --chart-3: 160 10% 30%; /* Darker forest green */
+ --chart-4: 154 60% 50%; /* Light pastel green */
+ --chart-5: 160 10% 85%; /* Very light green for background */
+ }
+
+ .dark {
+ --background: 160 10% 5%; /* Very dark greenish-grey */
+ --foreground: 0 0% 100%; /* Bright white */
+ --card: 160 10% 8%; /* Slightly lighter dark green */
+ --card-foreground: 0 0% 100%;
+ --popover: 160 10% 8%;
+ --popover-foreground: 0 0% 100%;
+ --primary: 158 85% 50%; /* Bright green for dark mode */
+ --primary-foreground: 0 0% 100%;
+ --secondary: 160 10% 15%; /* Dark muted green */
+ --secondary-foreground: 0 0% 100%;
+ --muted: 160 10% 15%;
+ --muted-foreground: 160 10% 75%; /* Light grey-green */
+ --accent: 158 85% 50%; /* Bright green accent */
+ --accent-foreground: 0 0% 100%;
+ --destructive: 0 65% 50%; /* Soft red for alerts */
+ --destructive-foreground: 0 0% 100%;
+ --border: 160 10% 15%; /* Dark green border */
+ --input: 160 10% 15%;
+ --ring: 158 85% 60%; /* Vibrant green ring */
+ --chart-1: 158 85% 50%; /* Main green for charts */
+ --chart-2: 160 20% 45%; /* Subdued green for contrast */
+ --chart-3: 160 10% 30%; /* Deep forest green */
+ --chart-4: 154 60% 50%; /* Light green accent */
+ --chart-5: 160 10% 85%; /* Soft background green */
+ }
+ }
+ ```
+
+
+ ```css
+ /* nebula */
+ /* Light Mode */
+ .keyword {
+ color: #15803d;
+ /* Dark Green */
+ }
+
+ .function {
+ color: #0ea5e9;
+ /* Sky Blue */
+ }
+
+ .punctuation {
+ color: #64748b;
+ /* Slate Gray */
+ }
+
+ .comment {
+ color: #94a3b8;
+ /* Muted Slate Gray */
+ }
+
+ .string,
+ .constant,
+ .annotation,
+ .boolean,
+ .number {
+ color: #16a34a;
+ /* Medium Green */
+ }
+
+ .tag {
+ color: #15803d;
+ /* Dark Green */
+ }
+
+ .attr-name {
+ color: #0d9488;
+ /* Teal */
+ }
+
+ .attr-value {
+ color: #059669;
+ /* Emerald Green */
+ }
+
+ /* Dark Mode */
+ .dark .keyword {
+ color: #86efac;
+ /* Light Green */
+ }
+
+ .dark .function {
+ color: #38bdf8;
+ /* Sky Blue */
+ }
+
+ .dark .string,
+ .dark .constant,
+ .dark .annotation,
+ .dark .boolean,
+ .dark .number {
+ color: #4ade80;
+ /* Soft Lime Green */
+ }
+
+ .dark .tag {
+ color: #86efac;
+ /* Light Green */
+ }
+
+ .dark .attr-name {
+ color: #34d399;
+ /* Teal */
+ }
+
+ .dark .attr-value {
+ color: #6ee7b7;
+ /* Light Emerald */
+ }
+ ```
+
+
+
+### Halloween Theme
+
+The Halloween theme infuses your documentation with a spooky, festive atmosphere, ideal for seasonal content. Its design is inspired by Halloween motifs, featuring eerie colors and playful elements that enhance the overall reading experience.
+
+
+
+ globals.css
+ syntax.css
+
+
+ ```css
+ /* halloween */
+ @layer base {
+ :root {
+ --background: 30 15% 10%; /* Darker pumpkin shade */
+ --foreground: 50 40% 95%; /* Ghostly white */
+ --card: 30 15% 12%; /* Slightly darker pumpkin */
+ --card-foreground: 50 40% 95%;
+ --popover: 30 15% 12%;
+ --popover-foreground: 50 40% 95%;
+ --primary: 35 78% 50%; /* Pumpkin orange */
+ --primary-foreground: 60 9.1% 97.8%; /* Soft ghostly white */
+ --secondary: 290 12% 16%; /* Witchy purple */
+ --secondary-foreground: 35 78% 50%;
+ --muted: 290 12% 16%;
+ --muted-foreground: 50 20% 85%; /* Pale grey */
+ --accent: 43 100% 50%; /* Bright pumpkin */
+ --accent-foreground: 0 0% 100%; /* Pure white */
+ --destructive: 0 84.2% 45%; /* Blood red */
+ --destructive-foreground: 60 9.1% 97.8%;
+ --border: 290 20% 10%; /* Dark witchy purple */
+ --input: 290 20% 10%;
+ --ring: 35 78% 50%; /* Glowing pumpkin ring */
+ --radius: 0.5rem;
+ --chart-1: 35 78% 50%; /* Pumpkin orange */
+ --chart-2: 50 40% 95%; /* Ghostly white */
+ --chart-3: 0 84.2% 45%; /* Blood red */
+ --chart-4: 43 100% 50%; /* Bright pumpkin */
+ --chart-5: 210 70% 30%; /* Shadowy blue */
+ }
+
+ .dark {
+ --background: 240 3% 7%; /* Deep shadowy black */
+ --foreground: 43 100% 90%; /* Ghostly white */
+ --card: 240 3% 9%; /* Dark shadow */
+ --card-foreground: 43 100% 90%;
+ --popover: 240 3% 9%;
+ --popover-foreground: 43 100% 90%;
+ --primary: 35 78% 50%; /* Pumpkin orange */
+ --primary-foreground: 240 3% 7%; /* Shadowy black */
+ --secondary: 260 25% 15%; /* Dark witchy purple */
+ --secondary-foreground: 35 78% 50%;
+ --muted: 260 25% 15%;
+ --muted-foreground: 60 5% 65%; /* Pale grey */
+ --accent: 43 100% 50%; /* Bright pumpkin */
+ --accent-foreground: 0 0% 100%; /* Pure white */
+ --destructive: 0 84.2% 45%; /* Blood red */
+ --destructive-foreground: 43 100% 90%;
+ --border: 260 25% 15%; /* Dark witchy purple */
+ --input: 260 25% 15%;
+ --ring: 35 78% 50%; /* Glowing pumpkin ring */
+ --chart-1: 35 78% 50%; /* Pumpkin orange */
+ --chart-2: 43 100% 90%; /* Ghostly white */
+ --chart-3: 0 84.2% 45%; /* Blood red */
+ --chart-4: 43 100% 50%; /* Bright pumpkin */
+ --chart-5: 210 70% 30%; /* Shadowy blue */
+ }
+ }
+ ```
+
+
+ ```css
+ /* halloween */
+ /* Light Mode */
+ .keyword {
+ color: #d97706;
+ /* Pumpkin Orange */
+ }
+
+ .function {
+ color: #9333ea;
+ /* Mystic Purple */
+ }
+
+ .punctuation {
+ color: #4b5563;
+ /* Dark Gray */
+ }
+
+ .comment {
+ color: #6b7280;
+ /* Muted Gray */
+ }
+
+ .string,
+ .constant,
+ .annotation,
+ .boolean,
+ .number {
+ color: #f59e0b;
+ /* Witch’s Brew Amber */
+ }
+
+ .tag {
+ color: #c026d3;
+ /* Magenta Potion */
+ }
+
+ .attr-name {
+ color: #16a34a;
+ /* Poison Green */
+ }
+
+ .attr-value {
+ color: #db2777;
+ /* Pink Potion */
+ }
+
+ /* Dark Mode */
+ .dark .keyword {
+ color: #fbbf24;
+ /* Candlelight Yellow */
+ }
+
+ .dark .function {
+ color: #e879f9;
+ /* Enchanted Magenta */
+ }
+
+ .dark .string,
+ .dark .constant,
+ .dark .annotation,
+ .dark .boolean,
+ .dark .number {
+ color: #f59e0b;
+ /* Glowing Amber */
+ }
+
+ .dark .tag {
+ color: #f472b6;
+ /* Haunted Pink */
+ }
+
+ .dark .attr-name {
+ color: #a3e635;
+ /* Toxic Green */
+ }
+
+ .dark .attr-value {
+ color: #fb7185;
+ /* Blood Moon Pink */
+ }
+ ```
+
+
+
+
+
+### Ocean Theme
+
+The Ocean theme presents soothing colors drawn from the depths of the sea, fostering a tranquil reading environment. Its design evokes a sense of calm, enhancing the overall experience for users.
+
+
+
+ globals.css
+ syntax.css
+
+
+ ```css
+ /* ocean */
+ @layer base {
+ :root {
+ --background: 210 50% 95%; /* Soft light blue */
+ --foreground: 220 20% 15%; /* Deep navy */
+ --card: 210 40% 98%; /* Almost white blue */
+ --card-foreground: 220 20% 15%;
+ --popover: 210 40% 98%;
+ --popover-foreground: 220 20% 15%;
+ --primary: 220 80% 60%; /* Vibrant azure blue */
+ --primary-foreground: 210 50% 95%;
+ --secondary: 220 30% 85%; /* Light sky blue */
+ --secondary-foreground: 220 20% 15%;
+ --muted: 220 30% 85%;
+ --muted-foreground: 220 20% 40%; /* Soft steel blue */
+ --accent: 200 70% 40%; /* Strong ocean blue */
+ --accent-foreground: 0 0% 100%; /* Pure white */
+ --destructive: 0 65% 55%; /* Soft red */
+ --destructive-foreground: 220 20% 95%; /* Lightened foreground */
+ --border: 220 15% 90%; /* Light grey-blue */
+ --input: 220 15% 90%;
+ --ring: 220 40% 50%; /* Cool blue ring */
+ --radius: 0.5rem;
+ --chart-1: 210 60% 50%; /* Classic blue */
+ --chart-2: 220 40% 65%; /* Soft sky */
+ --chart-3: 220 70% 50%; /* Azure blue */
+ --chart-4: 200 60% 55%; /* Ocean blue */
+ --chart-5: 240 30% 40%; /* Deep teal */
+ }
+
+ .dark {
+ --background: 220 20% 10%; /* Midnight navy */
+ --foreground: 220 80% 90%; /* Soft sky blue */
+ --card: 220 20% 12%; /* Slightly lighter midnight */
+ --card-foreground: 220 80% 90%;
+ --popover: 220 20% 12%;
+ --popover-foreground: 220 80% 90%;
+ --primary: 210 70% 60%; /* Soft bright blue */
+ --primary-foreground: 220 20% 10%;
+ --secondary: 220 30% 15%; /* Dark steel blue */
+ --secondary-foreground: 220 80% 90%;
+ --muted: 220 30% 15%;
+ --muted-foreground: 210 20% 85%; /* Pale navy */
+ --accent: 220 80% 60%; /* Vibrant azure blue */
+ --accent-foreground: 220 80% 90%;
+ --destructive: 0 65% 55%; /* Soft red */
+ --destructive-foreground: 220 80% 90%;
+ --border: 220 30% 15%; /* Dark steel blue */
+ --input: 220 30% 15%;
+ --ring: 220 60% 60%; /* Vivid blue ring */
+ --chart-1: 210 60% 50%; /* Classic blue */
+ --chart-2: 220 40% 65%; /* Soft sky */
+ --chart-3: 220 70% 50%; /* Azure blue */
+ --chart-4: 200 60% 55%; /* Ocean blue */
+ --chart-5: 240 30% 40%; /* Deep teal */
+ }
+ }
+ ```
+
+
+ ```css
+ /* ocean */
+ /* Light Mode */
+ .keyword {
+ color: #2563eb;
+ /* Vibrant Blue */
+ }
+
+ .function {
+ color: #0284c7;
+ /* Deep Sky Blue */
+ }
+
+ .punctuation {
+ color: #475569;
+ /* Cool Slate Gray */
+ }
+
+ .comment {
+ color: #64748b;
+ /* Muted Slate */
+ }
+
+ .string,
+ .constant,
+ .annotation,
+ .boolean,
+ .number {
+ color: #0369a1;
+ /* Dark Cyan */
+ }
+
+ .tag {
+ color: #1e40af;
+ /* Indigo */
+ }
+
+ .attr-name {
+ color: #0ea5e9;
+ /* Light Sky Blue */
+ }
+
+ .attr-value {
+ color: #2563eb;
+ /* Bright Blue */
+ }
+
+ /* Dark Mode */
+ .dark .keyword {
+ color: #93c5fd;
+ /* Soft Blue */
+ }
+
+ .dark .function {
+ color: #38bdf8;
+ /* Sky Blue */
+ }
+
+ .dark .string,
+ .dark .constant,
+ .dark .annotation,
+ .dark .boolean,
+ .dark .number {
+ color: #60a5fa;
+ /* Light Blue */
+ }
+
+ .dark .tag {
+ color: #3b82f6;
+ /* Bold Blue */
+ }
+
+ .dark .attr-name {
+ color: #67e8f9;
+ /* Aqua */
+ }
+
+ .dark .attr-value {
+ color: #93c5fd;
+ /* Frosty Blue */
+ }
+ ```
+
+
+
diff --git a/contents/docs/getting-started/updates.mdx b/contents/docs/getting-started/updates.mdx
deleted file mode 100644
index 22af607..0000000
--- a/contents/docs/getting-started/updates.mdx
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: Обновления
-description:
----
-
diff --git a/importsort.config.js b/importsort.config.js
index b153f04..e0f4c93 100644
--- a/importsort.config.js
+++ b/importsort.config.js
@@ -1,41 +1,41 @@
module.exports = {
- ".js": {
- parser: "babylon",
- style: "module",
+ '.js': {
+ parser: 'babylon',
+ style: 'module',
options: {
groups: [
// Group 1: Built-in node modules
- ["^node:"],
+ ['^node:'],
// Group 2: External packages
- ["^@?\\w"],
+ ['^@?\\w'],
// Group 3: Internal aliases (e.g., @src, @components)
- ["^@src", "^@components"],
+ ['^@src', '^@components'],
// Group 4: Parent imports (e.g., ../..)
- ["^\\.\\.(?!/?$)", "^\\.\\./?$"],
+ ['^\\.\\.(?!/?$)', '^\\.\\./?$'],
// Group 5: Sibling imports (e.g., ./file)
- ["^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$"],
+ ['^\\./(?=.*/)(?!/?$)', '^\\.(?!/?$)', '^\\./?$'],
// Group 6: Style imports
- ["^.+\\.s?css$"],
+ ['^.+\\.s?css$'],
],
},
},
- ".ts": {
- parser: "typescript",
- style: "module",
+ '.ts': {
+ parser: 'typescript',
+ style: 'module',
options: {
groups: [
// Group 1: Built-in node modules
- ["^node:"],
+ ['^node:'],
// Group 2: External packages
- ["^@?\\w"],
+ ['^@?\\w'],
// Group 3: Internal aliases (e.g., @src, @components)
- ["^@src", "^@components"],
+ ['^@src', '^@components'],
// Group 4: Parent imports (e.g., ../..)
- ["^\\.\\.(?!/?$)", "^\\.\\./?$"],
+ ['^\\.\\.(?!/?$)', '^\\.\\./?$'],
// Group 5: Sibling imports (e.g., ./file)
- ["^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$"],
+ ['^\\./(?=.*/)(?!/?$)', '^\\.(?!/?$)', '^\\./?$'],
// Group 6: Style imports
- ["^.+\\.s?css$"],
+ ['^.+\\.s?css$'],
],
},
},
diff --git a/lib/markdown.ts b/lib/markdown.ts
index 40d0815..cb25cc8 100644
--- a/lib/markdown.ts
+++ b/lib/markdown.ts
@@ -1,118 +1,216 @@
import { promises as fs } from "fs";
-import path from "path";
-
-import Note from "@/components/note";
-import Pre from "@/components/pre";
-import { Stepper, StepperItem } from "@/components/ui/stepper";
-import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
-// custom components imports
+import matter from "gray-matter";
import { compileMDX } from "next-mdx-remote/rsc";
+import path from "path";
import rehypeAutolinkHeadings from "rehype-autolink-headings";
import rehypeCodeTitles from "rehype-code-titles";
import rehypePrism from "rehype-prism-plus";
import rehypeSlug from "rehype-slug";
import remarkGfm from "remark-gfm";
import { visit } from "unist-util-visit";
+import { page_routes, ROUTES } from "./routes-config";
-import { page_routes } from "./routes-config";
-
-type MdxFrontmatter = {
- title: string;
- description: string;
-};
+// custom components imports
+import Image from "@/components/markdown/image";
+import Link from "@/components/markdown/link";
+import Note from "@/components/markdown/note";
+import Outlet from "@/components/markdown/outlet";
+import Pre from "@/components/markdown/pre";
+import { Stepper, StepperItem } from "@/components/markdown/stepper";
+import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
// add custom components
const components = {
- Tabs,
- TabsContent,
- TabsList,
- TabsTrigger,
- pre: Pre,
- Note,
- Stepper,
- StepperItem,
+ Tabs,
+ TabsContent,
+ TabsList,
+ TabsTrigger,
+ pre: Pre,
+ Note,
+ Stepper,
+ StepperItem,
+ img: Image,
+ a: Link,
+ Outlet,
};
-export async function getMarkdownForSlug(slug: string) {
- try {
- const contentPath = getContentPath(slug);
- const rawMdx = await fs.readFile(contentPath, "utf-8");
- return await compileMDX({
- source: rawMdx,
- options: {
- parseFrontmatter: true,
- mdxOptions: {
- rehypePlugins: [
- preProcess,
- rehypeCodeTitles,
- rehypePrism,
- rehypeSlug,
- rehypeAutolinkHeadings,
- postProcess,
- ],
- remarkPlugins: [remarkGfm],
- },
- },
- components,
- });
- } catch (err) {
- console.log(err);
- }
+// can be used for other pages like blogs, Guides etc
+async function parseMdx(rawMdx: string) {
+ return await compileMDX({
+ source: rawMdx,
+ options: {
+ parseFrontmatter: true,
+ mdxOptions: {
+ rehypePlugins: [
+ preProcess,
+ rehypeCodeTitles,
+ rehypePrism,
+ rehypeSlug,
+ rehypeAutolinkHeadings,
+ postProcess,
+ ],
+ remarkPlugins: [remarkGfm],
+ },
+ },
+ components,
+ });
}
-export async function getTocs(slug: string) {
- const contentPath = getContentPath(slug);
- const rawMdx = await fs.readFile(contentPath, "utf-8");
- // captures between ## - #### can modify accordingly
- const headingsRegex = /^(#{2,4})\s(.+)$/gm;
- let match;
- const extractedHeadings = [];
- while ((match = headingsRegex.exec(rawMdx)) !== null) {
- const headingLevel = match[1].length;
- const headingText = match[2].trim();
- const slug = sluggify(headingText);
- extractedHeadings.push({
- level: headingLevel,
- text: headingText,
- href: `#${slug}`,
- });
- }
- return extractedHeadings;
+// logic for docs
+
+export type BaseMdxFrontmatter = {
+ title: string;
+ description: string;
+};
+
+export async function getDocsForSlug(slug: string) {
+ try {
+ const contentPath = getDocsContentPath(slug);
+ const rawMdx = await fs.readFile(contentPath, "utf-8");
+ return await parseMdx(rawMdx);
+ } catch (err) {
+ console.log(err);
+ }
+}
+
+export async function getDocsTocs(slug: string) {
+ const contentPath = getDocsContentPath(slug);
+ const rawMdx = await fs.readFile(contentPath, "utf-8");
+ // captures between ## - #### can modify accordingly
+ const headingsRegex = /^(#{2,4})\s(.+)$/gm;
+ let match;
+ const extractedHeadings = [];
+ while ((match = headingsRegex.exec(rawMdx)) !== null) {
+ const headingLevel = match[1].length;
+ const headingText = match[2].trim();
+ const slug = sluggify(headingText);
+ extractedHeadings.push({
+ level: headingLevel,
+ text: headingText,
+ href: `#${slug}`,
+ });
+ }
+ return extractedHeadings;
}
export function getPreviousNext(path: string) {
- const index = page_routes.findIndex(({ href }) => href == path);
- return {
- prev: page_routes[index - 1],
- next: page_routes[index + 1],
- };
+ const index = page_routes.findIndex(({ href }) => href == `/${path}`);
+ return {
+ prev: page_routes[index - 1],
+ next: page_routes[index + 1],
+ };
}
function sluggify(text: string) {
- const slug = text.toLowerCase().replace(/\s+/g, "-");
- return slug.replace(/[^a-z0-9-]/g, "");
+ const slug = text.toLowerCase().replace(/\s+/g, "-");
+ return slug.replace(/[^a-z0-9-]/g, "");
}
-function getContentPath(slug: string) {
- return path.join(process.cwd(), "/contents/docs/", `${slug}.mdx`);
+function getDocsContentPath(slug: string) {
+ return path.join(process.cwd(), "/contents/docs/", `${slug}/index.mdx`);
}
-// for copying the code
+function justGetFrontmatterFromMD(rawMd: string): Frontmatter {
+ return matter(rawMd).data as Frontmatter;
+}
+
+export async function getAllChilds(pathString: string) {
+ const items = pathString.split("/").filter((it) => it != "");
+ let page_routes_copy = ROUTES;
+
+ let prevHref = "";
+ for (let it of items) {
+ const found = page_routes_copy.find((innerIt) => innerIt.href == `/${it}`);
+ if (!found) break;
+ prevHref += found.href;
+ page_routes_copy = found.items ?? [];
+ }
+ if (!prevHref) return [];
+
+ return await Promise.all(
+ page_routes_copy.map(async (it) => {
+ const totalPath = path.join(
+ process.cwd(),
+ "/contents/docs/",
+ prevHref,
+ it.href,
+ "index.mdx"
+ );
+ const raw = await fs.readFile(totalPath, "utf-8");
+ return {
+ ...justGetFrontmatterFromMD(raw),
+ href: `/docs${prevHref}${it.href}`,
+ };
+ })
+ );
+}
+
+// for copying the code in pre
const preProcess = () => (tree: any) => {
- visit(tree, (node) => {
- if (node?.type === "element" && node?.tagName === "pre") {
- const [codeEl] = node.children;
- if (codeEl.tagName !== "code") return;
- node.raw = codeEl.children?.[0].value;
- }
- });
+ visit(tree, (node) => {
+ if (node?.type === "element" && node?.tagName === "pre") {
+ const [codeEl] = node.children;
+ if (codeEl.tagName !== "code") return;
+ node.raw = codeEl.children?.[0].value;
+ }
+ });
};
const postProcess = () => (tree: any) => {
- visit(tree, "element", (node) => {
- if (node?.type === "element" && node?.tagName === "pre") {
- node.properties.raw = node.raw;
- // console.log(node);
- }
- });
+ visit(tree, "element", (node) => {
+ if (node?.type === "element" && node?.tagName === "pre") {
+ node.properties["raw"] = node.raw;
+ }
+ });
+};
+
+export type Author = {
+ avatar?: string;
+ handle: string;
+ username: string;
+ handleUrl: string;
};
+
+export type BlogMdxFrontmatter = BaseMdxFrontmatter & {
+ date: string;
+ authors: Author[];
+ cover: string;
+};
+
+export async function getAllBlogStaticPaths() {
+ try {
+ const blogFolder = path.join(process.cwd(), "/contents/blogs/");
+ const res = await fs.readdir(blogFolder);
+ return res.map((file) => file.split(".")[0]);
+ } catch (err) {
+ console.log(err);
+ }
+}
+export async function getAllBlogs() {
+ const blogFolder = path.join(process.cwd(), "/contents/blogs/");
+ const files = await fs.readdir(blogFolder);
+ const uncheckedRes = await Promise.all(
+ files.map(async (file) => {
+ if (!file.endsWith(".mdx")) return undefined;
+ const filepath = path.join(process.cwd(), `/contents/blogs/${file}`);
+ const rawMdx = await fs.readFile(filepath, "utf-8");
+ return {
+ ...justGetFrontmatterFromMD(rawMdx),
+ slug: file.split(".")[0],
+ };
+ })
+ );
+ return uncheckedRes.filter((it) => !!it) as (BlogMdxFrontmatter & {
+ slug: string;
+ })[];
+}
+
+export async function getBlogForSlug(slug: string) {
+ const blogFile = path.join(process.cwd(), "/contents/blogs/", `${slug}.mdx`);
+ try {
+ const rawMdx = await fs.readFile(blogFile, "utf-8");
+ return await parseMdx(rawMdx);
+ } catch {
+ return undefined;
+ }
+}
diff --git a/lib/routes-config.ts b/lib/routes-config.ts
index c7712b6..b3e751b 100644
--- a/lib/routes-config.ts
+++ b/lib/routes-config.ts
@@ -1,39 +1,61 @@
// for page navigation & to sort on leftbar
-export const ROUTES = [
- {
- title: "Начало работы",
- href: "getting-started",
- items: [
- { title: "Знакомство", href: "/introduction" },
- { title: "Инсталляция", href: "/installation" },
- { title: "Структура проекта", href: "/project-structure" },
- { title: "Краткое руководство", href: "/quick-start-guide" },
- { title: "Обновления", href: "/updates" },
- { title: "Журнал изменений", href: "/changelog" },
- ],
- },
- {
- title: "FAQ",
- href: "faq",
- items: [
- { title: "Q&A", href: "/qna" },
- { title: "Деинсталляция", href: "/deinstallation" },
- ],
- },
- {
- title: "О нас",
- href: "about",
+
+export type EachRoute = {
+ title: string;
+ href: string;
+ noLink?: true; // noLink will create a route segment (section) but cannot be navigated
+ items?: EachRoute[];
+};
+
+export const ROUTES: EachRoute[] = [
+ {
+ title: "Getting Started",
+ href: "/getting-started",
+ noLink: true,
+ items: [
+ { title: "Introduction", href: "/introduction" },
+ {
+ title: "Installation",
+ href: "/installation",
+ },
+ { title: "Quick Start Guide", href: "/quick-start-guide" },
+ {
+ title: "Project Structure",
+ href: "/project-structure",
+ },
+ {
+ title: "Components",
+ href: "/components",
items: [
- { title: "Реквизиты", href: "/contact" },
- { title: "Благодарности", href: "/acknowledgments" },
- { title: "Лицензия", href: "/license" },
+ { title: "Stepper", href: "/stepper" },
+ { title: "Tabs", href: "/tabs" },
+ { title: "Note", href: "/note" },
+ { title: "Code Block", href: "/code-block" },
+ { title: "Image & Link", href: "/image-link" },
+ { title: "Custom", href: "/custom" },
],
- }
+ },
+ { title: "Themes", href: "/themes" },
+ {
+ title: "Customize",
+ href: "/customize",
+ },
+ ],
+ },
];
-export const page_routes = ROUTES.map(({ href, items }) =>
- items.map((link) => ({
- title: link.title,
- href: href + link.href,
- })),
-).flat();
+type Page = { title: string; href: string };
+
+function getRecurrsiveAllLinks(node: EachRoute) {
+ const ans: Page[] = [];
+ if (!node.noLink) {
+ ans.push({ title: node.title, href: node.href });
+ }
+ node.items?.forEach((subNode) => {
+ const temp = { ...subNode, href: `${node.href}${subNode.href}` };
+ ans.push(...getRecurrsiveAllLinks(temp));
+ });
+ return ans;
+}
+
+export const page_routes = ROUTES.map((it) => getRecurrsiveAllLinks(it)).flat();
diff --git a/lib/utils.ts b/lib/utils.ts
index e6b1af7..8edfe3d 100644
--- a/lib/utils.ts
+++ b/lib/utils.ts
@@ -1,6 +1,184 @@
-import { ClassValue, clsx } from "clsx";
+import { EachRoute, ROUTES } from "@/lib/routes-config";
+import { type ClassValue, clsx } from "clsx";
import { twMerge } from "tailwind-merge";
export function cn(...inputs: ClassValue[]) {
- return twMerge(clsx(inputs));
+ return twMerge(clsx(inputs));
+}
+
+/**
+ * Searches for routes that match a query string, with optional depth control.
+ *
+ * @param {string} query - The search query to match against node titles.
+ * @param {EachRoute} node - The current route node being examined.
+ * @param {string} prefix - The URL prefix to prepend to the node"s href.
+ * @param {number} currentLevel - The current depth level in the route hierarchy.
+ * @param {number} [maxLevel] - The maximum depth level to search. If undefined, searches all levels.
+ * @returns {EachRoute[]} An array of routes that match the search query.
+ *
+ * @example
+ * ```typescript
+ * const results = helperSearch("home", node, "/base", 1);
+ * ```
+ */
+export function helperSearch(
+ query: string,
+ node: EachRoute,
+ prefix: string,
+ currenLevel: number,
+ maxLevel?: number
+) {
+ const res: EachRoute[] = [];
+ let parentHas = false;
+
+ const nextLink = `${prefix}${node.href}`;
+ if (!node.noLink && node.title.toLowerCase().includes(query.toLowerCase())) {
+ res.push({ ...node, items: undefined, href: nextLink });
+ parentHas = true;
+ }
+ const goNext = maxLevel ? currenLevel < maxLevel : true;
+ if (goNext)
+ node.items?.forEach((item) => {
+ const innerRes = helperSearch(
+ query,
+ item,
+ nextLink,
+ currenLevel + 1,
+ maxLevel
+ );
+ if (!!innerRes.length && !parentHas && !node.noLink) {
+ res.push({ ...node, items: undefined, href: nextLink });
+ parentHas = true;
+ }
+ res.push(...innerRes);
+ });
+ return res;
+}
+
+/**
+ * Performs an advanced search across all routes and returns matched results.
+ *
+ * @param {string} query - The search query to match against node titles.
+ * @returns {EachRoute[]} An array of all routes matching the search query.
+ *
+ * @example
+ * ```typescript
+ * const results = advanceSearch("about");
+ * ```
+ */
+export function advanceSearch(query: string) {
+ return ROUTES.map((node) =>
+ helperSearch(query, node, "", 1, query.length == 0 ? 2 : undefined)
+ ).flat();
+}
+
+/**
+ * Formats a date string from "day-month-year" format to a long date string in Russian.
+ *
+ * @param {string} dateStr - The date string in "day-month-year" format.
+ * @returns {string} The formatted date string in "Thursday, April 3, 2024" format (ru-RU locale).
+ *
+ * @example
+ * ```typescript
+ * const formattedDate = formatDate("3-4-2024");
+ * console.log(formattedDate); // "Thursday, April 3, 2024"
+ * ```
+ */
+export function formatDate(dateStr: string): string {
+ const [day, month, year] = dateStr.split("-").map(Number);
+ const date = new Date(year, month - 1, day);
+
+ const options: Intl.DateTimeFormatOptions = {
+ weekday: "long",
+ year: "numeric",
+ month: "long",
+ day: "numeric",
+ };
+
+ return capitalize(date.toLocaleDateString("ru-RU", options));
+}
+
+/**
+ * Formats a date string from "day-month-year" format to a short date string in Russian.
+ *
+ * @param {string} dateStr - The date string in "day-month-year" format.
+ * @returns {string} The formatted date string in "April 3, 2024" format (ru-RU locale).
+ *
+ * @example
+ * ```typescript
+ * const formattedDate = formatDate2("3-4-2024");
+ * console.log(formattedDate); // "April 3, 2024"
+ * ```
+ */
+export function formatDate2(dateStr: string): string {
+ const [day, month, year] = dateStr.split("-").map(Number);
+ const date = new Date(year, month - 1, day);
+
+ const options: Intl.DateTimeFormatOptions = {
+ month: "short",
+ day: "numeric",
+ year: "numeric",
+ };
+ return capitalize(date.toLocaleDateString("ru-RU", options));
+}
+
+/**
+ * Converts a date string in "day-month-year" format to a Date object.
+ *
+ * @param {string} date - The date string in "day-month-year" format.
+ * @returns {Date} The Date object representing the given date.
+ *
+ * @example
+ * ```typescript
+ * const dateObj = stringToDate("3-4-2024");
+ * console.log(dateObj); // Date object for April 3, 2024
+ * ```
+ */
+export function stringToDate(date: string): Date {
+ const [day, month, year] = date.split("-").map(Number);
+ return new Date(year, month - 1, day);
+}
+
+/**
+ * Disables the context menu (right-click menu) on elements with the specified class name.
+ *
+ * This function adds an event listener to the document that prevents the default context menu
+ * from appearing when the user right-clicks on elements that have the specified class name.
+ *
+ * @param {string} className - The class name of the elements for which the context menu should be disabled.
+ * @example
+ * // Disable context menu on elements with class "no-context-menu"
+ * disableContextMenu("no-context-menu");
+ */
+export function disableContextMenu(className: string): void {
+ addEventListener("contextmenu", (event: MouseEvent) => {
+ const target = event.target as HTMLElement;
+ if (target instanceof HTMLElement && target.classList.contains(className)) {
+ event.preventDefault();
+ }
+ });
+};
+
+/**
+ * Capitalizes the first letter of a string, optionally converting the rest of the string to lowercase.
+ *
+ * @param {string} str - The string to be capitalized.
+ * @param {boolean} [toLowerRest=false] - If `true`, converts all characters after the first letter to lowercase.
+ * @returns {string} The capitalized string with optional conversion of the remaining characters.
+ *
+ * @example
+ * ```typescript
+ * capitalize("hello world"); // "Hello world"
+ * capitalize("hello world", true); // "Hello world"
+ * capitalize("hELLO wORLD", true); // "Hello world"
+ * capitalize("hELLO wORLD", false); // "HELLO wORLD"
+ * ```
+ */
+function capitalize(str: string, toLowerRest?: boolean): string {
+ if (str.length === 0) return str;
+ return `${
+ str.charAt(0).toUpperCase()
+ }${
+ toLowerRest ? str.slice(1).toLowerCase() : str.slice(1)
+ }`;
}
diff --git a/markdownlint.yaml b/markdownlint.yaml
deleted file mode 100644
index 8f389e5..0000000
--- a/markdownlint.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-default: true
-
-# Some services use a linebreak-sensitive renderer, e.g. GitHub comment and BitBucket
-line-length: false
-
-no-trailing-punctuation:
- # Allow headings to end with question mark
- punctuation: ".,;:"
-
-# Prettier handles these:
-list-marker-space: false
-no-multiple-blanks: false
diff --git a/next-env.d.ts b/next-env.d.ts
new file mode 100644
index 0000000..725dd6f
--- /dev/null
+++ b/next-env.d.ts
@@ -0,0 +1,6 @@
+///
+///
+///
+
+// NOTE: This file should not be edited
+// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information.
diff --git a/next.config.mjs b/next.config.mjs
index 9c689fd..e0ecf73 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -1,26 +1,46 @@
-/** @type {import('next').NextConfig} */
-const nextConfig = {
- skipTrailingSlashRedirect: true,
- reactStrictMode: true,
- trailingSlash: true,
- swcMinify: true,
- images: {
- unoptimized: true,
- remotePatterns: [
- {
- protocol: "https",
- hostname: "**",
- },
- ],
- },
- webpack: (config) => {
- config.module.rules.push({
- test: /\.svg$/,
- use: ["@svgr/webpack"],
- });
+const isProd = process.env.NODE_ENV === 'production';
- return config;
- },
+/** @type {import("next").NextConfig} */
+const nextConfig = {
+ skipTrailingSlashRedirect: true,
+ reactStrictMode: true,
+ trailingSlash: true,
+ swcMinify: true,
+ // Note: This feature is required to use the Next.js Image component in SSG mode.
+ // See https://nextjs.org/docs/messages/export-image-api for different workarounds.
+ images: {
+ unoptimized: true,
+ remotePatterns: [
+ {
+ protocol: 'https',
+ hostname: '**',
+ },
+ ],
+ },
+ trailingSlash: true,
+ // Configure assetPrefix or else the server won't properly resolve your assets.
+ assetPrefix: isProd ? undefined : `http://localhost:3000`,
+ webpack: (config, { isServer }) => {
+ config.devtool = isServer ? 'source-map' : 'inline-source-map';
+ const fileLoaderRule = config.module.rules.find(rule =>
+ rule.test?.test?.('.svg'),
+ );
+ config.module.rules.push(
+ {
+ ...fileLoaderRule,
+ test: /\.svg$/i,
+ resourceQuery: /url/,
+ },
+ {
+ test: /\.svg$/i,
+ issuer: fileLoaderRule.issuer,
+ resourceQuery: { not: [...fileLoaderRule.resourceQuery.not, /url/] },
+ use: ['@svgr/webpack'],
+ },
+ );
+ fileLoaderRule.exclude = /\.svg$/i;
+ return config;
+ },
};
export default nextConfig;
diff --git a/package.json b/package.json
index 7c32989..767637f 100644
--- a/package.json
+++ b/package.json
@@ -1,25 +1,46 @@
{
- "name": "faq_goodbyedpi_ui",
+ "name": "docs-goodbyedpi-ui",
"version": "1.0.0",
"private": true,
+ "type": "module",
+ "author": {
+ "name": "CodeIlluminators Collective",
+ "url": "https://github.com/CodeIlluminators"
+ },
+ "authors": [
+ "Storik4pro ",
+ "𝕷𝖚𝖒𝖊𝖓 𝕻𝖊𝖆𝖗𝖘𝖔𝖓 "
+ ],
+ "license": "MIT",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/CodeIlluminators/Docs.GoodbyeDPI.UI.git"
+ },
+ "bugs": {
+ "url": "https://github.com/CodeIlluminators/Docs.GoodbyeDPI.UI/issues"
+ },
+ "homepage": "https://github.com/CodeIlluminators/Docs.GoodbyeDPI.UI/readme",
"scripts": {
- "dev": "next dev -p 3001",
- "lint": "next lint",
"commit": "cz",
"precommit": "lint-staged",
"prepare": "husky install",
- "build": "next build",
- "start:debug": "next start --debug --watch",
- "start:dev": "next start --watch",
+ "dev": "next dev -H 0.0.0.0 -p 3001",
+ "start:local": "next start -H 0.0.0.0 -p 3000",
"start": "next start",
- "sort-imports:list": "npx import-sort --list-different '**/*.{ts,js}'",
- "sort-imports:write": "npx import-sort --write '**/*.{ts,js}'",
- "format:check": "prettier . --check",
- "format:write": "prettier . --write",
+ "build": "next build",
"lint:check": "mkdir -p logs && eslint . --no-fix --output-file logs/eslint-check.log",
"lint:fix": "eslint . --fix",
- "clean:check": "run-p sort-imports:check format:check lint:check",
- "clean:write": "pnpm sort-imports:write && pnpm format:write"
+ "lint": "next lint",
+ "format:check": "prettier . --check",
+ "format:write": "prettier . --write",
+ "clean:check": "run-p sort-imports:list format:check lint:check",
+ "clean:write": "run-p lint:fix sort-imports:write format:write",
+ "sort-imports:list": "npx import-sort --list-different \"**/*.{tsx,ts,js,jsx}\"",
+ "sort-imports:write": "npx import-sort --write \"**/*.{tsx,ts,js,jsx}\""
+ },
+ "engineStrict": true,
+ "engines": {
+ "node": ">= 20"
},
"lint-staged": {
"*": [
@@ -31,81 +52,69 @@
"post-commit": "sh .husky/post-commit.sh"
}
},
- "license": "Apache-2.0",
- "authors": [
- "Storik4Pro ",
- "CodeIlluminators [GitHub](https://github.com/CodeIlluminators/)",
- "ValdikSS "
- ],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lumenpearson/FAQ-GoodbyeDPI-UI.git"
- },
- "bugs": {
- "url": "https://github.com/lumenpearson/FAQ-GoodbyeDPI-UI/issues"
- },
- "homepage": "https://github.com/lumenpearson/FAQ-GoodbyeDPI-UI/readme",
+ "packageManager": "pnpm@9.12.1",
"dependencies": {
- "@radix-ui/react-accordion": "^1.1.2",
- "@radix-ui/react-dialog": "^1.0.5",
- "@radix-ui/react-dropdown-menu": "^2.0.6",
- "@radix-ui/react-scroll-area": "^1.0.5",
- "@radix-ui/react-slot": "^1.0.2",
- "@radix-ui/react-tabs": "^1.0.4",
- "@vercel/analytics": "^1.3.1",
- "@vercel/speed-insights": "^1.0.12",
+ "@next/mdx": "^15.0.2",
+ "@radix-ui/react-accordion": "^1.2.0",
+ "@radix-ui/react-avatar": "^1.1.0",
+ "@radix-ui/react-collapsible": "^1.1.0",
+ "@radix-ui/react-dialog": "^1.1.1",
+ "@radix-ui/react-dropdown-menu": "^2.1.1",
+ "@radix-ui/react-scroll-area": "^1.2.0",
+ "@radix-ui/react-slot": "^1.1.0",
+ "@radix-ui/react-tabs": "^1.1.0",
+ "@types/node": "^20.17.5",
+ "@vercel/analytics": "^1.3.2",
+ "@vercel/speed-insights": "^1.0.14",
"class-transformer": "^0.5.1",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
- "geist": "^1.3.0",
- "lucide-react": "^0.368.0",
- "next": "^14.2.4",
+ "geist": "^1.3.1",
+ "gray-matter": "^4.0.3",
+ "lucide-react": "^0.435.0",
+ "next": "^14.2.16",
"next-mdx-remote": "^5.0.0",
"next-themes": "^0.3.0",
- "npm-run-all": "^4.1.5",
+ "node-cache": "^5.1.2",
+ "nprogress": "^0.2.0",
+ "phin": "^3.7.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
- "reflect-metadata": "^0.2.2",
"rehype-autolink-headings": "^7.1.0",
"rehype-code-titles": "^1.2.0",
"rehype-prism-plus": "^2.0.0",
"rehype-slug": "^6.0.0",
"remark-gfm": "^4.0.0",
"rxjs": "^7.8.1",
- "tailwind-merge": "^2.3.0",
+ "sharp": "^0.33.5",
+ "swr": "^2.2.5",
+ "tailwind-merge": "^2.5.2",
"tailwindcss-animate": "^1.0.7",
"unist-util-visit": "^5.0.0"
},
- "engineStrict": true,
- "engines": {
- "node": ">= 20"
- },
"devDependencies": {
- "@tailwindcss/typography": "^0.5.12",
- "@types/node": "^20.14.2",
+ "@tailwindcss/typography": "^0.5.14",
+ "@types/node": "^20",
+ "@types/nprogress": "^0.2.3",
"@types/react": "^18",
"@types/react-dom": "^18",
- "autoprefixer": "^10.0.1",
+ "autoprefixer": "^10.4.20",
"babylon": "^6.18.0",
"commitizen": "^4.3.0",
"cz-conventional-changelog": "^3.3.0",
- "eslint": "^8.57.0",
- "eslint-config-next": "^14.2.4",
- "husky": "^9.0.11",
+ "eslint": "^8",
+ "eslint-config-next": "^14.2.6",
+ "husky": "^9.1.6",
"import-sort": "^6.0.0",
- "import-sort-cli": "^6.0.0",
- "import-sort-parser-typescript": "^6.0.0",
- "import-sort-style-module": "^6.0.0",
- "lint-staged": "^15.2.5",
+ "lint-staged": "^15.2.10",
+ "npm-run-all": "^4.1.5",
"postcss": "^8",
- "prettier": "^3.3.2",
+ "postcss-import": "^16.1.0",
+ "prettier": "^3.3.3",
"source-map-support": "^0.5.21",
- "supertest": "^6.3.4",
- "tailwindcss": "^3.3.0",
- "ts-jest": "^29.1.4",
- "ts-loader": "^9.5.1",
- "ts-node": "^10.9.2",
- "tsconfig-paths": "^4.2.0",
- "typescript": "^5.4.5"
+ "supertest": "^7.0.0",
+ "tailwindcss": "^3.4.10",
+ "ts-jest": "^29.2.5",
+ "typescript": "^5.6.3"
}
}
diff --git a/pages/api/all-releases.ts b/pages/api/all-releases.ts
new file mode 100644
index 0000000..7a3cf07
--- /dev/null
+++ b/pages/api/all-releases.ts
@@ -0,0 +1,73 @@
+import { CacheSettings, GitHubAPI } from "@/pages/api/config";
+import { ApiReleasesResponse, GitHubRelease, GitHubReleaseResponse, GitHubAsset } from "@/pages/api/types";
+import { NextApiRequest, NextApiResponse } from "next";
+import NodeCache from "node-cache";
+import phin from "phin";
+
+const cache = new NodeCache({ stdTTL: CacheSettings.STD_TTL });
+
+/**
+ * API handler to fetch all releases with assets, including auto-generated source code archives.
+ *
+ * @param {NextApiRequest} req - The API request object
+ * @param {NextApiResponse} res - The API response object
+ * @returns {Promise}
+ */
+export default async function handler(req: NextApiRequest, res: NextApiResponse): Promise {
+ const cachedReleases = cache.get(CacheSettings.ALL_RELEASES_KEY);
+
+ if (cachedReleases) {
+ return res.status(200).json({ releases: cachedReleases });
+ }
+
+ try {
+ const response = await phin({
+ url: `${GitHubAPI.BASE_URL}${GitHubAPI.ALL_RELEASES_ENDPOINT()}`,
+ parse: "json",
+ headers: {
+ "User-Agent": GitHubAPI.USER_AGENT,
+ Authorization: `token ${GitHubAPI.GITHUB_TOKEN}`,
+ },
+ });
+
+ if (response.statusCode !== 200) {
+ let result = res.status(response.statusCode || 500).json({ message: GitHubAPI.Errors.FETCH_FAILED });
+ console.log(`RES: ${res.statusCode}\nRESPONSE: ${response}`)
+ return result;
+ }
+
+ const releases: GitHubRelease[] = response.body.map(release => {
+ const assets: GitHubAsset[] = release.assets?.map(asset => ({
+ name: asset.name,
+ downloadUrl: asset.browser_download_url,
+ })) || [];
+
+ // Generate URLs for auto-generated source code archives
+ const zipUrl = `https://github.com/${GitHubAPI.REPO_OWNER}/${GitHubAPI.REPO_NAME}/archive/refs/tags/${release.tag_name}.zip`;
+ const tarGzUrl = `https://github.com/${GitHubAPI.REPO_OWNER}/${GitHubAPI.REPO_NAME}/archive/refs/tags/${release.tag_name}.tar.gz`;
+
+ // Check if source code archives are missing from assets and add them if so
+ if (!assets.find(asset => asset.downloadUrl === zipUrl)) {
+ assets.push({ name: GitHubAPI.SOURCE_ZIP_SUFFIX, downloadUrl: zipUrl });
+ }
+
+ if (!assets.find(asset => asset.downloadUrl === tarGzUrl)) {
+ assets.push({ name: GitHubAPI.SOURCE_TAR_GZ_SUFFIX, downloadUrl: tarGzUrl });
+ }
+
+ return {
+ id: release.id,
+ tagName: release.tag_name,
+ name: release.name,
+ createdAt: release.created_at,
+ assets,
+ };
+ });
+
+ cache.set(CacheSettings.ALL_RELEASES_KEY, releases);
+ res.status(200).json({ releases });
+ } catch (error) {
+ console.error(GitHubAPI.Errors.SERVER_ERROR, error);
+ res.status(500).json({ message: GitHubAPI.Errors.SERVER_ERROR });
+ }
+}
diff --git a/pages/api/config.ts b/pages/api/config.ts
new file mode 100644
index 0000000..51c53c8
--- /dev/null
+++ b/pages/api/config.ts
@@ -0,0 +1,34 @@
+/**
+ * Configuration constants and error messages for the GitHub API and Cache settings.
+ * This file centralizes static values used across the application.
+ */
+
+export const GitHubAPI = {
+ BASE_URL: "https://api.github.com",
+ REPO_OWNER: "Storik4pro",
+ REPO_NAME: "goodbyeDPI-UI",
+ LATEST_RELEASE_ENDPOINT: function () {
+ return `/repos/${this.REPO_OWNER}/${this.REPO_NAME}/releases/latest`;
+ },
+ ALL_RELEASES_ENDPOINT: function () {
+ return `/repos/${this.REPO_OWNER}/${this.REPO_NAME}/releases`;
+ },
+ USER_AGENT: "docs-goodbyedpi-ui",
+ SOURCE_ZIP_SUFFIX: "source code.zip",
+ GITHUB_TOKEN: process.env.GITHUB_TOKEN,
+ SOURCE_TAR_GZ_SUFFIX: "source code.tar.gz",
+ Errors: {
+ FETCH_FAILED: "Failed to fetch data from GitHub API",
+ FILE_NOT_FOUND: "Requested file not found in the latest release",
+ SERVER_ERROR: "An internal server error occurred",
+ },
+};
+
+export const CacheSettings = {
+ /** Time-to-live for cache, in seconds (10 minutes) */
+ STD_TTL: 600,
+ /** Cache key for the latest release URL */
+ LATEST_RELEASE_KEY: "latest-release-url",
+ /** Cache key for all releases URL */
+ ALL_RELEASES_KEY: "all-releases",
+};
diff --git a/pages/api/latest-release.ts b/pages/api/latest-release.ts
new file mode 100644
index 0000000..446bc6f
--- /dev/null
+++ b/pages/api/latest-release.ts
@@ -0,0 +1,51 @@
+import { CacheSettings, GitHubAPI } from "@/pages/api/config";
+import { ApiResponse, GitHubAsset, GitHubReleaseResponse } from "@/pages/api/types";
+import { NextApiRequest, NextApiResponse } from "next";
+import NodeCache from "node-cache";
+import phin from "phin";
+
+// Initialize cache with standard TTL
+const cache = new NodeCache({ stdTTL: CacheSettings.STD_TTL });
+
+/**
+ * API handler to fetch the latest release assets with download URLs.
+ * Checks cache first, then retrieves from GitHub API if needed.
+ *
+ * @param {NextApiRequest} req - The API request object
+ * @param {NextApiResponse} res - The API response object
+ * @returns {Promise}
+ */
+export default async function handler(req: NextApiRequest, res: NextApiResponse): Promise {
+ const cachedAssets = cache.get(CacheSettings.LATEST_RELEASE_KEY);
+
+ if (cachedAssets) {
+ return res.status(200).json({ assets: cachedAssets });
+ }
+
+ try {
+ const response = await phin({
+ url: `${GitHubAPI.BASE_URL}${GitHubAPI.LATEST_RELEASE_ENDPOINT()}`,
+ parse: "json",
+ headers: {
+ "User-Agent": GitHubAPI.USER_AGENT,
+ Authorization: `token ${GitHubAPI.GITHUB_TOKEN}`,
+ },
+ });
+
+ if (response.statusCode !== 200) {
+ return res.status(response.statusCode || 500).json({ message: GitHubAPI.Errors.FETCH_FAILED });
+ }
+
+ const data: GitHubReleaseResponse = response.body;
+ const assets: GitHubAsset[] = data.assets.map(asset => ({
+ name: asset.name,
+ downloadUrl: asset.browser_download_url,
+ }));
+
+ cache.set(CacheSettings.LATEST_RELEASE_KEY, assets);
+ res.status(200).json({ assets });
+ } catch (error) {
+ console.error(GitHubAPI.Errors.SERVER_ERROR, error);
+ res.status(500).json({ message: GitHubAPI.Errors.SERVER_ERROR });
+ }
+}
diff --git a/pages/api/types.ts b/pages/api/types.ts
new file mode 100644
index 0000000..6f0b650
--- /dev/null
+++ b/pages/api/types.ts
@@ -0,0 +1,65 @@
+/**
+ * Represents an asset from a GitHub release.
+ * @property {string} name - The name of the asset file.
+ * @property {string} downloadUrl - The direct download URL of the asset.
+ */
+export interface GitHubAsset {
+ name: string;
+ downloadUrl: string;
+}
+
+/**
+ * Represents the response structure of a GitHub release retrieved from the API.
+ * @property {number} id - The unique ID of the release.
+ * @property {string} tag_name - The tag name of the release.
+ * @property {string} name - The display name of the release.
+ * @property {string} created_at - The date and time when the release was created.
+ * @property {GitHubAsset[]} assets - An array of assets included in the release.
+ */
+export interface GitHubReleaseResponse {
+ id: number;
+ tag_name: string;
+ name: string;
+ created_at: string;
+ assets: Array<{
+ name: string;
+ browser_download_url: string;
+ }>;
+}
+
+
+/**
+ * Represents the structure of a GitHub release that is processed and returned by the API routes.
+ * @property {number} id - The unique ID of the release.
+ * @property {string} tagName - The tag name of the release.
+ * @property {string} name - The display name of the release.
+ * @property {string} createdAt - The creation date of the release.
+ * @property {GitHubAsset[]} assets - An array of assets for the release.
+ */
+export interface GitHubRelease {
+ id: number;
+ tagName: string;
+ name: string;
+ createdAt: string;
+ assets: GitHubAsset[];
+}
+
+/**
+ * Represents the API response structure for the "all-releases" route.
+ * @property {GitHubRelease[]} releases - An array of GitHub releases with assets.
+ * @property {string} [message] - Optional error message if an error occurs.
+ */
+export interface ApiReleasesResponse {
+ releases?: GitHubRelease[];
+ message?: string;
+}
+
+/**
+ * Represents the API response structure for the "latest-release" route.
+ * @property {GitHubAsset[]} [assets] - An array of assets included in the release.
+ * @property {string} [message] - Optional error message if an error occurs.
+ */
+export interface ApiResponse {
+ assets?: GitHubAsset[];
+ message?: string;
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3ed8124..70235c8 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,30 +8,42 @@ importers:
.:
dependencies:
+ '@next/mdx':
+ specifier: ^15.0.2
+ version: 15.0.2(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))
'@radix-ui/react-accordion':
- specifier: ^1.1.2
- version: 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^1.2.0
+ version: 1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-avatar':
+ specifier: ^1.1.0
+ version: 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-collapsible':
+ specifier: ^1.1.0
+ version: 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-dialog':
- specifier: ^1.0.5
- version: 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^1.1.1
+ version: 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-dropdown-menu':
- specifier: ^2.0.6
- version: 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^2.1.1
+ version: 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-scroll-area':
- specifier: ^1.0.5
- version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^1.2.0
+ version: 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-slot':
- specifier: ^1.0.2
- version: 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ specifier: ^1.1.0
+ version: 1.1.0(@types/react@18.3.12)(react@18.3.1)
'@radix-ui/react-tabs':
- specifier: ^1.0.4
- version: 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^1.1.0
+ version: 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@types/node':
+ specifier: ^20.17.5
+ version: 20.17.5
'@vercel/analytics':
- specifier: ^1.3.1
- version: 1.3.1(next@14.2.5(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ specifier: ^1.3.2
+ version: 1.3.2(next@14.2.16(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
'@vercel/speed-insights':
- specifier: ^1.0.12
- version: 1.0.12(next@14.2.5(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ specifier: ^1.0.14
+ version: 1.0.14(next@14.2.16(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
class-transformer:
specifier: ^0.5.1
version: 0.5.1
@@ -42,32 +54,38 @@ importers:
specifier: ^2.1.1
version: 2.1.1
geist:
- specifier: ^1.3.0
- version: 1.3.1(next@14.2.5(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+ specifier: ^1.3.1
+ version: 1.3.1(next@14.2.16(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))
+ gray-matter:
+ specifier: ^4.0.3
+ version: 4.0.3
lucide-react:
- specifier: ^0.368.0
- version: 0.368.0(react@18.3.1)
+ specifier: ^0.435.0
+ version: 0.435.0(react@18.3.1)
next:
- specifier: ^14.2.4
- version: 14.2.5(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^14.2.16
+ version: 14.2.16(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next-mdx-remote:
specifier: ^5.0.0
- version: 5.0.0(@types/react@18.3.4)(react@18.3.1)
+ version: 5.0.0(@types/react@18.3.12)(acorn@8.14.0)(react@18.3.1)
next-themes:
specifier: ^0.3.0
version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- npm-run-all:
- specifier: ^4.1.5
- version: 4.1.5
+ node-cache:
+ specifier: ^5.1.2
+ version: 5.1.2
+ nprogress:
+ specifier: ^0.2.0
+ version: 0.2.0
+ phin:
+ specifier: ^3.7.1
+ version: 3.7.1
react:
specifier: ^18.3.1
version: 18.3.1
react-dom:
specifier: ^18.3.1
version: 18.3.1(react@18.3.1)
- reflect-metadata:
- specifier: ^0.2.2
- version: 0.2.2
rehype-autolink-headings:
specifier: ^7.1.0
version: 7.1.0
@@ -86,94 +104,88 @@ importers:
rxjs:
specifier: ^7.8.1
version: 7.8.1
+ sharp:
+ specifier: ^0.33.5
+ version: 0.33.5
+ swr:
+ specifier: ^2.2.5
+ version: 2.2.5(react@18.3.1)
tailwind-merge:
- specifier: ^2.3.0
- version: 2.5.2
+ specifier: ^2.5.2
+ version: 2.5.4
tailwindcss-animate:
specifier: ^1.0.7
- version: 1.0.7(tailwindcss@3.4.10(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)))
+ version: 1.0.7(tailwindcss@3.4.14)
unist-util-visit:
specifier: ^5.0.0
version: 5.0.0
devDependencies:
'@tailwindcss/typography':
- specifier: ^0.5.12
- version: 0.5.14(tailwindcss@3.4.10(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)))
- '@types/node':
- specifier: ^20.14.2
- version: 20.16.1
+ specifier: ^0.5.14
+ version: 0.5.15(tailwindcss@3.4.14)
+ '@types/nprogress':
+ specifier: ^0.2.3
+ version: 0.2.3
'@types/react':
specifier: ^18
- version: 18.3.4
+ version: 18.3.12
'@types/react-dom':
specifier: ^18
- version: 18.3.0
+ version: 18.3.1
autoprefixer:
- specifier: ^10.0.1
- version: 10.4.20(postcss@8.4.41)
+ specifier: ^10.4.20
+ version: 10.4.20(postcss@8.4.47)
babylon:
specifier: ^6.18.0
version: 6.18.0
commitizen:
specifier: ^4.3.0
- version: 4.3.0(@types/node@20.16.1)(typescript@5.5.4)
+ version: 4.3.1(@types/node@20.17.5)(typescript@5.6.3)
cz-conventional-changelog:
specifier: ^3.3.0
- version: 3.3.0(@types/node@20.16.1)(typescript@5.5.4)
+ version: 3.3.0(@types/node@20.17.5)(typescript@5.6.3)
eslint:
- specifier: ^8.57.0
- version: 8.57.0
+ specifier: ^8
+ version: 8.57.1
eslint-config-next:
- specifier: ^14.2.4
- version: 14.2.5(eslint@8.57.0)(typescript@5.5.4)
+ specifier: ^14.2.6
+ version: 14.2.16(eslint@8.57.1)(typescript@5.6.3)
husky:
- specifier: ^9.0.11
- version: 9.1.5
+ specifier: ^9.1.6
+ version: 9.1.6
import-sort:
specifier: ^6.0.0
version: 6.0.0
- import-sort-cli:
- specifier: ^6.0.0
- version: 6.0.0
- import-sort-parser-typescript:
- specifier: ^6.0.0
- version: 6.0.0
- import-sort-style-module:
- specifier: ^6.0.0
- version: 6.0.0
lint-staged:
- specifier: ^15.2.5
- version: 15.2.9
+ specifier: ^15.2.10
+ version: 15.2.10
+ npm-run-all:
+ specifier: ^4.1.5
+ version: 4.1.5
postcss:
specifier: ^8
- version: 8.4.41
+ version: 8.4.47
+ postcss-import:
+ specifier: ^16.1.0
+ version: 16.1.0(postcss@8.4.47)
prettier:
- specifier: ^3.3.2
+ specifier: ^3.3.3
version: 3.3.3
source-map-support:
specifier: ^0.5.21
version: 0.5.21
supertest:
- specifier: ^6.3.4
- version: 6.3.4
+ specifier: ^7.0.0
+ version: 7.0.0
tailwindcss:
- specifier: ^3.3.0
- version: 3.4.10(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))
+ specifier: ^3.4.10
+ version: 3.4.14
ts-jest:
- specifier: ^29.1.4
- version: 29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.16.1)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)))(typescript@5.5.4)
- ts-loader:
- specifier: ^9.5.1
- version: 9.5.1(typescript@5.5.4)(webpack@5.93.0)
- ts-node:
- specifier: ^10.9.2
- version: 10.9.2(@types/node@20.16.1)(typescript@5.5.4)
- tsconfig-paths:
- specifier: ^4.2.0
- version: 4.2.0
+ specifier: ^29.2.5
+ version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.5))(typescript@5.6.3)
typescript:
- specifier: ^5.4.5
- version: 5.5.4
+ specifier: ^5.6.3
+ version: 5.6.3
packages:
@@ -185,66 +197,58 @@ packages:
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
- '@babel/code-frame@7.24.7':
- resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
+ '@babel/code-frame@7.26.2':
+ resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
engines: {node: '>=6.9.0'}
- '@babel/compat-data@7.25.2':
- resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==}
+ '@babel/compat-data@7.26.2':
+ resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==}
engines: {node: '>=6.9.0'}
- '@babel/core@7.25.2':
- resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==}
+ '@babel/core@7.26.0':
+ resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
engines: {node: '>=6.9.0'}
- '@babel/generator@7.25.0':
- resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==}
+ '@babel/generator@7.26.2':
+ resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-compilation-targets@7.25.2':
- resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==}
+ '@babel/helper-compilation-targets@7.25.9':
+ resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-imports@7.24.7':
- resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==}
+ '@babel/helper-module-imports@7.25.9':
+ resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-transforms@7.25.2':
- resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==}
+ '@babel/helper-module-transforms@7.26.0':
+ resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-plugin-utils@7.24.8':
- resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-simple-access@7.24.7':
- resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-string-parser@7.24.8':
- resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==}
+ '@babel/helper-plugin-utils@7.25.9':
+ resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-identifier@7.24.7':
- resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
+ '@babel/helper-string-parser@7.25.9':
+ resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-option@7.24.8':
- resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==}
+ '@babel/helper-validator-identifier@7.25.9':
+ resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
engines: {node: '>=6.9.0'}
- '@babel/helpers@7.25.0':
- resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==}
+ '@babel/helper-validator-option@7.25.9':
+ resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
engines: {node: '>=6.9.0'}
- '@babel/highlight@7.24.7':
- resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
+ '@babel/helpers@7.26.0':
+ resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.25.3':
- resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==}
+ '@babel/parser@7.26.2':
+ resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==}
engines: {node: '>=6.0.0'}
hasBin: true
@@ -269,8 +273,8 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-import-attributes@7.24.7':
- resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==}
+ '@babel/plugin-syntax-import-attributes@7.26.0':
+ resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -285,8 +289,8 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-jsx@7.24.7':
- resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==}
+ '@babel/plugin-syntax-jsx@7.25.9':
+ resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -333,86 +337,85 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-typescript@7.24.7':
- resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==}
+ '@babel/plugin-syntax-typescript@7.25.9':
+ resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/template@7.25.0':
- resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==}
+ '@babel/template@7.25.9':
+ resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
engines: {node: '>=6.9.0'}
- '@babel/traverse@7.25.3':
- resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==}
+ '@babel/traverse@7.25.9':
+ resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.25.2':
- resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==}
+ '@babel/types@7.26.0':
+ resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
engines: {node: '>=6.9.0'}
'@bcoe/v8-coverage@0.2.3':
resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
- '@commitlint/config-validator@19.0.3':
- resolution: {integrity: sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==}
+ '@commitlint/config-validator@19.5.0':
+ resolution: {integrity: sha512-CHtj92H5rdhKt17RmgALhfQt95VayrUo2tSqY9g2w+laAXyk7K/Ef6uPm9tn5qSIwSmrLjKaXK9eiNuxmQrDBw==}
engines: {node: '>=v18'}
- '@commitlint/execute-rule@19.0.0':
- resolution: {integrity: sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==}
+ '@commitlint/execute-rule@19.5.0':
+ resolution: {integrity: sha512-aqyGgytXhl2ejlk+/rfgtwpPexYyri4t8/n4ku6rRJoRhGZpLFMqrZ+YaubeGysCP6oz4mMA34YSTaSOKEeNrg==}
engines: {node: '>=v18'}
- '@commitlint/load@19.4.0':
- resolution: {integrity: sha512-I4lCWaEZYQJ1y+Y+gdvbGAx9pYPavqZAZ3/7/8BpWh+QjscAn8AjsUpLV2PycBsEx7gupq5gM4BViV9xwTIJuw==}
+ '@commitlint/load@19.5.0':
+ resolution: {integrity: sha512-INOUhkL/qaKqwcTUvCE8iIUf5XHsEPCLY9looJ/ipzi7jtGhgmtH7OOFiNvwYgH7mA8osUWOUDV8t4E2HAi4xA==}
engines: {node: '>=v18'}
- '@commitlint/resolve-extends@19.1.0':
- resolution: {integrity: sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==}
+ '@commitlint/resolve-extends@19.5.0':
+ resolution: {integrity: sha512-CU/GscZhCUsJwcKTJS9Ndh3AKGZTNFIOoQB2n8CmFnizE0VnEuJoum+COW+C1lNABEeqk6ssfc1Kkalm4bDklA==}
engines: {node: '>=v18'}
- '@commitlint/types@19.0.3':
- resolution: {integrity: sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==}
+ '@commitlint/types@19.5.0':
+ resolution: {integrity: sha512-DSHae2obMSMkAtTBSOulg5X7/z+rGLxcXQIkg3OmWvY6wifojge5uVMydfhUvs7yQj+V7jNmRZ2Xzl8GJyqRgg==}
engines: {node: '>=v18'}
- '@cspotcode/source-map-support@0.8.1':
- resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
- engines: {node: '>=12'}
+ '@emnapi/runtime@1.3.1':
+ resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==}
- '@eslint-community/eslint-utils@4.4.0':
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ '@eslint-community/eslint-utils@4.4.1':
+ resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- '@eslint-community/regexpp@4.11.0':
- resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==}
+ '@eslint-community/regexpp@4.12.1':
+ resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
'@eslint/eslintrc@2.1.4':
resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- '@eslint/js@8.57.0':
- resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
+ '@eslint/js@8.57.1':
+ resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- '@floating-ui/core@1.6.7':
- resolution: {integrity: sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==}
+ '@floating-ui/core@1.6.8':
+ resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
- '@floating-ui/dom@1.6.10':
- resolution: {integrity: sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==}
+ '@floating-ui/dom@1.6.12':
+ resolution: {integrity: sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==}
- '@floating-ui/react-dom@2.1.1':
- resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==}
+ '@floating-ui/react-dom@2.1.2':
+ resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
- '@floating-ui/utils@0.2.7':
- resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==}
+ '@floating-ui/utils@0.2.8':
+ resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==}
- '@humanwhocodes/config-array@0.11.14':
- resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
+ '@humanwhocodes/config-array@0.13.0':
+ resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
engines: {node: '>=10.10.0'}
deprecated: Use @eslint/config-array instead
@@ -424,6 +427,111 @@ packages:
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
deprecated: Use @eslint/object-schema instead
+ '@img/sharp-darwin-arm64@0.33.5':
+ resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-darwin-x64@0.33.5':
+ resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-arm64@1.0.4':
+ resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@img/sharp-libvips-darwin-x64@1.0.4':
+ resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-linux-arm64@1.0.4':
+ resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@img/sharp-libvips-linux-arm@1.0.5':
+ resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
+ cpu: [arm]
+ os: [linux]
+
+ '@img/sharp-libvips-linux-s390x@1.0.4':
+ resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@img/sharp-libvips-linux-x64@1.0.4':
+ resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
+ cpu: [x64]
+ os: [linux]
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
+ resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@img/sharp-libvips-linuxmusl-x64@1.0.4':
+ resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
+ cpu: [x64]
+ os: [linux]
+
+ '@img/sharp-linux-arm64@0.33.5':
+ resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@img/sharp-linux-arm@0.33.5':
+ resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm]
+ os: [linux]
+
+ '@img/sharp-linux-s390x@0.33.5':
+ resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [s390x]
+ os: [linux]
+
+ '@img/sharp-linux-x64@0.33.5':
+ resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@img/sharp-linuxmusl-arm64@0.33.5':
+ resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [linux]
+
+ '@img/sharp-linuxmusl-x64@0.33.5':
+ resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [linux]
+
+ '@img/sharp-wasm32@0.33.5':
+ resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [wasm32]
+
+ '@img/sharp-win32-ia32@0.33.5':
+ resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ia32]
+ os: [win32]
+
+ '@img/sharp-win32-x64@0.33.5':
+ resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
+ os: [win32]
+
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
@@ -514,87 +622,88 @@ packages:
resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
engines: {node: '>=6.0.0'}
- '@jridgewell/source-map@0.3.6':
- resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
-
'@jridgewell/sourcemap-codec@1.5.0':
resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
'@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
- '@jridgewell/trace-mapping@0.3.9':
- resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
+ '@mdx-js/mdx@3.1.0':
+ resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==}
- '@mdx-js/mdx@3.0.1':
- resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==}
-
- '@mdx-js/react@3.0.1':
- resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==}
+ '@mdx-js/react@3.1.0':
+ resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==}
peerDependencies:
'@types/react': '>=16'
react: '>=16'
- '@mrmlnc/readdir-enhanced@2.2.1':
- resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==}
- engines: {node: '>=4'}
+ '@next/env@14.2.16':
+ resolution: {integrity: sha512-fLrX5TfJzHCbnZ9YUSnGW63tMV3L4nSfhgOQ0iCcX21Pt+VSTDuaLsSuL8J/2XAiVA5AnzvXDpf6pMs60QxOag==}
- '@next/env@14.2.5':
- resolution: {integrity: sha512-/zZGkrTOsraVfYjGP8uM0p6r0BDT6xWpkjdVbcz66PJVSpwXX3yNiRycxAuDfBKGWBrZBXRuK/YVlkNgxHGwmA==}
+ '@next/eslint-plugin-next@14.2.16':
+ resolution: {integrity: sha512-noORwKUMkKc96MWjTOwrsUCjky0oFegHbeJ1yEnQBGbMHAaTEIgLZIIfsYF0x3a06PiS+2TXppfifR+O6VWslg==}
- '@next/eslint-plugin-next@14.2.5':
- resolution: {integrity: sha512-LY3btOpPh+OTIpviNojDpUdIbHW9j0JBYBjsIp8IxtDFfYFyORvw3yNq6N231FVqQA7n7lwaf7xHbVJlA1ED7g==}
+ '@next/mdx@15.0.2':
+ resolution: {integrity: sha512-CANCD3snLdLJxCcqn0DBAl5qMUBvAPdWA2cWljt+lnVtcvIfGXRVLwraqSOHBjddvZ3ClCYcf3AvjEBHA4NBxA==}
+ peerDependencies:
+ '@mdx-js/loader': '>=0.15.0'
+ '@mdx-js/react': '>=0.15.0'
+ peerDependenciesMeta:
+ '@mdx-js/loader':
+ optional: true
+ '@mdx-js/react':
+ optional: true
- '@next/swc-darwin-arm64@14.2.5':
- resolution: {integrity: sha512-/9zVxJ+K9lrzSGli1///ujyRfon/ZneeZ+v4ptpiPoOU+GKZnm8Wj8ELWU1Pm7GHltYRBklmXMTUqM/DqQ99FQ==}
+ '@next/swc-darwin-arm64@14.2.16':
+ resolution: {integrity: sha512-uFT34QojYkf0+nn6MEZ4gIWQ5aqGF11uIZ1HSxG+cSbj+Mg3+tYm8qXYd3dKN5jqKUm5rBVvf1PBRO/MeQ6rxw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@next/swc-darwin-x64@14.2.5':
- resolution: {integrity: sha512-vXHOPCwfDe9qLDuq7U1OYM2wUY+KQ4Ex6ozwsKxp26BlJ6XXbHleOUldenM67JRyBfVjv371oneEvYd3H2gNSA==}
+ '@next/swc-darwin-x64@14.2.16':
+ resolution: {integrity: sha512-mCecsFkYezem0QiZlg2bau3Xul77VxUD38b/auAjohMA22G9KTJneUYMv78vWoCCFkleFAhY1NIvbyjj1ncG9g==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@next/swc-linux-arm64-gnu@14.2.5':
- resolution: {integrity: sha512-vlhB8wI+lj8q1ExFW8lbWutA4M2ZazQNvMWuEDqZcuJJc78iUnLdPPunBPX8rC4IgT6lIx/adB+Cwrl99MzNaA==}
+ '@next/swc-linux-arm64-gnu@14.2.16':
+ resolution: {integrity: sha512-yhkNA36+ECTC91KSyZcgWgKrYIyDnXZj8PqtJ+c2pMvj45xf7y/HrgI17hLdrcYamLfVt7pBaJUMxADtPaczHA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-arm64-musl@14.2.5':
- resolution: {integrity: sha512-NpDB9NUR2t0hXzJJwQSGu1IAOYybsfeB+LxpGsXrRIb7QOrYmidJz3shzY8cM6+rO4Aojuef0N/PEaX18pi9OA==}
+ '@next/swc-linux-arm64-musl@14.2.16':
+ resolution: {integrity: sha512-X2YSyu5RMys8R2lA0yLMCOCtqFOoLxrq2YbazFvcPOE4i/isubYjkh+JCpRmqYfEuCVltvlo+oGfj/b5T2pKUA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
- '@next/swc-linux-x64-gnu@14.2.5':
- resolution: {integrity: sha512-8XFikMSxWleYNryWIjiCX+gU201YS+erTUidKdyOVYi5qUQo/gRxv/3N1oZFCgqpesN6FPeqGM72Zve+nReVXQ==}
+ '@next/swc-linux-x64-gnu@14.2.16':
+ resolution: {integrity: sha512-9AGcX7VAkGbc5zTSa+bjQ757tkjr6C/pKS7OK8cX7QEiK6MHIIezBLcQ7gQqbDW2k5yaqba2aDtaBeyyZh1i6Q==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-linux-x64-musl@14.2.5':
- resolution: {integrity: sha512-6QLwi7RaYiQDcRDSU/os40r5o06b5ue7Jsk5JgdRBGGp8l37RZEh9JsLSM8QF0YDsgcosSeHjglgqi25+m04IQ==}
+ '@next/swc-linux-x64-musl@14.2.16':
+ resolution: {integrity: sha512-Klgeagrdun4WWDaOizdbtIIm8khUDQJ/5cRzdpXHfkbY91LxBXeejL4kbZBrpR/nmgRrQvmz4l3OtttNVkz2Sg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
- '@next/swc-win32-arm64-msvc@14.2.5':
- resolution: {integrity: sha512-1GpG2VhbspO+aYoMOQPQiqc/tG3LzmsdBH0LhnDS3JrtDx2QmzXe0B6mSZZiN3Bq7IOMXxv1nlsjzoS1+9mzZw==}
+ '@next/swc-win32-arm64-msvc@14.2.16':
+ resolution: {integrity: sha512-PwW8A1UC1Y0xIm83G3yFGPiOBftJK4zukTmk7DI1CebyMOoaVpd8aSy7K6GhobzhkjYvqS/QmzcfsWG2Dwizdg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@next/swc-win32-ia32-msvc@14.2.5':
- resolution: {integrity: sha512-Igh9ZlxwvCDsu6438FXlQTHlRno4gFpJzqPjSIBZooD22tKeI4fE/YMRoHVJHmrQ2P5YL1DoZ0qaOKkbeFWeMg==}
+ '@next/swc-win32-ia32-msvc@14.2.16':
+ resolution: {integrity: sha512-jhPl3nN0oKEshJBNDAo0etGMzv0j3q3VYorTSFqH1o3rwv1MQRdor27u1zhkgsHPNeY1jxcgyx1ZsCkDD1IHgg==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
- '@next/swc-win32-x64-msvc@14.2.5':
- resolution: {integrity: sha512-tEQ7oinq1/CjSG9uSTerca3v4AZ+dFa+4Yu6ihaG8Ud8ddqLQgFGcnwYls13H5X5CPDPZJdYxyeMui6muOLd4g==}
+ '@next/swc-win32-x64-msvc@14.2.16':
+ resolution: {integrity: sha512-OA7NtfxgirCjfqt+02BqxC3MIgM/JaGjw9tOe4fyZgPsqfseNiMPnCRP44Pfs+Gpo9zPN+SXaFsgP6vk8d571A==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -603,10 +712,6 @@ packages:
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
- '@nodelib/fs.stat@1.1.3':
- resolution: {integrity: sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==}
- engines: {node: '>= 6'}
-
'@nodelib/fs.stat@2.0.5':
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
engines: {node: '>= 8'}
@@ -615,6 +720,10 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
+ '@nolyfill/is-core-module@1.0.39':
+ resolution: {integrity: sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==}
+ engines: {node: '>=12.4.0'}
+
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@@ -625,8 +734,8 @@ packages:
'@radix-ui/primitive@1.1.0':
resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==}
- '@radix-ui/react-accordion@1.2.0':
- resolution: {integrity: sha512-HJOzSX8dQqtsp/3jVxCU3CXEONF7/2jlGAB28oX8TTw1Dz8JYbEI1UcL8355PuLBE41/IRRMvCw7VkiK/jcUOQ==}
+ '@radix-ui/react-accordion@1.2.1':
+ resolution: {integrity: sha512-bg/l7l5QzUjgsh8kjwDFommzAshnUsuVMV5NM56QVCm+7ZckYdd9P/ExR8xG/Oup0OajVxNLaHJ1tb8mXk+nzQ==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -651,8 +760,21 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-collapsible@1.1.0':
- resolution: {integrity: sha512-zQY7Epa8sTL0mq4ajSJpjgn2YmCgyrG7RsQgLp3C0LQVkG7+Tf6Pv1CeNWZLyqMjhdPkBa5Lx7wYBeSu7uCSTA==}
+ '@radix-ui/react-avatar@1.1.1':
+ resolution: {integrity: sha512-eoOtThOmxeoizxpX6RiEsQZ2wj5r4+zoeqAwO0cBaFQGjJwIH3dIX0OCxNrCyrrdxG+vBweMETh3VziQG7c1kw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-collapsible@1.1.1':
+ resolution: {integrity: sha512-1///SnrfQHJEofLokyczERxQbWfCGQlQ2XsCZMucVs6it+lq9iw4vXy+uDn1edlb58cOZOWSldnfPAYcT4O/Yg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -695,8 +817,17 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-dialog@1.1.1':
- resolution: {integrity: sha512-zysS+iU4YP3STKNS6USvFVqI4qqx8EpiwmT5TuCApVEBca+eRCbONi4EgzfNSuVnOXvC5UPHHMjs8RXO6DH9Bg==}
+ '@radix-ui/react-context@1.1.1':
+ resolution: {integrity: sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-dialog@1.1.2':
+ resolution: {integrity: sha512-Yj4dZtqa2o+kG61fzB0H2qUvmwBA2oyQroGLyNtBj1beo1khoQ3q1a2AO8rrQYjd8256CO9+N8L9tvsS+bnIyA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -717,8 +848,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-dismissable-layer@1.1.0':
- resolution: {integrity: sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig==}
+ '@radix-ui/react-dismissable-layer@1.1.1':
+ resolution: {integrity: sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -730,8 +861,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-dropdown-menu@2.1.1':
- resolution: {integrity: sha512-y8E+x9fBq9qvteD2Zwa4397pUVhYsh9iq44b5RD5qu1GMJWBCBuVg1hMyItbc6+zH00TxGRqd9Iot4wzf3OoBQ==}
+ '@radix-ui/react-dropdown-menu@2.1.2':
+ resolution: {integrity: sha512-GVZMR+eqK8/Kes0a36Qrv+i20bAPXSn8rCBTHx30w+3ECnR5o3xixAlqcVaYvLeyKUsm0aqyhWfmUcqufM8nYA==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -743,8 +874,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-focus-guards@1.1.0':
- resolution: {integrity: sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw==}
+ '@radix-ui/react-focus-guards@1.1.1':
+ resolution: {integrity: sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==}
peerDependencies:
'@types/react': '*'
react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
@@ -774,8 +905,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-menu@2.1.1':
- resolution: {integrity: sha512-oa3mXRRVjHi6DZu/ghuzdylyjaMXLymx83irM7hTxutQbD+7IhPKdMdRHD26Rm+kHRrWcrUkkRPv5pd47a2xFQ==}
+ '@radix-ui/react-menu@2.1.2':
+ resolution: {integrity: sha512-lZ0R4qR2Al6fZ4yCCZzu/ReTFrylHFxIqy7OezIpWF4bL0o9biKo0pFIvkaew3TyZ9Fy5gYVrR5zCGZBVbO1zg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -800,8 +931,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-portal@1.1.1':
- resolution: {integrity: sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g==}
+ '@radix-ui/react-portal@1.1.2':
+ resolution: {integrity: sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -813,8 +944,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-presence@1.1.0':
- resolution: {integrity: sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ==}
+ '@radix-ui/react-presence@1.1.1':
+ resolution: {integrity: sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -852,8 +983,8 @@ packages:
'@types/react-dom':
optional: true
- '@radix-ui/react-scroll-area@1.1.0':
- resolution: {integrity: sha512-9ArIZ9HWhsrfqS765h+GZuLoxaRHD/j0ZWOWilsCvYTpYJp8XwCqNG7Dt9Nu/TItKOdgLGkOPCodQvDc+UMwYg==}
+ '@radix-ui/react-scroll-area@1.2.0':
+ resolution: {integrity: sha512-q2jMBdsJ9zB7QG6ngQNzNwlvxLQqONyL58QbEGwuyRZZb/ARQwk3uQVbCF7GvQVOtV6EU/pDxAw3zRzJZI3rpQ==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -874,8 +1005,8 @@ packages:
'@types/react':
optional: true
- '@radix-ui/react-tabs@1.1.0':
- resolution: {integrity: sha512-bZgOKB/LtZIij75FSuPzyEti/XBhJH52ExgtdVqjCIh+Nx/FW+LhnbXtbCzIi34ccyMsyOja8T0thCzoHFXNKA==}
+ '@radix-ui/react-tabs@1.1.1':
+ resolution: {integrity: sha512-3GBUDmP2DvzmtYLMsHmpA1GtR46ZDZ+OreXM/N+kkQJOPIgytFWWTfDQmBQKBvaFS0Vno0FktdbVzN28KGrMdw==}
peerDependencies:
'@types/react': '*'
'@types/react-dom': '*'
@@ -944,6 +1075,9 @@ packages:
'@radix-ui/rect@1.1.0':
resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==}
+ '@rtsao/scc@1.1.0':
+ resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
+
'@rushstack/eslint-patch@1.10.4':
resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==}
@@ -962,22 +1096,10 @@ packages:
'@swc/helpers@0.5.5':
resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==}
- '@tailwindcss/typography@0.5.14':
- resolution: {integrity: sha512-ZvOCjUbsJBjL9CxQBn+VEnFpouzuKhxh2dH8xMIWHILL+HfOYtlAkWcyoon8LlzE53d2Yo6YO6pahKKNW3q1YQ==}
+ '@tailwindcss/typography@0.5.15':
+ resolution: {integrity: sha512-AqhlCXl+8grUz8uqExv5OTtgpjuVIwFTSXTrh8y9/pw6q2ek7fJ+Y8ZEVw7EB2DCcuCOtEjf9w3+J3rzts01uA==}
peerDependencies:
- tailwindcss: '>=3.0.0 || insiders'
-
- '@tsconfig/node10@1.0.11':
- resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
-
- '@tsconfig/node12@1.0.11':
- resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
-
- '@tsconfig/node14@1.0.3':
- resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
-
- '@tsconfig/node16@1.0.4':
- resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
+ tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20'
'@types/acorn@4.0.6':
resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
@@ -1000,20 +1122,11 @@ packages:
'@types/debug@4.1.12':
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
- '@types/eslint-scope@3.7.7':
- resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
-
- '@types/eslint@9.6.0':
- resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==}
-
'@types/estree-jsx@1.0.5':
resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
- '@types/estree@1.0.5':
- resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
-
- '@types/glob@7.2.0':
- resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
+ '@types/estree@1.0.6':
+ resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
'@types/graceful-fs@4.1.9':
resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
@@ -1033,9 +1146,6 @@ packages:
'@types/istanbul-reports@3.0.4':
resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
- '@types/json-schema@7.0.15':
- resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
-
'@types/json5@0.0.29':
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
@@ -1045,26 +1155,26 @@ packages:
'@types/mdx@2.0.13':
resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
- '@types/minimatch@5.1.2':
- resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
-
'@types/ms@0.7.34':
resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
- '@types/node@20.16.1':
- resolution: {integrity: sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==}
+ '@types/node@20.17.5':
+ resolution: {integrity: sha512-n8FYY/pRxu496441gIcAQFZPKXbhsd6VZygcq+PTSZ75eMh/Ke0hCAROdUa21qiFqKNsPPYic46yXDO1JGiPBQ==}
- '@types/prismjs@1.26.4':
- resolution: {integrity: sha512-rlAnzkW2sZOjbqZ743IHUhFcvzaGbqijwOu8QZnZCjfQzBqFE3s4lOTJEsxikImav9uzz/42I+O7YUs1mWgMlg==}
+ '@types/nprogress@0.2.3':
+ resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==}
- '@types/prop-types@15.7.12':
- resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
+ '@types/prismjs@1.26.5':
+ resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
- '@types/react-dom@18.3.0':
- resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
+ '@types/prop-types@15.7.13':
+ resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
- '@types/react@18.3.4':
- resolution: {integrity: sha512-J7W30FTdfCxDDjmfRM+/JqLHBIyl7xUIp9kwK637FGmY7+mkSFSe6L4jpZzhj5QMfLssSDP4/i75AKkrdC7/Jw==}
+ '@types/react-dom@18.3.1':
+ resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==}
+
+ '@types/react@18.3.12':
+ resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==}
'@types/stack-utils@2.0.3':
resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
@@ -1081,58 +1191,84 @@ packages:
'@types/yargs@17.0.33':
resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==}
- '@typescript-eslint/parser@7.2.0':
- resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==}
- engines: {node: ^16.0.0 || >=18.0.0}
+ '@typescript-eslint/eslint-plugin@8.12.2':
+ resolution: {integrity: sha512-gQxbxM8mcxBwaEmWdtLCIGLfixBMHhQjBqR8sVWNTPpcj45WlYL2IObS/DNMLH1DBP0n8qz+aiiLTGfopPEebw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@typescript-eslint/parser@8.12.2':
+ resolution: {integrity: sha512-MrvlXNfGPLH3Z+r7Tk+Z5moZAc0dzdVjTgUgwsdGweH7lydysQsnSww3nAmsq8blFuRD5VRlAr9YdEFw3e6PBw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- eslint: ^8.56.0
+ eslint: ^8.57.0 || ^9.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@typescript-eslint/scope-manager@7.2.0':
- resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==}
- engines: {node: ^16.0.0 || >=18.0.0}
+ '@typescript-eslint/scope-manager@8.12.2':
+ resolution: {integrity: sha512-gPLpLtrj9aMHOvxJkSbDBmbRuYdtiEbnvO25bCMza3DhMjTQw0u7Y1M+YR5JPbMsXXnSPuCf5hfq0nEkQDL/JQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/type-utils@8.12.2':
+ resolution: {integrity: sha512-bwuU4TAogPI+1q/IJSKuD4shBLc/d2vGcRT588q+jzayQyjVK2X6v/fbR4InY2U2sgf8MEvVCqEWUzYzgBNcGQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
- '@typescript-eslint/types@7.2.0':
- resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==}
- engines: {node: ^16.0.0 || >=18.0.0}
+ '@typescript-eslint/types@8.12.2':
+ resolution: {integrity: sha512-VwDwMF1SZ7wPBUZwmMdnDJ6sIFk4K4s+ALKLP6aIQsISkPv8jhiw65sAK6SuWODN/ix+m+HgbYDkH+zLjrzvOA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@7.2.0':
- resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==}
- engines: {node: ^16.0.0 || >=18.0.0}
+ '@typescript-eslint/typescript-estree@8.12.2':
+ resolution: {integrity: sha512-mME5MDwGe30Pq9zKPvyduyU86PH7aixwqYR2grTglAdB+AN8xXQ1vFGpYaUSJ5o5P/5znsSBeNcs5g5/2aQwow==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@typescript-eslint/visitor-keys@7.2.0':
- resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==}
- engines: {node: ^16.0.0 || >=18.0.0}
+ '@typescript-eslint/utils@8.12.2':
+ resolution: {integrity: sha512-UTTuDIX3fkfAz6iSVa5rTuSfWIYZ6ATtEocQ/umkRSyC9O919lbZ8dcH7mysshrCdrAM03skJOEYaBugxN+M6A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+
+ '@typescript-eslint/visitor-keys@8.12.2':
+ resolution: {integrity: sha512-PChz8UaKQAVNHghsHcPyx1OMHoFRUEA7rJSK/mDhdq85bk+PLsUHUBqTQTFt18VJZbmxBovM65fezlheQRsSDA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@ungap/structured-clone@1.2.0':
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
- '@vercel/analytics@1.3.1':
- resolution: {integrity: sha512-xhSlYgAuJ6Q4WQGkzYTLmXwhYl39sWjoMA3nHxfkvG+WdBT25c563a7QhwwKivEOZtPJXifYHR1m2ihoisbWyA==}
+ '@vercel/analytics@1.3.2':
+ resolution: {integrity: sha512-n/Ws7skBbW+fUBMeg+jrT30+GP00jTHvCcL4fuVrShuML0uveEV/4vVUdvqEVnDgXIGfLm0GXW5EID2mCcRXhg==}
peerDependencies:
next: '>= 13'
- react: ^18 || ^19
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
next:
optional: true
react:
optional: true
- '@vercel/speed-insights@1.0.12':
- resolution: {integrity: sha512-ZGQ+a7bcfWJD2VYEp2R1LHvRAMyyaFBYytZXsfnbOMkeOvzGNVxUL7aVUvisIrTZjXTSsxG45DKX7yiw6nq2Jw==}
+ '@vercel/speed-insights@1.0.14':
+ resolution: {integrity: sha512-env1BkPddz1UaEZwBL4GmfRksMi2LbiYaKuoxMQjfLk83aEh7kkWMukkUhpQVs717NE6nnD+1+KO85GZHOZ4nQ==}
peerDependencies:
'@sveltejs/kit': ^1 || ^2
next: '>= 13'
- react: ^18 || ^19
- svelte: ^4
+ react: ^18 || ^19 || ^19.0.0-rc
+ svelte: '>= 4'
vue: ^3
vue-router: ^4
peerDependenciesMeta:
@@ -1149,96 +1285,22 @@ packages:
vue-router:
optional: true
- '@webassemblyjs/ast@1.12.1':
- resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
-
- '@webassemblyjs/floating-point-hex-parser@1.11.6':
- resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
-
- '@webassemblyjs/helper-api-error@1.11.6':
- resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
-
- '@webassemblyjs/helper-buffer@1.12.1':
- resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==}
-
- '@webassemblyjs/helper-numbers@1.11.6':
- resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
-
- '@webassemblyjs/helper-wasm-bytecode@1.11.6':
- resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
-
- '@webassemblyjs/helper-wasm-section@1.12.1':
- resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==}
-
- '@webassemblyjs/ieee754@1.11.6':
- resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
-
- '@webassemblyjs/leb128@1.11.6':
- resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
-
- '@webassemblyjs/utf8@1.11.6':
- resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
-
- '@webassemblyjs/wasm-edit@1.12.1':
- resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==}
-
- '@webassemblyjs/wasm-gen@1.12.1':
- resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==}
-
- '@webassemblyjs/wasm-opt@1.12.1':
- resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==}
-
- '@webassemblyjs/wasm-parser@1.12.1':
- resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==}
-
- '@webassemblyjs/wast-printer@1.12.1':
- resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==}
-
- '@xtuc/ieee754@1.2.0':
- resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
-
- '@xtuc/long@4.2.2':
- resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
-
- acorn-import-attributes@1.9.5:
- resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==}
- peerDependencies:
- acorn: ^8
-
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- acorn-walk@8.3.3:
- resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==}
- engines: {node: '>=0.4.0'}
-
- acorn@6.4.2:
- resolution: {integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- acorn@8.12.1:
- resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
+ acorn@8.14.0:
+ resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
engines: {node: '>=0.4.0'}
hasBin: true
- ajv-keywords@3.5.2:
- resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
- peerDependencies:
- ajv: ^6.9.1
-
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
ajv@8.17.1:
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
- ansi-escapes@3.2.0:
- resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==}
- engines: {node: '>=4'}
-
ansi-escapes@4.3.2:
resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
engines: {node: '>=8'}
@@ -1247,24 +1309,12 @@ packages:
resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==}
engines: {node: '>=18'}
- ansi-regex@2.1.1:
- resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
- engines: {node: '>=0.10.0'}
-
- ansi-regex@3.0.1:
- resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==}
- engines: {node: '>=4'}
-
- ansi-regex@4.1.1:
- resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==}
- engines: {node: '>=6'}
-
ansi-regex@5.0.1:
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:
@@ -1290,9 +1340,6 @@ packages:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
- arg@4.1.3:
- resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
-
arg@5.0.2:
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
@@ -1306,20 +1353,9 @@ packages:
resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==}
engines: {node: '>=10'}
- aria-query@5.1.3:
- resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
-
- arr-diff@4.0.0:
- resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==}
- engines: {node: '>=0.10.0'}
-
- arr-flatten@1.1.0:
- resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==}
- engines: {node: '>=0.10.0'}
-
- arr-union@3.1.0:
- resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==}
- engines: {node: '>=0.10.0'}
+ aria-query@5.3.2:
+ resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
+ engines: {node: '>= 0.4'}
array-buffer-byte-length@1.0.1:
resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
@@ -1329,22 +1365,6 @@ packages:
resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
engines: {node: '>= 0.4'}
- array-union@1.0.2:
- resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==}
- engines: {node: '>=0.10.0'}
-
- array-union@2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
-
- array-uniq@1.0.3:
- resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==}
- engines: {node: '>=0.10.0'}
-
- array-unique@0.3.2:
- resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==}
- engines: {node: '>=0.10.0'}
-
array.prototype.findlast@1.2.5:
resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
engines: {node: '>= 0.4'}
@@ -1372,19 +1392,11 @@ packages:
asap@2.0.6:
resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
- assign-symbols@1.0.0:
- resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
- engines: {node: '>=0.10.0'}
-
ast-types-flow@0.0.8:
resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
- astral-regex@1.0.0:
- resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==}
- engines: {node: '>=4'}
-
- astring@1.8.6:
- resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==}
+ astring@1.9.0:
+ resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
hasBin: true
async@3.2.6:
@@ -1397,11 +1409,6 @@ packages:
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
engines: {node: '>= 4.0.0'}
- atob@2.1.2:
- resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
- engines: {node: '>= 4.5.0'}
- hasBin: true
-
autoprefixer@10.4.20:
resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
engines: {node: ^10 || ^12 || >=14}
@@ -1413,12 +1420,13 @@ packages:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
- axe-core@4.10.0:
- resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==}
+ axe-core@4.10.2:
+ resolution: {integrity: sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w==}
engines: {node: '>=4'}
- axobject-query@3.1.1:
- resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==}
+ axobject-query@4.1.0:
+ resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
+ engines: {node: '>= 0.4'}
babel-jest@29.7.0:
resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
@@ -1458,10 +1466,6 @@ packages:
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
- base@0.11.2:
- resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==}
- engines: {node: '>=0.10.0'}
-
binary-extensions@2.3.0:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
@@ -1475,16 +1479,12 @@ packages:
brace-expansion@2.0.1:
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
- braces@2.3.2:
- resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==}
- engines: {node: '>=0.10.0'}
-
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
- browserslist@4.23.3:
- resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==}
+ browserslist@4.24.2:
+ resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
@@ -1509,10 +1509,6 @@ packages:
resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
engines: {node: '>=10.16.0'}
- cache-base@1.0.1:
- resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==}
- engines: {node: '>=0.10.0'}
-
cachedir@2.3.0:
resolution: {integrity: sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==}
engines: {node: '>=6'}
@@ -1521,21 +1517,6 @@ packages:
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
engines: {node: '>= 0.4'}
- call-me-maybe@1.0.2:
- resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
-
- caller-callsite@2.0.0:
- resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==}
- engines: {node: '>=4'}
-
- caller-path@2.0.0:
- resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==}
- engines: {node: '>=4'}
-
- callsites@2.0.0:
- resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==}
- engines: {node: '>=4'}
-
callsites@3.1.0:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
@@ -1552,12 +1533,15 @@ packages:
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
engines: {node: '>=10'}
- caniuse-lite@1.0.30001651:
- resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==}
+ caniuse-lite@1.0.30001676:
+ resolution: {integrity: sha512-Qz6zwGCiPghQXGJvgQAem79esjitvJ+CxSbSQkW9H/UX5hg8XM88d4lp2W+MEQ81j+Hip58Il+jGVdazk1z9cw==}
ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+ centra@2.7.0:
+ resolution: {integrity: sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==}
+
chalk@2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@@ -1593,31 +1577,19 @@ packages:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
- chrome-trace-event@1.0.4:
- resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
- engines: {node: '>=6.0'}
-
ci-info@3.9.0:
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
engines: {node: '>=8'}
- cjs-module-lexer@1.3.1:
- resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==}
+ cjs-module-lexer@1.4.1:
+ resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==}
class-transformer@0.5.1:
resolution: {integrity: sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==}
- class-utils@0.3.6:
- resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==}
- engines: {node: '>=0.10.0'}
-
class-variance-authority@0.7.0:
resolution: {integrity: sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==}
- cli-cursor@2.1.0:
- resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==}
- engines: {node: '>=4'}
-
cli-cursor@3.1.0:
resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
engines: {node: '>=8'}
@@ -1634,9 +1606,6 @@ packages:
resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==}
engines: {node: '>=18'}
- cli-width@2.2.1:
- resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==}
-
cli-width@3.0.0:
resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
engines: {node: '>= 10'}
@@ -1644,9 +1613,6 @@ packages:
client-only@0.0.1:
resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
- cliui@4.1.0:
- resolution: {integrity: sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==}
-
cliui@8.0.1:
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
engines: {node: '>=12'}
@@ -1655,6 +1621,10 @@ packages:
resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
engines: {node: '>=0.8'}
+ clone@2.1.2:
+ resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
+ engines: {node: '>=0.8'}
+
clsx@2.0.0:
resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==}
engines: {node: '>=6'}
@@ -1667,20 +1637,12 @@ packages:
resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
- code-point-at@1.1.0:
- resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==}
- engines: {node: '>=0.10.0'}
-
collapse-white-space@2.1.0:
resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
collect-v8-coverage@1.0.2:
resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
- collection-visit@1.0.0:
- resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==}
- engines: {node: '>=0.10.0'}
-
color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@@ -1694,6 +1656,13 @@ packages:
color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ color-string@1.9.1:
+ resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
+
+ color@4.2.3:
+ resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
+ engines: {node: '>=12.5.0'}
+
colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
@@ -1708,15 +1677,12 @@ packages:
resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
engines: {node: '>=18'}
- commander@2.20.3:
- resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
-
commander@4.1.1:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'}
- commitizen@4.3.0:
- resolution: {integrity: sha512-H0iNtClNEhT0fotHvGV3E9tDejDeS04sN1veIebsKYGMuGscFaswRoYJKmT3eW85eIJAs0F28bG2+a/9wCOfPw==}
+ commitizen@4.3.1:
+ resolution: {integrity: sha512-gwAPAVTy/j5YcOOebcCRIijn+mSjWJC+IYKivTu6aG8Ei/scoXgfsMRnuAk6b0GRste2J4NGxVdMN3ZpfNaVaw==}
engines: {node: '>= 12'}
hasBin: true
@@ -1735,22 +1701,14 @@ packages:
cookiejar@2.1.4:
resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==}
- copy-descriptor@0.1.1:
- resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==}
- engines: {node: '>=0.10.0'}
-
- cosmiconfig-typescript-loader@5.0.0:
- resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==}
+ cosmiconfig-typescript-loader@5.1.0:
+ resolution: {integrity: sha512-7PtBB+6FdsOvZyJtlF3hEPpACq7RQX6BVGsgC7/lfVXnKMvNCu/XY3ykreqG5w/rBNdu2z8LCIKoF3kpHHdHlA==}
engines: {node: '>=v16'}
peerDependencies:
'@types/node': '*'
cosmiconfig: '>=8.2'
typescript: '>=4'
- cosmiconfig@5.2.1:
- resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==}
- engines: {node: '>=4'}
-
cosmiconfig@9.0.0:
resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
engines: {node: '>=14'}
@@ -1765,9 +1723,6 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
hasBin: true
- create-require@1.1.1:
- resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
-
cross-spawn@6.0.5:
resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
engines: {node: '>=4.8'}
@@ -1803,14 +1758,6 @@ packages:
resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
engines: {node: '>= 0.4'}
- debug@2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
@@ -1819,8 +1766,8 @@ packages:
supports-color:
optional: true
- debug@4.3.6:
- resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
+ debug@4.3.7:
+ resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
engines: {node: '>=6.0'}
peerDependencies:
supports-color: '*'
@@ -1828,17 +1775,9 @@ packages:
supports-color:
optional: true
- decamelize@1.2.0:
- resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
- engines: {node: '>=0.10.0'}
-
decode-named-character-reference@1.0.2:
resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
- decode-uri-component@0.2.2:
- resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
- engines: {node: '>=0.10'}
-
dedent@0.7.0:
resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
@@ -1850,10 +1789,6 @@ packages:
babel-plugin-macros:
optional: true
- deep-equal@2.2.3:
- resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==}
- engines: {node: '>= 0.4'}
-
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
@@ -1872,18 +1807,6 @@ packages:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
engines: {node: '>= 0.4'}
- define-property@0.2.5:
- resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==}
- engines: {node: '>=0.10.0'}
-
- define-property@1.0.0:
- resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==}
- engines: {node: '>=0.10.0'}
-
- define-property@2.0.2:
- resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==}
- engines: {node: '>=0.10.0'}
-
delayed-stream@1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
@@ -1900,6 +1823,10 @@ packages:
resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
engines: {node: '>=8'}
+ detect-libc@2.0.3:
+ resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==}
+ engines: {node: '>=8'}
+
detect-newline@2.1.0:
resolution: {integrity: sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==}
engines: {node: '>=0.10.0'}
@@ -1924,18 +1851,6 @@ packages:
resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- diff@4.0.2:
- resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
- engines: {node: '>=0.3.1'}
-
- dir-glob@2.2.2:
- resolution: {integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==}
- engines: {node: '>=4'}
-
- dir-glob@3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
-
dlv@1.1.3:
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
@@ -1955,18 +1870,15 @@ packages:
engines: {node: '>=0.10.0'}
hasBin: true
- electron-to-chromium@1.5.13:
- resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==}
+ electron-to-chromium@1.5.50:
+ resolution: {integrity: sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw==}
emittery@0.13.1:
resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
engines: {node: '>=12'}
- emoji-regex@10.3.0:
- resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
-
- emoji-regex@7.0.3:
- resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==}
+ emoji-regex@10.4.0:
+ resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -1974,9 +1886,6 @@ packages:
emoji-regex@9.2.2:
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
- end-of-stream@1.4.4:
- resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
-
enhanced-resolve@5.17.1:
resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
engines: {node: '>=10.13.0'}
@@ -2008,16 +1917,10 @@ packages:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
- es-get-iterator@1.1.3:
- resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
-
- es-iterator-helpers@1.0.19:
- resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==}
+ es-iterator-helpers@1.1.0:
+ resolution: {integrity: sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==}
engines: {node: '>= 0.4'}
- es-module-lexer@1.5.4:
- resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
-
es-object-atoms@1.0.0:
resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
engines: {node: '>= 0.4'}
@@ -2033,9 +1936,15 @@ packages:
resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
engines: {node: '>= 0.4'}
- escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
- engines: {node: '>=6'}
+ esast-util-from-estree@2.0.0:
+ resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
+
+ esast-util-from-js@2.0.1:
+ resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
+
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
escape-string-regexp@1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
@@ -2053,8 +1962,8 @@ packages:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
engines: {node: '>=12'}
- eslint-config-next@14.2.5:
- resolution: {integrity: sha512-zogs9zlOiZ7ka+wgUnmcM0KBEDjo4Jis7kxN1jvC0N4wynQ2MIx/KBkg4mVF63J5EK4W0QMCn7xO3vNisjaAoA==}
+ eslint-config-next@14.2.16:
+ resolution: {integrity: sha512-HOcnCJsyLXR7B8wmjaCgkTSpz+ijgOyAkP8OlvANvciP8PspBYFEBTmakNMxOf71fY0aKOm/blFIiKnrM4K03Q==}
peerDependencies:
eslint: ^7.23.0 || ^8.0.0
typescript: '>=3.3.1'
@@ -2065,15 +1974,21 @@ packages:
eslint-import-resolver-node@0.3.9:
resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
- eslint-import-resolver-typescript@3.6.1:
- resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
+ eslint-import-resolver-typescript@3.6.3:
+ resolution: {integrity: sha512-ud9aw4szY9cCT1EWWdGv1L1XR6hh2PaRWif0j2QjQ0pgTY/69iw+W0Z4qZv5wHahOl8isEr+k/JnyAqNQkLkIA==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
eslint: '*'
eslint-plugin-import: '*'
+ eslint-plugin-import-x: '*'
+ peerDependenciesMeta:
+ eslint-plugin-import:
+ optional: true
+ eslint-plugin-import-x:
+ optional: true
- eslint-module-utils@2.8.1:
- resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
+ eslint-module-utils@2.12.0:
+ resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
@@ -2093,72 +2008,48 @@ packages:
eslint-import-resolver-webpack:
optional: true
- eslint-plugin-import@2.29.1:
- resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
+ eslint-plugin-import@2.31.0:
+ resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==}
engines: {node: '>=4'}
peerDependencies:
'@typescript-eslint/parser': '*'
- eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9
peerDependenciesMeta:
'@typescript-eslint/parser':
optional: true
- eslint-plugin-jsx-a11y@6.9.0:
- resolution: {integrity: sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==}
+ eslint-plugin-jsx-a11y@6.10.2:
+ resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==}
engines: {node: '>=4.0'}
peerDependencies:
- eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9
- eslint-plugin-react-hooks@4.6.2:
- resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==}
+ eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705:
+ resolution: {integrity: sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==}
engines: {node: '>=10'}
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
- eslint-plugin-react@7.35.0:
- resolution: {integrity: sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==}
+ eslint-plugin-react@7.37.2:
+ resolution: {integrity: sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==}
engines: {node: '>=4'}
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
- eslint-scope@4.0.3:
- resolution: {integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==}
- engines: {node: '>=4.0.0'}
-
- eslint-scope@5.1.1:
- resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
- engines: {node: '>=8.0.0'}
-
eslint-scope@7.2.2:
resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- eslint-utils@1.4.3:
- resolution: {integrity: sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==}
- engines: {node: '>=6'}
-
- eslint-visitor-keys@1.3.0:
- resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==}
- engines: {node: '>=4'}
-
eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- eslint@5.16.0:
- resolution: {integrity: sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==}
- engines: {node: ^6.14.0 || ^8.10.0 || >=9.10.0}
- hasBin: true
-
- eslint@8.57.0:
- resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
+ eslint@8.57.1:
+ resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
hasBin: true
- espree@5.0.1:
- resolution: {integrity: sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==}
- engines: {node: '>=6.0.0'}
-
espree@9.6.1:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -2176,10 +2067,6 @@ packages:
resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
engines: {node: '>=4.0'}
- estraverse@4.3.0:
- resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
- engines: {node: '>=4.0'}
-
estraverse@5.3.0:
resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
engines: {node: '>=4.0'}
@@ -2193,6 +2080,9 @@ packages:
estree-util-is-identifier-name@3.0.0:
resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
+ estree-util-scope@1.0.0:
+ resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==}
+
estree-util-to-js@2.0.0:
resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
@@ -2209,14 +2099,6 @@ packages:
eventemitter3@5.0.1:
resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==}
- events@3.3.0:
- resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
- engines: {node: '>=0.8.x'}
-
- execa@1.0.0:
- resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
- engines: {node: '>=6'}
-
execa@5.1.1:
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
engines: {node: '>=10'}
@@ -2229,10 +2111,6 @@ packages:
resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
engines: {node: '>= 0.8.0'}
- expand-brackets@2.1.4:
- resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==}
- engines: {node: '>=0.10.0'}
-
expand-tilde@2.0.2:
resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==}
engines: {node: '>=0.10.0'}
@@ -2245,10 +2123,6 @@ packages:
resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
engines: {node: '>=0.10.0'}
- extend-shallow@3.0.2:
- resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==}
- engines: {node: '>=0.10.0'}
-
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
@@ -2256,17 +2130,9 @@ packages:
resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
engines: {node: '>=4'}
- extglob@2.0.4:
- resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==}
- engines: {node: '>=0.10.0'}
-
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
- fast-glob@2.2.7:
- resolution: {integrity: sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==}
- engines: {node: '>=4.0.0'}
-
fast-glob@3.3.2:
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
engines: {node: '>=8.6.0'}
@@ -2280,8 +2146,8 @@ packages:
fast-safe-stringify@2.1.1:
resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
- fast-uri@3.0.1:
- resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==}
+ fast-uri@3.0.3:
+ resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==}
fastq@1.17.1:
resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
@@ -2289,49 +2155,27 @@ packages:
fb-watchman@2.0.2:
resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
- figures@2.0.0:
- resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==}
- engines: {node: '>=4'}
-
figures@3.2.0:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
engines: {node: '>=8'}
- file-entry-cache@5.0.1:
- resolution: {integrity: sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==}
- engines: {node: '>=4'}
-
file-entry-cache@6.0.1:
resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
engines: {node: ^10.12.0 || >=12.0.0}
- file@0.2.2:
- resolution: {integrity: sha512-gwabMtChzdnpDJdPEpz8Vr/PX0pU85KailuPV71Zw/un5yJVKvzukhB3qf6O3lnTwIe5CxlMYLh3jOK3w5xrLA==}
-
filelist@1.0.4:
resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
- fill-range@4.0.0:
- resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==}
- engines: {node: '>=0.10.0'}
-
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
- find-line-column@0.5.2:
- resolution: {integrity: sha512-eNhNkDt5RbxY4X++JwyDURP62FYhV1bh9LF4dfOiwpVCTk5vvfEANhnui5ypUEELGR02QZSrWFtaTgd4ulW5tw==}
-
find-node-modules@2.1.3:
resolution: {integrity: sha512-UC2I2+nx1ZuOBclWVNdcnbDR5dlrOdVb7xNjmT/lHE+LsgztWks3dG7boJ37yTS/venXw84B/mAW9uHVoC5QRg==}
find-root@1.1.0:
resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
- find-up@3.0.0:
- resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
- engines: {node: '>=6'}
-
find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
@@ -2344,45 +2188,39 @@ packages:
resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==}
engines: {node: '>= 8'}
- flat-cache@2.0.1:
- resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==}
- engines: {node: '>=4'}
-
flat-cache@3.2.0:
resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
engines: {node: ^10.12.0 || >=12.0.0}
- flatted@2.0.2:
- resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==}
-
flatted@3.3.1:
resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ follow-redirects@1.15.9:
+ resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
+
for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
- for-in@1.0.2:
- resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==}
- engines: {node: '>=0.10.0'}
-
foreground-child@3.3.0:
resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
engines: {node: '>=14'}
- form-data@4.0.0:
- resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
+ form-data@4.0.1:
+ resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==}
engines: {node: '>= 6'}
- formidable@2.1.2:
- resolution: {integrity: sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==}
+ formidable@3.5.2:
+ resolution: {integrity: sha512-Jqc1btCy3QzRbJaICGwKcBfGWuLADRerLzDqi2NwSt/UkXLsHJw2TVResiaoBufHVHy9aSgClOHCeJsSsFLTbg==}
fraction.js@4.3.7:
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
- fragment-cache@0.2.1:
- resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==}
- engines: {node: '>=0.10.0'}
-
fs-extra@9.1.0:
resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
engines: {node: '>=10'}
@@ -2402,9 +2240,6 @@ packages:
resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
engines: {node: '>= 0.4'}
- functional-red-black-tree@1.0.1:
- resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==}
-
functions-have-names@1.2.3:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
@@ -2417,15 +2252,12 @@ packages:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
- get-caller-file@1.0.3:
- resolution: {integrity: sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==}
-
get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
- get-east-asian-width@1.2.0:
- resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==}
+ get-east-asian-width@1.3.0:
+ resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==}
engines: {node: '>=18'}
get-intrinsic@1.2.4:
@@ -2440,10 +2272,6 @@ packages:
resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
engines: {node: '>=8.0.0'}
- get-stream@4.1.0:
- resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
- engines: {node: '>=6'}
-
get-stream@6.0.1:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
@@ -2456,19 +2284,12 @@ packages:
resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
engines: {node: '>= 0.4'}
- get-tsconfig@4.7.6:
- resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==}
-
- get-value@2.0.6:
- resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
- engines: {node: '>=0.10.0'}
+ get-tsconfig@4.8.1:
+ resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==}
github-slugger@2.0.0:
resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
- glob-parent@3.1.0:
- resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==}
-
glob-parent@5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
engines: {node: '>= 6'}
@@ -2477,12 +2298,6 @@ packages:
resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
engines: {node: '>=10.13.0'}
- glob-to-regexp@0.3.0:
- resolution: {integrity: sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==}
-
- glob-to-regexp@0.4.1:
- resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
-
glob@10.3.10:
resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -2520,14 +2335,6 @@ packages:
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
engines: {node: '>= 0.4'}
- globby@11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
-
- globby@9.2.0:
- resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==}
- engines: {node: '>=6'}
-
gopd@1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
@@ -2537,6 +2344,10 @@ packages:
graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ gray-matter@4.0.3:
+ resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
+ engines: {node: '>=6.0'}
+
has-bigints@1.0.2:
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
@@ -2563,28 +2374,12 @@ packages:
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
engines: {node: '>= 0.4'}
- has-value@0.3.1:
- resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==}
- engines: {node: '>=0.10.0'}
-
- has-value@1.0.0:
- resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==}
- engines: {node: '>=0.10.0'}
-
- has-values@0.1.4:
- resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==}
- engines: {node: '>=0.10.0'}
-
- has-values@1.0.0:
- resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==}
- engines: {node: '>=0.10.0'}
-
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
engines: {node: '>= 0.4'}
- hast-util-from-html@2.0.1:
- resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==}
+ hast-util-from-html@2.0.3:
+ resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==}
hast-util-from-parse5@8.0.1:
resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==}
@@ -2604,11 +2399,11 @@ packages:
hast-util-to-estree@3.1.0:
resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==}
- hast-util-to-jsx-runtime@2.3.0:
- resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==}
+ hast-util-to-jsx-runtime@2.3.2:
+ resolution: {integrity: sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==}
- hast-util-to-string@3.0.0:
- resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==}
+ hast-util-to-string@3.0.1:
+ resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
hast-util-whitespace@3.0.0:
resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
@@ -2623,8 +2418,8 @@ packages:
hastscript@8.0.0:
resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==}
- hexoid@1.0.0:
- resolution: {integrity: sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==}
+ hexoid@2.0.0:
+ resolution: {integrity: sha512-qlspKUK7IlSQv2o+5I7yhUd7TxlOG2Vr5LTa3ve2XSNVKAL/n/u/7KLvKmFNimomDIKvZFXWHv0T12mv7rT8Aw==}
engines: {node: '>=8'}
homedir-polyfill@1.0.3:
@@ -2645,8 +2440,8 @@ packages:
resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
engines: {node: '>=16.17.0'}
- husky@9.1.5:
- resolution: {integrity: sha512-rowAVRUBfI0b4+niA4SJMhfQwc107VLkBUgEYYAOQAbqDCnra1nYh83hF/MDmhYs9t9n1E3DuKOrs2LYNC+0Ag==}
+ husky@9.1.6:
+ resolution: {integrity: sha512-sqbjZKK7kf44hfdE94EoX8MZNk0n7HeW37O4YrVGCF4wzgQjp+akPAkfUK5LZ6KuR/6sqeAVuXHji+RzQgOn5A==}
engines: {node: '>=18'}
hasBin: true
@@ -2657,18 +2452,10 @@ packages:
ieee754@1.2.1:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
- ignore@4.0.6:
- resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==}
- engines: {node: '>= 4'}
-
ignore@5.3.2:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'}
- import-fresh@2.0.0:
- resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==}
- engines: {node: '>=4'}
-
import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
@@ -2681,28 +2468,9 @@ packages:
import-meta-resolve@4.1.0:
resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
- import-sort-cli@6.0.0:
- resolution: {integrity: sha512-Et1NeTefZeThtT/npEZnuXDG07oxZoSN29zUm4WPhZ4YFSqv3LFOLFuNE9RpHjFevVWSEog8+CogP7IlG1U3kg==}
- hasBin: true
-
- import-sort-config@6.0.0:
- resolution: {integrity: sha512-FJpF2F3+30JXqH1rJKeajxoSCHCueai3/0ntDN4y3GJL5pjnLDt/VjCy5FzjH7u0NHnllL/zVEf1wfmsVxJlPQ==}
-
- import-sort-parser-babylon@6.0.0:
- resolution: {integrity: sha512-NyShTiNhTh4Vy7kJUVe6CuvOaQAzzfSIT72wtp3CzGjz8bHjNj59DCAjncuviicmDOgVAgmLuSh1WMcLYAMWGg==}
-
- import-sort-parser-typescript@6.0.0:
- resolution: {integrity: sha512-pgxnr3I156DonupQriNsgDb2zJN9TxrqCCIN1rwT/6SDO1rkJb+a0fjqshCjlgacTSA92oPAp1eAwmQUeZi3dw==}
-
import-sort-parser@6.0.0:
resolution: {integrity: sha512-H5L+d6HnqHvThB0GmAA3/43Sv74oCwL0iMk3/ixOv0LRJ69rCyHXeG/+UadMHrD2FefEmgPIWboEPAG7gsQrkA==}
- import-sort-style-eslint@6.0.0:
- resolution: {integrity: sha512-L2SfLHtsvlQ1dCtQHHngmFBQebmhKSI3YRrPdgEKu/nI8eY35GQtkQ+Mf489q3BLdQSiFaKCxwJMVsKlRFSQBA==}
-
- import-sort-style-module@6.0.0:
- resolution: {integrity: sha512-Oxd256EVt6TAgawhIDuKnNHWumzHMHFWhVncBBvlHVnx69B4GP/Gu4Xo+gjxtqSEKEvam5ajUkNvnsXLDMDjKg==}
-
import-sort-style@6.0.0:
resolution: {integrity: sha512-z0H5PKs7YoDeKxNYXv2AA1mjjZFY07fjeNCXUdTM3ymJtWeeEoTm8CQkFm2l+KPZoMczIvdwzJpWkkOamBnsPw==}
@@ -2730,12 +2498,8 @@ packages:
inline-style-parser@0.1.1:
resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
- inline-style-parser@0.2.3:
- resolution: {integrity: sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==}
-
- inquirer@6.5.2:
- resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==}
- engines: {node: '>=6.0.0'}
+ inline-style-parser@0.2.4:
+ resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==}
inquirer@8.2.5:
resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==}
@@ -2748,24 +2512,12 @@ packages:
invariant@2.2.4:
resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
- invert-kv@2.0.0:
- resolution: {integrity: sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==}
- engines: {node: '>=4'}
-
- is-accessor-descriptor@1.0.1:
- resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==}
- engines: {node: '>= 0.10'}
-
is-alphabetical@2.0.1:
resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
is-alphanumerical@2.0.1:
resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
- is-arguments@1.1.1:
- resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
- engines: {node: '>= 0.4'}
-
is-array-buffer@3.0.4:
resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
engines: {node: '>= 0.4'}
@@ -2773,6 +2525,9 @@ packages:
is-arrayish@0.2.1:
resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ is-arrayish@0.3.2:
+ resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
+
is-async-function@2.0.0:
resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
engines: {node: '>= 0.4'}
@@ -2788,23 +2543,19 @@ packages:
resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
engines: {node: '>= 0.4'}
- is-buffer@1.1.6:
- resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
-
is-builtin-module@3.2.1:
resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
engines: {node: '>=6'}
+ is-bun-module@1.2.1:
+ resolution: {integrity: sha512-AmidtEM6D6NmUiLOvvU7+IePxjEjOzra2h0pSrsfSAcXwl/83zLLXDByafUJy9k/rKK0pvXMLdwKwGHlX2Ke6Q==}
+
is-callable@1.2.7:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
- is-core-module@2.15.0:
- resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==}
- engines: {node: '>= 0.4'}
-
- is-data-descriptor@1.0.1:
- resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==}
+ is-core-module@2.15.1:
+ resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
engines: {node: '>= 0.4'}
is-data-view@1.0.1:
@@ -2818,26 +2569,10 @@ packages:
is-decimal@2.0.1:
resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
- is-descriptor@0.1.7:
- resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==}
- engines: {node: '>= 0.4'}
-
- is-descriptor@1.0.3:
- resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==}
- engines: {node: '>= 0.4'}
-
- is-directory@0.3.1:
- resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==}
- engines: {node: '>=0.10.0'}
-
is-extendable@0.1.1:
resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
engines: {node: '>=0.10.0'}
- is-extendable@1.0.1:
- resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
- engines: {node: '>=0.10.0'}
-
is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -2845,14 +2580,6 @@ packages:
is-finalizationregistry@1.0.2:
resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
- is-fullwidth-code-point@1.0.0:
- resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==}
- engines: {node: '>=0.10.0'}
-
- is-fullwidth-code-point@2.0.0:
- resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==}
- engines: {node: '>=4'}
-
is-fullwidth-code-point@3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
@@ -2873,10 +2600,6 @@ packages:
resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
engines: {node: '>= 0.4'}
- is-glob@3.1.0:
- resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==}
- engines: {node: '>=0.10.0'}
-
is-glob@4.0.3:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
@@ -2900,10 +2623,6 @@ packages:
resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
engines: {node: '>= 0.4'}
- is-number@3.0.0:
- resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==}
- engines: {node: '>=0.10.0'}
-
is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
@@ -2916,13 +2635,6 @@ packages:
resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
engines: {node: '>=12'}
- is-plain-object@2.0.4:
- resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
- engines: {node: '>=0.10.0'}
-
- is-reference@3.0.2:
- resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==}
-
is-regex@1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
engines: {node: '>= 0.4'}
@@ -2935,10 +2647,6 @@ packages:
resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
engines: {node: '>= 0.4'}
- is-stream@1.1.0:
- resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
- engines: {node: '>=0.10.0'}
-
is-stream@2.0.1:
resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
engines: {node: '>=8'}
@@ -2981,23 +2689,12 @@ packages:
resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
engines: {node: '>=0.10.0'}
- isarray@1.0.0:
- resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
-
isarray@2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
- isobject@2.1.0:
- resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==}
- engines: {node: '>=0.10.0'}
-
- isobject@3.0.1:
- resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
- engines: {node: '>=0.10.0'}
-
istanbul-lib-coverage@3.2.2:
resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
engines: {node: '>=8'}
@@ -3022,8 +2719,9 @@ packages:
resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
engines: {node: '>=8'}
- iterator.prototype@1.1.2:
- resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
+ iterator.prototype@1.1.3:
+ resolution: {integrity: sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==}
+ engines: {node: '>= 0.4'}
jackspeak@2.3.6:
resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
@@ -3152,10 +2850,6 @@ packages:
resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- jest-worker@27.5.1:
- resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
- engines: {node: '>= 10.13.0'}
-
jest-worker@29.7.0:
resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
@@ -3185,9 +2879,9 @@ packages:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
- jsesc@2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
+ jsesc@3.0.2:
+ resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
+ engines: {node: '>=6'}
hasBin: true
json-buffer@3.0.1:
@@ -3227,14 +2921,6 @@ packages:
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
- kind-of@3.2.2:
- resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==}
- engines: {node: '>=0.10.0'}
-
- kind-of@4.0.0:
- resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==}
- engines: {node: '>=0.10.0'}
-
kind-of@6.0.3:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
engines: {node: '>=0.10.0'}
@@ -3250,18 +2936,10 @@ packages:
resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
engines: {node: '>=0.10'}
- lcid@2.0.0:
- resolution: {integrity: sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==}
- engines: {node: '>=6'}
-
leven@3.1.0:
resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
engines: {node: '>=6'}
- levn@0.3.0:
- resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==}
- engines: {node: '>= 0.8.0'}
-
levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
@@ -3277,27 +2955,19 @@ packages:
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
- lint-staged@15.2.9:
- resolution: {integrity: sha512-BZAt8Lk3sEnxw7tfxM7jeZlPRuT4M68O0/CwZhhaw6eeWu0Lz5eERE3m386InivXB64fp/mDID452h48tvKlRQ==}
+ lint-staged@15.2.10:
+ resolution: {integrity: sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==}
engines: {node: '>=18.12.0'}
hasBin: true
- listr2@8.2.4:
- resolution: {integrity: sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==}
+ listr2@8.2.5:
+ resolution: {integrity: sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==}
engines: {node: '>=18.0.0'}
load-json-file@4.0.0:
resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==}
engines: {node: '>=4'}
- loader-runner@4.3.0:
- resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
- engines: {node: '>=6.11.5'}
-
- locate-path@3.0.0:
- resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
- engines: {node: '>=6'}
-
locate-path@5.0.0:
resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
engines: {node: '>=8'}
@@ -3355,10 +3025,10 @@ packages:
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
- lucide-react@0.368.0:
- resolution: {integrity: sha512-soryVrCjheZs8rbXKdINw9B8iPi5OajBJZMJ1HORig89ljcOcEokKKAgGbg3QWxSXel7JwHOfDFUdDHAKyUAMw==}
+ lucide-react@0.435.0:
+ resolution: {integrity: sha512-we5GKfzjMDw9m9SsyZJvWim9qaT+Ya5kaRS+OGFqgLqXUrPM1h+7CiMw5pKdEIoaBqfXz2pyv9TASAdpIAJs0Q==}
peerDependencies:
- react: ^16.5.1 || ^17.0.0 || ^18.0.0
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc
make-dir@4.0.0:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
@@ -3370,30 +3040,18 @@ packages:
makeerror@1.0.12:
resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
- map-age-cleaner@0.1.3:
- resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==}
- engines: {node: '>=6'}
-
- map-cache@0.2.2:
- resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==}
- engines: {node: '>=0.10.0'}
-
- map-visit@1.0.0:
- resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==}
- engines: {node: '>=0.10.0'}
-
markdown-extensions@2.0.0:
resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
engines: {node: '>=16'}
- markdown-table@3.0.3:
- resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
+ markdown-table@3.0.4:
+ resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
mdast-util-find-and-replace@3.0.1:
resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
- mdast-util-from-markdown@2.0.1:
- resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==}
+ mdast-util-from-markdown@2.0.2:
+ resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==}
mdast-util-gfm-autolink-literal@2.0.1:
resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
@@ -3413,11 +3071,11 @@ packages:
mdast-util-gfm@3.0.0:
resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
- mdast-util-mdx-expression@2.0.0:
- resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==}
+ mdast-util-mdx-expression@2.0.1:
+ resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
- mdast-util-mdx-jsx@3.1.2:
- resolution: {integrity: sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==}
+ mdast-util-mdx-jsx@3.1.3:
+ resolution: {integrity: sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==}
mdast-util-mdx@3.0.0:
resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
@@ -3431,16 +3089,12 @@ packages:
mdast-util-to-hast@13.2.0:
resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==}
- mdast-util-to-markdown@2.1.0:
- resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
+ mdast-util-to-markdown@2.1.1:
+ resolution: {integrity: sha512-OrkcCoqAkEg9b1ykXBrA0ehRc8H4fGU/03cACmW2xXzau1+dIdS+qJugh1Cqex3hMumSBgSE/5pc7uqP12nLAw==}
mdast-util-to-string@4.0.0:
resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
- mem@4.3.0:
- resolution: {integrity: sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==}
- engines: {node: '>=6'}
-
memorystream@0.3.1:
resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==}
engines: {node: '>= 0.10.0'}
@@ -3486,8 +3140,8 @@ packages:
micromark-extension-mdx-expression@3.0.0:
resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==}
- micromark-extension-mdx-jsx@3.0.0:
- resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==}
+ micromark-extension-mdx-jsx@3.0.1:
+ resolution: {integrity: sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==}
micromark-extension-mdx-md@2.0.0:
resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
@@ -3504,8 +3158,8 @@ packages:
micromark-factory-label@2.0.0:
resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
- micromark-factory-mdx-expression@2.0.1:
- resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==}
+ micromark-factory-mdx-expression@2.0.2:
+ resolution: {integrity: sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==}
micromark-factory-space@2.0.0:
resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
@@ -3564,12 +3218,8 @@ packages:
micromark@4.0.0:
resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
- micromatch@3.1.10:
- resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==}
- engines: {node: '>=0.10.0'}
-
- micromatch@4.0.7:
- resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
mime-db@1.52.0:
@@ -3585,10 +3235,6 @@ packages:
engines: {node: '>=4.0.0'}
hasBin: true
- mimic-fn@1.2.0:
- resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==}
- engines: {node: '>=4'}
-
mimic-fn@2.1.0:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
@@ -3608,10 +3254,6 @@ packages:
resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
engines: {node: '>=10'}
- minimatch@9.0.3:
- resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
- engines: {node: '>=16 || 14 >=14.17'}
-
minimatch@9.0.5:
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -3626,26 +3268,9 @@ packages:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
- mixin-deep@1.3.2:
- resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==}
- engines: {node: '>=0.10.0'}
-
- mkdirp@0.5.6:
- resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
- hasBin: true
-
- ms@2.0.0:
- resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
-
- ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
-
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
- mute-stream@0.0.7:
- resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==}
-
mute-stream@0.0.8:
resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
@@ -3657,16 +3282,9 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- nanomatch@1.2.13:
- resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==}
- engines: {node: '>=0.10.0'}
-
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- neo-async@2.6.2:
- resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
-
next-mdx-remote@5.0.0:
resolution: {integrity: sha512-RNNbqRpK9/dcIFZs/esQhuLA8jANqlH694yqoDBK8hkVdJUndzzGmnPHa2nyi90N4Z9VmzuSWNRpr5ItT3M7xQ==}
engines: {node: '>=14', npm: '>=7'}
@@ -3679,8 +3297,8 @@ packages:
react: ^16.8 || ^17 || ^18
react-dom: ^16.8 || ^17 || ^18
- next@14.2.5:
- resolution: {integrity: sha512-0f8aRfBVL+mpzfBjYfQuLWh2WyAwtJXCRfkPF4UJ5qd2YwrHczsrSzXU4tRMV0OAxR8ZJZWPFn6uhSC56UTsLA==}
+ next@14.2.16:
+ resolution: {integrity: sha512-LcO7WnFu6lYSvCzZoo1dB+IO0xXz5uEv52HF1IUN0IqVTUIZGHuuR10I5efiLadGt+4oZqTcNZyVVEem/TM5nA==}
engines: {node: '>=18.17.0'}
hasBin: true
peerDependencies:
@@ -3700,6 +3318,10 @@ packages:
nice-try@1.0.5:
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
+ node-cache@5.1.2:
+ resolution: {integrity: sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg==}
+ engines: {node: '>= 8.0.0'}
+
node-int64@0.4.0:
resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
@@ -3722,10 +3344,6 @@ packages:
engines: {node: '>= 4'}
hasBin: true
- npm-run-path@2.0.2:
- resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
- engines: {node: '>=4'}
-
npm-run-path@4.0.1:
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
engines: {node: '>=8'}
@@ -3734,18 +3352,13 @@ packages:
resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- number-is-nan@1.0.1:
- resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==}
- engines: {node: '>=0.10.0'}
+ nprogress@0.2.0:
+ resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==}
object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
- object-copy@0.1.0:
- resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==}
- engines: {node: '>=0.10.0'}
-
object-hash@3.0.0:
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
engines: {node: '>= 6'}
@@ -3754,18 +3367,10 @@ packages:
resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
engines: {node: '>= 0.4'}
- object-is@1.1.6:
- resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==}
- engines: {node: '>= 0.4'}
-
object-keys@1.1.1:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
engines: {node: '>= 0.4'}
- object-visit@1.0.1:
- resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==}
- engines: {node: '>=0.10.0'}
-
object.assign@4.1.5:
resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
engines: {node: '>= 0.4'}
@@ -3782,10 +3387,6 @@ packages:
resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
engines: {node: '>= 0.4'}
- object.pick@1.3.0:
- resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==}
- engines: {node: '>=0.10.0'}
-
object.values@1.2.0:
resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
engines: {node: '>= 0.4'}
@@ -3793,10 +3394,6 @@ packages:
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
- onetime@2.0.1:
- resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==}
- engines: {node: '>=4'}
-
onetime@5.1.2:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
@@ -3809,10 +3406,6 @@ packages:
resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
engines: {node: '>=18'}
- optionator@0.8.3:
- resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
- engines: {node: '>= 0.8.0'}
-
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
@@ -3821,26 +3414,10 @@ packages:
resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
engines: {node: '>=10'}
- os-locale@3.1.0:
- resolution: {integrity: sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==}
- engines: {node: '>=6'}
-
os-tmpdir@1.0.2:
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
engines: {node: '>=0.10.0'}
- p-defer@1.0.0:
- resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==}
- engines: {node: '>=4'}
-
- p-finally@1.0.0:
- resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
- engines: {node: '>=4'}
-
- p-is-promise@2.1.0:
- resolution: {integrity: sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==}
- engines: {node: '>=6'}
-
p-limit@2.3.0:
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
engines: {node: '>=6'}
@@ -3849,10 +3426,6 @@ packages:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
- p-locate@3.0.0:
- resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
- engines: {node: '>=6'}
-
p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
engines: {node: '>=8'}
@@ -3865,8 +3438,8 @@ packages:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
- package-json-from-dist@1.0.0:
- resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==}
+ 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==}
@@ -3890,19 +3463,8 @@ packages:
resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==}
engines: {node: '>=0.10.0'}
- parse5@7.1.2:
- resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
-
- pascalcase@0.1.1:
- resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==}
- engines: {node: '>=0.10.0'}
-
- path-dirname@1.0.2:
- resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==}
-
- path-exists@3.0.0:
- resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
- engines: {node: '>=4'}
+ parse5@7.2.1:
+ resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==}
path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
@@ -3912,9 +3474,6 @@ packages:
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
engines: {node: '>=0.10.0'}
- path-is-inside@1.0.2:
- resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==}
-
path-key@2.0.1:
resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
engines: {node: '>=4'}
@@ -3938,15 +3497,12 @@ packages:
resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==}
engines: {node: '>=4'}
- path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
-
- periscopic@3.1.0:
- resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
+ phin@3.7.1:
+ resolution: {integrity: sha512-GEazpTWwTZaEQ9RhL7Nyz0WwqilbqgLahDM3D0hxWwmVDI52nXEybHqiN6/elwpkJBhcuj+WbBu+QfT0uhPGfQ==}
+ engines: {node: '>= 8'}
- picocolors@1.0.1:
- resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
@@ -3970,10 +3526,6 @@ packages:
resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
engines: {node: '>=4'}
- pify@4.0.1:
- resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
- engines: {node: '>=6'}
-
pirates@4.0.6:
resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
engines: {node: '>= 6'}
@@ -3982,10 +3534,6 @@ packages:
resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
engines: {node: '>=8'}
- posix-character-classes@0.1.1:
- resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==}
- engines: {node: '>=0.10.0'}
-
possible-typed-array-names@1.0.0:
resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
engines: {node: '>= 0.4'}
@@ -3996,6 +3544,12 @@ packages:
peerDependencies:
postcss: ^8.0.0
+ postcss-import@16.1.0:
+ resolution: {integrity: sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+
postcss-js@4.0.1:
resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
engines: {node: ^12 || ^14 || >= 16}
@@ -4035,14 +3589,10 @@ packages:
resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
engines: {node: ^10 || ^12 || >=14}
- postcss@8.4.41:
- resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==}
+ postcss@8.4.47:
+ resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
engines: {node: ^10 || ^12 || >=14}
- prelude-ls@1.1.2:
- resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==}
- engines: {node: '>= 0.8.0'}
-
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -4056,10 +3606,6 @@ packages:
resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- progress@2.0.3:
- resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
- engines: {node: '>=0.4.0'}
-
prompts@2.4.2:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
@@ -4070,9 +3616,6 @@ packages:
property-information@6.5.0:
resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
- pump@3.0.0:
- resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
-
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
@@ -4087,9 +3630,6 @@ packages:
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
- randombytes@2.1.0:
- resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
-
react-dom@18.3.1:
resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
peerDependencies:
@@ -4111,8 +3651,8 @@ packages:
'@types/react':
optional: true
- react-remove-scroll@2.5.7:
- resolution: {integrity: sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==}
+ react-remove-scroll@2.6.0:
+ resolution: {integrity: sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==}
engines: {node: '>=10'}
peerDependencies:
'@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -4150,8 +3690,17 @@ packages:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
- reflect-metadata@0.2.2:
- resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==}
+ recma-build-jsx@1.0.0:
+ resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
+
+ recma-jsx@1.0.0:
+ resolution: {integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==}
+
+ recma-parse@1.0.0:
+ resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==}
+
+ recma-stringify@1.0.0:
+ resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==}
reflect.getprototypeof@1.0.6:
resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
@@ -4160,18 +3709,10 @@ packages:
refractor@4.8.1:
resolution: {integrity: sha512-/fk5sI0iTgFYlmVGYVew90AoYnNMP6pooClx/XKqyeeCQXrL0Kvgn8V0VEht5ccdljbzzF1i3Q213gcntkRExg==}
- regex-not@1.0.2:
- resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==}
- engines: {node: '>=0.10.0'}
-
- regexp.prototype.flags@1.5.2:
- resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
+ regexp.prototype.flags@1.5.3:
+ resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==}
engines: {node: '>= 0.4'}
- regexpp@2.0.1:
- resolution: {integrity: sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==}
- engines: {node: '>=6.5.0'}
-
rehype-autolink-headings@7.1.0:
resolution: {integrity: sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw==}
@@ -4179,38 +3720,33 @@ packages:
resolution: {integrity: sha512-bSr2YJ0GHbHFarUNDZ3VpcGi9HqjLNrA9Lj3nuyox2aGGLhN53dFP2WJtPRnnRqU/vpbCatIgOYxEvWP1YYKrw==}
engines: {node: '>=16'}
- rehype-parse@9.0.0:
- resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==}
+ rehype-parse@9.0.1:
+ resolution: {integrity: sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==}
rehype-prism-plus@2.0.0:
resolution: {integrity: sha512-FeM/9V2N7EvDZVdR2dqhAzlw5YI49m9Tgn7ZrYJeYHIahM6gcXpH0K1y2gNnKanZCydOMluJvX2cB9z3lhY8XQ==}
+ rehype-recma@1.0.0:
+ resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
+
rehype-slug@6.0.0:
resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==}
remark-gfm@4.0.0:
resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==}
- remark-mdx@3.0.1:
- resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==}
+ remark-mdx@3.1.0:
+ resolution: {integrity: sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==}
remark-parse@11.0.0:
resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
- remark-rehype@11.1.0:
- resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==}
+ remark-rehype@11.1.1:
+ resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==}
remark-stringify@11.0.0:
resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
- repeat-element@1.1.4:
- resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==}
- engines: {node: '>=0.10.0'}
-
- repeat-string@1.6.1:
- resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
- engines: {node: '>=0.10'}
-
require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
@@ -4219,9 +3755,6 @@ packages:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
- require-main-filename@1.0.1:
- resolution: {integrity: sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==}
-
resolve-cwd@3.0.0:
resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
engines: {node: '>=8'}
@@ -4230,10 +3763,6 @@ packages:
resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==}
engines: {node: '>=0.10.0'}
- resolve-from@3.0.0:
- resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==}
- engines: {node: '>=4'}
-
resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
@@ -4245,10 +3774,6 @@ packages:
resolve-pkg-maps@1.0.0:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
- resolve-url@0.2.1:
- resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==}
- deprecated: https://github.com/lydell/resolve-url#deprecated
-
resolve.exports@2.0.2:
resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
engines: {node: '>=10'}
@@ -4261,10 +3786,6 @@ packages:
resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
hasBin: true
- restore-cursor@2.0.0:
- resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==}
- engines: {node: '>=4'}
-
restore-cursor@3.1.0:
resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
engines: {node: '>=8'}
@@ -4273,10 +3794,6 @@ packages:
resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
engines: {node: '>=18'}
- ret@0.1.15:
- resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==}
- engines: {node: '>=0.12'}
-
reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
@@ -4284,11 +3801,6 @@ packages:
rfdc@1.4.1:
resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
- rimraf@2.6.3:
- resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==}
- deprecated: Rimraf versions prior to v4 are no longer supported
- hasBin: true
-
rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
deprecated: Rimraf versions prior to v4 are no longer supported
@@ -4301,10 +3813,6 @@ packages:
run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
- rxjs@6.6.7:
- resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==}
- engines: {npm: '>=2.0.0'}
-
rxjs@7.8.1:
resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
@@ -4319,18 +3827,15 @@ packages:
resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
engines: {node: '>= 0.4'}
- safe-regex@1.1.0:
- resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==}
-
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
scheduler@0.23.2:
resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
- schema-utils@3.3.0:
- resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
- engines: {node: '>= 10.13.0'}
+ section-matter@1.0.0:
+ resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
+ engines: {node: '>=4'}
semver@5.7.2:
resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
@@ -4345,15 +3850,9 @@ packages:
engines: {node: '>=10'}
hasBin: true
- serialize-javascript@6.0.2:
- resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
-
server-only@0.0.1:
resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==}
- set-blocking@2.0.0:
- resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
-
set-function-length@1.2.2:
resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
engines: {node: '>= 0.4'}
@@ -4362,9 +3861,9 @@ packages:
resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
engines: {node: '>= 0.4'}
- set-value@2.0.1:
- resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==}
- engines: {node: '>=0.10.0'}
+ sharp@0.33.5:
+ resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
shebang-command@1.2.0:
resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
@@ -4396,21 +3895,16 @@ packages:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
+ simple-swizzle@0.2.2:
+ resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
+
sisteransi@1.0.5:
resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
- slash@2.0.0:
- resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==}
- engines: {node: '>=6'}
-
slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
- slice-ansi@2.1.0:
- resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==}
- engines: {node: '>=6'}
-
slice-ansi@5.0.0:
resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
engines: {node: '>=12'}
@@ -4419,40 +3913,16 @@ packages:
resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==}
engines: {node: '>=18'}
- snapdragon-node@2.1.1:
- resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==}
- engines: {node: '>=0.10.0'}
-
- snapdragon-util@3.0.1:
- resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==}
- engines: {node: '>=0.10.0'}
-
- snapdragon@0.8.2:
- resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==}
- engines: {node: '>=0.10.0'}
-
- source-map-js@1.2.0:
- resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
- source-map-resolve@0.5.3:
- resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==}
- deprecated: See https://github.com/lydell/source-map-resolve#deprecated
-
source-map-support@0.5.13:
resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
- source-map-url@0.4.1:
- resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==}
- deprecated: See https://github.com/lydell/source-map-url#deprecated
-
- source-map@0.5.7:
- resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
- engines: {node: '>=0.10.0'}
-
source-map@0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
@@ -4476,10 +3946,6 @@ packages:
spdx-license-ids@3.0.20:
resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==}
- split-string@3.1.0:
- resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
- engines: {node: '>=0.10.0'}
-
sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
@@ -4487,14 +3953,6 @@ packages:
resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
engines: {node: '>=10'}
- static-extend@0.1.2:
- resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==}
- engines: {node: '>=0.10.0'}
-
- stop-iteration-iterator@1.0.0:
- resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
- engines: {node: '>= 0.4'}
-
streamsearch@1.1.0:
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
engines: {node: '>=10.0.0'}
@@ -4507,18 +3965,6 @@ packages:
resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
engines: {node: '>=10'}
- string-width@1.0.2:
- resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==}
- engines: {node: '>=0.10.0'}
-
- string-width@2.1.1:
- resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==}
- engines: {node: '>=4'}
-
- string-width@3.1.0:
- resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==}
- engines: {node: '>=6'}
-
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -4531,8 +3977,9 @@ packages:
resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
engines: {node: '>=18'}
- string.prototype.includes@2.0.0:
- resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==}
+ string.prototype.includes@2.0.1:
+ resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==}
+ engines: {node: '>= 0.4'}
string.prototype.matchall@4.0.11:
resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
@@ -4562,18 +4009,6 @@ packages:
stringify-entities@4.0.4:
resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
- strip-ansi@3.0.1:
- resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
- engines: {node: '>=0.10.0'}
-
- strip-ansi@4.0.0:
- resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==}
- engines: {node: '>=4'}
-
- strip-ansi@5.2.0:
- resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==}
- engines: {node: '>=6'}
-
strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@@ -4582,6 +4017,10 @@ packages:
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
engines: {node: '>=12'}
+ strip-bom-string@1.0.0:
+ resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==}
+ engines: {node: '>=0.10.0'}
+
strip-bom@3.0.0:
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
engines: {node: '>=4'}
@@ -4590,10 +4029,6 @@ packages:
resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
engines: {node: '>=8'}
- strip-eof@1.0.0:
- resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
- engines: {node: '>=0.10.0'}
-
strip-final-newline@2.0.0:
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
engines: {node: '>=6'}
@@ -4602,10 +4037,6 @@ packages:
resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
engines: {node: '>=12'}
- strip-json-comments@2.0.1:
- resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==}
- engines: {node: '>=0.10.0'}
-
strip-json-comments@3.1.1:
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
engines: {node: '>=8'}
@@ -4613,8 +4044,8 @@ packages:
style-to-object@0.4.4:
resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
- style-to-object@1.0.6:
- resolution: {integrity: sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==}
+ style-to-object@1.0.8:
+ resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==}
styled-jsx@5.1.1:
resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
@@ -4634,14 +4065,13 @@ packages:
engines: {node: '>=16 || 14 >=14.17'}
hasBin: true
- superagent@8.1.2:
- resolution: {integrity: sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==}
- engines: {node: '>=6.4.0 <13 || >=14'}
- deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net
+ superagent@9.0.2:
+ resolution: {integrity: sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==}
+ engines: {node: '>=14.18.0'}
- supertest@6.3.4:
- resolution: {integrity: sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==}
- engines: {node: '>=6.4.0'}
+ supertest@7.0.0:
+ resolution: {integrity: sha512-qlsr7fIC0lSddmA3tzojvzubYxvlGtzumcdHgPwbFWMISQwL22MhM2Y3LNt+6w9Yyx7559VW5ab70dgphm8qQA==}
+ engines: {node: '>=14.18.0'}
supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
@@ -4659,20 +4089,21 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
- table@5.4.6:
- resolution: {integrity: sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==}
- engines: {node: '>=6.0.0'}
+ swr@2.2.5:
+ resolution: {integrity: sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==}
+ peerDependencies:
+ react: ^16.11.0 || ^17.0.0 || ^18.0.0
- tailwind-merge@2.5.2:
- resolution: {integrity: sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==}
+ tailwind-merge@2.5.4:
+ resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==}
tailwindcss-animate@1.0.7:
resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
peerDependencies:
tailwindcss: '>=3.0.0 || insiders'
- tailwindcss@3.4.10:
- resolution: {integrity: sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==}
+ tailwindcss@3.4.14:
+ resolution: {integrity: sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==}
engines: {node: '>=14.0.0'}
hasBin: true
@@ -4680,27 +4111,6 @@ packages:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
- terser-webpack-plugin@5.3.10:
- resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
- engines: {node: '>= 10.13.0'}
- peerDependencies:
- '@swc/core': '*'
- esbuild: '*'
- uglify-js: '*'
- webpack: ^5.1.0
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- esbuild:
- optional: true
- uglify-js:
- optional: true
-
- terser@5.31.6:
- resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==}
- engines: {node: '>=10'}
- hasBin: true
-
test-exclude@6.0.0:
resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
engines: {node: '>=8'}
@@ -4725,34 +4135,18 @@ packages:
tmpl@1.0.5:
resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
- to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
-
- to-object-path@0.3.0:
- resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==}
- engines: {node: '>=0.10.0'}
-
- to-regex-range@2.1.1:
- resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==}
- engines: {node: '>=0.10.0'}
-
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
- to-regex@3.0.2:
- resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==}
- engines: {node: '>=0.10.0'}
-
trim-lines@3.0.1:
resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
trough@2.2.0:
resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
- ts-api-utils@1.3.0:
- resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
+ ts-api-utils@1.4.0:
+ resolution: {integrity: sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==}
engines: {node: '>=16'}
peerDependencies:
typescript: '>=4.2.0'
@@ -4760,8 +4154,8 @@ packages:
ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
- ts-jest@29.2.4:
- resolution: {integrity: sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw==}
+ ts-jest@29.2.5:
+ resolution: {integrity: sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==}
engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@@ -4784,43 +4178,11 @@ packages:
esbuild:
optional: true
- ts-loader@9.5.1:
- resolution: {integrity: sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==}
- engines: {node: '>=12.0.0'}
- peerDependencies:
- typescript: '*'
- webpack: ^5.0.0
-
- ts-node@10.9.2:
- resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
- hasBin: true
- peerDependencies:
- '@swc/core': '>=1.2.50'
- '@swc/wasm': '>=1.2.50'
- '@types/node': '*'
- typescript: '>=2.7'
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- '@swc/wasm':
- optional: true
-
tsconfig-paths@3.15.0:
resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
- tsconfig-paths@4.2.0:
- resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
- engines: {node: '>=6'}
-
- tslib@1.14.1:
- resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
-
- tslib@2.6.3:
- resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
-
- type-check@0.3.2:
- resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==}
- engines: {node: '>= 0.8.0'}
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
@@ -4854,13 +4216,8 @@ packages:
resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
engines: {node: '>= 0.4'}
- typescript@3.9.10:
- resolution: {integrity: sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==}
- engines: {node: '>=4.2.0'}
- hasBin: true
-
- typescript@5.5.4:
- resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==}
+ typescript@5.6.3:
+ resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
engines: {node: '>=14.17'}
hasBin: true
@@ -4873,10 +4230,6 @@ packages:
unified@11.0.5:
resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
- union-value@1.0.1:
- resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==}
- engines: {node: '>=0.10.0'}
-
unist-util-filter@5.0.1:
resolution: {integrity: sha512-pHx7D4Zt6+TsfwylH9+lYhBhzyhEnCXs/lbq/Hstxno5z4gVdyc2WEW0asfjGKPyG4pEKrnBv5hdkO6+aRnQJw==}
@@ -4892,9 +4245,6 @@ packages:
unist-util-position@5.0.0:
resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
- unist-util-remove-position@5.0.0:
- resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==}
-
unist-util-remove@3.1.1:
resolution: {integrity: sha512-kfCqZK5YVY5yEa89tvpl7KnBBHu2c6CzMkqHUrlOqaRgGOMp0sMvwWOVrbAtj03KhovQB7i96Gda72v/EFE0vw==}
@@ -4917,12 +4267,8 @@ packages:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'}
- unset-value@1.0.0:
- resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==}
- engines: {node: '>=0.10.0'}
-
- update-browserslist-db@1.1.0:
- resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
+ update-browserslist-db@1.1.1:
+ resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
@@ -4930,10 +4276,6 @@ packages:
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
- urix@0.1.0:
- resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==}
- deprecated: Please see https://github.com/lydell/urix#deprecated
-
use-callback-ref@1.3.2:
resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==}
engines: {node: '>=10'}
@@ -4954,16 +4296,14 @@ packages:
'@types/react':
optional: true
- use@3.1.1:
- resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==}
- engines: {node: '>=0.10.0'}
+ use-sync-external-store@1.2.2:
+ resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- v8-compile-cache-lib@3.0.1:
- resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
-
v8-to-istanbul@9.3.0:
resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==}
engines: {node: '>=10.12.0'}
@@ -4980,36 +4320,18 @@ packages:
vfile-message@4.0.2:
resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
- vfile@6.0.2:
- resolution: {integrity: sha512-zND7NlS8rJYb/sPqkb13ZvbbUoExdbi4w3SfRrMq6R3FvnLQmmfpajJNITuuYm6AZ5uao9vy4BAos3EXBPf2rg==}
+ vfile@6.0.3:
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
walker@1.0.8:
resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
- watchpack@2.4.2:
- resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==}
- engines: {node: '>=10.13.0'}
-
wcwidth@1.0.1:
resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
web-namespaces@2.0.1:
resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
- webpack-sources@3.2.3:
- resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
- engines: {node: '>=10.13.0'}
-
- webpack@5.93.0:
- resolution: {integrity: sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==}
- engines: {node: '>=10.13.0'}
- hasBin: true
- peerDependencies:
- webpack-cli: '*'
- peerDependenciesMeta:
- webpack-cli:
- optional: true
-
which-boxed-primitive@1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
@@ -5021,9 +4343,6 @@ packages:
resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
engines: {node: '>= 0.4'}
- which-module@2.0.1:
- resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
-
which-typed-array@1.1.15:
resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
engines: {node: '>= 0.4'}
@@ -5041,10 +4360,6 @@ packages:
resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
engines: {node: '>=0.10.0'}
- wrap-ansi@2.1.0:
- resolution: {integrity: sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==}
- engines: {node: '>=0.10.0'}
-
wrap-ansi@7.0.0:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
engines: {node: '>=10'}
@@ -5064,13 +4379,6 @@ packages:
resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
- write@1.0.3:
- resolution: {integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==}
- engines: {node: '>=4'}
-
- y18n@4.0.3:
- resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
-
y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
@@ -5078,29 +4386,24 @@ packages:
yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- yaml@2.5.0:
- resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==}
+ yaml@2.5.1:
+ resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==}
engines: {node: '>= 14'}
hasBin: true
- yargs-parser@11.1.1:
- resolution: {integrity: sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==}
+ yaml@2.6.0:
+ resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==}
+ engines: {node: '>= 14'}
+ hasBin: true
yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
- yargs@12.0.5:
- resolution: {integrity: sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==}
-
yargs@17.7.2:
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
engines: {node: '>=12'}
- yn@3.1.1:
- resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
- engines: {node: '>=6'}
-
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
@@ -5117,225 +4420,211 @@ snapshots:
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
- '@babel/code-frame@7.24.7':
+ '@babel/code-frame@7.26.2':
dependencies:
- '@babel/highlight': 7.24.7
- picocolors: 1.0.1
+ '@babel/helper-validator-identifier': 7.25.9
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
- '@babel/compat-data@7.25.2': {}
+ '@babel/compat-data@7.26.2': {}
- '@babel/core@7.25.2':
+ '@babel/core@7.26.0':
dependencies:
'@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.24.7
- '@babel/generator': 7.25.0
- '@babel/helper-compilation-targets': 7.25.2
- '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2)
- '@babel/helpers': 7.25.0
- '@babel/parser': 7.25.3
- '@babel/template': 7.25.0
- '@babel/traverse': 7.25.3
- '@babel/types': 7.25.2
+ '@babel/code-frame': 7.26.2
+ '@babel/generator': 7.26.2
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
+ '@babel/helpers': 7.26.0
+ '@babel/parser': 7.26.2
+ '@babel/template': 7.25.9
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
convert-source-map: 2.0.0
- debug: 4.3.6
+ debug: 4.3.7
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/generator@7.25.0':
+ '@babel/generator@7.26.2':
dependencies:
- '@babel/types': 7.25.2
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
- jsesc: 2.5.2
+ jsesc: 3.0.2
- '@babel/helper-compilation-targets@7.25.2':
+ '@babel/helper-compilation-targets@7.25.9':
dependencies:
- '@babel/compat-data': 7.25.2
- '@babel/helper-validator-option': 7.24.8
- browserslist: 4.23.3
+ '@babel/compat-data': 7.26.2
+ '@babel/helper-validator-option': 7.25.9
+ browserslist: 4.24.2
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-module-imports@7.24.7':
+ '@babel/helper-module-imports@7.25.9':
dependencies:
- '@babel/traverse': 7.25.3
- '@babel/types': 7.25.2
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)':
+ '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-module-imports': 7.24.7
- '@babel/helper-simple-access': 7.24.7
- '@babel/helper-validator-identifier': 7.24.7
- '@babel/traverse': 7.25.3
+ '@babel/core': 7.26.0
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/helper-validator-identifier': 7.25.9
+ '@babel/traverse': 7.25.9
transitivePeerDependencies:
- supports-color
- '@babel/helper-plugin-utils@7.24.8': {}
+ '@babel/helper-plugin-utils@7.25.9': {}
- '@babel/helper-simple-access@7.24.7':
- dependencies:
- '@babel/traverse': 7.25.3
- '@babel/types': 7.25.2
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-string-parser@7.24.8': {}
+ '@babel/helper-string-parser@7.25.9': {}
- '@babel/helper-validator-identifier@7.24.7': {}
+ '@babel/helper-validator-identifier@7.25.9': {}
- '@babel/helper-validator-option@7.24.8': {}
-
- '@babel/helpers@7.25.0':
- dependencies:
- '@babel/template': 7.25.0
- '@babel/types': 7.25.2
+ '@babel/helper-validator-option@7.25.9': {}
- '@babel/highlight@7.24.7':
+ '@babel/helpers@7.26.0':
dependencies:
- '@babel/helper-validator-identifier': 7.24.7
- chalk: 2.4.2
- js-tokens: 4.0.0
- picocolors: 1.0.1
+ '@babel/template': 7.25.9
+ '@babel/types': 7.26.0
- '@babel/parser@7.25.3':
+ '@babel/parser@7.26.2':
dependencies:
- '@babel/types': 7.25.2
+ '@babel/types': 7.26.0
- '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.25.2)':
+ '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/template@7.25.0':
+ '@babel/template@7.25.9':
dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/parser': 7.25.3
- '@babel/types': 7.25.2
+ '@babel/code-frame': 7.26.2
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
- '@babel/traverse@7.25.3':
+ '@babel/traverse@7.25.9':
dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/generator': 7.25.0
- '@babel/parser': 7.25.3
- '@babel/template': 7.25.0
- '@babel/types': 7.25.2
- debug: 4.3.6
+ '@babel/code-frame': 7.26.2
+ '@babel/generator': 7.26.2
+ '@babel/parser': 7.26.2
+ '@babel/template': 7.25.9
+ '@babel/types': 7.26.0
+ debug: 4.3.7
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- '@babel/types@7.25.2':
+ '@babel/types@7.26.0':
dependencies:
- '@babel/helper-string-parser': 7.24.8
- '@babel/helper-validator-identifier': 7.24.7
- to-fast-properties: 2.0.0
+ '@babel/helper-string-parser': 7.25.9
+ '@babel/helper-validator-identifier': 7.25.9
'@bcoe/v8-coverage@0.2.3': {}
- '@commitlint/config-validator@19.0.3':
+ '@commitlint/config-validator@19.5.0':
dependencies:
- '@commitlint/types': 19.0.3
+ '@commitlint/types': 19.5.0
ajv: 8.17.1
optional: true
- '@commitlint/execute-rule@19.0.0':
+ '@commitlint/execute-rule@19.5.0':
optional: true
- '@commitlint/load@19.4.0(@types/node@20.16.1)(typescript@5.5.4)':
+ '@commitlint/load@19.5.0(@types/node@20.17.5)(typescript@5.6.3)':
dependencies:
- '@commitlint/config-validator': 19.0.3
- '@commitlint/execute-rule': 19.0.0
- '@commitlint/resolve-extends': 19.1.0
- '@commitlint/types': 19.0.3
+ '@commitlint/config-validator': 19.5.0
+ '@commitlint/execute-rule': 19.5.0
+ '@commitlint/resolve-extends': 19.5.0
+ '@commitlint/types': 19.5.0
chalk: 5.3.0
- cosmiconfig: 9.0.0(typescript@5.5.4)
- cosmiconfig-typescript-loader: 5.0.0(@types/node@20.16.1)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4)
+ cosmiconfig: 9.0.0(typescript@5.6.3)
+ cosmiconfig-typescript-loader: 5.1.0(@types/node@20.17.5)(cosmiconfig@9.0.0(typescript@5.6.3))(typescript@5.6.3)
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
lodash.uniq: 4.5.0
@@ -5344,37 +4633,38 @@ snapshots:
- typescript
optional: true
- '@commitlint/resolve-extends@19.1.0':
+ '@commitlint/resolve-extends@19.5.0':
dependencies:
- '@commitlint/config-validator': 19.0.3
- '@commitlint/types': 19.0.3
+ '@commitlint/config-validator': 19.5.0
+ '@commitlint/types': 19.5.0
global-directory: 4.0.1
import-meta-resolve: 4.1.0
lodash.mergewith: 4.6.2
resolve-from: 5.0.0
optional: true
- '@commitlint/types@19.0.3':
+ '@commitlint/types@19.5.0':
dependencies:
'@types/conventional-commits-parser': 5.0.0
chalk: 5.3.0
optional: true
- '@cspotcode/source-map-support@0.8.1':
+ '@emnapi/runtime@1.3.1':
dependencies:
- '@jridgewell/trace-mapping': 0.3.9
+ tslib: 2.8.1
+ optional: true
- '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)':
+ '@eslint-community/eslint-utils@4.4.1(eslint@8.57.1)':
dependencies:
- eslint: 8.57.0
+ eslint: 8.57.1
eslint-visitor-keys: 3.4.3
- '@eslint-community/regexpp@4.11.0': {}
+ '@eslint-community/regexpp@4.12.1': {}
'@eslint/eslintrc@2.1.4':
dependencies:
ajv: 6.12.6
- debug: 4.3.6
+ debug: 4.3.7
espree: 9.6.1
globals: 13.24.0
ignore: 5.3.2
@@ -5385,29 +4675,29 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@8.57.0': {}
+ '@eslint/js@8.57.1': {}
- '@floating-ui/core@1.6.7':
+ '@floating-ui/core@1.6.8':
dependencies:
- '@floating-ui/utils': 0.2.7
+ '@floating-ui/utils': 0.2.8
- '@floating-ui/dom@1.6.10':
+ '@floating-ui/dom@1.6.12':
dependencies:
- '@floating-ui/core': 1.6.7
- '@floating-ui/utils': 0.2.7
+ '@floating-ui/core': 1.6.8
+ '@floating-ui/utils': 0.2.8
- '@floating-ui/react-dom@2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@floating-ui/dom': 1.6.10
+ '@floating-ui/dom': 1.6.12
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@floating-ui/utils@0.2.7': {}
+ '@floating-ui/utils@0.2.8': {}
- '@humanwhocodes/config-array@0.11.14':
+ '@humanwhocodes/config-array@0.13.0':
dependencies:
'@humanwhocodes/object-schema': 2.0.3
- debug: 4.3.6
+ debug: 4.3.7
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@@ -5416,6 +4706,81 @@ snapshots:
'@humanwhocodes/object-schema@2.0.3': {}
+ '@img/sharp-darwin-arm64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-arm64': 1.0.4
+ optional: true
+
+ '@img/sharp-darwin-x64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-x64': 1.0.4
+ optional: true
+
+ '@img/sharp-libvips-darwin-arm64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-darwin-x64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm@1.0.5':
+ optional: true
+
+ '@img/sharp-libvips-linux-s390x@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linux-x64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.0.4':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-x64@1.0.4':
+ optional: true
+
+ '@img/sharp-linux-arm64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm64': 1.0.4
+ optional: true
+
+ '@img/sharp-linux-arm@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm': 1.0.5
+ optional: true
+
+ '@img/sharp-linux-s390x@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-s390x': 1.0.4
+ optional: true
+
+ '@img/sharp-linux-x64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-x64': 1.0.4
+ optional: true
+
+ '@img/sharp-linuxmusl-arm64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
+ optional: true
+
+ '@img/sharp-linuxmusl-x64@0.33.5':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.4
+ optional: true
+
+ '@img/sharp-wasm32@0.33.5':
+ dependencies:
+ '@emnapi/runtime': 1.3.1
+ optional: true
+
+ '@img/sharp-win32-ia32@0.33.5':
+ optional: true
+
+ '@img/sharp-win32-x64@0.33.5':
+ optional: true
+
'@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
@@ -5438,27 +4803,27 @@ snapshots:
'@jest/console@29.7.0':
dependencies:
'@jest/types': 29.6.3
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
chalk: 4.1.2
jest-message-util: 29.7.0
jest-util: 29.7.0
slash: 3.0.0
- '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))':
+ '@jest/core@29.7.0':
dependencies:
'@jest/console': 29.7.0
'@jest/reporters': 29.7.0
'@jest/test-result': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
ansi-escapes: 4.3.2
chalk: 4.1.2
ci-info: 3.9.0
exit: 0.1.2
graceful-fs: 4.2.11
jest-changed-files: 29.7.0
- jest-config: 29.7.0(@types/node@20.16.1)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))
+ jest-config: 29.7.0(@types/node@20.17.5)
jest-haste-map: 29.7.0
jest-message-util: 29.7.0
jest-regex-util: 29.6.3
@@ -5470,7 +4835,7 @@ snapshots:
jest-util: 29.7.0
jest-validate: 29.7.0
jest-watcher: 29.7.0
- micromatch: 4.0.7
+ micromatch: 4.0.8
pretty-format: 29.7.0
slash: 3.0.0
strip-ansi: 6.0.1
@@ -5483,7 +4848,7 @@ snapshots:
dependencies:
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
jest-mock: 29.7.0
'@jest/expect-utils@29.7.0':
@@ -5501,7 +4866,7 @@ snapshots:
dependencies:
'@jest/types': 29.6.3
'@sinonjs/fake-timers': 10.3.0
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
jest-message-util: 29.7.0
jest-mock: 29.7.0
jest-util: 29.7.0
@@ -5523,7 +4888,7 @@ snapshots:
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
'@jridgewell/trace-mapping': 0.3.25
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
chalk: 4.1.2
collect-v8-coverage: 1.0.2
exit: 0.1.2
@@ -5570,7 +4935,7 @@ snapshots:
'@jest/transform@29.7.0':
dependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.26.0
'@jest/types': 29.6.3
'@jridgewell/trace-mapping': 0.3.25
babel-plugin-istanbul: 6.1.1
@@ -5581,7 +4946,7 @@ snapshots:
jest-haste-map: 29.7.0
jest-regex-util: 29.6.3
jest-util: 29.7.0
- micromatch: 4.0.7
+ micromatch: 4.0.8
pirates: 4.0.6
slash: 3.0.0
write-file-atomic: 4.0.2
@@ -5593,7 +4958,7 @@ snapshots:
'@jest/schemas': 29.6.3
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
'@types/yargs': 17.0.33
chalk: 4.1.2
@@ -5607,11 +4972,6 @@ snapshots:
'@jridgewell/set-array@1.2.1': {}
- '@jridgewell/source-map@0.3.6':
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
-
'@jridgewell/sourcemap-codec@1.5.0': {}
'@jridgewell/trace-mapping@0.3.25':
@@ -5619,81 +4979,79 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
- '@jridgewell/trace-mapping@0.3.9':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
-
- '@mdx-js/mdx@3.0.1':
+ '@mdx-js/mdx@3.1.0(acorn@8.14.0)':
dependencies:
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
'@types/estree-jsx': 1.0.5
'@types/hast': 3.0.4
'@types/mdx': 2.0.13
collapse-white-space: 2.1.0
devlop: 1.1.0
- estree-util-build-jsx: 3.0.1
estree-util-is-identifier-name: 3.0.0
- estree-util-to-js: 2.0.0
+ estree-util-scope: 1.0.0
estree-walker: 3.0.3
- hast-util-to-estree: 3.1.0
- hast-util-to-jsx-runtime: 2.3.0
+ hast-util-to-jsx-runtime: 2.3.2
markdown-extensions: 2.0.0
- periscopic: 3.1.0
- remark-mdx: 3.0.1
+ recma-build-jsx: 1.0.0
+ recma-jsx: 1.0.0(acorn@8.14.0)
+ recma-stringify: 1.0.0
+ rehype-recma: 1.0.0
+ remark-mdx: 3.1.0
remark-parse: 11.0.0
- remark-rehype: 11.1.0
+ remark-rehype: 11.1.1
source-map: 0.7.4
unified: 11.0.5
unist-util-position-from-estree: 2.0.0
unist-util-stringify-position: 4.0.0
unist-util-visit: 5.0.0
- vfile: 6.0.2
+ vfile: 6.0.3
transitivePeerDependencies:
+ - acorn
- supports-color
- '@mdx-js/react@3.0.1(@types/react@18.3.4)(react@18.3.1)':
+ '@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
'@types/mdx': 2.0.13
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
react: 18.3.1
- '@mrmlnc/readdir-enhanced@2.2.1':
- dependencies:
- call-me-maybe: 1.0.2
- glob-to-regexp: 0.3.0
-
- '@next/env@14.2.5': {}
+ '@next/env@14.2.16': {}
- '@next/eslint-plugin-next@14.2.5':
+ '@next/eslint-plugin-next@14.2.16':
dependencies:
glob: 10.3.10
- '@next/swc-darwin-arm64@14.2.5':
+ '@next/mdx@15.0.2(@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1))':
+ dependencies:
+ source-map: 0.7.4
+ optionalDependencies:
+ '@mdx-js/react': 3.1.0(@types/react@18.3.12)(react@18.3.1)
+
+ '@next/swc-darwin-arm64@14.2.16':
optional: true
- '@next/swc-darwin-x64@14.2.5':
+ '@next/swc-darwin-x64@14.2.16':
optional: true
- '@next/swc-linux-arm64-gnu@14.2.5':
+ '@next/swc-linux-arm64-gnu@14.2.16':
optional: true
- '@next/swc-linux-arm64-musl@14.2.5':
+ '@next/swc-linux-arm64-musl@14.2.16':
optional: true
- '@next/swc-linux-x64-gnu@14.2.5':
+ '@next/swc-linux-x64-gnu@14.2.16':
optional: true
- '@next/swc-linux-x64-musl@14.2.5':
+ '@next/swc-linux-x64-musl@14.2.16':
optional: true
- '@next/swc-win32-arm64-msvc@14.2.5':
+ '@next/swc-win32-arm64-msvc@14.2.16':
optional: true
- '@next/swc-win32-ia32-msvc@14.2.5':
+ '@next/swc-win32-ia32-msvc@14.2.16':
optional: true
- '@next/swc-win32-x64-msvc@14.2.5':
+ '@next/swc-win32-x64-msvc@14.2.16':
optional: true
'@nodelib/fs.scandir@2.1.5':
@@ -5701,8 +5059,6 @@ snapshots:
'@nodelib/fs.stat': 2.0.5
run-parallel: 1.2.0
- '@nodelib/fs.stat@1.1.3': {}
-
'@nodelib/fs.stat@2.0.5': {}
'@nodelib/fs.walk@1.2.8':
@@ -5710,6 +5066,8 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1
+ '@nolyfill/is-core-module@1.0.39': {}
+
'@pkgjs/parseargs@0.11.0':
optional: true
@@ -5717,324 +5075,344 @@ snapshots:
'@radix-ui/primitive@1.1.0': {}
- '@radix-ui/react-accordion@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-accordion@1.2.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.0
- '@radix-ui/react-collapsible': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-context': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-id': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-collapsible': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-arrow@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-collapsible@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-avatar@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
+ '@radix-ui/react-collapsible@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.0
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-context': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-id': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-collection@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-context': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
+ '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.12)(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+ optionalDependencies:
+ '@types/react': 18.3.12
- '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.4)(react@18.3.1)':
+ '@radix-ui/react-context@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- '@radix-ui/react-context@1.1.0(@types/react@18.3.4)(react@18.3.1)':
+ '@radix-ui/react-context@1.1.1(@types/react@18.3.12)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- '@radix-ui/react-dialog@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-dialog@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.0
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-context': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
aria-hidden: 1.2.4
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- react-remove-scroll: 2.5.7(@types/react@18.3.4)(react@18.3.1)
+ react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-direction@1.1.0(@types/react@18.3.4)(react@18.3.1)':
+ '@radix-ui/react-direction@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- '@radix-ui/react-dismissable-layer@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.0
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-dropdown-menu@2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-dropdown-menu@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.0
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-context': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-id': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-menu': 2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-menu': 2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-focus-guards@1.1.0(@types/react@18.3.4)(react@18.3.1)':
+ '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.12)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-id@1.1.0(@types/react@18.3.4)(react@18.3.1)':
+ '@radix-ui/react-id@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- '@radix-ui/react-menu@2.1.1(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-menu@2.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.0
- '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-context': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-dismissable-layer': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-id': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-portal': 1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-slot': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-popper': 1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
aria-hidden: 1.2.4
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- react-remove-scroll: 2.5.7(@types/react@18.3.4)(react@18.3.1)
+ react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
-
- '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-context': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
+
+ '@radix-ui/react-popper@1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-arrow': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-rect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-size': 1.1.0(@types/react@18.3.12)(react@18.3.1)
'@radix-ui/rect': 1.1.0
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-portal@1.1.1(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-presence@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@radix-ui/react-slot': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.0
- '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-context': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-id': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-scroll-area@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-scroll-area@1.2.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/number': 1.1.0
'@radix-ui/primitive': 1.1.0
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-context': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-slot@1.1.0(@types/react@18.3.4)(react@18.3.1)':
+ '@radix-ui/react-slot@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
- '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- '@radix-ui/react-tabs@1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@radix-ui/react-tabs@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@radix-ui/primitive': 1.1.0
- '@radix-ui/react-context': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-direction': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-id': 1.1.0(@types/react@18.3.4)(react@18.3.1)
- '@radix-ui/react-presence': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.0)(@types/react@18.3.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-direction': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1)
+ '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
- '@types/react-dom': 18.3.0
+ '@types/react': 18.3.12
+ '@types/react-dom': 18.3.1
- '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.4)(react@18.3.1)':
+ '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.4)(react@18.3.1)':
+ '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.4)(react@18.3.1)':
+ '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
- '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.4)(react@18.3.1)':
+ '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.4)(react@18.3.1)':
+ '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
'@radix-ui/rect': 1.1.0
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- '@radix-ui/react-use-size@1.1.0(@types/react@18.3.4)(react@18.3.1)':
+ '@radix-ui/react-use-size@1.1.0(@types/react@18.3.12)(react@18.3.1)':
dependencies:
- '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.4)(react@18.3.1)
+ '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
'@radix-ui/rect@1.1.0': {}
+ '@rtsao/scc@1.1.0': {}
+
'@rushstack/eslint-patch@1.10.4': {}
'@sinclair/typebox@0.27.8': {}
@@ -6052,82 +5430,59 @@ snapshots:
'@swc/helpers@0.5.5':
dependencies:
'@swc/counter': 0.1.3
- tslib: 2.6.3
+ tslib: 2.8.1
- '@tailwindcss/typography@0.5.14(tailwindcss@3.4.10(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)))':
+ '@tailwindcss/typography@0.5.15(tailwindcss@3.4.14)':
dependencies:
lodash.castarray: 4.4.0
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
postcss-selector-parser: 6.0.10
- tailwindcss: 3.4.10(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))
-
- '@tsconfig/node10@1.0.11': {}
-
- '@tsconfig/node12@1.0.11': {}
-
- '@tsconfig/node14@1.0.3': {}
-
- '@tsconfig/node16@1.0.4': {}
+ tailwindcss: 3.4.14
'@types/acorn@4.0.6':
dependencies:
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
'@types/babel__core@7.20.5':
dependencies:
- '@babel/parser': 7.25.3
- '@babel/types': 7.25.2
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
'@types/babel__generator': 7.6.8
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.20.6
'@types/babel__generator@7.6.8':
dependencies:
- '@babel/types': 7.25.2
+ '@babel/types': 7.26.0
'@types/babel__template@7.4.4':
dependencies:
- '@babel/parser': 7.25.3
- '@babel/types': 7.25.2
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
'@types/babel__traverse@7.20.6':
dependencies:
- '@babel/types': 7.25.2
+ '@babel/types': 7.26.0
'@types/conventional-commits-parser@5.0.0':
dependencies:
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
optional: true
'@types/debug@4.1.12':
dependencies:
'@types/ms': 0.7.34
- '@types/eslint-scope@3.7.7':
- dependencies:
- '@types/eslint': 9.6.0
- '@types/estree': 1.0.5
-
- '@types/eslint@9.6.0':
- dependencies:
- '@types/estree': 1.0.5
- '@types/json-schema': 7.0.15
-
'@types/estree-jsx@1.0.5':
dependencies:
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
- '@types/estree@1.0.5': {}
-
- '@types/glob@7.2.0':
- dependencies:
- '@types/minimatch': 5.1.2
- '@types/node': 20.16.1
+ '@types/estree@1.0.6': {}
'@types/graceful-fs@4.1.9':
dependencies:
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
'@types/hast@2.3.10':
dependencies:
@@ -6147,8 +5502,6 @@ snapshots:
dependencies:
'@types/istanbul-lib-report': 3.0.3
- '@types/json-schema@7.0.15': {}
-
'@types/json5@0.0.29': {}
'@types/mdast@4.0.4':
@@ -6157,25 +5510,25 @@ snapshots:
'@types/mdx@2.0.13': {}
- '@types/minimatch@5.1.2': {}
-
'@types/ms@0.7.34': {}
- '@types/node@20.16.1':
+ '@types/node@20.17.5':
dependencies:
undici-types: 6.19.8
- '@types/prismjs@1.26.4': {}
+ '@types/nprogress@0.2.3': {}
- '@types/prop-types@15.7.12': {}
+ '@types/prismjs@1.26.5': {}
- '@types/react-dom@18.3.0':
+ '@types/prop-types@15.7.13': {}
+
+ '@types/react-dom@18.3.1':
dependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- '@types/react@18.3.4':
+ '@types/react@18.3.12':
dependencies:
- '@types/prop-types': 15.7.12
+ '@types/prop-types': 15.7.13
csstype: 3.1.3
'@types/stack-utils@2.0.3': {}
@@ -6190,163 +5543,106 @@ snapshots:
dependencies:
'@types/yargs-parser': 21.0.3
- '@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4)':
+ '@typescript-eslint/eslint-plugin@8.12.2(@typescript-eslint/parser@8.12.2(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)':
+ dependencies:
+ '@eslint-community/regexpp': 4.12.1
+ '@typescript-eslint/parser': 8.12.2(eslint@8.57.1)(typescript@5.6.3)
+ '@typescript-eslint/scope-manager': 8.12.2
+ '@typescript-eslint/type-utils': 8.12.2(eslint@8.57.1)(typescript@5.6.3)
+ '@typescript-eslint/utils': 8.12.2(eslint@8.57.1)(typescript@5.6.3)
+ '@typescript-eslint/visitor-keys': 8.12.2
+ eslint: 8.57.1
+ graphemer: 1.4.0
+ ignore: 5.3.2
+ natural-compare: 1.4.0
+ ts-api-utils: 1.4.0(typescript@5.6.3)
+ optionalDependencies:
+ typescript: 5.6.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@typescript-eslint/parser@8.12.2(eslint@8.57.1)(typescript@5.6.3)':
dependencies:
- '@typescript-eslint/scope-manager': 7.2.0
- '@typescript-eslint/types': 7.2.0
- '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.5.4)
- '@typescript-eslint/visitor-keys': 7.2.0
- debug: 4.3.6
- eslint: 8.57.0
+ '@typescript-eslint/scope-manager': 8.12.2
+ '@typescript-eslint/types': 8.12.2
+ '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3)
+ '@typescript-eslint/visitor-keys': 8.12.2
+ debug: 4.3.7
+ eslint: 8.57.1
optionalDependencies:
- typescript: 5.5.4
+ typescript: 5.6.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@7.2.0':
+ '@typescript-eslint/scope-manager@8.12.2':
+ dependencies:
+ '@typescript-eslint/types': 8.12.2
+ '@typescript-eslint/visitor-keys': 8.12.2
+
+ '@typescript-eslint/type-utils@8.12.2(eslint@8.57.1)(typescript@5.6.3)':
dependencies:
- '@typescript-eslint/types': 7.2.0
- '@typescript-eslint/visitor-keys': 7.2.0
+ '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3)
+ '@typescript-eslint/utils': 8.12.2(eslint@8.57.1)(typescript@5.6.3)
+ debug: 4.3.7
+ ts-api-utils: 1.4.0(typescript@5.6.3)
+ optionalDependencies:
+ typescript: 5.6.3
+ transitivePeerDependencies:
+ - eslint
+ - supports-color
- '@typescript-eslint/types@7.2.0': {}
+ '@typescript-eslint/types@8.12.2': {}
- '@typescript-eslint/typescript-estree@7.2.0(typescript@5.5.4)':
+ '@typescript-eslint/typescript-estree@8.12.2(typescript@5.6.3)':
dependencies:
- '@typescript-eslint/types': 7.2.0
- '@typescript-eslint/visitor-keys': 7.2.0
- debug: 4.3.6
- globby: 11.1.0
+ '@typescript-eslint/types': 8.12.2
+ '@typescript-eslint/visitor-keys': 8.12.2
+ debug: 4.3.7
+ fast-glob: 3.3.2
is-glob: 4.0.3
- minimatch: 9.0.3
+ minimatch: 9.0.5
semver: 7.6.3
- ts-api-utils: 1.3.0(typescript@5.5.4)
+ ts-api-utils: 1.4.0(typescript@5.6.3)
optionalDependencies:
- typescript: 5.5.4
+ typescript: 5.6.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@7.2.0':
+ '@typescript-eslint/utils@8.12.2(eslint@8.57.1)(typescript@5.6.3)':
dependencies:
- '@typescript-eslint/types': 7.2.0
+ '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1)
+ '@typescript-eslint/scope-manager': 8.12.2
+ '@typescript-eslint/types': 8.12.2
+ '@typescript-eslint/typescript-estree': 8.12.2(typescript@5.6.3)
+ eslint: 8.57.1
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+
+ '@typescript-eslint/visitor-keys@8.12.2':
+ dependencies:
+ '@typescript-eslint/types': 8.12.2
eslint-visitor-keys: 3.4.3
'@ungap/structured-clone@1.2.0': {}
- '@vercel/analytics@1.3.1(next@14.2.5(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
+ '@vercel/analytics@1.3.2(next@14.2.16(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
dependencies:
server-only: 0.0.1
optionalDependencies:
- next: 14.2.5(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ next: 14.2.16(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
- '@vercel/speed-insights@1.0.12(next@14.2.5(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
+ '@vercel/speed-insights@1.0.14(next@14.2.16(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
optionalDependencies:
- next: 14.2.5(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ next: 14.2.16(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
- '@webassemblyjs/ast@1.12.1':
- dependencies:
- '@webassemblyjs/helper-numbers': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
-
- '@webassemblyjs/floating-point-hex-parser@1.11.6': {}
-
- '@webassemblyjs/helper-api-error@1.11.6': {}
-
- '@webassemblyjs/helper-buffer@1.12.1': {}
-
- '@webassemblyjs/helper-numbers@1.11.6':
+ acorn-jsx@5.3.2(acorn@8.14.0):
dependencies:
- '@webassemblyjs/floating-point-hex-parser': 1.11.6
- '@webassemblyjs/helper-api-error': 1.11.6
- '@xtuc/long': 4.2.2
-
- '@webassemblyjs/helper-wasm-bytecode@1.11.6': {}
+ acorn: 8.14.0
- '@webassemblyjs/helper-wasm-section@1.12.1':
- dependencies:
- '@webassemblyjs/ast': 1.12.1
- '@webassemblyjs/helper-buffer': 1.12.1
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/wasm-gen': 1.12.1
-
- '@webassemblyjs/ieee754@1.11.6':
- dependencies:
- '@xtuc/ieee754': 1.2.0
-
- '@webassemblyjs/leb128@1.11.6':
- dependencies:
- '@xtuc/long': 4.2.2
-
- '@webassemblyjs/utf8@1.11.6': {}
-
- '@webassemblyjs/wasm-edit@1.12.1':
- dependencies:
- '@webassemblyjs/ast': 1.12.1
- '@webassemblyjs/helper-buffer': 1.12.1
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/helper-wasm-section': 1.12.1
- '@webassemblyjs/wasm-gen': 1.12.1
- '@webassemblyjs/wasm-opt': 1.12.1
- '@webassemblyjs/wasm-parser': 1.12.1
- '@webassemblyjs/wast-printer': 1.12.1
-
- '@webassemblyjs/wasm-gen@1.12.1':
- dependencies:
- '@webassemblyjs/ast': 1.12.1
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/ieee754': 1.11.6
- '@webassemblyjs/leb128': 1.11.6
- '@webassemblyjs/utf8': 1.11.6
-
- '@webassemblyjs/wasm-opt@1.12.1':
- dependencies:
- '@webassemblyjs/ast': 1.12.1
- '@webassemblyjs/helper-buffer': 1.12.1
- '@webassemblyjs/wasm-gen': 1.12.1
- '@webassemblyjs/wasm-parser': 1.12.1
-
- '@webassemblyjs/wasm-parser@1.12.1':
- dependencies:
- '@webassemblyjs/ast': 1.12.1
- '@webassemblyjs/helper-api-error': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/ieee754': 1.11.6
- '@webassemblyjs/leb128': 1.11.6
- '@webassemblyjs/utf8': 1.11.6
-
- '@webassemblyjs/wast-printer@1.12.1':
- dependencies:
- '@webassemblyjs/ast': 1.12.1
- '@xtuc/long': 4.2.2
-
- '@xtuc/ieee754@1.2.0': {}
-
- '@xtuc/long@4.2.2': {}
-
- acorn-import-attributes@1.9.5(acorn@8.12.1):
- dependencies:
- acorn: 8.12.1
-
- acorn-jsx@5.3.2(acorn@6.4.2):
- dependencies:
- acorn: 6.4.2
-
- acorn-jsx@5.3.2(acorn@8.12.1):
- dependencies:
- acorn: 8.12.1
-
- acorn-walk@8.3.3:
- dependencies:
- acorn: 8.12.1
-
- acorn@6.4.2: {}
-
- acorn@8.12.1: {}
-
- ajv-keywords@3.5.2(ajv@6.12.6):
- dependencies:
- ajv: 6.12.6
+ acorn@8.14.0: {}
ajv@6.12.6:
dependencies:
@@ -6358,13 +5654,11 @@ snapshots:
ajv@8.17.1:
dependencies:
fast-deep-equal: 3.1.3
- fast-uri: 3.0.1
+ fast-uri: 3.0.3
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
optional: true
- ansi-escapes@3.2.0: {}
-
ansi-escapes@4.3.2:
dependencies:
type-fest: 0.21.3
@@ -6373,15 +5667,9 @@ snapshots:
dependencies:
environment: 1.1.0
- ansi-regex@2.1.1: {}
-
- ansi-regex@3.0.1: {}
-
- ansi-regex@4.1.1: {}
-
ansi-regex@5.0.1: {}
- ansi-regex@6.0.1: {}
+ ansi-regex@6.1.0: {}
ansi-styles@3.2.1:
dependencies:
@@ -6402,8 +5690,6 @@ snapshots:
normalize-path: 3.0.0
picomatch: 2.3.1
- arg@4.1.3: {}
-
arg@5.0.2: {}
argparse@1.0.10:
@@ -6414,17 +5700,9 @@ snapshots:
aria-hidden@1.2.4:
dependencies:
- tslib: 2.6.3
-
- aria-query@5.1.3:
- dependencies:
- deep-equal: 2.2.3
-
- arr-diff@4.0.0: {}
-
- arr-flatten@1.1.0: {}
+ tslib: 2.8.1
- arr-union@3.1.0: {}
+ aria-query@5.3.2: {}
array-buffer-byte-length@1.0.1:
dependencies:
@@ -6440,16 +5718,6 @@ snapshots:
get-intrinsic: 1.2.4
is-string: 1.0.7
- array-union@1.0.2:
- dependencies:
- array-uniq: 1.0.3
-
- array-union@2.1.0: {}
-
- array-uniq@1.0.3: {}
-
- array-unique@0.3.2: {}
-
array.prototype.findlast@1.2.5:
dependencies:
call-bind: 1.0.7
@@ -6503,13 +5771,9 @@ snapshots:
asap@2.0.6: {}
- assign-symbols@1.0.0: {}
-
ast-types-flow@0.0.8: {}
- astral-regex@1.0.0: {}
-
- astring@1.8.6: {}
+ astring@1.9.0: {}
async@3.2.6: {}
@@ -6517,35 +5781,31 @@ snapshots:
at-least-node@1.0.0: {}
- atob@2.1.2: {}
-
- autoprefixer@10.4.20(postcss@8.4.41):
+ autoprefixer@10.4.20(postcss@8.4.47):
dependencies:
- browserslist: 4.23.3
- caniuse-lite: 1.0.30001651
+ browserslist: 4.24.2
+ caniuse-lite: 1.0.30001676
fraction.js: 4.3.7
normalize-range: 0.1.2
- picocolors: 1.0.1
- postcss: 8.4.41
+ picocolors: 1.1.1
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
available-typed-arrays@1.0.7:
dependencies:
possible-typed-array-names: 1.0.0
- axe-core@4.10.0: {}
+ axe-core@4.10.2: {}
- axobject-query@3.1.1:
- dependencies:
- deep-equal: 2.2.3
+ axobject-query@4.1.0: {}
- babel-jest@29.7.0(@babel/core@7.25.2):
+ babel-jest@29.7.0(@babel/core@7.26.0):
dependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.26.0
'@jest/transform': 29.7.0
'@types/babel__core': 7.20.5
babel-plugin-istanbul: 6.1.1
- babel-preset-jest: 29.6.3(@babel/core@7.25.2)
+ babel-preset-jest: 29.6.3(@babel/core@7.26.0)
chalk: 4.1.2
graceful-fs: 4.2.11
slash: 3.0.0
@@ -6554,7 +5814,7 @@ snapshots:
babel-plugin-istanbul@6.1.1:
dependencies:
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/helper-plugin-utils': 7.25.9
'@istanbuljs/load-nyc-config': 1.1.0
'@istanbuljs/schema': 0.1.3
istanbul-lib-instrument: 5.2.1
@@ -6564,35 +5824,35 @@ snapshots:
babel-plugin-jest-hoist@29.6.3:
dependencies:
- '@babel/template': 7.25.0
- '@babel/types': 7.25.2
+ '@babel/template': 7.25.9
+ '@babel/types': 7.26.0
'@types/babel__core': 7.20.5
'@types/babel__traverse': 7.20.6
- babel-preset-current-node-syntax@1.1.0(@babel/core@7.25.2):
- dependencies:
- '@babel/core': 7.25.2
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2)
- '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.2)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2)
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2)
- '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2)
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2)
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2)
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2)
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2)
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2)
- '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2)
-
- babel-preset-jest@29.6.3(@babel/core@7.25.2):
- dependencies:
- '@babel/core': 7.25.2
+ babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.0):
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0)
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.0)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.0)
+ '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.0)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.0)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0)
+
+ babel-preset-jest@29.6.3(@babel/core@7.26.0):
+ dependencies:
+ '@babel/core': 7.26.0
babel-plugin-jest-hoist: 29.6.3
- babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2)
+ babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0)
babylon@6.18.0: {}
@@ -6602,16 +5862,6 @@ snapshots:
base64-js@1.5.1: {}
- base@0.11.2:
- dependencies:
- cache-base: 1.0.1
- class-utils: 0.3.6
- component-emitter: 1.3.1
- define-property: 1.0.0
- isobject: 3.0.1
- mixin-deep: 1.3.2
- pascalcase: 0.1.1
-
binary-extensions@2.3.0: {}
bl@4.1.0:
@@ -6629,31 +5879,16 @@ snapshots:
dependencies:
balanced-match: 1.0.2
- braces@2.3.2:
- dependencies:
- arr-flatten: 1.1.0
- array-unique: 0.3.2
- extend-shallow: 2.0.1
- fill-range: 4.0.0
- isobject: 3.0.1
- repeat-element: 1.1.4
- snapdragon: 0.8.2
- snapdragon-node: 2.1.1
- split-string: 3.1.0
- to-regex: 3.0.2
- transitivePeerDependencies:
- - supports-color
-
braces@3.0.3:
dependencies:
fill-range: 7.1.1
- browserslist@4.23.3:
+ browserslist@4.24.2:
dependencies:
- caniuse-lite: 1.0.30001651
- electron-to-chromium: 1.5.13
+ caniuse-lite: 1.0.30001676
+ electron-to-chromium: 1.5.50
node-releases: 2.0.18
- update-browserslist-db: 1.1.0(browserslist@4.23.3)
+ update-browserslist-db: 1.1.1(browserslist@4.24.2)
bs-logger@0.2.6:
dependencies:
@@ -6676,18 +5911,6 @@ snapshots:
dependencies:
streamsearch: 1.1.0
- cache-base@1.0.1:
- dependencies:
- collection-visit: 1.0.0
- component-emitter: 1.3.1
- get-value: 2.0.6
- has-value: 1.0.0
- isobject: 3.0.1
- set-value: 2.0.1
- to-object-path: 0.3.0
- union-value: 1.0.1
- unset-value: 1.0.0
-
cachedir@2.3.0: {}
call-bind@1.0.7:
@@ -6698,18 +5921,6 @@ snapshots:
get-intrinsic: 1.2.4
set-function-length: 1.2.2
- call-me-maybe@1.0.2: {}
-
- caller-callsite@2.0.0:
- dependencies:
- callsites: 2.0.0
-
- caller-path@2.0.0:
- dependencies:
- caller-callsite: 2.0.0
-
- callsites@2.0.0: {}
-
callsites@3.1.0: {}
camelcase-css@2.0.1: {}
@@ -6718,10 +5929,16 @@ snapshots:
camelcase@6.3.0: {}
- caniuse-lite@1.0.30001651: {}
+ caniuse-lite@1.0.30001676: {}
ccount@2.0.1: {}
+ centra@2.7.0:
+ dependencies:
+ follow-redirects: 1.15.9
+ transitivePeerDependencies:
+ - debug
+
chalk@2.4.2:
dependencies:
ansi-styles: 3.2.1
@@ -6759,29 +5976,16 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
- chrome-trace-event@1.0.4: {}
-
ci-info@3.9.0: {}
- cjs-module-lexer@1.3.1: {}
+ cjs-module-lexer@1.4.1: {}
class-transformer@0.5.1: {}
- class-utils@0.3.6:
- dependencies:
- arr-union: 3.1.0
- define-property: 0.2.5
- isobject: 3.0.1
- static-extend: 0.1.2
-
class-variance-authority@0.7.0:
dependencies:
clsx: 2.0.0
- cli-cursor@2.1.0:
- dependencies:
- restore-cursor: 2.0.0
-
cli-cursor@3.1.0:
dependencies:
restore-cursor: 3.1.0
@@ -6797,18 +6001,10 @@ snapshots:
slice-ansi: 5.0.0
string-width: 7.2.0
- cli-width@2.2.1: {}
-
cli-width@3.0.0: {}
client-only@0.0.1: {}
- cliui@4.1.0:
- dependencies:
- string-width: 2.1.1
- strip-ansi: 4.0.0
- wrap-ansi: 2.1.0
-
cliui@8.0.1:
dependencies:
string-width: 4.2.3
@@ -6817,23 +6013,18 @@ snapshots:
clone@1.0.4: {}
+ clone@2.1.2: {}
+
clsx@2.0.0: {}
clsx@2.1.1: {}
co@4.6.0: {}
- code-point-at@1.1.0: {}
-
collapse-white-space@2.1.0: {}
collect-v8-coverage@1.0.2: {}
- collection-visit@1.0.0:
- dependencies:
- map-visit: 1.0.0
- object-visit: 1.0.1
-
color-convert@1.9.3:
dependencies:
color-name: 1.1.3
@@ -6846,6 +6037,16 @@ snapshots:
color-name@1.1.4: {}
+ color-string@1.9.1:
+ dependencies:
+ color-name: 1.1.4
+ simple-swizzle: 0.2.2
+
+ color@4.2.3:
+ dependencies:
+ color-convert: 2.0.1
+ color-string: 1.9.1
+
colorette@2.0.20: {}
combined-stream@1.0.8:
@@ -6856,14 +6057,12 @@ snapshots:
commander@12.1.0: {}
- commander@2.20.3: {}
-
commander@4.1.1: {}
- commitizen@4.3.0(@types/node@20.16.1)(typescript@5.5.4):
+ commitizen@4.3.1(@types/node@20.17.5)(typescript@5.6.3):
dependencies:
cachedir: 2.3.0
- cz-conventional-changelog: 3.3.0(@types/node@20.16.1)(typescript@5.5.4)
+ cz-conventional-changelog: 3.3.0(@types/node@20.17.5)(typescript@5.6.3)
dedent: 0.7.0
detect-indent: 6.1.0
find-node-modules: 2.1.3
@@ -6890,40 +6089,31 @@ snapshots:
cookiejar@2.1.4: {}
- copy-descriptor@0.1.1: {}
-
- cosmiconfig-typescript-loader@5.0.0(@types/node@20.16.1)(cosmiconfig@9.0.0(typescript@5.5.4))(typescript@5.5.4):
+ cosmiconfig-typescript-loader@5.1.0(@types/node@20.17.5)(cosmiconfig@9.0.0(typescript@5.6.3))(typescript@5.6.3):
dependencies:
- '@types/node': 20.16.1
- cosmiconfig: 9.0.0(typescript@5.5.4)
+ '@types/node': 20.17.5
+ cosmiconfig: 9.0.0(typescript@5.6.3)
jiti: 1.21.6
- typescript: 5.5.4
+ typescript: 5.6.3
optional: true
- cosmiconfig@5.2.1:
- dependencies:
- import-fresh: 2.0.0
- is-directory: 0.3.1
- js-yaml: 3.14.1
- parse-json: 4.0.0
-
- cosmiconfig@9.0.0(typescript@5.5.4):
+ cosmiconfig@9.0.0(typescript@5.6.3):
dependencies:
env-paths: 2.2.1
import-fresh: 3.3.0
js-yaml: 4.1.0
parse-json: 5.2.0
optionalDependencies:
- typescript: 5.5.4
+ typescript: 5.6.3
optional: true
- create-jest@29.7.0(@types/node@20.16.1)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)):
+ create-jest@29.7.0(@types/node@20.17.5):
dependencies:
'@jest/types': 29.6.3
chalk: 4.1.2
exit: 0.1.2
graceful-fs: 4.2.11
- jest-config: 29.7.0(@types/node@20.16.1)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))
+ jest-config: 29.7.0(@types/node@20.17.5)
jest-util: 29.7.0
prompts: 2.4.2
transitivePeerDependencies:
@@ -6932,8 +6122,6 @@ snapshots:
- supports-color
- ts-node
- create-require@1.1.1: {}
-
cross-spawn@6.0.5:
dependencies:
nice-try: 1.0.5
@@ -6952,16 +6140,16 @@ snapshots:
csstype@3.1.3: {}
- cz-conventional-changelog@3.3.0(@types/node@20.16.1)(typescript@5.5.4):
+ cz-conventional-changelog@3.3.0(@types/node@20.17.5)(typescript@5.6.3):
dependencies:
chalk: 2.4.2
- commitizen: 4.3.0(@types/node@20.16.1)(typescript@5.5.4)
+ commitizen: 4.3.1(@types/node@20.17.5)(typescript@5.6.3)
conventional-commit-types: 3.0.0
lodash.map: 4.6.0
longest: 2.0.1
word-wrap: 1.2.5
optionalDependencies:
- '@commitlint/load': 19.4.0(@types/node@20.16.1)(typescript@5.5.4)
+ '@commitlint/load': 19.5.0(@types/node@20.17.5)(typescript@5.6.3)
transitivePeerDependencies:
- '@types/node'
- typescript
@@ -6986,51 +6174,22 @@ snapshots:
es-errors: 1.3.0
is-data-view: 1.0.1
- debug@2.6.9:
- dependencies:
- ms: 2.0.0
-
debug@3.2.7:
dependencies:
ms: 2.1.3
- debug@4.3.6:
+ debug@4.3.7:
dependencies:
- ms: 2.1.2
-
- decamelize@1.2.0: {}
+ ms: 2.1.3
decode-named-character-reference@1.0.2:
dependencies:
character-entities: 2.0.2
- decode-uri-component@0.2.2: {}
-
dedent@0.7.0: {}
dedent@1.5.3: {}
- deep-equal@2.2.3:
- dependencies:
- array-buffer-byte-length: 1.0.1
- call-bind: 1.0.7
- es-get-iterator: 1.1.3
- get-intrinsic: 1.2.4
- is-arguments: 1.1.1
- is-array-buffer: 3.0.4
- is-date-object: 1.0.5
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.3
- isarray: 2.0.5
- object-is: 1.1.6
- object-keys: 1.1.1
- object.assign: 4.1.5
- regexp.prototype.flags: 1.5.2
- side-channel: 1.0.6
- which-boxed-primitive: 1.0.2
- which-collection: 1.0.2
- which-typed-array: 1.1.15
-
deep-is@0.1.4: {}
deepmerge@4.3.1: {}
@@ -7051,19 +6210,6 @@ snapshots:
has-property-descriptors: 1.0.2
object-keys: 1.1.1
- define-property@0.2.5:
- dependencies:
- is-descriptor: 0.1.7
-
- define-property@1.0.0:
- dependencies:
- is-descriptor: 1.0.3
-
- define-property@2.0.2:
- dependencies:
- is-descriptor: 1.0.3
- isobject: 3.0.1
-
delayed-stream@1.0.0: {}
dequal@2.0.3: {}
@@ -7072,6 +6218,8 @@ snapshots:
detect-indent@6.1.0: {}
+ detect-libc@2.0.3: {}
+
detect-newline@2.1.0: {}
detect-newline@3.1.0: {}
@@ -7091,16 +6239,6 @@ snapshots:
diff-sequences@29.6.3: {}
- diff@4.0.2: {}
-
- dir-glob@2.2.2:
- dependencies:
- path-type: 3.0.0
-
- dir-glob@3.0.1:
- dependencies:
- path-type: 4.0.0
-
dlv@1.1.3: {}
doctrine@2.1.0:
@@ -7117,22 +6255,16 @@ snapshots:
dependencies:
jake: 10.9.2
- electron-to-chromium@1.5.13: {}
+ electron-to-chromium@1.5.50: {}
emittery@0.13.1: {}
- emoji-regex@10.3.0: {}
-
- emoji-regex@7.0.3: {}
+ emoji-regex@10.4.0: {}
emoji-regex@8.0.0: {}
emoji-regex@9.2.2: {}
- end-of-stream@1.4.4:
- dependencies:
- once: 1.4.0
-
enhanced-resolve@5.17.1:
dependencies:
graceful-fs: 4.2.11
@@ -7185,7 +6317,7 @@ snapshots:
object-inspect: 1.13.2
object-keys: 1.1.1
object.assign: 4.1.5
- regexp.prototype.flags: 1.5.2
+ regexp.prototype.flags: 1.5.3
safe-array-concat: 1.1.2
safe-regex-test: 1.0.3
string.prototype.trim: 1.2.9
@@ -7204,19 +6336,7 @@ snapshots:
es-errors@1.3.0: {}
- es-get-iterator@1.1.3:
- dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
- is-arguments: 1.1.1
- is-map: 2.0.3
- is-set: 2.0.3
- is-string: 1.0.7
- isarray: 2.0.5
- stop-iteration-iterator: 1.0.0
-
- es-iterator-helpers@1.0.19:
+ es-iterator-helpers@1.1.0:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
@@ -7230,11 +6350,9 @@ snapshots:
has-proto: 1.0.3
has-symbols: 1.0.3
internal-slot: 1.0.7
- iterator.prototype: 1.1.2
+ iterator.prototype: 1.1.3
safe-array-concat: 1.1.2
- es-module-lexer@1.5.4: {}
-
es-object-atoms@1.0.0:
dependencies:
es-errors: 1.3.0
@@ -7255,7 +6373,21 @@ snapshots:
is-date-object: 1.0.5
is-symbol: 1.0.4
- escalade@3.1.2: {}
+ esast-util-from-estree@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ unist-util-position-from-estree: 2.0.0
+
+ esast-util-from-js@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ acorn: 8.14.0
+ esast-util-from-estree: 2.0.0
+ vfile-message: 4.0.2
+
+ escalade@3.2.0: {}
escape-string-regexp@1.0.5: {}
@@ -7265,120 +6397,125 @@ snapshots:
escape-string-regexp@5.0.0: {}
- eslint-config-next@14.2.5(eslint@8.57.0)(typescript@5.5.4):
+ eslint-config-next@14.2.16(eslint@8.57.1)(typescript@5.6.3):
dependencies:
- '@next/eslint-plugin-next': 14.2.5
+ '@next/eslint-plugin-next': 14.2.16
'@rushstack/eslint-patch': 1.10.4
- '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4)
- eslint: 8.57.0
+ '@typescript-eslint/eslint-plugin': 8.12.2(@typescript-eslint/parser@8.12.2(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)
+ '@typescript-eslint/parser': 8.12.2(eslint@8.57.1)(typescript@5.6.3)
+ eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0)
- eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
- eslint-plugin-jsx-a11y: 6.9.0(eslint@8.57.0)
- eslint-plugin-react: 7.35.0(eslint@8.57.0)
- eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0)
+ eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.12.2(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1)
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.12.2(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
+ eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1)
+ eslint-plugin-react: 7.37.2(eslint@8.57.1)
+ eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@8.57.1)
optionalDependencies:
- typescript: 5.5.4
+ typescript: 5.6.3
transitivePeerDependencies:
- eslint-import-resolver-webpack
+ - eslint-plugin-import-x
- supports-color
eslint-import-resolver-node@0.3.9:
dependencies:
debug: 3.2.7
- is-core-module: 2.15.0
+ is-core-module: 2.15.1
resolve: 1.22.8
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0):
+ eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.12.2(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1):
dependencies:
- debug: 4.3.6
+ '@nolyfill/is-core-module': 1.0.39
+ debug: 4.3.7
enhanced-resolve: 5.17.1
- eslint: 8.57.0
- eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
- eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint: 8.57.1
+ eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.12.2(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
fast-glob: 3.3.2
- get-tsconfig: 4.7.6
- is-core-module: 2.15.0
+ get-tsconfig: 4.8.1
+ is-bun-module: 1.2.1
is-glob: 4.0.3
+ optionalDependencies:
+ eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.12.2(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-node
- eslint-import-resolver-webpack
- supports-color
- eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0):
+ eslint-module-utils@2.12.0(@typescript-eslint/parser@8.12.2(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4)
- eslint: 8.57.0
+ '@typescript-eslint/parser': 8.12.2(eslint@8.57.1)(typescript@5.6.3)
+ eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0)
+ eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.12.2(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1)
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
+ eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.12.2(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1):
dependencies:
+ '@rtsao/scc': 1.1.0
array-includes: 3.1.8
array.prototype.findlastindex: 1.2.5
array.prototype.flat: 1.3.2
array.prototype.flatmap: 1.3.2
debug: 3.2.7
doctrine: 2.1.0
- eslint: 8.57.0
+ eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0)
+ eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.12.2(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
hasown: 2.0.2
- is-core-module: 2.15.0
+ is-core-module: 2.15.1
is-glob: 4.0.3
minimatch: 3.1.2
object.fromentries: 2.0.8
object.groupby: 1.0.3
object.values: 1.2.0
semver: 6.3.1
+ string.prototype.trimend: 1.0.8
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.4)
+ '@typescript-eslint/parser': 8.12.2(eslint@8.57.1)(typescript@5.6.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-jsx-a11y@6.9.0(eslint@8.57.0):
+ eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1):
dependencies:
- aria-query: 5.1.3
+ aria-query: 5.3.2
array-includes: 3.1.8
array.prototype.flatmap: 1.3.2
ast-types-flow: 0.0.8
- axe-core: 4.10.0
- axobject-query: 3.1.1
+ axe-core: 4.10.2
+ axobject-query: 4.1.0
damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2
- es-iterator-helpers: 1.0.19
- eslint: 8.57.0
+ eslint: 8.57.1
hasown: 2.0.2
jsx-ast-utils: 3.3.5
language-tags: 1.0.9
minimatch: 3.1.2
object.fromentries: 2.0.8
safe-regex-test: 1.0.3
- string.prototype.includes: 2.0.0
+ string.prototype.includes: 2.0.1
- eslint-plugin-react-hooks@4.6.2(eslint@8.57.0):
+ eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@8.57.1):
dependencies:
- eslint: 8.57.0
+ eslint: 8.57.1
- eslint-plugin-react@7.35.0(eslint@8.57.0):
+ eslint-plugin-react@7.37.2(eslint@8.57.1):
dependencies:
array-includes: 3.1.8
array.prototype.findlast: 1.2.5
array.prototype.flatmap: 1.3.2
array.prototype.tosorted: 1.1.4
doctrine: 2.1.0
- es-iterator-helpers: 1.0.19
- eslint: 8.57.0
+ es-iterator-helpers: 1.1.0
+ eslint: 8.57.1
estraverse: 5.3.0
hasown: 2.0.2
jsx-ast-utils: 3.3.5
@@ -7392,84 +6529,27 @@ snapshots:
string.prototype.matchall: 4.0.11
string.prototype.repeat: 1.0.0
- eslint-scope@4.0.3:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 4.3.0
-
- eslint-scope@5.1.1:
- dependencies:
- esrecurse: 4.3.0
- estraverse: 4.3.0
-
eslint-scope@7.2.2:
dependencies:
esrecurse: 4.3.0
estraverse: 5.3.0
- eslint-utils@1.4.3:
- dependencies:
- eslint-visitor-keys: 1.3.0
-
- eslint-visitor-keys@1.3.0: {}
-
eslint-visitor-keys@3.4.3: {}
- eslint@5.16.0:
- dependencies:
- '@babel/code-frame': 7.24.7
- ajv: 6.12.6
- chalk: 2.4.2
- cross-spawn: 6.0.5
- debug: 4.3.6
- doctrine: 3.0.0
- eslint-scope: 4.0.3
- eslint-utils: 1.4.3
- eslint-visitor-keys: 1.3.0
- espree: 5.0.1
- esquery: 1.6.0
- esutils: 2.0.3
- file-entry-cache: 5.0.1
- functional-red-black-tree: 1.0.1
- glob: 7.2.3
- globals: 11.12.0
- ignore: 4.0.6
- import-fresh: 3.3.0
- imurmurhash: 0.1.4
- inquirer: 6.5.2
- js-yaml: 3.14.1
- json-stable-stringify-without-jsonify: 1.0.1
- levn: 0.3.0
- lodash: 4.17.21
- minimatch: 3.1.2
- mkdirp: 0.5.6
- natural-compare: 1.4.0
- optionator: 0.8.3
- path-is-inside: 1.0.2
- progress: 2.0.3
- regexpp: 2.0.1
- semver: 5.7.2
- strip-ansi: 4.0.0
- strip-json-comments: 2.0.1
- table: 5.4.6
- text-table: 0.2.0
- transitivePeerDependencies:
- - supports-color
-
- eslint@8.57.0:
+ eslint@8.57.1:
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
- '@eslint-community/regexpp': 4.11.0
+ '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1)
+ '@eslint-community/regexpp': 4.12.1
'@eslint/eslintrc': 2.1.4
- '@eslint/js': 8.57.0
- '@humanwhocodes/config-array': 0.11.14
+ '@eslint/js': 8.57.1
+ '@humanwhocodes/config-array': 0.13.0
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
'@ungap/structured-clone': 1.2.0
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
- debug: 4.3.6
+ debug: 4.3.7
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.2
@@ -7499,16 +6579,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
- espree@5.0.1:
- dependencies:
- acorn: 6.4.2
- acorn-jsx: 5.3.2(acorn@6.4.2)
- eslint-visitor-keys: 1.3.0
-
espree@9.6.1:
dependencies:
- acorn: 8.12.1
- acorn-jsx: 5.3.2(acorn@8.12.1)
+ acorn: 8.14.0
+ acorn-jsx: 5.3.2(acorn@8.14.0)
eslint-visitor-keys: 3.4.3
esprima@4.0.1: {}
@@ -7521,13 +6595,11 @@ snapshots:
dependencies:
estraverse: 5.3.0
- estraverse@4.3.0: {}
-
estraverse@5.3.0: {}
estree-util-attach-comments@3.0.0:
dependencies:
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
estree-util-build-jsx@3.0.1:
dependencies:
@@ -7538,10 +6610,15 @@ snapshots:
estree-util-is-identifier-name@3.0.0: {}
+ estree-util-scope@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ devlop: 1.1.0
+
estree-util-to-js@2.0.0:
dependencies:
'@types/estree-jsx': 1.0.5
- astring: 1.8.6
+ astring: 1.9.0
source-map: 0.7.4
estree-util-visit@2.0.0:
@@ -7551,24 +6628,12 @@ snapshots:
estree-walker@3.0.3:
dependencies:
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
esutils@2.0.3: {}
eventemitter3@5.0.1: {}
- events@3.3.0: {}
-
- execa@1.0.0:
- dependencies:
- cross-spawn: 6.0.5
- get-stream: 4.1.0
- is-stream: 1.1.0
- npm-run-path: 2.0.2
- p-finally: 1.0.0
- signal-exit: 3.0.7
- strip-eof: 1.0.0
-
execa@5.1.1:
dependencies:
cross-spawn: 7.0.3
@@ -7595,18 +6660,6 @@ snapshots:
exit@0.1.2: {}
- expand-brackets@2.1.4:
- dependencies:
- debug: 2.6.9
- define-property: 0.2.5
- extend-shallow: 2.0.1
- posix-character-classes: 0.1.1
- regex-not: 1.0.2
- snapdragon: 0.8.2
- to-regex: 3.0.2
- transitivePeerDependencies:
- - supports-color
-
expand-tilde@2.0.2:
dependencies:
homedir-polyfill: 1.0.3
@@ -7623,11 +6676,6 @@ snapshots:
dependencies:
is-extendable: 0.1.1
- extend-shallow@3.0.2:
- dependencies:
- assign-symbols: 1.0.0
- is-extendable: 1.0.1
-
extend@3.0.2: {}
external-editor@3.1.0:
@@ -7636,39 +6684,15 @@ snapshots:
iconv-lite: 0.4.24
tmp: 0.0.33
- extglob@2.0.4:
- dependencies:
- array-unique: 0.3.2
- define-property: 1.0.0
- expand-brackets: 2.1.4
- extend-shallow: 2.0.1
- fragment-cache: 0.2.1
- regex-not: 1.0.2
- snapdragon: 0.8.2
- to-regex: 3.0.2
- transitivePeerDependencies:
- - supports-color
-
fast-deep-equal@3.1.3: {}
- fast-glob@2.2.7:
- dependencies:
- '@mrmlnc/readdir-enhanced': 2.2.1
- '@nodelib/fs.stat': 1.1.3
- glob-parent: 3.1.0
- is-glob: 4.0.3
- merge2: 1.4.1
- micromatch: 3.1.10
- transitivePeerDependencies:
- - supports-color
-
fast-glob@3.3.2:
dependencies:
'@nodelib/fs.stat': 2.0.5
'@nodelib/fs.walk': 1.2.8
glob-parent: 5.1.2
merge2: 1.4.1
- micromatch: 4.0.7
+ micromatch: 4.0.8
fast-json-stable-stringify@2.1.0: {}
@@ -7676,7 +6700,7 @@ snapshots:
fast-safe-stringify@2.1.1: {}
- fast-uri@3.0.1:
+ fast-uri@3.0.3:
optional: true
fastq@1.17.1:
@@ -7687,41 +6711,22 @@ snapshots:
dependencies:
bser: 2.1.1
- figures@2.0.0:
- dependencies:
- escape-string-regexp: 1.0.5
-
figures@3.2.0:
dependencies:
escape-string-regexp: 1.0.5
- file-entry-cache@5.0.1:
- dependencies:
- flat-cache: 2.0.1
-
file-entry-cache@6.0.1:
dependencies:
flat-cache: 3.2.0
- file@0.2.2: {}
-
filelist@1.0.4:
dependencies:
minimatch: 5.1.6
- fill-range@4.0.0:
- dependencies:
- extend-shallow: 2.0.1
- is-number: 3.0.0
- repeat-string: 1.6.1
- to-regex-range: 2.1.1
-
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
- find-line-column@0.5.2: {}
-
find-node-modules@2.1.3:
dependencies:
findup-sync: 4.0.0
@@ -7729,10 +6734,6 @@ snapshots:
find-root@1.1.0: {}
- find-up@3.0.0:
- dependencies:
- locate-path: 3.0.0
-
find-up@4.1.0:
dependencies:
locate-path: 5.0.0
@@ -7747,55 +6748,42 @@ snapshots:
dependencies:
detect-file: 1.0.0
is-glob: 4.0.3
- micromatch: 4.0.7
+ micromatch: 4.0.8
resolve-dir: 1.0.1
- flat-cache@2.0.1:
- dependencies:
- flatted: 2.0.2
- rimraf: 2.6.3
- write: 1.0.3
-
flat-cache@3.2.0:
dependencies:
flatted: 3.3.1
keyv: 4.5.4
rimraf: 3.0.2
- flatted@2.0.2: {}
-
flatted@3.3.1: {}
+ follow-redirects@1.15.9: {}
+
for-each@0.3.3:
dependencies:
is-callable: 1.2.7
- for-in@1.0.2: {}
-
foreground-child@3.3.0:
dependencies:
cross-spawn: 7.0.3
signal-exit: 4.1.0
- form-data@4.0.0:
+ form-data@4.0.1:
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
mime-types: 2.1.35
- formidable@2.1.2:
+ formidable@3.5.2:
dependencies:
dezalgo: 1.0.4
- hexoid: 1.0.0
+ hexoid: 2.0.0
once: 1.4.0
- qs: 6.13.0
fraction.js@4.3.7: {}
- fragment-cache@0.2.1:
- dependencies:
- map-cache: 0.2.2
-
fs-extra@9.1.0:
dependencies:
at-least-node: 1.0.0
@@ -7817,21 +6805,17 @@ snapshots:
es-abstract: 1.23.3
functions-have-names: 1.2.3
- functional-red-black-tree@1.0.1: {}
-
functions-have-names@1.2.3: {}
- geist@1.3.1(next@14.2.5(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
+ geist@1.3.1(next@14.2.16(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)):
dependencies:
- next: 14.2.5(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ next: 14.2.16(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
gensync@1.0.0-beta.2: {}
- get-caller-file@1.0.3: {}
-
get-caller-file@2.0.5: {}
- get-east-asian-width@1.2.0: {}
+ get-east-asian-width@1.3.0: {}
get-intrinsic@1.2.4:
dependencies:
@@ -7845,10 +6829,6 @@ snapshots:
get-package-type@0.1.0: {}
- get-stream@4.1.0:
- dependencies:
- pump: 3.0.0
-
get-stream@6.0.1: {}
get-stream@8.0.1: {}
@@ -7859,19 +6839,12 @@ snapshots:
es-errors: 1.3.0
get-intrinsic: 1.2.4
- get-tsconfig@4.7.6:
+ get-tsconfig@4.8.1:
dependencies:
resolve-pkg-maps: 1.0.0
- get-value@2.0.6: {}
-
github-slugger@2.0.0: {}
- glob-parent@3.1.0:
- dependencies:
- is-glob: 3.1.0
- path-dirname: 1.0.2
-
glob-parent@5.1.2:
dependencies:
is-glob: 4.0.3
@@ -7880,10 +6853,6 @@ snapshots:
dependencies:
is-glob: 4.0.3
- glob-to-regexp@0.3.0: {}
-
- glob-to-regexp@0.4.1: {}
-
glob@10.3.10:
dependencies:
foreground-child: 3.3.0
@@ -7898,7 +6867,7 @@ snapshots:
jackspeak: 3.4.3
minimatch: 9.0.5
minipass: 7.1.2
- package-json-from-dist: 1.0.0
+ package-json-from-dist: 1.0.1
path-scurry: 1.11.1
glob@7.2.3:
@@ -7940,28 +6909,6 @@ snapshots:
define-properties: 1.2.1
gopd: 1.0.1
- globby@11.1.0:
- dependencies:
- array-union: 2.1.0
- dir-glob: 3.0.1
- fast-glob: 3.3.2
- ignore: 5.3.2
- merge2: 1.4.1
- slash: 3.0.0
-
- globby@9.2.0:
- dependencies:
- '@types/glob': 7.2.0
- array-union: 1.0.2
- dir-glob: 2.2.2
- fast-glob: 2.2.7
- glob: 7.2.3
- ignore: 4.0.6
- pify: 4.0.1
- slash: 2.0.0
- transitivePeerDependencies:
- - supports-color
-
gopd@1.0.1:
dependencies:
get-intrinsic: 1.2.4
@@ -7970,6 +6917,13 @@ snapshots:
graphemer@1.4.0: {}
+ gray-matter@4.0.3:
+ dependencies:
+ js-yaml: 3.14.1
+ kind-of: 6.0.3
+ section-matter: 1.0.0
+ strip-bom-string: 1.0.0
+
has-bigints@1.0.2: {}
has-flag@3.0.0: {}
@@ -7988,36 +6942,17 @@ snapshots:
dependencies:
has-symbols: 1.0.3
- has-value@0.3.1:
- dependencies:
- get-value: 2.0.6
- has-values: 0.1.4
- isobject: 2.1.0
-
- has-value@1.0.0:
- dependencies:
- get-value: 2.0.6
- has-values: 1.0.0
- isobject: 3.0.1
-
- has-values@0.1.4: {}
-
- has-values@1.0.0:
- dependencies:
- is-number: 3.0.0
- kind-of: 4.0.0
-
hasown@2.0.2:
dependencies:
function-bind: 1.1.2
- hast-util-from-html@2.0.1:
+ hast-util-from-html@2.0.3:
dependencies:
'@types/hast': 3.0.4
devlop: 1.1.0
hast-util-from-parse5: 8.0.1
- parse5: 7.1.2
- vfile: 6.0.2
+ parse5: 7.2.1
+ vfile: 6.0.3
vfile-message: 4.0.2
hast-util-from-parse5@8.0.1:
@@ -8027,7 +6962,7 @@ snapshots:
devlop: 1.1.0
hastscript: 8.0.0
property-information: 6.5.0
- vfile: 6.0.2
+ vfile: 6.0.3
vfile-location: 5.0.3
web-namespaces: 2.0.1
@@ -8049,7 +6984,7 @@ snapshots:
hast-util-to-estree@3.1.0:
dependencies:
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
'@types/estree-jsx': 1.0.5
'@types/hast': 3.0.4
comma-separated-tokens: 2.0.3
@@ -8057,8 +6992,8 @@ snapshots:
estree-util-attach-comments: 3.0.0
estree-util-is-identifier-name: 3.0.0
hast-util-whitespace: 3.0.0
- mdast-util-mdx-expression: 2.0.0
- mdast-util-mdx-jsx: 3.1.2
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.1.3
mdast-util-mdxjs-esm: 2.0.1
property-information: 6.5.0
space-separated-tokens: 2.0.2
@@ -8068,27 +7003,27 @@ snapshots:
transitivePeerDependencies:
- supports-color
- hast-util-to-jsx-runtime@2.3.0:
+ hast-util-to-jsx-runtime@2.3.2:
dependencies:
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
'@types/hast': 3.0.4
'@types/unist': 3.0.3
comma-separated-tokens: 2.0.3
devlop: 1.1.0
estree-util-is-identifier-name: 3.0.0
hast-util-whitespace: 3.0.0
- mdast-util-mdx-expression: 2.0.0
- mdast-util-mdx-jsx: 3.1.2
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.1.3
mdast-util-mdxjs-esm: 2.0.1
property-information: 6.5.0
space-separated-tokens: 2.0.2
- style-to-object: 1.0.6
+ style-to-object: 1.0.8
unist-util-position: 5.0.0
vfile-message: 4.0.2
transitivePeerDependencies:
- supports-color
- hast-util-to-string@3.0.0:
+ hast-util-to-string@3.0.1:
dependencies:
'@types/hast': 3.0.4
@@ -8114,7 +7049,7 @@ snapshots:
property-information: 6.5.0
space-separated-tokens: 2.0.2
- hexoid@1.0.0: {}
+ hexoid@2.0.0: {}
homedir-polyfill@1.0.3:
dependencies:
@@ -8128,7 +7063,7 @@ snapshots:
human-signals@5.0.0: {}
- husky@9.1.5: {}
+ husky@9.1.6: {}
iconv-lite@0.4.24:
dependencies:
@@ -8136,15 +7071,8 @@ snapshots:
ieee754@1.2.1: {}
- ignore@4.0.6: {}
-
ignore@5.3.2: {}
- import-fresh@2.0.0:
- dependencies:
- caller-path: 2.0.0
- resolve-from: 3.0.0
-
import-fresh@3.3.0:
dependencies:
parent-module: 1.0.1
@@ -8158,54 +7086,8 @@ snapshots:
import-meta-resolve@4.1.0:
optional: true
- import-sort-cli@6.0.0:
- dependencies:
- diff: 4.0.2
- file: 0.2.2
- globby: 9.2.0
- import-sort: 6.0.0
- import-sort-config: 6.0.0
- import-sort-parser: 6.0.0
- import-sort-parser-babylon: 6.0.0
- import-sort-style: 6.0.0
- import-sort-style-eslint: 6.0.0
- mkdirp: 0.5.6
- yargs: 12.0.5
- transitivePeerDependencies:
- - supports-color
-
- import-sort-config@6.0.0:
- dependencies:
- cosmiconfig: 5.2.1
- find-root: 1.1.0
- minimatch: 3.1.2
- resolve-from: 4.0.0
-
- import-sort-parser-babylon@6.0.0:
- dependencies:
- '@babel/core': 7.25.2
- '@babel/parser': 7.25.3
- '@babel/traverse': 7.25.3
- '@babel/types': 7.25.2
- find-line-column: 0.5.2
- transitivePeerDependencies:
- - supports-color
-
- import-sort-parser-typescript@6.0.0:
- dependencies:
- typescript: 3.9.10
-
import-sort-parser@6.0.0: {}
- import-sort-style-eslint@6.0.0:
- dependencies:
- eslint: 5.16.0
- lodash: 4.17.21
- transitivePeerDependencies:
- - supports-color
-
- import-sort-style-module@6.0.0: {}
-
import-sort-style@6.0.0: {}
import-sort@6.0.0:
@@ -8232,23 +7114,7 @@ snapshots:
inline-style-parser@0.1.1: {}
- inline-style-parser@0.2.3: {}
-
- inquirer@6.5.2:
- dependencies:
- ansi-escapes: 3.2.0
- chalk: 2.4.2
- cli-cursor: 2.1.0
- cli-width: 2.2.1
- external-editor: 3.1.0
- figures: 2.0.0
- lodash: 4.17.21
- mute-stream: 0.0.7
- run-async: 2.4.1
- rxjs: 6.6.7
- string-width: 2.1.1
- strip-ansi: 5.2.0
- through: 2.3.8
+ inline-style-parser@0.2.4: {}
inquirer@8.2.5:
dependencies:
@@ -8278,12 +7144,6 @@ snapshots:
dependencies:
loose-envify: 1.4.0
- invert-kv@2.0.0: {}
-
- is-accessor-descriptor@1.0.1:
- dependencies:
- hasown: 2.0.2
-
is-alphabetical@2.0.1: {}
is-alphanumerical@2.0.1:
@@ -8291,11 +7151,6 @@ snapshots:
is-alphabetical: 2.0.1
is-decimal: 2.0.1
- is-arguments@1.1.1:
- dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
-
is-array-buffer@3.0.4:
dependencies:
call-bind: 1.0.7
@@ -8303,6 +7158,8 @@ snapshots:
is-arrayish@0.2.1: {}
+ is-arrayish@0.3.2: {}
+
is-async-function@2.0.0:
dependencies:
has-tostringtag: 1.0.2
@@ -8320,19 +7177,17 @@ snapshots:
call-bind: 1.0.7
has-tostringtag: 1.0.2
- is-buffer@1.1.6: {}
-
is-builtin-module@3.2.1:
dependencies:
builtin-modules: 3.3.0
- is-callable@1.2.7: {}
-
- is-core-module@2.15.0:
+ is-bun-module@1.2.1:
dependencies:
- hasown: 2.0.2
+ semver: 7.6.3
+
+ is-callable@1.2.7: {}
- is-data-descriptor@1.0.1:
+ is-core-module@2.15.1:
dependencies:
hasown: 2.0.2
@@ -8346,43 +7201,21 @@ snapshots:
is-decimal@2.0.1: {}
- is-descriptor@0.1.7:
- dependencies:
- is-accessor-descriptor: 1.0.1
- is-data-descriptor: 1.0.1
-
- is-descriptor@1.0.3:
- dependencies:
- is-accessor-descriptor: 1.0.1
- is-data-descriptor: 1.0.1
-
- is-directory@0.3.1: {}
-
is-extendable@0.1.1: {}
- is-extendable@1.0.1:
- dependencies:
- is-plain-object: 2.0.4
-
is-extglob@2.1.1: {}
is-finalizationregistry@1.0.2:
dependencies:
call-bind: 1.0.7
- is-fullwidth-code-point@1.0.0:
- dependencies:
- number-is-nan: 1.0.1
-
- is-fullwidth-code-point@2.0.0: {}
-
is-fullwidth-code-point@3.0.0: {}
is-fullwidth-code-point@4.0.0: {}
is-fullwidth-code-point@5.0.0:
dependencies:
- get-east-asian-width: 1.2.0
+ get-east-asian-width: 1.3.0
is-generator-fn@2.1.0: {}
@@ -8390,10 +7223,6 @@ snapshots:
dependencies:
has-tostringtag: 1.0.2
- is-glob@3.1.0:
- dependencies:
- is-extglob: 2.1.1
-
is-glob@4.0.3:
dependencies:
is-extglob: 2.1.1
@@ -8410,24 +7239,12 @@ snapshots:
dependencies:
has-tostringtag: 1.0.2
- is-number@3.0.0:
- dependencies:
- kind-of: 3.2.2
-
is-number@7.0.0: {}
is-path-inside@3.0.3: {}
is-plain-obj@4.1.0: {}
- is-plain-object@2.0.4:
- dependencies:
- isobject: 3.0.1
-
- is-reference@3.0.2:
- dependencies:
- '@types/estree': 1.0.5
-
is-regex@1.1.4:
dependencies:
call-bind: 1.0.7
@@ -8439,8 +7256,6 @@ snapshots:
dependencies:
call-bind: 1.0.7
- is-stream@1.1.0: {}
-
is-stream@2.0.1: {}
is-stream@3.0.0: {}
@@ -8474,24 +7289,16 @@ snapshots:
is-windows@1.0.2: {}
- isarray@1.0.0: {}
-
isarray@2.0.5: {}
isexe@2.0.0: {}
- isobject@2.1.0:
- dependencies:
- isarray: 1.0.0
-
- isobject@3.0.1: {}
-
istanbul-lib-coverage@3.2.2: {}
istanbul-lib-instrument@5.2.1:
dependencies:
- '@babel/core': 7.25.2
- '@babel/parser': 7.25.3
+ '@babel/core': 7.26.0
+ '@babel/parser': 7.26.2
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
semver: 6.3.1
@@ -8500,8 +7307,8 @@ snapshots:
istanbul-lib-instrument@6.0.3:
dependencies:
- '@babel/core': 7.25.2
- '@babel/parser': 7.25.3
+ '@babel/core': 7.26.0
+ '@babel/parser': 7.26.2
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
semver: 7.6.3
@@ -8516,7 +7323,7 @@ snapshots:
istanbul-lib-source-maps@4.0.1:
dependencies:
- debug: 4.3.6
+ debug: 4.3.7
istanbul-lib-coverage: 3.2.2
source-map: 0.6.1
transitivePeerDependencies:
@@ -8527,7 +7334,7 @@ snapshots:
html-escaper: 2.0.2
istanbul-lib-report: 3.0.1
- iterator.prototype@1.1.2:
+ iterator.prototype@1.1.3:
dependencies:
define-properties: 1.2.1
get-intrinsic: 1.2.4
@@ -8566,7 +7373,7 @@ snapshots:
'@jest/expect': 29.7.0
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
chalk: 4.1.2
co: 4.6.0
dedent: 1.5.3
@@ -8586,16 +7393,16 @@ snapshots:
- babel-plugin-macros
- supports-color
- jest-cli@29.7.0(@types/node@20.16.1)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)):
+ jest-cli@29.7.0(@types/node@20.17.5):
dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))
+ '@jest/core': 29.7.0
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
chalk: 4.1.2
- create-jest: 29.7.0(@types/node@20.16.1)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))
+ create-jest: 29.7.0(@types/node@20.17.5)
exit: 0.1.2
import-local: 3.2.0
- jest-config: 29.7.0(@types/node@20.16.1)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))
+ jest-config: 29.7.0(@types/node@20.17.5)
jest-util: 29.7.0
jest-validate: 29.7.0
yargs: 17.7.2
@@ -8605,12 +7412,12 @@ snapshots:
- supports-color
- ts-node
- jest-config@29.7.0(@types/node@20.16.1)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)):
+ jest-config@29.7.0(@types/node@20.17.5):
dependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.26.0
'@jest/test-sequencer': 29.7.0
'@jest/types': 29.6.3
- babel-jest: 29.7.0(@babel/core@7.25.2)
+ babel-jest: 29.7.0(@babel/core@7.26.0)
chalk: 4.1.2
ci-info: 3.9.0
deepmerge: 4.3.1
@@ -8624,14 +7431,13 @@ snapshots:
jest-runner: 29.7.0
jest-util: 29.7.0
jest-validate: 29.7.0
- micromatch: 4.0.7
+ micromatch: 4.0.8
parse-json: 5.2.0
pretty-format: 29.7.0
slash: 3.0.0
strip-json-comments: 3.1.1
optionalDependencies:
- '@types/node': 20.16.1
- ts-node: 10.9.2(@types/node@20.16.1)(typescript@5.5.4)
+ '@types/node': 20.17.5
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
@@ -8660,7 +7466,7 @@ snapshots:
'@jest/environment': 29.7.0
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
jest-mock: 29.7.0
jest-util: 29.7.0
@@ -8670,14 +7476,14 @@ snapshots:
dependencies:
'@jest/types': 29.6.3
'@types/graceful-fs': 4.1.9
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
anymatch: 3.1.3
fb-watchman: 2.0.2
graceful-fs: 4.2.11
jest-regex-util: 29.6.3
jest-util: 29.7.0
jest-worker: 29.7.0
- micromatch: 4.0.7
+ micromatch: 4.0.8
walker: 1.0.8
optionalDependencies:
fsevents: 2.3.3
@@ -8696,12 +7502,12 @@ snapshots:
jest-message-util@29.7.0:
dependencies:
- '@babel/code-frame': 7.24.7
+ '@babel/code-frame': 7.26.2
'@jest/types': 29.6.3
'@types/stack-utils': 2.0.3
chalk: 4.1.2
graceful-fs: 4.2.11
- micromatch: 4.0.7
+ micromatch: 4.0.8
pretty-format: 29.7.0
slash: 3.0.0
stack-utils: 2.0.6
@@ -8709,7 +7515,7 @@ snapshots:
jest-mock@29.7.0:
dependencies:
'@jest/types': 29.6.3
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
jest-util: 29.7.0
jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
@@ -8744,7 +7550,7 @@ snapshots:
'@jest/test-result': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
chalk: 4.1.2
emittery: 0.13.1
graceful-fs: 4.2.11
@@ -8772,9 +7578,9 @@ snapshots:
'@jest/test-result': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
chalk: 4.1.2
- cjs-module-lexer: 1.3.1
+ cjs-module-lexer: 1.4.1
collect-v8-coverage: 1.0.2
glob: 7.2.3
graceful-fs: 4.2.11
@@ -8792,15 +7598,15 @@ snapshots:
jest-snapshot@29.7.0:
dependencies:
- '@babel/core': 7.25.2
- '@babel/generator': 7.25.0
- '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2)
- '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.25.2)
- '@babel/types': 7.25.2
+ '@babel/core': 7.26.0
+ '@babel/generator': 7.26.2
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0)
+ '@babel/types': 7.26.0
'@jest/expect-utils': 29.7.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
- babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.2)
+ babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0)
chalk: 4.1.2
expect: 29.7.0
graceful-fs: 4.2.11
@@ -8818,7 +7624,7 @@ snapshots:
jest-util@29.7.0:
dependencies:
'@jest/types': 29.6.3
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
@@ -8837,32 +7643,26 @@ snapshots:
dependencies:
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
ansi-escapes: 4.3.2
chalk: 4.1.2
emittery: 0.13.1
jest-util: 29.7.0
string-length: 4.0.2
- jest-worker@27.5.1:
- dependencies:
- '@types/node': 20.16.1
- merge-stream: 2.0.0
- supports-color: 8.1.1
-
jest-worker@29.7.0:
dependencies:
- '@types/node': 20.16.1
+ '@types/node': 20.17.5
jest-util: 29.7.0
merge-stream: 2.0.0
supports-color: 8.1.1
- jest@29.7.0(@types/node@20.16.1)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)):
+ jest@29.7.0(@types/node@20.17.5):
dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))
+ '@jest/core': 29.7.0
'@jest/types': 29.6.3
import-local: 3.2.0
- jest-cli: 29.7.0(@types/node@20.16.1)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))
+ jest-cli: 29.7.0(@types/node@20.17.5)
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -8882,7 +7682,7 @@ snapshots:
dependencies:
argparse: 2.0.1
- jsesc@2.5.2: {}
+ jsesc@3.0.2: {}
json-buffer@3.0.1: {}
@@ -8920,14 +7720,6 @@ snapshots:
dependencies:
json-buffer: 3.0.1
- kind-of@3.2.2:
- dependencies:
- is-buffer: 1.1.6
-
- kind-of@4.0.0:
- dependencies:
- is-buffer: 1.1.6
-
kind-of@6.0.3: {}
kleur@3.0.3: {}
@@ -8938,17 +7730,8 @@ snapshots:
dependencies:
language-subtag-registry: 0.3.23
- lcid@2.0.0:
- dependencies:
- invert-kv: 2.0.0
-
leven@3.1.0: {}
- levn@0.3.0:
- dependencies:
- prelude-ls: 1.1.2
- type-check: 0.3.2
-
levn@0.4.1:
dependencies:
prelude-ls: 1.2.1
@@ -8960,22 +7743,22 @@ snapshots:
lines-and-columns@1.2.4: {}
- lint-staged@15.2.9:
+ lint-staged@15.2.10:
dependencies:
chalk: 5.3.0
commander: 12.1.0
- debug: 4.3.6
+ debug: 4.3.7
execa: 8.0.1
lilconfig: 3.1.2
- listr2: 8.2.4
- micromatch: 4.0.7
+ listr2: 8.2.5
+ micromatch: 4.0.8
pidtree: 0.6.0
string-argv: 0.3.2
- yaml: 2.5.0
+ yaml: 2.5.1
transitivePeerDependencies:
- supports-color
- listr2@8.2.4:
+ listr2@8.2.5:
dependencies:
cli-truncate: 4.0.0
colorette: 2.0.20
@@ -8991,13 +7774,6 @@ snapshots:
pify: 3.0.0
strip-bom: 3.0.0
- loader-runner@4.3.0: {}
-
- locate-path@3.0.0:
- dependencies:
- p-locate: 3.0.0
- path-exists: 3.0.0
-
locate-path@5.0.0:
dependencies:
p-locate: 4.1.0
@@ -9051,7 +7827,7 @@ snapshots:
dependencies:
yallist: 3.1.1
- lucide-react@0.368.0(react@18.3.1):
+ lucide-react@0.435.0(react@18.3.1):
dependencies:
react: 18.3.1
@@ -9065,19 +7841,9 @@ snapshots:
dependencies:
tmpl: 1.0.5
- map-age-cleaner@0.1.3:
- dependencies:
- p-defer: 1.0.0
-
- map-cache@0.2.2: {}
-
- map-visit@1.0.0:
- dependencies:
- object-visit: 1.0.1
-
markdown-extensions@2.0.0: {}
- markdown-table@3.0.3: {}
+ markdown-table@3.0.4: {}
mdast-util-find-and-replace@3.0.1:
dependencies:
@@ -9086,7 +7852,7 @@ snapshots:
unist-util-is: 6.0.0
unist-util-visit-parents: 6.0.1
- mdast-util-from-markdown@2.0.1:
+ mdast-util-from-markdown@2.0.2:
dependencies:
'@types/mdast': 4.0.4
'@types/unist': 3.0.3
@@ -9115,8 +7881,8 @@ snapshots:
dependencies:
'@types/mdast': 4.0.4
devlop: 1.1.0
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.1
micromark-util-normalize-identifier: 2.0.0
transitivePeerDependencies:
- supports-color
@@ -9124,8 +7890,8 @@ snapshots:
mdast-util-gfm-strikethrough@2.0.0:
dependencies:
'@types/mdast': 4.0.4
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.1
transitivePeerDependencies:
- supports-color
@@ -9133,9 +7899,9 @@ snapshots:
dependencies:
'@types/mdast': 4.0.4
devlop: 1.1.0
- markdown-table: 3.0.3
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
+ markdown-table: 3.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.1
transitivePeerDependencies:
- supports-color
@@ -9143,35 +7909,35 @@ snapshots:
dependencies:
'@types/mdast': 4.0.4
devlop: 1.1.0
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.1
transitivePeerDependencies:
- supports-color
mdast-util-gfm@3.0.0:
dependencies:
- mdast-util-from-markdown: 2.0.1
+ mdast-util-from-markdown: 2.0.2
mdast-util-gfm-autolink-literal: 2.0.1
mdast-util-gfm-footnote: 2.0.0
mdast-util-gfm-strikethrough: 2.0.0
mdast-util-gfm-table: 2.0.0
mdast-util-gfm-task-list-item: 2.0.0
- mdast-util-to-markdown: 2.1.0
+ mdast-util-to-markdown: 2.1.1
transitivePeerDependencies:
- supports-color
- mdast-util-mdx-expression@2.0.0:
+ mdast-util-mdx-expression@2.0.1:
dependencies:
'@types/estree-jsx': 1.0.5
'@types/hast': 3.0.4
'@types/mdast': 4.0.4
devlop: 1.1.0
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.1
transitivePeerDependencies:
- supports-color
- mdast-util-mdx-jsx@3.1.2:
+ mdast-util-mdx-jsx@3.1.3:
dependencies:
'@types/estree-jsx': 1.0.5
'@types/hast': 3.0.4
@@ -9179,11 +7945,10 @@ snapshots:
'@types/unist': 3.0.3
ccount: 2.0.1
devlop: 1.1.0
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.1
parse-entities: 4.0.1
stringify-entities: 4.0.4
- unist-util-remove-position: 5.0.0
unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
transitivePeerDependencies:
@@ -9191,11 +7956,11 @@ snapshots:
mdast-util-mdx@3.0.0:
dependencies:
- mdast-util-from-markdown: 2.0.1
- mdast-util-mdx-expression: 2.0.0
- mdast-util-mdx-jsx: 3.1.2
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.1.3
mdast-util-mdxjs-esm: 2.0.1
- mdast-util-to-markdown: 2.1.0
+ mdast-util-to-markdown: 2.1.1
transitivePeerDependencies:
- supports-color
@@ -9205,8 +7970,8 @@ snapshots:
'@types/hast': 3.0.4
'@types/mdast': 4.0.4
devlop: 1.1.0
- mdast-util-from-markdown: 2.0.1
- mdast-util-to-markdown: 2.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.1
transitivePeerDependencies:
- supports-color
@@ -9225,15 +7990,16 @@ snapshots:
trim-lines: 3.0.1
unist-util-position: 5.0.0
unist-util-visit: 5.0.0
- vfile: 6.0.2
+ vfile: 6.0.3
- mdast-util-to-markdown@2.1.0:
+ mdast-util-to-markdown@2.1.1:
dependencies:
'@types/mdast': 4.0.4
'@types/unist': 3.0.3
longest-streak: 3.1.0
mdast-util-phrasing: 4.1.0
mdast-util-to-string: 4.0.0
+ micromark-util-classify-character: 2.0.0
micromark-util-decode-string: 2.0.0
unist-util-visit: 5.0.0
zwitch: 2.0.4
@@ -9242,12 +8008,6 @@ snapshots:
dependencies:
'@types/mdast': 4.0.4
- mem@4.3.0:
- dependencies:
- map-age-cleaner: 0.1.3
- mimic-fn: 2.1.0
- p-is-promise: 2.1.0
-
memorystream@0.3.1: {}
merge-stream@2.0.0: {}
@@ -9337,24 +8097,25 @@ snapshots:
micromark-extension-mdx-expression@3.0.0:
dependencies:
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
devlop: 1.1.0
- micromark-factory-mdx-expression: 2.0.1
+ micromark-factory-mdx-expression: 2.0.2
micromark-factory-space: 2.0.0
micromark-util-character: 2.1.0
micromark-util-events-to-acorn: 2.0.2
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
- micromark-extension-mdx-jsx@3.0.0:
+ micromark-extension-mdx-jsx@3.0.1:
dependencies:
'@types/acorn': 4.0.6
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
devlop: 1.1.0
estree-util-is-identifier-name: 3.0.0
- micromark-factory-mdx-expression: 2.0.1
+ micromark-factory-mdx-expression: 2.0.2
micromark-factory-space: 2.0.0
micromark-util-character: 2.1.0
+ micromark-util-events-to-acorn: 2.0.2
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
vfile-message: 4.0.2
@@ -9365,7 +8126,7 @@ snapshots:
micromark-extension-mdxjs-esm@3.0.0:
dependencies:
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
devlop: 1.1.0
micromark-core-commonmark: 2.0.1
micromark-util-character: 2.1.0
@@ -9377,10 +8138,10 @@ snapshots:
micromark-extension-mdxjs@3.0.0:
dependencies:
- acorn: 8.12.1
- acorn-jsx: 5.3.2(acorn@8.12.1)
+ acorn: 8.14.0
+ acorn-jsx: 5.3.2(acorn@8.14.0)
micromark-extension-mdx-expression: 3.0.0
- micromark-extension-mdx-jsx: 3.0.0
+ micromark-extension-mdx-jsx: 3.0.1
micromark-extension-mdx-md: 2.0.0
micromark-extension-mdxjs-esm: 3.0.0
micromark-util-combine-extensions: 2.0.0
@@ -9399,10 +8160,11 @@ snapshots:
micromark-util-symbol: 2.0.0
micromark-util-types: 2.0.0
- micromark-factory-mdx-expression@2.0.1:
+ micromark-factory-mdx-expression@2.0.2:
dependencies:
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
devlop: 1.1.0
+ micromark-factory-space: 2.0.0
micromark-util-character: 2.1.0
micromark-util-events-to-acorn: 2.0.2
micromark-util-symbol: 2.0.0
@@ -9465,7 +8227,7 @@ snapshots:
micromark-util-events-to-acorn@2.0.2:
dependencies:
'@types/acorn': 4.0.6
- '@types/estree': 1.0.5
+ '@types/estree': 1.0.6
'@types/unist': 3.0.3
devlop: 1.1.0
estree-util-visit: 2.0.0
@@ -9503,7 +8265,7 @@ snapshots:
micromark@4.0.0:
dependencies:
'@types/debug': 4.1.12
- debug: 4.3.6
+ debug: 4.3.7
decode-named-character-reference: 1.0.2
devlop: 1.1.0
micromark-core-commonmark: 2.0.1
@@ -9522,25 +8284,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- micromatch@3.1.10:
- dependencies:
- arr-diff: 4.0.0
- array-unique: 0.3.2
- braces: 2.3.2
- define-property: 2.0.2
- extend-shallow: 3.0.2
- extglob: 2.0.4
- fragment-cache: 0.2.1
- kind-of: 6.0.3
- nanomatch: 1.2.13
- object.pick: 1.3.0
- regex-not: 1.0.2
- snapdragon: 0.8.2
- to-regex: 3.0.2
- transitivePeerDependencies:
- - supports-color
-
- micromatch@4.0.7:
+ micromatch@4.0.8:
dependencies:
braces: 3.0.3
picomatch: 2.3.1
@@ -9553,8 +8297,6 @@ snapshots:
mime@2.6.0: {}
- mimic-fn@1.2.0: {}
-
mimic-fn@2.1.0: {}
mimic-fn@4.0.0: {}
@@ -9569,10 +8311,6 @@ snapshots:
dependencies:
brace-expansion: 2.0.1
- minimatch@9.0.3:
- dependencies:
- brace-expansion: 2.0.1
-
minimatch@9.0.5:
dependencies:
brace-expansion: 2.0.1
@@ -9583,23 +8321,8 @@ snapshots:
minipass@7.1.2: {}
- mixin-deep@1.3.2:
- dependencies:
- for-in: 1.0.2
- is-extendable: 1.0.1
-
- mkdirp@0.5.6:
- dependencies:
- minimist: 1.2.8
-
- ms@2.0.0: {}
-
- ms@2.1.2: {}
-
ms@2.1.3: {}
- mute-stream@0.0.7: {}
-
mute-stream@0.0.8: {}
mz@2.7.0:
@@ -9610,37 +8333,20 @@ snapshots:
nanoid@3.3.7: {}
- nanomatch@1.2.13:
- dependencies:
- arr-diff: 4.0.0
- array-unique: 0.3.2
- define-property: 2.0.2
- extend-shallow: 3.0.2
- fragment-cache: 0.2.1
- is-windows: 1.0.2
- kind-of: 6.0.3
- object.pick: 1.3.0
- regex-not: 1.0.2
- snapdragon: 0.8.2
- to-regex: 3.0.2
- transitivePeerDependencies:
- - supports-color
-
natural-compare@1.4.0: {}
- neo-async@2.6.2: {}
-
- next-mdx-remote@5.0.0(@types/react@18.3.4)(react@18.3.1):
+ next-mdx-remote@5.0.0(@types/react@18.3.12)(acorn@8.14.0)(react@18.3.1):
dependencies:
- '@babel/code-frame': 7.24.7
- '@mdx-js/mdx': 3.0.1
- '@mdx-js/react': 3.0.1(@types/react@18.3.4)(react@18.3.1)
+ '@babel/code-frame': 7.26.2
+ '@mdx-js/mdx': 3.1.0(acorn@8.14.0)
+ '@mdx-js/react': 3.1.0(@types/react@18.3.12)(react@18.3.1)
react: 18.3.1
unist-util-remove: 3.1.1
- vfile: 6.0.2
+ vfile: 6.0.3
vfile-matter: 5.0.0
transitivePeerDependencies:
- '@types/react'
+ - acorn
- supports-color
next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
@@ -9648,33 +8354,37 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- next@14.2.5(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ next@14.2.16(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- '@next/env': 14.2.5
+ '@next/env': 14.2.16
'@swc/helpers': 0.5.5
busboy: 1.6.0
- caniuse-lite: 1.0.30001651
+ caniuse-lite: 1.0.30001676
graceful-fs: 4.2.11
postcss: 8.4.31
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- styled-jsx: 5.1.1(@babel/core@7.25.2)(react@18.3.1)
+ styled-jsx: 5.1.1(@babel/core@7.26.0)(react@18.3.1)
optionalDependencies:
- '@next/swc-darwin-arm64': 14.2.5
- '@next/swc-darwin-x64': 14.2.5
- '@next/swc-linux-arm64-gnu': 14.2.5
- '@next/swc-linux-arm64-musl': 14.2.5
- '@next/swc-linux-x64-gnu': 14.2.5
- '@next/swc-linux-x64-musl': 14.2.5
- '@next/swc-win32-arm64-msvc': 14.2.5
- '@next/swc-win32-ia32-msvc': 14.2.5
- '@next/swc-win32-x64-msvc': 14.2.5
+ '@next/swc-darwin-arm64': 14.2.16
+ '@next/swc-darwin-x64': 14.2.16
+ '@next/swc-linux-arm64-gnu': 14.2.16
+ '@next/swc-linux-arm64-musl': 14.2.16
+ '@next/swc-linux-x64-gnu': 14.2.16
+ '@next/swc-linux-x64-musl': 14.2.16
+ '@next/swc-win32-arm64-msvc': 14.2.16
+ '@next/swc-win32-ia32-msvc': 14.2.16
+ '@next/swc-win32-x64-msvc': 14.2.16
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
nice-try@1.0.5: {}
+ node-cache@5.1.2:
+ dependencies:
+ clone: 2.1.2
+
node-int64@0.4.0: {}
node-releases@2.0.18: {}
@@ -9702,10 +8412,6 @@ snapshots:
shell-quote: 1.8.1
string.prototype.padend: 3.1.6
- npm-run-path@2.0.2:
- dependencies:
- path-key: 2.0.1
-
npm-run-path@4.0.1:
dependencies:
path-key: 3.1.1
@@ -9714,31 +8420,16 @@ snapshots:
dependencies:
path-key: 4.0.0
- number-is-nan@1.0.1: {}
+ nprogress@0.2.0: {}
object-assign@4.1.1: {}
- object-copy@0.1.0:
- dependencies:
- copy-descriptor: 0.1.1
- define-property: 0.2.5
- kind-of: 3.2.2
-
object-hash@3.0.0: {}
object-inspect@1.13.2: {}
- object-is@1.1.6:
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
-
object-keys@1.1.1: {}
- object-visit@1.0.1:
- dependencies:
- isobject: 3.0.1
-
object.assign@4.1.5:
dependencies:
call-bind: 1.0.7
@@ -9765,10 +8456,6 @@ snapshots:
define-properties: 1.2.1
es-abstract: 1.23.3
- object.pick@1.3.0:
- dependencies:
- isobject: 3.0.1
-
object.values@1.2.0:
dependencies:
call-bind: 1.0.7
@@ -9779,10 +8466,6 @@ snapshots:
dependencies:
wrappy: 1.0.2
- onetime@2.0.1:
- dependencies:
- mimic-fn: 1.2.0
-
onetime@5.1.2:
dependencies:
mimic-fn: 2.1.0
@@ -9795,15 +8478,6 @@ snapshots:
dependencies:
mimic-function: 5.0.1
- optionator@0.8.3:
- dependencies:
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.3.0
- prelude-ls: 1.1.2
- type-check: 0.3.2
- word-wrap: 1.2.5
-
optionator@0.9.4:
dependencies:
deep-is: 0.1.4
@@ -9825,20 +8499,8 @@ snapshots:
strip-ansi: 6.0.1
wcwidth: 1.0.1
- os-locale@3.1.0:
- dependencies:
- execa: 1.0.0
- lcid: 2.0.0
- mem: 4.3.0
-
os-tmpdir@1.0.2: {}
- p-defer@1.0.0: {}
-
- p-finally@1.0.0: {}
-
- p-is-promise@2.1.0: {}
-
p-limit@2.3.0:
dependencies:
p-try: 2.2.0
@@ -9847,10 +8509,6 @@ snapshots:
dependencies:
yocto-queue: 0.1.0
- p-locate@3.0.0:
- dependencies:
- p-limit: 2.3.0
-
p-locate@4.1.0:
dependencies:
p-limit: 2.3.0
@@ -9861,7 +8519,7 @@ snapshots:
p-try@2.2.0: {}
- package-json-from-dist@1.0.0: {}
+ package-json-from-dist@1.0.1: {}
parent-module@1.0.1:
dependencies:
@@ -9885,7 +8543,7 @@ snapshots:
parse-json@5.2.0:
dependencies:
- '@babel/code-frame': 7.24.7
+ '@babel/code-frame': 7.26.2
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
@@ -9894,22 +8552,14 @@ snapshots:
parse-passwd@1.0.0: {}
- parse5@7.1.2:
+ parse5@7.2.1:
dependencies:
entities: 4.5.0
- pascalcase@0.1.1: {}
-
- path-dirname@1.0.2: {}
-
- path-exists@3.0.0: {}
-
path-exists@4.0.0: {}
path-is-absolute@1.0.1: {}
- path-is-inside@1.0.2: {}
-
path-key@2.0.1: {}
path-key@3.1.1: {}
@@ -9927,15 +8577,13 @@ snapshots:
dependencies:
pify: 3.0.0
- path-type@4.0.0: {}
-
- periscopic@3.1.0:
+ phin@3.7.1:
dependencies:
- '@types/estree': 1.0.5
- estree-walker: 3.0.3
- is-reference: 3.0.2
+ centra: 2.7.0
+ transitivePeerDependencies:
+ - debug
- picocolors@1.0.1: {}
+ picocolors@1.1.1: {}
picomatch@2.3.1: {}
@@ -9947,41 +8595,43 @@ snapshots:
pify@3.0.0: {}
- pify@4.0.1: {}
-
pirates@4.0.6: {}
pkg-dir@4.2.0:
dependencies:
find-up: 4.1.0
- posix-character-classes@0.1.1: {}
-
possible-typed-array-names@1.0.0: {}
- postcss-import@15.1.0(postcss@8.4.41):
+ postcss-import@15.1.0(postcss@8.4.47):
+ dependencies:
+ postcss: 8.4.47
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.8
+
+ postcss-import@16.1.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.41
+ postcss: 8.4.47
postcss-value-parser: 4.2.0
read-cache: 1.0.0
resolve: 1.22.8
- postcss-js@4.0.1(postcss@8.4.41):
+ postcss-js@4.0.1(postcss@8.4.47):
dependencies:
camelcase-css: 2.0.1
- postcss: 8.4.41
+ postcss: 8.4.47
- postcss-load-config@4.0.2(postcss@8.4.41)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)):
+ postcss-load-config@4.0.2(postcss@8.4.47):
dependencies:
lilconfig: 3.1.2
- yaml: 2.5.0
+ yaml: 2.6.0
optionalDependencies:
- postcss: 8.4.41
- ts-node: 10.9.2(@types/node@20.16.1)(typescript@5.5.4)
+ postcss: 8.4.47
- postcss-nested@6.2.0(postcss@8.4.41):
+ postcss-nested@6.2.0(postcss@8.4.47):
dependencies:
- postcss: 8.4.41
+ postcss: 8.4.47
postcss-selector-parser: 6.1.2
postcss-selector-parser@6.0.10:
@@ -9999,16 +8649,14 @@ snapshots:
postcss@8.4.31:
dependencies:
nanoid: 3.3.7
- picocolors: 1.0.1
- source-map-js: 1.2.0
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
- postcss@8.4.41:
+ postcss@8.4.47:
dependencies:
nanoid: 3.3.7
- picocolors: 1.0.1
- source-map-js: 1.2.0
-
- prelude-ls@1.1.2: {}
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
prelude-ls@1.2.1: {}
@@ -10020,8 +8668,6 @@ snapshots:
ansi-styles: 5.2.0
react-is: 18.3.1
- progress@2.0.3: {}
-
prompts@2.4.2:
dependencies:
kleur: 3.0.3
@@ -10035,11 +8681,6 @@ snapshots:
property-information@6.5.0: {}
- pump@3.0.0:
- dependencies:
- end-of-stream: 1.4.4
- once: 1.4.0
-
punycode@2.3.1: {}
pure-rand@6.1.0: {}
@@ -10050,10 +8691,6 @@ snapshots:
queue-microtask@1.2.3: {}
- randombytes@2.1.0:
- dependencies:
- safe-buffer: 5.2.1
-
react-dom@18.3.1(react@18.3.1):
dependencies:
loose-envify: 1.4.0
@@ -10064,33 +8701,33 @@ snapshots:
react-is@18.3.1: {}
- react-remove-scroll-bar@2.3.6(@types/react@18.3.4)(react@18.3.1):
+ react-remove-scroll-bar@2.3.6(@types/react@18.3.12)(react@18.3.1):
dependencies:
react: 18.3.1
- react-style-singleton: 2.2.1(@types/react@18.3.4)(react@18.3.1)
- tslib: 2.6.3
+ react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1)
+ tslib: 2.8.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- react-remove-scroll@2.5.7(@types/react@18.3.4)(react@18.3.1):
+ react-remove-scroll@2.6.0(@types/react@18.3.12)(react@18.3.1):
dependencies:
react: 18.3.1
- react-remove-scroll-bar: 2.3.6(@types/react@18.3.4)(react@18.3.1)
- react-style-singleton: 2.2.1(@types/react@18.3.4)(react@18.3.1)
- tslib: 2.6.3
- use-callback-ref: 1.3.2(@types/react@18.3.4)(react@18.3.1)
- use-sidecar: 1.1.2(@types/react@18.3.4)(react@18.3.1)
+ react-remove-scroll-bar: 2.3.6(@types/react@18.3.12)(react@18.3.1)
+ react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1)
+ tslib: 2.8.1
+ use-callback-ref: 1.3.2(@types/react@18.3.12)(react@18.3.1)
+ use-sidecar: 1.1.2(@types/react@18.3.12)(react@18.3.1)
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- react-style-singleton@2.2.1(@types/react@18.3.4)(react@18.3.1):
+ react-style-singleton@2.2.1(@types/react@18.3.12)(react@18.3.1):
dependencies:
get-nonce: 1.0.1
invariant: 2.2.4
react: 18.3.1
- tslib: 2.6.3
+ tslib: 2.8.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
react@18.3.1:
dependencies:
@@ -10116,7 +8753,35 @@ snapshots:
dependencies:
picomatch: 2.3.1
- reflect-metadata@0.2.2: {}
+ recma-build-jsx@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ estree-util-build-jsx: 3.0.1
+ vfile: 6.0.3
+
+ recma-jsx@1.0.0(acorn@8.14.0):
+ dependencies:
+ acorn-jsx: 5.3.2(acorn@8.14.0)
+ estree-util-to-js: 2.0.0
+ recma-parse: 1.0.0
+ recma-stringify: 1.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - acorn
+
+ recma-parse@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ esast-util-from-js: 2.0.1
+ unified: 11.0.5
+ vfile: 6.0.3
+
+ recma-stringify@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ estree-util-to-js: 2.0.0
+ unified: 11.0.5
+ vfile: 6.0.3
reflect.getprototypeof@1.0.6:
dependencies:
@@ -10131,24 +8796,17 @@ snapshots:
refractor@4.8.1:
dependencies:
'@types/hast': 2.3.10
- '@types/prismjs': 1.26.4
+ '@types/prismjs': 1.26.5
hastscript: 7.2.0
parse-entities: 4.0.1
- regex-not@1.0.2:
- dependencies:
- extend-shallow: 3.0.2
- safe-regex: 1.1.0
-
- regexp.prototype.flags@1.5.2:
+ regexp.prototype.flags@1.5.3:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-errors: 1.3.0
set-function-name: 2.0.2
- regexpp@2.0.1: {}
-
rehype-autolink-headings@7.1.0:
dependencies:
'@types/hast': 3.0.4
@@ -10163,27 +8821,35 @@ snapshots:
hast: 1.0.0
unist-util-visit: 4.1.2
- rehype-parse@9.0.0:
+ rehype-parse@9.0.1:
dependencies:
'@types/hast': 3.0.4
- hast-util-from-html: 2.0.1
+ hast-util-from-html: 2.0.3
unified: 11.0.5
rehype-prism-plus@2.0.0:
dependencies:
- hast-util-to-string: 3.0.0
+ hast-util-to-string: 3.0.1
parse-numeric-range: 1.3.0
refractor: 4.8.1
- rehype-parse: 9.0.0
+ rehype-parse: 9.0.1
unist-util-filter: 5.0.1
unist-util-visit: 5.0.0
+ rehype-recma@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.6
+ '@types/hast': 3.0.4
+ hast-util-to-estree: 3.1.0
+ transitivePeerDependencies:
+ - supports-color
+
rehype-slug@6.0.0:
dependencies:
'@types/hast': 3.0.4
github-slugger: 2.0.0
hast-util-heading-rank: 3.0.0
- hast-util-to-string: 3.0.0
+ hast-util-to-string: 3.0.1
unist-util-visit: 5.0.0
remark-gfm@4.0.0:
@@ -10197,7 +8863,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- remark-mdx@3.0.1:
+ remark-mdx@3.1.0:
dependencies:
mdast-util-mdx: 3.0.0
micromark-extension-mdxjs: 3.0.0
@@ -10207,37 +8873,31 @@ snapshots:
remark-parse@11.0.0:
dependencies:
'@types/mdast': 4.0.4
- mdast-util-from-markdown: 2.0.1
+ mdast-util-from-markdown: 2.0.2
micromark-util-types: 2.0.0
unified: 11.0.5
transitivePeerDependencies:
- supports-color
- remark-rehype@11.1.0:
+ remark-rehype@11.1.1:
dependencies:
'@types/hast': 3.0.4
'@types/mdast': 4.0.4
mdast-util-to-hast: 13.2.0
unified: 11.0.5
- vfile: 6.0.2
+ vfile: 6.0.3
remark-stringify@11.0.0:
dependencies:
'@types/mdast': 4.0.4
- mdast-util-to-markdown: 2.1.0
+ mdast-util-to-markdown: 2.1.1
unified: 11.0.5
- repeat-element@1.1.4: {}
-
- repeat-string@1.6.1: {}
-
require-directory@2.1.1: {}
require-from-string@2.0.2:
optional: true
- require-main-filename@1.0.1: {}
-
resolve-cwd@3.0.0:
dependencies:
resolve-from: 5.0.0
@@ -10247,35 +8907,26 @@ snapshots:
expand-tilde: 2.0.2
global-modules: 1.0.0
- resolve-from@3.0.0: {}
-
resolve-from@4.0.0: {}
resolve-from@5.0.0: {}
resolve-pkg-maps@1.0.0: {}
- resolve-url@0.2.1: {}
-
resolve.exports@2.0.2: {}
resolve@1.22.8:
dependencies:
- is-core-module: 2.15.0
+ is-core-module: 2.15.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
resolve@2.0.0-next.5:
dependencies:
- is-core-module: 2.15.0
+ is-core-module: 2.15.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- restore-cursor@2.0.0:
- dependencies:
- onetime: 2.0.1
- signal-exit: 3.0.7
-
restore-cursor@3.1.0:
dependencies:
onetime: 5.1.2
@@ -10286,16 +8937,10 @@ snapshots:
onetime: 7.0.0
signal-exit: 4.1.0
- ret@0.1.15: {}
-
reusify@1.0.4: {}
rfdc@1.4.1: {}
- rimraf@2.6.3:
- dependencies:
- glob: 7.2.3
-
rimraf@3.0.2:
dependencies:
glob: 7.2.3
@@ -10306,13 +8951,9 @@ snapshots:
dependencies:
queue-microtask: 1.2.3
- rxjs@6.6.7:
- dependencies:
- tslib: 1.14.1
-
rxjs@7.8.1:
dependencies:
- tslib: 2.6.3
+ tslib: 2.8.1
safe-array-concat@1.1.2:
dependencies:
@@ -10329,21 +8970,16 @@ snapshots:
es-errors: 1.3.0
is-regex: 1.1.4
- safe-regex@1.1.0:
- dependencies:
- ret: 0.1.15
-
safer-buffer@2.1.2: {}
scheduler@0.23.2:
dependencies:
loose-envify: 1.4.0
- schema-utils@3.3.0:
+ section-matter@1.0.0:
dependencies:
- '@types/json-schema': 7.0.15
- ajv: 6.12.6
- ajv-keywords: 3.5.2(ajv@6.12.6)
+ extend-shallow: 2.0.1
+ kind-of: 6.0.3
semver@5.7.2: {}
@@ -10351,14 +8987,8 @@ snapshots:
semver@7.6.3: {}
- serialize-javascript@6.0.2:
- dependencies:
- randombytes: 2.1.0
-
server-only@0.0.1: {}
- set-blocking@2.0.0: {}
-
set-function-length@1.2.2:
dependencies:
define-data-property: 1.1.4
@@ -10375,12 +9005,31 @@ snapshots:
functions-have-names: 1.2.3
has-property-descriptors: 1.0.2
- set-value@2.0.1:
+ sharp@0.33.5:
dependencies:
- extend-shallow: 2.0.1
- is-extendable: 0.1.1
- is-plain-object: 2.0.4
- split-string: 3.1.0
+ color: 4.2.3
+ detect-libc: 2.0.3
+ semver: 7.6.3
+ optionalDependencies:
+ '@img/sharp-darwin-arm64': 0.33.5
+ '@img/sharp-darwin-x64': 0.33.5
+ '@img/sharp-libvips-darwin-arm64': 1.0.4
+ '@img/sharp-libvips-darwin-x64': 1.0.4
+ '@img/sharp-libvips-linux-arm': 1.0.5
+ '@img/sharp-libvips-linux-arm64': 1.0.4
+ '@img/sharp-libvips-linux-s390x': 1.0.4
+ '@img/sharp-libvips-linux-x64': 1.0.4
+ '@img/sharp-libvips-linuxmusl-arm64': 1.0.4
+ '@img/sharp-libvips-linuxmusl-x64': 1.0.4
+ '@img/sharp-linux-arm': 0.33.5
+ '@img/sharp-linux-arm64': 0.33.5
+ '@img/sharp-linux-s390x': 0.33.5
+ '@img/sharp-linux-x64': 0.33.5
+ '@img/sharp-linuxmusl-arm64': 0.33.5
+ '@img/sharp-linuxmusl-x64': 0.33.5
+ '@img/sharp-wasm32': 0.33.5
+ '@img/sharp-win32-ia32': 0.33.5
+ '@img/sharp-win32-x64': 0.33.5
shebang-command@1.2.0:
dependencies:
@@ -10407,18 +9056,14 @@ snapshots:
signal-exit@4.1.0: {}
- sisteransi@1.0.5: {}
+ simple-swizzle@0.2.2:
+ dependencies:
+ is-arrayish: 0.3.2
- slash@2.0.0: {}
+ sisteransi@1.0.5: {}
slash@3.0.0: {}
- slice-ansi@2.1.0:
- dependencies:
- ansi-styles: 3.2.1
- astral-regex: 1.0.0
- is-fullwidth-code-point: 2.0.0
-
slice-ansi@5.0.0:
dependencies:
ansi-styles: 6.2.1
@@ -10429,38 +9074,7 @@ snapshots:
ansi-styles: 6.2.1
is-fullwidth-code-point: 5.0.0
- snapdragon-node@2.1.1:
- dependencies:
- define-property: 1.0.0
- isobject: 3.0.1
- snapdragon-util: 3.0.1
-
- snapdragon-util@3.0.1:
- dependencies:
- kind-of: 3.2.2
-
- snapdragon@0.8.2:
- dependencies:
- base: 0.11.2
- debug: 2.6.9
- define-property: 0.2.5
- extend-shallow: 2.0.1
- map-cache: 0.2.2
- source-map: 0.5.7
- source-map-resolve: 0.5.3
- use: 3.1.1
- transitivePeerDependencies:
- - supports-color
-
- source-map-js@1.2.0: {}
-
- source-map-resolve@0.5.3:
- dependencies:
- atob: 2.1.2
- decode-uri-component: 0.2.2
- resolve-url: 0.2.1
- source-map-url: 0.4.1
- urix: 0.1.0
+ source-map-js@1.2.1: {}
source-map-support@0.5.13:
dependencies:
@@ -10472,10 +9086,6 @@ snapshots:
buffer-from: 1.1.2
source-map: 0.6.1
- source-map-url@0.4.1: {}
-
- source-map@0.5.7: {}
-
source-map@0.6.1: {}
source-map@0.7.4: {}
@@ -10496,25 +9106,12 @@ snapshots:
spdx-license-ids@3.0.20: {}
- split-string@3.1.0:
- dependencies:
- extend-shallow: 3.0.2
-
sprintf-js@1.0.3: {}
stack-utils@2.0.6:
dependencies:
escape-string-regexp: 2.0.0
- static-extend@0.1.2:
- dependencies:
- define-property: 0.2.5
- object-copy: 0.1.0
-
- stop-iteration-iterator@1.0.0:
- dependencies:
- internal-slot: 1.0.7
-
streamsearch@1.1.0: {}
string-argv@0.3.2: {}
@@ -10524,23 +9121,6 @@ snapshots:
char-regex: 1.0.2
strip-ansi: 6.0.1
- string-width@1.0.2:
- dependencies:
- code-point-at: 1.1.0
- is-fullwidth-code-point: 1.0.0
- strip-ansi: 3.0.1
-
- string-width@2.1.1:
- dependencies:
- is-fullwidth-code-point: 2.0.0
- strip-ansi: 4.0.0
-
- string-width@3.1.0:
- dependencies:
- emoji-regex: 7.0.3
- is-fullwidth-code-point: 2.0.0
- strip-ansi: 5.2.0
-
string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0
@@ -10555,12 +9135,13 @@ snapshots:
string-width@7.2.0:
dependencies:
- emoji-regex: 10.3.0
- get-east-asian-width: 1.2.0
+ emoji-regex: 10.4.0
+ get-east-asian-width: 1.3.0
strip-ansi: 7.1.0
- string.prototype.includes@2.0.0:
+ string.prototype.includes@2.0.1:
dependencies:
+ call-bind: 1.0.7
define-properties: 1.2.1
es-abstract: 1.23.3
@@ -10575,7 +9156,7 @@ snapshots:
gopd: 1.0.1
has-symbols: 1.0.3
internal-slot: 1.0.7
- regexp.prototype.flags: 1.5.2
+ regexp.prototype.flags: 1.5.3
set-function-name: 2.0.2
side-channel: 1.0.6
@@ -10619,54 +9200,40 @@ snapshots:
character-entities-html4: 2.1.0
character-entities-legacy: 3.0.0
- strip-ansi@3.0.1:
- dependencies:
- ansi-regex: 2.1.1
-
- strip-ansi@4.0.0:
- dependencies:
- ansi-regex: 3.0.1
-
- strip-ansi@5.2.0:
- dependencies:
- ansi-regex: 4.1.1
-
strip-ansi@6.0.1:
dependencies:
ansi-regex: 5.0.1
strip-ansi@7.1.0:
dependencies:
- ansi-regex: 6.0.1
+ ansi-regex: 6.1.0
+
+ strip-bom-string@1.0.0: {}
strip-bom@3.0.0: {}
strip-bom@4.0.0: {}
- strip-eof@1.0.0: {}
-
strip-final-newline@2.0.0: {}
strip-final-newline@3.0.0: {}
- strip-json-comments@2.0.1: {}
-
strip-json-comments@3.1.1: {}
style-to-object@0.4.4:
dependencies:
inline-style-parser: 0.1.1
- style-to-object@1.0.6:
+ style-to-object@1.0.8:
dependencies:
- inline-style-parser: 0.2.3
+ inline-style-parser: 0.2.4
- styled-jsx@5.1.1(@babel/core@7.25.2)(react@18.3.1):
+ styled-jsx@5.1.1(@babel/core@7.26.0)(react@18.3.1):
dependencies:
client-only: 0.0.1
react: 18.3.1
optionalDependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.26.0
sucrase@3.35.0:
dependencies:
@@ -10678,25 +9245,24 @@ snapshots:
pirates: 4.0.6
ts-interface-checker: 0.1.13
- superagent@8.1.2:
+ superagent@9.0.2:
dependencies:
component-emitter: 1.3.1
cookiejar: 2.1.4
- debug: 4.3.6
+ debug: 4.3.7
fast-safe-stringify: 2.1.1
- form-data: 4.0.0
- formidable: 2.1.2
+ form-data: 4.0.1
+ formidable: 3.5.2
methods: 1.1.2
mime: 2.6.0
qs: 6.13.0
- semver: 7.6.3
transitivePeerDependencies:
- supports-color
- supertest@6.3.4:
+ supertest@7.0.0:
dependencies:
methods: 1.1.2
- superagent: 8.1.2
+ superagent: 9.0.2
transitivePeerDependencies:
- supports-color
@@ -10714,20 +9280,19 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
- table@5.4.6:
+ swr@2.2.5(react@18.3.1):
dependencies:
- ajv: 6.12.6
- lodash: 4.17.21
- slice-ansi: 2.1.0
- string-width: 3.1.0
+ client-only: 0.0.1
+ react: 18.3.1
+ use-sync-external-store: 1.2.2(react@18.3.1)
- tailwind-merge@2.5.2: {}
+ tailwind-merge@2.5.4: {}
- tailwindcss-animate@1.0.7(tailwindcss@3.4.10(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))):
+ tailwindcss-animate@1.0.7(tailwindcss@3.4.14):
dependencies:
- tailwindcss: 3.4.10(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))
+ tailwindcss: 3.4.14
- tailwindcss@3.4.10(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)):
+ tailwindcss@3.4.14:
dependencies:
'@alloc/quick-lru': 5.2.0
arg: 5.0.2
@@ -10739,15 +9304,15 @@ snapshots:
is-glob: 4.0.3
jiti: 1.21.6
lilconfig: 2.1.0
- micromatch: 4.0.7
+ micromatch: 4.0.8
normalize-path: 3.0.0
object-hash: 3.0.0
- picocolors: 1.0.1
- postcss: 8.4.41
- postcss-import: 15.1.0(postcss@8.4.41)
- postcss-js: 4.0.1(postcss@8.4.41)
- postcss-load-config: 4.0.2(postcss@8.4.41)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))
- postcss-nested: 6.2.0(postcss@8.4.41)
+ picocolors: 1.1.1
+ postcss: 8.4.47
+ postcss-import: 15.1.0(postcss@8.4.47)
+ postcss-js: 4.0.1(postcss@8.4.47)
+ postcss-load-config: 4.0.2(postcss@8.4.47)
+ postcss-nested: 6.2.0(postcss@8.4.47)
postcss-selector-parser: 6.1.2
resolve: 1.22.8
sucrase: 3.35.0
@@ -10756,22 +9321,6 @@ snapshots:
tapable@2.2.1: {}
- terser-webpack-plugin@5.3.10(webpack@5.93.0):
- dependencies:
- '@jridgewell/trace-mapping': 0.3.25
- jest-worker: 27.5.1
- schema-utils: 3.3.0
- serialize-javascript: 6.0.2
- terser: 5.31.6
- webpack: 5.93.0
-
- terser@5.31.6:
- dependencies:
- '@jridgewell/source-map': 0.3.6
- acorn: 8.12.1
- commander: 2.20.3
- source-map-support: 0.5.21
-
test-exclude@6.0.0:
dependencies:
'@istanbuljs/schema': 0.1.3
@@ -10796,84 +9345,38 @@ snapshots:
tmpl@1.0.5: {}
- to-fast-properties@2.0.0: {}
-
- to-object-path@0.3.0:
- dependencies:
- kind-of: 3.2.2
-
- to-regex-range@2.1.1:
- dependencies:
- is-number: 3.0.0
- repeat-string: 1.6.1
-
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
- to-regex@3.0.2:
- dependencies:
- define-property: 2.0.2
- extend-shallow: 3.0.2
- regex-not: 1.0.2
- safe-regex: 1.1.0
-
trim-lines@3.0.1: {}
trough@2.2.0: {}
- ts-api-utils@1.3.0(typescript@5.5.4):
+ ts-api-utils@1.4.0(typescript@5.6.3):
dependencies:
- typescript: 5.5.4
+ typescript: 5.6.3
ts-interface-checker@0.1.13: {}
- ts-jest@29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.16.1)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4)))(typescript@5.5.4):
+ ts-jest@29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.5))(typescript@5.6.3):
dependencies:
bs-logger: 0.2.6
ejs: 3.1.10
fast-json-stable-stringify: 2.1.0
- jest: 29.7.0(@types/node@20.16.1)(ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4))
+ jest: 29.7.0(@types/node@20.17.5)
jest-util: 29.7.0
json5: 2.2.3
lodash.memoize: 4.1.2
make-error: 1.3.6
semver: 7.6.3
- typescript: 5.5.4
+ typescript: 5.6.3
yargs-parser: 21.1.1
optionalDependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.26.0
'@jest/transform': 29.7.0
'@jest/types': 29.6.3
- babel-jest: 29.7.0(@babel/core@7.25.2)
-
- ts-loader@9.5.1(typescript@5.5.4)(webpack@5.93.0):
- dependencies:
- chalk: 4.1.2
- enhanced-resolve: 5.17.1
- micromatch: 4.0.7
- semver: 7.6.3
- source-map: 0.7.4
- typescript: 5.5.4
- webpack: 5.93.0
-
- ts-node@10.9.2(@types/node@20.16.1)(typescript@5.5.4):
- dependencies:
- '@cspotcode/source-map-support': 0.8.1
- '@tsconfig/node10': 1.0.11
- '@tsconfig/node12': 1.0.11
- '@tsconfig/node14': 1.0.3
- '@tsconfig/node16': 1.0.4
- '@types/node': 20.16.1
- acorn: 8.12.1
- acorn-walk: 8.3.3
- arg: 4.1.3
- create-require: 1.1.1
- diff: 4.0.2
- make-error: 1.3.6
- typescript: 5.5.4
- v8-compile-cache-lib: 3.0.1
- yn: 3.1.1
+ babel-jest: 29.7.0(@babel/core@7.26.0)
tsconfig-paths@3.15.0:
dependencies:
@@ -10882,19 +9385,7 @@ snapshots:
minimist: 1.2.8
strip-bom: 3.0.0
- tsconfig-paths@4.2.0:
- dependencies:
- json5: 2.2.3
- minimist: 1.2.8
- strip-bom: 3.0.0
-
- tslib@1.14.1: {}
-
- tslib@2.6.3: {}
-
- type-check@0.3.2:
- dependencies:
- prelude-ls: 1.1.2
+ tslib@2.8.1: {}
type-check@0.4.0:
dependencies:
@@ -10938,9 +9429,7 @@ snapshots:
is-typed-array: 1.1.13
possible-typed-array-names: 1.0.0
- typescript@3.9.10: {}
-
- typescript@5.5.4: {}
+ typescript@5.6.3: {}
unbox-primitive@1.0.2:
dependencies:
@@ -10959,14 +9448,7 @@ snapshots:
extend: 3.0.2
is-plain-obj: 4.1.0
trough: 2.2.0
- vfile: 6.0.2
-
- union-value@1.0.1:
- dependencies:
- arr-union: 3.1.0
- get-value: 2.0.6
- is-extendable: 0.1.1
- set-value: 2.0.1
+ vfile: 6.0.3
unist-util-filter@5.0.1:
dependencies:
@@ -10990,11 +9472,6 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
- unist-util-remove-position@5.0.0:
- dependencies:
- '@types/unist': 3.0.3
- unist-util-visit: 5.0.0
-
unist-util-remove@3.1.1:
dependencies:
'@types/unist': 2.0.11
@@ -11029,44 +9506,37 @@ snapshots:
universalify@2.0.1: {}
- unset-value@1.0.0:
- dependencies:
- has-value: 0.3.1
- isobject: 3.0.1
-
- update-browserslist-db@1.1.0(browserslist@4.23.3):
+ update-browserslist-db@1.1.1(browserslist@4.24.2):
dependencies:
- browserslist: 4.23.3
- escalade: 3.1.2
- picocolors: 1.0.1
+ browserslist: 4.24.2
+ escalade: 3.2.0
+ picocolors: 1.1.1
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
- urix@0.1.0: {}
-
- use-callback-ref@1.3.2(@types/react@18.3.4)(react@18.3.1):
+ use-callback-ref@1.3.2(@types/react@18.3.12)(react@18.3.1):
dependencies:
react: 18.3.1
- tslib: 2.6.3
+ tslib: 2.8.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- use-sidecar@1.1.2(@types/react@18.3.4)(react@18.3.1):
+ use-sidecar@1.1.2(@types/react@18.3.12)(react@18.3.1):
dependencies:
detect-node-es: 1.1.0
react: 18.3.1
- tslib: 2.6.3
+ tslib: 2.8.1
optionalDependencies:
- '@types/react': 18.3.4
+ '@types/react': 18.3.12
- use@3.1.1: {}
+ use-sync-external-store@1.2.2(react@18.3.1):
+ dependencies:
+ react: 18.3.1
util-deprecate@1.0.2: {}
- v8-compile-cache-lib@3.0.1: {}
-
v8-to-istanbul@9.3.0:
dependencies:
'@jridgewell/trace-mapping': 0.3.25
@@ -11081,72 +9551,33 @@ snapshots:
vfile-location@5.0.3:
dependencies:
'@types/unist': 3.0.3
- vfile: 6.0.2
+ vfile: 6.0.3
vfile-matter@5.0.0:
dependencies:
- vfile: 6.0.2
- yaml: 2.5.0
+ vfile: 6.0.3
+ yaml: 2.6.0
vfile-message@4.0.2:
dependencies:
'@types/unist': 3.0.3
unist-util-stringify-position: 4.0.0
- vfile@6.0.2:
+ vfile@6.0.3:
dependencies:
'@types/unist': 3.0.3
- unist-util-stringify-position: 4.0.0
vfile-message: 4.0.2
walker@1.0.8:
dependencies:
makeerror: 1.0.12
- watchpack@2.4.2:
- dependencies:
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
-
wcwidth@1.0.1:
dependencies:
defaults: 1.0.4
web-namespaces@2.0.1: {}
- webpack-sources@3.2.3: {}
-
- webpack@5.93.0:
- dependencies:
- '@types/eslint-scope': 3.7.7
- '@types/estree': 1.0.5
- '@webassemblyjs/ast': 1.12.1
- '@webassemblyjs/wasm-edit': 1.12.1
- '@webassemblyjs/wasm-parser': 1.12.1
- acorn: 8.12.1
- acorn-import-attributes: 1.9.5(acorn@8.12.1)
- browserslist: 4.23.3
- chrome-trace-event: 1.0.4
- enhanced-resolve: 5.17.1
- es-module-lexer: 1.5.4
- eslint-scope: 5.1.1
- events: 3.3.0
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
- json-parse-even-better-errors: 2.3.1
- loader-runner: 4.3.0
- mime-types: 2.1.35
- neo-async: 2.6.2
- schema-utils: 3.3.0
- tapable: 2.2.1
- terser-webpack-plugin: 5.3.10(webpack@5.93.0)
- watchpack: 2.4.2
- webpack-sources: 3.2.3
- transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - uglify-js
-
which-boxed-primitive@1.0.2:
dependencies:
is-bigint: 1.0.4
@@ -11177,8 +9608,6 @@ snapshots:
is-weakmap: 2.0.2
is-weakset: 2.0.3
- which-module@2.0.1: {}
-
which-typed-array@1.1.15:
dependencies:
available-typed-arrays: 1.0.7
@@ -11197,11 +9626,6 @@ snapshots:
word-wrap@1.2.5: {}
- wrap-ansi@2.1.0:
- dependencies:
- string-width: 1.0.2
- strip-ansi: 3.0.1
-
wrap-ansi@7.0.0:
dependencies:
ansi-styles: 4.3.0
@@ -11227,52 +9651,26 @@ snapshots:
imurmurhash: 0.1.4
signal-exit: 3.0.7
- write@1.0.3:
- dependencies:
- mkdirp: 0.5.6
-
- y18n@4.0.3: {}
-
y18n@5.0.8: {}
yallist@3.1.1: {}
- yaml@2.5.0: {}
+ yaml@2.5.1: {}
- yargs-parser@11.1.1:
- dependencies:
- camelcase: 5.3.1
- decamelize: 1.2.0
+ yaml@2.6.0: {}
yargs-parser@21.1.1: {}
- yargs@12.0.5:
- dependencies:
- cliui: 4.1.0
- decamelize: 1.2.0
- find-up: 3.0.0
- get-caller-file: 1.0.3
- os-locale: 3.1.0
- require-directory: 2.1.1
- require-main-filename: 1.0.1
- set-blocking: 2.0.0
- string-width: 2.1.1
- which-module: 2.0.1
- y18n: 4.0.3
- yargs-parser: 11.1.1
-
yargs@17.7.2:
dependencies:
cliui: 8.0.1
- escalade: 3.1.2
+ escalade: 3.2.0
get-caller-file: 2.0.5
require-directory: 2.1.1
string-width: 4.2.3
y18n: 5.0.8
yargs-parser: 21.1.1
- yn@3.1.1: {}
-
yocto-queue@0.1.0: {}
zwitch@2.0.4: {}
diff --git a/postcss.config.js b/postcss.config.cjs
similarity index 100%
rename from postcss.config.js
rename to postcss.config.cjs
diff --git a/public/nebula.png b/public/nebula.png
new file mode 100644
index 0000000..d533051
Binary files /dev/null and b/public/nebula.png differ
diff --git a/public/ocean.png b/public/ocean.png
new file mode 100644
index 0000000..48db4b6
Binary files /dev/null and b/public/ocean.png differ
diff --git a/public/public-og.png b/public/public-og.png
new file mode 100644
index 0000000..dd84a2a
Binary files /dev/null and b/public/public-og.png differ
diff --git a/public/typography/logo.svg b/public/typography/logo.svg
deleted file mode 100644
index 76f081a..0000000
--- a/public/typography/logo.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/styles/globals.css b/styles/globals.css
new file mode 100644
index 0000000..9377f77
--- /dev/null
+++ b/styles/globals.css
@@ -0,0 +1,137 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+@import url("../styles/syntax.css");
+
+@layer base {
+ :root {
+ --background: 204 49% 99%;
+ --foreground: 204 79% 3%;
+ --muted: 204 22% 94%;
+ --muted-foreground: 204 2% 27%;
+ --popover: 204 49% 99%;
+ --popover-foreground: 204 79% 3%;
+ --card: 204 49% 98%;
+ --card-foreground: 204 79% 2%;
+ --border: 204 13% 94%;
+ --input: 204 13% 94%;
+ --primary: 204 100% 50%;
+ --primary-foreground: 0 0% 100%;
+ --secondary: 204 13% 88%;
+ --secondary-foreground: 204 13% 28%;
+ --accent: 204 13% 88%;
+ --accent-foreground: 204 13% 28%;
+ --destructive: 13 80% 40%;
+ --destructive-foreground: 0 0% 100%;
+ --ring: 204 100% 50%;
+ --radius: 0.65rem;
+ }
+ .dark {
+ --background: 204 31% 4%;
+ --foreground: 204 27% 99%;
+ --muted: 204 22% 6%;
+ --muted-foreground: 204 2% 73%;
+ --popover: 204 31% 4%;
+ --popover-foreground: 204 27% 99%;
+ --card: 204 31% 5%;
+ --card-foreground: 0 0% 100%;
+ --border: 204 13% 15%;
+ --input: 204 13% 15%;
+ --primary: 204 100% 50%;
+ --primary-foreground: 0 0% 100%;
+ --secondary: 204 19% 20%;
+ --secondary-foreground: 204 19% 80%;
+ --accent: 204 19% 20%;
+ --accent-foreground: 204 19% 80%;
+ --destructive: 13 80% 53%;
+ --destructive-foreground: 0 0% 100%;
+ --ring: 204 100% 50%;
+ }
+}
+
+@layer base {
+ * {
+ @apply border-border;
+ }
+
+ html {
+ @apply scroll-smooth;
+ }
+
+ body {
+ @apply bg-background text-foreground;
+ }
+}
+
+::-moz-selection, ::selection {
+ @apply text-background bg-primary;
+}
+
+img, svg {
+ @apply select-none;
+}
+
+.prose {
+ margin: 0 !important;
+}
+
+pre {
+ padding: 2px 0 !important;
+ width: inherit !important;
+ overflow-x: auto;
+}
+
+pre>code {
+ display: grid;
+ max-width: inherit !important;
+ padding: 14px 0 !important;
+}
+
+.code-line {
+ padding: 0.75px 16px;
+ @apply border-l-2 border-transparent
+}
+
+.line-number::before {
+ display: inline-block;
+ width: 1rem;
+ margin-right: 22px;
+ margin-left: -2px;
+ color: rgb(110, 110, 110);
+ content: attr(line);
+ font-size: 13.5px;
+ text-align: right;
+}
+
+.highlight-line {
+ @apply bg-primary/5 border-l-2 border-primary/30;
+}
+
+
+.rehype-code-title {
+ @apply px-2 -mb-8 w-full text-sm pb-5 font-medium mt-5 font-code;
+}
+
+.highlight-comp>code {
+ background-color: transparent !important;
+}
+
+.fade-enter {
+ opacity: 0;
+ transform: translateY(20px); /* Optional: adds a slight upward movement */
+}
+.fade-enter-active {
+ opacity: 1;
+ transform: translateY(0);
+ transition: opacity 0.3s ease, transform 0.3s ease;
+}
+.fade-exit {
+ opacity: 1;
+ transform: translateY(0);
+}
+.fade-exit-active {
+ opacity: 0;
+ transform: translateY(20px); /* Optional: adds a slight upward movement */
+ transition: opacity 0.3s ease, transform 0.3s ease;
+}
diff --git a/styles/nprogress.css b/styles/nprogress.css
new file mode 100644
index 0000000..4a84db1
--- /dev/null
+++ b/styles/nprogress.css
@@ -0,0 +1,16 @@
+#nprogress {
+ @apply pointer-events-none z-[1007] bg-primary top-0 fixed left-0 m-0 p-0 text-primary opacity-0 w-full rounded-none;
+ height: 2px;
+ transition: width 0.1s ease-out, opacity 0.5s 0.2s;
+ z-index: 10000;
+}
+
+#nprogress .bar {
+ opacity: 0.4;
+ box-shadow: 3px 0px 8px;
+ height: 100%;
+}
+
+#nprogress .spinner {
+ display: none;
+}
diff --git a/styles/syntax.css b/styles/syntax.css
new file mode 100644
index 0000000..55021e1
--- /dev/null
+++ b/styles/syntax.css
@@ -0,0 +1,70 @@
+/* Light Mode */
+.keyword {
+ color: #8963c4; /* Purple */
+}
+
+.function {
+ color: #008a0d; /* Green */
+}
+
+.punctuation {
+ color: #282a36; /* Light Gray */
+}
+
+.comment {
+ color: #8393c7; /* Bluish Gray */
+}
+
+.string,
+.constant,
+.annotation,
+.boolean,
+.number {
+ color: #c74493; /* Pink */
+}
+
+.tag {
+ color: #a56a20; /* Yellow */
+}
+
+.attr-name {
+ color: #048395; /* Cyan */
+}
+
+.attr-value {
+ color: #8963c4; /* Purple */
+}
+
+
+/* Dark Mode */
+.dark .keyword {
+ color: #ff79c6; /* Pink */
+}
+
+.dark .function {
+ color: #50fa7b; /* Green */
+}
+
+.dark .string,
+.dark .constant,
+.dark .annotation,
+.dark .boolean,
+.dark .number {
+ color: #f1fa8c; /* Light Yellow */
+}
+
+.dark .punctuation {
+ color: #f8f8f2;
+}
+
+.dark .tag {
+ color: #ffb86c; /* Yellow */
+}
+
+.dark .attr-name {
+ color: #8be9fd; /* Cyan */
+}
+
+.dark .attr-value {
+ color: #bd93f9; /* Purple */
+}
diff --git a/tailwind.config.ts b/tailwind.config.ts
index d82c34f..20c6d87 100644
--- a/tailwind.config.ts
+++ b/tailwind.config.ts
@@ -1,84 +1,84 @@
import type { Config } from "tailwindcss";
const config = {
- darkMode: ["class"],
- content: [
- "./pages/**/*.{ts,tsx}",
- "./components/**/*.{ts,tsx}",
- "./app/**/*.{ts,tsx}",
- "./src/**/*.{ts,tsx}",
- ],
- prefix: "",
- theme: {
- container: {
- center: true,
- padding: "2rem",
- screens: {
- "2xl": "1400px",
- },
- },
- extend: {
- colors: {
- border: "hsl(var(--border))",
- input: "hsl(var(--input))",
- ring: "hsl(var(--ring))",
- background: "hsl(var(--background))",
- foreground: "hsl(var(--foreground))",
- primary: {
- DEFAULT: "hsl(var(--primary))",
- foreground: "hsl(var(--primary-foreground))",
- },
- secondary: {
- DEFAULT: "hsl(var(--secondary))",
- foreground: "hsl(var(--secondary-foreground))",
- },
- destructive: {
- DEFAULT: "hsl(var(--destructive))",
- foreground: "hsl(var(--destructive-foreground))",
- },
- muted: {
- DEFAULT: "hsl(var(--muted))",
- foreground: "hsl(var(--muted-foreground))",
- },
- accent: {
- DEFAULT: "hsl(var(--accent))",
- foreground: "hsl(var(--accent-foreground))",
- },
- popover: {
- DEFAULT: "hsl(var(--popover))",
- foreground: "hsl(var(--popover-foreground))",
- },
- card: {
- DEFAULT: "hsl(var(--card))",
- foreground: "hsl(var(--card-foreground))",
- },
- },
- borderRadius: {
- lg: "var(--radius)",
- md: "calc(var(--radius) - 2px)",
- sm: "calc(var(--radius) - 4px)",
- },
- fontFamily: {
- code: ["var(--font-geist-mono)"],
- regular: ["var(--font-geist-sans)"],
- },
- keyframes: {
- "accordion-down": {
- from: { height: "0" },
- to: { height: "var(--radix-accordion-content-height)" },
- },
- "accordion-up": {
- from: { height: "var(--radix-accordion-content-height)" },
- to: { height: "0" },
- },
- },
- animation: {
- "accordion-down": "accordion-down 0.2s ease-out",
- "accordion-up": "accordion-up 0.2s ease-out",
- },
- },
- },
- plugins: [require("tailwindcss-animate"), require("@tailwindcss/typography")],
+ darkMode: ["class"],
+ content: [
+ "./pages/**/*.{ts,tsx}",
+ "./components/**/*.{ts,tsx}",
+ "./app/**/*.{ts,tsx}",
+ "./src/**/*.{ts,tsx}",
+ ],
+ prefix: "",
+ theme: {
+ container: {
+ center: true,
+ padding: "2rem",
+ screens: {
+ "2xl": "1300px",
+ },
+ },
+ extend: {
+ colors: {
+ border: "hsl(var(--border))",
+ input: "hsl(var(--input))",
+ ring: "hsl(var(--ring))",
+ background: "hsl(var(--background))",
+ foreground: "hsl(var(--foreground))",
+ primary: {
+ DEFAULT: "hsl(var(--primary))",
+ foreground: "hsl(var(--primary-foreground))",
+ },
+ secondary: {
+ DEFAULT: "hsl(var(--secondary))",
+ foreground: "hsl(var(--secondary-foreground))",
+ },
+ destructive: {
+ DEFAULT: "hsl(var(--destructive))",
+ foreground: "hsl(var(--destructive-foreground))",
+ },
+ muted: {
+ DEFAULT: "hsl(var(--muted))",
+ foreground: "hsl(var(--muted-foreground))",
+ },
+ accent: {
+ DEFAULT: "hsl(var(--accent))",
+ foreground: "hsl(var(--accent-foreground))",
+ },
+ popover: {
+ DEFAULT: "hsl(var(--popover))",
+ foreground: "hsl(var(--popover-foreground))",
+ },
+ card: {
+ DEFAULT: "hsl(var(--card))",
+ foreground: "hsl(var(--card-foreground))",
+ },
+ },
+ borderRadius: {
+ lg: "var(--radius)",
+ md: "calc(var(--radius) - 2px)",
+ sm: "calc(var(--radius) - 4px)",
+ },
+ fontFamily: {
+ code: ["var(--font-geist-mono)"],
+ regular: ["var(--font-geist-sans)"],
+ },
+ keyframes: {
+ "accordion-down": {
+ from: { height: "0" },
+ to: { height: "var(--radix-accordion-content-height)" },
+ },
+ "accordion-up": {
+ from: { height: "var(--radix-accordion-content-height)" },
+ to: { height: "0" },
+ },
+ },
+ animation: {
+ "accordion-down": "accordion-down 0.2s ease-out",
+ "accordion-up": "accordion-up 0.2s ease-out",
+ },
+ },
+ },
+ plugins: [require("tailwindcss-animate"), require("@tailwindcss/typography")],
} satisfies Config;
export default config;
diff --git a/tsconfig.build.json b/tsconfig.build.json
deleted file mode 100644
index 4491981..0000000
--- a/tsconfig.build.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "extends": "./tsconfig.json",
- "exclude": ["node_modules", "test", "dist", "**/*spec.ts"]
-}
diff --git a/tsconfig.json b/tsconfig.json
index 5626dfb..e7ff90f 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,54 +1,26 @@
{
"compilerOptions": {
- "module": "esnext",
- "declaration": true,
- "removeComments": true,
- "emitDecoratorMetadata": true,
- "experimentalDecorators": true,
- "allowSyntheticDefaultImports": true,
- "target": "ES2022",
- "sourceMap": true,
- "outDir": "./dist",
- "baseUrl": "./",
- "incremental": true,
- "skipLibCheck": true,
- "strictNullChecks": false,
- "noImplicitAny": false,
- "strictBindCallApply": false,
- "forceConsistentCasingInFileNames": false,
- "noFallthroughCasesInSwitch": true,
- "lib": [
- "dom",
- "dom.iterable",
- "esnext"
- ],
+ "lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
+ "skipLibCheck": true,
"strict": true,
"noEmit": true,
"esModuleInterop": true,
+ "module": "esnext",
"moduleResolution": "bundler",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
+ "incremental": true,
"plugins": [
{
"name": "next"
}
],
"paths": {
- "@/*": [
- "./*"
- ]
+ "@/*": ["./*"]
}
},
- "include": [
- "next-env.d.ts",
- "**/*.ts",
- "**/*.tsx",
- ".next/types/**/*.ts",
- "dist/types/**/*.ts"
- ],
- "exclude": [
- "node_modules"
- ]
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
+ "exclude": ["node_modules"]
}
diff --git a/utils/disableContextMenu.ts b/utils/disableContextMenu.ts
deleted file mode 100644
index f710455..0000000
--- a/utils/disableContextMenu.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-/**
- * Disables the context menu (right-click menu) on elements with the specified class name.
- *
- * This function adds an event listener to the document that prevents the default context menu
- * from appearing when the user right-clicks on elements that have the specified class name.
- *
- * @param {string} className - The class name of the elements for which the context menu should be disabled.
- * @example
- * // Disable context menu on elements with class 'no-context-menu'
- * disableContextMenu('no-context-menu');
- */
-export const disableContextMenu = (className: string): void => {
- document.addEventListener('contextmenu', (event: MouseEvent) => {
- const target = event.target as HTMLElement;
- if (target instanceof HTMLElement && target.classList.contains(className)) {
- event.preventDefault();
- }
- });
-};