From bf1275b601d83c9de10f9a5a5b7e1ba9fe162996 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Sun, 9 Jun 2024 16:35:01 +0200 Subject: [PATCH 01/64] chore: bootstrap project --- .github/workflows/integration.yml | 41 + .github/workflows/release.yml | 49 + .gitignore | 33 + .husky/pre-commit | 1 + .prettierignore | 12 + .prettierrc.cjs | 25 + .vscode/extensions.json | 3 + .vscode/settings.json | 13 + LICENSE | 21 + README.md | 2 +- docs/.prettierignore | 12 + docs/astro.config.ts | 31 + docs/package.json | 36 + docs/public/favicon.svg | 1 + docs/src/content/config.ts | 6 + docs/src/content/docs/getting-started.mdx | 78 + docs/src/content/docs/index.mdx | 42 + docs/src/env.d.ts | 2 + docs/src/styles/custom.css | 7 + docs/tsconfig.json | 3 + eslint.config.js | 3 + package.json | 45 + packages/starlight-theme-rapide/.npmignore | 3 + .../starlight-theme-rapide/.prettierignore | 12 + packages/starlight-theme-rapide/README.md | 32 + packages/starlight-theme-rapide/index.ts | 1 + packages/starlight-theme-rapide/package.json | 36 + packages/starlight-theme-rapide/tsconfig.json | 3 + pnpm-lock.yaml | 7473 +++++++++++++++++ pnpm-workspace.yaml | 3 + tsconfig.json | 3 + 31 files changed, 8031 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/integration.yml create mode 100644 .github/workflows/release.yml create mode 100644 .gitignore create mode 100644 .husky/pre-commit create mode 100644 .prettierignore create mode 100644 .prettierrc.cjs create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 LICENSE mode change 100644 => 120000 README.md create mode 100644 docs/.prettierignore create mode 100644 docs/astro.config.ts create mode 100644 docs/package.json create mode 100644 docs/public/favicon.svg create mode 100644 docs/src/content/config.ts create mode 100644 docs/src/content/docs/getting-started.mdx create mode 100644 docs/src/content/docs/index.mdx create mode 100644 docs/src/env.d.ts create mode 100644 docs/src/styles/custom.css create mode 100644 docs/tsconfig.json create mode 100644 eslint.config.js create mode 100644 package.json create mode 100644 packages/starlight-theme-rapide/.npmignore create mode 100644 packages/starlight-theme-rapide/.prettierignore create mode 100644 packages/starlight-theme-rapide/README.md create mode 100644 packages/starlight-theme-rapide/index.ts create mode 100644 packages/starlight-theme-rapide/package.json create mode 100644 packages/starlight-theme-rapide/tsconfig.json create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml create mode 100644 tsconfig.json diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml new file mode 100644 index 0000000..69aa276 --- /dev/null +++ b/.github/workflows/integration.yml @@ -0,0 +1,41 @@ +name: Integration + +on: + push: + branches: + - main + pull_request: + branches: + - main + workflow_call: + +concurrency: + cancel-in-progress: true + group: ${{ github.workflow }}-${{ github.event_name == 'pull_request_target' && github.head_ref || github.ref }} + +jobs: + lint_test: + name: Lint & Test + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install pnpm + uses: pnpm/action-setup@v3 + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + cache: pnpm + node-version: 18 + + - name: Install dependencies + run: pnpm install + + - name: Generates docs TypeScript types + run: pnpm astro sync + working-directory: docs + + - name: Lint + run: pnpm lint diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..be65985 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,49 @@ +name: Release + +on: + push: + tags: + - 'v*.*.*' + +jobs: + integration: + name: Integration + uses: ./.github/workflows/integration.yml + + publish: + name: Publish + needs: + - integration + runs-on: ubuntu-latest + permissions: + contents: write + id-token: write + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install pnpm + uses: pnpm/action-setup@v3 + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + cache: pnpm + node-version: 18 + registry-url: 'https://registry.npmjs.org' + + - name: Install dependencies + run: pnpm install + + - name: Publish + run: pnpm publish --no-git-checks + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_CONFIG_PROVENANCE: true + + - name: Generate changelog + uses: hideoo/changelogithub-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f259722 --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +.astro +.DS_Store +.eslintcache +.idea +.next +.turbo +.vercel +.vscode/* +!.vscode/extensions.json +!.vscode/launch.json +!.vscode/settings.json +!.vscode/tasks.json +.vscode-test +.vscode-test-web +*.local +*.log +*.pem +*.tsbuildinfo +build +coverage +dist +dist-ssr +lerna-debug.log* +logs +next-env.d.ts +node_modules +npm-debug.log* +out +pnpm-debug.log* +releases +test-results +yarn-debug.log* +yarn-error.log* diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 0000000..09dd6bf --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +pnpx lint-staged diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..40f1830 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,12 @@ +.astro +.github/blocks +.next +.vercel +.vscode-test +.vscode-test-web +build +coverage +dist +dist-ssr +out +pnpm-lock.yaml diff --git a/.prettierrc.cjs b/.prettierrc.cjs new file mode 100644 index 0000000..2d72636 --- /dev/null +++ b/.prettierrc.cjs @@ -0,0 +1,25 @@ +const baseConfig = require('@hideoo/prettier-config') + +/** + * @type {import('prettier').Config} + */ +const prettierConfig = { + ...baseConfig, + overrides: [ + { + files: '*.astro', + options: { + parser: 'astro', + }, + }, + { + files: ['*.md', '*.mdx'], + options: { + printWidth: 80, + }, + }, + ], + plugins: [require.resolve('prettier-plugin-astro')], +} + +module.exports = prettierConfig diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..1d7ac85 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..a64edaa --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,13 @@ +{ + "eslint.experimental.useFlatConfig": true, + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "html", + "vue", + "markdown", + "astro" + ] +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..2db1c4c --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024-present, HiDeoo + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index 4ae42c1..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -# starlight-theme-rapide \ No newline at end of file diff --git a/README.md b/README.md new file mode 120000 index 0000000..88b65bb --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +packages/starlight-theme-rapide/README.md \ No newline at end of file diff --git a/docs/.prettierignore b/docs/.prettierignore new file mode 100644 index 0000000..40f1830 --- /dev/null +++ b/docs/.prettierignore @@ -0,0 +1,12 @@ +.astro +.github/blocks +.next +.vercel +.vscode-test +.vscode-test-web +build +coverage +dist +dist-ssr +out +pnpm-lock.yaml diff --git a/docs/astro.config.ts b/docs/astro.config.ts new file mode 100644 index 0000000..7300c0b --- /dev/null +++ b/docs/astro.config.ts @@ -0,0 +1,31 @@ +import starlight from '@astrojs/starlight' +import { defineConfig } from 'astro/config' + +export default defineConfig({ + integrations: [ + starlight({ + customCss: ['./src/styles/custom.css'], + editLink: { + baseUrl: 'https://github.com/HiDeoo/starlight-theme-rapide/edit/main/docs/', + }, + sidebar: [ + { + label: 'Start Here', + items: [ + { label: 'Getting Started', link: '/getting-started/' }, + { label: 'Configuration', link: '/configuration/' }, + ], + }, + { + label: 'Examples', + autogenerate: { directory: 'examples' }, + }, + ], + social: { + github: 'https://github.com/HiDeoo/starlight-theme-rapide', + }, + title: 'Starlight Theme Rapide', + }), + ], + site: 'https://starlight-theme-rapide.vercel.app', +}) diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 0000000..fc77c6e --- /dev/null +++ b/docs/package.json @@ -0,0 +1,36 @@ +{ + "name": "starlight-theme-rapide-docs", + "version": "0.0.1", + "license": "MIT", + "description": "// TODO(HiDeoo)", + "author": "HiDeoo (https://hideoo.dev)", + "type": "module", + "scripts": { + "dev": "astro dev", + "build": "astro build", + "preview": "astro preview", + "lint": "prettier -c --cache . && eslint . --cache --max-warnings=0" + }, + "dependencies": { + "@astrojs/starlight": "^0.24.0", + "astro": "^4.10.1", + "sharp": "^0.33.4", + "starlight-package-managers": "^0.6.0" + }, + "engines": { + "node": ">=18" + }, + "packageManager": "pnpm@9.0.4", + "private": true, + "sideEffects": false, + "keywords": [ + "// TODO(HiDeoo)" + ], + "homepage": "https://github.com/HiDeoo/starlight-theme-rapide", + "repository": { + "type": "git", + "url": "https://github.com/HiDeoo/starlight-theme-rapide.git", + "directory": "docs" + }, + "bugs": "https://github.com/HiDeoo/starlight-theme-rapide/issues" +} diff --git a/docs/public/favicon.svg b/docs/public/favicon.svg new file mode 100644 index 0000000..2657501 --- /dev/null +++ b/docs/public/favicon.svg @@ -0,0 +1 @@ +📸 diff --git a/docs/src/content/config.ts b/docs/src/content/config.ts new file mode 100644 index 0000000..876c943 --- /dev/null +++ b/docs/src/content/config.ts @@ -0,0 +1,6 @@ +import { docsSchema } from '@astrojs/starlight/schema' +import { defineCollection } from 'astro:content' + +export const collections = { + docs: defineCollection({ schema: docsSchema() }), +} diff --git a/docs/src/content/docs/getting-started.mdx b/docs/src/content/docs/getting-started.mdx new file mode 100644 index 0000000..fb7bbcb --- /dev/null +++ b/docs/src/content/docs/getting-started.mdx @@ -0,0 +1,78 @@ +--- +title: Getting Started +description: Learn how to version your documentation pages with the Starlight Versions plugin. +--- + +A [Starlight](https://starlight.astro.build) plugin to version documentation pages. +Check out the [demo](https://starlight-versions-example.vercel.app) for a preview of the plugin in action. + +:::tip[Caution] +Starlight Versions is an [opinionated](/guides/about-versioning/#versioning-strategies) plugin that is still in early development. +Expect frequent updates and changes to the plugin as development continues. +::: + +## Prerequisites + +You will need to have a Starlight website set up. +If you don't have one yet, you can follow the ["Getting Started"](https://starlight.astro.build/getting-started) guide in the Starlight docs to create one. + +## Installation + +When ready to version your documentation pages, you can install and configure the Starlight Versions plugin. + +import { Steps } from '@astrojs/starlight/components' +import { PackageManagers } from 'starlight-package-managers' + + + +1. Starlight Versions is a Starlight [plugin](https://starlight.astro.build/reference/plugins/) that you can install using your favorite package manager: + + + +2. Configure the plugin in your Starlight [configuration](https://starlight.astro.build/reference/configuration/#plugins) in the `astro.config.mjs` file. + + The following example shows how to configure a single version `1.0` for your documentation: + + ```diff lang="js" + // astro.config.mjs + import starlight from '@astrojs/starlight' + import { defineConfig } from 'astro/config' + +import starlightVersions from 'starlight-versions' + + export default defineConfig({ + integrations: [ + starlight({ + + plugins: [ + + starlightVersions({ + + versions: [{ slug: '1.0' }], + + }), + + ], + title: 'My Docs', + }), + ], + }) + ``` + +3. Starlight Versions uses Astro’s [content collections](https://docs.astro.build/en/guides/content-collections/), which are configured in the `src/content/config.ts` file. + + Update the content config file, adding a `versions` collection that uses Starlight Versions `docsVersionsSchema`: + + ```diff lang="js" + // src/content/config.ts + import { docsSchema } from '@astrojs/starlight/schema' + import { defineCollection } from 'astro:content' + +import { docsVersionsSchema } from 'starlight-versions/schema' + + export const collections = { + docs: defineCollection({ schema: docsSchema() }), + + versions: defineCollection({ type: 'data', schema: docsVersionsSchema() }), + } + ``` + +4. [Start the development server](https://starlight.astro.build/getting-started/#start-the-development-server) to create the first version of your documentation. + + The current state of your documentation will be archived as the newly configured `1.0` version while you continue to work on the current version. + + + +Learn more about versioning in the [“Create a New Version”](/guides/create-new-version/) guide or how to configure the plugin in the [configuration](/configuration/) reference. diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx new file mode 100644 index 0000000..365f3a9 --- /dev/null +++ b/docs/src/content/docs/index.mdx @@ -0,0 +1,42 @@ +--- +title: Starlight Versions +description: Starlight plugin to version documentation pages. +head: + - tag: title + content: Starlight Versions +template: splash +editUrl: false +lastUpdated: false +hero: + tagline: Starlight plugin to version documentation pages. + image: + html: '🕒' + actions: + - text: Getting Started + link: /getting-started/ + icon: rocket + variant: primary + - text: Demo + link: https://starlight-versions-example.vercel.app + icon: external +--- + +import { Card, CardGrid } from '@astrojs/starlight/components' + +## Next steps + + + + Check the [getting started guide](/getting-started/) for installation + instructions. + + + Edit your config in the `astro.config.mjs` file. + + + Author multiple versions of your documentation pages. + + + Learn more in the [Starlight Versions Docs](/getting-started/). + + diff --git a/docs/src/env.d.ts b/docs/src/env.d.ts new file mode 100644 index 0000000..acef35f --- /dev/null +++ b/docs/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/docs/src/styles/custom.css b/docs/src/styles/custom.css new file mode 100644 index 0000000..30e62f4 --- /dev/null +++ b/docs/src/styles/custom.css @@ -0,0 +1,7 @@ +.hero-html { + --size: 12rem; + + font-size: var(--size); + justify-content: center; + line-height: var(--size); +} diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 0000000..3c43903 --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../tsconfig.json" +} diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..6a018fe --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,3 @@ +import hideoo from '@hideoo/eslint-config' + +export default hideoo() diff --git a/package.json b/package.json new file mode 100644 index 0000000..53ad28f --- /dev/null +++ b/package.json @@ -0,0 +1,45 @@ +{ + "name": "starlight-theme-rapide-monorepo", + "version": "0.0.1", + "license": "MIT", + "description": "// TODO(HiDeoo)", + "author": "HiDeoo (https://hideoo.dev)", + "type": "module", + "scripts": { + "lint": "pnpm -r lint", + "prepare": "husky" + }, + "devDependencies": { + "@hideoo/eslint-config": "^3.0.1", + "@hideoo/prettier-config": "^2.0.0", + "@hideoo/tsconfig": "^2.0.1", + "astro": "^4.10.1", + "eslint": "^8.57.0", + "husky": "^9.0.11", + "lint-staged": "^15.2.5", + "prettier": "^3.3.1", + "prettier-plugin-astro": "^0.14.0", + "typescript": "^5.4.5" + }, + "engines": { + "node": ">=18" + }, + "packageManager": "pnpm@9.0.4", + "private": true, + "sideEffects": false, + "keywords": [ + "// TODO(HiDeoo)" + ], + "homepage": "https://github.com/HiDeoo/starlight-theme-rapide", + "repository": { + "type": "git", + "url": "https://github.com/HiDeoo/starlight-theme-rapide.git" + }, + "bugs": "https://github.com/HiDeoo/starlight-theme-rapide/issues", + "lint-staged": { + "*": [ + "prettier -w -u --cache", + "eslint --cache --no-warn-ignored --max-warnings=0" + ] + } +} diff --git a/packages/starlight-theme-rapide/.npmignore b/packages/starlight-theme-rapide/.npmignore new file mode 100644 index 0000000..46485ef --- /dev/null +++ b/packages/starlight-theme-rapide/.npmignore @@ -0,0 +1,3 @@ +.prettierignore +tsconfig.json +tsconfig.tsbuildinfo diff --git a/packages/starlight-theme-rapide/.prettierignore b/packages/starlight-theme-rapide/.prettierignore new file mode 100644 index 0000000..40f1830 --- /dev/null +++ b/packages/starlight-theme-rapide/.prettierignore @@ -0,0 +1,12 @@ +.astro +.github/blocks +.next +.vercel +.vscode-test +.vscode-test-web +build +coverage +dist +dist-ssr +out +pnpm-lock.yaml diff --git a/packages/starlight-theme-rapide/README.md b/packages/starlight-theme-rapide/README.md new file mode 100644 index 0000000..7f22cb5 --- /dev/null +++ b/packages/starlight-theme-rapide/README.md @@ -0,0 +1,32 @@ +
+

starlight-theme-rapide 🚧

+

starlight-theme-rapide description

+

+ + Screenshot of starlight-theme-rapide + +

