From 4065c86660ac65b86783de2bad9b512187548fc9 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 13:49:36 -0300 Subject: [PATCH 001/168] started project --- v3-docs/docs/.gitignore | 6 + v3-docs/docs/.vitepress/config.mts | 28 + v3-docs/docs/.vitepress/theme/index.ts | 15 + v3-docs/docs/api-examples.md | 49 + v3-docs/docs/api-sitemap.md | 2 + v3-docs/docs/components/ApiBox.vue | 34 + v3-docs/docs/data/.gitkeep | 1 + v3-docs/docs/index.md | 25 + .../jsdoc/docdata-jsdoc-template/publish.js | 165 ++ v3-docs/docs/jsdoc/jsdoc-conf.json | 22 + v3-docs/docs/jsdoc/jsdoc.sh | 19 + v3-docs/docs/package-lock.json | 2246 +++++++++++++++++ v3-docs/docs/package.json | 13 + v3-docs/v3-migration-docs/.gitignore | 3 + .../v3-migration-docs/.vitepress/config.mts | 52 + .../.vitepress/theme/custom.css | 4 + .../.vitepress/theme/index.ts | 4 + v3-docs/v3-migration-docs/README.md | 0 v3-docs/v3-migration-docs/api-examples.md | 49 + .../mongo-db-collection-meteor.md | 1 + .../docs/introduction/how-to-install.md | 29 + v3-docs/v3-migration-docs/index.md | 14 + .../v3-migration-docs/markdown-examples.md | 85 + v3-docs/v3-migration-docs/package-lock.json | 1481 +++++++++++ v3-docs/v3-migration-docs/package.json | 25 + .../v3-migration-docs/public/meteor-logo.webp | Bin 0 -> 6030 bytes 26 files changed, 4372 insertions(+) create mode 100644 v3-docs/docs/.gitignore create mode 100644 v3-docs/docs/.vitepress/config.mts create mode 100644 v3-docs/docs/.vitepress/theme/index.ts create mode 100644 v3-docs/docs/api-examples.md create mode 100644 v3-docs/docs/api-sitemap.md create mode 100644 v3-docs/docs/components/ApiBox.vue create mode 100644 v3-docs/docs/data/.gitkeep create mode 100644 v3-docs/docs/index.md create mode 100644 v3-docs/docs/jsdoc/docdata-jsdoc-template/publish.js create mode 100644 v3-docs/docs/jsdoc/jsdoc-conf.json create mode 100755 v3-docs/docs/jsdoc/jsdoc.sh create mode 100644 v3-docs/docs/package-lock.json create mode 100644 v3-docs/docs/package.json create mode 100644 v3-docs/v3-migration-docs/.gitignore create mode 100644 v3-docs/v3-migration-docs/.vitepress/config.mts create mode 100644 v3-docs/v3-migration-docs/.vitepress/theme/custom.css create mode 100644 v3-docs/v3-migration-docs/.vitepress/theme/index.ts create mode 100644 v3-docs/v3-migration-docs/README.md create mode 100644 v3-docs/v3-migration-docs/api-examples.md create mode 100644 v3-docs/v3-migration-docs/docs/collections-schemas/mongo-db-collection-meteor.md create mode 100644 v3-docs/v3-migration-docs/docs/introduction/how-to-install.md create mode 100644 v3-docs/v3-migration-docs/index.md create mode 100644 v3-docs/v3-migration-docs/markdown-examples.md create mode 100644 v3-docs/v3-migration-docs/package-lock.json create mode 100644 v3-docs/v3-migration-docs/package.json create mode 100644 v3-docs/v3-migration-docs/public/meteor-logo.webp diff --git a/v3-docs/docs/.gitignore b/v3-docs/docs/.gitignore new file mode 100644 index 0000000000..bcd2cabb66 --- /dev/null +++ b/v3-docs/docs/.gitignore @@ -0,0 +1,6 @@ +/node_modules +/.vitepress/cache +/.vitepress/dist + +/data/data.js +/data/names.json \ No newline at end of file diff --git a/v3-docs/docs/.vitepress/config.mts b/v3-docs/docs/.vitepress/config.mts new file mode 100644 index 0000000000..720319ebe3 --- /dev/null +++ b/v3-docs/docs/.vitepress/config.mts @@ -0,0 +1,28 @@ +import { defineConfig } from 'vitepress' + +// https://vitepress.dev/reference/site-config +export default defineConfig({ + title: "Meteor API Doc", + description: "API doc for Meteor 3.0", + themeConfig: { + // https://vitepress.dev/reference/default-theme-config + nav: [ + { text: 'Home', link: '/' }, + { text: 'API Doc', link: '/api-sitemap' } + ], + + sidebar: [ + { + text: 'Examples', + items: [ + { text: 'API Doc', link: '/api-sitemap' }, + { text: 'Runtime API Examples', link: '/api-examples' } + ] + } + ], + + socialLinks: [ + { icon: 'github', link: 'https://github.com/vuejs/vitepress' } + ] + } +}) diff --git a/v3-docs/docs/.vitepress/theme/index.ts b/v3-docs/docs/.vitepress/theme/index.ts new file mode 100644 index 0000000000..cfc0af257b --- /dev/null +++ b/v3-docs/docs/.vitepress/theme/index.ts @@ -0,0 +1,15 @@ +// .vitepress/theme/index.ts +import type { Theme } from 'vitepress' +import DefaultTheme from 'vitepress/theme' +import ApiBox from '../../components/ApiBox.vue' + +export default { + extends: DefaultTheme, + enhanceApp({ app }) { + // register your custom global components + app.component( + 'ApiBox', + ApiBox, + ) + } +} satisfies Theme diff --git a/v3-docs/docs/api-examples.md b/v3-docs/docs/api-examples.md new file mode 100644 index 0000000000..6bd8bb5c17 --- /dev/null +++ b/v3-docs/docs/api-examples.md @@ -0,0 +1,49 @@ +--- +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/v3-docs/docs/api-sitemap.md b/v3-docs/docs/api-sitemap.md new file mode 100644 index 0000000000..a6748f336f --- /dev/null +++ b/v3-docs/docs/api-sitemap.md @@ -0,0 +1,2 @@ + + diff --git a/v3-docs/docs/components/ApiBox.vue b/v3-docs/docs/components/ApiBox.vue new file mode 100644 index 0000000000..8fa71d7d92 --- /dev/null +++ b/v3-docs/docs/components/ApiBox.vue @@ -0,0 +1,34 @@ + + + diff --git a/v3-docs/docs/data/.gitkeep b/v3-docs/docs/data/.gitkeep new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/v3-docs/docs/data/.gitkeep @@ -0,0 +1 @@ + diff --git a/v3-docs/docs/index.md b/v3-docs/docs/index.md new file mode 100644 index 0000000000..46b25b6e3e --- /dev/null +++ b/v3-docs/docs/index.md @@ -0,0 +1,25 @@ +--- +# https://vitepress.dev/reference/default-theme-home-page +layout: home + +hero: + name: "Meteor API Doc" + text: "API doc for Meteor 3.0" + tagline: My great project tagline + actions: + - theme: brand + text: Api Doc + link: /api-sitemap + - 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/v3-docs/docs/jsdoc/docdata-jsdoc-template/publish.js b/v3-docs/docs/jsdoc/docdata-jsdoc-template/publish.js new file mode 100644 index 0000000000..53075f2219 --- /dev/null +++ b/v3-docs/docs/jsdoc/docdata-jsdoc-template/publish.js @@ -0,0 +1,165 @@ +/*global require: true */ +(function () { + 'use strict'; + + // This file receives data from JSDoc via the `publish` exported function, + // and converts it into JSON that is written to a file. + + var fs = require('jsdoc/fs'); + var helper = require('jsdoc/util/templateHelper'); + + var stringify = require("canonical-json"); + + // This is the big map of name -> data that we'll write to a file. + var dataContents = {}; + // List of just the names, which we'll also write to a file. + var names = []; + + /** + * Get a tag dictionary from the tags field on the object, for custom fields + * like package + * @param {JSDocData} data The thing you get in the TaffyDB from JSDoc + * @return {Object} Keys are the parameter names, values are the values. + */ + var getTagDict = function (data) { + var tagDict = {}; + + if (data.tags) { + data.tags.forEach(function (tag) { + tagDict[tag.title] = tag.value; + }); + } + + return tagDict; + }; + + // Fix up a JSDoc entry and add it to `dataContents`. + var addToData = function (entry) { + Object.assign(entry, getTagDict(entry)); + + // strip properties we don't want + entry.comment = undefined; + entry.___id = undefined; + entry.___s = undefined; + entry.tags = undefined; + + // generate `.filepath` and `.lineno` from `.meta` + if (entry.meta && entry.meta.path) { + var packagesFolder = 'packages/'; + var index = entry.meta.path.indexOf(packagesFolder); + if (index != -1 && !entry.isprototype) { + var fullFilePath = entry.meta.path.substr(index + packagesFolder.length) + '/' + entry.meta.filename; + entry.filepath = fullFilePath; + entry.lineno = entry.meta.lineno; + } + } + + entry.meta = undefined; + + if (!entry.importfrompackage && entry.filepath) { + entry.module = entry.filepath.split('/')[0]; + } else { + entry.module = entry.importfrompackage; + } + + names.push(entry.longname); + dataContents[entry.longname] = entry; + }; + + /** + Entry point where JSDoc calls us. It passes us data in the form of + a TaffyDB object (which is an in-JS database of sorts that you can + query for records. + + @param {TAFFY} taffyData See . + @param {object} opts + @param {Tutorial} tutorials + */ + exports.publish = function(taffyData) { + var data = helper.prune(taffyData); + + var namespaces = helper.find(data, {kind: "namespace"}); + + // prepare all of the namespaces + namespaces.forEach(function (namespace) { + if (namespace.summary) { + addToData(namespace); + } + }); + + var properties = helper.find(data, {kind: "member"}); + + properties.forEach(function (property) { + if (property.summary) { + addToData(property); + } + }); + + // Callback descriptions are going to be embedded into Function descriptions + // when they are used as arguments, so we always attach them to reference + // them later. + var callbacks = helper.find(data, {kind: "typedef"}); + callbacks.forEach(function (cb) { + delete cb.comment; + addToData(cb); + }); + + var functions = helper.find(data, {kind: "function"}); + var constructors = helper.find(data, {kind: "class"}); + + // we want to do all of the same transformations to classes and functions + functions = functions.concat(constructors); + + // insert all of the function data into the namespaces + functions.forEach(function (func) { + if (! func.summary) { + // we use the @summary tag to indicate that an item is documented + return; + } + + func.options = []; + var filteredParams = []; + + // Starting a param with `options.` makes it an option, not a + // param. Dot (`.`) in this case binds tighter than comma, so + // `options.foo,bar` will create an option named `foo, bar` + // (representing two options in the docs). We process pipes so + // that `options.foo|bar` also results in `foo, bar`. + (func.params || []).forEach(function (param) { + param.name = param.name.replace(/,|\|/g, ", "); + + var splitName = param.name.split("."); + + if (splitName.length < 2 || splitName[0] !== "options") { + // not an option + filteredParams.push(param); + return; + } + + param.name = splitName[1]; + + func.options.push(param); + }); + + func.params = filteredParams; + + // the entire unparsed doc comment. takes up too much room in the + // data file. + delete func.comment; + + addToData(func); + }); + + // write full docs JSON + var jsonString = stringify(dataContents, null, 2); + var jsString = "export default" + jsonString + ";"; + jsString = "// This file is automatically generated by JSDoc; regenerate it with scripts/admin/jsdoc/jsdoc.sh\n" + jsString; + var docsDataFilename = "./v3-docs/docs/data/data.js"; + fs.writeFileSync(docsDataFilename, jsString); + + // write name tree JSON + jsonString = stringify(names.sort(), null, 2); + var nameTreeFilename= "./v3-docs/docs/data/names.json"; + fs.writeFileSync(nameTreeFilename, jsonString); + }; +})(); diff --git a/v3-docs/docs/jsdoc/jsdoc-conf.json b/v3-docs/docs/jsdoc/jsdoc-conf.json new file mode 100644 index 0000000000..4f220413fb --- /dev/null +++ b/v3-docs/docs/jsdoc/jsdoc-conf.json @@ -0,0 +1,22 @@ +{ + "plugins": ["plugins/markdown"], + "markdown": { + "parser": "gfm" + }, + "source": { + "exclude": [ + "packages/ddp/sockjs-0.3.4.js", + "packages/test-in-browser/diff_match_patch_uncompressed.js", + "packages/jquery/jquery.js", + "packages/underscore/underscore.js", + "packages/json/json2.js", + "packages/minimongo/minimongo_tests.js", + "tools/node_modules", + "tools/skel-pack/package.js", + "docs", + "guide", + "**/node_modules", + "npm-packages" + ] + } +} diff --git a/v3-docs/docs/jsdoc/jsdoc.sh b/v3-docs/docs/jsdoc/jsdoc.sh new file mode 100755 index 0000000000..f40c75f3ac --- /dev/null +++ b/v3-docs/docs/jsdoc/jsdoc.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash + +INFINITY=10000 + +TOPDIR=$(pwd) +METEOR_DIR="../../" +cd "$METEOR_DIR" + +# Ensure that jsdoc failure actually makes this script fail. +set -o pipefail + +# Call git grep to find all js files with the appropriate comment tags, +# and only then pass it to JSDoc which will parse the JS files. +# This is a whole lot faster than calling JSDoc recursively. +git grep -ialE "@(summary|borrows|namespace|memberof|alias)" | xargs -L ${INFINITY} -t \ + "$TOPDIR/node_modules/.bin/jsdoc" \ + -t "$TOPDIR/jsdoc/docdata-jsdoc-template" \ + -c "$TOPDIR/jsdoc/jsdoc-conf.json" \ + 2>&1 | grep -v 'WARNING: JSDoc does not currently handle' diff --git a/v3-docs/docs/package-lock.json b/v3-docs/docs/package-lock.json new file mode 100644 index 0000000000..1710d959b2 --- /dev/null +++ b/v3-docs/docs/package-lock.json @@ -0,0 +1,2246 @@ +{ + "name": "docs", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "devDependencies": { + "canonical-json": "^0.0.4", + "jsdoc": "^4.0.2", + "vitepress": "^1.0.0-rc.31" + } + }, + "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.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz", + "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.20.0" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz", + "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==", + "dev": true + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz", + "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.20.0" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz", + "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz", + "integrity": "sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", + "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz", + "integrity": "sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", + "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz", + "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==", + "dev": true + }, + "node_modules/@algolia/logger-console": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz", + "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==", + "dev": true, + "dependencies": { + "@algolia/logger-common": "4.20.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz", + "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.20.0" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz", + "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==", + "dev": true + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz", + "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.20.0" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz", + "integrity": "sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.20.0", + "@algolia/logger-common": "4.20.0", + "@algolia/requester-common": "4.20.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", + "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", + "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==", + "dev": true + }, + "node_modules/@docsearch/js": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.5.2.tgz", + "integrity": "sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==", + "dev": true, + "dependencies": { + "@docsearch/react": "3.5.2", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", + "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.5.2", + "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/android-arm": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.8.tgz", + "integrity": "sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.8.tgz", + "integrity": "sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.8.tgz", + "integrity": "sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.8.tgz", + "integrity": "sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.8.tgz", + "integrity": "sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.8.tgz", + "integrity": "sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.8.tgz", + "integrity": "sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.8.tgz", + "integrity": "sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.8.tgz", + "integrity": "sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.8.tgz", + "integrity": "sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.8.tgz", + "integrity": "sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.8.tgz", + "integrity": "sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.8.tgz", + "integrity": "sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.8.tgz", + "integrity": "sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.8.tgz", + "integrity": "sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.8.tgz", + "integrity": "sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.8.tgz", + "integrity": "sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.8.tgz", + "integrity": "sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.8.tgz", + "integrity": "sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.8.tgz", + "integrity": "sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.8.tgz", + "integrity": "sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.8.tgz", + "integrity": "sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==", + "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/@jsdoc/salty": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.6.tgz", + "integrity": "sha512-aA+awb5yoml8TQ3CzI5Ue7sM3VMRC4l1zJJW4fgZ8OCL1wshJZhNzaf0PL85DSnOUw6QuFgeHGD/eq/xwwAF2g==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v12.0.0" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.6.1.tgz", + "integrity": "sha512-0WQ0ouLejaUCRsL93GD4uft3rOmB8qoQMU05Kb8CmMtMBe7XUDLAltxVZI1q6byNqEtU7N1ZX1Vw5lIpgulLQA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.6.1.tgz", + "integrity": "sha512-1TKm25Rn20vr5aTGGZqo6E4mzPicCUD79k17EgTLAsXc1zysyi4xXKACfUbwyANEPAEIxkzwue6JZ+stYzWUTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.6.1.tgz", + "integrity": "sha512-cEXJQY/ZqMACb+nxzDeX9IPLAg7S94xouJJCNVE5BJM8JUEP4HeTF+ti3cmxWeSJo+5D+o8Tc0UAWUkfENdeyw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.6.1.tgz", + "integrity": "sha512-LoSU9Xu56isrkV2jLldcKspJ7sSXmZWkAxg7sW/RfF7GS4F5/v4EiqKSMCFbZtDu2Nc1gxxFdQdKwkKS4rwxNg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.6.1.tgz", + "integrity": "sha512-EfI3hzYAy5vFNDqpXsNxXcgRDcFHUWSx5nnRSCKwXuQlI5J9dD84g2Usw81n3FLBNsGCegKGwwTVsSKK9cooSQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.6.1.tgz", + "integrity": "sha512-9lhc4UZstsegbNLhH0Zu6TqvDfmhGzuCWtcTFXY10VjLLUe4Mr0Ye2L3rrtHaDd/J5+tFMEuo5LTCSCMXWfUKw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.6.1.tgz", + "integrity": "sha512-FfoOK1yP5ksX3wwZ4Zk1NgyGHZyuRhf99j64I5oEmirV8EFT7+OhUZEnP+x17lcP/QHJNWGsoJwrz4PJ9fBEXw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.6.1.tgz", + "integrity": "sha512-DNGZvZDO5YF7jN5fX8ZqmGLjZEXIJRdJEdTFMhiyXqyXubBa0WVLDWSNlQ5JR2PNgDbEV1VQowhVRUh+74D+RA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.6.1.tgz", + "integrity": "sha512-RkJVNVRM+piYy87HrKmhbexCHg3A6Z6MU0W9GHnJwBQNBeyhCJG9KDce4SAMdicQnpURggSvtbGo9xAWOfSvIQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.6.1.tgz", + "integrity": "sha512-v2FVT6xfnnmTe3W9bJXl6r5KwJglMK/iRlkKiIFfO6ysKs0rDgz7Cwwf3tjldxQUrHL9INT/1r4VA0n9L/F1vQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.6.1.tgz", + "integrity": "sha512-YEeOjxRyEjqcWphH9dyLbzgkF8wZSKAKUkldRY6dgNR5oKs2LZazqGB41cWJ4Iqqcy9/zqYgmzBkRoVz3Q9MLw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.6.1.tgz", + "integrity": "sha512-0zfTlFAIhgz8V2G8STq8toAjsYYA6eci1hnXuyOTUFnymrtJwnS6uGKiv3v5UrPZkBlamLvrLV2iiaeqCKzb0A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "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": "13.0.7", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.7.tgz", + "integrity": "sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==", + "dev": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dev": true, + "dependencies": { + "@types/unist": "*" + } + }, + "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/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "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/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.5.1.tgz", + "integrity": "sha512-DaUzYFr+2UGDG7VSSdShKa9sIWYBa1LL8KC0MNOf2H5LjcTPjob0x8LbkqXWmAtbANJCkpiQTj66UVcQkN2s3g==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0 || ^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.9.tgz", + "integrity": "sha512-+/Lf68Vr/nFBA6ol4xOtJrW+BQWv3QWKfRwGSm70jtXwfhZNF4R/eRgyVJYoxFRhdCTk/F6g99BP0ffPgZihfQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.3", + "@vue/shared": "3.3.9", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.9.tgz", + "integrity": "sha512-nfWubTtLXuT4iBeDSZ5J3m218MjOy42Vp2pmKVuBKo2/BLcrFUX8nCSr/bKRFiJ32R8qbdnnnBgRn9AdU5v0Sg==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.3.9", + "@vue/shared": "3.3.9" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.9.tgz", + "integrity": "sha512-wy0CNc8z4ihoDzjASCOCsQuzW0A/HP27+0MDSSICMjVIFzk/rFViezkR3dzH+miS2NDEz8ywMdbjO5ylhOLI2A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.3", + "@vue/compiler-core": "3.3.9", + "@vue/compiler-dom": "3.3.9", + "@vue/compiler-ssr": "3.3.9", + "@vue/reactivity-transform": "3.3.9", + "@vue/shared": "3.3.9", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.31", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.9.tgz", + "integrity": "sha512-NO5oobAw78R0G4SODY5A502MGnDNiDjf6qvhn7zD7TJGc8XDeIEw4fg6JU705jZ/YhuokBKz0A5a/FL/XZU73g==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.3.9", + "@vue/shared": "3.3.9" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==", + "dev": true + }, + "node_modules/@vue/reactivity": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.9.tgz", + "integrity": "sha512-VmpIqlNp+aYDg2X0xQhJqHx9YguOmz2UxuUJDckBdQCNkipJvfk9yA75woLWElCa0Jtyec3lAAt49GO0izsphw==", + "dev": true, + "dependencies": { + "@vue/shared": "3.3.9" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.9.tgz", + "integrity": "sha512-HnUFm7Ry6dFa4Lp63DAxTixUp8opMtQr6RxQCpDI1vlh12rkGIeYqMvJtK+IKyEfEOa2I9oCkD1mmsPdaGpdVg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.3", + "@vue/compiler-core": "3.3.9", + "@vue/shared": "3.3.9", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.9.tgz", + "integrity": "sha512-xxaG9KvPm3GTRuM4ZyU8Tc+pMVzcu6eeoSRQJ9IE7NmCcClW6z4B3Ij6L4EDl80sxe/arTtQ6YmgiO4UZqRc+w==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.3.9", + "@vue/shared": "3.3.9" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.9.tgz", + "integrity": "sha512-e7LIfcxYSWbV6BK1wQv9qJyxprC75EvSqF/kQKe6bdZEDNValzeRXEVgiX7AHI6hZ59HA4h7WT5CGvm69vzJTQ==", + "dev": true, + "dependencies": { + "@vue/runtime-core": "3.3.9", + "@vue/shared": "3.3.9", + "csstype": "^3.1.2" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.9.tgz", + "integrity": "sha512-w0zT/s5l3Oa3ZjtLW88eO4uV6AQFqU8X5GOgzq7SkQQu6vVr+8tfm+OI2kDBplS/W/XgCBuFXiPw6T5EdwXP0A==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.3.9", + "@vue/shared": "3.3.9" + }, + "peerDependencies": { + "vue": "3.3.9" + } + }, + "node_modules/@vue/shared": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.9.tgz", + "integrity": "sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==", + "dev": true + }, + "node_modules/@vueuse/core": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.6.1.tgz", + "integrity": "sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==", + "dev": true, + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.6.1", + "@vueuse/shared": "10.6.1", + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "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.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.6.1.tgz", + "integrity": "sha512-mPDupuofMJ4DPmtX/FfP1MajmWRzYDv8WSaTCo8LQ5kFznjWgmUQ16ApjYqgMquqffNY6+IRMdMgosLDRZOSZA==", + "dev": true, + "dependencies": { + "@vueuse/core": "10.6.1", + "@vueuse/shared": "10.6.1", + "vue-demi": ">=0.14.6" + }, + "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.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "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.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.6.1.tgz", + "integrity": "sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.6.1.tgz", + "integrity": "sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==", + "dev": true, + "dependencies": { + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "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.20.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz", + "integrity": "sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==", + "dev": true, + "dependencies": { + "@algolia/cache-browser-local-storage": "4.20.0", + "@algolia/cache-common": "4.20.0", + "@algolia/cache-in-memory": "4.20.0", + "@algolia/client-account": "4.20.0", + "@algolia/client-analytics": "4.20.0", + "@algolia/client-common": "4.20.0", + "@algolia/client-personalization": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/logger-common": "4.20.0", + "@algolia/logger-console": "4.20.0", + "@algolia/requester-browser-xhr": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/requester-node-http": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/canonical-json": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/canonical-json/-/canonical-json-0.0.4.tgz", + "integrity": "sha512-2sW7x0m/P7dqEnO0O87U7RTVQAaa7MELcd+Jd9FA6CYgYtwJ1TlDWIYMD8nuMkH1KoThsJogqgLyklrt9d/Azw==", + "dev": true + }, + "node_modules/catharsis": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", + "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dev": true, + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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.19.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.8.tgz", + "integrity": "sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.19.8", + "@esbuild/android-arm64": "0.19.8", + "@esbuild/android-x64": "0.19.8", + "@esbuild/darwin-arm64": "0.19.8", + "@esbuild/darwin-x64": "0.19.8", + "@esbuild/freebsd-arm64": "0.19.8", + "@esbuild/freebsd-x64": "0.19.8", + "@esbuild/linux-arm": "0.19.8", + "@esbuild/linux-arm64": "0.19.8", + "@esbuild/linux-ia32": "0.19.8", + "@esbuild/linux-loong64": "0.19.8", + "@esbuild/linux-mips64el": "0.19.8", + "@esbuild/linux-ppc64": "0.19.8", + "@esbuild/linux-riscv64": "0.19.8", + "@esbuild/linux-s390x": "0.19.8", + "@esbuild/linux-x64": "0.19.8", + "@esbuild/netbsd-x64": "0.19.8", + "@esbuild/openbsd-x64": "0.19.8", + "@esbuild/sunos-x64": "0.19.8", + "@esbuild/win32-arm64": "0.19.8", + "@esbuild/win32-ia32": "0.19.8", + "@esbuild/win32-x64": "0.19.8" + } + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz", + "integrity": "sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.0.tgz", + "integrity": "sha512-IVGhNgg7vANuUA2XKrT6sOIIPgaYZnmLx3l/CCOAK0PtgfoHrZwX7jCSYyFxHTrGmC6S9q8aQQekjp4JPZF+cw==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-raw": "^9.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/js2xmlparser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", + "dev": true, + "dependencies": { + "xmlcreate": "^2.0.4" + } + }, + "node_modules/jsdoc": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", + "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.15", + "@jsdoc/salty": "^0.2.1", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsdoc/node_modules/@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "dev": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "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/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-anchor": { + "version": "8.6.7", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", + "dev": true, + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", + "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, + "node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "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/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "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.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "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.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/preact": { + "version": "10.19.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.2.tgz", + "integrity": "sha512-UA9DX/OJwv6YwP9Vn7Ti/vF80XL+YA5H2l7BpCtUr3ya8LWHFzpiO5R+N7dN16ujpIxhekRFuOOF82bXX7K/lg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/property-information": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz", + "integrity": "sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/requizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", + "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/rollup": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.6.1.tgz", + "integrity": "sha512-jZHaZotEHQaHLgKr8JnQiDT1rmatjgKlMekyksz+yk9jt/8z9quNjnKNRoaM0wd9DC2QKXjmWWuDYtM3jfF8pQ==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.6.1", + "@rollup/rollup-android-arm64": "4.6.1", + "@rollup/rollup-darwin-arm64": "4.6.1", + "@rollup/rollup-darwin-x64": "4.6.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.6.1", + "@rollup/rollup-linux-arm64-gnu": "4.6.1", + "@rollup/rollup-linux-arm64-musl": "4.6.1", + "@rollup/rollup-linux-x64-gnu": "4.6.1", + "@rollup/rollup-linux-x64-musl": "4.6.1", + "@rollup/rollup-win32-arm64-msvc": "4.6.1", + "@rollup/rollup-win32-ia32-msvc": "4.6.1", + "@rollup/rollup-win32-x64-msvc": "4.6.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/search-insights": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.11.0.tgz", + "integrity": "sha512-Uin2J8Bpm3xaZi9Y8QibSys6uJOFZ+REMrf42v20AA3FUDUrshKkMEP6liJbMAHCm71wO6ls4mwAf7a3gFVxLw==", + "dev": true, + "peer": true + }, + "node_modules/shikiji": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.7.5.tgz", + "integrity": "sha512-He8lAcTZUVuUW+Z4VRPM+TP+HVZCe4R1qzrP7voUrmAKrFKE260YEUVgqcP7y/0ps0uVvKgVhu5vgIshGpGocQ==", + "dev": true, + "dependencies": { + "hast-util-to-html": "^9.0.0" + } + }, + "node_modules/shikiji-transformers": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/shikiji-transformers/-/shikiji-transformers-0.7.5.tgz", + "integrity": "sha512-9faGNS/3xI9QP8HZI2Xa1xtMQtaVkl/ulgMIOiaKY7XcETdUsz2yzors3UQkPUO2cwbQLS376wnZe4Xik8wMBA==", + "dev": true, + "dependencies": { + "shikiji": "0.7.5" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", + "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "dev": true, + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "node_modules/underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "dev": true + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", + "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dev": true, + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.4.tgz", + "integrity": "sha512-RzAr8LSvM8lmhB4tQ5OPcBhpjOZRZjuxv9zO5UcxeoY2bd3kP3Ticd40Qma9/BqZ8JS96Ll/jeBX9u+LJZrhVg==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.31", + "rollup": "^4.2.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.0.0-rc.31", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-rc.31.tgz", + "integrity": "sha512-ikH9pIjOOAbyoYAGBVfTz8TzuXp+UoWaIRMU4bw/oiTg8R65SbAaGKY84xx6TuL+f4VqUJ8lhzW82YyxSLvstA==", + "dev": true, + "dependencies": { + "@docsearch/css": "^3.5.2", + "@docsearch/js": "^3.5.2", + "@types/markdown-it": "^13.0.7", + "@vitejs/plugin-vue": "^4.5.0", + "@vue/devtools-api": "^6.5.1", + "@vueuse/core": "^10.6.1", + "@vueuse/integrations": "^10.6.1", + "focus-trap": "^7.5.4", + "mark.js": "8.11.1", + "minisearch": "^6.3.0", + "mrmime": "^1.0.1", + "shikiji": "^0.7.4", + "shikiji-transformers": "^0.7.4", + "vite": "^5.0.2", + "vue": "^3.3.8" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4.3.2", + "postcss": "^8.4.31" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.9.tgz", + "integrity": "sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.3.9", + "@vue/compiler-sfc": "3.3.9", + "@vue/runtime-dom": "3.3.9", + "@vue/server-renderer": "3.3.9", + "@vue/shared": "3.3.9" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/xmlcreate": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "dev": true + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/v3-docs/docs/package.json b/v3-docs/docs/package.json new file mode 100644 index 0000000000..d7e7839ce4 --- /dev/null +++ b/v3-docs/docs/package.json @@ -0,0 +1,13 @@ +{ + "scripts": { + "generate-jsdoc": "jsdoc/jsdoc.sh", + "docs:dev": "npm run generate-jsdoc && vitepress dev", + "docs:build": "vitepress build", + "docs:preview": "vitepress preview" + }, + "devDependencies": { + "canonical-json": "^0.0.4", + "jsdoc": "^4.0.2", + "vitepress": "^1.0.0-rc.31" + } +} diff --git a/v3-docs/v3-migration-docs/.gitignore b/v3-docs/v3-migration-docs/.gitignore new file mode 100644 index 0000000000..a9038cf6ce --- /dev/null +++ b/v3-docs/v3-migration-docs/.gitignore @@ -0,0 +1,3 @@ +/node_modules +/.vitepress/cache +/.vitepress/dist \ No newline at end of file diff --git a/v3-docs/v3-migration-docs/.vitepress/config.mts b/v3-docs/v3-migration-docs/.vitepress/config.mts new file mode 100644 index 0000000000..23d2774857 --- /dev/null +++ b/v3-docs/v3-migration-docs/.vitepress/config.mts @@ -0,0 +1,52 @@ +import { defineConfig } from 'vitepress' + +// https://vitepress.dev/reference/site-config +export default defineConfig({ + description: "Guide for Meteor 3.0", + head: [ + ['link', { rel: 'icon', href: '../images/meteor-logo.webp' }], + ], + themeConfig: { + siteTitle: 'Meteor 3.0', + logo: { + dark: 'meteor-logo.webp', + light: 'meteor-logo.webp', + alt: 'Meteor 3.0 Logo', + }, + search: { + provider: 'local' + }, + + // https://vitepress.dev/reference/default-theme-config + nav: [ + { text: 'Home', link: '/', }, + ], + + sidebar: [ + { + text: 'Introduction', + items: [ + { text: 'What is Meteor 3.0', link: '/index' }, + { text: 'How to install', link: '/docs/introduction/how-to-install' }, + ] + }, + { + text: 'Collection and Schemas', + items: [ + { text: 'MongoDB collections in Meteor', link: '/docs/collections-schemas/mongo-db-collection-meteor' }, + ] + }, + { + text: 'Publications and Data Loading', + items: [ + { text: 'Publications and subscriptions', link: '/docs/collections-schemas/undefined' }, + ] + } + ], + + socialLinks: [ + { icon: 'github', link: 'https://github.com/meteor/meteor' }, + { icon: 'twitter', link: 'https://twitter.com/meteorjs' } + ] + } +}) diff --git a/v3-docs/v3-migration-docs/.vitepress/theme/custom.css b/v3-docs/v3-migration-docs/.vitepress/theme/custom.css new file mode 100644 index 0000000000..34cb0e1c5d --- /dev/null +++ b/v3-docs/v3-migration-docs/.vitepress/theme/custom.css @@ -0,0 +1,4 @@ +:root { + --vp-c-brand-1: #F87171; + --vp-c-brand-2: #F87171; + } \ No newline at end of file diff --git a/v3-docs/v3-migration-docs/.vitepress/theme/index.ts b/v3-docs/v3-migration-docs/.vitepress/theme/index.ts new file mode 100644 index 0000000000..508d8b4af1 --- /dev/null +++ b/v3-docs/v3-migration-docs/.vitepress/theme/index.ts @@ -0,0 +1,4 @@ +import DefaultTheme from 'vitepress/theme' +import './custom.css' + +export default DefaultTheme \ No newline at end of file diff --git a/v3-docs/v3-migration-docs/README.md b/v3-docs/v3-migration-docs/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/v3-docs/v3-migration-docs/api-examples.md b/v3-docs/v3-migration-docs/api-examples.md new file mode 100644 index 0000000000..6bd8bb5c17 --- /dev/null +++ b/v3-docs/v3-migration-docs/api-examples.md @@ -0,0 +1,49 @@ +--- +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/v3-docs/v3-migration-docs/docs/collections-schemas/mongo-db-collection-meteor.md b/v3-docs/v3-migration-docs/docs/collections-schemas/mongo-db-collection-meteor.md new file mode 100644 index 0000000000..5060d51598 --- /dev/null +++ b/v3-docs/v3-migration-docs/docs/collections-schemas/mongo-db-collection-meteor.md @@ -0,0 +1 @@ +Meteor \ No newline at end of file diff --git a/v3-docs/v3-migration-docs/docs/introduction/how-to-install.md b/v3-docs/v3-migration-docs/docs/introduction/how-to-install.md new file mode 100644 index 0000000000..da5b5bf33a --- /dev/null +++ b/v3-docs/v3-migration-docs/docs/introduction/how-to-install.md @@ -0,0 +1,29 @@ +# Install Meteor + +## Pre-requisites + +### Operating System + +### Mobile Development + +# Instalation + +```sh +npm install -g meteor +``` + + + +## Troubleshooting + +## PATH management + +## Run Meteor inside Docker + +## Note for Windows users + +## Note for fish shell users (Linux) + +## Uninstalling Meteor + + diff --git a/v3-docs/v3-migration-docs/index.md b/v3-docs/v3-migration-docs/index.md new file mode 100644 index 0000000000..e6828cd805 --- /dev/null +++ b/v3-docs/v3-migration-docs/index.md @@ -0,0 +1,14 @@ + + +# What is Meteor 3.0? + +Id officia culpa culpa commodo non enim mollit dolore culpa. Aliquip reprehenderit tempor et ipsum reprehenderit nisi voluptate quis pariatur irure. Quis Lorem irure aliquip adipisicing esse pariatur veniam minim anim nulla est consectetur. Lorem enim minim esse adipisicing quis eu incididunt amet et culpa ipsum. Consectetur incididunt in deserunt deserunt elit magna culpa Lorem sint. + +## Fibers + +## Syntax Highlighting + +```haskell +add :: Int -> Int -> Int +add x y = x + y +``` \ No newline at end of file diff --git a/v3-docs/v3-migration-docs/markdown-examples.md b/v3-docs/v3-migration-docs/markdown-examples.md new file mode 100644 index 0000000000..8e55eb8add --- /dev/null +++ b/v3-docs/v3-migration-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** + +```` +```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/v3-docs/v3-migration-docs/package-lock.json b/v3-docs/v3-migration-docs/package-lock.json new file mode 100644 index 0000000000..8115549549 --- /dev/null +++ b/v3-docs/v3-migration-docs/package-lock.json @@ -0,0 +1,1481 @@ +{ + "name": "guide-3.0", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "guide-3.0", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "vitepress": "^1.0.0-rc.27" + } + }, + "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.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz", + "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.20.0" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz", + "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==", + "dev": true + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz", + "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.20.0" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz", + "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz", + "integrity": "sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", + "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz", + "integrity": "sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", + "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz", + "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==", + "dev": true + }, + "node_modules/@algolia/logger-console": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz", + "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==", + "dev": true, + "dependencies": { + "@algolia/logger-common": "4.20.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz", + "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.20.0" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz", + "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==", + "dev": true + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz", + "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.20.0" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz", + "integrity": "sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.20.0", + "@algolia/logger-common": "4.20.0", + "@algolia/requester-common": "4.20.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz", + "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", + "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==", + "dev": true + }, + "node_modules/@docsearch/js": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.5.2.tgz", + "integrity": "sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==", + "dev": true, + "dependencies": { + "@docsearch/react": "3.5.2", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", + "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.5.2", + "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/android-arm": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.5.tgz", + "integrity": "sha512-bhvbzWFF3CwMs5tbjf3ObfGqbl/17ict2/uwOSfr3wmxDE6VdS2GqY/FuzIPe0q0bdhj65zQsvqfArI9MY6+AA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.5.tgz", + "integrity": "sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.5.tgz", + "integrity": "sha512-9t+28jHGL7uBdkBjL90QFxe7DVA+KGqWlHCF8ChTKyaKO//VLuoBricQCgwhOjA1/qOczsw843Fy4cbs4H3DVA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.5.tgz", + "integrity": "sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.5.tgz", + "integrity": "sha512-Ly8cn6fGLNet19s0X4unjcniX24I0RqjPv+kurpXabZYSXGM4Pwpmf85WHJN3lAgB8GSth7s5A0r856S+4DyiA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.5.tgz", + "integrity": "sha512-GGDNnPWTmWE+DMchq1W8Sd0mUkL+APvJg3b11klSGUDvRXh70JqLAO56tubmq1s2cgpVCSKYywEiKBfju8JztQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.5.tgz", + "integrity": "sha512-1CCwDHnSSoA0HNwdfoNY0jLfJpd7ygaLAp5EHFos3VWJCRX9DMwWODf96s9TSse39Br7oOTLryRVmBoFwXbuuQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.5.tgz", + "integrity": "sha512-lrWXLY/vJBzCPC51QN0HM71uWgIEpGSjSZZADQhq7DKhPcI6NH1IdzjfHkDQws2oNpJKpR13kv7/pFHBbDQDwQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.5.tgz", + "integrity": "sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.5.tgz", + "integrity": "sha512-MkjHXS03AXAkNp1KKkhSKPOCYztRtK+KXDNkBa6P78F8Bw0ynknCSClO/ztGszILZtyO/lVKpa7MolbBZ6oJtQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.5.tgz", + "integrity": "sha512-42GwZMm5oYOD/JHqHska3Jg0r+XFb/fdZRX+WjADm3nLWLcIsN27YKtqxzQmGNJgu0AyXg4HtcSK9HuOk3v1Dw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.5.tgz", + "integrity": "sha512-kcjndCSMitUuPJobWCnwQ9lLjiLZUR3QLQmlgaBfMX23UEa7ZOrtufnRds+6WZtIS9HdTXqND4yH8NLoVVIkcg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.5.tgz", + "integrity": "sha512-yJAxJfHVm0ZbsiljbtFFP1BQKLc8kUF6+17tjQ78QjqjAQDnhULWiTA6u0FCDmYT1oOKS9PzZ2z0aBI+Mcyj7Q==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.5.tgz", + "integrity": "sha512-5u8cIR/t3gaD6ad3wNt1MNRstAZO+aNyBxu2We8X31bA8XUNyamTVQwLDA1SLoPCUehNCymhBhK3Qim1433Zag==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.5.tgz", + "integrity": "sha512-Z6JrMyEw/EmZBD/OFEFpb+gao9xJ59ATsoTNlj39jVBbXqoZm4Xntu6wVmGPB/OATi1uk/DB+yeDPv2E8PqZGw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.5.tgz", + "integrity": "sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.5.tgz", + "integrity": "sha512-kL2l+xScnAy/E/3119OggX8SrWyBEcqAh8aOY1gr4gPvw76la2GlD4Ymf832UCVbmuWeTf2adkZDK+h0Z/fB4g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.5.tgz", + "integrity": "sha512-sPOfhtzFufQfTBgRnE1DIJjzsXukKSvZxloZbkJDG383q0awVAq600pc1nfqBcl0ice/WN9p4qLc39WhBShRTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.5.tgz", + "integrity": "sha512-dGZkBXaafuKLpDSjKcB0ax0FL36YXCvJNnztjKV+6CO82tTYVDSH2lifitJ29jxRMoUhgkg9a+VA/B03WK5lcg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.5.tgz", + "integrity": "sha512-dWVjD9y03ilhdRQ6Xig1NWNgfLtf2o/STKTS+eZuF90fI2BhbwD6WlaiCGKptlqXlURVB5AUOxUj09LuwKGDTg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.5.tgz", + "integrity": "sha512-4liggWIA4oDgUxqpZwrDhmEfAH4d0iljanDOK7AnVU89T6CzHon/ony8C5LeOdfgx60x5cnQJFZwEydVlYx4iw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.5.tgz", + "integrity": "sha512-czTrygUsB/jlM8qEW5MD8bgYU2Xg14lo6kBDXW6HdxKjh8M5PzETGiSHaz9MtbXBYDloHNUAUW2tMiKW4KM9Mw==", + "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.4.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.4.1.tgz", + "integrity": "sha512-Ss4suS/sd+6xLRu+MLCkED2mUrAyqHmmvZB+zpzZ9Znn9S8wCkTQCJaQ8P8aHofnvG5L16u9MVnJjCqioPErwQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.4.1.tgz", + "integrity": "sha512-sRSkGTvGsARwWd7TzC8LKRf8FiPn7257vd/edzmvG4RIr9x68KBN0/Ek48CkuUJ5Pj/Dp9vKWv6PEupjKWjTYA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.4.1.tgz", + "integrity": "sha512-nz0AiGrrXyaWpsmBXUGOBiRDU0wyfSXbFuF98pPvIO8O6auQsPG6riWsfQqmCCC5FNd8zKQ4JhgugRNAkBJ8mQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.4.1.tgz", + "integrity": "sha512-Ogqvf4/Ve/faMaiPRvzsJEqajbqs00LO+8vtrPBVvLgdw4wBg6ZDXdkDAZO+4MLnrc8mhGV6VJAzYScZdPLtJg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.4.1.tgz", + "integrity": "sha512-9zc2tqlr6HfO+hx9+wktUlWTRdje7Ub15iJqKcqg5uJZ+iKqmd2CMxlgPpXi7+bU7bjfDIuvCvnGk7wewFEhCg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.4.1.tgz", + "integrity": "sha512-phLb1fN3rq2o1j1v+nKxXUTSJnAhzhU0hLrl7Qzb0fLpwkGMHDem+o6d+ZI8+/BlTXfMU4kVWGvy6g9k/B8L6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.4.1.tgz", + "integrity": "sha512-M2sDtw4tf57VPSjbTAN/lz1doWUqO2CbQuX3L9K6GWIR5uw9j+ROKCvvUNBY8WUbMxwaoc8mH9HmmBKsLht7+w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.4.1.tgz", + "integrity": "sha512-mHIlRLX+hx+30cD6c4BaBOsSqdnCE4ok7/KDvjHYAHoSuveoMMxIisZFvcLhUnyZcPBXDGZTuBoalcuh43UfQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.4.1.tgz", + "integrity": "sha512-tB+RZuDi3zxFx7vDrjTNGVLu2KNyzYv+UY8jz7e4TMEoAj7iEt8Qk6xVu6mo3pgjnsHj6jnq3uuRsHp97DLwOA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.4.1.tgz", + "integrity": "sha512-Hdn39PzOQowK/HZzYpCuZdJC91PE6EaGbTe2VCA9oq2u18evkisQfws0Smh9QQGNNRa/T7MOuGNQoLeXhhE3PQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.4.1.tgz", + "integrity": "sha512-tLpKb1Elm9fM8c5w3nl4N1eLTP4bCqTYw9tqUBxX8/hsxqHO3dxc2qPbZ9PNkdK4tg4iLEYn0pOUnVByRd2CbA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.4.1.tgz", + "integrity": "sha512-eAhItDX9yQtZVM3yvXS/VR3qPqcnXvnLyx1pLXl4JzyNMBNO3KC986t/iAg2zcMzpAp9JSvxB5VZGnBiNoA98w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "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": "13.0.6", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.6.tgz", + "integrity": "sha512-0VqpvusJn1/lwRegCxcHVdmLfF+wIsprsKMC9xW8UPcTxhFcQtoN/fBU1zMe8pH7D/RuueMh2CaBaNv+GrLqTw==", + "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": "4.5.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.5.0.tgz", + "integrity": "sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0 || ^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.8.tgz", + "integrity": "sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.0", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz", + "integrity": "sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz", + "integrity": "sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.8", + "@vue/compiler-dom": "3.3.8", + "@vue/compiler-ssr": "3.3.8", + "@vue/reactivity-transform": "3.3.8", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.31", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz", + "integrity": "sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==", + "dev": true + }, + "node_modules/@vue/reactivity": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.8.tgz", + "integrity": "sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==", + "dev": true, + "dependencies": { + "@vue/shared": "3.3.8" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz", + "integrity": "sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.8", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.8.tgz", + "integrity": "sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz", + "integrity": "sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==", + "dev": true, + "dependencies": { + "@vue/runtime-core": "3.3.8", + "@vue/shared": "3.3.8", + "csstype": "^3.1.2" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.8.tgz", + "integrity": "sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.3.8", + "@vue/shared": "3.3.8" + }, + "peerDependencies": { + "vue": "3.3.8" + } + }, + "node_modules/@vue/shared": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.8.tgz", + "integrity": "sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==", + "dev": true + }, + "node_modules/@vueuse/core": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.6.1.tgz", + "integrity": "sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==", + "dev": true, + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.6.1", + "@vueuse/shared": "10.6.1", + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "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.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.6.1.tgz", + "integrity": "sha512-mPDupuofMJ4DPmtX/FfP1MajmWRzYDv8WSaTCo8LQ5kFznjWgmUQ16ApjYqgMquqffNY6+IRMdMgosLDRZOSZA==", + "dev": true, + "dependencies": { + "@vueuse/core": "10.6.1", + "@vueuse/shared": "10.6.1", + "vue-demi": ">=0.14.6" + }, + "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.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "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.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.6.1.tgz", + "integrity": "sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.6.1.tgz", + "integrity": "sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==", + "dev": true, + "dependencies": { + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "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.20.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz", + "integrity": "sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==", + "dev": true, + "dependencies": { + "@algolia/cache-browser-local-storage": "4.20.0", + "@algolia/cache-common": "4.20.0", + "@algolia/cache-in-memory": "4.20.0", + "@algolia/client-account": "4.20.0", + "@algolia/client-analytics": "4.20.0", + "@algolia/client-common": "4.20.0", + "@algolia/client-personalization": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/logger-common": "4.20.0", + "@algolia/logger-console": "4.20.0", + "@algolia/requester-browser-xhr": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/requester-node-http": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/ansi-sequence-parser": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", + "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.5.tgz", + "integrity": "sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.19.5", + "@esbuild/android-arm64": "0.19.5", + "@esbuild/android-x64": "0.19.5", + "@esbuild/darwin-arm64": "0.19.5", + "@esbuild/darwin-x64": "0.19.5", + "@esbuild/freebsd-arm64": "0.19.5", + "@esbuild/freebsd-x64": "0.19.5", + "@esbuild/linux-arm": "0.19.5", + "@esbuild/linux-arm64": "0.19.5", + "@esbuild/linux-ia32": "0.19.5", + "@esbuild/linux-loong64": "0.19.5", + "@esbuild/linux-mips64el": "0.19.5", + "@esbuild/linux-ppc64": "0.19.5", + "@esbuild/linux-riscv64": "0.19.5", + "@esbuild/linux-s390x": "0.19.5", + "@esbuild/linux-x64": "0.19.5", + "@esbuild/netbsd-x64": "0.19.5", + "@esbuild/openbsd-x64": "0.19.5", + "@esbuild/sunos-x64": "0.19.5", + "@esbuild/win32-arm64": "0.19.5", + "@esbuild/win32-ia32": "0.19.5", + "@esbuild/win32-x64": "0.19.5" + } + }, + "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/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "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.2.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.2.0.tgz", + "integrity": "sha512-BECkorDF1TY2rGKt9XHdSeP9TP29yUbrAaCh/C03wpyf1vx3uYcP/+8XlMcpTkgoU0rBVnHMAOaP83Rc9Tm+TQ==", + "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/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.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "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.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/preact": { + "version": "10.19.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.19.2.tgz", + "integrity": "sha512-UA9DX/OJwv6YwP9Vn7Ti/vF80XL+YA5H2l7BpCtUr3ya8LWHFzpiO5R+N7dN16ujpIxhekRFuOOF82bXX7K/lg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/rollup": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.4.1.tgz", + "integrity": "sha512-idZzrUpWSblPJX66i+GzrpjKE3vbYrlWirUHteoAbjKReZwa0cohAErOYA5efoMmNCdvG9yrJS+w9Kl6csaH4w==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.4.1", + "@rollup/rollup-android-arm64": "4.4.1", + "@rollup/rollup-darwin-arm64": "4.4.1", + "@rollup/rollup-darwin-x64": "4.4.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.4.1", + "@rollup/rollup-linux-arm64-gnu": "4.4.1", + "@rollup/rollup-linux-arm64-musl": "4.4.1", + "@rollup/rollup-linux-x64-gnu": "4.4.1", + "@rollup/rollup-linux-x64-musl": "4.4.1", + "@rollup/rollup-win32-arm64-msvc": "4.4.1", + "@rollup/rollup-win32-ia32-msvc": "4.4.1", + "@rollup/rollup-win32-x64-msvc": "4.4.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/search-insights": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.11.0.tgz", + "integrity": "sha512-Uin2J8Bpm3xaZi9Y8QibSys6uJOFZ+REMrf42v20AA3FUDUrshKkMEP6liJbMAHCm71wO6ls4mwAf7a3gFVxLw==", + "dev": true, + "peer": true + }, + "node_modules/shiki": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.5.tgz", + "integrity": "sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==", + "dev": true, + "dependencies": { + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "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.0.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.0.tgz", + "integrity": "sha512-ESJVM59mdyGpsiNAeHQOR/0fqNoOyWPYesFto8FFZugfmhdHx8Fzd8sF3Q/xkVhZsyOxHfdM7ieiVAorI9RjFw==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.31", + "rollup": "^4.2.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.0.0-rc.27", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-rc.27.tgz", + "integrity": "sha512-1qs1a5qPQxNOJN451HmNtKewxSIOk52qv1EdWtsO6V6kvrNxF2FFR3Inhj0W56Jcs8AKIdzKDKHNYIJhcyz3AA==", + "dev": true, + "dependencies": { + "@docsearch/css": "^3.5.2", + "@docsearch/js": "^3.5.2", + "@types/markdown-it": "^13.0.6", + "@vitejs/plugin-vue": "^4.5.0", + "@vue/devtools-api": "^6.5.1", + "@vueuse/core": "^10.6.1", + "@vueuse/integrations": "^10.6.1", + "focus-trap": "^7.5.4", + "mark.js": "8.11.1", + "minisearch": "^6.2.0", + "shiki": "^0.14.5", + "vite": "^5.0.0", + "vue": "^3.3.8" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4.3.2", + "postcss": "^8.4.31" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "dev": true + }, + "node_modules/vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "dev": true + }, + "node_modules/vue": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.8.tgz", + "integrity": "sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.3.8", + "@vue/compiler-sfc": "3.3.8", + "@vue/runtime-dom": "3.3.8", + "@vue/server-renderer": "3.3.8", + "@vue/shared": "3.3.8" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + } + } +} diff --git a/v3-docs/v3-migration-docs/package.json b/v3-docs/v3-migration-docs/package.json new file mode 100644 index 0000000000..ed39753286 --- /dev/null +++ b/v3-docs/v3-migration-docs/package.json @@ -0,0 +1,25 @@ +{ + "name": "guide-3.0", + "version": "1.0.0", + "description": "Meteor 3.0 guide", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "docs:dev": "vitepress dev", + "docs:build": "vitepress build", + "docs:preview": "vitepress preview" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/meteor/meteor.git" + }, + "author": "Vitor S. Almeida", + "license": "ISC", + "bugs": { + "url": "https://github.com/meteor/meteor/issues" + }, + "homepage": "https://github.com/meteor/meteor#readme", + "devDependencies": { + "vitepress": "^1.0.0-rc.27" + } +} \ No newline at end of file diff --git a/v3-docs/v3-migration-docs/public/meteor-logo.webp b/v3-docs/v3-migration-docs/public/meteor-logo.webp new file mode 100644 index 0000000000000000000000000000000000000000..603f19e675f9308b235dec311ac10626722c19af GIT binary patch literal 6030 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 literal 0 HcmV?d00001 From e66e52d835fbbfb4fb15701ba572f346f9ab2627 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 14:04:33 -0300 Subject: [PATCH 002/168] Add view transition to new docs --- v3-docs/docs/.vitepress/theme/Layout.vue | 70 ++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 v3-docs/docs/.vitepress/theme/Layout.vue diff --git a/v3-docs/docs/.vitepress/theme/Layout.vue b/v3-docs/docs/.vitepress/theme/Layout.vue new file mode 100644 index 0000000000..1016f70d68 --- /dev/null +++ b/v3-docs/docs/.vitepress/theme/Layout.vue @@ -0,0 +1,70 @@ + + + + + From d5c129f70440cda27d466badcd36381e2316a2cd Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 14:04:41 -0300 Subject: [PATCH 003/168] add root theme.css --- v3-docs/docs/.vitepress/theme/theme.css | 520 ++++++++++++++++++++++++ 1 file changed, 520 insertions(+) create mode 100644 v3-docs/docs/.vitepress/theme/theme.css diff --git a/v3-docs/docs/.vitepress/theme/theme.css b/v3-docs/docs/.vitepress/theme/theme.css new file mode 100644 index 0000000000..166cb12d09 --- /dev/null +++ b/v3-docs/docs/.vitepress/theme/theme.css @@ -0,0 +1,520 @@ +/** + * Colors: Solid + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-white: #ffffff; + --vp-c-black: #000000; + + --vp-c-neutral: var(--vp-c-black); + --vp-c-neutral-inverse: var(--vp-c-white); +} + +.dark { + --vp-c-neutral: var(--vp-c-white); + --vp-c-neutral-inverse: var(--vp-c-black); +} + +/** + * Colors: Palette + * + * The primitive colors used for accent colors. These colors are referenced + * by functional colors such as "Text", "Background", or "Brand". + * + * 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. + * -------------------------------------------------------------------------- */ + +:root { + --vp-c-gray-1: #dddde3; + --vp-c-gray-2: #e4e4e9; + --vp-c-gray-3: #ebebef; + --vp-c-gray-soft: rgba(142, 150, 170, 0.14); + + --vp-c-indigo-1: #3451b2; + --vp-c-indigo-2: #3a5ccc; + --vp-c-indigo-3: #5672cd; + --vp-c-indigo-soft: rgba(100, 108, 255, 0.14); + + --vp-c-green-1: #18794e; + --vp-c-green-2: #299764; + --vp-c-green-3: #30a46c; + --vp-c-green-soft: rgba(16, 185, 129, 0.14); + + --vp-c-yellow-1: #915930; + --vp-c-yellow-2: #946300; + --vp-c-yellow-3: #9f6a00; + --vp-c-yellow-soft: rgba(234, 179, 8, 0.14); + + --vp-c-red-1: #b8272c; + --vp-c-red-2: #d5393e; + --vp-c-red-3: #e0575b; + --vp-c-red-soft: rgba(244, 63, 94, 0.14); + + --vp-c-sponsor: #db2777; +} + +.dark { + --vp-c-gray-1: #515c67; + --vp-c-gray-2: #414853; + --vp-c-gray-3: #32363f; + --vp-c-gray-soft: rgba(101, 117, 133, 0.16); + + --vp-c-indigo-1: #a8b1ff; + --vp-c-indigo-2: #5c73e7; + --vp-c-indigo-3: #3e63dd; + --vp-c-indigo-soft: rgba(100, 108, 255, 0.16); + + --vp-c-green-1: #3dd68c; + --vp-c-green-2: #30a46c; + --vp-c-green-3: #298459; + --vp-c-green-soft: rgba(16, 185, 129, 0.16); + + --vp-c-yellow-1: #f9b44e; + --vp-c-yellow-2: #da8b17; + --vp-c-yellow-3: #a46a0a; + --vp-c-yellow-soft: rgba(234, 179, 8, 0.16); + + --vp-c-red-1: #f66f81; + --vp-c-red-2: #f14158; + --vp-c-red-3: #b62a3c; + --vp-c-red-soft: rgba(244, 63, 94, 0.16); +} + +/** + * Colors: Background + * + * - `bg`: The bg color used for main screen. + * + * - `bg-alt`: The alternative bg color used in places such as "sidebar", + * or "code block". + * + * - `bg-elv`: The elevated bg color. This is used at parts where it "floats", + * such as "dialog". + * + * - `bg-soft`: The bg color to slightly distinguish some components from + * the page. Used for things like "carbon ads" or "table". + * -------------------------------------------------------------------------- */ + +:root { + --vp-c-bg: #ffffff; + --vp-c-bg-alt: #f6f6f7; + --vp-c-bg-elv: #ffffff; + --vp-c-bg-soft: #f6f6f7; +} + +.dark { + --vp-c-bg: #1b1b1f; + --vp-c-bg-alt: #161618; + --vp-c-bg-elv: #202127; + --vp-c-bg-soft: #202127; +} + +/** + * Colors: Borders + * + * - `divider`: This is used for separators. This is used to divide sections + * within the same components, such as having separator on "h2" heading. + * + * - `border`: This is designed for borders on interactive components. + * For example this should be used for a button outline. + * + * - `gutter`: This is used to divide components in the page. For example + * the header and the lest of the page. + * -------------------------------------------------------------------------- */ + +:root { + --vp-c-border: #c2c2c4; + --vp-c-divider: #e2e2e3; + --vp-c-gutter: #e2e2e3; +} + +.dark { + --vp-c-border: #3c3f44; + --vp-c-divider: #2e2e32; + --vp-c-gutter: #000000; +} + +/** + * Colors: Text + * + * - `text-1`: Used for primary text. + * + * - `text-2`: Used for muted texts, such as "inactive menu" or "info texts". + * + * - `text-3`: Used for subtle texts, such as "placeholders" or "caret icon". + * -------------------------------------------------------------------------- */ + +:root { + --vp-c-text-1: rgba(60, 60, 67); + --vp-c-text-2: rgba(60, 60, 67, 0.78); + --vp-c-text-3: rgba(60, 60, 67, 0.56); +} + +.dark { + --vp-c-text-1: rgba(255, 255, 245, 0.86); + --vp-c-text-2: rgba(235, 235, 245, 0.6); + --vp-c-text-3: rgba(235, 235, 245, 0.38); +} + +/** + * Colors: Function + * + * - `default`: The color used purely for subtle indication without any + * special meanings attached 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. + * + * To understand the scaling system, refer to "Colors: Palette" section. + * -------------------------------------------------------------------------- */ + +: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); + + /* DEPRECATED: Use `--vp-c-brand-1` instead. */ + --vp-c-brand: var(--vp-c-brand-1); + + --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); +} + +/** + * Typography + * -------------------------------------------------------------------------- */ + +:root { + --vp-font-family-base: 'Chinese Quotes', 'Inter var', 'Inter', ui-sans-serif, + system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, + 'Helvetica Neue', Helvetica, Arial, 'Noto Sans', sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; + --vp-font-family-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Monaco, + Consolas, 'Liberation Mono', 'Courier New', monospace; +} + +/** + * Shadows + * -------------------------------------------------------------------------- */ + +:root { + --vp-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06); + --vp-shadow-2: 0 3px 12px rgba(0, 0, 0, 0.07), 0 1px 4px rgba(0, 0, 0, 0.07); + --vp-shadow-3: 0 12px 32px rgba(0, 0, 0, 0.1), 0 2px 6px rgba(0, 0, 0, 0.08); + --vp-shadow-4: 0 14px 44px rgba(0, 0, 0, 0.12), 0 3px 9px rgba(0, 0, 0, 0.12); + --vp-shadow-5: 0 18px 56px rgba(0, 0, 0, 0.16), 0 4px 12px rgba(0, 0, 0, 0.16); +} + +/** + * Z-indexes + * -------------------------------------------------------------------------- */ + +:root { + --vp-z-index-footer: 10; + --vp-z-index-local-nav: 20; + --vp-z-index-nav: 30; + --vp-z-index-layout-top: 40; + --vp-z-index-backdrop: 50; + --vp-z-index-sidebar: 60; +} + +/** + * Icons + * -------------------------------------------------------------------------- */ + +:root { + --vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E"); + --vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E"); +} + +/** + * Layouts + * -------------------------------------------------------------------------- */ + +:root { + --vp-layout-max-width: 1440px; +} + +/** + * Component: Header Anchor + * -------------------------------------------------------------------------- */ + +:root { + --vp-header-anchor-symbol: '#'; +} + +/** + * Component: Code + * -------------------------------------------------------------------------- */ + +:root { + --vp-code-line-height: 1.7; + --vp-code-font-size: 0.875em; + --vp-code-color: var(--vp-c-brand-1); + --vp-code-link-color: var(--vp-c-brand-1); + --vp-code-link-hover-color: var(--vp-c-brand-2); + --vp-code-bg: var(--vp-c-default-soft); + + --vp-code-block-color: var(--vp-c-text-2); + --vp-code-block-bg: var(--vp-c-bg-alt); + --vp-code-block-divider-color: var(--vp-c-gutter); + + --vp-code-lang-color: var(--vp-c-text-3); + + --vp-code-line-highlight-color: var(--vp-c-default-soft); + --vp-code-line-number-color: var(--vp-c-text-3); + + --vp-code-line-diff-add-color: var(--vp-c-green-soft); + --vp-code-line-diff-add-symbol-color: var(--vp-c-green-1); + + --vp-code-line-diff-remove-color: var(--vp-c-red-soft); + --vp-code-line-diff-remove-symbol-color: var(--vp-c-red-1); + + --vp-code-line-warning-color: var(--vp-c-yellow-soft); + --vp-code-line-error-color: var(--vp-c-red-soft); + + --vp-code-copy-code-border-color: var(--vp-c-divider); + --vp-code-copy-code-bg: var(--vp-c-bg-soft); + --vp-code-copy-code-hover-border-color: var(--vp-c-divider); + --vp-code-copy-code-hover-bg: var(--vp-c-bg); + --vp-code-copy-code-active-text: var(--vp-c-text-2); + --vp-code-copy-copied-text-content: 'Copied'; + + --vp-code-tab-divider: var(--vp-code-block-divider-color); + --vp-code-tab-text-color: var(--vp-c-text-2); + --vp-code-tab-bg: var(--vp-code-block-bg); + --vp-code-tab-hover-text-color: var(--vp-c-text-1); + --vp-code-tab-active-text-color: var(--vp-c-text-1); + --vp-code-tab-active-bar-color: var(--vp-c-brand-1); +} + +/** + * 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); + + --vp-button-alt-border: transparent; + --vp-button-alt-text: var(--vp-c-text-1); + --vp-button-alt-bg: var(--vp-c-default-3); + --vp-button-alt-hover-border: transparent; + --vp-button-alt-hover-text: var(--vp-c-text-1); + --vp-button-alt-hover-bg: var(--vp-c-default-2); + --vp-button-alt-active-border: transparent; + --vp-button-alt-active-text: var(--vp-c-text-1); + --vp-button-alt-active-bg: var(--vp-c-default-1); + + --vp-button-sponsor-border: var(--vp-c-text-2); + --vp-button-sponsor-text: var(--vp-c-text-2); + --vp-button-sponsor-bg: transparent; + --vp-button-sponsor-hover-border: var(--vp-c-sponsor); + --vp-button-sponsor-hover-text: var(--vp-c-sponsor); + --vp-button-sponsor-hover-bg: transparent; + --vp-button-sponsor-active-border: var(--vp-c-sponsor); + --vp-button-sponsor-active-text: var(--vp-c-sponsor); + --vp-button-sponsor-active-bg: transparent; +} + +/** + * Component: Custom Block + * -------------------------------------------------------------------------- */ + +:root { + --vp-custom-block-font-size: 14px; + --vp-custom-block-code-font-size: 13px; + + --vp-custom-block-info-border: transparent; + --vp-custom-block-info-text: var(--vp-c-text-1); + --vp-custom-block-info-bg: var(--vp-c-default-soft); + --vp-custom-block-info-code-bg: var(--vp-c-default-soft); + + --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); + + --vp-custom-block-warning-border: transparent; + --vp-custom-block-warning-text: var(--vp-c-text-1); + --vp-custom-block-warning-bg: var(--vp-c-warning-soft); + --vp-custom-block-warning-code-bg: var(--vp-c-warning-soft); + + --vp-custom-block-danger-border: transparent; + --vp-custom-block-danger-text: var(--vp-c-text-1); + --vp-custom-block-danger-bg: var(--vp-c-danger-soft); + --vp-custom-block-danger-code-bg: var(--vp-c-danger-soft); + + --vp-custom-block-details-border: var(--vp-custom-block-info-border); + --vp-custom-block-details-text: var(--vp-custom-block-info-text); + --vp-custom-block-details-bg: var(--vp-custom-block-info-bg); + --vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg); +} + +/** + * Component: Input + * -------------------------------------------------------------------------- */ + +:root { + --vp-input-border-color: var(--vp-c-border); + --vp-input-bg-color: var(--vp-c-bg-alt); + + --vp-input-switch-bg-color: var(--vp-c-gray-soft); +} + +/** + * Component: Nav + * -------------------------------------------------------------------------- */ + +:root { + --vp-nav-height: 64px; + --vp-nav-bg-color: var(--vp-c-bg); + --vp-nav-screen-bg-color: var(--vp-c-bg); + --vp-nav-logo-height: 24px; +} + +.hide-nav { + --vp-nav-height: 0px; +} + +.hide-nav .VPSidebar { + --vp-nav-height: 22px; +} + +/** + * Component: Local Nav + * -------------------------------------------------------------------------- */ + +:root { + --vp-local-nav-bg-color: var(--vp-c-bg); +} + +/** + * Component: Sidebar + * -------------------------------------------------------------------------- */ + +:root { + --vp-sidebar-width: 272px; + --vp-sidebar-bg-color: var(--vp-c-bg-alt); +} + +/** + * Colors Backdrop + * -------------------------------------------------------------------------- */ + +:root { + --vp-backdrop-bg-color: rgba(0, 0, 0, 0.6); +} + +/** + * Component: Home + * -------------------------------------------------------------------------- */ + +:root { + --vp-home-hero-name-color: var(--vp-c-brand-1); + --vp-home-hero-name-background: transparent; + + --vp-home-hero-image-background-image: none; + --vp-home-hero-image-filter: none; +} + +/** + * Component: Badge + * -------------------------------------------------------------------------- */ + +:root { + --vp-badge-info-border: transparent; + --vp-badge-info-text: var(--vp-c-text-2); + --vp-badge-info-bg: var(--vp-c-default-soft); + + --vp-badge-tip-border: transparent; + --vp-badge-tip-text: var(--vp-c-brand-1); + --vp-badge-tip-bg: var(--vp-c-brand-soft); + + --vp-badge-warning-border: transparent; + --vp-badge-warning-text: var(--vp-c-warning-1); + --vp-badge-warning-bg: var(--vp-c-warning-soft); + + --vp-badge-danger-border: transparent; + --vp-badge-danger-text: var(--vp-c-danger-1); + --vp-badge-danger-bg: var(--vp-c-danger-soft); +} + +/** + * Component: Carbon Ads + * -------------------------------------------------------------------------- */ + +:root { + --vp-carbon-ads-text-color: var(--vp-c-text-1); + --vp-carbon-ads-poweredby-color: var(--vp-c-text-2); + --vp-carbon-ads-bg-color: var(--vp-c-bg-soft); + --vp-carbon-ads-hover-text-color: var(--vp-c-brand-1); + --vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1); +} + +/** + * Component: Local Search + * -------------------------------------------------------------------------- */ + +:root { + --vp-local-search-bg: var(--vp-c-bg); + --vp-local-search-result-bg: var(--vp-c-bg); + --vp-local-search-result-border: var(--vp-c-divider); + --vp-local-search-result-selected-bg: var(--vp-c-bg); + --vp-local-search-result-selected-border: var(--vp-c-brand-1); + --vp-local-search-highlight-bg: var(--vp-c-brand-1); + --vp-local-search-highlight-text: var(--vp-c-neutral-inverse); +} From 13e1b05ec0718503fb6395ec2d0611d8761ad918 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 14:04:47 -0300 Subject: [PATCH 004/168] update index.ts --- v3-docs/docs/.vitepress/theme/index.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/v3-docs/docs/.vitepress/theme/index.ts b/v3-docs/docs/.vitepress/theme/index.ts index cfc0af257b..48f00c5ea9 100644 --- a/v3-docs/docs/.vitepress/theme/index.ts +++ b/v3-docs/docs/.vitepress/theme/index.ts @@ -1,15 +1,15 @@ // .vitepress/theme/index.ts -import type { Theme } from 'vitepress' -import DefaultTheme from 'vitepress/theme' -import ApiBox from '../../components/ApiBox.vue' +import type { Theme } from "vitepress"; +import DefaultTheme from "vitepress/theme"; +import ApiBox from "../../components/ApiBox.vue"; +import Layout from "./Layout.vue"; +import "./theme.css"; export default { extends: DefaultTheme, enhanceApp({ app }) { // register your custom global components - app.component( - 'ApiBox', - ApiBox, - ) - } -} satisfies Theme + app.component("ApiBox", ApiBox); + }, + Layout, +} satisfies Theme; From a73b3289c3ba80b53f073c535e79347318de3fbb Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 14:41:38 -0300 Subject: [PATCH 005/168] Add meteor logo --- v3-docs/docs/public/meteor-logo.png | Bin 0 -> 32389 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 v3-docs/docs/public/meteor-logo.png diff --git a/v3-docs/docs/public/meteor-logo.png b/v3-docs/docs/public/meteor-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ca7bb89de556b6bc7b045fa795625f5d8a1324f3 GIT binary patch literal 32389 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
    =m|xExy-)5b96a|>B&p{d;|?oa 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 literal 0 HcmV?d00001 From 4f83616c08876ca18132a04f54fada41e7bf269d Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 14:41:51 -0300 Subject: [PATCH 006/168] Update v3-docs/index.md --- v3-docs/docs/index.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/v3-docs/docs/index.md b/v3-docs/docs/index.md index 46b25b6e3e..9fa619f451 100644 --- a/v3-docs/docs/index.md +++ b/v3-docs/docs/index.md @@ -3,9 +3,12 @@ layout: home hero: - name: "Meteor API Doc" - text: "API doc for Meteor 3.0" - tagline: My great project tagline + name: "Meteor API Docs" + text: "All api and examples in one place" + tagline: "Learn about Meteor.js API and how to use it in your application" + image: + src: /meteor-logo.png + alt: Meteor actions: - theme: brand text: Api Doc From 6680021378e4acc55cd6d04a965bb2b22b4ef941 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 14:42:02 -0300 Subject: [PATCH 007/168] Update v3-docs/api.md docs --- v3-docs/docs/{api-sitemap.md => api.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename v3-docs/docs/{api-sitemap.md => api.md} (100%) diff --git a/v3-docs/docs/api-sitemap.md b/v3-docs/docs/api.md similarity index 100% rename from v3-docs/docs/api-sitemap.md rename to v3-docs/docs/api.md From f5bd18f06d596421424c98902fe952bca9435e75 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 14:42:14 -0300 Subject: [PATCH 008/168] Updated nav config --- v3-docs/docs/.vitepress/config.mts | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/v3-docs/docs/.vitepress/config.mts b/v3-docs/docs/.vitepress/config.mts index 720319ebe3..c591f02607 100644 --- a/v3-docs/docs/.vitepress/config.mts +++ b/v3-docs/docs/.vitepress/config.mts @@ -2,27 +2,30 @@ import { defineConfig } from 'vitepress' // https://vitepress.dev/reference/site-config export default defineConfig({ - title: "Meteor API Doc", - description: "API doc for Meteor 3.0", + title: "API Docs", + description: "Meteor.js API docs", themeConfig: { // https://vitepress.dev/reference/default-theme-config nav: [ - { text: 'Home', link: '/' }, - { text: 'API Doc', link: '/api-sitemap' } + { text: 'Galaxy', link: 'https://www.meteor.com/cloud' }, + { text: 'Tutorials', link: 'https://www.meteor.com/developers/tutorials' }, + { text: 'Guide', link: 'https://guide.meteor.com/' }, + { text: 'API Docs', link: '/api' }, + { text: 'Forums', link: 'https://forums.meteor.com/' }, ], - sidebar: [ { text: 'Examples', items: [ - { text: 'API Doc', link: '/api-sitemap' }, + { text: 'API Reference', link: '/api' }, { text: 'Runtime API Examples', link: '/api-examples' } ] } ], socialLinks: [ - { icon: 'github', link: 'https://github.com/vuejs/vitepress' } - ] + { icon: 'github', link: 'https://github.com/meteor/meteor' } + ], + logo: '/meteor-logo.png', } }) From f53b6aab11418c3aa31c6196083e05d6dd2fe09d Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 14:44:14 -0300 Subject: [PATCH 009/168] Add search engine to v3-docs --- v3-docs/docs/.vitepress/config.mts | 38 +++++++++++++++++------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/v3-docs/docs/.vitepress/config.mts b/v3-docs/docs/.vitepress/config.mts index c591f02607..dba6c535b7 100644 --- a/v3-docs/docs/.vitepress/config.mts +++ b/v3-docs/docs/.vitepress/config.mts @@ -1,4 +1,4 @@ -import { defineConfig } from 'vitepress' +import { defineConfig } from "vitepress"; // https://vitepress.dev/reference/site-config export default defineConfig({ @@ -7,25 +7,29 @@ export default defineConfig({ themeConfig: { // https://vitepress.dev/reference/default-theme-config nav: [ - { text: 'Galaxy', link: 'https://www.meteor.com/cloud' }, - { text: 'Tutorials', link: 'https://www.meteor.com/developers/tutorials' }, - { text: 'Guide', link: 'https://guide.meteor.com/' }, - { text: 'API Docs', link: '/api' }, - { text: 'Forums', link: 'https://forums.meteor.com/' }, + { text: "Galaxy", link: "https://www.meteor.com/cloud" }, + { + text: "Tutorials", + link: "https://www.meteor.com/developers/tutorials", + }, + { text: "Guide", link: "https://guide.meteor.com/" }, + { text: "API Docs", link: "/api" }, + { text: "Forums", link: "https://forums.meteor.com/" }, ], sidebar: [ { - text: 'Examples', + text: "Examples", items: [ - { text: 'API Reference', link: '/api' }, - { text: 'Runtime API Examples', link: '/api-examples' } - ] - } + { text: "API Reference", link: "/api" }, + { text: "Runtime API Examples", link: "/api-examples" }, + ], + }, ], - socialLinks: [ - { icon: 'github', link: 'https://github.com/meteor/meteor' } - ], - logo: '/meteor-logo.png', - } -}) + socialLinks: [{ icon: "github", link: "https://github.com/meteor/meteor" }], + logo: "/meteor-logo.png", + search: { + provider: "local", + }, + }, +}); From 7fdc757b9d492e292cbb0b724739ebca8a8da651 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 15:38:12 -0300 Subject: [PATCH 010/168] Update config example list --- v3-docs/docs/.vitepress/config.mts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v3-docs/docs/.vitepress/config.mts b/v3-docs/docs/.vitepress/config.mts index dba6c535b7..fcc16755c4 100644 --- a/v3-docs/docs/.vitepress/config.mts +++ b/v3-docs/docs/.vitepress/config.mts @@ -20,7 +20,7 @@ export default defineConfig({ { text: "Examples", items: [ - { text: "API Reference", link: "/api" }, + { text: "API", link: "/api" }, { text: "Runtime API Examples", link: "/api-examples" }, ], }, From f5c7079c78ee0294019310107b4152d3b7be69d4 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 15:38:26 -0300 Subject: [PATCH 011/168] Update css to theme --- v3-docs/docs/.vitepress/theme/theme.css | 34 ++++++++++++++++++++----- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/v3-docs/docs/.vitepress/theme/theme.css b/v3-docs/docs/.vitepress/theme/theme.css index 166cb12d09..eb3a98f0d1 100644 --- a/v3-docs/docs/.vitepress/theme/theme.css +++ b/v3-docs/docs/.vitepress/theme/theme.css @@ -54,11 +54,21 @@ --vp-c-indigo-3: #5672cd; --vp-c-indigo-soft: rgba(100, 108, 255, 0.14); + --vp-c-blue-1: #383695; + --vp-c-blue-2: #3e3e9e; + --vp-c-blue-3: #4c4ca7; + --vp-c-blue-soft: rgba(100, 108, 255, 0.14); + --vp-c-green-1: #18794e; --vp-c-green-2: #299764; --vp-c-green-3: #30a46c; --vp-c-green-soft: rgba(16, 185, 129, 0.14); + --vp-c-orange-1: #FF6A3E; + --vp-c-orange-2: #FF7A4D; + --vp-c-orange-3: #FF8A5C; + --vp-c-orange-soft: rgba(255, 106, 62, 0.14); + --vp-c-yellow-1: #915930; --vp-c-yellow-2: #946300; --vp-c-yellow-3: #9f6a00; @@ -83,11 +93,21 @@ --vp-c-indigo-3: #3e63dd; --vp-c-indigo-soft: rgba(100, 108, 255, 0.16); + --vp-c-blue-1: #4b6cb7; + --vp-c-blue-2: #3e4f8c; + --vp-c-blue-3: #36436b; + --vp-c-blue-soft: rgba(100, 108, 255, 0.16); + --vp-c-green-1: #3dd68c; --vp-c-green-2: #30a46c; --vp-c-green-3: #298459; --vp-c-green-soft: rgba(16, 185, 129, 0.16); + --vc-c-orange-1: #ff7e17; + --vc-c-orange-2: #e66c00; + --vc-c-orange-3: #b35e00; + --vc-c-orange-soft: rgba(255, 126, 23, 0.16); + --vp-c-yellow-1: #f9b44e; --vp-c-yellow-2: #da8b17; --vp-c-yellow-3: #a46a0a; @@ -202,10 +222,10 @@ --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-brand-1: var(--vp-c-orange-1); + --vp-c-brand-2: var(--vp-c-orange-2); + --vp-c-brand-3: var(--vp-c-orange-3); + --vp-c-brand-soft: var(--vp-c-blue-soft); /* DEPRECATED: Use `--vp-c-brand-1` instead. */ --vp-c-brand: var(--vp-c-brand-1); @@ -341,13 +361,13 @@ :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-bg: var(--vp-c-blue-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-hover-bg: var(--vp-c-blue-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); + --vp-button-brand-active-bg: var(--vp-c-blue-1); --vp-button-alt-border: transparent; --vp-button-alt-text: var(--vp-c-text-1); From 9924e0360ada50f6778a74e75533e409dc22ea2f Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 15:38:32 -0300 Subject: [PATCH 012/168] update wrong link in theme --- v3-docs/docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v3-docs/docs/index.md b/v3-docs/docs/index.md index 9fa619f451..be3825fa62 100644 --- a/v3-docs/docs/index.md +++ b/v3-docs/docs/index.md @@ -12,7 +12,7 @@ hero: actions: - theme: brand text: Api Doc - link: /api-sitemap + link: /api - theme: alt text: API Examples link: /api-examples From 005763147f4f466d1fee55ac2c4aaab7686a10a5 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 15:40:22 -0300 Subject: [PATCH 013/168] OSS-317 linking with jira From ac3227bd877330fd97db87dd21d4ca76d0df0ae3 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 15:40:53 -0300 Subject: [PATCH 014/168] OSS-264 linking with jira From b8352a406613577d0e4dda16ba868a8a7860b67c Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Thu, 14 Dec 2023 16:41:01 -0300 Subject: [PATCH 015/168] Add more asstes to v3 --- v3-docs/docs/.vitepress/config.mts | 2 +- v3-docs/docs/.vitepress/theme/theme.css | 4 ++++ v3-docs/docs/index.md | 2 +- v3-docs/docs/public/logo.png | Bin 0 -> 102152 bytes v3-docs/docs/public/meteor.png | Bin 0 -> 35748 bytes 5 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 v3-docs/docs/public/logo.png create mode 100644 v3-docs/docs/public/meteor.png diff --git a/v3-docs/docs/.vitepress/config.mts b/v3-docs/docs/.vitepress/config.mts index fcc16755c4..ecfb3997bc 100644 --- a/v3-docs/docs/.vitepress/config.mts +++ b/v3-docs/docs/.vitepress/config.mts @@ -27,7 +27,7 @@ export default defineConfig({ ], socialLinks: [{ icon: "github", link: "https://github.com/meteor/meteor" }], - logo: "/meteor-logo.png", + logo: "/meteor.png", search: { provider: "local", }, diff --git a/v3-docs/docs/.vitepress/theme/theme.css b/v3-docs/docs/.vitepress/theme/theme.css index eb3a98f0d1..b5d01467e7 100644 --- a/v3-docs/docs/.vitepress/theme/theme.css +++ b/v3-docs/docs/.vitepress/theme/theme.css @@ -538,3 +538,7 @@ --vp-local-search-highlight-bg: var(--vp-c-brand-1); --vp-local-search-highlight-text: var(--vp-c-neutral-inverse); } + +::selection { + background: var(--vp-c-brand-1); +} diff --git a/v3-docs/docs/index.md b/v3-docs/docs/index.md index be3825fa62..93c4bc8d75 100644 --- a/v3-docs/docs/index.md +++ b/v3-docs/docs/index.md @@ -7,7 +7,7 @@ hero: text: "All api and examples in one place" tagline: "Learn about Meteor.js API and how to use it in your application" image: - src: /meteor-logo.png + src: /logo.png alt: Meteor actions: - theme: brand diff --git a/v3-docs/docs/public/logo.png b/v3-docs/docs/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c3335379817970a92643801d2ce60569d9fd5b17 GIT binary patch literal 102152 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

    1yt-);qhJG&V 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⪼GE}I-s=deonCqdSg=T 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 Date: Fri, 15 Dec 2023 14:30:01 -0300 Subject: [PATCH 016/168] Updating the index page --- v3-docs/docs/.vitepress/theme/theme.css | 8 ++-- v3-docs/docs/index.md | 50 ++++++++++++++++++------- 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/v3-docs/docs/.vitepress/theme/theme.css b/v3-docs/docs/.vitepress/theme/theme.css index b5d01467e7..be258eb31e 100644 --- a/v3-docs/docs/.vitepress/theme/theme.css +++ b/v3-docs/docs/.vitepress/theme/theme.css @@ -142,10 +142,10 @@ } .dark { - --vp-c-bg: #1b1b1f; - --vp-c-bg-alt: #161618; - --vp-c-bg-elv: #202127; - --vp-c-bg-soft: #202127; + --vp-c-bg: #101926; + --vp-c-bg-alt: #0a0f1f; + --vp-c-bg-elv: #101926; + --vp-c-bg-soft: #0a0f1f; } /** diff --git a/v3-docs/docs/index.md b/v3-docs/docs/index.md index 93c4bc8d75..549628c31f 100644 --- a/v3-docs/docs/index.md +++ b/v3-docs/docs/index.md @@ -3,26 +3,50 @@ layout: home hero: - name: "Meteor API Docs" - text: "All api and examples in one place" - tagline: "Learn about Meteor.js API and how to use it in your application" + name: "Meteor" + text: "The all-in-one JavaScript platform" + tagline: "Build modern apps with less code, in less time" image: src: /logo.png alt: Meteor actions: - theme: brand - text: Api Doc + text: View API Docs link: /api - theme: alt - text: API Examples - link: /api-examples + text: View on GitHub + link: https://github.com/meteor/meteor 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 ---- + - title: Zero Config + icon: 🛠️ + details: Use popular frameworks and tools right out-of-the-box. Focus on building features instead of configuring tools. + - title: Front-end Agnostic + icon: 🎨 + details: Choose your preferred front-end framework like React, VueJS, Blaze, Svelte, or Solid. + + - title: RPCs API + icon: 📡 + details: Easily connect back-end and front-end with Methods. Our Remote Procedure Call (RPC) system + + - title: Easy to Deploy + icon: 🚀 + details: Deploy using one command from the CLI or directly from your Git repository by using Meteor Cloud. + + - title: Real-time Features + icon: ⚡ + details: Develop apps with real-time features like chats and collaborative apps with ease by using publications and subscriptions. + + - title: TypeScript Support + icon: 📝 + details: Experience the power of TypeScript inference to boost productivity for your full-stack application. + + - title: Built-in Accounts + icon: 👤 + details: Login and Accounts package ready to use with your app. Never rebuilt an authentication system again. + + - title: Pioneering and Reliable + icon: 🏆 + details: Developed for over a decade and trusted by industry giants. Alows you to build and scale efficiently. +--- From c08ca1096fd8d4dfc63305753167346f369d986e Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Fri, 15 Dec 2023 14:41:21 -0300 Subject: [PATCH 017/168] Add foorter --- v3-docs/docs/.vitepress/config.mts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/v3-docs/docs/.vitepress/config.mts b/v3-docs/docs/.vitepress/config.mts index ecfb3997bc..cc048d3458 100644 --- a/v3-docs/docs/.vitepress/config.mts +++ b/v3-docs/docs/.vitepress/config.mts @@ -31,5 +31,11 @@ export default defineConfig({ search: { provider: "local", }, + footer: { + message: + 'Released under the MIT License.', + copyright: + 'Copyright (c) 2011 - present Meteor Software.', + }, }, }); From c3c2c03d3010bc8b2ba152fa0d2f04a21bd360fe Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Fri, 15 Dec 2023 16:31:46 -0300 Subject: [PATCH 018/168] Update theme color --- v3-docs/docs/.vitepress/theme/theme.css | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/v3-docs/docs/.vitepress/theme/theme.css b/v3-docs/docs/.vitepress/theme/theme.css index be258eb31e..2c5062de5c 100644 --- a/v3-docs/docs/.vitepress/theme/theme.css +++ b/v3-docs/docs/.vitepress/theme/theme.css @@ -69,6 +69,11 @@ --vp-c-orange-3: #FF8A5C; --vp-c-orange-soft: rgba(255, 106, 62, 0.14); + --vp-c-meteor-red-1: #BF212E; + --vp-c-meteor-red-2: #A01A24; + --vp-c-meteor-red-3: #7F141D; + --vp-c-meteor-red-soft: rgba(191, 33, 46, 0.16); + --vp-c-yellow-1: #915930; --vp-c-yellow-2: #946300; --vp-c-yellow-3: #9f6a00; @@ -108,6 +113,11 @@ --vc-c-orange-3: #b35e00; --vc-c-orange-soft: rgba(255, 126, 23, 0.16); + --vc-c-meteor-red-1: #BF212E; + --vc-c-meteor-red-2: #A01A24; + --vc-c-meteor-red-3: #7F141D; + --vc-c-meteor-red-soft: rgba(191, 33, 46, 0.16); + --vp-c-yellow-1: #f9b44e; --vp-c-yellow-2: #da8b17; --vp-c-yellow-3: #a46a0a; @@ -142,6 +152,7 @@ } .dark { + --vp-c-bg: #101926; --vp-c-bg-alt: #0a0f1f; --vp-c-bg-elv: #101926; @@ -222,9 +233,9 @@ --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-orange-1); - --vp-c-brand-2: var(--vp-c-orange-2); - --vp-c-brand-3: var(--vp-c-orange-3); + --vp-c-brand-1: var(--vp-c-meteor-red-1); + --vp-c-brand-2: var(--vp-c-meteor-red-2); + --vp-c-brand-3: var(--vp-c-meteor-red-3); --vp-c-brand-soft: var(--vp-c-blue-soft); /* DEPRECATED: Use `--vp-c-brand-1` instead. */ From 3cf43122e311656a2f44b80f44cbc00d83be0e05 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Fri, 15 Dec 2023 16:31:55 -0300 Subject: [PATCH 019/168] Update index.md --- v3-docs/docs/index.md | 36 ++---------------------------------- 1 file changed, 2 insertions(+), 34 deletions(-) diff --git a/v3-docs/docs/index.md b/v3-docs/docs/index.md index 549628c31f..4cde155139 100644 --- a/v3-docs/docs/index.md +++ b/v3-docs/docs/index.md @@ -4,8 +4,8 @@ layout: home hero: name: "Meteor" - text: "The all-in-one JavaScript platform" - tagline: "Build modern apps with less code, in less time" + text: "The full-stack JavaScript platform" + tagline: "Stop fighting with frameworks and start shipping real apps" image: src: /logo.png alt: Meteor @@ -17,36 +17,4 @@ hero: text: View on GitHub link: https://github.com/meteor/meteor -features: - - title: Zero Config - icon: 🛠️ - details: Use popular frameworks and tools right out-of-the-box. Focus on building features instead of configuring tools. - - - title: Front-end Agnostic - icon: 🎨 - details: Choose your preferred front-end framework like React, VueJS, Blaze, Svelte, or Solid. - - - title: RPCs API - icon: 📡 - details: Easily connect back-end and front-end with Methods. Our Remote Procedure Call (RPC) system - - - title: Easy to Deploy - icon: 🚀 - details: Deploy using one command from the CLI or directly from your Git repository by using Meteor Cloud. - - - title: Real-time Features - icon: ⚡ - details: Develop apps with real-time features like chats and collaborative apps with ease by using publications and subscriptions. - - - title: TypeScript Support - icon: 📝 - details: Experience the power of TypeScript inference to boost productivity for your full-stack application. - - - title: Built-in Accounts - icon: 👤 - details: Login and Accounts package ready to use with your app. Never rebuilt an authentication system again. - - - title: Pioneering and Reliable - icon: 🏆 - details: Developed for over a decade and trusted by industry giants. Alows you to build and scale efficiently. --- From 4070984a9f92f878a40a2cdb5263e0bf158536db Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Fri, 15 Dec 2023 16:47:29 -0300 Subject: [PATCH 020/168] Update images --- v3-docs/docs/.vitepress/config.mts | 2 +- v3-docs/docs/index.md | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/v3-docs/docs/.vitepress/config.mts b/v3-docs/docs/.vitepress/config.mts index cc048d3458..380b12e820 100644 --- a/v3-docs/docs/.vitepress/config.mts +++ b/v3-docs/docs/.vitepress/config.mts @@ -27,7 +27,7 @@ export default defineConfig({ ], socialLinks: [{ icon: "github", link: "https://github.com/meteor/meteor" }], - logo: "/meteor.png", + logo: "/meteor-logo.png", search: { provider: "local", }, diff --git a/v3-docs/docs/index.md b/v3-docs/docs/index.md index 4cde155139..7938ead33e 100644 --- a/v3-docs/docs/index.md +++ b/v3-docs/docs/index.md @@ -3,11 +3,10 @@ layout: home hero: - name: "Meteor" text: "The full-stack JavaScript platform" tagline: "Stop fighting with frameworks and start shipping real apps" image: - src: /logo.png + src: /meteor-logo.png alt: Meteor actions: - theme: brand From 75e152e03ef086665f517a5ac90f63964ce7a472 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Fri, 15 Dec 2023 17:20:47 -0300 Subject: [PATCH 021/168] Update features section --- v3-docs/docs/index.md | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/v3-docs/docs/index.md b/v3-docs/docs/index.md index 7938ead33e..73036b5e96 100644 --- a/v3-docs/docs/index.md +++ b/v3-docs/docs/index.md @@ -6,7 +6,7 @@ hero: text: "The full-stack JavaScript platform" tagline: "Stop fighting with frameworks and start shipping real apps" image: - src: /meteor-logo.png + src: /logo.png alt: Meteor actions: - theme: brand @@ -15,5 +15,36 @@ hero: - theme: alt text: View on GitHub link: https://github.com/meteor/meteor +features: + - title: Zero Config + icon: 🛠️ + details: Use popular frameworks and tools right out-of-the-box. Focus on building features instead of configuring tools. + - title: Front-end Agnostic + icon: 🎨 + details: Choose your preferred front-end framework like React, VueJS, Blaze, Svelte, or Solid. + + - title: RPCs API + icon: 📡 + details: Easily connect back-end and front-end with Methods. Our Remote Procedure Call (RPC) system + + - title: Easy to Deploy + icon: 🚀 + details: Deploy using one command from the CLI or directly from your Git repository by using Meteor Cloud. + + - title: Real-time Features + icon: ⚡ + details: Develop apps with real-time features like chats and collaborative apps with ease by using publications and subscriptions. + + - title: TypeScript Support + icon: 📝 + details: Experience the power of TypeScript inference to boost productivity for your full-stack application. + + - title: Built-in Accounts + icon: 👤 + details: Login and Accounts package ready to use with your app. Never rebuilt an authentication system again. + + - title: Pioneering and Reliable + icon: 🏆 + details: Developed for over a decade and trusted by industry giants. Alows you to build and scale efficiently. --- From 4f9e497c56edba73a56334ff3db55793078952d1 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:28:06 -0300 Subject: [PATCH 022/168] Add apimap --- v3-docs/docs/.vitepress/theme/index.ts | 2 ++ v3-docs/docs/components/ApiMap.vue | 47 ++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 v3-docs/docs/components/ApiMap.vue diff --git a/v3-docs/docs/.vitepress/theme/index.ts b/v3-docs/docs/.vitepress/theme/index.ts index 48f00c5ea9..afddc3f960 100644 --- a/v3-docs/docs/.vitepress/theme/index.ts +++ b/v3-docs/docs/.vitepress/theme/index.ts @@ -2,6 +2,7 @@ import type { Theme } from "vitepress"; import DefaultTheme from "vitepress/theme"; import ApiBox from "../../components/ApiBox.vue"; +import ApiMap from "../../components/ApiMap.vue"; import Layout from "./Layout.vue"; import "./theme.css"; @@ -10,6 +11,7 @@ export default { enhanceApp({ app }) { // register your custom global components app.component("ApiBox", ApiBox); + app.component("ApiMap", ApiMap); }, Layout, } satisfies Theme; diff --git a/v3-docs/docs/components/ApiMap.vue b/v3-docs/docs/components/ApiMap.vue new file mode 100644 index 0000000000..20fcf64e90 --- /dev/null +++ b/v3-docs/docs/components/ApiMap.vue @@ -0,0 +1,47 @@ + + + + + + From 63872feb6284cff7cfabda84e09016b22c7c11e2 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:28:21 -0300 Subject: [PATCH 023/168] Update config with api map link --- v3-docs/docs/.vitepress/config.mts | 1 + 1 file changed, 1 insertion(+) diff --git a/v3-docs/docs/.vitepress/config.mts b/v3-docs/docs/.vitepress/config.mts index 380b12e820..cb3e6d6910 100644 --- a/v3-docs/docs/.vitepress/config.mts +++ b/v3-docs/docs/.vitepress/config.mts @@ -21,6 +21,7 @@ export default defineConfig({ text: "Examples", items: [ { text: "API", link: "/api" }, + { text: "API Map", link: "/source/index" }, { text: "Runtime API Examples", link: "/api-examples" }, ], }, From 65d5cb682f36ac1b742fd273aab50ed200098f6c Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:28:29 -0300 Subject: [PATCH 024/168] create map-maker.js --- v3-docs/docs/components/scripts/map-maker.js | 117 +++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 v3-docs/docs/components/scripts/map-maker.js diff --git a/v3-docs/docs/components/scripts/map-maker.js b/v3-docs/docs/components/scripts/map-maker.js new file mode 100644 index 0000000000..0de170f985 --- /dev/null +++ b/v3-docs/docs/components/scripts/map-maker.js @@ -0,0 +1,117 @@ +/** + * + * @param {Array>} + */ +export function createMap(names) { + /** + * @type {string[]} + */ + let modules = []; + + for (const name of names) { + if (name.includes("#")) { + continue; + } + if (name.includes(".")) { + continue; + } + modules.push(name); + } + + let currentModule = modules[0]; + /** + * @type {Object>} + */ + const apiList = {}; + + for (const name of modules) { + if (!apiList[currentModule]) { + apiList[currentModule] = { + [currentModule]: [], + }; + } + if (name.includes(currentModule)) { + apiList[currentModule][name] = []; + continue; + } + currentModule = name; + } + + const MODULES_TO_ADD = { + module: { module: [] }, + Session: { Session: [] }, + Random: { Random: [] }, + Email: { Email: [] }, + }; + + Object.assign(apiList, MODULES_TO_ADD); + + for (const api of Object.keys(apiList)) { + const links = apiList[api]; + for (const link of Object.keys(links)) { + const linkWithDot = names.filter((name) => name.includes(link + ".")); + const linkWithHash = names.filter((name) => name.includes(link + "#")); + const allApis = [...linkWithDot, ...linkWithHash]; + apiList[api][link] = allApis; + } + } + + // break App and WebApp + + const webApp = apiList.App.App.filter((name) => name.includes("WebApp")); + const app = apiList.App.App.filter((name) => !name.includes("WebApp")); + + apiList.App.App = app; + apiList.WebApp = { + WebApp: webApp, + }; + + // delete missplaced apis + const TO_IGNORE = [ + "addRuntimeConfigHookCallback(options)", + "addUpdatedNotifyHookCallback(options)", + "currentUser", + "expressHandlersCallback(req, res, next)", + "getPublicationStrategy", + "loggingIn", + "main", + "loggingOut", + ]; + Object.keys(apiList).forEach((key) => { + if (TO_IGNORE.includes(key)) { + delete apiList[key]; + } + }); + return apiList; +} + + +/** + * + * @param {string} filter + * @returns {Object>} + * @returns {Object>} + */ +export function filterMap(filter, apiList) { + if (filter === "") { + return apiList; + } + const newList = {}; + for (const api in apiList) { + const newLinks = {}; + for (const key in apiList[api]) { + const links = apiList[api][key]; + const newLinksArray = links.filter((link) => { + return link.toLowerCase().includes(filter.toLowerCase()); + }); + if (newLinksArray.length > 0) { + newLinks[key] = newLinksArray; + } + } + if (Object.keys(newLinks).length > 0) { + newList[api] = newLinks; + } + } + return newList; +} From e25491db982da6764df133e852715f4db9d1e965 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:28:47 -0300 Subject: [PATCH 025/168] Update index.md with new informatiom --- v3-docs/docs/index.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/v3-docs/docs/index.md b/v3-docs/docs/index.md index 73036b5e96..7b0b5f89fa 100644 --- a/v3-docs/docs/index.md +++ b/v3-docs/docs/index.md @@ -3,8 +3,8 @@ layout: home hero: - text: "The full-stack JavaScript platform" - tagline: "Stop fighting with frameworks and start shipping real apps" + text: "Meteor API Docs" + tagline: "All the documentation you need to build and deploy your app with Meteor." image: src: /logo.png alt: Meteor @@ -15,6 +15,8 @@ hero: - theme: alt text: View on GitHub link: https://github.com/meteor/meteor + +# TODO: Update with Docs features and links as they are added features: - title: Zero Config icon: 🛠️ From d6141b693bc7485fd674084b5cb04a460993159d Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:28:56 -0300 Subject: [PATCH 026/168] Add api map page --- v3-docs/docs/source/index.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 v3-docs/docs/source/index.md diff --git a/v3-docs/docs/source/index.md b/v3-docs/docs/source/index.md new file mode 100644 index 0000000000..d3fb2c693b --- /dev/null +++ b/v3-docs/docs/source/index.md @@ -0,0 +1,2 @@ + + From 8b7a33c7a6393917f99d819520c26c0ad6b68cf7 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:31:47 -0300 Subject: [PATCH 027/168] Update index --- v3-docs/docs/.vitepress/config.mts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/v3-docs/docs/.vitepress/config.mts b/v3-docs/docs/.vitepress/config.mts index cb3e6d6910..e93d3ac0bb 100644 --- a/v3-docs/docs/.vitepress/config.mts +++ b/v3-docs/docs/.vitepress/config.mts @@ -13,15 +13,14 @@ export default defineConfig({ link: "https://www.meteor.com/developers/tutorials", }, { text: "Guide", link: "https://guide.meteor.com/" }, - { text: "API Docs", link: "/api" }, + { text: "API Docs", link: "/api/index" }, { text: "Forums", link: "https://forums.meteor.com/" }, ], sidebar: [ { text: "Examples", items: [ - { text: "API", link: "/api" }, - { text: "API Map", link: "/source/index" }, + { text: "API map", link: "/api/index" }, { text: "Runtime API Examples", link: "/api-examples" }, ], }, From 7a9878bd23460c6909655de8ad4ce4273a2e701f Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:31:56 -0300 Subject: [PATCH 028/168] remove api --- v3-docs/docs/api.md | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 v3-docs/docs/api.md diff --git a/v3-docs/docs/api.md b/v3-docs/docs/api.md deleted file mode 100644 index a6748f336f..0000000000 --- a/v3-docs/docs/api.md +++ /dev/null @@ -1,2 +0,0 @@ - - From 328df8b872ca659463bcd1cbb39f9e831d70fd2d Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:32:02 -0300 Subject: [PATCH 029/168] move api --- v3-docs/docs/api/api.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 v3-docs/docs/api/api.md diff --git a/v3-docs/docs/api/api.md b/v3-docs/docs/api/api.md new file mode 100644 index 0000000000..a6748f336f --- /dev/null +++ b/v3-docs/docs/api/api.md @@ -0,0 +1,2 @@ + + From 5776f5da04662461eb55377e9be298ca6765d0b9 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:32:28 -0300 Subject: [PATCH 030/168] Add apimap in index --- v3-docs/docs/api/index.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 v3-docs/docs/api/index.md diff --git a/v3-docs/docs/api/index.md b/v3-docs/docs/api/index.md new file mode 100644 index 0000000000..d3fb2c693b --- /dev/null +++ b/v3-docs/docs/api/index.md @@ -0,0 +1,2 @@ + + From 7368e84d0ebd7477cb00576cad5a147ab785a4a7 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:32:37 -0300 Subject: [PATCH 031/168] update index to link to map --- v3-docs/docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v3-docs/docs/index.md b/v3-docs/docs/index.md index 7b0b5f89fa..04e0564dfa 100644 --- a/v3-docs/docs/index.md +++ b/v3-docs/docs/index.md @@ -11,7 +11,7 @@ hero: actions: - theme: brand text: View API Docs - link: /api + link: /api/index - theme: alt text: View on GitHub link: https://github.com/meteor/meteor From 691fce97c7b7dc016ec4c780201c2e7fccf8314f Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:32:42 -0300 Subject: [PATCH 032/168] remove index.md --- v3-docs/docs/source/index.md | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 v3-docs/docs/source/index.md diff --git a/v3-docs/docs/source/index.md b/v3-docs/docs/source/index.md deleted file mode 100644 index d3fb2c693b..0000000000 --- a/v3-docs/docs/source/index.md +++ /dev/null @@ -1,2 +0,0 @@ - - From ce8e48e4c8cd64171f0505c6e993f972e4cd2f7d Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:47:00 -0300 Subject: [PATCH 033/168] updated api link --- v3-docs/docs/components/ApiMap.vue | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/v3-docs/docs/components/ApiMap.vue b/v3-docs/docs/components/ApiMap.vue index 20fcf64e90..f1bae1f71b 100644 --- a/v3-docs/docs/components/ApiMap.vue +++ b/v3-docs/docs/components/ApiMap.vue @@ -20,12 +20,14 @@ watchEffect(() => {

    -

    - {{ api }} +

    + + {{ api }} +

    - + {{ link }}
    @@ -43,5 +45,14 @@ watchEffect(() => { padding: 0.5rem; margin-bottom: 1rem; } + +a { + color: var(--vp-c-text-1); +} + +a:hover { + color: var(--vp-c-brand-1); + text-decoration: underline; +} From a38009eb6dac36cecd41bbd977f4bfc6354154d5 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:47:12 -0300 Subject: [PATCH 034/168] removed iterationcallback from list --- v3-docs/docs/components/scripts/map-maker.js | 1 + 1 file changed, 1 insertion(+) diff --git a/v3-docs/docs/components/scripts/map-maker.js b/v3-docs/docs/components/scripts/map-maker.js index 0de170f985..8ba5644684 100644 --- a/v3-docs/docs/components/scripts/map-maker.js +++ b/v3-docs/docs/components/scripts/map-maker.js @@ -77,6 +77,7 @@ export function createMap(names) { "loggingIn", "main", "loggingOut", + "IterationCallback" ]; Object.keys(apiList).forEach((key) => { if (TO_IGNORE.includes(key)) { From 2b433bd583d27e0992d33824d4f68f6ff8f20fca Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Tue, 19 Dec 2023 09:25:09 -0300 Subject: [PATCH 035/168] Update package.json --- v3-docs/docs/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/v3-docs/docs/package.json b/v3-docs/docs/package.json index d7e7839ce4..ef8ae6d789 100644 --- a/v3-docs/docs/package.json +++ b/v3-docs/docs/package.json @@ -3,7 +3,8 @@ "generate-jsdoc": "jsdoc/jsdoc.sh", "docs:dev": "npm run generate-jsdoc && vitepress dev", "docs:build": "vitepress build", - "docs:preview": "vitepress preview" + "docs:preview": "vitepress preview", + "deploy:preview" : "npm run docs:build && npm run docs:preview" }, "devDependencies": { "canonical-json": "^0.0.4", From 6969eb6b9896b11b5bcaab442c7958f9c1c9da45 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Tue, 19 Dec 2023 13:10:51 -0300 Subject: [PATCH 036/168] Update docs --- v3-docs/docs/api/{api.md => accounts.md} | 0 v3-docs/docs/components/scripts/map-maker.js | 3 +-- v3-docs/docs/index.md | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) rename v3-docs/docs/api/{api.md => accounts.md} (100%) diff --git a/v3-docs/docs/api/api.md b/v3-docs/docs/api/accounts.md similarity index 100% rename from v3-docs/docs/api/api.md rename to v3-docs/docs/api/accounts.md diff --git a/v3-docs/docs/components/scripts/map-maker.js b/v3-docs/docs/components/scripts/map-maker.js index 8ba5644684..dfb65ad750 100644 --- a/v3-docs/docs/components/scripts/map-maker.js +++ b/v3-docs/docs/components/scripts/map-maker.js @@ -77,7 +77,7 @@ export function createMap(names) { "loggingIn", "main", "loggingOut", - "IterationCallback" + "IterationCallback", ]; Object.keys(apiList).forEach((key) => { if (TO_IGNORE.includes(key)) { @@ -87,7 +87,6 @@ export function createMap(names) { return apiList; } - /** * * @param {string} filter diff --git a/v3-docs/docs/index.md b/v3-docs/docs/index.md index 04e0564dfa..0490baf1fb 100644 --- a/v3-docs/docs/index.md +++ b/v3-docs/docs/index.md @@ -3,7 +3,7 @@ layout: home hero: - text: "Meteor API Docs" + text: "Meteor Docs" tagline: "All the documentation you need to build and deploy your app with Meteor." image: src: /logo.png From 927d7f46ada08f1b6e57d98f22ac0f366ba80c91 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Tue, 19 Dec 2023 13:21:42 -0300 Subject: [PATCH 037/168] add generation to build command --- v3-docs/docs/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v3-docs/docs/package.json b/v3-docs/docs/package.json index ef8ae6d789..a91a4140e4 100644 --- a/v3-docs/docs/package.json +++ b/v3-docs/docs/package.json @@ -2,7 +2,7 @@ "scripts": { "generate-jsdoc": "jsdoc/jsdoc.sh", "docs:dev": "npm run generate-jsdoc && vitepress dev", - "docs:build": "vitepress build", + "docs:build": "npm run generate-jsdoc && vitepress build", "docs:preview": "vitepress preview", "deploy:preview" : "npm run docs:build && npm run docs:preview" }, From 697948e846874edda2f103b540bc49ff5e1fdbf6 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Tue, 19 Dec 2023 17:11:25 -0300 Subject: [PATCH 038/168] organized code --- v3-docs/docs/components/scripts/map-maker.js | 52 ++++++++++++-------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/v3-docs/docs/components/scripts/map-maker.js b/v3-docs/docs/components/scripts/map-maker.js index dfb65ad750..7835210cce 100644 --- a/v3-docs/docs/components/scripts/map-maker.js +++ b/v3-docs/docs/components/scripts/map-maker.js @@ -1,30 +1,20 @@ -/** - * - * @param {Array>} - */ -export function createMap(names) { - /** - * @type {string[]} - */ - let modules = []; +const makeUnique = (arr) => [...new Set(arr)]; + +const makeModules = (names) => { + const modules = []; + // check for modules (names with no dots or hashes) for (const name of names) { - if (name.includes("#")) { - continue; - } - if (name.includes(".")) { - continue; - } + if (name.includes("#")) continue; + if (name.includes(".")) continue; modules.push(name); } + return modules; +} +const makeApiList = (modules) => { let currentModule = modules[0]; - /** - * @type {Object>} - */ const apiList = {}; - for (const name of modules) { if (!apiList[currentModule]) { apiList[currentModule] = { @@ -37,6 +27,25 @@ export function createMap(names) { } currentModule = name; } + return apiList; +} + +/** + * + * @param {Array>} + */ +export function createMap(names) { + /** + * @type {string[]} + */ + const modules = makeModules(names); + + + /** + * @type {Object>} + */ + const apiList = makeApiList(modules); const MODULES_TO_ADD = { module: { module: [] }, @@ -53,7 +62,7 @@ export function createMap(names) { const linkWithDot = names.filter((name) => name.includes(link + ".")); const linkWithHash = names.filter((name) => name.includes(link + "#")); const allApis = [...linkWithDot, ...linkWithHash]; - apiList[api][link] = allApis; + apiList[api][link] = makeUnique(allApis); } } @@ -79,6 +88,7 @@ export function createMap(names) { "loggingOut", "IterationCallback", ]; + Object.keys(apiList).forEach((key) => { if (TO_IGNORE.includes(key)) { delete apiList[key]; From 7f75091b09fbc5e440e9e2f53836ed4d1fd44396 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Wed, 20 Dec 2023 09:55:27 -0300 Subject: [PATCH 039/168] Add a few docs and refactor --- v3-docs/docs/components/scripts/map-maker.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/v3-docs/docs/components/scripts/map-maker.js b/v3-docs/docs/components/scripts/map-maker.js index 7835210cce..e4ca8ea9a0 100644 --- a/v3-docs/docs/components/scripts/map-maker.js +++ b/v3-docs/docs/components/scripts/map-maker.js @@ -1,4 +1,3 @@ - const makeUnique = (arr) => [...new Set(arr)]; const makeModules = (names) => { @@ -10,7 +9,7 @@ const makeModules = (names) => { modules.push(name); } return modules; -} +}; const makeApiList = (modules) => { let currentModule = modules[0]; @@ -28,7 +27,7 @@ const makeApiList = (modules) => { currentModule = name; } return apiList; -} +}; /** * @@ -41,7 +40,6 @@ export function createMap(names) { */ const modules = makeModules(names); - /** * @type {Object>} */ @@ -56,12 +54,13 @@ export function createMap(names) { Object.assign(apiList, MODULES_TO_ADD); + // populating map with links for (const api of Object.keys(apiList)) { const links = apiList[api]; for (const link of Object.keys(links)) { - const linkWithDot = names.filter((name) => name.includes(link + ".")); - const linkWithHash = names.filter((name) => name.includes(link + "#")); - const allApis = [...linkWithDot, ...linkWithHash]; + const allApis = names.filter( + (name) => name.includes(link + ".") || name.includes(link + "#") + ); apiList[api][link] = makeUnique(allApis); } } @@ -88,7 +87,7 @@ export function createMap(names) { "loggingOut", "IterationCallback", ]; - + Object.keys(apiList).forEach((key) => { if (TO_IGNORE.includes(key)) { delete apiList[key]; From b7b339ff4efcdcfe9fb868037fd9ea6557b0efcf Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Wed, 20 Dec 2023 09:57:54 -0300 Subject: [PATCH 040/168] refactor --- v3-docs/docs/components/scripts/map-maker.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/v3-docs/docs/components/scripts/map-maker.js b/v3-docs/docs/components/scripts/map-maker.js index e4ca8ea9a0..e762ed82d9 100644 --- a/v3-docs/docs/components/scripts/map-maker.js +++ b/v3-docs/docs/components/scripts/map-maker.js @@ -88,11 +88,9 @@ export function createMap(names) { "IterationCallback", ]; - Object.keys(apiList).forEach((key) => { - if (TO_IGNORE.includes(key)) { - delete apiList[key]; - } - }); + for (const key of Object.keys(apiList)) + if (TO_IGNORE.includes(key)) delete apiList[key]; + return apiList; } From 9bc38fcef392e2e6321b44158b167626361984cc Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Wed, 20 Dec 2023 14:36:10 -0300 Subject: [PATCH 041/168] Started Meteor core apis --- v3-docs/docs/.vitepress/config.mts | 4 +- v3-docs/docs/api/meteor.md | 23 +++++ v3-docs/docs/components/ApiBox.vue | 98 ++++++++++++++++++-- v3-docs/docs/components/helpers/Booleans.vue | 22 +++++ v3-docs/docs/components/helpers/Locus.vue | 14 +++ 5 files changed, 153 insertions(+), 8 deletions(-) create mode 100644 v3-docs/docs/api/meteor.md create mode 100644 v3-docs/docs/components/helpers/Booleans.vue create mode 100644 v3-docs/docs/components/helpers/Locus.vue diff --git a/v3-docs/docs/.vitepress/config.mts b/v3-docs/docs/.vitepress/config.mts index e93d3ac0bb..c1a16307cf 100644 --- a/v3-docs/docs/.vitepress/config.mts +++ b/v3-docs/docs/.vitepress/config.mts @@ -18,10 +18,12 @@ export default defineConfig({ ], sidebar: [ { - text: "Examples", + text: "API", items: [ { text: "API map", link: "/api/index" }, { text: "Runtime API Examples", link: "/api-examples" }, + { text: "Accounts", link: "/api/accounts" }, + { text: "Meteor", link: "/api/meteor" }, ], }, ], diff --git a/v3-docs/docs/api/meteor.md b/v3-docs/docs/api/meteor.md new file mode 100644 index 0000000000..cd14289d1a --- /dev/null +++ b/v3-docs/docs/api/meteor.md @@ -0,0 +1,23 @@ + +# Meteor API + +Meteor global object has many functions and properties for handling utilities, network and much more. + + + + + +::: danger +`Meteor.isServer` can be used to limit where code runs, but it does not prevent code from +being sent to the client. Any sensitive code that you don’t want served to the client, +such as code containing passwords or authentication mechanisms, +should be kept in the `server` directory. +::: + + + + + + + + diff --git a/v3-docs/docs/components/ApiBox.vue b/v3-docs/docs/components/ApiBox.vue index 8fa71d7d92..cbe388c6ec 100644 --- a/v3-docs/docs/components/ApiBox.vue +++ b/v3-docs/docs/components/ApiBox.vue @@ -1,8 +1,10 @@ + + diff --git a/v3-docs/docs/components/helpers/Booleans.vue b/v3-docs/docs/components/helpers/Booleans.vue new file mode 100644 index 0000000000..781fa322bd --- /dev/null +++ b/v3-docs/docs/components/helpers/Booleans.vue @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/v3-docs/docs/components/helpers/Locus.vue b/v3-docs/docs/components/helpers/Locus.vue new file mode 100644 index 0000000000..58c2d2e009 --- /dev/null +++ b/v3-docs/docs/components/helpers/Locus.vue @@ -0,0 +1,14 @@ + + + + + From d1fc3e58ec87ca568d4cf6ee73ae54860202c243 Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Wed, 20 Dec 2023 14:42:54 -0300 Subject: [PATCH 042/168] added type to boolean --- v3-docs/docs/components/helpers/Booleans.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/v3-docs/docs/components/helpers/Booleans.vue b/v3-docs/docs/components/helpers/Booleans.vue index 781fa322bd..6573cf5fc6 100644 --- a/v3-docs/docs/components/helpers/Booleans.vue +++ b/v3-docs/docs/components/helpers/Booleans.vue @@ -12,6 +12,7 @@ const props = defineProps<{
    js
    import { Meteor } from 'meteor/{{ props.from }}'
     
    +/** @type {Boolean} */
     if ({{ props.longname }}) {
       // do something
     }
    From bcc2104e6975b13d13217be07769756b0e5a465c Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Wed, 20 Dec 2023 18:26:25 -0300 Subject: [PATCH 043/168] Updated locus about api's --- v3-docs/docs/components/ApiBox.vue | 2 +- v3-docs/docs/components/helpers/Locus.vue | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/v3-docs/docs/components/ApiBox.vue b/v3-docs/docs/components/ApiBox.vue index cbe388c6ec..de8288b955 100644 --- a/v3-docs/docs/components/ApiBox.vue +++ b/v3-docs/docs/components/ApiBox.vue @@ -103,7 +103,7 @@ const isBoolean = ui.type.names.at(0) === 'Boolean'
    - +
    diff --git a/v3-docs/docs/components/helpers/Locus.vue b/v3-docs/docs/components/helpers/Locus.vue index 58c2d2e009..b642b460b5 100644 --- a/v3-docs/docs/components/helpers/Locus.vue +++ b/v3-docs/docs/components/helpers/Locus.vue @@ -1,8 +1,8 @@ From d3e34f173fc336365a272fb7db4eb0f6277dd26b Mon Sep 17 00:00:00 2001 From: Gabriel Grubba <70247653+Grubba27@users.noreply.github.com> Date: Wed, 20 Dec 2023 21:45:50 -0300 Subject: [PATCH 044/168] Added function possibility to apibox --- v3-docs/docs/api/meteor.md | 4 +- v3-docs/docs/components/ApiBox.vue | 40 +++++++++++--- v3-docs/docs/components/helpers/Booleans.vue | 3 +- v3-docs/docs/components/helpers/Functions.vue | 55 +++++++++++++++++++ 4 files changed, 93 insertions(+), 9 deletions(-) create mode 100644 v3-docs/docs/components/helpers/Functions.vue diff --git a/v3-docs/docs/api/meteor.md b/v3-docs/docs/api/meteor.md index cd14289d1a..83f612c616 100644 --- a/v3-docs/docs/api/meteor.md +++ b/v3-docs/docs/api/meteor.md @@ -1,8 +1,10 @@ - # Meteor API Meteor global object has many functions and properties for handling utilities, network and much more. + + + diff --git a/v3-docs/docs/components/ApiBox.vue b/v3-docs/docs/components/ApiBox.vue index de8288b955..5ad4950c7c 100644 --- a/v3-docs/docs/components/ApiBox.vue +++ b/v3-docs/docs/components/ApiBox.vue @@ -1,5 +1,6 @@ diff --git a/v3-docs/docs/components/helpers/Booleans.vue b/v3-docs/docs/components/helpers/Booleans.vue index 6573cf5fc6..ddae4a5324 100644 --- a/v3-docs/docs/components/helpers/Booleans.vue +++ b/v3-docs/docs/components/helpers/Booleans.vue @@ -5,12 +5,13 @@ const props = defineProps<{ from: string; longname: string; + memberof: string; }>()