From b86d0f897feb859471c54023249684e58078f286 Mon Sep 17 00:00:00 2001 From: Brian McGee Date: Mon, 29 Apr 2024 12:02:29 +0100 Subject: [PATCH] doc: configure hero and logo Signed-off-by: Brian McGee --- .gitignore | 4 + docs/.vitepress/config.mts | 31 + docs/.vitepress/theme/index.ts | 17 + docs/.vitepress/theme/style.css | 138 +++ docs/api-examples.md | 55 ++ docs/assets/fmt.gif | Bin 0 -> 88792 bytes docs/assets/logo.svg | 194 ++++ docs/index.md | 27 + docs/markdown-examples.md | 85 ++ docs/package-lock.json | 1626 +++++++++++++++++++++++++++++++ docs/package.json | 10 + docs/vhs/fmt.tape | 20 + nix/default.nix | 1 + nix/docs.nix | 31 + 14 files changed, 2239 insertions(+) create mode 100644 docs/.vitepress/config.mts create mode 100644 docs/.vitepress/theme/index.ts create mode 100644 docs/.vitepress/theme/style.css create mode 100644 docs/api-examples.md create mode 100644 docs/assets/fmt.gif create mode 100644 docs/assets/logo.svg create mode 100644 docs/index.md create mode 100644 docs/markdown-examples.md create mode 100644 docs/package-lock.json create mode 100644 docs/package.json create mode 100644 docs/vhs/fmt.tape create mode 100644 nix/docs.nix diff --git a/.gitignore b/.gitignore index 631de79..f30e92e 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,7 @@ repl-result-* # devshell /.data + +# docs +node_modules +docs/.vitepress/cache \ No newline at end of file diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts new file mode 100644 index 0000000..a80bcd1 --- /dev/null +++ b/docs/.vitepress/config.mts @@ -0,0 +1,31 @@ +import { defineConfig } from 'vitepress' + +// https://vitepress.dev/reference/site-config +export default defineConfig({ + title: "Treefmt", + description: "one CLI to format your repo", + themeConfig: { + + logo: '../assets/logo.svg', + + // https://vitepress.dev/reference/default-theme-config + nav: [ + { text: 'Home', link: '/' }, + { text: 'Examples', link: '/markdown-examples' } + ], + + sidebar: [ + { + text: 'Examples', + items: [ + { text: 'Markdown Examples', link: '/markdown-examples' }, + { text: 'Runtime API Examples', link: '/api-examples' } + ] + } + ], + + socialLinks: [ + { icon: 'github', link: 'https://github.com/vuejs/vitepress' } + ] + } +}) diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts new file mode 100644 index 0000000..cf42c91 --- /dev/null +++ b/docs/.vitepress/theme/index.ts @@ -0,0 +1,17 @@ +// https://vitepress.dev/guide/custom-theme +import { h } from "vue"; +import type { Theme } from "vitepress"; +import DefaultTheme from "vitepress/theme"; +import "./style.css"; + +export default { + extends: DefaultTheme, + Layout: () => { + return h(DefaultTheme.Layout, null, { + // https://vitepress.dev/guide/extending-default-theme#layout-slots + }); + }, + enhanceApp({ app, router, siteData }) { + // ... + }, +} satisfies Theme; diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css new file mode 100644 index 0000000..42779f9 --- /dev/null +++ b/docs/.vitepress/theme/style.css @@ -0,0 +1,138 @@ +/** + * Customize default theme styling by overriding CSS variables: + * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css + */ + +/** + * Colors + * + * Each colors have exact same color scale system with 3 levels of solid + * colors with different brightness, and 1 soft color. + * + * - `XXX-1`: The most solid color used mainly for colored text. It must + * satisfy the contrast ratio against when used on top of `XXX-soft`. + * + * - `XXX-2`: The color used mainly for hover state of the button. + * + * - `XXX-3`: The color for solid background, such as bg color of the button. + * It must satisfy the contrast ratio with pure white (#ffffff) text on + * top of it. + * + * - `XXX-soft`: The color used for subtle background such as custom container + * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors + * on top of it. + * + * The soft color must be semi transparent alpha channel. This is crucial + * because it allows adding multiple "soft" colors on top of each other + * to create a accent, such as when having inline code block inside + * custom containers. + * + * - `default`: The color used purely for subtle indication without any + * special meanings attched to it such as bg color for menu hover state. + * + * - `brand`: Used for primary brand colors, such as link text, button with + * brand theme, etc. + * + * - `tip`: Used to indicate useful information. The default theme uses the + * brand color for this by default. + * + * - `warning`: Used to indicate warning to the users. Used in custom + * container, badges, etc. + * + * - `danger`: Used to show error, or dangerous message to the users. Used + * in custom container, badges, etc. + * -------------------------------------------------------------------------- */ + +:root { + --vp-c-default-1: var(--vp-c-gray-1); + --vp-c-default-2: var(--vp-c-gray-2); + --vp-c-default-3: var(--vp-c-gray-3); + --vp-c-default-soft: var(--vp-c-gray-soft); + + --vp-c-brand-1: var(--vp-c-indigo-1); + --vp-c-brand-2: var(--vp-c-indigo-2); + --vp-c-brand-3: var(--vp-c-indigo-3); + --vp-c-brand-soft: var(--vp-c-indigo-soft); + + --vp-c-tip-1: var(--vp-c-brand-1); + --vp-c-tip-2: var(--vp-c-brand-2); + --vp-c-tip-3: var(--vp-c-brand-3); + --vp-c-tip-soft: var(--vp-c-brand-soft); + + --vp-c-warning-1: var(--vp-c-yellow-1); + --vp-c-warning-2: var(--vp-c-yellow-2); + --vp-c-warning-3: var(--vp-c-yellow-3); + --vp-c-warning-soft: var(--vp-c-yellow-soft); + + --vp-c-danger-1: var(--vp-c-red-1); + --vp-c-danger-2: var(--vp-c-red-2); + --vp-c-danger-3: var(--vp-c-red-3); + --vp-c-danger-soft: var(--vp-c-red-soft); +} + +/** + * Component: Button + * -------------------------------------------------------------------------- */ + +:root { + --vp-button-brand-border: transparent; + --vp-button-brand-text: var(--vp-c-white); + --vp-button-brand-bg: var(--vp-c-brand-3); + --vp-button-brand-hover-border: transparent; + --vp-button-brand-hover-text: var(--vp-c-white); + --vp-button-brand-hover-bg: var(--vp-c-brand-2); + --vp-button-brand-active-border: transparent; + --vp-button-brand-active-text: var(--vp-c-white); + --vp-button-brand-active-bg: var(--vp-c-brand-1); +} + +/** + * Component: Home + * -------------------------------------------------------------------------- */ + +:root { + --vp-home-hero-name-color: transparent; + --vp-home-hero-name-background: -webkit-linear-gradient( + 120deg, + #bd34fe 30%, + #41d1ff + ); + + --vp-home-hero-image-background-image: linear-gradient( + -45deg, + #bd34fe 50%, + #47caff 50% + ); + --vp-home-hero-image-filter: blur(44px); +} + +@media (min-width: 640px) { + :root { + --vp-home-hero-image-filter: blur(56px); + } +} + +@media (min-width: 960px) { + :root { + --vp-home-hero-image-filter: blur(68px); + } +} + +/** + * Component: Custom Block + * -------------------------------------------------------------------------- */ + +:root { + --vp-custom-block-tip-border: transparent; + --vp-custom-block-tip-text: var(--vp-c-text-1); + --vp-custom-block-tip-bg: var(--vp-c-brand-soft); + --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft); +} + +/** + * Component: Algolia + * -------------------------------------------------------------------------- */ + +.DocSearch { + --docsearch-primary-color: var(--vp-c-brand-1) !important; +} diff --git a/docs/api-examples.md b/docs/api-examples.md new file mode 100644 index 0000000..691df9c --- /dev/null +++ b/docs/api-examples.md @@ -0,0 +1,55 @@ +--- +outline: deep +--- + +# Runtime API Examples + +This page demonstrates usage of some of the runtime APIs provided by VitePress. + +The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files: + +```md + + +## Results + +### Theme Data + +
{{ theme }}
+ +### Page Data + +
{{ page }}
+ +### Page Frontmatter + +
{{ frontmatter }}
+``` + + + +## Results + +### Theme Data + +
{{ theme }}
+ +### Page Data + +
{{ page }}
+ +### Page Frontmatter + +
{{ frontmatter }}
+ +## More + +Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata). diff --git a/docs/assets/fmt.gif b/docs/assets/fmt.gif new file mode 100644 index 0000000000000000000000000000000000000000..67f467d9910868225e43f5b62f5c2bd3ee236005 GIT binary patch literal 88792 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 + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..7c91e3f --- /dev/null +++ b/docs/index.md @@ -0,0 +1,27 @@ +--- +# https://vitepress.dev/reference/default-theme-home-page +layout: home + +hero: + name: "Treefmt" + text: "One CLI to format your repo" + image: + dark: ./assets/fmt.gif + light: ./assets/fmt-light.gif + alt: Treefmt + actions: + - theme: brand + text: Markdown Examples + link: /markdown-examples + - theme: alt + text: API Examples + link: /api-examples + +features: + - title: Feature A + details: Lorem ipsum dolor sit amet, consectetur adipiscing elit + - title: Feature B + details: Lorem ipsum dolor sit amet, consectetur adipiscing elit + - title: Feature C + details: Lorem ipsum dolor sit amet, consectetur adipiscing elit +--- diff --git a/docs/markdown-examples.md b/docs/markdown-examples.md new file mode 100644 index 0000000..f9258a5 --- /dev/null +++ b/docs/markdown-examples.md @@ -0,0 +1,85 @@ +# Markdown Extension Examples + +This page demonstrates some of the built-in markdown extensions provided by VitePress. + +## Syntax Highlighting + +VitePress provides Syntax Highlighting powered by [Shiki](https://github.com/shikijs/shiki), with additional features like line-highlighting: + +**Input** + +````md +```js{4} +export default { + data () { + return { + msg: 'Highlighted!' + } + } +} +``` +```` + +**Output** + +```js{4} +export default { + data () { + return { + msg: 'Highlighted!' + } + } +} +``` + +## Custom Containers + +**Input** + +```md +::: info +This is an info box. +::: + +::: tip +This is a tip. +::: + +::: warning +This is a warning. +::: + +::: danger +This is a dangerous warning. +::: + +::: details +This is a details block. +::: +``` + +**Output** + +::: info +This is an info box. +::: + +::: tip +This is a tip. +::: + +::: warning +This is a warning. +::: + +::: danger +This is a dangerous warning. +::: + +::: details +This is a details block. +::: + +## More + +Check out the documentation for the [full list of markdown extensions](https://vitepress.dev/guide/markdown). diff --git a/docs/package-lock.json b/docs/package-lock.json new file mode 100644 index 0000000..5d8c8e1 --- /dev/null +++ b/docs/package-lock.json @@ -0,0 +1,1626 @@ +{ + "name": "docs", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "devDependencies": { + "vitepress": "^1.1.4" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "dev": true, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.23.3.tgz", + "integrity": "sha512-vRHXYCpPlTDE7i6UOy2xE03zHF2C8MEFjPN2v7fRbqVpcOvAUQK81x3Kc21xyb5aSIpYCjWCZbYZuz8Glyzyyg==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.23.3" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.23.3.tgz", + "integrity": "sha512-h9XcNI6lxYStaw32pHpB1TMm0RuxphF+Ik4o7tcQiodEdpKK+wKufY6QXtba7t3k8eseirEMVB83uFFF3Nu54A==", + "dev": true + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.23.3.tgz", + "integrity": "sha512-yvpbuUXg/+0rbcagxNT7un0eo3czx2Uf0y4eiR4z4SD7SiptwYTpbuS0IHxcLHG3lq22ukx1T6Kjtk/rT+mqNg==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.23.3" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.23.3.tgz", + "integrity": "sha512-hpa6S5d7iQmretHHF40QGq6hz0anWEHGlULcTIT9tbUssWUriN9AUXIFQ8Ei4w9azD0hc1rUok9/DeQQobhQMA==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.23.3.tgz", + "integrity": "sha512-LBsEARGS9cj8VkTAVEZphjxTjMVCci+zIIiRhpFun9jGDUlS1XmhCW7CTrnaWeIuCQS/2iPyRqSy1nXPjcBLRA==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.23.3.tgz", + "integrity": "sha512-l6EiPxdAlg8CYhroqS5ybfIczsGUIAC47slLPOMDeKSVXYG1n0qGiz4RjAHLw2aD0xzh2EXZ7aRguPfz7UKDKw==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.23.3.tgz", + "integrity": "sha512-3E3yF3Ocr1tB/xOZiuC3doHQBQ2zu2MPTYZ0d4lpfWads2WTKG7ZzmGnsHmm63RflvDeLK/UVx7j2b3QuwKQ2g==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz", + "integrity": "sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.23.3.tgz", + "integrity": "sha512-y9kBtmJwiZ9ZZ+1Ek66P0M68mHQzKRxkW5kAAXYN/rdzgDN0d2COsViEFufxJ0pb45K4FRcfC7+33YB4BLrZ+g==", + "dev": true + }, + "node_modules/@algolia/logger-console": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.23.3.tgz", + "integrity": "sha512-8xoiseoWDKuCVnWP8jHthgaeobDLolh00KJAdMe9XPrWPuf1by732jSpgy2BlsLTaT9m32pHI8CRfrOqQzHv3A==", + "dev": true, + "dependencies": { + "@algolia/logger-common": "4.23.3" + } + }, + "node_modules/@algolia/recommend": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.23.3.tgz", + "integrity": "sha512-9fK4nXZF0bFkdcLBRDexsnGzVmu4TSYZqxdpgBW2tEyfuSSY54D4qSRkLmNkrrz4YFvdh2GM1gA8vSsnZPR73w==", + "dev": true, + "dependencies": { + "@algolia/cache-browser-local-storage": "4.23.3", + "@algolia/cache-common": "4.23.3", + "@algolia/cache-in-memory": "4.23.3", + "@algolia/client-common": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/logger-console": "4.23.3", + "@algolia/requester-browser-xhr": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/requester-node-http": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.23.3.tgz", + "integrity": "sha512-jDWGIQ96BhXbmONAQsasIpTYWslyjkiGu0Quydjlowe+ciqySpiDUrJHERIRfELE5+wFc7hc1Q5hqjGoV7yghw==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.23.3" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.23.3.tgz", + "integrity": "sha512-xloIdr/bedtYEGcXCiF2muajyvRhwop4cMZo+K2qzNht0CMzlRkm8YsDdj5IaBhshqfgmBb3rTg4sL4/PpvLYw==", + "dev": true + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.23.3.tgz", + "integrity": "sha512-zgu++8Uj03IWDEJM3fuNl34s746JnZOWn1Uz5taV1dFyJhVM/kTNw9Ik7YJWiUNHJQXcaD8IXD1eCb0nq/aByA==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.23.3" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.23.3.tgz", + "integrity": "sha512-Wjl5gttqnf/gQKJA+dafnD0Y6Yw97yvfY8R9h0dQltX1GXTgNs1zWgvtWW0tHl1EgMdhAyw189uWiZMnL3QebQ==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/requester-common": "4.23.3" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", + "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.0.tgz", + "integrity": "sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==", + "dev": true + }, + "node_modules/@docsearch/js": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.6.0.tgz", + "integrity": "sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==", + "dev": true, + "dependencies": { + "@docsearch/react": "3.6.0", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.0.tgz", + "integrity": "sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.6.0", + "algoliasearch": "^4.19.1" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.1.tgz", + "integrity": "sha512-P6Wg856Ou/DLpR+O0ZLneNmrv7QpqBg+hK4wE05ijbC/t349BRfMfx+UFj5Ha3fCFopIa6iSZlpdaB4agkWp2Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.1.tgz", + "integrity": "sha512-piwZDjuW2WiHr05djVdUkrG5JbjnGbtx8BXQchYCMfib/nhjzWoiScelZ+s5IJI7lecrwSxHCzW026MWBL+oJQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.1.tgz", + "integrity": "sha512-LsZXXIsN5Q460cKDT4Y+bzoPDhBmO5DTr7wP80d+2EnYlxSgkwdPfE3hbE+Fk8dtya+8092N9srjBTJ0di8RIA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.1.tgz", + "integrity": "sha512-S7TYNQpWXB9APkxu/SLmYHezWwCoZRA9QLgrDeml+SR2A1LLPD2DBUdUlvmCF7FUpRMKvbeeWky+iizQj65Etw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.1.tgz", + "integrity": "sha512-Lq2JR5a5jsA5um2ZoLiXXEaOagnVyCpCW7xvlcqHC7y46tLwTEgUSTM3a2TfmmTMmdqv+jknUioWXlmxYxE9Yw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.1.tgz", + "integrity": "sha512-9BfzwyPNV0IizQoR+5HTNBGkh1KXE8BqU0DBkqMngmyFW7BfuIZyMjQ0s6igJEiPSBvT3ZcnIFohZ19OqjhDPg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.1.tgz", + "integrity": "sha512-e2uWaoxo/rtzA52OifrTSXTvJhAXb0XeRkz4CdHBK2KtxrFmuU/uNd544Ogkpu938BzEfvmWs8NZ8Axhw33FDw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.1.tgz", + "integrity": "sha512-ekggix/Bc/d/60H1Mi4YeYb/7dbal1kEDZ6sIFVAE8pUSx7PiWeEh+NWbL7bGu0X68BBIkgF3ibRJe1oFTksQQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.1.tgz", + "integrity": "sha512-UGV0dUo/xCv4pkr/C8KY7XLFwBNnvladt8q+VmdKrw/3RUd3rD0TptwjisvE2TTnnlENtuY4/PZuoOYRiGp8Gw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.1.tgz", + "integrity": "sha512-gEYmYYHaehdvX46mwXrU49vD6Euf1Bxhq9pPb82cbUU9UT2NV+RSckQ5tKWOnNXZixKsy8/cPGtiUWqzPuAcXQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.1.tgz", + "integrity": "sha512-xeae5pMAxHFp6yX5vajInG2toST5lsCTrckSRUFwNgzYqnUjNBcQyqk1bXUxX5yhjWFl2Mnz3F8vQjl+2FRIcw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.1.tgz", + "integrity": "sha512-AsdnINQoDWfKpBzCPqQWxSPdAWzSgnYbrJYtn6W0H2E9It5bZss99PiLA8CgmDRfvKygt20UpZ3xkhFlIfX9zQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.1.tgz", + "integrity": "sha512-KoB4fyKXTR+wYENkIG3fFF+5G6N4GFvzYx8Jax8BR4vmddtuqSb5oQmYu2Uu067vT/Fod7gxeQYKupm8gAcMSQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.1.tgz", + "integrity": "sha512-J0d3NVNf7wBL9t4blCNat+d0PYqAx8wOoY+/9Q5cujnafbX7BmtYk3XvzkqLmFECaWvXGLuHmKj/wrILUinmQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.1.tgz", + "integrity": "sha512-xjgkWUwlq7IbgJSIxvl516FJ2iuC/7ttjsAxSPpC9kkI5iQQFHKyEN5BjbhvJ/IXIZ3yIBcW5QDlWAyrA+TFag==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.1.tgz", + "integrity": "sha512-0QbCkfk6cnnVKWqqlC0cUrrUMDMfu5ffvYMTUHf+qMN2uAb3MKP31LPcwiMXBNsvoFGs/kYdFOsuLmvppCopXA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.3.0.tgz", + "integrity": "sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==", + "dev": true + }, + "node_modules/@shikijs/transformers": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-1.3.0.tgz", + "integrity": "sha512-3mlpg2I9CjhjE96dEWQOGeCWoPcyTov3s4aAsHmgvnTHa8MBknEnCQy8/xivJPSpD+olqOqIEoHnLfbNJK29AA==", + "dev": true, + "dependencies": { + "shiki": "1.3.0" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/linkify-it": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.0.1.tgz", + "integrity": "sha512-6WfOG3jXR78DW8L5cTYCVVGAsIFZskRHCDo5tbqa+qtKVt4oDRVH7hyIWu1SpDQJlmIoEivNQZ5h+AGAOrgOtQ==", + "dev": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", + "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", + "dev": true + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "dev": true + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.4.tgz", + "integrity": "sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==", + "dev": true, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.26.tgz", + "integrity": "sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.24.4", + "@vue/shared": "3.4.26", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.26.tgz", + "integrity": "sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.4.26", + "@vue/shared": "3.4.26" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.26.tgz", + "integrity": "sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.24.4", + "@vue/compiler-core": "3.4.26", + "@vue/compiler-dom": "3.4.26", + "@vue/compiler-ssr": "3.4.26", + "@vue/shared": "3.4.26", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.10", + "postcss": "^8.4.38", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.26", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.26.tgz", + "integrity": "sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.4.26", + "@vue/shared": "3.4.26" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.1.3.tgz", + "integrity": "sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==", + "dev": true, + "dependencies": { + "@vue/devtools-kit": "^7.1.3" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.1.3.tgz", + "integrity": "sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==", + "dev": true, + "dependencies": { + "@vue/devtools-shared": "^7.1.3", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.1.3.tgz", + "integrity": "sha512-KJ3AfgjTn3tJz/XKF+BlVShNPecim3G21oHRue+YQOsooW+0s+qXvm09U09aO7yBza5SivL1QgxSrzAbiKWjhQ==", + "dev": true, + "dependencies": { + "rfdc": "^1.3.1" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.4.26", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.26.tgz", + "integrity": "sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==", + "dev": true, + "dependencies": { + "@vue/shared": "3.4.26" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.26", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.26.tgz", + "integrity": "sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.4.26", + "@vue/shared": "3.4.26" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.4.26", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.26.tgz", + "integrity": "sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==", + "dev": true, + "dependencies": { + "@vue/runtime-core": "3.4.26", + "@vue/shared": "3.4.26", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.4.26", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.26.tgz", + "integrity": "sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.4.26", + "@vue/shared": "3.4.26" + }, + "peerDependencies": { + "vue": "3.4.26" + } + }, + "node_modules/@vue/shared": { + "version": "3.4.26", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz", + "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==", + "dev": true + }, + "node_modules/@vueuse/core": { + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.9.0.tgz", + "integrity": "sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==", + "dev": true, + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.9.0", + "@vueuse/shared": "10.9.0", + "vue-demi": ">=0.14.7" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/integrations": { + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.9.0.tgz", + "integrity": "sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==", + "dev": true, + "dependencies": { + "@vueuse/core": "10.9.0", + "@vueuse/shared": "10.9.0", + "vue-demi": ">=0.14.7" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "*", + "axios": "*", + "change-case": "*", + "drauu": "*", + "focus-trap": "*", + "fuse.js": "*", + "idb-keyval": "*", + "jwt-decode": "*", + "nprogress": "*", + "qrcode": "*", + "sortablejs": "*", + "universal-cookie": "*" + }, + "peerDependenciesMeta": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { + "optional": true + } + } + }, + "node_modules/@vueuse/integrations/node_modules/vue-demi": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.9.0.tgz", + "integrity": "sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.9.0.tgz", + "integrity": "sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==", + "dev": true, + "dependencies": { + "vue-demi": ">=0.14.7" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", + "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/algoliasearch": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz", + "integrity": "sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==", + "dev": true, + "dependencies": { + "@algolia/cache-browser-local-storage": "4.23.3", + "@algolia/cache-common": "4.23.3", + "@algolia/cache-in-memory": "4.23.3", + "@algolia/client-account": "4.23.3", + "@algolia/client-analytics": "4.23.3", + "@algolia/client-common": "4.23.3", + "@algolia/client-personalization": "4.23.3", + "@algolia/client-search": "4.23.3", + "@algolia/logger-common": "4.23.3", + "@algolia/logger-console": "4.23.3", + "@algolia/recommend": "4.23.3", + "@algolia/requester-browser-xhr": "4.23.3", + "@algolia/requester-common": "4.23.3", + "@algolia/requester-node-http": "4.23.3", + "@algolia/transporter": "4.23.3" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "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" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/focus-trap": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz", + "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==", + "dev": true, + "dependencies": { + "tabbable": "^6.2.0" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true + }, + "node_modules/magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "dev": true + }, + "node_modules/minisearch": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.3.0.tgz", + "integrity": "sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==", + "dev": true + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/preact": { + "version": "10.20.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.20.2.tgz", + "integrity": "sha512-S1d1ernz3KQ+Y2awUxKakpfOg2CEmJmwOP+6igPx6dgr6pgDvenqYviyokWso2rhHvGtTlWWnJDa7RaPbQerTg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/rfdc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", + "dev": true + }, + "node_modules/rollup": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.17.1.tgz", + "integrity": "sha512-0gG94inrUtg25sB2V/pApwiv1lUb0bQ25FPNuzO89Baa+B+c0ccaaBKM5zkZV/12pUUdH+lWCSm9wmHqyocuVQ==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.17.1", + "@rollup/rollup-android-arm64": "4.17.1", + "@rollup/rollup-darwin-arm64": "4.17.1", + "@rollup/rollup-darwin-x64": "4.17.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.17.1", + "@rollup/rollup-linux-arm-musleabihf": "4.17.1", + "@rollup/rollup-linux-arm64-gnu": "4.17.1", + "@rollup/rollup-linux-arm64-musl": "4.17.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.17.1", + "@rollup/rollup-linux-riscv64-gnu": "4.17.1", + "@rollup/rollup-linux-s390x-gnu": "4.17.1", + "@rollup/rollup-linux-x64-gnu": "4.17.1", + "@rollup/rollup-linux-x64-musl": "4.17.1", + "@rollup/rollup-win32-arm64-msvc": "4.17.1", + "@rollup/rollup-win32-ia32-msvc": "4.17.1", + "@rollup/rollup-win32-x64-msvc": "4.17.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/search-insights": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.13.0.tgz", + "integrity": "sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==", + "dev": true, + "peer": true + }, + "node_modules/shiki": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.3.0.tgz", + "integrity": "sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==", + "dev": true, + "dependencies": { + "@shikijs/core": "1.3.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", + "dev": true + }, + "node_modules/vite": { + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.10.tgz", + "integrity": "sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==", + "dev": true, + "dependencies": { + "esbuild": "^0.20.1", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "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 + } + } + }, + "node_modules/vitepress": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.1.4.tgz", + "integrity": "sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==", + "dev": true, + "dependencies": { + "@docsearch/css": "^3.6.0", + "@docsearch/js": "^3.6.0", + "@shikijs/core": "^1.3.0", + "@shikijs/transformers": "^1.3.0", + "@types/markdown-it": "^14.0.1", + "@vitejs/plugin-vue": "^5.0.4", + "@vue/devtools-api": "^7.0.27", + "@vueuse/core": "^10.9.0", + "@vueuse/integrations": "^10.9.0", + "focus-trap": "^7.5.4", + "mark.js": "8.11.1", + "minisearch": "^6.3.0", + "shiki": "^1.3.0", + "vite": "^5.2.10", + "vue": "^3.4.25" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4", + "postcss": "^8" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.4.26", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.26.tgz", + "integrity": "sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.4.26", + "@vue/compiler-sfc": "3.4.26", + "@vue/runtime-dom": "3.4.26", + "@vue/server-renderer": "3.4.26", + "@vue/shared": "3.4.26" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + } + } +} diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 0000000..368c03a --- /dev/null +++ b/docs/package.json @@ -0,0 +1,10 @@ +{ + "devDependencies": { + "vitepress": "^1.1.4" + }, + "scripts": { + "docs:dev": "vitepress dev", + "docs:build": "vitepress build", + "docs:preview": "vitepress preview" + } +} diff --git a/docs/vhs/fmt.tape b/docs/vhs/fmt.tape new file mode 100644 index 0000000..cd1bf84 --- /dev/null +++ b/docs/vhs/fmt.tape @@ -0,0 +1,20 @@ +Require nix + +Set Shell zsh +Set FontSize 14 + +Set Theme "Catppuccin Mocha" + +Set Width 720 +Set Height 400 + +Type "nix fmt -- -v -c" +Enter + +Sleep 3s + +Enter +Type "nix fmt -- -v" +Enter + +Sleep 3s \ No newline at end of file diff --git a/nix/default.nix b/nix/default.nix index 8d2322e..37da485 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -3,6 +3,7 @@ inputs.flake-root.flakeModule ./checks.nix ./devshell.nix + ./docs.nix ./nixpkgs.nix ./packages.nix ./treefmt.nix diff --git a/nix/docs.nix b/nix/docs.nix new file mode 100644 index 0000000..000c9c5 --- /dev/null +++ b/nix/docs.nix @@ -0,0 +1,31 @@ +_: { + perSystem = {pkgs, ...}: { + devshells.default = { + commands = let + category = "docs"; + in [ + { + inherit category; + package = pkgs.nodejs; + } + { + inherit category; + package = pkgs.vhs; + help = "generate terminal gifs"; + } + { + category = "docs"; + help = "regenerate gifs for docs"; + name = "gifs"; + command = '' + set -xeuo pipefail + + for tape in $PRJ_ROOT/docs/vhs/*; do + vhs $tape -o "$PRJ_ROOT/docs/assets/$(basename $tape .tape).gif" + done + ''; + } + ]; + }; + }; +}