From d2f592c71a1efedaabd65a3ef60b1f7d91ba9baa Mon Sep 17 00:00:00 2001 From: Oscar Beaumont Date: Sun, 25 Aug 2024 14:56:37 +0800 Subject: [PATCH] Merge `apps/docs` into `apps/landing` --- README.md | 3 +- apps/docs/.eslintrc.json | 3 - apps/docs/.gitignore | 35 - apps/docs/mdx-components.tsx | 9 - apps/docs/next.config.mjs | 21 - apps/docs/package.json | 57 - apps/docs/postcss.config.js | 6 - apps/docs/prettier.config.js | 6 - apps/docs/src/app/api/page.mdx | 394 -- apps/docs/src/app/devices/page.mdx | 394 -- apps/docs/src/app/favicon.ico | Bin 4286 -> 0 bytes apps/docs/src/app/layout.tsx | 42 - apps/docs/src/app/not-found.tsx | 24 - apps/docs/src/app/providers.tsx | 37 - apps/docs/src/components/Button.tsx | 82 - apps/docs/src/components/Code.tsx | 381 -- apps/docs/src/components/Feedback.tsx | 106 - apps/docs/src/components/Footer.tsx | 145 - apps/docs/src/components/GridPattern.tsx | 55 - apps/docs/src/components/Guides.tsx | 54 - apps/docs/src/components/Header.tsx | 105 - apps/docs/src/components/Heading.tsx | 117 - apps/docs/src/components/HeroPattern.tsx | 32 - apps/docs/src/components/Layout.tsx | 46 - apps/docs/src/components/Libraries.tsx | 82 - apps/docs/src/components/Logo.tsx | 7 - apps/docs/src/components/MobileNavigation.tsx | 174 - apps/docs/src/components/Navigation.tsx | 321 -- apps/docs/src/components/Prose.tsx | 24 - apps/docs/src/components/Resources.tsx | 186 - apps/docs/src/components/Search.tsx | 505 -- apps/docs/src/components/SectionProvider.tsx | 156 - apps/docs/src/components/Tag.tsx | 63 - apps/docs/src/components/ThemeToggle.tsx | 44 - apps/docs/src/components/icons/BellIcon.tsx | 17 - apps/docs/src/components/icons/BoltIcon.tsx | 11 - apps/docs/src/components/icons/BookIcon.tsx | 17 - .../src/components/icons/CalendarIcon.tsx | 23 - apps/docs/src/components/icons/CartIcon.tsx | 15 - .../src/components/icons/ChatBubbleIcon.tsx | 17 - apps/docs/src/components/icons/CheckIcon.tsx | 17 - .../components/icons/ChevronRightLeftIcon.tsx | 19 - .../src/components/icons/ClipboardIcon.tsx | 17 - apps/docs/src/components/icons/CogIcon.tsx | 19 - apps/docs/src/components/icons/CopyIcon.tsx | 17 - .../src/components/icons/DocumentIcon.tsx | 17 - .../src/components/icons/EnvelopeIcon.tsx | 17 - .../src/components/icons/FaceSmileIcon.tsx | 17 - apps/docs/src/components/icons/FolderIcon.tsx | 22 - apps/docs/src/components/icons/LinkIcon.tsx | 12 - apps/docs/src/components/icons/ListIcon.tsx | 17 - .../components/icons/MagnifyingGlassIcon.tsx | 15 - apps/docs/src/components/icons/MapPinIcon.tsx | 19 - .../docs/src/components/icons/PackageIcon.tsx | 16 - .../components/icons/PaperAirplaneIcon.tsx | 19 - .../src/components/icons/PaperClipIcon.tsx | 12 - apps/docs/src/components/icons/ShapesIcon.tsx | 17 - apps/docs/src/components/icons/ShirtIcon.tsx | 11 - .../src/components/icons/SquaresPlusIcon.tsx | 17 - apps/docs/src/components/icons/TagIcon.tsx | 19 - apps/docs/src/components/icons/UserIcon.tsx | 24 - apps/docs/src/components/icons/UsersIcon.tsx | 28 - apps/docs/src/components/mdx.tsx | 137 - apps/docs/src/lib/remToPx.ts | 10 - apps/docs/src/mdx/recma.mjs | 3 - apps/docs/src/mdx/rehype.mjs | 124 - apps/docs/src/mdx/remark.mjs | 4 - apps/docs/src/mdx/search.mjs | 135 - apps/docs/src/styles/tailwind.css | 21 - apps/docs/tailwind.config.ts | 46 - apps/docs/tsconfig.json | 28 - apps/docs/types.d.ts | 11 - apps/docs/typography.ts | 349 -- apps/landing/app.config.ts | 8 +- apps/landing/content-collections.ts | 14 - .../docs/components/mattrax.md} | 0 .../docs/components/mattraxd.md} | 0 .../docs/components/mttx.md} | 0 .../docs/concepts/application.md} | 0 .../docs/concepts/device.md} | 0 .../docs/concepts/group.md} | 0 .../docs/concepts/policy.md} | 0 .../docs/concepts/tenant-org.md} | 0 .../docs/concepts/user.md} | 0 .../app/faq/page.mdx => landing/docs/faq.md} | 6 - .../docs/getting-started.md} | 10 +- .../app/page.mdx => landing/docs/overview.md} | 23 +- .../docs/policies/overview.md} | 0 .../docs/policies/wifi.md} | 0 .../page.mdx => landing/docs/roadmap.md} | 15 +- .../page.mdx => landing/docs/self-hosting.md} | 10 +- apps/landing/package.json | 19 +- apps/landing/src/content-collections.ts | 24 + apps/landing/src/docs/hello.md | 8 - apps/landing/src/entry-client.tsx | 13 + apps/landing/src/routes/docs.tsx | 258 + apps/landing/src/routes/docs/(docs).tsx | 15 - apps/landing/src/routes/docs/[...rest].tsx | 39 +- apps/landing/tailwind.config.mjs | 12 +- apps/landing/tsconfig.json | 4 +- biome.json | 1 - packages/ui/package.json | 3 +- packages/ui/src/auto-imports.d.ts | 9 + packages/ui/src/dropdown-menu.tsx | 2 +- pnpm-lock.yaml | 4712 ++++++----------- 105 files changed, 1902 insertions(+), 8375 deletions(-) delete mode 100644 apps/docs/.eslintrc.json delete mode 100644 apps/docs/.gitignore delete mode 100644 apps/docs/mdx-components.tsx delete mode 100644 apps/docs/next.config.mjs delete mode 100644 apps/docs/package.json delete mode 100644 apps/docs/postcss.config.js delete mode 100644 apps/docs/prettier.config.js delete mode 100644 apps/docs/src/app/api/page.mdx delete mode 100644 apps/docs/src/app/devices/page.mdx delete mode 100644 apps/docs/src/app/favicon.ico delete mode 100644 apps/docs/src/app/layout.tsx delete mode 100644 apps/docs/src/app/not-found.tsx delete mode 100644 apps/docs/src/app/providers.tsx delete mode 100644 apps/docs/src/components/Button.tsx delete mode 100644 apps/docs/src/components/Code.tsx delete mode 100644 apps/docs/src/components/Feedback.tsx delete mode 100644 apps/docs/src/components/Footer.tsx delete mode 100644 apps/docs/src/components/GridPattern.tsx delete mode 100644 apps/docs/src/components/Guides.tsx delete mode 100644 apps/docs/src/components/Header.tsx delete mode 100644 apps/docs/src/components/Heading.tsx delete mode 100644 apps/docs/src/components/HeroPattern.tsx delete mode 100644 apps/docs/src/components/Layout.tsx delete mode 100644 apps/docs/src/components/Libraries.tsx delete mode 100644 apps/docs/src/components/Logo.tsx delete mode 100644 apps/docs/src/components/MobileNavigation.tsx delete mode 100644 apps/docs/src/components/Navigation.tsx delete mode 100644 apps/docs/src/components/Prose.tsx delete mode 100644 apps/docs/src/components/Resources.tsx delete mode 100644 apps/docs/src/components/Search.tsx delete mode 100644 apps/docs/src/components/SectionProvider.tsx delete mode 100644 apps/docs/src/components/Tag.tsx delete mode 100644 apps/docs/src/components/ThemeToggle.tsx delete mode 100644 apps/docs/src/components/icons/BellIcon.tsx delete mode 100644 apps/docs/src/components/icons/BoltIcon.tsx delete mode 100644 apps/docs/src/components/icons/BookIcon.tsx delete mode 100644 apps/docs/src/components/icons/CalendarIcon.tsx delete mode 100644 apps/docs/src/components/icons/CartIcon.tsx delete mode 100644 apps/docs/src/components/icons/ChatBubbleIcon.tsx delete mode 100644 apps/docs/src/components/icons/CheckIcon.tsx delete mode 100644 apps/docs/src/components/icons/ChevronRightLeftIcon.tsx delete mode 100644 apps/docs/src/components/icons/ClipboardIcon.tsx delete mode 100644 apps/docs/src/components/icons/CogIcon.tsx delete mode 100644 apps/docs/src/components/icons/CopyIcon.tsx delete mode 100644 apps/docs/src/components/icons/DocumentIcon.tsx delete mode 100644 apps/docs/src/components/icons/EnvelopeIcon.tsx delete mode 100644 apps/docs/src/components/icons/FaceSmileIcon.tsx delete mode 100644 apps/docs/src/components/icons/FolderIcon.tsx delete mode 100644 apps/docs/src/components/icons/LinkIcon.tsx delete mode 100644 apps/docs/src/components/icons/ListIcon.tsx delete mode 100644 apps/docs/src/components/icons/MagnifyingGlassIcon.tsx delete mode 100644 apps/docs/src/components/icons/MapPinIcon.tsx delete mode 100644 apps/docs/src/components/icons/PackageIcon.tsx delete mode 100644 apps/docs/src/components/icons/PaperAirplaneIcon.tsx delete mode 100644 apps/docs/src/components/icons/PaperClipIcon.tsx delete mode 100644 apps/docs/src/components/icons/ShapesIcon.tsx delete mode 100644 apps/docs/src/components/icons/ShirtIcon.tsx delete mode 100644 apps/docs/src/components/icons/SquaresPlusIcon.tsx delete mode 100644 apps/docs/src/components/icons/TagIcon.tsx delete mode 100644 apps/docs/src/components/icons/UserIcon.tsx delete mode 100644 apps/docs/src/components/icons/UsersIcon.tsx delete mode 100644 apps/docs/src/components/mdx.tsx delete mode 100644 apps/docs/src/lib/remToPx.ts delete mode 100644 apps/docs/src/mdx/recma.mjs delete mode 100644 apps/docs/src/mdx/rehype.mjs delete mode 100644 apps/docs/src/mdx/remark.mjs delete mode 100644 apps/docs/src/mdx/search.mjs delete mode 100644 apps/docs/src/styles/tailwind.css delete mode 100644 apps/docs/tailwind.config.ts delete mode 100644 apps/docs/tsconfig.json delete mode 100644 apps/docs/types.d.ts delete mode 100644 apps/docs/typography.ts delete mode 100644 apps/landing/content-collections.ts rename apps/{docs/src/app/components/mattrax/page.mdx => landing/docs/components/mattrax.md} (100%) rename apps/{docs/src/app/components/mattraxd/page.mdx => landing/docs/components/mattraxd.md} (100%) rename apps/{docs/src/app/components/mttx/page.mdx => landing/docs/components/mttx.md} (100%) rename apps/{docs/src/app/concepts/applications/page.mdx => landing/docs/concepts/application.md} (100%) rename apps/{docs/src/app/concepts/device/page.mdx => landing/docs/concepts/device.md} (100%) rename apps/{docs/src/app/concepts/group/index.mdx => landing/docs/concepts/group.md} (100%) rename apps/{docs/src/app/concepts/policy/page.mdx => landing/docs/concepts/policy.md} (100%) rename apps/{docs/src/app/concepts/tenant-org/page.mdx => landing/docs/concepts/tenant-org.md} (100%) rename apps/{docs/src/app/concepts/user/page.mdx => landing/docs/concepts/user.md} (100%) rename apps/{docs/src/app/faq/page.mdx => landing/docs/faq.md} (95%) rename apps/{docs/src/app/getting-started/page.mdx => landing/docs/getting-started.md} (65%) rename apps/{docs/src/app/page.mdx => landing/docs/overview.md} (70%) rename apps/{docs/src/app/policies/page.mdx => landing/docs/policies/overview.md} (100%) rename apps/{docs/src/app/policies/wifi/page.mdx => landing/docs/policies/wifi.md} (100%) rename apps/{docs/src/app/roadmap/page.mdx => landing/docs/roadmap.md} (60%) rename apps/{docs/src/app/self-hosting/page.mdx => landing/docs/self-hosting.md} (61%) create mode 100644 apps/landing/src/content-collections.ts delete mode 100644 apps/landing/src/docs/hello.md create mode 100644 apps/landing/src/routes/docs.tsx delete mode 100644 apps/landing/src/routes/docs/(docs).tsx diff --git a/README.md b/README.md index a36ad758..4509307f 100644 --- a/README.md +++ b/README.md @@ -30,8 +30,7 @@ The components are: - [`apps/mattrax`](apps/mattrax) - MDM backend - [`apps/mttx`](apps/mttx) - Mattrax CLI - [`apps/mattraxd`](apps/mattraxd) - Agent for managed devices that manages script execution and more - - [`apps/landing`](apps/landing) - [Landing website](https://mattrax.app) - - [`apps/docs`](apps/docs) - [Documentation website](https://docs.mattrax.app) + - [`apps/landing`](apps/landing) - [Landing website](https://mattrax.app) & [documentation](https://mattrax.app/docs) - [`apps/cloud`](apps/web) - Services for Mattrax's Cloud offering We mainly use the following technologies: diff --git a/apps/docs/.eslintrc.json b/apps/docs/.eslintrc.json deleted file mode 100644 index 72cc705c..00000000 --- a/apps/docs/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "next/core-web-vitals" -} diff --git a/apps/docs/.gitignore b/apps/docs/.gitignore deleted file mode 100644 index 8f322f0d..00000000 --- a/apps/docs/.gitignore +++ /dev/null @@ -1,35 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# local env files -.env*.local - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts diff --git a/apps/docs/mdx-components.tsx b/apps/docs/mdx-components.tsx deleted file mode 100644 index 8e7daa6c..00000000 --- a/apps/docs/mdx-components.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import * as mdxComponents from "@/components/mdx"; -import type { MDXComponents } from "mdx/types"; - -export function useMDXComponents(components: MDXComponents) { - return { - ...components, - ...mdxComponents, - }; -} diff --git a/apps/docs/next.config.mjs b/apps/docs/next.config.mjs deleted file mode 100644 index 2510de5e..00000000 --- a/apps/docs/next.config.mjs +++ /dev/null @@ -1,21 +0,0 @@ -import nextMDX from "@next/mdx"; - -import { recmaPlugins } from "./src/mdx/recma.mjs"; -import { rehypePlugins } from "./src/mdx/rehype.mjs"; -import { remarkPlugins } from "./src/mdx/remark.mjs"; -import withSearch from "./src/mdx/search.mjs"; - -const withMDX = nextMDX({ - options: { - remarkPlugins, - rehypePlugins, - recmaPlugins, - }, -}); - -/** @type {import('next').NextConfig} */ -const nextConfig = { - pageExtensions: ["js", "jsx", "ts", "tsx", "mdx"], -}; - -export default withSearch(withMDX(nextConfig)); diff --git a/apps/docs/package.json b/apps/docs/package.json deleted file mode 100644 index 2da5f15e..00000000 --- a/apps/docs/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "@mattrax/docs", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev -p 3003", - "build": "next build", - "cbuild": "pnpm dlx @cloudflare/next-on-pages@1 && cp -R ./.vercel/output/static ./dist", - "start": "next start" - }, - "browserslist": "defaults, not ie <= 11", - "dependencies": { - "@algolia/autocomplete-core": "^1.17.4", - "@headlessui/react": "^2.1.3", - "@headlessui/tailwindcss": "^0.2.1", - "@mdx-js/loader": "^3.0.1", - "@mdx-js/react": "^3.0.1", - "@next/mdx": "^14.2.6", - "@sindresorhus/slugify": "^2.2.1", - "@tailwindcss/typography": "^0.5.14", - "@types/mdx": "^2.0.13", - "@types/node": "^22.5.0", - "@types/react": "^18.3.4", - "@types/react-dom": "^18.3.0", - "@types/react-highlight-words": "^0.20.0", - "acorn": "^8.12.1", - "autoprefixer": "^10.4.20", - "clsx": "^2.1.1", - "fast-glob": "^3.3.2", - "flexsearch": "^0.7.43", - "framer-motion": "^11.3.30", - "mdast-util-to-string": "^4.0.0", - "mdx-annotations": "^0.1.4", - "next": "^14.2.6", - "next-themes": "^0.3.0", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-highlight-words": "^0.20.0", - "remark": "^15.0.1", - "remark-gfm": "^4.0.0", - "remark-mdx": "^3.0.1", - "shiki": "^1.14.1", - "simple-functional-loader": "^1.2.1", - "tailwindcss": "^3.4.10", - "typescript": "^5.5.4", - "unist-util-filter": "^5.0.1", - "unist-util-visit": "^5.0.0", - "zustand": "^4.5.5" - }, - "devDependencies": { - "eslint": "^9.9.1", - "eslint-config-next": "^14.2.6", - "prettier": "^3.3.3", - "prettier-plugin-tailwindcss": "^0.6.6", - "sharp": "0.33.5" - } -} diff --git a/apps/docs/postcss.config.js b/apps/docs/postcss.config.js deleted file mode 100644 index e873f1a4..00000000 --- a/apps/docs/postcss.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -}; diff --git a/apps/docs/prettier.config.js b/apps/docs/prettier.config.js deleted file mode 100644 index 16943fa9..00000000 --- a/apps/docs/prettier.config.js +++ /dev/null @@ -1,6 +0,0 @@ -/** @type {import('prettier').Options} */ -module.exports = { - singleQuote: true, - semi: false, - plugins: ["prettier-plugin-tailwindcss"], -}; diff --git a/apps/docs/src/app/api/page.mdx b/apps/docs/src/app/api/page.mdx deleted file mode 100644 index f29c450c..00000000 --- a/apps/docs/src/app/api/page.mdx +++ /dev/null @@ -1,394 +0,0 @@ -export const metadata = { - title: 'Contacts', - description: - 'On this page, we’ll dive into the different contact endpoints you can use to manage contacts programmatically.', -} - -# Contacts - -As the name suggests, contacts are a core part of Mattrax — the very reason Mattrax exists is so you can have secure conversations with your contacts. On this page, we'll dive into the different contact endpoints you can use to manage contacts programmatically. We'll look at how to query, create, update, and delete contacts. {{ className: 'lead' }} - -## The contact model - -The contact model contains all the information about your contacts, such as their username, avatar, and phone number. It also contains a reference to the conversation between you and the contact and information about when they were last active on Mattrax. - -### Properties - - - - Unique identifier for the contact. - - - The username for the contact. - - - The phone number for the contact. - - - The avatar image URL for the contact. - - - The contact display name in the contact list. By default, this is just the - username. - - - Unique identifier for the conversation associated with the contact. - - - Timestamp of when the contact was last active on the platform. - - - Timestamp of when the contact was created. - - - ---- - -## List all contacts {{ tag: 'GET', label: '/v1/contacts' }} - - - - - This endpoint allows you to retrieve a paginated list of all your contacts. By default, a maximum of ten contacts are shown per page. - - ### Optional attributes - - - - Limit the number of contacts returned. - - - - - - - - - ```bash {{ title: 'cURL' }} - curl -G https://api.Mattrax.chat/v1/contacts \ - -H "Authorization: Bearer {token}" \ - -d active=true \ - -d limit=10 - ``` - - ```js - import ApiClient from '@example/Mattrax-api' - - const client = new ApiClient(token) - - await client.contacts.list() - ``` - - ```python - from Mattrax_api import ApiClient - - client = ApiClient(token) - - client.contacts.list() - ``` - - ```php - $client = new \Mattrax\ApiClient($token); - - $client->contacts->list(); - ``` - - - - ```json {{ title: 'Response' }} - { - "has_more": false, - "data": [ - { - "id": "WAz8eIbvDR60rouK", - "username": "FrankMcCallister", - "phone_number": "1-800-759-3000", - "avatar_url": "https://assets.Mattrax.chat/avatars/frank.jpg", - "display_name": null, - "conversation_id": "xgQQXg3hrtjh7AvZ", - "last_active_at": 705103200, - "created_at": 692233200 - }, - { - "id": "hSIhXBhNe8X1d8Et" - // ... - } - ] - } - ``` - - - - ---- - -## Create a contact {{ tag: 'POST', label: '/v1/contacts' }} - - - - - This endpoint allows you to add a new contact to your contact list in Mattrax. To add a contact, you must provide their Mattrax username and phone number. - - ### Required attributes - - - - The username for the contact. - - - The phone number for the contact. - - - - ### Optional attributes - - - - The avatar image URL for the contact. - - - The contact display name in the contact list. By default, this is just the username. - - - - - - - - - ```bash {{ title: 'cURL' }} - curl https://api.Mattrax.chat/v1/contacts \ - -H "Authorization: Bearer {token}" \ - -d username="FrankMcCallister" \ - -d phone_number="1-800-759-3000" \ - -d avatar_url="https://assets.Mattrax.chat/avatars/frank.jpg" - ``` - - ```js - import ApiClient from '@example/Mattrax-api' - - const client = new ApiClient(token) - - await client.contacts.create({ - username: 'FrankMcCallister', - phone_number: '1-800-759-3000', - avatar_url: 'https://assets.Mattrax.chat/avatars/frank.jpg', - }) - ``` - - ```python - from Mattrax_api import ApiClient - - client = ApiClient(token) - - client.contacts.create( - username="FrankMcCallister", - phone_number="1-800-759-3000", - avatar_url="https://assets.Mattrax.chat/avatars/frank.jpg", - ) - ``` - - ```php - $client = new \Mattrax\ApiClient($token); - - $client->contacts->create([ - 'username' => 'FrankMcCallister', - 'phone_number' => '1-800-759-3000', - 'avatar_url' => 'https://assets.Mattrax.chat/avatars/frank.jpg', - ]); - ``` - - - - ```json {{ title: 'Response' }} - { - "id": "WAz8eIbvDR60rouK", - "username": "FrankMcCallister", - "phone_number": "1-800-759-3000", - "avatar_url": "https://assets.Mattrax.chat/avatars/frank.jpg", - "display_name": null, - "conversation_id": "xgQQXg3hrtjh7AvZ", - "last_active_at": null, - "created_at": 692233200 - } - ``` - - - - ---- - -## Retrieve a contact {{ tag: 'GET', label: '/v1/contacts/:id' }} - - - - - This endpoint allows you to retrieve a contact by providing their Mattrax id. Refer to [the list](#the-contact-model) at the top of this page to see which properties are included with contact objects. - - - - - - - ```bash {{ title: 'cURL' }} - curl https://api.Mattrax.chat/v1/contacts/WAz8eIbvDR60rouK \ - -H "Authorization: Bearer {token}" - ``` - - ```js - import ApiClient from '@example/Mattrax-api' - - const client = new ApiClient(token) - - await client.contacts.get('WAz8eIbvDR60rouK') - ``` - - ```python - from Mattrax_api import ApiClient - - client = ApiClient(token) - - client.contacts.get("WAz8eIbvDR60rouK") - ``` - - ```php - $client = new \Mattrax\ApiClient($token); - - $client->contacts->get('WAz8eIbvDR60rouK'); - ``` - - - - ```json {{ title: 'Response' }} - { - "id": "WAz8eIbvDR60rouK", - "username": "FrankMcCallister", - "phone_number": "1-800-759-3000", - "avatar_url": "https://assets.Mattrax.chat/avatars/frank.jpg", - "display_name": null, - "conversation_id": "xgQQXg3hrtjh7AvZ", - "last_active_at": 705103200, - "created_at": 692233200 - } - ``` - - - - ---- - -## Update a contact {{ tag: 'PUT', label: '/v1/contacts/:id' }} - - - - - This endpoint allows you to perform an update on a contact. Currently, the only attribute that can be updated on contacts is the `display_name` attribute which controls how a contact appears in your contact list in Mattrax. - - ### Optional attributes - - - - The contact display name in the contact list. By default, this is just the username. - - - - - - - - - ```bash {{ title: 'cURL' }} - curl -X PUT https://api.Mattrax.chat/v1/contacts/WAz8eIbvDR60rouK \ - -H "Authorization: Bearer {token}" \ - -d display_name="UncleFrank" - ``` - - ```js - import ApiClient from '@example/Mattrax-api' - - const client = new ApiClient(token) - - await client.contacts.update('WAz8eIbvDR60rouK', { - display_name: 'UncleFrank', - }) - ``` - - ```python - from Mattrax_api import ApiClient - - client = ApiClient(token) - - client.contacts.update("WAz8eIbvDR60rouK", display_name="UncleFrank") - ``` - - ```php - $client = new \Mattrax\ApiClient($token); - - $client->contacts->update('WAz8eIbvDR60rouK', [ - 'display_name' => 'UncleFrank', - ]); - ``` - - - - ```json {{ title: 'Response' }} - { - "id": "WAz8eIbvDR60rouK", - "username": "FrankMcCallister", - "phone_number": "1-800-759-3000", - "avatar_url": "https://assets.Mattrax.chat/avatars/frank.jpg", - "display_name": "UncleFrank", - "conversation_id": "xgQQXg3hrtjh7AvZ", - "last_active_at": 705103200, - "created_at": 692233200 - } - ``` - - - - ---- - -## Delete a contact {{ tag: 'DELETE', label: '/v1/contacts/:id' }} - - - - - This endpoint allows you to delete contacts from your contact list in Mattrax. Note: This will also delete your conversation with the given contact. - - - - - - - ```bash {{ title: 'cURL' }} - curl -X DELETE https://api.Mattrax.chat/v1/contacts/WAz8eIbvDR60rouK \ - -H "Authorization: Bearer {token}" - ``` - - ```js - import ApiClient from '@example/Mattrax-api' - - const client = new ApiClient(token) - - await client.contacts.delete('WAz8eIbvDR60rouK') - ``` - - ```python - from Mattrax_api import ApiClient - - client = ApiClient(token) - - client.contacts.delete("WAz8eIbvDR60rouK") - ``` - - ```php - $client = new \Mattrax\ApiClient($token); - - $client->contacts->delete('WAz8eIbvDR60rouK'); - ``` - - - - - diff --git a/apps/docs/src/app/devices/page.mdx b/apps/docs/src/app/devices/page.mdx deleted file mode 100644 index f29c450c..00000000 --- a/apps/docs/src/app/devices/page.mdx +++ /dev/null @@ -1,394 +0,0 @@ -export const metadata = { - title: 'Contacts', - description: - 'On this page, we’ll dive into the different contact endpoints you can use to manage contacts programmatically.', -} - -# Contacts - -As the name suggests, contacts are a core part of Mattrax — the very reason Mattrax exists is so you can have secure conversations with your contacts. On this page, we'll dive into the different contact endpoints you can use to manage contacts programmatically. We'll look at how to query, create, update, and delete contacts. {{ className: 'lead' }} - -## The contact model - -The contact model contains all the information about your contacts, such as their username, avatar, and phone number. It also contains a reference to the conversation between you and the contact and information about when they were last active on Mattrax. - -### Properties - - - - Unique identifier for the contact. - - - The username for the contact. - - - The phone number for the contact. - - - The avatar image URL for the contact. - - - The contact display name in the contact list. By default, this is just the - username. - - - Unique identifier for the conversation associated with the contact. - - - Timestamp of when the contact was last active on the platform. - - - Timestamp of when the contact was created. - - - ---- - -## List all contacts {{ tag: 'GET', label: '/v1/contacts' }} - - - - - This endpoint allows you to retrieve a paginated list of all your contacts. By default, a maximum of ten contacts are shown per page. - - ### Optional attributes - - - - Limit the number of contacts returned. - - - - - - - - - ```bash {{ title: 'cURL' }} - curl -G https://api.Mattrax.chat/v1/contacts \ - -H "Authorization: Bearer {token}" \ - -d active=true \ - -d limit=10 - ``` - - ```js - import ApiClient from '@example/Mattrax-api' - - const client = new ApiClient(token) - - await client.contacts.list() - ``` - - ```python - from Mattrax_api import ApiClient - - client = ApiClient(token) - - client.contacts.list() - ``` - - ```php - $client = new \Mattrax\ApiClient($token); - - $client->contacts->list(); - ``` - - - - ```json {{ title: 'Response' }} - { - "has_more": false, - "data": [ - { - "id": "WAz8eIbvDR60rouK", - "username": "FrankMcCallister", - "phone_number": "1-800-759-3000", - "avatar_url": "https://assets.Mattrax.chat/avatars/frank.jpg", - "display_name": null, - "conversation_id": "xgQQXg3hrtjh7AvZ", - "last_active_at": 705103200, - "created_at": 692233200 - }, - { - "id": "hSIhXBhNe8X1d8Et" - // ... - } - ] - } - ``` - - - - ---- - -## Create a contact {{ tag: 'POST', label: '/v1/contacts' }} - - - - - This endpoint allows you to add a new contact to your contact list in Mattrax. To add a contact, you must provide their Mattrax username and phone number. - - ### Required attributes - - - - The username for the contact. - - - The phone number for the contact. - - - - ### Optional attributes - - - - The avatar image URL for the contact. - - - The contact display name in the contact list. By default, this is just the username. - - - - - - - - - ```bash {{ title: 'cURL' }} - curl https://api.Mattrax.chat/v1/contacts \ - -H "Authorization: Bearer {token}" \ - -d username="FrankMcCallister" \ - -d phone_number="1-800-759-3000" \ - -d avatar_url="https://assets.Mattrax.chat/avatars/frank.jpg" - ``` - - ```js - import ApiClient from '@example/Mattrax-api' - - const client = new ApiClient(token) - - await client.contacts.create({ - username: 'FrankMcCallister', - phone_number: '1-800-759-3000', - avatar_url: 'https://assets.Mattrax.chat/avatars/frank.jpg', - }) - ``` - - ```python - from Mattrax_api import ApiClient - - client = ApiClient(token) - - client.contacts.create( - username="FrankMcCallister", - phone_number="1-800-759-3000", - avatar_url="https://assets.Mattrax.chat/avatars/frank.jpg", - ) - ``` - - ```php - $client = new \Mattrax\ApiClient($token); - - $client->contacts->create([ - 'username' => 'FrankMcCallister', - 'phone_number' => '1-800-759-3000', - 'avatar_url' => 'https://assets.Mattrax.chat/avatars/frank.jpg', - ]); - ``` - - - - ```json {{ title: 'Response' }} - { - "id": "WAz8eIbvDR60rouK", - "username": "FrankMcCallister", - "phone_number": "1-800-759-3000", - "avatar_url": "https://assets.Mattrax.chat/avatars/frank.jpg", - "display_name": null, - "conversation_id": "xgQQXg3hrtjh7AvZ", - "last_active_at": null, - "created_at": 692233200 - } - ``` - - - - ---- - -## Retrieve a contact {{ tag: 'GET', label: '/v1/contacts/:id' }} - - - - - This endpoint allows you to retrieve a contact by providing their Mattrax id. Refer to [the list](#the-contact-model) at the top of this page to see which properties are included with contact objects. - - - - - - - ```bash {{ title: 'cURL' }} - curl https://api.Mattrax.chat/v1/contacts/WAz8eIbvDR60rouK \ - -H "Authorization: Bearer {token}" - ``` - - ```js - import ApiClient from '@example/Mattrax-api' - - const client = new ApiClient(token) - - await client.contacts.get('WAz8eIbvDR60rouK') - ``` - - ```python - from Mattrax_api import ApiClient - - client = ApiClient(token) - - client.contacts.get("WAz8eIbvDR60rouK") - ``` - - ```php - $client = new \Mattrax\ApiClient($token); - - $client->contacts->get('WAz8eIbvDR60rouK'); - ``` - - - - ```json {{ title: 'Response' }} - { - "id": "WAz8eIbvDR60rouK", - "username": "FrankMcCallister", - "phone_number": "1-800-759-3000", - "avatar_url": "https://assets.Mattrax.chat/avatars/frank.jpg", - "display_name": null, - "conversation_id": "xgQQXg3hrtjh7AvZ", - "last_active_at": 705103200, - "created_at": 692233200 - } - ``` - - - - ---- - -## Update a contact {{ tag: 'PUT', label: '/v1/contacts/:id' }} - - - - - This endpoint allows you to perform an update on a contact. Currently, the only attribute that can be updated on contacts is the `display_name` attribute which controls how a contact appears in your contact list in Mattrax. - - ### Optional attributes - - - - The contact display name in the contact list. By default, this is just the username. - - - - - - - - - ```bash {{ title: 'cURL' }} - curl -X PUT https://api.Mattrax.chat/v1/contacts/WAz8eIbvDR60rouK \ - -H "Authorization: Bearer {token}" \ - -d display_name="UncleFrank" - ``` - - ```js - import ApiClient from '@example/Mattrax-api' - - const client = new ApiClient(token) - - await client.contacts.update('WAz8eIbvDR60rouK', { - display_name: 'UncleFrank', - }) - ``` - - ```python - from Mattrax_api import ApiClient - - client = ApiClient(token) - - client.contacts.update("WAz8eIbvDR60rouK", display_name="UncleFrank") - ``` - - ```php - $client = new \Mattrax\ApiClient($token); - - $client->contacts->update('WAz8eIbvDR60rouK', [ - 'display_name' => 'UncleFrank', - ]); - ``` - - - - ```json {{ title: 'Response' }} - { - "id": "WAz8eIbvDR60rouK", - "username": "FrankMcCallister", - "phone_number": "1-800-759-3000", - "avatar_url": "https://assets.Mattrax.chat/avatars/frank.jpg", - "display_name": "UncleFrank", - "conversation_id": "xgQQXg3hrtjh7AvZ", - "last_active_at": 705103200, - "created_at": 692233200 - } - ``` - - - - ---- - -## Delete a contact {{ tag: 'DELETE', label: '/v1/contacts/:id' }} - - - - - This endpoint allows you to delete contacts from your contact list in Mattrax. Note: This will also delete your conversation with the given contact. - - - - - - - ```bash {{ title: 'cURL' }} - curl -X DELETE https://api.Mattrax.chat/v1/contacts/WAz8eIbvDR60rouK \ - -H "Authorization: Bearer {token}" - ``` - - ```js - import ApiClient from '@example/Mattrax-api' - - const client = new ApiClient(token) - - await client.contacts.delete('WAz8eIbvDR60rouK') - ``` - - ```python - from Mattrax_api import ApiClient - - client = ApiClient(token) - - client.contacts.delete("WAz8eIbvDR60rouK") - ``` - - ```php - $client = new \Mattrax\ApiClient($token); - - $client->contacts->delete('WAz8eIbvDR60rouK'); - ``` - - - - - diff --git a/apps/docs/src/app/favicon.ico b/apps/docs/src/app/favicon.ico deleted file mode 100644 index 820841127e8fdf7654211b7221690404b831ad2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4286 zcmc(jNsLrg6owxluwY|cxMm3~kPR{f1XjofT#7qHbRmN-pl6UVVG@-D8Zd%U6N88Y z(v8ZbKqAmU&lAwyK+p4xyF-14{N|=oRq3jjraQ0Cy=VCU|D1c@3n7Xo#D1qwkN6vX z|8f+)8b#5J*b{R_OJfgy|B1z3nfCm7?ueqU&Th-}>F(;uxE9W_)OU7tS^SfU-Vh_5 z`mj#x@vKkA#q7p1KkB7hHW_9*{&e^g;igkB-Li@BlKGO&C>?%bi(gj$R5lrZs+usC ziO#S-TuV1r{`R&G>+9|JJA#jWM|-FBboaU?7Y$hXTU*+^o*ZhVQ8oCqCf3{2XVl

!GTlr!WYg-x#3w5M;Eo?R6RcF1Xp_0mvm8&HsS;QgRX%( ze8kWpefWomMx0A=@W>k(9{q2g%!4?1>OnIi_kR5Yd-Ay1pQgq~*4WVGzWTcRjzdjV zWwpVUL;~dp&s61>%a)g$Z&xl~wfwvS&u1RY^4o8|^O}z~eQZ0n@3ic!9Oo^_ z-)cG8xwdr4GQ0WDE$;_S^g1{&1u=E=HSAuh%I{CG)>6KZa2Mo@-rMcBMZrJ2l%&p;Jqwnb- z{;dVutg@oY7B70kXUrU#1@n74`mfIm{sa3D`W*ptXmHq0es#*`&s*T{&FxzyHf8cu zLo0kQO`2?Is;jNHEt|9K^||x>yo!r1*eBbz+iSDu*oos`+ONNyv(<0E<9xe!?eUrX z`Nu`?mowq4(SH5f4WH@x--u=4&A$3>iat-cl~~X z%l)8dFj$wBmiw&WqmDbrU7;85B>j@hoyX7n!WqD&_mX#mH9l~-vwB~sXU+LzdH={E z7aTBI>-{E&J$+GwCi24X3GWdY;>T)F9az!>7HfUa^8xWQwu9`H#Qew~H-VK05~3rpND!lHvGo|`^2tN7Uexfg#T z4XJoCtrMo|wGXXgsWgoxC&Y|jt3KY(Ua?gCiRv=(jR!|My2k6?Nt5_Os~A@P&=;;1 R4{f4&=nL2Se}ETdp8>7zk2(MV diff --git a/apps/docs/src/app/layout.tsx b/apps/docs/src/app/layout.tsx deleted file mode 100644 index d21373e2..00000000 --- a/apps/docs/src/app/layout.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import glob from "fast-glob"; - -import { Providers } from "@/app/providers"; -import { Layout } from "@/components/Layout"; - -import "@/styles/tailwind.css"; -import type { Metadata } from "next"; -import type { Section } from "@/components/SectionProvider"; - -export const metadata: Metadata = { - title: { - template: "%s - Mattrax API Reference", - default: "Mattrax API Reference", - }, -}; - -export default async function RootLayout({ - children, -}: { - children: React.ReactNode; -}) { - const pages = await glob("**/*.mdx", { cwd: "src/app" }); - const allSectionsEntries = (await Promise.all( - pages.map(async (filename) => [ - `/${filename.replace(/(^|\/)page\.mdx$/, "")}`, - (await import(`./${filename}`)).sections, - ]), - )) as Array<[string, Array

]>; - const allSections = Object.fromEntries(allSectionsEntries); - - return ( - - - -
- {children} -
-
- - - ); -} diff --git a/apps/docs/src/app/not-found.tsx b/apps/docs/src/app/not-found.tsx deleted file mode 100644 index 4c5d6885..00000000 --- a/apps/docs/src/app/not-found.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { Button } from "@/components/Button"; -import { HeroPattern } from "@/components/HeroPattern"; - -export default function NotFound() { - return ( - <> - -
-

- 404 -

-

- Page not found -

-

- Sorry, we couldn’t find the page you’re looking for. -

- -
- - ); -} diff --git a/apps/docs/src/app/providers.tsx b/apps/docs/src/app/providers.tsx deleted file mode 100644 index 5a057ab0..00000000 --- a/apps/docs/src/app/providers.tsx +++ /dev/null @@ -1,37 +0,0 @@ -"use client"; - -import { useEffect } from "react"; -import { ThemeProvider, useTheme } from "next-themes"; - -function ThemeWatcher() { - const { resolvedTheme, setTheme } = useTheme(); - - useEffect(() => { - const media = window.matchMedia("(prefers-color-scheme: dark)"); - - function onMediaChange() { - const systemTheme = media.matches ? "dark" : "light"; - if (resolvedTheme === systemTheme) { - setTheme("system"); - } - } - - onMediaChange(); - media.addEventListener("change", onMediaChange); - - return () => { - media.removeEventListener("change", onMediaChange); - }; - }, [resolvedTheme, setTheme]); - - return null; -} - -export function Providers({ children }: { children: React.ReactNode }) { - return ( - - - {children} - - ); -} diff --git a/apps/docs/src/components/Button.tsx b/apps/docs/src/components/Button.tsx deleted file mode 100644 index 90589cd3..00000000 --- a/apps/docs/src/components/Button.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import Link from "next/link"; -import clsx from "clsx"; - -function ArrowIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} - -const variantStyles = { - primary: - "rounded-full bg-zinc-900 py-1 px-3 text-white hover:bg-zinc-700 dark:bg-emerald-400/10 dark:text-emerald-400 dark:ring-1 dark:ring-inset dark:ring-emerald-400/20 dark:hover:bg-emerald-400/10 dark:hover:text-emerald-300 dark:hover:ring-emerald-300", - secondary: - "rounded-full bg-zinc-100 py-1 px-3 text-zinc-900 hover:bg-zinc-200 dark:bg-zinc-800/40 dark:text-zinc-400 dark:ring-1 dark:ring-inset dark:ring-zinc-800 dark:hover:bg-zinc-800 dark:hover:text-zinc-300", - filled: - "rounded-full bg-zinc-900 py-1 px-3 text-white hover:bg-zinc-700 dark:bg-emerald-500 dark:text-white dark:hover:bg-emerald-400", - outline: - "rounded-full py-1 px-3 text-zinc-700 ring-1 ring-inset ring-zinc-900/10 hover:bg-zinc-900/2.5 hover:text-zinc-900 dark:text-zinc-400 dark:ring-white/10 dark:hover:bg-white/5 dark:hover:text-white", - text: "text-emerald-500 hover:text-emerald-600 dark:text-emerald-400 dark:hover:text-emerald-500", -}; - -type ButtonProps = { - variant?: keyof typeof variantStyles; - arrow?: "left" | "right"; -} & ( - | React.ComponentPropsWithoutRef - | (React.ComponentPropsWithoutRef<"button"> & { href?: undefined }) -); - -export function Button({ - variant = "primary", - className, - children, - arrow, - ...props -}: ButtonProps) { - className = clsx( - "inline-flex gap-0.5 justify-center overflow-hidden text-sm font-medium transition", - variantStyles[variant], - className, - ); - - const arrowIcon = ( - - ); - - const inner = ( - <> - {arrow === "left" && arrowIcon} - {children} - {arrow === "right" && arrowIcon} - - ); - - if (typeof props.href === "undefined") { - return ( - - ); - } - - return ( - - {inner} - - ); -} diff --git a/apps/docs/src/components/Code.tsx b/apps/docs/src/components/Code.tsx deleted file mode 100644 index c02ebc09..00000000 --- a/apps/docs/src/components/Code.tsx +++ /dev/null @@ -1,381 +0,0 @@ -'use client' - -import { - Children, - createContext, - isValidElement, - useContext, - useEffect, - useRef, - useState, -} from 'react' -import { Tab } from '@headlessui/react' -import clsx from 'clsx' -import { create } from 'zustand' - -import { Tag } from '@/components/Tag' - -const languageNames: Record = { - js: 'JavaScript', - ts: 'TypeScript', - javascript: 'JavaScript', - typescript: 'TypeScript', - php: 'PHP', - python: 'Python', - ruby: 'Ruby', - go: 'Go', -} - -function getPanelTitle({ - title, - language, -}: { - title?: string - language?: string -}) { - if (title) { - return title - } - if (language && language in languageNames) { - return languageNames[language] - } - return 'Code' -} - -function ClipboardIcon(props: React.ComponentPropsWithoutRef<'svg'>) { - return ( - - ) -} - -function CopyButton({ code }: { code: string }) { - const [copyCount, setCopyCount] = useState(0) - const copied = copyCount > 0 - - useEffect(() => { - if (copyCount > 0) { - const timeout = setTimeout(() => setCopyCount(0), 1000) - return () => { - clearTimeout(timeout) - } - } - }, [copyCount]) - - return ( - - ) -} - -function CodePanelHeader({ tag, label }: { tag?: string; label?: string }) { - if (!tag && !label) { - return null - } - - return ( -
- {tag && ( -
- {tag} -
- )} - {tag && label && ( - - )} - {label && ( - {label} - )} -
- ) -} - -function CodePanel({ - children, - tag, - label, - code, -}: { - children: React.ReactNode - tag?: string - label?: string - code?: string -}) { - const child = Children.only(children) - - if (isValidElement(child)) { - tag = child.props.tag ?? tag - label = child.props.label ?? label - code = child.props.code ?? code - } - - if (!code) { - throw new Error( - '`CodePanel` requires a `code` prop, or a child with a `code` prop.', - ) - } - - return ( -
- -
-
{children}
- -
-
- ) -} - -function CodeGroupHeader({ - title, - children, - selectedIndex, -}: { - title: string - children: React.ReactNode - selectedIndex: number -}) { - const hasTabs = Children.count(children) > 1 - - if (!title && !hasTabs) { - return null - } - - return ( -
- {title && ( -

- {title} -

- )} - {hasTabs && ( - - {Children.map(children, (child, childIndex) => ( - - {getPanelTitle(isValidElement(child) ? child.props : {})} - - ))} - - )} -
- ) -} - -function CodeGroupPanels({ - children, - ...props -}: React.ComponentPropsWithoutRef) { - const hasTabs = Children.count(children) > 1 - - if (hasTabs) { - return ( - - {Children.map(children, (child) => ( - - {child} - - ))} - - ) - } - - return {children} -} - -function usePreventLayoutShift() { - const positionRef = useRef(null) - const rafRef = useRef() - - useEffect(() => { - return () => { - if (typeof rafRef.current !== 'undefined') { - window.cancelAnimationFrame(rafRef.current) - } - } - }, []) - - return { - positionRef, - preventLayoutShift(callback: () => void) { - if (!positionRef.current) { - return - } - - const initialTop = positionRef.current.getBoundingClientRect().top - - callback() - - rafRef.current = window.requestAnimationFrame(() => { - const newTop = - positionRef.current?.getBoundingClientRect().top ?? initialTop - window.scrollBy(0, newTop - initialTop) - }) - }, - } -} - -const usePreferredLanguageStore = create<{ - preferredLanguages: Array - addPreferredLanguage: (language: string) => void -}>()((set) => ({ - preferredLanguages: [], - addPreferredLanguage: (language) => - set((state) => ({ - preferredLanguages: [ - ...state.preferredLanguages.filter( - (preferredLanguage) => preferredLanguage !== language, - ), - language, - ], - })), -})) - -function useTabGroupProps(availableLanguages: Array) { - const { preferredLanguages, addPreferredLanguage } = - usePreferredLanguageStore() - const [selectedIndex, setSelectedIndex] = useState(0) - const activeLanguage = [...availableLanguages].sort( - (a, z) => preferredLanguages.indexOf(z) - preferredLanguages.indexOf(a), - )[0] - const languageIndex = availableLanguages.indexOf(activeLanguage) - const newSelectedIndex = languageIndex === -1 ? selectedIndex : languageIndex - if (newSelectedIndex !== selectedIndex) { - setSelectedIndex(newSelectedIndex) - } - - const { positionRef, preventLayoutShift } = usePreventLayoutShift() - - return { - as: 'div' as const, - ref: positionRef, - selectedIndex, - onChange: (newSelectedIndex: number) => { - preventLayoutShift(() => - addPreferredLanguage(availableLanguages[newSelectedIndex]), - ) - }, - } -} - -const CodeGroupContext = createContext(false) - -export function CodeGroup({ - children, - title, - ...props -}: React.ComponentPropsWithoutRef & { title: string }) { - const languages = - Children.map(children, (child) => - getPanelTitle(isValidElement(child) ? child.props : {}), - ) ?? [] - const tabGroupProps = useTabGroupProps(languages) - const hasTabs = Children.count(children) > 1 - - const containerClassName = - 'my-6 overflow-hidden rounded-2xl bg-zinc-900 shadow-md dark:ring-1 dark:ring-white/10' - const header = ( - - {children} - - ) - const panels = {children} - - return ( - - {hasTabs ? ( - -
- {header} - {panels} -
-
- ) : ( -
-
- {header} - {panels} -
-
- )} -
- ) -} - -export function Code({ - children, - ...props -}: React.ComponentPropsWithoutRef<'code'>) { - const isGrouped = useContext(CodeGroupContext) - - if (isGrouped) { - if (typeof children !== 'string') { - throw new Error( - '`Code` children must be a string when nested inside a `CodeGroup`.', - ) - } - return - } - - return {children} -} - -export function Pre({ - children, - ...props -}: React.ComponentPropsWithoutRef) { - const isGrouped = useContext(CodeGroupContext) - - if (isGrouped) { - return children - } - - return {children} -} diff --git a/apps/docs/src/components/Feedback.tsx b/apps/docs/src/components/Feedback.tsx deleted file mode 100644 index 0dd1e7e0..00000000 --- a/apps/docs/src/components/Feedback.tsx +++ /dev/null @@ -1,106 +0,0 @@ -"use client"; - -import { forwardRef, Fragment, useState } from "react"; -import { Transition } from "@headlessui/react"; - -function CheckIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} - -function FeedbackButton( - props: Omit, "type" | "className">, -) { - return ( - - - {page.title} - - - ); -} - -function PageNavigation() { - const pathname = usePathname(); - const allPages = navigation.flatMap((group) => group.links); - const currentPageIndex = allPages.findIndex((page) => page.href === pathname); - - if (currentPageIndex === -1) { - return null; - } - - const previousPage = allPages[currentPageIndex - 1]; - const nextPage = allPages[currentPageIndex + 1]; - - if (!previousPage && !nextPage) { - return null; - } - - return ( -
- {previousPage && ( -
- -
- )} - {nextPage && ( -
- -
- )} -
- ); -} - -function XIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} - -function GitHubIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} - -function DiscordIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} - -function SocialLink({ - href, - icon: Icon, - children, -}: { - href: string; - icon: React.ComponentType<{ className?: string }>; - children: React.ReactNode; -}) { - return ( - - {children} - - - ); -} - -function SmallPrint() { - return ( -
-

- © Copyright {new Date().getFullYear()}. All rights reserved. -

-
- - Follow us on X - - - Follow us on GitHub - - - Join our Discord server - -
-
- ); -} - -export function Footer() { - return ( -
- - -
- ); -} diff --git a/apps/docs/src/components/GridPattern.tsx b/apps/docs/src/components/GridPattern.tsx deleted file mode 100644 index 57765bbb..00000000 --- a/apps/docs/src/components/GridPattern.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { useId } from "react"; - -export function GridPattern({ - width, - height, - x, - y, - squares, - ...props -}: React.ComponentPropsWithoutRef<"svg"> & { - width: number; - height: number; - x: string | number; - y: string | number; - squares: Array<[x: number, y: number]>; -}) { - const patternId = useId(); - - return ( - - ); -} diff --git a/apps/docs/src/components/Guides.tsx b/apps/docs/src/components/Guides.tsx deleted file mode 100644 index d61409e1..00000000 --- a/apps/docs/src/components/Guides.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import { Button } from "@/components/Button"; -import { Heading } from "@/components/Heading"; - -const guides = [ - { - href: "/authentication", - name: "Authentication", - description: "Learn how to authenticate your API requests.", - }, - { - href: "/pagination", - name: "Pagination", - description: "Understand how to work with paginated responses.", - }, - { - href: "/errors", - name: "Errors", - description: - "Read about the different types of errors returned by the API.", - }, - { - href: "/webhooks", - name: "Webhooks", - description: - "Learn how to programmatically configure webhooks for your app.", - }, -]; - -export function Guides() { - return ( -
- - Guides - -
- {guides.map((guide) => ( -
-

- {guide.name} -

-

- {guide.description} -

-

- -

-
- ))} -
-
- ); -} diff --git a/apps/docs/src/components/Header.tsx b/apps/docs/src/components/Header.tsx deleted file mode 100644 index b8c6785f..00000000 --- a/apps/docs/src/components/Header.tsx +++ /dev/null @@ -1,105 +0,0 @@ -import { forwardRef } from "react"; -import Link from "next/link"; -import clsx from "clsx"; -import { motion, useScroll, useTransform } from "framer-motion"; -import { Logo } from "@/components/Logo"; -import { - MobileNavigation, - useIsInsideMobileNavigation, -} from "@/components/MobileNavigation"; -import { useMobileNavigationStore } from "@/components/MobileNavigation"; -import { MobileSearch, Search } from "@/components/Search"; -import { ThemeToggle } from "@/components/ThemeToggle"; - -function TopLevelNavItem({ - href, - target, - children, -}: { - href: string; - target?: string; - children: React.ReactNode; -}) { - return ( -
  • - - {children} - -
  • - ); -} - -export const Header = forwardRef< - React.ElementRef<"div">, - { className?: string } ->(function Header({ className }, ref) { - const { isOpen: mobileNavIsOpen } = useMobileNavigationStore(); - const isInsideMobileNavigation = useIsInsideMobileNavigation(); - - const { scrollY } = useScroll(); - const bgOpacityLight = useTransform(scrollY, [0, 72], [0.5, 0.9]); - const bgOpacityDark = useTransform(scrollY, [0, 72], [0.2, 0.8]); - - return ( - -
    - -
    - - - - -
    -
    - -
    -
    - - -
    - {/*
    - -
    */} -
    - - ); -}); diff --git a/apps/docs/src/components/Heading.tsx b/apps/docs/src/components/Heading.tsx deleted file mode 100644 index dbf18f35..00000000 --- a/apps/docs/src/components/Heading.tsx +++ /dev/null @@ -1,117 +0,0 @@ -"use client"; - -import { useEffect, useRef } from "react"; -import Link from "next/link"; -import { useInView } from "framer-motion"; - -import { useSectionStore } from "@/components/SectionProvider"; -import { Tag } from "@/components/Tag"; -import { remToPx } from "@/lib/remToPx"; - -function AnchorIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} - -function Eyebrow({ tag, label }: { tag?: string; label?: string }) { - if (!tag && !label) { - return null; - } - - return ( -
    - {tag && {tag}} - {tag && label && ( - - )} - {label && ( - {label} - )} -
    - ); -} - -function Anchor({ - id, - inView, - children, -}: { - id: string; - inView: boolean; - children: React.ReactNode; -}) { - return ( - - {inView && ( -
    -
    - -
    -
    - )} - {children} - - ); -} - -export function Heading({ - children, - tag, - label, - level, - anchor = true, - ...props -}: React.ComponentPropsWithoutRef<`h${Level}`> & { - id: string; - tag?: string; - label?: string; - level?: Level; - anchor?: boolean; -}) { - level = level ?? (2 as Level); - const Component = `h${level}` as "h2" | "h3"; - const ref = useRef(null); - const registerHeading = useSectionStore((s) => s.registerHeading); - - const inView = useInView(ref, { - margin: `${remToPx(-3.5)}px 0px 0px 0px`, - amount: "all", - }); - - useEffect(() => { - if (level === 2) { - registerHeading({ id: props.id, ref, offsetRem: tag || label ? 8 : 6 }); - } - }); - - return ( - <> - - - {anchor ? ( - - {children} - - ) : ( - children - )} - - - ); -} diff --git a/apps/docs/src/components/HeroPattern.tsx b/apps/docs/src/components/HeroPattern.tsx deleted file mode 100644 index 64909dfa..00000000 --- a/apps/docs/src/components/HeroPattern.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { GridPattern } from "@/components/GridPattern"; - -export function HeroPattern() { - return ( -
    -
    -
    - -
    - -
    -
    - ); -} diff --git a/apps/docs/src/components/Layout.tsx b/apps/docs/src/components/Layout.tsx deleted file mode 100644 index 67e8b85e..00000000 --- a/apps/docs/src/components/Layout.tsx +++ /dev/null @@ -1,46 +0,0 @@ -"use client"; - -import Link from "next/link"; -import { usePathname } from "next/navigation"; -import { motion } from "framer-motion"; - -import { Footer } from "@/components/Footer"; -import { Header } from "@/components/Header"; -import { Logo } from "@/components/Logo"; -import { Navigation } from "@/components/Navigation"; -import { type Section, SectionProvider } from "@/components/SectionProvider"; - -export function Layout({ - children, - allSections, -}: { - children: React.ReactNode; - allSections: Record>; -}) { - const pathname = usePathname(); - - return ( - -
    - -
    -
    - - - -
    -
    - -
    -
    -
    -
    {children}
    -
    -
    -
    -
    - ); -} diff --git a/apps/docs/src/components/Libraries.tsx b/apps/docs/src/components/Libraries.tsx deleted file mode 100644 index b526887c..00000000 --- a/apps/docs/src/components/Libraries.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import Image from "next/image"; - -import { Button } from "@/components/Button"; -import { Heading } from "@/components/Heading"; -import logoGo from "@/images/logos/go.svg"; -import logoNode from "@/images/logos/node.svg"; -import logoPhp from "@/images/logos/php.svg"; -import logoPython from "@/images/logos/python.svg"; -import logoRuby from "@/images/logos/ruby.svg"; - -const libraries = [ - { - href: "#", - name: "PHP", - description: - "A popular general-purpose scripting language that is especially suited to web development.", - logo: logoPhp, - }, - { - href: "#", - name: "Ruby", - description: - "A dynamic, open source programming language with a focus on simplicity and productivity.", - logo: logoRuby, - }, - { - href: "#", - name: "Node.js", - description: - "Node.js® is an open-source, cross-platform JavaScript runtime environment.", - logo: logoNode, - }, - { - href: "#", - name: "Python", - description: - "Python is a programming language that lets you work quickly and integrate systems more effectively.", - logo: logoPython, - }, - { - href: "#", - name: "Go", - description: - "An open-source programming language supported by Google with built-in concurrency.", - logo: logoGo, - }, -]; - -export function Libraries() { - return ( -
    - - Official libraries - -
    - {libraries.map((library) => ( -
    -
    -

    - {library.name} -

    -

    - {library.description} -

    -

    - -

    -
    - -
    - ))} -
    -
    - ); -} diff --git a/apps/docs/src/components/Logo.tsx b/apps/docs/src/components/Logo.tsx deleted file mode 100644 index 7ca08f01..00000000 --- a/apps/docs/src/components/Logo.tsx +++ /dev/null @@ -1,7 +0,0 @@ -export function Logo(props: React.ComponentPropsWithoutRef<"svg">) { - return ( -

    - MATTRAX -

    - ); -} diff --git a/apps/docs/src/components/MobileNavigation.tsx b/apps/docs/src/components/MobileNavigation.tsx deleted file mode 100644 index ba898acb..00000000 --- a/apps/docs/src/components/MobileNavigation.tsx +++ /dev/null @@ -1,174 +0,0 @@ -"use client"; - -import { - createContext, - Fragment, - Suspense, - useContext, - useEffect, - useRef, -} from "react"; -import { usePathname, useSearchParams } from "next/navigation"; -import { Dialog, Transition } from "@headlessui/react"; -import { motion } from "framer-motion"; -import { create } from "zustand"; - -import { Header } from "@/components/Header"; -import { Navigation } from "@/components/Navigation"; - -function MenuIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} - -function XIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} - -const IsInsideMobileNavigationContext = createContext(false); - -function MobileNavigationDialog({ - isOpen, - close, -}: { - isOpen: boolean; - close: () => void; -}) { - const pathname = usePathname(); - const searchParams = useSearchParams(); - const initialPathname = useRef(pathname).current; - const initialSearchParams = useRef(searchParams).current; - - useEffect(() => { - if (pathname !== initialPathname || searchParams !== initialSearchParams) { - close(); - } - }, [pathname, searchParams, close, initialPathname, initialSearchParams]); - - function onClickDialog(event: React.MouseEvent) { - if (!(event.target instanceof HTMLElement)) { - return; - } - - const link = event.target.closest("a"); - if ( - link && - link.pathname + link.search + link.hash === - window.location.pathname + window.location.search + window.location.hash - ) { - close(); - } - } - - return ( - - - -
    - - - - -
    - - - - - - - - -
    -
    - ); -} - -export function useIsInsideMobileNavigation() { - return useContext(IsInsideMobileNavigationContext); -} - -export const useMobileNavigationStore = create<{ - isOpen: boolean; - open: () => void; - close: () => void; - toggle: () => void; -}>()((set) => ({ - isOpen: false, - open: () => set({ isOpen: true }), - close: () => set({ isOpen: false }), - toggle: () => set((state) => ({ isOpen: !state.isOpen })), -})); - -export function MobileNavigation() { - const isInsideMobileNavigation = useIsInsideMobileNavigation(); - const { isOpen, toggle, close } = useMobileNavigationStore(); - const ToggleIcon = isOpen ? XIcon : MenuIcon; - - return ( - - - {!isInsideMobileNavigation && ( - - - - )} - - ); -} diff --git a/apps/docs/src/components/Navigation.tsx b/apps/docs/src/components/Navigation.tsx deleted file mode 100644 index 9b146eb9..00000000 --- a/apps/docs/src/components/Navigation.tsx +++ /dev/null @@ -1,321 +0,0 @@ -"use client"; - -import { useRef } from "react"; -import Link from "next/link"; -import { usePathname } from "next/navigation"; -import clsx from "clsx"; -import { AnimatePresence, motion, useIsPresent } from "framer-motion"; - -import { Button } from "@/components/Button"; -import { useIsInsideMobileNavigation } from "@/components/MobileNavigation"; -import { useSectionStore } from "@/components/SectionProvider"; -import { Tag } from "@/components/Tag"; -import { remToPx } from "@/lib/remToPx"; - -interface NavGroup { - title: string; - links: Array<{ - title: string; - href: string; - disabled?: boolean; - }>; -} - -function useInitialValue(value: T, condition = true) { - const initialValue = useRef(value).current; - return condition ? initialValue : value; -} - -function TopLevelNavItem({ - href, - children, -}: { - href: string; - children: React.ReactNode; -}) { - return ( -
  • - - {children} - -
  • - ); -} - -function NavLink({ - href, - children, - tag, - active = false, - disabled = false, - isAnchorLink = false, -}: { - href: string; - children: React.ReactNode; - tag?: string; - active?: boolean; - disabled?: boolean; - isAnchorLink?: boolean; -}) { - return ( - - {children} - {tag && ( - - {tag} - - )} - - ); -} - -function VisibleSectionHighlight({ - group, - pathname, -}: { - group: NavGroup; - pathname: string; -}) { - const [sections, visibleSections] = useInitialValue( - [ - useSectionStore((s) => s.sections), - useSectionStore((s) => s.visibleSections), - ], - useIsInsideMobileNavigation(), - ); - - const isPresent = useIsPresent(); - const firstVisibleSectionIndex = Math.max( - 0, - [{ id: "_top" }, ...sections].findIndex( - (section) => section.id === visibleSections[0], - ), - ); - const itemHeight = remToPx(2); - const height = isPresent - ? Math.max(1, visibleSections.length) * itemHeight - : itemHeight; - const top = - group.links.findIndex((link) => link.href === pathname) * itemHeight + - firstVisibleSectionIndex * itemHeight; - - return ( - - ); -} - -function ActivePageMarker({ - group, - pathname, -}: { - group: NavGroup; - pathname: string; -}) { - const itemHeight = remToPx(2); - const offset = remToPx(0.25); - const activePageIndex = group.links.findIndex( - (link) => link.href === pathname, - ); - const top = offset + activePageIndex * itemHeight; - - return ( - - ); -} - -function NavigationGroup({ - group, - className, -}: { - group: NavGroup; - className?: string; -}) { - // If this is the mobile navigation then we always render the initial - // state, so that the state does not change during the close animation. - // The state will still update when we re-open (re-render) the navigation. - const isInsideMobileNavigation = useIsInsideMobileNavigation(); - const [pathname, sections] = useInitialValue( - [usePathname(), useSectionStore((s) => s.sections)], - isInsideMobileNavigation, - ); - - const isActiveGroup = - group.links.findIndex((link) => link.href === pathname) !== -1; - - return ( -
  • - - {group.title} - -
    - - {isActiveGroup && ( - - )} - - - - {isActiveGroup && ( - - )} - -
      - {group.links.map((link) => ( - - - {link.title} - - - {link.href === pathname && sections.length > 0 && ( - - {sections.map((section) => ( -
    • - - {section.title} - -
    • - ))} -
      - )} -
      -
      - ))} -
    -
    -
  • - ); -} - -export const navigation: Array = [ - { - title: "Guides", - links: [ - { title: "Introduction", href: "/" }, - { title: "FAQ", href: "/faq" }, - { title: "Getting started", href: "/getting-started" }, - { title: "Self-hosting", href: "/self-hosting" }, - { title: "Roadmap", href: "/roadmap" }, - ], - }, - { - title: "Concepts", - links: [ - { title: "Tenant / Organisation", href: "/concepts/tenant-org" }, - { title: "User", href: "/concepts/user" }, - { title: "Device", href: "/concepts/device" }, - { title: "Policy", href: "/concepts/policy" }, - { title: "Applications", href: "/concepts/applications" }, - { title: "Group", href: "/concepts/group" }, - ], - }, - { - title: "Components", - links: [ - { title: "mttx", href: "/components/mttx" }, - { title: "mattrax", href: "/components/mattrax" }, - { title: "mattraxd", href: "/components/mattraxd" }, - ], - }, - { - title: "Policies", - links: [ - { title: "Overview", href: "/policies" }, - { title: "WiFi", href: "/policies/wifi" }, - ], - }, - // TODO: "Using Mattrax" - // TODO: - explain concepts, supported device OS versions - // TODO: "Policies" - // TODO: - Break out built in policies and common 3rd party ones like Slack, Microsoft Office, etc - // TODO: - What OS's do they support, platform differences, user vs device scoping and how they apply. - { - title: "REST API", - links: [ - // { title: 'Getting started', href: '/api' }, // TODO: - // TODO: Urls for these (I left `/devices` as a reference) - { title: "Tenant", href: "#", disabled: true }, - { title: "Users", href: "#", disabled: true }, - { title: "Devices", href: "#", disabled: true }, - { title: "Policies", href: "#", disabled: true }, - { title: "Applications", href: "#", disabled: true }, - ], - }, -]; - -export function Navigation(props: React.ComponentPropsWithoutRef<"nav">) { - return ( - - ); -} diff --git a/apps/docs/src/components/Prose.tsx b/apps/docs/src/components/Prose.tsx deleted file mode 100644 index 0ac2980c..00000000 --- a/apps/docs/src/components/Prose.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import clsx from "clsx"; - -export function Prose({ - as, - className, - ...props -}: Omit, "as" | "className"> & { - as?: T; - className?: string; -}) { - const Component = as ?? "div"; - - return ( - *)` is used to select all direct children without an increase in specificity like you'd get from just `& > *` - "[html_:where(&>*)]:mx-auto [html_:where(&>*)]:max-w-2xl [html_:where(&>*)]:lg:mx-[calc(50%-min(50%,theme(maxWidth.lg)))] [html_:where(&>*)]:lg:max-w-3xl", - )} - {...props} - /> - ); -} diff --git a/apps/docs/src/components/Resources.tsx b/apps/docs/src/components/Resources.tsx deleted file mode 100644 index 9900dcb0..00000000 --- a/apps/docs/src/components/Resources.tsx +++ /dev/null @@ -1,186 +0,0 @@ -"use client"; - -import Link from "next/link"; -import { - type MotionValue, - motion, - useMotionTemplate, - useMotionValue, -} from "framer-motion"; - -import { GridPattern } from "@/components/GridPattern"; -import { Heading } from "@/components/Heading"; -import { ChatBubbleIcon } from "@/components/icons/ChatBubbleIcon"; -import { EnvelopeIcon } from "@/components/icons/EnvelopeIcon"; -import { UserIcon } from "@/components/icons/UserIcon"; -import { UsersIcon } from "@/components/icons/UsersIcon"; - -interface Resource { - href: string; - name: string; - description: string; - icon: React.ComponentType<{ className?: string }>; - pattern: Omit< - React.ComponentPropsWithoutRef, - "width" | "height" | "x" - >; -} - -const resources: Array = [ - { - href: "/contacts", - name: "Contacts", - description: - "Learn about the contact model and how to create, retrieve, update, delete, and list contacts.", - icon: UserIcon, - pattern: { - y: 16, - squares: [ - [0, 1], - [1, 3], - ], - }, - }, - { - href: "/conversations", - name: "Conversations", - description: - "Learn about the conversation model and how to create, retrieve, update, delete, and list conversations.", - icon: ChatBubbleIcon, - pattern: { - y: -6, - squares: [ - [-1, 2], - [1, 3], - ], - }, - }, - { - href: "/messages", - name: "Messages", - description: - "Learn about the message model and how to create, retrieve, update, delete, and list messages.", - icon: EnvelopeIcon, - pattern: { - y: 32, - squares: [ - [0, 2], - [1, 4], - ], - }, - }, - { - href: "/groups", - name: "Groups", - description: - "Learn about the group model and how to create, retrieve, update, delete, and list groups.", - icon: UsersIcon, - pattern: { - y: 22, - squares: [[0, 1]], - }, - }, -]; - -function ResourceIcon({ icon: Icon }: { icon: Resource["icon"] }) { - return ( -
    - -
    - ); -} - -function ResourcePattern({ - mouseX, - mouseY, - ...gridProps -}: Resource["pattern"] & { - mouseX: MotionValue; - mouseY: MotionValue; -}) { - const maskImage = useMotionTemplate`radial-gradient(180px at ${mouseX}px ${mouseY}px, white, transparent)`; - const style = { maskImage, WebkitMaskImage: maskImage }; - - return ( -
    -
    - -
    - - - - -
    - ); -} - -function Resource({ resource }: { resource: Resource }) { - const mouseX = useMotionValue(0); - const mouseY = useMotionValue(0); - - function onMouseMove({ - currentTarget, - clientX, - clientY, - }: React.MouseEvent) { - const { left, top } = currentTarget.getBoundingClientRect(); - mouseX.set(clientX - left); - mouseY.set(clientY - top); - } - - return ( -
    - -
    -
    - -

    - - - {resource.name} - -

    -

    - {resource.description} -

    -
    -
    - ); -} - -export function Resources() { - return ( -
    - - Resources - -
    - {resources.map((resource) => ( - - ))} -
    -
    - ); -} diff --git a/apps/docs/src/components/Search.tsx b/apps/docs/src/components/Search.tsx deleted file mode 100644 index 5747b71d..00000000 --- a/apps/docs/src/components/Search.tsx +++ /dev/null @@ -1,505 +0,0 @@ -"use client"; - -import { - forwardRef, - Fragment, - Suspense, - useCallback, - useEffect, - useId, - useRef, - useState, -} from "react"; -import Highlighter from "react-highlight-words"; -import { usePathname, useRouter, useSearchParams } from "next/navigation"; -import { - type AutocompleteApi, - createAutocomplete, - type AutocompleteState, - type AutocompleteCollection, -} from "@algolia/autocomplete-core"; -import { Dialog, Transition } from "@headlessui/react"; -import clsx from "clsx"; - -import { navigation } from "@/components/Navigation"; -import type { Result } from "@/mdx/search.mjs"; - -type EmptyObject = Record; - -type Autocomplete = AutocompleteApi< - Result, - React.SyntheticEvent, - React.MouseEvent, - React.KeyboardEvent ->; - -function useAutocomplete({ close }: { close: () => void }) { - const id = useId(); - const router = useRouter(); - const [autocompleteState, setAutocompleteState] = useState< - AutocompleteState | EmptyObject - >({}); - - function navigate({ itemUrl }: { itemUrl?: string }) { - if (!itemUrl) { - return; - } - - router.push(itemUrl); - - if ( - itemUrl === - window.location.pathname + window.location.search + window.location.hash - ) { - close(); - } - } - - const [autocomplete] = useState(() => - createAutocomplete< - Result, - React.SyntheticEvent, - React.MouseEvent, - React.KeyboardEvent - >({ - id, - placeholder: "Find something...", - defaultActiveItemId: 0, - onStateChange({ state }) { - setAutocompleteState(state); - }, - shouldPanelOpen({ state }) { - return state.query !== ""; - }, - navigator: { - navigate, - }, - getSources({ query }) { - return import("@/mdx/search.mjs").then(({ search }) => { - return [ - { - sourceId: "documentation", - getItems() { - return search(query, { limit: 5 }); - }, - getItemUrl({ item }) { - return item.url; - }, - onSelect: navigate, - }, - ]; - }); - }, - }), - ); - - return { autocomplete, autocompleteState }; -} - -function SearchIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} - -function NoResultsIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} - -function LoadingIcon(props: React.ComponentPropsWithoutRef<"svg">) { - const id = useId(); - - return ( - - ); -} - -function HighlightQuery({ text, query }: { text: string; query: string }) { - return ( - - ); -} - -function SearchResult({ - result, - resultIndex, - autocomplete, - collection, - query, -}: { - result: Result; - resultIndex: number; - autocomplete: Autocomplete; - collection: AutocompleteCollection; - query: string; -}) { - const id = useId(); - - const sectionTitle = navigation.find((section) => - section.links.find((link) => link.href === result.url.split("#")[0]), - )?.title; - const hierarchy = [sectionTitle, result.pageTitle].filter( - (x): x is string => typeof x === "string", - ); - - return ( -
  • 0 && "border-t border-zinc-100 dark:border-zinc-800", - )} - aria-labelledby={`${id}-hierarchy ${id}-title`} - {...autocomplete.getItemProps({ - item: result, - source: collection.source, - })} - > - - {hierarchy.length > 0 && ( - - )} -
  • - ); -} - -function SearchResults({ - autocomplete, - query, - collection, -}: { - autocomplete: Autocomplete; - query: string; - collection: AutocompleteCollection; -}) { - if (collection.items.length === 0) { - return ( -
    - -

    - Nothing found for{" "} - - ‘{query}’ - - . Please try again. -

    -
    - ); - } - - return ( -
      - {collection.items.map((result, resultIndex) => ( - - ))} -
    - ); -} - -const SearchInput = forwardRef< - React.ElementRef<"input">, - { - autocomplete: Autocomplete; - autocompleteState: AutocompleteState | EmptyObject; - onClose: () => void; - } ->(function SearchInput({ autocomplete, autocompleteState, onClose }, inputRef) { - const inputProps = autocomplete.getInputProps({ inputElement: null }); - - return ( -
    - - { - if ( - event.key === "Escape" && - !autocompleteState.isOpen && - autocompleteState.query === "" - ) { - // In Safari, closing the dialog with the escape key can sometimes cause the scroll position to jump to the - // bottom of the page. This is a workaround for that until we can figure out a proper fix in Headless UI. - if (document.activeElement instanceof HTMLElement) { - document.activeElement.blur(); - } - - onClose(); - } else { - inputProps.onKeyDown(event); - } - }} - /> - {autocompleteState.status === "stalled" && ( -
    - -
    - )} -
    - ); -}); - -function SearchDialog({ - open, - setOpen, - className, -}: { - open: boolean; - setOpen: (open: boolean) => void; - className?: string; -}) { - const formRef = useRef>(null); - const panelRef = useRef>(null); - const inputRef = useRef>(null); - const { autocomplete, autocompleteState } = useAutocomplete({ - close() { - setOpen(false); - }, - }); - const pathname = usePathname(); - const searchParams = useSearchParams(); - - useEffect(() => { - setOpen(false); - }, [pathname, searchParams, setOpen]); - - useEffect(() => { - if (open) { - return; - } - - function onKeyDown(event: KeyboardEvent) { - if (event.key === "k" && (event.metaKey || event.ctrlKey)) { - event.preventDefault(); - setOpen(true); - } - } - - window.addEventListener("keydown", onKeyDown); - - return () => { - window.removeEventListener("keydown", onKeyDown); - }; - }, [open, setOpen]); - - return ( - autocomplete.setQuery("")} - > - - -
    - - -
    - - -
    -
    - setOpen(false)} - /> -
    - {autocompleteState.isOpen && ( - - )} -
    - -
    -
    -
    -
    -
    -
    - ); -} - -function useSearchProps() { - const buttonRef = useRef>(null); - const [open, setOpen] = useState(false); - - return { - buttonProps: { - ref: buttonRef, - onClick() { - setOpen(true); - }, - }, - dialogProps: { - open, - setOpen: useCallback( - (open: boolean) => { - const { width = 0, height = 0 } = - buttonRef.current?.getBoundingClientRect() ?? {}; - if (!open || (width !== 0 && height !== 0)) { - setOpen(open); - } - }, - [setOpen], - ), - }, - }; -} - -export function Search() { - const [modifierKey, setModifierKey] = useState(); - const { buttonProps, dialogProps } = useSearchProps(); - - useEffect(() => { - setModifierKey( - /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform) ? "⌘" : "Ctrl ", - ); - }, []); - - return ( -
    - - - - -
    - ); -} - -export function MobileSearch() { - const { buttonProps, dialogProps } = useSearchProps(); - - return ( -
    - - - - -
    - ); -} diff --git a/apps/docs/src/components/SectionProvider.tsx b/apps/docs/src/components/SectionProvider.tsx deleted file mode 100644 index 9c78f5fe..00000000 --- a/apps/docs/src/components/SectionProvider.tsx +++ /dev/null @@ -1,156 +0,0 @@ -"use client"; - -import { - createContext, - useContext, - useEffect, - useLayoutEffect, - useState, -} from "react"; -import { type StoreApi, createStore, useStore } from "zustand"; - -import { remToPx } from "@/lib/remToPx"; - -export interface Section { - id: string; - title: string; - offsetRem?: number; - tag?: string; - headingRef?: React.RefObject; -} - -interface SectionState { - sections: Array
    ; - visibleSections: Array; - setVisibleSections: (visibleSections: Array) => void; - registerHeading: ({ - id, - ref, - offsetRem, - }: { - id: string; - ref: React.RefObject; - offsetRem: number; - }) => void; -} - -function createSectionStore(sections: Array
    ) { - return createStore()((set) => ({ - sections, - visibleSections: [], - setVisibleSections: (visibleSections) => - set((state) => - state.visibleSections.join() === visibleSections.join() - ? {} - : { visibleSections }, - ), - registerHeading: ({ id, ref, offsetRem }) => - set((state) => { - return { - sections: state.sections.map((section) => { - if (section.id === id) { - return { - ...section, - headingRef: ref, - offsetRem, - }; - } - return section; - }), - }; - }), - })); -} - -function useVisibleSections(sectionStore: StoreApi) { - const setVisibleSections = useStore( - sectionStore, - (s) => s.setVisibleSections, - ); - const sections = useStore(sectionStore, (s) => s.sections); - - useEffect(() => { - function checkVisibleSections() { - const { innerHeight, scrollY } = window; - const newVisibleSections = []; - - for ( - let sectionIndex = 0; - sectionIndex < sections.length; - sectionIndex++ - ) { - const { id, headingRef, offsetRem = 0 } = sections[sectionIndex]; - - if (!headingRef?.current) { - continue; - } - - const offset = remToPx(offsetRem); - const top = headingRef.current.getBoundingClientRect().top + scrollY; - - if (sectionIndex === 0 && top - offset > scrollY) { - newVisibleSections.push("_top"); - } - - const nextSection = sections[sectionIndex + 1]; - const bottom = - (nextSection?.headingRef?.current?.getBoundingClientRect().top ?? - Number.POSITIVE_INFINITY) + - scrollY - - remToPx(nextSection?.offsetRem ?? 0); - - if ( - (top > scrollY && top < scrollY + innerHeight) || - (bottom > scrollY && bottom < scrollY + innerHeight) || - (top <= scrollY && bottom >= scrollY + innerHeight) - ) { - newVisibleSections.push(id); - } - } - - setVisibleSections(newVisibleSections); - } - - const raf = window.requestAnimationFrame(() => checkVisibleSections()); - window.addEventListener("scroll", checkVisibleSections, { passive: true }); - window.addEventListener("resize", checkVisibleSections); - - return () => { - window.cancelAnimationFrame(raf); - window.removeEventListener("scroll", checkVisibleSections); - window.removeEventListener("resize", checkVisibleSections); - }; - }, [setVisibleSections, sections]); -} - -const SectionStoreContext = createContext | null>(null); - -const useIsomorphicLayoutEffect = - typeof window === "undefined" ? useEffect : useLayoutEffect; - -export function SectionProvider({ - sections, - children, -}: { - sections: Array
    ; - children: React.ReactNode; -}) { - const [sectionStore] = useState(() => createSectionStore(sections)); - - useVisibleSections(sectionStore); - - useIsomorphicLayoutEffect(() => { - sectionStore.setState({ sections }); - }, [sectionStore, sections]); - - return ( - - {children} - - ); -} - -export function useSectionStore(selector: (state: SectionState) => T) { - const store = useContext(SectionStoreContext); - return useStore(store!, selector); -} diff --git a/apps/docs/src/components/Tag.tsx b/apps/docs/src/components/Tag.tsx deleted file mode 100644 index 57060982..00000000 --- a/apps/docs/src/components/Tag.tsx +++ /dev/null @@ -1,63 +0,0 @@ -import clsx from "clsx"; - -const variantStyles = { - small: "", - medium: "rounded-lg px-1.5 ring-1 ring-inset", -}; - -const colorStyles = { - emerald: { - small: "text-emerald-500 dark:text-emerald-400", - medium: - "ring-emerald-300 dark:ring-emerald-400/30 bg-emerald-400/10 text-emerald-500 dark:text-emerald-400", - }, - sky: { - small: "text-sky-500", - medium: - "ring-sky-300 bg-sky-400/10 text-sky-500 dark:ring-sky-400/30 dark:bg-sky-400/10 dark:text-sky-400", - }, - amber: { - small: "text-amber-500", - medium: - "ring-amber-300 bg-amber-400/10 text-amber-500 dark:ring-amber-400/30 dark:bg-amber-400/10 dark:text-amber-400", - }, - rose: { - small: "text-red-500 dark:text-rose-500", - medium: - "ring-rose-200 bg-rose-50 text-red-500 dark:ring-rose-500/20 dark:bg-rose-400/10 dark:text-rose-400", - }, - zinc: { - small: "text-zinc-400 dark:text-zinc-500", - medium: - "ring-zinc-200 bg-zinc-50 text-zinc-500 dark:ring-zinc-500/20 dark:bg-zinc-400/10 dark:text-zinc-400", - }, -}; - -const valueColorMap = { - GET: "emerald", - POST: "sky", - PUT: "amber", - DELETE: "rose", -} as Record; - -export function Tag({ - children, - variant = "medium", - color = valueColorMap[children] ?? "emerald", -}: { - children: keyof typeof valueColorMap & (string | {}); - variant?: keyof typeof variantStyles; - color?: keyof typeof colorStyles; -}) { - return ( - - {children} - - ); -} diff --git a/apps/docs/src/components/ThemeToggle.tsx b/apps/docs/src/components/ThemeToggle.tsx deleted file mode 100644 index 0e6c7dbd..00000000 --- a/apps/docs/src/components/ThemeToggle.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { useEffect, useState } from "react"; -import { useTheme } from "next-themes"; - -function SunIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} - -function MoonIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} - -export function ThemeToggle() { - const { resolvedTheme, setTheme } = useTheme(); - const otherTheme = resolvedTheme === "dark" ? "light" : "dark"; - const [mounted, setMounted] = useState(false); - - useEffect(() => { - setMounted(true); - }, []); - - return ( - - ); -} diff --git a/apps/docs/src/components/icons/BellIcon.tsx b/apps/docs/src/components/icons/BellIcon.tsx deleted file mode 100644 index 3a71decd..00000000 --- a/apps/docs/src/components/icons/BellIcon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -export function BellIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/BoltIcon.tsx b/apps/docs/src/components/icons/BoltIcon.tsx deleted file mode 100644 index eacffd8c..00000000 --- a/apps/docs/src/components/icons/BoltIcon.tsx +++ /dev/null @@ -1,11 +0,0 @@ -export function BoltIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/BookIcon.tsx b/apps/docs/src/components/icons/BookIcon.tsx deleted file mode 100644 index ae9b6a93..00000000 --- a/apps/docs/src/components/icons/BookIcon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -export function BookIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/CalendarIcon.tsx b/apps/docs/src/components/icons/CalendarIcon.tsx deleted file mode 100644 index b7b119a2..00000000 --- a/apps/docs/src/components/icons/CalendarIcon.tsx +++ /dev/null @@ -1,23 +0,0 @@ -export function CalendarIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/CartIcon.tsx b/apps/docs/src/components/icons/CartIcon.tsx deleted file mode 100644 index 9a117d4d..00000000 --- a/apps/docs/src/components/icons/CartIcon.tsx +++ /dev/null @@ -1,15 +0,0 @@ -export function CartIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/ChatBubbleIcon.tsx b/apps/docs/src/components/icons/ChatBubbleIcon.tsx deleted file mode 100644 index e2e10e59..00000000 --- a/apps/docs/src/components/icons/ChatBubbleIcon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -export function ChatBubbleIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/CheckIcon.tsx b/apps/docs/src/components/icons/CheckIcon.tsx deleted file mode 100644 index 3332d463..00000000 --- a/apps/docs/src/components/icons/CheckIcon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -export function CheckIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/ChevronRightLeftIcon.tsx b/apps/docs/src/components/icons/ChevronRightLeftIcon.tsx deleted file mode 100644 index d78ee743..00000000 --- a/apps/docs/src/components/icons/ChevronRightLeftIcon.tsx +++ /dev/null @@ -1,19 +0,0 @@ -export function ChevronRightLeftIcon( - props: React.ComponentPropsWithoutRef<"svg">, -) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/ClipboardIcon.tsx b/apps/docs/src/components/icons/ClipboardIcon.tsx deleted file mode 100644 index a8b77008..00000000 --- a/apps/docs/src/components/icons/ClipboardIcon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -export function ClipboardIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/CogIcon.tsx b/apps/docs/src/components/icons/CogIcon.tsx deleted file mode 100644 index 063316af..00000000 --- a/apps/docs/src/components/icons/CogIcon.tsx +++ /dev/null @@ -1,19 +0,0 @@ -export function CogIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/CopyIcon.tsx b/apps/docs/src/components/icons/CopyIcon.tsx deleted file mode 100644 index a95d98c8..00000000 --- a/apps/docs/src/components/icons/CopyIcon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -export function CopyIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/DocumentIcon.tsx b/apps/docs/src/components/icons/DocumentIcon.tsx deleted file mode 100644 index a73ab5e1..00000000 --- a/apps/docs/src/components/icons/DocumentIcon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -export function DocumentIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/EnvelopeIcon.tsx b/apps/docs/src/components/icons/EnvelopeIcon.tsx deleted file mode 100644 index ab053864..00000000 --- a/apps/docs/src/components/icons/EnvelopeIcon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -export function EnvelopeIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/FaceSmileIcon.tsx b/apps/docs/src/components/icons/FaceSmileIcon.tsx deleted file mode 100644 index 8218cec5..00000000 --- a/apps/docs/src/components/icons/FaceSmileIcon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -export function FaceSmileIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/FolderIcon.tsx b/apps/docs/src/components/icons/FolderIcon.tsx deleted file mode 100644 index b8bc9003..00000000 --- a/apps/docs/src/components/icons/FolderIcon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -export function FolderIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/LinkIcon.tsx b/apps/docs/src/components/icons/LinkIcon.tsx deleted file mode 100644 index 6013f520..00000000 --- a/apps/docs/src/components/icons/LinkIcon.tsx +++ /dev/null @@ -1,12 +0,0 @@ -export function LinkIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/ListIcon.tsx b/apps/docs/src/components/icons/ListIcon.tsx deleted file mode 100644 index fe0a9005..00000000 --- a/apps/docs/src/components/icons/ListIcon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -export function ListIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/MagnifyingGlassIcon.tsx b/apps/docs/src/components/icons/MagnifyingGlassIcon.tsx deleted file mode 100644 index 9117bdb9..00000000 --- a/apps/docs/src/components/icons/MagnifyingGlassIcon.tsx +++ /dev/null @@ -1,15 +0,0 @@ -export function MagnifyingGlassIcon( - props: React.ComponentPropsWithoutRef<"svg">, -) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/MapPinIcon.tsx b/apps/docs/src/components/icons/MapPinIcon.tsx deleted file mode 100644 index 71d2255f..00000000 --- a/apps/docs/src/components/icons/MapPinIcon.tsx +++ /dev/null @@ -1,19 +0,0 @@ -export function MapPinIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/PackageIcon.tsx b/apps/docs/src/components/icons/PackageIcon.tsx deleted file mode 100644 index a8b27ddd..00000000 --- a/apps/docs/src/components/icons/PackageIcon.tsx +++ /dev/null @@ -1,16 +0,0 @@ -export function PackageIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/PaperAirplaneIcon.tsx b/apps/docs/src/components/icons/PaperAirplaneIcon.tsx deleted file mode 100644 index b726555b..00000000 --- a/apps/docs/src/components/icons/PaperAirplaneIcon.tsx +++ /dev/null @@ -1,19 +0,0 @@ -export function PaperAirplaneIcon( - props: React.ComponentPropsWithoutRef<"svg">, -) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/PaperClipIcon.tsx b/apps/docs/src/components/icons/PaperClipIcon.tsx deleted file mode 100644 index 90b3ef7a..00000000 --- a/apps/docs/src/components/icons/PaperClipIcon.tsx +++ /dev/null @@ -1,12 +0,0 @@ -export function PaperClipIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/ShapesIcon.tsx b/apps/docs/src/components/icons/ShapesIcon.tsx deleted file mode 100644 index 8e652bba..00000000 --- a/apps/docs/src/components/icons/ShapesIcon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -export function ShapesIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/ShirtIcon.tsx b/apps/docs/src/components/icons/ShirtIcon.tsx deleted file mode 100644 index 79ea89cc..00000000 --- a/apps/docs/src/components/icons/ShirtIcon.tsx +++ /dev/null @@ -1,11 +0,0 @@ -export function ShirtIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/SquaresPlusIcon.tsx b/apps/docs/src/components/icons/SquaresPlusIcon.tsx deleted file mode 100644 index 692bc768..00000000 --- a/apps/docs/src/components/icons/SquaresPlusIcon.tsx +++ /dev/null @@ -1,17 +0,0 @@ -export function SquaresPlusIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/TagIcon.tsx b/apps/docs/src/components/icons/TagIcon.tsx deleted file mode 100644 index 546eeb78..00000000 --- a/apps/docs/src/components/icons/TagIcon.tsx +++ /dev/null @@ -1,19 +0,0 @@ -export function TagIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/UserIcon.tsx b/apps/docs/src/components/icons/UserIcon.tsx deleted file mode 100644 index 7fd86b9e..00000000 --- a/apps/docs/src/components/icons/UserIcon.tsx +++ /dev/null @@ -1,24 +0,0 @@ -export function UserIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/icons/UsersIcon.tsx b/apps/docs/src/components/icons/UsersIcon.tsx deleted file mode 100644 index 9ede3f92..00000000 --- a/apps/docs/src/components/icons/UsersIcon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -export function UsersIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} diff --git a/apps/docs/src/components/mdx.tsx b/apps/docs/src/components/mdx.tsx deleted file mode 100644 index 08e9d7fd..00000000 --- a/apps/docs/src/components/mdx.tsx +++ /dev/null @@ -1,137 +0,0 @@ -import Link from "next/link"; -import clsx from "clsx"; - -import { Feedback } from "@/components/Feedback"; -import { Heading } from "@/components/Heading"; -import { Prose } from "@/components/Prose"; - -export const a = Link; -export { Button } from "@/components/Button"; -export { CodeGroup, Code as code, Pre as pre } from "@/components/Code"; - -export function wrapper({ children }: { children: React.ReactNode }) { - return ( -
    - {children} -
    - -
    -
    - ); -} - -export const h2 = function H2( - props: Omit, "level">, -) { - return ; -}; - -function InfoIcon(props: React.ComponentPropsWithoutRef<"svg">) { - return ( - - ); -} - -export function Note({ children }: { children: React.ReactNode }) { - return ( -
    - -
    - {children} -
    -
    - ); -} - -export function WarningNote({ children }: { children: React.ReactNode }) { - return ( -
    - -
    - {children} -
    -
    - ); -} - -export function Row({ children }: { children: React.ReactNode }) { - return ( -
    - {children} -
    - ); -} - -export function Col({ - children, - sticky = false, -}: { - children: React.ReactNode; - sticky?: boolean; -}) { - return ( -
    :first-child]:mt-0 [&>:last-child]:mb-0", - sticky && "xl:sticky xl:top-24", - )} - > - {children} -
    - ); -} - -export function Properties({ children }: { children: React.ReactNode }) { - return ( -
    -
      - {children} -
    -
    - ); -} - -export function Property({ - name, - children, - type, -}: { - name: string; - children: React.ReactNode; - type?: string; -}) { - return ( -
  • -
    -
    Name
    -
    - {name} -
    - {type && ( - <> -
    Type
    -
    - {type} -
    - - )} -
    Description
    -
    - {children} -
    -
    -
  • - ); -} diff --git a/apps/docs/src/lib/remToPx.ts b/apps/docs/src/lib/remToPx.ts deleted file mode 100644 index 4bcb272f..00000000 --- a/apps/docs/src/lib/remToPx.ts +++ /dev/null @@ -1,10 +0,0 @@ -export function remToPx(remValue: number) { - const rootFontSize = - typeof window === "undefined" - ? 16 - : Number.parseFloat( - window.getComputedStyle(document.documentElement).fontSize, - ); - - return remValue * rootFontSize; -} diff --git a/apps/docs/src/mdx/recma.mjs b/apps/docs/src/mdx/recma.mjs deleted file mode 100644 index 237ac117..00000000 --- a/apps/docs/src/mdx/recma.mjs +++ /dev/null @@ -1,3 +0,0 @@ -import { mdxAnnotations } from "mdx-annotations"; - -export const recmaPlugins = [mdxAnnotations.recma]; diff --git a/apps/docs/src/mdx/rehype.mjs b/apps/docs/src/mdx/rehype.mjs deleted file mode 100644 index 41de840e..00000000 --- a/apps/docs/src/mdx/rehype.mjs +++ /dev/null @@ -1,124 +0,0 @@ -import { slugifyWithCounter } from "@sindresorhus/slugify"; -import * as acorn from "acorn"; -import { toString } from "mdast-util-to-string"; -import { mdxAnnotations } from "mdx-annotations"; -import * as shiki from "shiki"; -import { visit } from "unist-util-visit"; - -function rehypeParseCodeBlocks() { - return (tree) => { - visit(tree, "element", (node, _nodeIndex, parentNode) => { - if (node.tagName === "code" && node.properties.className) { - parentNode.properties.language = node.properties.className[0]?.replace( - /^language-/, - "", - ); - } - }); - }; -} - -let highlighter; - -function rehypeShiki() { - return async (tree) => { - highlighter = - highlighter ?? (await shiki.getHighlighter({ theme: "css-variables" })); - - visit(tree, "element", async (node) => { - if (node.tagName === "pre" && node.children[0]?.tagName === "code") { - const codeNode = node.children[0]; - const textNode = codeNode.children[0]; - - node.properties.code = textNode.value; - - if (node.properties.language) { - - textNode.value = await shiki.codeToHtml(textNode.value, { - lang: node.properties.language, - theme: 'vitesse-light', - // transformers: [ - // { - // pre: ({ children }) => children, - // code: ({ children }) => children, - // line: ({ children }) => `${children}`, - // } - // ] - }); - } - } - }); - }; -} - -function rehypeSlugify() { - return (tree) => { - const slugify = slugifyWithCounter(); - visit(tree, "element", (node) => { - if (node.tagName === "h2" && !node.properties.id) { - node.properties.id = slugify(toString(node)); - } - }); - }; -} - -function rehypeAddMDXExports(getExports) { - return (tree) => { - const exports = Object.entries(getExports(tree)); - - for (const [name, value] of exports) { - for (const node of tree.children) { - if ( - node.type === "mdxjsEsm" && - new RegExp(`export\\s+const\\s+${name}\\s*=`).test(node.value) - ) { - return; - } - } - - const exportStr = `export const ${name} = ${value}`; - - tree.children.push({ - type: "mdxjsEsm", - value: exportStr, - data: { - estree: acorn.parse(exportStr, { - sourceType: "module", - ecmaVersion: "latest", - }), - }, - }); - } - }; -} - -function getSections(node) { - const sections = []; - - for (const child of node.children ?? []) { - if (child.type === "element" && child.tagName === "h2") { - sections.push(`{ - title: ${JSON.stringify(toString(child))}, - id: ${JSON.stringify(child.properties.id)}, - ...${child.properties.annotation} - }`); - } else if (child.children) { - sections.push(...getSections(child)); - } - } - - return sections; -} - -export const rehypePlugins = [ - mdxAnnotations.rehype, - rehypeParseCodeBlocks, - rehypeShiki, - rehypeSlugify, - [ - rehypeAddMDXExports, - (tree) => ({ - sections: `[${getSections(tree).join()}]`, - }), - ], -]; diff --git a/apps/docs/src/mdx/remark.mjs b/apps/docs/src/mdx/remark.mjs deleted file mode 100644 index ea1a1e75..00000000 --- a/apps/docs/src/mdx/remark.mjs +++ /dev/null @@ -1,4 +0,0 @@ -import { mdxAnnotations } from "mdx-annotations"; -import remarkGfm from "remark-gfm"; - -export const remarkPlugins = [mdxAnnotations.remark, remarkGfm]; diff --git a/apps/docs/src/mdx/search.mjs b/apps/docs/src/mdx/search.mjs deleted file mode 100644 index 96797b8d..00000000 --- a/apps/docs/src/mdx/search.mjs +++ /dev/null @@ -1,135 +0,0 @@ -import { slugifyWithCounter } from "@sindresorhus/slugify"; -import glob from "fast-glob"; -import * as fs from "node:fs"; -import { toString } from "mdast-util-to-string"; -import * as path from "node:path"; -import { remark } from "remark"; -import remarkMdx from "remark-mdx"; -import { createLoader } from "simple-functional-loader"; -import { filter } from "unist-util-filter"; -import { SKIP, visit } from "unist-util-visit"; -import * as url from "node:url"; - -const __filename = url.fileURLToPath(import.meta.url); -const processor = remark().use(remarkMdx).use(extractSections); -const slugify = slugifyWithCounter(); - -function isObjectExpression(node) { - return ( - node.type === "mdxTextExpression" && - node.data?.estree?.body?.[0]?.expression?.type === "ObjectExpression" - ); -} - -function excludeObjectExpressions(tree) { - return filter(tree, (node) => !isObjectExpression(node)); -} - -function extractSections() { - return (tree, { sections }) => { - slugify.reset(); - - visit(tree, (node) => { - if (node.type === "heading" || node.type === "paragraph") { - const content = toString(excludeObjectExpressions(node)); - if (node.type === "heading" && node.depth <= 2) { - const hash = node.depth === 1 ? null : slugify(content); - sections.push([content, hash, []]); - } else { - sections.at(-1)?.[2].push(content); - } - return SKIP; - } - }); - }; -} - -export default function Search(nextConfig = {}) { - const cache = new Map(); - - return Object.assign({}, nextConfig, { - webpack(config, options) { - config.module.rules.push({ - test: __filename, - use: [ - createLoader(function () { - const appDir = path.resolve("./src/app"); - this.addContextDependency(appDir); - - const files = glob.sync("**/*.mdx", { cwd: appDir }); - const data = files.map((file) => { - const url = `/${file.replace(/(^|\/)page\.mdx$/, "")}`; - const mdx = fs.readFileSync(path.join(appDir, file), "utf8"); - - let sections = []; - - if (cache.get(file)?.[0] === mdx) { - sections = cache.get(file)[1]; - } else { - const vfile = { value: mdx, sections }; - processor.runSync(processor.parse(vfile), vfile); - cache.set(file, [mdx, sections]); - } - - return { url, sections }; - }); - - // When this file is imported within the application - // the following module is loaded: - return ` - import FlexSearch from 'flexsearch' - - let sectionIndex = new FlexSearch.Document({ - tokenize: 'full', - document: { - id: 'url', - index: 'content', - store: ['title', 'pageTitle'], - }, - context: { - resolution: 9, - depth: 2, - bidirectional: true - } - }) - - let data = ${JSON.stringify(data)} - - for (let { url, sections } of data) { - for (let [title, hash, content] of sections) { - sectionIndex.add({ - url: url + (hash ? ('#' + hash) : ''), - title, - content: [title, ...content].join('\\n'), - pageTitle: hash ? sections[0][0] : undefined, - }) - } - } - - export function search(query, options = {}) { - let result = sectionIndex.search(query, { - ...options, - enrich: true, - }) - if (result.length === 0) { - return [] - } - return result[0].result.map((item) => ({ - url: item.id, - title: item.doc.title, - pageTitle: item.doc.pageTitle, - })) - } - `; - }), - ], - }); - - if (typeof nextConfig.webpack === "function") { - return nextConfig.webpack(config, options); - } - - return config; - }, - }); -} diff --git a/apps/docs/src/styles/tailwind.css b/apps/docs/src/styles/tailwind.css deleted file mode 100644 index 6673210f..00000000 --- a/apps/docs/src/styles/tailwind.css +++ /dev/null @@ -1,21 +0,0 @@ -@layer base { - :root { - --shiki-color-text: theme('colors.white'); - --shiki-token-constant: theme('colors.emerald.300'); - --shiki-token-string: theme('colors.emerald.300'); - --shiki-token-comment: theme('colors.zinc.500'); - --shiki-token-keyword: theme('colors.sky.300'); - --shiki-token-parameter: theme('colors.pink.300'); - --shiki-token-function: theme('colors.violet.300'); - --shiki-token-string-expression: theme('colors.emerald.300'); - --shiki-token-punctuation: theme('colors.zinc.200'); - } - - [inert] ::-webkit-scrollbar { - display: none; - } -} - -@tailwind base; -@tailwind components; -@tailwind utilities; diff --git a/apps/docs/tailwind.config.ts b/apps/docs/tailwind.config.ts deleted file mode 100644 index d62b0ee3..00000000 --- a/apps/docs/tailwind.config.ts +++ /dev/null @@ -1,46 +0,0 @@ -import type { Config } from "tailwindcss"; -import typographyStyles from "./typography"; -import typographyPlugin from "@tailwindcss/typography"; -import headlessuiPlugin from "@headlessui/tailwindcss"; - -export default { - content: ["./src/**/*.{js,mjs,jsx,ts,tsx,mdx}"], - darkMode: "selector", - theme: { - fontSize: { - "2xs": ["0.75rem", { lineHeight: "1.25rem" }], - xs: ["0.8125rem", { lineHeight: "1.5rem" }], - sm: ["0.875rem", { lineHeight: "1.5rem" }], - base: ["1rem", { lineHeight: "1.75rem" }], - lg: ["1.125rem", { lineHeight: "1.75rem" }], - xl: ["1.25rem", { lineHeight: "1.75rem" }], - "2xl": ["1.5rem", { lineHeight: "2rem" }], - "3xl": ["1.875rem", { lineHeight: "2.25rem" }], - "4xl": ["2.25rem", { lineHeight: "2.5rem" }], - "5xl": ["3rem", { lineHeight: "1" }], - "6xl": ["3.75rem", { lineHeight: "1" }], - "7xl": ["4.5rem", { lineHeight: "1" }], - "8xl": ["6rem", { lineHeight: "1" }], - "9xl": ["8rem", { lineHeight: "1" }], - }, - typography: typographyStyles, - extend: { - boxShadow: { - glow: "0 0 4px rgb(0 0 0 / 0.1)", - }, - maxWidth: { - lg: "33rem", - "2xl": "40rem", - "3xl": "50rem", - "5xl": "66rem", - }, - opacity: { - 1: "0.01", - 2.5: "0.025", - 7.5: "0.075", - 15: "0.15", - }, - }, - }, - plugins: [typographyPlugin, headlessuiPlugin], -} satisfies Config; diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json deleted file mode 100644 index 2da68d04..00000000 --- a/apps/docs/tsconfig.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "compilerOptions": { - "target": "es6", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "bundler", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "plugins": [ - { - "name": "next" - } - ], - "paths": { - "@/*": ["./src/*"] - } - }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules"] -} diff --git a/apps/docs/types.d.ts b/apps/docs/types.d.ts deleted file mode 100644 index 732f4f77..00000000 --- a/apps/docs/types.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { SearchOptions } from "flexsearch"; - -declare module "@/mdx/search.mjs" { - export type Result = { - url: string; - title: string; - pageTitle?: string; - }; - - export function search(query: string, options?: SearchOptions): Array; -} diff --git a/apps/docs/typography.ts b/apps/docs/typography.ts deleted file mode 100644 index 27d9e25f..00000000 --- a/apps/docs/typography.ts +++ /dev/null @@ -1,349 +0,0 @@ -import type { PluginUtils } from "tailwindcss/types/config"; - -export default function typographyStyles({ theme }: PluginUtils) { - return { - DEFAULT: { - css: { - "--tw-prose-body": theme("colors.zinc.700"), - "--tw-prose-headings": theme("colors.zinc.900"), - "--tw-prose-links": theme("colors.emerald.500"), - "--tw-prose-links-hover": theme("colors.emerald.600"), - "--tw-prose-links-underline": theme("colors.emerald.500 / 0.3"), - "--tw-prose-bold": theme("colors.zinc.900"), - "--tw-prose-counters": theme("colors.zinc.500"), - "--tw-prose-bullets": theme("colors.zinc.300"), - "--tw-prose-hr": theme("colors.zinc.900 / 0.05"), - "--tw-prose-quotes": theme("colors.zinc.900"), - "--tw-prose-quote-borders": theme("colors.zinc.200"), - "--tw-prose-captions": theme("colors.zinc.500"), - "--tw-prose-code": theme("colors.zinc.900"), - "--tw-prose-code-bg": theme("colors.zinc.100"), - "--tw-prose-code-ring": theme("colors.zinc.300"), - "--tw-prose-th-borders": theme("colors.zinc.300"), - "--tw-prose-td-borders": theme("colors.zinc.200"), - - "--tw-prose-invert-body": theme("colors.zinc.400"), - "--tw-prose-invert-headings": theme("colors.white"), - "--tw-prose-invert-links": theme("colors.emerald.400"), - "--tw-prose-invert-links-hover": theme("colors.emerald.500"), - "--tw-prose-invert-links-underline": theme("colors.emerald.500 / 0.3"), - "--tw-prose-invert-bold": theme("colors.white"), - "--tw-prose-invert-counters": theme("colors.zinc.400"), - "--tw-prose-invert-bullets": theme("colors.zinc.600"), - "--tw-prose-invert-hr": theme("colors.white / 0.05"), - "--tw-prose-invert-quotes": theme("colors.zinc.100"), - "--tw-prose-invert-quote-borders": theme("colors.zinc.700"), - "--tw-prose-invert-captions": theme("colors.zinc.400"), - "--tw-prose-invert-code": theme("colors.white"), - "--tw-prose-invert-code-bg": theme("colors.zinc.700 / 0.15"), - "--tw-prose-invert-code-ring": theme("colors.white / 0.1"), - "--tw-prose-invert-th-borders": theme("colors.zinc.600"), - "--tw-prose-invert-td-borders": theme("colors.zinc.700"), - - // Base - color: "var(--tw-prose-body)", - fontSize: theme("fontSize.sm")[0], - lineHeight: theme("lineHeight.7"), - - // Text - p: { - marginTop: theme("spacing.6"), - marginBottom: theme("spacing.6"), - }, - '[class~="lead"]': { - fontSize: theme("fontSize.base")[0], - ...theme("fontSize.base")[1], - }, - - // Lists - ol: { - listStyleType: "decimal", - marginTop: theme("spacing.5"), - marginBottom: theme("spacing.5"), - paddingLeft: "1.625rem", - }, - 'ol[type="A"]': { - listStyleType: "upper-alpha", - }, - 'ol[type="a"]': { - listStyleType: "lower-alpha", - }, - 'ol[type="A" s]': { - listStyleType: "upper-alpha", - }, - 'ol[type="a" s]': { - listStyleType: "lower-alpha", - }, - 'ol[type="I"]': { - listStyleType: "upper-roman", - }, - 'ol[type="i"]': { - listStyleType: "lower-roman", - }, - 'ol[type="I" s]': { - listStyleType: "upper-roman", - }, - 'ol[type="i" s]': { - listStyleType: "lower-roman", - }, - 'ol[type="1"]': { - listStyleType: "decimal", - }, - ul: { - listStyleType: "disc", - marginTop: theme("spacing.5"), - marginBottom: theme("spacing.5"), - paddingLeft: "1.625rem", - }, - li: { - marginTop: theme("spacing.2"), - marginBottom: theme("spacing.2"), - }, - ":is(ol, ul) > li": { - paddingLeft: theme("spacing[1.5]"), - }, - "ol > li::marker": { - fontWeight: "400", - color: "var(--tw-prose-counters)", - }, - "ul > li::marker": { - color: "var(--tw-prose-bullets)", - }, - "> ul > li p": { - marginTop: theme("spacing.3"), - marginBottom: theme("spacing.3"), - }, - "> ul > li > *:first-child": { - marginTop: theme("spacing.5"), - }, - "> ul > li > *:last-child": { - marginBottom: theme("spacing.5"), - }, - "> ol > li > *:first-child": { - marginTop: theme("spacing.5"), - }, - "> ol > li > *:last-child": { - marginBottom: theme("spacing.5"), - }, - "ul ul, ul ol, ol ul, ol ol": { - marginTop: theme("spacing.3"), - marginBottom: theme("spacing.3"), - }, - - // Horizontal rules - hr: { - borderColor: "var(--tw-prose-hr)", - borderTopWidth: 1, - marginTop: theme("spacing.16"), - marginBottom: theme("spacing.16"), - maxWidth: "none", - marginLeft: `calc(-1 * ${theme("spacing.4")})`, - marginRight: `calc(-1 * ${theme("spacing.4")})`, - "@screen sm": { - marginLeft: `calc(-1 * ${theme("spacing.6")})`, - marginRight: `calc(-1 * ${theme("spacing.6")})`, - }, - "@screen lg": { - marginLeft: `calc(-1 * ${theme("spacing.8")})`, - marginRight: `calc(-1 * ${theme("spacing.8")})`, - }, - }, - - // Quotes - blockquote: { - fontWeight: "500", - fontStyle: "italic", - color: "var(--tw-prose-quotes)", - borderLeftWidth: "0.25rem", - borderLeftColor: "var(--tw-prose-quote-borders)", - quotes: '"\\201C""\\201D""\\2018""\\2019"', - marginTop: theme("spacing.8"), - marginBottom: theme("spacing.8"), - paddingLeft: theme("spacing.5"), - }, - "blockquote p:first-of-type::before": { - content: "open-quote", - }, - "blockquote p:last-of-type::after": { - content: "close-quote", - }, - - // Headings - h1: { - color: "var(--tw-prose-headings)", - fontWeight: "700", - fontSize: theme("fontSize.2xl")[0], - ...theme("fontSize.2xl")[1], - marginBottom: theme("spacing.2"), - }, - h2: { - color: "var(--tw-prose-headings)", - fontWeight: "600", - fontSize: theme("fontSize.lg")[0], - ...theme("fontSize.lg")[1], - marginTop: theme("spacing.16"), - marginBottom: theme("spacing.2"), - }, - h3: { - color: "var(--tw-prose-headings)", - fontSize: theme("fontSize.base")[0], - ...theme("fontSize.base")[1], - fontWeight: "600", - marginTop: theme("spacing.10"), - marginBottom: theme("spacing.2"), - }, - - // Media - "img, video, figure": { - marginTop: theme("spacing.8"), - marginBottom: theme("spacing.8"), - }, - "figure > *": { - marginTop: "0", - marginBottom: "0", - }, - figcaption: { - color: "var(--tw-prose-captions)", - fontSize: theme("fontSize.xs")[0], - ...theme("fontSize.xs")[1], - marginTop: theme("spacing.2"), - }, - - // Tables - table: { - width: "100%", - tableLayout: "auto", - textAlign: "left", - marginTop: theme("spacing.8"), - marginBottom: theme("spacing.8"), - lineHeight: theme("lineHeight.6"), - }, - thead: { - borderBottomWidth: "1px", - borderBottomColor: "var(--tw-prose-th-borders)", - }, - "thead th": { - color: "var(--tw-prose-headings)", - fontWeight: "600", - verticalAlign: "bottom", - paddingRight: theme("spacing.2"), - paddingBottom: theme("spacing.2"), - paddingLeft: theme("spacing.2"), - }, - "thead th:first-child": { - paddingLeft: "0", - }, - "thead th:last-child": { - paddingRight: "0", - }, - "tbody tr": { - borderBottomWidth: "1px", - borderBottomColor: "var(--tw-prose-td-borders)", - }, - "tbody tr:last-child": { - borderBottomWidth: "0", - }, - "tbody td": { - verticalAlign: "baseline", - }, - tfoot: { - borderTopWidth: "1px", - borderTopColor: "var(--tw-prose-th-borders)", - }, - "tfoot td": { - verticalAlign: "top", - }, - ":is(tbody, tfoot) td": { - paddingTop: theme("spacing.2"), - paddingRight: theme("spacing.2"), - paddingBottom: theme("spacing.2"), - paddingLeft: theme("spacing.2"), - }, - ":is(tbody, tfoot) td:first-child": { - paddingLeft: "0", - }, - ":is(tbody, tfoot) td:last-child": { - paddingRight: "0", - }, - - // Inline elements - a: { - color: "var(--tw-prose-links)", - textDecoration: "underline transparent", - fontWeight: "500", - transitionProperty: "color, text-decoration-color", - transitionDuration: theme("transitionDuration.DEFAULT"), - transitionTimingFunction: theme("transitionTimingFunction.DEFAULT"), - "&:hover": { - color: "var(--tw-prose-links-hover)", - textDecorationColor: "var(--tw-prose-links-underline)", - }, - }, - ":is(h1, h2, h3) a": { - fontWeight: "inherit", - }, - strong: { - color: "var(--tw-prose-bold)", - fontWeight: "600", - }, - ":is(a, blockquote, thead th) strong": { - color: "inherit", - }, - code: { - color: "var(--tw-prose-code)", - borderRadius: theme("borderRadius.lg"), - paddingTop: theme("padding.1"), - paddingRight: theme("padding[1.5]"), - paddingBottom: theme("padding.1"), - paddingLeft: theme("padding[1.5]"), - boxShadow: "inset 0 0 0 1px var(--tw-prose-code-ring)", - backgroundColor: "var(--tw-prose-code-bg)", - fontSize: theme("fontSize.2xs"), - }, - ":is(a, h1, h2, h3, blockquote, thead th) code": { - color: "inherit", - }, - "h2 code": { - fontSize: theme("fontSize.base")[0], - fontWeight: "inherit", - }, - "h3 code": { - fontSize: theme("fontSize.sm")[0], - fontWeight: "inherit", - }, - - // Overrides - ":is(h1, h2, h3) + *": { - marginTop: "0", - }, - "> :first-child": { - marginTop: "0 !important", - }, - "> :last-child": { - marginBottom: "0 !important", - }, - }, - }, - invert: { - css: { - "--tw-prose-body": "var(--tw-prose-invert-body)", - "--tw-prose-headings": "var(--tw-prose-invert-headings)", - "--tw-prose-links": "var(--tw-prose-invert-links)", - "--tw-prose-links-hover": "var(--tw-prose-invert-links-hover)", - "--tw-prose-links-underline": "var(--tw-prose-invert-links-underline)", - "--tw-prose-bold": "var(--tw-prose-invert-bold)", - "--tw-prose-counters": "var(--tw-prose-invert-counters)", - "--tw-prose-bullets": "var(--tw-prose-invert-bullets)", - "--tw-prose-hr": "var(--tw-prose-invert-hr)", - "--tw-prose-quotes": "var(--tw-prose-invert-quotes)", - "--tw-prose-quote-borders": "var(--tw-prose-invert-quote-borders)", - "--tw-prose-captions": "var(--tw-prose-invert-captions)", - "--tw-prose-code": "var(--tw-prose-invert-code)", - "--tw-prose-code-bg": "var(--tw-prose-invert-code-bg)", - "--tw-prose-code-ring": "var(--tw-prose-invert-code-ring)", - "--tw-prose-th-borders": "var(--tw-prose-invert-th-borders)", - "--tw-prose-td-borders": "var(--tw-prose-invert-td-borders)", - }, - }, - }; -} diff --git a/apps/landing/app.config.ts b/apps/landing/app.config.ts index 3ca00f9b..fe209fa0 100644 --- a/apps/landing/app.config.ts +++ b/apps/landing/app.config.ts @@ -15,6 +15,7 @@ export default defineConfig({ server: { prerender: { crawlLinks: true, + routes: ["/", "/docs"], }, routeRules: { "/api/waitlist": { proxy: waitlistEndpoint }, @@ -22,7 +23,12 @@ export default defineConfig({ }, vite: { envDir: monorepoRoot, - plugins: [contentCollections(), mattraxUI], + plugins: [ + contentCollections({ + configPath: "src/content-collections.ts", + }), + mattraxUI, + ], server: { fs: { allow: ["../../node_modules"], diff --git a/apps/landing/content-collections.ts b/apps/landing/content-collections.ts deleted file mode 100644 index fa20ca58..00000000 --- a/apps/landing/content-collections.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { defineCollection, defineConfig } from "@content-collections/core"; - -const docs = defineCollection({ - name: "docs", - directory: "src/docs", - include: "**/*.md", - schema: (z) => ({ - title: z.string(), - }), -}); - -export default defineConfig({ - collections: [docs], -}); diff --git a/apps/docs/src/app/components/mattrax/page.mdx b/apps/landing/docs/components/mattrax.md similarity index 100% rename from apps/docs/src/app/components/mattrax/page.mdx rename to apps/landing/docs/components/mattrax.md diff --git a/apps/docs/src/app/components/mattraxd/page.mdx b/apps/landing/docs/components/mattraxd.md similarity index 100% rename from apps/docs/src/app/components/mattraxd/page.mdx rename to apps/landing/docs/components/mattraxd.md diff --git a/apps/docs/src/app/components/mttx/page.mdx b/apps/landing/docs/components/mttx.md similarity index 100% rename from apps/docs/src/app/components/mttx/page.mdx rename to apps/landing/docs/components/mttx.md diff --git a/apps/docs/src/app/concepts/applications/page.mdx b/apps/landing/docs/concepts/application.md similarity index 100% rename from apps/docs/src/app/concepts/applications/page.mdx rename to apps/landing/docs/concepts/application.md diff --git a/apps/docs/src/app/concepts/device/page.mdx b/apps/landing/docs/concepts/device.md similarity index 100% rename from apps/docs/src/app/concepts/device/page.mdx rename to apps/landing/docs/concepts/device.md diff --git a/apps/docs/src/app/concepts/group/index.mdx b/apps/landing/docs/concepts/group.md similarity index 100% rename from apps/docs/src/app/concepts/group/index.mdx rename to apps/landing/docs/concepts/group.md diff --git a/apps/docs/src/app/concepts/policy/page.mdx b/apps/landing/docs/concepts/policy.md similarity index 100% rename from apps/docs/src/app/concepts/policy/page.mdx rename to apps/landing/docs/concepts/policy.md diff --git a/apps/docs/src/app/concepts/tenant-org/page.mdx b/apps/landing/docs/concepts/tenant-org.md similarity index 100% rename from apps/docs/src/app/concepts/tenant-org/page.mdx rename to apps/landing/docs/concepts/tenant-org.md diff --git a/apps/docs/src/app/concepts/user/page.mdx b/apps/landing/docs/concepts/user.md similarity index 100% rename from apps/docs/src/app/concepts/user/page.mdx rename to apps/landing/docs/concepts/user.md diff --git a/apps/docs/src/app/faq/page.mdx b/apps/landing/docs/faq.md similarity index 95% rename from apps/docs/src/app/faq/page.mdx rename to apps/landing/docs/faq.md index 16266537..3752bf3e 100644 --- a/apps/docs/src/app/faq/page.mdx +++ b/apps/landing/docs/faq.md @@ -1,9 +1,3 @@ -export const metadata = { - title: 'Frequently Asked Questions', - description: - 'Get answers to common questions about the Mattrax API.', -} - # Frequently Asked Questions ## Why not another MDM solution? diff --git a/apps/docs/src/app/getting-started/page.mdx b/apps/landing/docs/getting-started.md similarity index 65% rename from apps/docs/src/app/getting-started/page.mdx rename to apps/landing/docs/getting-started.md index 85221011..dc398704 100644 --- a/apps/docs/src/app/getting-started/page.mdx +++ b/apps/landing/docs/getting-started.md @@ -1,9 +1,3 @@ -export const metadata = { - title: 'Getting started', - description: - 'How to setup and get started using your new Mattrax account.', -} - # Getting started @@ -14,7 +8,7 @@ export const metadata = { Coming soon... -{/* TODO: Onboarding guide for new users. + diff --git a/apps/docs/src/app/page.mdx b/apps/landing/docs/overview.md similarity index 70% rename from apps/docs/src/app/page.mdx rename to apps/landing/docs/overview.md index 655bd775..9f88d7b2 100644 --- a/apps/docs/src/app/page.mdx +++ b/apps/landing/docs/overview.md @@ -1,22 +1,13 @@ -import { Guides } from '@/components/Guides' -import { Resources } from '@/components/Resources' -import { HeroPattern } from '@/components/HeroPattern' - -export const metadata = { - title: 'API Documentation', - description: - 'Learn everything there is to know about the Mattrax API and integrate Mattrax into your product.', -} - -export const sections = [] - - +--- +title: "Overview" +indexPage: true +--- # API Documentation - + Welcome to the documentation for Mattrax MDM! @@ -31,4 +22,4 @@ Features: - **Self-hosting** - Have special regulatory requirements? or just want to keep data in-house, no problem. - **Integrations** - Policy templates and REST API allow you to bring 3rd party software into Mattrax like it belongs. -{/* TODO: Clarify policy templates by linking to the docs for them */} + diff --git a/apps/docs/src/app/policies/page.mdx b/apps/landing/docs/policies/overview.md similarity index 100% rename from apps/docs/src/app/policies/page.mdx rename to apps/landing/docs/policies/overview.md diff --git a/apps/docs/src/app/policies/wifi/page.mdx b/apps/landing/docs/policies/wifi.md similarity index 100% rename from apps/docs/src/app/policies/wifi/page.mdx rename to apps/landing/docs/policies/wifi.md diff --git a/apps/docs/src/app/roadmap/page.mdx b/apps/landing/docs/roadmap.md similarity index 60% rename from apps/docs/src/app/roadmap/page.mdx rename to apps/landing/docs/roadmap.md index a0a61b82..e109bb40 100644 --- a/apps/docs/src/app/roadmap/page.mdx +++ b/apps/landing/docs/roadmap.md @@ -1,19 +1,16 @@ -export const metadata = { - title: 'Roadmap', - description: - 'What features are we working on?', -} - -# Roadmap +--- +title: Roadmap +# description: What features are we working on? +--- We have big plans that will become public very soon... For now checkout the [GitHub Issues](https://github.com/mattrax/Mattrax/issues) to see what we are working on. -{/* Launching or something like that */} + \ No newline at end of file diff --git a/apps/docs/src/app/self-hosting/page.mdx b/apps/landing/docs/self-hosting.md similarity index 61% rename from apps/docs/src/app/self-hosting/page.mdx rename to apps/landing/docs/self-hosting.md index 40b54b58..acd6e4df 100644 --- a/apps/docs/src/app/self-hosting/page.mdx +++ b/apps/landing/docs/self-hosting.md @@ -1,9 +1,3 @@ -export const metadata = { - title: 'Self-hosting', - description: - 'Get started deploying Mattrax to your own infrastructure.', -} - # Self hosting @@ -13,8 +7,8 @@ export const metadata = { If your interesting in self-hosting [reach out](mailto:hello@mattrax.app) and we can discuss your requirements. -{/* TODO: Specs, network ports/URL/IP's that should be open */} + \ No newline at end of file diff --git a/apps/landing/package.json b/apps/landing/package.json index 024bf79b..d5bc79dc 100644 --- a/apps/landing/package.json +++ b/apps/landing/package.json @@ -8,15 +8,6 @@ "cbuild": "NITRO_PRESET=cloudflare_pages vinxi build", "start": "vinxi start" }, - "devDependencies": { - "@content-collections/core": "^0.6.4", - "@content-collections/solid-start": "^0.1.1", - "@iconify/json": "^2.2.241", - "@tailwindcss/forms": "^0.5.7", - "@tailwindcss/typography": "^0.5.14", - "autoprefixer": "^10.4.20", - "tailwindcss": "^3.4.10" - }, "dependencies": { "@fontsource-variable/inter": "^5.0.20", "@fontsource/inter": "^5.0.20", @@ -32,5 +23,15 @@ "vinxi": "0.4.1", "vite": "^5.4.2", "zod": "^3.23.8" + }, + "devDependencies": { + "@content-collections/core": "^0.6.4", + "@content-collections/markdown": "^0.1.0", + "@content-collections/solid-start": "^0.1.1", + "@iconify/json": "^2.2.241", + "@tailwindcss/typography": "^0.5.14", + "autoprefixer": "^10.4.20", + "fumadocs-ui": "^13.3.2", + "tailwindcss": "^3.4.10" } } diff --git a/apps/landing/src/content-collections.ts b/apps/landing/src/content-collections.ts new file mode 100644 index 00000000..980c1c10 --- /dev/null +++ b/apps/landing/src/content-collections.ts @@ -0,0 +1,24 @@ +import { defineCollection, defineConfig } from "@content-collections/core"; +import { compileMarkdown } from "@content-collections/markdown"; + +const docs = defineCollection({ + name: "docs", + directory: "../docs", + include: "**/*.md", + schema: (z) => ({ + title: z.string(), + description: z.string().optional(), + indexPage: z.boolean().default(false), + }), + transform: async (document, context) => { + const html = await compileMarkdown(context, document); + return { + ...document, + html, + }; + }, +}); + +export default defineConfig({ + collections: [docs], +}); diff --git a/apps/landing/src/docs/hello.md b/apps/landing/src/docs/hello.md deleted file mode 100644 index 6b6a068d..00000000 --- a/apps/landing/src/docs/hello.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "Hello world" ---- - -# Hello world - -This is my first post! -... rest of the content \ No newline at end of file diff --git a/apps/landing/src/entry-client.tsx b/apps/landing/src/entry-client.tsx index 9bda7ce9..319e36d5 100644 --- a/apps/landing/src/entry-client.tsx +++ b/apps/landing/src/entry-client.tsx @@ -1,4 +1,17 @@ // @refresh reload import { StartClient, mount } from "@solidjs/start/client"; +const prefersColorSchema = window.matchMedia?.("(prefers-color-scheme: dark)"); +const computeTheme = () => { + let theme = localStorage.getItem("theme"); + if (!theme) theme = prefersColorSchema?.matches === true ? "dark" : "light"; + if (theme === "dark") { + document.body.classList.add("dark"); + } else { + document.body.classList.remove("dark"); + } +}; +computeTheme(); +prefersColorSchema?.addEventListener("change", () => computeTheme()); + mount(() => , document.getElementById("app")!); diff --git a/apps/landing/src/routes/docs.tsx b/apps/landing/src/routes/docs.tsx new file mode 100644 index 00000000..052e898d --- /dev/null +++ b/apps/landing/src/routes/docs.tsx @@ -0,0 +1,258 @@ +import { + CommandDialog, + CommandEmpty, + CommandInput, + CommandList, + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@mattrax/ui"; +import { A } from "@solidjs/router"; +import { allDocs } from "content-collections"; +import { + For, + type ParentProps, + type Setter, + Show, + createEffect, + createSignal, + onCleanup, +} from "solid-js"; + +export default function Page(props: ParentProps) { + return ( +
    + +
    {props.children}
    +
    + ); +} + +function Sidebar() { + const [collapsed, setCollapsed] = createSignal(false); + + return ( + <> +
    +
    + + + +
    +
    +
    + +
    + +
    +
    + + ); +} + +function LogoAndActions() { + return ( +
    + +

    MATTRAX

    +
    + + {/* // TODO: Fix focus rings! */} + + + + + Home + + + Mattrax Cloud + + + + GitHub + + + + + Discord + + + + Support + + + +
    + ); +} + +function Search() { + const cmdk = new EventTarget(); + + return ( + <> +
    + +
    + + + + ); +} + +function CommandK(props: { cmdk: EventTarget }) { + const [open, setOpen] = createSignal(false); + + createEffect(() => { + const down = (e: KeyboardEvent) => { + if (e.key === "k" && (e.metaKey || e.ctrlKey)) { + e.preventDefault(); + setOpen((open) => !open); + } + }; + + document.addEventListener("keydown", down); + + onCleanup(() => document.removeEventListener("keydown", down)); + }); + + const onOpen = () => setOpen(true); + props.cmdk.addEventListener("open", onOpen); + onCleanup(() => props.cmdk.removeEventListener("open", onOpen)); + + // TODO: Hook up search to the content + // TODO: The "No results" text does a weird wiggle on open + // TODO: Maybe only fade in, not resize like Fuma does???? + + return ( + + + + No results found + {/* + Calendar + Search Emoji + Calculator + */} + + + ); +} + +function Items() { + return ( +
      + + {(doc) => ( + + {doc.title} + + )} + +
    + ); +} + +function Item(props: ParentProps<{ url: string }>) { + return ( +
  • + + {props.children} + +
  • + ); +} + +function Footer(props: { + setCollapsed: Setter; +}) { + return ( +
    + + +
    + ); +} + +function CollapseSidebarButton(props: { + setCollapsed: Setter; +}) { + return ( + + ); +} diff --git a/apps/landing/src/routes/docs/(docs).tsx b/apps/landing/src/routes/docs/(docs).tsx deleted file mode 100644 index 1e729499..00000000 --- a/apps/landing/src/routes/docs/(docs).tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { allDocs } from "content-collections"; - -export default function Page() { - return ( - - ); -} diff --git a/apps/landing/src/routes/docs/[...rest].tsx b/apps/landing/src/routes/docs/[...rest].tsx index a9b5d06f..6d126b42 100644 --- a/apps/landing/src/routes/docs/[...rest].tsx +++ b/apps/landing/src/routes/docs/[...rest].tsx @@ -1,19 +1,40 @@ -import { Navigate, useParams } from "@solidjs/router"; +import { useParams } from "@solidjs/router"; import { allDocs } from "content-collections"; +import { Show } from "solid-js"; export default function Page() { const params = useParams(); - // TODO: Can we make this work with static analysis so that we don't need the `content` of all pages loaded for hydration???? - const doc = allDocs.find((d) => d._meta.path === params.rest); - if (!doc) return ; + // TODO: Can we make this work with static analysis so that we can lazy load the `content` of all pages??? + const doc = () => { + const key = params.rest === "" ? "overview" : params.rest; + return allDocs.find((d) => d._meta.path === key); + }; - // TODO: Render `content` as HTML + return ( + }> + {(doc) => ( +
    +

    {doc().title}

    +
    +
    + )} +
    + ); +} +function NotFoundPage() { return ( -
      -

      {doc.title}

      -
      {doc.content}
      -
    +
    +
    +

    404

    +

    + Page not found +

    +

    + Sorry, we couldn’t find the page you’re looking for. +

    +
    +
    ); } diff --git a/apps/landing/tailwind.config.mjs b/apps/landing/tailwind.config.mjs index fa3d8c97..c8d3b10e 100644 --- a/apps/landing/tailwind.config.mjs +++ b/apps/landing/tailwind.config.mjs @@ -1,7 +1,15 @@ +import { createPreset } from "fumadocs-ui/tailwind-plugin"; import { fontFamily } from "tailwindcss/defaultTheme"; /** @type {import('tailwindcss').Config} */ export default { + content: [ + "./index.html", + "./src/**/*.{js,ts,jsx,tsx}", + "./docs/**/*.{md,mdx}", + "../../packages/ui/src/**/*.{js,ts,jsx,tsx}", + ], + darkMode: "selector", theme: { extend: { fontFamily: { @@ -9,6 +17,6 @@ export default { }, }, }, - plugins: [require("@tailwindcss/typography"), require("@tailwindcss/forms")], - presets: [require("@mattrax/ui/tailwind")], + plugins: [require("@tailwindcss/typography")], + presets: [require("@mattrax/ui/tailwind"), createPreset()], }; diff --git a/apps/landing/tsconfig.json b/apps/landing/tsconfig.json index 9d146957..2eae9ee3 100644 --- a/apps/landing/tsconfig.json +++ b/apps/landing/tsconfig.json @@ -8,10 +8,10 @@ "types": ["vinxi/client", "vite/client", "@mattrax/ui/types"], "paths": { "~/*": ["./src/*"], - "content-collections": ["./.content-collections/generated"] + "content-collections": ["./src/.content-collections/generated"] } }, - "include": ["src/"], + "include": ["src/", "content-collections.ts"], "exclude": ["node_modules", "dist"], "references": [{ "path": "../../packages/ui" }] } diff --git a/biome.json b/biome.json index 331e2b65..aa359233 100644 --- a/biome.json +++ b/biome.json @@ -14,7 +14,6 @@ "node_modules", "dist", "apps/android", - "apps/docs", ".sst", "configuration-schemas/**/*.json", "sst-env.d.ts", diff --git a/packages/ui/package.json b/packages/ui/package.json index 6df4e70e..57c5e393 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -18,7 +18,8 @@ "./css": "./src/index.css", "./card": "./src/card.tsx", "./input": "./src/input.tsx", - "./button": "./src/button.tsx" + "./button": "./src/button.tsx", + "./tooltip": "./src/tooltip.tsx" }, "dependencies": { "@corvu/tailwind": "^0.1.5", diff --git a/packages/ui/src/auto-imports.d.ts b/packages/ui/src/auto-imports.d.ts index a2a7cb6e..7a8779a5 100644 --- a/packages/ui/src/auto-imports.d.ts +++ b/packages/ui/src/auto-imports.d.ts @@ -26,12 +26,16 @@ declare global { const IconIcOutlineClose: typeof import('~icons/ic/outline-close.jsx')['default'] const IconIcRoundCheck: typeof import('~icons/ic/round-check.jsx')['default'] const IconLogosAndroidIcon: typeof import('~icons/logos/android-icon.jsx')['default'] + const IconLogosDiscordIcon: typeof import('~icons/logos/discord-icon.jsx')['default'] const IconLogosGitHubIcon: typeof import('~icons/logos/git-hub-icon.jsx')['default'] const IconLogosGithubIcon: typeof import('~icons/logos/github-icon.jsx')['default'] const IconLogosIos: typeof import('~icons/logos/ios.jsx')['default'] const IconLogosLinuxTux: typeof import('~icons/logos/linux-tux.jsx')['default'] const IconLogosMacos: typeof import('~icons/logos/macos.jsx')['default'] const IconLogosMicrosoftWindowsIcon: typeof import('~icons/logos/microsoft-windows-icon.jsx')['default'] + const IconLucideMoon: typeof import('~icons/lucide/moon.jsx')['default'] + const IconLucidePanelLeft: typeof import('~icons/lucide/panel-left.jsx')['default'] + const IconLucideSun: typeof import('~icons/lucide/sun.jsx')['default'] const IconMaterialSymbolsEditOutline: typeof import('~icons/material-symbols/edit-outline.jsx')['default'] const IconMaterialSymbolsFilterListRounded: typeof import('~icons/material-symbols/filter-list-rounded.jsx')['default'] const IconMaterialSymbolsWarningRounded: typeof import('~icons/material-symbols/warning-rounded.jsx')['default'] @@ -51,6 +55,11 @@ declare global { const IconPhDotsSixVerticalLight: typeof import('~icons/ph/dots-six-vertical-light.jsx')['default'] const IconPhDotsThreeBold: typeof import('~icons/ph/dots-three-bold.jsx')['default'] const IconPhEnvelope: typeof import('~icons/ph/envelope.jsx')['default'] + const IconPhEnvelopeBold: typeof import('~icons/ph/envelope-bold.jsx')['default'] + const IconPhEnvelopeDuotone: typeof import('~icons/ph/envelope-duotone.jsx')['default'] + const IconPhEnvelopeSimple: typeof import('~icons/ph/envelope-simple.jsx')['default'] + const IconPhEnvelopeSimpleBold: typeof import('~icons/ph/envelope-simple-bold.jsx')['default'] + const IconPhEnvelopeSimpleDuotone: typeof import('~icons/ph/envelope-simple-duotone.jsx')['default'] const IconPhEyeBold: typeof import('~icons/ph/eye-bold.jsx')['default'] const IconPhFloppyDisk: typeof import('~icons/ph/floppy-disk.jsx')['default'] const IconPhFunnelSimple: typeof import('~icons/ph/funnel-simple.jsx')['default'] diff --git a/packages/ui/src/dropdown-menu.tsx b/packages/ui/src/dropdown-menu.tsx index 5f2bb700..5d79337c 100644 --- a/packages/ui/src/dropdown-menu.tsx +++ b/packages/ui/src/dropdown-menu.tsx @@ -81,7 +81,7 @@ const DropdownMenuContent = ( = 1 < 3' - - '@algolia/autocomplete-shared@1.17.4': - resolution: {integrity: sha512-AM7KntpKinDZGVYfZ4j8zt5ymgYBRXOZg0CFEeHLmViqu5BvQzzoc1aoNHQx6lBjViGckBYP9szA+t2QzRXy3A==} - peerDependencies: - '@algolia/client-search': '>= 4.9.1 < 6' - algoliasearch: '>= 4.9.1 < 6' - - '@algolia/client-abtesting@5.1.1': - resolution: {integrity: sha512-Zz4c1VSwBKu1qD44/9zYd7OjcwsfiPJkqKArYcQuJJihHUwodfnmf4Agi29M07exa8dySo9SHYcWKRxrpkKRiA==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-analytics@5.1.1': - resolution: {integrity: sha512-0IjlWzzUtIHaoxqlHPUHCPzQQdzhUXThLHUlexeSMZSqqibmC5Ku6Hz3LFMBDGxoCC6L+qWgyd2x6aE9XupaNA==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-common@5.1.1': - resolution: {integrity: sha512-jkQNQbGY+XQB3Eln7wqqdUZKBzG8lETcsaUk5gcMc6iIwyN/qW0v0fhpKPH+Kli+BImLxo0CWk12CvVvx2exWA==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-personalization@5.1.1': - resolution: {integrity: sha512-Cf20l5ZyHkm7I+DnQ3d1rbgUMkx4GcLhN4AGBfN/MDhSQNG7mORCc4RKRvg62vG95NAElbfx1JcnAuLLucQ3Rw==} - engines: {node: '>= 14.0.0'} - - '@algolia/client-search@5.1.1': - resolution: {integrity: sha512-SFpb3FI/VouGou/vpuS7qeCA5Y/KpV42P6CEA/1MZQtl/xJkl6PVjikb+Q9YadeHi2jtDV/aQ6PyiVDnX4PQcw==} - engines: {node: '>= 14.0.0'} - - '@algolia/recommend@5.1.1': - resolution: {integrity: sha512-ebtbWTXBSaeg7DarDU3IXjbJgcVM6mtoHeK/VvMka+KAaJXoVsMfD402qs4cN0gaw0bAy3dNUmXkV0nNi1kq4g==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-browser-xhr@5.1.1': - resolution: {integrity: sha512-NXmN1ujJCj5GlJQaMK6DbdiXdcf6nhRef/X40lu9TYi71q9xTo/5RPMI0K2iOp6g07S26BrXFOz6RSV3Ny4LLw==} - engines: {node: '>= 14.0.0'} - - '@algolia/requester-node-http@5.1.1': - resolution: {integrity: sha512-xwrgnNTIzgxDEx6zuCKSKTPzQLA8fL/WZiVB6fRpIu5agLMjoAi0cWA5YSDbo+2FFxqVgLqKY/Jz6mKmWtY15Q==} - engines: {node: '>= 14.0.0'} - '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} @@ -1213,6 +1043,13 @@ packages: peerDependencies: typescript: ^5.0.2 + '@content-collections/markdown@0.1.0': + resolution: {integrity: sha512-AeoyCwfnXuPwp83+6683vxkzFNKDkgWby7Z7edG18StUb930Tme7LDtz89+ayOZB4uky3Vulpfc0S8ecrEPenA==} + peerDependencies: + '@content-collections/core': 0.x + react: ^18.0.0 + react-dom: ^18.2.0 + '@content-collections/solid-start@0.1.1': resolution: {integrity: sha512-8bSes7fPgQk/MVL+RUWyLpUce20axqjOYkG/mtS+5R/OTvKITswlNCc+yMRNM+S++BMNnftmC7vk0gWCCyQr2A==} peerDependencies: @@ -1262,12 +1099,6 @@ packages: '@emnapi/wasi-threads@1.0.1': resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==} - '@emotion/is-prop-valid@1.3.0': - resolution: {integrity: sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ==} - - '@emotion/memoize@0.9.0': - resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} - '@esbuild-kit/core-utils@3.3.2': resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} @@ -2244,32 +2075,6 @@ packages: cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - 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==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint/config-array@0.18.0': - resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/eslintrc@3.1.0': - resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/js@9.9.1': - resolution: {integrity: sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/object-schema@2.1.4': - resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@fastify/busboy@2.1.1': resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} @@ -2286,12 +2091,6 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/react@0.26.22': - resolution: {integrity: sha512-LNv4azPt8SpT4WW7Kku5JNVjLk2GcS0bGGjFTAgqOONRFo9r/aaGHHPpdiIuQbB1t8shmWyWqTTUDmZ9fcNshg==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - '@floating-ui/utils@0.2.7': resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} @@ -2301,18 +2100,8 @@ packages: '@fontsource/inter@5.0.20': resolution: {integrity: sha512-rtw2F7xfM7rJmmnncXnR4ADr5wXsp4GyN1O1jmQJ1PMjAK+bm620/ZkQkeOYOkGoa09OksGinOeMA+Mkt6K9PQ==} - '@headlessui/react@2.1.3': - resolution: {integrity: sha512-Nt+NlnQbVvMHVZ/QsST6DNyfG8VWqjOYY3eZpp0PrRKpmZw+pzhwQ1F6wtNaW4jnudeC2a5MJC70vbGVcETNIg==} - engines: {node: '>=10'} - peerDependencies: - react: ^18 - react-dom: ^18 - - '@headlessui/tailwindcss@0.2.1': - resolution: {integrity: sha512-2+5+NZ+RzMyrVeCZOxdbvkUSssSxGvcUxphkIfSVLpRiKsj+/63T2TOL9dBYMXVfj/CGr6hMxSRInzXv6YY7sA==} - engines: {node: '>=10'} - peerDependencies: - tailwindcss: ^3.0 + '@formatjs/intl-localematcher@0.5.4': + resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==} '@hexagon/base64@1.1.28': resolution: {integrity: sha512-lhqDEAvWixy3bZ+UOYbPwUbBkwBq5C1LAJ/xPC8Oi+lL54oyakv/npbA0aU2hgCsx/1NUd4IBvV03+aUBWxerw==} @@ -2323,14 +2112,6 @@ packages: hono: '>=3.9.0' zod: ^3.19.1 - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/retry@0.3.0': - resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} - engines: {node: '>=18.18'} - '@iconify/json@2.2.241': resolution: {integrity: sha512-zpeIjmIrTjl0ra6BYTYDfoK/hXn++xT5Hllc87K5SQwnqKs9RJeToSBzjF1gAsrxia+ilkhtGCcqbFF0ppDXiw==} @@ -2340,111 +2121,6 @@ packages: '@iconify/utils@2.1.32': resolution: {integrity: sha512-LeifFZPPKu28O3AEDpYJNdEbvS4/ojAPyIW+pF/vUpJTYnbTiXUHkCh0bwgFRzKvdpb8H4Fbfd/742++MF4fPQ==} - '@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] - '@internationalized/date@3.5.5': resolution: {integrity: sha512-H+CfYvOZ0LTJeeLOqm19E3uj/4YjrmOFtBufDHPfvtI80hFAMqtrp7oCACpe4Cil5l8S0Qu/9dYfZc/5lY8WQQ==} @@ -2529,20 +2205,6 @@ packages: '@mattrax/web@file:apps/web': resolution: {directory: apps/web, type: directory} - '@mdx-js/loader@3.0.1': - resolution: {integrity: sha512-YbYUt7YyEOdFxhyuCWmLKf5vKhID/hJAojEUnheJk4D8iYVLFQw+BAoBWru/dHGch1omtmZOPstsmKPyBF68Tw==} - peerDependencies: - webpack: '>=5' - - '@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==} - peerDependencies: - '@types/react': '>=16' - react: '>=16' - '@microsoft/microsoft-graph-client@3.0.7': resolution: {integrity: sha512-/AazAV/F+HK4LIywF9C+NYHcJo038zEnWkteilcxC1FM/uK/4NVGDKGrxx7nNq1ybspAroRKT4I1FHfxQzxkUw==} engines: {node: '>=12.0.0'} @@ -2585,20 +2247,6 @@ packages: '@next/env@14.2.6': resolution: {integrity: sha512-bs5DFKV+08EjWrl8EB+KKqev1ZTNONH1vFCaHh911aaB362NnP32UDTbE9VQhyiAgbFqJsfDkSxFERNDDb3j0g==} - '@next/eslint-plugin-next@14.2.6': - resolution: {integrity: sha512-d3+p4AjIYmhqzYHhhmkRYYN6ZU35TwZAKX08xKRfnHkz72KhWL2kxMFsDptpZs5e8bBGdepn7vn1+9DaF8iX+A==} - - '@next/mdx@14.2.6': - resolution: {integrity: sha512-59jhA506DXouG5T1lUjG8TAYGIQNia6hDuDgRIJwWfOEzgDvIOZHL3/oUGFH9BS2/Y75a9y0l65Lz0aMvUEWeg==} - 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.3': resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==} engines: {node: '>= 10'} @@ -3088,90 +2736,543 @@ packages: '@polka/url@1.0.0-next.25': resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} - '@react-aria/focus@3.18.2': - resolution: {integrity: sha512-Jc/IY+StjA3uqN73o6txKQ527RFU7gnG5crEl5Xy3V+gbYp2O5L3ezAo/E0Ipi2cyMbG6T5Iit1IDs7hcGu8aw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + '@radix-ui/number@1.1.0': + resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==} - '@react-aria/interactions@3.22.2': - resolution: {integrity: sha512-xE/77fRVSlqHp2sfkrMeNLrqf2amF/RyuAS6T5oDJemRSgYM3UoxTbWjucPhfnoW7r32pFPHHgz4lbdX8xqD/g==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + '@radix-ui/primitive@1.0.1': + resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} - '@react-aria/ssr@3.9.5': - resolution: {integrity: sha512-xEwGKoysu+oXulibNUSkXf8itW0npHHTa6c4AyYeZIJyRoegeteYuFpZUBPtIDE8RfHdNsSmE1ssOkxRnwbkuQ==} - engines: {node: '>= 12'} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + '@radix-ui/primitive@1.1.0': + resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} - '@react-aria/utils@3.25.2': - resolution: {integrity: sha512-GdIvG8GBJJZygB4L2QJP1Gabyn2mjFsha73I2wSe+o4DYeGWoJiMZRM06PyTIxLH4S7Sn7eVDtsSBfkc2VY/NA==} + '@radix-ui/react-accordion@1.2.0': + resolution: {integrity: sha512-HJOzSX8dQqtsp/3jVxCU3CXEONF7/2jlGAB28oX8TTw1Dz8JYbEI1UcL8355PuLBE41/IRRMvCw7VkiK/jcUOQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 + '@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 - '@react-email/body@0.0.10': - resolution: {integrity: sha512-dMJyL9aU25ieatdPtVjCyQ/WHZYHwNc+Hy/XpF8Cc18gu21cUynVEeYQzFSeigDRMeBQ3PGAyjVDPIob7YlGwA==} + '@radix-ui/react-arrow@1.1.0': + resolution: {integrity: sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==} peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc + '@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 - '@react-email/button@0.0.17': - resolution: {integrity: sha512-ioHdsk+BpGS/PqjU6JS7tUrVy9yvbUx92Z+Cem2+MbYp55oEwQ9VHf7u4f5NoM0gdhfKSehBwRdYlHt/frEMcg==} - engines: {node: '>=18.0.0'} + '@radix-ui/react-collapsible@1.1.0': + resolution: {integrity: sha512-zQY7Epa8sTL0mq4ajSJpjgn2YmCgyrG7RsQgLp3C0LQVkG7+Tf6Pv1CeNWZLyqMjhdPkBa5Lx7wYBeSu7uCSTA==} peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc + '@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 - '@react-email/code-block@0.0.7': - resolution: {integrity: sha512-3lYLwn9rK16I4JmTR/sTzAJMVHzUmmcT1PT27+TXnQyBCfpfDV+VockSg1qhsgCusA/u6j0C97BMsa96AWEbbw==} - engines: {node: '>=18.0.0'} + '@radix-ui/react-collection@1.1.0': + resolution: {integrity: sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==} peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc + '@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 - '@react-email/code-inline@0.0.4': - resolution: {integrity: sha512-zj3oMQiiUCZbddSNt3k0zNfIBFK0ZNDIzzDyBaJKy6ZASTtWfB+1WFX0cpTX8q0gUiYK+A94rk5Qp68L6YXjXQ==} - engines: {node: '>=18.0.0'} + '@radix-ui/react-compose-refs@1.0.1': + resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true - '@react-email/column@0.0.12': - resolution: {integrity: sha512-Rsl7iSdDaeHZO938xb+0wR5ud0Z3MVfdtPbNKJNojZi2hApwLAQXmDrnn/AcPDM5Lpl331ZljJS8vHTWxxkvKw==} - engines: {node: '>=18.0.0'} + '@radix-ui/react-compose-refs@1.1.0': + resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@react-email/components@0.0.23': - resolution: {integrity: sha512-RcBoffx2IZG6quLBXo5sj3fF47rKmmkiMhG1ZBua4nFjHYlmW8j1uUMyO5HNglxIF9E52NYq4sF7XeZRp9jYjg==} - engines: {node: '>=18.0.0'} + '@radix-ui/react-context@1.0.1': + resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true - '@react-email/container@0.0.14': - resolution: {integrity: sha512-NgoaJJd9tTtsrveL86Ocr/AYLkGyN3prdXKd/zm5fQpfDhy/NXezyT3iF6VlwAOEUIu64ErHpAJd+P6ygR+vjg==} - engines: {node: '>=18.0.0'} + '@radix-ui/react-context@1.1.0': + resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@react-email/font@0.0.8': - resolution: {integrity: sha512-fSBEqYyVPAyyACBBHcs3wEYzNknpHMuwcSAAKE8fOoDfGqURr/vSxKPdh4tOa9z7G4hlcEfgGrCYEa2iPT22cw==} + '@radix-ui/react-dialog@1.0.5': + resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true - '@react-email/head@0.0.11': - resolution: {integrity: sha512-skw5FUgyamIMK+LN+fZQ5WIKQYf0dPiRAvsUAUR2eYoZp9oRsfkIpFHr0GWPkKAYjFEj+uJjaxQ/0VzQH7svVg==} - engines: {node: '>=18.0.0'} + '@radix-ui/react-dialog@1.1.1': + resolution: {integrity: sha512-zysS+iU4YP3STKNS6USvFVqI4qqx8EpiwmT5TuCApVEBca+eRCbONi4EgzfNSuVnOXvC5UPHHMjs8RXO6DH9Bg==} peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc + '@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 - '@react-email/heading@0.0.14': - resolution: {integrity: sha512-jZM7IVuZOXa0G110ES8OkxajPTypIKlzlO1K1RIe1auk76ukQRiCg1IRV4HZlWk1GGUbec5hNxsvZa2kU8cb9w==} - engines: {node: '>=18.0.0'} + '@radix-ui/react-direction@1.1.0': + resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==} peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - '@react-email/hr@0.0.10': - resolution: {integrity: sha512-3AA4Yjgl3zEid/KVx6uf6TuLJHVZvUc2cG9Wm9ZpWeAX4ODA+8g9HyuC0tfnjbRsVMhMcCGiECuWWXINi+60vA==} - engines: {node: '>=18.0.0'} + '@radix-ui/react-dismissable-layer@1.0.5': + resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: - react: ^18.0 || ^19.0 || ^19.0.0-rc + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-dismissable-layer@1.1.0': + resolution: {integrity: sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig==} + 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-focus-guards@1.0.1': + resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-focus-guards@1.1.0': + resolution: {integrity: sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-focus-scope@1.0.4': + resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-focus-scope@1.1.0': + resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==} + 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-id@1.0.1': + resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-id@1.1.0': + resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-popover@1.1.1': + resolution: {integrity: sha512-3y1A3isulwnWhvTTwmIreiB8CF4L+qRjZnK1wYLO7pplddzXKby/GnZ2M7OZY3qgnl6p9AodUIHRYGXNah8Y7g==} + 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-popper@1.2.0': + resolution: {integrity: sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==} + 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-portal@1.0.4': + resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-portal@1.1.1': + resolution: {integrity: sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g==} + 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-presence@1.0.1': + resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-presence@1.1.0': + resolution: {integrity: sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ==} + 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-primitive@1.0.3': + resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-primitive@2.0.0': + resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==} + 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-roving-focus@1.1.0': + resolution: {integrity: sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==} + 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-scroll-area@1.1.0': + resolution: {integrity: sha512-9ArIZ9HWhsrfqS765h+GZuLoxaRHD/j0ZWOWilsCvYTpYJp8XwCqNG7Dt9Nu/TItKOdgLGkOPCodQvDc+UMwYg==} + 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-slot@1.0.2': + resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-slot@1.1.0': + resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-tabs@1.1.0': + resolution: {integrity: sha512-bZgOKB/LtZIij75FSuPzyEti/XBhJH52ExgtdVqjCIh+Nx/FW+LhnbXtbCzIi34ccyMsyOja8T0thCzoHFXNKA==} + 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-use-callback-ref@1.0.1': + resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-callback-ref@1.1.0': + resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-controllable-state@1.0.1': + resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-controllable-state@1.1.0': + resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-escape-keydown@1.0.3': + resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-escape-keydown@1.1.0': + resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-layout-effect@1.0.1': + resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-layout-effect@1.1.0': + resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-rect@1.1.0': + resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-size@1.1.0': + resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/rect@1.1.0': + resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} + + '@react-email/body@0.0.10': + resolution: {integrity: sha512-dMJyL9aU25ieatdPtVjCyQ/WHZYHwNc+Hy/XpF8Cc18gu21cUynVEeYQzFSeigDRMeBQ3PGAyjVDPIob7YlGwA==} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/button@0.0.17': + resolution: {integrity: sha512-ioHdsk+BpGS/PqjU6JS7tUrVy9yvbUx92Z+Cem2+MbYp55oEwQ9VHf7u4f5NoM0gdhfKSehBwRdYlHt/frEMcg==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/code-block@0.0.7': + resolution: {integrity: sha512-3lYLwn9rK16I4JmTR/sTzAJMVHzUmmcT1PT27+TXnQyBCfpfDV+VockSg1qhsgCusA/u6j0C97BMsa96AWEbbw==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/code-inline@0.0.4': + resolution: {integrity: sha512-zj3oMQiiUCZbddSNt3k0zNfIBFK0ZNDIzzDyBaJKy6ZASTtWfB+1WFX0cpTX8q0gUiYK+A94rk5Qp68L6YXjXQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/column@0.0.12': + resolution: {integrity: sha512-Rsl7iSdDaeHZO938xb+0wR5ud0Z3MVfdtPbNKJNojZi2hApwLAQXmDrnn/AcPDM5Lpl331ZljJS8vHTWxxkvKw==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/components@0.0.23': + resolution: {integrity: sha512-RcBoffx2IZG6quLBXo5sj3fF47rKmmkiMhG1ZBua4nFjHYlmW8j1uUMyO5HNglxIF9E52NYq4sF7XeZRp9jYjg==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/container@0.0.14': + resolution: {integrity: sha512-NgoaJJd9tTtsrveL86Ocr/AYLkGyN3prdXKd/zm5fQpfDhy/NXezyT3iF6VlwAOEUIu64ErHpAJd+P6ygR+vjg==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/font@0.0.8': + resolution: {integrity: sha512-fSBEqYyVPAyyACBBHcs3wEYzNknpHMuwcSAAKE8fOoDfGqURr/vSxKPdh4tOa9z7G4hlcEfgGrCYEa2iPT22cw==} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/head@0.0.11': + resolution: {integrity: sha512-skw5FUgyamIMK+LN+fZQ5WIKQYf0dPiRAvsUAUR2eYoZp9oRsfkIpFHr0GWPkKAYjFEj+uJjaxQ/0VzQH7svVg==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/heading@0.0.14': + resolution: {integrity: sha512-jZM7IVuZOXa0G110ES8OkxajPTypIKlzlO1K1RIe1auk76ukQRiCg1IRV4HZlWk1GGUbec5hNxsvZa2kU8cb9w==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc + + '@react-email/hr@0.0.10': + resolution: {integrity: sha512-3AA4Yjgl3zEid/KVx6uf6TuLJHVZvUc2cG9Wm9ZpWeAX4ODA+8g9HyuC0tfnjbRsVMhMcCGiECuWWXINi+60vA==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: ^18.0 || ^19.0 || ^19.0.0-rc '@react-email/html@0.0.10': resolution: {integrity: sha512-06uiuSKJBWQJfhCKv4MPupELei4Lepyz9Sth7Yq7Fq29CAeB1ejLgKkGqn1I+FZ72hQxPLdYF4iq4yloKv3JCg==} @@ -3234,16 +3335,6 @@ packages: peerDependencies: react: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-stately/utils@3.10.3': - resolution: {integrity: sha512-moClv7MlVSHpbYtQIkm0Cx+on8Pgt1XqtPx6fy9rQFb2DNc9u1G3AUVnqA17buOkH1vLxAtX4MedlxMWyRCYYA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - - '@react-types/shared@3.24.1': - resolution: {integrity: sha512-AUQeGYEm/zDTN6zLzdXolDxz3Jk5dDL7f506F07U8tBwxNNI3WRdhU84G0/AaFikOZzDXhOZDr3MhQMzyE7Ydw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0 - '@rollup/plugin-alias@5.1.0': resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} @@ -3400,15 +3491,18 @@ packages: cpu: [x64] os: [win32] - '@rushstack/eslint-patch@1.10.4': - resolution: {integrity: sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==} - '@selderee/plugin-htmlparser2@0.11.0': resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} '@shikijs/core@1.14.1': resolution: {integrity: sha512-KyHIIpKNaT20FtFPFjCQB5WVSTpLR/n+jQXhWHWVUMm9MaOaG9BGOG0MSyt7yA4+Lm+4c9rTc03tt3nYzeYSfw==} + '@shikijs/rehype@1.14.1': + resolution: {integrity: sha512-52L8RZ8eJ4t7jWk5jAl5fh5whAmseL5TJezZuWogC6GH5X0JZhWxPxk2+Dg3tH/Ga3447HdzAzEVGkJmXX3o3A==} + + '@shikijs/transformers@1.14.1': + resolution: {integrity: sha512-JJqL8QBVCJh3L61jqqEXgFq1cTycwjcGj7aSmqOEsbxnETM9hRlaB74QuXvY/fVJNjbNt8nvWo0VwAXKvMSLRg==} + '@simplewebauthn/browser@10.0.0': resolution: {integrity: sha512-hG0JMZD+LiLUbpQcAjS4d+t4gbprE/dLYop/CkE01ugU/9sKXflxV5s0DRjdz3uNMFecatRfb4ZLG3XvF8m5zg==} @@ -3430,14 +3524,6 @@ packages: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} - '@sindresorhus/slugify@2.2.1': - resolution: {integrity: sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==} - engines: {node: '>=12'} - - '@sindresorhus/transliterate@1.6.0': - resolution: {integrity: sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==} - engines: {node: '>=12'} - '@smithy/abort-controller@2.2.0': resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} engines: {node: '>=14.0.0'} @@ -3930,14 +4016,8 @@ packages: '@tanstack/query-persist-client-core@5.52.0': resolution: {integrity: sha512-D6Ppz4/ofmcA7h/vksaYUVuMSlFRfBBWGE7JSa6AATy6JDO3cXhJoCXOHVRDEK0ScxV93A/wZ1fzawfIDHR6SQ==} - '@tanstack/react-virtual@3.10.4': - resolution: {integrity: sha512-Y2y1QJN3e5gNTG4wlZcoW2IAFrVCuho80oyeODKKFVSbAhJAXmkDNH3ZztM6EQij5ueqpqgz5FlsgKP9TGjImA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - - '@tanstack/solid-form@0.29.2': - resolution: {integrity: sha512-qTP0wn+DMW8ywa9AJY0XqWsPSso5uEST4I5mDfzvb5AgWVvM9M6GeR9MC0T5iPo77bhuWzewtGnnQTrv4S++tg==} + '@tanstack/solid-form@0.29.2': + resolution: {integrity: sha512-qTP0wn+DMW8ywa9AJY0XqWsPSso5uEST4I5mDfzvb5AgWVvM9M6GeR9MC0T5iPo77bhuWzewtGnnQTrv4S++tg==} peerDependencies: solid-js: ^1.6.0 @@ -4042,18 +4122,9 @@ packages: '@types/http-proxy@1.17.15': resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - - '@types/json5@0.0.29': - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} - '@types/mdx@2.0.13': - resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} - '@types/micromatch@4.0.9': resolution: {integrity: sha512-7V+8ncr22h4UoYRLnLXSpTxjQrNUXtWHGeMPRJt1nULXI57G9bIcpyrHlmrQ7QK24EyyuXvYcSSWAM8GA9nqCg==} @@ -4081,9 +4152,6 @@ packages: '@types/react-dom@18.3.0': resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} - '@types/react-highlight-words@0.20.0': - resolution: {integrity: sha512-Qm512TiOakvtNzHJ2+TNVHnLn5cJ2wLQV0+LrhuispVth6dRf5b8ydjq3Kc0thpZ7bz4s6RnG6meboAXHWRK+Q==} - '@types/react@18.3.4': resolution: {integrity: sha512-J7W30FTdfCxDDjmfRM+/JqLHBIyl7xUIp9kwK637FGmY7+mkSFSe6L4jpZzhj5QMfLssSDP4/i75AKkrdC7/Jw==} @@ -4096,37 +4164,6 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@typescript-eslint/parser@7.2.0': - resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^8.56.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/types@7.2.0': - resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/typescript-estree@7.2.0': - resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} - engines: {node: ^16.0.0 || >=18.0.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} - '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -4172,61 +4209,10 @@ packages: '@vitest/utils@2.0.5': resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} - '@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==} - '@xmldom/xmldom@0.8.10': resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} engines: {node: '>=10.0.0'} - '@xtuc/ieee754@1.2.0': - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - - '@xtuc/long@4.2.2': - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - '@yarnpkg/lockfile@1.1.0': resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} @@ -4285,18 +4271,6 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} - 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==} - - algoliasearch@5.1.1: - resolution: {integrity: sha512-Bmi456esf2+/nY1w3Xa2etGjQPOBw+RPtfdKRN33mWJ4hNs9cug/F4w9KAb0wiYqDjW1fduXYwu6+YKLHFMMew==} - engines: {node: '>= 14.0.0'} - ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} @@ -4360,44 +4334,9 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - aria-query@5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - - array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} - engines: {node: '>= 0.4'} - - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - - array.prototype.findlast@1.2.5: - resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} - engines: {node: '>= 0.4'} - - array.prototype.findlastindex@1.2.5: - resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} - engines: {node: '>= 0.4'} - - array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} - - array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} - - array.prototype.tosorted@1.1.4: - resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} - engines: {node: '>= 0.4'} - - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} + aria-hidden@1.2.4: + resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} + engines: {node: '>=10'} as-table@1.0.55: resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} @@ -4410,9 +4349,6 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - ast-types@0.16.1: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} @@ -4437,10 +4373,6 @@ packages: peerDependencies: postcss: ^8.1.0 - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - aws-ssl-profiles@1.1.1: resolution: {integrity: sha512-+H+kuK34PfMaI9PNU/NSjBKL5hh/KDM9J72kwYeYEm0A8B1AC4fuCy3qsjnA7lxklgyXsB68yn8Z2xoZEjgwCQ==} engines: {node: '>= 6.0.0'} @@ -4448,16 +4380,9 @@ packages: aws4fetch@1.0.19: resolution: {integrity: sha512-N+F8pZ9hVjckkHODDyalITRNxBJxAGX5ShkVoAgHwqERXsW8Iu5ziFx3SCjGlxx/YStWBTZx4HI/GCMvTBu5kQ==} - axe-core@4.10.0: - resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} - engines: {node: '>=4'} - axios@1.7.5: resolution: {integrity: sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==} - axobject-query@3.1.1: - resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} - b4a@1.6.6: resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} @@ -4495,9 +4420,6 @@ packages: resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} engines: {node: '>=0.6'} - big.js@5.2.2: - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} @@ -4584,10 +4506,6 @@ packages: call-me-maybe@1.0.2: resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - camel-case@4.1.2: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} @@ -4656,10 +4574,6 @@ packages: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - chrome-trace-event@1.0.4: - resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} - engines: {node: '>=6.0'} - citty@0.1.6: resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} @@ -4718,12 +4632,15 @@ packages: peerDependencies: solid-js: ^1.8.0 + cmdk@1.0.0: + resolution: {integrity: sha512-gDzVf0a09TvoJ5jnuPvygTB77+XdOSwEmJ88L6XPFPlv7T3RxbP9jgenfylrAMD0+Le1aO0nVjQUzl2g+vjz5Q==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + codejar@4.2.0: resolution: {integrity: sha512-U8OZe+2B400W5nSSbXxaoboBN5i1hxWdBZJ9kcTy0DBuc4muwkPE/ph/MGX4yooIE8hztfNLPNU1CbcNYch69A==} - collapse-white-space@2.1.0: - resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} - color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -4737,17 +4654,10 @@ 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-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true - 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==} @@ -4784,6 +4694,9 @@ packages: resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} engines: {node: '>= 14'} + compute-scroll-into-view@3.1.0: + resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -4875,24 +4788,9 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - data-uri-to-buffer@2.0.2: resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - date-fns@3.6.0: resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} @@ -4925,14 +4823,6 @@ packages: supports-color: optional: true - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.3.6: resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} engines: {node: '>=6.0'} @@ -4949,13 +4839,6 @@ packages: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} - 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==} - deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -4983,10 +4866,6 @@ packages: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} @@ -5025,6 +4904,9 @@ packages: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} + detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -5038,17 +4920,9 @@ packages: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - dom-serializer@1.4.1: resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} @@ -5212,10 +5086,6 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} - encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} @@ -5234,10 +5104,6 @@ packages: resolution: {integrity: sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==} engines: {node: '>=10.2.0'} - enhanced-resolve@5.17.1: - resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} - engines: {node: '>=10.13.0'} - enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} @@ -5255,10 +5121,6 @@ packages: error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} - es-define-property@1.0.0: resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} @@ -5267,31 +5129,9 @@ 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==} - 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'} - - es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} - - es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - esbuild-register@3.6.0: resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==} peerDependencies: @@ -5351,140 +5191,14 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - eslint-config-next@14.2.6: - resolution: {integrity: sha512-z0URA5LO6y8lS/YLN0EDW/C4LEkDODjJzA37dvLVdzCPzuewjzTe1os5g3XclZAZrQ8X8hPaSMQ2JuVWwMmrTA==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true - - 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==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' - - eslint-module-utils@2.8.1: - resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - - eslint-plugin-import@2.29.1: - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - - eslint-plugin-jsx-a11y@6.9.0: - resolution: {integrity: sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - - eslint-plugin-react-hooks@4.6.2: - resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} - 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==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - - eslint-scope@8.0.2: - resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@4.0.0: - resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint@9.9.1: - resolution: {integrity: sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true - - espree@10.1.0: - resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - 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'} - - estree-util-attach-comments@3.0.0: - resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} - - estree-util-build-jsx@3.0.1: - resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==} - estree-util-is-identifier-name@3.0.0: resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} - estree-util-to-js@2.0.0: - resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==} - - estree-util-visit@1.2.1: - resolution: {integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==} - estree-util-visit@2.0.0: resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} @@ -5497,10 +5211,6 @@ packages: estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} @@ -5546,9 +5256,6 @@ packages: fast-deep-equal@2.0.1: resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==} - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-fifo@1.3.2: resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} @@ -5556,12 +5263,6 @@ packages: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-xml-parser@4.2.5: resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} hasBin: true @@ -5573,10 +5274,6 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} - file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} @@ -5587,23 +5284,12 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} - flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - - flexsearch@0.7.43: - resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} + flexsearch@0.7.21: + resolution: {integrity: sha512-W7cHV7Hrwjid6lWmy0IhsWDFQboWSng25U3VVywpHOTJnnAZNPScog67G+cVpeX9f7yDD21ih0WDrMMT+JoaYg==} follow-redirects@1.15.6: resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} @@ -5614,9 +5300,6 @@ packages: debug: optional: true - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - foreground-child@3.3.0: resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} engines: {node: '>=14'} @@ -5628,20 +5311,6 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - framer-motion@11.3.30: - resolution: {integrity: sha512-9VmqGe9OIjfMoCcs+ZsKXlv6JaG5QagKX2F1uSbkG3Z33wgjnz60Kw+CngC1M49rDYau+Y9aL+8jGagAwrbVyw==} - peerDependencies: - '@emotion/is-prop-valid': '*' - react: ^18.0.0 - react-dom: ^18.0.0 - peerDependenciesMeta: - '@emotion/is-prop-valid': - optional: true - react: - optional: true - react-dom: - optional: true - fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} @@ -5675,15 +5344,22 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + fumadocs-core@13.3.2: + resolution: {integrity: sha512-SAs8Pp/MhTz95DDnmr7Q2G0VPCXb/B2tOHjzRf6W6el+oAatqAMHD6cKkfZ7feaKeWmKUvc0LlqNQZwE9DgkKQ==} + peerDependencies: + next: '>= 14.1.0' + react: '>= 18' + react-dom: '>= 18' - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} + fumadocs-ui@13.3.2: + resolution: {integrity: sha512-iC/YS77DCeDJfjXd7BujEjEb1L+cOQMoI/KeUtL6EVjXevC1dF+KNUFA7CDzfe3ujKK5j/2yDss8BIMMoWjHPA==} + peerDependencies: + next: '>= 14.1.0' + react: '>= 18' + react-dom: '>= 18' - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} @@ -5708,6 +5384,10 @@ packages: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} engines: {node: '>= 0.4'} + get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + get-port-please@3.1.2: resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} @@ -5722,10 +5402,6 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - get-symbol-description@1.0.2: - 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==} @@ -5733,6 +5409,9 @@ packages: resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} hasBin: true + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -5744,11 +5423,6 @@ packages: 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'} - hasBin: true - glob@10.3.4: resolution: {integrity: sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==} engines: {node: '>=16 || 14 >=14.17'} @@ -5771,18 +5445,6 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - - globalthis@1.0.4: - 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@14.0.2: resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} engines: {node: '>=18'} @@ -5810,9 +5472,6 @@ packages: h3@1.12.0: resolution: {integrity: sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==} - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -5832,10 +5491,6 @@ packages: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} @@ -5843,22 +5498,34 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hast-util-to-estree@3.1.0: - resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} - hast-util-to-jsx-runtime@2.3.0: - resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.0.4: + resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==} + + hast-util-to-html@9.0.1: + resolution: {integrity: sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ==} + + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-to-string@3.0.0: + resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==} hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - highlight-words-core@1.2.2: - resolution: {integrity: sha512-BXUKIkUuh6cmmxzi5OIbUJxrG8OAk2MqoL1DtO3Wo9D2faJg2ph5ntyuQeLqaHJmzER6H5tllCDA9ZnNe9BVGg==} - hono@4.5.8: resolution: {integrity: sha512-pqpSlcdqGkpTTRpLYU1PnCz52gVr0zVR9H5GzMyJWuKQLLEBQxh96q45QizJ2PPX8NATtz2mu31/PKW/Jt+90Q==} engines: {node: '>=16.0.0'} @@ -5881,6 +5548,9 @@ packages: resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==} engines: {node: '>=14'} + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + htmlparser2@8.0.2: resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} @@ -5934,13 +5604,10 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + image-size@1.1.1: + resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} + engines: {node: '>=16.x'} + hasBin: true inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} @@ -5952,15 +5619,8 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - 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==} - - internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} ioredis@5.4.1: resolution: {integrity: sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==} @@ -5979,52 +5639,18 @@ packages: 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'} - - 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'} - - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - is-builtin-module@3.2.1: resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} engines: {node: '>=6'} - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - is-core-module@2.15.1: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} - - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} @@ -6046,17 +5672,10 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} - is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -6073,29 +5692,13 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -6106,21 +5709,6 @@ packages: is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - 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'} - - is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} - is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -6129,33 +5717,10 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - - is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} - engines: {node: '>= 0.4'} - is-what@4.1.16: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} @@ -6175,9 +5740,6 @@ packages: 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==} @@ -6185,9 +5747,6 @@ packages: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} engines: {node: '>=16'} - iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} - jackspeak@2.3.6: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} @@ -6208,10 +5767,6 @@ packages: resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} 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'} - jiti@1.21.6: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true @@ -6253,22 +5808,6 @@ packages: engines: {node: '>=4'} hasBin: true - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - - json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -6280,13 +5819,6 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} - - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} @@ -6301,13 +5833,6 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - language-subtag-registry@0.3.23: - resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} - - language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} - lazystream@1.0.1: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} engines: {node: '>= 0.6.3'} @@ -6315,10 +5840,6 @@ packages: leac@0.6.0: resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -6338,22 +5859,10 @@ packages: resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} hasBin: true - loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} - - loader-utils@2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} - local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - lodash.castarray@4.4.0: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} @@ -6413,6 +5922,11 @@ packages: lucia@3.2.0: resolution: {integrity: sha512-eXMxXwk6hqtjRTj4W/x3EnTUtAztLPm0p2N2TEBMDEbakDLXiYnDQ9z/qahjPdPdhPguQc+vwO0/88zIWxlpuw==} + lucide-react@0.428.0: + resolution: {integrity: sha512-rGrzslfEcgqwh+TLBC5qJ8wvVIXhLvAIXVFKNHndYyb1utSxxn9rXOC+1CNJLi6yNOooyPqIs6+3YCp6uSiEvg==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc + magic-string@0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} @@ -6426,10 +5940,6 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} - 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==} @@ -6491,9 +6001,6 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - mdx-annotations@0.1.4: - resolution: {integrity: sha512-SUYBUXP1qbgr0nRFFnUBg4HxxTbYyl5rE38fLTaIm0naPK+EhmKa0wRlUdgTMlMBj5gdCMwP1n7+L47JIHHWUQ==} - memfs-browser@3.5.10302: resolution: {integrity: sha512-JJTc/nh3ig05O0gBBGZjTCPOyydaTxNF0uHYBrcc1gHNnO+KIHIvo0Y1FKCJsaei6FCl8C6xfQomXqu+cuzkIw==} @@ -6501,9 +6008,6 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} - memoize-one@4.0.3: - resolution: {integrity: sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw==} - merge-anything@5.1.7: resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==} engines: {node: '>=12.13'} @@ -6747,16 +6251,10 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - next-themes@0.3.0: resolution: {integrity: sha512-/QHIrsYpd6Kfk7xakK4svpDI5mmXP0gfvCoJdGpZQ2TOrQZmsW0QxjaiLn8wbIKjtm4BTSqLoix4lxYYOnLJ/w==} peerDependencies: @@ -6870,6 +6368,10 @@ packages: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-to-yarn@2.2.1: + resolution: {integrity: sha512-O/j/ROyX0KGLG7O6Ieut/seQ0oiTpHF2tXAcFbpdTLQFiaNtkyTXXocM1fwpaa60dg1qpWj0nHlbNhx6qwuENQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} deprecated: This package is no longer supported. @@ -6910,34 +6412,6 @@ 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.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} - - object.entries@1.1.8: - resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} - engines: {node: '>= 0.4'} - - object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} - - object.groupby@1.0.3: - resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} - engines: {node: '>= 0.4'} - - object.values@1.2.0: - resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} - engines: {node: '>= 0.4'} - ofetch@1.3.4: resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} @@ -6978,10 +6452,6 @@ packages: openid-client@5.6.4: resolution: {integrity: sha512-T1h3B10BRPKfcObdBklX639tVz+xh34O7GjofqrqiAQdm7eHsQ00ih18x6wuJ/E6FxdtS2u3FmUGPDeEcMwzNA==} - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} - ora@5.3.0: resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} engines: {node: '>=10'} @@ -6996,14 +6466,6 @@ packages: oslo@1.2.1: resolution: {integrity: sha512-HfIhB5ruTdQv0XX2XlncWQiJ5SIHZ7NHZhVyHth0CSZ/xzge00etRyYy/3wp/Dsu+PkxMC+6+B2lS/GcKoewkA==} - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - package-json-from-dist@1.0.0: resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} @@ -7013,13 +6475,12 @@ packages: param-case@3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - parse-entities@4.0.1: resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + parseley@0.12.1: resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==} @@ -7030,10 +6491,6 @@ packages: pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -7056,10 +6513,6 @@ packages: path-to-regexp@6.2.2: resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - path-type@5.0.0: resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} engines: {node: '>=12'} @@ -7080,9 +6533,6 @@ packages: perfect-debounce@1.0.0: resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - periscopic@3.1.0: - resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} - pg-cloudflare@1.1.1: resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} @@ -7143,10 +6593,6 @@ packages: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - postcss-import@15.1.0: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} @@ -7216,70 +6662,6 @@ packages: resolution: {integrity: sha512-IbyN+9KslkqcXa8AO9fxpk97PA4pzewvpi2B3Dwy9u4zpV32QicaEdgmF3eSQUzdRk7ttDHQejNgAEr4XoeH4A==} engines: {node: '>=12'} - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prettier-plugin-tailwindcss@0.6.6: - resolution: {integrity: sha512-OPva5S7WAsPLEsOuOWXATi13QrCKACCiIonFgIR6V4lYv4QLp++UXVhZSzRbZxXGimkQtQT86CC6fQqTOybGng==} - engines: {node: '>=14.21.3'} - peerDependencies: - '@ianvs/prettier-plugin-sort-imports': '*' - '@prettier/plugin-pug': '*' - '@shopify/prettier-plugin-liquid': '*' - '@trivago/prettier-plugin-sort-imports': '*' - '@zackad/prettier-plugin-twig-melody': '*' - prettier: ^3.0 - prettier-plugin-astro: '*' - prettier-plugin-css-order: '*' - prettier-plugin-import-sort: '*' - prettier-plugin-jsdoc: '*' - prettier-plugin-marko: '*' - prettier-plugin-multiline-arrays: '*' - prettier-plugin-organize-attributes: '*' - prettier-plugin-organize-imports: '*' - prettier-plugin-sort-imports: '*' - prettier-plugin-style-order: '*' - prettier-plugin-svelte: '*' - peerDependenciesMeta: - '@ianvs/prettier-plugin-sort-imports': - optional: true - '@prettier/plugin-pug': - optional: true - '@shopify/prettier-plugin-liquid': - optional: true - '@trivago/prettier-plugin-sort-imports': - optional: true - '@zackad/prettier-plugin-twig-melody': - optional: true - prettier-plugin-astro: - optional: true - prettier-plugin-css-order: - optional: true - prettier-plugin-import-sort: - optional: true - prettier-plugin-jsdoc: - optional: true - prettier-plugin-marko: - optional: true - prettier-plugin-multiline-arrays: - optional: true - prettier-plugin-organize-attributes: - optional: true - prettier-plugin-organize-imports: - optional: true - prettier-plugin-sort-imports: - optional: true - prettier-plugin-style-order: - optional: true - prettier-plugin-svelte: - optional: true - - prettier@3.3.3: - resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} - engines: {node: '>=14'} - hasBin: true - pretty-bytes@6.1.1: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} @@ -7308,9 +6690,6 @@ packages: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} - prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - property-information@6.5.0: resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} @@ -7320,10 +6699,6 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - pvtsutils@1.3.5: resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} @@ -7341,6 +6716,9 @@ packages: queue-tick@1.0.1: resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + queue@6.0.2: + resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + radix3@1.1.2: resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} @@ -7364,20 +6742,68 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - react-highlight-words@0.20.0: - resolution: {integrity: sha512-asCxy+jCehDVhusNmCBoxDf2mm1AJ//D+EzDx1m5K7EqsMBIHdZ5G4LdwbSEXqZq1Ros0G0UySWmAtntSph7XA==} - peerDependencies: - react: ^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0 - - react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + react-medium-image-zoom@5.2.8: + resolution: {integrity: sha512-ivnubZi/2GQcMTneQy5gjLxEQLenKu081844qqZ7/JvLxSh5YPF1TLq7s+5rc54dKa0jjPT8Zm2tiC0Sda6eIA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-promise-suspense@0.3.4: resolution: {integrity: sha512-I42jl7L3Ze6kZaq+7zXWSunBa3b1on5yfvUW6Eo/3fFOj6dZ5Bqmcd264nJbTK/gn1HjjILAjSwnZbV4RpSaNQ==} + react-remove-scroll-bar@2.3.6: + resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-remove-scroll@2.5.10: + resolution: {integrity: sha512-m3zvBRANPBw3qxVVjEIPEQinkcwlFZ4qyomuWVpNJdv4c6MvHfXV0C3L9Jx5rr3HeBHKNRX+1jreB5QloDIJjA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-remove-scroll@2.5.5: + resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-remove-scroll@2.5.7: + resolution: {integrity: sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-style-singleton@2.2.1: + resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + react@18.3.1: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} @@ -7415,16 +6841,14 @@ packages: resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} engines: {node: '>=4'} - reflect.getprototypeof@1.0.6: - resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} - engines: {node: '>= 0.4'} - regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-stringify@10.0.0: + resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==} relateurl@0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} @@ -7455,10 +6879,6 @@ packages: requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} @@ -7474,10 +6894,6 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true - resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} - hasBin: true - restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -7523,20 +6939,12 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} - safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -7546,16 +6954,12 @@ packages: 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'} + scroll-into-view-if-needed@3.1.0: + resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} scule@1.3.0: resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} - search-insights@2.17.0: - resolution: {integrity: sha512-AskayU3QNsXQzSL6v4LTYST7NNfs2HWyHHB+sdORP9chsytAhro5XRfToAMI/LAVYgNbzowVZTMfBRodgbUHKg==} - section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} @@ -7610,17 +7014,9 @@ packages: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - 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@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -7654,20 +7050,10 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-functional-loader@1.2.1: - resolution: {integrity: sha512-GPDrxrQkE7ijm35QlfPFVp5hBHR6ZcaUq42TEDgf1U5iTL3IDLFvKAbHE/ODqpdfJJ7Xn4cr/slBn12jjNPkaQ==} - - simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - sirv@2.0.4: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} @@ -7826,10 +7212,6 @@ packages: std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} - stoppable@1.1.0: resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} engines: {node: '>=4', npm: '>=6'} @@ -7853,27 +7235,6 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - string.prototype.includes@2.0.0: - resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} - - string.prototype.matchall@4.0.11: - resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} - engines: {node: '>= 0.4'} - - string.prototype.repeat@1.0.0: - resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} - - string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -7907,10 +7268,6 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - strip-literal@2.1.0: resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} @@ -7926,12 +7283,6 @@ packages: engines: {node: '>=4'} hasBin: true - 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==} - styled-jsx@5.1.1: resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} @@ -7962,10 +7313,6 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - supports-color@9.4.0: resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} engines: {node: '>=12'} @@ -7974,12 +7321,17 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + swr@2.2.5: + resolution: {integrity: sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 + system-architecture@0.1.0: resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} engines: {node: '>=18'} - tabbable@6.2.0: - resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + tailwind-merge@2.5.2: + resolution: {integrity: sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==} tailwind-scrollbar@3.1.0: resolution: {integrity: sha512-pmrtDIZeHyu2idTejfV59SbaJyvp1VRjYxAjZBH0jnyrPRo6HL1kD5Glz8VPagasqr6oAx6M05+Tuw429Z8jxg==} @@ -7997,10 +7349,6 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -8018,22 +7366,6 @@ packages: peerDependencies: solid-js: ^1.8 - 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'} @@ -8042,9 +7374,6 @@ packages: text-decoder@1.1.1: resolution: {integrity: sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -8109,12 +7438,6 @@ packages: 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==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -8131,9 +7454,6 @@ packages: typescript: 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'} @@ -8149,10 +7469,6 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - type-detect@4.1.0: resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} engines: {node: '>=4'} @@ -8165,22 +7481,6 @@ packages: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} - typescript@5.5.4: resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} engines: {node: '>=14.17'} @@ -8189,9 +7489,6 @@ packages: ufo@1.5.4: resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} @@ -8224,12 +7521,6 @@ packages: unimport@3.11.1: resolution: {integrity: sha512-DuB1Uoq01LrrXTScxnwOoMSlTXxyKcULguFxbLrMDFcE/CO0ZWHpEiyhovN0mycPt7K6luAHe8laqvwvuoeUPg==} - unist-util-filter@5.0.1: - resolution: {integrity: sha512-pHx7D4Zt6+TsfwylH9+lYhBhzyhEnCXs/lbq/Hstxno5z4gVdyc2WEW0asfjGKPyG4pEKrnBv5hdkO6+aRnQJw==} - - unist-util-is@5.2.1: - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} - unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -8245,15 +7536,9 @@ packages: unist-util-stringify-position@4.0.0: resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - unist-util-visit-parents@5.1.3: - resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} - unist-util-visit-parents@6.0.1: resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - unist-util-visit@4.1.2: - resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} - unist-util-visit@5.0.0: resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} @@ -8361,12 +7646,29 @@ packages: uqr@0.1.2: resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - urlpattern-polyfill@8.0.2: resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} + use-callback-ref@1.3.2: + resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-sidecar@1.1.2: + resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + use-sync-external-store@1.2.2: resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} peerDependencies: @@ -8386,6 +7688,9 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + vfile-message@4.0.2: resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} @@ -8498,13 +7803,12 @@ packages: jsdom: optional: true - 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==} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -8515,38 +7819,13 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.94.0: - resolution: {integrity: sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - - which-builtin-type@1.1.4: - resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} - engines: {node: '>= 0.4'} - - which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} - - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true which@4.0.0: resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} @@ -8565,10 +7844,6 @@ packages: resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} engines: {node: '>=12'} - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - workerd@1.20240821.1: resolution: {integrity: sha512-y4phjCnEG96u8ZkgkkHB+gSw0i6uMNo23rBmixylWpjxDklB+LWD8dztasvsu7xGaZbLoTxQESdEw956F7VJDA==} engines: {node: '>=16'} @@ -8661,10 +7936,6 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - youch@3.3.3: resolution: {integrity: sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==} @@ -8675,88 +7946,11 @@ packages: zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} - zustand@4.5.5: - resolution: {integrity: sha512-+0PALYNJNgK6hldkgDq2vLrw5f6g/jCInz52n9RTpropGgeAf/ioFUCdtsjCqu4gNhW9D01rUQBROoRjdzyn2Q==} - engines: {node: '>=12.7.0'} - peerDependencies: - '@types/react': '>=16.8' - immer: '>=9.0.6' - react: '>=16.8' - peerDependenciesMeta: - '@types/react': - optional: true - immer: - optional: true - react: - optional: true - zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@algolia/autocomplete-core@1.17.4(@algolia/client-search@5.1.1)(algoliasearch@5.1.1)(search-insights@2.17.0)': - dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.4(@algolia/client-search@5.1.1)(algoliasearch@5.1.1)(search-insights@2.17.0) - '@algolia/autocomplete-shared': 1.17.4(@algolia/client-search@5.1.1)(algoliasearch@5.1.1) - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - search-insights - - '@algolia/autocomplete-plugin-algolia-insights@1.17.4(@algolia/client-search@5.1.1)(algoliasearch@5.1.1)(search-insights@2.17.0)': - dependencies: - '@algolia/autocomplete-shared': 1.17.4(@algolia/client-search@5.1.1)(algoliasearch@5.1.1) - search-insights: 2.17.0 - transitivePeerDependencies: - - '@algolia/client-search' - - algoliasearch - - '@algolia/autocomplete-shared@1.17.4(@algolia/client-search@5.1.1)(algoliasearch@5.1.1)': - dependencies: - '@algolia/client-search': 5.1.1 - algoliasearch: 5.1.1 - - '@algolia/client-abtesting@5.1.1': - dependencies: - '@algolia/client-common': 5.1.1 - '@algolia/requester-browser-xhr': 5.1.1 - '@algolia/requester-node-http': 5.1.1 - - '@algolia/client-analytics@5.1.1': - dependencies: - '@algolia/client-common': 5.1.1 - '@algolia/requester-browser-xhr': 5.1.1 - '@algolia/requester-node-http': 5.1.1 - - '@algolia/client-common@5.1.1': {} - - '@algolia/client-personalization@5.1.1': - dependencies: - '@algolia/client-common': 5.1.1 - '@algolia/requester-browser-xhr': 5.1.1 - '@algolia/requester-node-http': 5.1.1 - - '@algolia/client-search@5.1.1': - dependencies: - '@algolia/client-common': 5.1.1 - '@algolia/requester-browser-xhr': 5.1.1 - '@algolia/requester-node-http': 5.1.1 - - '@algolia/recommend@5.1.1': - dependencies: - '@algolia/client-common': 5.1.1 - '@algolia/requester-browser-xhr': 5.1.1 - '@algolia/requester-node-http': 5.1.1 - - '@algolia/requester-browser-xhr@5.1.1': - dependencies: - '@algolia/client-common': 5.1.1 - - '@algolia/requester-node-http@5.1.1': - dependencies: - '@algolia/client-common': 5.1.1 - '@alloc/quick-lru@5.2.0': {} '@ampproject/remapping@2.3.0': @@ -9383,6 +8577,19 @@ snapshots: yaml: 2.5.0 zod: 3.23.8 + '@content-collections/markdown@0.1.0(@content-collections/core@0.6.4(typescript@5.5.4))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@content-collections/core': 0.6.4(typescript@5.5.4) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + rehype-raw: 7.0.0 + rehype-stringify: 10.0.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + '@content-collections/solid-start@0.1.1(@content-collections/core@0.6.4(typescript@5.5.4))(vite@5.4.2(@types/node@22.5.0)(terser@5.31.6))': dependencies: '@content-collections/core': 0.6.4(typescript@5.5.4) @@ -9438,14 +8645,6 @@ snapshots: dependencies: tslib: 2.7.0 - '@emotion/is-prop-valid@1.3.0': - dependencies: - '@emotion/memoize': 0.9.0 - optional: true - - '@emotion/memoize@0.9.0': - optional: true - '@esbuild-kit/core-utils@3.3.2': dependencies: esbuild: 0.18.20 @@ -9946,39 +9145,6 @@ snapshots: '@esbuild/win32-x64@0.23.1': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.9.1(jiti@1.21.6))': - dependencies: - eslint: 9.9.1(jiti@1.21.6) - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.11.0': {} - - '@eslint/config-array@0.18.0': - dependencies: - '@eslint/object-schema': 2.1.4 - debug: 4.3.6 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@eslint/eslintrc@3.1.0': - dependencies: - ajv: 6.12.6 - debug: 4.3.6 - espree: 10.1.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@9.9.1': {} - - '@eslint/object-schema@2.1.4': {} - '@fastify/busboy@2.1.1': {} '@floating-ui/core@1.6.7': @@ -9996,32 +9162,15 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@floating-ui/react@0.26.22(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) - '@floating-ui/utils': 0.2.7 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - tabbable: 6.2.0 - '@floating-ui/utils@0.2.7': {} '@fontsource-variable/inter@5.0.20': {} '@fontsource/inter@5.0.20': {} - '@headlessui/react@2.1.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@floating-ui/react': 0.26.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/focus': 3.18.2(react@18.3.1) - '@react-aria/interactions': 3.22.2(react@18.3.1) - '@tanstack/react-virtual': 3.10.4(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) - - '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.10)': + '@formatjs/intl-localematcher@0.5.4': dependencies: - tailwindcss: 3.4.10 + tslib: 2.7.0 '@hexagon/base64@1.1.28': {} @@ -10030,10 +9179,6 @@ snapshots: hono: 4.5.8 zod: 3.23.8 - '@humanwhocodes/module-importer@1.0.1': {} - - '@humanwhocodes/retry@0.3.0': {} - '@iconify/json@2.2.241': dependencies: '@iconify/types': 2.0.0 @@ -10053,81 +9198,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@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.2.0 - optional: true - - '@img/sharp-win32-ia32@0.33.5': - optional: true - - '@img/sharp-win32-x64@0.33.5': - optional: true - '@internationalized/date@3.5.5': dependencies: '@swc/helpers': 0.5.12 @@ -10389,48 +9459,6 @@ snapshots: - valibot - vite - '@mdx-js/loader@3.0.1(webpack@5.94.0(@swc/core@1.7.18(@swc/helpers@0.5.12))(esbuild@0.19.12))': - dependencies: - '@mdx-js/mdx': 3.0.1 - source-map: 0.7.4 - webpack: 5.94.0(@swc/core@1.7.18(@swc/helpers@0.5.12))(esbuild@0.19.12) - transitivePeerDependencies: - - supports-color - - '@mdx-js/mdx@3.0.1': - dependencies: - '@types/estree': 1.0.5 - '@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-walker: 3.0.3 - hast-util-to-estree: 3.1.0 - hast-util-to-jsx-runtime: 2.3.0 - markdown-extensions: 2.0.0 - periscopic: 3.1.0 - remark-mdx: 3.0.1 - remark-parse: 11.0.0 - remark-rehype: 11.1.0 - 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 - transitivePeerDependencies: - - supports-color - - '@mdx-js/react@3.0.1(@types/react@18.3.4)(react@18.3.1)': - dependencies: - '@types/mdx': 2.0.13 - '@types/react': 18.3.4 - react: 18.3.1 - '@microsoft/microsoft-graph-client@3.0.7': dependencies: '@babel/runtime': 7.25.4 @@ -10459,17 +9487,6 @@ snapshots: '@next/env@14.2.6': {} - '@next/eslint-plugin-next@14.2.6': - dependencies: - glob: 10.3.10 - - '@next/mdx@14.2.6(@mdx-js/loader@3.0.1(webpack@5.94.0(@swc/core@1.7.18(@swc/helpers@0.5.12))(esbuild@0.19.12)))(@mdx-js/react@3.0.1(@types/react@18.3.4)(react@18.3.1))': - dependencies: - source-map: 0.7.4 - optionalDependencies: - '@mdx-js/loader': 3.0.1(webpack@5.94.0(@swc/core@1.7.18(@swc/helpers@0.5.12))(esbuild@0.19.12)) - '@mdx-js/react': 3.0.1(@types/react@18.3.4)(react@18.3.1) - '@next/swc-darwin-arm64@14.2.3': optional: true @@ -10737,122 +9754,546 @@ snapshots: '@parcel/watcher-linux-arm64-musl@2.4.1': optional: true - '@parcel/watcher-linux-x64-glibc@2.4.1': - optional: true + '@parcel/watcher-linux-x64-glibc@2.4.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.4.1': + optional: true + + '@parcel/watcher-wasm@2.3.0': + dependencies: + is-glob: 4.0.3 + micromatch: 4.0.8 + + '@parcel/watcher-wasm@2.4.1': + dependencies: + is-glob: 4.0.3 + micromatch: 4.0.8 + + '@parcel/watcher-win32-arm64@2.4.1': + optional: true + + '@parcel/watcher-win32-ia32@2.4.1': + optional: true + + '@parcel/watcher-win32-x64@2.4.1': + optional: true + + '@parcel/watcher@2.4.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.4.1 + '@parcel/watcher-darwin-arm64': 2.4.1 + '@parcel/watcher-darwin-x64': 2.4.1 + '@parcel/watcher-freebsd-x64': 2.4.1 + '@parcel/watcher-linux-arm-glibc': 2.4.1 + '@parcel/watcher-linux-arm64-glibc': 2.4.1 + '@parcel/watcher-linux-arm64-musl': 2.4.1 + '@parcel/watcher-linux-x64-glibc': 2.4.1 + '@parcel/watcher-linux-x64-musl': 2.4.1 + '@parcel/watcher-win32-arm64': 2.4.1 + '@parcel/watcher-win32-ia32': 2.4.1 + '@parcel/watcher-win32-x64': 2.4.1 + + '@peculiar/asn1-android@2.3.13': + dependencies: + '@peculiar/asn1-schema': 2.3.13 + asn1js: 3.0.5 + tslib: 2.7.0 + + '@peculiar/asn1-ecc@2.3.13': + dependencies: + '@peculiar/asn1-schema': 2.3.13 + '@peculiar/asn1-x509': 2.3.13 + asn1js: 3.0.5 + tslib: 2.7.0 + + '@peculiar/asn1-rsa@2.3.13': + dependencies: + '@peculiar/asn1-schema': 2.3.13 + '@peculiar/asn1-x509': 2.3.13 + asn1js: 3.0.5 + tslib: 2.7.0 + + '@peculiar/asn1-schema@2.3.13': + dependencies: + asn1js: 3.0.5 + pvtsutils: 1.3.5 + tslib: 2.7.0 + + '@peculiar/asn1-x509@2.3.13': + dependencies: + '@peculiar/asn1-schema': 2.3.13 + asn1js: 3.0.5 + ipaddr.js: 2.2.0 + pvtsutils: 1.3.5 + tslib: 2.7.0 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@planetscale/database@1.19.0': {} + + '@polka/url@1.0.0-next.25': {} + + '@radix-ui/number@1.1.0': {} + + '@radix-ui/primitive@1.0.1': + dependencies: + '@babel/runtime': 7.25.4 + + '@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)': + 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) + 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 + + '@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)': + 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) + 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 + + '@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)': + 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) + 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 + + '@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)': + 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) + 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 + + '@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.4)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.4 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 + + '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.4)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 + + '@radix-ui/react-context@1.0.1(@types/react@18.3.4)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.4 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 + + '@radix-ui/react-context@1.1.0(@types/react@18.3.4)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 + + '@radix-ui/react-dialog@1.0.5(@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: + '@babel/runtime': 7.25.4 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.4)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.4)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.0.5(@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.0.1(@types/react@18.3.4)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.0.4(@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.0.1(@types/react@18.3.4)(react@18.3.1) + '@radix-ui/react-portal': 1.0.4(@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.0.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': 1.0.3(@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.0.2(@types/react@18.3.4)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.4)(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.5(@types/react@18.3.4)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.4 + '@types/react-dom': 18.3.0 + + '@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)': + 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) + 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) + optionalDependencies: + '@types/react': 18.3.4 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-direction@1.1.0(@types/react@18.3.4)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 + + '@radix-ui/react-dismissable-layer@1.0.5(@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: + '@babel/runtime': 7.25.4 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.4)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@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.0.1(@types/react@18.3.4)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.4)(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 + + '@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)': + 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) + 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 + + '@radix-ui/react-focus-guards@1.0.1(@types/react@18.3.4)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.4 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 + + '@radix-ui/react-focus-guards@1.1.0(@types/react@18.3.4)(react@18.3.1)': + dependencies: + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 + + '@radix-ui/react-focus-scope@1.0.4(@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: + '@babel/runtime': 7.25.4 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.4)(react@18.3.1) + '@radix-ui/react-primitive': 1.0.3(@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.0.1(@types/react@18.3.4)(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 + + '@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)': + 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) + 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 + + '@radix-ui/react-id@1.0.1(@types/react@18.3.4)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.4 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.4)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 + + '@radix-ui/react-id@1.1.0(@types/react@18.3.4)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.4)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 + + '@radix-ui/react-popover@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)': + 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-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-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) + 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) + 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) + '@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 - '@parcel/watcher-linux-x64-musl@2.4.1': - optional: true + '@radix-ui/react-portal@1.0.4(@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: + '@babel/runtime': 7.25.4 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.4)(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 - '@parcel/watcher-wasm@2.3.0': + '@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)': dependencies: - is-glob: 4.0.3 - micromatch: 4.0.8 + '@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) + 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 - '@parcel/watcher-wasm@2.4.1': + '@radix-ui/react-presence@1.0.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)': dependencies: - is-glob: 4.0.3 - micromatch: 4.0.8 + '@babel/runtime': 7.25.4 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.4)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.4)(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 - '@parcel/watcher-win32-arm64@2.4.1': - optional: true + '@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)': + 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) + 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 - '@parcel/watcher-win32-ia32@2.4.1': - optional: true + '@radix-ui/react-primitive@1.0.3(@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: + '@babel/runtime': 7.25.4 + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.4)(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 - '@parcel/watcher-win32-x64@2.4.1': - optional: true + '@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)': + dependencies: + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.4)(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 + + '@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)': + 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) + 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 + + '@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)': + 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) + 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 - '@parcel/watcher@2.4.1': + '@radix-ui/react-slot@1.0.2(@types/react@18.3.4)(react@18.3.1)': dependencies: - detect-libc: 1.0.3 - is-glob: 4.0.3 - micromatch: 4.0.8 - node-addon-api: 7.1.1 + '@babel/runtime': 7.25.4 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.4)(react@18.3.1) + react: 18.3.1 optionalDependencies: - '@parcel/watcher-android-arm64': 2.4.1 - '@parcel/watcher-darwin-arm64': 2.4.1 - '@parcel/watcher-darwin-x64': 2.4.1 - '@parcel/watcher-freebsd-x64': 2.4.1 - '@parcel/watcher-linux-arm-glibc': 2.4.1 - '@parcel/watcher-linux-arm64-glibc': 2.4.1 - '@parcel/watcher-linux-arm64-musl': 2.4.1 - '@parcel/watcher-linux-x64-glibc': 2.4.1 - '@parcel/watcher-linux-x64-musl': 2.4.1 - '@parcel/watcher-win32-arm64': 2.4.1 - '@parcel/watcher-win32-ia32': 2.4.1 - '@parcel/watcher-win32-x64': 2.4.1 + '@types/react': 18.3.4 - '@peculiar/asn1-android@2.3.13': + '@radix-ui/react-slot@1.1.0(@types/react@18.3.4)(react@18.3.1)': dependencies: - '@peculiar/asn1-schema': 2.3.13 - asn1js: 3.0.5 - tslib: 2.7.0 + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.4)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 - '@peculiar/asn1-ecc@2.3.13': + '@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)': dependencies: - '@peculiar/asn1-schema': 2.3.13 - '@peculiar/asn1-x509': 2.3.13 - asn1js: 3.0.5 - tslib: 2.7.0 + '@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) + 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 - '@peculiar/asn1-rsa@2.3.13': + '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.4)(react@18.3.1)': dependencies: - '@peculiar/asn1-schema': 2.3.13 - '@peculiar/asn1-x509': 2.3.13 - asn1js: 3.0.5 - tslib: 2.7.0 + '@babel/runtime': 7.25.4 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 - '@peculiar/asn1-schema@2.3.13': + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.4)(react@18.3.1)': dependencies: - asn1js: 3.0.5 - pvtsutils: 1.3.5 - tslib: 2.7.0 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 - '@peculiar/asn1-x509@2.3.13': + '@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.4)(react@18.3.1)': dependencies: - '@peculiar/asn1-schema': 2.3.13 - asn1js: 3.0.5 - ipaddr.js: 2.2.0 - pvtsutils: 1.3.5 - tslib: 2.7.0 + '@babel/runtime': 7.25.4 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.4)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 - '@pkgjs/parseargs@0.11.0': - optional: true + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.4)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.4)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 - '@planetscale/database@1.19.0': {} + '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.4)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.25.4 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.4)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 - '@polka/url@1.0.0-next.25': {} + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.4)(react@18.3.1)': + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.4)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 - '@react-aria/focus@3.18.2(react@18.3.1)': + '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.4)(react@18.3.1)': dependencies: - '@react-aria/interactions': 3.22.2(react@18.3.1) - '@react-aria/utils': 3.25.2(react@18.3.1) - '@react-types/shared': 3.24.1(react@18.3.1) - '@swc/helpers': 0.5.12 - clsx: 2.1.1 + '@babel/runtime': 7.25.4 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 - '@react-aria/interactions@3.22.2(react@18.3.1)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.4)(react@18.3.1)': dependencies: - '@react-aria/ssr': 3.9.5(react@18.3.1) - '@react-aria/utils': 3.25.2(react@18.3.1) - '@react-types/shared': 3.24.1(react@18.3.1) - '@swc/helpers': 0.5.12 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 - '@react-aria/ssr@3.9.5(react@18.3.1)': + '@radix-ui/react-use-rect@1.1.0(@types/react@18.3.4)(react@18.3.1)': dependencies: - '@swc/helpers': 0.5.12 + '@radix-ui/rect': 1.1.0 react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 - '@react-aria/utils@3.25.2(react@18.3.1)': + '@radix-ui/react-use-size@1.1.0(@types/react@18.3.4)(react@18.3.1)': dependencies: - '@react-aria/ssr': 3.9.5(react@18.3.1) - '@react-stately/utils': 3.10.3(react@18.3.1) - '@react-types/shared': 3.24.1(react@18.3.1) - '@swc/helpers': 0.5.12 - clsx: 2.1.1 + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.4)(react@18.3.1) react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.4 + + '@radix-ui/rect@1.1.0': {} '@react-email/body@0.0.10(react@18.3.1)': dependencies: @@ -10966,15 +10407,6 @@ snapshots: dependencies: react: 18.3.1 - '@react-stately/utils@3.10.3(react@18.3.1)': - dependencies: - '@swc/helpers': 0.5.12 - react: 18.3.1 - - '@react-types/shared@3.24.1(react@18.3.1)': - dependencies: - react: 18.3.1 - '@rollup/plugin-alias@5.1.0(rollup@4.21.0)': dependencies: slash: 4.0.0 @@ -11093,8 +10525,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.21.0': optional: true - '@rushstack/eslint-patch@1.10.4': {} - '@selderee/plugin-htmlparser2@0.11.0': dependencies: domhandler: 5.0.3 @@ -11104,6 +10534,19 @@ snapshots: dependencies: '@types/hast': 3.0.4 + '@shikijs/rehype@1.14.1': + dependencies: + '@shikijs/transformers': 1.14.1 + '@types/hast': 3.0.4 + hast-util-to-string: 3.0.0 + shiki: 1.14.1 + unified: 11.0.5 + unist-util-visit: 5.0.0 + + '@shikijs/transformers@1.14.1': + dependencies: + shiki: 1.14.1 + '@simplewebauthn/browser@10.0.0': dependencies: '@simplewebauthn/types': 10.0.0 @@ -11130,15 +10573,6 @@ snapshots: '@sindresorhus/merge-streams@2.3.0': {} - '@sindresorhus/slugify@2.2.1': - dependencies: - '@sindresorhus/transliterate': 1.6.0 - escape-string-regexp: 5.0.0 - - '@sindresorhus/transliterate@1.6.0': - dependencies: - escape-string-regexp: 5.0.0 - '@smithy/abort-controller@2.2.0': dependencies: '@smithy/types': 2.12.0 @@ -11763,12 +11197,6 @@ snapshots: dependencies: '@tanstack/query-core': 5.52.0 - '@tanstack/react-virtual@3.10.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@tanstack/virtual-core': 3.10.4 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - '@tanstack/solid-form@0.29.2(patch_hash=3rmbkdlcrpc2wqkfslk65dtvh4)(solid-js@1.8.21)': dependencies: '@tanstack/form-core': 0.29.2 @@ -11884,16 +11312,10 @@ snapshots: dependencies: '@types/node': 22.5.0 - '@types/json-schema@7.0.15': {} - - '@types/json5@0.0.29': {} - '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 - '@types/mdx@2.0.13': {} - '@types/micromatch@4.0.9': dependencies: '@types/braces': 3.0.4 @@ -11923,10 +11345,6 @@ snapshots: dependencies: '@types/react': 18.3.4 - '@types/react-highlight-words@0.20.0': - dependencies: - '@types/react': 18.3.4 - '@types/react@18.3.4': dependencies: '@types/prop-types': 15.7.12 @@ -11938,46 +11356,6 @@ snapshots: '@types/unist@3.0.3': {} - '@typescript-eslint/parser@7.2.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)': - 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: 9.9.1(jiti@1.21.6) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@7.2.0': - dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 - - '@typescript-eslint/types@7.2.0': {} - - '@typescript-eslint/typescript-estree@7.2.0(typescript@5.5.4)': - dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 - debug: 4.3.6 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.4) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/visitor-keys@7.2.0': - dependencies: - '@typescript-eslint/types': 7.2.0 - eslint-visitor-keys: 3.4.3 - '@ungap/structured-clone@1.2.0': {} '@vercel/nft@0.26.5(encoding@0.1.13)': @@ -12057,119 +11435,39 @@ snapshots: '@vitest/expect@2.0.5': dependencies: - '@vitest/spy': 2.0.5 - '@vitest/utils': 2.0.5 - chai: 5.1.1 - tinyrainbow: 1.2.0 - - '@vitest/pretty-format@2.0.5': - dependencies: - tinyrainbow: 1.2.0 - - '@vitest/runner@2.0.5': - dependencies: - '@vitest/utils': 2.0.5 - pathe: 1.1.2 - - '@vitest/snapshot@2.0.5': - dependencies: - '@vitest/pretty-format': 2.0.5 - magic-string: 0.30.11 - pathe: 1.1.2 - - '@vitest/spy@2.0.5': - dependencies: - tinyspy: 3.0.0 - - '@vitest/utils@2.0.5': - dependencies: - '@vitest/pretty-format': 2.0.5 - estree-walker: 3.0.3 - loupe: 3.1.1 - tinyrainbow: 1.2.0 - - '@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': - 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': {} - - '@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': {} + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + tinyrainbow: 1.2.0 - '@webassemblyjs/wasm-edit@1.12.1': + '@vitest/pretty-format@2.0.5': 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 + tinyrainbow: 1.2.0 - '@webassemblyjs/wasm-gen@1.12.1': + '@vitest/runner@2.0.5': 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 + '@vitest/utils': 2.0.5 + pathe: 1.1.2 - '@webassemblyjs/wasm-opt@1.12.1': + '@vitest/snapshot@2.0.5': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 + '@vitest/pretty-format': 2.0.5 + magic-string: 0.30.11 + pathe: 1.1.2 - '@webassemblyjs/wasm-parser@1.12.1': + '@vitest/spy@2.0.5': 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 + tinyspy: 3.0.0 - '@webassemblyjs/wast-printer@1.12.1': + '@vitest/utils@2.0.5': dependencies: - '@webassemblyjs/ast': 1.12.1 - '@xtuc/long': 4.2.2 + '@vitest/pretty-format': 2.0.5 + estree-walker: 3.0.3 + loupe: 3.1.1 + tinyrainbow: 1.2.0 '@xmldom/xmldom@0.8.10': {} - '@xtuc/ieee754@1.2.0': {} - - '@xtuc/long@4.2.2': {} - '@yarnpkg/lockfile@1.1.0': {} '@yarnpkg/parsers@3.0.0-rc.46': @@ -12222,28 +11520,6 @@ snapshots: transitivePeerDependencies: - supports-color - ajv-keywords@3.5.2(ajv@6.12.6): - dependencies: - ajv: 6.12.6 - - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - algoliasearch@5.1.1: - dependencies: - '@algolia/client-abtesting': 5.1.1 - '@algolia/client-analytics': 5.1.1 - '@algolia/client-common': 5.1.1 - '@algolia/client-personalization': 5.1.1 - '@algolia/client-search': 5.1.1 - '@algolia/recommend': 5.1.1 - '@algolia/requester-browser-xhr': 5.1.1 - '@algolia/requester-node-http': 5.1.1 - ansi-align@3.0.1: dependencies: string-width: 4.2.3 @@ -12308,76 +11584,9 @@ snapshots: argparse@2.0.1: {} - aria-query@5.1.3: - dependencies: - deep-equal: 2.2.3 - - array-buffer-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - - array-includes@3.1.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - is-string: 1.0.7 - - array-union@2.1.0: {} - - array.prototype.findlast@1.2.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-shim-unscopables: 1.0.2 - - array.prototype.findlastindex@1.2.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-shim-unscopables: 1.0.2 - - array.prototype.flat@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - - array.prototype.flatmap@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 - - array.prototype.tosorted@1.1.4: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-shim-unscopables: 1.0.2 - - arraybuffer.prototype.slice@1.0.3: + aria-hidden@1.2.4: dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 + tslib: 2.7.0 as-table@1.0.55: dependencies: @@ -12391,8 +11600,6 @@ snapshots: assertion-error@2.0.1: {} - ast-types-flow@0.0.8: {} - ast-types@0.16.1: dependencies: tslib: 2.7.0 @@ -12415,16 +11622,10 @@ snapshots: postcss: 8.4.41 postcss-value-parser: 4.2.0 - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.0.0 - aws-ssl-profiles@1.1.1: {} aws4fetch@1.0.19: {} - axe-core@4.10.0: {} - axios@1.7.5: dependencies: follow-redirects: 1.15.6 @@ -12433,10 +11634,6 @@ snapshots: transitivePeerDependencies: - debug - axobject-query@3.1.1: - dependencies: - deep-equal: 2.2.3 - b4a@1.6.6: {} babel-plugin-jsx-dom-expressions@0.38.1(@babel/core@7.25.2): @@ -12468,8 +11665,6 @@ snapshots: big-integer@1.6.52: {} - big.js@5.2.2: {} - binary-extensions@2.3.0: {} bindings@1.5.0: @@ -12574,8 +11769,6 @@ snapshots: call-me-maybe@1.0.2: {} - callsites@3.1.0: {} - camel-case@4.1.2: dependencies: pascal-case: 3.1.2 @@ -12647,8 +11840,6 @@ snapshots: chownr@2.0.0: {} - chrome-trace-event@1.0.4: {} - citty@0.1.6: dependencies: consola: 3.2.3 @@ -12701,9 +11892,17 @@ snapshots: '@solid-primitives/mutation-observer': 1.1.17(solid-js@1.8.21) solid-js: 1.8.21 - codejar@4.2.0: {} + cmdk@1.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): + dependencies: + '@radix-ui/react-dialog': 1.0.5(@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': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.4)(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) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' - collapse-white-space@2.1.0: {} + codejar@4.2.0: {} color-convert@1.9.3: dependencies: @@ -12717,18 +11916,8 @@ snapshots: color-name@1.1.4: {} - color-string@1.9.1: - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - color-support@1.1.3: {} - color@4.2.3: - dependencies: - color-convert: 2.0.1 - color-string: 1.9.1 - colorette@2.0.20: {} combined-stream@1.0.8: @@ -12757,6 +11946,8 @@ snapshots: normalize-path: 3.0.0 readable-stream: 4.5.2 + compute-scroll-into-view@3.1.0: {} + concat-map@0.0.1: {} confbox@0.1.7: {} @@ -12830,28 +12021,8 @@ snapshots: csstype@3.1.3: {} - damerau-levenshtein@1.0.8: {} - data-uri-to-buffer@2.0.2: {} - data-view-buffer@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-byte-offset@1.0.0: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - date-fns@3.6.0: {} dax-sh@0.39.2: @@ -12869,10 +12040,6 @@ snapshots: dependencies: ms: 2.0.0 - debug@3.2.7: - dependencies: - ms: 2.1.3 - debug@4.3.6: dependencies: ms: 2.1.2 @@ -12883,29 +12050,6 @@ snapshots: deep-eql@5.0.2: {} - 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: {} default-browser-id@3.0.0: @@ -12934,12 +12078,6 @@ snapshots: define-lazy-prop@3.0.0: {} - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - defu@6.1.4: {} delayed-stream@1.0.0: {} @@ -12960,6 +12098,8 @@ snapshots: detect-libc@2.0.3: {} + detect-node-es@1.1.0: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -12970,16 +12110,8 @@ snapshots: diff-sequences@29.6.3: {} - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - dlv@1.1.3: {} - doctrine@2.1.0: - dependencies: - esutils: 2.0.3 - dom-serializer@1.4.1: dependencies: domelementtype: 2.3.0 @@ -13074,8 +12206,6 @@ snapshots: emoji-regex@9.2.2: {} - emojis-list@3.0.0: {} - encodeurl@1.0.2: {} encoding@0.1.13: @@ -13106,11 +12236,6 @@ snapshots: - supports-color - utf-8-validate - enhanced-resolve@5.17.1: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - enquirer@2.3.6: dependencies: ansi-colors: 4.1.3 @@ -13125,112 +12250,14 @@ snapshots: dependencies: stackframe: 1.3.4 - es-abstract@1.23.3: - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.2 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - es-define-property@1.0.0: dependencies: get-intrinsic: 1.2.4 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: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-set-tostringtag: 2.0.3 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - globalthis: 1.0.4 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - internal-slot: 1.0.7 - iterator.prototype: 1.1.2 - safe-array-concat: 1.1.2 - es-module-lexer@1.5.4: {} - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.0.3: - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-shim-unscopables@1.0.2: - dependencies: - hasown: 2.0.2 - - es-to-primitive@1.2.1: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - esbuild-register@3.6.0(esbuild@0.19.12): dependencies: debug: 4.3.6 @@ -13429,231 +12456,9 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-next@14.2.6(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4): - dependencies: - '@next/eslint-plugin-next': 14.2.6 - '@rushstack/eslint-patch': 1.10.4 - '@typescript-eslint/parser': 7.2.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) - eslint: 9.9.1(jiti@1.21.6) - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@9.9.1(jiti@1.21.6)))(eslint@9.9.1(jiti@1.21.6)) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.9.1(jiti@1.21.6)) - eslint-plugin-jsx-a11y: 6.9.0(eslint@9.9.1(jiti@1.21.6)) - eslint-plugin-react: 7.35.0(eslint@9.9.1(jiti@1.21.6)) - eslint-plugin-react-hooks: 4.6.2(eslint@9.9.1(jiti@1.21.6)) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - eslint-import-resolver-webpack - - supports-color - - eslint-import-resolver-node@0.3.9: - dependencies: - debug: 3.2.7 - 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@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@9.9.1(jiti@1.21.6)))(eslint@9.9.1(jiti@1.21.6)): - dependencies: - debug: 4.3.6 - enhanced-resolve: 5.17.1 - eslint: 9.9.1(jiti@1.21.6) - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@9.9.1(jiti@1.21.6))(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@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@9.9.1(jiti@1.21.6)))(eslint@9.9.1(jiti@1.21.6)))(eslint@9.9.1(jiti@1.21.6)) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.9.1(jiti@1.21.6)) - fast-glob: 3.3.2 - get-tsconfig: 4.7.6 - is-core-module: 2.15.1 - is-glob: 4.0.3 - 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@9.9.1(jiti@1.21.6))(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@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@9.9.1(jiti@1.21.6)))(eslint@9.9.1(jiti@1.21.6)))(eslint@9.9.1(jiti@1.21.6)): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 7.2.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) - eslint: 9.9.1(jiti@1.21.6) - eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@9.9.1(jiti@1.21.6)))(eslint@9.9.1(jiti@1.21.6)) - transitivePeerDependencies: - - supports-color - - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-typescript@3.6.1)(eslint@9.9.1(jiti@1.21.6)): - dependencies: - 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: 9.9.1(jiti@1.21.6) - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@9.9.1(jiti@1.21.6))(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@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(eslint@9.9.1(jiti@1.21.6)))(eslint@9.9.1(jiti@1.21.6)))(eslint@9.9.1(jiti@1.21.6)) - hasown: 2.0.2 - 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 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 7.2.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - - eslint-plugin-jsx-a11y@6.9.0(eslint@9.9.1(jiti@1.21.6)): - dependencies: - aria-query: 5.1.3 - 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 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.19 - eslint: 9.9.1(jiti@1.21.6) - 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 - - eslint-plugin-react-hooks@4.6.2(eslint@9.9.1(jiti@1.21.6)): - dependencies: - eslint: 9.9.1(jiti@1.21.6) - - eslint-plugin-react@7.35.0(eslint@9.9.1(jiti@1.21.6)): - 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: 9.9.1(jiti@1.21.6) - estraverse: 5.3.0 - hasown: 2.0.2 - jsx-ast-utils: 3.3.5 - minimatch: 3.1.2 - object.entries: 1.1.8 - object.fromentries: 2.0.8 - object.values: 1.2.0 - prop-types: 15.8.1 - resolve: 2.0.0-next.5 - semver: 6.3.1 - string.prototype.matchall: 4.0.11 - string.prototype.repeat: 1.0.0 - - eslint-scope@5.1.1: - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - - eslint-scope@8.0.2: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - - eslint-visitor-keys@3.4.3: {} - - eslint-visitor-keys@4.0.0: {} - - eslint@9.9.1(jiti@1.21.6): - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@1.21.6)) - '@eslint-community/regexpp': 4.11.0 - '@eslint/config-array': 0.18.0 - '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.9.1 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.3.0 - '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.6 - escape-string-regexp: 4.0.0 - eslint-scope: 8.0.2 - eslint-visitor-keys: 4.0.0 - espree: 10.1.0 - esquery: 1.6.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.2 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 - optionalDependencies: - jiti: 1.21.6 - transitivePeerDependencies: - - supports-color - - espree@10.1.0: - dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 4.0.0 - - esprima@4.0.1: {} - - esquery@1.6.0: - dependencies: - estraverse: 5.3.0 - - esrecurse@4.3.0: - 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 - - estree-util-build-jsx@3.0.1: - dependencies: - '@types/estree-jsx': 1.0.5 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 - estree-walker: 3.0.3 - - estree-util-is-identifier-name@3.0.0: {} - - estree-util-to-js@2.0.0: - dependencies: - '@types/estree-jsx': 1.0.5 - astring: 1.8.6 - source-map: 0.7.4 - - estree-util-visit@1.2.1: - dependencies: - '@types/estree-jsx': 1.0.5 - '@types/unist': 2.0.11 + esprima@4.0.1: {} + + estree-util-is-identifier-name@3.0.0: {} estree-util-visit@2.0.0: dependencies: @@ -13668,8 +12473,6 @@ snapshots: dependencies: '@types/estree': 1.0.5 - esutils@2.0.3: {} - etag@1.8.1: {} event-target-shim@5.0.1: {} @@ -13726,8 +12529,6 @@ snapshots: fast-deep-equal@2.0.1: {} - fast-deep-equal@3.1.3: {} - fast-fifo@1.3.2: {} fast-glob@3.3.2: @@ -13738,10 +12539,6 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.8 - fast-json-stable-stringify@2.1.0: {} - - fast-levenshtein@2.0.6: {} - fast-xml-parser@4.2.5: dependencies: strnum: 1.0.5 @@ -13754,10 +12551,6 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - file-entry-cache@8.0.0: - dependencies: - flat-cache: 4.0.1 - file-uri-to-path@1.0.0: {} filelist@1.0.4: @@ -13768,28 +12561,12 @@ snapshots: dependencies: to-regex-range: 5.0.1 - find-up@5.0.0: - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - - flat-cache@4.0.1: - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - flat@5.0.2: {} - flatted@3.3.1: {} - - flexsearch@0.7.43: {} + flexsearch@0.7.21: {} follow-redirects@1.15.6: {} - for-each@0.3.3: - dependencies: - is-callable: 1.2.7 - foreground-child@3.3.0: dependencies: cross-spawn: 7.0.3 @@ -13803,14 +12580,6 @@ snapshots: fraction.js@4.3.7: {} - framer-motion@11.3.30(@emotion/is-prop-valid@1.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - tslib: 2.7.0 - optionalDependencies: - '@emotion/is-prop-valid': 1.3.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - fresh@0.5.2: {} front-matter@4.0.2: @@ -13843,16 +12612,59 @@ snapshots: fsevents@2.3.3: optional: true - function-bind@1.1.2: {} + fumadocs-core@13.3.2(@types/react@18.3.4)(next@14.2.6(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@formatjs/intl-localematcher': 0.5.4 + '@shikijs/rehype': 1.14.1 + '@shikijs/transformers': 1.14.1 + flexsearch: 0.7.21 + github-slugger: 2.0.0 + image-size: 1.1.1 + negotiator: 0.6.3 + next: 14.2.6(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + npm-to-yarn: 2.2.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-remove-scroll: 2.5.10(@types/react@18.3.4)(react@18.3.1) + remark: 15.0.1 + remark-gfm: 4.0.0 + remark-mdx: 3.0.1 + scroll-into-view-if-needed: 3.1.0 + shiki: 1.14.1 + swr: 2.2.5(react@18.3.1) + unist-util-visit: 5.0.0 + transitivePeerDependencies: + - '@types/react' + - supports-color - function.prototype.name@1.1.6: + fumadocs-ui@13.3.2(@types/react-dom@18.3.0)(@types/react@18.3.4)(next@14.2.6(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(tailwindcss@3.4.10): dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - functions-have-names: 1.2.3 + '@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-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-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-direction': 1.1.0(@types/react@18.3.4)(react@18.3.1) + '@radix-ui/react-popover': 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-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-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) + '@tailwindcss/typography': 0.5.14(tailwindcss@3.4.10) + class-variance-authority: 0.7.0 + cmdk: 1.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) + fumadocs-core: 13.3.2(@types/react@18.3.4)(next@14.2.6(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + lucide-react: 0.428.0(react@18.3.1) + next: 14.2.6(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + next-themes: 0.3.0(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) + react-medium-image-zoom: 5.2.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + swr: 2.2.5(react@18.3.1) + tailwind-merge: 2.5.2 + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + - supports-color + - tailwindcss - functions-have-names@1.2.3: {} + function-bind@1.1.2: {} gauge@3.0.2: dependencies: @@ -13884,6 +12696,8 @@ snapshots: has-symbols: 1.0.3 hasown: 2.0.2 + get-nonce@1.0.1: {} + get-port-please@3.1.2: {} get-source@2.0.12: @@ -13895,12 +12709,6 @@ snapshots: get-stream@8.0.1: {} - get-symbol-description@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - get-tsconfig@4.7.6: dependencies: resolve-pkg-maps: 1.0.0 @@ -13916,6 +12724,8 @@ snapshots: pathe: 1.1.2 tar: 6.2.1 + github-slugger@2.0.0: {} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -13926,14 +12736,6 @@ snapshots: glob-to-regexp@0.4.1: {} - glob@10.3.10: - dependencies: - foreground-child: 3.3.0 - jackspeak: 2.3.6 - minimatch: 9.0.5 - minipass: 7.1.2 - path-scurry: 1.11.1 - glob@10.3.4: dependencies: foreground-child: 3.3.0 @@ -13970,22 +12772,6 @@ snapshots: globals@11.12.0: {} - globals@14.0.0: {} - - globalthis@1.0.4: - dependencies: - 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@14.0.2: dependencies: '@sindresorhus/merge-streams': 2.3.0 @@ -14044,8 +12830,6 @@ snapshots: transitivePeerDependencies: - uWebSockets.js - has-bigints@1.0.2: {} - has-flag@3.0.0: {} has-flag@4.0.0: {} @@ -14058,64 +12842,85 @@ snapshots: has-symbols@1.0.3: {} - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.0.3 - has-unicode@2.0.1: {} hasown@2.0.2: dependencies: function-bind: 1.1.2 - hast-util-to-estree@3.1.0: + hast-util-from-parse5@8.0.1: dependencies: - '@types/estree': 1.0.5 - '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 - comma-separated-tokens: 2.0.3 + '@types/unist': 3.0.3 devlop: 1.1.0 - 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-mdxjs-esm: 2.0.1 + hastscript: 8.0.0 property-information: 6.5.0 - space-separated-tokens: 2.0.2 - style-to-object: 0.4.4 + vfile: 6.0.2 + vfile-location: 5.0.3 + web-namespaces: 2.0.1 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-raw@9.0.4: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.2.0 + hast-util-from-parse5: 8.0.1 + hast-util-to-parse5: 8.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + parse5: 7.1.2 unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.2 + web-namespaces: 2.0.1 zwitch: 2.0.4 - transitivePeerDependencies: - - supports-color - hast-util-to-jsx-runtime@2.3.0: + hast-util-to-html@9.0.1: dependencies: - '@types/estree': 1.0.5 '@types/hast': 3.0.4 '@types/unist': 3.0.3 + ccount: 2.0.1 comma-separated-tokens: 2.0.3 - devlop: 1.1.0 - estree-util-is-identifier-name: 3.0.0 + hast-util-raw: 9.0.4 hast-util-whitespace: 3.0.0 - mdast-util-mdx-expression: 2.0.0 - mdast-util-mdx-jsx: 3.1.2 - mdast-util-mdxjs-esm: 2.0.1 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 property-information: 6.5.0 space-separated-tokens: 2.0.2 - style-to-object: 1.0.6 - unist-util-position: 5.0.0 - vfile-message: 4.0.2 - transitivePeerDependencies: - - supports-color + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-to-parse5@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-to-string@3.0.0: + dependencies: + '@types/hast': 3.0.4 hast-util-whitespace@3.0.0: dependencies: '@types/hast': 3.0.4 - he@1.2.0: {} + hastscript@8.0.0: + dependencies: + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + hast-util-parse-selector: 4.0.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 - highlight-words-core@1.2.2: {} + he@1.2.0: {} hono@4.5.8: {} @@ -14143,6 +12948,8 @@ snapshots: htmlparser2: 8.0.2 selderee: 0.11.0 + html-void-elements@3.0.0: {} + htmlparser2@8.0.2: dependencies: domelementtype: 2.3.0 @@ -14195,12 +13002,9 @@ snapshots: ignore@5.3.2: {} - import-fresh@3.3.0: + image-size@1.1.1: dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - imurmurhash@0.1.4: {} + queue: 6.0.2 inflight@1.0.6: dependencies: @@ -14211,15 +13015,9 @@ snapshots: ini@1.3.8: {} - inline-style-parser@0.1.1: {} - - inline-style-parser@0.2.3: {} - - internal-slot@1.0.7: + invariant@2.2.4: dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.0.6 + loose-envify: 1.4.0 ioredis@5.4.1: dependencies: @@ -14246,53 +13044,18 @@ 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 - get-intrinsic: 1.2.4 - - is-arrayish@0.3.2: {} - - is-async-function@2.0.0: - dependencies: - has-tostringtag: 1.0.2 - - is-bigint@1.0.4: - dependencies: - has-bigints: 1.0.2 - is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.1.2: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - is-builtin-module@3.2.1: dependencies: builtin-modules: 3.3.0 - is-callable@1.2.7: {} - is-core-module@2.15.1: dependencies: hasown: 2.0.2 - is-data-view@1.0.1: - dependencies: - is-typed-array: 1.1.13 - - is-date-object@1.0.5: - dependencies: - has-tostringtag: 1.0.2 - is-decimal@2.0.1: {} is-docker@2.2.1: {} @@ -14303,16 +13066,8 @@ snapshots: is-extglob@2.1.1: {} - is-finalizationregistry@1.0.2: - dependencies: - call-bind: 1.0.7 - is-fullwidth-code-point@3.0.0: {} - is-generator-function@1.0.10: - dependencies: - has-tostringtag: 1.0.2 - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -14325,20 +13080,10 @@ snapshots: is-interactive@1.0.0: {} - is-map@2.0.3: {} - is-module@1.0.0: {} - is-negative-zero@2.0.3: {} - - is-number-object@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - is-number@7.0.0: {} - is-path-inside@3.0.3: {} - is-plain-obj@4.1.0: {} is-property@1.0.2: {} @@ -14347,50 +13092,12 @@ snapshots: dependencies: '@types/estree': 1.0.5 - is-reference@3.0.2: - dependencies: - '@types/estree': 1.0.5 - - is-regex@1.1.4: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - is-set@2.0.3: {} - - is-shared-array-buffer@1.0.3: - dependencies: - call-bind: 1.0.7 - is-stream@2.0.1: {} is-stream@3.0.0: {} - is-string@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - - is-symbol@1.0.4: - dependencies: - has-symbols: 1.0.3 - - is-typed-array@1.1.13: - dependencies: - which-typed-array: 1.1.15 - is-unicode-supported@0.1.0: {} - is-weakmap@2.0.2: {} - - is-weakref@1.0.2: - dependencies: - call-bind: 1.0.7 - - is-weakset@2.0.3: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-what@4.1.16: {} is-wsl@2.2.0: @@ -14407,20 +13114,10 @@ snapshots: isarray@1.0.0: {} - isarray@2.0.5: {} - isexe@2.0.0: {} isexe@3.1.1: {} - iterator.prototype@1.1.2: - dependencies: - define-properties: 1.2.1 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.6 - set-function-name: 2.0.2 - jackspeak@2.3.6: dependencies: '@isaacs/cliui': 8.0.2 @@ -14449,12 +13146,6 @@ snapshots: jest-get-type@29.6.3: {} - jest-worker@27.5.1: - dependencies: - '@types/node': 22.5.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 - jiti@1.21.6: {} jose@4.15.9: {} @@ -14488,18 +13179,6 @@ snapshots: jsesc@2.5.2: {} - json-buffer@3.0.1: {} - - json-parse-even-better-errors@2.3.1: {} - - json-schema-traverse@0.4.1: {} - - json-stable-stringify-without-jsonify@1.0.1: {} - - json5@1.0.2: - dependencies: - minimist: 1.2.8 - json5@2.2.3: {} jsonc-parser@3.2.0: {} @@ -14510,17 +13189,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsx-ast-utils@3.3.5: - dependencies: - array-includes: 3.1.8 - array.prototype.flat: 1.3.2 - object.assign: 4.1.5 - object.values: 1.2.0 - - keyv@4.5.4: - dependencies: - json-buffer: 3.0.1 - kind-of@6.0.3: {} klona@2.0.6: {} @@ -14529,23 +13197,12 @@ snapshots: kolorist@1.8.0: {} - language-subtag-registry@0.3.23: {} - - language-tags@1.0.9: - dependencies: - language-subtag-registry: 0.3.23 - lazystream@1.0.1: dependencies: readable-stream: 2.3.8 leac@0.6.0: {} - levn@0.4.1: - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - lilconfig@2.1.0: {} lilconfig@3.1.2: {} @@ -14577,23 +13234,11 @@ snapshots: transitivePeerDependencies: - uWebSockets.js - loader-runner@4.3.0: {} - - loader-utils@2.0.4: - dependencies: - big.js: 5.2.2 - emojis-list: 3.0.0 - json5: 2.2.3 - local-pkg@0.5.0: dependencies: mlly: 1.7.1 pkg-types: 1.2.0 - locate-path@6.0.0: - dependencies: - p-locate: 5.0.0 - lodash.castarray@4.4.0: {} lodash.defaults@4.2.0: {} @@ -14645,6 +13290,10 @@ snapshots: dependencies: oslo: 1.2.0 + lucide-react@0.428.0(react@18.3.1): + dependencies: + react: 18.3.1 + magic-string@0.25.9: dependencies: sourcemap-codec: 1.4.8 @@ -14663,8 +13312,6 @@ snapshots: dependencies: semver: 6.3.1 - markdown-extensions@2.0.0: {} - markdown-table@3.0.3: {} marked@7.0.4: {} @@ -14837,12 +13484,6 @@ snapshots: dependencies: '@types/mdast': 4.0.4 - mdx-annotations@0.1.4: - dependencies: - acorn: 8.12.1 - estree-util-visit: 1.2.1 - unist-util-visit: 4.1.2 - memfs-browser@3.5.10302: dependencies: memfs: 3.5.3 @@ -14853,8 +13494,6 @@ snapshots: fs-monkey: 1.0.6 optional: true - memoize-one@4.0.3: {} - merge-anything@5.1.7: dependencies: is-what: 4.1.16 @@ -15249,12 +13888,8 @@ snapshots: nanoid@3.3.7: {} - natural-compare@1.4.0: {} - negotiator@0.6.3: {} - neo-async@2.6.2: {} - next-themes@0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: react: 18.3.1 @@ -15286,7 +13921,7 @@ snapshots: - '@babel/core' - babel-plugin-macros - next@14.2.6(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@14.2.6(@babel/core@7.25.2)(@opentelemetry/api@1.9.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 14.2.6 '@swc/helpers': 0.5.5 @@ -15296,7 +13931,7 @@ snapshots: 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.24.5)(react@18.3.1) + styled-jsx: 5.1.1(@babel/core@7.25.2)(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 14.2.6 '@next/swc-darwin-x64': 14.2.6 @@ -15451,6 +14086,8 @@ snapshots: dependencies: path-key: 4.0.0 + npm-to-yarn@2.2.1: {} + npmlog@5.0.1: dependencies: are-we-there-yet: 2.0.0 @@ -15531,45 +14168,6 @@ snapshots: 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.assign@4.1.5: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 - - object.entries@1.1.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - object.fromentries@2.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - - object.groupby@1.0.3: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - - object.values@1.2.0: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - ofetch@1.3.4: dependencies: destr: 2.0.3 @@ -15625,15 +14223,6 @@ snapshots: object-hash: 2.2.0 oidc-token-hash: 5.0.3 - optionator@0.9.4: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.5 - ora@5.3.0: dependencies: bl: 4.1.0 @@ -15665,15 +14254,7 @@ snapshots: oslo@1.2.1: dependencies: '@node-rs/argon2': 1.7.0 - '@node-rs/bcrypt': 1.9.0 - - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - - p-locate@5.0.0: - dependencies: - p-limit: 3.1.0 + '@node-rs/bcrypt': 1.9.0 package-json-from-dist@1.0.0: {} @@ -15684,10 +14265,6 @@ snapshots: dot-case: 3.0.4 tslib: 2.7.0 - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - parse-entities@4.0.1: dependencies: '@types/unist': 2.0.11 @@ -15699,6 +14276,10 @@ snapshots: is-decimal: 2.0.1 is-hexadecimal: 2.0.1 + parse5@7.1.2: + dependencies: + entities: 4.5.0 + parseley@0.12.1: dependencies: leac: 0.6.0 @@ -15711,8 +14292,6 @@ snapshots: no-case: 3.0.4 tslib: 2.7.0 - path-exists@4.0.0: {} - path-is-absolute@1.0.1: {} path-key@3.1.1: {} @@ -15728,8 +14307,6 @@ snapshots: path-to-regexp@6.2.2: {} - path-type@4.0.0: {} - path-type@5.0.0: {} pathe@0.2.0: {} @@ -15742,12 +14319,6 @@ snapshots: perfect-debounce@1.0.0: {} - periscopic@3.1.0: - dependencies: - '@types/estree': 1.0.5 - estree-walker: 3.0.3 - is-reference: 3.0.2 - pg-cloudflare@1.1.1: optional: true @@ -15805,8 +14376,6 @@ snapshots: pluralize@8.0.0: {} - possible-typed-array-names@1.0.0: {} - postcss-import@15.1.0(postcss@8.4.41): dependencies: postcss: 8.4.41 @@ -15868,14 +14437,6 @@ snapshots: postgres@3.4.4: optional: true - prelude-ls@1.2.1: {} - - prettier-plugin-tailwindcss@0.6.6(prettier@3.3.3): - dependencies: - prettier: 3.3.3 - - prettier@3.3.3: {} - pretty-bytes@6.1.1: {} pretty-format@29.7.0: @@ -15896,20 +14457,12 @@ snapshots: process@0.11.10: {} - prop-types@15.8.1: - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 - property-information@6.5.0: {} proto-list@1.2.4: {} proxy-from-env@1.1.0: {} - punycode@2.3.1: {} - pvtsutils@1.3.5: dependencies: tslib: 2.7.0 @@ -15924,6 +14477,10 @@ snapshots: queue-tick@1.0.1: {} + queue@6.0.2: + dependencies: + inherits: 2.0.4 + radix3@1.1.2: {} randombytes@2.1.0: @@ -15970,21 +14527,67 @@ snapshots: - supports-color - utf-8-validate - react-highlight-words@0.20.0(react@18.3.1): + react-is@18.3.1: {} + + react-medium-image-zoom@5.2.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - highlight-words-core: 1.2.2 - memoize-one: 4.0.3 - prop-types: 15.8.1 react: 18.3.1 - - react-is@16.13.1: {} - - react-is@18.3.1: {} + react-dom: 18.3.1(react@18.3.1) react-promise-suspense@0.3.4: dependencies: fast-deep-equal: 2.0.1 + react-remove-scroll-bar@2.3.6(@types/react@18.3.4)(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.7.0 + optionalDependencies: + '@types/react': 18.3.4 + + react-remove-scroll@2.5.10(@types/react@18.3.4)(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.7.0 + 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) + optionalDependencies: + '@types/react': 18.3.4 + + react-remove-scroll@2.5.5(@types/react@18.3.4)(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.7.0 + 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) + optionalDependencies: + '@types/react': 18.3.4 + + react-remove-scroll@2.5.7(@types/react@18.3.4)(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.7.0 + 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) + optionalDependencies: + '@types/react': 18.3.4 + + react-style-singleton@2.2.1(@types/react@18.3.4)(react@18.3.1): + dependencies: + get-nonce: 1.0.1 + invariant: 2.2.4 + react: 18.3.1 + tslib: 2.7.0 + optionalDependencies: + '@types/react': 18.3.4 + react@18.3.1: dependencies: loose-envify: 1.4.0 @@ -16039,24 +14642,19 @@ snapshots: dependencies: redis-errors: 1.2.0 - reflect.getprototypeof@1.0.6: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - globalthis: 1.0.4 - which-builtin-type: 1.1.4 - regenerator-runtime@0.14.1: {} - regexp.prototype.flags@1.5.2: + rehype-raw@7.0.0: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 + '@types/hast': 3.0.4 + hast-util-raw: 9.0.4 + vfile: 6.0.2 + + rehype-stringify@10.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.1 + unified: 11.0.5 relateurl@0.2.7: {} @@ -16114,8 +14712,6 @@ snapshots: requires-port@1.0.0: {} - resolve-from@4.0.0: {} - resolve-from@5.0.0: {} resolve-pkg-maps@1.0.0: {} @@ -16128,12 +14724,6 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - resolve@2.0.0-next.5: - dependencies: - is-core-module: 2.15.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - restore-cursor@3.1.0: dependencies: onetime: 5.1.2 @@ -16198,23 +14788,10 @@ snapshots: dependencies: queue-microtask: 1.2.3 - safe-array-concat@1.1.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} - safe-regex-test@1.0.3: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 - safer-buffer@2.1.2: {} sax@1.4.1: {} @@ -16223,16 +14800,12 @@ snapshots: dependencies: loose-envify: 1.4.0 - schema-utils@3.3.0: + scroll-into-view-if-needed@3.1.0: dependencies: - '@types/json-schema': 7.0.15 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) + compute-scroll-into-view: 3.1.0 scule@1.3.0: {} - search-insights@2.17.0: {} - section-matter@1.0.0: dependencies: extend-shallow: 2.0.1 @@ -16305,41 +14878,8 @@ snapshots: gopd: 1.0.1 has-property-descriptors: 1.0.2 - set-function-name@2.0.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - setprototypeof@1.2.0: {} - sharp@0.33.5: - dependencies: - 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@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -16370,22 +14910,12 @@ snapshots: signal-exit@4.1.0: {} - simple-functional-loader@1.2.1: - dependencies: - loader-utils: 2.0.4 - - simple-swizzle@0.2.2: - dependencies: - is-arrayish: 0.3.2 - sirv@2.0.4: dependencies: '@polka/url': 1.0.0-next.25 mrmime: 2.0.0 totalist: 3.0.1 - slash@3.0.0: {} - slash@4.0.0: {} slash@5.1.0: {} @@ -16541,10 +15071,6 @@ snapshots: std-env@3.7.0: {} - stop-iteration-iterator@1.0.0: - dependencies: - internal-slot: 1.0.7 - stoppable@1.1.0: {} streamsearch@1.1.0: {} @@ -16571,50 +15097,6 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 - string.prototype.includes@2.0.0: - dependencies: - define-properties: 1.2.1 - es-abstract: 1.23.3 - - string.prototype.matchall@4.0.11: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.7 - regexp.prototype.flags: 1.5.2 - set-function-name: 2.0.2 - side-channel: 1.0.6 - - string.prototype.repeat@1.0.0: - dependencies: - define-properties: 1.2.1 - es-abstract: 1.23.3 - - string.prototype.trim@1.2.9: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 - - string.prototype.trimend@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - - string.prototype.trimstart@1.0.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 @@ -16644,8 +15126,6 @@ snapshots: strip-final-newline@3.0.0: {} - strip-json-comments@3.1.1: {} - strip-literal@2.1.0: dependencies: js-tokens: 9.0.0 @@ -16663,14 +15143,6 @@ snapshots: minimist: 1.2.8 through: 2.3.8 - style-to-object@0.4.4: - dependencies: - inline-style-parser: 0.1.1 - - style-to-object@1.0.6: - dependencies: - inline-style-parser: 0.2.3 - styled-jsx@5.1.1(@babel/core@7.24.5)(react@18.3.1): dependencies: client-only: 0.0.1 @@ -16678,6 +15150,13 @@ snapshots: optionalDependencies: '@babel/core': 7.24.5 + styled-jsx@5.1.1(@babel/core@7.25.2)(react@18.3.1): + dependencies: + client-only: 0.0.1 + react: 18.3.1 + optionalDependencies: + '@babel/core': 7.25.2 + sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -16700,17 +15179,19 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-color@8.1.1: - dependencies: - has-flag: 4.0.0 - supports-color@9.4.0: {} supports-preserve-symlinks-flag@1.0.0: {} + swr@2.2.5(react@18.3.1): + dependencies: + client-only: 0.0.1 + react: 18.3.1 + use-sync-external-store: 1.2.2(react@18.3.1) + system-architecture@0.1.0: {} - tabbable@6.2.0: {} + tailwind-merge@2.5.2: {} tailwind-scrollbar@3.1.0(tailwindcss@3.4.10): dependencies: @@ -16747,8 +15228,6 @@ snapshots: transitivePeerDependencies: - ts-node - tapable@2.2.1: {} - tar-stream@2.2.0: dependencies: bl: 4.1.0 @@ -16777,18 +15256,6 @@ snapshots: solid-js: 1.8.21 solid-use: 0.8.0(solid-js@1.8.21) - terser-webpack-plugin@5.3.10(@swc/core@1.7.18(@swc/helpers@0.5.12))(esbuild@0.19.12)(webpack@5.94.0(@swc/core@1.7.18(@swc/helpers@0.5.12))(esbuild@0.19.12)): - 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.94.0(@swc/core@1.7.18(@swc/helpers@0.5.12))(esbuild@0.19.12) - optionalDependencies: - '@swc/core': 1.7.18(@swc/helpers@0.5.12) - esbuild: 0.19.12 - terser@5.31.6: dependencies: '@jridgewell/source-map': 0.3.6 @@ -16800,8 +15267,6 @@ snapshots: dependencies: b4a: 1.6.6 - text-table@0.2.0: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -16844,10 +15309,6 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.3.0(typescript@5.5.4): - dependencies: - typescript: 5.5.4 - ts-interface-checker@0.1.13: {} ts-pattern@5.3.1: {} @@ -16856,13 +15317,6 @@ snapshots: optionalDependencies: typescript: 5.5.4 - tsconfig-paths@3.15.0: - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - tsconfig-paths@4.2.0: dependencies: json5: 2.2.3 @@ -16880,59 +15334,16 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - type-check@0.4.0: - dependencies: - prelude-ls: 1.2.1 - type-detect@4.1.0: {} type-fest@2.19.0: {} type-fest@3.13.1: {} - typed-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 - - typed-array-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - - typed-array-byte-offset@1.0.2: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - - typed-array-length@1.0.6: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - typescript@5.5.4: {} ufo@1.5.4: {} - unbox-primitive@1.0.2: - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - uncrypto@0.1.3: {} unctx@2.3.1: @@ -16997,16 +15408,6 @@ snapshots: transitivePeerDependencies: - rollup - unist-util-filter@5.0.1: - dependencies: - '@types/unist': 3.0.3 - unist-util-is: 6.0.0 - unist-util-visit-parents: 6.0.1 - - unist-util-is@5.2.1: - dependencies: - '@types/unist': 2.0.11 - unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 @@ -17028,22 +15429,11 @@ snapshots: dependencies: '@types/unist': 3.0.3 - unist-util-visit-parents@5.1.3: - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 5.2.1 - unist-util-visit-parents@6.0.1: dependencies: '@types/unist': 3.0.3 unist-util-is: 6.0.0 - unist-util-visit@4.1.2: - dependencies: - '@types/unist': 2.0.11 - unist-util-is: 5.2.1 - unist-util-visit-parents: 5.1.3 - unist-util-visit@5.0.0: dependencies: '@types/unist': 3.0.3 @@ -17127,11 +15517,22 @@ snapshots: uqr@0.1.2: {} - uri-js@4.4.1: + urlpattern-polyfill@8.0.2: {} + + use-callback-ref@1.3.2(@types/react@18.3.4)(react@18.3.1): dependencies: - punycode: 2.3.1 + react: 18.3.1 + tslib: 2.7.0 + optionalDependencies: + '@types/react': 18.3.4 - urlpattern-polyfill@8.0.2: {} + use-sidecar@1.1.2(@types/react@18.3.4)(react@18.3.1): + dependencies: + detect-node-es: 1.1.0 + react: 18.3.1 + tslib: 2.7.0 + optionalDependencies: + '@types/react': 18.3.4 use-sync-external-store@1.2.2(react@18.3.1): dependencies: @@ -17145,6 +15546,11 @@ snapshots: vary@1.1.2: {} + vfile-location@5.0.3: + dependencies: + '@types/unist': 3.0.3 + vfile: 6.0.2 + vfile-message@4.0.2: dependencies: '@types/unist': 3.0.3 @@ -17344,94 +15750,23 @@ snapshots: - supports-color - terser - 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: {} + webidl-conversions@3.0.1: {} webpack-sources@3.2.3: {} webpack-virtual-modules@0.6.2: {} - webpack@5.94.0(@swc/core@1.7.18(@swc/helpers@0.5.12))(esbuild@0.19.12): - dependencies: - '@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(@swc/core@1.7.18(@swc/helpers@0.5.12))(esbuild@0.19.12)(webpack@5.94.0(@swc/core@1.7.18(@swc/helpers@0.5.12))(esbuild@0.19.12)) - watchpack: 2.4.2 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - which-boxed-primitive@1.0.2: - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - - which-builtin-type@1.1.4: - dependencies: - function.prototype.name: 1.1.6 - has-tostringtag: 1.0.2 - is-async-function: 2.0.0 - is-date-object: 1.0.5 - is-finalizationregistry: 1.0.2 - is-generator-function: 1.0.10 - is-regex: 1.1.4 - is-weakref: 1.0.2 - isarray: 2.0.5 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.2 - which-typed-array: 1.1.15 - - which-collection@1.0.2: - dependencies: - is-map: 2.0.3 - is-set: 2.0.3 - is-weakmap: 2.0.2 - is-weakset: 2.0.3 - - which-typed-array@1.1.15: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 - which@2.0.2: dependencies: isexe: 2.0.0 @@ -17453,8 +15788,6 @@ snapshots: dependencies: string-width: 5.1.2 - word-wrap@1.2.5: {} - workerd@1.20240821.1: optionalDependencies: '@cloudflare/workerd-darwin-64': 1.20240821.1 @@ -17542,8 +15875,6 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yocto-queue@0.1.0: {} - youch@3.3.3: dependencies: cookie: 0.5.0 @@ -17558,11 +15889,4 @@ snapshots: zod@3.23.8: {} - zustand@4.5.5(@types/react@18.3.4)(react@18.3.1): - dependencies: - use-sync-external-store: 1.2.2(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.4 - react: 18.3.1 - zwitch@2.0.4: {}