+
+ +
+ + Integration Status + + + License + +
+
+ +## Features + +starlight-theme-rapide presentation. + +- starlight-theme-rapide feature 1 +- starlight-theme-rapide feature 2 + +## License + +Licensed under the MIT License, Copyright © HiDeoo. + +See [LICENSE](https://github.com/HiDeoo/starlight-theme-rapide/blob/main/LICENSE) for more information. diff --git a/packages/starlight-theme-rapide/index.ts b/packages/starlight-theme-rapide/index.ts new file mode 100644 index 0000000..336ce12 --- /dev/null +++ b/packages/starlight-theme-rapide/index.ts @@ -0,0 +1 @@ +export {} diff --git a/packages/starlight-theme-rapide/package.json b/packages/starlight-theme-rapide/package.json new file mode 100644 index 0000000..caa5de9 --- /dev/null +++ b/packages/starlight-theme-rapide/package.json @@ -0,0 +1,36 @@ +{ + "name": "starlight-theme-rapide", + "version": "0.0.1", + "license": "MIT", + "description": "// TODO(HiDeoo)", + "author": "HiDeoo (https://hideoo.dev)", + "type": "module", + "exports": { + ".": "./index.ts", + "./package.json": "./package.json" + }, + "scripts": { + "lint": "prettier -c --cache . && eslint . --cache --max-warnings=0" + }, + "peerDependencies": { + "@astrojs/starlight": ">=0.23.0" + }, + "engines": { + "node": ">=18" + }, + "packageManager": "pnpm@9.0.4", + "publishConfig": { + "access": "public" + }, + "sideEffects": false, + "keywords": [ + "// TODO(HiDeoo)" + ], + "homepage": "https://github.com/HiDeoo/starlight-theme-rapide", + "repository": { + "type": "git", + "url": "https://github.com/HiDeoo/starlight-theme-rapide.git", + "directory": "packages/starlight-theme-rapide" + }, + "bugs": "https://github.com/HiDeoo/starlight-theme-rapide/issues" +} diff --git a/packages/starlight-theme-rapide/tsconfig.json b/packages/starlight-theme-rapide/tsconfig.json new file mode 100644 index 0000000..4082f16 --- /dev/null +++ b/packages/starlight-theme-rapide/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.json" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..c02329a --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,7473 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@hideoo/eslint-config': + specifier: ^3.0.1 + version: 3.0.1(@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + '@hideoo/prettier-config': + specifier: ^2.0.0 + version: 2.0.0 + '@hideoo/tsconfig': + specifier: ^2.0.1 + version: 2.0.1 + astro: + specifier: ^4.10.1 + version: 4.10.1(@types/node@17.0.45)(typescript@5.4.5) + eslint: + specifier: ^8.57.0 + version: 8.57.0 + husky: + specifier: ^9.0.11 + version: 9.0.11 + lint-staged: + specifier: ^15.2.5 + version: 15.2.5 + prettier: + specifier: ^3.3.1 + version: 3.3.1 + prettier-plugin-astro: + specifier: ^0.14.0 + version: 0.14.0 + typescript: + specifier: ^5.4.5 + version: 5.4.5 + + docs: + dependencies: + '@astrojs/starlight': + specifier: ^0.24.0 + version: 0.24.0(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5)) + astro: + specifier: ^4.10.1 + version: 4.10.1(@types/node@17.0.45)(typescript@5.4.5) + sharp: + specifier: ^0.33.4 + version: 0.33.4 + starlight-package-managers: + specifier: ^0.6.0 + version: 0.6.0(@astrojs/starlight@0.24.0(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5)))(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5)) + + packages/starlight-theme-rapide: + dependencies: + '@astrojs/starlight': + specifier: '>=0.23.0' + version: 0.24.0(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5)) + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@astrojs/compiler@1.8.2': + resolution: {integrity: sha512-o/ObKgtMzl8SlpIdzaxFnt7SATKPxu4oIP/1NL+HDJRzxfJcAkOTAb/ZKMRyULbz4q+1t2/DAebs2Z1QairkZw==} + + '@astrojs/compiler@2.8.0': + resolution: {integrity: sha512-yrpD1WRGqsJwANaDIdtHo+YVjvIOFAjC83lu5qENIgrafwZcJgSXDuwVMXOgok4tFzpeKLsFQ6c3FoUdloLWBQ==} + + '@astrojs/internal-helpers@0.4.0': + resolution: {integrity: sha512-6B13lz5n6BrbTqCTwhXjJXuR1sqiX/H6rTxzlXx+lN1NnV4jgnq/KJldCQaUWJzPL5SiWahQyinxAbxQtwgPHA==} + + '@astrojs/markdown-remark@5.1.0': + resolution: {integrity: sha512-S6Z3K2hOB7MfjeDoHsotnP/q2UsnEDB8NlNAaCjMDsGBZfTUbWxyLW3CaphEWw08f6KLZi2ibK9yC3BaMhh2NQ==} + + '@astrojs/mdx@3.1.0': + resolution: {integrity: sha512-yuGDaOcCAfYgLQvUAlJDezYGK4twHlzW1Kvpyg3inxtDJuAsHdyVyYLWl0Wo5nwkyrbZktdrjnoW5scqzoAqAg==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} + peerDependencies: + astro: ^4.8.0 + + '@astrojs/prism@3.1.0': + resolution: {integrity: sha512-Z9IYjuXSArkAUx3N6xj6+Bnvx8OdUSHA8YoOgyepp3+zJmtVYJIl/I18GozdJVW1p5u/CNpl3Km7/gwTJK85cw==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} + + '@astrojs/sitemap@3.1.5': + resolution: {integrity: sha512-GLdzJ01387Uzb8RKYpsYLlg/GzoPnGbmDeQNkarSE11i2+l9Qp8Nj/WoTEy9nkTS25fxxy0kxDfJmreeVleCqg==} + + '@astrojs/starlight@0.24.0': + resolution: {integrity: sha512-YUBf7TgDUMRcyoZ8S8hlnPuEvgqFuB5F7tQUwPK5GwkTC1E+gMW8zx9J/RgJAXNjQSi19s73nuF19zw/QSy5tw==} + peerDependencies: + astro: ^4.8.6 + + '@astrojs/telemetry@3.1.0': + resolution: {integrity: sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.24.7': + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.24.7': + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.24.7': + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.24.7': + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.24.7': + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-environment-visitor@7.24.7': + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-function-name@7.24.7': + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-hoist-variables@7.24.7': + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.24.7': + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.24.7': + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-split-export-declaration@7.24.7': + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.7': + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.7': + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.24.7': + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.24.7': + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.24.7': + resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.24.7': + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.24.7': + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.24.7': + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.24.7': + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + engines: {node: '>=6.9.0'} + + '@ctrl/tinycolor@4.1.0': + resolution: {integrity: sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==} + engines: {node: '>=14'} + + '@emnapi/runtime@1.2.0': + resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} + + '@esbuild/aix-ppc64@0.20.2': + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.21.4': + resolution: {integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.20.2': + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.21.4': + resolution: {integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.20.2': + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.21.4': + resolution: {integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.20.2': + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.21.4': + resolution: {integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.20.2': + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.21.4': + resolution: {integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.20.2': + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.21.4': + resolution: {integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.20.2': + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.21.4': + resolution: {integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.20.2': + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.21.4': + resolution: {integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.20.2': + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.21.4': + resolution: {integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.20.2': + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.21.4': + resolution: {integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.20.2': + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.21.4': + resolution: {integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.20.2': + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.21.4': + resolution: {integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.20.2': + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.21.4': + resolution: {integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.20.2': + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.21.4': + resolution: {integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.20.2': + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.21.4': + resolution: {integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.20.2': + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.21.4': + resolution: {integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.20.2': + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.21.4': + resolution: {integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.20.2': + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.21.4': + resolution: {integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.20.2': + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.21.4': + resolution: {integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.20.2': + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.21.4': + resolution: {integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.20.2': + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.21.4': + resolution: {integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.20.2': + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.21.4': + resolution: {integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.20.2': + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.21.4': + resolution: {integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==} + engines: {node: '>=12'} + 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.10.1': + resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/js@8.57.0': + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@expressive-code/core@0.35.3': + resolution: {integrity: sha512-SYamcarAjufYhbuK/kfvJSvAXLsfnM7DKc78R7Dq4B73R5bKQK2m5zR0l57tXr4yp2C5Z8lu5xZncdwWxcmPdg==} + + '@expressive-code/plugin-frames@0.35.3': + resolution: {integrity: sha512-QYytMq6IsaHgTofQ5b6d+CnbxkqLdikSF2hC+IL/ZZwPYHYZoUlmjIwmJZhY4/hHqJGELrtZsyVdlt06RntgmA==} + + '@expressive-code/plugin-shiki@0.35.3': + resolution: {integrity: sha512-aFQBPepv0zhVXqJFAvfQ4vXYv/meJKiqmEEKSxdjAfwXllIV49PDlnGEXmbGYjR4hUQQjbfDgzAbrbfePc3YVQ==} + + '@expressive-code/plugin-text-markers@0.35.3': + resolution: {integrity: sha512-gDdnQrfDRXw5Y+PKHJDkpAUdf2pthYOthGcgy3JB8GOTQ3EL1h+755Ct/bGc4MR6jn+dgnQP47uHMWQaccvN6Q==} + + '@hideoo/eslint-config@3.0.1': + resolution: {integrity: sha512-m2+anNN1sK2s663nZyg9tDGO3X7MiSwOrG0axCT+SzOW3geDGQldWf+Geo6aLNdaKDVavTgUMkFXd7ks15Grqw==} + peerDependencies: + eslint: '>=8.56.0' + + '@hideoo/prettier-config@2.0.0': + resolution: {integrity: sha512-qylbgiR1n1eQXfpy97+b6pbtE5tf4uxPIqCSE0mp9fw/Npc4CiUxJlMoiUYw169GXTaZzqH/lFVm2sbO2Id2Ug==} + + '@hideoo/tsconfig@2.0.1': + resolution: {integrity: sha512-orM6e/3fbb8+DhJpsh6PKIhgNww8Di/PUOxml4VCMeNuD8W/kHCXl+9sLm5uwYP5xOWZoXPa++15HS9j21Xvag==} + + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + + '@img/sharp-darwin-arm64@0.33.4': + resolution: {integrity: sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.4': + resolution: {integrity: sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.2': + resolution: {integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==} + engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.2': + resolution: {integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==} + engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.2': + resolution: {integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.2': + resolution: {integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.2': + resolution: {integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.2': + resolution: {integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.2': + resolution: {integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.2': + resolution: {integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.4': + resolution: {integrity: sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.4': + resolution: {integrity: sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ==} + engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.4': + resolution: {integrity: sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ==} + engines: {glibc: '>=2.31', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.4': + resolution: {integrity: sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.4': + resolution: {integrity: sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.4': + resolution: {integrity: sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.4': + resolution: {integrity: sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.4': + resolution: {integrity: sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.4': + resolution: {integrity: sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + cpu: [x64] + os: [win32] + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@mdx-js/mdx@3.0.1': + resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pagefind/darwin-arm64@1.1.0': + resolution: {integrity: sha512-SLsXNLtSilGZjvqis8sX42fBWsWAVkcDh1oerxwqbac84HbiwxpxOC2jm8hRwcR0Z55HPZPWO77XeRix/8GwTg==} + cpu: [arm64] + os: [darwin] + + '@pagefind/darwin-x64@1.1.0': + resolution: {integrity: sha512-QjQSE/L5oS1C8N8GdljGaWtjCBMgMtfrPAoiCmINTu9Y9dp0ggAyXvF8K7Qg3VyIMYJ6v8vg2PN7Z3b+AaAqUA==} + cpu: [x64] + os: [darwin] + + '@pagefind/default-ui@1.1.0': + resolution: {integrity: sha512-+XiAJAK++C64nQcD7s3Prdmd5S92lT05fwjOxm0L1jj80jbL+tmvcqkkFnPpoqhnicIPgcAX/Y5W0HRZnBt35w==} + + '@pagefind/linux-arm64@1.1.0': + resolution: {integrity: sha512-8zjYCa2BtNEL7KnXtysPtBELCyv5DSQ4yHeK/nsEq6w4ToAMTBl0K06khqxdSGgjMSwwrxvLzq3so0LC5Q14dA==} + cpu: [arm64] + os: [linux] + + '@pagefind/linux-x64@1.1.0': + resolution: {integrity: sha512-4lsg6VB7A6PWTwaP8oSmXV4O9H0IHX7AlwTDcfyT+YJo/sPXOVjqycD5cdBgqNLfUk8B9bkWcTDCRmJbHrKeCw==} + cpu: [x64] + os: [linux] + + '@pagefind/windows-x64@1.1.0': + resolution: {integrity: sha512-OboCM76BcMKT9IoSfZuFhiqMRgTde8x4qDDvKulFmycgiJrlL5WnIqBHJLQxZq+o2KyZpoHF97iwsGAm8c32sQ==} + cpu: [x64] + os: [win32] + + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@rollup/rollup-android-arm-eabi@4.18.0': + resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.18.0': + resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.18.0': + resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.18.0': + resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.18.0': + resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.18.0': + resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.18.0': + resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.18.0': + resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.18.0': + resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.18.0': + resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.18.0': + resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.18.0': + resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.18.0': + resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.18.0': + resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} + cpu: [x64] + os: [win32] + + '@shikijs/core@1.6.3': + resolution: {integrity: sha512-QnJKHFUW95GnlJLJGP6QLx4M69HM0KlXk+R2Y8lr/x4nAx1Yb/lsuxq4XwybuUjTxbJk+BT0g/kvn0bcsjGGHg==} + + '@types/acorn@4.0.6': + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/cookie@0.6.0': + resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@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/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/nlcst@1.0.4': + resolution: {integrity: sha512-ABoYdNQ/kBSsLvZAekMhIPMQ3YUZvavStpKYs7BjLLuKVmIMA0LUgZ7b54zzuWJRbHF80v1cNf4r90Vd6eMQDg==} + + '@types/nlcst@2.0.3': + resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} + + '@types/node@17.0.45': + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/sax@1.2.7': + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + + '@types/unist@2.0.10': + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + + '@types/unist@3.0.2': + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + + '@typescript-eslint/eslint-plugin@7.0.2': + resolution: {integrity: sha512-/XtVZJtbaphtdrWjr+CJclaCVGPtOdBpFEnvtNf/jRV0IiEemRrL0qABex/nEt8isYcnFacm3nPHYQwL+Wb7qg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@7.0.2': + resolution: {integrity: sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@5.62.0': + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/scope-manager@7.0.2': + resolution: {integrity: sha512-l6sa2jF3h+qgN2qUMjVR3uCNGjWw4ahGfzIYsCtFrQJCjhbrDPdiihYT8FnnqFwsWX+20hK592yX9I2rxKTP4g==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/type-utils@7.0.2': + resolution: {integrity: sha512-IKKDcFsKAYlk8Rs4wiFfEwJTQlHcdn8CLwLaxwd6zb8HNiMcQIFX9sWax2k4Cjj7l7mGS5N1zl7RCHOVwHq2VQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@5.62.0': + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/types@7.0.2': + resolution: {integrity: sha512-ZzcCQHj4JaXFjdOql6adYV4B/oFOFjPOC9XYwCaZFRvqN8Llfvv4gSxrkQkd2u4Ci62i2c6W6gkDwQJDaRc4nA==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/typescript-estree@7.0.2': + resolution: {integrity: sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@7.0.2': + resolution: {integrity: sha512-PZPIONBIB/X684bhT1XlrkjNZJIEevwkKDsdwfiu1WeqBxYEEdIgVDgm8/bbKHVu+6YOpeRqcfImTdImx/4Bsw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + + '@typescript-eslint/visitor-keys@5.62.0': + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/visitor-keys@7.0.2': + resolution: {integrity: sha512-8Y+YiBmqPighbm5xA2k4wKTxRzx9EkBu7Rlw+WHqMvRJ3RPz/BMBO9b2ru0LUNmXg120PHUXD5+SWFy2R8DqlQ==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-escapes@6.2.1: + resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} + engines: {node: '>=14.16'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + + 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-iterate@2.0.1: + resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + 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'} + + ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + + astring@1.8.6: + resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} + hasBin: true + + astro-eslint-parser@0.16.3: + resolution: {integrity: sha512-CGaBseNtunAV2DCpwBXqTKq8+9Tw65XZetMaC0FsMoZuLj0gxNIkbCf2QyKYScVrNOU7/ayfNdVw8ZCSHBiqCg==} + engines: {node: ^14.18.0 || >=16.0.0} + + astro-expressive-code@0.35.3: + resolution: {integrity: sha512-f1L1m3J3EzZHDEox6TXmuKo5fTSbaNxE/HU0S0UQmvlCowtOKnU/LOsoDwsbQSYGKz+fdLRPsCjFMiKqEoyfcw==} + peerDependencies: + astro: ^4.0.0-beta || ^3.3.0 + + astro@4.10.1: + resolution: {integrity: sha512-7bbnUX1CW+12suz0Do8ef1CihqVjDyUW/H/0piNHZyBE3W/VFt5GP5ZxlPzzJLoGtaXif0aXJ4iPurEem2LpdA==} + engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} + hasBin: true + + astrojs-compiler-sync@0.3.5: + resolution: {integrity: sha512-y420rhIIJ2HHDkYeqKArBHSdJNIIGMztLH90KGIX3zjcJyt/cr9Z2wYA8CP5J1w6KE7xqMh0DAkhfjhNDpQb2Q==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@astrojs/compiler': '>=0.27.0' + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axe-core@4.7.0: + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + engines: {node: '>=4'} + + axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + + axobject-query@4.0.0: + resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==} + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base-64@1.0.0: + resolution: {integrity: sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==} + + bcp-47-match@2.0.3: + resolution: {integrity: sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==} + + bcp-47@2.1.0: + resolution: {integrity: sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boxen@7.1.1: + resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} + engines: {node: '>=14.16'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + + caniuse-lite@1.0.30001629: + resolution: {integrity: sha512-c3dl911slnQhmxUIT4HhYzT7wnBK/XYpGnYLOj4nJBaRiw52Ibe7YxlDaAeRECvA786zCuExhxIUJ2K7nHMrBw==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + ci-info@4.0.0: + resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + engines: {node: '>=8'} + + clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + collapse-white-space@2.1.0: + resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + + common-ancestor-path@1.0.1: + resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + + core-js-compat@3.37.1: + resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + css-selector-parser@3.0.5: + resolution: {integrity: sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g==} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + + 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'} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + + deterministic-object-hash@2.0.2: + resolution: {integrity: sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==} + engines: {node: '>=18'} + + devalue@5.0.0: + resolution: {integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + direction@2.0.1: + resolution: {integrity: sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==} + hasBin: true + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dset@3.1.3: + resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} + engines: {node: '>=4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + electron-to-chromium@1.4.796: + resolution: {integrity: sha512-NglN/xprcM+SHD2XCli4oC6bWe6kHoytcyLKCWXmRL854F0qhPhaYgUswUsglnPxYaNQIg2uMY4BvaomIf3kLA==} + + emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + 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'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-iterator-helpers@1.0.19: + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.5.3: + resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} + + 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@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.21.4: + resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-compat-utils@0.4.1: + resolution: {integrity: sha512-5N7ZaJG5pZxUeNNJfUchurLVrunD1xJvyg5kYOIVF8kg1f3ajTikmAu/5fZ9w100omNPOoMjngRszh/Q/uFGMg==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + + eslint-config-flat-gitignore@0.1.3: + resolution: {integrity: sha512-oQD+dEZv3RThN60tFqGFt+NJcO1DmssUcP+T/nlX+ZzEoEvVUYH0GU9X/VlmDXsbMsS9mONI1HrlxLgtKojw7w==} + + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + 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-astro@0.31.4: + resolution: {integrity: sha512-aU1KYSo7TdnSTBenyAWuRFB07lVUe0/6u9cltC2ZCx0QgcfC+HP7e87OkmvoKh+RZuaSsVgLG4zCOI8LZ6nS/Q==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=7.0.0' + + eslint-plugin-i@2.29.1: + resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} + engines: {node: '>=12'} + peerDependencies: + eslint: ^7.2.0 || ^8 + + eslint-plugin-jsx-a11y@6.8.0: + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + + eslint-plugin-no-only-tests@3.1.0: + resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} + engines: {node: '>=5.0.0'} + + eslint-plugin-react-hooks@4.6.0: + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + 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-refresh@0.4.5: + resolution: {integrity: sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w==} + peerDependencies: + eslint: '>=7' + + eslint-plugin-react@7.33.2: + resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + + eslint-plugin-unicorn@51.0.1: + resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.56.0' + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-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@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + 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@2.0.0: + resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==} + + 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'} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + expressive-code@0.35.3: + resolution: {integrity: sha512-XjWWUCxS4uQjPoRM98R7SNWWIYlFEaOeHm1piWv+c7coHCekuWno81thsc3g/UJ+DajNtOEsIQIAAcsBQZ8LMg==} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.2: + 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==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-up@7.0.0: + resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} + engines: {node: '>=18'} + + find-yarn-workspace-root2@1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + flattie@1.1.1: + resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} + engines: {node: '>=8'} + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-stream@8.0.1: + 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.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + + 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'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + 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'} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-embedded@3.0.0: + resolution: {integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==} + + hast-util-from-html@2.0.1: + resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} + + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + + hast-util-has-property@3.0.0: + resolution: {integrity: sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==} + + hast-util-is-body-ok-link@3.0.0: + resolution: {integrity: sha512-VFHY5bo2nY8HiV6nir2ynmEB1XkxzuUffhEGeVx7orbu/B1KaGyeGgMZldvMVx5xWrDlLLG/kQ6YkJAMkBEx0w==} + + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-phrasing@3.0.1: + resolution: {integrity: sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==} + + hast-util-raw@9.0.3: + resolution: {integrity: sha512-ICWvVOF2fq4+7CMmtCPD5CM4QKjPbHpPotE6+8tDooV0ZuyJVUzHsrNX+O5NaRbieTf0F7FfeBOMAwi6Td0+yQ==} + + hast-util-select@6.0.2: + resolution: {integrity: sha512-hT/SD/d/Meu+iobvgkffo1QecV8WeKWxwsNMzcTJsKw1cKTQKSR/7ArJeURLNJF9HDjp9nVoORyNNJxrvBye8Q==} + + hast-util-to-estree@3.1.0: + resolution: {integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==} + + hast-util-to-html@9.0.1: + resolution: {integrity: sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ==} + + hast-util-to-jsx-runtime@2.3.0: + resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} + + 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-to-text@4.0.2: + resolution: {integrity: sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==} + + 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==} + + hastscript@9.0.0: + resolution: {integrity: sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + html-escaper@3.0.3: + resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + html-whitespace-sensitive-tag-names@3.0.0: + resolution: {integrity: sha512-KlClZ3/Qy5UgvpvVvDomGhnQhNWH5INE8GwvSIQ9CWt1K0zbbXrl7eN5bWaafOZgtmO3jMPwUqmrmEwinhPq1w==} + + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + husky@9.0.11: + resolution: {integrity: sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==} + engines: {node: '>=18'} + hasBin: true + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + 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'} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + + 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-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=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.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + 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==} + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + 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-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + + is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} + + 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'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + 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'} + + 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@3.0.0: + 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@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-unicode-supported@2.0.0: + resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + engines: {node: '>=18'} + + 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-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + 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@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + 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'} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + language-subtag-registry@0.3.23: + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} + + language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + lint-staged@15.2.5: + resolution: {integrity: sha512-j+DfX7W9YUvdzEZl3Rk47FhDF6xwDBV5wwsCPw6BwWZVPYJemusQmvb9bRsW23Sqsaa+vRloAWogbK4BUuU2zA==} + engines: {node: '>=18.12.0'} + hasBin: true + + listr2@8.2.1: + resolution: {integrity: sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==} + engines: {node: '>=18.0.0'} + + load-yaml-file@0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + + local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + log-symbols@6.0.0: + resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} + engines: {node: '>=18'} + + log-update@6.0.0: + resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} + engines: {node: '>=18'} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + + 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==} + + mdast-util-definitions@6.0.0: + resolution: {integrity: sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==} + + mdast-util-directive@3.0.0: + resolution: {integrity: sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==} + + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@2.0.1: + resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + + mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-mdx-expression@2.0.0: + resolution: {integrity: sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==} + + mdast-util-mdx-jsx@3.1.2: + resolution: {integrity: sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==} + + mdast-util-mdx@3.0.0: + resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==} + + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + + micromark-extension-directive@3.0.0: + resolution: {integrity: sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==} + + micromark-extension-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==} + + micromark-extension-gfm-footnote@2.0.0: + resolution: {integrity: sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==} + + micromark-extension-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==} + + micromark-extension-gfm-table@2.0.0: + resolution: {integrity: sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.0.1: + resolution: {integrity: sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-extension-mdx-expression@3.0.0: + resolution: {integrity: sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==} + + micromark-extension-mdx-jsx@3.0.0: + resolution: {integrity: sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==} + + micromark-extension-mdx-md@2.0.0: + resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==} + + micromark-extension-mdxjs-esm@3.0.0: + resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==} + + micromark-extension-mdxjs@3.0.0: + resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==} + + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-mdx-expression@2.0.1: + resolution: {integrity: sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-events-to-acorn@2.0.2: + resolution: {integrity: sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + + mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + nlcst-to-string@3.1.1: + resolution: {integrity: sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==} + + nlcst-to-string@4.0.0: + resolution: {integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==} + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + not@0.1.0: + resolution: {integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + 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.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} + + object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + ora@8.0.1: + resolution: {integrity: sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==} + engines: {node: '>=18'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-queue@8.0.1: + resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} + engines: {node: '>=18'} + + p-timeout@6.1.2: + resolution: {integrity: sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ==} + engines: {node: '>=14.16'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + pagefind@1.1.0: + resolution: {integrity: sha512-1nmj0/vfYcMxNEQj0YDRp6bTVv9hI7HLdPhK/vBBYlrnwjATndQvHyicj5Y7pUHrpCFZpFnLVQXIF829tpFmaw==} + hasBin: true + + 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==} + + parse-gitignore@2.0.0: + resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==} + engines: {node: '>=14'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-latin@5.0.1: + resolution: {integrity: sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==} + + parse-latin@7.0.0: + resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + 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'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pkg-types@1.1.1: + resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} + + pluralize@8.0.0: + 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-nested@6.0.1: + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.1.0: + resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} + engines: {node: '>=4'} + + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + + preferred-pm@3.1.3: + resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==} + engines: {node: '>=10'} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-plugin-astro@0.14.0: + resolution: {integrity: sha512-7jRGJsexaRIyUzTk8uzXlP45cw6DQ5Ci4bTe0xCBCcuO1Fff8jJy9oI+kRCQKSdDFTSAArMSg8GpvzlKBtSaZA==} + engines: {node: ^14.15.0 || >=16.0.0} + + prettier@3.3.1: + resolution: {integrity: sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==} + engines: {node: '>=14'} + hasBin: true + + prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + 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-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + + regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + + rehype-expressive-code@0.35.3: + resolution: {integrity: sha512-kj43Rg+WzYUs8RRr6XyBr60pnrIZEgbmn9yJoV6qka1UDpcx7r8icn6Q2uSAgaLtlEUy+HCPgQJraOZrA53LOQ==} + + rehype-format@5.0.0: + resolution: {integrity: sha512-kM4II8krCHmUhxrlvzFSptvaWh280Fr7UGNJU5DCMuvmAwGCNmGfi9CvFAQK6JDjsNoRMWQStglK3zKJH685Wg==} + + rehype-minify-whitespace@6.0.0: + resolution: {integrity: sha512-i9It4YHR0Sf3GsnlR5jFUKXRr9oayvEk9GKQUkwZv6hs70OH9q3OCZrq9PpLvIGKt3W+JxBOxCidNVpH/6rWdA==} + + rehype-parse@9.0.0: + resolution: {integrity: sha512-WG7nfvmWWkCR++KEkZevZb/uw41E8TsH4DsY9UxsTbIXCVGbAs4S+r8FrQ+OtH5EEQAs+5UxKC42VinkmpA1Yw==} + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-stringify@10.0.0: + resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==} + + rehype@13.0.1: + resolution: {integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==} + + remark-directive@3.0.0: + resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==} + + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + + remark-mdx@3.0.1: + resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.0: + resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + + remark-smartypants@2.1.0: + resolution: {integrity: sha512-qoF6Vz3BjU2tP6OfZqHOvCU0ACmu/6jhGaINSQRI9mM7wCxNQTKB3JUAN4SVoN2ybElEDTxBIABRep7e569iJw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + remark-smartypants@3.0.1: + resolution: {integrity: sha512-qyshfCl2eLO0i0558e79ZJsfojC5wjnYLByjt0FmjJQN6aYwcRxpoj784LZJSoWCdnA2ubh5rLNGb8Uur/wDng==} + engines: {node: '>=16.0.0'} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + + restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + retext-latin@3.1.0: + resolution: {integrity: sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==} + + retext-latin@4.0.0: + resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} + + retext-smartypants@5.2.0: + resolution: {integrity: sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==} + + retext-smartypants@6.1.0: + resolution: {integrity: sha512-LDPXg95346bqFZnDMHo0S7Rq5p64+B+N8Vz733+wPMDtwb9rCOs9LIdIEhrUOU+TAywX9St+ocQWJt8wrzivcQ==} + + retext-stringify@3.1.0: + resolution: {integrity: sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==} + + retext-stringify@4.0.0: + resolution: {integrity: sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==} + + retext@8.1.0: + resolution: {integrity: sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==} + + retext@9.0.0: + resolution: {integrity: sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rollup@4.18.0: + resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + s.color@0.0.15: + resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==} + + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + + sass-formatter@0.7.9: + resolution: {integrity: sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==} + + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + + set-function-length@1.2.2: + 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'} + + sharp@0.33.4: + resolution: {integrity: sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==} + engines: {libvips: '>=8.15.2', 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'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shiki@1.6.3: + resolution: {integrity: sha512-lE1/YGlzFY0hQSyEfsZj18xGrTWxyhFQkaiILALqTBZPbJeYFWpbUhlmTGPOupYB/qC+H6sV4UznJzcEh3WMHQ==} + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + sitemap@7.1.2: + resolution: {integrity: sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.18: + resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + starlight-package-managers@0.6.0: + resolution: {integrity: sha512-2tE0B4ZVEZXZ1LJjcSvVXLfJP8SB2nE+nhiFgSa3fuHUPtnbzmFxLVp7jEKD8jaMXKWPYtlNTy95gJSK9W1sbQ==} + engines: {node: '>=18.14.1'} + peerDependencies: + '@astrojs/starlight': '>=0.22.0' + astro: '>=4.2.7' + + stdin-discarder@0.2.2: + resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} + engines: {node: '>=18'} + + stream-replace-string@2.0.0: + resolution: {integrity: sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==} + + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string-width@7.1.0: + resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} + engines: {node: '>=18'} + + string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} + + 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'} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + 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==} + + suf-log@2.5.3: + resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + synckit@0.9.0: + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} + engines: {node: ^14.18.0 || >=16.0.0} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + tsconfck@3.1.0: + resolution: {integrity: sha512-CMjc5zMnyAjcS9sPLytrbFmj89st2g+JYtY/c02ug4Q+CZaAtCgbyviI0n1YvjZE/pzoc6FbNsINS13DOL1B9w==} + engines: {node: ^18 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + 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-eslint@7.0.2: + resolution: {integrity: sha512-Nsb+Dfi897ErE3CtVJYBECBQWPGEpCXLqLCQarBhFtyJsHnhA7O39GmtAmN3dmZ6bIp8tP5T+AOUrEdE07SBVg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + unherit@3.0.1: + resolution: {integrity: sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==} + + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + + unified@10.1.2: + resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + + unified@11.0.4: + resolution: {integrity: sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==} + + unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} + + 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==} + + unist-util-modify-children@3.1.1: + resolution: {integrity: sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==} + + unist-util-modify-children@4.0.0: + resolution: {integrity: sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==} + + unist-util-position-from-estree@2.0.0: + resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + + unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-children@2.0.2: + resolution: {integrity: sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==} + + unist-util-visit-children@3.0.0: + resolution: {integrity: sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==} + + 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==} + + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + vfile-location@5.0.2: + resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + + vfile-message@3.1.4: + resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@5.3.7: + resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + + vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + + vite@5.2.13: + resolution: {integrity: sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vitefu@0.2.5: + resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + vite: + optional: true + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-pm-runs@1.1.0: + resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} + engines: {node: '>=4'} + + which-pm@2.0.0: + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} + + which-pm@2.2.0: + resolution: {integrity: sha512-MOiaDbA5ZZgUjkeMWM5EkJp4loW5ZRoa5bc3/aeMox/PJelMhE6t7S/mLuiY43DBupyxH+S0U1bTui9kWUlmsw==} + engines: {node: '>=8.15'} + + 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 + + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + + zod-to-json-schema@3.23.0: + resolution: {integrity: sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag==} + peerDependencies: + zod: ^3.23.3 + + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@astrojs/compiler@1.8.2': {} + + '@astrojs/compiler@2.8.0': {} + + '@astrojs/internal-helpers@0.4.0': {} + + '@astrojs/markdown-remark@5.1.0': + dependencies: + '@astrojs/prism': 3.1.0 + github-slugger: 2.0.0 + hast-util-from-html: 2.0.1 + hast-util-to-text: 4.0.2 + import-meta-resolve: 4.1.0 + mdast-util-definitions: 6.0.0 + rehype-raw: 7.0.0 + rehype-stringify: 10.0.0 + remark-gfm: 4.0.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.0 + remark-smartypants: 2.1.0 + shiki: 1.6.3 + unified: 11.0.4 + unist-util-remove-position: 5.0.0 + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + + '@astrojs/mdx@3.1.0(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5))': + dependencies: + '@astrojs/markdown-remark': 5.1.0 + '@mdx-js/mdx': 3.0.1 + acorn: 8.11.3 + astro: 4.10.1(@types/node@17.0.45)(typescript@5.4.5) + es-module-lexer: 1.5.3 + estree-util-visit: 2.0.0 + github-slugger: 2.0.0 + gray-matter: 4.0.3 + hast-util-to-html: 9.0.1 + kleur: 4.1.5 + rehype-raw: 7.0.0 + remark-gfm: 4.0.0 + remark-smartypants: 3.0.1 + source-map: 0.7.4 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + + '@astrojs/prism@3.1.0': + dependencies: + prismjs: 1.29.0 + + '@astrojs/sitemap@3.1.5': + dependencies: + sitemap: 7.1.2 + stream-replace-string: 2.0.0 + zod: 3.23.8 + + '@astrojs/starlight@0.24.0(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5))': + dependencies: + '@astrojs/mdx': 3.1.0(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5)) + '@astrojs/sitemap': 3.1.5 + '@pagefind/default-ui': 1.1.0 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + astro: 4.10.1(@types/node@17.0.45)(typescript@5.4.5) + astro-expressive-code: 0.35.3(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5)) + bcp-47: 2.1.0 + hast-util-from-html: 2.0.1 + hast-util-select: 6.0.2 + hast-util-to-string: 3.0.0 + hastscript: 8.0.0 + mdast-util-directive: 3.0.0 + mdast-util-to-markdown: 2.1.0 + pagefind: 1.1.0 + rehype: 13.0.1 + rehype-format: 5.0.0 + remark-directive: 3.0.0 + unified: 11.0.4 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + + '@astrojs/telemetry@3.1.0': + dependencies: + ci-info: 4.0.0 + debug: 4.3.5 + dlv: 1.1.3 + dset: 3.1.3 + is-docker: 3.0.0 + is-wsl: 3.1.0 + which-pm-runs: 1.1.0 + transitivePeerDependencies: + - supports-color + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 + + '@babel/compat-data@7.24.7': {} + + '@babel/core@7.24.7': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + convert-source-map: 2.0.0 + debug: 4.3.5 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.24.7': + dependencies: + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-annotate-as-pure@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-compilation-targets@7.24.7': + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-environment-visitor@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-function-name@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/helper-hoist-variables@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.24.7': {} + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-split-export-declaration@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-string-parser@7.24.7': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.7': {} + + '@babel/helpers@7.24.7': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + + '@babel/parser@7.24.7': + dependencies: + '@babel/types': 7.24.7 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.7)': + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/runtime@7.24.7': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + + '@babel/traverse@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.24.7': + dependencies: + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@ctrl/tinycolor@4.1.0': {} + + '@emnapi/runtime@1.2.0': + dependencies: + tslib: 2.6.3 + optional: true + + '@esbuild/aix-ppc64@0.20.2': + optional: true + + '@esbuild/aix-ppc64@0.21.4': + optional: true + + '@esbuild/android-arm64@0.20.2': + optional: true + + '@esbuild/android-arm64@0.21.4': + optional: true + + '@esbuild/android-arm@0.20.2': + optional: true + + '@esbuild/android-arm@0.21.4': + optional: true + + '@esbuild/android-x64@0.20.2': + optional: true + + '@esbuild/android-x64@0.21.4': + optional: true + + '@esbuild/darwin-arm64@0.20.2': + optional: true + + '@esbuild/darwin-arm64@0.21.4': + optional: true + + '@esbuild/darwin-x64@0.20.2': + optional: true + + '@esbuild/darwin-x64@0.21.4': + optional: true + + '@esbuild/freebsd-arm64@0.20.2': + optional: true + + '@esbuild/freebsd-arm64@0.21.4': + optional: true + + '@esbuild/freebsd-x64@0.20.2': + optional: true + + '@esbuild/freebsd-x64@0.21.4': + optional: true + + '@esbuild/linux-arm64@0.20.2': + optional: true + + '@esbuild/linux-arm64@0.21.4': + optional: true + + '@esbuild/linux-arm@0.20.2': + optional: true + + '@esbuild/linux-arm@0.21.4': + optional: true + + '@esbuild/linux-ia32@0.20.2': + optional: true + + '@esbuild/linux-ia32@0.21.4': + optional: true + + '@esbuild/linux-loong64@0.20.2': + optional: true + + '@esbuild/linux-loong64@0.21.4': + optional: true + + '@esbuild/linux-mips64el@0.20.2': + optional: true + + '@esbuild/linux-mips64el@0.21.4': + optional: true + + '@esbuild/linux-ppc64@0.20.2': + optional: true + + '@esbuild/linux-ppc64@0.21.4': + optional: true + + '@esbuild/linux-riscv64@0.20.2': + optional: true + + '@esbuild/linux-riscv64@0.21.4': + optional: true + + '@esbuild/linux-s390x@0.20.2': + optional: true + + '@esbuild/linux-s390x@0.21.4': + optional: true + + '@esbuild/linux-x64@0.20.2': + optional: true + + '@esbuild/linux-x64@0.21.4': + optional: true + + '@esbuild/netbsd-x64@0.20.2': + optional: true + + '@esbuild/netbsd-x64@0.21.4': + optional: true + + '@esbuild/openbsd-x64@0.20.2': + optional: true + + '@esbuild/openbsd-x64@0.21.4': + optional: true + + '@esbuild/sunos-x64@0.20.2': + optional: true + + '@esbuild/sunos-x64@0.21.4': + optional: true + + '@esbuild/win32-arm64@0.20.2': + optional: true + + '@esbuild/win32-arm64@0.21.4': + optional: true + + '@esbuild/win32-ia32@0.20.2': + optional: true + + '@esbuild/win32-ia32@0.21.4': + optional: true + + '@esbuild/win32-x64@0.20.2': + optional: true + + '@esbuild/win32-x64@0.21.4': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.10.1': {} + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.3.5 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + 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@8.57.0': {} + + '@expressive-code/core@0.35.3': + dependencies: + '@ctrl/tinycolor': 4.1.0 + hast-util-select: 6.0.2 + hast-util-to-html: 9.0.1 + hast-util-to-text: 4.0.2 + hastscript: 9.0.0 + postcss: 8.4.38 + postcss-nested: 6.0.1(postcss@8.4.38) + unist-util-visit: 5.0.0 + unist-util-visit-parents: 6.0.1 + + '@expressive-code/plugin-frames@0.35.3': + dependencies: + '@expressive-code/core': 0.35.3 + + '@expressive-code/plugin-shiki@0.35.3': + dependencies: + '@expressive-code/core': 0.35.3 + shiki: 1.6.3 + + '@expressive-code/plugin-text-markers@0.35.3': + dependencies: + '@expressive-code/core': 0.35.3 + + '@hideoo/eslint-config@3.0.1(@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': + dependencies: + '@eslint/js': 8.57.0 + astro-eslint-parser: 0.16.3 + eslint: 8.57.0 + eslint-config-flat-gitignore: 0.1.3 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint-plugin-astro: 0.31.4(eslint@8.57.0) + eslint-plugin-i: 2.29.1(@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) + eslint-plugin-no-only-tests: 3.1.0 + eslint-plugin-react: 7.33.2(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) + eslint-plugin-react-refresh: 0.4.5(eslint@8.57.0) + eslint-plugin-unicorn: 51.0.1(eslint@8.57.0) + globals: 14.0.0 + local-pkg: 0.5.0 + typescript-eslint: 7.0.2(eslint@8.57.0)(typescript@5.4.5) + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + - typescript + + '@hideoo/prettier-config@2.0.0': {} + + '@hideoo/tsconfig@2.0.1': {} + + '@humanwhocodes/config-array@0.11.14': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.5 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@img/sharp-darwin-arm64@0.33.4': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.2 + optional: true + + '@img/sharp-darwin-x64@0.33.4': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.2 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.2': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.2': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.2': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.2': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.2': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.2': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.2': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.2': + optional: true + + '@img/sharp-linux-arm64@0.33.4': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.2 + optional: true + + '@img/sharp-linux-arm@0.33.4': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.2 + optional: true + + '@img/sharp-linux-s390x@0.33.4': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.2 + optional: true + + '@img/sharp-linux-x64@0.33.4': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.2 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.4': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.2 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.4': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.2 + optional: true + + '@img/sharp-wasm32@0.33.4': + dependencies: + '@emnapi/runtime': 1.2.0 + optional: true + + '@img/sharp-win32-ia32@0.33.4': + optional: true + + '@img/sharp-win32-x64@0.33.4': + optional: true + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + '@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.4 + unist-util-position-from-estree: 2.0.0 + unist-util-stringify-position: 4.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + transitivePeerDependencies: + - supports-color + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@pagefind/darwin-arm64@1.1.0': + optional: true + + '@pagefind/darwin-x64@1.1.0': + optional: true + + '@pagefind/default-ui@1.1.0': {} + + '@pagefind/linux-arm64@1.1.0': + optional: true + + '@pagefind/linux-x64@1.1.0': + optional: true + + '@pagefind/windows-x64@1.1.0': + optional: true + + '@pkgr/core@0.1.1': {} + + '@rollup/rollup-android-arm-eabi@4.18.0': + optional: true + + '@rollup/rollup-android-arm64@4.18.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.18.0': + optional: true + + '@rollup/rollup-darwin-x64@4.18.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.18.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.18.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.18.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.18.0': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.18.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.18.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.18.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.18.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.18.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.18.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.18.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.18.0': + optional: true + + '@shikijs/core@1.6.3': {} + + '@types/acorn@4.0.6': + dependencies: + '@types/estree': 1.0.5 + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.24.7 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.24.7 + + '@types/cookie@0.6.0': {} + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + + '@types/estree-jsx@1.0.5': + dependencies: + '@types/estree': 1.0.5 + + '@types/estree@1.0.5': {} + + '@types/hast@3.0.4': + dependencies: + '@types/unist': 3.0.2 + + '@types/json-schema@7.0.15': {} + + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.2 + + '@types/mdx@2.0.13': {} + + '@types/ms@0.7.34': {} + + '@types/nlcst@1.0.4': + dependencies: + '@types/unist': 2.0.10 + + '@types/nlcst@2.0.3': + dependencies: + '@types/unist': 3.0.2 + + '@types/node@17.0.45': {} + + '@types/normalize-package-data@2.4.4': {} + + '@types/sax@1.2.7': + dependencies: + '@types/node': 17.0.45 + + '@types/semver@7.5.8': {} + + '@types/unist@2.0.10': {} + + '@types/unist@3.0.2': {} + + '@typescript-eslint/eslint-plugin@7.0.2(@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/regexpp': 4.10.1 + '@typescript-eslint/parser': 7.0.2(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/type-utils': 7.0.2(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.0.2(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.0.2 + debug: 4.3.5 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.0.2 + debug: 4.3.5 + eslint: 8.57.0 + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@5.62.0': + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + + '@typescript-eslint/scope-manager@7.0.2': + dependencies: + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/visitor-keys': 7.0.2 + + '@typescript-eslint/type-utils@7.0.2(eslint@8.57.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.4.5) + '@typescript-eslint/utils': 7.0.2(eslint@8.57.0)(typescript@5.4.5) + debug: 4.3.5 + eslint: 8.57.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@5.62.0': {} + + '@typescript-eslint/types@7.0.2': {} + + '@typescript-eslint/typescript-estree@7.0.2(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/visitor-keys': 7.0.2 + debug: 4.3.5 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@7.0.2(eslint@8.57.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.4.5) + eslint: 8.57.0 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@5.62.0': + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + + '@typescript-eslint/visitor-keys@7.0.2': + dependencies: + '@typescript-eslint/types': 7.0.2 + eslint-visitor-keys: 3.4.3 + + '@ungap/structured-clone@1.2.0': {} + + acorn-jsx@5.3.2(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn@8.11.3: {} + + 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 + + ansi-align@3.0.1: + dependencies: + string-width: 4.2.3 + + ansi-escapes@6.2.1: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arg@5.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + aria-query@5.3.0: + dependencies: + dequal: 2.0.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-iterate@2.0.1: {} + + array-union@2.1.0: {} + + 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: + 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 + + ast-types-flow@0.0.8: {} + + astring@1.8.6: {} + + astro-eslint-parser@0.16.3: + dependencies: + '@astrojs/compiler': 2.8.0 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + astrojs-compiler-sync: 0.3.5(@astrojs/compiler@2.8.0) + debug: 4.3.5 + entities: 4.5.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + + astro-expressive-code@0.35.3(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5)): + dependencies: + astro: 4.10.1(@types/node@17.0.45)(typescript@5.4.5) + rehype-expressive-code: 0.35.3 + + astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5): + dependencies: + '@astrojs/compiler': 2.8.0 + '@astrojs/internal-helpers': 0.4.0 + '@astrojs/markdown-remark': 5.1.0 + '@astrojs/telemetry': 3.1.0 + '@babel/core': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + '@types/babel__core': 7.20.5 + '@types/cookie': 0.6.0 + acorn: 8.11.3 + aria-query: 5.3.0 + axobject-query: 4.0.0 + boxen: 7.1.1 + chokidar: 3.6.0 + ci-info: 4.0.0 + clsx: 2.1.1 + common-ancestor-path: 1.0.1 + cookie: 0.6.0 + cssesc: 3.0.0 + debug: 4.3.5 + deterministic-object-hash: 2.0.2 + devalue: 5.0.0 + diff: 5.2.0 + dlv: 1.1.3 + dset: 3.1.3 + es-module-lexer: 1.5.3 + esbuild: 0.21.4 + estree-walker: 3.0.3 + execa: 8.0.1 + fast-glob: 3.3.2 + flattie: 1.1.1 + github-slugger: 2.0.0 + gray-matter: 4.0.3 + html-escaper: 3.0.3 + http-cache-semantics: 4.1.1 + js-yaml: 4.1.0 + kleur: 4.1.5 + magic-string: 0.30.10 + mrmime: 2.0.0 + ora: 8.0.1 + p-limit: 5.0.0 + p-queue: 8.0.1 + path-to-regexp: 6.2.2 + preferred-pm: 3.1.3 + prompts: 2.4.2 + rehype: 13.0.1 + resolve: 1.22.8 + semver: 7.6.2 + shiki: 1.6.3 + string-width: 7.1.0 + strip-ansi: 7.1.0 + tsconfck: 3.1.0(typescript@5.4.5) + unist-util-visit: 5.0.0 + vfile: 6.0.1 + vite: 5.2.13(@types/node@17.0.45) + vitefu: 0.2.5(vite@5.2.13(@types/node@17.0.45)) + which-pm: 2.2.0 + yargs-parser: 21.1.1 + zod: 3.23.8 + zod-to-json-schema: 3.23.0(zod@3.23.8) + optionalDependencies: + sharp: 0.33.4 + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + - typescript + + astrojs-compiler-sync@0.3.5(@astrojs/compiler@2.8.0): + dependencies: + '@astrojs/compiler': 2.8.0 + synckit: 0.9.0 + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 + + axe-core@4.7.0: {} + + axobject-query@3.2.1: + dependencies: + dequal: 2.0.3 + + axobject-query@4.0.0: + dependencies: + dequal: 2.0.3 + + bail@2.0.2: {} + + balanced-match@1.0.2: {} + + base-64@1.0.0: {} + + bcp-47-match@2.0.3: {} + + bcp-47@2.1.0: + dependencies: + is-alphabetical: 2.0.1 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + + binary-extensions@2.3.0: {} + + boolbase@1.0.0: {} + + boxen@7.1.1: + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.23.1: + dependencies: + caniuse-lite: 1.0.30001629 + electron-to-chromium: 1.4.796 + node-releases: 2.0.14 + update-browserslist-db: 1.0.16(browserslist@4.23.1) + + builtin-modules@3.3.0: {} + + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + + callsites@3.1.0: {} + + camelcase@7.0.1: {} + + caniuse-lite@1.0.30001629: {} + + ccount@2.0.1: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.3.0: {} + + character-entities-html4@2.1.0: {} + + character-entities-legacy@3.0.0: {} + + character-entities@2.0.2: {} + + character-reference-invalid@2.0.1: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + ci-info@4.0.0: {} + + clean-regexp@1.0.0: + dependencies: + escape-string-regexp: 1.0.5 + + cli-boxes@3.0.0: {} + + cli-cursor@4.0.0: + dependencies: + restore-cursor: 4.0.0 + + cli-spinners@2.9.2: {} + + cli-truncate@4.0.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 7.1.0 + + clsx@2.1.1: {} + + collapse-white-space@2.1.0: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + + colorette@2.0.20: {} + + comma-separated-tokens@2.0.3: {} + + commander@12.1.0: {} + + common-ancestor-path@1.0.1: {} + + concat-map@0.0.1: {} + + confbox@0.1.7: {} + + convert-source-map@2.0.0: {} + + cookie@0.6.0: {} + + core-js-compat@3.37.1: + dependencies: + browserslist: 4.23.1 + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css-selector-parser@3.0.5: {} + + cssesc@3.0.0: {} + + damerau-levenshtein@1.0.8: {} + + 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 + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.3.5: + dependencies: + ms: 2.1.2 + + decode-named-character-reference@1.0.2: + dependencies: + character-entities: 2.0.2 + + deep-is@0.1.4: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + dequal@2.0.3: {} + + detect-libc@2.0.3: {} + + deterministic-object-hash@2.0.2: + dependencies: + base-64: 1.0.0 + + devalue@5.0.0: {} + + devlop@1.1.0: + dependencies: + dequal: 2.0.3 + + diff@5.2.0: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + direction@2.0.1: {} + + dlv@1.1.3: {} + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dset@3.1.3: {} + + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.4.796: {} + + emoji-regex@10.3.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + entities@4.5.0: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + 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.1 + 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-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.3: {} + + 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@0.20.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + + esbuild@0.21.4: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.4 + '@esbuild/android-arm': 0.21.4 + '@esbuild/android-arm64': 0.21.4 + '@esbuild/android-x64': 0.21.4 + '@esbuild/darwin-arm64': 0.21.4 + '@esbuild/darwin-x64': 0.21.4 + '@esbuild/freebsd-arm64': 0.21.4 + '@esbuild/freebsd-x64': 0.21.4 + '@esbuild/linux-arm': 0.21.4 + '@esbuild/linux-arm64': 0.21.4 + '@esbuild/linux-ia32': 0.21.4 + '@esbuild/linux-loong64': 0.21.4 + '@esbuild/linux-mips64el': 0.21.4 + '@esbuild/linux-ppc64': 0.21.4 + '@esbuild/linux-riscv64': 0.21.4 + '@esbuild/linux-s390x': 0.21.4 + '@esbuild/linux-x64': 0.21.4 + '@esbuild/netbsd-x64': 0.21.4 + '@esbuild/openbsd-x64': 0.21.4 + '@esbuild/sunos-x64': 0.21.4 + '@esbuild/win32-arm64': 0.21.4 + '@esbuild/win32-ia32': 0.21.4 + '@esbuild/win32-x64': 0.21.4 + + escalade@3.1.2: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + eslint-compat-utils@0.4.1(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + semver: 7.6.2 + + eslint-config-flat-gitignore@0.1.3: + dependencies: + find-up: 7.0.0 + parse-gitignore: 2.0.0 + + eslint-config-prettier@9.1.0(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + + eslint-import-resolver-node@0.3.9: + dependencies: + debug: 3.2.7 + is-core-module: 2.13.1 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.8.1(@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 7.0.2(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + + eslint-plugin-astro@0.31.4(eslint@8.57.0): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@jridgewell/sourcemap-codec': 1.4.15 + '@typescript-eslint/types': 5.62.0 + astro-eslint-parser: 0.16.3 + eslint: 8.57.0 + eslint-compat-utils: 0.4.1(eslint@8.57.0) + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0): + dependencies: + debug: 4.3.5 + doctrine: 3.0.0 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + get-tsconfig: 4.7.5 + is-glob: 4.0.3 + minimatch: 3.1.2 + semver: 7.6.2 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): + dependencies: + '@babel/runtime': 7.24.7 + aria-query: 5.3.0 + array-includes: 3.1.8 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.7.0 + axobject-query: 3.2.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + es-iterator-helpers: 1.0.19 + eslint: 8.57.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + + eslint-plugin-no-only-tests@3.1.0: {} + + eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + + eslint-plugin-react-refresh@0.4.5(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + + eslint-plugin-react@7.33.2(eslint@8.57.0): + dependencies: + array-includes: 3.1.8 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.19 + eslint: 8.57.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.hasown: 1.1.4 + 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 + + eslint-plugin-unicorn@51.0.1(eslint@8.57.0): + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint/eslintrc': 2.1.4 + ci-info: 4.0.0 + clean-regexp: 1.0.0 + core-js-compat: 3.37.1 + eslint: 8.57.0 + esquery: 1.5.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.0.2 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.6.2 + strip-indent: 3.0.0 + transitivePeerDependencies: + - supports-color + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint@8.57.0: + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.1 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.5 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + 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 + transitivePeerDependencies: + - supports-color + + espree@9.6.1: + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + + esprima@4.0.1: {} + + esquery@1.5.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.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@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/unist': 3.0.2 + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.5 + + esutils@2.0.3: {} + + eventemitter3@5.0.1: {} + + execa@8.0.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + + expressive-code@0.35.3: + dependencies: + '@expressive-code/core': 0.35.3 + '@expressive-code/plugin-frames': 0.35.3 + '@expressive-code/plugin-shiki': 0.35.3 + '@expressive-code/plugin-text-markers': 0.35.3 + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend@3.0.2: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.7 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.2.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + find-up@7.0.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + unicorn-magic: 0.1.0 + + find-yarn-workspace-root2@1.2.16: + dependencies: + micromatch: 4.0.7 + pkg-dir: 4.2.0 + + flat-cache@3.2.0: + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + + flatted@3.3.1: {} + + flattie@1.1.1: {} + + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 + + functions-have-names@1.2.3: {} + + gensync@1.0.0-beta.2: {} + + get-east-asian-width@1.2.0: {} + + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + 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.5: + dependencies: + resolve-pkg-maps: 1.0.0 + + github-slugger@2.0.0: {} + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@11.12.0: {} + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + 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.1 + merge2: 1.4.1 + slash: 3.0.0 + + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + gray-matter@4.0.3: + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + + has-bigints@1.0.2: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + + has-proto@1.0.3: {} + + has-symbols@1.0.3: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + hast-util-embedded@3.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-is-element: 3.0.0 + + hast-util-from-html@2.0.1: + dependencies: + '@types/hast': 3.0.4 + devlop: 1.1.0 + hast-util-from-parse5: 8.0.1 + parse5: 7.1.2 + vfile: 6.0.1 + vfile-message: 4.0.2 + + hast-util-from-parse5@8.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + devlop: 1.1.0 + hastscript: 8.0.0 + property-information: 6.5.0 + vfile: 6.0.1 + vfile-location: 5.0.2 + web-namespaces: 2.0.1 + + hast-util-has-property@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-is-body-ok-link@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-is-element@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-parse-selector@4.0.0: + dependencies: + '@types/hast': 3.0.4 + + hast-util-phrasing@3.0.1: + dependencies: + '@types/hast': 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-has-property: 3.0.0 + hast-util-is-body-ok-link: 3.0.0 + hast-util-is-element: 3.0.0 + + hast-util-raw@9.0.3: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + '@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.1 + web-namespaces: 2.0.1 + zwitch: 2.0.4 + + hast-util-select@6.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + bcp-47-match: 2.0.3 + comma-separated-tokens: 2.0.3 + css-selector-parser: 3.0.5 + devlop: 1.1.0 + direction: 2.0.1 + hast-util-has-property: 3.0.0 + hast-util-to-string: 3.0.0 + hast-util-whitespace: 3.0.0 + not: 0.1.0 + nth-check: 2.1.1 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + hast-util-to-estree@3.1.0: + dependencies: + '@types/estree': 1.0.5 + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.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 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + style-to-object: 0.4.4 + unist-util-position: 5.0.0 + zwitch: 2.0.4 + transitivePeerDependencies: + - supports-color + + hast-util-to-html@9.0.1: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-raw: 9.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.0 + property-information: 6.5.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-to-jsx-runtime@2.3.0: + dependencies: + '@types/estree': 1.0.5 + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + hast-util-whitespace: 3.0.0 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + 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 + + 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-to-text@4.0.2: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.2 + hast-util-is-element: 3.0.0 + unist-util-find-after: 5.0.0 + + hast-util-whitespace@3.0.0: + dependencies: + '@types/hast': 3.0.4 + + 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 + + hastscript@9.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 + + hosted-git-info@2.8.9: {} + + html-escaper@3.0.3: {} + + html-void-elements@3.0.0: {} + + html-whitespace-sensitive-tag-names@3.0.0: {} + + http-cache-semantics@4.1.1: {} + + human-signals@5.0.0: {} + + husky@9.0.11: {} + + ignore@5.3.1: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-meta-resolve@4.1.0: {} + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + inline-style-parser@0.1.1: {} + + inline-style-parser@0.2.3: {} + + internal-slot@1.0.7: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + + is-alphabetical@2.0.1: {} + + is-alphanumerical@2.0.1: + dependencies: + is-alphabetical: 2.0.1 + is-decimal: 2.0.1 + + is-array-buffer@3.0.4: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + + is-arrayish@0.2.1: {} + + 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-buffer@2.0.5: {} + + is-builtin-module@3.2.1: + dependencies: + builtin-modules: 3.3.0 + + is-callable@1.2.7: {} + + is-core-module@2.13.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@3.0.0: {} + + is-extendable@0.1.1: {} + + is-extglob@2.1.1: {} + + is-finalizationregistry@1.0.2: + dependencies: + call-bind: 1.0.7 + + is-fullwidth-code-point@3.0.0: {} + + is-fullwidth-code-point@4.0.0: {} + + is-fullwidth-code-point@5.0.0: + dependencies: + get-east-asian-width: 1.2.0 + + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.2 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hexadecimal@2.0.1: {} + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-interactive@2.0.0: {} + + is-map@2.0.3: {} + + 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-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@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@1.3.0: {} + + is-unicode-supported@2.0.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-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + 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 + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsesc@0.5.0: {} + + jsesc@2.5.2: {} + + jsesc@3.0.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@2.2.3: {} + + 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: {} + + kleur@3.0.3: {} + + kleur@4.1.5: {} + + language-subtag-registry@0.3.23: {} + + language-tags@1.0.9: + dependencies: + language-subtag-registry: 0.3.23 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lilconfig@3.1.1: {} + + lines-and-columns@1.2.4: {} + + lint-staged@15.2.5: + dependencies: + chalk: 5.3.0 + commander: 12.1.0 + debug: 4.3.5 + execa: 8.0.1 + lilconfig: 3.1.1 + listr2: 8.2.1 + micromatch: 4.0.7 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.4.5 + transitivePeerDependencies: + - supports-color + + listr2@8.2.1: + dependencies: + cli-truncate: 4.0.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 6.0.0 + rfdc: 1.3.1 + wrap-ansi: 9.0.0 + + load-yaml-file@0.2.0: + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + + local-pkg@0.5.0: + dependencies: + mlly: 1.7.1 + pkg-types: 1.1.1 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash.merge@4.6.2: {} + + log-symbols@6.0.0: + dependencies: + chalk: 5.3.0 + is-unicode-supported: 1.3.0 + + log-update@6.0.0: + dependencies: + ansi-escapes: 6.2.1 + cli-cursor: 4.0.0 + slice-ansi: 7.1.0 + strip-ansi: 7.1.0 + wrap-ansi: 9.0.0 + + longest-streak@3.1.0: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + magic-string@0.30.10: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + markdown-extensions@2.0.0: {} + + markdown-table@3.0.3: {} + + mdast-util-definitions@6.0.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + unist-util-visit: 5.0.0 + + mdast-util-directive@3.0.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-visit-parents: 6.0.1 + transitivePeerDependencies: + - supports-color + + mdast-util-find-and-replace@3.0.1: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 + + mdast-util-gfm-footnote@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-expression@2.0.0: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx-jsx@3.1.2: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + parse-entities: 4.0.1 + stringify-entities: 4.0.4 + unist-util-remove-position: 5.0.0 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + transitivePeerDependencies: + - supports-color + + mdast-util-mdx@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-mdx-expression: 2.0.0 + mdast-util-mdx-jsx: 3.1.2 + mdast-util-mdxjs-esm: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-mdxjs-esm@2.0.1: + dependencies: + '@types/estree-jsx': 1.0.5 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-hast@13.2.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + + mdast-util-to-markdown@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromark-core-commonmark@2.0.1: + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-directive@3.0.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + parse-entities: 4.0.1 + + micromark-extension-gfm-autolink-literal@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-footnote@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-strikethrough@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-table@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-gfm-task-list-item@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.0.0 + micromark-extension-gfm-footnote: 2.0.0 + micromark-extension-gfm-strikethrough: 2.0.0 + micromark-extension-gfm-table: 2.0.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.0.1 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-expression@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-mdx-jsx@3.0.0: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + devlop: 1.1.0 + estree-util-is-identifier-name: 3.0.0 + micromark-factory-mdx-expression: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdx-md@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-mdxjs-esm@3.0.0: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-extension-mdxjs@3.0.0: + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + micromark-extension-mdx-expression: 3.0.0 + micromark-extension-mdx-jsx: 3.0.0 + micromark-extension-mdx-md: 2.0.0 + micromark-extension-mdxjs-esm: 3.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-destination@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-label@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-mdx-expression@2.0.1: + dependencies: + '@types/estree': 1.0.5 + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-events-to-acorn: 2.0.2 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-position-from-estree: 2.0.0 + vfile-message: 4.0.2 + + micromark-factory-space@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + + micromark-factory-title@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-whitespace@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-chunked@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-classify-character@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-combine-extensions@2.0.0: + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-decode-numeric-character-reference@2.0.1: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-decode-string@2.0.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + + micromark-util-encode@2.0.0: {} + + micromark-util-events-to-acorn@2.0.2: + dependencies: + '@types/acorn': 4.0.6 + '@types/estree': 1.0.5 + '@types/unist': 3.0.2 + devlop: 1.1.0 + estree-util-visit: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + vfile-message: 4.0.2 + + micromark-util-html-tag-name@2.0.0: {} + + micromark-util-normalize-identifier@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-resolve-all@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-subtokenize@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@2.0.0: {} + + micromark@4.0.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.5 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.7: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mimic-fn@2.1.0: {} + + mimic-fn@4.0.0: {} + + min-indent@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.3: + dependencies: + brace-expansion: 2.0.1 + + mlly@1.7.1: + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.1.1 + ufo: 1.5.3 + + mrmime@2.0.0: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + nanoid@3.3.7: {} + + natural-compare@1.4.0: {} + + nlcst-to-string@3.1.1: + dependencies: + '@types/nlcst': 1.0.4 + + nlcst-to-string@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + + node-releases@2.0.14: {} + + normalize-package-data@2.5.0: + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + + normalize-path@3.0.0: {} + + not@0.1.0: {} + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + object-assign@4.1.1: {} + + object-inspect@1.13.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.hasown@1.1.4: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + object.values@1.2.0: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + 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@8.0.1: + dependencies: + chalk: 5.3.0 + cli-cursor: 4.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 2.0.0 + log-symbols: 6.0.0 + stdin-discarder: 0.2.2 + string-width: 7.1.0 + strip-ansi: 7.1.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.0.0 + + p-limit@5.0.0: + dependencies: + yocto-queue: 1.0.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + + p-queue@8.0.1: + dependencies: + eventemitter3: 5.0.1 + p-timeout: 6.1.2 + + p-timeout@6.1.2: {} + + p-try@2.2.0: {} + + pagefind@1.1.0: + optionalDependencies: + '@pagefind/darwin-arm64': 1.1.0 + '@pagefind/darwin-x64': 1.1.0 + '@pagefind/linux-arm64': 1.1.0 + '@pagefind/linux-x64': 1.1.0 + '@pagefind/windows-x64': 1.1.0 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-entities@4.0.1: + dependencies: + '@types/unist': 2.0.10 + character-entities: 2.0.2 + character-entities-legacy: 3.0.0 + character-reference-invalid: 2.0.1 + decode-named-character-reference: 1.0.2 + is-alphanumerical: 2.0.1 + is-decimal: 2.0.1 + is-hexadecimal: 2.0.1 + + parse-gitignore@2.0.0: {} + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse-latin@5.0.1: + dependencies: + nlcst-to-string: 3.1.1 + unist-util-modify-children: 3.1.1 + unist-util-visit-children: 2.0.2 + + parse-latin@7.0.0: + dependencies: + '@types/nlcst': 2.0.3 + '@types/unist': 3.0.2 + nlcst-to-string: 4.0.0 + unist-util-modify-children: 4.0.0 + unist-util-visit-children: 3.0.0 + vfile: 6.0.1 + + parse5@7.1.2: + dependencies: + entities: 4.5.0 + + path-exists@4.0.0: {} + + path-exists@5.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-parse@1.0.7: {} + + path-to-regexp@6.2.2: {} + + path-type@4.0.0: {} + + pathe@1.1.2: {} + + periscopic@3.1.0: + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + + picocolors@1.0.1: {} + + picomatch@2.3.1: {} + + pidtree@0.6.0: {} + + pify@4.0.1: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + pkg-types@1.1.1: + dependencies: + confbox: 0.1.7 + mlly: 1.7.1 + pathe: 1.1.2 + + pluralize@8.0.0: {} + + possible-typed-array-names@1.0.0: {} + + postcss-nested@6.0.1(postcss@8.4.38): + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 + + postcss-selector-parser@6.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss@8.4.38: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.1 + source-map-js: 1.2.0 + + preferred-pm@3.1.3: + dependencies: + find-up: 5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: 4.0.0 + which-pm: 2.0.0 + + prelude-ls@1.2.1: {} + + prettier-plugin-astro@0.14.0: + dependencies: + '@astrojs/compiler': 1.8.2 + prettier: 3.3.1 + sass-formatter: 0.7.9 + + prettier@3.3.1: {} + + prismjs@1.29.0: {} + + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + 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: {} + + punycode@2.3.1: {} + + queue-microtask@1.2.3: {} + + react-is@16.13.1: {} + + read-pkg-up@7.0.1: + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + + read-pkg@5.2.0: + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + 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.3 + + regenerator-runtime@0.14.1: {} + + regexp-tree@0.1.27: {} + + regexp.prototype.flags@1.5.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + + regjsparser@0.10.0: + dependencies: + jsesc: 0.5.0 + + rehype-expressive-code@0.35.3: + dependencies: + expressive-code: 0.35.3 + + rehype-format@5.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-is-element: 3.0.0 + hast-util-phrasing: 3.0.1 + hast-util-whitespace: 3.0.0 + html-whitespace-sensitive-tag-names: 3.0.0 + rehype-minify-whitespace: 6.0.0 + unist-util-visit-parents: 6.0.1 + + rehype-minify-whitespace@6.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-embedded: 3.0.0 + hast-util-is-element: 3.0.0 + hast-util-whitespace: 3.0.0 + unist-util-is: 6.0.0 + + rehype-parse@9.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-from-html: 2.0.1 + unified: 11.0.4 + + rehype-raw@7.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-raw: 9.0.3 + vfile: 6.0.1 + + rehype-stringify@10.0.0: + dependencies: + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.1 + unified: 11.0.4 + + rehype@13.0.1: + dependencies: + '@types/hast': 3.0.4 + rehype-parse: 9.0.0 + rehype-stringify: 10.0.0 + unified: 11.0.4 + + remark-directive@3.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-directive: 3.0.0 + micromark-extension-directive: 3.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + + remark-gfm@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + + remark-mdx@3.0.1: + dependencies: + mdast-util-mdx: 3.0.0 + micromark-extension-mdxjs: 3.0.0 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + micromark-util-types: 2.0.0 + unified: 11.0.4 + transitivePeerDependencies: + - supports-color + + remark-rehype@11.1.0: + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.0 + unified: 11.0.4 + vfile: 6.0.1 + + remark-smartypants@2.1.0: + dependencies: + retext: 8.1.0 + retext-smartypants: 5.2.0 + unist-util-visit: 5.0.0 + + remark-smartypants@3.0.1: + dependencies: + retext: 9.0.0 + retext-smartypants: 6.1.0 + unified: 11.0.4 + unist-util-visit: 5.0.0 + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.4 + + resolve-from@4.0.0: {} + + resolve-pkg-maps@1.0.0: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + resolve@2.0.0-next.5: + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + restore-cursor@4.0.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + retext-latin@3.1.0: + dependencies: + '@types/nlcst': 1.0.4 + parse-latin: 5.0.1 + unherit: 3.0.1 + unified: 10.1.2 + + retext-latin@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + parse-latin: 7.0.0 + unified: 11.0.4 + + retext-smartypants@5.2.0: + dependencies: + '@types/nlcst': 1.0.4 + nlcst-to-string: 3.1.1 + unified: 10.1.2 + unist-util-visit: 4.1.2 + + retext-smartypants@6.1.0: + dependencies: + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unist-util-visit: 5.0.0 + + retext-stringify@3.1.0: + dependencies: + '@types/nlcst': 1.0.4 + nlcst-to-string: 3.1.1 + unified: 10.1.2 + + retext-stringify@4.0.0: + dependencies: + '@types/nlcst': 2.0.3 + nlcst-to-string: 4.0.0 + unified: 11.0.4 + + retext@8.1.0: + dependencies: + '@types/nlcst': 1.0.4 + retext-latin: 3.1.0 + retext-stringify: 3.1.0 + unified: 10.1.2 + + retext@9.0.0: + dependencies: + '@types/nlcst': 2.0.3 + retext-latin: 4.0.0 + retext-stringify: 4.0.0 + unified: 11.0.4 + + reusify@1.0.4: {} + + rfdc@1.3.1: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rollup@4.18.0: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.18.0 + '@rollup/rollup-android-arm64': 4.18.0 + '@rollup/rollup-darwin-arm64': 4.18.0 + '@rollup/rollup-darwin-x64': 4.18.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 + '@rollup/rollup-linux-arm-musleabihf': 4.18.0 + '@rollup/rollup-linux-arm64-gnu': 4.18.0 + '@rollup/rollup-linux-arm64-musl': 4.18.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 + '@rollup/rollup-linux-riscv64-gnu': 4.18.0 + '@rollup/rollup-linux-s390x-gnu': 4.18.0 + '@rollup/rollup-linux-x64-gnu': 4.18.0 + '@rollup/rollup-linux-x64-musl': 4.18.0 + '@rollup/rollup-win32-arm64-msvc': 4.18.0 + '@rollup/rollup-win32-ia32-msvc': 4.18.0 + '@rollup/rollup-win32-x64-msvc': 4.18.0 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + s.color@0.0.15: {} + + 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-regex-test@1.0.3: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + + sass-formatter@0.7.9: + dependencies: + suf-log: 2.5.3 + + sax@1.4.1: {} + + section-matter@1.0.0: + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + + semver@5.7.2: {} + + semver@6.3.1: {} + + semver@7.6.2: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + 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 + + sharp@0.33.4: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.6.2 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.4 + '@img/sharp-darwin-x64': 0.33.4 + '@img/sharp-libvips-darwin-arm64': 1.0.2 + '@img/sharp-libvips-darwin-x64': 1.0.2 + '@img/sharp-libvips-linux-arm': 1.0.2 + '@img/sharp-libvips-linux-arm64': 1.0.2 + '@img/sharp-libvips-linux-s390x': 1.0.2 + '@img/sharp-libvips-linux-x64': 1.0.2 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.2 + '@img/sharp-libvips-linuxmusl-x64': 1.0.2 + '@img/sharp-linux-arm': 0.33.4 + '@img/sharp-linux-arm64': 0.33.4 + '@img/sharp-linux-s390x': 0.33.4 + '@img/sharp-linux-x64': 0.33.4 + '@img/sharp-linuxmusl-arm64': 0.33.4 + '@img/sharp-linuxmusl-x64': 0.33.4 + '@img/sharp-wasm32': 0.33.4 + '@img/sharp-win32-ia32': 0.33.4 + '@img/sharp-win32-x64': 0.33.4 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + shiki@1.6.3: + dependencies: + '@shikijs/core': 1.6.3 + + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + + sisteransi@1.0.5: {} + + sitemap@7.1.2: + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.4.1 + + slash@3.0.0: {} + + slice-ansi@5.0.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + + slice-ansi@7.1.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 5.0.0 + + source-map-js@1.2.0: {} + + source-map@0.7.4: {} + + space-separated-tokens@2.0.2: {} + + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.18 + + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.18 + + spdx-license-ids@3.0.18: {} + + sprintf-js@1.0.3: {} + + starlight-package-managers@0.6.0(@astrojs/starlight@0.24.0(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5)))(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5)): + dependencies: + '@astrojs/starlight': 0.24.0(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5)) + astro: 4.10.1(@types/node@17.0.45)(typescript@5.4.5) + + stdin-discarder@0.2.2: {} + + stream-replace-string@2.0.0: {} + + string-argv@0.3.2: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string-width@7.1.0: + dependencies: + emoji-regex: 10.3.0 + get-east-asian-width: 1.2.0 + strip-ansi: 7.1.0 + + 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.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 + + stringify-entities@4.0.4: + dependencies: + character-entities-html4: 2.1.0 + character-entities-legacy: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + + strip-bom-string@1.0.0: {} + + strip-bom@3.0.0: {} + + strip-final-newline@3.0.0: {} + + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + + strip-json-comments@3.1.1: {} + + style-to-object@0.4.4: + dependencies: + inline-style-parser: 0.1.1 + + style-to-object@1.0.6: + dependencies: + inline-style-parser: 0.2.3 + + suf-log@2.5.3: + dependencies: + s.color: 0.0.15 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + synckit@0.9.0: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.3 + + text-table@0.2.0: {} + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + trim-lines@3.0.1: {} + + trough@2.2.0: {} + + ts-api-utils@1.3.0(typescript@5.4.5): + dependencies: + typescript: 5.4.5 + + tsconfck@3.1.0(typescript@5.4.5): + optionalDependencies: + typescript: 5.4.5 + + tslib@2.6.3: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-fest@0.20.2: {} + + type-fest@0.6.0: {} + + type-fest@0.8.1: {} + + type-fest@2.19.0: {} + + 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-eslint@7.0.2(eslint@8.57.0)(typescript@5.4.5): + dependencies: + '@typescript-eslint/eslint-plugin': 7.0.2(@typescript-eslint/parser@7.0.2(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.0.2(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.57.0 + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + typescript@5.4.5: {} + + ufo@1.5.3: {} + + 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 + + unherit@3.0.1: {} + + unicorn-magic@0.1.0: {} + + unified@10.1.2: + dependencies: + '@types/unist': 2.0.10 + bail: 2.0.2 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 5.3.7 + + unified@11.0.4: + dependencies: + '@types/unist': 3.0.2 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.1 + + unist-util-find-after@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + + unist-util-is@5.2.1: + dependencies: + '@types/unist': 2.0.10 + + unist-util-is@6.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-modify-children@3.1.1: + dependencies: + '@types/unist': 2.0.10 + array-iterate: 2.0.1 + + unist-util-modify-children@4.0.0: + dependencies: + '@types/unist': 3.0.2 + array-iterate: 2.0.1 + + unist-util-position-from-estree@2.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-remove-position@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-visit: 5.0.0 + + unist-util-stringify-position@3.0.3: + dependencies: + '@types/unist': 2.0.10 + + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-visit-children@2.0.2: + dependencies: + '@types/unist': 2.0.10 + + unist-util-visit-children@3.0.0: + dependencies: + '@types/unist': 3.0.2 + + unist-util-visit-parents@5.1.3: + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + + unist-util-visit-parents@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + + unist-util-visit@4.1.2: + dependencies: + '@types/unist': 2.0.10 + unist-util-is: 5.2.1 + unist-util-visit-parents: 5.1.3 + + unist-util-visit@5.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + update-browserslist-db@1.0.16(browserslist@4.23.1): + dependencies: + browserslist: 4.23.1 + escalade: 3.1.2 + picocolors: 1.0.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + util-deprecate@1.0.2: {} + + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + vfile-location@5.0.2: + dependencies: + '@types/unist': 3.0.2 + vfile: 6.0.1 + + vfile-message@3.1.4: + dependencies: + '@types/unist': 2.0.10 + unist-util-stringify-position: 3.0.3 + + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + + vfile@5.3.7: + dependencies: + '@types/unist': 2.0.10 + is-buffer: 2.0.5 + unist-util-stringify-position: 3.0.3 + vfile-message: 3.1.4 + + vfile@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + + vite@5.2.13(@types/node@17.0.45): + dependencies: + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.18.0 + optionalDependencies: + '@types/node': 17.0.45 + fsevents: 2.3.3 + + vitefu@0.2.5(vite@5.2.13(@types/node@17.0.45)): + optionalDependencies: + vite: 5.2.13(@types/node@17.0.45) + + web-namespaces@2.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.3: + 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-pm-runs@1.1.0: {} + + which-pm@2.0.0: + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + + which-pm@2.2.0: + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + + 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 + + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 + + word-wrap@1.2.5: {} + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrap-ansi@9.0.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 7.1.0 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + yallist@3.1.1: {} + + yaml@2.4.5: {} + + yargs-parser@21.1.1: {} + + yocto-queue@0.1.0: {} + + yocto-queue@1.0.0: {} + + zod-to-json-schema@3.23.0(zod@3.23.8): + dependencies: + zod: 3.23.8 + + zod@3.23.8: {} + + zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..7802187 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +packages: + - 'docs/' + - 'packages/*' diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..876abff --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "@hideoo/tsconfig" +} From 9b778582a1c5e85162b6df6219f979d8a6fda7aa Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Sun, 9 Jun 2024 16:44:28 +0200 Subject: [PATCH 02/64] feat: setup starlight plugin --- docs/astro.config.ts | 2 ++ docs/package.json | 3 ++- packages/starlight-theme-rapide/index.ts | 13 ++++++++++++- pnpm-lock.yaml | 3 +++ 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/docs/astro.config.ts b/docs/astro.config.ts index 7300c0b..23f6200 100644 --- a/docs/astro.config.ts +++ b/docs/astro.config.ts @@ -1,5 +1,6 @@ import starlight from '@astrojs/starlight' import { defineConfig } from 'astro/config' +import starlightThemeRapide from 'starlight-theme-rapide' export default defineConfig({ integrations: [ @@ -8,6 +9,7 @@ export default defineConfig({ editLink: { baseUrl: 'https://github.com/HiDeoo/starlight-theme-rapide/edit/main/docs/', }, + plugins: [starlightThemeRapide()], sidebar: [ { label: 'Start Here', diff --git a/docs/package.json b/docs/package.json index fc77c6e..0d2582c 100644 --- a/docs/package.json +++ b/docs/package.json @@ -15,7 +15,8 @@ "@astrojs/starlight": "^0.24.0", "astro": "^4.10.1", "sharp": "^0.33.4", - "starlight-package-managers": "^0.6.0" + "starlight-package-managers": "^0.6.0", + "starlight-theme-rapide": "workspace:*" }, "engines": { "node": ">=18" diff --git a/packages/starlight-theme-rapide/index.ts b/packages/starlight-theme-rapide/index.ts index 336ce12..ab429dd 100644 --- a/packages/starlight-theme-rapide/index.ts +++ b/packages/starlight-theme-rapide/index.ts @@ -1 +1,12 @@ -export {} +import type { StarlightPlugin } from '@astrojs/starlight/types' + +export default function starlightThemeRapidePlugin(): StarlightPlugin { + return { + name: 'starlight-theme-rapide-plugin', + hooks: { + setup({ logger }) { + logger.info('Starlight Theme Rapide plugin loaded') + }, + }, + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c02329a..81662c7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,6 +53,9 @@ importers: starlight-package-managers: specifier: ^0.6.0 version: 0.6.0(@astrojs/starlight@0.24.0(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5)))(astro@4.10.1(@types/node@17.0.45)(typescript@5.4.5)) + starlight-theme-rapide: + specifier: workspace:* + version: link:../packages/starlight-theme-rapide packages/starlight-theme-rapide: dependencies: From 1d812a7b4e80af081d36b9fe291ded34d587dd20 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Sun, 9 Jun 2024 16:53:44 +0200 Subject: [PATCH 03/64] feat: setup theme --- packages/starlight-theme-rapide/index.ts | 13 +++++++++++-- packages/starlight-theme-rapide/package.json | 1 + packages/starlight-theme-rapide/styles.css | 9 +++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 packages/starlight-theme-rapide/styles.css diff --git a/packages/starlight-theme-rapide/index.ts b/packages/starlight-theme-rapide/index.ts index ab429dd..b9356ae 100644 --- a/packages/starlight-theme-rapide/index.ts +++ b/packages/starlight-theme-rapide/index.ts @@ -4,8 +4,17 @@ export default function starlightThemeRapidePlugin(): StarlightPlugin { return { name: 'starlight-theme-rapide-plugin', hooks: { - setup({ logger }) { - logger.info('Starlight Theme Rapide plugin loaded') + setup({ config, updateConfig }) { + updateConfig({ + customCss: [...(config.customCss ?? []), 'starlight-theme-rapide/styles'], + expressiveCode: + config.expressiveCode === false + ? false + : { + ...(typeof config.expressiveCode === 'object' ? config.expressiveCode : {}), + themes: ['vitesse-dark', 'vitesse-light'], + }, + }) }, }, } diff --git a/packages/starlight-theme-rapide/package.json b/packages/starlight-theme-rapide/package.json index caa5de9..be4594a 100644 --- a/packages/starlight-theme-rapide/package.json +++ b/packages/starlight-theme-rapide/package.json @@ -7,6 +7,7 @@ "type": "module", "exports": { ".": "./index.ts", + "./styles": "./styles.css", "./package.json": "./package.json" }, "scripts": { diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css new file mode 100644 index 0000000..49aac2f --- /dev/null +++ b/packages/starlight-theme-rapide/styles.css @@ -0,0 +1,9 @@ +:root, +::backdrop { + --sl-color-black: red; +} + +:root[data-theme='light'], +[data-theme='light'] ::backdrop { + --sl-color-black: green; +} From 11a9696685279b171b3f5875fe79bf10fb47f714 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Sun, 9 Jun 2024 18:10:42 +0200 Subject: [PATCH 04/64] feat: add markdown styles --- docs/astro.config.ts | 1 + docs/src/content/docs/examples/markdown.md | 63 ++++++++++++++++++++++ packages/starlight-theme-rapide/index.ts | 7 +++ packages/starlight-theme-rapide/styles.css | 23 +++++++- 4 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 docs/src/content/docs/examples/markdown.md diff --git a/docs/astro.config.ts b/docs/astro.config.ts index 23f6200..ad540e3 100644 --- a/docs/astro.config.ts +++ b/docs/astro.config.ts @@ -5,6 +5,7 @@ import starlightThemeRapide from 'starlight-theme-rapide' export default defineConfig({ integrations: [ starlight({ + credits: true, customCss: ['./src/styles/custom.css'], editLink: { baseUrl: 'https://github.com/HiDeoo/starlight-theme-rapide/edit/main/docs/', diff --git a/docs/src/content/docs/examples/markdown.md b/docs/src/content/docs/examples/markdown.md new file mode 100644 index 0000000..9c41ee0 --- /dev/null +++ b/docs/src/content/docs/examples/markdown.md @@ -0,0 +1,63 @@ +--- +title: Markdown +--- + +## Heading 2 + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eu ante elementum, ultrices massa ut, ornare lacus. Praesent iaculis, ex ac pellentesque malesuada, arcu mi imperdiet purus, et molestie neque leo quis felis. Nunc et odio bibendum, vestibulum elit sit amet, viverra lorem. + +### Heading 3 + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eu ante elementum, ultrices massa ut, ornare lacus. Praesent iaculis, ex ac pellentesque malesuada, arcu mi imperdiet purus, et molestie neque leo quis felis. Nunc et odio bibendum, vestibulum elit sit amet, viverra lorem. + +#### Heading 4 + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eu ante elementum, ultrices massa ut, ornare lacus. Praesent iaculis, ex ac pellentesque malesuada, arcu mi imperdiet purus, et molestie neque leo quis felis. Nunc et odio bibendum, vestibulum elit sit amet, viverra lorem. + +##### Heading 5 + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eu ante elementum, ultrices massa ut, ornare lacus. Praesent iaculis, ex ac pellentesque malesuada, arcu mi imperdiet purus, et molestie neque leo quis felis. Nunc et odio bibendum, vestibulum elit sit amet, viverra lorem. + +###### Heading 6 + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eu ante elementum, ultrices massa ut, ornare lacus. Praesent iaculis, ex ac pellentesque malesuada, arcu mi imperdiet purus, et molestie neque leo quis felis. Nunc et odio bibendum, vestibulum elit sit amet, viverra lorem. + +## Styling text + +Fusce imperdiet, **tellus** ornare tempor _cursus_, tellus ipsum fringilla ~~quam~~, in venenatis neque augue vitae **_turpis_**. Nulla sed neque volutpat, eleifend purus sit amet, porttitor nisi. Ut id sodales lorem. Suspendisse auctor augue nisl, sed placerat enim porttitor at. Etiam eu ipsum suscipit, egestas ante non, eleifend nulla. + +## Quoting text + +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla in enim sem. + +> Mauris dictum augue augue, ut accumsan tellus convallis ut. Nam vitae libero vestibulum, feugiat mi rhoncus, imperdiet dui. In eros diam, sagittis ultrices dolor ac, ultrices cursus sapien. Morbi fringilla porta purus, sed interdum urna luctus vitae. + +## Quoting code + +Curabitur congue ac `enim` id hendrerit. + +```js +const foo = 'bar' +``` + +## Links + +Fusce tincidunt urna at [ultricies](#_) sollicitudin. + +## Lists + +- Lorem +- Ipsum + - Dolor + - Sit +- Amet + 1. Consectetur + 2. Adipiscing + +## Tables + +// TODO(HiDeoo) + +## Details + +// TODO(HiDeoo) diff --git a/packages/starlight-theme-rapide/index.ts b/packages/starlight-theme-rapide/index.ts index b9356ae..abbac56 100644 --- a/packages/starlight-theme-rapide/index.ts +++ b/packages/starlight-theme-rapide/index.ts @@ -12,6 +12,13 @@ export default function starlightThemeRapidePlugin(): StarlightPlugin { ? false : { ...(typeof config.expressiveCode === 'object' ? config.expressiveCode : {}), + styleOverrides: { + borderColor: 'var(--sl-color-gray-6)', + borderRadius: '0.5rem', + frames: { + frameBoxShadowCssValue: 'unset', + }, + }, themes: ['vitesse-dark', 'vitesse-light'], }, }) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 49aac2f..5811a3e 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -1,9 +1,30 @@ :root, ::backdrop { - --sl-color-black: red; + /* // TODO(HiDeoo) Ensure all props from SL are overriden. */ + + /* // TODO(HiDeoo) Ensure all colors from SL are overriden. */ + --sl-color-white: hsl(0, 0%, 100%); + --sl-color-gray-2: hsl(45 14% 78%); + --sl-color-gray-5: hsl(0 4% 21%); + --sl-color-gray-6: hsl(0 4% 16%); + --sl-color-black: hsl(0 4% 8%); + + /* // TODO(HiDeoo) other accents */ + --sl-color-accent-high: hsl(154 31% 44%); } :root[data-theme='light'], [data-theme='light'] ::backdrop { + /* // TODO(HiDeoo) */ --sl-color-black: green; } + +.sl-markdown-content a:not(:where(.not-content *)) { + color: var(--sl-color-white); + text-decoration-color: var(--sl-color-gray-2); + text-underline-offset: 0.25em; +} + +.sl-markdown-content a:is(:hover, :focus-visible):not(:where(.not-content *)) { + text-decoration-color: var(--sl-color-accent-high); +} From d613196cac76be04bdbfcb0547c2969aa06c6b18 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Sun, 9 Jun 2024 18:21:06 +0200 Subject: [PATCH 05/64] feat: tweak markdown link styles --- packages/starlight-theme-rapide/styles.css | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 5811a3e..dee0376 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -21,10 +21,9 @@ .sl-markdown-content a:not(:where(.not-content *)) { color: var(--sl-color-white); - text-decoration-color: var(--sl-color-gray-2); text-underline-offset: 0.25em; } .sl-markdown-content a:is(:hover, :focus-visible):not(:where(.not-content *)) { - text-decoration-color: var(--sl-color-accent-high); + color: var(--sl-color-accent-high); } From 2c6780ac6e45edb467a30c51e51bd9e296a8faa9 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Sun, 9 Jun 2024 19:17:43 +0200 Subject: [PATCH 06/64] feat: style page layout --- packages/starlight-theme-rapide/styles.css | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index dee0376..3938438 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -11,6 +11,10 @@ /* // TODO(HiDeoo) other accents */ --sl-color-accent-high: hsl(154 31% 44%); + + /* // TODO(HiDeoo) others */ + --sl-color-bg-nav: var(--sl-color-black); + --sl-color-bg-sidebar: var(--sl-color-black); } :root[data-theme='light'], @@ -19,6 +23,67 @@ --sl-color-black: green; } +/* Header */ + +header.header { + border-bottom: 1px solid var(--sl-color-gray-5); +} + +/* Sidebar */ + +div.sidebar-pane { + border-inline-end: 1px solid var(--sl-color-gray-5); +} + +div.sidebar-pane summary { + flex-direction: row-reverse; + gap: 0.375rem; + justify-content: start; + padding: 0.2em var(--sl-sidebar-item-padding-inline); + padding-inline: calc(var(--sl-sidebar-item-padding-inline) / 2) var(--sl-sidebar-item-padding-inline); +} + +div.sidebar-pane ul ul li { + margin-inline-start: calc(var(--sl-sidebar-item-padding-inline) + (0.625rem / 2)); +} + +div.sidebar-pane a[aria-current='page'] { + background-color: unset; + color: var(--sl-color-text-accent); +} + +div.sidebar-pane ul ul li:has(> a[aria-current='page']) { + border-inline-start-color: var(--sl-color-accent-high); +} + +div.sidebar-pane ul ul li:has(> a:not([aria-current='page']):is(:hover, :focus-visible)) { + border-inline-start-color: var(--sl-color-white); +} + +div.sidebar-pane .top-level > li + li { + margin-top: 1.25rem; +} + +/* Content */ + +.content-panel { + padding-top: 1rem; +} + +.content-panel + .content-panel { + border-top: none; + padding-top: 0; +} + +/* Table of contents */ + +.right-sidebar { + border-inline-start: unset; + padding-top: calc(var(--sl-nav-height) + 1.75rem); +} + +/* Markdown */ + .sl-markdown-content a:not(:where(.not-content *)) { color: var(--sl-color-white); text-underline-offset: 0.25em; From 2acbb21c339328f9d0a1a192045f7f95c211096f Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Sun, 9 Jun 2024 19:21:11 +0200 Subject: [PATCH 07/64] feat: tweak page background --- packages/starlight-theme-rapide/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 3938438..08ee210 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -7,7 +7,7 @@ --sl-color-gray-2: hsl(45 14% 78%); --sl-color-gray-5: hsl(0 4% 21%); --sl-color-gray-6: hsl(0 4% 16%); - --sl-color-black: hsl(0 4% 8%); + --sl-color-black: hsl(0 4% 7%); /* // TODO(HiDeoo) other accents */ --sl-color-accent-high: hsl(154 31% 44%); From a440e1fb65d767dff759ce56dcbc4263cd608b8e Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Mon, 10 Jun 2024 08:58:43 +0200 Subject: [PATCH 08/64] feat: tweak markdown headings --- packages/starlight-theme-rapide/styles.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 08ee210..87a2fde 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -15,6 +15,13 @@ /* // TODO(HiDeoo) others */ --sl-color-bg-nav: var(--sl-color-black); --sl-color-bg-sidebar: var(--sl-color-black); + + --sl-text-h1: var(--sl-text-3xl); + --sl-text-h2: var(--sl-text-2xl); + --sl-text-h3: var(--sl-text-xl); + --sl-text-h4: var(--sl-text-lg); + --sl-text-h5: unset; + --sl-text-h6: unset; } :root[data-theme='light'], From 6d13fe1084d951a773d0c7587f87702c90db27f8 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Mon, 10 Jun 2024 09:06:04 +0200 Subject: [PATCH 09/64] feat: style toc entry colors --- packages/starlight-theme-rapide/styles.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 87a2fde..9f92585 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -4,7 +4,8 @@ /* // TODO(HiDeoo) Ensure all colors from SL are overriden. */ --sl-color-white: hsl(0, 0%, 100%); - --sl-color-gray-2: hsl(45 14% 78%); + --sl-color-gray-2: hsl(0 14% 78%); + --sl-color-gray-3: hsl(0 5% 58%); --sl-color-gray-5: hsl(0 4% 21%); --sl-color-gray-6: hsl(0 4% 16%); --sl-color-black: hsl(0 4% 7%); From 80d057770cd3a7e1f93ca6caaed584583cfed48d Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Mon, 10 Jun 2024 09:17:28 +0200 Subject: [PATCH 10/64] feat: style markdown tables --- docs/src/content/docs/examples/markdown.md | 9 ++++++++- packages/starlight-theme-rapide/styles.css | 17 +++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/docs/src/content/docs/examples/markdown.md b/docs/src/content/docs/examples/markdown.md index 9c41ee0..0bbae4b 100644 --- a/docs/src/content/docs/examples/markdown.md +++ b/docs/src/content/docs/examples/markdown.md @@ -56,7 +56,14 @@ Fusce tincidunt urna at [ultricies](#_) sollicitudin. ## Tables -// TODO(HiDeoo) +| Column 1 | Column 2 | Column 3 | Column 4 | +| -------- | -------- | -------- | -------- | +| Cell 1-1 | Cell 1-2 | Cell 1-3 | Cell 1-4 | +| Cell 2-1 | Cell 2-2 | Cell 2-3 | Cell 2-4 | +| Cell 3-1 | Cell 3-2 | Cell 3-3 | Cell 3-4 | +| Cell 4-1 | Cell 4-2 | Cell 4-3 | Cell 4-4 | +| Cell 5-1 | Cell 5-2 | Cell 5-3 | Cell 5-4 | +| Cell 6-1 | Cell 6-2 | Cell 6-3 | Cell 6-4 | ## Details diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 9f92585..ed07868 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -100,3 +100,20 @@ div.sidebar-pane .top-level > li + li { .sl-markdown-content a:is(:hover, :focus-visible):not(:where(.not-content *)) { color: var(--sl-color-accent-high); } + +.sl-markdown-content tr:nth-child(2n):not(:where(.not-content *)) { + background-color: color-mix(in hsl, var(--sl-color-gray-6) 30%, transparent); +} + +.sl-markdown-content :is(th, td):not(:where(.not-content *)) { + border: none; +} + +.sl-markdown-content th:not(:where(.not-content *)) { + border-bottom: 1px solid var(--sl-color-white); + /* color: var(--sl-color-white); */ +} + +.sl-markdown-content td:not(:where(.not-content *)) { + border-bottom: 1px solid var(--sl-color-gray-5); +} From c1518ffe02838d12b896807cfccdc4b73a807814 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Mon, 10 Jun 2024 09:22:19 +0200 Subject: [PATCH 11/64] feat: style markdown details --- docs/src/content/docs/examples/markdown.md | 7 ++++++- packages/starlight-theme-rapide/styles.css | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/src/content/docs/examples/markdown.md b/docs/src/content/docs/examples/markdown.md index 0bbae4b..2af6aef 100644 --- a/docs/src/content/docs/examples/markdown.md +++ b/docs/src/content/docs/examples/markdown.md @@ -67,4 +67,9 @@ Fusce tincidunt urna at [ultricies](#_) sollicitudin. ## Details -// TODO(HiDeoo) +
+Where and when is the Andromeda constellation most visible? + +The [Andromeda constellation]() is most visible in the night sky during the month of November at latitudes between `+90°` and `−40°`. + +
diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index ed07868..df4f5f6 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -111,9 +111,14 @@ div.sidebar-pane .top-level > li + li { .sl-markdown-content th:not(:where(.not-content *)) { border-bottom: 1px solid var(--sl-color-white); - /* color: var(--sl-color-white); */ } .sl-markdown-content td:not(:where(.not-content *)) { border-bottom: 1px solid var(--sl-color-gray-5); } + +.sl-markdown-content details:not(:where(.not-content *)) { + --sl-details-border-color--hover: var(--sl-color-white); + + border-inline-start-width: 1px; +} From c9989b20ca75f09c5da85f1d708ccd57f98c936f Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Mon, 10 Jun 2024 09:33:47 +0200 Subject: [PATCH 12/64] feat: style content meta --- packages/starlight-theme-rapide/styles.css | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index df4f5f6..fe71c5a 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -90,6 +90,24 @@ div.sidebar-pane .top-level > li + li { padding-top: calc(var(--sl-nav-height) + 1.75rem); } +/* Content */ + +.meta { + align-items: center; + flex-direction: row-reverse; +} + +.meta a { + border: 1px solid var(--sl-color-gray-5); + border-radius: 0.5rem; + padding: 0.25rem 0.5rem; +} + +.meta a:is(:hover, :focus-visible) { + border-color: var(--sl-color-gray-2); + color: var(--sl-color-gray-2); +} + /* Markdown */ .sl-markdown-content a:not(:where(.not-content *)) { From ba16dfbc6805dcc9dbcf94b0d943fa5219fd3ed2 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Mon, 10 Jun 2024 09:54:52 +0200 Subject: [PATCH 13/64] feat: style toc --- packages/starlight-theme-rapide/styles.css | 33 +++++++++++++++++----- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index fe71c5a..bd6d78a 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -83,13 +83,6 @@ div.sidebar-pane .top-level > li + li { padding-top: 0; } -/* Table of contents */ - -.right-sidebar { - border-inline-start: unset; - padding-top: calc(var(--sl-nav-height) + 1.75rem); -} - /* Content */ .meta { @@ -108,6 +101,32 @@ div.sidebar-pane .top-level > li + li { color: var(--sl-color-gray-2); } +/* Table of contents */ + +.right-sidebar { + border-inline-start: unset; + padding-top: calc(var(--sl-nav-height) + 1.75rem); +} + +starlight-toc li > a { + border-inline-start: 1px solid var(--sl-color-hairline-light); + border-radius: 0; + margin-inline-start: 0.35rem; + padding-inline-start: calc(1rem * var(--depth) + var(--pad-inline) + 0.35rem); +} + +starlight-toc li > a[aria-current='true'] { + border-color: var(--sl-color-accent-high); +} + +starlight-toc li > a[aria-current='true']:is(:hover, :focus-visible) { + color: var(--sl-color-accent-high); +} + +starlight-toc li > a:not([aria-current='true']):is(:hover, :focus-visible) { + border-color: var(--sl-color-white); +} + /* Markdown */ .sl-markdown-content a:not(:where(.not-content *)) { From 26cc0f8df1b4f405729c735464a89f657029a84e Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Mon, 10 Jun 2024 10:08:19 +0200 Subject: [PATCH 14/64] feat: tweak inline code style --- packages/starlight-theme-rapide/styles.css | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index bd6d78a..ab992fd 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -6,8 +6,8 @@ --sl-color-white: hsl(0, 0%, 100%); --sl-color-gray-2: hsl(0 14% 78%); --sl-color-gray-3: hsl(0 5% 58%); - --sl-color-gray-5: hsl(0 4% 21%); - --sl-color-gray-6: hsl(0 4% 16%); + --sl-color-gray-5: hsl(0 4% 18%); + --sl-color-gray-6: hsl(0 4% 12%); --sl-color-black: hsl(0 4% 7%); /* // TODO(HiDeoo) other accents */ @@ -83,8 +83,6 @@ div.sidebar-pane .top-level > li + li { padding-top: 0; } -/* Content */ - .meta { align-items: center; flex-direction: row-reverse; @@ -138,6 +136,10 @@ starlight-toc li > a:not([aria-current='true']):is(:hover, :focus-visible) { color: var(--sl-color-accent-high); } +.sl-markdown-content code:not(:where(.not-content *)) { + border-radius: 5px; +} + .sl-markdown-content tr:nth-child(2n):not(:where(.not-content *)) { background-color: color-mix(in hsl, var(--sl-color-gray-6) 30%, transparent); } From d63a698e00daa6b7130f834746862847d7af4c57 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Mon, 10 Jun 2024 10:39:40 +0200 Subject: [PATCH 15/64] feat: style pagination --- docs/src/content/docs/configuration.md | 5 ++ packages/starlight-theme-rapide/index.ts | 5 +- .../starlight-theme-rapide/libs/starlight.ts | 24 ++++++ .../overrides/Pagination.astro | 76 +++++++++++++++++++ packages/starlight-theme-rapide/package.json | 1 + 5 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 docs/src/content/docs/configuration.md create mode 100644 packages/starlight-theme-rapide/libs/starlight.ts create mode 100644 packages/starlight-theme-rapide/overrides/Pagination.astro diff --git a/docs/src/content/docs/configuration.md b/docs/src/content/docs/configuration.md new file mode 100644 index 0000000..e56226a --- /dev/null +++ b/docs/src/content/docs/configuration.md @@ -0,0 +1,5 @@ +--- +title: Configuration +--- + +Hello, world! diff --git a/packages/starlight-theme-rapide/index.ts b/packages/starlight-theme-rapide/index.ts index abbac56..7325816 100644 --- a/packages/starlight-theme-rapide/index.ts +++ b/packages/starlight-theme-rapide/index.ts @@ -1,11 +1,14 @@ import type { StarlightPlugin } from '@astrojs/starlight/types' +import { overrideComponents } from './libs/starlight' + export default function starlightThemeRapidePlugin(): StarlightPlugin { return { name: 'starlight-theme-rapide-plugin', hooks: { - setup({ config, updateConfig }) { + setup({ config, logger, updateConfig }) { updateConfig({ + components: overrideComponents(config, ['Pagination'], logger), customCss: [...(config.customCss ?? []), 'starlight-theme-rapide/styles'], expressiveCode: config.expressiveCode === false diff --git a/packages/starlight-theme-rapide/libs/starlight.ts b/packages/starlight-theme-rapide/libs/starlight.ts new file mode 100644 index 0000000..5232b23 --- /dev/null +++ b/packages/starlight-theme-rapide/libs/starlight.ts @@ -0,0 +1,24 @@ +import type { StarlightPlugin } from '@astrojs/starlight/types' +import type { AstroIntegrationLogger } from 'astro' + +export function overrideComponents( + starlightConfig: StarlightUserConfig, + overrides: (keyof NonNullable)[], + logger: AstroIntegrationLogger, +): StarlightUserConfig['components'] { + const components = { ...starlightConfig.components } + for (const name of overrides) { + if (starlightConfig.components?.[name]) { + logger.warn(`A \`<${name}>\` component override is already defined in your Starlight configuration.`) + logger.warn( + `To use \`starlight-theme-rapide\`, either remove this override or manually render the content from \`starlight-theme-rapide/overrides/${name}.astro\`.`, + ) + continue + } + components[name] = `starlight-theme-rapide/overrides/${name}.astro` + } + + return components +} + +type StarlightUserConfig = Parameters['0']['config'] diff --git a/packages/starlight-theme-rapide/overrides/Pagination.astro b/packages/starlight-theme-rapide/overrides/Pagination.astro new file mode 100644 index 0000000..4f3ae52 --- /dev/null +++ b/packages/starlight-theme-rapide/overrides/Pagination.astro @@ -0,0 +1,76 @@ +--- +import { Icon } from '@astrojs/starlight/components' +import type { Props } from '@astrojs/starlight/props' + +const { dir, labels, pagination } = Astro.props +const { prev, next } = pagination +const isRtl = dir === 'rtl' +--- + + + + diff --git a/packages/starlight-theme-rapide/package.json b/packages/starlight-theme-rapide/package.json index be4594a..4cb83f2 100644 --- a/packages/starlight-theme-rapide/package.json +++ b/packages/starlight-theme-rapide/package.json @@ -7,6 +7,7 @@ "type": "module", "exports": { ".": "./index.ts", + "./overrides/Pagination.astro": "./overrides/Pagination.astro", "./styles": "./styles.css", "./package.json": "./package.json" }, From abda59ccf7cc17005d726867fe9146f90b75e915 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:01:54 +0200 Subject: [PATCH 16/64] feat: style tabs --- docs/src/content/docs/examples/tabs.mdx | 45 ++++++++++++++++++++++ packages/starlight-theme-rapide/styles.css | 10 +++++ 2 files changed, 55 insertions(+) create mode 100644 docs/src/content/docs/examples/tabs.mdx diff --git a/docs/src/content/docs/examples/tabs.mdx b/docs/src/content/docs/examples/tabs.mdx new file mode 100644 index 0000000..310cae0 --- /dev/null +++ b/docs/src/content/docs/examples/tabs.mdx @@ -0,0 +1,45 @@ +--- +title: Tabs +--- + +import { Tabs, TabItem } from '@astrojs/starlight/components' + + + + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce ornare ante + est, eget molestie arcu euismod eu. Suspendisse ac tincidunt tellus, sed + vehicula eros. + + + Nam condimentum, lorem eget scelerisque pellentesque, arcu sapien fringilla + ligula, eget dictum lectus odio in mi. + + + + + + + +```sh +npm install starlight-theme-rapide +``` + + + + + +```sh +pnpm add starlight-theme-rapide +``` + + + + + +```sh +yarn add starlight-theme-rapide +``` + + + + diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index ab992fd..6c29b74 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -161,3 +161,13 @@ starlight-toc li > a:not([aria-current='true']):is(:hover, :focus-visible) { border-inline-start-width: 1px; } + +/* Tabs */ + +starlight-tabs ul[role='tablist'] { + border-bottom-width: 1px; +} + +starlight-tabs ul[role='tablist'] a[role='tab'] { + padding-block: 0.25rem; +} From 23fdfdebe11edb22239b2217a07c660423db17ec Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:08:57 +0200 Subject: [PATCH 17/64] feat: style cards --- docs/src/content/docs/examples/cards.mdx | 34 ++++++++++++++++++++++ packages/starlight-theme-rapide/styles.css | 11 +++++++ 2 files changed, 45 insertions(+) create mode 100644 docs/src/content/docs/examples/cards.mdx diff --git a/docs/src/content/docs/examples/cards.mdx b/docs/src/content/docs/examples/cards.mdx new file mode 100644 index 0000000..37c679d --- /dev/null +++ b/docs/src/content/docs/examples/cards.mdx @@ -0,0 +1,34 @@ +--- +title: Cards +--- + +import { Card, CardGrid } from '@astrojs/starlight/components' + +Single card: + + + Donec sollicitudin dolor et sollicitudin efficitur. Nullam semper posuere + lacinia. + + +Cards in a grid: + + + + Fusce ornare ante est. + + + Suspendisse ac tincidunt. + + + +Staggered cards in a grid: + + + + Fusce ornare ante est. + + + Suspendisse ac tincidunt. + + diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 6c29b74..1879033 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -171,3 +171,14 @@ starlight-tabs ul[role='tablist'] { starlight-tabs ul[role='tablist'] a[role='tab'] { padding-block: 0.25rem; } + +/* Cards */ + +.card-grid.stagger { + --stagger-height: 2.5rem; +} + +.card { + border-radius: 0.5rem; + padding: clamp(1rem, calc(0.125rem + 2vw), 2.5rem); +} From ab7badb8a848a3924fee799b1c9d40c092441583 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Mon, 10 Jun 2024 11:18:51 +0200 Subject: [PATCH 18/64] feat: style link cards --- docs/src/content/docs/examples/cards.mdx | 17 +++++++++++++- packages/starlight-theme-rapide/styles.css | 26 +++++++++++++++++++++- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/docs/src/content/docs/examples/cards.mdx b/docs/src/content/docs/examples/cards.mdx index 37c679d..4317be9 100644 --- a/docs/src/content/docs/examples/cards.mdx +++ b/docs/src/content/docs/examples/cards.mdx @@ -2,7 +2,7 @@ title: Cards --- -import { Card, CardGrid } from '@astrojs/starlight/components' +import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components' Single card: @@ -32,3 +32,18 @@ Staggered cards in a grid: Suspendisse ac tincidunt. + +Single link card: + + + +Link cards in a grid: + + + + + diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 1879033..1d90998 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -180,5 +180,29 @@ starlight-tabs ul[role='tablist'] a[role='tab'] { .card { border-radius: 0.5rem; - padding: clamp(1rem, calc(0.125rem + 2vw), 2.5rem); + padding: clamp(1rem, calc(0.125rem + 1.5vw), 2.5rem); +} + +.sl-link-card { + box-shadow: none; +} + +.sl-link-card:hover { + background: unset; +} + +.sl-link-card .title { + color: var(--sl-color-white); +} + +.sl-link-card .description { + color: var(--sl-color-gray-3); +} + +.sl-link-card:is(:hover, :focus-visible) .description { + color: var(--sl-color-gray-2); +} + +.sl-link-card .icon { + color: var(--sl-color-gray-2); } From 4d8b3d396a90b55d70f690ef1f306d42b7b96095 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Mon, 10 Jun 2024 13:21:48 +0200 Subject: [PATCH 19/64] feat: style asides --- docs/src/content/docs/examples/asides.mdx | 175 +++++++++++++++++++++ docs/src/content/docs/examples/cards.mdx | 10 +- docs/src/content/docs/examples/markdown.md | 4 +- packages/starlight-theme-rapide/styles.css | 75 ++++++++- 4 files changed, 256 insertions(+), 8 deletions(-) create mode 100644 docs/src/content/docs/examples/asides.mdx diff --git a/docs/src/content/docs/examples/asides.mdx b/docs/src/content/docs/examples/asides.mdx new file mode 100644 index 0000000..8abb829 --- /dev/null +++ b/docs/src/content/docs/examples/asides.mdx @@ -0,0 +1,175 @@ +--- +title: Asides +--- + +## Markdown asides + +:::note + +Donec sollicitudin dolor et sollicitudin efficitur. Nullam semper posuere lacinia. + +::: + +:::tip + +Donec sollicitudin dolor et sollicitudin efficitur. Nullam semper posuere lacinia. + +::: + +:::caution + +Donec sollicitudin dolor et sollicitudin efficitur. Nullam semper posuere lacinia. + +::: + +:::danger + +Donec sollicitudin dolor et sollicitudin efficitur. Nullam semper posuere lacinia. + +::: + +## Component asides + +import { Aside } from '@astrojs/starlight/components' + + + + + + + + + +## With content + +:::note + +Some code: + +```js +const foo = 'bar' +``` + +A table: + +| Column 1 | Column 2 | Column 3 | Column 4 | +| -------- | -------- | -------- | -------- | +| Cell 1-1 | Cell 1-2 | Cell 1-3 | Cell 1-4 | +| Cell 2-1 | Cell 2-2 | Cell 2-3 | Cell 2-4 | +| Cell 3-1 | Cell 3-2 | Cell 3-3 | Cell 3-4 | +| Cell 4-1 | Cell 4-2 | Cell 4-3 | Cell 4-4 | +| Cell 5-1 | Cell 5-2 | Cell 5-3 | Cell 5-4 | +| Cell 6-1 | Cell 6-2 | Cell 6-3 | Cell 6-4 | + +A disclosure: + +
+Nullam nec posuere lorem. + +Aenean tempor, orci eget ullamcorper luctus, nisl turpis pharetra mauris, sit amet tristique elit orci et sem. Aenean odio purus, suscipit quis accumsan in, blandit at ex. + +
+ +::: + +:::tip + +Some code: + +```js +const foo = 'bar' +``` + +A table: + +| Column 1 | Column 2 | Column 3 | Column 4 | +| -------- | -------- | -------- | -------- | +| Cell 1-1 | Cell 1-2 | Cell 1-3 | Cell 1-4 | +| Cell 2-1 | Cell 2-2 | Cell 2-3 | Cell 2-4 | +| Cell 3-1 | Cell 3-2 | Cell 3-3 | Cell 3-4 | +| Cell 4-1 | Cell 4-2 | Cell 4-3 | Cell 4-4 | +| Cell 5-1 | Cell 5-2 | Cell 5-3 | Cell 5-4 | +| Cell 6-1 | Cell 6-2 | Cell 6-3 | Cell 6-4 | + +A disclosure: + +
+Nullam nec posuere lorem. + +Aenean tempor, orci eget ullamcorper luctus, nisl turpis pharetra mauris, sit amet tristique elit orci et sem. Aenean odio purus, suscipit quis accumsan in, blandit at ex. + +
+ +::: + +:::caution + +Some code: + +```js +const foo = 'bar' +``` + +A table: + +| Column 1 | Column 2 | Column 3 | Column 4 | +| -------- | -------- | -------- | -------- | +| Cell 1-1 | Cell 1-2 | Cell 1-3 | Cell 1-4 | +| Cell 2-1 | Cell 2-2 | Cell 2-3 | Cell 2-4 | +| Cell 3-1 | Cell 3-2 | Cell 3-3 | Cell 3-4 | +| Cell 4-1 | Cell 4-2 | Cell 4-3 | Cell 4-4 | +| Cell 5-1 | Cell 5-2 | Cell 5-3 | Cell 5-4 | +| Cell 6-1 | Cell 6-2 | Cell 6-3 | Cell 6-4 | + +A disclosure: + +
+Nullam nec posuere lorem. + +Aenean tempor, orci eget ullamcorper luctus, nisl turpis pharetra mauris, sit amet tristique elit orci et sem. Aenean odio purus, suscipit quis accumsan in, blandit at ex. + +
+ +::: + +:::danger + +Some code: + +```js +const foo = 'bar' +``` + +A table: + +| Column 1 | Column 2 | Column 3 | Column 4 | +| -------- | -------- | -------- | -------- | +| Cell 1-1 | Cell 1-2 | Cell 1-3 | Cell 1-4 | +| Cell 2-1 | Cell 2-2 | Cell 2-3 | Cell 2-4 | +| Cell 3-1 | Cell 3-2 | Cell 3-3 | Cell 3-4 | +| Cell 4-1 | Cell 4-2 | Cell 4-3 | Cell 4-4 | +| Cell 5-1 | Cell 5-2 | Cell 5-3 | Cell 5-4 | +| Cell 6-1 | Cell 6-2 | Cell 6-3 | Cell 6-4 | + +A disclosure: + +
+Nullam nec posuere lorem. + +Aenean tempor, orci eget ullamcorper luctus, nisl turpis pharetra mauris, sit amet tristique elit orci et sem. Aenean odio purus, suscipit quis accumsan in, blandit at ex. + +
+ +::: diff --git a/docs/src/content/docs/examples/cards.mdx b/docs/src/content/docs/examples/cards.mdx index 4317be9..3d9c867 100644 --- a/docs/src/content/docs/examples/cards.mdx +++ b/docs/src/content/docs/examples/cards.mdx @@ -4,14 +4,14 @@ title: Cards import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components' -Single card: +## Single card Donec sollicitudin dolor et sollicitudin efficitur. Nullam semper posuere lacinia. -Cards in a grid: +## Cards in a grid @@ -22,7 +22,7 @@ Cards in a grid: -Staggered cards in a grid: +## Staggered cards in a grid @@ -33,7 +33,7 @@ Staggered cards in a grid: -Single link card: +## Single link card -Link cards in a grid: +## Link cards in a grid diff --git a/docs/src/content/docs/examples/markdown.md b/docs/src/content/docs/examples/markdown.md index 2af6aef..3434493 100644 --- a/docs/src/content/docs/examples/markdown.md +++ b/docs/src/content/docs/examples/markdown.md @@ -68,8 +68,8 @@ Fusce tincidunt urna at [ultricies](#_) sollicitudin. ## Details
-Where and when is the Andromeda constellation most visible? +Nullam nec posuere lorem. -The [Andromeda constellation]() is most visible in the night sky during the month of November at latitudes between `+90°` and `−40°`. +Aenean tempor, orci eget ullamcorper luctus, nisl turpis pharetra mauris, sit amet tristique elit orci et sem. Aenean odio purus, suscipit quis accumsan in, blandit at ex.
diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 1d90998..5402987 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -3,13 +3,27 @@ /* // TODO(HiDeoo) Ensure all props from SL are overriden. */ /* // TODO(HiDeoo) Ensure all colors from SL are overriden. */ - --sl-color-white: hsl(0, 0%, 100%); + --sl-color-white: hsl(0 0% 100%); --sl-color-gray-2: hsl(0 14% 78%); --sl-color-gray-3: hsl(0 5% 58%); --sl-color-gray-5: hsl(0 4% 18%); --sl-color-gray-6: hsl(0 4% 12%); --sl-color-black: hsl(0 4% 7%); + --sl-color-blue-low: hsla(var(--sl-hue-blue) 54% 20% / 0.3); + --sl-color-blue: hsl(var(--sl-hue-blue) 65% 60%); + --sl-color-blue-high: hsl(var(--sl-hue-blue) 65% 87%); + --sl-color-purple-low: hsla(var(--sl-hue-purple) 34% 18% / 0.3); + --sl-color-purple: hsl(var(--sl-hue-purple) 45% 55%); + --sl-color-purple-high: hsl(var(--sl-hue-purple) 45% 85%); + --sl-color-orange-low: hsla(var(--sl-hue-orange) 54% 15% / 0.3); + --sl-color-orange: hsl(var(--sl-hue-orange) 65% 40%); + --sl-color-orange-high: hsl(var(--sl-hue-orange) 85% 85%); + --sl-hue-red: 350; + --sl-color-red-low: hsla(var(--sl-hue-red) 54% 14% / 0.3); + --sl-color-red: hsl(var(--sl-hue-red) 65% 35%); + --sl-color-red-high: hsl(var(--sl-hue-red) 65% 87%); + /* // TODO(HiDeoo) other accents */ --sl-color-accent-high: hsl(154 31% 44%); @@ -206,3 +220,62 @@ starlight-tabs ul[role='tablist'] a[role='tab'] { .sl-link-card .icon { color: var(--sl-color-gray-2); } + +/* Asides */ + +.starlight-aside { + border: 1px solid var(--sl-color-asides-border); + border-radius: 0.5rem; +} + +.starlight-aside.starlight-aside--note { + color: var(--sl-color-blue-high); +} + +.starlight-aside.starlight-aside--tip { + color: var(--sl-color-purple-high); +} + +.starlight-aside.starlight-aside--caution { + color: var(--sl-color-orange-high); +} + +.starlight-aside.starlight-aside--danger { + color: var(--sl-color-red-high); +} + +.starlight-aside.starlight-aside--note .starlight-aside__title { + color: hsl(var(--sl-hue-blue) 90% 85%); +} + +.starlight-aside.starlight-aside--tip .starlight-aside__title { + color: hsl(var(--sl-hue-purple) 80% 85%); +} + +.starlight-aside.starlight-aside--caution .starlight-aside__title { + color: hsl(var(--sl-hue-orange) 90% 80%); +} + +.starlight-aside.starlight-aside--danger .starlight-aside__title { + color: hsl(var(--sl-hue-red) 85% 80%); +} + +.starlight-aside.starlight-aside--note tr:nth-child(2n) { + background-color: color-mix(in hsl, var(--sl-color-blue-low) 75%, transparent); +} + +.starlight-aside.starlight-aside--tip tr:nth-child(2n) { + background-color: color-mix(in hsl, var(--sl-color-purple-low) 75%, transparent); +} + +.starlight-aside.starlight-aside--caution tr:nth-child(2n) { + background-color: color-mix(in hsl, var(--sl-color-orange-low) 75%, transparent); +} + +.starlight-aside.starlight-aside--danger tr:nth-child(2n) { + background-color: color-mix(in hsl, var(--sl-color-red-low) 75%, transparent); +} + +.starlight-aside td { + border-color: color-mix(in hsl, var(--sl-color-asides-text-accent) 20%, transparent); +} From fa0a2011c2cbb8d5f4454116e7daeada00b20761 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Mon, 10 Jun 2024 20:47:34 +0200 Subject: [PATCH 20/64] feat: tweak aside title styles --- packages/starlight-theme-rapide/styles.css | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 5402987..a5e9123 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -3,7 +3,7 @@ /* // TODO(HiDeoo) Ensure all props from SL are overriden. */ /* // TODO(HiDeoo) Ensure all colors from SL are overriden. */ - --sl-color-white: hsl(0 0% 100%); + --sl-color-white: hsl(0 14% 90%); --sl-color-gray-2: hsl(0 14% 78%); --sl-color-gray-3: hsl(0 5% 58%); --sl-color-gray-5: hsl(0 4% 18%); @@ -244,22 +244,6 @@ starlight-tabs ul[role='tablist'] a[role='tab'] { color: var(--sl-color-red-high); } -.starlight-aside.starlight-aside--note .starlight-aside__title { - color: hsl(var(--sl-hue-blue) 90% 85%); -} - -.starlight-aside.starlight-aside--tip .starlight-aside__title { - color: hsl(var(--sl-hue-purple) 80% 85%); -} - -.starlight-aside.starlight-aside--caution .starlight-aside__title { - color: hsl(var(--sl-hue-orange) 90% 80%); -} - -.starlight-aside.starlight-aside--danger .starlight-aside__title { - color: hsl(var(--sl-hue-red) 85% 80%); -} - .starlight-aside.starlight-aside--note tr:nth-child(2n) { background-color: color-mix(in hsl, var(--sl-color-blue-low) 75%, transparent); } From 1a7b750da639fba492075c6c2d868136506c0704 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Tue, 11 Jun 2024 11:41:00 +0200 Subject: [PATCH 21/64] feat: improve aside link styles --- docs/src/content/docs/examples/asides.mdx | 24 +++++----- packages/starlight-theme-rapide/styles.css | 53 ++++++++++++++-------- 2 files changed, 45 insertions(+), 32 deletions(-) diff --git a/docs/src/content/docs/examples/asides.mdx b/docs/src/content/docs/examples/asides.mdx index 8abb829..861de0f 100644 --- a/docs/src/content/docs/examples/asides.mdx +++ b/docs/src/content/docs/examples/asides.mdx @@ -6,25 +6,25 @@ title: Asides :::note -Donec sollicitudin dolor et sollicitudin efficitur. Nullam semper posuere lacinia. +Donec sollicitudin dolor et sollicitudin [efficitur](#_). Nullam semper posuere lacinia. ::: :::tip -Donec sollicitudin dolor et sollicitudin efficitur. Nullam semper posuere lacinia. +Donec sollicitudin dolor et sollicitudin [efficitur](#_). Nullam semper posuere lacinia. ::: :::caution -Donec sollicitudin dolor et sollicitudin efficitur. Nullam semper posuere lacinia. +Donec sollicitudin dolor et sollicitudin [efficitur](#_). Nullam semper posuere lacinia. ::: :::danger -Donec sollicitudin dolor et sollicitudin efficitur. Nullam semper posuere lacinia. +Donec sollicitudin dolor et sollicitudin [efficitur](#_). Nullam semper posuere lacinia. ::: @@ -33,23 +33,23 @@ Donec sollicitudin dolor et sollicitudin efficitur. Nullam semper posuere lacini import { Aside } from '@astrojs/starlight/components' ## With content diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index a5e9123..3ac34f5 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -10,15 +10,19 @@ --sl-color-gray-6: hsl(0 4% 12%); --sl-color-black: hsl(0 4% 7%); + --sl-hue-orange: 41; + --sl-color-orange-low: hsla(var(--sl-hue-orange) 54% 15% / 0.3); + --sl-color-orange: hsl(var(--sl-hue-orange) 65% 40%); + --sl-color-orange-high: hsl(var(--sl-hue-orange) 85% 85%); + /* // TODO(HiDeoo) green */ + --sl-hue-blue: 234; --sl-color-blue-low: hsla(var(--sl-hue-blue) 54% 20% / 0.3); --sl-color-blue: hsl(var(--sl-hue-blue) 65% 60%); --sl-color-blue-high: hsl(var(--sl-hue-blue) 65% 87%); + --sl-hue-purple: 281; --sl-color-purple-low: hsla(var(--sl-hue-purple) 34% 18% / 0.3); --sl-color-purple: hsl(var(--sl-hue-purple) 45% 55%); --sl-color-purple-high: hsl(var(--sl-hue-purple) 45% 85%); - --sl-color-orange-low: hsla(var(--sl-hue-orange) 54% 15% / 0.3); - --sl-color-orange: hsl(var(--sl-hue-orange) 65% 40%); - --sl-color-orange-high: hsl(var(--sl-hue-orange) 85% 85%); --sl-hue-red: 350; --sl-color-red-low: hsla(var(--sl-hue-red) 54% 14% / 0.3); --sl-color-red: hsl(var(--sl-hue-red) 65% 35%); @@ -223,41 +227,50 @@ starlight-tabs ul[role='tablist'] a[role='tab'] { /* Asides */ -.starlight-aside { - border: 1px solid var(--sl-color-asides-border); - border-radius: 0.5rem; -} - .starlight-aside.starlight-aside--note { - color: var(--sl-color-blue-high); + --sl-rapide-asides-color: var(--sl-color-blue-high); + --sl-rapide-asides-link-color: hsl(var(--sl-hue-blue) 65% 90%); + --sl-rapide-asides-link-hover-color: hsl(var(--sl-hue-blue) 65% 65%); + --sl-rapide-asides-tr-alt-base-color: var(--sl-color-blue-low); } .starlight-aside.starlight-aside--tip { - color: var(--sl-color-purple-high); + --sl-rapide-asides-color: var(--sl-color-purple-high); + --sl-rapide-asides-link-color: hsl(var(--sl-hue-purple) 45% 88%); + --sl-rapide-asides-link-hover-color: hsl(var(--sl-hue-purple) 45% 60%); + --sl-rapide-asides-tr-alt-base-color: var(--sl-color-purple-low); } .starlight-aside.starlight-aside--caution { - color: var(--sl-color-orange-high); + --sl-rapide-asides-color: var(--sl-color-orange-high); + --sl-rapide-asides-link-color: hsl(var(--sl-hue-orange) 85% 88%); + --sl-rapide-asides-link-hover-color: hsl(var(--sl-hue-orange) 65% 50%); + --sl-rapide-asides-tr-alt-base-color: var(--sl-color-orange-low); } .starlight-aside.starlight-aside--danger { - color: var(--sl-color-red-high); + --sl-rapide-asides-color: var(--sl-color-red-high); + --sl-rapide-asides-link-color: hsl(var(--sl-hue-red) 65% 90%); + --sl-rapide-asides-link-hover-color: hsl(var(--sl-hue-red) 65% 60%); + --sl-rapide-asides-tr-alt-base-color: var(--sl-color-red-low); } -.starlight-aside.starlight-aside--note tr:nth-child(2n) { - background-color: color-mix(in hsl, var(--sl-color-blue-low) 75%, transparent); +.starlight-aside { + border: 1px solid var(--sl-color-asides-border); + border-radius: 0.5rem; + color: var(--sl-rapide-asides-color); } -.starlight-aside.starlight-aside--tip tr:nth-child(2n) { - background-color: color-mix(in hsl, var(--sl-color-purple-low) 75%, transparent); +.starlight-aside a { + color: var(--sl-rapide-asides-link-color); } -.starlight-aside.starlight-aside--caution tr:nth-child(2n) { - background-color: color-mix(in hsl, var(--sl-color-orange-low) 75%, transparent); +.starlight-aside a:is(:hover, :focus-visible) { + color: var(--sl-rapide-asides-link-hover-color); } -.starlight-aside.starlight-aside--danger tr:nth-child(2n) { - background-color: color-mix(in hsl, var(--sl-color-red-low) 75%, transparent); +.starlight-aside tr:nth-child(2n) { + background-color: color-mix(in hsl, var(--sl-rapide-asides-tr-alt-base-color) 75%, transparent); } .starlight-aside td { From cb62a06fd3f9b5c15cf40cb16f0cb1b8de59da40 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Tue, 11 Jun 2024 12:47:49 +0200 Subject: [PATCH 22/64] refactor: switch to oklch color space --- packages/starlight-theme-rapide/styles.css | 80 +++++++++------------- 1 file changed, 34 insertions(+), 46 deletions(-) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 3ac34f5..d58ef88 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -3,33 +3,33 @@ /* // TODO(HiDeoo) Ensure all props from SL are overriden. */ /* // TODO(HiDeoo) Ensure all colors from SL are overriden. */ - --sl-color-white: hsl(0 14% 90%); - --sl-color-gray-2: hsl(0 14% 78%); - --sl-color-gray-3: hsl(0 5% 58%); - --sl-color-gray-5: hsl(0 4% 18%); - --sl-color-gray-6: hsl(0 4% 12%); - --sl-color-black: hsl(0 4% 7%); - - --sl-hue-orange: 41; - --sl-color-orange-low: hsla(var(--sl-hue-orange) 54% 15% / 0.3); - --sl-color-orange: hsl(var(--sl-hue-orange) 65% 40%); - --sl-color-orange-high: hsl(var(--sl-hue-orange) 85% 85%); + --sl-color-white: oklch(90% 0.008 17); + --sl-color-gray-2: oklch(80% 0.018 17); + --sl-color-gray-3: oklch(65% 0.013 17); + --sl-color-gray-5: oklch(29% 0.005 17); + --sl-color-gray-6: oklch(23% 0.004 17); + --sl-color-black: oklch(18% 0.002 17); + + --sl-hue-orange: 84; + --sl-color-orange-low: oklch(24% 0.01 var(--sl-hue-orange)); + --sl-color-orange: oklch(62% 0.115 var(--sl-hue-orange)); + --sl-color-orange-high: oklch(92% 0.062 var(--sl-hue-orange)); /* // TODO(HiDeoo) green */ - --sl-hue-blue: 234; - --sl-color-blue-low: hsla(var(--sl-hue-blue) 54% 20% / 0.3); - --sl-color-blue: hsl(var(--sl-hue-blue) 65% 60%); - --sl-color-blue-high: hsl(var(--sl-hue-blue) 65% 87%); - --sl-hue-purple: 281; - --sl-color-purple-low: hsla(var(--sl-hue-purple) 34% 18% / 0.3); - --sl-color-purple: hsl(var(--sl-hue-purple) 45% 55%); - --sl-color-purple-high: hsl(var(--sl-hue-purple) 45% 85%); - --sl-hue-red: 350; - --sl-color-red-low: hsla(var(--sl-hue-red) 54% 14% / 0.3); - --sl-color-red: hsl(var(--sl-hue-red) 65% 35%); - --sl-color-red-high: hsl(var(--sl-hue-red) 65% 87%); + --sl-hue-blue: 274; + --sl-color-blue-low: oklch(20% 0.02 var(--sl-hue-blue)); + --sl-color-blue: oklch(56% 0.181 var(--sl-hue-blue)); + --sl-color-blue-high: oklch(86% 0.054 var(--sl-hue-blue)); + --sl-hue-purple: 314; + --sl-color-purple-low: oklch(22% 0.012 var(--sl-hue-purple)); + --sl-color-purple: oklch(59% 0.166 var(--sl-hue-purple)); + --sl-color-purple-high: oklch(86% 0.053 var(--sl-hue-purple)); + --sl-hue-red: 13; + --sl-color-red-low: oklch(20% 0.018 var(--sl-hue-red)); + --sl-color-red: oklch(44% 0.151 var(--sl-hue-red)); + --sl-color-red-high: oklch(87% 0.05 var(--sl-hue-red)); /* // TODO(HiDeoo) other accents */ - --sl-color-accent-high: hsl(154 31% 44%); + --sl-color-accent-high: oklch(61% 0.085 164); /* // TODO(HiDeoo) others */ --sl-color-bg-nav: var(--sl-color-black); @@ -159,7 +159,7 @@ starlight-toc li > a:not([aria-current='true']):is(:hover, :focus-visible) { } .sl-markdown-content tr:nth-child(2n):not(:where(.not-content *)) { - background-color: color-mix(in hsl, var(--sl-color-gray-6) 30%, transparent); + background-color: oklch(from var(--sl-color-black) calc(l + 0.025) c h); } .sl-markdown-content :is(th, td):not(:where(.not-content *)) { @@ -228,51 +228,39 @@ starlight-tabs ul[role='tablist'] a[role='tab'] { /* Asides */ .starlight-aside.starlight-aside--note { - --sl-rapide-asides-color: var(--sl-color-blue-high); - --sl-rapide-asides-link-color: hsl(var(--sl-hue-blue) 65% 90%); - --sl-rapide-asides-link-hover-color: hsl(var(--sl-hue-blue) 65% 65%); - --sl-rapide-asides-tr-alt-base-color: var(--sl-color-blue-low); + --sl-rapide-asides-bg-color: var(--sl-color-blue-low); } .starlight-aside.starlight-aside--tip { - --sl-rapide-asides-color: var(--sl-color-purple-high); - --sl-rapide-asides-link-color: hsl(var(--sl-hue-purple) 45% 88%); - --sl-rapide-asides-link-hover-color: hsl(var(--sl-hue-purple) 45% 60%); - --sl-rapide-asides-tr-alt-base-color: var(--sl-color-purple-low); + --sl-rapide-asides-bg-color: var(--sl-color-purple-low); } .starlight-aside.starlight-aside--caution { - --sl-rapide-asides-color: var(--sl-color-orange-high); - --sl-rapide-asides-link-color: hsl(var(--sl-hue-orange) 85% 88%); - --sl-rapide-asides-link-hover-color: hsl(var(--sl-hue-orange) 65% 50%); - --sl-rapide-asides-tr-alt-base-color: var(--sl-color-orange-low); + --sl-rapide-asides-bg-color: var(--sl-color-orange-low); } .starlight-aside.starlight-aside--danger { - --sl-rapide-asides-color: var(--sl-color-red-high); - --sl-rapide-asides-link-color: hsl(var(--sl-hue-red) 65% 90%); - --sl-rapide-asides-link-hover-color: hsl(var(--sl-hue-red) 65% 60%); - --sl-rapide-asides-tr-alt-base-color: var(--sl-color-red-low); + --sl-rapide-asides-bg-color: var(--sl-color-red-low); } .starlight-aside { border: 1px solid var(--sl-color-asides-border); border-radius: 0.5rem; - color: var(--sl-rapide-asides-color); + color: var(--sl-color-asides-text-accent); } .starlight-aside a { - color: var(--sl-rapide-asides-link-color); + color: oklch(from var(--sl-color-asides-text-accent) calc(l + 0.075) c h); } .starlight-aside a:is(:hover, :focus-visible) { - color: var(--sl-rapide-asides-link-hover-color); + color: oklch(from var(--sl-color-asides-text-accent) calc(l - 0.2) calc(c + 0.1) h); } .starlight-aside tr:nth-child(2n) { - background-color: color-mix(in hsl, var(--sl-rapide-asides-tr-alt-base-color) 75%, transparent); + background-color: oklch(from var(--sl-rapide-asides-bg-color) calc(l + 0.015) c h); } .starlight-aside td { - border-color: color-mix(in hsl, var(--sl-color-asides-text-accent) 20%, transparent); + border-color: oklch(from var(--sl-color-asides-text-accent) calc(l - 0.5) calc(c - 0.02) h); } From 99a36d1f4dd9a19af484f955a8b8d7a1d40b2e9f Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Tue, 11 Jun 2024 16:04:00 +0200 Subject: [PATCH 23/64] feat: style code blocks --- .../src/content/docs/examples/code-blocks.mdx | 51 +++++++++++++++++++ packages/starlight-theme-rapide/index.ts | 10 +++- packages/starlight-theme-rapide/styles.css | 8 +++ 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 docs/src/content/docs/examples/code-blocks.mdx diff --git a/docs/src/content/docs/examples/code-blocks.mdx b/docs/src/content/docs/examples/code-blocks.mdx new file mode 100644 index 0000000..6c8d8f8 --- /dev/null +++ b/docs/src/content/docs/examples/code-blocks.mdx @@ -0,0 +1,51 @@ +--- +title: Code blocks +--- + +## Markdown code block + +```js +const foo = 'bar' +``` + +## `` component + +import { Code } from '@astrojs/starlight/components' + + + +## Text markers + +```js {2} +function test() { + const foo = 'bar' +} +``` + +```js "function" ins="foo" del="bar" +function test() { + const foo = 'bar' +} +``` + +## Diff + +```diff lang="js" + function test() { +- const foo = 'bar' ++ const foo = 'baz' + } +``` + +## File name + +```js +// test.js +const foo = 'bar' +``` + +## Terminal window + +```bash title="Doing something…" +pnpm run thing +``` diff --git a/packages/starlight-theme-rapide/index.ts b/packages/starlight-theme-rapide/index.ts index 7325816..aca7e6c 100644 --- a/packages/starlight-theme-rapide/index.ts +++ b/packages/starlight-theme-rapide/index.ts @@ -16,11 +16,19 @@ export default function starlightThemeRapidePlugin(): StarlightPlugin { : { ...(typeof config.expressiveCode === 'object' ? config.expressiveCode : {}), styleOverrides: { - borderColor: 'var(--sl-color-gray-6)', + borderColor: 'var(--sl-rapide-ec-border-color)', borderRadius: '0.5rem', frames: { + editorActiveTabIndicatorTopColor: 'unset', + editorActiveTabIndicatorBottomColor: 'var(--sl-color-gray-3)', + editorTabBarBorderBottomColor: 'var(--sl-rapide-ec-border-color)', frameBoxShadowCssValue: 'unset', }, + textMarkers: { + backgroundOpacity: '50%', + markBackground: 'var(--sl-rapide-ec-marker-bg-color)', + markBorderColor: 'var(--sl-rapide-ec-marker-border-color)', + }, }, themes: ['vitesse-dark', 'vitesse-light'], }, diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index d58ef88..b367536 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -41,6 +41,10 @@ --sl-text-h4: var(--sl-text-lg); --sl-text-h5: unset; --sl-text-h6: unset; + + --sl-rapide-ec-border-color: oklch(from var(--sl-color-gray-6) calc(l + 0.05) c h); + --sl-rapide-ec-marker-bg-color: oklch(27% 0.002 17); + --sl-rapide-ec-marker-border-color: oklch(47% 0.002 17); } :root[data-theme='light'], @@ -180,6 +184,10 @@ starlight-toc li > a:not([aria-current='true']):is(:hover, :focus-visible) { border-inline-start-width: 1px; } +.sl-markdown-content .expressive-code .frame.is-terminal .header { + border-bottom: 1px solid var(--sl-rapide-ec-border-color); +} + /* Tabs */ starlight-tabs ul[role='tablist'] { From 7c29d0eb44f671cc342105d4ee63526153c904ab Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Tue, 11 Jun 2024 17:14:01 +0200 Subject: [PATCH 24/64] feat: add tab hover styles --- packages/starlight-theme-rapide/styles.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index b367536..37b2023 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -198,6 +198,11 @@ starlight-tabs ul[role='tablist'] a[role='tab'] { padding-block: 0.25rem; } +starlight-tabs ul[role='tablist'] a[role='tab']:not([aria-selected='true']):hover { + border-color: var(--sl-color-white); + color: var(--sl-color-white); +} + /* Cards */ .card-grid.stagger { From ffad7b60eeb9ec629179f63321dd02a79dd2a805 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Tue, 11 Jun 2024 18:13:38 +0200 Subject: [PATCH 25/64] feat: style file tree --- .../src/content/docs/examples/code-blocks.mdx | 2 +- docs/src/content/docs/examples/file-tree.mdx | 18 +++++++++++++ docs/src/content/docs/examples/tabs.mdx | 2 +- packages/starlight-theme-rapide/index.ts | 4 +-- packages/starlight-theme-rapide/styles.css | 25 +++++++++++++++---- 5 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 docs/src/content/docs/examples/file-tree.mdx diff --git a/docs/src/content/docs/examples/code-blocks.mdx b/docs/src/content/docs/examples/code-blocks.mdx index 6c8d8f8..3dc9775 100644 --- a/docs/src/content/docs/examples/code-blocks.mdx +++ b/docs/src/content/docs/examples/code-blocks.mdx @@ -1,5 +1,5 @@ --- -title: Code blocks +title: Code Blocks --- ## Markdown code block diff --git a/docs/src/content/docs/examples/file-tree.mdx b/docs/src/content/docs/examples/file-tree.mdx new file mode 100644 index 0000000..654dc43 --- /dev/null +++ b/docs/src/content/docs/examples/file-tree.mdx @@ -0,0 +1,18 @@ +--- +title: File Tree +--- + +import { FileTree } from '@astrojs/starlight/components' + + + +- astro.config.mjs an **important** file +- package.json +- README.md +- src + - components + - **Header.astro** + - … +- pages/ + + diff --git a/docs/src/content/docs/examples/tabs.mdx b/docs/src/content/docs/examples/tabs.mdx index 310cae0..2f8b5fb 100644 --- a/docs/src/content/docs/examples/tabs.mdx +++ b/docs/src/content/docs/examples/tabs.mdx @@ -34,7 +34,7 @@ pnpm add starlight-theme-rapide - + ```sh yarn add starlight-theme-rapide diff --git a/packages/starlight-theme-rapide/index.ts b/packages/starlight-theme-rapide/index.ts index aca7e6c..e61e0e0 100644 --- a/packages/starlight-theme-rapide/index.ts +++ b/packages/starlight-theme-rapide/index.ts @@ -16,12 +16,12 @@ export default function starlightThemeRapidePlugin(): StarlightPlugin { : { ...(typeof config.expressiveCode === 'object' ? config.expressiveCode : {}), styleOverrides: { - borderColor: 'var(--sl-rapide-ec-border-color)', + borderColor: 'var(--sl-rapide-ui-border-color)', borderRadius: '0.5rem', frames: { editorActiveTabIndicatorTopColor: 'unset', editorActiveTabIndicatorBottomColor: 'var(--sl-color-gray-3)', - editorTabBarBorderBottomColor: 'var(--sl-rapide-ec-border-color)', + editorTabBarBorderBottomColor: 'var(--sl-rapide-ui-border-color)', frameBoxShadowCssValue: 'unset', }, textMarkers: { diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 37b2023..a2d38c0 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -29,6 +29,7 @@ --sl-color-red-high: oklch(87% 0.05 var(--sl-hue-red)); /* // TODO(HiDeoo) other accents */ + --sl-color-accent-low: oklch(15% 0.085 164); --sl-color-accent-high: oklch(61% 0.085 164); /* // TODO(HiDeoo) others */ @@ -42,7 +43,9 @@ --sl-text-h5: unset; --sl-text-h6: unset; - --sl-rapide-ec-border-color: oklch(from var(--sl-color-gray-6) calc(l + 0.05) c h); + --sl-rapide-ui-bg-color: oklch(18% 0 0); + --sl-rapide-ui-border-color: oklch(from var(--sl-color-gray-6) calc(l + 0.05) c h); + --sl-rapide-ec-marker-bg-color: oklch(27% 0.002 17); --sl-rapide-ec-marker-border-color: oklch(47% 0.002 17); } @@ -87,7 +90,7 @@ div.sidebar-pane ul ul li:has(> a[aria-current='page']) { } div.sidebar-pane ul ul li:has(> a:not([aria-current='page']):is(:hover, :focus-visible)) { - border-inline-start-color: var(--sl-color-white); + border-inline-start-color: var(--sl-color-gray-2); } div.sidebar-pane .top-level > li + li { @@ -144,7 +147,7 @@ starlight-toc li > a[aria-current='true']:is(:hover, :focus-visible) { } starlight-toc li > a:not([aria-current='true']):is(:hover, :focus-visible) { - border-color: var(--sl-color-white); + border-color: var(--sl-color-gray-2); } /* Markdown */ @@ -179,13 +182,13 @@ starlight-toc li > a:not([aria-current='true']):is(:hover, :focus-visible) { } .sl-markdown-content details:not(:where(.not-content *)) { - --sl-details-border-color--hover: var(--sl-color-white); + --sl-details-border-color--hover: var(--sl-color-gray-2); border-inline-start-width: 1px; } .sl-markdown-content .expressive-code .frame.is-terminal .header { - border-bottom: 1px solid var(--sl-rapide-ec-border-color); + border-bottom: 1px solid var(--sl-rapide-ui-border-color); } /* Tabs */ @@ -277,3 +280,15 @@ starlight-tabs ul[role='tablist'] a[role='tab']:not([aria-selected='true']):hove .starlight-aside td { border-color: oklch(from var(--sl-color-asides-text-accent) calc(l - 0.5) calc(c - 0.02) h); } + +/* File Tree */ + +starlight-file-tree { + background-color: var(--sl-rapide-ui-bg-color); + border: 1px solid var(--sl-rapide-ui-border-color); + border-radius: 0.5rem; +} + +starlight-file-tree .directory > details > summary:hover ~ ul { + border-color: var(--sl-color-gray-2); +} From 24908f31cfd617b9bb83f32174938535b1c0aafe Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Tue, 11 Jun 2024 18:18:07 +0200 Subject: [PATCH 26/64] feat: style steps --- docs/src/content/docs/examples/steps.mdx | 29 ++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 docs/src/content/docs/examples/steps.mdx diff --git a/docs/src/content/docs/examples/steps.mdx b/docs/src/content/docs/examples/steps.mdx new file mode 100644 index 0000000..2f13960 --- /dev/null +++ b/docs/src/content/docs/examples/steps.mdx @@ -0,0 +1,29 @@ +--- +title: Steps +--- + +import { Steps } from '@astrojs/starlight/components' + + + +1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. + + ```js + const foo = 'bar' + ``` + +2. Aenean nisi sem, maximus at fringilla a, tempor non diam. + + + + 1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. + + ```js + const foo = 'bar' + ``` + + 2. Aenean nisi sem, maximus at fringilla a, tempor non diam. + + + + From f5baad90a53cf99a263ccf84296982027015d3a7 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Tue, 11 Jun 2024 18:24:33 +0200 Subject: [PATCH 27/64] feat: style markdown badges --- docs/src/content/docs/examples/badges.mdx | 10 ++++++++++ packages/starlight-theme-rapide/styles.css | 5 ++++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 docs/src/content/docs/examples/badges.mdx diff --git a/docs/src/content/docs/examples/badges.mdx b/docs/src/content/docs/examples/badges.mdx new file mode 100644 index 0000000..e3a5d53 --- /dev/null +++ b/docs/src/content/docs/examples/badges.mdx @@ -0,0 +1,10 @@ +--- +title: Badges +--- + +import { Badge } from '@astrojs/starlight/components' + + + + + diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index a2d38c0..04f7b2d 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -14,7 +14,10 @@ --sl-color-orange-low: oklch(24% 0.01 var(--sl-hue-orange)); --sl-color-orange: oklch(62% 0.115 var(--sl-hue-orange)); --sl-color-orange-high: oklch(92% 0.062 var(--sl-hue-orange)); - /* // TODO(HiDeoo) green */ + --sl-hue-green: 164; + --sl-color-green-low: oklch(20% 0.018 var(--sl-hue-green)); + --sl-color-green: oklch(61% 0.115 var(--sl-hue-green)); + --sl-color-green-high: oklch(86% 0.054 var(--sl-hue-green)); --sl-hue-blue: 274; --sl-color-blue-low: oklch(20% 0.02 var(--sl-hue-blue)); --sl-color-blue: oklch(56% 0.181 var(--sl-hue-blue)); From a2eaeee9a4151b31973ed15e56d51aa1991f9396 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Tue, 11 Jun 2024 18:30:47 +0200 Subject: [PATCH 28/64] feat: hide pagination border with no pagination --- .../overrides/Pagination.astro | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/starlight-theme-rapide/overrides/Pagination.astro b/packages/starlight-theme-rapide/overrides/Pagination.astro index 4f3ae52..e10d5b4 100644 --- a/packages/starlight-theme-rapide/overrides/Pagination.astro +++ b/packages/starlight-theme-rapide/overrides/Pagination.astro @@ -7,30 +7,30 @@ const { prev, next } = pagination const isRtl = dir === 'rtl' --- - +{ + (prev || next) && ( + + ) +} diff --git a/packages/starlight-theme-rapide/index.ts b/packages/starlight-theme-rapide/index.ts index e61e0e0..0606478 100644 --- a/packages/starlight-theme-rapide/index.ts +++ b/packages/starlight-theme-rapide/index.ts @@ -8,7 +8,18 @@ export default function starlightThemeRapidePlugin(): StarlightPlugin { hooks: { setup({ config, logger, updateConfig }) { updateConfig({ - components: overrideComponents(config, ['Pagination'], logger), + components: overrideComponents( + config, + [ + 'Pagination', + 'Banner', + { + name: 'PageTitle', + fallback: 'Banner', + }, + ], + logger, + ), customCss: [...(config.customCss ?? []), 'starlight-theme-rapide/styles'], expressiveCode: config.expressiveCode === false @@ -25,7 +36,7 @@ export default function starlightThemeRapidePlugin(): StarlightPlugin { frameBoxShadowCssValue: 'unset', }, textMarkers: { - backgroundOpacity: '50%', + backgroundOpacity: '40%', markBackground: 'var(--sl-rapide-ec-marker-bg-color)', markBorderColor: 'var(--sl-rapide-ec-marker-border-color)', }, diff --git a/packages/starlight-theme-rapide/libs/starlight.ts b/packages/starlight-theme-rapide/libs/starlight.ts index 5232b23..3823375 100644 --- a/packages/starlight-theme-rapide/libs/starlight.ts +++ b/packages/starlight-theme-rapide/libs/starlight.ts @@ -3,15 +3,19 @@ import type { AstroIntegrationLogger } from 'astro' export function overrideComponents( starlightConfig: StarlightUserConfig, - overrides: (keyof NonNullable)[], + overrides: ComponentOverride[], logger: AstroIntegrationLogger, ): StarlightUserConfig['components'] { const components = { ...starlightConfig.components } - for (const name of overrides) { + for (const override of overrides) { + const name = typeof override === 'string' ? override : override.name + if (starlightConfig.components?.[name]) { + const fallback = `starlight-theme-rapide/${typeof override === 'string' ? 'overrides' : 'components'}/${typeof override === 'string' ? override : override.fallback}.astro` + logger.warn(`A \`<${name}>\` component override is already defined in your Starlight configuration.`) logger.warn( - `To use \`starlight-theme-rapide\`, either remove this override or manually render the content from \`starlight-theme-rapide/overrides/${name}.astro\`.`, + `To use \`starlight-theme-rapide\`, either remove this override or manually render the content from \`${fallback}\`.`, ) continue } @@ -22,3 +26,10 @@ export function overrideComponents( } type StarlightUserConfig = Parameters['0']['config'] + +type ComponentOverride = + | keyof NonNullable + | { + name: keyof NonNullable + fallback: string + } diff --git a/packages/starlight-theme-rapide/overrides/Banner.astro b/packages/starlight-theme-rapide/overrides/Banner.astro new file mode 100644 index 0000000..e69de29 diff --git a/packages/starlight-theme-rapide/overrides/PageTitle.astro b/packages/starlight-theme-rapide/overrides/PageTitle.astro new file mode 100644 index 0000000..15daf1a --- /dev/null +++ b/packages/starlight-theme-rapide/overrides/PageTitle.astro @@ -0,0 +1,9 @@ +--- +import Default from '@astrojs/starlight/components/PageTitle.astro' +import type { Props } from '@astrojs/starlight/props' + +import Banner from '../components/Banner.astro' +--- + + + diff --git a/packages/starlight-theme-rapide/package.json b/packages/starlight-theme-rapide/package.json index 4cb83f2..a65247e 100644 --- a/packages/starlight-theme-rapide/package.json +++ b/packages/starlight-theme-rapide/package.json @@ -7,6 +7,9 @@ "type": "module", "exports": { ".": "./index.ts", + "./components/Banner.astro": "./components/Banner.astro", + "./overrides/Banner.astro": "./overrides/Banner.astro", + "./overrides/PageTitle.astro": "./overrides/PageTitle.astro", "./overrides/Pagination.astro": "./overrides/Pagination.astro", "./styles": "./styles.css", "./package.json": "./package.json" From 1e7f623ad258d2010258e38a2ed54c1bd7787447 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Wed, 12 Jun 2024 14:58:22 +0200 Subject: [PATCH 31/64] feat: style hero --- docs/src/assets/hero.webp | Bin 0 -> 114506 bytes docs/src/content/docs/examples/hero.md | 24 +++++++ .../components/Banner.astro | 4 +- packages/starlight-theme-rapide/styles.css | 62 +++++++++++++++++- 4 files changed, 86 insertions(+), 4 deletions(-) create mode 100644 docs/src/assets/hero.webp create mode 100644 docs/src/content/docs/examples/hero.md diff --git a/docs/src/assets/hero.webp b/docs/src/assets/hero.webp new file mode 100644 index 0000000000000000000000000000000000000000..0d9ef67fa6614e0a71538a122703e60aac79a411 GIT binary patch literal 114506 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 diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 9bac85f..d92568f 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -14,22 +14,32 @@ --sl-color-orange-low: oklch(24% 0.01 var(--sl-hue-orange)); --sl-color-orange: oklch(62% 0.115 var(--sl-hue-orange)); --sl-color-orange-high: oklch(92% 0.062 var(--sl-hue-orange)); + --sl-color-orange-accent: oklch(99% 0.062 var(--sl-hue-orange)); + --sl-color-orange-accent-invert: oklch(72% 0.162 var(--sl-hue-orange)); --sl-hue-green: 164; --sl-color-green-low: oklch(20% 0.018 var(--sl-hue-green)); --sl-color-green: oklch(61% 0.115 var(--sl-hue-green)); --sl-color-green-high: oklch(86% 0.054 var(--sl-hue-green)); + --sl-color-green-accent: oklch(93% 0.054 var(--sl-hue-green)); + --sl-color-green-accent-invert: oklch(66% 0.154 var(--sl-hue-green)); --sl-hue-blue: 274; --sl-color-blue-low: oklch(20% 0.02 var(--sl-hue-blue)); --sl-color-blue: oklch(56% 0.181 var(--sl-hue-blue)); --sl-color-blue-high: oklch(86% 0.054 var(--sl-hue-blue)); + --sl-color-blue-accent: oklch(93% 0.054 var(--sl-hue-blue)); + --sl-color-blue-accent-invert: oklch(66% 0.154 var(--sl-hue-blue)); --sl-hue-purple: 314; --sl-color-purple-low: oklch(22% 0.012 var(--sl-hue-purple)); --sl-color-purple: oklch(59% 0.166 var(--sl-hue-purple)); --sl-color-purple-high: oklch(86% 0.053 var(--sl-hue-purple)); + --sl-color-purple-accent: oklch(93% 0.053 var(--sl-hue-purple)); + --sl-color-purple-accent-invert: oklch(66% 0.153 var(--sl-hue-purple)); --sl-hue-red: 13; --sl-color-red-low: oklch(20% 0.018 var(--sl-hue-red)); --sl-color-red: oklch(44% 0.151 var(--sl-hue-red)); --sl-color-red-high: oklch(87% 0.05 var(--sl-hue-red)); + --sl-color-red-accent: oklch(94% 0.05 var(--sl-hue-red)); + --sl-color-red-accent-invert: oklch(67% 0.15 var(--sl-hue-red)); /* // TODO(HiDeoo) other accents */ --sl-color-accent-low: oklch(15% 0.085 164); @@ -248,18 +258,26 @@ starlight-tabs ul[role='tablist'] a[role='tab']:not([aria-selected='true']):hove .starlight-aside.starlight-aside--note { --sl-rapide-asides-bg-color: var(--sl-color-blue-low); + --sl-rapide-asides-link-color: var(--sl-color-blue-accent); + --sl-rapide-asides-link-hover-color: var(--sl-color-blue-accent-invert); } .starlight-aside.starlight-aside--tip { --sl-rapide-asides-bg-color: var(--sl-color-purple-low); + --sl-rapide-asides-link-color: var(--sl-color-purple-accent); + --sl-rapide-asides-link-hover-color: var(--sl-color-purple-accent-invert); } .starlight-aside.starlight-aside--caution { --sl-rapide-asides-bg-color: var(--sl-color-orange-low); + --sl-rapide-asides-link-color: var(--sl-color-orange-accent); + --sl-rapide-asides-link-hover-color: var(--sl-color-orange-accent-invert); } .starlight-aside.starlight-aside--danger { --sl-rapide-asides-bg-color: var(--sl-color-red-low); + --sl-rapide-asides-link-color: var(--sl-color-red-accent); + --sl-rapide-asides-link-hover-color: var(--sl-color-red-accent-invert); } .starlight-aside { @@ -269,11 +287,11 @@ starlight-tabs ul[role='tablist'] a[role='tab']:not([aria-selected='true']):hove } .starlight-aside a { - color: oklch(from var(--sl-color-asides-text-accent) calc(l + 0.075) c h); + color: var(--sl-rapide-asides-link-color); } .starlight-aside a:is(:hover, :focus-visible) { - color: oklch(from var(--sl-color-asides-text-accent) calc(l - 0.2) calc(c + 0.1) h); + color: var(--sl-rapide-asides-link-hover-color); } .starlight-aside tr:nth-child(2n) { @@ -302,3 +320,43 @@ starlight-file-tree .directory > details > summary:hover ~ ul { border-radius: 0.5rem; padding: 1rem; } + +/* Hero */ + +.hero .action { + border: 1px solid transparent; + padding: 0.75rem 1rem; +} + +.hero .action svg { + font-size: 1.25rem; +} + +.hero .action.primary { + background-color: var(--sl-color-green-low); + border: 1px solid var(--sl-color-green); + color: var(--sl-color-green-high); +} + +.hero .action.primary:is(:hover, :focus-visible) { + border-color: oklch(from var(--sl-color-green) calc(l - 0.1) c h); + color: var(--sl-color-green-accent-invert); +} + +.hero .action.secondary { + border-color: var(--sl-color-gray-2); + color: var(--sl-color-gray-2); +} + +.hero .action.secondary:is(:hover, :focus-visible) { + border-color: var(--sl-color-accent-high); + color: var(--sl-color-accent-high); +} + +.hero .action.minimal:is(:hover, :focus-visible) { + color: var(--sl-color-accent-high); +} + +.hero .action.minimal { + padding-inline: 0.25rem; +} From 53e12e4b0a6cfe4801703f1437640dd6c9add7e0 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Wed, 12 Jun 2024 15:22:05 +0200 Subject: [PATCH 32/64] feat: add sidebar group hover effect --- packages/starlight-theme-rapide/styles.css | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index d92568f..b8de7b0 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -89,10 +89,19 @@ div.sidebar-pane summary { padding-inline: calc(var(--sl-sidebar-item-padding-inline) / 2) var(--sl-sidebar-item-padding-inline); } +div.sidebar-pane summary:is(:hover, :focus-visible), +div.sidebar-pane summary:is(:hover, :focus-visible) .large { + color: var(--sl-color-accent-high); +} + div.sidebar-pane ul ul li { margin-inline-start: calc(var(--sl-sidebar-item-padding-inline) + (0.625rem / 2)); } +div.sidebar-pane summary:is(:hover, :focus-visible) + ul > li { + border-inline-start-color: var(--sl-color-accent-high); +} + div.sidebar-pane a[aria-current='page'] { background-color: unset; color: var(--sl-color-text-accent); From 97bdeeefffec2d7a93e42df2999aff3180cde65c Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Wed, 12 Jun 2024 17:11:46 +0200 Subject: [PATCH 33/64] feat: add header blur --- packages/starlight-theme-rapide/styles.css | 57 ++++++++++++++++++++-- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index b8de7b0..4db2870 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -57,7 +57,12 @@ --sl-text-h6: unset; --sl-rapide-ui-bg-color: oklch(18% 0 0); - --sl-rapide-ui-border-color: oklch(from var(--sl-color-gray-6) calc(l + 0.05) c h); + /** + * As of 06/12/2024, Firefox does not support relative Oklch colors. + * + * --sl-rapide-ui-border-color: oklch(from var(--sl-color-gray-6) calc(l + 0.05) c h); + */ + --sl-rapide-ui-border-color: oklch(28% 0.004 17); --sl-rapide-ec-marker-bg-color: oklch(27% 0.002 17); --sl-rapide-ec-marker-border-color: oklch(47% 0.002 17); @@ -72,9 +77,23 @@ /* Header */ header.header { + /** + * As of 06/12/2024, Firefox does not support relative Oklch colors. + * + * background-color: oklch(from var(--sl-color-black) l c h / 0.6); + */ + background-color: oklch(18% 0.002 17 / 0.6); + backdrop-filter: blur(8px); border-bottom: 1px solid var(--sl-color-gray-5); } +@media (prefers-reduced-transparency) { + header.header { + background-color: var(--sl-color-black); + backdrop-filter: unset; + } +} + /* Sidebar */ div.sidebar-pane { @@ -188,7 +207,12 @@ starlight-toc li > a:not([aria-current='true']):is(:hover, :focus-visible) { } .sl-markdown-content tr:nth-child(2n):not(:where(.not-content *)) { - background-color: oklch(from var(--sl-color-black) calc(l + 0.025) c h); + /** + * As of 06/12/2024, Firefox does not support relative Oklch colors. + * + * background-color: oklch(from var(--sl-color-black) calc(l + 0.025) c h); + */ + background-color: oklch(20.5% 0.002 17); } .sl-markdown-content :is(th, td):not(:where(.not-content *)) { @@ -269,24 +293,32 @@ starlight-tabs ul[role='tablist'] a[role='tab']:not([aria-selected='true']):hove --sl-rapide-asides-bg-color: var(--sl-color-blue-low); --sl-rapide-asides-link-color: var(--sl-color-blue-accent); --sl-rapide-asides-link-hover-color: var(--sl-color-blue-accent-invert); + --sl-rapide-asides-table-alt-color: oklch(21.5% 0.02 var(--sl-hue-blue)); + --sl-rapide-asides-table-border-color: oklch(36% 0.034 var(--sl-hue-blue)); } .starlight-aside.starlight-aside--tip { --sl-rapide-asides-bg-color: var(--sl-color-purple-low); --sl-rapide-asides-link-color: var(--sl-color-purple-accent); --sl-rapide-asides-link-hover-color: var(--sl-color-purple-accent-invert); + --sl-rapide-asides-table-alt-color: oklch(23.5% 0.012 var(--sl-hue-purple)); + --sl-rapide-asides-table-border-color: oklch(36% 0.033 var(--sl-hue-purple)); } .starlight-aside.starlight-aside--caution { --sl-rapide-asides-bg-color: var(--sl-color-orange-low); --sl-rapide-asides-link-color: var(--sl-color-orange-accent); --sl-rapide-asides-link-hover-color: var(--sl-color-orange-accent-invert); + --sl-rapide-asides-table-alt-color: oklch(25.5% 0.01 var(--sl-hue-orange)); + --sl-rapide-asides-table-border-color: oklch(42% 0.042 var(--sl-hue-orange)); } .starlight-aside.starlight-aside--danger { --sl-rapide-asides-bg-color: var(--sl-color-red-low); --sl-rapide-asides-link-color: var(--sl-color-red-accent); --sl-rapide-asides-link-hover-color: var(--sl-color-red-accent-invert); + --sl-rapide-asides-table-alt-color: oklch(21.5% 0.018 var(--sl-hue-red)); + --sl-rapide-asides-table-border-color: oklch(37% 0.03 var(--sl-hue-red)); } .starlight-aside { @@ -304,11 +336,21 @@ starlight-tabs ul[role='tablist'] a[role='tab']:not([aria-selected='true']):hove } .starlight-aside tr:nth-child(2n) { - background-color: oklch(from var(--sl-rapide-asides-bg-color) calc(l + 0.015) c h); + /** + * As of 06/12/2024, Firefox does not support relative Oklch colors. + * + * background-color: oklch(from var(--sl-rapide-asides-bg-color) calc(l + 0.015) c h); + */ + background-color: var(--sl-rapide-asides-table-alt-color); } .starlight-aside td { - border-color: oklch(from var(--sl-color-asides-text-accent) calc(l - 0.5) calc(c - 0.02) h); + /** + * As of 06/12/2024, Firefox does not support relative Oklch colors. + * + * border-color: oklch(from var(--sl-color-asides-text-accent) calc(l - 0.5) calc(c - 0.02) h); + */ + border-color: var(--sl-rapide-asides-table-border-color); } /* File Tree */ @@ -348,7 +390,12 @@ starlight-file-tree .directory > details > summary:hover ~ ul { } .hero .action.primary:is(:hover, :focus-visible) { - border-color: oklch(from var(--sl-color-green) calc(l - 0.1) c h); + /** + * As of 06/12/2024, Firefox does not support relative Oklch colors. + * + * border-color: oklch(from var(--sl-color-green) calc(l - 0.1) c h); + */ + border-color: oklch(51% 0.115 var(--sl-hue-green)); color: var(--sl-color-green-accent-invert); } From ecf1726b9fd0d1157d086064c5973678393d19df Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Thu, 13 Jun 2024 19:11:23 +0200 Subject: [PATCH 34/64] feat: style search modal --- packages/starlight-theme-rapide/styles.css | 115 ++++++++++++++++++++- 1 file changed, 110 insertions(+), 5 deletions(-) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 4db2870..fcc1df4 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -6,6 +6,7 @@ --sl-color-white: oklch(90% 0.008 17); --sl-color-gray-2: oklch(80% 0.018 17); --sl-color-gray-3: oklch(65% 0.013 17); + --sl-color-gray-4: oklch(48% 0.009 17); --sl-color-gray-5: oklch(29% 0.005 17); --sl-color-gray-6: oklch(23% 0.004 17); --sl-color-black: oklch(18% 0.002 17); @@ -49,6 +50,8 @@ --sl-color-bg-nav: var(--sl-color-black); --sl-color-bg-sidebar: var(--sl-color-black); + --sl-color-backdrop-overlay: oklch(24% 0.002 17 / 0.7); + --sl-text-h1: var(--sl-text-3xl); --sl-text-h2: var(--sl-text-2xl); --sl-text-h3: var(--sl-text-xl); @@ -77,23 +80,125 @@ /* Header */ header.header { + -webkit-backdrop-filter: blur(0.5rem); + backdrop-filter: blur(0.5rem); /** * As of 06/12/2024, Firefox does not support relative Oklch colors. * * background-color: oklch(from var(--sl-color-black) l c h / 0.6); */ background-color: oklch(18% 0.002 17 / 0.6); - backdrop-filter: blur(8px); border-bottom: 1px solid var(--sl-color-gray-5); } @media (prefers-reduced-transparency) { header.header { + -webkit-backdrop-filter: initial; + backdrop-filter: initial; background-color: var(--sl-color-black); - backdrop-filter: unset; } } +/* Search */ + +@media (min-width: 50rem) { + div:has(> site-search) { + justify-content: center; + } +} + +@media (min-width: 72rem) { + div:has(> site-search) { + max-width: calc(var(--sl-content-width)); + } +} + +@media (prefers-reduced-motion: no-preference) { + site-search dialog::backdrop { + animation: sl-rapide-search-backdrop-fade 150ms ease-out; + } + + site-search dialog { + animation: sl-rapide-search-dialog-zoom-in 150ms ease-out; + } +} + +@keyframes sl-rapide-search-backdrop-fade { + from { + -webkit-backdrop-filter: initial; + backdrop-filter: initial; + background-color: transparent; + } + + to { + -webkit-backdrop-filter: blur(0.25rem); + backdrop-filter: blur(0.25rem); + background-color: var(--sl-color-backdrop-overlay); + } +} + +@keyframes sl-rapide-search-dialog-zoom-in { + from { + opacity: 0; + transform: scale(0.5) translateY(-2rem); + } + + to { + opacity: 1; + transform: scale(1) translateY(0); + } +} + +site-search dialog { + background-color: var(--sl-color-black); + box-shadow: none; + min-height: auto; +} + +site-search dialog .dialog-frame { + padding: 1rem; +} + +site-search dialog #starlight__search { + --sl-search-corners: calc(0.5rem * var(--pagefind-ui-scale)); + --pagefind-ui-border-radius: calc(0.5rem * var(--pagefind-ui-scale)); +} + +site-search dialog .pagefind-ui .pagefind-ui__search-input { + background-color: var(--sl-rapide-ui-bg-color); + border: 1px solid var(--sl-color-gray-4); +} + +site-search dialog .pagefind-ui .pagefind-ui__message { + padding-top: 0; +} + +site-search dialog .pagefind-ui .pagefind-ui__message:has(+ .pagefind-ui__results:empty) { + padding: 0; +} + +site-search + dialog + #starlight__search + .pagefind-ui + :is(.pagefind-ui__result-title:not(:where(.pagefind-ui__result-nested *)), .pagefind-ui__result-nested) { + background-color: var(--sl-rapide-ui-bg-color); + border-inline: 1px solid var(--sl-rapide-ui-border-color); + outline-offset: -1px; +} + +site-search dialog #starlight__search .pagefind-ui .pagefind-ui__result-inner { + gap: 0; +} + +site-search dialog #starlight__search .pagefind-ui .pagefind-ui__result-inner > :first-child { + border-top: 1px solid var(--sl-rapide-ui-border-color); +} + +site-search dialog #starlight__search .pagefind-ui .pagefind-ui__result-inner > :last-child { + border-bottom: 1px solid var(--sl-rapide-ui-border-color); +} + /* Sidebar */ div.sidebar-pane { @@ -122,7 +227,7 @@ div.sidebar-pane summary:is(:hover, :focus-visible) + ul > li { } div.sidebar-pane a[aria-current='page'] { - background-color: unset; + background-color: initial; color: var(--sl-color-text-accent); } @@ -168,7 +273,7 @@ div.sidebar-pane .top-level > li + li { /* Table of contents */ .right-sidebar { - border-inline-start: unset; + border-inline-start: initial; padding-top: calc(var(--sl-nav-height) + 1.75rem); } @@ -268,7 +373,7 @@ starlight-tabs ul[role='tablist'] a[role='tab']:not([aria-selected='true']):hove } .sl-link-card:hover { - background: unset; + background: initial; } .sl-link-card .title { From 9d279fdc38bb68cc18e451b6cfdf59a760666bde Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Fri, 14 Jun 2024 09:01:08 +0200 Subject: [PATCH 35/64] feat: style header social icons --- packages/starlight-theme-rapide/styles.css | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index fcc1df4..c2c2cd9 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -99,6 +99,15 @@ header.header { } } +header .social-icons a { + color: var(--sl-color-gray-2); +} + +header .social-icons a:hover { + color: var(--sl-color-accent-high); + opacity: 1; +} + /* Search */ @media (min-width: 50rem) { From 8f0bc15000e0e3ac1d02ea9f7f4aad96e29543a6 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:16:08 +0200 Subject: [PATCH 36/64] feat: style theme select --- packages/starlight-theme-rapide/global.d.ts | 5 + packages/starlight-theme-rapide/index.ts | 1 + .../overrides/ThemeSelect.astro | 197 ++++++++++++++++++ packages/starlight-theme-rapide/package.json | 1 + 4 files changed, 204 insertions(+) create mode 100644 packages/starlight-theme-rapide/global.d.ts create mode 100644 packages/starlight-theme-rapide/overrides/ThemeSelect.astro diff --git a/packages/starlight-theme-rapide/global.d.ts b/packages/starlight-theme-rapide/global.d.ts new file mode 100644 index 0000000..7b3fc31 --- /dev/null +++ b/packages/starlight-theme-rapide/global.d.ts @@ -0,0 +1,5 @@ +export declare global { + var StarlightThemeProvider: { + updatePickers: (theme?: string) => void + } +} diff --git a/packages/starlight-theme-rapide/index.ts b/packages/starlight-theme-rapide/index.ts index 0606478..7c84e9c 100644 --- a/packages/starlight-theme-rapide/index.ts +++ b/packages/starlight-theme-rapide/index.ts @@ -17,6 +17,7 @@ export default function starlightThemeRapidePlugin(): StarlightPlugin { name: 'PageTitle', fallback: 'Banner', }, + 'ThemeSelect', ], logger, ), diff --git a/packages/starlight-theme-rapide/overrides/ThemeSelect.astro b/packages/starlight-theme-rapide/overrides/ThemeSelect.astro new file mode 100644 index 0000000..9260f28 --- /dev/null +++ b/packages/starlight-theme-rapide/overrides/ThemeSelect.astro @@ -0,0 +1,197 @@ +--- +import type { Props } from '@astrojs/starlight/props' + +const { labels } = Astro.props + +// https://web.dev/building-a-theme-switch-component/ +// https://github.com/withastro/starlight/blob/9237581c766f68fbb3ce5f9401ca2046f106c7d5/packages/starlight/components/ThemeSelect.astro +--- + + + + + + + +{/* Inlined to avoid FOUC. Uses global scope from `ThemeProvider.astro` */} + + + diff --git a/packages/starlight-theme-rapide/package.json b/packages/starlight-theme-rapide/package.json index a65247e..e4f135c 100644 --- a/packages/starlight-theme-rapide/package.json +++ b/packages/starlight-theme-rapide/package.json @@ -11,6 +11,7 @@ "./overrides/Banner.astro": "./overrides/Banner.astro", "./overrides/PageTitle.astro": "./overrides/PageTitle.astro", "./overrides/Pagination.astro": "./overrides/Pagination.astro", + "./overrides/ThemeSelect.astro": "./overrides/ThemeSelect.astro", "./styles": "./styles.css", "./package.json": "./package.json" }, From 5787d2416debcd690d77863f93fa59d1767a5770 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:28:33 +0200 Subject: [PATCH 37/64] feat: tweak code block styles --- packages/starlight-theme-rapide/styles.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index c2c2cd9..06fe058 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -347,6 +347,10 @@ starlight-toc li > a:not([aria-current='true']):is(:hover, :focus-visible) { border-inline-start-width: 1px; } +.sl-markdown-content .expressive-code .has-title { + --ec-uiPadBlk: 0.375rem; +} + .sl-markdown-content .expressive-code .frame.is-terminal .header { border-bottom: 1px solid var(--sl-rapide-ui-border-color); } From b861c8f92755738bda92225be4755253db53d19e Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:39:42 +0200 Subject: [PATCH 38/64] feat: style header title --- packages/starlight-theme-rapide/styles.css | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/starlight-theme-rapide/styles.css b/packages/starlight-theme-rapide/styles.css index 06fe058..672303a 100644 --- a/packages/starlight-theme-rapide/styles.css +++ b/packages/starlight-theme-rapide/styles.css @@ -99,11 +99,15 @@ header.header { } } -header .social-icons a { +header.header .site-title { + font-size: var(--sl-text-h3); +} + +header.header .social-icons a { color: var(--sl-color-gray-2); } -header .social-icons a:hover { +header.header .social-icons a:hover { color: var(--sl-color-accent-high); opacity: 1; } From 70e9988a572fa77c487e66c6b63a7c17323ded22 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Fri, 14 Jun 2024 11:39:56 +0200 Subject: [PATCH 39/64] feat: style language select --- packages/starlight-theme-rapide/index.ts | 1 + .../overrides/LanguageSelect.astro | 25 +++++++++++++++++++ .../overrides/ThemeSelect.astro | 4 ++- packages/starlight-theme-rapide/package.json | 1 + packages/starlight-theme-rapide/styles.css | 25 +++++++++++++++++++ packages/starlight-theme-rapide/virtual.d.ts | 4 +++ 6 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 packages/starlight-theme-rapide/overrides/LanguageSelect.astro create mode 100644 packages/starlight-theme-rapide/virtual.d.ts diff --git a/packages/starlight-theme-rapide/index.ts b/packages/starlight-theme-rapide/index.ts index 7c84e9c..059c89d 100644 --- a/packages/starlight-theme-rapide/index.ts +++ b/packages/starlight-theme-rapide/index.ts @@ -18,6 +18,7 @@ export default function starlightThemeRapidePlugin(): StarlightPlugin { fallback: 'Banner', }, 'ThemeSelect', + 'LanguageSelect', ], logger, ), diff --git a/packages/starlight-theme-rapide/overrides/LanguageSelect.astro b/packages/starlight-theme-rapide/overrides/LanguageSelect.astro new file mode 100644 index 0000000..718afb9 --- /dev/null +++ b/packages/starlight-theme-rapide/overrides/LanguageSelect.astro @@ -0,0 +1,25 @@ +--- +import Default from '@astrojs/starlight/components/LanguageSelect.astro' +import type { Props } from '@astrojs/starlight/props' +import config from 'virtual:starlight/user-config' + +let localeLength = 0 + +if (config.isMultilingual) { + for (const locale of Object.values(config.locales)) { + if (locale && locale.lang === Astro.currentLocale) { + localeLength = locale.label.length + } + } +} +--- + +{ + config.isMultilingual && ( +
+ + + +
+ ) +} diff --git a/packages/starlight-theme-rapide/overrides/ThemeSelect.astro b/packages/starlight-theme-rapide/overrides/ThemeSelect.astro index 9260f28..4fbfe5b 100644 --- a/packages/starlight-theme-rapide/overrides/ThemeSelect.astro +++ b/packages/starlight-theme-rapide/overrides/ThemeSelect.astro @@ -14,7 +14,7 @@ const { labels } = Astro.props class="sl-flex" title={labels['themeSelect.accessibleLabel']} > -
From 0c0216782cb6017b66410221db5cdc52df367487 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Sun, 16 Jun 2024 11:48:45 +0200 Subject: [PATCH 59/64] docs: remove configuration page --- docs/astro.config.ts | 5 +---- docs/src/content/docs/configuration.md | 5 ----- 2 files changed, 1 insertion(+), 9 deletions(-) delete mode 100644 docs/src/content/docs/configuration.md diff --git a/docs/astro.config.ts b/docs/astro.config.ts index c0b5849..09a40ae 100644 --- a/docs/astro.config.ts +++ b/docs/astro.config.ts @@ -14,10 +14,7 @@ export default defineConfig({ sidebar: [ { label: 'Start Here', - items: [ - { label: 'Getting Started', link: '/getting-started/' }, - { label: 'Configuration', link: '/configuration/' }, - ], + items: [{ label: 'Getting Started', link: '/getting-started/' }], }, { label: 'Examples', diff --git a/docs/src/content/docs/configuration.md b/docs/src/content/docs/configuration.md deleted file mode 100644 index e56226a..0000000 --- a/docs/src/content/docs/configuration.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: Configuration ---- - -Hello, world! From 57450e31cf5852248d02bb703961b31773817914 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Sun, 16 Jun 2024 11:59:55 +0200 Subject: [PATCH 60/64] docs: add getting started --- docs/src/content/docs/getting-started.mdx | 47 +++++------------------ 1 file changed, 9 insertions(+), 38 deletions(-) diff --git a/docs/src/content/docs/getting-started.mdx b/docs/src/content/docs/getting-started.mdx index fb7bbcb..be578eb 100644 --- a/docs/src/content/docs/getting-started.mdx +++ b/docs/src/content/docs/getting-started.mdx @@ -1,15 +1,10 @@ --- title: Getting Started -description: Learn how to version your documentation pages with the Starlight Versions plugin. +description: Learn how to use the Starlight Rapide theme in your documentation. --- -A [Starlight](https://starlight.astro.build) plugin to version documentation pages. -Check out the [demo](https://starlight-versions-example.vercel.app) for a preview of the plugin in action. - -:::tip[Caution] -Starlight Versions is an [opinionated](/guides/about-versioning/#versioning-strategies) plugin that is still in early development. -Expect frequent updates and changes to the plugin as development continues. -::: +A [Starlight](https://starlight.astro.build) theme inspired by the Visual Studio Code [Vitesse theme](https://marketplace.visualstudio.com/items?itemName=antfu.theme-vitesse). +Browse the various [examples](/examples/asides/) to see the theme in action. ## Prerequisites @@ -18,60 +13,36 @@ If you don't have one yet, you can follow the ["Getting Started"](https://starli ## Installation -When ready to version your documentation pages, you can install and configure the Starlight Versions plugin. - import { Steps } from '@astrojs/starlight/components' import { PackageManagers } from 'starlight-package-managers' -1. Starlight Versions is a Starlight [plugin](https://starlight.astro.build/reference/plugins/) that you can install using your favorite package manager: +1. The Starlight Rapide theme is a Starlight [plugin](https://starlight.astro.build/reference/plugins/) that you can install using your favorite package manager: - + 2. Configure the plugin in your Starlight [configuration](https://starlight.astro.build/reference/configuration/#plugins) in the `astro.config.mjs` file. - The following example shows how to configure a single version `1.0` for your documentation: - ```diff lang="js" // astro.config.mjs import starlight from '@astrojs/starlight' import { defineConfig } from 'astro/config' - +import starlightVersions from 'starlight-versions' + +import starlightThemeRapide from 'starlight-theme-rapide' export default defineConfig({ integrations: [ starlight({ - + plugins: [ - + starlightVersions({ - + versions: [{ slug: '1.0' }], - + }), - + ], + + plugins: [starlightThemeRapide()], title: 'My Docs', }), ], }) ``` -3. Starlight Versions uses Astro’s [content collections](https://docs.astro.build/en/guides/content-collections/), which are configured in the `src/content/config.ts` file. - - Update the content config file, adding a `versions` collection that uses Starlight Versions `docsVersionsSchema`: - - ```diff lang="js" - // src/content/config.ts - import { docsSchema } from '@astrojs/starlight/schema' - import { defineCollection } from 'astro:content' - +import { docsVersionsSchema } from 'starlight-versions/schema' - - export const collections = { - docs: defineCollection({ schema: docsSchema() }), - + versions: defineCollection({ type: 'data', schema: docsVersionsSchema() }), - } - ``` - -4. [Start the development server](https://starlight.astro.build/getting-started/#start-the-development-server) to create the first version of your documentation. +3. [Start the development server](https://starlight.astro.build/getting-started/#start-the-development-server) to preview the theme in action. - The current state of your documentation will be archived as the newly configured `1.0` version while you continue to work on the current version. + From 5edb2cd69d80182e2c4a8d359e5713a395ececc0 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Sun, 16 Jun 2024 12:02:40 +0200 Subject: [PATCH 61/64] chore: update `package.json` files --- docs/package.json | 10 ++++++++-- package.json | 10 ++++++++-- packages/starlight-theme-rapide/package.json | 10 ++++++++-- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/docs/package.json b/docs/package.json index 0d2582c..3894a95 100644 --- a/docs/package.json +++ b/docs/package.json @@ -2,7 +2,7 @@ "name": "starlight-theme-rapide-docs", "version": "0.0.1", "license": "MIT", - "description": "// TODO(HiDeoo)", + "description": "Starlight theme inspired by the Visual Studio Code Vitesse theme.", "author": "HiDeoo (https://hideoo.dev)", "type": "module", "scripts": { @@ -25,7 +25,13 @@ "private": true, "sideEffects": false, "keywords": [ - "// TODO(HiDeoo)" + "starlight", + "theme", + "rapide", + "vitesse", + "plugin", + "documentation", + "astro" ], "homepage": "https://github.com/HiDeoo/starlight-theme-rapide", "repository": { diff --git a/package.json b/package.json index 53ad28f..4fcca91 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "starlight-theme-rapide-monorepo", "version": "0.0.1", "license": "MIT", - "description": "// TODO(HiDeoo)", + "description": "Starlight theme inspired by the Visual Studio Code Vitesse theme.", "author": "HiDeoo (https://hideoo.dev)", "type": "module", "scripts": { @@ -28,7 +28,13 @@ "private": true, "sideEffects": false, "keywords": [ - "// TODO(HiDeoo)" + "starlight", + "theme", + "rapide", + "vitesse", + "plugin", + "documentation", + "astro" ], "homepage": "https://github.com/HiDeoo/starlight-theme-rapide", "repository": { diff --git a/packages/starlight-theme-rapide/package.json b/packages/starlight-theme-rapide/package.json index 76f1645..55e12a9 100644 --- a/packages/starlight-theme-rapide/package.json +++ b/packages/starlight-theme-rapide/package.json @@ -2,7 +2,7 @@ "name": "starlight-theme-rapide", "version": "0.0.1", "license": "MIT", - "description": "// TODO(HiDeoo)", + "description": "Starlight theme inspired by the Visual Studio Code Vitesse theme.", "author": "HiDeoo (https://hideoo.dev)", "type": "module", "exports": { @@ -31,7 +31,13 @@ }, "sideEffects": false, "keywords": [ - "// TODO(HiDeoo)" + "starlight", + "theme", + "rapide", + "vitesse", + "plugin", + "documentation", + "astro" ], "homepage": "https://github.com/HiDeoo/starlight-theme-rapide", "repository": { From ec9d777506e27569b06fec54586d7aefc85fb808 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Sun, 16 Jun 2024 12:30:30 +0200 Subject: [PATCH 62/64] docs: update getting started guide --- docs/src/content/docs/getting-started.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/content/docs/getting-started.mdx b/docs/src/content/docs/getting-started.mdx index be578eb..db52b4d 100644 --- a/docs/src/content/docs/getting-started.mdx +++ b/docs/src/content/docs/getting-started.mdx @@ -4,7 +4,7 @@ description: Learn how to use the Starlight Rapide theme in your documentation. --- A [Starlight](https://starlight.astro.build) theme inspired by the Visual Studio Code [Vitesse theme](https://marketplace.visualstudio.com/items?itemName=antfu.theme-vitesse). -Browse the various [examples](/examples/asides/) to see the theme in action. +Check out the various [examples](/examples/asides/) to see the theme in action. ## Prerequisites From 29a34976de7c16d5eb3eb0defb29422b5ea22afd Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Sun, 16 Jun 2024 12:30:45 +0200 Subject: [PATCH 63/64] chore: add readme files --- docs/README.md | 28 +++++++++++++++++++++++ packages/starlight-theme-rapide/README.md | 15 +++++------- 2 files changed, 34 insertions(+), 9 deletions(-) create mode 100644 docs/README.md diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..42ef02c --- /dev/null +++ b/docs/README.md @@ -0,0 +1,28 @@ +
+

starlight-theme-rapide ⚡

+

Starlight theme inspired by the Visual Studio Code Vitesse theme.

+
+ + + +## Documentation + +Run the docs locally using [pnpm](https://pnpm.io): + +```shell +pnpm run dev +``` + +## License + +Licensed under the MIT License, Copyright © HiDeoo. + +See [LICENSE](https://github.com/HiDeoo/starlight-theme-rapide/blob/main/LICENSE) for more information. diff --git a/packages/starlight-theme-rapide/README.md b/packages/starlight-theme-rapide/README.md index 7f22cb5..a816a33 100644 --- a/packages/starlight-theme-rapide/README.md +++ b/packages/starlight-theme-rapide/README.md @@ -1,9 +1,9 @@
-

starlight-theme-rapide 🚧

-

starlight-theme-rapide description

+

starlight-theme-rapide ⚡

+

Starlight theme inspired by the Visual Studio Code Vitesse theme.

- - Screenshot of starlight-theme-rapide + + Screenshot of the Starlight Rapide theme in dark and light mode

@@ -18,12 +18,9 @@
-## Features +## Getting Started -starlight-theme-rapide presentation. - -- starlight-theme-rapide feature 1 -- starlight-theme-rapide feature 2 +Want to get started immediately? Check out the [getting started guide](https://starlight-theme-rapide.vercel.app/getting-started/) or check out the various [examples](https://starlight-theme-rapide.vercel.app/examples/asides/) to see the theme in action. ## License From 208b39e037821ff660455e9ec5792a740a04f32a Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Sun, 16 Jun 2024 12:31:52 +0200 Subject: [PATCH 64/64] chore: update `.npmignore` --- packages/starlight-theme-rapide/.npmignore | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/starlight-theme-rapide/.npmignore b/packages/starlight-theme-rapide/.npmignore index 46485ef..2dab78f 100644 --- a/packages/starlight-theme-rapide/.npmignore +++ b/packages/starlight-theme-rapide/.npmignore @@ -1,3 +1,4 @@ +.eslintcache .prettierignore tsconfig.json tsconfig.tsbuildinfo