From f9bee7972326da44adad7378a7f3432550fe2fc1 Mon Sep 17 00:00:00 2001 From: Adham Farrag Date: Fri, 12 Jan 2024 11:44:54 +0800 Subject: [PATCH] refactor: nuxtr activation and public commands --- .eslintrc | 64 +- package.json | 2253 ++++++++++++++++++------------------ pnpm-lock.yaml | 196 ++-- src/commands/Component.ts | 8 +- src/commands/Composable.ts | 6 +- src/commands/Layout.ts | 6 +- src/commands/Middleware.ts | 12 +- src/commands/Nitro.ts | 128 +- src/commands/Page.ts | 10 +- src/commands/Plugin.ts | 12 +- src/commands/Project.ts | 5 - src/commands/Store.ts | 14 +- src/commands/Structure.ts | 20 +- src/commands/Util.ts | 12 +- src/extension.ts | 14 +- src/index.ts | 19 +- src/types.ts | 2 + src/utils/commands.ts | 13 +- src/utils/dependency.ts | 2 +- src/utils/file.ts | 38 +- src/utils/global.ts | 4 +- src/utils/nuxt.ts | 46 +- tsup.config.ts | 7 +- ui/build/assets/index.js | 22 +- ui/package.json | 4 +- 25 files changed, 1469 insertions(+), 1448 deletions(-) diff --git a/.eslintrc b/.eslintrc index 9677fe8..e304ae9 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,35 +1,35 @@ { - "root": true, - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 6, - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint", - "oxlint" + "root": true, + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module" + }, + "plugins": [ + "@typescript-eslint", + "oxlint" + ], + "rules": { + "@typescript-eslint/naming-convention": "off", + "@typescript-eslint/semi": 0, + "curly": [ + "error", + "all" ], - "rules": { - "@typescript-eslint/naming-convention": "off", - "@typescript-eslint/semi": 0, - "curly": [ - "error", - "all" - ], - "eqeqeq": "warn", - "no-throw-literal": "warn", - "semi": "off", - "@typescript-eslint/indent": [ - "error", - 4 - ], - "no-multiple-empty-lines": "warn", - "no-empty": "warn" - }, - "ignorePatterns": [ - "out", - "dist", - "**/*.d.ts", - "ui/**" - ] + "eqeqeq": "warn", + "no-throw-literal": "warn", + "semi": "off", + "@typescript-eslint/indent": [ + "error", + 4 + ], + "no-multiple-empty-lines": "warn", + "no-empty": "warn" + }, + "ignorePatterns": [ + "out", + "dist", + "**/*.d.ts", + "ui/**" + ] } \ No newline at end of file diff --git a/package.json b/package.json index 9b440c0..c53e459 100644 --- a/package.json +++ b/package.json @@ -1,1142 +1,1141 @@ { - "name": "nuxtr-vscode", - "displayName": "Nuxtr", - "description": "An extension for Nuxt.js offering commands and tools to make your experience more pleasant.", - "version": "0.2.12", - "packageManager": "pnpm@8.14.0", - "engines": { - "vscode": "^1.85.0" - }, - "categories": [ - "Programming Languages", - "Snippets" - ], - "repository": "https://github.com/nuxtrdev/nuxtr-vscode", - "homepage": "https://nuxtr.com", - "activationEvents": [ - "workspaceContains:**/nuxt.config.{js,ts}", - "workspaceContains:**/package.json" - ], - "files": [ - "out" - ], - "main": "./out/index.js", - "icon": "assets/logo.png", - "publisher": "Nuxtr", - "license": "MIT", - "keywords": [ - "Nuxt", - "Vue", - "Nuxt Framework", - "VSCode", - "Nuxtr", - "Nuxtr VSCode" + "name": "nuxtr-vscode", + "displayName": "Nuxtr", + "description": "An extension for Nuxt offering commands and tools to make your experience more pleasant.", + "version": "0.2.12", + "packageManager": "pnpm@8.14.1", + "engines": { + "vscode": "^1.85.0" + }, + "categories": [ + "Programming Languages", + "Snippets" + ], + "repository": "https://github.com/nuxtrdev/nuxtr-vscode", + "homepage": "https://nuxtr.com", + "activationEvents": [ + "onStartupFinished" + ], + "files": [ + "out" + ], + "main": "./out/index.js", + "icon": "assets/logo.png", + "publisher": "Nuxtr", + "license": "MIT", + "keywords": [ + "Nuxt", + "Vue", + "Nuxt Framework", + "VSCode", + "Nuxtr", + "Nuxtr VSCode" + ], + "contributes": { + "snippets": [ + { + "language": "html", + "path": "./snippets/nuxt/components.json" + }, + { + "language": "vue", + "path": "./snippets/nuxt/components.json" + }, + { + "language": "html", + "path": "./snippets/nuxt/boilerplates.json" + }, + { + "language": "vue", + "path": "./snippets/nuxt/boilerplates.json" + }, + { + "language": "javascript", + "path": "./snippets/nuxt/composables.json" + }, + { + "language": "typescript", + "path": "./snippets/nuxt/composables.json" + }, + { + "language": "javascript", + "path": "./snippets/nuxt/utils.json" + }, + { + "language": "typescript", + "path": "./snippets/nuxt/utils.json" + }, + { + "language": "javascript", + "path": "./snippets/nitro/imports.json" + }, + { + "language": "typescript", + "path": "./snippets/nitro/imports.json" + } ], - "contributes": { - "snippets": [ - { - "language": "html", - "path": "./snippets/nuxt/components.json" - }, - { - "language": "vue", - "path": "./snippets/nuxt/components.json" - }, - { - "language": "html", - "path": "./snippets/nuxt/boilerplates.json" - }, - { - "language": "vue", - "path": "./snippets/nuxt/boilerplates.json" - }, - { - "language": "javascript", - "path": "./snippets/nuxt/composables.json" - }, - { - "language": "typescript", - "path": "./snippets/nuxt/composables.json" - }, - { - "language": "javascript", - "path": "./snippets/nuxt/utils.json" - }, - { - "language": "typescript", - "path": "./snippets/nuxt/utils.json" - }, - { - "language": "javascript", - "path": "./snippets/nitro/imports.json" - }, - { - "language": "typescript", - "path": "./snippets/nitro/imports.json" - } + "languages": [ + { + "id": "Log", + "aliases": [ + "log" ], - "languages": [ - { - "id": "Log", - "aliases": [ - "log" - ], - "extensions": [ - ".log" - ], - "configuration": "./log.configuration.json", - "mimetypes": [ - "log", - "text/log", - "text/x-log", - "text/x-code-output", - "x-code-output" - ] - }, - { - "id": "nuxtignore", - "aliases": [ - "nuxtignore" - ], - "extensions": [ - ".nuxtignore" - ] - }, - { - "id": "nuxtrc", - "aliases": [ - "nuxtrc" - ], - "extensions": [ - ".nuxtrc" - ] - } + "extensions": [ + ".log" ], - "configurationDefaults": { - "files.associations": { - "*.page-template": "vue", - "*.layout-template": "vue", - "*.vue": "vue" - } - }, - "grammars": [ - { - "language": "Log", - "scopeName": "code.log", - "path": "./syntaxes/log.tmLanguage.json" - }, - { - "language": "nuxtrc", - "scopeName": "source.nuxtrc", - "path": "./syntaxes/nuxtrc.tmLanguage.json" - }, - { - "language": "nuxtignore", - "scopeName": "source.nuxtignore", - "path": "./syntaxes/nuxtignore.tmLanguage.json" - } - ], - "viewsContainers": { - "activitybar": [ - { - "id": "sidebar-view", - "title": "Nuxtr", - "icon": "./assets/logo.svg", - "when": "nuxtr.isNuxtProject" - } - ] - }, - "views": { - "sidebar-view": [ - { - "type": "webview", - "id": "nuxtrSidebar", - "name": "Sidebar", - "icon": "./assets/logo.svg", - "contextualTitle": "Nuxtr", - "when": "nuxtr.isNuxtProject" - } - ] - }, - "menus": { - "commandPalette": [ - { - "command": "nuxtr.projectStructure", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createPage", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createComponent", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createComposable", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createLayout", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createPlugin", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createUtil", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createMiddleware", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createNitroAPI", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createNitroPlugin", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createNitroUtil", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createNitroMiddleware", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createNitroRoute", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directCreateUtil", - "when": "false" - }, - { - "command": "nuxtr.openSettings", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.openDocumentation", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.openModules", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtDev", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtBuild", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtGenerate", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtCleanUp", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtInfo", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtModule", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.showCLICommands", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtAnalyze", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createStore", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.appConfig", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtIgnore", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtRC", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.installDependencies", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.updateDependencies", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.configureCSS", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.configureLinters", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.configurePug", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directToggleDevTools", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.errorLayout", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.managePackageVersion", - "when": "false" - }, - { - "command": "nuxtr.createEmptyFileTemplate", - "when": "false" - }, - { - "command": "nuxtr.directCreateComponent", - "when": "false" - }, - { - "command": "nuxtr.directCreateNitroAPI", - "when": "false" - }, - { - "command": "nuxtr.directCreateNitroRoute", - "when": "false" - }, - { - "command": "nuxtr.directCreateComposable", - "when": "false" - }, - { - "command": "nuxtr.directCreateStore", - "when": "false" - }, - { - "command": "nuxtr.directCreateMiddleware", - "when": "false" - }, - { - "command": "nuxtr.directCreatePlugin", - "when": "false" - }, - { - "command": "nuxtr.directCreateLayout", - "when": "false" - }, - { - "command": "nuxtr.directCreatePage", - "when": "false" - }, - { - "command": "nuxtr.directUpgradeNuxt", - "when": "false" - }, - { - "command": "nuxtr.sidebarModulesView", - "when": "false" - }, - { - "command": "nuxtr.createModuleAction", - "when": "false" - }, - { - "command": "nuxtr.createLayer", - "when": "false" - }, - { - "command": "nuxtr.sidebarProjectView", - "when": "false" - }, - { - "command": "nuxtr.addNuxtConfigProperty", - "when": "false" - }, - { - "command": "nuxtr.createLayoutTemplate", - "when": "false" - }, - { - "command": "nuxtr.createPageTemplate", - "when": "false" - }, - { - "command": "nuxtr.createFileFromTemplate", - "when": "false" - }, - { - "command": "nuxtr.globalState", - "when": "false" - } - ], - "view/title": [ - { - "command": "nuxtr.openSettings", - "group": "navigation@1", - "when": "view == nuxtrSidebar" - }, - { - "command": "nuxtr.sidebarModulesView", - "group": "navigation@2", - "when": "view == nuxtrSidebar" - }, - { - "command": "nuxtr.sidebarProjectView", - "group": "navigation@3", - "when": "view == nuxtrSidebar" - } - ], - "explorer/context": [ - { - "command": "nuxtr.directCreateComponent", - "when": "(nuxtr.isNuxtProject && resourceFilename =~ /(components.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(components.*)/ && explorerResourceIsFolder)", - "group": "navigation" - }, - { - "command": "nuxtr.directCreatePage", - "when": " (nuxtr.isNuxtProject && resourceFilename =~ /(pages.*)/) || (nuxtr.isNuxtProject && resourceDirname =~ /(pages.*)/ && explorerResourceIsFolder)", - "group": "navigation" - }, - { - "command": "nuxtr.directCreateNitroAPI", - "when": "(nuxtr.isNuxtProject && resourceFilename =~ /(api.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(api.*)/ && explorerResourceIsFolder)", - "group": "navigation" - }, - { - "command": "nuxtr.directCreateNitroRoute", - "when": "(nuxtr.isNuxtProject && resourceFilename =~ /(routes.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(routes.*)/ && explorerResourceIsFolder)", - "group": "navigation" - }, - { - "command": "nuxtr.directCreateStore", - "when": "(nuxtr.isNuxtProject && resourceFilename =~ /(store.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(store.*)/ && explorerResourceIsFolder)", - "group": "navigation" - }, - { - "command": "nuxtr.directCreateMiddleware", - "when": "( nuxtr.isNuxtProject && resourceFilename =~ /(middleware.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(middleware.*)/ && explorerResourceIsFolder)", - "group": "navigation" - }, - { - "command": "nuxtr.directCreateLayout", - "when": "( nuxtr.isNuxtProject && resourceFilename =~ /(layouts.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(layouts.*)/ && explorerResourceIsFolder)", - "group": "navigation" - }, - { - "command": "nuxtr.directCreatePlugin", - "when": "( nuxtr.isNuxtProject && resourceFilename =~ /(plugins.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(plugins.*)/ && explorerResourceIsFolder)", - "group": "navigation" - }, - { - "command": "nuxtr.directCreateUtil", - "when": "( nuxtr.isNuxtProject && resourceFilename =~ /(utils.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(utils.*)/ && explorerResourceIsFolder)", - "group": "navigation" - }, - { - "command": "nuxtr.directCreateComposable", - "when": "( nuxtr.isNuxtProject && resourceFilename =~ /(composables.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(composables.*)/ && explorerResourceIsFolder)", - "group": "navigation" - }, - { - "command": "nuxtr.projectStructure", - "when": " nuxtr.isNuxtProject && explorerResourceIsFolder && explorerResourceIsRoot", - "group": "navigation" - } - ], - "editor/context": [ - { - "command": "nuxtr.createPageTemplate", - "when": " nuxtr.isNuxtProject && resourcePath =~ /pages/ ", - "group": "5_cutcopypaste@1" - }, - { - "command": "nuxtr.createLayoutTemplate", - "when": " nuxtr.isNuxtProject && resourcePath =~ /layouts/ ", - "group": "5_cutcopypaste@1" - } - ] - }, - "configuration": [ - { - "title": "General", - "properties": { - "nuxtr.openItemsAfterCreation": { - "type": "boolean", - "default": false, - "description": "Open files after creation" - }, - "nuxtr.defaultPackageManager": { - "type": "string", - "default": "null", - "enum": [ - "null", - "Yarn", - "NPM", - "pnpm", - "Bun" - ], - "description": "Default package manager" - }, - "nuxtr.monorepoMode.DirectoryName": { - "type": "string", - "default": null, - "description": "Nuxt project path inside your monorepo" - }, - "nuxtr.projectTemplates": { - "type": "array", - "default": [], - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Template Name." - }, - "description": { - "type": "string", - "description": "Description template." - }, - "repoURL": { - "type": "string", - "description": "Repo URL of the template." - }, - "branch": { - "type": "string", - "description": "Branch of the template." - } - }, - "required": [ - "name", - "description", - "repoURL" - ] - } - } - } - }, - { - "title": "File Creation", - "type": "object", - "properties": { - "nuxtr.vueFiles.template.defaultLanguage": { - "type": "string", - "default": "html", - "enum": [ - "html", - "pug" - ], - "description": "Default language for script tag" - }, - "nuxtr.vueFiles.firstTag": { - "type": "string", - "default": "template", - "enum": [ - "template", - "script" - ], - "description": "First tag in Vue files template" - }, - "nuxtr.vueFiles.script.type": { - "type": "string", - "default": "setup", - "enum": [ - "setup", - "normal" - ], - "description": "Script tag type in Vue files template" - }, - "nuxtr.vueFiles.script.defaultLanguage": { - "type": "string", - "default": "ts", - "enum": [ - "js", - "ts" - ], - "description": "Default language for script tag" - }, - "nuxtr.vueFiles.style.addStyleTag": { - "type": "boolean", - "default": true, - "description": "Add style tag to Vue files template" - }, - "nuxtr.vueFiles.style.alwaysScoped": { - "type": "boolean", - "default": false, - "description": "Always add scoped attribute to style tag" - }, - "nuxtr.vueFiles.style.defaultLanguage": { - "type": "string", - "default": "css", - "enum": [ - "css", - "scss", - "sass", - "less", - "stylus", - "postcss" - ], - "description": "Default language for style tag" - }, - "nuxtr.vueFiles.pages.defaultTemplate": { - "type": "string", - "default": "default.page-template", - "description": "Default page template" - }, - "nuxtr.vueFiles.layouts.defaultTemplate": { - "type": "string", - "default": "default.layout-template", - "description": "Default layout template" - }, - "nuxtr.piniaFiles.defaultTemplate": { - "type": "string", - "default": "options", - "enum": [ - "options", - "setup" - ], - "description": "Default language for script tag" - } - } - }, - { - "title": "Intellisense", - "properties": { - "nuxtr.intellisense.vueFiles": { - "type": "boolean", - "default": true, - "description": "Allow intellisense for Vue files" - }, - "nuxtr.intellisense.nuxtignore": { - "type": "boolean", - "default": true, - "description": "Allow .nuxtignore intellisense" - }, - "nuxtr.intellisense.nuxtrc": { - "type": "boolean", - "default": true, - "description": "Allow .nuxtrc intellisense" - } - } - }, - { - "title": "Snippets", - "properties": { - "nuxtr.snippets.nuxt": { - "type": "boolean", - "default": true, - "description": "Enable / Disable Nuxt Snippets" - }, - "nuxtr.snippets.nitro": { - "type": "boolean", - "default": true, - "description": "Enable / Disable Nitro Snippets" - } - } - } + "configuration": "./log.configuration.json", + "mimetypes": [ + "log", + "text/log", + "text/x-log", + "text/x-code-output", + "x-code-output" + ] + }, + { + "id": "nuxtignore", + "aliases": [ + "nuxtignore" ], - "commands": [ - { - "command": "nuxtr.createPage", - "title": "Create new Page", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createComponent", - "title": "Create new Component", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createComposable", - "title": "Create new Composable", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directCreateComposable", - "title": "New Composable...", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createLayout", - "title": "Create new Layout", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directCreateLayout", - "title": "New Layout...", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createPlugin", - "title": "Create new Plugin", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createUtil", - "title": "Create new Utility", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createNitroPlugin", - "title": "Create new Nitro Plugin", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createNitroUtil", - "title": "Create new Nitro Utility", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directCreatePlugin", - "title": "New Plugin...", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directCreateUtil", - "title": "New Utility...", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createMiddleware", - "title": "Create new Middleware", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directCreateMiddleware", - "title": "New Middleware...", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createNitroAPI", - "title": "Create new Nitro API", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createNitroMiddleware", - "title": "Create new Nitro Middleware", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createNitroRoute", - "title": "Create new Nitro Route", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directCreateNitroAPI", - "title": "New API...", - "shortTitle": "Create new API", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directCreateNitroRoute", - "title": "New Route...", - "shortTitle": "Create new Route", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.projectStructure", - "title": "Nuxt project structure...", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.sidebarProjectView", - "title": "Focus on Project View", - "icon": "$(nuxtr-project)", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.sidebarModulesView", - "title": "Focus on Modules View", - "icon": "$(nuxtr-module)", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createModuleAction", - "title": "Create new action", - "icon": "$(nuxtr-module)", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createLayer", - "title": "Create new Layer", - "icon": "$(nuxtr-module)", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.openSettings", - "title": "Settings", - "icon": "$(nuxtr-settings)", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.openDocumentation", - "title": "Open Documentation", - "category": "Nuxt Docs", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.openModules", - "title": "Open Modules Directory", - "category": "Nuxt Docs", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtDev", - "title": "Run Nuxi Dev", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtBuild", - "title": "Run Nuxi Build", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtGenerate", - "title": "Run Nuxi Generate", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtCleanUp", - "title": "Run Nuxi CleanUp", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtInfo", - "title": "Run Nuxi Info", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtModule", - "title": "Run Nuxi Module", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.showCLICommands", - "title": "Nuxi CLI", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtAnalyze", - "title": "Run Nuxi Analyze", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createStore", - "title": "Create new Store", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directCreateStore", - "title": "New Store...", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.appConfig", - "title": "Create app.config.ts file", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtIgnore", - "title": "Create .nuxtignore file", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.nuxtRC", - "title": "Create .nuxtrc file", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.errorLayout", - "title": "Create error.vue Layout", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.installDependencies", - "title": "Install Dependencies", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.updateDependencies", - "title": "Update Dependencies", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directCreateComponent", - "title": "New Component...", - "shortTitle": "Create Component", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directCreatePage", - "title": "New Page...", - "category": "Nuxtr", - "shortTitle": "Create Page", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directToggleDevTools", - "title": "Toggle DevTools", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.directUpgradeNuxt", - "title": "Toggle DevTools", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.managePackageVersion", - "title": "Manage Package Version", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.configureCSS", - "title": "Configure CSS Frameworks", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.configureLinters", - "title": "Configure Linters", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.configurePug", - "title": "Configure Pug", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createPageTemplate", - "title": "Create Vue Page Template", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createLayoutTemplate", - "title": "Create Vue Layout Template", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.addNuxtConfigProperty", - "title": "Add Nuxt Config Property", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createFileFromTemplate", - "title": "Create new Page", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createEmptyFileTemplate", - "title": "Create new Vue Template", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.globalState", - "title": "Global State", - "category": "Nuxtr", - "when": "nuxtr.isNuxtProject" - }, - { - "command": "nuxtr.createProject", - "title": "Create new Nuxt Project", - "category": "Nuxtr" - } + "extensions": [ + ".nuxtignore" + ] + }, + { + "id": "nuxtrc", + "aliases": [ + "nuxtrc" ], - "keybindings": [], - "icons": { - "nuxt-logo": { - "description": "Nuxt Logo", - "default": { - "fontPath": "assets/icon-font/icons.woff", - "fontCharacter": "\\0086" - } - }, - "nuxt-disabled": { - "description": "Nuxt Logo disabled", - "default": { - "fontPath": "assets/icon-font/icons.woff", - "fontCharacter": "\\0087" - } - }, - "nuxt-not-found": { - "description": "Nuxt DevTools not found", - "default": { - "fontPath": "assets/icon-font/icons.woff", - "fontCharacter": "\\0088" - } - }, - "nuxtr-module": { - "description": "Nuxtr Module Icon", - "default": { - "fontPath": "assets/icon-font/icons.woff", - "fontCharacter": "\\0089" - } - }, - "nuxtr-project": { - "description": "Nuxtr Project Icon", - "default": { - "fontPath": "assets/icon-font/icons.woff", - "fontCharacter": "\\0090" - } - }, - "nuxtr-settings": { - "description": "Nuxtr Settings Icon", - "default": { - "fontPath": "assets/icon-font/icons.woff", - "fontCharacter": "\\0091" - } - }, - "nuxtr-github": { - "description": "Nuxtr Github Icon", - "default": { - "fontPath": "assets/icon-font/icons.woff", - "fontCharacter": "\\0092" - } - }, - "nuxtr-npm": { - "description": "Nuxtr NPM Icon", - "default": { - "fontPath": "assets/icon-font/icons.woff", - "fontCharacter": "\\0093" - } - } - }, - "iconFonts": [ - { - "id": "icons", - "src": [ - { - "path": "assets/icon-font/icons.woff", - "format": "woff" - } - ] - } + "extensions": [ + ".nuxtrc" ] + } + ], + "configurationDefaults": { + "files.associations": { + "*.page-template": "vue", + "*.layout-template": "vue", + "*.vue": "vue" + } }, - "permissions": [ - "webview", - "http" + "grammars": [ + { + "language": "Log", + "scopeName": "code.log", + "path": "./syntaxes/log.tmLanguage.json" + }, + { + "language": "nuxtrc", + "scopeName": "source.nuxtrc", + "path": "./syntaxes/nuxtrc.tmLanguage.json" + }, + { + "language": "nuxtignore", + "scopeName": "source.nuxtignore", + "path": "./syntaxes/nuxtignore.tmLanguage.json" + } ], - "scripts": { - "install:all": "pnpm install && cd ui && pnpm install", - "build": "tsup && cd ui && pnpm build", - "vscode:prepublish": "pnpm build", - "dev": "pnpm build -- --watch", - "lint": "eslint --cache ./src --ext .ts --fix", - "package": "vsce package --no-dependencies", - "publish:release": "vsce publish --no-dependencies", - "publish:pre": "vsce publish --pre-release --no-dependencies", - "release": "pnpm build && changelogen --release --push && pnpm publish:release", - "prerelease": "pnpm build && changelogen --prerelease --push && pnpm publish:pre", - "typecheck": "tsc --noEmit", - "knip": "knip" + "viewsContainers": { + "activitybar": [ + { + "id": "sidebar-view", + "title": "Nuxtr", + "icon": "./assets/logo.svg", + "when": "nuxtr.isNuxtProject" + } + ] }, - "devDependencies": { - "@types/fs-extra": "^11.0.4", - "@types/node": "20.4.1", - "@types/vscode": "^1.85.0", - "@typescript-eslint/eslint-plugin": "^6.18.1", - "@typescript-eslint/parser": "^6.18.1", - "changelogen": "^0.5.5", - "eslint": "^8.56.0", - "eslint-plugin-oxlint": "^0.1.0", - "knip": "^3.13.0", - "nuxi-edge": "3.9.1-1697113884.a6acb6a", - "taze": "^0.11.4", - "terser": "^5.26.0", - "tsup": "^7.3.0", - "typescript": "^5.3.3" + "views": { + "sidebar-view": [ + { + "type": "webview", + "id": "nuxtrSidebar", + "name": "Sidebar", + "icon": "./assets/logo.svg", + "contextualTitle": "Nuxtr", + "when": "nuxtr.isNuxtProject" + } + ] }, - "dependencies": { - "@nuxt/schema": "^3.9.1", - "destr": "^2.0.2", - "fs-extra": "^11.2.0", - "giget": "^1.2.1", - "jiti": "^1.21.0", - "magicast": "^0.3.2", - "ofetch": "^1.3.3", - "pathe": "^1.1.1", - "pkg-types": "^1.0.3", - "semver": "^7.5.4", - "string-ts": "^1.3.3" + "menus": { + "commandPalette": [ + { + "command": "nuxtr.projectStructure", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createPage", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createComponent", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createComposable", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createLayout", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createPlugin", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createUtil", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createMiddleware", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createNitroAPI", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createNitroPlugin", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createNitroUtil", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createNitroMiddleware", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createNitroRoute", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directCreateUtil", + "when": "false" + }, + { + "command": "nuxtr.openSettings", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.openDocumentation", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.openModules", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtDev", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtBuild", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtGenerate", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtCleanUp", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtInfo", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtModule", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.showCLICommands", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtAnalyze", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createStore", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.appConfig", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtIgnore", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtRC", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.installDependencies", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.updateDependencies", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.configureCSS", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.configureLinters", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.configurePug", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directToggleDevTools", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.errorLayout", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.managePackageVersion", + "when": "false" + }, + { + "command": "nuxtr.createEmptyFileTemplate", + "when": "false" + }, + { + "command": "nuxtr.directCreateComponent", + "when": "false" + }, + { + "command": "nuxtr.directCreateNitroAPI", + "when": "false" + }, + { + "command": "nuxtr.directCreateNitroRoute", + "when": "false" + }, + { + "command": "nuxtr.directCreateComposable", + "when": "false" + }, + { + "command": "nuxtr.directCreateStore", + "when": "false" + }, + { + "command": "nuxtr.directCreateMiddleware", + "when": "false" + }, + { + "command": "nuxtr.directCreatePlugin", + "when": "false" + }, + { + "command": "nuxtr.directCreateLayout", + "when": "false" + }, + { + "command": "nuxtr.directCreatePage", + "when": "false" + }, + { + "command": "nuxtr.directUpgradeNuxt", + "when": "false" + }, + { + "command": "nuxtr.sidebarModulesView", + "when": "false" + }, + { + "command": "nuxtr.createModuleAction", + "when": "false" + }, + { + "command": "nuxtr.createLayer", + "when": "false" + }, + { + "command": "nuxtr.sidebarProjectView", + "when": "false" + }, + { + "command": "nuxtr.addNuxtConfigProperty", + "when": "false" + }, + { + "command": "nuxtr.createLayoutTemplate", + "when": "false" + }, + { + "command": "nuxtr.createPageTemplate", + "when": "false" + }, + { + "command": "nuxtr.createFileFromTemplate", + "when": "false" + }, + { + "command": "nuxtr.globalState", + "when": "false" + } + ], + "view/title": [ + { + "command": "nuxtr.openSettings", + "group": "navigation@1", + "when": "view == nuxtrSidebar" + }, + { + "command": "nuxtr.sidebarModulesView", + "group": "navigation@2", + "when": "view == nuxtrSidebar" + }, + { + "command": "nuxtr.sidebarProjectView", + "group": "navigation@3", + "when": "view == nuxtrSidebar" + } + ], + "explorer/context": [ + { + "command": "nuxtr.directCreateComponent", + "when": "(nuxtr.isNuxtProject && resourceFilename =~ /(components.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(components.*)/ && explorerResourceIsFolder)", + "group": "navigation" + }, + { + "command": "nuxtr.directCreatePage", + "when": " (nuxtr.isNuxtProject && resourceFilename =~ /(pages.*)/) || (nuxtr.isNuxtProject && resourceDirname =~ /(pages.*)/ && explorerResourceIsFolder)", + "group": "navigation" + }, + { + "command": "nuxtr.directCreateNitroAPI", + "when": "(nuxtr.isNuxtProject && resourceFilename =~ /(api.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(api.*)/ && explorerResourceIsFolder)", + "group": "navigation" + }, + { + "command": "nuxtr.directCreateNitroRoute", + "when": "(nuxtr.isNuxtProject && resourceFilename =~ /(routes.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(routes.*)/ && explorerResourceIsFolder)", + "group": "navigation" + }, + { + "command": "nuxtr.directCreateStore", + "when": "(nuxtr.isNuxtProject && resourceFilename =~ /(store.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(store.*)/ && explorerResourceIsFolder)", + "group": "navigation" + }, + { + "command": "nuxtr.directCreateMiddleware", + "when": "( nuxtr.isNuxtProject && resourceFilename =~ /(middleware.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(middleware.*)/ && explorerResourceIsFolder)", + "group": "navigation" + }, + { + "command": "nuxtr.directCreateLayout", + "when": "( nuxtr.isNuxtProject && resourceFilename =~ /(layouts.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(layouts.*)/ && explorerResourceIsFolder)", + "group": "navigation" + }, + { + "command": "nuxtr.directCreatePlugin", + "when": "( nuxtr.isNuxtProject && resourceFilename =~ /(plugins.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(plugins.*)/ && explorerResourceIsFolder)", + "group": "navigation" + }, + { + "command": "nuxtr.directCreateUtil", + "when": "( nuxtr.isNuxtProject && resourceFilename =~ /(utils.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(utils.*)/ && explorerResourceIsFolder)", + "group": "navigation" + }, + { + "command": "nuxtr.directCreateComposable", + "when": "( nuxtr.isNuxtProject && resourceFilename =~ /(composables.*)/) || ( nuxtr.isNuxtProject && resourceDirname =~ /(composables.*)/ && explorerResourceIsFolder)", + "group": "navigation" + }, + { + "command": "nuxtr.projectStructure", + "when": " nuxtr.isNuxtProject && explorerResourceIsFolder && explorerResourceIsRoot", + "group": "navigation" + } + ], + "editor/context": [ + { + "command": "nuxtr.createPageTemplate", + "when": " nuxtr.isNuxtProject && resourcePath =~ /pages/ ", + "group": "5_cutcopypaste@1" + }, + { + "command": "nuxtr.createLayoutTemplate", + "when": " nuxtr.isNuxtProject && resourcePath =~ /layouts/ ", + "group": "5_cutcopypaste@1" + } + ] }, - "pnpm": { - "overrides": { - "js-yaml@<2.0.5": ">=4.1.0", - "js-yaml@<3.13.0": ">=4.1.0", - "js-yaml@<3.13.1": ">=4.1.0", - "uglify-js@<2.4.24": ">=3.17.4", - "uglify-js@<2.6.0": ">=3.17.4" + "configuration": [ + { + "title": "General", + "properties": { + "nuxtr.openItemsAfterCreation": { + "type": "boolean", + "default": false, + "description": "Open files after creation" + }, + "nuxtr.defaultPackageManager": { + "type": "string", + "default": "null", + "enum": [ + "null", + "Yarn", + "NPM", + "pnpm", + "Bun" + ], + "description": "Default package manager" + }, + "nuxtr.monorepoMode.DirectoryName": { + "type": "string", + "default": null, + "description": "Nuxt project path inside your monorepo" + }, + "nuxtr.projectTemplates": { + "type": "array", + "default": [], + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Template Name." + }, + "description": { + "type": "string", + "description": "Description template." + }, + "repoURL": { + "type": "string", + "description": "Repo URL of the template." + }, + "branch": { + "type": "string", + "description": "Branch of the template." + } + }, + "required": [ + "name", + "description", + "repoURL" + ] + } + } + } + }, + { + "title": "File Creation", + "type": "object", + "properties": { + "nuxtr.vueFiles.template.defaultLanguage": { + "type": "string", + "default": "html", + "enum": [ + "html", + "pug" + ], + "description": "Default language for script tag" + }, + "nuxtr.vueFiles.firstTag": { + "type": "string", + "default": "template", + "enum": [ + "template", + "script" + ], + "description": "First tag in Vue files template" + }, + "nuxtr.vueFiles.script.type": { + "type": "string", + "default": "setup", + "enum": [ + "setup", + "normal" + ], + "description": "Script tag type in Vue files template" + }, + "nuxtr.vueFiles.script.defaultLanguage": { + "type": "string", + "default": "ts", + "enum": [ + "js", + "ts" + ], + "description": "Default language for script tag" + }, + "nuxtr.vueFiles.style.addStyleTag": { + "type": "boolean", + "default": true, + "description": "Add style tag to Vue files template" + }, + "nuxtr.vueFiles.style.alwaysScoped": { + "type": "boolean", + "default": false, + "description": "Always add scoped attribute to style tag" + }, + "nuxtr.vueFiles.style.defaultLanguage": { + "type": "string", + "default": "css", + "enum": [ + "css", + "scss", + "sass", + "less", + "stylus", + "postcss" + ], + "description": "Default language for style tag" + }, + "nuxtr.vueFiles.pages.defaultTemplate": { + "type": "string", + "default": "default.page-template", + "description": "Default page template" + }, + "nuxtr.vueFiles.layouts.defaultTemplate": { + "type": "string", + "default": "default.layout-template", + "description": "Default layout template" + }, + "nuxtr.piniaFiles.defaultTemplate": { + "type": "string", + "default": "options", + "enum": [ + "options", + "setup" + ], + "description": "Default language for script tag" + } + } + }, + { + "title": "Intellisense", + "properties": { + "nuxtr.intellisense.vueFiles": { + "type": "boolean", + "default": true, + "description": "Allow intellisense for Vue files" + }, + "nuxtr.intellisense.nuxtignore": { + "type": "boolean", + "default": true, + "description": "Allow .nuxtignore intellisense" + }, + "nuxtr.intellisense.nuxtrc": { + "type": "boolean", + "default": true, + "description": "Allow .nuxtrc intellisense" + } } + }, + { + "title": "Snippets", + "properties": { + "nuxtr.snippets.nuxt": { + "type": "boolean", + "default": true, + "description": "Enable / Disable Nuxt Snippets" + }, + "nuxtr.snippets.nitro": { + "type": "boolean", + "default": true, + "description": "Enable / Disable Nitro Snippets" + } + } + } + ], + "commands": [ + { + "command": "nuxtr.createPage", + "title": "Create new Page", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createComponent", + "title": "Create new Component", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createComposable", + "title": "Create new Composable", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directCreateComposable", + "title": "New Composable...", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createLayout", + "title": "Create new Layout", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directCreateLayout", + "title": "New Layout...", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createPlugin", + "title": "Create new Plugin", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createUtil", + "title": "Create new Utility", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createNitroPlugin", + "title": "Create new Nitro Plugin", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createNitroUtil", + "title": "Create new Nitro Utility", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directCreatePlugin", + "title": "New Plugin...", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directCreateUtil", + "title": "New Utility...", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createMiddleware", + "title": "Create new Middleware", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directCreateMiddleware", + "title": "New Middleware...", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createNitroAPI", + "title": "Create new Nitro API", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createNitroMiddleware", + "title": "Create new Nitro Middleware", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createNitroRoute", + "title": "Create new Nitro Route", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directCreateNitroAPI", + "title": "New API...", + "shortTitle": "Create new API", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directCreateNitroRoute", + "title": "New Route...", + "shortTitle": "Create new Route", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.projectStructure", + "title": "Nuxt project structure...", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.sidebarProjectView", + "title": "Focus on Project View", + "icon": "$(nuxtr-project)", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.sidebarModulesView", + "title": "Focus on Modules View", + "icon": "$(nuxtr-module)", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createModuleAction", + "title": "Create new action", + "icon": "$(nuxtr-module)", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createLayer", + "title": "Create new Layer", + "icon": "$(nuxtr-module)", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.openSettings", + "title": "Settings", + "icon": "$(nuxtr-settings)", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.openDocumentation", + "title": "Open Documentation", + "category": "Nuxt Docs", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.openModules", + "title": "Open Modules Directory", + "category": "Nuxt Docs", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtDev", + "title": "Run Nuxi Dev", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtBuild", + "title": "Run Nuxi Build", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtGenerate", + "title": "Run Nuxi Generate", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtCleanUp", + "title": "Run Nuxi CleanUp", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtInfo", + "title": "Run Nuxi Info", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtModule", + "title": "Run Nuxi Module", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.showCLICommands", + "title": "Nuxi CLI", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtAnalyze", + "title": "Run Nuxi Analyze", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createStore", + "title": "Create new Store", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directCreateStore", + "title": "New Store...", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.appConfig", + "title": "Create app.config.ts file", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtIgnore", + "title": "Create .nuxtignore file", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.nuxtRC", + "title": "Create .nuxtrc file", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.errorLayout", + "title": "Create error.vue Layout", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.installDependencies", + "title": "Install Dependencies", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.updateDependencies", + "title": "Update Dependencies", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directCreateComponent", + "title": "New Component...", + "shortTitle": "Create Component", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directCreatePage", + "title": "New Page...", + "category": "Nuxtr", + "shortTitle": "Create Page", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directToggleDevTools", + "title": "Toggle DevTools", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.directUpgradeNuxt", + "title": "Toggle DevTools", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.managePackageVersion", + "title": "Manage Package Version", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.configureCSS", + "title": "Configure CSS Frameworks", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.configureLinters", + "title": "Configure Linters", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.configurePug", + "title": "Configure Pug", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createPageTemplate", + "title": "Create Vue Page Template", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createLayoutTemplate", + "title": "Create Vue Layout Template", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.addNuxtConfigProperty", + "title": "Add Nuxt Config Property", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createFileFromTemplate", + "title": "Create new Page", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createEmptyFileTemplate", + "title": "Create new Vue Template", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.globalState", + "title": "Global State", + "category": "Nuxtr", + "when": "nuxtr.isNuxtProject" + }, + { + "command": "nuxtr.createProject", + "title": "Create new Nuxt Project", + "category": "Nuxtr" + } + ], + "keybindings": [], + "icons": { + "nuxt-logo": { + "description": "Nuxt Logo", + "default": { + "fontPath": "assets/icon-font/icons.woff", + "fontCharacter": "\\0086" + } + }, + "nuxt-disabled": { + "description": "Nuxt Logo disabled", + "default": { + "fontPath": "assets/icon-font/icons.woff", + "fontCharacter": "\\0087" + } + }, + "nuxt-not-found": { + "description": "Nuxt DevTools not found", + "default": { + "fontPath": "assets/icon-font/icons.woff", + "fontCharacter": "\\0088" + } + }, + "nuxtr-module": { + "description": "Nuxtr Module Icon", + "default": { + "fontPath": "assets/icon-font/icons.woff", + "fontCharacter": "\\0089" + } + }, + "nuxtr-project": { + "description": "Nuxtr Project Icon", + "default": { + "fontPath": "assets/icon-font/icons.woff", + "fontCharacter": "\\0090" + } + }, + "nuxtr-settings": { + "description": "Nuxtr Settings Icon", + "default": { + "fontPath": "assets/icon-font/icons.woff", + "fontCharacter": "\\0091" + } + }, + "nuxtr-github": { + "description": "Nuxtr Github Icon", + "default": { + "fontPath": "assets/icon-font/icons.woff", + "fontCharacter": "\\0092" + } + }, + "nuxtr-npm": { + "description": "Nuxtr NPM Icon", + "default": { + "fontPath": "assets/icon-font/icons.woff", + "fontCharacter": "\\0093" + } + } + }, + "iconFonts": [ + { + "id": "icons", + "src": [ + { + "path": "assets/icon-font/icons.woff", + "format": "woff" + } + ] + } + ] + }, + "permissions": [ + "webview", + "http" + ], + "scripts": { + "install:all": "pnpm install && cd ui && pnpm install", + "build": "tsup && cd ui && pnpm build", + "vscode:prepublish": "pnpm build", + "dev": "pnpm build -- --watch", + "lint": "eslint --cache ./src --ext .ts --fix", + "package": "vsce package --no-dependencies", + "publish:release": "vsce publish --no-dependencies", + "publish:pre": "vsce publish --pre-release --no-dependencies", + "release": "pnpm build && changelogen --release --push && pnpm publish:release", + "prerelease": "pnpm build && changelogen --prerelease --push && pnpm publish:pre", + "typecheck": "tsc --noEmit", + "knip": "knip" + }, + "devDependencies": { + "@types/fs-extra": "^11.0.4", + "@types/node": "20.4.1", + "@types/vscode": "^1.85.0", + "@typescript-eslint/eslint-plugin": "^6.18.1", + "@typescript-eslint/parser": "^6.18.1", + "changelogen": "^0.5.5", + "eslint": "^8.56.0", + "eslint-plugin-oxlint": "^0.1.0", + "knip": "^3.13.2", + "nuxi-edge": "3.9.1-1697113884.a6acb6a", + "taze": "^0.11.4", + "terser": "^5.26.0", + "tsup": "^7.3.0", + "typescript": "^5.3.3" + }, + "dependencies": { + "@nuxt/schema": "^3.9.1", + "destr": "^2.0.2", + "fs-extra": "^11.2.0", + "giget": "^1.2.1", + "jiti": "^1.21.0", + "magicast": "^0.3.2", + "ofetch": "^1.3.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "semver": "^7.5.4", + "string-ts": "^1.3.3" + }, + "pnpm": { + "overrides": { + "js-yaml@<2.0.5": ">=4.1.0", + "js-yaml@<3.13.0": ">=4.1.0", + "js-yaml@<3.13.1": ">=4.1.0", + "uglify-js@<2.4.24": ">=3.17.4", + "uglify-js@<2.6.0": ">=3.17.4" } + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 673d0bf..220150a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,8 +37,8 @@ importers: specifier: ^1.3.3 version: 1.3.3 pathe: - specifier: ^1.1.1 - version: 1.1.1 + specifier: ^1.1.2 + version: 1.1.2 pkg-types: specifier: ^1.0.3 version: 1.0.3 @@ -74,8 +74,8 @@ importers: specifier: ^0.1.0 version: 0.1.0 knip: - specifier: ^3.13.0 - version: 3.13.0(@types/node@20.4.1)(typescript@5.3.3) + specifier: ^3.13.2 + version: 3.13.2(@types/node@20.4.1)(typescript@5.3.3) nuxi-edge: specifier: 3.9.1-1697113884.a6acb6a version: 3.9.1-1697113884.a6acb6a @@ -95,8 +95,8 @@ importers: ui: dependencies: '@supabase/supabase-js': - specifier: ^2.39.2 - version: 2.39.2 + specifier: ^2.39.3 + version: 2.39.3 '@vscode/webview-ui-toolkit': specifier: ^1.4.0 version: 1.4.0(react@18.2.0) @@ -107,18 +107,18 @@ importers: specifier: ^1.3.3 version: 1.3.3 vue: - specifier: ^3.4.6 - version: 3.4.6(typescript@5.3.3) + specifier: ^3.4.10 + version: 3.4.10(typescript@5.3.3) vue-router: specifier: 4.2.4 - version: 4.2.4(vue@3.4.6) + version: 4.2.4(vue@3.4.10) devDependencies: '@types/vscode-webview': specifier: ^1.57.4 version: 1.57.4 '@vitejs/plugin-vue': specifier: ^4.6.2 - version: 4.6.2(vite@4.5.1)(vue@3.4.6) + version: 4.6.2(vite@4.5.1)(vue@3.4.10) autoprefixer: specifier: ^10.4.16 version: 10.4.16(postcss@8.4.33) @@ -391,7 +391,7 @@ packages: is-iterable: 1.1.1 iterable-lookahead: 1.0.0 lodash.curry: 4.1.1 - magic-string: 0.16.0 + magic-string: 0.30.5 map-obj: 2.0.0 object-pairs: 0.1.0 object-values: 1.0.0 @@ -1076,7 +1076,7 @@ packages: consola: 3.2.3 defu: 6.1.4 hookable: 5.5.3 - pathe: 1.1.1 + pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.1.1 std-env: 3.7.0 @@ -1412,11 +1412,12 @@ packages: '@supabase/node-fetch': 2.6.15 dev: false - /@supabase/realtime-js@2.9.1: - resolution: {integrity: sha512-OxmY2qj+y6+KI4ifTL92j5+WYP+u5/PdThlYxVb0GMcMiMHfA7yIku9yaQNC5/oRdIvhuRpTMG/8/R40eB+8pA==} + /@supabase/realtime-js@2.9.3: + resolution: {integrity: sha512-lAp50s2n3FhGJFq+wTSXLNIDPw5Y0Wxrgt44eM5nLSA3jZNUUP3Oq2Ccd1CbZdVntPCWLZvJaU//pAd2NE+QnQ==} dependencies: '@supabase/node-fetch': 2.6.15 '@types/phoenix': 1.6.4 + '@types/ws': 8.5.10 ws: 8.16.0 transitivePeerDependencies: - bufferutil @@ -1429,14 +1430,14 @@ packages: '@supabase/node-fetch': 2.6.15 dev: false - /@supabase/supabase-js@2.39.2: - resolution: {integrity: sha512-P+raK0epLef7x/s4MOUx6/TM2DX2UqMwbQXcV8PKYBX6xvX/zXARzakHsBrL/W5mA52S1vsRZjR8l7HhEPKmqA==} + /@supabase/supabase-js@2.39.3: + resolution: {integrity: sha512-NoltJSaJNKDJNutO5sJPAAi5RIWrn1z2XH+ig1+cHDojT6BTN7TvZPNa3Kq3gFQWfO5H1N9El/bCTZJ3iFW2kQ==} dependencies: '@supabase/functions-js': 2.1.5 '@supabase/gotrue-js': 2.62.0 '@supabase/node-fetch': 2.6.15 '@supabase/postgrest-js': 1.9.1 - '@supabase/realtime-js': 2.9.1 + '@supabase/realtime-js': 2.9.3 '@supabase/storage-js': 2.5.5 transitivePeerDependencies: - bufferutil @@ -1478,7 +1479,6 @@ packages: /@types/node@20.4.1: resolution: {integrity: sha512-JIzsAvJeA/5iY6Y/OxZbv1lUcc8dNSE77lb2gnBH+/PJ3lFR1Ccvgwl5JWnHAkNHcRsT0TbpVOsiMKZ1F/yyJg==} - dev: true /@types/phoenix@1.6.4: resolution: {integrity: sha512-B34A7uot1Cv0XtaHRYDATltAdKx0BvVKNgYNqE4WjtPUa4VQJM7kxeXcVKaH+KS+kCmZ+6w+QaUdcljiheiBJA==} @@ -1500,6 +1500,12 @@ packages: resolution: {integrity: sha512-CF/RBon/GXwdfmnjZj0WTUMZN5H6YITOfBCP4iEZlOtVQXuzw6t7Le7+cR+7JzdMrnlm7Mfp49Oj2TuSXIWo3g==} dev: true + /@types/ws@8.5.10: + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + dependencies: + '@types/node': 20.4.1 + dev: false + /@typescript-eslint/eslint-plugin@6.18.1(@typescript-eslint/parser@6.18.1)(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-nISDRYnnIpk7VCFrGcu1rnZfM1Dh9LRHnfgdkjcbi/l7g16VYRri3TjXi9Ir4lOZSw5N/gnV/3H7jIPQ8Q4daA==} engines: {node: ^16.0.0 || >=18.0.0} @@ -1636,7 +1642,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@4.6.2(vite@4.5.1)(vue@3.4.6): + /@vitejs/plugin-vue@4.6.2(vite@4.5.1)(vue@3.4.10): resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -1644,7 +1650,7 @@ packages: vue: ^3.2.25 dependencies: vite: 4.5.1(@types/node@20.4.1)(terser@5.26.0) - vue: 3.4.6(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: true /@volar/language-core@1.11.1: @@ -1678,6 +1684,15 @@ packages: tslib: 2.6.2 dev: false + /@vue/compiler-core@3.4.10: + resolution: {integrity: sha512-53vxh7K9qbx+JILnGEhrFRyr7H7e4NdT8RuTNU3m6HhJKFvcAqFTNXpYMHnyuAzzRGdsbsYHBgQC3H6xEXTG6w==} + dependencies: + '@babel/parser': 7.23.6 + '@vue/shared': 3.4.10 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + /@vue/compiler-core@3.4.6: resolution: {integrity: sha512-9SmkpHsXqhHGMIOp4cawUqp0AxLN2fJJfxh3sR2RaouVx/Y/ww5ts3dfpD9SCvD0n8cdO/Xw+kWEpa6EkH/vTQ==} dependencies: @@ -1686,31 +1701,39 @@ packages: entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 + dev: true + + /@vue/compiler-dom@3.4.10: + resolution: {integrity: sha512-QAALBJksIFpXGYuo74rtMgnwpVZDvd3kYbUa4gYX9s/5QiqEvZSgbKtOdUGydXcxKPt3ifC+0/bhPVHXN2694A==} + dependencies: + '@vue/compiler-core': 3.4.10 + '@vue/shared': 3.4.10 /@vue/compiler-dom@3.4.6: resolution: {integrity: sha512-i39ZuyHPzPb0v5yXZbvODGwLr+T7lS1rYSjMd1oCTa14aDP80kYpWXrWPF1JVD4QJJNyLgFnJ2hxvFLM7dy9NQ==} dependencies: '@vue/compiler-core': 3.4.6 '@vue/shared': 3.4.6 + dev: true - /@vue/compiler-sfc@3.4.6: - resolution: {integrity: sha512-kTFOiyMtuetFqi5yEPA4hR6FTD36zKKY3qaBonxGb4pgj0yK1eACqH+iycTAsEqr2u4cOhcGkx3Yjecpgh6FTQ==} + /@vue/compiler-sfc@3.4.10: + resolution: {integrity: sha512-sTOssaQySgrMjrhZxmAqdp6n+E51VteIVIDaOR537H2P63DyzMmig21U0XXFxiXmMIfrK91lAInnc+bIAYemGw==} dependencies: '@babel/parser': 7.23.6 - '@vue/compiler-core': 3.4.6 - '@vue/compiler-dom': 3.4.6 - '@vue/compiler-ssr': 3.4.6 - '@vue/shared': 3.4.6 + '@vue/compiler-core': 3.4.10 + '@vue/compiler-dom': 3.4.10 + '@vue/compiler-ssr': 3.4.10 + '@vue/shared': 3.4.10 estree-walker: 2.0.2 magic-string: 0.30.5 postcss: 8.4.33 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.4.6: - resolution: {integrity: sha512-XqeojjDitjMLyOogDePNSxw9XL4FAXchO9oOfqdzLVEtYES5j+AEilPJyP0KhQPfGecY2mJ3Y7/e6kkiJQLKvg==} + /@vue/compiler-ssr@3.4.10: + resolution: {integrity: sha512-Y90TL1abretWbUiK5rv+9smS1thCHE5sSuhZgiLh6cxgZ2Pcy3BEvDd3reID0iwNcTdMbTeE6NI3Aq4Mux6hqQ==} dependencies: - '@vue/compiler-dom': 3.4.6 - '@vue/shared': 3.4.6 + '@vue/compiler-dom': 3.4.10 + '@vue/shared': 3.4.10 /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} @@ -1736,35 +1759,39 @@ packages: vue-template-compiler: 2.7.16 dev: true - /@vue/reactivity@3.4.6: - resolution: {integrity: sha512-/VuOxdWDyAeKFHjOuSKEtH9jEVPRgsXxu84utBP1SiXFcFRx2prwiC9cSR8hKOfj5nBwhLXYb6XEU69mLpuk0w==} + /@vue/reactivity@3.4.10: + resolution: {integrity: sha512-SmGGpo37LzPcAFTopHNIJRNVOQfma9YgyPkAzx9/TJ01lbCCYigS28hEcY1hjiJ1PRK8iVX62Ov5yzmUgYH/pQ==} dependencies: - '@vue/shared': 3.4.6 + '@vue/shared': 3.4.10 - /@vue/runtime-core@3.4.6: - resolution: {integrity: sha512-XDOx8iiNmP66p+goUHT5XL1AnV8406VVFQARbylqmSCBZEtxchfu2ZoQk7U07ze8G/E0/BtX/C5o29zB1W4o5A==} + /@vue/runtime-core@3.4.10: + resolution: {integrity: sha512-Ri2Cz9sFr66AEUewGUK8IXhIUAhshTHVUGuJR8pqMbtjIds+zPa8QPO5UZImGMQ8HTY7eEpKwztCct9V3+Iqug==} dependencies: - '@vue/reactivity': 3.4.6 - '@vue/shared': 3.4.6 + '@vue/reactivity': 3.4.10 + '@vue/shared': 3.4.10 - /@vue/runtime-dom@3.4.6: - resolution: {integrity: sha512-8bdQR5CLfzClGvAOfbbCF8adE9oko0pRfe+dj297i0JCdCJ8AuyUMsXkt6vGPcRPqIKX4Z8f/bDPrwl+c7e4Wg==} + /@vue/runtime-dom@3.4.10: + resolution: {integrity: sha512-ROsdi5M2niRDmjXJNZ8KKiGwXyG1FO8l9n6sCN0kaJEHbjWkuigu96YAI3fK/AWUZPSXXEcMEBVPC6rL3mmUuA==} dependencies: - '@vue/runtime-core': 3.4.6 - '@vue/shared': 3.4.6 + '@vue/runtime-core': 3.4.10 + '@vue/shared': 3.4.10 csstype: 3.1.3 - /@vue/server-renderer@3.4.6(vue@3.4.6): - resolution: {integrity: sha512-0LS+GXf3M93KloaK/S0ZPq5PnKERgPAV5iNCCpjyBLhAQGGEeqfJojs3yXOAMQLSvXi9FLYDHzDEOLWoLaYbTQ==} + /@vue/server-renderer@3.4.10(vue@3.4.10): + resolution: {integrity: sha512-WpCBAhesLq44JKWfdFqb+Bi4ACUW0d8x1z90GnE0spccsAlEDMXV5nm+pwXLyW0OdP2iPrO/n/QMJh4B1v9Ciw==} peerDependencies: - vue: 3.4.6 + vue: 3.4.10 dependencies: - '@vue/compiler-ssr': 3.4.6 - '@vue/shared': 3.4.6 - vue: 3.4.6(typescript@5.3.3) + '@vue/compiler-ssr': 3.4.10 + '@vue/shared': 3.4.10 + vue: 3.4.10(typescript@5.3.3) + + /@vue/shared@3.4.10: + resolution: {integrity: sha512-C0mIVhwW1xQLMFyqMJxnhq6fWyE02lCgcE+TDdtGpg6B3H6kh/0YcqS54qYc76UJNlWegf3VgsLqgk6D9hBmzQ==} /@vue/shared@3.4.6: resolution: {integrity: sha512-O16vewA05D0IwfG2N/OFEuVeb17pieaI32mmYXp36V8lp+/pI1YV04rRL9Eyjndj3xQO5SNjAxTh6ul4IlBa3A==} + dev: true /@zkochan/retry@0.2.0: resolution: {integrity: sha512-WhB+2B/ZPlW2Xy/kMJBrMbqecWXcbDDgn0K0wKBAgO2OlBTz1iLJrRWduo+DGGn0Akvz1Lu4Xvls7dJojximWw==} @@ -2018,7 +2045,7 @@ packages: jiti: 1.21.0 mlly: 1.4.2 ohash: 1.1.3 - pathe: 1.1.1 + pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 rc9: 2.1.1 @@ -2076,11 +2103,6 @@ packages: supports-color: 7.2.0 dev: true - /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true - /changelogen@0.5.5: resolution: {integrity: sha512-IzgToIJ/R9NhVKmL+PW33ozYkv53bXvufDNUSH3GTKXq1iCHGgkbgbtqEWbo8tnWNnt7nPDpjL8PwSG2iS8RVw==} hasBin: true @@ -2094,7 +2116,7 @@ packages: node-fetch-native: 1.6.1 ofetch: 1.3.3 open: 9.1.0 - pathe: 1.1.1 + pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.1.1 semver: 7.5.4 @@ -2847,7 +2869,7 @@ packages: node-fetch-native: 1.6.1 nypm: 0.3.4 ohash: 1.1.3 - pathe: 1.1.1 + pathe: 1.1.2 tar: 6.2.0 /glob-parent@5.1.2: @@ -3288,8 +3310,8 @@ packages: engines: {node: '>=6'} dev: true - /knip@3.13.0(@types/node@20.4.1)(typescript@5.3.3): - resolution: {integrity: sha512-Qj1FvxeHTXlDmR3TMwNgn88xuSVDd2OjdyvIgMYRcWv/DVSaWGaUHnwm7COcQ28+54fAbsE2UKDEco/5eJv8qg==} + /knip@3.13.2(@types/node@20.4.1)(typescript@5.3.3): + resolution: {integrity: sha512-izf5dvW+7fG0OfeZKyJTdhmrgQE1ltoxhPnNxYUKnPEBUMDEb61N2LD6SESKEpt4b6Mmbj4h9Tr4/14zcb7PSA==} engines: {node: '>=18.6.0'} hasBin: true peerDependencies: @@ -3304,7 +3326,6 @@ packages: '@pnpm/workspace.pkgs-graph': 2.0.13(@pnpm/logger@5.0.0) '@snyk/github-codeowners': 1.1.0 '@types/node': 20.4.1 - chalk: 5.3.0 easy-table: 1.2.0 fast-glob: 3.3.2 globby: 14.0.0 @@ -3312,6 +3333,7 @@ packages: js-yaml: 4.1.0 micromatch: 4.0.5 minimist: 1.2.8 + picocolors: 1.0.0 pretty-ms: 8.0.0 strip-json-comments: 5.0.1 summary: 2.1.0 @@ -3427,12 +3449,6 @@ packages: dependencies: yallist: 4.0.0 - /magic-string@0.16.0: - resolution: {integrity: sha512-c4BEos3y6G2qO0B9X7K0FVLOPT9uGrjYwYRLFmDqyl5YMboUviyecnXWp94fJTSMwPw2/sf+CEYt5AGpmklkkQ==} - dependencies: - vlq: 0.2.3 - dev: true - /magic-string@0.30.5: resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} engines: {node: '>=12'} @@ -3622,7 +3638,7 @@ packages: resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} dependencies: acorn: 8.11.3 - pathe: 1.1.1 + pathe: 1.1.2 pkg-types: 1.0.3 ufo: 1.3.2 @@ -3831,7 +3847,7 @@ packages: dependencies: citty: 0.1.5 execa: 8.0.1 - pathe: 1.1.1 + pathe: 1.1.2 ufo: 1.3.2 /object-assign@4.1.1: @@ -4052,8 +4068,8 @@ packages: engines: {node: '>=12'} dev: true - /pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} /perfect-debounce@1.0.0: resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} @@ -4081,7 +4097,7 @@ packages: dependencies: jsonc-parser: 3.2.0 mlly: 1.4.2 - pathe: 1.1.1 + pathe: 1.1.2 /postcss-import@15.1.0(postcss@8.4.33): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} @@ -4105,22 +4121,6 @@ packages: postcss: 8.4.33 dev: true - /postcss-load-config@4.0.2: - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - dependencies: - lilconfig: 3.0.0 - yaml: 2.3.4 - dev: true - /postcss-load-config@4.0.2(postcss@8.4.33): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} @@ -4921,7 +4921,7 @@ packages: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 4.0.2 + postcss-load-config: 4.0.2(postcss@8.4.33) resolve-from: 5.0.0 rollup: 4.9.4 source-map: 0.8.0-beta.0 @@ -5006,7 +5006,7 @@ packages: local-pkg: 0.5.0 magic-string: 0.30.5 mlly: 1.4.2 - pathe: 1.1.1 + pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.1.1 strip-literal: 1.3.0 @@ -5153,17 +5153,13 @@ packages: fsevents: 2.3.3 dev: true - /vlq@0.2.3: - resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==} - dev: true - - /vue-router@4.2.4(vue@3.4.6): + /vue-router@4.2.4(vue@3.4.10): resolution: {integrity: sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.1 - vue: 3.4.6(typescript@5.3.3) + vue: 3.4.10(typescript@5.3.3) dev: false /vue-template-compiler@2.7.16: @@ -5185,19 +5181,19 @@ packages: typescript: 5.3.3 dev: true - /vue@3.4.6(typescript@5.3.3): - resolution: {integrity: sha512-gAzw5oP0/h34/yq1LjLNpn4wrCKYMuWp2jbs/JirFiZAFWYhd9jTkXp4wIi5ApgMJrMgD6YFyyXwKsqFYR31IQ==} + /vue@3.4.10(typescript@5.3.3): + resolution: {integrity: sha512-c+O8qGqdWPF9joTCzMGeDDedViooh6c8RY3+eW5+6GCAIY8YjChmU06LsUu0PnMZbIk1oKUoJTqKzmghYtFypw==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.6 - '@vue/compiler-sfc': 3.4.6 - '@vue/runtime-dom': 3.4.6 - '@vue/server-renderer': 3.4.6(vue@3.4.6) - '@vue/shared': 3.4.6 + '@vue/compiler-dom': 3.4.10 + '@vue/compiler-sfc': 3.4.10 + '@vue/runtime-dom': 3.4.10 + '@vue/server-renderer': 3.4.10(vue@3.4.10) + '@vue/shared': 3.4.10 typescript: 5.3.3 /walk-up-path@3.0.1: diff --git a/src/commands/Component.ts b/src/commands/Component.ts index d621af2..cf877c6 100644 --- a/src/commands/Component.ts +++ b/src/commands/Component.ts @@ -7,14 +7,14 @@ const createComponent = () => { prompt: 'What is your component name?', placeHolder: 'component name', }) - .then((name) => { + .then(async (name) => { if (!name) { return } - let componentsDir = `${projectSrcDirectory()}/components` + let componentsDir = `${await projectSrcDirectory()}/components` - createDir('components') + await createDir('components') - let subFolders = createSubFolders(componentsDir, 'components') + let subFolders = await createSubFolders(componentsDir, 'components') showSubFolderQuickPick({ name, diff --git a/src/commands/Composable.ts b/src/commands/Composable.ts index b23f8b9..239ecfc 100644 --- a/src/commands/Composable.ts +++ b/src/commands/Composable.ts @@ -8,15 +8,15 @@ const createComposable = () => { prompt: 'What is your composable name?', placeHolder: 'composable name', }) - .then((name) => { + .then(async(name) => { if (!name) { return } - let composablesDir = `${projectSrcDirectory()}/composables` + let composablesDir = `${await projectSrcDirectory()}/composables` createDir('composables') - let subFolders = createSubFolders(composablesDir, 'composables') + let subFolders = await createSubFolders(composablesDir, 'composables') showSubFolderQuickPick({ name, diff --git a/src/commands/Layout.ts b/src/commands/Layout.ts index 69d7d8e..34c471c 100644 --- a/src/commands/Layout.ts +++ b/src/commands/Layout.ts @@ -11,14 +11,14 @@ const createLayout = () => { prompt: 'What is your layout name?', placeHolder: 'Layout name', }) - .then((name) => { + .then(async (name) => { if (!name) { return } - let layoutDir = `${projectSrcDirectory()}/layouts` + let layoutDir = `${await projectSrcDirectory()}/layouts` createDir('layouts') - let filePath = `${projectSrcDirectory()}/layouts/${normalizeFileExtension(name, '.vue')}.vue` + let filePath = `${await projectSrcDirectory()}/layouts/${normalizeFileExtension(name, '.vue')}.vue` createFile({ fileName: `${name}.vue`, diff --git a/src/commands/Middleware.ts b/src/commands/Middleware.ts index 6843981..19733ee 100644 --- a/src/commands/Middleware.ts +++ b/src/commands/Middleware.ts @@ -8,15 +8,15 @@ const createMiddleware = () => { prompt: 'What is your middleware name?', placeHolder: 'middleware name', }) - .then((name) => { + .then(async (name) => { if (!name) { return } - let middlewareDir = `${projectSrcDirectory()}/middleware` + let middlewareDir = `${await projectSrcDirectory()}/middleware` - createDir('middleware') + await createDir('middleware') - let subFolders = createSubFolders(middlewareDir, 'middleware') + let subFolders = await createSubFolders(middlewareDir, 'middleware') showSubFolderQuickPick({ name, @@ -29,8 +29,8 @@ const createMiddleware = () => { }) } -const directCreateMiddleware = (path: string) => { - const serverDir = hasServerDir() +const directCreateMiddleware = async (path: string) => { + const serverDir = await hasServerDir() window .showInputBox({ diff --git a/src/commands/Nitro.ts b/src/commands/Nitro.ts index 920016f..17c79b8 100644 --- a/src/commands/Nitro.ts +++ b/src/commands/Nitro.ts @@ -6,133 +6,133 @@ let serverDir = `${projectSrcDirectory()}/${hasServerDir()}/` const createNitroAPI = () => { - const apiDir = `${serverDir}/api` - window .showInputBox({ prompt: 'What is your API name?', placeHolder: 'API name', }) - .then((name) => { - if (!name) { return } + .then(async (name) => { + if (!name) { + return; + } + const serverDirName = await hasServerDir(); + await createDir(`${serverDirName}`); + await createDir(`${serverDirName}/api`); + let apisDir = `${await projectSrcDirectory()}/${await hasServerDir()}/api` - - createDir('server') - createDir('server/api') - - let subFolders = createSubFolders(apiDir, 'api') + let subFolders = await createSubFolders(apisDir, 'api'); showSubFolderQuickPick({ name, subFolders: subFolders, commandType: 'api', content: nitroDefaultTemplate - }) - }) -} + }); + }); +}; const createNitroRoute = () => { - const routeDir = `${serverDir}/routes` - window .showInputBox({ prompt: 'What is your route name?', placeHolder: 'Route name', }) - .then((name) => { - if (!name) { return } + .then(async (name) => { + if (!name) { + return; + } + const serverDirName = await hasServerDir(); + await createDir(`${serverDirName}`); + await createDir(`${serverDirName}/routes`); + let composablesDir = `${await projectSrcDirectory()}/${await hasServerDir()}/routes` - - createDir('server') - createDir('server/routes') - - let subFolders = createSubFolders(routeDir, 'route') + let subFolders = await createSubFolders(composablesDir, 'route'); showSubFolderQuickPick({ name, subFolders: subFolders, commandType: 'route', content: nitroDefaultTemplate - }) - }) + }); + }); } const createNitroPlugin = () => { - const pluginsDir = `${serverDir}/plugins` - window .showInputBox({ - prompt: 'What is your route name?', - placeHolder: 'Route name', + prompt: 'What is your plugin name?', + placeHolder: 'Plugin name', }) - .then((name) => { - if (!name) { return } - - - createDir('server') - createDir('server/plugins') + .then(async (name) => { + if (!name) { + return; + } + const serverDirName = await hasServerDir(); + await createDir(`${serverDirName}`); + await createDir(`${serverDirName}/plugins`); + let composablesDir = `${await projectSrcDirectory()}/${await hasServerDir()}/plugins` - let subFolders = createSubFolders(pluginsDir, 'nitroPlugin') + let subFolders = await createSubFolders(composablesDir, 'nitroPlugin'); showSubFolderQuickPick({ name, subFolders: subFolders, commandType: 'nitroPlugin', content: nitroPluginTemplate - }) - }) + }); + }); } const createNitroUtil = () => { - const utilsDir = `${serverDir}/plugins` - window .showInputBox({ prompt: 'What is your utility name?', placeHolder: 'Utility name', }) - .then((name) => { - if (!name) { return } + .then(async (name) => { + if (!name) { + return; + } + const serverDirName = await hasServerDir(); + await createDir(`${serverDirName}`); + await createDir(`${serverDirName}/utils`); + let composablesDir = `${await projectSrcDirectory()}/${await hasServerDir()}/utils` - - createDir('server') - createDir('server/plugins') - - let subFolders = createSubFolders(utilsDir, 'nitroUtil') + let subFolders = await createSubFolders(composablesDir, 'nitroUtil'); showSubFolderQuickPick({ name, subFolders: subFolders, commandType: 'nitroUtil', content: nitroUtilTemplate - }) - }) + }); + }); + } const createNitroMiddleware = () => { - const middlewareDir = `${serverDir}/middleware` - window .showInputBox({ - prompt: 'What is your route name?', - placeHolder: 'Route name', + prompt: 'What is your middleware name?', + placeHolder: 'Middleware name', }) - .then((name) => { - if (!name) { return } - - - createDir('server') - createDir('server/middleware') - - let subFolders = createSubFolders(middlewareDir, 'nitroMiddleware') + .then(async (name) => { + if (!name) { + return; + } + const serverDirName = await hasServerDir(); + await createDir(`${serverDirName}`); + await createDir(`${serverDirName}/middleware`); + let middlewareDir = `${await projectSrcDirectory()}/${await hasServerDir()}/middleware` + let subFolders = await createSubFolders(middlewareDir, 'nitroMiddleware'); showSubFolderQuickPick({ name, subFolders: subFolders, commandType: 'nitroMiddleware', content: nitroDefaultTemplate - }) - }) + }); + }); } @@ -142,11 +142,11 @@ const directCreateNitroAPI = (path: string) => { prompt: 'What is your api name?', placeHolder: 'api name', }) - .then((name) => { + .then(async (name) => { if (!name) { return } - createDir('server') - createDir('server/api') + await createDir('server') + await createDir('server/api') let filePath = `${path}/${normalizeFileExtension(name, '.ts')}.ts` createFile({ diff --git a/src/commands/Page.ts b/src/commands/Page.ts index 0c025a2..b09168f 100644 --- a/src/commands/Page.ts +++ b/src/commands/Page.ts @@ -3,20 +3,20 @@ import { createSubFolders, showSubFolderQuickPick, createFile, projectSrcDirecto import { generateVueFileTemplate } from '../utils/files' -const createPage = () => { +const createPage = async () => { window .showInputBox({ prompt: 'What is your page name?', placeHolder: 'page name', }) - .then((name) => { + .then(async(name) => { if (!name) {return} - let pagesDir = `${projectSrcDirectory()}/pages` + let pagesDir = `${await projectSrcDirectory()}/pages` - createDir('pages') + await createDir('pages') - let subFolders = createSubFolders(pagesDir, 'pages') + let subFolders = await createSubFolders(pagesDir, 'pages') showSubFolderQuickPick({ name, diff --git a/src/commands/Plugin.ts b/src/commands/Plugin.ts index 727f6d2..f84da8a 100644 --- a/src/commands/Plugin.ts +++ b/src/commands/Plugin.ts @@ -8,14 +8,14 @@ const createPlugin = () => { prompt: 'What is your plugin name?', placeHolder: 'plugin name', }) - .then((name) => { + .then(async (name) => { if (!name) { return } - let pluginsDir = `${projectSrcDirectory()}/plugins` + let pluginsDir = `${await projectSrcDirectory()}/plugins` - createDir('plugins') + await createDir('plugins') - let subFolders = createSubFolders(pluginsDir, 'plugins') + let subFolders = await createSubFolders(pluginsDir, 'plugins') showSubFolderQuickPick({ name, @@ -28,8 +28,8 @@ const createPlugin = () => { } -const directCreatePlugin = (path: string) => { - const serverDir = hasServerDir() +const directCreatePlugin = async (path: string) => { + const serverDir = await hasServerDir() window .showInputBox({ diff --git a/src/commands/Project.ts b/src/commands/Project.ts index 9a3d9e8..6f2f5cf 100644 --- a/src/commands/Project.ts +++ b/src/commands/Project.ts @@ -63,12 +63,8 @@ const fetchUserTemplate = async (template: UserProjectTemplate, path: string, pr } else { const { provider, owner, repo } = parsedURL; - let normalizedURL = `${owner}/${repo}${template.branch !== undefined ? `#${template.branch}` : ''}`; - console.log('template', template); - console.log('normalizedURL', normalizedURL); - try { await downloadTemplate(normalizedURL, { cwd: path, @@ -77,7 +73,6 @@ const fetchUserTemplate = async (template: UserProjectTemplate, path: string, pr provider: provider, }) } catch (error) { - console.log('error', error); window.showErrorMessage(`Failed to fetch ${template.name} template`); } } diff --git a/src/commands/Store.ts b/src/commands/Store.ts index 90ab617..8bfdbbe 100644 --- a/src/commands/Store.ts +++ b/src/commands/Store.ts @@ -8,18 +8,18 @@ const createStore = () => { prompt: 'What is your store name?', placeHolder: 'store name', }) - .then((name: any) => { + .then(async (name: any) => { if (!name) { return } - const filePath = `${projectSrcDirectory()}/${isNuxtTwo() ? 'store' : 'stores'}/${name}.${isNuxtTwo() ? 'js' : 'ts'}` + const filePath = `${await projectSrcDirectory()}/${isNuxtTwo() ? 'store' : 'stores'}/${name}.${isNuxtTwo() ? 'js' : 'ts'}` if (isNuxtTwo()) { - createFile({ + await createFile({ fileName: name, content: vuexContent, fullPath: filePath, }) } else { - createFile({ + await createFile({ fileName: name, content: generatePiniaTemplates(name), fullPath: filePath, @@ -34,19 +34,19 @@ const directCreateStore = (path: string) => { prompt: 'What is your store name?', placeHolder: 'store name', }) - .then((name) => { + .then(async (name) => { if (!name) { return } let filePath = `${path}/${normalizeFileExtension(name, isNuxtTwo() ? '.js' : '.ts' )}.${isNuxtTwo() ? 'js' : 'ts'}` if (isNuxtTwo()) { - createFile({ + await createFile({ fileName: name, content: vuexContent, fullPath: filePath, }) } else { - createFile({ + await createFile({ fileName: name, content: generatePiniaTemplates(name), fullPath: filePath, diff --git a/src/commands/Structure.ts b/src/commands/Structure.ts index fa70617..13ecebd 100644 --- a/src/commands/Structure.ts +++ b/src/commands/Structure.ts @@ -10,9 +10,7 @@ function promptDirectorySelection() { let nuxtThreeDirectories = ['public', 'composables', 'server', 'utils', 'stores'] - isNuxtTwo() - ? (directories = [...directories, ...nuxtTwoDirectories]) - : (directories = [...directories, ...nuxtThreeDirectories]) + isNuxtTwo() ? (directories = [...directories, ...nuxtTwoDirectories]) : (directories = [...directories, ...nuxtThreeDirectories]) directories.sort() @@ -23,14 +21,14 @@ function promptDirectorySelection() { }) .then((selectedDirs) => { if (selectedDirs !== undefined && selectedDirs.length > 0) { - selectedDirs.forEach((dir) => { - let dirPath = `${projectSrcDirectory()}/${dir}` + selectedDirs.forEach(async (dir) => { + let dirPath = `${await projectSrcDirectory()}/${dir}` if (!existsSync(dirPath)) { mkdirSync(dirPath) } if (dir === 'pages') { - createFile({ + await createFile({ fileName: `index.vue`, content: generateVueFileTemplate('page'), fullPath: `${dirPath}/index.vue`, @@ -38,7 +36,7 @@ function promptDirectorySelection() { } if (dir === 'layouts') { - createFile({ + await createFile({ fileName: `default.vue`, content: generateVueFileTemplate('layout'), fullPath: `${dirPath}/default.vue`, @@ -77,11 +75,13 @@ const nuxtRC = () => { }) } -const errorLayout = () => { - createFile({ +const errorLayout = async () => { + const filePath = `${await projectSrcDirectory()}/error.vue` + + await createFile({ fileName: 'error.vue', content: generateVueFileTemplate('page'), - fullPath: `${projectSrcDirectory()}/error.vue`, + fullPath: filePath, }) } diff --git a/src/commands/Util.ts b/src/commands/Util.ts index 3ea8063..150cd3d 100644 --- a/src/commands/Util.ts +++ b/src/commands/Util.ts @@ -8,14 +8,14 @@ const createUtil = () => { prompt: 'What is your utility name?', placeHolder: 'utility name', }) - .then((name) => { + .then(async (name) => { if (!name) { return } - let utilsDir = `${projectSrcDirectory()}/utils` + let utilsDir = `${await projectSrcDirectory()}/utils` - createDir('utils') + await createDir('utils') - let subFolders = createSubFolders(utilsDir, 'nuxtUtil') + let subFolders = await createSubFolders(utilsDir, 'nuxtUtil') showSubFolderQuickPick({ name, @@ -28,8 +28,8 @@ const createUtil = () => { } -const directCreateUtil = (path: string) => { - const serverDir = hasServerDir() +const directCreateUtil = async (path: string) => { + const serverDir = await hasServerDir() window .showInputBox({ diff --git a/src/extension.ts b/src/extension.ts index 48f352b..7205373 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -7,7 +7,7 @@ import { statusBars, activateStatusBarIcons } from './statusBar' import { activateIntellisense } from './intellisense' import { filesWatcher } from './watchers' -const commandList = [ +const extensionCommands = [ { command: 'nuxtr.createPage', function: nuxtrCommands.createPage }, { command: 'nuxtr.createComponent', function: nuxtrCommands.createComponent }, { command: 'nuxtr.createComposable', function: nuxtrCommands.createComposable }, @@ -21,7 +21,6 @@ const commandList = [ { command: 'nuxtr.createNitroRoute', function: nuxtrCommands.createNitroRoute }, { command: 'nuxtr.createStore', function: nuxtrCommands.createStore }, { command: 'nuxtr.createUtil', function: nuxtrCommands.createUtil }, - { command: 'nuxtr.createProject', function: async () => await nuxtrCommands.createProject() }, { command: 'nuxtr.projectStructure', function: nuxtrCommands.projectStructure }, { command: 'nuxtr.openDocumentation', function: nuxtrCommands.openDocumentation }, { command: 'nuxtr.openModules', function: nuxtrCommands.openModules }, @@ -61,6 +60,11 @@ const commandList = [ { command: 'nuxtr.directCreateUtil', function: (filePath: Uri) => nuxtrCommands.directCreateUtil(filePath.path) }, ]; +export const publicCommands = [ + { command: 'nuxtr.createProject', function: async () => await nuxtrCommands.createProject() }, +]; + + // categorize commands and functions export async function activateExtension(context: ExtensionContext) { // initial output channel logger @@ -92,7 +96,11 @@ export async function activateExtension(context: ExtensionContext) { // activate codelens codelens.activateCodelenses(context) - commandList.forEach(({ command, function: commandFunction }) => { + extensionCommands.forEach(({ command, function: commandFunction }) => { + context.subscriptions.push(commands.registerCommand(command, commandFunction)); + }); + + publicCommands.forEach(({ command, function: commandFunction }) => { context.subscriptions.push(commands.registerCommand(command, commandFunction)); }); diff --git a/src/index.ts b/src/index.ts index 787cd78..4d9efc1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,12 +1,17 @@ import { ExtensionContext, commands } from 'vscode'; -import nuxtrCommands from './commands' -import { activateExtension } from './extension' - -const creationCommand = { command: 'nuxtr.createProject', function: async () => await nuxtrCommands.createProject() } +import { activateExtension, publicCommands } from './extension' +import { isNuxtProject } from './utils'; export async function activate(context: ExtensionContext) { - const nuxtProject = true + const isNuxt = await isNuxtProject(); + + commands.executeCommand('setContext', 'nuxtr.isNuxtProject', isNuxt); - commands.executeCommand('setContext', 'nuxtr.isNuxtProject', nuxtProject) - activateExtension(context) + if (isNuxt) { + await activateExtension(context); + } else { + publicCommands.forEach(({ command, function: commandFunction }) => { + context.subscriptions.push(commands.registerCommand(command, commandFunction)); + }); + } } diff --git a/src/types.ts b/src/types.ts index b0be8d4..e41d802 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,5 +1,7 @@ import { TSConfig } from 'pkg-types' +export type TsconfigPaths = Record; + export interface ConfigurationProperty { title?: string; description?: string; diff --git a/src/utils/commands.ts b/src/utils/commands.ts index 17cf2ec..c9b4d7b 100644 --- a/src/utils/commands.ts +++ b/src/utils/commands.ts @@ -1,7 +1,6 @@ import { hasServerDir } from "../utils"; -const serverDir = hasServerDir(); -export const getCommandType = (commandType: string) => { +export const getCommandType = async (commandType: string) => { let type = { name: '', path: '', @@ -60,28 +59,28 @@ export const getCommandType = (commandType: string) => { case 'api': type = { name: 'APIs', - path: `${serverDir}/api`, + path: `${await hasServerDir()}/api`, extension: '.ts', }; break; case 'route': type = { name: 'Routes', - path: `${serverDir}/routes`, + path: `${await hasServerDir()}/routes`, extension: '.ts', }; break; case 'nitroPlugin': type = { name: 'Plugins', - path: `${serverDir}/plugins`, + path: `${await hasServerDir()}/plugins`, extension: '.ts', }; break; case 'nitroMiddleware': type = { name: 'Middleware', - path: `${serverDir}/middleware`, + path: `${await hasServerDir()}/middleware`, extension: '.ts', }; break; @@ -95,7 +94,7 @@ export const getCommandType = (commandType: string) => { case 'nitroUtil': type = { name: 'Utility', - path: `${serverDir}/utils`, + path: `${await hasServerDir()}/utils`, extension: '.ts', }; break; diff --git a/src/utils/dependency.ts b/src/utils/dependency.ts index 7d21bdc..92096d0 100644 --- a/src/utils/dependency.ts +++ b/src/utils/dependency.ts @@ -1,4 +1,4 @@ -import { QuickPickItem, QuickPickOptions, window, commands, StatusBarItem, ExtensionContext, ProgressLocation, } from 'vscode' +import { QuickPickItem, QuickPickOptions, window, commands, StatusBarItem, ExtensionContext, ProgressLocation } from 'vscode' import { existsSync, readFileSync, readdirSync } from 'fs' import { exec } from 'child_process' import { destr } from "destr" diff --git a/src/utils/file.ts b/src/utils/file.ts index a2ea365..5743ce5 100644 --- a/src/utils/file.ts +++ b/src/utils/file.ts @@ -11,9 +11,9 @@ import { nuxtrConfiguration, projectSrcDirectory, projectRootDirectory, vscodeCo let eolConfiguration = vscodeConfiguration().files.eol let eol = eolConfiguration === 'auto' ? '\n' : eolConfiguration -const createDirectoryAndFile = (componentName: any, commandType: string, content: string) => { +const createDirectoryAndFile = async (componentName: any, commandType: string, content: string) => { - const { type } = getCommandType(commandType); + const { type } = await getCommandType(commandType); window .showInputBox({ @@ -48,15 +48,16 @@ const createDirectoryAndFile = (componentName: any, commandType: string, content }); }; -export const createDir = (dir: string) => { - if (`${projectSrcDirectory()}` !== `${projectRootDirectory()}`) { - if (!existsSync(`${projectSrcDirectory()}`)) { - mkdirSync(`${projectSrcDirectory()}`); +export const createDir = async (dir: string) => { + if (`${await projectSrcDirectory()}` !== `${projectRootDirectory()}`) { + if (!existsSync(`${await projectSrcDirectory()}`)) { + mkdirSync(`${await projectSrcDirectory()}`); } } let dirParts = dir.split('/'); - let currentPath = `${projectSrcDirectory()}` + let currentPath = `${await projectSrcDirectory()}` + for (let part of dirParts) { currentPath = `${currentPath}/${part}`; @@ -67,13 +68,14 @@ export const createDir = (dir: string) => { } }; -export const createSubFolders = (dir: string, commandType: string) => { +export const createSubFolders = async (dir: string, commandType: string) => { let subFolders = readdirSync(dir, { withFileTypes: true }) .filter((dirent) => dirent.isDirectory()) .map((dirent) => dirent.name); - const { type } = getCommandType(commandType); + const { type } = await getCommandType(commandType); + subFolders.unshift('Create new folder...'); subFolders.push(`Main ${type.name.toLocaleLowerCase()} folder`); @@ -81,30 +83,30 @@ export const createSubFolders = (dir: string, commandType: string) => { return subFolders; }; -export const showSubFolderQuickPick = (args: { +export const showSubFolderQuickPick = async (args: { subFolders?: any name: string commandType: string content: any }) => { - - - const { type } = getCommandType(args.commandType); - + const { type } = await getCommandType(args.commandType); window .showQuickPick(args.subFolders, { placeHolder: 'Select a subfolder' }) - .then((selection) => { + .then(async(selection) => { if (selection === undefined) { return; } + switch (selection) { case `Main ${type.name.toLocaleLowerCase()} folder`: const path = `${normalizeFileExtension(args.name, type.extension)}${type.extension}`; + const fullPath = `${await projectSrcDirectory()}/${type.path}/${path}`; + createFile({ fileName: args.name, content: args.content, - fullPath: `${projectSrcDirectory()}/${type.path}/${path}`, + fullPath: fullPath }); break; case 'Create new folder...': @@ -113,10 +115,10 @@ export const showSubFolderQuickPick = (args: { default: const fileNameAndPath = `${selection}/${normalizeFileExtension(args.name, type.extension)}${type.extension}`; - createFile({ + await createFile({ fileName: args.name, content: args.content, - fullPath: `${projectSrcDirectory()}/${type.path}/${fileNameAndPath}`, + fullPath: `${await projectSrcDirectory()}/${type.path}/${fileNameAndPath}`, }); break; } diff --git a/src/utils/global.ts b/src/utils/global.ts index c50fb70..52bc9ea 100644 --- a/src/utils/global.ts +++ b/src/utils/global.ts @@ -35,9 +35,9 @@ export const projectRootDirectory = (): string => { }; -export const projectSrcDirectory = (): string => { +export const projectSrcDirectory = async (): Promise => { const projectRootDir = projectRootDirectory(); - const srcDir = hasSrcDir(); + const srcDir = await hasSrcDir(); return srcDir === '/' ? projectRootDir : projectRootDir + srcDir; }; diff --git a/src/utils/nuxt.ts b/src/utils/nuxt.ts index 04b07df..7176fa7 100644 --- a/src/utils/nuxt.ts +++ b/src/utils/nuxt.ts @@ -1,13 +1,12 @@ -import { window } from 'vscode'; +import { window, workspace, Uri } from 'vscode'; import { writeFileSync, readFileSync, existsSync, promises, readdir } from 'fs'; import { join } from 'pathe'; import { parseModule } from 'magicast'; import { readTSConfig } from 'pkg-types' import { trimEnd } from 'string-ts'; -import { exec } from 'child_process' import { projectRootDirectory, projectSrcDirectory } from '.'; -type TsconfigPaths = Record; - +import { pathExistsSync } from 'fs-extra'; +import { TsconfigPaths } from '../types'; export const findNuxtConfig = (): string | undefined => { const names = ['nuxt.config.ts', 'nuxt.config.js']; @@ -23,8 +22,9 @@ const isLayer = async (module: any) => { if (existsSync(modulePath)) { let nuxtConfigPath = `${modulePath}/nuxt.config.ts`; + const result = await workspace.fs.stat(Uri.file(nuxtConfigPath)) - if (existsSync(nuxtConfigPath)) { + if (result !== undefined) { return true; } else { return false; @@ -109,7 +109,15 @@ export const removeNuxtModule = async (module: any) => { }; export const isNuxtProject = async () => { - return (await findNuxtConfig()) ? true : false; + const names = ['nuxt.config.ts', 'nuxt.config.js']; + + for (const name of names) { + const path = `${projectRootDirectory()}/${name}`; + const result = pathExistsSync(path); + if (result) { return true } else { continue } + } + + return false; }; export const getNuxtVersion = (): string | undefined => { @@ -129,7 +137,11 @@ export const getNuxtVersion = (): string | undefined => { } }; -export const hasSrcDir = (): string => { +export const hasSrcDir = async (): Promise => { + const isNuxt = await isNuxtProject(); + if (!isNuxt) { + return '/' + } const nuxtConfigPath = findNuxtConfig(); const nuxtConfig = readFileSync(`${nuxtConfigPath}`, 'utf-8'); @@ -165,7 +177,11 @@ const fetchNuxtAlias = async () => { }; -export const hasServerDir = (): string => { +export const hasServerDir = async (): Promise => { + const isNuxt = await isNuxtProject(); + if (!isNuxt) { + return 'server' + } const nuxtConfigPath = findNuxtConfig(); const nuxtConfig = readFileSync(`${nuxtConfigPath}`, 'utf-8'); @@ -284,18 +300,4 @@ function parseTsconfigPaths(tsconfigPaths: TsconfigPaths): {} { } return parsedTsconfigPaths; -} - -function isNuxiInstalled(): Promise { - return new Promise((resolve) => { - exec('nuxi --version', (error, stdout) => { - if (error) { - console.error(`Error: ${error}`); - resolve(false); - } else { - const versionPattern = /^\s*\d+\.\d+\.\d+\s*$/; - resolve(versionPattern.test(stdout.toString())); - } - }); - }); } \ No newline at end of file diff --git a/tsup.config.ts b/tsup.config.ts index f003ff4..09951b0 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -1,16 +1,14 @@ import { defineConfig } from 'tsup' export default defineConfig({ - entry: [ - 'src/index.ts', - ], + entry: [ 'src/index.ts', ], outDir: "out", format: ['cjs'], shims: false, dts: false, splitting: true, clean: true, - minify: 'terser', + minify: false, platform: 'node', sourcemap: false, external: ['vscode'], @@ -27,5 +25,4 @@ export default defineConfig({ "giget", "semver" ] - }) diff --git a/ui/build/assets/index.js b/ui/build/assets/index.js index 7d4e9e9..5e98c04 100644 --- a/ui/build/assets/index.js +++ b/ui/build/assets/index.js @@ -1,8 +1,24 @@ -var yc=Object.defineProperty;var vc=(t,e,i)=>e in t?yc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var Xo=(t,e,i)=>(vc(t,typeof e!="symbol"?e+"":e,i),i);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function i(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(s){if(s.ep)return;s.ep=!0;const o=i(s);fetch(s.href,o)}})();function go(t,e){const i=new Set(t.split(","));return e?n=>i.has(n.toLowerCase()):n=>i.has(n)}const le={},fi=[],Ue=()=>{},wc=()=>!1,Hn=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),yo=t=>t.startsWith("onUpdate:"),we=Object.assign,vo=(t,e)=>{const i=t.indexOf(e);i>-1&&t.splice(i,1)},xc=Object.prototype.hasOwnProperty,Q=(t,e)=>xc.call(t,e),U=Array.isArray,gi=t=>Vn(t)==="[object Map]",Ta=t=>Vn(t)==="[object Set]",G=t=>typeof t=="function",ye=t=>typeof t=="string",zi=t=>typeof t=="symbol",de=t=>t!==null&&typeof t=="object",za=t=>(de(t)||G(t))&&G(t.then)&&G(t.catch),Oa=Object.prototype.toString,Vn=t=>Oa.call(t),_c=t=>Vn(t).slice(8,-1),Ra=t=>Vn(t)==="[object Object]",wo=t=>ye(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,En=go(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Jn=t=>{const e=Object.create(null);return i=>e[i]||(e[i]=t(i))},kc=/-(\w)/g,ht=Jn(t=>t.replace(kc,(e,i)=>i?i.toUpperCase():"")),Ac=/\B([A-Z])/g,Oi=Jn(t=>t.replace(Ac,"-$1").toLowerCase()),Gn=Jn(t=>t.charAt(0).toUpperCase()+t.slice(1)),hs=Jn(t=>t?`on${Gn(t)}`:""),$t=(t,e)=>!Object.is(t,e),Tn=(t,e)=>{for(let i=0;i{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:i})},Us=t=>{const e=parseFloat(t);return isNaN(e)?t:e},Sc=t=>{const e=ye(t)?Number(t):NaN;return isNaN(e)?t:e};let er;const Pa=()=>er||(er=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function xo(t){if(U(t)){const e={};for(let i=0;i{if(i){const n=i.split(jc);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function Ze(t){let e="";if(ye(t))e=t;else if(U(t))for(let i=0;iye(t)?t:t==null?"":U(t)||de(t)&&(t.toString===Oa||!G(t.toString))?JSON.stringify(t,La,2):String(t),La=(t,e)=>e&&e.__v_isRef?La(t,e.value):gi(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((i,[n,s],o)=>(i[bs(n,o)+" =>"]=s,i),{})}:Ta(e)?{[`Set(${e.size})`]:[...e.values()].map(i=>bs(i))}:zi(e)?bs(e):de(e)&&!U(e)&&!Ra(e)?String(e):e,bs=(t,e="")=>{var i;return zi(t)?`Symbol(${(i=t.description)!=null?i:e})`:t};let et;class Rc{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=et,!e&&et&&(this.index=(et.scopes||(et.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const i=et;try{return et=this,e()}finally{et=i}}}on(){et=this}off(){et=this.parent}stop(e){if(this._active){let i,n;for(i=0,n=this.effects.length;i=2))break;ei(),this._queryings--}return this._dirtyLevel>=2}set dirty(e){this._dirtyLevel=e?3:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=Rt,i=Wt;try{return Rt=!0,Wt=this,this._runnings++,tr(this),this.fn()}finally{ir(this),this._runnings--,Wt=i,Rt=e}}stop(){var e;this.active&&(tr(this),ir(this),(e=this.onStop)==null||e.call(this),this.active=!1)}}function Lc(t){return t.value}function tr(t){t._trackId++,t._depsLength=0}function ir(t){if(t.deps&&t.deps.length>t._depsLength){for(let e=t._depsLength;e{const i=new Map;return i.cleanup=t,i.computed=e,i},Js=new WeakMap,Yt=Symbol(""),Gs=Symbol("");function qe(t,e,i){if(Rt&&Wt){let n=Js.get(t);n||Js.set(t,n=new Map);let s=n.get(i);s||n.set(i,s=Da(()=>n.delete(i))),qa(Wt,s)}}function yt(t,e,i,n,s,o){const r=Js.get(t);if(!r)return;let a=[];if(e==="clear")a=[...r.values()];else if(i==="length"&&U(t)){const u=Number(n);r.forEach((c,l)=>{(l==="length"||!zi(l)&&l>=u)&&a.push(c)})}else switch(i!==void 0&&a.push(r.get(i)),e){case"add":U(t)?wo(i)&&a.push(r.get("length")):(a.push(r.get(Yt)),gi(t)&&a.push(r.get(Gs)));break;case"delete":U(t)||(a.push(r.get(Yt)),gi(t)&&a.push(r.get(Gs)));break;case"set":gi(t)&&a.push(r.get(Yt));break}ko();for(const u of a)u&&Ma(u,3);Ao()}const Bc=go("__proto__,__v_isRef,__isVue"),Na=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(zi)),nr=Ic();function Ic(){const t={};return["includes","indexOf","lastIndexOf"].forEach(e=>{t[e]=function(...i){const n=X(this);for(let o=0,r=this.length;o{t[e]=function(...i){Xt(),ko();const n=X(this)[e].apply(this,i);return Ao(),ei(),n}}),t}function qc(t){const e=X(this);return qe(e,"has",t),e.hasOwnProperty(t)}class Fa{constructor(e=!1,i=!1){this._isReadonly=e,this._shallow=i}get(e,i,n){const s=this._isReadonly,o=this._shallow;if(i==="__v_isReactive")return!s;if(i==="__v_isReadonly")return s;if(i==="__v_isShallow")return o;if(i==="__v_raw")return n===(s?o?Zc:Ja:o?Va:Ha).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const r=U(e);if(!s){if(r&&Q(nr,i))return Reflect.get(nr,i,n);if(i==="hasOwnProperty")return qc}const a=Reflect.get(e,i,n);return(zi(i)?Na.has(i):Bc(i))||(s||qe(e,"get",i),o)?a:Me(a)?r&&wo(i)?a:a.value:de(a)?s?Ka(a):ln(a):a}}class Ua extends Fa{constructor(e=!1){super(!1,e)}set(e,i,n,s){let o=e[i];if(!this._shallow){const u=ki(o);if(!qn(n)&&!ki(n)&&(o=X(o),n=X(n)),!U(e)&&Me(o)&&!Me(n))return u?!1:(o.value=n,!0)}const r=U(e)&&wo(i)?Number(i)t,Kn=t=>Reflect.getPrototypeOf(t);function bn(t,e,i=!1,n=!1){t=t.__v_raw;const s=X(t),o=X(e);i||($t(e,o)&&qe(s,"get",e),qe(s,"get",o));const{has:r}=Kn(s),a=n?So:i?Eo:en;if(r.call(s,e))return a(t.get(e));if(r.call(s,o))return a(t.get(o));t!==s&&t.get(e)}function pn(t,e=!1){const i=this.__v_raw,n=X(i),s=X(t);return e||($t(t,s)&&qe(n,"has",t),qe(n,"has",s)),t===s?i.has(t):i.has(t)||i.has(s)}function fn(t,e=!1){return t=t.__v_raw,!e&&qe(X(t),"iterate",Yt),Reflect.get(t,"size",t)}function sr(t){t=X(t);const e=X(this);return Kn(e).has.call(e,t)||(e.add(t),yt(e,"add",t,t)),this}function or(t,e){e=X(e);const i=X(this),{has:n,get:s}=Kn(i);let o=n.call(i,t);o||(t=X(t),o=n.call(i,t));const r=s.call(i,t);return i.set(t,e),o?$t(e,r)&&yt(i,"set",t,e):yt(i,"add",t,e),this}function rr(t){const e=X(this),{has:i,get:n}=Kn(e);let s=i.call(e,t);s||(t=X(t),s=i.call(e,t)),n&&n.call(e,t);const o=e.delete(t);return s&&yt(e,"delete",t,void 0),o}function ar(){const t=X(this),e=t.size!==0,i=t.clear();return e&&yt(t,"clear",void 0,void 0),i}function gn(t,e){return function(n,s){const o=this,r=o.__v_raw,a=X(r),u=e?So:t?Eo:en;return!t&&qe(a,"iterate",Yt),r.forEach((c,l)=>n.call(s,u(c),u(l),o))}}function yn(t,e,i){return function(...n){const s=this.__v_raw,o=X(s),r=gi(o),a=t==="entries"||t===Symbol.iterator&&r,u=t==="keys"&&r,c=s[t](...n),l=i?So:e?Eo:en;return!e&&qe(o,"iterate",u?Gs:Yt),{next(){const{value:d,done:h}=c.next();return h?{value:d,done:h}:{value:a?[l(d[0]),l(d[1])]:l(d),done:h}},[Symbol.iterator](){return this}}}}function xt(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function Uc(){const t={get(o){return bn(this,o)},get size(){return fn(this)},has:pn,add:sr,set:or,delete:rr,clear:ar,forEach:gn(!1,!1)},e={get(o){return bn(this,o,!1,!0)},get size(){return fn(this)},has:pn,add:sr,set:or,delete:rr,clear:ar,forEach:gn(!1,!0)},i={get(o){return bn(this,o,!0)},get size(){return fn(this,!0)},has(o){return pn.call(this,o,!0)},add:xt("add"),set:xt("set"),delete:xt("delete"),clear:xt("clear"),forEach:gn(!0,!1)},n={get(o){return bn(this,o,!0,!0)},get size(){return fn(this,!0)},has(o){return pn.call(this,o,!0)},add:xt("add"),set:xt("set"),delete:xt("delete"),clear:xt("clear"),forEach:gn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{t[o]=yn(o,!1,!1),i[o]=yn(o,!0,!1),e[o]=yn(o,!1,!0),n[o]=yn(o,!0,!0)}),[t,i,e,n]}const[Hc,Vc,Jc,Gc]=Uc();function Co(t,e){const i=e?t?Gc:Jc:t?Vc:Hc;return(n,s,o)=>s==="__v_isReactive"?!t:s==="__v_isReadonly"?t:s==="__v_raw"?n:Reflect.get(Q(i,s)&&s in n?i:n,s,o)}const Kc={get:Co(!1,!1)},Wc={get:Co(!1,!0)},Yc={get:Co(!0,!1)},Ha=new WeakMap,Va=new WeakMap,Ja=new WeakMap,Zc=new WeakMap;function Qc(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Xc(t){return t.__v_skip||!Object.isExtensible(t)?0:Qc(_c(t))}function ln(t){return ki(t)?t:jo(t,!1,Dc,Kc,Ha)}function Ga(t){return jo(t,!1,Fc,Wc,Va)}function Ka(t){return jo(t,!0,Nc,Yc,Ja)}function jo(t,e,i,n,s){if(!de(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const o=s.get(t);if(o)return o;const r=Xc(t);if(r===0)return t;const a=new Proxy(t,r===2?n:i);return s.set(t,a),a}function yi(t){return ki(t)?yi(t.__v_raw):!!(t&&t.__v_isReactive)}function ki(t){return!!(t&&t.__v_isReadonly)}function qn(t){return!!(t&&t.__v_isShallow)}function Wa(t){return yi(t)||ki(t)}function X(t){const e=t&&t.__v_raw;return e?X(e):t}function Ya(t){return In(t,"__v_skip",!0),t}const en=t=>de(t)?ln(t):t,Eo=t=>de(t)?Ka(t):t;class Za{constructor(e,i,n,s){this._setter=i,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new _o(()=>e(this._value),()=>Ks(this,1)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=n}get value(){const e=X(this);return Qa(e),(!e._cacheable||e.effect.dirty)&&$t(e._value,e._value=e.effect.run())&&Ks(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function el(t,e,i=!1){let n,s;const o=G(t);return o?(n=t,s=Ue):(n=t.get,s=t.set),new Za(n,s,o||!s,i)}function Qa(t){Rt&&Wt&&(t=X(t),qa(Wt,t.dep||(t.dep=Da(()=>t.dep=void 0,t instanceof Za?t:void 0))))}function Ks(t,e=3,i){t=X(t);const n=t.dep;n&&Ma(n,e)}function Me(t){return!!(t&&t.__v_isRef===!0)}function ae(t){return Xa(t,!1)}function tl(t){return Xa(t,!0)}function Xa(t,e){return Me(t)?t:new il(t,e)}class il{constructor(e,i){this.__v_isShallow=i,this.dep=void 0,this.__v_isRef=!0,this._rawValue=i?e:X(e),this._value=i?e:en(e)}get value(){return Qa(this),this._value}set value(e){const i=this.__v_isShallow||qn(e)||ki(e);e=i?e:X(e),$t(e,this._rawValue)&&(this._rawValue=e,this._value=i?e:en(e),Ks(this,3))}}function vi(t){return Me(t)?t.value:t}const nl={get:(t,e,i)=>vi(Reflect.get(t,e,i)),set:(t,e,i,n)=>{const s=t[e];return Me(s)&&!Me(i)?(s.value=i,!0):Reflect.set(t,e,i,n)}};function eu(t){return yi(t)?t:new Proxy(t,nl)}function Pt(t,e,i,n){let s;try{s=n?t(...n):t()}catch(o){Wn(o,e,i)}return s}function Ke(t,e,i,n){if(G(t)){const o=Pt(t,e,i,n);return o&&za(o)&&o.catch(r=>{Wn(r,e,i)}),o}const s=[];for(let o=0;o>>1,s=Ee[n],o=nn(s);olt&&Ee.splice(e,1)}function al(t){U(t)?wi.push(...t):(!St||!St.includes(t,t.allowRecurse?Vt+1:Vt))&&wi.push(t),nu()}function ur(t,e,i=tn?lt+1:0){for(;inn(i)-nn(n));if(wi.length=0,St){St.push(...e);return}for(St=e,Vt=0;Vtt.id==null?1/0:t.id,ul=(t,e)=>{const i=nn(t)-nn(e);if(i===0){if(t.pre&&!e.pre)return-1;if(e.pre&&!t.pre)return 1}return i};function ou(t){Ws=!1,tn=!0,Ee.sort(ul);const e=Ue;try{for(lt=0;ltye(p)?p.trim():p)),d&&(s=i.map(Us))}let a,u=n[a=hs(e)]||n[a=hs(ht(e))];!u&&o&&(u=n[a=hs(Oi(e))]),u&&Ke(u,t,6,s);const c=n[a+"Once"];if(c){if(!t.emitted)t.emitted={};else if(t.emitted[a])return;t.emitted[a]=!0,Ke(c,t,6,s)}}function ru(t,e,i=!1){const n=e.emitsCache,s=n.get(t);if(s!==void 0)return s;const o=t.emits;let r={},a=!1;if(!G(t)){const u=c=>{const l=ru(c,e,!0);l&&(a=!0,we(r,l))};!i&&e.mixins.length&&e.mixins.forEach(u),t.extends&&u(t.extends),t.mixins&&t.mixins.forEach(u)}return!o&&!a?(de(t)&&n.set(t,null),null):(U(o)?o.forEach(u=>r[u]=null):we(r,o),de(t)&&n.set(t,r),r)}function Yn(t,e){return!t||!Hn(e)?!1:(e=e.slice(2).replace(/Once$/,""),Q(t,e[0].toLowerCase()+e.slice(1))||Q(t,Oi(e))||Q(t,e))}let He=null,au=null;function Mn(t){const e=He;return He=t,au=t&&t.type.__scopeId||null,e}function ti(t,e=He,i){if(!e||t._n)return t;const n=(...s)=>{n._d&&wr(-1);const o=Mn(e);let r;try{r=t(...s)}finally{Mn(o),n._d&&wr(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function ps(t){const{type:e,vnode:i,proxy:n,withProxy:s,props:o,propsOptions:[r],slots:a,attrs:u,emit:c,render:l,renderCache:d,data:h,setupState:p,ctx:y,inheritAttrs:g}=t;let v,A;const O=Mn(t);try{if(i.shapeFlag&4){const R=s||n,K=R;v=ct(l.call(K,R,d,o,p,h,y)),A=u}else{const R=e;v=ct(R.length>1?R(o,{attrs:u,slots:a,emit:c}):R(o,null)),A=e.props?u:ll(u)}}catch(R){Gi.length=0,Wn(R,t,1),v=I(st)}let L=v;if(A&&g!==!1){const R=Object.keys(A),{shapeFlag:K}=L;R.length&&K&7&&(r&&R.some(yo)&&(A=dl(A,r)),L=Lt(L,A))}return i.dirs&&(L=Lt(L),L.dirs=L.dirs?L.dirs.concat(i.dirs):i.dirs),i.transition&&(L.transition=i.transition),v=L,Mn(O),v}const ll=t=>{let e;for(const i in t)(i==="class"||i==="style"||Hn(i))&&((e||(e={}))[i]=t[i]);return e},dl=(t,e)=>{const i={};for(const n in t)(!yo(n)||!(n.slice(9)in e))&&(i[n]=t[n]);return i};function ml(t,e,i){const{props:n,children:s,component:o}=t,{props:r,children:a,patchFlag:u}=e,c=o.emitsOptions;if(e.dirs||e.transition)return!0;if(i&&u>=0){if(u&1024)return!0;if(u&16)return n?cr(n,r,c):!!r;if(u&8){const l=e.dynamicProps;for(let d=0;dt.__isSuspense;function yl(t,e){e&&e.pendingBranch?U(t)?e.effects.push(...t):e.effects.push(t):al(t)}const vl=Symbol.for("v-scx"),wl=()=>dt(vl),vn={};function Zt(t,e,i){return cu(t,e,i)}function cu(t,e,{immediate:i,deep:n,flush:s,once:o,onTrack:r,onTrigger:a}=le){if(e&&o){const H=e;e=(...pe)=>{H(...pe),K()}}const u=Se,c=H=>n===!0?H:Kt(H,n===!1?1:void 0);let l,d=!1,h=!1;if(Me(t)?(l=()=>t.value,d=qn(t)):yi(t)?(l=()=>c(t),d=!0):U(t)?(h=!0,d=t.some(H=>yi(H)||qn(H)),l=()=>t.map(H=>{if(Me(H))return H.value;if(yi(H))return c(H);if(G(H))return Pt(H,u,2)})):G(t)?e?l=()=>Pt(t,u,2):l=()=>(p&&p(),Ke(t,u,3,[y])):l=Ue,e&&n){const H=l;l=()=>Kt(H())}let p,y=H=>{p=L.onStop=()=>{Pt(H,u,4),p=L.onStop=void 0}},g;if(ns)if(y=Ue,e?i&&Ke(e,u,3,[l(),h?[]:void 0,y]):l(),s==="sync"){const H=wl();g=H.__watcherHandles||(H.__watcherHandles=[])}else return Ue;let v=h?new Array(t.length).fill(vn):vn;const A=()=>{if(!(!L.active||!L.dirty))if(e){const H=L.run();(n||d||(h?H.some((pe,J)=>$t(pe,v[J])):$t(H,v)))&&(p&&p(),Ke(e,u,3,[H,v===vn?void 0:h&&v[0]===vn?[]:v,y]),v=H)}else L.run()};A.allowRecurse=!!e;let O;s==="sync"?O=A:s==="post"?O=()=>Ie(A,u&&u.suspense):(A.pre=!0,u&&(A.id=u.uid),O=()=>zo(A));const L=new _o(l,Ue,O),R=$c(),K=()=>{L.stop(),R&&vo(R.effects,L)};return e?i?A():v=L.run():s==="post"?Ie(L.run.bind(L),u&&u.suspense):L.run(),g&&g.push(K),K}function xl(t,e,i){const n=this.proxy,s=ye(t)?t.includes(".")?lu(n,t):()=>n[t]:t.bind(n,n);let o;G(e)?o=e:(o=e.handler,i=e);const r=Se;Ai(this);const a=cu(s,o.bind(n),i);return r?Ai(r):Qt(),a}function lu(t,e){const i=e.split(".");return()=>{let n=t;for(let s=0;s0){if(i>=e)return t;i++}if(n=n||new Set,n.has(t))return t;if(n.add(t),Me(t))Kt(t.value,e,i,n);else if(U(t))for(let s=0;s{Kt(s,e,i,n)});else if(Ra(t))for(const s in t)Kt(t[s],e,i,n);return t}function Zn(t,e){const i=He;if(i===null)return t;const n=ss(i)||i.proxy,s=t.dirs||(t.dirs=[]);for(let o=0;o{t.isMounted=!0}),pu(()=>{t.isUnmounting=!0}),t}const Ve=[Function,Array],du={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ve,onEnter:Ve,onAfterEnter:Ve,onEnterCancelled:Ve,onBeforeLeave:Ve,onLeave:Ve,onAfterLeave:Ve,onLeaveCancelled:Ve,onBeforeAppear:Ve,onAppear:Ve,onAfterAppear:Ve,onAppearCancelled:Ve},kl={name:"BaseTransition",props:du,setup(t,{slots:e}){const i=ad(),n=_l();let s;return()=>{const o=e.default&&hu(e.default(),!0);if(!o||!o.length)return;let r=o[0];if(o.length>1){for(const g of o)if(g.type!==st){r=g;break}}const a=X(t),{mode:u}=a;if(n.isLeaving)return fs(r);const c=dr(r);if(!c)return fs(r);const l=Ys(c,a,n,i);Zs(c,l);const d=i.subTree,h=d&&dr(d);let p=!1;const{getTransitionKey:y}=c.type;if(y){const g=y();s===void 0?s=g:g!==s&&(s=g,p=!0)}if(h&&h.type!==st&&(!Jt(c,h)||p)){const g=Ys(h,a,n,i);if(Zs(h,g),u==="out-in")return n.isLeaving=!0,g.afterLeave=()=>{n.isLeaving=!1,i.update.active!==!1&&(i.effect.dirty=!0,i.update())},fs(r);u==="in-out"&&c.type!==st&&(g.delayLeave=(v,A,O)=>{const L=mu(n,h);L[String(h.key)]=h,v[Ct]=()=>{A(),v[Ct]=void 0,delete l.delayedLeave},l.delayedLeave=O})}return r}}},Al=kl;function mu(t,e){const{leavingVNodes:i}=t;let n=i.get(e.type);return n||(n=Object.create(null),i.set(e.type,n)),n}function Ys(t,e,i,n){const{appear:s,mode:o,persisted:r=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:l,onBeforeLeave:d,onLeave:h,onAfterLeave:p,onLeaveCancelled:y,onBeforeAppear:g,onAppear:v,onAfterAppear:A,onAppearCancelled:O}=e,L=String(t.key),R=mu(i,t),K=(J,ce)=>{J&&Ke(J,n,9,ce)},H=(J,ce)=>{const se=ce[1];K(J,ce),U(J)?J.every(ve=>ve.length<=1)&&se():J.length<=1&&se()},pe={mode:o,persisted:r,beforeEnter(J){let ce=a;if(!i.isMounted)if(s)ce=g||a;else return;J[Ct]&&J[Ct](!0);const se=R[L];se&&Jt(t,se)&&se.el[Ct]&&se.el[Ct](),K(ce,[J])},enter(J){let ce=u,se=c,ve=l;if(!i.isMounted)if(s)ce=v||u,se=A||c,ve=O||l;else return;let M=!1;const ie=J[wn]=ze=>{M||(M=!0,ze?K(ve,[J]):K(se,[J]),pe.delayedLeave&&pe.delayedLeave(),J[wn]=void 0)};ce?H(ce,[J,ie]):ie()},leave(J,ce){const se=String(t.key);if(J[wn]&&J[wn](!0),i.isUnmounting)return ce();K(d,[J]);let ve=!1;const M=J[Ct]=ie=>{ve||(ve=!0,ce(),ie?K(y,[J]):K(p,[J]),J[Ct]=void 0,R[se]===t&&delete R[se])};R[se]=t,h?H(h,[J,M]):M()},clone(J){return Ys(J,e,i,n)}};return pe}function fs(t){if(Qn(t))return t=Lt(t),t.children=null,t}function dr(t){return Qn(t)?t.children?t.children[0]:void 0:t}function Zs(t,e){t.shapeFlag&6&&t.component?Zs(t.component.subTree,e):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function hu(t,e=!1,i){let n=[],s=0;for(let o=0;o1)for(let o=0;owe({name:t.name},e,{setup:t}))():t}const zn=t=>!!t.type.__asyncLoader,Qn=t=>t.type.__isKeepAlive;function Sl(t,e){bu(t,"a",e)}function Cl(t,e){bu(t,"da",e)}function bu(t,e,i=Se){const n=t.__wdc||(t.__wdc=()=>{let s=i;for(;s;){if(s.isDeactivated)return;s=s.parent}return t()});if(Xn(e,n,i),i){let s=i.parent;for(;s&&s.parent;)Qn(s.parent.vnode)&&jl(n,e,i,s),s=s.parent}}function jl(t,e,i,n){const s=Xn(e,t,n,!0);fu(()=>{vo(n[e],s)},i)}function Xn(t,e,i=Se,n=!1){if(i){const s=i[t]||(i[t]=[]),o=e.__weh||(e.__weh=(...r)=>{if(i.isUnmounted)return;Xt(),Ai(i);const a=Ke(e,i,t,r);return Qt(),ei(),a});return n?s.unshift(o):s.push(o),o}}const vt=t=>(e,i=Se)=>(!ns||t==="sp")&&Xn(t,(...n)=>e(...n),i),El=vt("bm"),Oo=vt("m"),Tl=vt("bu"),zl=vt("u"),pu=vt("bum"),fu=vt("um"),Ol=vt("sp"),Rl=vt("rtg"),Pl=vt("rtc");function $l(t,e=Se){Xn("ec",t,e)}function Ri(t,e,i,n){let s;const o=i&&i[n];if(U(t)||ye(t)){s=new Array(t.length);for(let r=0,a=t.length;re(r,a,void 0,o&&o[a]));else{const r=Object.keys(t);s=new Array(r.length);for(let a=0,u=r.length;at?Tu(t)?ss(t)||t.proxy:Qs(t.parent):null,Ji=we(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Qs(t.parent),$root:t=>Qs(t.root),$emit:t=>t.emit,$options:t=>Ro(t),$forceUpdate:t=>t.f||(t.f=()=>{t.effect.dirty=!0,zo(t.update)}),$nextTick:t=>t.n||(t.n=iu.bind(t.proxy)),$watch:t=>xl.bind(t)}),gs=(t,e)=>t!==le&&!t.__isScriptSetup&&Q(t,e),Ll={get({_:t},e){const{ctx:i,setupState:n,data:s,props:o,accessCache:r,type:a,appContext:u}=t;let c;if(e[0]!=="$"){const p=r[e];if(p!==void 0)switch(p){case 1:return n[e];case 2:return s[e];case 4:return i[e];case 3:return o[e]}else{if(gs(n,e))return r[e]=1,n[e];if(s!==le&&Q(s,e))return r[e]=2,s[e];if((c=t.propsOptions[0])&&Q(c,e))return r[e]=3,o[e];if(i!==le&&Q(i,e))return r[e]=4,i[e];Xs&&(r[e]=0)}}const l=Ji[e];let d,h;if(l)return e==="$attrs"&&qe(t,"get",e),l(t);if((d=a.__cssModules)&&(d=d[e]))return d;if(i!==le&&Q(i,e))return r[e]=4,i[e];if(h=u.config.globalProperties,Q(h,e))return h[e]},set({_:t},e,i){const{data:n,setupState:s,ctx:o}=t;return gs(s,e)?(s[e]=i,!0):n!==le&&Q(n,e)?(n[e]=i,!0):Q(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(o[e]=i,!0)},has({_:{data:t,setupState:e,accessCache:i,ctx:n,appContext:s,propsOptions:o}},r){let a;return!!i[r]||t!==le&&Q(t,r)||gs(e,r)||(a=o[0])&&Q(a,r)||Q(n,r)||Q(Ji,r)||Q(s.config.globalProperties,r)},defineProperty(t,e,i){return i.get!=null?t._.accessCache[e]=0:Q(i,"value")&&this.set(t,e,i.value,null),Reflect.defineProperty(t,e,i)}};function mr(t){return U(t)?t.reduce((e,i)=>(e[i]=null,e),{}):t}let Xs=!0;function Bl(t){const e=Ro(t),i=t.proxy,n=t.ctx;Xs=!1,e.beforeCreate&&hr(e.beforeCreate,t,"bc");const{data:s,computed:o,methods:r,watch:a,provide:u,inject:c,created:l,beforeMount:d,mounted:h,beforeUpdate:p,updated:y,activated:g,deactivated:v,beforeDestroy:A,beforeUnmount:O,destroyed:L,unmounted:R,render:K,renderTracked:H,renderTriggered:pe,errorCaptured:J,serverPrefetch:ce,expose:se,inheritAttrs:ve,components:M,directives:ie,filters:ze}=e;if(c&&Il(c,n,null),r)for(const oe in r){const ee=r[oe];G(ee)&&(n[oe]=ee.bind(i))}if(s){const oe=s.call(i,i);de(oe)&&(t.data=ln(oe))}if(Xs=!0,o)for(const oe in o){const ee=o[oe],pt=G(ee)?ee.bind(i,i):G(ee.get)?ee.get.bind(i,i):Ue,wt=!G(ee)&&G(ee.set)?ee.set.bind(i):Ue,rt=Fe({get:pt,set:wt});Object.defineProperty(n,oe,{enumerable:!0,configurable:!0,get:()=>rt.value,set:Be=>rt.value=Be})}if(a)for(const oe in a)gu(a[oe],n,i,oe);if(u){const oe=G(u)?u.call(i):u;Reflect.ownKeys(oe).forEach(ee=>{On(ee,oe[ee])})}l&&hr(l,t,"c");function fe(oe,ee){U(ee)?ee.forEach(pt=>oe(pt.bind(i))):ee&&oe(ee.bind(i))}if(fe(El,d),fe(Oo,h),fe(Tl,p),fe(zl,y),fe(Sl,g),fe(Cl,v),fe($l,J),fe(Pl,H),fe(Rl,pe),fe(pu,O),fe(fu,R),fe(Ol,ce),U(se))if(se.length){const oe=t.exposed||(t.exposed={});se.forEach(ee=>{Object.defineProperty(oe,ee,{get:()=>i[ee],set:pt=>i[ee]=pt})})}else t.exposed||(t.exposed={});K&&t.render===Ue&&(t.render=K),ve!=null&&(t.inheritAttrs=ve),M&&(t.components=M),ie&&(t.directives=ie)}function Il(t,e,i=Ue){U(t)&&(t=eo(t));for(const n in t){const s=t[n];let o;de(s)?"default"in s?o=dt(s.from||n,s.default,!0):o=dt(s.from||n):o=dt(s),Me(o)?Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):e[n]=o}}function hr(t,e,i){Ke(U(t)?t.map(n=>n.bind(e.proxy)):t.bind(e.proxy),e,i)}function gu(t,e,i,n){const s=n.includes(".")?lu(i,n):()=>i[n];if(ye(t)){const o=e[t];G(o)&&Zt(s,o)}else if(G(t))Zt(s,t.bind(i));else if(de(t))if(U(t))t.forEach(o=>gu(o,e,i,n));else{const o=G(t.handler)?t.handler.bind(i):e[t.handler];G(o)&&Zt(s,o,t)}}function Ro(t){const e=t.type,{mixins:i,extends:n}=e,{mixins:s,optionsCache:o,config:{optionMergeStrategies:r}}=t.appContext,a=o.get(e);let u;return a?u=a:!s.length&&!i&&!n?u=e:(u={},s.length&&s.forEach(c=>Dn(u,c,r,!0)),Dn(u,e,r)),de(e)&&o.set(e,u),u}function Dn(t,e,i,n=!1){const{mixins:s,extends:o}=e;o&&Dn(t,o,i,!0),s&&s.forEach(r=>Dn(t,r,i,!0));for(const r in e)if(!(n&&r==="expose")){const a=ql[r]||i&&i[r];t[r]=a?a(t[r],e[r]):e[r]}return t}const ql={data:br,props:pr,emits:pr,methods:Hi,computed:Hi,beforeCreate:Oe,created:Oe,beforeMount:Oe,mounted:Oe,beforeUpdate:Oe,updated:Oe,beforeDestroy:Oe,beforeUnmount:Oe,destroyed:Oe,unmounted:Oe,activated:Oe,deactivated:Oe,errorCaptured:Oe,serverPrefetch:Oe,components:Hi,directives:Hi,watch:Dl,provide:br,inject:Ml};function br(t,e){return e?t?function(){return we(G(t)?t.call(this,this):t,G(e)?e.call(this,this):e)}:e:t}function Ml(t,e){return Hi(eo(t),eo(e))}function eo(t){if(U(t)){const e={};for(let i=0;i1)return i&&G(e)?e.call(n&&n.proxy):e}}function Ul(t,e,i,n=!1){const s={},o={};In(o,is,1),t.propsDefaults=Object.create(null),vu(t,e,s,o);for(const r in t.propsOptions[0])r in s||(s[r]=void 0);i?t.props=n?s:Ga(s):t.type.props?t.props=s:t.props=o,t.attrs=o}function Hl(t,e,i,n){const{props:s,attrs:o,vnode:{patchFlag:r}}=t,a=X(s),[u]=t.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const l=t.vnode.dynamicProps;for(let d=0;d{u=!0;const[h,p]=wu(d,e,!0);we(r,h),p&&a.push(...p)};!i&&e.mixins.length&&e.mixins.forEach(l),t.extends&&l(t.extends),t.mixins&&t.mixins.forEach(l)}if(!o&&!u)return de(t)&&n.set(t,fi),fi;if(U(o))for(let l=0;l-1,p[1]=g<0||y-1||Q(p,"default"))&&a.push(d)}}}const c=[r,a];return de(t)&&n.set(t,c),c}function fr(t){return t[0]!=="$"}function gr(t){const e=t&&t.toString().match(/^\s*(function|class) (\w+)/);return e?e[2]:t===null?"null":""}function yr(t,e){return gr(t)===gr(e)}function vr(t,e){return U(e)?e.findIndex(i=>yr(i,t)):G(e)&&yr(e,t)?0:-1}const xu=t=>t[0]==="_"||t==="$stable",Po=t=>U(t)?t.map(ct):[ct(t)],Vl=(t,e,i)=>{if(e._n)return e;const n=ti((...s)=>Po(e(...s)),i);return n._c=!1,n},_u=(t,e,i)=>{const n=t._ctx;for(const s in t){if(xu(s))continue;const o=t[s];if(G(o))e[s]=Vl(s,o,n);else if(o!=null){const r=Po(o);e[s]=()=>r}}},ku=(t,e)=>{const i=Po(e);t.slots.default=()=>i},Jl=(t,e)=>{if(t.vnode.shapeFlag&32){const i=e._;i?(t.slots=X(e),In(e,"_",i)):_u(e,t.slots={})}else t.slots={},e&&ku(t,e);In(t.slots,is,1)},Gl=(t,e,i)=>{const{vnode:n,slots:s}=t;let o=!0,r=le;if(n.shapeFlag&32){const a=e._;a?i&&a===1?o=!1:(we(s,e),!i&&a===1&&delete s._):(o=!e.$stable,_u(e,s)),r=e}else e&&(ku(t,e),r={default:1});if(o)for(const a in s)!xu(a)&&r[a]==null&&delete s[a]};function io(t,e,i,n,s=!1){if(U(t)){t.forEach((h,p)=>io(h,e&&(U(e)?e[p]:e),i,n,s));return}if(zn(n)&&!s)return;const o=n.shapeFlag&4?ss(n.component)||n.component.proxy:n.el,r=s?null:o,{i:a,r:u}=t,c=e&&e.r,l=a.refs===le?a.refs={}:a.refs,d=a.setupState;if(c!=null&&c!==u&&(ye(c)?(l[c]=null,Q(d,c)&&(d[c]=null)):Me(c)&&(c.value=null)),G(u))Pt(u,a,12,[r,l]);else{const h=ye(u),p=Me(u);if(h||p){const y=()=>{if(t.f){const g=h?Q(d,u)?d[u]:l[u]:u.value;s?U(g)&&vo(g,o):U(g)?g.includes(o)||g.push(o):h?(l[u]=[o],Q(d,u)&&(d[u]=l[u])):(u.value=[o],t.k&&(l[t.k]=u.value))}else h?(l[u]=r,Q(d,u)&&(d[u]=r)):p&&(u.value=r,t.k&&(l[t.k]=r))};r?(y.id=-1,Ie(y,i)):y()}}}const Ie=yl;function Kl(t){return Wl(t)}function Wl(t,e){const i=Pa();i.__VUE__=!0;const{insert:n,remove:s,patchProp:o,createElement:r,createText:a,createComment:u,setText:c,setElementText:l,parentNode:d,nextSibling:h,setScopeId:p=Ue,insertStaticContent:y}=t,g=(m,b,f,k=null,w=null,j=null,z=void 0,C=null,E=!!b.dynamicChildren)=>{if(m===b)return;m&&!Jt(m,b)&&(k=x(m),Be(m,w,j,!0),m=null),b.patchFlag===-2&&(E=!1,b.dynamicChildren=null);const{type:S,ref:$,shapeFlag:F}=b;switch(S){case es:v(m,b,f,k);break;case st:A(m,b,f,k);break;case Rn:m==null&&O(b,f,k,z);break;case Ae:M(m,b,f,k,w,j,z,C,E);break;default:F&1?K(m,b,f,k,w,j,z,C,E):F&6?ie(m,b,f,k,w,j,z,C,E):(F&64||F&128)&&S.process(m,b,f,k,w,j,z,C,E,B)}$!=null&&w&&io($,m&&m.ref,j,b||m,!b)},v=(m,b,f,k)=>{if(m==null)n(b.el=a(b.children),f,k);else{const w=b.el=m.el;b.children!==m.children&&c(w,b.children)}},A=(m,b,f,k)=>{m==null?n(b.el=u(b.children||""),f,k):b.el=m.el},O=(m,b,f,k)=>{[m.el,m.anchor]=y(m.children,b,f,k,m.el,m.anchor)},L=({el:m,anchor:b},f,k)=>{let w;for(;m&&m!==b;)w=h(m),n(m,f,k),m=w;n(b,f,k)},R=({el:m,anchor:b})=>{let f;for(;m&&m!==b;)f=h(m),s(m),m=f;s(b)},K=(m,b,f,k,w,j,z,C,E)=>{b.type==="svg"?z="svg":b.type==="math"&&(z="mathml"),m==null?H(b,f,k,w,j,z,C,E):ce(m,b,w,j,z,C,E)},H=(m,b,f,k,w,j,z,C)=>{let E,S;const{props:$,shapeFlag:F,transition:D,dirs:V}=m;if(E=m.el=r(m.type,j,$&&$.is,$),F&8?l(E,m.children):F&16&&J(m.children,E,null,k,w,ys(m,j),z,C),V&&qt(m,null,k,"created"),pe(E,m,m.scopeId,z,k),$){for(const re in $)re!=="value"&&!En(re)&&o(E,re,null,$[re],j,m.children,k,w,Ce);"value"in $&&o(E,"value",null,$.value,j),(S=$.onVnodeBeforeMount)&&ut(S,k,m)}V&&qt(m,null,k,"beforeMount");const W=Yl(w,D);W&&D.beforeEnter(E),n(E,b,f),((S=$&&$.onVnodeMounted)||W||V)&&Ie(()=>{S&&ut(S,k,m),W&&D.enter(E),V&&qt(m,null,k,"mounted")},w)},pe=(m,b,f,k,w)=>{if(f&&p(m,f),k)for(let j=0;j{for(let S=E;S{const C=b.el=m.el;let{patchFlag:E,dynamicChildren:S,dirs:$}=b;E|=m.patchFlag&16;const F=m.props||le,D=b.props||le;let V;if(f&&Mt(f,!1),(V=D.onVnodeBeforeUpdate)&&ut(V,f,b,m),$&&qt(b,m,f,"beforeUpdate"),f&&Mt(f,!0),S?se(m.dynamicChildren,S,C,f,k,ys(b,w),j):z||ee(m,b,C,null,f,k,ys(b,w),j,!1),E>0){if(E&16)ve(C,b,F,D,f,k,w);else if(E&2&&F.class!==D.class&&o(C,"class",null,D.class,w),E&4&&o(C,"style",F.style,D.style,w),E&8){const W=b.dynamicProps;for(let re=0;re{V&&ut(V,f,b,m),$&&qt(b,m,f,"updated")},k)},se=(m,b,f,k,w,j,z)=>{for(let C=0;C{if(f!==k){if(f!==le)for(const C in f)!En(C)&&!(C in k)&&o(m,C,f[C],null,z,b.children,w,j,Ce);for(const C in k){if(En(C))continue;const E=k[C],S=f[C];E!==S&&C!=="value"&&o(m,C,S,E,z,b.children,w,j,Ce)}"value"in k&&o(m,"value",f.value,k.value,z)}},M=(m,b,f,k,w,j,z,C,E)=>{const S=b.el=m?m.el:a(""),$=b.anchor=m?m.anchor:a("");let{patchFlag:F,dynamicChildren:D,slotScopeIds:V}=b;V&&(C=C?C.concat(V):V),m==null?(n(S,f,k),n($,f,k),J(b.children||[],f,$,w,j,z,C,E)):F>0&&F&64&&D&&m.dynamicChildren?(se(m.dynamicChildren,D,f,w,j,z,C),(b.key!=null||w&&b===w.subTree)&&Au(m,b,!0)):ee(m,b,f,$,w,j,z,C,E)},ie=(m,b,f,k,w,j,z,C,E)=>{b.slotScopeIds=C,m==null?b.shapeFlag&512?w.ctx.activate(b,f,k,z,E):ze(b,f,k,w,j,z,E):bt(m,b,E)},ze=(m,b,f,k,w,j,z)=>{const C=m.component=rd(m,k,w);if(Qn(m)&&(C.ctx.renderer=B),ud(C),C.asyncDep){if(w&&w.registerDep(C,fe),!m.el){const E=C.subTree=I(st);A(null,E,b,f)}}else fe(C,m,b,f,w,j,z)},bt=(m,b,f)=>{const k=b.component=m.component;if(ml(m,b,f))if(k.asyncDep&&!k.asyncResolved){oe(k,b,f);return}else k.next=b,rl(k.update),k.effect.dirty=!0,k.update();else b.el=m.el,k.vnode=b},fe=(m,b,f,k,w,j,z)=>{const C=()=>{if(m.isMounted){let{next:$,bu:F,u:D,parent:V,vnode:W}=m;{const oi=Su(m);if(oi){$&&($.el=W.el,oe(m,$,z)),oi.asyncDep.then(()=>{m.isUnmounted||C()});return}}let re=$,he;Mt(m,!1),$?($.el=W.el,oe(m,$,z)):$=W,F&&Tn(F),(he=$.props&&$.props.onVnodeBeforeUpdate)&&ut(he,V,$,W),Mt(m,!0);const xe=ps(m),Qe=m.subTree;m.subTree=xe,g(Qe,xe,d(Qe.el),x(Qe),m,w,j),$.el=xe.el,re===null&&hl(m,xe.el),D&&Ie(D,w),(he=$.props&&$.props.onVnodeUpdated)&&Ie(()=>ut(he,V,$,W),w)}else{let $;const{el:F,props:D}=b,{bm:V,m:W,parent:re}=m,he=zn(b);if(Mt(m,!1),V&&Tn(V),!he&&($=D&&D.onVnodeBeforeMount)&&ut($,re,b),Mt(m,!0),F&&me){const xe=()=>{m.subTree=ps(m),me(F,m.subTree,m,w,null)};he?b.type.__asyncLoader().then(()=>!m.isUnmounted&&xe()):xe()}else{const xe=m.subTree=ps(m);g(null,xe,f,k,m,w,j),b.el=xe.el}if(W&&Ie(W,w),!he&&($=D&&D.onVnodeMounted)){const xe=b;Ie(()=>ut($,re,xe),w)}(b.shapeFlag&256||re&&zn(re.vnode)&&re.vnode.shapeFlag&256)&&m.a&&Ie(m.a,w),m.isMounted=!0,b=f=k=null}},E=m.effect=new _o(C,Ue,()=>zo(S),m.scope),S=m.update=()=>{E.dirty&&E.run()};S.id=m.uid,Mt(m,!0),S()},oe=(m,b,f)=>{b.component=m;const k=m.vnode.props;m.vnode=b,m.next=null,Hl(m,b.props,k,f),Gl(m,b.children,f),Xt(),ur(m),ei()},ee=(m,b,f,k,w,j,z,C,E=!1)=>{const S=m&&m.children,$=m?m.shapeFlag:0,F=b.children,{patchFlag:D,shapeFlag:V}=b;if(D>0){if(D&128){wt(S,F,f,k,w,j,z,C,E);return}else if(D&256){pt(S,F,f,k,w,j,z,C,E);return}}V&8?($&16&&Ce(S,w,j),F!==S&&l(f,F)):$&16?V&16?wt(S,F,f,k,w,j,z,C,E):Ce(S,w,j,!0):($&8&&l(f,""),V&16&&J(F,f,k,w,j,z,C,E))},pt=(m,b,f,k,w,j,z,C,E)=>{m=m||fi,b=b||fi;const S=m.length,$=b.length,F=Math.min(S,$);let D;for(D=0;D$?Ce(m,w,j,!0,!1,F):J(b,f,k,w,j,z,C,E,F)},wt=(m,b,f,k,w,j,z,C,E)=>{let S=0;const $=b.length;let F=m.length-1,D=$-1;for(;S<=F&&S<=D;){const V=m[S],W=b[S]=E?jt(b[S]):ct(b[S]);if(Jt(V,W))g(V,W,f,null,w,j,z,C,E);else break;S++}for(;S<=F&&S<=D;){const V=m[F],W=b[D]=E?jt(b[D]):ct(b[D]);if(Jt(V,W))g(V,W,f,null,w,j,z,C,E);else break;F--,D--}if(S>F){if(S<=D){const V=D+1,W=V<$?b[V].el:k;for(;S<=D;)g(null,b[S]=E?jt(b[S]):ct(b[S]),f,W,w,j,z,C,E),S++}}else if(S>D)for(;S<=F;)Be(m[S],w,j,!0),S++;else{const V=S,W=S,re=new Map;for(S=W;S<=D;S++){const De=b[S]=E?jt(b[S]):ct(b[S]);De.key!=null&&re.set(De.key,S)}let he,xe=0;const Qe=D-W+1;let oi=!1,Yo=0;const $i=new Array(Qe);for(S=0;S=Qe){Be(De,w,j,!0);continue}let at;if(De.key!=null)at=re.get(De.key);else for(he=W;he<=D;he++)if($i[he-W]===0&&Jt(De,b[he])){at=he;break}at===void 0?Be(De,w,j,!0):($i[at-W]=S+1,at>=Yo?Yo=at:oi=!0,g(De,b[at],f,null,w,j,z,C,E),xe++)}const Zo=oi?Zl($i):fi;for(he=Zo.length-1,S=Qe-1;S>=0;S--){const De=W+S,at=b[De],Qo=De+1<$?b[De+1].el:k;$i[S]===0?g(null,at,f,Qo,w,j,z,C,E):oi&&(he<0||S!==Zo[he]?rt(at,f,Qo,2):he--)}}},rt=(m,b,f,k,w=null)=>{const{el:j,type:z,transition:C,children:E,shapeFlag:S}=m;if(S&6){rt(m.component.subTree,b,f,k);return}if(S&128){m.suspense.move(b,f,k);return}if(S&64){z.move(m,b,f,B);return}if(z===Ae){n(j,b,f);for(let F=0;FC.enter(j),w);else{const{leave:F,delayLeave:D,afterLeave:V}=C,W=()=>n(j,b,f),re=()=>{F(j,()=>{W(),V&&V()})};D?D(j,W,re):re()}else n(j,b,f)},Be=(m,b,f,k=!1,w=!1)=>{const{type:j,props:z,ref:C,children:E,dynamicChildren:S,shapeFlag:$,patchFlag:F,dirs:D}=m;if(C!=null&&io(C,null,f,m,!0),$&256){b.ctx.deactivate(m);return}const V=$&1&&D,W=!zn(m);let re;if(W&&(re=z&&z.onVnodeBeforeUnmount)&&ut(re,b,m),$&6)hn(m.component,f,k);else{if($&128){m.suspense.unmount(f,k);return}V&&qt(m,null,b,"beforeUnmount"),$&64?m.type.remove(m,b,f,w,B,k):S&&(j!==Ae||F>0&&F&64)?Ce(S,b,f,!1,!0):(j===Ae&&F&384||!w&&$&16)&&Ce(E,b,f),k&&ni(m)}(W&&(re=z&&z.onVnodeUnmounted)||V)&&Ie(()=>{re&&ut(re,b,m),V&&qt(m,null,b,"unmounted")},f)},ni=m=>{const{type:b,el:f,anchor:k,transition:w}=m;if(b===Ae){si(f,k);return}if(b===Rn){R(m);return}const j=()=>{s(f),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(m.shapeFlag&1&&w&&!w.persisted){const{leave:z,delayLeave:C}=w,E=()=>z(f,j);C?C(m.el,j,E):E()}else j()},si=(m,b)=>{let f;for(;m!==b;)f=h(m),s(m),m=f;s(b)},hn=(m,b,f)=>{const{bum:k,scope:w,update:j,subTree:z,um:C}=m;k&&Tn(k),w.stop(),j&&(j.active=!1,Be(z,m,b,f)),C&&Ie(C,b),Ie(()=>{m.isUnmounted=!0},b),b&&b.pendingBranch&&!b.isUnmounted&&m.asyncDep&&!m.asyncResolved&&m.suspenseId===b.pendingId&&(b.deps--,b.deps===0&&b.resolve())},Ce=(m,b,f,k=!1,w=!1,j=0)=>{for(let z=j;zm.shapeFlag&6?x(m.component.subTree):m.shapeFlag&128?m.suspense.next():h(m.anchor||m.el);let P=!1;const T=(m,b,f)=>{m==null?b._vnode&&Be(b._vnode,null,null,!0):g(b._vnode||null,m,b,null,null,null,f),P||(P=!0,ur(),su(),P=!1),b._vnode=m},B={p:g,um:Be,m:rt,r:ni,mt:ze,mc:J,pc:ee,pbc:se,n:x,o:t};let te,me;return e&&([te,me]=e(B)),{render:T,hydrate:te,createApp:Fl(T,te)}}function ys({type:t,props:e},i){return i==="svg"&&t==="foreignObject"||i==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:i}function Mt({effect:t,update:e},i){t.allowRecurse=e.allowRecurse=i}function Yl(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function Au(t,e,i=!1){const n=t.children,s=e.children;if(U(n)&&U(s))for(let o=0;o>1,t[i[a]]0&&(e[n]=i[o-1]),i[o]=n)}}for(o=i.length,r=i[o-1];o-- >0;)i[o]=r,r=e[r];return i}function Su(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:Su(e)}const Ql=t=>t.__isTeleport,Ae=Symbol.for("v-fgt"),es=Symbol.for("v-txt"),st=Symbol.for("v-cmt"),Rn=Symbol.for("v-stc"),Gi=[];let it=null;function q(t=!1){Gi.push(it=t?null:[])}function Xl(){Gi.pop(),it=Gi[Gi.length-1]||null}let sn=1;function wr(t){sn+=t}function Cu(t){return t.dynamicChildren=sn>0?it||fi:null,Xl(),sn>0&&it&&it.push(t),t}function N(t,e,i,n,s,o){return Cu(_(t,e,i,n,s,o,!0))}function ts(t,e,i,n,s){return Cu(I(t,e,i,n,s,!0))}function no(t){return t?t.__v_isVNode===!0:!1}function Jt(t,e){return t.type===e.type&&t.key===e.key}const is="__vInternal",ju=({key:t})=>t??null,Pn=({ref:t,ref_key:e,ref_for:i})=>(typeof t=="number"&&(t=""+t),t!=null?ye(t)||Me(t)||G(t)?{i:He,r:t,k:e,f:!!i}:t:null);function _(t,e=null,i=null,n=0,s=null,o=t===Ae?0:1,r=!1,a=!1){const u={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&ju(e),ref:e&&Pn(e),scopeId:au,slotScopeIds:null,children:i,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:He};return a?($o(u,i),o&128&&t.normalize(u)):i&&(u.shapeFlag|=ye(i)?8:16),sn>0&&!r&&it&&(u.patchFlag>0||o&6)&&u.patchFlag!==32&&it.push(u),u}const I=ed;function ed(t,e=null,i=null,n=0,s=null,o=!1){if((!t||t===pl)&&(t=st),no(t)){const a=Lt(t,e,!0);return i&&$o(a,i),sn>0&&!o&&it&&(a.shapeFlag&6?it[it.indexOf(t)]=a:it.push(a)),a.patchFlag|=-2,a}if(hd(t)&&(t=t.__vccOpts),e){e=td(e);let{class:a,style:u}=e;a&&!ye(a)&&(e.class=Ze(a)),de(u)&&(Wa(u)&&!U(u)&&(u=we({},u)),e.style=xo(u))}const r=ye(t)?1:gl(t)?128:Ql(t)?64:de(t)?4:G(t)?2:0;return _(t,e,i,n,s,r,o,!0)}function td(t){return t?Wa(t)||is in t?we({},t):t:null}function Lt(t,e,i=!1){const{props:n,ref:s,patchFlag:o,children:r}=t,a=e?nd(n||{},e):n;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:a,key:a&&ju(a),ref:e&&e.ref?i&&s?U(s)?s.concat(Pn(e)):[s,Pn(e)]:Pn(e):s,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:r,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Ae?o===-1?16:o|16:o,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Lt(t.ssContent),ssFallback:t.ssFallback&&Lt(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce}}function id(t=" ",e=0){return I(es,null,t,e)}function Eu(t,e){const i=I(Rn,null,t);return i.staticCount=e,i}function mt(t="",e=!1){return e?(q(),ts(st,null,t)):I(st,null,t)}function ct(t){return t==null||typeof t=="boolean"?I(st):U(t)?I(Ae,null,t.slice()):typeof t=="object"?jt(t):I(es,null,String(t))}function jt(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Lt(t)}function $o(t,e){let i=0;const{shapeFlag:n}=t;if(e==null)e=null;else if(U(e))i=16;else if(typeof e=="object")if(n&65){const s=e.default;s&&(s._c&&(s._d=!1),$o(t,s()),s._c&&(s._d=!0));return}else{i=32;const s=e._;!s&&!(is in e)?e._ctx=He:s===3&&He&&(He.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else G(e)?(e={default:e,_ctx:He},i=32):(e=String(e),n&64?(i=16,e=[id(e)]):i=8);t.children=e,t.shapeFlag|=i}function nd(...t){const e={};for(let i=0;iSe||He;let Lo,so;{const t=Pa(),e=(i,n)=>{let s;return(s=t[i])||(s=t[i]=[]),s.push(n),o=>{s.length>1?s.forEach(r=>r(o)):s[0](o)}};Lo=e("__VUE_INSTANCE_SETTERS__",i=>Se=i),so=e("__VUE_SSR_SETTERS__",i=>ns=i)}const Ai=t=>{Lo(t),t.scope.on()},Qt=()=>{Se&&Se.scope.off(),Lo(null)};function Tu(t){return t.vnode.shapeFlag&4}let ns=!1;function ud(t,e=!1){e&&so(e);const{props:i,children:n}=t.vnode,s=Tu(t);Ul(t,i,s,e),Jl(t,n);const o=s?cd(t,e):void 0;return e&&so(!1),o}function cd(t,e){const i=t.type;t.accessCache=Object.create(null),t.proxy=Ya(new Proxy(t.ctx,Ll));const{setup:n}=i;if(n){const s=t.setupContext=n.length>1?dd(t):null;Ai(t),Xt();const o=Pt(n,t,0,[t.props,s]);if(ei(),Qt(),za(o)){if(o.then(Qt,Qt),e)return o.then(r=>{xr(t,r,e)}).catch(r=>{Wn(r,t,0)});t.asyncDep=o}else xr(t,o,e)}else zu(t,e)}function xr(t,e,i){G(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:de(e)&&(t.setupState=eu(e)),zu(t,i)}let _r;function zu(t,e,i){const n=t.type;if(!t.render){if(!e&&_r&&!n.render){const s=n.template||Ro(t).template;if(s){const{isCustomElement:o,compilerOptions:r}=t.appContext.config,{delimiters:a,compilerOptions:u}=n,c=we(we({isCustomElement:o,delimiters:a},r),u);n.render=_r(s,c)}}t.render=n.render||Ue}{Ai(t),Xt();try{Bl(t)}finally{ei(),Qt()}}}function ld(t){return t.attrsProxy||(t.attrsProxy=new Proxy(t.attrs,{get(e,i){return qe(t,"get","$attrs"),e[i]}}))}function dd(t){const e=i=>{t.exposed=i||{}};return{get attrs(){return ld(t)},slots:t.slots,emit:t.emit,expose:e}}function ss(t){if(t.exposed)return t.exposeProxy||(t.exposeProxy=new Proxy(eu(Ya(t.exposed)),{get(e,i){if(i in e)return e[i];if(i in Ji)return Ji[i](t)},has(e,i){return i in e||i in Ji}}))}function md(t,e=!0){return G(t)?t.displayName||t.name:t.name||e&&t.__name}function hd(t){return G(t)&&"__vccOpts"in t}const Fe=(t,e)=>el(t,e,ns);function Bo(t,e,i){const n=arguments.length;return n===2?de(e)&&!U(e)?no(e)?I(t,null,[e]):I(t,e):I(t,null,e):(n>3?i=Array.prototype.slice.call(arguments,2):n===3&&no(i)&&(i=[i]),I(t,e,i))}const bd="3.4.6",pd="http://www.w3.org/2000/svg",fd="http://www.w3.org/1998/Math/MathML",Et=typeof document<"u"?document:null,kr=Et&&Et.createElement("template"),gd={insert:(t,e,i)=>{e.insertBefore(t,i||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,i,n)=>{const s=e==="svg"?Et.createElementNS(pd,t):e==="mathml"?Et.createElementNS(fd,t):Et.createElement(t,i?{is:i}:void 0);return t==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.multiple),s},createText:t=>Et.createTextNode(t),createComment:t=>Et.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>Et.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,i,n,s,o){const r=i?i.previousSibling:e.lastChild;if(s&&(s===o||s.nextSibling))for(;e.insertBefore(s.cloneNode(!0),i),!(s===o||!(s=s.nextSibling)););else{kr.innerHTML=n==="svg"?`${t}`:n==="mathml"?`${t}`:t;const a=kr.content;if(n==="svg"||n==="mathml"){const u=a.firstChild;for(;u.firstChild;)a.appendChild(u.firstChild);a.removeChild(u)}e.insertBefore(a,i)}return[r?r.nextSibling:e.firstChild,i?i.previousSibling:e.lastChild]}},_t="transition",Li="animation",on=Symbol("_vtc"),It=(t,{slots:e})=>Bo(Al,yd(t),e);It.displayName="Transition";const Ou={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};It.props=we({},du,Ou);const Dt=(t,e=[])=>{U(t)?t.forEach(i=>i(...e)):t&&t(...e)},Ar=t=>t?U(t)?t.some(e=>e.length>1):t.length>1:!1;function yd(t){const e={};for(const M in t)M in Ou||(e[M]=t[M]);if(t.css===!1)return e;const{name:i="v",type:n,duration:s,enterFromClass:o=`${i}-enter-from`,enterActiveClass:r=`${i}-enter-active`,enterToClass:a=`${i}-enter-to`,appearFromClass:u=o,appearActiveClass:c=r,appearToClass:l=a,leaveFromClass:d=`${i}-leave-from`,leaveActiveClass:h=`${i}-leave-active`,leaveToClass:p=`${i}-leave-to`}=t,y=vd(s),g=y&&y[0],v=y&&y[1],{onBeforeEnter:A,onEnter:O,onEnterCancelled:L,onLeave:R,onLeaveCancelled:K,onBeforeAppear:H=A,onAppear:pe=O,onAppearCancelled:J=L}=e,ce=(M,ie,ze)=>{Nt(M,ie?l:a),Nt(M,ie?c:r),ze&&ze()},se=(M,ie)=>{M._isLeaving=!1,Nt(M,d),Nt(M,p),Nt(M,h),ie&&ie()},ve=M=>(ie,ze)=>{const bt=M?pe:O,fe=()=>ce(ie,M,ze);Dt(bt,[ie,fe]),Sr(()=>{Nt(ie,M?u:o),kt(ie,M?l:a),Ar(bt)||Cr(ie,n,g,fe)})};return we(e,{onBeforeEnter(M){Dt(A,[M]),kt(M,o),kt(M,r)},onBeforeAppear(M){Dt(H,[M]),kt(M,u),kt(M,c)},onEnter:ve(!1),onAppear:ve(!0),onLeave(M,ie){M._isLeaving=!0;const ze=()=>se(M,ie);kt(M,d),_d(),kt(M,h),Sr(()=>{M._isLeaving&&(Nt(M,d),kt(M,p),Ar(R)||Cr(M,n,v,ze))}),Dt(R,[M,ze])},onEnterCancelled(M){ce(M,!1),Dt(L,[M])},onAppearCancelled(M){ce(M,!0),Dt(J,[M])},onLeaveCancelled(M){se(M),Dt(K,[M])}})}function vd(t){if(t==null)return null;if(de(t))return[vs(t.enter),vs(t.leave)];{const e=vs(t);return[e,e]}}function vs(t){return Sc(t)}function kt(t,e){e.split(/\s+/).forEach(i=>i&&t.classList.add(i)),(t[on]||(t[on]=new Set)).add(e)}function Nt(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.remove(n));const i=t[on];i&&(i.delete(e),i.size||(t[on]=void 0))}function Sr(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let wd=0;function Cr(t,e,i,n){const s=t._endId=++wd,o=()=>{s===t._endId&&n()};if(i)return setTimeout(o,i);const{type:r,timeout:a,propCount:u}=xd(t,e);if(!r)return n();const c=r+"end";let l=0;const d=()=>{t.removeEventListener(c,h),o()},h=p=>{p.target===t&&++l>=u&&d()};setTimeout(()=>{l(i[y]||"").split(", "),s=n(`${_t}Delay`),o=n(`${_t}Duration`),r=jr(s,o),a=n(`${Li}Delay`),u=n(`${Li}Duration`),c=jr(a,u);let l=null,d=0,h=0;e===_t?r>0&&(l=_t,d=r,h=o.length):e===Li?c>0&&(l=Li,d=c,h=u.length):(d=Math.max(r,c),l=d>0?r>c?_t:Li:null,h=l?l===_t?o.length:u.length:0);const p=l===_t&&/\b(transform|all)(,|$)/.test(n(`${_t}Property`).toString());return{type:l,timeout:d,propCount:h,hasTransform:p}}function jr(t,e){for(;t.lengthEr(i)+Er(t[n])))}function Er(t){return t==="auto"?0:Number(t.slice(0,-1).replace(",","."))*1e3}function _d(){return document.body.offsetHeight}function kd(t,e,i){const n=t[on];n&&(e=(e?[e,...n]:[...n]).join(" ")),e==null?t.removeAttribute("class"):i?t.setAttribute("class",e):t.className=e}const Io=Symbol("_vod"),Ru={beforeMount(t,{value:e},{transition:i}){t[Io]=t.style.display==="none"?"":t.style.display,i&&e?i.beforeEnter(t):Bi(t,e)},mounted(t,{value:e},{transition:i}){i&&e&&i.enter(t)},updated(t,{value:e,oldValue:i},{transition:n}){!e!=!i&&(n?e?(n.beforeEnter(t),Bi(t,!0),n.enter(t)):n.leave(t,()=>{Bi(t,!1)}):Bi(t,e))},beforeUnmount(t,{value:e}){Bi(t,e)}};function Bi(t,e){t.style.display=e?t[Io]:"none"}const Ad=Symbol("");function Sd(t,e,i){const n=t.style,s=ye(i);if(i&&!s){if(e&&!ye(e))for(const o in e)i[o]==null&&oo(n,o,"");for(const o in i)oo(n,o,i[o])}else{const o=n.display;if(s){if(e!==i){const r=n[Ad];r&&(i+=";"+r),n.cssText=i}}else e&&t.removeAttribute("style");Io in t&&(n.display=o)}}const Tr=/\s*!important$/;function oo(t,e,i){if(U(i))i.forEach(n=>oo(t,e,n));else if(i==null&&(i=""),e.startsWith("--"))t.setProperty(e,i);else{const n=Cd(t,e);Tr.test(i)?t.setProperty(Oi(n),i.replace(Tr,""),"important"):t[n]=i}}const zr=["Webkit","Moz","ms"],ws={};function Cd(t,e){const i=ws[e];if(i)return i;let n=ht(e);if(n!=="filter"&&n in t)return ws[e]=n;n=Gn(n);for(let s=0;sxs||(Rd.then(()=>xs=0),xs=Date.now());function $d(t,e){const i=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=i.attached)return;Ke(Ld(n,i.value),e,5,[n])};return i.value=t,i.attached=Pd(),i}function Ld(t,e){if(U(e)){const i=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{i.call(t),t._stopped=!0},e.map(n=>s=>!s._stopped&&n&&n(s))}else return e}const $r=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,Bd=(t,e,i,n,s,o,r,a,u)=>{const c=s==="svg";e==="class"?kd(t,n,c):e==="style"?Sd(t,i,n):Hn(e)?yo(e)||zd(t,e,i,n,r):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Id(t,e,n,c))?Ed(t,e,n,o,r,a,u):(e==="true-value"?t._trueValue=n:e==="false-value"&&(t._falseValue=n),jd(t,e,n,c))};function Id(t,e,i,n){if(n)return!!(e==="innerHTML"||e==="textContent"||e in t&&$r(e)&&G(i));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const s=t.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return $r(e)&&ye(i)?!1:e in t}const Lr=t=>{const e=t.props["onUpdate:modelValue"]||!1;return U(e)?i=>Tn(e,i):e};function qd(t){t.target.composing=!0}function Br(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const _s=Symbol("_assign"),Pu={created(t,{modifiers:{lazy:e,trim:i,number:n}},s){t[_s]=Lr(s);const o=n||s.props&&s.props.type==="number";di(t,e?"change":"input",r=>{if(r.target.composing)return;let a=t.value;i&&(a=a.trim()),o&&(a=Us(a)),t[_s](a)}),i&&di(t,"change",()=>{t.value=t.value.trim()}),e||(di(t,"compositionstart",qd),di(t,"compositionend",Br),di(t,"change",Br))},mounted(t,{value:e}){t.value=e??""},beforeUpdate(t,{value:e,modifiers:{lazy:i,trim:n,number:s}},o){if(t[_s]=Lr(o),t.composing)return;const r=s||t.type==="number"?Us(t.value):t.value,a=e??"";r!==a&&(document.activeElement===t&&t.type!=="range"&&(i||n&&t.value.trim()===a)||(t.value=a))}},Md=["ctrl","shift","alt","meta"],Dd={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>Md.some(i=>t[`${i}Key`]&&!e.includes(i))},We=(t,e)=>{const i=t._withMods||(t._withMods={}),n=e.join(".");return i[n]||(i[n]=(s,...o)=>{for(let r=0;r{const e=Fd().createApp(...t),{mount:i}=e;return e.mount=n=>{const s=Vd(n);if(!s)return;const o=e._component;!G(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const r=i(s,!1,Hd(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},e};function Hd(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function Vd(t){return ye(t)?document.querySelector(t):t}/*! +var yc=Object.defineProperty;var vc=(t,e,i)=>e in t?yc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var Qo=(t,e,i)=>(vc(t,typeof e!="symbol"?e+"":e,i),i);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function i(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(s){if(s.ep)return;s.ep=!0;const o=i(s);fetch(s.href,o)}})();/** +* @vue/shared v3.4.10 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function go(t,e){const i=new Set(t.split(","));return e?n=>i.has(n.toLowerCase()):n=>i.has(n)}const le={},pi=[],He=()=>{},wc=()=>!1,Hn=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),yo=t=>t.startsWith("onUpdate:"),we=Object.assign,vo=(t,e)=>{const i=t.indexOf(e);i>-1&&t.splice(i,1)},xc=Object.prototype.hasOwnProperty,Q=(t,e)=>xc.call(t,e),U=Array.isArray,fi=t=>Vn(t)==="[object Map]",Ta=t=>Vn(t)==="[object Set]",G=t=>typeof t=="function",ye=t=>typeof t=="string",Ei=t=>typeof t=="symbol",de=t=>t!==null&&typeof t=="object",za=t=>(de(t)||G(t))&&G(t.then)&&G(t.catch),Oa=Object.prototype.toString,Vn=t=>Oa.call(t),_c=t=>Vn(t).slice(8,-1),Ra=t=>Vn(t)==="[object Object]",wo=t=>ye(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,jn=go(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Jn=t=>{const e=Object.create(null);return i=>e[i]||(e[i]=t(i))},kc=/-(\w)/g,ht=Jn(t=>t.replace(kc,(e,i)=>i?i.toUpperCase():"")),Ac=/\B([A-Z])/g,Ti=Jn(t=>t.replace(Ac,"-$1").toLowerCase()),Gn=Jn(t=>t.charAt(0).toUpperCase()+t.slice(1)),hs=Jn(t=>t?`on${Gn(t)}`:""),$t=(t,e)=>!Object.is(t,e),En=(t,e)=>{for(let i=0;i{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:i})},Us=t=>{const e=parseFloat(t);return isNaN(e)?t:e},Sc=t=>{const e=ye(t)?Number(t):NaN;return isNaN(e)?t:e};let Xo;const Pa=()=>Xo||(Xo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function xo(t){if(U(t)){const e={};for(let i=0;i{if(i){const n=i.split(jc);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function Ze(t){let e="";if(ye(t))e=t;else if(U(t))for(let i=0;iye(t)?t:t==null?"":U(t)||de(t)&&(t.toString===Oa||!G(t.toString))?JSON.stringify(t,La,2):String(t),La=(t,e)=>e&&e.__v_isRef?La(t,e.value):fi(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((i,[n,s],o)=>(i[bs(n,o)+" =>"]=s,i),{})}:Ta(e)?{[`Set(${e.size})`]:[...e.values()].map(i=>bs(i))}:Ei(e)?bs(e):de(e)&&!U(e)&&!Ra(e)?String(e):e,bs=(t,e="")=>{var i;return Ei(t)?`Symbol(${(i=t.description)!=null?i:e})`:t};/** +* @vue/reactivity v3.4.10 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let et;class Rc{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=et,!e&&et&&(this.index=(et.scopes||(et.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const i=et;try{return et=this,e()}finally{et=i}}}on(){et=this}off(){et=this.parent}stop(e){if(this._active){let i,n;for(i=0,n=this.effects.length;i=2))break;Xt(),this._queryings--}return this._dirtyLevel>=2}set dirty(e){this._dirtyLevel=e?3:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let e=Rt,i=Wt;try{return Rt=!0,Wt=this,this._runnings++,er(this),this.fn()}finally{tr(this),this._runnings--,Wt=i,Rt=e}}stop(){var e;this.active&&(er(this),tr(this),(e=this.onStop)==null||e.call(this),this.active=!1)}}function Lc(t){return t.value}function er(t){t._trackId++,t._depsLength=0}function tr(t){if(t.deps&&t.deps.length>t._depsLength){for(let e=t._depsLength;e{const i=new Map;return i.cleanup=t,i.computed=e,i},Js=new WeakMap,Yt=Symbol(""),Gs=Symbol("");function Me(t,e,i){if(Rt&&Wt){let n=Js.get(t);n||Js.set(t,n=new Map);let s=n.get(i);s||n.set(i,s=Da(()=>n.delete(i))),qa(Wt,s)}}function yt(t,e,i,n,s,o){const r=Js.get(t);if(!r)return;let a=[];if(e==="clear")a=[...r.values()];else if(i==="length"&&U(t)){const u=Number(n);r.forEach((c,l)=>{(l==="length"||!Ei(l)&&l>=u)&&a.push(c)})}else switch(i!==void 0&&a.push(r.get(i)),e){case"add":U(t)?wo(i)&&a.push(r.get("length")):(a.push(r.get(Yt)),fi(t)&&a.push(r.get(Gs)));break;case"delete":U(t)||(a.push(r.get(Yt)),fi(t)&&a.push(r.get(Gs)));break;case"set":fi(t)&&a.push(r.get(Yt));break}ko();for(const u of a)u&&Ma(u,3);Ao()}const Bc=go("__proto__,__v_isRef,__isVue"),Na=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(Ei)),ir=Ic();function Ic(){const t={};return["includes","indexOf","lastIndexOf"].forEach(e=>{t[e]=function(...i){const n=X(this);for(let o=0,r=this.length;o{t[e]=function(...i){Qt(),ko();const n=X(this)[e].apply(this,i);return Ao(),Xt(),n}}),t}function qc(t){const e=X(this);return Me(e,"has",t),e.hasOwnProperty(t)}class Fa{constructor(e=!1,i=!1){this._isReadonly=e,this._shallow=i}get(e,i,n){const s=this._isReadonly,o=this._shallow;if(i==="__v_isReactive")return!s;if(i==="__v_isReadonly")return s;if(i==="__v_isShallow")return o;if(i==="__v_raw")return n===(s?o?Zc:Ja:o?Va:Ha).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const r=U(e);if(!s){if(r&&Q(ir,i))return Reflect.get(ir,i,n);if(i==="hasOwnProperty")return qc}const a=Reflect.get(e,i,n);return(Ei(i)?Na.has(i):Bc(i))||(s||Me(e,"get",i),o)?a:De(a)?r&&wo(i)?a:a.value:de(a)?s?Ka(a):un(a):a}}class Ua extends Fa{constructor(e=!1){super(!1,e)}set(e,i,n,s){let o=e[i];if(!this._shallow){const u=_i(o);if(!In(n)&&!_i(n)&&(o=X(o),n=X(n)),!U(e)&&De(o)&&!De(n))return u?!1:(o.value=n,!0)}const r=U(e)&&wo(i)?Number(i)t,Kn=t=>Reflect.getPrototypeOf(t);function hn(t,e,i=!1,n=!1){t=t.__v_raw;const s=X(t),o=X(e);i||($t(e,o)&&Me(s,"get",e),Me(s,"get",o));const{has:r}=Kn(s),a=n?So:i?Eo:Qi;if(r.call(s,e))return a(t.get(e));if(r.call(s,o))return a(t.get(o));t!==s&&t.get(e)}function bn(t,e=!1){const i=this.__v_raw,n=X(i),s=X(t);return e||($t(t,s)&&Me(n,"has",t),Me(n,"has",s)),t===s?i.has(t):i.has(t)||i.has(s)}function pn(t,e=!1){return t=t.__v_raw,!e&&Me(X(t),"iterate",Yt),Reflect.get(t,"size",t)}function nr(t){t=X(t);const e=X(this);return Kn(e).has.call(e,t)||(e.add(t),yt(e,"add",t,t)),this}function sr(t,e){e=X(e);const i=X(this),{has:n,get:s}=Kn(i);let o=n.call(i,t);o||(t=X(t),o=n.call(i,t));const r=s.call(i,t);return i.set(t,e),o?$t(e,r)&&yt(i,"set",t,e):yt(i,"add",t,e),this}function or(t){const e=X(this),{has:i,get:n}=Kn(e);let s=i.call(e,t);s||(t=X(t),s=i.call(e,t)),n&&n.call(e,t);const o=e.delete(t);return s&&yt(e,"delete",t,void 0),o}function rr(){const t=X(this),e=t.size!==0,i=t.clear();return e&&yt(t,"clear",void 0,void 0),i}function fn(t,e){return function(n,s){const o=this,r=o.__v_raw,a=X(r),u=e?So:t?Eo:Qi;return!t&&Me(a,"iterate",Yt),r.forEach((c,l)=>n.call(s,u(c),u(l),o))}}function gn(t,e,i){return function(...n){const s=this.__v_raw,o=X(s),r=fi(o),a=t==="entries"||t===Symbol.iterator&&r,u=t==="keys"&&r,c=s[t](...n),l=i?So:e?Eo:Qi;return!e&&Me(o,"iterate",u?Gs:Yt),{next(){const{value:d,done:h}=c.next();return h?{value:d,done:h}:{value:a?[l(d[0]),l(d[1])]:l(d),done:h}},[Symbol.iterator](){return this}}}}function xt(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function Uc(){const t={get(o){return hn(this,o)},get size(){return pn(this)},has:bn,add:nr,set:sr,delete:or,clear:rr,forEach:fn(!1,!1)},e={get(o){return hn(this,o,!1,!0)},get size(){return pn(this)},has:bn,add:nr,set:sr,delete:or,clear:rr,forEach:fn(!1,!0)},i={get(o){return hn(this,o,!0)},get size(){return pn(this,!0)},has(o){return bn.call(this,o,!0)},add:xt("add"),set:xt("set"),delete:xt("delete"),clear:xt("clear"),forEach:fn(!0,!1)},n={get(o){return hn(this,o,!0,!0)},get size(){return pn(this,!0)},has(o){return bn.call(this,o,!0)},add:xt("add"),set:xt("set"),delete:xt("delete"),clear:xt("clear"),forEach:fn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{t[o]=gn(o,!1,!1),i[o]=gn(o,!0,!1),e[o]=gn(o,!1,!0),n[o]=gn(o,!0,!0)}),[t,i,e,n]}const[Hc,Vc,Jc,Gc]=Uc();function Co(t,e){const i=e?t?Gc:Jc:t?Vc:Hc;return(n,s,o)=>s==="__v_isReactive"?!t:s==="__v_isReadonly"?t:s==="__v_raw"?n:Reflect.get(Q(i,s)&&s in n?i:n,s,o)}const Kc={get:Co(!1,!1)},Wc={get:Co(!1,!0)},Yc={get:Co(!0,!1)},Ha=new WeakMap,Va=new WeakMap,Ja=new WeakMap,Zc=new WeakMap;function Qc(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Xc(t){return t.__v_skip||!Object.isExtensible(t)?0:Qc(_c(t))}function un(t){return _i(t)?t:jo(t,!1,Dc,Kc,Ha)}function Ga(t){return jo(t,!1,Fc,Wc,Va)}function Ka(t){return jo(t,!0,Nc,Yc,Ja)}function jo(t,e,i,n,s){if(!de(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const o=s.get(t);if(o)return o;const r=Xc(t);if(r===0)return t;const a=new Proxy(t,r===2?n:i);return s.set(t,a),a}function gi(t){return _i(t)?gi(t.__v_raw):!!(t&&t.__v_isReactive)}function _i(t){return!!(t&&t.__v_isReadonly)}function In(t){return!!(t&&t.__v_isShallow)}function Wa(t){return gi(t)||_i(t)}function X(t){const e=t&&t.__v_raw;return e?X(e):t}function Ya(t){return Bn(t,"__v_skip",!0),t}const Qi=t=>de(t)?un(t):t,Eo=t=>de(t)?Ka(t):t;class Za{constructor(e,i,n,s){this._setter=i,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new _o(()=>e(this._value),()=>Ks(this,1)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=n}get value(){const e=X(this);return Qa(e),(!e._cacheable||e.effect.dirty)&&$t(e._value,e._value=e.effect.run())&&Ks(e,2),e._value}set value(e){this._setter(e)}get _dirty(){return this.effect.dirty}set _dirty(e){this.effect.dirty=e}}function el(t,e,i=!1){let n,s;const o=G(t);return o?(n=t,s=He):(n=t.get,s=t.set),new Za(n,s,o||!s,i)}function Qa(t){Rt&&Wt&&(t=X(t),qa(Wt,t.dep||(t.dep=Da(()=>t.dep=void 0,t instanceof Za?t:void 0))))}function Ks(t,e=3,i){t=X(t);const n=t.dep;n&&Ma(n,e)}function De(t){return!!(t&&t.__v_isRef===!0)}function ae(t){return Xa(t,!1)}function tl(t){return Xa(t,!0)}function Xa(t,e){return De(t)?t:new il(t,e)}class il{constructor(e,i){this.__v_isShallow=i,this.dep=void 0,this.__v_isRef=!0,this._rawValue=i?e:X(e),this._value=i?e:Qi(e)}get value(){return Qa(this),this._value}set value(e){const i=this.__v_isShallow||In(e)||_i(e);e=i?e:X(e),$t(e,this._rawValue)&&(this._rawValue=e,this._value=i?e:Qi(e),Ks(this,3))}}function yi(t){return De(t)?t.value:t}const nl={get:(t,e,i)=>yi(Reflect.get(t,e,i)),set:(t,e,i,n)=>{const s=t[e];return De(s)&&!De(i)?(s.value=i,!0):Reflect.set(t,e,i,n)}};function eu(t){return gi(t)?t:new Proxy(t,nl)}/** +* @vue/runtime-core v3.4.10 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Pt(t,e,i,n){let s;try{s=n?t(...n):t()}catch(o){Wn(o,e,i)}return s}function Ke(t,e,i,n){if(G(t)){const o=Pt(t,e,i,n);return o&&za(o)&&o.catch(r=>{Wn(r,e,i)}),o}const s=[];for(let o=0;o>>1,s=Ee[n],o=en(s);olt&&Ee.splice(e,1)}function al(t){U(t)?vi.push(...t):(!St||!St.includes(t,t.allowRecurse?Vt+1:Vt))&&vi.push(t),nu()}function ar(t,e,i=Xi?lt+1:0){for(;ien(i)-en(n));if(vi.length=0,St){St.push(...e);return}for(St=e,Vt=0;Vtt.id==null?1/0:t.id,ul=(t,e)=>{const i=en(t)-en(e);if(i===0){if(t.pre&&!e.pre)return-1;if(e.pre&&!t.pre)return 1}return i};function ou(t){Ws=!1,Xi=!0,Ee.sort(ul);const e=He;try{for(lt=0;ltye(p)?p.trim():p)),d&&(s=i.map(Us))}let a,u=n[a=hs(e)]||n[a=hs(ht(e))];!u&&o&&(u=n[a=hs(Ti(e))]),u&&Ke(u,t,6,s);const c=n[a+"Once"];if(c){if(!t.emitted)t.emitted={};else if(t.emitted[a])return;t.emitted[a]=!0,Ke(c,t,6,s)}}function ru(t,e,i=!1){const n=e.emitsCache,s=n.get(t);if(s!==void 0)return s;const o=t.emits;let r={},a=!1;if(!G(t)){const u=c=>{const l=ru(c,e,!0);l&&(a=!0,we(r,l))};!i&&e.mixins.length&&e.mixins.forEach(u),t.extends&&u(t.extends),t.mixins&&t.mixins.forEach(u)}return!o&&!a?(de(t)&&n.set(t,null),null):(U(o)?o.forEach(u=>r[u]=null):we(r,o),de(t)&&n.set(t,r),r)}function Yn(t,e){return!t||!Hn(e)?!1:(e=e.slice(2).replace(/Once$/,""),Q(t,e[0].toLowerCase()+e.slice(1))||Q(t,Ti(e))||Q(t,e))}let $e=null,au=null;function qn(t){const e=$e;return $e=t,au=t&&t.type.__scopeId||null,e}function ei(t,e=$e,i){if(!e||t._n)return t;const n=(...s)=>{n._d&&vr(-1);const o=qn(e);let r;try{r=t(...s)}finally{qn(o),n._d&&vr(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function ps(t){const{type:e,vnode:i,proxy:n,withProxy:s,props:o,propsOptions:[r],slots:a,attrs:u,emit:c,render:l,renderCache:d,data:h,setupState:p,ctx:y,inheritAttrs:g}=t;let v,A;const O=qn(t);try{if(i.shapeFlag&4){const R=s||n,K=R;v=ct(l.call(K,R,d,o,p,h,y)),A=u}else{const R=e;v=ct(R.length>1?R(o,{attrs:u,slots:a,emit:c}):R(o,null)),A=e.props?u:ll(u)}}catch(R){Vi.length=0,Wn(R,t,1),v=I(st)}let L=v;if(A&&g!==!1){const R=Object.keys(A),{shapeFlag:K}=L;R.length&&K&7&&(r&&R.some(yo)&&(A=dl(A,r)),L=Lt(L,A))}return i.dirs&&(L=Lt(L),L.dirs=L.dirs?L.dirs.concat(i.dirs):i.dirs),i.transition&&(L.transition=i.transition),v=L,qn(O),v}const ll=t=>{let e;for(const i in t)(i==="class"||i==="style"||Hn(i))&&((e||(e={}))[i]=t[i]);return e},dl=(t,e)=>{const i={};for(const n in t)(!yo(n)||!(n.slice(9)in e))&&(i[n]=t[n]);return i};function ml(t,e,i){const{props:n,children:s,component:o}=t,{props:r,children:a,patchFlag:u}=e,c=o.emitsOptions;if(e.dirs||e.transition)return!0;if(i&&u>=0){if(u&1024)return!0;if(u&16)return n?ur(n,r,c):!!r;if(u&8){const l=e.dynamicProps;for(let d=0;dt.__isSuspense;function yl(t,e){e&&e.pendingBranch?U(t)?e.effects.push(...t):e.effects.push(t):al(t)}const vl=Symbol.for("v-scx"),wl=()=>dt(vl),yn={};function Zt(t,e,i){return cu(t,e,i)}function cu(t,e,{immediate:i,deep:n,flush:s,once:o,onTrack:r,onTrigger:a}=le){if(e&&o){const H=e;e=(...pe)=>{H(...pe),K()}}const u=Se,c=H=>n===!0?H:Kt(H,n===!1?1:void 0);let l,d=!1,h=!1;if(De(t)?(l=()=>t.value,d=In(t)):gi(t)?(l=()=>c(t),d=!0):U(t)?(h=!0,d=t.some(H=>gi(H)||In(H)),l=()=>t.map(H=>{if(De(H))return H.value;if(gi(H))return c(H);if(G(H))return Pt(H,u,2)})):G(t)?e?l=()=>Pt(t,u,2):l=()=>(p&&p(),Ke(t,u,3,[y])):l=He,e&&n){const H=l;l=()=>Kt(H())}let p,y=H=>{p=L.onStop=()=>{Pt(H,u,4),p=L.onStop=void 0}},g;if(ns)if(y=He,e?i&&Ke(e,u,3,[l(),h?[]:void 0,y]):l(),s==="sync"){const H=wl();g=H.__watcherHandles||(H.__watcherHandles=[])}else return He;let v=h?new Array(t.length).fill(yn):yn;const A=()=>{if(!(!L.active||!L.dirty))if(e){const H=L.run();(n||d||(h?H.some((pe,J)=>$t(pe,v[J])):$t(H,v)))&&(p&&p(),Ke(e,u,3,[H,v===yn?void 0:h&&v[0]===yn?[]:v,y]),v=H)}else L.run()};A.allowRecurse=!!e;let O;s==="sync"?O=A:s==="post"?O=()=>qe(A,u&&u.suspense):(A.pre=!0,u&&(A.id=u.uid),O=()=>zo(A));const L=new _o(l,He,O),R=$c(),K=()=>{L.stop(),R&&vo(R.effects,L)};return e?i?A():v=L.run():s==="post"?qe(L.run.bind(L),u&&u.suspense):L.run(),g&&g.push(K),K}function xl(t,e,i){const n=this.proxy,s=ye(t)?t.includes(".")?lu(n,t):()=>n[t]:t.bind(n,n);let o;G(e)?o=e:(o=e.handler,i=e);const r=cn(this),a=cu(s,o.bind(n),i);return r(),a}function lu(t,e){const i=e.split(".");return()=>{let n=t;for(let s=0;s0){if(i>=e)return t;i++}if(n=n||new Set,n.has(t))return t;if(n.add(t),De(t))Kt(t.value,e,i,n);else if(U(t))for(let s=0;s{Kt(s,e,i,n)});else if(Ra(t))for(const s in t)Kt(t[s],e,i,n);return t}function Zn(t,e){if($e===null)return t;const i=ss($e)||$e.proxy,n=t.dirs||(t.dirs=[]);for(let s=0;s{t.isMounted=!0}),pu(()=>{t.isUnmounting=!0}),t}const Ve=[Function,Array],du={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ve,onEnter:Ve,onAfterEnter:Ve,onEnterCancelled:Ve,onBeforeLeave:Ve,onLeave:Ve,onAfterLeave:Ve,onLeaveCancelled:Ve,onBeforeAppear:Ve,onAppear:Ve,onAfterAppear:Ve,onAppearCancelled:Ve},kl={name:"BaseTransition",props:du,setup(t,{slots:e}){const i=ad(),n=_l();let s;return()=>{const o=e.default&&hu(e.default(),!0);if(!o||!o.length)return;let r=o[0];if(o.length>1){for(const g of o)if(g.type!==st){r=g;break}}const a=X(t),{mode:u}=a;if(n.isLeaving)return fs(r);const c=lr(r);if(!c)return fs(r);const l=Ys(c,a,n,i);Zs(c,l);const d=i.subTree,h=d&&lr(d);let p=!1;const{getTransitionKey:y}=c.type;if(y){const g=y();s===void 0?s=g:g!==s&&(s=g,p=!0)}if(h&&h.type!==st&&(!Jt(c,h)||p)){const g=Ys(h,a,n,i);if(Zs(h,g),u==="out-in")return n.isLeaving=!0,g.afterLeave=()=>{n.isLeaving=!1,i.update.active!==!1&&(i.effect.dirty=!0,i.update())},fs(r);u==="in-out"&&c.type!==st&&(g.delayLeave=(v,A,O)=>{const L=mu(n,h);L[String(h.key)]=h,v[Ct]=()=>{A(),v[Ct]=void 0,delete l.delayedLeave},l.delayedLeave=O})}return r}}},Al=kl;function mu(t,e){const{leavingVNodes:i}=t;let n=i.get(e.type);return n||(n=Object.create(null),i.set(e.type,n)),n}function Ys(t,e,i,n){const{appear:s,mode:o,persisted:r=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:l,onBeforeLeave:d,onLeave:h,onAfterLeave:p,onLeaveCancelled:y,onBeforeAppear:g,onAppear:v,onAfterAppear:A,onAppearCancelled:O}=e,L=String(t.key),R=mu(i,t),K=(J,ce)=>{J&&Ke(J,n,9,ce)},H=(J,ce)=>{const se=ce[1];K(J,ce),U(J)?J.every(ve=>ve.length<=1)&&se():J.length<=1&&se()},pe={mode:o,persisted:r,beforeEnter(J){let ce=a;if(!i.isMounted)if(s)ce=g||a;else return;J[Ct]&&J[Ct](!0);const se=R[L];se&&Jt(t,se)&&se.el[Ct]&&se.el[Ct](),K(ce,[J])},enter(J){let ce=u,se=c,ve=l;if(!i.isMounted)if(s)ce=v||u,se=A||c,ve=O||l;else return;let M=!1;const ie=J[vn]=ze=>{M||(M=!0,ze?K(ve,[J]):K(se,[J]),pe.delayedLeave&&pe.delayedLeave(),J[vn]=void 0)};ce?H(ce,[J,ie]):ie()},leave(J,ce){const se=String(t.key);if(J[vn]&&J[vn](!0),i.isUnmounting)return ce();K(d,[J]);let ve=!1;const M=J[Ct]=ie=>{ve||(ve=!0,ce(),ie?K(y,[J]):K(p,[J]),J[Ct]=void 0,R[se]===t&&delete R[se])};R[se]=t,h?H(h,[J,M]):M()},clone(J){return Ys(J,e,i,n)}};return pe}function fs(t){if(Qn(t))return t=Lt(t),t.children=null,t}function lr(t){return Qn(t)?t.children?t.children[0]:void 0:t}function Zs(t,e){t.shapeFlag&6&&t.component?Zs(t.component.subTree,e):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function hu(t,e=!1,i){let n=[],s=0;for(let o=0;o1)for(let o=0;owe({name:t.name},e,{setup:t}))():t}const Tn=t=>!!t.type.__asyncLoader,Qn=t=>t.type.__isKeepAlive;function Sl(t,e){bu(t,"a",e)}function Cl(t,e){bu(t,"da",e)}function bu(t,e,i=Se){const n=t.__wdc||(t.__wdc=()=>{let s=i;for(;s;){if(s.isDeactivated)return;s=s.parent}return t()});if(Xn(e,n,i),i){let s=i.parent;for(;s&&s.parent;)Qn(s.parent.vnode)&&jl(n,e,i,s),s=s.parent}}function jl(t,e,i,n){const s=Xn(e,t,n,!0);fu(()=>{vo(n[e],s)},i)}function Xn(t,e,i=Se,n=!1){if(i){const s=i[t]||(i[t]=[]),o=e.__weh||(e.__weh=(...r)=>{if(i.isUnmounted)return;Qt();const a=cn(i),u=Ke(e,i,t,r);return a(),Xt(),u});return n?s.unshift(o):s.push(o),o}}const vt=t=>(e,i=Se)=>(!ns||t==="sp")&&Xn(t,(...n)=>e(...n),i),El=vt("bm"),Oo=vt("m"),Tl=vt("bu"),zl=vt("u"),pu=vt("bum"),fu=vt("um"),Ol=vt("sp"),Rl=vt("rtg"),Pl=vt("rtc");function $l(t,e=Se){Xn("ec",t,e)}function zi(t,e,i,n){let s;const o=i&&i[n];if(U(t)||ye(t)){s=new Array(t.length);for(let r=0,a=t.length;re(r,a,void 0,o&&o[a]));else{const r=Object.keys(t);s=new Array(r.length);for(let a=0,u=r.length;at?Tu(t)?ss(t)||t.proxy:Qs(t.parent):null,Hi=we(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Qs(t.parent),$root:t=>Qs(t.root),$emit:t=>t.emit,$options:t=>Ro(t),$forceUpdate:t=>t.f||(t.f=()=>{t.effect.dirty=!0,zo(t.update)}),$nextTick:t=>t.n||(t.n=iu.bind(t.proxy)),$watch:t=>xl.bind(t)}),gs=(t,e)=>t!==le&&!t.__isScriptSetup&&Q(t,e),Ll={get({_:t},e){const{ctx:i,setupState:n,data:s,props:o,accessCache:r,type:a,appContext:u}=t;let c;if(e[0]!=="$"){const p=r[e];if(p!==void 0)switch(p){case 1:return n[e];case 2:return s[e];case 4:return i[e];case 3:return o[e]}else{if(gs(n,e))return r[e]=1,n[e];if(s!==le&&Q(s,e))return r[e]=2,s[e];if((c=t.propsOptions[0])&&Q(c,e))return r[e]=3,o[e];if(i!==le&&Q(i,e))return r[e]=4,i[e];Xs&&(r[e]=0)}}const l=Hi[e];let d,h;if(l)return e==="$attrs"&&Me(t,"get",e),l(t);if((d=a.__cssModules)&&(d=d[e]))return d;if(i!==le&&Q(i,e))return r[e]=4,i[e];if(h=u.config.globalProperties,Q(h,e))return h[e]},set({_:t},e,i){const{data:n,setupState:s,ctx:o}=t;return gs(s,e)?(s[e]=i,!0):n!==le&&Q(n,e)?(n[e]=i,!0):Q(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(o[e]=i,!0)},has({_:{data:t,setupState:e,accessCache:i,ctx:n,appContext:s,propsOptions:o}},r){let a;return!!i[r]||t!==le&&Q(t,r)||gs(e,r)||(a=o[0])&&Q(a,r)||Q(n,r)||Q(Hi,r)||Q(s.config.globalProperties,r)},defineProperty(t,e,i){return i.get!=null?t._.accessCache[e]=0:Q(i,"value")&&this.set(t,e,i.value,null),Reflect.defineProperty(t,e,i)}};function dr(t){return U(t)?t.reduce((e,i)=>(e[i]=null,e),{}):t}let Xs=!0;function Bl(t){const e=Ro(t),i=t.proxy,n=t.ctx;Xs=!1,e.beforeCreate&&mr(e.beforeCreate,t,"bc");const{data:s,computed:o,methods:r,watch:a,provide:u,inject:c,created:l,beforeMount:d,mounted:h,beforeUpdate:p,updated:y,activated:g,deactivated:v,beforeDestroy:A,beforeUnmount:O,destroyed:L,unmounted:R,render:K,renderTracked:H,renderTriggered:pe,errorCaptured:J,serverPrefetch:ce,expose:se,inheritAttrs:ve,components:M,directives:ie,filters:ze}=e;if(c&&Il(c,n,null),r)for(const oe in r){const ee=r[oe];G(ee)&&(n[oe]=ee.bind(i))}if(s){const oe=s.call(i,i);de(oe)&&(t.data=un(oe))}if(Xs=!0,o)for(const oe in o){const ee=o[oe],pt=G(ee)?ee.bind(i,i):G(ee.get)?ee.get.bind(i,i):He,wt=!G(ee)&&G(ee.set)?ee.set.bind(i):He,rt=Ue({get:pt,set:wt});Object.defineProperty(n,oe,{enumerable:!0,configurable:!0,get:()=>rt.value,set:Ie=>rt.value=Ie})}if(a)for(const oe in a)gu(a[oe],n,i,oe);if(u){const oe=G(u)?u.call(i):u;Reflect.ownKeys(oe).forEach(ee=>{zn(ee,oe[ee])})}l&&mr(l,t,"c");function fe(oe,ee){U(ee)?ee.forEach(pt=>oe(pt.bind(i))):ee&&oe(ee.bind(i))}if(fe(El,d),fe(Oo,h),fe(Tl,p),fe(zl,y),fe(Sl,g),fe(Cl,v),fe($l,J),fe(Pl,H),fe(Rl,pe),fe(pu,O),fe(fu,R),fe(Ol,ce),U(se))if(se.length){const oe=t.exposed||(t.exposed={});se.forEach(ee=>{Object.defineProperty(oe,ee,{get:()=>i[ee],set:pt=>i[ee]=pt})})}else t.exposed||(t.exposed={});K&&t.render===He&&(t.render=K),ve!=null&&(t.inheritAttrs=ve),M&&(t.components=M),ie&&(t.directives=ie)}function Il(t,e,i=He){U(t)&&(t=eo(t));for(const n in t){const s=t[n];let o;de(s)?"default"in s?o=dt(s.from||n,s.default,!0):o=dt(s.from||n):o=dt(s),De(o)?Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):e[n]=o}}function mr(t,e,i){Ke(U(t)?t.map(n=>n.bind(e.proxy)):t.bind(e.proxy),e,i)}function gu(t,e,i,n){const s=n.includes(".")?lu(i,n):()=>i[n];if(ye(t)){const o=e[t];G(o)&&Zt(s,o)}else if(G(t))Zt(s,t.bind(i));else if(de(t))if(U(t))t.forEach(o=>gu(o,e,i,n));else{const o=G(t.handler)?t.handler.bind(i):e[t.handler];G(o)&&Zt(s,o,t)}}function Ro(t){const e=t.type,{mixins:i,extends:n}=e,{mixins:s,optionsCache:o,config:{optionMergeStrategies:r}}=t.appContext,a=o.get(e);let u;return a?u=a:!s.length&&!i&&!n?u=e:(u={},s.length&&s.forEach(c=>Mn(u,c,r,!0)),Mn(u,e,r)),de(e)&&o.set(e,u),u}function Mn(t,e,i,n=!1){const{mixins:s,extends:o}=e;o&&Mn(t,o,i,!0),s&&s.forEach(r=>Mn(t,r,i,!0));for(const r in e)if(!(n&&r==="expose")){const a=ql[r]||i&&i[r];t[r]=a?a(t[r],e[r]):e[r]}return t}const ql={data:hr,props:br,emits:br,methods:Fi,computed:Fi,beforeCreate:Oe,created:Oe,beforeMount:Oe,mounted:Oe,beforeUpdate:Oe,updated:Oe,beforeDestroy:Oe,beforeUnmount:Oe,destroyed:Oe,unmounted:Oe,activated:Oe,deactivated:Oe,errorCaptured:Oe,serverPrefetch:Oe,components:Fi,directives:Fi,watch:Dl,provide:hr,inject:Ml};function hr(t,e){return e?t?function(){return we(G(t)?t.call(this,this):t,G(e)?e.call(this,this):e)}:e:t}function Ml(t,e){return Fi(eo(t),eo(e))}function eo(t){if(U(t)){const e={};for(let i=0;i1)return i&&G(e)?e.call(n&&n.proxy):e}}function Ul(t,e,i,n=!1){const s={},o={};Bn(o,is,1),t.propsDefaults=Object.create(null),vu(t,e,s,o);for(const r in t.propsOptions[0])r in s||(s[r]=void 0);i?t.props=n?s:Ga(s):t.type.props?t.props=s:t.props=o,t.attrs=o}function Hl(t,e,i,n){const{props:s,attrs:o,vnode:{patchFlag:r}}=t,a=X(s),[u]=t.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const l=t.vnode.dynamicProps;for(let d=0;d{u=!0;const[h,p]=wu(d,e,!0);we(r,h),p&&a.push(...p)};!i&&e.mixins.length&&e.mixins.forEach(l),t.extends&&l(t.extends),t.mixins&&t.mixins.forEach(l)}if(!o&&!u)return de(t)&&n.set(t,pi),pi;if(U(o))for(let l=0;l-1,p[1]=g<0||y-1||Q(p,"default"))&&a.push(d)}}}const c=[r,a];return de(t)&&n.set(t,c),c}function pr(t){return t[0]!=="$"}function fr(t){const e=t&&t.toString().match(/^\s*(function|class) (\w+)/);return e?e[2]:t===null?"null":""}function gr(t,e){return fr(t)===fr(e)}function yr(t,e){return U(e)?e.findIndex(i=>gr(i,t)):G(e)&&gr(e,t)?0:-1}const xu=t=>t[0]==="_"||t==="$stable",Po=t=>U(t)?t.map(ct):[ct(t)],Vl=(t,e,i)=>{if(e._n)return e;const n=ei((...s)=>Po(e(...s)),i);return n._c=!1,n},_u=(t,e,i)=>{const n=t._ctx;for(const s in t){if(xu(s))continue;const o=t[s];if(G(o))e[s]=Vl(s,o,n);else if(o!=null){const r=Po(o);e[s]=()=>r}}},ku=(t,e)=>{const i=Po(e);t.slots.default=()=>i},Jl=(t,e)=>{if(t.vnode.shapeFlag&32){const i=e._;i?(t.slots=X(e),Bn(e,"_",i)):_u(e,t.slots={})}else t.slots={},e&&ku(t,e);Bn(t.slots,is,1)},Gl=(t,e,i)=>{const{vnode:n,slots:s}=t;let o=!0,r=le;if(n.shapeFlag&32){const a=e._;a?i&&a===1?o=!1:(we(s,e),!i&&a===1&&delete s._):(o=!e.$stable,_u(e,s)),r=e}else e&&(ku(t,e),r={default:1});if(o)for(const a in s)!xu(a)&&r[a]==null&&delete s[a]};function io(t,e,i,n,s=!1){if(U(t)){t.forEach((h,p)=>io(h,e&&(U(e)?e[p]:e),i,n,s));return}if(Tn(n)&&!s)return;const o=n.shapeFlag&4?ss(n.component)||n.component.proxy:n.el,r=s?null:o,{i:a,r:u}=t,c=e&&e.r,l=a.refs===le?a.refs={}:a.refs,d=a.setupState;if(c!=null&&c!==u&&(ye(c)?(l[c]=null,Q(d,c)&&(d[c]=null)):De(c)&&(c.value=null)),G(u))Pt(u,a,12,[r,l]);else{const h=ye(u),p=De(u);if(h||p){const y=()=>{if(t.f){const g=h?Q(d,u)?d[u]:l[u]:u.value;s?U(g)&&vo(g,o):U(g)?g.includes(o)||g.push(o):h?(l[u]=[o],Q(d,u)&&(d[u]=l[u])):(u.value=[o],t.k&&(l[t.k]=u.value))}else h?(l[u]=r,Q(d,u)&&(d[u]=r)):p&&(u.value=r,t.k&&(l[t.k]=r))};r?(y.id=-1,qe(y,i)):y()}}}const qe=yl;function Kl(t){return Wl(t)}function Wl(t,e){const i=Pa();i.__VUE__=!0;const{insert:n,remove:s,patchProp:o,createElement:r,createText:a,createComment:u,setText:c,setElementText:l,parentNode:d,nextSibling:h,setScopeId:p=He,insertStaticContent:y}=t,g=(m,b,f,k=null,w=null,j=null,z=void 0,C=null,E=!!b.dynamicChildren)=>{if(m===b)return;m&&!Jt(m,b)&&(k=x(m),Ie(m,w,j,!0),m=null),b.patchFlag===-2&&(E=!1,b.dynamicChildren=null);const{type:S,ref:$,shapeFlag:F}=b;switch(S){case es:v(m,b,f,k);break;case st:A(m,b,f,k);break;case On:m==null&&O(b,f,k,z);break;case Ae:M(m,b,f,k,w,j,z,C,E);break;default:F&1?K(m,b,f,k,w,j,z,C,E):F&6?ie(m,b,f,k,w,j,z,C,E):(F&64||F&128)&&S.process(m,b,f,k,w,j,z,C,E,B)}$!=null&&w&&io($,m&&m.ref,j,b||m,!b)},v=(m,b,f,k)=>{if(m==null)n(b.el=a(b.children),f,k);else{const w=b.el=m.el;b.children!==m.children&&c(w,b.children)}},A=(m,b,f,k)=>{m==null?n(b.el=u(b.children||""),f,k):b.el=m.el},O=(m,b,f,k)=>{[m.el,m.anchor]=y(m.children,b,f,k,m.el,m.anchor)},L=({el:m,anchor:b},f,k)=>{let w;for(;m&&m!==b;)w=h(m),n(m,f,k),m=w;n(b,f,k)},R=({el:m,anchor:b})=>{let f;for(;m&&m!==b;)f=h(m),s(m),m=f;s(b)},K=(m,b,f,k,w,j,z,C,E)=>{b.type==="svg"?z="svg":b.type==="math"&&(z="mathml"),m==null?H(b,f,k,w,j,z,C,E):ce(m,b,w,j,z,C,E)},H=(m,b,f,k,w,j,z,C)=>{let E,S;const{props:$,shapeFlag:F,transition:D,dirs:V}=m;if(E=m.el=r(m.type,j,$&&$.is,$),F&8?l(E,m.children):F&16&&J(m.children,E,null,k,w,ys(m,j),z,C),V&&qt(m,null,k,"created"),pe(E,m,m.scopeId,z,k),$){for(const re in $)re!=="value"&&!jn(re)&&o(E,re,null,$[re],j,m.children,k,w,Ce);"value"in $&&o(E,"value",null,$.value,j),(S=$.onVnodeBeforeMount)&&ut(S,k,m)}V&&qt(m,null,k,"beforeMount");const W=Yl(w,D);W&&D.beforeEnter(E),n(E,b,f),((S=$&&$.onVnodeMounted)||W||V)&&qe(()=>{S&&ut(S,k,m),W&&D.enter(E),V&&qt(m,null,k,"mounted")},w)},pe=(m,b,f,k,w)=>{if(f&&p(m,f),k)for(let j=0;j{for(let S=E;S{const C=b.el=m.el;let{patchFlag:E,dynamicChildren:S,dirs:$}=b;E|=m.patchFlag&16;const F=m.props||le,D=b.props||le;let V;if(f&&Mt(f,!1),(V=D.onVnodeBeforeUpdate)&&ut(V,f,b,m),$&&qt(b,m,f,"beforeUpdate"),f&&Mt(f,!0),S?se(m.dynamicChildren,S,C,f,k,ys(b,w),j):z||ee(m,b,C,null,f,k,ys(b,w),j,!1),E>0){if(E&16)ve(C,b,F,D,f,k,w);else if(E&2&&F.class!==D.class&&o(C,"class",null,D.class,w),E&4&&o(C,"style",F.style,D.style,w),E&8){const W=b.dynamicProps;for(let re=0;re{V&&ut(V,f,b,m),$&&qt(b,m,f,"updated")},k)},se=(m,b,f,k,w,j,z)=>{for(let C=0;C{if(f!==k){if(f!==le)for(const C in f)!jn(C)&&!(C in k)&&o(m,C,f[C],null,z,b.children,w,j,Ce);for(const C in k){if(jn(C))continue;const E=k[C],S=f[C];E!==S&&C!=="value"&&o(m,C,S,E,z,b.children,w,j,Ce)}"value"in k&&o(m,"value",f.value,k.value,z)}},M=(m,b,f,k,w,j,z,C,E)=>{const S=b.el=m?m.el:a(""),$=b.anchor=m?m.anchor:a("");let{patchFlag:F,dynamicChildren:D,slotScopeIds:V}=b;V&&(C=C?C.concat(V):V),m==null?(n(S,f,k),n($,f,k),J(b.children||[],f,$,w,j,z,C,E)):F>0&&F&64&&D&&m.dynamicChildren?(se(m.dynamicChildren,D,f,w,j,z,C),(b.key!=null||w&&b===w.subTree)&&Au(m,b,!0)):ee(m,b,f,$,w,j,z,C,E)},ie=(m,b,f,k,w,j,z,C,E)=>{b.slotScopeIds=C,m==null?b.shapeFlag&512?w.ctx.activate(b,f,k,z,E):ze(b,f,k,w,j,z,E):bt(m,b,E)},ze=(m,b,f,k,w,j,z)=>{const C=m.component=rd(m,k,w);if(Qn(m)&&(C.ctx.renderer=B),ud(C),C.asyncDep){if(w&&w.registerDep(C,fe),!m.el){const E=C.subTree=I(st);A(null,E,b,f)}}else fe(C,m,b,f,w,j,z)},bt=(m,b,f)=>{const k=b.component=m.component;if(ml(m,b,f))if(k.asyncDep&&!k.asyncResolved){oe(k,b,f);return}else k.next=b,rl(k.update),k.effect.dirty=!0,k.update();else b.el=m.el,k.vnode=b},fe=(m,b,f,k,w,j,z)=>{const C=()=>{if(m.isMounted){let{next:$,bu:F,u:D,parent:V,vnode:W}=m;{const si=Su(m);if(si){$&&($.el=W.el,oe(m,$,z)),si.asyncDep.then(()=>{m.isUnmounted||C()});return}}let re=$,he;Mt(m,!1),$?($.el=W.el,oe(m,$,z)):$=W,F&&En(F),(he=$.props&&$.props.onVnodeBeforeUpdate)&&ut(he,V,$,W),Mt(m,!0);const xe=ps(m),Qe=m.subTree;m.subTree=xe,g(Qe,xe,d(Qe.el),x(Qe),m,w,j),$.el=xe.el,re===null&&hl(m,xe.el),D&&qe(D,w),(he=$.props&&$.props.onVnodeUpdated)&&qe(()=>ut(he,V,$,W),w)}else{let $;const{el:F,props:D}=b,{bm:V,m:W,parent:re}=m,he=Tn(b);if(Mt(m,!1),V&&En(V),!he&&($=D&&D.onVnodeBeforeMount)&&ut($,re,b),Mt(m,!0),F&&me){const xe=()=>{m.subTree=ps(m),me(F,m.subTree,m,w,null)};he?b.type.__asyncLoader().then(()=>!m.isUnmounted&&xe()):xe()}else{const xe=m.subTree=ps(m);g(null,xe,f,k,m,w,j),b.el=xe.el}if(W&&qe(W,w),!he&&($=D&&D.onVnodeMounted)){const xe=b;qe(()=>ut($,re,xe),w)}(b.shapeFlag&256||re&&Tn(re.vnode)&&re.vnode.shapeFlag&256)&&m.a&&qe(m.a,w),m.isMounted=!0,b=f=k=null}},E=m.effect=new _o(C,He,()=>zo(S),m.scope),S=m.update=()=>{E.dirty&&E.run()};S.id=m.uid,Mt(m,!0),S()},oe=(m,b,f)=>{b.component=m;const k=m.vnode.props;m.vnode=b,m.next=null,Hl(m,b.props,k,f),Gl(m,b.children,f),Qt(),ar(m),Xt()},ee=(m,b,f,k,w,j,z,C,E=!1)=>{const S=m&&m.children,$=m?m.shapeFlag:0,F=b.children,{patchFlag:D,shapeFlag:V}=b;if(D>0){if(D&128){wt(S,F,f,k,w,j,z,C,E);return}else if(D&256){pt(S,F,f,k,w,j,z,C,E);return}}V&8?($&16&&Ce(S,w,j),F!==S&&l(f,F)):$&16?V&16?wt(S,F,f,k,w,j,z,C,E):Ce(S,w,j,!0):($&8&&l(f,""),V&16&&J(F,f,k,w,j,z,C,E))},pt=(m,b,f,k,w,j,z,C,E)=>{m=m||pi,b=b||pi;const S=m.length,$=b.length,F=Math.min(S,$);let D;for(D=0;D$?Ce(m,w,j,!0,!1,F):J(b,f,k,w,j,z,C,E,F)},wt=(m,b,f,k,w,j,z,C,E)=>{let S=0;const $=b.length;let F=m.length-1,D=$-1;for(;S<=F&&S<=D;){const V=m[S],W=b[S]=E?jt(b[S]):ct(b[S]);if(Jt(V,W))g(V,W,f,null,w,j,z,C,E);else break;S++}for(;S<=F&&S<=D;){const V=m[F],W=b[D]=E?jt(b[D]):ct(b[D]);if(Jt(V,W))g(V,W,f,null,w,j,z,C,E);else break;F--,D--}if(S>F){if(S<=D){const V=D+1,W=V<$?b[V].el:k;for(;S<=D;)g(null,b[S]=E?jt(b[S]):ct(b[S]),f,W,w,j,z,C,E),S++}}else if(S>D)for(;S<=F;)Ie(m[S],w,j,!0),S++;else{const V=S,W=S,re=new Map;for(S=W;S<=D;S++){const Ne=b[S]=E?jt(b[S]):ct(b[S]);Ne.key!=null&&re.set(Ne.key,S)}let he,xe=0;const Qe=D-W+1;let si=!1,Wo=0;const Ri=new Array(Qe);for(S=0;S=Qe){Ie(Ne,w,j,!0);continue}let at;if(Ne.key!=null)at=re.get(Ne.key);else for(he=W;he<=D;he++)if(Ri[he-W]===0&&Jt(Ne,b[he])){at=he;break}at===void 0?Ie(Ne,w,j,!0):(Ri[at-W]=S+1,at>=Wo?Wo=at:si=!0,g(Ne,b[at],f,null,w,j,z,C,E),xe++)}const Yo=si?Zl(Ri):pi;for(he=Yo.length-1,S=Qe-1;S>=0;S--){const Ne=W+S,at=b[Ne],Zo=Ne+1<$?b[Ne+1].el:k;Ri[S]===0?g(null,at,f,Zo,w,j,z,C,E):si&&(he<0||S!==Yo[he]?rt(at,f,Zo,2):he--)}}},rt=(m,b,f,k,w=null)=>{const{el:j,type:z,transition:C,children:E,shapeFlag:S}=m;if(S&6){rt(m.component.subTree,b,f,k);return}if(S&128){m.suspense.move(b,f,k);return}if(S&64){z.move(m,b,f,B);return}if(z===Ae){n(j,b,f);for(let F=0;FC.enter(j),w);else{const{leave:F,delayLeave:D,afterLeave:V}=C,W=()=>n(j,b,f),re=()=>{F(j,()=>{W(),V&&V()})};D?D(j,W,re):re()}else n(j,b,f)},Ie=(m,b,f,k=!1,w=!1)=>{const{type:j,props:z,ref:C,children:E,dynamicChildren:S,shapeFlag:$,patchFlag:F,dirs:D}=m;if(C!=null&&io(C,null,f,m,!0),$&256){b.ctx.deactivate(m);return}const V=$&1&&D,W=!Tn(m);let re;if(W&&(re=z&&z.onVnodeBeforeUnmount)&&ut(re,b,m),$&6)mn(m.component,f,k);else{if($&128){m.suspense.unmount(f,k);return}V&&qt(m,null,b,"beforeUnmount"),$&64?m.type.remove(m,b,f,w,B,k):S&&(j!==Ae||F>0&&F&64)?Ce(S,b,f,!1,!0):(j===Ae&&F&384||!w&&$&16)&&Ce(E,b,f),k&&ii(m)}(W&&(re=z&&z.onVnodeUnmounted)||V)&&qe(()=>{re&&ut(re,b,m),V&&qt(m,null,b,"unmounted")},f)},ii=m=>{const{type:b,el:f,anchor:k,transition:w}=m;if(b===Ae){ni(f,k);return}if(b===On){R(m);return}const j=()=>{s(f),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(m.shapeFlag&1&&w&&!w.persisted){const{leave:z,delayLeave:C}=w,E=()=>z(f,j);C?C(m.el,j,E):E()}else j()},ni=(m,b)=>{let f;for(;m!==b;)f=h(m),s(m),m=f;s(b)},mn=(m,b,f)=>{const{bum:k,scope:w,update:j,subTree:z,um:C}=m;k&&En(k),w.stop(),j&&(j.active=!1,Ie(z,m,b,f)),C&&qe(C,b),qe(()=>{m.isUnmounted=!0},b),b&&b.pendingBranch&&!b.isUnmounted&&m.asyncDep&&!m.asyncResolved&&m.suspenseId===b.pendingId&&(b.deps--,b.deps===0&&b.resolve())},Ce=(m,b,f,k=!1,w=!1,j=0)=>{for(let z=j;zm.shapeFlag&6?x(m.component.subTree):m.shapeFlag&128?m.suspense.next():h(m.anchor||m.el);let P=!1;const T=(m,b,f)=>{m==null?b._vnode&&Ie(b._vnode,null,null,!0):g(b._vnode||null,m,b,null,null,null,f),P||(P=!0,ar(),su(),P=!1),b._vnode=m},B={p:g,um:Ie,m:rt,r:ii,mt:ze,mc:J,pc:ee,pbc:se,n:x,o:t};let te,me;return e&&([te,me]=e(B)),{render:T,hydrate:te,createApp:Fl(T,te)}}function ys({type:t,props:e},i){return i==="svg"&&t==="foreignObject"||i==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:i}function Mt({effect:t,update:e},i){t.allowRecurse=e.allowRecurse=i}function Yl(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function Au(t,e,i=!1){const n=t.children,s=e.children;if(U(n)&&U(s))for(let o=0;o>1,t[i[a]]0&&(e[n]=i[o-1]),i[o]=n)}}for(o=i.length,r=i[o-1];o-- >0;)i[o]=r,r=e[r];return i}function Su(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:Su(e)}const Ql=t=>t.__isTeleport,Ae=Symbol.for("v-fgt"),es=Symbol.for("v-txt"),st=Symbol.for("v-cmt"),On=Symbol.for("v-stc"),Vi=[];let it=null;function q(t=!1){Vi.push(it=t?null:[])}function Xl(){Vi.pop(),it=Vi[Vi.length-1]||null}let tn=1;function vr(t){tn+=t}function Cu(t){return t.dynamicChildren=tn>0?it||pi:null,Xl(),tn>0&&it&&it.push(t),t}function N(t,e,i,n,s,o){return Cu(_(t,e,i,n,s,o,!0))}function ts(t,e,i,n,s){return Cu(I(t,e,i,n,s,!0))}function no(t){return t?t.__v_isVNode===!0:!1}function Jt(t,e){return t.type===e.type&&t.key===e.key}const is="__vInternal",ju=({key:t})=>t??null,Rn=({ref:t,ref_key:e,ref_for:i})=>(typeof t=="number"&&(t=""+t),t!=null?ye(t)||De(t)||G(t)?{i:$e,r:t,k:e,f:!!i}:t:null);function _(t,e=null,i=null,n=0,s=null,o=t===Ae?0:1,r=!1,a=!1){const u={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&ju(e),ref:e&&Rn(e),scopeId:au,slotScopeIds:null,children:i,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:$e};return a?($o(u,i),o&128&&t.normalize(u)):i&&(u.shapeFlag|=ye(i)?8:16),tn>0&&!r&&it&&(u.patchFlag>0||o&6)&&u.patchFlag!==32&&it.push(u),u}const I=ed;function ed(t,e=null,i=null,n=0,s=null,o=!1){if((!t||t===pl)&&(t=st),no(t)){const a=Lt(t,e,!0);return i&&$o(a,i),tn>0&&!o&&it&&(a.shapeFlag&6?it[it.indexOf(t)]=a:it.push(a)),a.patchFlag|=-2,a}if(hd(t)&&(t=t.__vccOpts),e){e=td(e);let{class:a,style:u}=e;a&&!ye(a)&&(e.class=Ze(a)),de(u)&&(Wa(u)&&!U(u)&&(u=we({},u)),e.style=xo(u))}const r=ye(t)?1:gl(t)?128:Ql(t)?64:de(t)?4:G(t)?2:0;return _(t,e,i,n,s,r,o,!0)}function td(t){return t?Wa(t)||is in t?we({},t):t:null}function Lt(t,e,i=!1){const{props:n,ref:s,patchFlag:o,children:r}=t,a=e?nd(n||{},e):n;return{__v_isVNode:!0,__v_skip:!0,type:t.type,props:a,key:a&&ju(a),ref:e&&e.ref?i&&s?U(s)?s.concat(Rn(e)):[s,Rn(e)]:Rn(e):s,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:r,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Ae?o===-1?16:o|16:o,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Lt(t.ssContent),ssFallback:t.ssFallback&&Lt(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce}}function id(t=" ",e=0){return I(es,null,t,e)}function Eu(t,e){const i=I(On,null,t);return i.staticCount=e,i}function mt(t="",e=!1){return e?(q(),ts(st,null,t)):I(st,null,t)}function ct(t){return t==null||typeof t=="boolean"?I(st):U(t)?I(Ae,null,t.slice()):typeof t=="object"?jt(t):I(es,null,String(t))}function jt(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Lt(t)}function $o(t,e){let i=0;const{shapeFlag:n}=t;if(e==null)e=null;else if(U(e))i=16;else if(typeof e=="object")if(n&65){const s=e.default;s&&(s._c&&(s._d=!1),$o(t,s()),s._c&&(s._d=!0));return}else{i=32;const s=e._;!s&&!(is in e)?e._ctx=$e:s===3&&$e&&($e.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else G(e)?(e={default:e,_ctx:$e},i=32):(e=String(e),n&64?(i=16,e=[id(e)]):i=8);t.children=e,t.shapeFlag|=i}function nd(...t){const e={};for(let i=0;iSe||$e;let Nn,so;{const t=Pa(),e=(i,n)=>{let s;return(s=t[i])||(s=t[i]=[]),s.push(n),o=>{s.length>1?s.forEach(r=>r(o)):s[0](o)}};Nn=e("__VUE_INSTANCE_SETTERS__",i=>Se=i),so=e("__VUE_SSR_SETTERS__",i=>ns=i)}const cn=t=>{const e=Se;return Nn(t),t.scope.on(),()=>{t.scope.off(),Nn(e)}},wr=()=>{Se&&Se.scope.off(),Nn(null)};function Tu(t){return t.vnode.shapeFlag&4}let ns=!1;function ud(t,e=!1){e&&so(e);const{props:i,children:n}=t.vnode,s=Tu(t);Ul(t,i,s,e),Jl(t,n);const o=s?cd(t,e):void 0;return e&&so(!1),o}function cd(t,e){const i=t.type;t.accessCache=Object.create(null),t.proxy=Ya(new Proxy(t.ctx,Ll));const{setup:n}=i;if(n){const s=t.setupContext=n.length>1?dd(t):null,o=cn(t);Qt();const r=Pt(n,t,0,[t.props,s]);if(Xt(),o(),za(r)){if(r.then(wr,wr),e)return r.then(a=>{xr(t,a,e)}).catch(a=>{Wn(a,t,0)});t.asyncDep=r}else xr(t,r,e)}else zu(t,e)}function xr(t,e,i){G(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:de(e)&&(t.setupState=eu(e)),zu(t,i)}let _r;function zu(t,e,i){const n=t.type;if(!t.render){if(!e&&_r&&!n.render){const s=n.template||Ro(t).template;if(s){const{isCustomElement:o,compilerOptions:r}=t.appContext.config,{delimiters:a,compilerOptions:u}=n,c=we(we({isCustomElement:o,delimiters:a},r),u);n.render=_r(s,c)}}t.render=n.render||He}{const s=cn(t);Qt();try{Bl(t)}finally{Xt(),s()}}}function ld(t){return t.attrsProxy||(t.attrsProxy=new Proxy(t.attrs,{get(e,i){return Me(t,"get","$attrs"),e[i]}}))}function dd(t){const e=i=>{t.exposed=i||{}};return{get attrs(){return ld(t)},slots:t.slots,emit:t.emit,expose:e}}function ss(t){if(t.exposed)return t.exposeProxy||(t.exposeProxy=new Proxy(eu(Ya(t.exposed)),{get(e,i){if(i in e)return e[i];if(i in Hi)return Hi[i](t)},has(e,i){return i in e||i in Hi}}))}function md(t,e=!0){return G(t)?t.displayName||t.name:t.name||e&&t.__name}function hd(t){return G(t)&&"__vccOpts"in t}const Ue=(t,e)=>el(t,e,ns);function Lo(t,e,i){const n=arguments.length;return n===2?de(e)&&!U(e)?no(e)?I(t,null,[e]):I(t,e):I(t,null,e):(n>3?i=Array.prototype.slice.call(arguments,2):n===3&&no(i)&&(i=[i]),I(t,e,i))}const bd="3.4.10";/** +* @vue/runtime-dom v3.4.10 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const pd="http://www.w3.org/2000/svg",fd="http://www.w3.org/1998/Math/MathML",Et=typeof document<"u"?document:null,kr=Et&&Et.createElement("template"),gd={insert:(t,e,i)=>{e.insertBefore(t,i||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,i,n)=>{const s=e==="svg"?Et.createElementNS(pd,t):e==="mathml"?Et.createElementNS(fd,t):Et.createElement(t,i?{is:i}:void 0);return t==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.multiple),s},createText:t=>Et.createTextNode(t),createComment:t=>Et.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>Et.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,i,n,s,o){const r=i?i.previousSibling:e.lastChild;if(s&&(s===o||s.nextSibling))for(;e.insertBefore(s.cloneNode(!0),i),!(s===o||!(s=s.nextSibling)););else{kr.innerHTML=n==="svg"?`${t}`:n==="mathml"?`${t}`:t;const a=kr.content;if(n==="svg"||n==="mathml"){const u=a.firstChild;for(;u.firstChild;)a.appendChild(u.firstChild);a.removeChild(u)}e.insertBefore(a,i)}return[r?r.nextSibling:e.firstChild,i?i.previousSibling:e.lastChild]}},_t="transition",Pi="animation",nn=Symbol("_vtc"),It=(t,{slots:e})=>Lo(Al,yd(t),e);It.displayName="Transition";const Ou={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};It.props=we({},du,Ou);const Dt=(t,e=[])=>{U(t)?t.forEach(i=>i(...e)):t&&t(...e)},Ar=t=>t?U(t)?t.some(e=>e.length>1):t.length>1:!1;function yd(t){const e={};for(const M in t)M in Ou||(e[M]=t[M]);if(t.css===!1)return e;const{name:i="v",type:n,duration:s,enterFromClass:o=`${i}-enter-from`,enterActiveClass:r=`${i}-enter-active`,enterToClass:a=`${i}-enter-to`,appearFromClass:u=o,appearActiveClass:c=r,appearToClass:l=a,leaveFromClass:d=`${i}-leave-from`,leaveActiveClass:h=`${i}-leave-active`,leaveToClass:p=`${i}-leave-to`}=t,y=vd(s),g=y&&y[0],v=y&&y[1],{onBeforeEnter:A,onEnter:O,onEnterCancelled:L,onLeave:R,onLeaveCancelled:K,onBeforeAppear:H=A,onAppear:pe=O,onAppearCancelled:J=L}=e,ce=(M,ie,ze)=>{Nt(M,ie?l:a),Nt(M,ie?c:r),ze&&ze()},se=(M,ie)=>{M._isLeaving=!1,Nt(M,d),Nt(M,p),Nt(M,h),ie&&ie()},ve=M=>(ie,ze)=>{const bt=M?pe:O,fe=()=>ce(ie,M,ze);Dt(bt,[ie,fe]),Sr(()=>{Nt(ie,M?u:o),kt(ie,M?l:a),Ar(bt)||Cr(ie,n,g,fe)})};return we(e,{onBeforeEnter(M){Dt(A,[M]),kt(M,o),kt(M,r)},onBeforeAppear(M){Dt(H,[M]),kt(M,u),kt(M,c)},onEnter:ve(!1),onAppear:ve(!0),onLeave(M,ie){M._isLeaving=!0;const ze=()=>se(M,ie);kt(M,d),_d(),kt(M,h),Sr(()=>{M._isLeaving&&(Nt(M,d),kt(M,p),Ar(R)||Cr(M,n,v,ze))}),Dt(R,[M,ze])},onEnterCancelled(M){ce(M,!1),Dt(L,[M])},onAppearCancelled(M){ce(M,!0),Dt(J,[M])},onLeaveCancelled(M){se(M),Dt(K,[M])}})}function vd(t){if(t==null)return null;if(de(t))return[vs(t.enter),vs(t.leave)];{const e=vs(t);return[e,e]}}function vs(t){return Sc(t)}function kt(t,e){e.split(/\s+/).forEach(i=>i&&t.classList.add(i)),(t[nn]||(t[nn]=new Set)).add(e)}function Nt(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.remove(n));const i=t[nn];i&&(i.delete(e),i.size||(t[nn]=void 0))}function Sr(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let wd=0;function Cr(t,e,i,n){const s=t._endId=++wd,o=()=>{s===t._endId&&n()};if(i)return setTimeout(o,i);const{type:r,timeout:a,propCount:u}=xd(t,e);if(!r)return n();const c=r+"end";let l=0;const d=()=>{t.removeEventListener(c,h),o()},h=p=>{p.target===t&&++l>=u&&d()};setTimeout(()=>{l(i[y]||"").split(", "),s=n(`${_t}Delay`),o=n(`${_t}Duration`),r=jr(s,o),a=n(`${Pi}Delay`),u=n(`${Pi}Duration`),c=jr(a,u);let l=null,d=0,h=0;e===_t?r>0&&(l=_t,d=r,h=o.length):e===Pi?c>0&&(l=Pi,d=c,h=u.length):(d=Math.max(r,c),l=d>0?r>c?_t:Pi:null,h=l?l===_t?o.length:u.length:0);const p=l===_t&&/\b(transform|all)(,|$)/.test(n(`${_t}Property`).toString());return{type:l,timeout:d,propCount:h,hasTransform:p}}function jr(t,e){for(;t.lengthEr(i)+Er(t[n])))}function Er(t){return t==="auto"?0:Number(t.slice(0,-1).replace(",","."))*1e3}function _d(){return document.body.offsetHeight}function kd(t,e,i){const n=t[nn];n&&(e=(e?[e,...n]:[...n]).join(" ")),e==null?t.removeAttribute("class"):i?t.setAttribute("class",e):t.className=e}const Bo=Symbol("_vod"),Ru={beforeMount(t,{value:e},{transition:i}){t[Bo]=t.style.display==="none"?"":t.style.display,i&&e?i.beforeEnter(t):$i(t,e)},mounted(t,{value:e},{transition:i}){i&&e&&i.enter(t)},updated(t,{value:e,oldValue:i},{transition:n}){!e!=!i&&(n?e?(n.beforeEnter(t),$i(t,!0),n.enter(t)):n.leave(t,()=>{$i(t,!1)}):$i(t,e))},beforeUnmount(t,{value:e}){$i(t,e)}};function $i(t,e){t.style.display=e?t[Bo]:"none"}const Ad=Symbol("");function Sd(t,e,i){const n=t.style,s=n.display,o=ye(i);if(i&&!o){if(e&&!ye(e))for(const r in e)i[r]==null&&oo(n,r,"");for(const r in i)oo(n,r,i[r])}else if(o){if(e!==i){const r=n[Ad];r&&(i+=";"+r),n.cssText=i}}else e&&t.removeAttribute("style");Bo in t&&(n.display=s)}const Tr=/\s*!important$/;function oo(t,e,i){if(U(i))i.forEach(n=>oo(t,e,n));else if(i==null&&(i=""),e.startsWith("--"))t.setProperty(e,i);else{const n=Cd(t,e);Tr.test(i)?t.setProperty(Ti(n),i.replace(Tr,""),"important"):t[n]=i}}const zr=["Webkit","Moz","ms"],ws={};function Cd(t,e){const i=ws[e];if(i)return i;let n=ht(e);if(n!=="filter"&&n in t)return ws[e]=n;n=Gn(n);for(let s=0;sxs||(Rd.then(()=>xs=0),xs=Date.now());function $d(t,e){const i=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=i.attached)return;Ke(Ld(n,i.value),e,5,[n])};return i.value=t,i.attached=Pd(),i}function Ld(t,e){if(U(e)){const i=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{i.call(t),t._stopped=!0},e.map(n=>s=>!s._stopped&&n&&n(s))}else return e}const $r=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,Bd=(t,e,i,n,s,o,r,a,u)=>{const c=s==="svg";e==="class"?kd(t,n,c):e==="style"?Sd(t,i,n):Hn(e)?yo(e)||zd(t,e,i,n,r):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Id(t,e,n,c))?Ed(t,e,n,o,r,a,u):(e==="true-value"?t._trueValue=n:e==="false-value"&&(t._falseValue=n),jd(t,e,n,c))};function Id(t,e,i,n){if(n)return!!(e==="innerHTML"||e==="textContent"||e in t&&$r(e)&&G(i));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const s=t.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return $r(e)&&ye(i)?!1:e in t}const Lr=t=>{const e=t.props["onUpdate:modelValue"]||!1;return U(e)?i=>En(e,i):e};function qd(t){t.target.composing=!0}function Br(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const _s=Symbol("_assign"),Pu={created(t,{modifiers:{lazy:e,trim:i,number:n}},s){t[_s]=Lr(s);const o=n||s.props&&s.props.type==="number";li(t,e?"change":"input",r=>{if(r.target.composing)return;let a=t.value;i&&(a=a.trim()),o&&(a=Us(a)),t[_s](a)}),i&&li(t,"change",()=>{t.value=t.value.trim()}),e||(li(t,"compositionstart",qd),li(t,"compositionend",Br),li(t,"change",Br))},mounted(t,{value:e}){t.value=e??""},beforeUpdate(t,{value:e,modifiers:{lazy:i,trim:n,number:s}},o){if(t[_s]=Lr(o),t.composing)return;const r=s||t.type==="number"?Us(t.value):t.value,a=e??"";r!==a&&(document.activeElement===t&&t.type!=="range"&&(i||n&&t.value.trim()===a)||(t.value=a))}},Md=["ctrl","shift","alt","meta"],Dd={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>Md.some(i=>t[`${i}Key`]&&!e.includes(i))},We=(t,e)=>{const i=t._withMods||(t._withMods={}),n=e.join(".");return i[n]||(i[n]=(s,...o)=>{for(let r=0;r{const e=Fd().createApp(...t),{mount:i}=e;return e.mount=n=>{const s=Vd(n);if(!s)return;const o=e._component;!G(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const r=i(s,!1,Hd(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),r},e};function Hd(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function Vd(t){return ye(t)?document.querySelector(t):t}/*! * vue-router v4.2.4 * (c) 2023 Eduardo San Martin Morote * @license MIT - */const mi=typeof window<"u";function Jd(t){return t.__esModule||t[Symbol.toStringTag]==="Module"}const ne=Object.assign;function ks(t,e){const i={};for(const n in e){const s=e[n];i[n]=ot(s)?s.map(t):t(s)}return i}const Ki=()=>{},ot=Array.isArray,Gd=/\/$/,Kd=t=>t.replace(Gd,"");function As(t,e,i="/"){let n,s={},o="",r="";const a=e.indexOf("#");let u=e.indexOf("?");return a=0&&(u=-1),u>-1&&(n=e.slice(0,u),o=e.slice(u+1,a>-1?a:e.length),s=t(o)),a>-1&&(n=n||e.slice(0,a),r=e.slice(a,e.length)),n=Qd(n??e,i),{fullPath:n+(o&&"?")+o+r,path:n,query:s,hash:r}}function Wd(t,e){const i=e.query?t(e.query):"";return e.path+(i&&"?")+i+(e.hash||"")}function qr(t,e){return!e||!t.toLowerCase().startsWith(e.toLowerCase())?t:t.slice(e.length)||"/"}function Yd(t,e,i){const n=e.matched.length-1,s=i.matched.length-1;return n>-1&&n===s&&Si(e.matched[n],i.matched[s])&&$u(e.params,i.params)&&t(e.query)===t(i.query)&&e.hash===i.hash}function Si(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function $u(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const i in t)if(!Zd(t[i],e[i]))return!1;return!0}function Zd(t,e){return ot(t)?Mr(t,e):ot(e)?Mr(e,t):t===e}function Mr(t,e){return ot(e)?t.length===e.length&&t.every((i,n)=>i===e[n]):t.length===1&&t[0]===e}function Qd(t,e){if(t.startsWith("/"))return t;if(!t)return e;const i=e.split("/"),n=t.split("/"),s=n[n.length-1];(s===".."||s===".")&&n.push("");let o=i.length-1,r,a;for(r=0;r1&&o--;else break;return i.slice(0,o).join("/")+"/"+n.slice(r-(r===n.length?1:0)).join("/")}var rn;(function(t){t.pop="pop",t.push="push"})(rn||(rn={}));var Wi;(function(t){t.back="back",t.forward="forward",t.unknown=""})(Wi||(Wi={}));function Xd(t){if(!t)if(mi){const e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return t[0]!=="/"&&t[0]!=="#"&&(t="/"+t),Kd(t)}const em=/^[^#]+#/;function tm(t,e){return t.replace(em,"#")+e}function im(t,e){const i=document.documentElement.getBoundingClientRect(),n=t.getBoundingClientRect();return{behavior:e.behavior,left:n.left-i.left-(e.left||0),top:n.top-i.top-(e.top||0)}}const os=()=>({left:window.pageXOffset,top:window.pageYOffset});function nm(t){let e;if("el"in t){const i=t.el,n=typeof i=="string"&&i.startsWith("#"),s=typeof i=="string"?n?document.getElementById(i.slice(1)):document.querySelector(i):i;if(!s)return;e=im(s,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.pageXOffset,e.top!=null?e.top:window.pageYOffset)}function Dr(t,e){return(history.state?history.state.position-e:-1)+t}const ro=new Map;function sm(t,e){ro.set(t,e)}function om(t){const e=ro.get(t);return ro.delete(t),e}let rm=()=>location.protocol+"//"+location.host;function Lu(t,e){const{pathname:i,search:n,hash:s}=e,o=t.indexOf("#");if(o>-1){let a=s.includes(t.slice(o))?t.slice(o).length:1,u=s.slice(a);return u[0]!=="/"&&(u="/"+u),qr(u,"")}return qr(i,t)+n+s}function am(t,e,i,n){let s=[],o=[],r=null;const a=({state:h})=>{const p=Lu(t,location),y=i.value,g=e.value;let v=0;if(h){if(i.value=p,e.value=h,r&&r===y){r=null;return}v=g?h.position-g.position:0}else n(p);s.forEach(A=>{A(i.value,y,{delta:v,type:rn.pop,direction:v?v>0?Wi.forward:Wi.back:Wi.unknown})})};function u(){r=i.value}function c(h){s.push(h);const p=()=>{const y=s.indexOf(h);y>-1&&s.splice(y,1)};return o.push(p),p}function l(){const{history:h}=window;h.state&&h.replaceState(ne({},h.state,{scroll:os()}),"")}function d(){for(const h of o)h();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",l)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",l,{passive:!0}),{pauseListeners:u,listen:c,destroy:d}}function Nr(t,e,i,n=!1,s=!1){return{back:t,current:e,forward:i,replaced:n,position:window.history.length,scroll:s?os():null}}function um(t){const{history:e,location:i}=window,n={value:Lu(t,i)},s={value:e.state};s.value||o(n.value,{back:null,current:n.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function o(u,c,l){const d=t.indexOf("#"),h=d>-1?(i.host&&document.querySelector("base")?t:t.slice(d))+u:rm()+t+u;try{e[l?"replaceState":"pushState"](c,"",h),s.value=c}catch(p){console.error(p),i[l?"replace":"assign"](h)}}function r(u,c){const l=ne({},e.state,Nr(s.value.back,u,s.value.forward,!0),c,{position:s.value.position});o(u,l,!0),n.value=u}function a(u,c){const l=ne({},s.value,e.state,{forward:u,scroll:os()});o(l.current,l,!0);const d=ne({},Nr(n.value,u,null),{position:l.position+1},c);o(u,d,!1),n.value=u}return{location:n,state:s,push:a,replace:r}}function cm(t){t=Xd(t);const e=um(t),i=am(t,e.state,e.location,e.replace);function n(o,r=!0){r||i.pauseListeners(),history.go(o)}const s=ne({location:"",base:t,go:n,createHref:tm.bind(null,t)},e,i);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>e.state.value}),s}function lm(t){return typeof t=="string"||t&&typeof t=="object"}function Bu(t){return typeof t=="string"||typeof t=="symbol"}const At={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Iu=Symbol("");var Fr;(function(t){t[t.aborted=4]="aborted",t[t.cancelled=8]="cancelled",t[t.duplicated=16]="duplicated"})(Fr||(Fr={}));function Ci(t,e){return ne(new Error,{type:t,[Iu]:!0},e)}function ft(t,e){return t instanceof Error&&Iu in t&&(e==null||!!(t.type&e))}const Ur="[^/]+?",dm={sensitive:!1,strict:!1,start:!0,end:!0},mm=/[.+*?^${}()[\]/\\]/g;function hm(t,e){const i=ne({},dm,e),n=[];let s=i.start?"^":"";const o=[];for(const c of t){const l=c.length?[]:[90];i.strict&&!c.length&&(s+="/");for(let d=0;de.length?e.length===1&&e[0]===40+40?1:-1:0}function pm(t,e){let i=0;const n=t.score,s=e.score;for(;i0&&e[e.length-1]<0}const fm={type:0,value:""},gm=/[a-zA-Z0-9_]/;function ym(t){if(!t)return[[]];if(t==="/")return[[fm]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(p){throw new Error(`ERR (${i})/"${c}": ${p}`)}let i=0,n=i;const s=[];let o;function r(){o&&s.push(o),o=[]}let a=0,u,c="",l="";function d(){c&&(i===0?o.push({type:0,value:c}):i===1||i===2||i===3?(o.length>1&&(u==="*"||u==="+")&&e(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:l,repeatable:u==="*"||u==="+",optional:u==="*"||u==="?"})):e("Invalid state to consume buffer"),c="")}function h(){c+=u}for(;a{r(O)}:Ki}function r(l){if(Bu(l)){const d=n.get(l);d&&(n.delete(l),i.splice(i.indexOf(d),1),d.children.forEach(r),d.alias.forEach(r))}else{const d=i.indexOf(l);d>-1&&(i.splice(d,1),l.record.name&&n.delete(l.record.name),l.children.forEach(r),l.alias.forEach(r))}}function a(){return i}function u(l){let d=0;for(;d=0&&(l.record.path!==i[d].record.path||!qu(l,i[d]));)d++;i.splice(d,0,l),l.record.name&&!Jr(l)&&n.set(l.record.name,l)}function c(l,d){let h,p={},y,g;if("name"in l&&l.name){if(h=n.get(l.name),!h)throw Ci(1,{location:l});g=h.record.name,p=ne(Vr(d.params,h.keys.filter(O=>!O.optional).map(O=>O.name)),l.params&&Vr(l.params,h.keys.map(O=>O.name))),y=h.stringify(p)}else if("path"in l)y=l.path,h=i.find(O=>O.re.test(y)),h&&(p=h.parse(y),g=h.record.name);else{if(h=d.name?n.get(d.name):i.find(O=>O.re.test(d.path)),!h)throw Ci(1,{location:l,currentLocation:d});g=h.record.name,p=ne({},d.params,l.params),y=h.stringify(p)}const v=[];let A=h;for(;A;)v.unshift(A.record),A=A.parent;return{name:g,path:y,params:p,matched:v,meta:km(v)}}return t.forEach(l=>o(l)),{addRoute:o,resolve:c,removeRoute:r,getRoutes:a,getRecordMatcher:s}}function Vr(t,e){const i={};for(const n of e)n in t&&(i[n]=t[n]);return i}function xm(t){return{path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:void 0,beforeEnter:t.beforeEnter,props:_m(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}}}function _m(t){const e={},i=t.props||!1;if("component"in t)e.default=i;else for(const n in t.components)e[n]=typeof i=="object"?i[n]:i;return e}function Jr(t){for(;t;){if(t.record.aliasOf)return!0;t=t.parent}return!1}function km(t){return t.reduce((e,i)=>ne(e,i.meta),{})}function Gr(t,e){const i={};for(const n in t)i[n]=n in e?e[n]:t[n];return i}function qu(t,e){return e.children.some(i=>i===t||qu(t,i))}const Mu=/#/g,Am=/&/g,Sm=/\//g,Cm=/=/g,jm=/\?/g,Du=/\+/g,Em=/%5B/g,Tm=/%5D/g,Nu=/%5E/g,zm=/%60/g,Fu=/%7B/g,Om=/%7C/g,Uu=/%7D/g,Rm=/%20/g;function qo(t){return encodeURI(""+t).replace(Om,"|").replace(Em,"[").replace(Tm,"]")}function Pm(t){return qo(t).replace(Fu,"{").replace(Uu,"}").replace(Nu,"^")}function ao(t){return qo(t).replace(Du,"%2B").replace(Rm,"+").replace(Mu,"%23").replace(Am,"%26").replace(zm,"`").replace(Fu,"{").replace(Uu,"}").replace(Nu,"^")}function $m(t){return ao(t).replace(Cm,"%3D")}function Lm(t){return qo(t).replace(Mu,"%23").replace(jm,"%3F")}function Bm(t){return t==null?"":Lm(t).replace(Sm,"%2F")}function Fn(t){try{return decodeURIComponent(""+t)}catch{}return""+t}function Im(t){const e={};if(t===""||t==="?")return e;const n=(t[0]==="?"?t.slice(1):t).split("&");for(let s=0;so&&ao(o)):[n&&ao(n)]).forEach(o=>{o!==void 0&&(e+=(e.length?"&":"")+i,o!=null&&(e+="="+o))})}return e}function qm(t){const e={};for(const i in t){const n=t[i];n!==void 0&&(e[i]=ot(n)?n.map(s=>s==null?null:""+s):n==null?n:""+n)}return e}const Mm=Symbol(""),Wr=Symbol(""),rs=Symbol(""),Hu=Symbol(""),uo=Symbol("");function Ii(){let t=[];function e(n){return t.push(n),()=>{const s=t.indexOf(n);s>-1&&t.splice(s,1)}}function i(){t=[]}return{add:e,list:()=>t.slice(),reset:i}}function Tt(t,e,i,n,s){const o=n&&(n.enterCallbacks[s]=n.enterCallbacks[s]||[]);return()=>new Promise((r,a)=>{const u=d=>{d===!1?a(Ci(4,{from:i,to:e})):d instanceof Error?a(d):lm(d)?a(Ci(2,{from:e,to:d})):(o&&n.enterCallbacks[s]===o&&typeof d=="function"&&o.push(d),r())},c=t.call(n&&n.instances[s],e,i,u);let l=Promise.resolve(c);t.length<3&&(l=l.then(u)),l.catch(d=>a(d))})}function Ss(t,e,i,n){const s=[];for(const o of t)for(const r in o.components){let a=o.components[r];if(!(e!=="beforeRouteEnter"&&!o.instances[r]))if(Dm(a)){const c=(a.__vccOpts||a)[e];c&&s.push(Tt(c,i,n,o,r))}else{let u=a();s.push(()=>u.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${r}" at "${o.path}"`));const l=Jd(c)?c.default:c;o.components[r]=l;const h=(l.__vccOpts||l)[e];return h&&Tt(h,i,n,o,r)()}))}}return s}function Dm(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}function Yr(t){const e=dt(rs),i=dt(Hu),n=Fe(()=>e.resolve(vi(t.to))),s=Fe(()=>{const{matched:u}=n.value,{length:c}=u,l=u[c-1],d=i.matched;if(!l||!d.length)return-1;const h=d.findIndex(Si.bind(null,l));if(h>-1)return h;const p=Zr(u[c-2]);return c>1&&Zr(l)===p&&d[d.length-1].path!==p?d.findIndex(Si.bind(null,u[c-2])):h}),o=Fe(()=>s.value>-1&&Hm(i.params,n.value.params)),r=Fe(()=>s.value>-1&&s.value===i.matched.length-1&&$u(i.params,n.value.params));function a(u={}){return Um(u)?e[vi(t.replace)?"replace":"push"](vi(t.to)).catch(Ki):Promise.resolve()}return{route:n,href:Fe(()=>n.value.href),isActive:o,isExactActive:r,navigate:a}}const Nm=Te({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Yr,setup(t,{slots:e}){const i=ln(Yr(t)),{options:n}=dt(rs),s=Fe(()=>({[Qr(t.activeClass,n.linkActiveClass,"router-link-active")]:i.isActive,[Qr(t.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:i.isExactActive}));return()=>{const o=e.default&&e.default(i);return t.custom?o:Bo("a",{"aria-current":i.isExactActive?t.ariaCurrentValue:null,href:i.href,onClick:i.navigate,class:s.value},o)}}}),Fm=Nm;function Um(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&!(t.button!==void 0&&t.button!==0)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Hm(t,e){for(const i in e){const n=e[i],s=t[i];if(typeof n=="string"){if(n!==s)return!1}else if(!ot(s)||s.length!==n.length||n.some((o,r)=>o!==s[r]))return!1}return!0}function Zr(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Qr=(t,e,i)=>t??e??i,Vm=Te({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:i}){const n=dt(uo),s=Fe(()=>t.route||n.value),o=dt(Wr,0),r=Fe(()=>{let c=vi(o);const{matched:l}=s.value;let d;for(;(d=l[c])&&!d.components;)c++;return c}),a=Fe(()=>s.value.matched[r.value]);On(Wr,Fe(()=>r.value+1)),On(Mm,a),On(uo,s);const u=ae();return Zt(()=>[u.value,a.value,t.name],([c,l,d],[h,p,y])=>{l&&(l.instances[d]=c,p&&p!==l&&c&&c===h&&(l.leaveGuards.size||(l.leaveGuards=p.leaveGuards),l.updateGuards.size||(l.updateGuards=p.updateGuards))),c&&l&&(!p||!Si(l,p)||!h)&&(l.enterCallbacks[d]||[]).forEach(g=>g(c))},{flush:"post"}),()=>{const c=s.value,l=t.name,d=a.value,h=d&&d.components[l];if(!h)return Xr(i.default,{Component:h,route:c});const p=d.props[l],y=p?p===!0?c.params:typeof p=="function"?p(c):p:null,v=Bo(h,ne({},y,e,{onVnodeUnmounted:A=>{A.component.isUnmounted&&(d.instances[l]=null)},ref:u}));return Xr(i.default,{Component:v,route:c})||v}}});function Xr(t,e){if(!t)return null;const i=t(e);return i.length===1?i[0]:i}const Jm=Vm;function Gm(t){const e=wm(t.routes,t),i=t.parseQuery||Im,n=t.stringifyQuery||Kr,s=t.history,o=Ii(),r=Ii(),a=Ii(),u=tl(At);let c=At;mi&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const l=ks.bind(null,x=>""+x),d=ks.bind(null,Bm),h=ks.bind(null,Fn);function p(x,P){let T,B;return Bu(x)?(T=e.getRecordMatcher(x),B=P):B=x,e.addRoute(B,T)}function y(x){const P=e.getRecordMatcher(x);P&&e.removeRoute(P)}function g(){return e.getRoutes().map(x=>x.record)}function v(x){return!!e.getRecordMatcher(x)}function A(x,P){if(P=ne({},P||u.value),typeof x=="string"){const b=As(i,x,P.path),f=e.resolve({path:b.path},P),k=s.createHref(b.fullPath);return ne(b,f,{params:h(f.params),hash:Fn(b.hash),redirectedFrom:void 0,href:k})}let T;if("path"in x)T=ne({},x,{path:As(i,x.path,P.path).path});else{const b=ne({},x.params);for(const f in b)b[f]==null&&delete b[f];T=ne({},x,{params:d(b)}),P.params=d(P.params)}const B=e.resolve(T,P),te=x.hash||"";B.params=l(h(B.params));const me=Wd(n,ne({},x,{hash:Pm(te),path:B.path})),m=s.createHref(me);return ne({fullPath:me,hash:te,query:n===Kr?qm(x.query):x.query||{}},B,{redirectedFrom:void 0,href:m})}function O(x){return typeof x=="string"?As(i,x,u.value.path):ne({},x)}function L(x,P){if(c!==x)return Ci(8,{from:P,to:x})}function R(x){return pe(x)}function K(x){return R(ne(O(x),{replace:!0}))}function H(x){const P=x.matched[x.matched.length-1];if(P&&P.redirect){const{redirect:T}=P;let B=typeof T=="function"?T(x):T;return typeof B=="string"&&(B=B.includes("?")||B.includes("#")?B=O(B):{path:B},B.params={}),ne({query:x.query,hash:x.hash,params:"path"in B?{}:x.params},B)}}function pe(x,P){const T=c=A(x),B=u.value,te=x.state,me=x.force,m=x.replace===!0,b=H(T);if(b)return pe(ne(O(b),{state:typeof b=="object"?ne({},te,b.state):te,force:me,replace:m}),P||T);const f=T;f.redirectedFrom=P;let k;return!me&&Yd(n,B,T)&&(k=Ci(16,{to:f,from:B}),rt(B,B,!0,!1)),(k?Promise.resolve(k):se(f,B)).catch(w=>ft(w)?ft(w,2)?w:wt(w):ee(w,f,B)).then(w=>{if(w){if(ft(w,2))return pe(ne({replace:m},O(w.to),{state:typeof w.to=="object"?ne({},te,w.to.state):te,force:me}),P||f)}else w=M(f,B,!0,m,te);return ve(f,B,w),w})}function J(x,P){const T=L(x,P);return T?Promise.reject(T):Promise.resolve()}function ce(x){const P=si.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(x):x()}function se(x,P){let T;const[B,te,me]=Km(x,P);T=Ss(B.reverse(),"beforeRouteLeave",x,P);for(const b of B)b.leaveGuards.forEach(f=>{T.push(Tt(f,x,P))});const m=J.bind(null,x,P);return T.push(m),Ce(T).then(()=>{T=[];for(const b of o.list())T.push(Tt(b,x,P));return T.push(m),Ce(T)}).then(()=>{T=Ss(te,"beforeRouteUpdate",x,P);for(const b of te)b.updateGuards.forEach(f=>{T.push(Tt(f,x,P))});return T.push(m),Ce(T)}).then(()=>{T=[];for(const b of me)if(b.beforeEnter)if(ot(b.beforeEnter))for(const f of b.beforeEnter)T.push(Tt(f,x,P));else T.push(Tt(b.beforeEnter,x,P));return T.push(m),Ce(T)}).then(()=>(x.matched.forEach(b=>b.enterCallbacks={}),T=Ss(me,"beforeRouteEnter",x,P),T.push(m),Ce(T))).then(()=>{T=[];for(const b of r.list())T.push(Tt(b,x,P));return T.push(m),Ce(T)}).catch(b=>ft(b,8)?b:Promise.reject(b))}function ve(x,P,T){a.list().forEach(B=>ce(()=>B(x,P,T)))}function M(x,P,T,B,te){const me=L(x,P);if(me)return me;const m=P===At,b=mi?history.state:{};T&&(B||m?s.replace(x.fullPath,ne({scroll:m&&b&&b.scroll},te)):s.push(x.fullPath,te)),u.value=x,rt(x,P,T,m),wt()}let ie;function ze(){ie||(ie=s.listen((x,P,T)=>{if(!hn.listening)return;const B=A(x),te=H(B);if(te){pe(ne(te,{replace:!0}),B).catch(Ki);return}c=B;const me=u.value;mi&&sm(Dr(me.fullPath,T.delta),os()),se(B,me).catch(m=>ft(m,12)?m:ft(m,2)?(pe(m.to,B).then(b=>{ft(b,20)&&!T.delta&&T.type===rn.pop&&s.go(-1,!1)}).catch(Ki),Promise.reject()):(T.delta&&s.go(-T.delta,!1),ee(m,B,me))).then(m=>{m=m||M(B,me,!1),m&&(T.delta&&!ft(m,8)?s.go(-T.delta,!1):T.type===rn.pop&&ft(m,20)&&s.go(-1,!1)),ve(B,me,m)}).catch(Ki)}))}let bt=Ii(),fe=Ii(),oe;function ee(x,P,T){wt(x);const B=fe.list();return B.length?B.forEach(te=>te(x,P,T)):console.error(x),Promise.reject(x)}function pt(){return oe&&u.value!==At?Promise.resolve():new Promise((x,P)=>{bt.add([x,P])})}function wt(x){return oe||(oe=!x,ze(),bt.list().forEach(([P,T])=>x?T(x):P()),bt.reset()),x}function rt(x,P,T,B){const{scrollBehavior:te}=t;if(!mi||!te)return Promise.resolve();const me=!T&&om(Dr(x.fullPath,0))||(B||!T)&&history.state&&history.state.scroll||null;return iu().then(()=>te(x,P,me)).then(m=>m&&nm(m)).catch(m=>ee(m,x,P))}const Be=x=>s.go(x);let ni;const si=new Set,hn={currentRoute:u,listening:!0,addRoute:p,removeRoute:y,hasRoute:v,getRoutes:g,resolve:A,options:t,push:R,replace:K,go:Be,back:()=>Be(-1),forward:()=>Be(1),beforeEach:o.add,beforeResolve:r.add,afterEach:a.add,onError:fe.add,isReady:pt,install(x){const P=this;x.component("RouterLink",Fm),x.component("RouterView",Jm),x.config.globalProperties.$router=P,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>vi(u)}),mi&&!ni&&u.value===At&&(ni=!0,R(s.location).catch(te=>{}));const T={};for(const te in At)Object.defineProperty(T,te,{get:()=>u.value[te],enumerable:!0});x.provide(rs,P),x.provide(Hu,Ga(T)),x.provide(uo,u);const B=x.unmount;si.add(x),x.unmount=function(){si.delete(x),si.size<1&&(c=At,ie&&ie(),ie=null,u.value=At,ni=!1,oe=!1),B()}}};function Ce(x){return x.reduce((P,T)=>P.then(()=>ce(T)),Promise.resolve())}return hn}function Km(t,e){const i=[],n=[],s=[],o=Math.max(e.matched.length,t.matched.length);for(let r=0;rSi(c,a))?n.push(a):i.push(a));const u=t.matched[r];u&&(e.matched.find(c=>Si(c,u))||s.push(u))}return[i,n,s]}function Wm(){return dt(rs)}const Ym=Te({__name:"App",setup(t){const e=Wm();return window.addEventListener("message",i=>{switch(i.data.command){case"modules":e.push("/");break;case"projectView":e.push("/project");break}}),(i,n)=>{const s=bl("router-view");return q(),ts(s)}}}),Bt=function(){if(typeof globalThis<"u")return globalThis;if(typeof global<"u")return global;if(typeof self<"u")return self;if(typeof window<"u")return window;try{return new Function("return this")()}catch{return{}}}();Bt.trustedTypes===void 0&&(Bt.trustedTypes={createPolicy:(t,e)=>e});const Vu={configurable:!1,enumerable:!1,writable:!1};Bt.FAST===void 0&&Reflect.defineProperty(Bt,"FAST",Object.assign({value:Object.create(null)},Vu));const an=Bt.FAST;if(an.getById===void 0){const t=Object.create(null);Reflect.defineProperty(an,"getById",Object.assign({value(e,i){let n=t[e];return n===void 0&&(n=i?t[e]=i():null),n}},Vu))}const Cs=Object.freeze([]);function Ju(){const t=new WeakMap;return function(e){let i=t.get(e);if(i===void 0){let n=Reflect.getPrototypeOf(e);for(;i===void 0&&n!==null;)i=t.get(n),n=Reflect.getPrototypeOf(n);i=i===void 0?[]:i.slice(0),t.set(e,i)}return i}}const js=Bt.FAST.getById(1,()=>{const t=[],e=[];function i(){if(e.length)throw e.shift()}function n(r){try{r.call()}catch(a){e.push(a),setTimeout(i,0)}}function s(){let a=0;for(;a1024){for(let u=0,c=t.length-a;ut});let Es=Gu;const Yi=`fast-${Math.random().toString(36).substring(2,8)}`,Zm=`${Yi}{`,Qm=`}${Yi}`,$e=Object.freeze({supportsAdoptedStyleSheets:Array.isArray(document.adoptedStyleSheets)&&"replace"in CSSStyleSheet.prototype,setHTMLPolicy(t){if(Es!==Gu)throw new Error("The HTML policy can only be set once.");Es=t},createHTML(t){return Es.createHTML(t)},isMarker(t){return t&&t.nodeType===8&&t.data.startsWith(Yi)},extractDirectiveIndexFromMarker(t){return parseInt(t.data.replace(`${Yi}:`,""))},createInterpolationPlaceholder(t){return`${Zm}${t}${Qm}`},createCustomAttributePlaceholder(t,e){return`${t}="${this.createInterpolationPlaceholder(e)}"`},createBlockPlaceholder(t){return``},queueUpdate:js.enqueue,processUpdates:js.process,nextUpdate(){return new Promise(js.enqueue)},setAttribute(t,e,i){i==null?t.removeAttribute(e):t.setAttribute(e,i)},setBooleanAttribute(t,e,i){i?t.setAttribute(e,""):t.removeAttribute(e)},removeChildNodes(t){for(let e=t.firstChild;e!==null;e=t.firstChild)t.removeChild(e)},createTemplateWalker(t){return document.createTreeWalker(t,133,null,!1)}});class co{constructor(e,i){this.sub1=void 0,this.sub2=void 0,this.spillover=void 0,this.source=e,this.sub1=i}has(e){return this.spillover===void 0?this.sub1===e||this.sub2===e:this.spillover.indexOf(e)!==-1}subscribe(e){const i=this.spillover;if(i===void 0){if(this.has(e))return;if(this.sub1===void 0){this.sub1=e;return}if(this.sub2===void 0){this.sub2=e;return}this.spillover=[this.sub1,this.sub2,e],this.sub1=void 0,this.sub2=void 0}else i.indexOf(e)===-1&&i.push(e)}unsubscribe(e){const i=this.spillover;if(i===void 0)this.sub1===e?this.sub1=void 0:this.sub2===e&&(this.sub2=void 0);else{const n=i.indexOf(e);n!==-1&&i.splice(n,1)}}notify(e){const i=this.spillover,n=this.source;if(i===void 0){const s=this.sub1,o=this.sub2;s!==void 0&&s.handleChange(n,e),o!==void 0&&o.handleChange(n,e)}else for(let s=0,o=i.length;s{const t=/(:|&&|\|\||if)/,e=new WeakMap,i=$e.queueUpdate;let n,s=c=>{throw new Error("Must call enableArrayObservation before observing arrays.")};function o(c){let l=c.$fastController||e.get(c);return l===void 0&&(Array.isArray(c)?l=s(c):e.set(c,l=new Ku(c))),l}const r=Ju();class a{constructor(l){this.name=l,this.field=`_${l}`,this.callback=`${l}Changed`}getValue(l){return n!==void 0&&n.watch(l,this.name),l[this.field]}setValue(l,d){const h=this.field,p=l[h];if(p!==d){l[h]=d;const y=l[this.callback];typeof y=="function"&&y.call(l,p,d),o(l).notify(this.name)}}}class u extends co{constructor(l,d,h=!1){super(l,d),this.binding=l,this.isVolatileBinding=h,this.needsRefresh=!0,this.needsQueue=!0,this.first=this,this.last=null,this.propertySource=void 0,this.propertyName=void 0,this.notifier=void 0,this.next=void 0}observe(l,d){this.needsRefresh&&this.last!==null&&this.disconnect();const h=n;n=this.needsRefresh?this:void 0,this.needsRefresh=this.isVolatileBinding;const p=this.binding(l,d);return n=h,p}disconnect(){if(this.last!==null){let l=this.first;for(;l!==void 0;)l.notifier.unsubscribe(this,l.propertyName),l=l.next;this.last=null,this.needsRefresh=this.needsQueue=!0}}watch(l,d){const h=this.last,p=o(l),y=h===null?this.first:{};if(y.propertySource=l,y.propertyName=d,y.notifier=p,p.subscribe(this,d),h!==null){if(!this.needsRefresh){let g;n=void 0,g=h.propertySource[h.propertyName],n=this,l===g&&(this.needsRefresh=!0)}h.next=y}this.last=y}handleChange(){this.needsQueue&&(this.needsQueue=!1,i(this))}call(){this.last!==null&&(this.needsQueue=!0,this.notify(this))}records(){let l=this.first;return{next:()=>{const d=l;return d===void 0?{value:void 0,done:!0}:(l=l.next,{value:d,done:!1})},[Symbol.iterator]:function(){return this}}}}return Object.freeze({setArrayObserverFactory(c){s=c},getNotifier:o,track(c,l){n!==void 0&&n.watch(c,l)},trackVolatile(){n!==void 0&&(n.needsRefresh=!0)},notify(c,l){o(c).notify(l)},defineProperty(c,l){typeof l=="string"&&(l=new a(l)),r(c).push(l),Reflect.defineProperty(c,l.name,{enumerable:!0,get:function(){return l.getValue(this)},set:function(d){l.setValue(this,d)}})},getAccessors:r,binding(c,l,d=this.isVolatileBinding(c)){return new u(c,l,d)},isVolatileBinding(c){return t.test(c.toString())}})});function as(t,e){Le.defineProperty(t,e)}const ea=an.getById(3,()=>{let t=null;return{get(){return t},set(e){t=e}}});class Mo{constructor(){this.index=0,this.length=0,this.parent=null,this.parentContext=null}get event(){return ea.get()}get isEven(){return this.index%2===0}get isOdd(){return this.index%2!==0}get isFirst(){return this.index===0}get isInMiddle(){return!this.isFirst&&!this.isLast}get isLast(){return this.index===this.length-1}static setEvent(e){ea.set(e)}}Le.defineProperty(Mo.prototype,"index");Le.defineProperty(Mo.prototype,"length");const $n=Object.seal(new Mo);class Ye{constructor(){this.targets=new WeakSet}addStylesTo(e){this.targets.add(e)}removeStylesFrom(e){this.targets.delete(e)}isAttachedTo(e){return this.targets.has(e)}withBehaviors(...e){return this.behaviors=this.behaviors===null?e:this.behaviors.concat(e),this}}Ye.create=(()=>{if($e.supportsAdoptedStyleSheets){const t=new Map;return e=>new Xm(e,t)}return t=>new ih(t)})();function Do(t){return t.map(e=>e instanceof Ye?Do(e.styles):[e]).reduce((e,i)=>e.concat(i),[])}function Wu(t){return t.map(e=>e instanceof Ye?e.behaviors:null).reduce((e,i)=>i===null?e:(e===null&&(e=[]),e.concat(i)),null)}let Yu=(t,e)=>{t.adoptedStyleSheets=[...t.adoptedStyleSheets,...e]},Zu=(t,e)=>{t.adoptedStyleSheets=t.adoptedStyleSheets.filter(i=>e.indexOf(i)===-1)};if($e.supportsAdoptedStyleSheets)try{document.adoptedStyleSheets.push(),document.adoptedStyleSheets.splice(),Yu=(t,e)=>{t.adoptedStyleSheets.push(...e)},Zu=(t,e)=>{for(const i of e){const n=t.adoptedStyleSheets.indexOf(i);n!==-1&&t.adoptedStyleSheets.splice(n,1)}}}catch{}class Xm extends Ye{constructor(e,i){super(),this.styles=e,this.styleSheetCache=i,this._styleSheets=void 0,this.behaviors=Wu(e)}get styleSheets(){if(this._styleSheets===void 0){const e=this.styles,i=this.styleSheetCache;this._styleSheets=Do(e).map(n=>{if(n instanceof CSSStyleSheet)return n;let s=i.get(n);return s===void 0&&(s=new CSSStyleSheet,s.replaceSync(n),i.set(n,s)),s})}return this._styleSheets}addStylesTo(e){Yu(e,this.styleSheets),super.addStylesTo(e)}removeStylesFrom(e){Zu(e,this.styleSheets),super.removeStylesFrom(e)}}let eh=0;function th(){return`fast-style-class-${++eh}`}class ih extends Ye{constructor(e){super(),this.styles=e,this.behaviors=null,this.behaviors=Wu(e),this.styleSheets=Do(e),this.styleClass=th()}addStylesTo(e){const i=this.styleSheets,n=this.styleClass;e=this.normalizeTarget(e);for(let s=0;s{n.add(e);const s=e[this.fieldName];switch(i){case"reflect":const o=this.converter;$e.setAttribute(e,this.attribute,o!==void 0?o.toView(s):s);break;case"boolean":$e.setBooleanAttribute(e,this.attribute,s);break}n.delete(e)})}static collect(e,...i){const n=[];i.push(nh.locate(e));for(let s=0,o=i.length;s{const t=new Map;return Object.freeze({register(e){return t.has(e.type)?!1:(t.set(e.type,e),!0)},getByType(e){return t.get(e)}})});class us{constructor(e,i=e.definition){typeof i=="string"&&(i={name:i}),this.type=e,this.name=i.name,this.template=i.template;const n=Un.collect(e,i.attributes),s=new Array(n.length),o={},r={};for(let a=0,u=n.length;a0){const o=this.boundObservables=Object.create(null);for(let r=0,a=s.length;r{},ot=Array.isArray,Gd=/\/$/,Kd=t=>t.replace(Gd,"");function As(t,e,i="/"){let n,s={},o="",r="";const a=e.indexOf("#");let u=e.indexOf("?");return a=0&&(u=-1),u>-1&&(n=e.slice(0,u),o=e.slice(u+1,a>-1?a:e.length),s=t(o)),a>-1&&(n=n||e.slice(0,a),r=e.slice(a,e.length)),n=Qd(n??e,i),{fullPath:n+(o&&"?")+o+r,path:n,query:s,hash:r}}function Wd(t,e){const i=e.query?t(e.query):"";return e.path+(i&&"?")+i+(e.hash||"")}function qr(t,e){return!e||!t.toLowerCase().startsWith(e.toLowerCase())?t:t.slice(e.length)||"/"}function Yd(t,e,i){const n=e.matched.length-1,s=i.matched.length-1;return n>-1&&n===s&&ki(e.matched[n],i.matched[s])&&$u(e.params,i.params)&&t(e.query)===t(i.query)&&e.hash===i.hash}function ki(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function $u(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const i in t)if(!Zd(t[i],e[i]))return!1;return!0}function Zd(t,e){return ot(t)?Mr(t,e):ot(e)?Mr(e,t):t===e}function Mr(t,e){return ot(e)?t.length===e.length&&t.every((i,n)=>i===e[n]):t.length===1&&t[0]===e}function Qd(t,e){if(t.startsWith("/"))return t;if(!t)return e;const i=e.split("/"),n=t.split("/"),s=n[n.length-1];(s===".."||s===".")&&n.push("");let o=i.length-1,r,a;for(r=0;r1&&o--;else break;return i.slice(0,o).join("/")+"/"+n.slice(r-(r===n.length?1:0)).join("/")}var sn;(function(t){t.pop="pop",t.push="push"})(sn||(sn={}));var Gi;(function(t){t.back="back",t.forward="forward",t.unknown=""})(Gi||(Gi={}));function Xd(t){if(!t)if(di){const e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return t[0]!=="/"&&t[0]!=="#"&&(t="/"+t),Kd(t)}const em=/^[^#]+#/;function tm(t,e){return t.replace(em,"#")+e}function im(t,e){const i=document.documentElement.getBoundingClientRect(),n=t.getBoundingClientRect();return{behavior:e.behavior,left:n.left-i.left-(e.left||0),top:n.top-i.top-(e.top||0)}}const os=()=>({left:window.pageXOffset,top:window.pageYOffset});function nm(t){let e;if("el"in t){const i=t.el,n=typeof i=="string"&&i.startsWith("#"),s=typeof i=="string"?n?document.getElementById(i.slice(1)):document.querySelector(i):i;if(!s)return;e=im(s,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.pageXOffset,e.top!=null?e.top:window.pageYOffset)}function Dr(t,e){return(history.state?history.state.position-e:-1)+t}const ro=new Map;function sm(t,e){ro.set(t,e)}function om(t){const e=ro.get(t);return ro.delete(t),e}let rm=()=>location.protocol+"//"+location.host;function Lu(t,e){const{pathname:i,search:n,hash:s}=e,o=t.indexOf("#");if(o>-1){let a=s.includes(t.slice(o))?t.slice(o).length:1,u=s.slice(a);return u[0]!=="/"&&(u="/"+u),qr(u,"")}return qr(i,t)+n+s}function am(t,e,i,n){let s=[],o=[],r=null;const a=({state:h})=>{const p=Lu(t,location),y=i.value,g=e.value;let v=0;if(h){if(i.value=p,e.value=h,r&&r===y){r=null;return}v=g?h.position-g.position:0}else n(p);s.forEach(A=>{A(i.value,y,{delta:v,type:sn.pop,direction:v?v>0?Gi.forward:Gi.back:Gi.unknown})})};function u(){r=i.value}function c(h){s.push(h);const p=()=>{const y=s.indexOf(h);y>-1&&s.splice(y,1)};return o.push(p),p}function l(){const{history:h}=window;h.state&&h.replaceState(ne({},h.state,{scroll:os()}),"")}function d(){for(const h of o)h();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",l)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",l,{passive:!0}),{pauseListeners:u,listen:c,destroy:d}}function Nr(t,e,i,n=!1,s=!1){return{back:t,current:e,forward:i,replaced:n,position:window.history.length,scroll:s?os():null}}function um(t){const{history:e,location:i}=window,n={value:Lu(t,i)},s={value:e.state};s.value||o(n.value,{back:null,current:n.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function o(u,c,l){const d=t.indexOf("#"),h=d>-1?(i.host&&document.querySelector("base")?t:t.slice(d))+u:rm()+t+u;try{e[l?"replaceState":"pushState"](c,"",h),s.value=c}catch(p){console.error(p),i[l?"replace":"assign"](h)}}function r(u,c){const l=ne({},e.state,Nr(s.value.back,u,s.value.forward,!0),c,{position:s.value.position});o(u,l,!0),n.value=u}function a(u,c){const l=ne({},s.value,e.state,{forward:u,scroll:os()});o(l.current,l,!0);const d=ne({},Nr(n.value,u,null),{position:l.position+1},c);o(u,d,!1),n.value=u}return{location:n,state:s,push:a,replace:r}}function cm(t){t=Xd(t);const e=um(t),i=am(t,e.state,e.location,e.replace);function n(o,r=!0){r||i.pauseListeners(),history.go(o)}const s=ne({location:"",base:t,go:n,createHref:tm.bind(null,t)},e,i);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>e.state.value}),s}function lm(t){return typeof t=="string"||t&&typeof t=="object"}function Bu(t){return typeof t=="string"||typeof t=="symbol"}const At={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Iu=Symbol("");var Fr;(function(t){t[t.aborted=4]="aborted",t[t.cancelled=8]="cancelled",t[t.duplicated=16]="duplicated"})(Fr||(Fr={}));function Ai(t,e){return ne(new Error,{type:t,[Iu]:!0},e)}function ft(t,e){return t instanceof Error&&Iu in t&&(e==null||!!(t.type&e))}const Ur="[^/]+?",dm={sensitive:!1,strict:!1,start:!0,end:!0},mm=/[.+*?^${}()[\]/\\]/g;function hm(t,e){const i=ne({},dm,e),n=[];let s=i.start?"^":"";const o=[];for(const c of t){const l=c.length?[]:[90];i.strict&&!c.length&&(s+="/");for(let d=0;de.length?e.length===1&&e[0]===40+40?1:-1:0}function pm(t,e){let i=0;const n=t.score,s=e.score;for(;i0&&e[e.length-1]<0}const fm={type:0,value:""},gm=/[a-zA-Z0-9_]/;function ym(t){if(!t)return[[]];if(t==="/")return[[fm]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(p){throw new Error(`ERR (${i})/"${c}": ${p}`)}let i=0,n=i;const s=[];let o;function r(){o&&s.push(o),o=[]}let a=0,u,c="",l="";function d(){c&&(i===0?o.push({type:0,value:c}):i===1||i===2||i===3?(o.length>1&&(u==="*"||u==="+")&&e(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:l,repeatable:u==="*"||u==="+",optional:u==="*"||u==="?"})):e("Invalid state to consume buffer"),c="")}function h(){c+=u}for(;a{r(O)}:Ji}function r(l){if(Bu(l)){const d=n.get(l);d&&(n.delete(l),i.splice(i.indexOf(d),1),d.children.forEach(r),d.alias.forEach(r))}else{const d=i.indexOf(l);d>-1&&(i.splice(d,1),l.record.name&&n.delete(l.record.name),l.children.forEach(r),l.alias.forEach(r))}}function a(){return i}function u(l){let d=0;for(;d=0&&(l.record.path!==i[d].record.path||!qu(l,i[d]));)d++;i.splice(d,0,l),l.record.name&&!Jr(l)&&n.set(l.record.name,l)}function c(l,d){let h,p={},y,g;if("name"in l&&l.name){if(h=n.get(l.name),!h)throw Ai(1,{location:l});g=h.record.name,p=ne(Vr(d.params,h.keys.filter(O=>!O.optional).map(O=>O.name)),l.params&&Vr(l.params,h.keys.map(O=>O.name))),y=h.stringify(p)}else if("path"in l)y=l.path,h=i.find(O=>O.re.test(y)),h&&(p=h.parse(y),g=h.record.name);else{if(h=d.name?n.get(d.name):i.find(O=>O.re.test(d.path)),!h)throw Ai(1,{location:l,currentLocation:d});g=h.record.name,p=ne({},d.params,l.params),y=h.stringify(p)}const v=[];let A=h;for(;A;)v.unshift(A.record),A=A.parent;return{name:g,path:y,params:p,matched:v,meta:km(v)}}return t.forEach(l=>o(l)),{addRoute:o,resolve:c,removeRoute:r,getRoutes:a,getRecordMatcher:s}}function Vr(t,e){const i={};for(const n of e)n in t&&(i[n]=t[n]);return i}function xm(t){return{path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:void 0,beforeEnter:t.beforeEnter,props:_m(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}}}function _m(t){const e={},i=t.props||!1;if("component"in t)e.default=i;else for(const n in t.components)e[n]=typeof i=="object"?i[n]:i;return e}function Jr(t){for(;t;){if(t.record.aliasOf)return!0;t=t.parent}return!1}function km(t){return t.reduce((e,i)=>ne(e,i.meta),{})}function Gr(t,e){const i={};for(const n in t)i[n]=n in e?e[n]:t[n];return i}function qu(t,e){return e.children.some(i=>i===t||qu(t,i))}const Mu=/#/g,Am=/&/g,Sm=/\//g,Cm=/=/g,jm=/\?/g,Du=/\+/g,Em=/%5B/g,Tm=/%5D/g,Nu=/%5E/g,zm=/%60/g,Fu=/%7B/g,Om=/%7C/g,Uu=/%7D/g,Rm=/%20/g;function Io(t){return encodeURI(""+t).replace(Om,"|").replace(Em,"[").replace(Tm,"]")}function Pm(t){return Io(t).replace(Fu,"{").replace(Uu,"}").replace(Nu,"^")}function ao(t){return Io(t).replace(Du,"%2B").replace(Rm,"+").replace(Mu,"%23").replace(Am,"%26").replace(zm,"`").replace(Fu,"{").replace(Uu,"}").replace(Nu,"^")}function $m(t){return ao(t).replace(Cm,"%3D")}function Lm(t){return Io(t).replace(Mu,"%23").replace(jm,"%3F")}function Bm(t){return t==null?"":Lm(t).replace(Sm,"%2F")}function Fn(t){try{return decodeURIComponent(""+t)}catch{}return""+t}function Im(t){const e={};if(t===""||t==="?")return e;const n=(t[0]==="?"?t.slice(1):t).split("&");for(let s=0;so&&ao(o)):[n&&ao(n)]).forEach(o=>{o!==void 0&&(e+=(e.length?"&":"")+i,o!=null&&(e+="="+o))})}return e}function qm(t){const e={};for(const i in t){const n=t[i];n!==void 0&&(e[i]=ot(n)?n.map(s=>s==null?null:""+s):n==null?n:""+n)}return e}const Mm=Symbol(""),Wr=Symbol(""),rs=Symbol(""),Hu=Symbol(""),uo=Symbol("");function Li(){let t=[];function e(n){return t.push(n),()=>{const s=t.indexOf(n);s>-1&&t.splice(s,1)}}function i(){t=[]}return{add:e,list:()=>t.slice(),reset:i}}function Tt(t,e,i,n,s){const o=n&&(n.enterCallbacks[s]=n.enterCallbacks[s]||[]);return()=>new Promise((r,a)=>{const u=d=>{d===!1?a(Ai(4,{from:i,to:e})):d instanceof Error?a(d):lm(d)?a(Ai(2,{from:e,to:d})):(o&&n.enterCallbacks[s]===o&&typeof d=="function"&&o.push(d),r())},c=t.call(n&&n.instances[s],e,i,u);let l=Promise.resolve(c);t.length<3&&(l=l.then(u)),l.catch(d=>a(d))})}function Ss(t,e,i,n){const s=[];for(const o of t)for(const r in o.components){let a=o.components[r];if(!(e!=="beforeRouteEnter"&&!o.instances[r]))if(Dm(a)){const c=(a.__vccOpts||a)[e];c&&s.push(Tt(c,i,n,o,r))}else{let u=a();s.push(()=>u.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${r}" at "${o.path}"`));const l=Jd(c)?c.default:c;o.components[r]=l;const h=(l.__vccOpts||l)[e];return h&&Tt(h,i,n,o,r)()}))}}return s}function Dm(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}function Yr(t){const e=dt(rs),i=dt(Hu),n=Ue(()=>e.resolve(yi(t.to))),s=Ue(()=>{const{matched:u}=n.value,{length:c}=u,l=u[c-1],d=i.matched;if(!l||!d.length)return-1;const h=d.findIndex(ki.bind(null,l));if(h>-1)return h;const p=Zr(u[c-2]);return c>1&&Zr(l)===p&&d[d.length-1].path!==p?d.findIndex(ki.bind(null,u[c-2])):h}),o=Ue(()=>s.value>-1&&Hm(i.params,n.value.params)),r=Ue(()=>s.value>-1&&s.value===i.matched.length-1&&$u(i.params,n.value.params));function a(u={}){return Um(u)?e[yi(t.replace)?"replace":"push"](yi(t.to)).catch(Ji):Promise.resolve()}return{route:n,href:Ue(()=>n.value.href),isActive:o,isExactActive:r,navigate:a}}const Nm=Te({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Yr,setup(t,{slots:e}){const i=un(Yr(t)),{options:n}=dt(rs),s=Ue(()=>({[Qr(t.activeClass,n.linkActiveClass,"router-link-active")]:i.isActive,[Qr(t.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:i.isExactActive}));return()=>{const o=e.default&&e.default(i);return t.custom?o:Lo("a",{"aria-current":i.isExactActive?t.ariaCurrentValue:null,href:i.href,onClick:i.navigate,class:s.value},o)}}}),Fm=Nm;function Um(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&!(t.button!==void 0&&t.button!==0)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Hm(t,e){for(const i in e){const n=e[i],s=t[i];if(typeof n=="string"){if(n!==s)return!1}else if(!ot(s)||s.length!==n.length||n.some((o,r)=>o!==s[r]))return!1}return!0}function Zr(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Qr=(t,e,i)=>t??e??i,Vm=Te({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:i}){const n=dt(uo),s=Ue(()=>t.route||n.value),o=dt(Wr,0),r=Ue(()=>{let c=yi(o);const{matched:l}=s.value;let d;for(;(d=l[c])&&!d.components;)c++;return c}),a=Ue(()=>s.value.matched[r.value]);zn(Wr,Ue(()=>r.value+1)),zn(Mm,a),zn(uo,s);const u=ae();return Zt(()=>[u.value,a.value,t.name],([c,l,d],[h,p,y])=>{l&&(l.instances[d]=c,p&&p!==l&&c&&c===h&&(l.leaveGuards.size||(l.leaveGuards=p.leaveGuards),l.updateGuards.size||(l.updateGuards=p.updateGuards))),c&&l&&(!p||!ki(l,p)||!h)&&(l.enterCallbacks[d]||[]).forEach(g=>g(c))},{flush:"post"}),()=>{const c=s.value,l=t.name,d=a.value,h=d&&d.components[l];if(!h)return Xr(i.default,{Component:h,route:c});const p=d.props[l],y=p?p===!0?c.params:typeof p=="function"?p(c):p:null,v=Lo(h,ne({},y,e,{onVnodeUnmounted:A=>{A.component.isUnmounted&&(d.instances[l]=null)},ref:u}));return Xr(i.default,{Component:v,route:c})||v}}});function Xr(t,e){if(!t)return null;const i=t(e);return i.length===1?i[0]:i}const Jm=Vm;function Gm(t){const e=wm(t.routes,t),i=t.parseQuery||Im,n=t.stringifyQuery||Kr,s=t.history,o=Li(),r=Li(),a=Li(),u=tl(At);let c=At;di&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const l=ks.bind(null,x=>""+x),d=ks.bind(null,Bm),h=ks.bind(null,Fn);function p(x,P){let T,B;return Bu(x)?(T=e.getRecordMatcher(x),B=P):B=x,e.addRoute(B,T)}function y(x){const P=e.getRecordMatcher(x);P&&e.removeRoute(P)}function g(){return e.getRoutes().map(x=>x.record)}function v(x){return!!e.getRecordMatcher(x)}function A(x,P){if(P=ne({},P||u.value),typeof x=="string"){const b=As(i,x,P.path),f=e.resolve({path:b.path},P),k=s.createHref(b.fullPath);return ne(b,f,{params:h(f.params),hash:Fn(b.hash),redirectedFrom:void 0,href:k})}let T;if("path"in x)T=ne({},x,{path:As(i,x.path,P.path).path});else{const b=ne({},x.params);for(const f in b)b[f]==null&&delete b[f];T=ne({},x,{params:d(b)}),P.params=d(P.params)}const B=e.resolve(T,P),te=x.hash||"";B.params=l(h(B.params));const me=Wd(n,ne({},x,{hash:Pm(te),path:B.path})),m=s.createHref(me);return ne({fullPath:me,hash:te,query:n===Kr?qm(x.query):x.query||{}},B,{redirectedFrom:void 0,href:m})}function O(x){return typeof x=="string"?As(i,x,u.value.path):ne({},x)}function L(x,P){if(c!==x)return Ai(8,{from:P,to:x})}function R(x){return pe(x)}function K(x){return R(ne(O(x),{replace:!0}))}function H(x){const P=x.matched[x.matched.length-1];if(P&&P.redirect){const{redirect:T}=P;let B=typeof T=="function"?T(x):T;return typeof B=="string"&&(B=B.includes("?")||B.includes("#")?B=O(B):{path:B},B.params={}),ne({query:x.query,hash:x.hash,params:"path"in B?{}:x.params},B)}}function pe(x,P){const T=c=A(x),B=u.value,te=x.state,me=x.force,m=x.replace===!0,b=H(T);if(b)return pe(ne(O(b),{state:typeof b=="object"?ne({},te,b.state):te,force:me,replace:m}),P||T);const f=T;f.redirectedFrom=P;let k;return!me&&Yd(n,B,T)&&(k=Ai(16,{to:f,from:B}),rt(B,B,!0,!1)),(k?Promise.resolve(k):se(f,B)).catch(w=>ft(w)?ft(w,2)?w:wt(w):ee(w,f,B)).then(w=>{if(w){if(ft(w,2))return pe(ne({replace:m},O(w.to),{state:typeof w.to=="object"?ne({},te,w.to.state):te,force:me}),P||f)}else w=M(f,B,!0,m,te);return ve(f,B,w),w})}function J(x,P){const T=L(x,P);return T?Promise.reject(T):Promise.resolve()}function ce(x){const P=ni.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(x):x()}function se(x,P){let T;const[B,te,me]=Km(x,P);T=Ss(B.reverse(),"beforeRouteLeave",x,P);for(const b of B)b.leaveGuards.forEach(f=>{T.push(Tt(f,x,P))});const m=J.bind(null,x,P);return T.push(m),Ce(T).then(()=>{T=[];for(const b of o.list())T.push(Tt(b,x,P));return T.push(m),Ce(T)}).then(()=>{T=Ss(te,"beforeRouteUpdate",x,P);for(const b of te)b.updateGuards.forEach(f=>{T.push(Tt(f,x,P))});return T.push(m),Ce(T)}).then(()=>{T=[];for(const b of me)if(b.beforeEnter)if(ot(b.beforeEnter))for(const f of b.beforeEnter)T.push(Tt(f,x,P));else T.push(Tt(b.beforeEnter,x,P));return T.push(m),Ce(T)}).then(()=>(x.matched.forEach(b=>b.enterCallbacks={}),T=Ss(me,"beforeRouteEnter",x,P),T.push(m),Ce(T))).then(()=>{T=[];for(const b of r.list())T.push(Tt(b,x,P));return T.push(m),Ce(T)}).catch(b=>ft(b,8)?b:Promise.reject(b))}function ve(x,P,T){a.list().forEach(B=>ce(()=>B(x,P,T)))}function M(x,P,T,B,te){const me=L(x,P);if(me)return me;const m=P===At,b=di?history.state:{};T&&(B||m?s.replace(x.fullPath,ne({scroll:m&&b&&b.scroll},te)):s.push(x.fullPath,te)),u.value=x,rt(x,P,T,m),wt()}let ie;function ze(){ie||(ie=s.listen((x,P,T)=>{if(!mn.listening)return;const B=A(x),te=H(B);if(te){pe(ne(te,{replace:!0}),B).catch(Ji);return}c=B;const me=u.value;di&&sm(Dr(me.fullPath,T.delta),os()),se(B,me).catch(m=>ft(m,12)?m:ft(m,2)?(pe(m.to,B).then(b=>{ft(b,20)&&!T.delta&&T.type===sn.pop&&s.go(-1,!1)}).catch(Ji),Promise.reject()):(T.delta&&s.go(-T.delta,!1),ee(m,B,me))).then(m=>{m=m||M(B,me,!1),m&&(T.delta&&!ft(m,8)?s.go(-T.delta,!1):T.type===sn.pop&&ft(m,20)&&s.go(-1,!1)),ve(B,me,m)}).catch(Ji)}))}let bt=Li(),fe=Li(),oe;function ee(x,P,T){wt(x);const B=fe.list();return B.length?B.forEach(te=>te(x,P,T)):console.error(x),Promise.reject(x)}function pt(){return oe&&u.value!==At?Promise.resolve():new Promise((x,P)=>{bt.add([x,P])})}function wt(x){return oe||(oe=!x,ze(),bt.list().forEach(([P,T])=>x?T(x):P()),bt.reset()),x}function rt(x,P,T,B){const{scrollBehavior:te}=t;if(!di||!te)return Promise.resolve();const me=!T&&om(Dr(x.fullPath,0))||(B||!T)&&history.state&&history.state.scroll||null;return iu().then(()=>te(x,P,me)).then(m=>m&&nm(m)).catch(m=>ee(m,x,P))}const Ie=x=>s.go(x);let ii;const ni=new Set,mn={currentRoute:u,listening:!0,addRoute:p,removeRoute:y,hasRoute:v,getRoutes:g,resolve:A,options:t,push:R,replace:K,go:Ie,back:()=>Ie(-1),forward:()=>Ie(1),beforeEach:o.add,beforeResolve:r.add,afterEach:a.add,onError:fe.add,isReady:pt,install(x){const P=this;x.component("RouterLink",Fm),x.component("RouterView",Jm),x.config.globalProperties.$router=P,Object.defineProperty(x.config.globalProperties,"$route",{enumerable:!0,get:()=>yi(u)}),di&&!ii&&u.value===At&&(ii=!0,R(s.location).catch(te=>{}));const T={};for(const te in At)Object.defineProperty(T,te,{get:()=>u.value[te],enumerable:!0});x.provide(rs,P),x.provide(Hu,Ga(T)),x.provide(uo,u);const B=x.unmount;ni.add(x),x.unmount=function(){ni.delete(x),ni.size<1&&(c=At,ie&&ie(),ie=null,u.value=At,ii=!1,oe=!1),B()}}};function Ce(x){return x.reduce((P,T)=>P.then(()=>ce(T)),Promise.resolve())}return mn}function Km(t,e){const i=[],n=[],s=[],o=Math.max(e.matched.length,t.matched.length);for(let r=0;rki(c,a))?n.push(a):i.push(a));const u=t.matched[r];u&&(e.matched.find(c=>ki(c,u))||s.push(u))}return[i,n,s]}function Wm(){return dt(rs)}const Ym=Te({__name:"App",setup(t){const e=Wm();return window.addEventListener("message",i=>{switch(i.data.command){case"modules":e.push("/");break;case"projectView":e.push("/project");break}}),(i,n)=>{const s=bl("router-view");return q(),ts(s)}}}),Bt=function(){if(typeof globalThis<"u")return globalThis;if(typeof global<"u")return global;if(typeof self<"u")return self;if(typeof window<"u")return window;try{return new Function("return this")()}catch{return{}}}();Bt.trustedTypes===void 0&&(Bt.trustedTypes={createPolicy:(t,e)=>e});const Vu={configurable:!1,enumerable:!1,writable:!1};Bt.FAST===void 0&&Reflect.defineProperty(Bt,"FAST",Object.assign({value:Object.create(null)},Vu));const on=Bt.FAST;if(on.getById===void 0){const t=Object.create(null);Reflect.defineProperty(on,"getById",Object.assign({value(e,i){let n=t[e];return n===void 0&&(n=i?t[e]=i():null),n}},Vu))}const Cs=Object.freeze([]);function Ju(){const t=new WeakMap;return function(e){let i=t.get(e);if(i===void 0){let n=Reflect.getPrototypeOf(e);for(;i===void 0&&n!==null;)i=t.get(n),n=Reflect.getPrototypeOf(n);i=i===void 0?[]:i.slice(0),t.set(e,i)}return i}}const js=Bt.FAST.getById(1,()=>{const t=[],e=[];function i(){if(e.length)throw e.shift()}function n(r){try{r.call()}catch(a){e.push(a),setTimeout(i,0)}}function s(){let a=0;for(;a1024){for(let u=0,c=t.length-a;ut});let Es=Gu;const Ki=`fast-${Math.random().toString(36).substring(2,8)}`,Zm=`${Ki}{`,Qm=`}${Ki}`,Le=Object.freeze({supportsAdoptedStyleSheets:Array.isArray(document.adoptedStyleSheets)&&"replace"in CSSStyleSheet.prototype,setHTMLPolicy(t){if(Es!==Gu)throw new Error("The HTML policy can only be set once.");Es=t},createHTML(t){return Es.createHTML(t)},isMarker(t){return t&&t.nodeType===8&&t.data.startsWith(Ki)},extractDirectiveIndexFromMarker(t){return parseInt(t.data.replace(`${Ki}:`,""))},createInterpolationPlaceholder(t){return`${Zm}${t}${Qm}`},createCustomAttributePlaceholder(t,e){return`${t}="${this.createInterpolationPlaceholder(e)}"`},createBlockPlaceholder(t){return``},queueUpdate:js.enqueue,processUpdates:js.process,nextUpdate(){return new Promise(js.enqueue)},setAttribute(t,e,i){i==null?t.removeAttribute(e):t.setAttribute(e,i)},setBooleanAttribute(t,e,i){i?t.setAttribute(e,""):t.removeAttribute(e)},removeChildNodes(t){for(let e=t.firstChild;e!==null;e=t.firstChild)t.removeChild(e)},createTemplateWalker(t){return document.createTreeWalker(t,133,null,!1)}});class co{constructor(e,i){this.sub1=void 0,this.sub2=void 0,this.spillover=void 0,this.source=e,this.sub1=i}has(e){return this.spillover===void 0?this.sub1===e||this.sub2===e:this.spillover.indexOf(e)!==-1}subscribe(e){const i=this.spillover;if(i===void 0){if(this.has(e))return;if(this.sub1===void 0){this.sub1=e;return}if(this.sub2===void 0){this.sub2=e;return}this.spillover=[this.sub1,this.sub2,e],this.sub1=void 0,this.sub2=void 0}else i.indexOf(e)===-1&&i.push(e)}unsubscribe(e){const i=this.spillover;if(i===void 0)this.sub1===e?this.sub1=void 0:this.sub2===e&&(this.sub2=void 0);else{const n=i.indexOf(e);n!==-1&&i.splice(n,1)}}notify(e){const i=this.spillover,n=this.source;if(i===void 0){const s=this.sub1,o=this.sub2;s!==void 0&&s.handleChange(n,e),o!==void 0&&o.handleChange(n,e)}else for(let s=0,o=i.length;s{const t=/(:|&&|\|\||if)/,e=new WeakMap,i=Le.queueUpdate;let n,s=c=>{throw new Error("Must call enableArrayObservation before observing arrays.")};function o(c){let l=c.$fastController||e.get(c);return l===void 0&&(Array.isArray(c)?l=s(c):e.set(c,l=new Ku(c))),l}const r=Ju();class a{constructor(l){this.name=l,this.field=`_${l}`,this.callback=`${l}Changed`}getValue(l){return n!==void 0&&n.watch(l,this.name),l[this.field]}setValue(l,d){const h=this.field,p=l[h];if(p!==d){l[h]=d;const y=l[this.callback];typeof y=="function"&&y.call(l,p,d),o(l).notify(this.name)}}}class u extends co{constructor(l,d,h=!1){super(l,d),this.binding=l,this.isVolatileBinding=h,this.needsRefresh=!0,this.needsQueue=!0,this.first=this,this.last=null,this.propertySource=void 0,this.propertyName=void 0,this.notifier=void 0,this.next=void 0}observe(l,d){this.needsRefresh&&this.last!==null&&this.disconnect();const h=n;n=this.needsRefresh?this:void 0,this.needsRefresh=this.isVolatileBinding;const p=this.binding(l,d);return n=h,p}disconnect(){if(this.last!==null){let l=this.first;for(;l!==void 0;)l.notifier.unsubscribe(this,l.propertyName),l=l.next;this.last=null,this.needsRefresh=this.needsQueue=!0}}watch(l,d){const h=this.last,p=o(l),y=h===null?this.first:{};if(y.propertySource=l,y.propertyName=d,y.notifier=p,p.subscribe(this,d),h!==null){if(!this.needsRefresh){let g;n=void 0,g=h.propertySource[h.propertyName],n=this,l===g&&(this.needsRefresh=!0)}h.next=y}this.last=y}handleChange(){this.needsQueue&&(this.needsQueue=!1,i(this))}call(){this.last!==null&&(this.needsQueue=!0,this.notify(this))}records(){let l=this.first;return{next:()=>{const d=l;return d===void 0?{value:void 0,done:!0}:(l=l.next,{value:d,done:!1})},[Symbol.iterator]:function(){return this}}}}return Object.freeze({setArrayObserverFactory(c){s=c},getNotifier:o,track(c,l){n!==void 0&&n.watch(c,l)},trackVolatile(){n!==void 0&&(n.needsRefresh=!0)},notify(c,l){o(c).notify(l)},defineProperty(c,l){typeof l=="string"&&(l=new a(l)),r(c).push(l),Reflect.defineProperty(c,l.name,{enumerable:!0,get:function(){return l.getValue(this)},set:function(d){l.setValue(this,d)}})},getAccessors:r,binding(c,l,d=this.isVolatileBinding(c)){return new u(c,l,d)},isVolatileBinding(c){return t.test(c.toString())}})});function as(t,e){Be.defineProperty(t,e)}const ea=on.getById(3,()=>{let t=null;return{get(){return t},set(e){t=e}}});class qo{constructor(){this.index=0,this.length=0,this.parent=null,this.parentContext=null}get event(){return ea.get()}get isEven(){return this.index%2===0}get isOdd(){return this.index%2!==0}get isFirst(){return this.index===0}get isInMiddle(){return!this.isFirst&&!this.isLast}get isLast(){return this.index===this.length-1}static setEvent(e){ea.set(e)}}Be.defineProperty(qo.prototype,"index");Be.defineProperty(qo.prototype,"length");const Pn=Object.seal(new qo);class Ye{constructor(){this.targets=new WeakSet}addStylesTo(e){this.targets.add(e)}removeStylesFrom(e){this.targets.delete(e)}isAttachedTo(e){return this.targets.has(e)}withBehaviors(...e){return this.behaviors=this.behaviors===null?e:this.behaviors.concat(e),this}}Ye.create=(()=>{if(Le.supportsAdoptedStyleSheets){const t=new Map;return e=>new Xm(e,t)}return t=>new ih(t)})();function Mo(t){return t.map(e=>e instanceof Ye?Mo(e.styles):[e]).reduce((e,i)=>e.concat(i),[])}function Wu(t){return t.map(e=>e instanceof Ye?e.behaviors:null).reduce((e,i)=>i===null?e:(e===null&&(e=[]),e.concat(i)),null)}let Yu=(t,e)=>{t.adoptedStyleSheets=[...t.adoptedStyleSheets,...e]},Zu=(t,e)=>{t.adoptedStyleSheets=t.adoptedStyleSheets.filter(i=>e.indexOf(i)===-1)};if(Le.supportsAdoptedStyleSheets)try{document.adoptedStyleSheets.push(),document.adoptedStyleSheets.splice(),Yu=(t,e)=>{t.adoptedStyleSheets.push(...e)},Zu=(t,e)=>{for(const i of e){const n=t.adoptedStyleSheets.indexOf(i);n!==-1&&t.adoptedStyleSheets.splice(n,1)}}}catch{}class Xm extends Ye{constructor(e,i){super(),this.styles=e,this.styleSheetCache=i,this._styleSheets=void 0,this.behaviors=Wu(e)}get styleSheets(){if(this._styleSheets===void 0){const e=this.styles,i=this.styleSheetCache;this._styleSheets=Mo(e).map(n=>{if(n instanceof CSSStyleSheet)return n;let s=i.get(n);return s===void 0&&(s=new CSSStyleSheet,s.replaceSync(n),i.set(n,s)),s})}return this._styleSheets}addStylesTo(e){Yu(e,this.styleSheets),super.addStylesTo(e)}removeStylesFrom(e){Zu(e,this.styleSheets),super.removeStylesFrom(e)}}let eh=0;function th(){return`fast-style-class-${++eh}`}class ih extends Ye{constructor(e){super(),this.styles=e,this.behaviors=null,this.behaviors=Wu(e),this.styleSheets=Mo(e),this.styleClass=th()}addStylesTo(e){const i=this.styleSheets,n=this.styleClass;e=this.normalizeTarget(e);for(let s=0;s{n.add(e);const s=e[this.fieldName];switch(i){case"reflect":const o=this.converter;Le.setAttribute(e,this.attribute,o!==void 0?o.toView(s):s);break;case"boolean":Le.setBooleanAttribute(e,this.attribute,s);break}n.delete(e)})}static collect(e,...i){const n=[];i.push(nh.locate(e));for(let s=0,o=i.length;s{const t=new Map;return Object.freeze({register(e){return t.has(e.type)?!1:(t.set(e.type,e),!0)},getByType(e){return t.get(e)}})});class us{constructor(e,i=e.definition){typeof i=="string"&&(i={name:i}),this.type=e,this.name=i.name,this.template=i.template;const n=Un.collect(e,i.attributes),s=new Array(n.length),o={},r={};for(let a=0,u=n.length;a0){const o=this.boundObservables=Object.create(null);for(let r=0,a=s.length;r=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,i,o):r(e,i))||o);return s>3&&o&&Object.defineProperty(e,i,o),o}const zs=new Map;"metadata"in Reflect||(Reflect.metadata=function(t,e){return function(i){Reflect.defineMetadata(t,e,i)}},Reflect.defineMetadata=function(t,e,i){let n=zs.get(i);n===void 0&&zs.set(i,n=new Map),n.set(t,e)},Reflect.getOwnMetadata=function(t,e){const i=zs.get(e);if(i!==void 0)return i.get(t)});class ah{constructor(e,i){this.container=e,this.key=i}instance(e){return this.registerResolver(0,e)}singleton(e){return this.registerResolver(1,e)}transient(e){return this.registerResolver(2,e)}callback(e){return this.registerResolver(3,e)}cachedCallback(e){return this.registerResolver(3,ec(e))}aliasTo(e){return this.registerResolver(5,e)}registerResolver(e,i){const{container:n,key:s}=this;return this.container=this.key=void 0,n.registerResolver(s,new Ge(s,e,i))}}function qi(t){const e=t.slice(),i=Object.keys(t),n=i.length;let s;for(let o=0;onull,responsibleForOwnerRequests:!1,defaultResolver:uh.singleton})}),sa=new Map;function oa(t){return e=>Reflect.getOwnMetadata(t,e)}let ra=null;const be=Object.freeze({createContainer(t){return new Zi(null,Object.assign({},Os.default,t))},findResponsibleContainer(t){const e=t.$$container$$;return e&&e.responsibleForOwnerRequests?e:be.findParentContainer(t)},findParentContainer(t){const e=new CustomEvent(Xu,{bubbles:!0,composed:!0,cancelable:!0,detail:{container:void 0}});return t.dispatchEvent(e),e.detail.container||be.getOrCreateDOMContainer()},getOrCreateDOMContainer(t,e){return t?t.$$container$$||new Zi(t,Object.assign({},Os.default,e,{parentLocator:be.findParentContainer})):ra||(ra=new Zi(null,Object.assign({},Os.default,e,{parentLocator:()=>null})))},getDesignParamtypes:oa("design:paramtypes"),getAnnotationParamtypes:oa("di:paramtypes"),getOrCreateAnnotationParamTypes(t){let e=this.getAnnotationParamtypes(t);return e===void 0&&Reflect.defineMetadata("di:paramtypes",e=[],t),e},getDependencies(t){let e=sa.get(t);if(e===void 0){const i=t.inject;if(i===void 0){const n=be.getDesignParamtypes(t),s=be.getAnnotationParamtypes(t);if(n===void 0)if(s===void 0){const o=Object.getPrototypeOf(t);typeof o=="function"&&o!==Function.prototype?e=qi(be.getDependencies(o)):e=[]}else e=qi(s);else if(s===void 0)e=qi(n);else{e=qi(n);let o=s.length,r;for(let c=0;c{const l=be.findResponsibleContainer(this).get(i),d=this[s];l!==d&&(this[s]=o,a.notify(e))};a.subscribe({handleChange:u},"isConnected")}return o}})},createInterface(t,e){const i=typeof t=="function"?t:e,n=typeof t=="string"?t:t&&"friendlyName"in t&&t.friendlyName||la,s=typeof t=="string"?!1:t&&"respectConnection"in t&&t.respectConnection||!1,o=function(r,a,u){if(r==null||new.target!==void 0)throw new Error(`No registration for interface: '${o.friendlyName}'`);if(a)be.defineProperty(r,a,o,s);else{const c=be.getOrCreateAnnotationParamTypes(r);c[u]=o}};return o.$isInterface=!0,o.friendlyName=n??"(anonymous)",i!=null&&(o.register=function(r,a){return i(new ah(r,a??o))}),o.toString=function(){return`InterfaceSymbol<${o.friendlyName}>`},o},inject(...t){return function(e,i,n){if(typeof n=="number"){const s=be.getOrCreateAnnotationParamTypes(e),o=t[0];o!==void 0&&(s[n]=o)}else if(i)be.defineProperty(e,i,t[0]);else{const s=n?be.getOrCreateAnnotationParamTypes(n.value):be.getOrCreateAnnotationParamTypes(e);let o;for(let r=0;r{n.composedPath()[0]!==this.owner&&(n.detail.container=this,n.stopImmediatePropagation())})}get parent(){return this._parent===void 0&&(this._parent=this.config.parentLocator(this.owner)),this._parent}get depth(){return this.parent===null?0:this.parent.depth+1}get responsibleForOwnerRequests(){return this.config.responsibleForOwnerRequests}registerWithContext(e,...i){return this.context=e,this.register(...i),this.context=null,this}register(...e){if(++this.registerDepth===100)throw new Error("Unable to autoregister dependency");let i,n,s,o,r;const a=this.context;for(let u=0,c=e.length;uthis}))}jitRegister(e,i){if(typeof e!="function")throw new Error(`Attempted to jitRegister something that is not a constructor: '${e}'. Did you forget to register this dependency?`);if(fh.has(e.name))throw new Error(`Attempted to jitRegister an intrinsic type: ${e.name}. Did you forget to add @inject(Key)`);if(Ln(e)){const n=e.register(i);if(!(n instanceof Object)||n.resolve==null){const s=i.resolvers.get(e);if(s!=null)return s;throw new Error("A valid resolver was not returned from the static register method")}return n}else{if(e.$isInterface)throw new Error(`Attempted to jitRegister an interface: ${e.friendlyName}`);{const n=this.config.defaultResolver(e,i);return i.resolvers.set(e,n),n}}}}const Ps=new WeakMap;function ec(t){return function(e,i,n){if(Ps.has(n))return Ps.get(n);const s=t(e,i,n);return Ps.set(n,s),s}}const un=Object.freeze({instance(t,e){return new Ge(t,0,e)},singleton(t,e){return new Ge(t,1,e)},transient(t,e){return new Ge(t,2,e)},callback(t,e){return new Ge(t,3,e)},cachedCallback(t,e){return new Ge(t,3,ec(e))},aliasTo(t,e){return new Ge(e,5,t)}});function xn(t){if(t==null)throw new Error("key/value cannot be null or undefined. Are you trying to inject/register something that doesn't exist with DI?")}function ca(t,e,i){if(t instanceof Ge&&t.strategy===4){const n=t.state;let s=n.length;const o=new Array(s);for(;s--;)o[s]=n[s].resolve(e,i);return o}return[t.resolve(e,i)]}const la="(anonymous)";function da(t){return typeof t=="object"&&t!==null||typeof t=="function"}const gh=function(){const t=new WeakMap;let e=!1,i="",n=0;return function(s){return e=t.get(s),e===void 0&&(i=s.toString(),n=i.length,e=n>=29&&n<=100&&i.charCodeAt(n-1)===125&&i.charCodeAt(n-2)<=32&&i.charCodeAt(n-3)===93&&i.charCodeAt(n-4)===101&&i.charCodeAt(n-5)===100&&i.charCodeAt(n-6)===111&&i.charCodeAt(n-7)===99&&i.charCodeAt(n-8)===32&&i.charCodeAt(n-9)===101&&i.charCodeAt(n-10)===118&&i.charCodeAt(n-11)===105&&i.charCodeAt(n-12)===116&&i.charCodeAt(n-13)===97&&i.charCodeAt(n-14)===110&&i.charCodeAt(n-15)===88,t.set(s,e)),e}}(),_n={};function tc(t){switch(typeof t){case"number":return t>=0&&(t|0)===t;case"string":{const e=_n[t];if(e!==void 0)return e;const i=t.length;if(i===0)return _n[t]=!1;let n=0;for(let s=0;s1||n<48||n>57)return _n[t]=!1;return _n[t]=!0}default:return!1}}function ma(t){return`${t.toLowerCase()}:presentation`}const kn=new Map,ic=Object.freeze({define(t,e,i){const n=ma(t);kn.get(n)===void 0?kn.set(n,e):kn.set(n,!1),i.register(un.instance(n,e))},forTag(t,e){const i=ma(t),n=kn.get(i);return n===!1?be.findResponsibleContainer(e).get(i):n||null}});class yh{constructor(e,i){this.template=e||null,this.styles=i===void 0?null:Array.isArray(i)?Ye.create(i):i instanceof Ye?i:Ye.create([i])}applyTo(e){const i=e.$fastController;i.template===null&&(i.template=this.template),i.styles===null&&(i.styles=this.styles)}}class ji extends cs{constructor(){super(...arguments),this._presentation=void 0}get $presentation(){return this._presentation===void 0&&(this._presentation=ic.forTag(this.tagName,this)),this._presentation}templateChanged(){this.template!==void 0&&(this.$fastController.template=this.template)}stylesChanged(){this.styles!==void 0&&(this.$fastController.styles=this.styles)}connectedCallback(){this.$presentation!==null&&this.$presentation.applyTo(this),super.connectedCallback()}static compose(e){return(i={})=>new vh(this===ji?class extends ji{}:this,e,i)}}ls([as],ji.prototype,"template",void 0);ls([as],ji.prototype,"styles",void 0);function Mi(t,e,i){return typeof t=="function"?t(e,i):t}class vh{constructor(e,i,n){this.type=e,this.elementDefinition=i,this.overrideDefinition=n,this.definition=Object.assign(Object.assign({},this.elementDefinition),this.overrideDefinition)}register(e,i){const n=this.definition,s=this.overrideDefinition,r=`${n.prefix||i.elementPrefix}-${n.baseName}`;i.tryDefineElement({name:r,type:this.type,baseClass:this.elementDefinition.baseClass,callback:a=>{const u=new yh(Mi(n.template,a,n),Mi(n.styles,a,n));a.definePresentation(u);let c=Mi(n.shadowOptions,a,n);a.shadowRootMode&&(c?s.shadowOptions||(c.mode=a.shadowRootMode):c!==null&&(c={mode:a.shadowRootMode})),a.defineElement({elementOptions:Mi(n.elementOptions,a,n),shadowOptions:c,attributes:Mi(n.attributes,a,n)})}})}}function mo(t){const e=t.parentElement;if(e)return e;{const i=t.getRootNode();if(i.host instanceof HTMLElement)return i.host}return null}function wh(t,e){let i=e;for(;i!==null;){if(i===t)return!0;i=mo(i)}return!1}const gt=document.createElement("div");function xh(t){return t instanceof cs}class Fo{setProperty(e,i){$e.queueUpdate(()=>this.target.setProperty(e,i))}removeProperty(e){$e.queueUpdate(()=>this.target.removeProperty(e))}}class _h extends Fo{constructor(e){super();const i=new CSSStyleSheet;this.target=i.cssRules[i.insertRule(":host{}")].style,e.$fastController.addStyles(Ye.create([i]))}}class kh extends Fo{constructor(){super();const e=new CSSStyleSheet;this.target=e.cssRules[e.insertRule(":root{}")].style,document.adoptedStyleSheets=[...document.adoptedStyleSheets,e]}}class Ah extends Fo{constructor(){super(),this.style=document.createElement("style"),document.head.appendChild(this.style);const{sheet:e}=this.style;if(e){const i=e.insertRule(":root{}",e.cssRules.length);this.target=e.cssRules[i].style}}}class nc{constructor(e){this.store=new Map,this.target=null;const i=e.$fastController;this.style=document.createElement("style"),i.addStyles(this.style),Le.getNotifier(i).subscribe(this,"isConnected"),this.handleChange(i,"isConnected")}targetChanged(){if(this.target!==null)for(const[e,i]of this.store.entries())this.target.setProperty(e,i)}setProperty(e,i){this.store.set(e,i),$e.queueUpdate(()=>{this.target!==null&&this.target.setProperty(e,i)})}removeProperty(e){this.store.delete(e),$e.queueUpdate(()=>{this.target!==null&&this.target.removeProperty(e)})}handleChange(e,i){const{sheet:n}=this.style;if(n){const s=n.insertRule(":host{}",n.cssRules.length);this.target=n.cssRules[s].style}else this.target=null}}ls([as],nc.prototype,"target",void 0);class Sh{constructor(e){this.target=e.style}setProperty(e,i){$e.queueUpdate(()=>this.target.setProperty(e,i))}removeProperty(e){$e.queueUpdate(()=>this.target.removeProperty(e))}}class _e{setProperty(e,i){_e.properties[e]=i;for(const n of _e.roots.values())pi.getOrCreate(_e.normalizeRoot(n)).setProperty(e,i)}removeProperty(e){delete _e.properties[e];for(const i of _e.roots.values())pi.getOrCreate(_e.normalizeRoot(i)).removeProperty(e)}static registerRoot(e){const{roots:i}=_e;if(!i.has(e)){i.add(e);const n=pi.getOrCreate(this.normalizeRoot(e));for(const s in _e.properties)n.setProperty(s,_e.properties[s])}}static unregisterRoot(e){const{roots:i}=_e;if(i.has(e)){i.delete(e);const n=pi.getOrCreate(_e.normalizeRoot(e));for(const s in _e.properties)n.removeProperty(s)}}static normalizeRoot(e){return e===gt?document:e}}_e.roots=new Set;_e.properties={};const $s=new WeakMap,Ch=$e.supportsAdoptedStyleSheets?_h:nc,pi=Object.freeze({getOrCreate(t){if($s.has(t))return $s.get(t);let e;return t===gt?e=new _e:t instanceof Document?e=$e.supportsAdoptedStyleSheets?new kh:new Ah:xh(t)?e=new Ch(t):e=new Sh(t),$s.set(t,e),e}});class Re extends rh{constructor(e){super(),this.subscribers=new WeakMap,this._appliedTo=new Set,this.name=e.name,e.cssCustomPropertyName!==null&&(this.cssCustomProperty=`--${e.cssCustomPropertyName}`,this.cssVar=`var(${this.cssCustomProperty})`),this.id=Re.uniqueId(),Re.tokensById.set(this.id,this)}get appliedTo(){return[...this._appliedTo]}static from(e){return new Re({name:typeof e=="string"?e:e.name,cssCustomPropertyName:typeof e=="string"?e:e.cssCustomPropertyName===void 0?e.name:e.cssCustomPropertyName})}static isCSSDesignToken(e){return typeof e.cssCustomProperty=="string"}static isDerivedDesignTokenValue(e){return typeof e=="function"}static getTokenById(e){return Re.tokensById.get(e)}getOrCreateSubscriberSet(e=this){return this.subscribers.get(e)||this.subscribers.set(e,new Set)&&this.subscribers.get(e)}createCSS(){return this.cssVar||""}getValueFor(e){const i=ge.getOrCreate(e).get(this);if(i!==void 0)return i;throw new Error(`Value could not be retrieved for token named "${this.name}". Ensure the value is set for ${e} or an ancestor of ${e}.`)}setValueFor(e,i){return this._appliedTo.add(e),i instanceof Re&&(i=this.alias(i)),ge.getOrCreate(e).set(this,i),this}deleteValueFor(e){return this._appliedTo.delete(e),ge.existsFor(e)&&ge.getOrCreate(e).delete(this),this}withDefault(e){return this.setValueFor(gt,e),this}subscribe(e,i){const n=this.getOrCreateSubscriberSet(i);i&&!ge.existsFor(i)&&ge.getOrCreate(i),n.has(e)||n.add(e)}unsubscribe(e,i){const n=this.subscribers.get(i||this);n&&n.has(e)&&n.delete(e)}notify(e){const i=Object.freeze({token:this,target:e});this.subscribers.has(this)&&this.subscribers.get(this).forEach(n=>n.handleChange(i)),this.subscribers.has(e)&&this.subscribers.get(e).forEach(n=>n.handleChange(i))}alias(e){return i=>e.getValueFor(i)}}Re.uniqueId=(()=>{let t=0;return()=>(t++,t.toString(16))})();Re.tokensById=new Map;class jh{startReflection(e,i){e.subscribe(this,i),this.handleChange({token:e,target:i})}stopReflection(e,i){e.unsubscribe(this,i),this.remove(e,i)}handleChange(e){const{token:i,target:n}=e;this.add(i,n)}add(e,i){pi.getOrCreate(i).setProperty(e.cssCustomProperty,this.resolveCSSValue(ge.getOrCreate(i).get(e)))}remove(e,i){pi.getOrCreate(i).removeProperty(e.cssCustomProperty)}resolveCSSValue(e){return e&&typeof e.createCSS=="function"?e.createCSS():e}}class Eh{constructor(e,i,n){this.source=e,this.token=i,this.node=n,this.dependencies=new Set,this.observer=Le.binding(e,this,!1),this.observer.handleChange=this.observer.call,this.handleChange()}disconnect(){this.observer.disconnect()}handleChange(){this.node.store.set(this.token,this.observer.observe(this.node.target,$n))}}class Th{constructor(){this.values=new Map}set(e,i){this.values.get(e)!==i&&(this.values.set(e,i),Le.getNotifier(this).notify(e.id))}get(e){return Le.track(this,e.id),this.values.get(e)}delete(e){this.values.delete(e)}all(){return this.values.entries()}}const Di=new WeakMap,Ni=new WeakMap;class ge{constructor(e){this.target=e,this.store=new Th,this.children=[],this.assignedValues=new Map,this.reflecting=new Set,this.bindingObservers=new Map,this.tokenValueChangeHandler={handleChange:(i,n)=>{const s=Re.getTokenById(n);if(s&&(s.notify(this.target),Re.isCSSDesignToken(s))){const o=this.parent,r=this.isReflecting(s);if(o){const a=o.get(s),u=i.get(s);a!==u&&!r?this.reflectToCSS(s):a===u&&r&&this.stopReflectToCSS(s)}else r||this.reflectToCSS(s)}}},Di.set(e,this),Le.getNotifier(this.store).subscribe(this.tokenValueChangeHandler),e instanceof cs?e.$fastController.addBehaviors([this]):e.isConnected&&this.bind()}static getOrCreate(e){return Di.get(e)||new ge(e)}static existsFor(e){return Di.has(e)}static findParent(e){if(gt!==e.target){let i=mo(e.target);for(;i!==null;){if(Di.has(i))return Di.get(i);i=mo(i)}return ge.getOrCreate(gt)}return null}static findClosestAssignedNode(e,i){let n=i;do{if(n.has(e))return n;n=n.parent?n.parent:n.target!==gt?ge.getOrCreate(gt):null}while(n!==null);return null}get parent(){return Ni.get(this)||null}has(e){return this.assignedValues.has(e)}get(e){const i=this.store.get(e);if(i!==void 0)return i;const n=this.getRaw(e);if(n!==void 0)return this.hydrate(e,n),this.get(e)}getRaw(e){var i;return this.assignedValues.has(e)?this.assignedValues.get(e):(i=ge.findClosestAssignedNode(e,this))===null||i===void 0?void 0:i.getRaw(e)}set(e,i){Re.isDerivedDesignTokenValue(this.assignedValues.get(e))&&this.tearDownBindingObserver(e),this.assignedValues.set(e,i),Re.isDerivedDesignTokenValue(i)?this.setupBindingObserver(e,i):this.store.set(e,i)}delete(e){this.assignedValues.delete(e),this.tearDownBindingObserver(e);const i=this.getRaw(e);i?this.hydrate(e,i):this.store.delete(e)}bind(){const e=ge.findParent(this);e&&e.appendChild(this);for(const i of this.assignedValues.keys())i.notify(this.target)}unbind(){this.parent&&Ni.get(this).removeChild(this)}appendChild(e){e.parent&&Ni.get(e).removeChild(e);const i=this.children.filter(n=>e.contains(n));Ni.set(e,this),this.children.push(e),i.forEach(n=>e.appendChild(n)),Le.getNotifier(this.store).subscribe(e);for(const[n,s]of this.store.all())e.hydrate(n,this.bindingObservers.has(n)?this.getRaw(n):s)}removeChild(e){const i=this.children.indexOf(e);return i!==-1&&this.children.splice(i,1),Le.getNotifier(this.store).unsubscribe(e),e.parent===this?Ni.delete(e):!1}contains(e){return wh(this.target,e.target)}reflectToCSS(e){this.isReflecting(e)||(this.reflecting.add(e),ge.cssCustomPropertyReflector.startReflection(e,this.target))}stopReflectToCSS(e){this.isReflecting(e)&&(this.reflecting.delete(e),ge.cssCustomPropertyReflector.stopReflection(e,this.target))}isReflecting(e){return this.reflecting.has(e)}handleChange(e,i){const n=Re.getTokenById(i);n&&this.hydrate(n,this.getRaw(n))}hydrate(e,i){if(!this.has(e)){const n=this.bindingObservers.get(e);Re.isDerivedDesignTokenValue(i)?n?n.source!==i&&(this.tearDownBindingObserver(e),this.setupBindingObserver(e,i)):this.setupBindingObserver(e,i):(n&&this.tearDownBindingObserver(e),this.store.set(e,i))}}setupBindingObserver(e,i){const n=new Eh(i,e,this);return this.bindingObservers.set(e,n),n}tearDownBindingObserver(e){return this.bindingObservers.has(e)?(this.bindingObservers.get(e).disconnect(),this.bindingObservers.delete(e),!0):!1}}ge.cssCustomPropertyReflector=new jh;ls([as],ge.prototype,"children",void 0);function zh(t){return Re.from(t)}const Oh=Object.freeze({create:zh,notifyConnection(t){return!t.isConnected||!ge.existsFor(t)?!1:(ge.getOrCreate(t).bind(),!0)},notifyDisconnection(t){return t.isConnected||!ge.existsFor(t)?!1:(ge.getOrCreate(t).unbind(),!0)},registerRoot(t=gt){_e.registerRoot(t)},unregisterRoot(t=gt){_e.unregisterRoot(t)}}),Ls=Object.freeze({definitionCallbackOnly:null,ignoreDuplicate:Symbol()}),Bs=new Map,Bn=new Map;let xi=null;const Fi=be.createInterface(t=>t.cachedCallback(e=>(xi===null&&(xi=new oc(null,e)),xi))),sc=Object.freeze({tagFor(t){return Bn.get(t)},responsibleFor(t){const e=t.$$designSystem$$;return e||be.findResponsibleContainer(t).get(Fi)},getOrCreate(t){if(!t)return xi===null&&(xi=be.getOrCreateDOMContainer().get(Fi)),xi;const e=t.$$designSystem$$;if(e)return e;const i=be.getOrCreateDOMContainer(t);if(i.has(Fi,!1))return i.get(Fi);{const n=new oc(t,i);return i.register(un.instance(Fi,n)),n}}});function Rh(t,e,i){return typeof t=="string"?{name:t,type:e,callback:i}:t}class oc{constructor(e,i){this.owner=e,this.container=i,this.designTokensInitialized=!1,this.prefix="fast",this.shadowRootMode=void 0,this.disambiguate=()=>Ls.definitionCallbackOnly,e!==null&&(e.$$designSystem$$=this)}withPrefix(e){return this.prefix=e,this}withShadowRootMode(e){return this.shadowRootMode=e,this}withElementDisambiguation(e){return this.disambiguate=e,this}withDesignTokenRoot(e){return this.designTokenRoot=e,this}register(...e){const i=this.container,n=[],s=this.disambiguate,o=this.shadowRootMode,r={elementPrefix:this.prefix,tryDefineElement(a,u,c){const l=Rh(a,u,c),{name:d,callback:h,baseClass:p}=l;let{type:y}=l,g=d,v=Bs.get(g),A=!0;for(;v;){const O=s(g,y,v);switch(O){case Ls.ignoreDuplicate:return;case Ls.definitionCallbackOnly:A=!1,v=void 0;break;default:g=O,v=Bs.get(g);break}}A&&((Bn.has(y)||y===ji)&&(y=class extends y{}),Bs.set(g,y),Bn.set(y,g),p&&Bn.set(p,g)),n.push(new Ph(i,g,y,o,h,A))}};this.designTokensInitialized||(this.designTokensInitialized=!0,this.designTokenRoot!==null&&Oh.registerRoot(this.designTokenRoot)),i.registerWithContext(r,...e);for(const a of n)a.callback(a),a.willDefine&&a.definition!==null&&a.definition.define();return this}}class Ph{constructor(e,i,n,s,o,r){this.container=e,this.name=i,this.type=n,this.shadowRootMode=s,this.callback=o,this.willDefine=r,this.definition=null}definePresentation(e){ic.define(this.name,e,this.container)}defineElement(e){this.definition=new us(this.type,Object.assign(Object.assign({},e),{name:this.name}))}tagFor(e){return sc.tagFor(e)}}function $h(t){return sc.getOrCreate(t).withPrefix("vscode")}const Lh="3",Bh="2023-11-22T18:02:00.077Z",Ih={downloads:8635826,stars:120715,maintainers:142,contributors:1057,modules:184},qh=[{name:"danielroe",github:"danielroe",modules:["capo","fontaine","hanko","harlem","html-validator","image","ionic","kinde","magic-regexp","partytown","sanity","time","turnstile","vitest"]},{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",modules:["delay-hydration","link-checker","og-image","schema-org","seo-experiments","seo-kit","simple-robots","simple-sitemap","unhead","unlighthouse","windicss"]},{name:"Sébastien Chopin",github:"Atinux",twitter:"Atinux",modules:["color-mode","content","icon","image","strapi","studio","supabase","tailwindcss","ui","web-vitals"]},{name:"Johann Schopplich",github:"johannschopplich",twitter:"jschopplich",avatar:"https://avatars.githubusercontent.com/johannschopplich?v=4",modules:["api-party","gtag","kql","plausible","prepare","unlazy"]},{name:"Anthony Fu",github:"antfu",twitter:"antfu7",modules:["devtools","unocss","vite-pwa-nuxt","vitest","vueuse","windicss"]},{name:"Hebilicious",github:"Hebilicious",twitter:"its_hebilicious",modules:["authjs","form-actions","server-block","vue-query"]},{name:"Ahad Birang",github:"farnabaz",twitter:"a_birang",modules:["content","image","studio","svg-sprite"]},{name:"Ricardo Gobbo de Souza",github:"ricardogobbosouza",modules:["eslint","google-fonts","robots","stylelint"]},{name:"Jakub Andrzejewski",github:"Baroshem",avatar:"https://avatars2.githubusercontent.com/u/37120330?v=4?s=80",modules:["algolia","medusa","security"]},{name:"Pooya Parsa",github:"pi0",twitter:"_pi0_",modules:["emotion","image","web-vitals"]},{name:"Gaetan SENN",github:"gaetansenn",avatar:"https://avatars.githubusercontent.com/u/2774075?v=4",modules:["nuxt-loco","vue3-carousel-nuxt","vunix"]},{name:"sidebase",github:"sidebase",twitter:"sidebase_io",modules:["nuxt-pdf","session","sidebase-auth"]},{name:"Conrawl Rogers",github:"diizzayy",twitter:"diizzayy",avatar:"https://avatars.githubusercontent.com/diizzayy?v=4",modules:["apollo","graphql-client"]},{name:"Justin Schroeder",github:"justin-schroeder",twitter:"jpschroeder",modules:["auto-animate","formkit"]},{name:"Fabian B.",github:"madebyfabian",twitter:"madebyfabian",modules:["calendly","cloudflare-analytics"]},{name:"Barbapapazes",github:"Barbapapazes",twitter:"soubiran_",modules:["clarity-analytics","nuxt-payload-analyzer"]},{name:"Yaël Guilloux",github:"Tahul",twitter:"yaeeelglx",modules:["content","edgedb"]},{name:"Kevin Olson",github:"acidjazz",twitter:"AppFume",modules:["dayjs","tailvue"]},{name:"modbender",github:"modbender",modules:["disqus","snackbar"]},{name:"tolking",github:"tolking",modules:["element-plus","vant"]},{name:"Helltraitor",github:"helltraitor",modules:["nuxt-anchorscroll","nuxt-feedme"]},{name:"OyewoleOyedeji",github:"OyewoleOyedeji",modules:["nuxt-bootstrap-icons","nuxt-phosphor-icons"]},{name:"Supanut Dokmaithong",github:"Boomgeek",modules:["nuxt-facebook-chat","nuxt-plotly"]},{name:"superdev-tech",github:"superdev-tech",modules:["nuxt-facebook-chat","nuxt-plotly"]},{name:"Zadig&Voltaire Team",github:"https://github.com/zadigetvoltaire",modules:["nuxt-gtm","well-known"]},{name:"lihbr",github:"lihbr",modules:["nuxt-hue","prismic"]},{name:"arashsheyda",github:"arashsheyda",modules:["nuxt-mongoose","paypal"]},{name:"daliborgogic",github:"daliborgogic",modules:["nuxt3-interpolation","web-vitals"]},{name:"Giovane Cardoso",github:"novout",twitter:"novoutttttt",avatar:"https://avatars.githubusercontent.com/novout?v=4",modules:["pdfeasy","ununuracss"]},{name:"posva",github:"posva",modules:["pinia","vuefire"]},{name:"Florent GIRAUD",github:"flozero",twitter:"flozeroo",modules:["snipcart","stripe-next"]},{name:"Benjamin Canac",github:"benjamincanac",twitter:"benjamincanac",modules:["strapi","ui"]},{name:"Joaquín Sánchez",github:"userquin",twitter:"userquin",modules:["vite-pwa-nuxt","vuetify-nuxt-module"]},{name:"Adam Berecz",github:"adamberecz",twitter:"bereczadam",modules:["vueform-builder","vueform"]},{name:"Yasser Lahbibi",github:"yassilah",avatar:"https://avatars.githubusercontent.com/u/13403295?v=4",modules:["algolia"]},{name:"ivodolenc",github:"ivodolenc",modules:["animejs"]},{name:"tangjinzhou",github:"tangjinzhou",modules:["ant-design-vue"]},{name:"egidiusmengelberg",github:"egidiusmengelberg",modules:["aos"]},{name:"Hrdtr",github:"Hrdtr",modules:["appwrite"]},{name:"wiidede",github:"wiidede",modules:["arco-design-nuxt-module"]},{name:"Din",github:"iamdin",twitter:"iamdinq",modules:["ark-ui"]},{name:"atinux",github:"atinux",modules:["auth-utils"]},{name:"JulianMar",github:"JulianMar",twitter:"julian_martin96",modules:["bugsnag"]},{name:"productdevbook",github:"productdevbook",modules:["chatwoot"]},{name:"hamlogic",github:"hamlogic",modules:["cloudflare-analytics"]},{name:"davestewart",github:"davestewart",twitter:"dave_stewart",modules:["content-assets"]},{name:"dargmuesli",github:"dargmuesli",avatar:"https://avatars.githubusercontent.com/dargmuesli",modules:["cookie-control"]},{name:"morgbn",github:"morgbn",avatar:"https://avatars.githubusercontent.com/u/25689856?v=4",modules:["csurf"]},{name:"Jamie Warburton",github:"jamiewarb",twitter:"jamiewarb",avatar:"https://avatars.githubusercontent.com/jamiewarb?v=4",modules:["datocms"]},{name:"Shinji Yamada",github:"dotneet",modules:["device"]},{name:"Conner Bachmann",github:"intevel",avatar:"https://avatars.githubusercontent.com/u/59223342?v=4",modules:["directus"]},{name:"草鞋没号",github:"caoxiemeihao",modules:["electron"]},{name:"Jonathan Bakebwa",github:"codebender828",twitter:"codebender828",modules:["emotion"]},{name:"Andrew Boyd",github:"andrew-boyd",twitter:"0xBOYD",modules:["formkit"]},{name:"Alexander Lichter",github:"manniL",modules:["google-adsense"]},{name:"Troy Morehouse",github:"tmorehouse",modules:["google-adsense"]},{name:"gomah",github:"gomah",modules:["graphql-request"]},{name:"tobiasdiez",github:"tobiasdiez",modules:["graphql-server"]},{name:"Pascal Sthamer",github:"P4sca1",modules:["headlessui"]},{name:"Rafał Chłodnicki",github:"rchl",modules:["i18n"]},{name:"Kazuya Kawaguchi",github:"kazupon",modules:["i18n"]},{name:"coremyslo",github:"coremyslo",modules:["icon-font"]},{name:"JohnCampionJr",github:"JohnCampionJr",modules:["icon-tw"]},{name:"Sebastian Wludzik",github:"gitfoxcode",modules:["icons"]},{name:"Alex Grozav",github:"alexgrozav",twitter:"alexgrozav",modules:["inkline"]},{name:"Patrick Cate",github:"patrickcate",modules:["jsonapi"]},{name:"daveordead",github:"DaveOrDead",twitter:"dave_or_dead",modules:["kinde"]},{name:"sot1986",github:"sot1986",modules:["laravel-precognition"]},{name:"Michal Čípa",github:"cipami",modules:["lodash"]},{name:"Farzad Soltani",github:"farzadso",twitter:"farzadso",modules:["logrocket"]},{name:"SWIS",github:"swisnl",modules:["lucide-icons"]},{name:"Jasper Zonneveld",github:"JaZo",modules:["lucide-icons"]},{name:"Loïc Mazuel",github:"LouisMazel",modules:["maz-ui"]},{name:"Alex Duval",github:"xlanex6",avatar:"https://avatars.githubusercontent.com/u/13418668?v=4",modules:["meilisearch"]},{name:"Miha Sedej",github:"tresko",twitter:"mihasedej",modules:["module-feed"]},{name:"adenvt",github:"adenvt",modules:["nupolyon"]},{name:"Artem Manchenkov",github:"manchenkoff",avatar:"https://avatars.githubusercontent.com/manchenkoff",modules:["nuxt-auth-sanctum"]},{name:"kgierke",github:"kgierke",modules:["nuxt-basic-auth"]},{name:"Oliver Trajceski",github:"schnapsterdog",modules:["nuxt-chatgpt"]},{name:"dulnan",github:"dulnan",twitter:"dulnan",avatar:"https://avatars.githubusercontent.com/dulnan?v=4",modules:["nuxt-graphql-middleware"]},{name:"ayalon",github:"ayalon",avatar:"https://avatars.githubusercontent.com/ayalon?v=4",modules:["nuxt-graphql-middleware"]},{name:"ymmooot",github:"ymmooot",modules:["nuxt-jsonld"]},{name:"Craig Harman",github:"craigharman",twitter:"craig_harman",modules:["nuxt-localtunnel"]},{name:"Sebastian Landwehr",github:"dword-design",modules:["nuxt-mail"]},{name:"Alex Lavoie",github:"AlexLavoie42",modules:["nuxt-mapbox"]},{name:"Emil Rosenius",github:"ERPedersen",modules:["nuxt-mdi"]},{name:"e-chan1007",github:"e-chan1007",modules:["nuxt-monaco-editor"]},{name:"stefanobartoletti",github:"stefanobartoletti",modules:["nuxt-social-share"]},{name:"Prashant Palikhe",github:"prashantpalikhe",twitter:"prashantpalikhe",modules:["ssr-lit"]},{name:"Steve Workman",github:"steveworkman",twitter:"steveworkman",modules:["ssr-lit"]},{name:"cpsoinos",github:"cpsoinos",modules:["nuxt-svgo"]},{name:"mvrlin",github:"mvrlin",modules:["nuxt-viewport"]},{name:"Kasun Vithanage",github:"kasvith",modules:["nuxt-vue3-google-signin"]},{name:"Jens van Hellemondt",github:"invictus-codes",modules:["nuxt-vuetify"]},{name:"Augustin MERCIER",github:"Gugustinette",modules:["nuxt3-leaflet"]},{name:"Joey Pereira",github:"Joepocalyptic",avatar:"https://avatars.githubusercontent.com/Joepocalyptic?v=4",modules:["particles"]},{name:"CodeDredd",github:"CodeDredd",modules:["pinia-orm"]},{name:"PraZ",github:"prazdevs",modules:["pinia-plugin-persistedstate"]},{name:"primefaces",github:"primefaces",twitter:"primevue",modules:["primevue"]},{name:"artmizu",github:"artmizu",modules:["prometheus"]},{name:"Developmint",github:"Developmint",modules:["purgecss"]},{name:"Ege İliklier",github:"Maiquu",modules:["quasar"]},{name:"Batuhan Göksu",github:"bbg",modules:["radash"]},{name:"Zernonia",github:"zernonia",twitter:"zernonia",modules:["radix-vue"]},{name:"Khairul Haaziq",github:"khairulhaaziq",modules:["radix-vue"]},{name:"Mujahid Anuar",github:"mujahidfa",modules:["radix-vue"]},{name:"Max",github:"onmax",modules:["radix-vue"]},{name:"Nicolas Hedger",github:"nhedger",twitter:"nicolashedger",modules:["resend"]},{name:"storyblok",github:"storyblok",modules:["storyblok"]},{name:"Chakir QATAB",github:"chakAs3",twitter:"ChakirQatab",modules:["storybook"]},{name:"Loic Fuentes",github:"fuentesloic",modules:["stripe-next"]},{name:"Vladimír Macháček",github:"Machy8",twitter:"8machy",modules:["stylify"]},{name:"Baptiste Leproux",github:"larbish",twitter:"baptistelprx",modules:["supabase"]},{name:"Scott Robertson",github:"scottrobertson",twitter:"scottymeuk",modules:["supabase"]},{name:"Christian Preston",github:"cpreston321",modules:["swiper"]},{name:"Inesh Bose",github:"ineshbose",modules:["tailwindcss"]},{name:"Alvaro Saburido",github:"alvarosabu",twitter:"alvarosabu",modules:["tresjs"]},{name:"Jaime Torrealba",github:"JaimeTorrealba",twitter:"jaimebboyjt",modules:["tresjs"]},{name:"Tino Koch",github:"Tinoooo",twitter:"ichbintino",modules:["tresjs"]},{name:"Yizack Rangel",github:"yizack",modules:["twemoji"]},{name:"Florent Bourgeois",github:"florentb",twitter:"florent_b",modules:["twicpics"]},{name:"Julian Aubourg",github:"jaubourg",twitter:"jaubourg",modules:["twicpics"]},{name:"Miguel Beignon",github:"mbgspcii",twitter:"m_beignon",modules:["twicpics"]},{name:"victorgarciaesgi",github:"victorgarciaesgi",modules:["typed-router"]},{name:"Macopedia",github:"macopedia",twitter:"macopediapl",modules:["typo3"]},{name:"Sylvain Marroufin",github:"smarroufin",twitter:"smarroufin",modules:["ui"]},{name:"ML",github:"ijkml",modules:["umami"]},{name:"Unic Ape",github:"unicape",modules:["use-wagmi"]},{name:"zhangmo8",github:"zhangmo8",modules:["varlet"]},{name:"Sam K",github:"samk-dev",modules:["vcalendar"]},{name:"Abdelrahman Awad",github:"logaretm",modules:["vee-validate"]},{name:"Alexander B.",github:"xanderbarkhatov",modules:["vercel-analytics"]},{name:"未觉雨声",github:"qmhc",twitter:"qmhc95",modules:["vexip-ui"]},{name:"David Arenas",github:"Dave136",twitter:"davejs4",avatar:"https://avatars.githubusercontent.com/u/49698182?v=4",modules:["vue-email"]},{name:"Younes Barrad",github:"Flowko",twitter:"imflowko",avatar:"https://avatars.githubusercontent.com/u/35883748?v=4",modules:["vue-email"]},{name:"Hunter Liu",github:"hunterliu1003",twitter:"hunterliu1003",modules:["vue-final-modal"]},{name:"三咲智子 Kevin Deng",github:"sxzz",twitter:"sanxiaozhizi",modules:["vue-macros"]},{name:"Maxim Morev",github:"MorevM",avatar:"https://avatars.githubusercontent.com/u/49679666?v=4",modules:["vue-transitions"]},{name:"epicmaxco",github:"epicmaxco",modules:["vuestic"]},{name:"Wide Angle Analytics by Input Objects GmbH",github:"inputobjects",modules:["wideangle"]},{name:"Jarek Rozanski",github:"jrozanski",modules:["wideangle"]},{name:"Lexpeartha",github:"Lexpeartha",twitter:"lexpeartha",modules:["xstate"]}],Mh=[{id:28706372,username:"danielroe",contributions:1370,modules:["algolia","appwrite","auth-utils","auto-animate","calendly","capo","color-mode","content-assets","content","cookie-control","devtools","fontaine","formkit","graphql-client","graphql-request","hanko","harlem","html-validator","i18n","icon-tw","icon","image","ionic","kinde","magic-regexp","maz-ui","nuxt-chatgpt","nuxt-jsonld","nuxt-monaco-editor","partytown","pinia","primevue","prismic","robots","sanity","security","sidebase-auth","storyblok","strapi","stripe-next","supabase","tailwindcss","time","tresjs","turnstile","twicpics","typed-router","ui","vant","vite-pwa-nuxt","vitest","vue-email","vue-final-modal","vuefire","vuetify-nuxt-module","vunix","web-vitals","windicss"]},{id:904724,username:"Atinux",contributions:1435,modules:["apollo","auth-utils","color-mode","content","device","devtools","directus","electron","form-actions","google-fonts","graphql-client","html-validator","i18n","icon-tw","icon","image","ionic","kinde","link-checker","lodash","logrocket","meilisearch","nuxt-mapbox","plausible","og-image","partytown","prismic","resend","sanity","storybook","strapi","studio","supabase","svg-sprite","tailwindcss","time","ui","vunix","web-vitals","windicss"]},{id:5326365,username:"harlan-zw",contributions:3693,modules:["content","delay-hydration","device","devtools","image","link-checker","logrocket","og-image","schema-org","seo-experiments","seo-kit","sidebase-auth","simple-robots","simple-sitemap","strapi","svg-sprite","tailwindcss","time","unhead","unlighthouse","windicss"]},{id:5158436,username:"pi0",contributions:410,modules:["algolia","color-mode","content","devtools","emotion","icon-tw","icon","icons","image","pinia","security","strapi","supabase","svg-sprite","tailwindcss","vitest","web-vitals","windicss"]},{id:640208,username:"manniL",contributions:59,modules:["apollo","content","devtools","emotion","google-adsense","html-validator","i18n","link-checker","partytown","prismic","purgecss","sidebase-auth","supabase","tailwindcss","vitest"]},{id:4778485,username:"dargmuesli",contributions:596,modules:["cookie-control","google-adsense","html-validator","i18n","link-checker","nupolyon","og-image","robots","schema-org","security","seo-experiments","seo-kit","turnstile","unhead","vite-pwa-nuxt"]},{id:1385263,username:"Tahul",contributions:381,modules:["algolia","color-mode","content","edgedb","icon-tw","icon","image","sanity","studio","tailwindcss"]},{id:11247099,username:"antfu",contributions:3666,modules:["color-mode","devtools","og-image","studio","tailwindcss","ui","unocss","vitest","vueuse","windicss"]},{id:739984,username:"benjamincanac",contributions:1805,modules:["color-mode","content","devtools","icon","strapi","supabase","tailwindcss","ui","vue-email"]},{id:48835293,username:"DamianGlowala",contributions:22,modules:["fontaine","formkit","i18n","image","ionic","radix-vue","security","supabase","tailwindcss"]},{id:27850750,username:"johannschopplich",contributions:1724,modules:["api-party","gtag","i18n","kql","plausible","prepare","unlazy","unocss"]},{id:6311119,username:"userquin",contributions:312,modules:["i18n","time","tresjs","unocss","vee-validate","vite-pwa-nuxt","vitest","vuetify-nuxt-module"]},{id:59223342,username:"Intevel",contributions:241,modules:["algolia","color-mode","directus","medusa","partytown","security","strapi"]},{id:45267552,username:"Barbapapazes",contributions:78,modules:["clarity-analytics","content","fontaine","link-checker","nuxt-payload-analyzer","schema-org","unlighthouse"]},{id:13064722,username:"ricardogobbosouza",contributions:340,modules:["emotion","eslint","google-fonts","purgecss","robots","stylelint","tailwindcss"]},{id:63512348,username:"huang-julien",contributions:13,modules:["cookie-control","devtools","html-validator","i18n","turnstile","vitest"]},{id:53905713,username:"BayBreezy",contributions:9,modules:["animejs","aos","authjs","radix-vue","strapi"]},{id:25272043,username:"kevinmarrec",contributions:24,modules:["apollo","content","purgecss","studio","supabase"]},{id:38922203,username:"arashsheyda",contributions:185,modules:["auth-utils","devtools","nuxt-mongoose","paypal","ui"]},{id:13395944,username:"Hebilicious",contributions:495,modules:["authjs","form-actions","server-block","use-wagmi","vue-query"]},{id:7547335,username:"smarroufin",contributions:70,modules:["color-mode","sanity","strapi","tailwindcss","ui"]},{id:2047945,username:"farnabaz",contributions:1339,modules:["content","google-adsense","image","studio","svg-sprite"]},{id:6619884,username:"cpreston321",contributions:93,modules:["devtools","graphql-client","swiper","umami","vue-email"]},{id:7290030,username:"larbish",contributions:340,modules:["icon","strapi","studio","supabase","ui"]},{id:83463097,username:"oumarbarry",contributions:11,modules:["ionic","nuxt-mongoose","quasar","supabase","use-wagmi"]},{id:37120330,username:"Baroshem",contributions:747,modules:["algolia","medusa","security","storyblok"]},{id:3911343,username:"stafyniaksacha",contributions:11,modules:["apollo","strapi","supabase","web-vitals"]},{id:32813692,username:"madebyfabian",contributions:104,modules:["calendly","cloudflare-analytics","radix-vue","turnstile"]},{id:1439623,username:"clemcode",contributions:125,modules:["content","devtools","image","studio"]},{id:3233370,username:"chz",contributions:8,modules:["cookie-control","prismic","stylify","tailwindcss"]},{id:6696789,username:"Flosciante",contributions:9,modules:["devtools","sanity","strapi","ui"]},{id:6649305,username:"BobbieGoede",contributions:81,modules:["devtools","i18n","seo-experiments","unhead"]},{id:12446546,username:"LouisMazel",contributions:2463,modules:["maz-ui","nuxt-gtm","prismic","well-known"]},{id:13403295,username:"yassilah",contributions:78,modules:["algolia","i18n","vitest"]},{id:19627670,username:"Diizzayy",contributions:323,modules:["apollo","graphql-client","logrocket"]},{id:35950229,username:"Hrdtr",contributions:184,modules:["appwrite","ionic","sidebase-auth"]},{id:13063165,username:"debs-obrien",contributions:16,modules:["color-mode","content","google-fonts"]},{id:2152968,username:"ThomOrlo",contributions:27,modules:["content","image","sanity"]},{id:1840026,username:"maximepvrt",contributions:16,modules:["content","og-image","studio"]},{id:42867097,username:"azrikahar",contributions:14,modules:["content","ionic","tailwindcss"]},{id:967369,username:"acidjazz",contributions:385,modules:["dayjs","tailvue","windicss"]},{id:15177236,username:"JoaoPedroAS51",contributions:8,modules:["dayjs","graphql-client","sidebase-auth"]},{id:12596485,username:"reslear",contributions:7,modules:["dayjs","image","seo-kit"]},{id:57059138,username:"OyewoleOyedeji",contributions:42,modules:["electron","nuxt-bootstrap-icons","nuxt-phosphor-icons"]},{id:73709188,username:"HigherOrderLogic",contributions:10,modules:["element-plus","seo-experiments","unhead"]},{id:18102267,username:"oritwoen",contributions:5,modules:["form-actions","strapi","ui"]},{id:1113278,username:"jiblett1000",contributions:7,modules:["google-fonts","strapi","tailwindcss"]},{id:5037600,username:"tobiasdiez",contributions:94,modules:["graphql-server","link-checker","og-image"]},{id:43365376,username:"Lexpeartha",contributions:104,modules:["harlem","ionic","xstate"]},{id:11289484,username:"AndreyYolkin",contributions:4,modules:["i18n","prometheus","sidebase-auth"]},{id:2703233,username:"toniengelhardt",contributions:4,modules:["icon-tw","icon","pinia-plugin-persistedstate"]},{id:25330882,username:"lihbr",contributions:263,modules:["image","nuxt-hue","prismic"]},{id:1674029,username:"michael-bouvy",contributions:17,modules:["nuxt-gtm","prismic","well-known"]},{id:2774075,username:"gaetansenn",contributions:231,modules:["nuxt-loco","vue3-carousel-nuxt","vunix"]},{id:30908158,username:"zoey-kaiser",contributions:67,modules:["nuxt-pdf","session","sidebase-auth"]},{id:25911230,username:"BracketJohn",contributions:201,modules:["nuxt-pdf","session","sidebase-auth"]},{id:664177,username:"posva",contributions:3859,modules:["pinia","vue-macros","vuefire"]},{id:39984251,username:"Mini-ghost",contributions:60,modules:["pinia","time","vue-final-modal"]},{id:10506522,username:"enkot",contributions:11,modules:["radix-vue","unocss","vitest"]},{id:65096948,username:"KyleSmith0905",contributions:4,modules:["seo-experiments","sidebase-auth","unhead"]},{id:7190600,username:"mitjans",contributions:4,modules:["stripe-next","supabase","tailwindcss"]},{id:400771,username:"jrutila",contributions:6,modules:["ui","vitest","vuetify-nuxt-module"]},{id:86659,username:"francois2metz",contributions:3,modules:["algolia","nuxt-vuetify"]},{id:50699657,username:"vanling",contributions:4,modules:["algolia","sidebase-auth"]},{id:2671726,username:"Triloworld",contributions:3,modules:["algolia","sanity"]},{id:9392723,username:"negezor",contributions:24,modules:["apollo","vue-final-modal"]},{id:2362138,username:"Gomah",contributions:114,modules:["apollo","graphql-request"]},{id:106826371,username:"selemondev",contributions:5,modules:["authjs","maz-ui"]},{id:1950463,username:"justin-schroeder",contributions:1373,modules:["auto-animate","formkit"]},{id:11545316,username:"luan-nk-nguyen",contributions:114,modules:["auto-animate","formkit"]},{id:7635209,username:"danielkellyio",contributions:6,modules:["auto-animate","pinia"]},{id:44045911,username:"kidonng",contributions:7,modules:["auto-animate","unocss"]},{id:17185737,username:"McPizza0",contributions:5,modules:["capo","hanko"]},{id:20434351,username:"jefrydco",contributions:5,modules:["color-mode","content"]},{id:45076741,username:"bdrtsky",contributions:13,modules:["color-mode","content"]},{id:132681,username:"davestewart",contributions:137,modules:["content-assets","vee-validate"]},{id:24830662,username:"mathe42",contributions:18,modules:["content","nuxt-mail"]},{id:411874,username:"cexbrayat",contributions:14,modules:["content","vee-validate"]},{id:15806356,username:"misaon",contributions:3,modules:["cookie-control","swiper"]},{id:2754728,username:"Jamiewarb",contributions:71,modules:["datocms","ionic"]},{id:11255009,username:"GaborTorma",contributions:19,modules:["dayjs","vuetify-nuxt-module"]},{id:3125972,username:"ram-you",contributions:3,modules:["delay-hydration","fontaine"]},{id:7460168,username:"jbmolle",contributions:3,modules:["delay-hydration","schema-org"]},{id:36569518,username:"markthree",contributions:3,modules:["device","pinia-plugin-persistedstate"]},{id:24970784,username:"mvrlin",contributions:53,modules:["device","nuxt-viewport"]},{id:35883748,username:"Flowko",contributions:162,modules:["devtools","vue-email"]},{id:22515951,username:"webfansplz",contributions:76,modules:["devtools","vueuse"]},{id:74846767,username:"Danielwinkelmann",contributions:17,modules:["directus","sidebase-auth"]},{id:13056429,username:"Sandros94",contributions:15,modules:["directus","stripe-next"]},{id:324026,username:"craigharman",contributions:31,modules:["directus","nuxt-localtunnel"]},{id:25717245,username:"modbender",contributions:36,modules:["disqus","snackbar"]},{id:23313167,username:"tolking",contributions:84,modules:["element-plus","vant"]},{id:28821368,username:"damisparks",contributions:3,modules:["eslint","google-fonts"]},{id:23550517,username:"alexbidenko",contributions:3,modules:["fontaine","security"]},{id:52390439,username:"ijkml",contributions:230,modules:["fontaine","umami"]},{id:34333374,username:"daniil4udo",contributions:17,modules:["formkit","lodash"]},{id:13543079,username:"qwe12e",contributions:3,modules:["google-fonts","pinia-orm"]},{id:35779884,username:"PanMisza",contributions:6,modules:["graphql-client","typo3"]},{id:153197,username:"rchl",contributions:6,modules:["graphql-client","i18n"]},{id:10992664,username:"P4sca1",contributions:89,modules:["headlessui","tailwindcss"]},{id:56732164,username:"ineshbose",contributions:66,modules:["i18n","tailwindcss"]},{id:2095133,username:"cjpearson",contributions:4,modules:["i18n","tailwindcss"]},{id:57781857,username:"Dlouxgit",contributions:3,modules:["icon-tw","icon"]},{id:15716057,username:"fayazara",contributions:3,modules:["icon-tw","icon"]},{id:79840527,username:"ace-of-aces",contributions:3,modules:["icon-tw","icon"]},{id:51883557,username:"iRaziul",contributions:3,modules:["icon-tw","icon"]},{id:57325448,username:"rubanp",contributions:3,modules:["icon-tw","icon"]},{id:28957605,username:"turulix",contributions:3,modules:["icon-tw","icon"]},{id:51122536,username:"tanerijun",contributions:3,modules:["icon-tw","icon"]},{id:1884246,username:"zaosoula",contributions:3,modules:["icon-tw","icon"]},{id:38621036,username:"devTeaa",contributions:3,modules:["icon-tw","icon"]},{id:11556276,username:"flozero",contributions:13,modules:["image","stripe-next"]},{id:763424,username:"florentb",contributions:6,modules:["image","twicpics"]},{id:15758406,username:"huynl-96",contributions:15,modules:["image","vueuse"]},{id:1270799,username:"DanielRivers",contributions:3,modules:["kinde","vue-email"]},{id:35431350,username:"ExEr7um",contributions:4,modules:["magic-regexp","vitest"]},{id:6775220,username:"gangsthub",contributions:3,modules:["maz-ui","vitest"]},{id:6861191,username:"runyasak",contributions:11,modules:["medusa","security"]},{id:10812694,username:"joewinger",contributions:3,modules:["meilisearch","simple-sitemap"]},{id:14868014,username:"tresko",contributions:81,modules:["module-feed","security"]},{id:112890430,username:"trijpstra-fourlights",contributions:27,modules:["nupolyon","security"]},{id:95148327,username:"helltraitor",contributions:207,modules:["nuxt-anchorscroll","nuxt-feedme"]},{id:8353081,username:"Boomgeek",contributions:63,modules:["nuxt-facebook-chat","nuxt-plotly"]},{id:26260104,username:"eduayme",contributions:7,modules:["nuxt-mapbox","ui"]},{id:6196533,username:"jd1378",contributions:34,modules:["nuxt-svgo","seo-kit"]},{id:5895389,username:"daliborgogic",contributions:69,modules:["nuxt3-interpolation","web-vitals"]},{id:17392251,username:"mrleblanc101",contributions:5,modules:["nuxt3-interpolation","stylelint"]},{id:41403842,username:"Novout",contributions:592,modules:["pdfeasy","ununuracss"]},{id:1574903,username:"hooray",contributions:3,modules:["pinia-plugin-persistedstate","vue-macros"]},{id:55788142,username:"floriankapaun",contributions:3,modules:["pinia-plugin-persistedstate","vitest"]},{id:30027636,username:"i5dr0id",contributions:9,modules:["pinia","vuefire"]},{id:17453452,username:"kirklin",contributions:9,modules:["pinia","unocss"]},{id:30652791,username:"dammy001",contributions:5,modules:["primevue","tailwindcss"]},{id:39938037,username:"mukundshah",contributions:7,modules:["radix-vue","tailvue"]},{id:59017897,username:"kn0wn",contributions:4,modules:["radix-vue","windicss"]},{id:7793873,username:"OlaAlsaker",contributions:3,modules:["sanity","vitest"]},{id:42739553,username:"YannicEl",contributions:3,modules:["sanity","windicss"]},{id:7902617,username:"csprance",contributions:3,modules:["security","sidebase-auth"]},{id:10244927,username:"tmlmt",contributions:3,modules:["security","umami"]},{id:11756007,username:"m7rlin",contributions:9,modules:["seo-experiments","unhead"]},{id:11322254,username:"IronicUsername",contributions:3,modules:["session","sidebase-auth"]},{id:2013388,username:"davidstackio",contributions:9,modules:["simple-sitemap","vuefire"]},{id:4699008,username:"alvarosabu",contributions:104,modules:["storyblok","tresjs"]},{id:61005888,username:"kuizuo",contributions:3,modules:["strapi","supabase"]},{id:34125897,username:"Stun3R",contributions:4,modules:["strapi","tailwindcss"]},{id:44983823,username:"andrewvasilchuk",contributions:7,modules:["svg-sprite","tailwindcss"]},{id:1881266,username:"iamandrewluca",contributions:6,modules:["tailwindcss","vee-validate"]},{id:16264115,username:"Yizack",contributions:106,modules:["turnstile","twemoji"]},{id:42139754,username:"zyyv",contributions:229,modules:["unocss","vuetify-nuxt-module"]},{id:19991745,username:"sibbng",contributions:198,modules:["unocss","vueuse"]},{id:29533304,username:"Dunqing",contributions:85,modules:["unocss","vue-macros"]},{id:22554452,username:"azaleta",contributions:26,modules:["unocss","vueuse"]},{id:6481596,username:"sxzz",contributions:1718,modules:["vue-macros","vueuse"]},{id:16024069,username:"adamberecz",contributions:1559,modules:["vueform-builder","vueform"]},{id:31937175,username:"Lehoczky",contributions:24,modules:["algolia"]},{id:71639887,username:"LoMonacoSalvatore",contributions:8,modules:["algolia"]},{id:5067135,username:"vilhelmjosander",contributions:8,modules:["algolia"]},{id:1218730,username:"Rigo-m",contributions:6,modules:["algolia"]},{id:6096645,username:"Laruxo",contributions:4,modules:["algolia"]},{id:342104,username:"podlebar",contributions:2,modules:["algolia"]},{id:977957,username:"camaech",contributions:2,modules:["algolia"]},{id:1060523,username:"digbyk",contributions:2,modules:["algolia"]},{id:49845356,username:"zal1000",contributions:2,modules:["algolia"]},{id:51852491,username:"ivodolenc",contributions:100,modules:["animejs"]},{id:45655660,username:"aibayanyu20",contributions:84,modules:["ant-design-vue"]},{id:19869755,username:"M4rcDev",contributions:2,modules:["ant-design-vue"]},{id:22946100,username:"egidiusmengelberg",contributions:54,modules:["aos"]},{id:30053061,username:"rubymignot",contributions:12,modules:["aos"]},{id:3409962,username:"killjoy1221",contributions:16,modules:["api-party"]},{id:1071091,username:"mbaertschi",contributions:2,modules:["api-party"]},{id:10401817,username:"brawaru",contributions:2,modules:["api-party"]},{id:13093313,username:"kieusonlam",contributions:332,modules:["apollo"]},{id:489221,username:"dohomi",contributions:270,modules:["apollo"]},{id:1344792,username:"orblazer",contributions:14,modules:["apollo"]},{id:2840504,username:"Hendrixer",contributions:12,modules:["apollo"]},{id:11846736,username:"pschaub",contributions:6,modules:["apollo"]},{id:8104244,username:"Fju",contributions:6,modules:["apollo"]},{id:6331737,username:"igtm",contributions:6,modules:["apollo"]},{id:4313116,username:"wulfmann",contributions:4,modules:["apollo"]},{id:92431,username:"mvgrimes",contributions:4,modules:["apollo"]},{id:29191131,username:"pepsighan",contributions:4,modules:["apollo"]},{id:132138,username:"stefl",contributions:4,modules:["apollo"]},{id:14890575,username:"bviala",contributions:4,modules:["apollo"]},{id:6222908,username:"zhanafe",contributions:4,modules:["apollo"]},{id:2766448,username:"AndrewBogdanovTSS",contributions:2,modules:["apollo"]},{id:867717,username:"chriscalo",contributions:2,modules:["apollo"]},{id:1349865,username:"dhritzkiv",contributions:2,modules:["apollo"]},{id:2647472,username:"Digni",contributions:2,modules:["apollo"]},{id:571159,username:"aldarund",contributions:2,modules:["apollo"]},{id:621454,username:"ducngtuan",contributions:2,modules:["apollo"]},{id:581678,username:"francoisp",contributions:2,modules:["apollo"]},{id:1808444,username:"bissolli",contributions:2,modules:["apollo"]},{id:25472916,username:"wiidede",contributions:112,modules:["arco-design-nuxt-module"]},{id:36906371,username:"iamdin",contributions:34,modules:["ark-ui"]},{id:50090595,username:"ahmedrangel",contributions:2,modules:["auth-utils"]},{id:22255990,username:"aksharahegde",contributions:2,modules:["auth-utils"]},{id:8012430,username:"Azurency",contributions:2,modules:["auth-utils"]},{id:12988935,username:"Gerbuuun",contributions:2,modules:["auth-utils"]},{id:17186421,username:"samulefevre",contributions:2,modules:["auth-utils"]},{id:18753964,username:"sifferhans",contributions:2,modules:["auth-utils"]},{id:67746033,username:"justserdar",contributions:2,modules:["auth-utils"]},{id:58686898,username:"AwesomeDude091",contributions:2,modules:["authjs"]},{id:12956751,username:"musikid",contributions:2,modules:["authjs"]},{id:9140811,username:"andreasvirkus",contributions:2,modules:["authjs"]},{id:5930734,username:"dissy123",contributions:2,modules:["authjs"]},{id:16452789,username:"nirtamir2",contributions:26,modules:["auto-animate"]},{id:2691730,username:"Waterstraal",contributions:16,modules:["auto-animate"]},{id:1720349,username:"FlatMapIO",contributions:6,modules:["auto-animate"]},{id:32803395,username:"benrandja-akram",contributions:6,modules:["auto-animate"]},{id:11185022,username:"AlexVipond",contributions:4,modules:["auto-animate"]},{id:24707417,username:"wangjue666",contributions:4,modules:["auto-animate"]},{id:61237195,username:"lukaszarpak",contributions:4,modules:["auto-animate"]},{id:3534427,username:"Link2Twenty",contributions:2,modules:["auto-animate"]},{id:22795807,username:"apenab",contributions:2,modules:["auto-animate"]},{id:6007292,username:"beenotung",contributions:2,modules:["auto-animate"]},{id:260431,username:"bengry",contributions:2,modules:["auto-animate"]},{id:28103674,username:"rodakd",contributions:2,modules:["auto-animate"]},{id:80443898,username:"GeraOSF",contributions:2,modules:["auto-animate"]},{id:124833,username:"carusog",contributions:2,modules:["auto-animate"]},{id:2974948,username:"jhubbardsf",contributions:2,modules:["auto-animate"]},{id:23322562,username:"KamilBeda",contributions:2,modules:["auto-animate"]},{id:599538,username:"verheyenkoen",contributions:2,modules:["auto-animate"]},{id:45705859,username:"zhengkyl",contributions:2,modules:["auto-animate"]},{id:83799,username:"evoactivity",contributions:2,modules:["auto-animate"]},{id:11494384,username:"markflorkowski",contributions:2,modules:["auto-animate"]},{id:2837147,username:"MentalGear",contributions:2,modules:["auto-animate"]},{id:24510745,username:"maico910",contributions:2,modules:["auto-animate"]},{id:43639707,username:"mohamedaleya",contributions:2,modules:["auto-animate"]},{id:107163858,username:"sanyamjain04",contributions:2,modules:["auto-animate"]},{id:16858097,username:"cszackrison",contributions:2,modules:["auto-animate"]},{id:29117090,username:"JulianMar",contributions:188,modules:["bugsnag"]},{id:1544760,username:"dritter",contributions:8,modules:["bugsnag"]},{id:251322,username:"mwidmann",contributions:2,modules:["bugsnag"]},{id:475137,username:"jasonparekh",contributions:2,modules:["bugsnag"]},{id:33683845,username:"Brinken90",contributions:4,modules:["calendly"]},{id:38668796,username:"productdevbook",contributions:70,modules:["chatwoot"]},{id:2246121,username:"pranavrajs",contributions:2,modules:["chatwoot"]},{id:35456489,username:"hamlogic",contributions:22,modules:["cloudflare-analytics"]},{id:6324332,username:"jankal",contributions:4,modules:["color-mode"]},{id:26418696,username:"adufr",contributions:2,modules:["color-mode"]},{id:5724535,username:"FelixGraf",contributions:2,modules:["color-mode"]},{id:43202397,username:"aerophobic",contributions:2,modules:["color-mode"]},{id:32184109,username:"rajaaltus",contributions:2,modules:["color-mode"]},{id:23402178,username:"TheLearneer",contributions:2,modules:["color-mode"]},{id:6261271,username:"Kolahzary",contributions:2,modules:["color-mode"]},{id:6967412,username:"szwenni",contributions:2,modules:["color-mode"]},{id:770560,username:"Knogobert",contributions:2,modules:["color-mode"]},{id:68200738,username:"tikkeninc",contributions:2,modules:["color-mode"]},{id:26242554,username:"Luferov",contributions:2,modules:["color-mode"]},{id:4312154,username:"clarkdo",contributions:2,modules:["color-mode"]},{id:51456572,username:"ga676005",contributions:2,modules:["color-mode"]},{id:48633842,username:"hamsoover",contributions:2,modules:["color-mode"]},{id:1246641,username:"ThomasWT",contributions:4,modules:["content-assets"]},{id:1467123,username:"imphil",contributions:2,modules:["content-assets"]},{id:44443899,username:"nobkd",contributions:60,modules:["content"]},{id:16436160,username:"NozomuIkuta",contributions:44,modules:["content"]},{id:18027877,username:"cogor",contributions:30,modules:["content"]},{id:4084277,username:"alexchopin",contributions:16,modules:["content"]},{id:9429420,username:"Geminii",contributions:6,modules:["content"]},{id:2198527,username:"AlexanderBelokon",contributions:6,modules:["content"]},{id:5704043,username:"Qwertovsky",contributions:6,modules:["content"]},{id:59682979,username:"utamori",contributions:6,modules:["content"]},{id:4836334,username:"bencodezen",contributions:4,modules:["content"]},{id:25792848,username:"darioferderber",contributions:204,modules:["cookie-control"]},{id:4638669,username:"tomfri",contributions:6,modules:["cookie-control"]},{id:1590095,username:"alexandrecanijo",contributions:4,modules:["cookie-control"]},{id:8450519,username:"oneWaveAdrian",contributions:4,modules:["cookie-control"]},{id:3023969,username:"AlexNimoy",contributions:2,modules:["cookie-control"]},{id:612946,username:"gilles6",contributions:2,modules:["cookie-control"]},{id:78584173,username:"hslee2008",contributions:2,modules:["cookie-control"]},{id:1417473,username:"devzom",contributions:2,modules:["cookie-control"]},{id:74457237,username:"matt-rolley",contributions:2,modules:["cookie-control"]},{id:34566290,username:"MaySoMusician",contributions:2,modules:["cookie-control"]},{id:28047867,username:"milos5593",contributions:2,modules:["cookie-control"]},{id:40442783,username:"onurdumangoz",contributions:2,modules:["cookie-control"]},{id:5302658,username:"patriciorivera",contributions:2,modules:["cookie-control"]},{id:85927,username:"raducretu",contributions:2,modules:["cookie-control"]},{id:65167772,username:"roy-pon",contributions:2,modules:["cookie-control"]},{id:105625087,username:"SampoVirmasalo",contributions:2,modules:["cookie-control"]},{id:59170152,username:"KerneggerTim",contributions:2,modules:["cookie-control"]},{id:64546764,username:"VentsislavBorislavov",contributions:2,modules:["cookie-control"]},{id:1240104,username:"kukac7",contributions:2,modules:["cookie-control"]},{id:47293315,username:"den-kar",contributions:2,modules:["cookie-control"]},{id:59049879,username:"ensag-dev",contributions:2,modules:["cookie-control"]},{id:99841792,username:"marcusarnfast",contributions:2,modules:["cookie-control"]},{id:25689856,username:"Morgbn",contributions:66,modules:["csurf"]},{id:22666637,username:"bensherred",contributions:2,modules:["datocms"]},{id:2212056,username:"jb-alvarado",contributions:16,modules:["dayjs"]},{id:103981778,username:"jeevanya",contributions:2,modules:["dayjs"]},{id:16275591,username:"s8n11c",contributions:2,modules:["delay-hydration"]},{id:22586260,username:"hieu-ht",contributions:2,modules:["delay-hydration"]},{id:70710,username:"mbreit",contributions:2,modules:["delay-hydration"]},{id:15785987,username:"samydoesit",contributions:2,modules:["delay-hydration"]},{id:370602,username:"dotneet",contributions:244,modules:["device"]},{id:25185835,username:"Redemption198",contributions:66,modules:["device"]},{id:9975630,username:"nachogarcia",contributions:12,modules:["device"]},{id:12392573,username:"randompch",contributions:10,modules:["device"]},{id:4074597,username:"MikeCaputo",contributions:8,modules:["device"]},{id:20489824,username:"MaxNvk",contributions:4,modules:["device"]},{id:13103045,username:"iliyaZelenko",contributions:4,modules:["device"]},{id:11496358,username:"aayushgoyal",contributions:2,modules:["device"]},{id:13887407,username:"apgapg",contributions:2,modules:["device"]},{id:24225949,username:"b-jan",contributions:2,modules:["device"]},{id:11614639,username:"JasonGotGithub",contributions:2,modules:["device"]},{id:1658644,username:"LeCoupa",contributions:2,modules:["device"]},{id:54757902,username:"imlautaro",contributions:2,modules:["device"]},{id:6993514,username:"potato4d",contributions:2,modules:["device"]},{id:14403446,username:"vodnicearv",contributions:2,modules:["device"]},{id:654889,username:"yshrsmz",contributions:2,modules:["device"]},{id:1970283,username:"aggre",contributions:2,modules:["device"]},{id:17667652,username:"hareku",contributions:2,modules:["device"]},{id:29743310,username:"Jannchie",contributions:14,modules:["devtools"]},{id:1240374,username:"lustremedia",contributions:14,modules:["devtools"]},{id:39936160,username:"qiuqfang",contributions:6,modules:["devtools"]},{id:54026110,username:"Lmmmmmm-bb",contributions:6,modules:["devtools"]},{id:59717852,username:"zuixinwang",contributions:6,modules:["devtools"]},{id:11806619,username:"withyellow",contributions:4,modules:["devtools"]},{id:79358543,username:"zackha",contributions:4,modules:["devtools"]},{id:60472462,username:"abhay-111",contributions:2,modules:["devtools"]},{id:380026,username:"ambroisemaupate",contributions:2,modules:["devtools"]},{id:55608642,username:"BluesYoung-web",contributions:2,modules:["devtools"]},{id:18496305,username:"CSY54",contributions:2,modules:["devtools"]},{id:60586899,username:"claranceliberi",contributions:2,modules:["devtools"]},{id:23231126,username:"Clive-Ward-Cron",contributions:2,modules:["devtools"]},{id:1493221,username:"cuebit",contributions:2,modules:["devtools"]},{id:93563771,username:"codiam",contributions:44,modules:["directus"]},{id:85650530,username:"casualmatt",contributions:28,modules:["directus"]},{id:3519378,username:"amerkay",contributions:14,modules:["directus"]},{id:8554558,username:"NMathar",contributions:6,modules:["directus"]},{id:15140041,username:"rashidpathiyil",contributions:6,modules:["directus"]},{id:47723417,username:"xNaCly",contributions:6,modules:["directus"]},{id:80765270,username:"VicFleur",contributions:2,modules:["directus"]},{id:24437987,username:"linkb15",contributions:2,modules:["directus"]},{id:38366502,username:"ranseur92",contributions:2,modules:["directus"]},{id:7526014,username:"dwaring87",contributions:2,modules:["directus"]},{id:52180080,username:"florianjs",contributions:2,modules:["directus"]},{id:946853,username:"scherii",contributions:2,modules:["directus"]},{id:10852176,username:"halwesit",contributions:2,modules:["directus"]},{id:303791,username:"JereMiO",contributions:2,modules:["directus"]},{id:1553757,username:"mklueh",contributions:2,modules:["directus"]},{id:1492215,username:"Nainterceptor",contributions:2,modules:["directus"]},{id:2711970,username:"ymilhahn",contributions:2,modules:["directus"]},{id:17858793,username:"dochoss",contributions:2,modules:["directus"]},{id:18407632,username:"drennvinn",contributions:2,modules:["directus"]},{id:26263658,username:"caoxiemeihao",contributions:168,modules:["electron"]},{id:32047986,username:"gurvancampion",contributions:2,modules:["electron"]},{id:8638243,username:"jofftiquez",contributions:2,modules:["electron"]},{id:58381667,username:"so1ve",contributions:2,modules:["electron"]},{id:15975785,username:"jw-foss",contributions:2,modules:["element-plus"]},{id:7093483,username:"kakajansh",contributions:2,modules:["element-plus"]},{id:1385160,username:"foxted",contributions:2,modules:["element-plus"]},{id:21237954,username:"codebender828",contributions:88,modules:["emotion"]},{id:6134547,username:"yoyo837",contributions:2,modules:["eslint"]},{id:7900646,username:"arikw",contributions:2,modules:["eslint"]},{id:1154044,username:"rlam3",contributions:2,modules:["eslint"]},{id:82750477,username:"guy-confetti",contributions:2,modules:["fontaine"]},{id:2691946,username:"abernh",contributions:2,modules:["form-actions"]},{id:55502199,username:"EvanSchleret",contributions:2,modules:["form-actions"]},{id:52015,username:"jangxyz",contributions:2,modules:["form-actions"]},{id:2946356,username:"andrew-boyd",contributions:368,modules:["formkit"]},{id:14954720,username:"GustavoFenilli",contributions:160,modules:["formkit"]},{id:50585039,username:"sashamilenkovic",contributions:128,modules:["formkit"]},{id:1268538,username:"chrisladams",contributions:20,modules:["formkit"]},{id:2567,username:"tmm1",contributions:10,modules:["formkit"]},{id:1735944,username:"CavalcanteLeo",contributions:10,modules:["formkit"]},{id:4084527,username:"riderx",contributions:10,modules:["formkit"]},{id:2241624,username:"lennartzellmer",contributions:10,modules:["formkit"]},{id:4098997,username:"devoidofgenius",contributions:8,modules:["formkit"]},{id:5167994,username:"aresofficial",contributions:8,modules:["formkit"]},{id:16470866,username:"xxSkyy",contributions:6,modules:["formkit"]},{id:50772478,username:"gbyesiltas",contributions:6,modules:["formkit"]},{id:39409783,username:"parafeu",contributions:4,modules:["formkit"]},{id:10572554,username:"arjendejong12",contributions:4,modules:["formkit"]},{id:5445094,username:"dominikklein",contributions:4,modules:["formkit"]},{id:11798239,username:"Archetipo95",contributions:4,modules:["formkit"]},{id:38756142,username:"markusgeert",contributions:4,modules:["formkit"]},{id:13098848,username:"chiquyet199",contributions:4,modules:["formkit"]},{id:8686628,username:"santi",contributions:4,modules:["formkit"]},{id:16173870,username:"sheremet-va",contributions:4,modules:["formkit"]},{id:19146698,username:"lavolpecheprogramma",contributions:4,modules:["formkit"]},{id:20444343,username:"agenordebriat",contributions:2,modules:["formkit"]},{id:1063127,username:"antbrl",contributions:2,modules:["formkit"]},{id:38622893,username:"ByMykel",contributions:2,modules:["formkit"]},{id:2781561,username:"tmorehouse",contributions:42,modules:["google-adsense"]},{id:614675,username:"1hakr",contributions:4,modules:["google-adsense"]},{id:223555,username:"3dd13",contributions:2,modules:["google-adsense"]},{id:63487995,username:"rexarvind",contributions:2,modules:["google-adsense"]},{id:8341848,username:"bennettfrazier",contributions:2,modules:["google-adsense"]},{id:34982358,username:"Eternal-Rise",contributions:2,modules:["google-adsense"]},{id:454310,username:"javray",contributions:2,modules:["google-adsense"]},{id:47635466,username:"seosmmbusiness",contributions:2,modules:["google-adsense"]},{id:40721155,username:"kylegl",contributions:2,modules:["google-adsense"]},{id:14026732,username:"myagizguler",contributions:2,modules:["google-adsense"]},{id:20928689,username:"MatWaligora",contributions:2,modules:["google-adsense"]},{id:2802354,username:"khoazero123",contributions:2,modules:["google-adsense"]},{id:88871226,username:"mirumirumi",contributions:2,modules:["google-adsense"]},{id:3871688,username:"kara",contributions:10,modules:["google-fonts"]},{id:715491,username:"borisdayma",contributions:4,modules:["google-fonts"]},{id:12446271,username:"cesaramirez",contributions:2,modules:["google-fonts"]},{id:1306576,username:"LostCrew",contributions:2,modules:["google-fonts"]},{id:39669357,username:"Mixerou",contributions:2,modules:["google-fonts"]},{id:34955679,username:"xanzhu",contributions:2,modules:["google-fonts"]},{id:35804265,username:"afflexux",contributions:2,modules:["google-fonts"]},{id:2278938,username:"AveryBibeau",contributions:4,modules:["graphql-client"]},{id:4119508,username:"jonian",contributions:4,modules:["graphql-client"]},{id:378974,username:"boboldehampsink",contributions:2,modules:["graphql-client"]},{id:4178083,username:"lorenzofaresin",contributions:2,modules:["graphql-client"]},{id:1668207,username:"TheDutchCoder",contributions:2,modules:["graphql-client"]},{id:5918348,username:"samturrell",contributions:28,modules:["graphql-request"]},{id:6460348,username:"zsavajji",contributions:2,modules:["graphql-request"]},{id:17232297,username:"Blindpupil",contributions:2,modules:["graphql-request"]},{id:475015,username:"drewbaker",contributions:2,modules:["graphql-request"]},{id:20305403,username:"narduin",contributions:2,modules:["graphql-request"]},{id:55853254,username:"nicktrn",contributions:2,modules:["graphql-request"]},{id:48126337,username:"sduduzog",contributions:4,modules:["graphql-server"]},{id:6721822,username:"zeferinix",contributions:2,modules:["graphql-server"]},{id:35566481,username:"warlock1996",contributions:2,modules:["html-validator"]},{id:36807675,username:"kota-nakagawa",contributions:2,modules:["html-validator"]},{id:5963574,username:"nathanchase",contributions:2,modules:["html-validator"]},{id:45289373,username:"ryoheiw",contributions:2,modules:["html-validator"]},{id:11621780,username:"MoogyG",contributions:2,modules:["html-validator"]},{id:12776732,username:"zhuoqi-chen",contributions:2,modules:["html-validator"]},{id:61966716,username:"hbanham",contributions:2,modules:["html-validator"]},{id:9987732,username:"roiLeo",contributions:2,modules:["html-validator"]},{id:72989,username:"kazupon",contributions:754,modules:["i18n"]},{id:8896043,username:"borghol",contributions:6,modules:["i18n"]},{id:26435307,username:"Mosaab-Emam",contributions:4,modules:["i18n"]},{id:11198968,username:"TakCastel",contributions:4,modules:["i18n"]},{id:29367025,username:"wxh06",contributions:4,modules:["i18n"]},{id:1079135,username:"adriaanvanrossum",contributions:2,modules:["i18n"]},{id:1065569,username:"deepfriedmind",contributions:2,modules:["i18n"]},{id:1233149,username:"kovtunos",contributions:2,modules:["i18n"]},{id:64915763,username:"Simlor",contributions:2,modules:["i18n"]},{id:20292854,username:"imslepov",contributions:2,modules:["i18n"]},{id:2863444,username:"xfq",contributions:2,modules:["i18n"]},{id:17165633,username:"gffelisberto",contributions:2,modules:["i18n"]},{id:1069998,username:"ilkome",contributions:2,modules:["i18n"]},{id:28648060,username:"issenn",contributions:2,modules:["i18n"]},{id:11078941,username:"karam12",contributions:2,modules:["i18n"]},{id:20535974,username:"coremyslo",contributions:34,modules:["icon-font"]},{id:1094820,username:"JohnCampionJr",contributions:14,modules:["icon-tw"]},{id:77613333,username:"pixelastronauts",contributions:2,modules:["icon"]},{id:24279375,username:"gitFoxCode",contributions:68,modules:["icons"]},{id:47575319,username:"ghettoDdOS",contributions:6,modules:["icons"]},{id:48382105,username:"shba007",contributions:2,modules:["icons"]},{id:1109781,username:"tdekoning",contributions:2,modules:["icons"]},{id:21211734,username:"shadow81627",contributions:12,modules:["image"]},{id:13734256,username:"daletom",contributions:8,modules:["image"]},{id:3385679,username:"btkostner",contributions:6,modules:["image"]},{id:45005369,username:"ArmanNik",contributions:4,modules:["image"]},{id:41453547,username:"codeflorist",contributions:4,modules:["image"]},{id:10297,username:"jdempster",contributions:4,modules:["image"]},{id:6650139,username:"mayashavin",contributions:4,modules:["image"]},{id:6342102,username:"dosstx",contributions:4,modules:["image"]},{id:44122984,username:"PawFV",contributions:4,modules:["image"]},{id:5408097,username:"treboryx",contributions:4,modules:["image"]},{id:5109593,username:"Tragio",contributions:4,modules:["image"]},{id:40848950,username:"abhinavr4",contributions:4,modules:["image"]},{id:30387148,username:"niuyi1017",contributions:4,modules:["image"]},{id:18303390,username:"the94air",contributions:2,modules:["image"]},{id:2150306,username:"apollonian",contributions:2,modules:["image"]},{id:6179477,username:"alexgrozav",contributions:166,modules:["inkline"]},{id:40367173,username:"ceceliacreates",contributions:2,modules:["ionic"]},{id:10882793,username:"justRau",contributions:2,modules:["ionic"]},{id:34509813,username:"Mw3y",contributions:2,modules:["ionic"]},{id:192291,username:"tlebeitsuk",contributions:2,modules:["ionic"]},{id:6277206,username:"patrickcate",contributions:440,modules:["jsonapi"]},{id:12933109,username:"r9mp",contributions:2,modules:["jsonapi"]},{id:1312905,username:"DaveOrDead",contributions:10,modules:["kinde"]},{id:5681075,username:"grommas",contributions:2,modules:["kql"]},{id:78511840,username:"sot1986",contributions:32,modules:["laravel-precognition"]},{id:60187259,username:"cipami",contributions:78,modules:["lodash"]},{id:128857,username:"marshallswain",contributions:2,modules:["lodash"]},{id:19854715,username:"farzadso",contributions:738,modules:["logrocket"]},{id:498465,username:"gaelreyrol",contributions:2,modules:["logrocket"]},{id:32785527,username:"masayuki-tsuji",contributions:2,modules:["logrocket"]},{id:3475007,username:"JaZo",contributions:22,modules:["lucide-icons"]},{id:5618114,username:"drprofesq",contributions:4,modules:["lucide-icons"]},{id:29917252,username:"didavid61202",contributions:28,modules:["magic-regexp"]},{id:7966133,username:"aykutkardas",contributions:2,modules:["magic-regexp"]},{id:6822545,username:"ccjmne",contributions:2,modules:["magic-regexp"]},{id:42563517,username:"krowter",contributions:2,modules:["magic-regexp"]},{id:65339558,username:"xRSquared",contributions:2,modules:["magic-regexp"]},{id:30072175,username:"yjl9903",contributions:2,modules:["magic-regexp"]},{id:35442047,username:"kongmoumou",contributions:2,modules:["magic-regexp"]},{id:70888488,username:"zoeyzhao19",contributions:2,modules:["magic-regexp"]},{id:2184726,username:"dnyer11",contributions:2,modules:["maz-ui"]},{id:3728536,username:"jorgevrgs",contributions:2,modules:["maz-ui"]},{id:26676061,username:"malikdoksoz",contributions:2,modules:["maz-ui"]},{id:26164755,username:"oketafred",contributions:2,modules:["maz-ui"]},{id:398400,username:"pboos",contributions:2,modules:["maz-ui"]},{id:9120634,username:"mkt4ever",contributions:2,modules:["maz-ui"]},{id:16154728,username:"dimitrio-m",contributions:4,modules:["medusa"]},{id:13703238,username:"carpad88",contributions:2,modules:["medusa"]},{id:13418668,username:"xlanex6",contributions:214,modules:["meilisearch"]},{id:500843,username:"gleb-svechnikov",contributions:4,modules:["meilisearch"]},{id:5947268,username:"miguelgargallo",contributions:2,modules:["meilisearch"]},{id:10667160,username:"adenvt",contributions:120,modules:["nupolyon"]},{id:6690063,username:"manchenkoff",contributions:88,modules:["nuxt-auth-sanctum"]},{id:1983246,username:"kgierke",contributions:30,modules:["nuxt-basic-auth"]},{id:20330303,username:"SchnapsterDog",contributions:80,modules:["nuxt-chatgpt"]},{id:56158280,username:"AbdelH2O",contributions:2,modules:["nuxt-chatgpt"]},{id:4155003,username:"dulnan",contributions:278,modules:["nuxt-graphql-middleware"]},{id:432045,username:"ayalon",contributions:26,modules:["nuxt-graphql-middleware"]},{id:28696621,username:"ymmooot",contributions:1502,modules:["nuxt-jsonld"]},{id:7464929,username:"TeXmeijin",contributions:8,modules:["nuxt-jsonld"]},{id:17243595,username:"RyoNkmr",contributions:6,modules:["nuxt-jsonld"]},{id:472923,username:"quamsta",contributions:2,modules:["nuxt-jsonld"]},{id:837651,username:"jmyrland",contributions:2,modules:["nuxt-jsonld"]},{id:2091290,username:"reinoldus",contributions:2,modules:["nuxt-jsonld"]},{id:7361247,username:"tjkohli",contributions:2,modules:["nuxt-jsonld"]},{id:7507294,username:"yamotuki",contributions:2,modules:["nuxt-jsonld"]},{id:13484795,username:"dword-design",contributions:80,modules:["nuxt-mail"]},{id:65916846,username:"actions-user",contributions:38,modules:["nuxt-mail"]},{id:15963871,username:"Skyline96",contributions:2,modules:["nuxt-mail"]},{id:25974953,username:"test123456789012345",contributions:2,modules:["nuxt-mail"]},{id:9439243,username:"AlexLavoie42",contributions:746,modules:["nuxt-mapbox"]},{id:38594674,username:"ElvisGmz",contributions:2,modules:["nuxt-mapbox"]},{id:8896149,username:"ERPedersen",contributions:34,modules:["nuxt-mdi"]},{id:23521568,username:"e-chan1007",contributions:204,modules:["nuxt-monaco-editor"]},{id:31401273,username:"7PH",contributions:2,modules:["nuxt-monaco-editor"]},{id:9212274,username:"KABBOUCHI",contributions:2,modules:["nuxt-monaco-editor"]},{id:58112571,username:"starnayuta",contributions:2,modules:["nuxt-monaco-editor"]},{id:45233617,username:"joypal23jkp",contributions:2,modules:["nuxt-mongoose"]},{id:71969684,username:"amir-al-mohamad111",contributions:2,modules:["nuxt-mongoose"]},{id:21025134,username:"hymair",contributions:2,modules:["plausible"]},{id:36746429,username:"stefanobartoletti",contributions:200,modules:["nuxt-social-share"]},{id:2657709,username:"prashantpalikhe",contributions:106,modules:["ssr-lit"]},{id:994905,username:"steveworkman",contributions:60,modules:["ssr-lit"]},{id:40413829,username:"augustjk",contributions:2,modules:["ssr-lit"]},{id:10081464,username:"cpsoinos",contributions:84,modules:["nuxt-svgo"]},{id:134087665,username:"Dotmot",contributions:2,modules:["nuxt-svgo"]},{id:43762190,username:"josuelrocha",contributions:2,modules:["nuxt-svgo"]},{id:31704887,username:"letavocado",contributions:2,modules:["nuxt-svgo"]},{id:28987123,username:"ploca14",contributions:2,modules:["nuxt-viewport"]},{id:71973480,username:"gartonot",contributions:2,modules:["nuxt-viewport"]},{id:13379595,username:"kasvith",contributions:68,modules:["nuxt-vue3-google-signin"]},{id:47124570,username:"jvhellemondt",contributions:170,modules:["nuxt-vuetify"]},{id:26455591,username:"almahari",contributions:6,modules:["nuxt-vuetify"]},{id:63470020,username:"Gugustinette",contributions:98,modules:["nuxt3-leaflet"]},{id:2629739,username:"juno-w",contributions:4,modules:["og-image"]},{id:94787322,username:"aoor9",contributions:2,modules:["og-image"]},{id:7954293,username:"ucw",contributions:2,modules:["og-image"]},{id:42530725,username:"Joepocalyptic",contributions:36,modules:["particles"]},{id:6809809,username:"CodeDredd",contributions:576,modules:["pinia-orm"]},{id:118949383,username:"CarlosGamez-Nova",contributions:10,modules:["pinia-orm"]},{id:5176891,username:"tklaas",contributions:6,modules:["pinia-orm"]},{id:24190849,username:"tintin10q",contributions:4,modules:["pinia-orm"]},{id:6653185,username:"CarstenRuetz",contributions:2,modules:["pinia-orm"]},{id:56247129,username:"tripplicate",contributions:2,modules:["pinia-orm"]},{id:3520658,username:"igolka97",contributions:2,modules:["pinia-orm"]},{id:7502718,username:"liviuzachin",contributions:2,modules:["pinia-orm"]},{id:6750786,username:"mahmoudawadeen",contributions:2,modules:["pinia-orm"]},{id:1157401,username:"paolodina",contributions:2,modules:["pinia-orm"]},{id:5169543,username:"daniser",contributions:2,modules:["pinia-orm"]},{id:64213648,username:"sergerdn",contributions:2,modules:["pinia-orm"]},{id:29234377,username:"yyydevf",contributions:2,modules:["pinia-orm"]},{id:1631886,username:"prazdevs",contributions:842,modules:["pinia-plugin-persistedstate"]},{id:61290107,username:"N0tExisting",contributions:6,modules:["pinia-plugin-persistedstate"]},{id:98140702,username:"cloudmoonocus",contributions:6,modules:["pinia-plugin-persistedstate"]},{id:24972677,username:"chris-si",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:20186786,username:"lakuapik",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:608727,username:"Emory-M",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:32257184,username:"furkan-guvenc",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:105258159,username:"henriquevschroeder",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:58051684,username:"ivanq3w",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:73585109,username:"Kiansa",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:93523064,username:"MZ-Dlovely",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:97374,username:"proton",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:19306904,username:"sevsev9",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:28395172,username:"Svenlooo",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:13981214,username:"TobyMosque",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:11721361,username:"ajenkins-cargometrics",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:29780558,username:"lvsong77",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:28183123,username:"wukong-c",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:73663860,username:"xucxichcao",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:7400870,username:"Megasu",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:3766839,username:"nicodevs",contributions:28,modules:["pinia"]},{id:57580045,username:"wangenze267",contributions:12,modules:["pinia"]},{id:29396513,username:"Akhigbe-E",contributions:10,modules:["pinia"]},{id:46400789,username:"JeraldVin",contributions:8,modules:["pinia"]},{id:26253657,username:"niceplugin",contributions:8,modules:["pinia"]},{id:97254921,username:"tannazma",contributions:6,modules:["pinia"]},{id:41575890,username:"taist24",contributions:6,modules:["pinia"]},{id:10359255,username:"lazzzis",contributions:6,modules:["pinia"]},{id:24556921,username:"jeremygoccc",contributions:6,modules:["pinia"]},{id:27756206,username:"bashunaimiroy",contributions:4,modules:["pinia"]},{id:22983604,username:"BenShelton",contributions:4,modules:["pinia"]},{id:1223583,username:"bodograumann",contributions:4,modules:["pinia"]},{id:5460365,username:"DannyFeliz",contributions:4,modules:["pinia"]},{id:8009774,username:"davidshq",contributions:4,modules:["pinia"]},{id:499550,username:"yyx990803",contributions:4,modules:["pinia"]},{id:40666434,username:"WalkAlone0325",contributions:4,modules:["pinia"]},{id:31730646,username:"BlackCrowxyz",contributions:4,modules:["pinia"]},{id:22591269,username:"tkint",contributions:4,modules:["pinia"]},{id:360,username:"tslocke",contributions:4,modules:["pinia"]},{id:11868120,username:"mertsincan",contributions:114,modules:["primevue"]},{id:32294991,username:"tugcekucukoglu",contributions:8,modules:["primevue"]},{id:71143978,username:"jamespeggsh",contributions:90,modules:["prismic"]},{id:894505,username:"jamespegg",contributions:22,modules:["prismic"]},{id:6568065,username:"hypervillain",contributions:8,modules:["prismic"]},{id:6861048,username:"andypattenden",contributions:2,modules:["prismic"]},{id:8632276,username:"carlos-avila",contributions:2,modules:["prismic"]},{id:47417929,username:"Brewd3v",contributions:2,modules:["prismic"]},{id:32859437,username:"pvpg",contributions:2,modules:["prismic"]},{id:43381242,username:"priyaprafful",contributions:2,modules:["prismic"]},{id:9093671,username:"sergaks",contributions:2,modules:["prismic"]},{id:23378741,username:"tosbatti",contributions:2,modules:["prismic"]},{id:5988959,username:"arnaudlewis",contributions:2,modules:["prismic"]},{id:12496464,username:"artmizu",contributions:84,modules:["prometheus"]},{id:9136206,username:"Tchoupinax",contributions:2,modules:["prometheus"]},{id:5757263,username:"simllll",contributions:6,modules:["purgecss"]},{id:16958684,username:"bovas85",contributions:2,modules:["purgecss"]},{id:9549394,username:"studnitz",contributions:2,modules:["purgecss"]},{id:314872,username:"trecenti",contributions:2,modules:["purgecss"]},{id:1055769,username:"homerjam",contributions:2,modules:["purgecss"]},{id:8327054,username:"lecoueyl",contributions:2,modules:["purgecss"]},{id:34612598,username:"matschik",contributions:2,modules:["purgecss"]},{id:20733354,username:"miyanokomiya",contributions:2,modules:["purgecss"]},{id:37181247,username:"Maiquu",contributions:342,modules:["quasar"]},{id:15127381,username:"JasonLandbridge",contributions:18,modules:["quasar"]},{id:65054864,username:"cusitosr88",contributions:2,modules:["quasar"]},{id:13348876,username:"bbg",contributions:4,modules:["radash"]},{id:59365435,username:"zernonia",contributions:622,modules:["radix-vue"]},{id:101852870,username:"khairulhaaziq",contributions:324,modules:["radix-vue"]},{id:17759705,username:"mujahidfa",contributions:24,modules:["radix-vue"]},{id:51422045,username:"MellKam",contributions:22,modules:["radix-vue"]},{id:22072217,username:"onmax",contributions:14,modules:["radix-vue"]},{id:15260226,username:"kdnk",contributions:6,modules:["radix-vue"]},{id:47918504,username:"libondev",contributions:4,modules:["radix-vue"]},{id:20674057,username:"misbahansori",contributions:4,modules:["radix-vue"]},{id:17789047,username:"sadeghbarati",contributions:4,modules:["radix-vue"]},{id:75085249,username:"npldevfr",contributions:4,modules:["radix-vue"]},{id:37807381,username:"uyloal",contributions:4,modules:["radix-vue"]},{id:78960201,username:"aboubakrbm",contributions:2,modules:["radix-vue"]},{id:44473671,username:"D-Lite",contributions:2,modules:["radix-vue"]},{id:6420600,username:"DennisSmuda",contributions:2,modules:["radix-vue"]},{id:2422019,username:"edtorba",contributions:2,modules:["radix-vue"]},{id:8169933,username:"glennlaysonjr",contributions:2,modules:["radix-vue"]},{id:290496,username:"lepture",contributions:2,modules:["radix-vue"]},{id:56622402,username:"pkrinesh",contributions:2,modules:["radix-vue"]},{id:80677,username:"messenjer",contributions:2,modules:["radix-vue"]},{id:2727095,username:"steakscience",contributions:2,modules:["radix-vue"]},{id:13650518,username:"sdq-sts",contributions:2,modules:["radix-vue"]},{id:7533849,username:"tristandubbeld",contributions:2,modules:["radix-vue"]},{id:20427094,username:"owlnai",contributions:2,modules:["radix-vue"]},{id:649677,username:"nhedger",contributions:16,modules:["resend"]},{id:2766008,username:"WilliamDASILVA",contributions:62,modules:["robots"]},{id:469009,username:"rinu",contributions:4,modules:["robots"]},{id:6578052,username:"danielgroen",contributions:2,modules:["robots"]},{id:34515355,username:"matt-clegg",contributions:2,modules:["robots"]},{id:78361788,username:"patricrichard",contributions:2,modules:["robots"]},{id:77567,username:"weotch",contributions:2,modules:["robots"]},{id:17025257,username:"gekkedev",contributions:2,modules:["robots"]},{id:12688139,username:"nosfi831",contributions:2,modules:["robots"]},{id:1411843,username:"mornir",contributions:6,modules:["sanity"]},{id:40447,username:"okj579",contributions:4,modules:["sanity"]},{id:18035115,username:"aadgrant",contributions:4,modules:["sanity"]},{id:81981,username:"stipsan",contributions:2,modules:["sanity"]},{id:97258230,username:"safejace",contributions:2,modules:["sanity"]},{id:12168237,username:"liqueflies",contributions:2,modules:["sanity"]},{id:58360242,username:"Nelwhix",contributions:2,modules:["sanity"]},{id:1107521,username:"hacknug",contributions:2,modules:["sanity"]},{id:19529313,username:"niklas-may",contributions:2,modules:["sanity"]},{id:37446135,username:"SlicoHP",contributions:2,modules:["sanity"]},{id:3109921,username:"silvio-e",contributions:2,modules:["sanity"]},{id:915966,username:"sodevious",contributions:2,modules:["sanity"]},{id:5989846,username:"sanderdewinter",contributions:16,modules:["schema-org"]},{id:110889225,username:"sdewinter-maqqie",contributions:4,modules:["schema-org"]},{id:25445516,username:"birdlavv",contributions:2,modules:["schema-org"]},{id:2862673,username:"shven",contributions:2,modules:["schema-org"]},{id:7295259,username:"vejja",contributions:86,modules:["security"]},{id:28459081,username:"boring-dragon",contributions:4,modules:["security"]},{id:3862891,username:"espensgr",contributions:4,modules:["security"]},{id:17362753,username:"Droutin",contributions:4,modules:["security"]},{id:875533,username:"Tristan971",contributions:4,modules:["security"]},{id:2233663,username:"kouts",contributions:4,modules:["security"]},{id:26602940,username:"0xflotus",contributions:2,modules:["security"]},{id:38699378,username:"lanluartes",contributions:2,modules:["security"]},{id:24852502,username:"kyranet",contributions:2,modules:["security"]},{id:20408790,username:"fabricioOak",contributions:2,modules:["security"]},{id:20650401,username:"insomnius",contributions:2,modules:["security"]},{id:2222702,username:"mubaidr",contributions:2,modules:["security"]},{id:127685984,username:"BillyBouman-2B-IT",contributions:2,modules:["seo-kit"]},{id:60323306,username:"vasilistotskas",contributions:2,modules:["seo-kit"]},{id:19350560,username:"interpretor",contributions:6,modules:["session"]},{id:25990549,username:"Voltra",contributions:4,modules:["session"]},{id:15887916,username:"blumgart",contributions:2,modules:["session"]},{id:363330,username:"chriscdn",contributions:2,modules:["session"]},{id:44715857,username:"Twitch0125",contributions:2,modules:["session"]},{id:71883104,username:"re-mxp",contributions:2,modules:["session"]},{id:63050099,username:"mlutsiuk",contributions:8,modules:["sidebase-auth"]},{id:30736553,username:"LouisHaftmann",contributions:6,modules:["sidebase-auth"]},{id:64862099,username:"bmhtech07",contributions:4,modules:["sidebase-auth"]},{id:31987405,username:"anjarupnik",contributions:2,modules:["sidebase-auth"]},{id:20440899,username:"CodyBontecou",contributions:2,modules:["sidebase-auth"]},{id:63355,username:"drusellers",contributions:2,modules:["sidebase-auth"]},{id:928780,username:"genu",contributions:2,modules:["sidebase-auth"]},{id:74197546,username:"tnt-freskim-veliu",contributions:2,modules:["sidebase-auth"]},{id:43099880,username:"guesant",contributions:2,modules:["sidebase-auth"]},{id:34208843,username:"initred",contributions:2,modules:["sidebase-auth"]},{id:1769417,username:"IsraelOrtuno",contributions:2,modules:["sidebase-auth"]},{id:882219,username:"janhoogeveen",contributions:2,modules:["sidebase-auth"]},{id:17620516,username:"kashalls",contributions:2,modules:["sidebase-auth"]},{id:17332418,username:"KoenCa",contributions:2,modules:["sidebase-auth"]},{id:7632405,username:"lookto",contributions:2,modules:["sidebase-auth"]},{id:751979,username:"NielsJanssen",contributions:2,modules:["sidebase-auth"]},{id:16446824,username:"tirojal",contributions:2,modules:["simple-sitemap"]},{id:328718,username:"dulacp",contributions:2,modules:["simple-sitemap"]},{id:72107589,username:"damevin",contributions:2,modules:["simple-sitemap"]},{id:23519801,username:"PerssonAlbin",contributions:4,modules:["snackbar"]},{id:5096365,username:"yrming",contributions:2,modules:["snackbar"]},{id:36744484,username:"Dawntraoz",contributions:558,modules:["storyblok"]},{id:5701162,username:"alexjoverm",contributions:128,modules:["storyblok"]},{id:160495,username:"onefriendaday",contributions:64,modules:["storyblok"]},{id:81760207,username:"manuelschroederdev",contributions:60,modules:["storyblok"]},{id:20650272,username:"christianzoppi",contributions:58,modules:["storyblok"]},{id:5083273,username:"SebbeJohansson",contributions:22,modules:["storyblok"]},{id:20342656,username:"emanuelgsouza",contributions:20,modules:["storyblok"]},{id:16301998,username:"markus-gx",contributions:14,modules:["storyblok"]},{id:11278408,username:"lisilinhart",contributions:12,modules:["storyblok"]},{id:5185019,username:"samuells",contributions:10,modules:["storyblok"]},{id:7952803,username:"DominikAngerer",contributions:4,modules:["storyblok"]},{id:34036252,username:"Adamkillander96",contributions:2,modules:["storyblok"]},{id:86311095,username:"cmorrow-rv",contributions:2,modules:["storyblok"]},{id:678434,username:"roberto-butti",contributions:2,modules:["storyblok"]},{id:9434493,username:"tguelcan",contributions:2,modules:["storyblok"]},{id:711292,username:"chakAs3",contributions:194,modules:["storybook"]},{id:247713,username:"bmulholland",contributions:2,modules:["storybook"]},{id:13274728,username:"doseofted",contributions:8,modules:["strapi"]},{id:946345,username:"ChristopheCVB",contributions:4,modules:["strapi"]},{id:37207714,username:"luke-z",contributions:4,modules:["strapi"]},{id:4003538,username:"acekyd",contributions:2,modules:["strapi"]},{id:1231359,username:"cssmagic",contributions:2,modules:["strapi"]},{id:25715982,username:"cpaczek",contributions:2,modules:["strapi"]},{id:10612835,username:"Kapcash",contributions:2,modules:["strapi"]},{id:19965325,username:"joelbqz",contributions:2,modules:["strapi"]},{id:61506420,username:"LuckeeDev",contributions:2,modules:["strapi"]},{id:4400999,username:"acerspyro",contributions:2,modules:["strapi"]},{id:1983382,username:"katerlouis",contributions:2,modules:["strapi"]},{id:14164020,username:"rbrannath",contributions:2,modules:["strapi"]},{id:8755623,username:"fuentesloic",contributions:28,modules:["stripe-next"]},{id:20086673,username:"munierujp",contributions:2,modules:["stylelint"]},{id:1023734,username:"roelvanhintum",contributions:2,modules:["stylelint"]},{id:5113257,username:"mainrs",contributions:2,modules:["stylelint"]},{id:14016808,username:"Machy8",contributions:1368,modules:["stylify"]},{id:77530871,username:"JirakLu",contributions:8,modules:["stylify"]},{id:30605984,username:"MilesPernicious",contributions:4,modules:["stylify"]},{id:5823770,username:"Aietes",contributions:6,modules:["supabase"]},{id:1259364,username:"levibe",contributions:4,modules:["supabase"]},{id:982975,username:"AlbertBrand",contributions:4,modules:["supabase"]},{id:96275757,username:"52cs",contributions:2,modules:["supabase"]},{id:38134195,username:"amrnn90",contributions:2,modules:["supabase"]},{id:69633530,username:"florian-lefebvre",contributions:2,modules:["supabase"]},{id:40766799,username:"tnntwister",contributions:2,modules:["supabase"]},{id:49143414,username:"hafizjavaid",contributions:2,modules:["supabase"]},{id:31483041,username:"jonesisg1",contributions:2,modules:["supabase"]},{id:36164786,username:"Jclong98",contributions:2,modules:["supabase"]},{id:44449,username:"jawngee",contributions:2,modules:["supabase"]},{id:44786998,username:"josueayala27",contributions:2,modules:["supabase"]},{id:1248148,username:"blqke",contributions:2,modules:["supabase"]},{id:7809845,username:"psto",contributions:2,modules:["supabase"]},{id:16954673,username:"relisora",contributions:2,modules:["supabase"]},{id:38413630,username:"icarusgk",contributions:2,modules:["supabase"]},{id:11446010,username:"jubeiam",contributions:4,modules:["svg-sprite"]},{id:4581398,username:"yurks",contributions:4,modules:["svg-sprite"]},{id:63285903,username:"TroAlexis",contributions:2,modules:["svg-sprite"]},{id:5218341,username:"haan123",contributions:2,modules:["svg-sprite"]},{id:3998654,username:"ilya-buligin",contributions:2,modules:["svg-sprite"]},{id:5410417,username:"lennoximus",contributions:2,modules:["svg-sprite"]},{id:9404365,username:"obennaci",contributions:2,modules:["svg-sprite"]},{id:5718030,username:"robikovacs",contributions:2,modules:["svg-sprite"]},{id:23457585,username:"Tomaszal",contributions:2,modules:["svg-sprite"]},{id:2068895,username:"twxia",contributions:2,modules:["svg-sprite"]},{id:23022574,username:"TakNePoidet",contributions:12,modules:["swiper"]},{id:5721341,username:"AGPDev",contributions:2,modules:["swiper"]},{id:56671014,username:"Soya-xy",contributions:2,modules:["swiper"]},{id:1384775,username:"hfoletto",contributions:6,modules:["tailvue"]},{id:25044744,username:"tcampbPPU",contributions:6,modules:["tailvue"]},{id:1526840,username:"davidnknight",contributions:2,modules:["tailvue"]},{id:4019718,username:"favna",contributions:2,modules:["tailvue"]},{id:1329592,username:"makkarpov",contributions:4,modules:["tailwindcss"]},{id:28691559,username:"Ricklin90085",contributions:4,modules:["tailwindcss"]},{id:2793951,username:"RomainLanz",contributions:4,modules:["tailwindcss"]},{id:53976837,username:"RomainMazB",contributions:4,modules:["tailwindcss"]},{id:7577851,username:"axieum",contributions:2,modules:["tailwindcss"]},{id:246254,username:"disusered",contributions:2,modules:["tailwindcss"]},{id:15019332,username:"chettapong",contributions:2,modules:["tailwindcss"]},{id:48431,username:"texastoland",contributions:2,modules:["tresjs"]},{id:15042849,username:"scalemaildev",contributions:2,modules:["turnstile"]},{id:23470589,username:"dnlsndr",contributions:2,modules:["turnstile"]},{id:25430449,username:"PatrickMi",contributions:2,modules:["turnstile"]},{id:16725310,username:"SvenWesterlaken",contributions:2,modules:["turnstile"]},{id:11949520,username:"acidbiscuit",contributions:2,modules:["turnstile"]},{id:89916568,username:"alinakuzina",contributions:2,modules:["turnstile"]},{id:7620438,username:"mbgspcii",contributions:746,modules:["twicpics"]},{id:160354,username:"jaubourg",contributions:232,modules:["twicpics"]},{id:5786750,username:"Strift",contributions:48,modules:["twicpics"]},{id:15092120,username:"victorgarciaesgi",contributions:506,modules:["typed-router"]},{id:48443363,username:"victortotem",contributions:58,modules:["typed-router"]},{id:43795814,username:"thunfisch987",contributions:4,modules:["typed-router"]},{id:65359713,username:"mahdiboomeri",contributions:2,modules:["typed-router"]},{id:317957,username:"unr",contributions:2,modules:["typed-router"]},{id:93888971,username:"UfukUstali",contributions:2,modules:["typed-router"]},{id:38240008,username:"m-conti",contributions:2,modules:["typed-router"]},{id:7935392,username:"mercs600",contributions:206,modules:["typo3"]},{id:64216939,username:"mouflondarko",contributions:6,modules:["typo3"]},{id:515397,username:"tmotyl",contributions:6,modules:["typo3"]},{id:3374563,username:"develth",contributions:4,modules:["typo3"]},{id:46626775,username:"KrohnMi",contributions:2,modules:["typo3"]},{id:37311945,username:"Haythamasalama",contributions:52,modules:["ui"]},{id:25613751,username:"romhml",contributions:22,modules:["ui"]},{id:7356077,username:"connerblanton",contributions:18,modules:["ui"]},{id:18414281,username:"KeJunMao",contributions:12,modules:["ui"]},{id:5141911,username:"DarkGhostHunter",contributions:10,modules:["ui"]},{id:138564696,username:"aditio-eka",contributions:6,modules:["ui"]},{id:11923242,username:"Sma11X",contributions:6,modules:["ui"]},{id:57699643,username:"maxsteinwand",contributions:6,modules:["ui"]},{id:40647432,username:"171h",contributions:4,modules:["ui"]},{id:5249946,username:"9uenther",contributions:4,modules:["ui"]},{id:56026608,username:"Levy-from-Odessa",contributions:4,modules:["ui"]},{id:6144489,username:"mcastagnetti",contributions:4,modules:["ui"]},{id:898549,username:"graup",contributions:4,modules:["ui"]},{id:6969872,username:"TomSmith27",contributions:4,modules:["ui"]},{id:6909744,username:"jduartea",contributions:4,modules:["ui"]},{id:76627776,username:"mwohlan",contributions:4,modules:["ui"]},{id:1768483,username:"albertcito",contributions:2,modules:["ui"]},{id:4410452,username:"LarchLiu",contributions:2,modules:["ui"]},{id:46224115,username:"asbermudez",contributions:2,modules:["umami"]},{id:65968861,username:"vencho-mdp",contributions:2,modules:["umami"]},{id:59120414,username:"Velka-DEV",contributions:2,modules:["umami"]},{id:1394374,username:"john-dev",contributions:2,modules:["umami"]},{id:52704891,username:"felixranesberger",contributions:6,modules:["unlazy"]},{id:1885157,username:"eric-hc",contributions:2,modules:["unlazy"]},{id:13888023,username:"zZeepo",contributions:8,modules:["unlighthouse"]},{id:1296369,username:"brianteeman",contributions:4,modules:["unlighthouse"]},{id:501424,username:"mastoj",contributions:4,modules:["unlighthouse"]},{id:48238174,username:"brahms116",contributions:2,modules:["unlighthouse"]},{id:71390226,username:"FinnPaes",contributions:2,modules:["unlighthouse"]},{id:40826752,username:"marcelxpfeifer",contributions:2,modules:["unlighthouse"]},{id:27637,username:"mountainash",contributions:2,modules:["unlighthouse"]},{id:82072867,username:"Nick-BlueSkyLabs",contributions:2,modules:["unlighthouse"]},{id:21295394,username:"NielsPilgaard",contributions:2,modules:["unlighthouse"]},{id:18357571,username:"pedddro",contributions:2,modules:["unlighthouse"]},{id:22201189,username:"lutejka",contributions:2,modules:["unlighthouse"]},{id:58180803,username:"tuminzee",contributions:2,modules:["unlighthouse"]},{id:379924,username:"chu121su12",contributions:634,modules:["unocss"]},{id:16288797,username:"hannoeru",contributions:58,modules:["unocss"]},{id:7559478,username:"jacob-8",contributions:40,modules:["unocss"]},{id:76603360,username:"sudongyuer",contributions:38,modules:["unocss"]},{id:16945858,username:"chizukicn",contributions:36,modules:["unocss"]},{id:57086651,username:"Simon-He95",contributions:30,modules:["unocss"]},{id:31278178,username:"edwardnyc",contributions:28,modules:["unocss"]},{id:31543482,username:"QiroNT",contributions:26,modules:["unocss"]},{id:16460309,username:"action-hong",contributions:22,modules:["unocss"]},{id:110549389,username:"henrikvilhelmberglund",contributions:20,modules:["unocss"]},{id:33021497,username:"TrickyPi",contributions:16,modules:["unocss"]},{id:53554371,username:"Hongbusi",contributions:16,modules:["unocss"]},{id:17521736,username:"equt",contributions:16,modules:["unocss"]},{id:21221921,username:"wkeylin",contributions:16,modules:["unocss"]},{id:39750199,username:"xiaojieajie",contributions:14,modules:["unocss"]},{id:8610935,username:"praburangki",contributions:14,modules:["unocss"]},{id:49056869,username:"sapphi-red",contributions:14,modules:["unocss"]},{id:32727188,username:"ydcjeff",contributions:12,modules:["unocss"]},{id:24277775,username:"zam157",contributions:12,modules:["unocss"]},{id:52692296,username:"zojize",contributions:12,modules:["unocss"]},{id:31918458,username:"unicape",contributions:384,modules:["use-wagmi"]},{id:6038417,username:"0x62",contributions:4,modules:["use-wagmi"]},{id:18377068,username:"francelwebdev",contributions:2,modules:["use-wagmi"]},{id:7237365,username:"chenjiahan",contributions:4,modules:["vant"]},{id:5123266,username:"retrogradeMT",contributions:2,modules:["vant"]},{id:43628500,username:"zhangmo8",contributions:28,modules:["varlet"]},{id:24223652,username:"haoziqaq",contributions:2,modules:["varlet"]},{id:33263129,username:"samk-dev",contributions:40,modules:["vcalendar"]},{id:6261322,username:"logaretm",contributions:8078,modules:["vee-validate"]},{id:5625680,username:"BrandonSurowiec",contributions:62,modules:["vee-validate"]},{id:10794213,username:"gldraphael",contributions:36,modules:["vee-validate"]},{id:6641565,username:"sbarfurth",contributions:22,modules:["vee-validate"]},{id:58624773,username:"abdelrahman3d",contributions:22,modules:["vee-validate"]},{id:4276422,username:"Stephen2",contributions:18,modules:["vee-validate"]},{id:13732585,username:"agentschmitt",contributions:18,modules:["vee-validate"]},{id:8316698,username:"jonathan-soifer",contributions:14,modules:["vee-validate"]},{id:6796124,username:"ThomHurks",contributions:12,modules:["vee-validate"]},{id:6563980,username:"judocode",contributions:10,modules:["vee-validate"]},{id:1016218,username:"escapedcat",contributions:10,modules:["vee-validate"]},{id:13547533,username:"ClaudioEyzaguirre",contributions:8,modules:["vee-validate"]},{id:40390596,username:"DM2489",contributions:8,modules:["vee-validate"]},{id:2737132,username:"jacobmllr95",contributions:8,modules:["vee-validate"]},{id:81405223,username:"Kimbo0o",contributions:8,modules:["vee-validate"]},{id:14740780,username:"rousos87",contributions:8,modules:["vee-validate"]},{id:10348212,username:"dfcook",contributions:8,modules:["vee-validate"]},{id:5793796,username:"smilee",contributions:8,modules:["vee-validate"]},{id:1185891,username:"kacinskas",contributions:8,modules:["vee-validate"]},{id:7074890,username:"giokaxo",contributions:8,modules:["vee-validate"]},{id:3132508,username:"idrafttt",contributions:8,modules:["vee-validate"]},{id:2236793,username:"grinn",contributions:8,modules:["vee-validate"]},{id:7269466,username:"lomotech",contributions:8,modules:["vee-validate"]},{id:9426721,username:"imcvampire",contributions:8,modules:["vee-validate"]},{id:507838,username:"berfenger",contributions:6,modules:["vee-validate"]},{id:84926,username:"edbizarro",contributions:6,modules:["vee-validate"]},{id:52774564,username:"xanderbarkhatov",contributions:70,modules:["vercel-analytics"]},{id:40221744,username:"qmhc",contributions:70,modules:["vexip-ui"]},{id:324147,username:"oskarols",contributions:8,modules:["vitest"]},{id:1765584,username:"lassediercks",contributions:6,modules:["vitest"]},{id:7252657,username:"maartenvanhunsel",contributions:4,modules:["vitest"]},{id:3009534,username:"mvanalphen",contributions:4,modules:["vitest"]},{id:463319,username:"nicolaspayot",contributions:4,modules:["vitest"]},{id:16363180,username:"DevDengChao",contributions:4,modules:["vitest"]},{id:2262772,username:"aapokiiso",contributions:2,modules:["vitest"]},{id:105530193,username:"Luzefiru",contributions:2,modules:["vitest"]},{id:51514282,username:"ghazialhouwari",contributions:2,modules:["vitest"]},{id:51118271,username:"jgonz3",contributions:2,modules:["vitest"]},{id:12714499,username:"rinux55",contributions:2,modules:["vitest"]},{id:12376435,username:"odinti",contributions:2,modules:["vitest"]},{id:951290,username:"TimvdEijnden",contributions:2,modules:["vitest"]},{id:97700093,username:"dsvgl",contributions:2,modules:["vitest"]},{id:40494306,username:"erikkkwu",contributions:2,modules:["vitest"]},{id:135640725,username:"niko-chaffinchicas",contributions:2,modules:["vitest"]},{id:49698182,username:"Dave136",contributions:278,modules:["vue-email"]},{id:25314426,username:"badalya1",contributions:2,modules:["vue-email"]},{id:573708,username:"jeam",contributions:2,modules:["vue-email"]},{id:15190246,username:"hunterliu1003",contributions:2552,modules:["vue-final-modal"]},{id:22654053,username:"fatihsolhan",contributions:20,modules:["vue-final-modal"]},{id:3253920,username:"mesqueeb",contributions:14,modules:["vue-final-modal"]},{id:474175,username:"benrolfe",contributions:2,modules:["vue-final-modal"]},{id:26389990,username:"chemsedd",contributions:2,modules:["vue-final-modal"]},{id:94387,username:"Offlein",contributions:2,modules:["vue-final-modal"]},{id:8252238,username:"guillaumebriday",contributions:2,modules:["vue-final-modal"]},{id:7781761,username:"Roxas92",contributions:2,modules:["vue-final-modal"]},{id:16818271,username:"Dschungelabenteuer",contributions:2,modules:["vue-final-modal"]},{id:12557018,username:"netolicak",contributions:2,modules:["vue-final-modal"]},{id:589744,username:"ul8",contributions:2,modules:["vue-final-modal"]},{id:32807958,username:"zhiyuanzmj",contributions:52,modules:["vue-macros"]},{id:49969959,username:"alexzhang1030",contributions:24,modules:["vue-macros"]},{id:76111612,username:"isolcat",contributions:8,modules:["vue-macros"]},{id:29159838,username:"hydrati",contributions:6,modules:["vue-macros"]},{id:43827016,username:"zzhenryquezz",contributions:4,modules:["vue-macros"]},{id:24601590,username:"konata33",contributions:4,modules:["vue-macros"]},{id:17617116,username:"AliceLanniste",contributions:2,modules:["vue-macros"]},{id:67255597,username:"binotaliu",contributions:2,modules:["vue-macros"]},{id:45616067,username:"cullyfung",contributions:2,modules:["vue-macros"]},{id:43873521,username:"iEuJen",contributions:2,modules:["vue-macros"]},{id:22819074,username:"FrankCheungDev",contributions:2,modules:["vue-macros"]},{id:41265413,username:"Innei",contributions:2,modules:["vue-macros"]},{id:35426360,username:"Jungzl",contributions:2,modules:["vue-macros"]},{id:50254496,username:"LoTwT",contributions:2,modules:["vue-macros"]},{id:74575471,username:"Lzzzs",contributions:2,modules:["vue-macros"]},{id:51503,username:"mtorromeo",contributions:2,modules:["vue-macros"]},{id:74761884,username:"Gehbt",contributions:2,modules:["vue-macros"]},{id:73387709,username:"GODLiangCY",contributions:2,modules:["vue-macros"]},{id:40021217,username:"kingyue737",contributions:2,modules:["vue-macros"]},{id:110709026,username:"arstnei0",contributions:2,modules:["vue-macros"]},{id:44473551,username:"kekexunxun",contributions:2,modules:["vue-macros"]},{id:20167257,username:"cunzaizhuyi",contributions:2,modules:["vue-macros"]},{id:12619763,username:"duowb",contributions:2,modules:["vue-macros"]},{id:49679666,username:"MorevM",contributions:238,modules:["vue-transitions"]},{id:53798165,username:"FRO1D",contributions:20,modules:["vue-transitions"]},{id:25927835,username:"trickstival",contributions:30,modules:["vuefire"]},{id:22968511,username:"sweethuman",contributions:6,modules:["vuefire"]},{id:7257092,username:"luc122c",contributions:6,modules:["vuefire"]},{id:1965207,username:"joplomacedo",contributions:4,modules:["vuefire"]},{id:358009,username:"mason",contributions:4,modules:["vuefire"]},{id:2066617,username:"sheriffderek",contributions:4,modules:["vuefire"]},{id:20881844,username:"darrelfrancis",contributions:4,modules:["vuefire"]},{id:8573325,username:"ElBatanony",contributions:2,modules:["vuefire"]},{id:436888,username:"alex88",contributions:2,modules:["vuefire"]},{id:6147968,username:"hootlex",contributions:2,modules:["vuefire"]},{id:5897209,username:"Runeii",contributions:2,modules:["vuefire"]},{id:54869395,username:"llamington",contributions:2,modules:["vuefire"]},{id:35183,username:"bsaf",contributions:2,modules:["vuefire"]},{id:138886,username:"bkuri",contributions:2,modules:["vuefire"]},{id:38957202,username:"billyyyyy3320",contributions:2,modules:["vuefire"]},{id:3791599,username:"BradDuns",contributions:2,modules:["vuefire"]},{id:31621095,username:"charles-allen",contributions:2,modules:["vuefire"]},{id:25098427,username:"chidindu-ogbonna",contributions:2,modules:["vuefire"]},{id:777506,username:"ser1us",contributions:2,modules:["vuefire"]},{id:2292121,username:"Obeyed",contributions:2,modules:["vuefire"]},{id:31723722,username:"EmilienLeroy",contributions:2,modules:["vuefire"]},{id:11366,username:"epall",contributions:2,modules:["vuefire"]},{id:5368213,username:"codeams",contributions:2,modules:["vuefire"]},{id:34515228,username:"fooooooooooooooo",contributions:2,modules:["vuefire"]},{id:30729198,username:"szabolcsmucsi",contributions:156,modules:["vueform"]},{id:61869085,username:"bereczi",contributions:18,modules:["vueform"]},{id:67012849,username:"ivanpisa",contributions:2,modules:["vueform"]},{id:17225564,username:"tomasvn",contributions:2,modules:["vueform"]},{id:23530004,username:"m0ksem",contributions:1900,modules:["vuestic"]},{id:5394573,username:"asvae",contributions:766,modules:["vuestic"]},{id:11652328,username:"untael",contributions:434,modules:["vuestic"]},{id:45711229,username:"kushich",contributions:380,modules:["vuestic"]},{id:64714442,username:"aluarius",contributions:300,modules:["vuestic"]},{id:55198465,username:"RVitaly1978",contributions:262,modules:["vuestic"]},{id:29167241,username:"rustem-nasyrov",contributions:240,modules:["vuestic"]},{id:25908959,username:"vlad-shusterman",contributions:206,modules:["vuestic"]},{id:9782236,username:"smellyshovel",contributions:124,modules:["vuestic"]},{id:7745899,username:"Derranion",contributions:108,modules:["vuestic"]},{id:39219429,username:"AlexanderBoriskin",contributions:102,modules:["vuestic"]},{id:20516743,username:"eqxs",contributions:96,modules:["vuestic"]},{id:47790197,username:"LighthouseKeeperYN",contributions:88,modules:["vuestic"]},{id:11391037,username:"nastassiadanilova",contributions:80,modules:["vuestic"]},{id:24375400,username:"raichev-dima",contributions:80,modules:["vuestic"]},{id:18417066,username:"Eugenizer",contributions:74,modules:["vuestic"]},{id:29925191,username:"SergeiPleshkov",contributions:68,modules:["vuestic"]},{id:1770218,username:"xiongmao86",contributions:64,modules:["vuestic"]},{id:11361743,username:"misterpekert",contributions:52,modules:["vuestic"]},{id:118062031,username:"Roman4437",contributions:50,modules:["vuestic"]},{id:20461547,username:"sergey-kravcov",contributions:44,modules:["vuestic"]},{id:35342240,username:"zvenigorodskaia",contributions:44,modules:["vuestic"]},{id:37382639,username:"DieselTripleX",contributions:42,modules:["vuestic"]},{id:3674348,username:"smartapant",contributions:40,modules:["vuestic"]},{id:13301570,username:"Kreezag",contributions:38,modules:["vuestic"]},{id:10356386,username:"damirJa",contributions:28,modules:["vuestic"]},{id:20753143,username:"ilearnjs",contributions:28,modules:["vuestic"]},{id:46869767,username:"Azgiliat",contributions:22,modules:["vuestic"]},{id:60774386,username:"alygee",contributions:22,modules:["vuestic"]},{id:46492597,username:"Dominic-Marcelino",contributions:2,modules:["vuetify-nuxt-module"]},{id:822287,username:"cyberalien",contributions:2,modules:["vuetify-nuxt-module"]},{id:22525904,username:"okxiaoliang4",contributions:178,modules:["vueuse"]},{id:7064956,username:"wheatjs",contributions:132,modules:["vueuse"]},{id:55641773,username:"Alfred-Skyblue",contributions:122,modules:["vueuse"]},{id:7980426,username:"scottbedard",contributions:46,modules:["vueuse"]},{id:1490347,username:"anteriovieira",contributions:44,modules:["vueuse"]},{id:1662812,username:"cawa-93",contributions:30,modules:["vueuse"]},{id:583075,username:"patak-dev",contributions:28,modules:["vueuse"]},{id:50733859,username:"chaii3",contributions:28,modules:["vueuse"]},{id:30516060,username:"vaakian",contributions:28,modules:["vueuse"]},{id:3038600,username:"curtgrimes",contributions:26,modules:["vueuse"]},{id:102238922,username:"sun0day",contributions:26,modules:["vueuse"]},{id:84131395,username:"michealroberts",contributions:26,modules:["vueuse"]},{id:48953604,username:"lstoeferle",contributions:22,modules:["vueuse"]},{id:6625879,username:"Waleed-KH",contributions:18,modules:["vueuse"]},{id:10274099,username:"ferferga",contributions:16,modules:["vueuse"]},{id:47144873,username:"harmyderoman",contributions:16,modules:["vueuse"]},{id:7195563,username:"Shinigami92",contributions:16,modules:["vueuse"]},{id:13330620,username:"wvffle",contributions:14,modules:["vueuse"]},{id:24516654,username:"btea",contributions:14,modules:["vueuse"]},{id:44631608,username:"Doctor-wu",contributions:12,modules:["vueuse"]},{id:50230578,username:"jbaubree",contributions:12,modules:["vueuse"]},{id:17229256,username:"wtykirby",contributions:12,modules:["vueuse"]},{id:19204772,username:"LittleSound",contributions:12,modules:["vueuse"]},{id:29141517,username:"manupit",contributions:2,modules:["vunix"]},{id:2535410,username:"zitscher",contributions:6,modules:["web-vitals"]},{id:118734217,username:"burda-osowiecki",contributions:4,modules:["web-vitals"]},{id:9151572,username:"GerryWilko",contributions:2,modules:["web-vitals"]},{id:3352476,username:"PizzaPete",contributions:2,modules:["web-vitals"]},{id:29565989,username:"ats0405",contributions:2,modules:["web-vitals"]},{id:34863253,username:"iranagame",contributions:2,modules:["web-vitals"]},{id:1568539,username:"vlozanov",contributions:2,modules:["web-vitals"]},{id:4896588,username:"jrozanski",contributions:36,modules:["wideangle"]},{id:19635443,username:"rvdriest",contributions:6,modules:["wideangle"]},{id:32807382,username:"BrandonlinU",contributions:2,modules:["windicss"]},{id:188172,username:"ManUtopiK",contributions:2,modules:["windicss"]},{id:24515434,username:"ontoneio",contributions:2,modules:["windicss"]},{id:15808,username:"freality",contributions:2,modules:["windicss"]},{id:46477357,username:"H37kouya",contributions:2,modules:["windicss"]},{id:291185,username:"nulltask",contributions:2,modules:["windicss"]},{id:1940038,username:"replygirl",contributions:2,modules:["windicss"]},{id:69119532,username:"voorjaar",contributions:2,modules:["windicss"]}],Dh=[{name:"algolia",description:"Algolia Search Module for Nuxt",repo:"nuxt-modules/algolia",npm:"@nuxtjs/algolia",icon:"algolia.svg",github:"https://github.com/nuxt-modules/algolia",website:"https://algolia.nuxtjs.org/",learn_more:"https://algolia.nuxtjs.org/",category:"Libraries",type:"community",maintainers:[{name:"Jakub Andrzejewski",github:"Baroshem",avatar:"https://avatars2.githubusercontent.com/u/37120330?v=4?s=80"},{name:"Yasser Lahbibi",github:"yassilah",avatar:"https://avatars.githubusercontent.com/u/13403295?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:14379,stars:161,watchers:161,forks:29,defaultBranch:"main",publishedAt:1698653796385,createdAt:1644492211890},contributors:[{id:37120330,username:"Baroshem",contributions:230},{id:13403295,username:"yassilah",contributions:37},{id:1385263,username:"Tahul",contributions:23},{id:31937175,username:"Lehoczky",contributions:12},{id:5158436,username:"pi0",contributions:8},{id:59223342,username:"Intevel",contributions:6},{id:71639887,username:"LoMonacoSalvatore",contributions:4},{id:5067135,username:"vilhelmjosander",contributions:4},{id:1218730,username:"Rigo-m",contributions:3},{id:6096645,username:"Laruxo",contributions:2},{id:342104,username:"podlebar",contributions:1},{id:977957,username:"camaech",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:1060523,username:"digbyk",contributions:1},{id:86659,username:"francois2metz",contributions:1},{id:50699657,username:"vanling",contributions:1},{id:2671726,username:"Triloworld",contributions:1},{id:49845356,username:"zal1000",contributions:1}]},{name:"animejs",description:"Anime.js module for Nuxt",repo:"hypernym-studio/nuxt-anime",npm:"@hypernym/nuxt-anime",icon:"",github:"https://github.com/hypernym-studio/nuxt-anime",website:"https://github.com/hypernym-studio/nuxt-anime",learn_more:"",category:"Libraries",type:"3rd-party",maintainers:[{name:"ivodolenc",github:"ivodolenc"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:2768,stars:89,watchers:89,forks:6,defaultBranch:"main",publishedAt:1694525351986,createdAt:1683217815649},contributors:[{id:51852491,username:"ivodolenc",contributions:50},{id:53905713,username:"BayBreezy",contributions:1}]},{name:"ant-design-vue",description:"A Vue 3 based component library for designers and developers",repo:"vueComponent/ant-design-vue-nuxt",npm:"@ant-design-vue/nuxt",icon:"ant-design-vue.svg",github:"https://github.com/vueComponent/ant-design-vue-nuxt",website:"https://antdv.com",learn_more:"https://github.com/vueComponent/ant-design-vue-nuxt",category:"UI",type:"3rd-party",maintainers:[{name:"tangjinzhou",github:"tangjinzhou"}],compatibility:{nuxt:"^3.0.0",requires:{bridge:"optional"}},stats:{downloads:4010,stars:30,watchers:30,forks:2,defaultBranch:"main",publishedAt:1699925459984,createdAt:1685497851059},contributors:[{id:45655660,username:"aibayanyu20",contributions:42},{id:19869755,username:"M4rcDev",contributions:1}]},{name:"aos",description:"A Nuxt module that adds Animate On Scroll",repo:"egidiusmengelberg/nuxt-aos",npm:"nuxt-aos",icon:"aos.png",github:"https://github.com/egidiusmengelberg/nuxt-aos",website:"https://github.com/egidiusmengelberg/nuxt-aos",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"egidiusmengelberg",github:"egidiusmengelberg"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:785,stars:25,watchers:25,forks:1,defaultBranch:"main",publishedAt:1698661687231,createdAt:1691596410225},contributors:[{id:22946100,username:"egidiusmengelberg",contributions:27},{id:30053061,username:"rubymignot",contributions:6},{id:53905713,username:"BayBreezy",contributions:2}]},{name:"api-party",description:"Nuxt module to securely connect with any API – server proxy & dynamic composable names",repo:"johannschopplich/nuxt-api-party",npm:"nuxt-api-party",icon:"api-party.svg",github:"https://github.com/johannschopplich/nuxt-api-party",website:"https://nuxt-api-party.jhnn.dev/",learn_more:"",category:"Request",type:"3rd-party",maintainers:[{name:"Johann Schopplich",github:"johannschopplich",twitter:"jschopplich",avatar:"https://avatars.githubusercontent.com/johannschopplich?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3384,stars:174,watchers:174,forks:8,defaultBranch:"main",publishedAt:1699274068551,createdAt:1665155479432},contributors:[{id:27850750,username:"johannschopplich",contributions:365},{id:3409962,username:"killjoy1221",contributions:8},{id:1071091,username:"mbaertschi",contributions:1},{id:10401817,username:"brawaru",contributions:1}]},{name:"apollo",description:"Integrate GraphQL in your Nuxt apps using vue-apollo.",repo:"nuxt-modules/apollo",npm:"@nuxtjs/apollo",icon:"apollo.png",github:"https://github.com/nuxt-modules/apollo",website:"https://apollo.nuxtjs.org",learn_more:"https://apollo.vuejs.org/guide/#what-is-graphql",category:"Request",type:"community",maintainers:[{name:"Conrawl Rogers",github:"diizzayy",twitter:"diizzayy",avatar:"https://avatars.githubusercontent.com/diizzayy?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:102664,stars:889,watchers:889,forks:182,defaultBranch:"v5",publishedAt:1698936807271,createdAt:1501165840691},contributors:[{id:13093313,username:"kieusonlam",contributions:166},{id:489221,username:"dohomi",contributions:135},{id:19627670,username:"Diizzayy",contributions:26},{id:904724,username:"Atinux",contributions:22},{id:9392723,username:"negezor",contributions:11},{id:2362138,username:"Gomah",contributions:8},{id:1344792,username:"orblazer",contributions:7},{id:2840504,username:"Hendrixer",contributions:6},{id:3911343,username:"stafyniaksacha",contributions:4},{id:640208,username:"manniL",contributions:3},{id:25272043,username:"kevinmarrec",contributions:3},{id:11846736,username:"pschaub",contributions:3},{id:8104244,username:"Fju",contributions:3},{id:6331737,username:"igtm",contributions:3},{id:4313116,username:"wulfmann",contributions:2},{id:92431,username:"mvgrimes",contributions:2},{id:29191131,username:"pepsighan",contributions:2},{id:132138,username:"stefl",contributions:2},{id:14890575,username:"bviala",contributions:2},{id:6222908,username:"zhanafe",contributions:2},{id:2766448,username:"AndrewBogdanovTSS",contributions:1},{id:867717,username:"chriscalo",contributions:1},{id:1349865,username:"dhritzkiv",contributions:1},{id:2647472,username:"Digni",contributions:1},{id:571159,username:"aldarund",contributions:1},{id:621454,username:"ducngtuan",contributions:1},{id:581678,username:"francoisp",contributions:1},{id:1808444,username:"bissolli",contributions:1}]},{name:"appwrite",description:"Appwrite module for Nuxt",repo:"Hrdtr/nuxt-appwrite",npm:"nuxt-appwrite",icon:"appwrite.png",github:"https://github.com/Hrdtr/nuxt-appwrite",website:"https://github.com/Hrdtr/nuxt-appwrite",learn_more:"",category:"Database",type:"3rd-party",maintainers:[{name:"Hrdtr",github:"Hrdtr"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:399,stars:41,watchers:41,forks:5,defaultBranch:"main",publishedAt:1700109442498,createdAt:1610928495135},contributors:[{id:35950229,username:"Hrdtr",contributions:91},{id:28706372,username:"danielroe",contributions:1}]},{name:"arco-design-nuxt-module",description:"Nuxt Module for Arco Design Vue. Automatically import components, icons and more.",repo:"wiidede/arco-design-nuxt-module",npm:"arco-design-nuxt-module",icon:"arco-design.svg",github:"https://github.com/wiidede/arco-design-nuxt-module",website:"https://arco.design/vue",learn_more:"https://github.com/wiidede/arco-design-nuxt-module#readme",category:"UI",type:"3rd-party",maintainers:[{name:"wiidede",github:"wiidede"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:418,stars:8,watchers:8,forks:0,defaultBranch:"main",publishedAt:1700468232719,createdAt:1692584141446},contributors:[{id:25472916,username:"wiidede",contributions:56}]},{name:"ark-ui",description:"A headless library for building reusable, scalable design systems that works for a wide range of JS frameworks.",repo:"iamdin/nuxt-ark-ui",npm:"nuxt-ark-ui",icon:"ark-ui.svg",github:"https://github.com/iamdin/nuxt-ark-ui",website:"https://ark-ui.com/",learn_more:"https://github.com/iamdin/nuxt-ark-ui",category:"UI",type:"3rd-party",maintainers:[{name:"Din",github:"iamdin",twitter:"iamdinq"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:163,stars:3,watchers:3,forks:0,defaultBranch:"main",publishedAt:1696489124159,createdAt:1689739616465},contributors:[{id:36906371,username:"iamdin",contributions:17}]},{name:"auth-utils",description:"Minimalist Auth module for Nuxt with SSR.",repo:"atinux/nuxt-auth-utils",npm:"nuxt-auth-utils",icon:"",github:"https://github.com/atinux/nuxt-auth-utils",website:"https://github.com/atinux/nuxt-auth-utils",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"atinux",github:"atinux"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:848,stars:213,watchers:213,forks:18,defaultBranch:"main",publishedAt:1700589738824,createdAt:1699356484873},contributors:[{id:904724,username:"Atinux",contributions:21},{id:28706372,username:"danielroe",contributions:11},{id:50090595,username:"ahmedrangel",contributions:1},{id:22255990,username:"aksharahegde",contributions:1},{id:8012430,username:"Azurency",contributions:1},{id:38922203,username:"arashsheyda",contributions:1},{id:12988935,username:"Gerbuuun",contributions:1},{id:17186421,username:"samulefevre",contributions:1},{id:18753964,username:"sifferhans",contributions:1},{id:67746033,username:"justserdar",contributions:1}]},{name:"authjs",description:"Auth.js authentication Nuxt module. Edge compatible.",repo:"Hebilicious/authjs-nuxt#main",npm:"@hebilicious/authjs-nuxt",icon:"authjs.png",github:"https://github.com/Hebilicious/authjs-nuxt",website:"https://authjs-nuxt.pages.dev/",learn_more:"https://authjs.dev/",category:"Security",type:"3rd-party",maintainers:[{name:"Hebilicious",github:"Hebilicious",twitter:"its_hebilicious"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3586,stars:149,watchers:149,forks:16,defaultBranch:"main",publishedAt:1697625470821,createdAt:1683825243774},contributors:[{id:13395944,username:"Hebilicious",contributions:138},{id:106826371,username:"selemondev",contributions:2},{id:58686898,username:"AwesomeDude091",contributions:1},{id:53905713,username:"BayBreezy",contributions:1},{id:12956751,username:"musikid",contributions:1},{id:9140811,username:"andreasvirkus",contributions:1},{id:5930734,username:"dissy123",contributions:1}]},{name:"auto-animate",description:"Automatic animations for your Nuxt app with a single line of code.",repo:"formkit/auto-animate",npm:"@formkit/auto-animate",icon:"auto-animate.svg",github:"https://github.com/formkit/auto-animate",website:"https://auto-animate.formkit.com",learn_more:"https://auto-animate.formkit.com",category:"Libraries",type:"3rd-party",maintainers:[{name:"Justin Schroeder",github:"justin-schroeder",twitter:"jpschroeder"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:456479,stars:10478,watchers:10478,forks:180,defaultBranch:"master",publishedAt:1699301808014,createdAt:1652819674320},contributors:[{id:1950463,username:"justin-schroeder",contributions:185},{id:16452789,username:"nirtamir2",contributions:13},{id:11545316,username:"luan-nk-nguyen",contributions:11},{id:2691730,username:"Waterstraal",contributions:8},{id:1720349,username:"FlatMapIO",contributions:3},{id:32803395,username:"benrandja-akram",contributions:3},{id:11185022,username:"AlexVipond",contributions:2},{id:24707417,username:"wangjue666",contributions:2},{id:61237195,username:"lukaszarpak",contributions:2},{id:3534427,username:"Link2Twenty",contributions:1},{id:22795807,username:"apenab",contributions:1},{id:6007292,username:"beenotung",contributions:1},{id:260431,username:"bengry",contributions:1},{id:7635209,username:"danielkellyio",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:28103674,username:"rodakd",contributions:1},{id:80443898,username:"GeraOSF",contributions:1},{id:124833,username:"carusog",contributions:1},{id:2974948,username:"jhubbardsf",contributions:1},{id:23322562,username:"KamilBeda",contributions:1},{id:44045911,username:"kidonng",contributions:1},{id:599538,username:"verheyenkoen",contributions:1},{id:45705859,username:"zhengkyl",contributions:1},{id:83799,username:"evoactivity",contributions:1},{id:11494384,username:"markflorkowski",contributions:1},{id:2837147,username:"MentalGear",contributions:1},{id:24510745,username:"maico910",contributions:1},{id:43639707,username:"mohamedaleya",contributions:1},{id:107163858,username:"sanyamjain04",contributions:1},{id:16858097,username:"cszackrison",contributions:1}]},{name:"bugsnag",description:"Bugsnag integration for nuxt.js. Makes it easy to add bugsnag to your Project. Supports uploading source maps.",repo:"JulianMar/nuxt-bugsnag",npm:"nuxt-bugsnag",icon:"bugsnag.png",github:"https://github.com/JulianMar/nuxt-bugsnag",website:"https://github.com/JulianMar/nuxt-bugsnag",learn_more:"https://www.bugsnag.com/",category:"Monitoring",type:"3rd-party",maintainers:[{name:"JulianMar",github:"JulianMar",twitter:"julian_martin96"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:14853,stars:46,watchers:46,forks:14,defaultBranch:"main",publishedAt:1699443852581,createdAt:1569252307360},contributors:[{id:29117090,username:"JulianMar",contributions:94},{id:1544760,username:"dritter",contributions:4},{id:251322,username:"mwidmann",contributions:1},{id:475137,username:"jasonparekh",contributions:1}]},{name:"calendly",description:"Calendly is a scheduling tool that allows you to schedule meetings with your customers. This module allows you to easily add Calendly to your Nuxt application.",repo:"madebyfabian/nuxt-calendly",npm:"nuxt-calendly",icon:"calendly.svg",github:"https://github.com/madebyfabian/nuxt-calendly",website:"https://nuxt-calendly.vercel.app/",learn_more:"https://calendly.com/",category:"Extensions",type:"3rd-party",maintainers:[{name:"Fabian B.",github:"madebyfabian",twitter:"madebyfabian"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1828,stars:30,watchers:30,forks:2,defaultBranch:"main",publishedAt:1697806097419,createdAt:1675104450045},contributors:[{id:32813692,username:"madebyfabian",contributions:50},{id:33683845,username:"Brinken90",contributions:2},{id:28706372,username:"danielroe",contributions:1}]},{name:"capo",description:"Capo.js implementation for Nuxt",repo:"danielroe/nuxt-capo",npm:"nuxt-capo",icon:"",github:"https://github.com/danielroe/nuxt-capo",website:"https://github.com/danielroe/nuxt-capo",learn_more:"",category:"Performance",type:"3rd-party",maintainers:[{name:"danielroe",github:"danielroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3497,stars:70,watchers:70,forks:2,defaultBranch:"main",publishedAt:1684859933336,createdAt:1684859932935},contributors:[{id:28706372,username:"danielroe",contributions:6},{id:17185737,username:"McPizza0",contributions:1}]},{name:"chatwoot",description:"Chatwoot is an open-source customer engagement platform that helps companies engage their customers on their website",repo:"productdevbookcom/chatwoot",npm:"@productdevbook/chatwoot",icon:"chatwoot.png",github:"https://github.com/productdevbookcom/chatwoot",website:"https://github.com/productdevbookcom/chatwoot",learn_more:"https://www.chatwoot.com",category:"Libraries",type:"3rd-party",maintainers:[{name:"productdevbook",github:"productdevbook"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:928,stars:12,watchers:12,forks:2,defaultBranch:"main",publishedAt:1696151572377,createdAt:1678976392944},contributors:[{id:38668796,username:"productdevbook",contributions:35},{id:2246121,username:"pranavrajs",contributions:1}]},{name:"clarity-analytics",description:"Clarity Analytics Module for Nuxt",repo:"Barbapapazes/nuxt-clarity-analytics",npm:"nuxt-clarity-analytics",icon:"",github:"https://github.com/Barbapapazes/nuxt-clarity-analytics",website:"https://github.com/Barbapapazes/nuxt-clarity-analytics#readme",learn_more:"https://clarity.microsoft.com/",category:"Analytics",type:"3rd-party",maintainers:[{name:"Barbapapazes",github:"Barbapapazes",twitter:"soubiran_"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1632,stars:6,watchers:6,forks:0,defaultBranch:"main",publishedAt:1692258897487,createdAt:1677235223211},contributors:[{id:45267552,username:"Barbapapazes",contributions:18}]},{name:"cloudflare-analytics",description:"Cloudflare Web Analytics Module for Nuxt",repo:"hamlogic/nuxt-cloudflare-analytics",npm:"nuxt-cloudflare-analytics",icon:"cloudflare.svg",github:"https://github.com/hamlogic/nuxt-cloudflare-analytics",website:"https://github.com/hamlogic/nuxt-cloudflare-analytics",learn_more:"https://www.cloudflare.com/web-analytics/",category:"Analytics",type:"3rd-party",maintainers:[{name:"hamlogic",github:"hamlogic"},{name:"Fabian B.",github:"madebyfabian",twitter:"madebyfabian"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1937,stars:26,watchers:26,forks:0,defaultBranch:"main",publishedAt:1676049251575,createdAt:1617002031376},contributors:[{id:35456489,username:"hamlogic",contributions:11},{id:32813692,username:"madebyfabian",contributions:1}]},{name:"color-mode",description:"Dark and Light mode for Nuxt with auto detection",repo:"nuxt-modules/color-mode",npm:"@nuxtjs/color-mode",icon:"color-mode.png",github:"https://github.com/nuxt-modules/color-mode",website:"https://color-mode.nuxtjs.org",learn_more:"",category:"UI",type:"community",maintainers:[{name:"Sébastien Chopin",github:"Atinux",twitter:"Atinux"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:211774,stars:964,watchers:964,forks:91,defaultBranch:"master",publishedAt:1700066094260,createdAt:1586963139679},contributors:[{id:904724,username:"Atinux",contributions:96},{id:28706372,username:"danielroe",contributions:42},{id:11247099,username:"antfu",contributions:5},{id:739984,username:"benjamincanac",contributions:3},{id:13063165,username:"debs-obrien",contributions:3},{id:7547335,username:"smarroufin",contributions:3},{id:5158436,username:"pi0",contributions:2},{id:6324332,username:"jankal",contributions:2},{id:26418696,username:"adufr",contributions:1},{id:59223342,username:"Intevel",contributions:1},{id:5724535,username:"FelixGraf",contributions:1},{id:20434351,username:"jefrydco",contributions:1},{id:43202397,username:"aerophobic",contributions:1},{id:32184109,username:"rajaaltus",contributions:1},{id:23402178,username:"TheLearneer",contributions:1},{id:45076741,username:"bdrtsky",contributions:1},{id:6261271,username:"Kolahzary",contributions:1},{id:6967412,username:"szwenni",contributions:1},{id:770560,username:"Knogobert",contributions:1},{id:68200738,username:"tikkeninc",contributions:1},{id:26242554,username:"Luferov",contributions:1},{id:4312154,username:"clarkdo",contributions:1},{id:1385263,username:"Tahul",contributions:1},{id:51456572,username:"ga676005",contributions:1},{id:48633842,username:"hamsoover",contributions:1}]},{name:"content-assets",description:"Enable locally-located assets in Nuxt Content",repo:"davestewart/nuxt-content-assets",npm:"nuxt-content-assets",icon:"content-assets.png",github:"https://github.com/davestewart/nuxt-content-assets",website:"https://davestewart.co.uk/projects/open-source/nuxt-content-assets/",learn_more:"",category:"Images",type:"3rd-party",maintainers:[{name:"davestewart",github:"davestewart",twitter:"dave_stewart"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:2555,stars:83,watchers:83,forks:4,defaultBranch:"main",publishedAt:1694699748207,createdAt:1680531916091},contributors:[{id:132681,username:"davestewart",contributions:66},{id:1246641,username:"ThomasWT",contributions:2},{id:28706372,username:"danielroe",contributions:1},{id:1467123,username:"imphil",contributions:1}]},{name:"content",description:"Nuxt Content reads the content/ directory in your project, parses .md, .yml, .csv or .json files and creates a powerful data layer for your application. Bonus, use Vue components in Markdown with the MDC syntax.",repo:"nuxt/content#main",npm:"@nuxt/content",icon:"nuxt.svg",github:"https://github.com/nuxt/content",website:"https://content.nuxtjs.org",learn_more:"",category:"CMS",type:"official",maintainers:[{name:"Yaël Guilloux",github:"Tahul",twitter:"yaeeelglx"},{name:"Ahad Birang",github:"farnabaz",twitter:"a_birang"},{name:"Sebastien Chopin",github:"Atinux",twitter:"Atinux"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:154717,stars:2817,watchers:2817,forks:578,defaultBranch:"main",publishedAt:1698421078912,createdAt:1588695113804},contributors:[{id:2047945,username:"farnabaz",contributions:434},{id:739984,username:"benjamincanac",contributions:423},{id:904724,username:"Atinux",contributions:329},{id:1385263,username:"Tahul",contributions:240},{id:1439623,username:"clemcode",contributions:59},{id:5158436,username:"pi0",contributions:42},{id:44443899,username:"nobkd",contributions:30},{id:16436160,username:"NozomuIkuta",contributions:22},{id:45267552,username:"Barbapapazes",contributions:20},{id:28706372,username:"danielroe",contributions:15},{id:18027877,username:"cogor",contributions:15},{id:45076741,username:"bdrtsky",contributions:11},{id:25272043,username:"kevinmarrec",contributions:9},{id:2152968,username:"ThomOrlo",contributions:9},{id:5326365,username:"harlan-zw",contributions:8},{id:24830662,username:"mathe42",contributions:8},{id:4084277,username:"alexchopin",contributions:8},{id:1840026,username:"maximepvrt",contributions:7},{id:13063165,username:"debs-obrien",contributions:5},{id:640208,username:"manniL",contributions:5},{id:42867097,username:"azrikahar",contributions:5},{id:20434351,username:"jefrydco",contributions:3},{id:9429420,username:"Geminii",contributions:3},{id:2198527,username:"AlexanderBelokon",contributions:3},{id:5704043,username:"Qwertovsky",contributions:3},{id:59682979,username:"utamori",contributions:3},{id:4836334,username:"bencodezen",contributions:2},{id:411874,username:"cexbrayat",contributions:2}]},{name:"cookie-control",description:"A highly configurable cookie banner for Nuxt.",repo:"dargmuesli/nuxt-cookie-control",npm:"@dargmuesli/nuxt-cookie-control",icon:"cookie-control.png",github:"https://github.com/dargmuesli/nuxt-cookie-control",website:"https://github.com/dargmuesli/nuxt-cookie-control",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"dargmuesli",github:"dargmuesli",avatar:"https://avatars.githubusercontent.com/dargmuesli"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:16363,stars:148,watchers:148,forks:30,defaultBranch:"master",publishedAt:1700614712175,createdAt:1649077128707},contributors:[{id:4778485,username:"dargmuesli",contributions:269},{id:25792848,username:"darioferderber",contributions:102},{id:4638669,username:"tomfri",contributions:3},{id:1590095,username:"alexandrecanijo",contributions:2},{id:3233370,username:"chz",contributions:2},{id:28706372,username:"danielroe",contributions:2},{id:8450519,username:"oneWaveAdrian",contributions:2},{id:3023969,username:"AlexNimoy",contributions:1},{id:612946,username:"gilles6",contributions:1},{id:78584173,username:"hslee2008",contributions:1},{id:1417473,username:"devzom",contributions:1},{id:63512348,username:"huang-julien",contributions:1},{id:74457237,username:"matt-rolley",contributions:1},{id:34566290,username:"MaySoMusician",contributions:1},{id:28047867,username:"milos5593",contributions:1},{id:15806356,username:"misaon",contributions:1},{id:40442783,username:"onurdumangoz",contributions:1},{id:5302658,username:"patriciorivera",contributions:1},{id:85927,username:"raducretu",contributions:1},{id:65167772,username:"roy-pon",contributions:1},{id:105625087,username:"SampoVirmasalo",contributions:1},{id:59170152,username:"KerneggerTim",contributions:1},{id:64546764,username:"VentsislavBorislavov",contributions:1},{id:1240104,username:"kukac7",contributions:1},{id:47293315,username:"den-kar",contributions:1},{id:59049879,username:"ensag-dev",contributions:1},{id:99841792,username:"marcusarnfast",contributions:1}]},{name:"csurf",description:"Cross-Site Request Forgery (CSRF) Prevention for Nuxt",repo:"morgbn/nuxt-csurf",npm:"nuxt-csurf",icon:"csurf.svg",github:"https://github.com/morgbn/nuxt-csurf",website:"https://github.com/morgbn/nuxt-csurf",learn_more:"https://github.com/Morgbn/nuxt-csurf#readme",category:"Security",type:"3rd-party",maintainers:[{name:"morgbn",github:"morgbn",avatar:"https://avatars.githubusercontent.com/u/25689856?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:67333,stars:33,watchers:33,forks:6,defaultBranch:"main",publishedAt:1694451888681,createdAt:1674141073347},contributors:[{id:25689856,username:"Morgbn",contributions:33}]},{name:"datocms",description:"DatoCMS module for Nuxt",repo:"hex-digital/nuxt-datocms",npm:"@hexdigital/nuxt-datocms",icon:"datocms.svg",github:"https://github.com/hex-digital/nuxt-datocms",website:"https://github.com/hex-digital/nuxt-datocms#readme",learn_more:"https://www.datocms.com/",category:"CMS",type:"3rd-party",maintainers:[{name:"Jamie Warburton",github:"jamiewarb",twitter:"jamiewarb",avatar:"https://avatars.githubusercontent.com/jamiewarb?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:152,stars:7,watchers:7,forks:1,defaultBranch:"main",publishedAt:1688979396448,createdAt:1679091246623},contributors:[{id:2754728,username:"Jamiewarb",contributions:35},{id:22666637,username:"bensherred",contributions:1}]},{name:"dayjs",description:"Day.js module for Nuxt",repo:"fumeapp/dayjs",npm:"dayjs-nuxt",icon:"day-js.png",github:"https://github.com/fumeapp/dayjs",website:"https://github.com/fumeapp/dayjs",learn_more:"https://day.js.org/",category:"Libraries",type:"3rd-party",maintainers:[{name:"Kevin Olson",github:"acidjazz",twitter:"AppFume"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:37293,stars:76,watchers:76,forks:9,defaultBranch:"main",publishedAt:1697763852097,createdAt:1682759263551},contributors:[{id:967369,username:"acidjazz",contributions:92},{id:11255009,username:"GaborTorma",contributions:9},{id:2212056,username:"jb-alvarado",contributions:8},{id:103981778,username:"jeevanya",contributions:1},{id:15177236,username:"JoaoPedroAS51",contributions:1},{id:12596485,username:"reslear",contributions:1}]},{name:"delay-hydration",description:"Improve your Nuxt v2 Google Lighthouse score by delaying hydration.",repo:"harlan-zw/nuxt-delay-hydration",npm:"nuxt-delay-hydration",icon:"lighthouse.svg",github:"https://github.com/harlan-zw/nuxt-delay-hydration",website:"https://github.com/harlan-zw/nuxt-delay-hydration",learn_more:"",category:"Performance",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:35768,stars:280,watchers:280,forks:15,defaultBranch:"main",publishedAt:1699937989162,createdAt:1628047530359},contributors:[{id:5326365,username:"harlan-zw",contributions:188},{id:16275591,username:"s8n11c",contributions:1},{id:22586260,username:"hieu-ht",contributions:1},{id:70710,username:"mbreit",contributions:1},{id:3125972,username:"ram-you",contributions:1},{id:7460168,username:"jbmolle",contributions:1},{id:15785987,username:"samydoesit",contributions:1}]},{name:"device",description:"Device detection module for Nuxt",repo:"nuxt-modules/device",npm:"@nuxtjs/device",icon:"",github:"https://github.com/nuxt-modules/device",website:"https://github.com/nuxt-modules/device",learn_more:"",category:"Extensions",type:"community",maintainers:[{name:"Shinji Yamada",github:"dotneet"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:237213,stars:791,watchers:791,forks:47,defaultBranch:"master",publishedAt:1694848048104,createdAt:1565803511781},contributors:[{id:370602,username:"dotneet",contributions:122},{id:25185835,username:"Redemption198",contributions:33},{id:9975630,username:"nachogarcia",contributions:6},{id:12392573,username:"randompch",contributions:5},{id:4074597,username:"MikeCaputo",contributions:4},{id:904724,username:"Atinux",contributions:4},{id:20489824,username:"MaxNvk",contributions:2},{id:13103045,username:"iliyaZelenko",contributions:2},{id:11496358,username:"aayushgoyal",contributions:1},{id:13887407,username:"apgapg",contributions:1},{id:24225949,username:"b-jan",contributions:1},{id:5326365,username:"harlan-zw",contributions:1},{id:11614639,username:"JasonGotGithub",contributions:1},{id:1658644,username:"LeCoupa",contributions:1},{id:54757902,username:"imlautaro",contributions:1},{id:6993514,username:"potato4d",contributions:1},{id:14403446,username:"vodnicearv",contributions:1},{id:654889,username:"yshrsmz",contributions:1},{id:1970283,username:"aggre",contributions:1},{id:17667652,username:"hareku",contributions:1},{id:36569518,username:"markthree",contributions:1},{id:24970784,username:"mvrlin",contributions:1}]},{name:"devtools",description:"Unleash Nuxt Developer Experience. A set of visual tools that help you to know your app better.",repo:"nuxt/devtools#main/packages/devtools",npm:"@nuxt/devtools",icon:"nuxt.svg",github:"https://github.com/nuxt/devtools",website:"https://devtools.nuxtjs.org/",learn_more:"",category:"Devtools",type:"official",maintainers:[{name:"Anthony Fu",github:"antfu",twitter:"antfu7"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:888490,stars:2401,watchers:2401,forks:113,defaultBranch:"main",publishedAt:1700488541639,createdAt:1675895165880},contributors:[{id:11247099,username:"antfu",contributions:700},{id:38922203,username:"arashsheyda",contributions:82},{id:904724,username:"Atinux",contributions:43},{id:5158436,username:"pi0",contributions:29},{id:29743310,username:"Jannchie",contributions:7},{id:1240374,username:"lustremedia",contributions:7},{id:5326365,username:"harlan-zw",contributions:4},{id:739984,username:"benjamincanac",contributions:3},{id:63512348,username:"huang-julien",contributions:3},{id:39936160,username:"qiuqfang",contributions:3},{id:35883748,username:"Flowko",contributions:3},{id:54026110,username:"Lmmmmmm-bb",contributions:3},{id:59717852,username:"zuixinwang",contributions:3},{id:640208,username:"manniL",contributions:2},{id:1439623,username:"clemcode",contributions:2},{id:11806619,username:"withyellow",contributions:2},{id:28706372,username:"danielroe",contributions:2},{id:6696789,username:"Flosciante",contributions:2},{id:79358543,username:"zackha",contributions:2},{id:22515951,username:"webfansplz",contributions:2},{id:60472462,username:"abhay-111",contributions:1},{id:380026,username:"ambroisemaupate",contributions:1},{id:55608642,username:"BluesYoung-web",contributions:1},{id:6649305,username:"BobbieGoede",contributions:1},{id:18496305,username:"CSY54",contributions:1},{id:6619884,username:"cpreston321",contributions:1},{id:60586899,username:"claranceliberi",contributions:1},{id:23231126,username:"Clive-Ward-Cron",contributions:1},{id:1493221,username:"cuebit",contributions:1}]},{name:"directus",description:"Easily connect your Nuxt application to your directus server.",repo:"intevel/nuxt-directus",npm:"nuxt-directus",icon:"directus.svg",github:"https://github.com/intevel/nuxt-directus/",website:"https://nuxt-directus.site/",learn_more:"https://nuxt-directus.site/",category:"CMS",type:"3rd-party",maintainers:[{name:"Conner Bachmann",github:"intevel",avatar:"https://avatars.githubusercontent.com/u/59223342?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:4659,stars:219,watchers:219,forks:43,defaultBranch:"main",publishedAt:1697695692441,createdAt:1648374197556},contributors:[{id:59223342,username:"Intevel",contributions:222},{id:93563771,username:"codiam",contributions:22},{id:85650530,username:"casualmatt",contributions:14},{id:74846767,username:"Danielwinkelmann",contributions:7},{id:3519378,username:"amerkay",contributions:7},{id:13056429,username:"Sandros94",contributions:7},{id:324026,username:"craigharman",contributions:7},{id:8554558,username:"NMathar",contributions:3},{id:15140041,username:"rashidpathiyil",contributions:3},{id:47723417,username:"xNaCly",contributions:3},{id:80765270,username:"VicFleur",contributions:1},{id:24437987,username:"linkb15",contributions:1},{id:38366502,username:"ranseur92",contributions:1},{id:7526014,username:"dwaring87",contributions:1},{id:52180080,username:"florianjs",contributions:1},{id:946853,username:"scherii",contributions:1},{id:10852176,username:"halwesit",contributions:1},{id:303791,username:"JereMiO",contributions:1},{id:1553757,username:"mklueh",contributions:1},{id:1492215,username:"Nainterceptor",contributions:1},{id:904724,username:"Atinux",contributions:1},{id:2711970,username:"ymilhahn",contributions:1},{id:17858793,username:"dochoss",contributions:1},{id:18407632,username:"drennvinn",contributions:1}]},{name:"disqus",description:"Disqus Comments Module for Nuxt - Instantly add a comment widget to your app",repo:"modbender/nuxt-disqus",npm:"nuxt-disqus",icon:"disqus.svg",github:"https://github.com/modbender/nuxt-disqus",website:"https://github.com/modbender/nuxt-disqus",learn_more:"https://github.com/modbender/vue3-disqus",category:"Libraries",type:"3rd-party",maintainers:[{name:"modbender",github:"modbender"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:463,stars:3,watchers:3,forks:0,defaultBranch:"main",publishedAt:1689011404109,createdAt:1689011403603},contributors:[{id:25717245,username:"modbender",contributions:7}]},{name:"edgedb",description:"Integrate Nuxt 3 with EdgeDB effortlessly, adding a robust database layer to your app with minimal configuration.",repo:"Tahul/nuxt-edgedb",npm:"nuxt-edgedb-module",icon:"edgedb.svg",github:"https://github.com/Tahul/nuxt-edgedb",website:"https://github.com/Tahul/nuxt-edgedb",learn_more:"https://github.com/Tahul/nuxt-edgedb",category:"Database",type:"3rd-party",maintainers:[{name:"Yaël Guilloux",github:"Tahul",twitter:"yaeeelglx"}],compatibility:{nuxt:"^3.8.0",requires:{}},stats:{downloads:438,stars:40,watchers:40,forks:1,defaultBranch:"main",publishedAt:1700674738613,createdAt:1699677181203},contributors:[{id:1385263,username:"Tahul",contributions:32}]},{name:"electron",description:"Integrate Nuxt and Electron.",repo:"caoxiemeihao/nuxt-electron",npm:"nuxt-electron",icon:"electron.svg",github:"https://github.com/caoxiemeihao/nuxt-electron",website:"https://github.com/caoxiemeihao/nuxt-electron",learn_more:"https://github.com/caoxiemeihao/nuxt-electron#readme",category:"Extensions",type:"3rd-party",maintainers:[{name:"草鞋没号",github:"caoxiemeihao"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:5363,stars:120,watchers:120,forks:12,defaultBranch:"main",publishedAt:1689561907219,createdAt:1670825070068},contributors:[{id:26263658,username:"caoxiemeihao",contributions:84},{id:32047986,username:"gurvancampion",contributions:1},{id:8638243,username:"jofftiquez",contributions:1},{id:57059138,username:"OyewoleOyedeji",contributions:1},{id:58381667,username:"so1ve",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"element-plus",description:"A Vue 3 based component library for designers and developers",repo:"element-plus/element-plus-nuxt",npm:"@element-plus/nuxt",icon:"element-plus.svg",github:"https://github.com/element-plus/element-plus",website:"https://element-plus.org",learn_more:"https://github.com/element-plus/element-plus-nuxt",category:"UI",type:"3rd-party",maintainers:[{name:"tolking",github:"tolking"}],compatibility:{nuxt:"^3.0.0",requires:{bridge:"optional"}},stats:{downloads:31047,stars:82,watchers:82,forks:12,defaultBranch:"main",publishedAt:1700375932009,createdAt:1672843966105},contributors:[{id:23313167,username:"tolking",contributions:37},{id:73709188,username:"HigherOrderLogic",contributions:1},{id:15975785,username:"jw-foss",contributions:1},{id:7093483,username:"kakajansh",contributions:1},{id:1385160,username:"foxted",contributions:1}]},{name:"emotion",description:"The Next Generation of CSS-in-JS for Nuxt",repo:"nuxt-modules/emotion",npm:"@nuxtjs/emotion",icon:"emotion.png",github:"https://github.com/nuxt-modules/emotion",website:"https://github.com/nuxt-modules/emotion",learn_more:"https://emotion.sh/",category:"Extensions",type:"community",maintainers:[{name:"Pooya Parsa",github:"pi0",twitter:"_pi0_"},{name:"Jonathan Bakebwa",github:"codebender828",twitter:"codebender828"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:2472,stars:84,watchers:84,forks:2,defaultBranch:"main",publishedAt:1677314964116,createdAt:1549742221007},contributors:[{id:21237954,username:"codebender828",contributions:44},{id:5158436,username:"pi0",contributions:6},{id:13064722,username:"ricardogobbosouza",contributions:5},{id:640208,username:"manniL",contributions:2}]},{name:"eslint",description:"ESLint module for Nuxt",repo:"nuxt-community/eslint-module",npm:"@nuxtjs/eslint-module",icon:"eslint.png",github:"https://github.com/nuxt-community/eslint-module",website:"https://github.com/nuxt-community/eslint-module",learn_more:"https://eslint.org/",category:"Devtools",type:"community",maintainers:[{name:"Ricardo Gobbo de Souza",github:"ricardogobbosouza"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:695455,stars:125,watchers:125,forks:14,defaultBranch:"main",publishedAt:1685026613316,createdAt:1549990313813},contributors:[{id:13064722,username:"ricardogobbosouza",contributions:81},{id:6134547,username:"yoyo837",contributions:1},{id:7900646,username:"arikw",contributions:1},{id:28821368,username:"damisparks",contributions:1},{id:1154044,username:"rlam3",contributions:1}]},{name:"fontaine",description:"Automatically optimized font fallback based on font metrics",repo:"nuxt-modules/fontaine",npm:"@nuxtjs/fontaine",icon:"fontaine.png",github:"https://github.com/nuxt-modules/fontaine",website:"https://github.com/unjs/fontaine",learn_more:"https://github.com/unjs/fontaine",category:"Performance",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:27292,stars:262,watchers:262,forks:11,defaultBranch:"main",publishedAt:1690058978622,createdAt:1666093992333},contributors:[{id:28706372,username:"danielroe",contributions:40},{id:23550517,username:"alexbidenko",contributions:1},{id:48835293,username:"DamianGlowala",contributions:1},{id:45267552,username:"Barbapapazes",contributions:1},{id:52390439,username:"ijkml",contributions:1},{id:3125972,username:"ram-you",contributions:1},{id:82750477,username:"guy-confetti",contributions:1}]},{name:"form-actions",description:"A set of features and composables to interact with forms and server data.",repo:"Hebilicious/form-actions-nuxt#main/packages/form-action-nuxt",npm:"@hebilicious/form-actions-nuxt",icon:"form-actions.svg",github:"https://github.com/Hebilicious/form-actions-nuxt",website:"https://form-actions-nuxt.pages.dev/",learn_more:"https://github.com/Hebilicious/form-actions-nuxt#readme",category:"Request",type:"3rd-party",maintainers:[{name:"Hebilicious",github:"Hebilicious",twitter:"its_hebilicious"}],compatibility:{nuxt:"^3.7.0",requires:{}},stats:{downloads:578,stars:87,watchers:87,forks:5,defaultBranch:"main",publishedAt:1699881499855,createdAt:1686591628202},contributors:[{id:13395944,username:"Hebilicious",contributions:145},{id:2691946,username:"abernh",contributions:1},{id:18102267,username:"oritwoen",contributions:1},{id:55502199,username:"EvanSchleret",contributions:1},{id:52015,username:"jangxyz",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"formkit",description:"Seamless FormKit integration for Nuxt",repo:"formkit/formkit#master/packages/nuxt",npm:"@formkit/nuxt",icon:"formkit.png",github:"https://github.com/formkit/formkit",website:"https://formkit.com",learn_more:"https://formkit.com/essentials/installation#with-nuxt",category:"Libraries",type:"3rd-party",maintainers:[{name:"Justin Schroeder",github:"justin-schroeder",twitter:"jpschroeder"},{name:"Andrew Boyd",github:"andrew-boyd",twitter:"0xBOYD"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:49228,stars:3705,watchers:3705,forks:135,defaultBranch:"master",publishedAt:1700163031358,createdAt:1643926701651},contributors:[{id:1950463,username:"justin-schroeder",contributions:1003},{id:2946356,username:"andrew-boyd",contributions:184},{id:11545316,username:"luan-nk-nguyen",contributions:92},{id:14954720,username:"GustavoFenilli",contributions:80},{id:50585039,username:"sashamilenkovic",contributions:64},{id:1268538,username:"chrisladams",contributions:10},{id:34333374,username:"daniil4udo",contributions:7},{id:2567,username:"tmm1",contributions:5},{id:1735944,username:"CavalcanteLeo",contributions:5},{id:4084527,username:"riderx",contributions:5},{id:2241624,username:"lennartzellmer",contributions:5},{id:48835293,username:"DamianGlowala",contributions:5},{id:4098997,username:"devoidofgenius",contributions:4},{id:5167994,username:"aresofficial",contributions:4},{id:16470866,username:"xxSkyy",contributions:3},{id:50772478,username:"gbyesiltas",contributions:3},{id:39409783,username:"parafeu",contributions:2},{id:10572554,username:"arjendejong12",contributions:2},{id:28706372,username:"danielroe",contributions:2},{id:5445094,username:"dominikklein",contributions:2},{id:11798239,username:"Archetipo95",contributions:2},{id:38756142,username:"markusgeert",contributions:2},{id:13098848,username:"chiquyet199",contributions:2},{id:8686628,username:"santi",contributions:2},{id:16173870,username:"sheremet-va",contributions:2},{id:19146698,username:"lavolpecheprogramma",contributions:2},{id:20444343,username:"agenordebriat",contributions:1},{id:1063127,username:"antbrl",contributions:1},{id:38622893,username:"ByMykel",contributions:1}]},{name:"google-adsense",description:"Google Adsense Module for Nuxt",repo:"nuxt-community/google-adsense-module",npm:"@nuxtjs/google-adsense",icon:"google-adsense.png",github:"https://github.com/nuxt-community/google-adsense-module",website:"https://github.com/nuxt-community/google-adsense-module",learn_more:"https://www.google.com/adsense/start/",category:"Analytics",type:"community",maintainers:[{name:"Alexander Lichter",github:"manniL"},{name:"Troy Morehouse",github:"tmorehouse"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:6166,stars:173,watchers:173,forks:56,defaultBranch:"main",publishedAt:1696241020183,createdAt:1509131259255},contributors:[{id:2781561,username:"tmorehouse",contributions:21},{id:2047945,username:"farnabaz",contributions:19},{id:640208,username:"manniL",contributions:7},{id:614675,username:"1hakr",contributions:2},{id:223555,username:"3dd13",contributions:1},{id:63487995,username:"rexarvind",contributions:1},{id:8341848,username:"bennettfrazier",contributions:1},{id:34982358,username:"Eternal-Rise",contributions:1},{id:454310,username:"javray",contributions:1},{id:47635466,username:"seosmmbusiness",contributions:1},{id:4778485,username:"dargmuesli",contributions:1},{id:40721155,username:"kylegl",contributions:1},{id:14026732,username:"myagizguler",contributions:1},{id:20928689,username:"MatWaligora",contributions:1},{id:2802354,username:"khoazero123",contributions:1},{id:88871226,username:"mirumirumi",contributions:1}]},{name:"google-fonts",description:"Google Fonts module for Nuxt",repo:"nuxt-modules/google-fonts",npm:"@nuxtjs/google-fonts",icon:"google-fonts.png",github:"https://github.com/nuxt-modules/google-fonts",website:"https://google-fonts.nuxtjs.org",learn_more:"https://developers.google.com/fonts",category:"Fonts",type:"community",maintainers:[{name:"Ricardo Gobbo de Souza",github:"ricardogobbosouza"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:202038,stars:386,watchers:386,forks:34,defaultBranch:"main",publishedAt:1689965104273,createdAt:1594650964481},contributors:[{id:13064722,username:"ricardogobbosouza",contributions:85},{id:13063165,username:"debs-obrien",contributions:5},{id:3871688,username:"kara",contributions:5},{id:904724,username:"Atinux",contributions:4},{id:715491,username:"borisdayma",contributions:2},{id:13543079,username:"qwe12e",contributions:1},{id:1113278,username:"jiblett1000",contributions:1},{id:12446271,username:"cesaramirez",contributions:1},{id:28821368,username:"damisparks",contributions:1},{id:1306576,username:"LostCrew",contributions:1},{id:39669357,username:"Mixerou",contributions:1},{id:34955679,username:"xanzhu",contributions:1},{id:35804265,username:"afflexux",contributions:1}]},{name:"graphql-client",description:"Minimal GraphQL Client + Code Generation for Nuxt. Auto imports GraphQL Operations for easy execution.",repo:"diizzayy/nuxt-graphql-client",npm:"nuxt-graphql-client",icon:"graphql-client.svg",github:"https://github.com/diizzayy/nuxt-graphql-client",website:"https://github.com/diizzayy/nuxt-graphql-client",learn_more:"https://www.graphql-code-generator.com/plugins/typescript-graphql-request",category:"Request",type:"3rd-party",maintainers:[{name:"Diizzayy",github:"diizzayy"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:13774,stars:305,watchers:305,forks:34,defaultBranch:"main",publishedAt:1698406432100,createdAt:1646756879347},contributors:[{id:19627670,username:"Diizzayy",contributions:268},{id:2278938,username:"AveryBibeau",contributions:2},{id:6619884,username:"cpreston321",contributions:2},{id:4119508,username:"jonian",contributions:2},{id:35779884,username:"PanMisza",contributions:2},{id:904724,username:"Atinux",contributions:2},{id:378974,username:"boboldehampsink",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:15177236,username:"JoaoPedroAS51",contributions:1},{id:4178083,username:"lorenzofaresin",contributions:1},{id:153197,username:"rchl",contributions:1},{id:1668207,username:"TheDutchCoder",contributions:1}]},{name:"graphql-request",description:"Easy Minimal GraphQL client integration with Nuxt",repo:"gomah/nuxt-graphql-request",npm:"nuxt-graphql-request",icon:"graphql-request.png",github:"https://github.com/gomah/nuxt-graphql-request",website:"https://github.com/gomah/nuxt-graphql-request",learn_more:"",category:"Request",type:"3rd-party",maintainers:[{name:"gomah",github:"gomah"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:11816,stars:179,watchers:179,forks:15,defaultBranch:"master",publishedAt:1699484355105,createdAt:1577412772092},contributors:[{id:2362138,username:"Gomah",contributions:98},{id:5918348,username:"samturrell",contributions:14},{id:6460348,username:"zsavajji",contributions:1},{id:17232297,username:"Blindpupil",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:475015,username:"drewbaker",contributions:1},{id:20305403,username:"narduin",contributions:1},{id:55853254,username:"nicktrn",contributions:1}]},{name:"graphql-server",description:"Easy GraphQL server implementation with Nuxt",repo:"tobiasdiez/nuxt-graphql-server",npm:"nuxt-graphql-server",icon:"",github:"https://github.com/tobiasdiez/nuxt-graphql-server",website:"https://github.com/tobiasdiez/nuxt-graphql-server",learn_more:"",category:"Request",type:"3rd-party",maintainers:[{name:"tobiasdiez",github:"tobiasdiez"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:775,stars:18,watchers:18,forks:3,defaultBranch:"main",publishedAt:1694790235375,createdAt:1666948846617},contributors:[{id:5037600,username:"tobiasdiez",contributions:46},{id:48126337,username:"sduduzog",contributions:2},{id:6721822,username:"zeferinix",contributions:1}]},{name:"gtag",description:"Google Analytics integration for Nuxt",repo:"johannschopplich/nuxt-gtag",npm:"nuxt-gtag",icon:"gtag.svg",github:"https://github.com/johannschopplich/nuxt-gtag",website:"https://github.com/johannschopplich/nuxt-gtag#readme",learn_more:"",category:"Analytics",type:"3rd-party",maintainers:[{name:"Johann Schopplich",github:"johannschopplich",twitter:"jschopplich",avatar:"https://avatars.githubusercontent.com/johannschopplich?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:36343,stars:204,watchers:204,forks:3,defaultBranch:"main",publishedAt:1694786252119,createdAt:1678900615484},contributors:[{id:27850750,username:"johannschopplich",contributions:75}]},{name:"hanko",description:"Hanko integration for Nuxt for passwordless authentication",repo:"nuxt-modules/hanko",npm:"@nuxtjs/hanko",icon:"hanko.svg",github:"https://github.com/nuxt-modules/hanko",website:"https://github.com/nuxt-modules/hanko",learn_more:"https://hanko.io/",category:"Security",type:"community",maintainers:[{name:"danielroe",github:"danielroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:562,stars:57,watchers:57,forks:2,defaultBranch:"main",publishedAt:1699962532744,createdAt:1687122961725},contributors:[{id:28706372,username:"danielroe",contributions:53},{id:17185737,username:"McPizza0",contributions:3}]},{name:"harlem",description:"Harlem is a simple, unopinionated, lightweight and extensible state management solution for Vue 3.",repo:"nuxt-modules/harlem",npm:"@nuxtjs/harlem",icon:"harlem.svg",github:"https://github.com/nuxt-modules/harlem",website:"https://github.com/nuxt-modules/harlem",learn_more:"https://harlemjs.com/",category:"Extensions",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:417,stars:81,watchers:81,forks:1,defaultBranch:"main",publishedAt:1687529540243,createdAt:1644854268547},contributors:[{id:28706372,username:"danielroe",contributions:40},{id:43365376,username:"Lexpeartha",contributions:1}]},{name:"headlessui",description:"Headless UI integration for Nuxt. Completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.",repo:"P4sca1/nuxt-headlessui",npm:"nuxt-headlessui",icon:"headlessui.png",github:"https://github.com/P4sca1/nuxt-headlessui",website:"https://github.com/P4sca1/nuxt-headlessui",learn_more:"https://headlessui.com",category:"UI",type:"3rd-party",maintainers:[{name:"Pascal Sthamer",github:"P4sca1"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:33301,stars:119,watchers:119,forks:5,defaultBranch:"main",publishedAt:1681830451810,createdAt:1666538336094},contributors:[{id:10992664,username:"P4sca1",contributions:43}]},{name:"html-validator",description:"Automatically validate Nuxt server-rendered HTML html",repo:"nuxt-modules/html-validator",npm:"@nuxtjs/html-validator",icon:"html-validator.png",github:"https://github.com/nuxt-modules/html-validator",website:"https://html-validator.nuxtjs.org",learn_more:"https://html-validate.org",category:"Performance",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:39356,stars:163,watchers:163,forks:19,defaultBranch:"main",publishedAt:1690059299071,createdAt:1603968424930},contributors:[{id:28706372,username:"danielroe",contributions:107},{id:4778485,username:"dargmuesli",contributions:5},{id:63512348,username:"huang-julien",contributions:2},{id:640208,username:"manniL",contributions:1},{id:35566481,username:"warlock1996",contributions:1},{id:36807675,username:"kota-nakagawa",contributions:1},{id:5963574,username:"nathanchase",contributions:1},{id:45289373,username:"ryoheiw",contributions:1},{id:904724,username:"Atinux",contributions:1},{id:11621780,username:"MoogyG",contributions:1},{id:12776732,username:"zhuoqi-chen",contributions:1},{id:61966716,username:"hbanham",contributions:1},{id:9987732,username:"roiLeo",contributions:1}]},{name:"i18n",description:"i18n features for your Nuxt project so you can easily add internationalization.",repo:"nuxt-modules/i18n",npm:"@nuxtjs/i18n",icon:"i18n.png",github:"https://github.com/nuxt-modules/i18n",website:"https://v8.i18n.nuxtjs.org",learn_more:"https://kazupon.github.io/vue-i18n/",category:"Extensions",type:"community",maintainers:[{name:"Rafał Chłodnicki",github:"rchl"},{name:"Kazuya Kawaguchi",github:"kazupon"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:503120,stars:1488,watchers:1488,forks:436,defaultBranch:"main",publishedAt:1696297912698,createdAt:1628007183685},contributors:[{id:72989,username:"kazupon",contributions:377},{id:6649305,username:"BobbieGoede",contributions:77},{id:56732164,username:"ineshbose",contributions:8},{id:4778485,username:"dargmuesli",contributions:8},{id:904724,username:"Atinux",contributions:7},{id:28706372,username:"danielroe",contributions:4},{id:153197,username:"rchl",contributions:4},{id:8896043,username:"borghol",contributions:3},{id:6311119,username:"userquin",contributions:2},{id:26435307,username:"Mosaab-Emam",contributions:2},{id:11198968,username:"TakCastel",contributions:2},{id:13403295,username:"yassilah",contributions:2},{id:29367025,username:"wxh06",contributions:2},{id:1079135,username:"adriaanvanrossum",contributions:1},{id:640208,username:"manniL",contributions:1},{id:1065569,username:"deepfriedmind",contributions:1},{id:1233149,username:"kovtunos",contributions:1},{id:11289484,username:"AndreyYolkin",contributions:1},{id:64915763,username:"Simlor",contributions:1},{id:2095133,username:"cjpearson",contributions:1},{id:48835293,username:"DamianGlowala",contributions:1},{id:20292854,username:"imslepov",contributions:1},{id:2863444,username:"xfq",contributions:1},{id:17165633,username:"gffelisberto",contributions:1},{id:1069998,username:"ilkome",contributions:1},{id:28648060,username:"issenn",contributions:1},{id:27850750,username:"johannschopplich",contributions:1},{id:63512348,username:"huang-julien",contributions:1},{id:11078941,username:"karam12",contributions:1}]},{name:"icon-font",description:"Automatically generates fonts and custom properties (variables) from a specified folder containing SVG icons, injecting them into pages with live monitoring.",repo:"coremyslo/nuxt-icon-font",npm:"@coremyslo/nuxt-icon-font",icon:"",github:"https://github.com/coremyslo/nuxt-icon-font",website:"https://github.com/coremyslo/nuxt-icon-font",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"coremyslo",github:"coremyslo"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:174,stars:11,watchers:11,forks:0,defaultBranch:"main",publishedAt:1681467593045,createdAt:1681319522046},contributors:[{id:20535974,username:"coremyslo",contributions:17}]},{name:"icon-tw",description:"Extended Icon module with Tailwind CSS Icons for Nuxt",repo:"jcamp-code/nuxt-icon-tw",npm:"nuxt-icon-tw",icon:"nuxt-icon.png",github:"https://github.com/jcamp-code/nuxt-icon-tw",website:"https://github.com/jcamp-code/nuxt-icon-tw",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"JohnCampionJr",github:"JohnCampionJr"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:380,stars:0,watchers:0,forks:0,defaultBranch:"main",publishedAt:1698819948110,createdAt:1698291871826},contributors:[{id:904724,username:"Atinux",contributions:83},{id:1385263,username:"Tahul",contributions:10},{id:1094820,username:"JohnCampionJr",contributions:7},{id:28706372,username:"danielroe",contributions:1},{id:57781857,username:"Dlouxgit",contributions:1},{id:15716057,username:"fayazara",contributions:1},{id:79840527,username:"ace-of-aces",contributions:1},{id:51883557,username:"iRaziul",contributions:1},{id:57325448,username:"rubanp",contributions:1},{id:28957605,username:"turulix",contributions:1},{id:2703233,username:"toniengelhardt",contributions:1},{id:51122536,username:"tanerijun",contributions:1},{id:1884246,username:"zaosoula",contributions:1},{id:38621036,username:"devTeaa",contributions:1},{id:5158436,username:"pi0",contributions:1}]},{name:"icon",description:"Icon module for Nuxt with 100,000+ ready to use icons from Iconify.",repo:"nuxt-modules/icon",npm:"nuxt-icon",icon:"nuxt-icon.png",github:"https://github.com/nuxt-modules/icon",website:"https://github.com/nuxt-modules/icon",learn_more:"",category:"UI",type:"community",maintainers:[{name:"Atinux",github:"Atinux"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:136615,stars:667,watchers:667,forks:24,defaultBranch:"main",publishedAt:1699958058959,createdAt:1661440920327},contributors:[{id:904724,username:"Atinux",contributions:95},{id:1385263,username:"Tahul",contributions:10},{id:28706372,username:"danielroe",contributions:2},{id:7290030,username:"larbish",contributions:1},{id:739984,username:"benjamincanac",contributions:1},{id:57781857,username:"Dlouxgit",contributions:1},{id:15716057,username:"fayazara",contributions:1},{id:79840527,username:"ace-of-aces",contributions:1},{id:77613333,username:"pixelastronauts",contributions:1},{id:51883557,username:"iRaziul",contributions:1},{id:57325448,username:"rubanp",contributions:1},{id:28957605,username:"turulix",contributions:1},{id:2703233,username:"toniengelhardt",contributions:1},{id:51122536,username:"tanerijun",contributions:1},{id:1884246,username:"zaosoula",contributions:1},{id:38621036,username:"devTeaa",contributions:1},{id:5158436,username:"pi0",contributions:1}]},{name:"icons",description:"Use your own automatically imported SVG icons.",repo:"gitfoxcode/nuxt-icons",npm:"nuxt-icons",icon:"icons.png",github:"https://github.com/gitFoxCode/nuxt-icons",website:"https://github.com/gitFoxCode/nuxt-icons",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"Sebastian Wludzik",github:"gitfoxcode"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:35431,stars:172,watchers:172,forks:20,defaultBranch:"main",publishedAt:1682080070652,createdAt:1649315571131},contributors:[{id:24279375,username:"gitFoxCode",contributions:34},{id:47575319,username:"ghettoDdOS",contributions:3},{id:48382105,username:"shba007",contributions:1},{id:1109781,username:"tdekoning",contributions:1},{id:5158436,username:"pi0",contributions:1}]},{name:"image",description:"Optimised images for Nuxt, with progressive processing, lazy-loading, real-time resizes and providers support.",repo:"nuxt/image",npm:"@nuxt/image",icon:"image.png",github:"https://github.com/nuxt/image",website:"https://image.nuxt.com",learn_more:"",category:"Images",type:"official",maintainers:[{name:"Ahad Birang",github:"farnabaz",twitter:"a_birang"},{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"},{name:"Pooya Parsa",github:"pi0",twitter:"_pi0_"},{name:"Sebastien Chopin",github:"Atinux",twitter:"Atinux"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:311220,stars:1115,watchers:1115,forks:229,defaultBranch:"main",publishedAt:1700521085435,createdAt:1601640354767},contributors:[{id:5158436,username:"pi0",contributions:218},{id:2047945,username:"farnabaz",contributions:129},{id:28706372,username:"danielroe",contributions:128},{id:904724,username:"Atinux",contributions:75},{id:2152968,username:"ThomOrlo",contributions:8},{id:21211734,username:"shadow81627",contributions:6},{id:1439623,username:"clemcode",contributions:4},{id:13734256,username:"daletom",contributions:4},{id:3385679,username:"btkostner",contributions:3},{id:5326365,username:"harlan-zw",contributions:3},{id:1385263,username:"Tahul",contributions:3},{id:11556276,username:"flozero",contributions:3},{id:12596485,username:"reslear",contributions:3},{id:45005369,username:"ArmanNik",contributions:2},{id:763424,username:"florentb",contributions:2},{id:41453547,username:"codeflorist",contributions:2},{id:10297,username:"jdempster",contributions:2},{id:15758406,username:"huynl-96",contributions:2},{id:25330882,username:"lihbr",contributions:2},{id:6650139,username:"mayashavin",contributions:2},{id:6342102,username:"dosstx",contributions:2},{id:44122984,username:"PawFV",contributions:2},{id:5408097,username:"treboryx",contributions:2},{id:5109593,username:"Tragio",contributions:2},{id:40848950,username:"abhinavr4",contributions:2},{id:30387148,username:"niuyi1017",contributions:2},{id:48835293,username:"DamianGlowala",contributions:2},{id:18303390,username:"the94air",contributions:1},{id:2150306,username:"apollonian",contributions:1}]},{name:"inkline",description:"Nuxt Module for Inkline, the intuitive UI UX DX Components library for Vue.js 3 Design Systems.",repo:"inkline/plugin",npm:"@inkline/plugin",icon:"inkline.svg",github:"https://github.com/inkline/plugin",website:"https://inkline.io",learn_more:"https://inkline.io/docs/installation/nuxt",category:"UI",type:"3rd-party",maintainers:[{name:"Alex Grozav",github:"alexgrozav",twitter:"alexgrozav"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:1117,stars:2,watchers:2,forks:1,defaultBranch:"main",publishedAt:1686826054393,createdAt:1668021800717},contributors:[{id:6179477,username:"alexgrozav",contributions:83}]},{name:"ionic",description:"Batteries-included Ionic integration for building iOS, Android and web apps.",repo:"nuxt-modules/ionic",npm:"@nuxtjs/ionic",icon:"ionic.svg",github:"https://github.com/nuxt-modules/ionic",website:"https://ionic.nuxtjs.org",learn_more:"https://ionicframework.com",category:"Libraries",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:2831,stars:307,watchers:307,forks:30,defaultBranch:"main",publishedAt:1687782646149,createdAt:1666046345352},contributors:[{id:28706372,username:"danielroe",contributions:129},{id:43365376,username:"Lexpeartha",contributions:14},{id:904724,username:"Atinux",contributions:5},{id:42867097,username:"azrikahar",contributions:3},{id:83463097,username:"oumarbarry",contributions:3},{id:40367173,username:"ceceliacreates",contributions:1},{id:48835293,username:"DamianGlowala",contributions:1},{id:35950229,username:"Hrdtr",contributions:1},{id:2754728,username:"Jamiewarb",contributions:1},{id:10882793,username:"justRau",contributions:1},{id:34509813,username:"Mw3y",contributions:1},{id:192291,username:"tlebeitsuk",contributions:1}]},{name:"jsonapi",description:"Easy JSON:API client integration for Nuxt",repo:"patrickcate/nuxt-jsonapi",npm:"nuxt-jsonapi",icon:"jsonapi.svg",github:"https://github.com/patrickcate/nuxt-jsonapi",website:"https://github.com/patrickcate/nuxt-jsonapi",learn_more:"",category:"Request",type:"3rd-party",maintainers:[{name:"Patrick Cate",github:"patrickcate"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:476,stars:35,watchers:35,forks:6,defaultBranch:"develop",publishedAt:1698552085879,createdAt:1607749339250},contributors:[{id:6277206,username:"patrickcate",contributions:220},{id:12933109,username:"r9mp",contributions:1}]},{name:"kinde",description:"Kinde authentication integration for Nuxt",repo:"nuxt-modules/kinde",npm:"@nuxtjs/kinde",icon:"kinde.svg",github:"https://github.com/nuxt-modules/kinde",website:"https://kinde.com/docs/developer-tools/nuxt-module/",learn_more:"https://kinde.com/",category:"Security",type:"community",maintainers:[{name:"danielroe",github:"danielroe"},{name:"daveordead",github:"DaveOrDead",twitter:"dave_or_dead"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:387,stars:32,watchers:32,forks:2,defaultBranch:"main",publishedAt:1698193462420,createdAt:1697624616889},contributors:[{id:28706372,username:"danielroe",contributions:24},{id:1312905,username:"DaveOrDead",contributions:5},{id:904724,username:"Atinux",contributions:2},{id:1270799,username:"DanielRivers",contributions:1}]},{name:"kql",description:"Nuxt module for Kirby's Query Language API",repo:"johannschopplich/nuxt-kql",npm:"nuxt-kql",icon:"kql.svg",github:"https://github.com/johannschopplich/nuxt-kql",website:"https://nuxt-kql.jhnn.dev",learn_more:"",category:"CMS",type:"3rd-party",maintainers:[{name:"Johann Schopplich",github:"johannschopplich",twitter:"jschopplich",avatar:"https://avatars.githubusercontent.com/johannschopplich?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1401,stars:36,watchers:36,forks:0,defaultBranch:"main",publishedAt:1700127663073,createdAt:1654857056655},contributors:[{id:27850750,username:"johannschopplich",contributions:564},{id:5681075,username:"grommas",contributions:1}]},{name:"laravel-precognition",description:"Nuxt module to work with Laravel Precognition and $fetch",repo:"sot1986/nuxt-laravel-precognition",npm:"nuxt-laravel-precognition",icon:"laravel.svg",github:"https://github.com/sot1986/nuxt-laravel-precognition",website:"https://github.com/sot1986/nuxt-laravel-precognition",learn_more:"",category:"Security",type:"3rd-party",maintainers:[{name:"sot1986",github:"sot1986"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:75,stars:5,watchers:5,forks:0,defaultBranch:"main",publishedAt:1700549574585,createdAt:1693592613721},contributors:[{id:78511840,username:"sot1986",contributions:16}]},{name:"link-checker",description:"Find and magically fix links that may be negatively effecting your Nuxt sites SEO.",repo:"harlan-zw/nuxt-link-checker",npm:"nuxt-link-checker",icon:"link-checker.svg",github:"https://github.com/harlan-zw/nuxt-link-checker",website:"https://nuxtseo.com/link-checker",learn_more:"https://nuxtseo.com/link-checker",category:"SEO",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:32957,stars:64,watchers:64,forks:5,defaultBranch:"main",publishedAt:1699676100680,createdAt:1671430230256},contributors:[{id:5326365,username:"harlan-zw",contributions:139},{id:4778485,username:"dargmuesli",contributions:2},{id:45267552,username:"Barbapapazes",contributions:2},{id:640208,username:"manniL",contributions:1},{id:904724,username:"Atinux",contributions:1},{id:5037600,username:"tobiasdiez",contributions:1}]},{name:"lodash",description:"lodash module with auto-import and custom prefix",repo:"cipami/nuxt-lodash",npm:"nuxt-lodash",icon:"lodash.svg",github:"https://github.com/cipami/nuxt-lodash",website:"https://github.com/cipami/nuxt-lodash#readme",learn_more:"https://github.com/lodash/lodash",category:"Libraries",type:"3rd-party",maintainers:[{name:"Michal Čípa",github:"cipami"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:41511,stars:93,watchers:93,forks:8,defaultBranch:"master",publishedAt:1697996989028,createdAt:1637964465533},contributors:[{id:60187259,username:"cipami",contributions:39},{id:34333374,username:"daniil4udo",contributions:3},{id:128857,username:"marshallswain",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"logrocket",description:"LogRocket module for Nuxt to help you fix bugs and understand user behaviour.",repo:"nuxt-modules/logrocket",npm:"nuxt-logrocket",icon:"logrocket.png",github:"https://github.com/nuxt-modules/logrocket",website:"https://github.com/nuxt-modules/logrocket",learn_more:"https://docs.logrocket.com/docs",category:"Monitoring",type:"community",maintainers:[{name:"Farzad Soltani",github:"farzadso",twitter:"farzadso"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:3651,stars:134,watchers:134,forks:10,defaultBranch:"master",publishedAt:1690042336650,createdAt:1547918077224},contributors:[{id:19854715,username:"farzadso",contributions:369},{id:19627670,username:"Diizzayy",contributions:3},{id:904724,username:"Atinux",contributions:2},{id:498465,username:"gaelreyrol",contributions:1},{id:5326365,username:"harlan-zw",contributions:1},{id:32785527,username:"masayuki-tsuji",contributions:1}]},{name:"lucide-icons",description:"Nuxt module to integrate Lucide icons",repo:"swisnl/nuxt-lucide-icons",npm:"nuxt-lucide-icons",icon:"lucide-icons.svg",github:"https://github.com/swisnl/nuxt-lucide-icons",website:"https://github.com/swisnl/nuxt-lucide-icons",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"SWIS",github:"swisnl"},{name:"Jasper Zonneveld",github:"JaZo"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:380,stars:4,watchers:4,forks:0,defaultBranch:"main",publishedAt:1699977496402,createdAt:1685012559039},contributors:[{id:3475007,username:"JaZo",contributions:11},{id:5618114,username:"drprofesq",contributions:2}]},{name:"magic-regexp",description:"A compiled-away, type-safe, readable RegExp alternative",repo:"danielroe/magic-regexp",npm:"magic-regexp",icon:"magic-regexp.svg",github:"https://github.com/danielroe/magic-regexp",website:"https://magic-regexp.roe.dev",learn_more:"https://magic-regexp.roe.dev",category:"Libraries",type:"3rd-party",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:57332,stars:3427,watchers:3427,forks:49,defaultBranch:"main",publishedAt:1683280254293,createdAt:1657968562539},contributors:[{id:28706372,username:"danielroe",contributions:92},{id:29917252,username:"didavid61202",contributions:14},{id:7966133,username:"aykutkardas",contributions:1},{id:6822545,username:"ccjmne",contributions:1},{id:42563517,username:"krowter",contributions:1},{id:65339558,username:"xRSquared",contributions:1},{id:35431350,username:"ExEr7um",contributions:1},{id:30072175,username:"yjl9903",contributions:1},{id:35442047,username:"kongmoumou",contributions:1},{id:70888488,username:"zoeyzhao19",contributions:1}]},{name:"maz-ui",description:"install easily maz-ui library to take advantage of auto-import components, plugins, composables and CSS files.",repo:"louismazel/maz-ui",npm:"maz-ui",icon:"maz-ui.png",github:"https://github.com/louismazel/maz-ui",website:"https://louismazel.github.io/maz-ui-3/",learn_more:"https://louismazel.github.io/maz-ui-3/",category:"UI",type:"community",maintainers:[{name:"Loïc Mazuel",github:"LouisMazel"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:34244,stars:343,watchers:343,forks:49,defaultBranch:"master",publishedAt:1700663666021,createdAt:1577304184715},contributors:[{id:12446546,username:"LouisMazel",contributions:1173},{id:28706372,username:"danielroe",contributions:1},{id:2184726,username:"dnyer11",contributions:1},{id:3728536,username:"jorgevrgs",contributions:1},{id:26676061,username:"malikdoksoz",contributions:1},{id:26164755,username:"oketafred",contributions:1},{id:398400,username:"pboos",contributions:1},{id:6775220,username:"gangsthub",contributions:1},{id:9120634,username:"mkt4ever",contributions:1},{id:106826371,username:"selemondev",contributions:1}]},{name:"medusa",description:"Easily connect to Medusa from your Nuxt application",repo:"Baroshem/nuxt-medusa",npm:"nuxt-medusa",icon:"medusa.svg",github:"https://github.com/Baroshem/nuxt-medusa/",website:"https://nuxt-medusa.vercel.app/",learn_more:"https://nuxt-medusa.vercel.app/",category:"Ecommerce",type:"3rd-party",maintainers:[{name:"Jakub Andrzejewski",github:"Baroshem",avatar:"https://avatars.githubusercontent.com/u/37120330?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:351,stars:101,watchers:101,forks:4,defaultBranch:"main",publishedAt:1698224996483,createdAt:1677221605695},contributors:[{id:37120330,username:"Baroshem",contributions:36},{id:6861191,username:"runyasak",contributions:4},{id:59223342,username:"Intevel",contributions:2},{id:16154728,username:"dimitrio-m",contributions:2},{id:13703238,username:"carpad88",contributions:1}]},{name:"meilisearch",description:"Meilisearch Instant Search module for Nuxt",repo:"xlanex6/nuxt-meilisearch",npm:"nuxt-meilisearch",icon:"meilisearch.svg",github:"https://github.com/xlanex6/nuxt-meilisearch",website:"https://github.com/xlanex6/nuxt-meilisearch",learn_more:"https://github.com/xlanex6/nuxt-meilisearch",category:"Libraries",type:"3rd-party",maintainers:[{name:"Alex Duval",github:"xlanex6",avatar:"https://avatars.githubusercontent.com/u/13418668?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{bridge:!1},devtools:"^0.0.0"},stats:{downloads:1577,stars:83,watchers:83,forks:10,defaultBranch:"master",publishedAt:1698573036100,createdAt:1652031078491},contributors:[{id:13418668,username:"xlanex6",contributions:107},{id:500843,username:"gleb-svechnikov",contributions:2},{id:10812694,username:"joewinger",contributions:1},{id:5947268,username:"miguelgargallo",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"module-feed",description:"Feed module enables everyone to have RSS, Atom and JSON.",repo:"tresko/nuxt-module-feed",npm:"nuxt-module-feed",icon:"",github:"https://github.com/tresko/nuxt-module-feed",website:"https://github.com/tresko/nuxt-module-feed",learn_more:"",category:"SEO",type:"3rd-party",maintainers:[{name:"Miha Sedej",github:"tresko",twitter:"mihasedej"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:302,stars:9,watchers:9,forks:0,defaultBranch:"main",publishedAt:1679321202924,createdAt:1679314988022},contributors:[{id:14868014,username:"tresko",contributions:40}]},{name:"nupolyon",description:"Inject polyfill from polyfill.io to nuxt project, auto detect based on browserslist config",repo:"adenvt/nupolyon",npm:"nupolyon",icon:"",github:"https://github.com/adenvt/nupolyon",website:"https://github.com/adenvt/nupolyon",learn_more:"",category:"Performance",type:"3rd-party",maintainers:[{name:"adenvt",github:"adenvt"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:319,stars:1,watchers:1,forks:1,defaultBranch:"main",publishedAt:1689353351722,createdAt:1681450837016},contributors:[{id:10667160,username:"adenvt",contributions:60},{id:4778485,username:"dargmuesli",contributions:5},{id:112890430,username:"trijpstra-fourlights",contributions:5}]},{name:"nuxt-anchorscroll",description:"Scroll to top and to anchor support for Nuxt",repo:"helltraitor/nuxt-anchorscroll",npm:"nuxt-anchorscroll",icon:"",github:"https://github.com/helltraitor/nuxt-anchorscroll",website:"https://github.com/helltraitor/nuxt-anchorscroll",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"Helltraitor",github:"helltraitor"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:622,stars:1,watchers:1,forks:1,defaultBranch:"main",publishedAt:1695997459867,createdAt:1688843428046},contributors:[{id:95148327,username:"helltraitor",contributions:39}]},{name:"nuxt-auth-sanctum",description:"Nuxt module for Laravel Sanctum authentication",repo:"manchenkoff/nuxt-auth-sanctum",npm:"nuxt-auth-sanctum",icon:"laravel.svg",github:"https://github.com/manchenkoff/nuxt-auth-sanctum",website:"https://github.com/manchenkoff/nuxt-auth-sanctum",learn_more:"",category:"Security",type:"3rd-party",maintainers:[{name:"Artem Manchenkov",github:"manchenkoff",avatar:"https://avatars.githubusercontent.com/manchenkoff"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:563,stars:18,watchers:18,forks:0,defaultBranch:"main",publishedAt:1700507167353,createdAt:1695330039982},contributors:[{id:6690063,username:"manchenkoff",contributions:44}]},{name:"nuxt-basic-auth",description:"Nuxt Module for Basic Authentication",repo:"kgierke/nuxt-basic-auth",npm:"@kgierke/nuxt-basic-auth",icon:"",github:"https://github.com/kgierke/nuxt-basic-auth",website:"https://github.com/kgierke/nuxt-basic-auth",learn_more:"",category:"Security",type:"3rd-party",maintainers:[{name:"kgierke",github:"kgierke"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3510,stars:3,watchers:3,forks:1,defaultBranch:"main",publishedAt:1696418804277,createdAt:1691248923589},contributors:[{id:1983246,username:"kgierke",contributions:15}]},{name:"nuxt-bootstrap-icons",description:"Just a simple integration for Bootstrap Icons",repo:"OyewoleOyedeji/nuxt-bootstrap-icons",npm:"nuxt-bootstrap-icons",icon:"bootstrap-icons.svg",github:"https://github.com/OyewoleOyedeji/nuxt-bootstrap-icons",website:"https://github.com/OyewoleOyedeji/nuxt-bootstrap-icons",learn_more:"https://github.com/OyewoleOyedeji/nuxt-bootstrap-icons",category:"UI",type:"3rd-party",maintainers:[{name:"OyewoleOyedeji",github:"OyewoleOyedeji"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:861,stars:2,watchers:2,forks:0,defaultBranch:"main",publishedAt:1697061302995,createdAt:1687951513642},contributors:[{id:57059138,username:"OyewoleOyedeji",contributions:15}]},{name:"nuxt-chatgpt",description:"ChatGPT integration for Nuxt",repo:"schnapsterdog/nuxt-chatgpt",npm:"nuxt-chatgpt",icon:"chatgpt.svg",github:"https://github.com/schnapsterdog/nuxt-chatgpt",website:"https://github.com/schnapsterdog/nuxt-chatgpt",learn_more:"https://github.com/schnapsterdog/nuxt-chatgpt/blob/main/README.md",category:"Libraries",type:"3rd-party",maintainers:[{name:"Oliver Trajceski",github:"schnapsterdog"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:323,stars:128,watchers:128,forks:15,defaultBranch:"master",publishedAt:1692232625129,createdAt:1678992492383},contributors:[{id:20330303,username:"SchnapsterDog",contributions:40},{id:28706372,username:"danielroe",contributions:2},{id:56158280,username:"AbdelH2O",contributions:1}]},{name:"nuxt-facebook-chat",description:"nuxt-plotly module is thin Nuxt wrapper for Facebook's Customer Chat SDK",repo:"superdev-tech/nuxt-facebook-chat",npm:"nuxt-facebook-chat",icon:"nuxt-facebook-chat.svg",github:"https://github.com/superdev-tech/nuxt-facebook-chat",website:"https://github.com/superdev-tech/nuxt-facebook-chat",learn_more:"https://www.npmjs.com/package/nuxt-facebook-chat",category:"Libraries",type:"3rd-party",maintainers:[{name:"Supanut Dokmaithong",github:"Boomgeek"},{name:"superdev-tech",github:"superdev-tech"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:228,stars:4,watchers:4,forks:1,defaultBranch:"main",publishedAt:1693194751214,createdAt:1692872097578},contributors:[{id:8353081,username:"Boomgeek",contributions:15}]},{name:"nuxt-feedme",description:"The RSS feed module for Nuxt web framework with ATOM, JSON and RSS support",repo:"helltraitor/nuxt-feedme",npm:"nuxt-feedme",icon:"",github:"https://github.com/helltraitor/nuxt-feedme",website:"https://github.com/helltraitor/nuxt-feedme",learn_more:"",category:"SEO",type:"3rd-party",maintainers:[{name:"Helltraitor",github:"helltraitor"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:274,stars:16,watchers:16,forks:1,defaultBranch:"main",publishedAt:1695998936152,createdAt:1690059658708},contributors:[{id:95148327,username:"helltraitor",contributions:129}]},{name:"nuxt-graphql-middleware",description:"Expose GraphQL queries and mutations as server API routes.",repo:"dulnan/nuxt-graphql-middleware",npm:"nuxt-graphql-middleware",icon:"nuxt-graphql-middleware.svg",github:"https://github.com/dulnan/nuxt-graphql-middleware",website:"https://nuxt-graphql-middleware.dulnan.net",learn_more:"",category:"Request",type:"3rd-party",maintainers:[{name:"dulnan",github:"dulnan",twitter:"dulnan",avatar:"https://avatars.githubusercontent.com/dulnan?v=4"},{name:"ayalon",github:"ayalon",avatar:"https://avatars.githubusercontent.com/ayalon?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:3236,stars:42,watchers:42,forks:4,defaultBranch:"main",publishedAt:1697452639873,createdAt:1612267370631},contributors:[{id:4155003,username:"dulnan",contributions:139},{id:432045,username:"ayalon",contributions:13}]},{name:"nuxt-gtm",description:"A Nuxt module for Google Tag Manager",repo:"zadigetvoltaire/nuxt-gtm",npm:"@zadigetvoltaire/nuxt-gtm",icon:"nuxt-gtm.svg",github:"https://github.com/zadigetvoltaire/nuxt-gtm",website:"https://github.com/zadigetvoltaire/nuxt-gtm",learn_more:"https://developers.google.com/tag-platform/tag-manager?hl=fr",category:"Analytics",type:"3rd-party",maintainers:[{name:"Zadig&Voltaire Team",github:"https://github.com/zadigetvoltaire"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:46227,stars:32,watchers:32,forks:1,defaultBranch:"main",publishedAt:1684774491601,createdAt:1679418877580},contributors:[{id:12446546,username:"LouisMazel",contributions:47},{id:1674029,username:"michael-bouvy",contributions:2}]},{name:"nuxt-hue",description:"Enlighten your Nuxt experience",repo:"lihbr/nuxt-hue",npm:"nuxt-hue",icon:"nuxt-hue.svg",github:"https://github.com/lihbr/nuxt-hue",website:"https://github.com/lihbr/nuxt-hue",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"lihbr",github:"lihbr"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:93,stars:128,watchers:128,forks:1,defaultBranch:"master",publishedAt:1684758990399,createdAt:1617017799031},contributors:[{id:25330882,username:"lihbr",contributions:47}]},{name:"nuxt-jsonld",description:"Manage JSON-LD in Vue component.",repo:"ymmooot/nuxt-jsonld",npm:"nuxt-jsonld",icon:"",github:"https://github.com/ymmooot/nuxt-jsonld",website:"https://github.com/ymmooot/nuxt-jsonld",learn_more:"",category:"SEO",type:"3rd-party",maintainers:[{name:"ymmooot",github:"ymmooot"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:80004,stars:284,watchers:284,forks:24,defaultBranch:"master",publishedAt:1692959129494,createdAt:1543571798512},contributors:[{id:28696621,username:"ymmooot",contributions:751},{id:7464929,username:"TeXmeijin",contributions:4},{id:17243595,username:"RyoNkmr",contributions:3},{id:28706372,username:"danielroe",contributions:1},{id:472923,username:"quamsta",contributions:1},{id:837651,username:"jmyrland",contributions:1},{id:2091290,username:"reinoldus",contributions:1},{id:7361247,username:"tjkohli",contributions:1},{id:7507294,username:"yamotuki",contributions:1}]},{name:"nuxt-localtunnel",description:"Exposes your Nuxt localhost to the world automatically.",repo:"nuxtus/localtunnel",npm:"@nuxtus/nuxt-localtunnel",icon:"nuxt-localtunnel.svg",github:"https://github.com/nuxtus/localtunnel",website:"https://nuxtus.com",learn_more:"https://docs.nuxtus.com/#/localtunnel",category:"Devtools",type:"3rd-party",maintainers:[{name:"Craig Harman",github:"craigharman",twitter:"craig_harman"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:328,stars:19,watchers:19,forks:1,defaultBranch:"main",publishedAt:1668656867091,createdAt:1662115141769},contributors:[{id:324026,username:"craigharman",contributions:17}]},{name:"nuxt-loco",description:"A localise.biz module to synth locale with Nuxt",repo:"gaetansenn/nuxt-loco",npm:"nuxt-loco",icon:"",github:"https://github.com/gaetansenn/nuxt-loco",website:"https://nuxt-loco.dewib.com/",learn_more:"",category:"Libraries",type:"3rd-party",maintainers:[{name:"Gaetan SENN",github:"gaetansenn",avatar:"https://avatars.githubusercontent.com/u/2774075?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:205,stars:2,watchers:2,forks:0,defaultBranch:"main",publishedAt:1673258018864,createdAt:1673021741767},contributors:[{id:2774075,username:"gaetansenn",contributions:17}]},{name:"nuxt-mail",description:"Adds email sending capability to a Nuxt.js app. Adds a server route, an injected variable, and uses nodemailer to send emails.",repo:"dword-design/nuxt-mail",npm:"nuxt-mail",icon:"",github:"https://github.com/dword-design/nuxt-mail",website:"https://github.com/dword-design/nuxt-mail",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"Sebastian Landwehr",github:"dword-design"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:3960,stars:167,watchers:167,forks:13,defaultBranch:"master",publishedAt:1700649041569,createdAt:1597847237680},contributors:[{id:13484795,username:"dword-design",contributions:40},{id:65916846,username:"actions-user",contributions:19},{id:24830662,username:"mathe42",contributions:2},{id:15963871,username:"Skyline96",contributions:1},{id:25974953,username:"test123456789012345",contributions:1}]},{name:"nuxt-mapbox",description:"Elegant Mapbox integration with Nuxt",repo:"AlexLavoie42/Nuxt-Mapbox",npm:"nuxt-mapbox",icon:"nuxt-mapbox.svg",github:"https://github.com/AlexLavoie42/Nuxt-Mapbox",website:"https://github.com/AlexLavoie42/Nuxt-Mapbox",learn_more:"https://github.com/AlexLavoie42/Nuxt-Mapbox",category:"Libraries",type:"3rd-party",maintainers:[{name:"Alex Lavoie",github:"AlexLavoie42"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:4706,stars:56,watchers:56,forks:6,defaultBranch:"main",publishedAt:1700182762577,createdAt:1676111744170},contributors:[{id:9439243,username:"AlexLavoie42",contributions:373},{id:26260104,username:"eduayme",contributions:1},{id:38594674,username:"ElvisGmz",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"nuxt-mdi",description:"Add 7,000+ icons to your Nuxt application, from Material Design Icons.",repo:"ERPedersen/nuxt-mdi",npm:"nuxt-mdi",icon:"mdi.png",github:"https://github.com/ERPedersen/nuxt-mdi",website:"https://nuxt-mdi.emilrosenius.com",learn_more:"https://github.com/ERPedersen/nuxt-mdi/blob/main/README.md",category:"Libraries",type:"3rd-party",maintainers:[{name:"Emil Rosenius",github:"ERPedersen"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:340,stars:11,watchers:11,forks:0,defaultBranch:"main",publishedAt:1692224968715,createdAt:1691504128506},contributors:[{id:8896149,username:"ERPedersen",contributions:17}]},{name:"nuxt-monaco-editor",description:"Integrate monaco-editor with Nuxt",repo:"e-chan1007/nuxt-monaco-editor",npm:"nuxt-monaco-editor",icon:"nuxt-monaco-editor.png",github:"https://github.com/e-chan1007/nuxt-monaco-editor",website:"https://github.com/e-chan1007/nuxt-monaco-editor",learn_more:"https://e-chan1007.github.io/nuxt-monaco-editor",category:"Libraries",type:"3rd-party",maintainers:[{name:"e-chan1007",github:"e-chan1007"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:7876,stars:74,watchers:74,forks:8,defaultBranch:"main",publishedAt:1691981702350,createdAt:1661240850965},contributors:[{id:23521568,username:"e-chan1007",contributions:102},{id:28706372,username:"danielroe",contributions:2},{id:31401273,username:"7PH",contributions:1},{id:9212274,username:"KABBOUCHI",contributions:1},{id:58112571,username:"starnayuta",contributions:1}]},{name:"nuxt-mongoose",description:"A Nuxt module for simplifying the use of Mongoose in your project.",repo:"arashsheyda/nuxt-mongoose",npm:"nuxt-mongoose",icon:"nuxt-mongoose.svg",github:"https://github.com/arashsheyda/nuxt-mongoose",website:"https://nuxt-mongoose.nuxt.space",learn_more:"",category:"Database",type:"3rd-party",maintainers:[{name:"arashsheyda",github:"arashsheyda"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:1921,stars:44,watchers:44,forks:3,defaultBranch:"main",publishedAt:1698347099921,createdAt:1681640874123},contributors:[{id:38922203,username:"arashsheyda",contributions:96},{id:83463097,username:"oumarbarry",contributions:2},{id:45233617,username:"joypal23jkp",contributions:1},{id:71969684,username:"amir-al-mohamad111",contributions:1}]},{name:"nuxt-payload-analyzer",description:"Analyze Nuxt Payload Size",repo:"barbapapazes/nuxt-payload-analyzer",npm:"nuxt-payload-analyzer",icon:"",github:"https://github.com/barbapapazes/nuxt-payload-analyzer",website:"https://github.com/barbapapazes/nuxt-payload-analyzer#readme",learn_more:"",category:"Performance",type:"3rd-party",maintainers:[{name:"Barbapapazes",github:"Barbapapazes",twitter:"soubiran_"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1105,stars:20,watchers:20,forks:0,defaultBranch:"main",publishedAt:1699781566884,createdAt:1698100764757},contributors:[{id:45267552,username:"Barbapapazes",contributions:16}]},{name:"nuxt-pdf",description:"Zero-boilerplate PDF exports of your Pages and Components",repo:"sidebase/nuxt-pdf",npm:"@sidebase/nuxt-pdf",icon:"nuxt-pdf.png",github:"https://github.com/sidebase/nuxt-pdf",website:"https://sidebase.io/nuxt-pdf",learn_more:"https://github.com/sidebase",category:"Extensions",type:"3rd-party",maintainers:[{name:"sidebase",github:"sidebase",twitter:"sidebase_io"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:5061,stars:69,watchers:69,forks:6,defaultBranch:"main",publishedAt:1675267149927,createdAt:1675189517118},contributors:[{id:30908158,username:"zoey-kaiser",contributions:14},{id:25911230,username:"BracketJohn",contributions:3}]},{name:"nuxt-phosphor-icons",description:"Just a simple integration for @phosphor-icons in Nuxt",repo:"OyewoleOyedeji/nuxt-phosphor-icons",npm:"nuxt-phosphor-icons",icon:"phosphor-icons.svg",github:"https://github.com/OyewoleOyedeji/nuxt-phosphor-icons",website:"https://github.com/OyewoleOyedeji/nuxt-phosphor-icons",learn_more:"https://github.com/OyewoleOyedeji/nuxt-phosphor-icons",category:"UI",type:"3rd-party",maintainers:[{name:"OyewoleOyedeji",github:"OyewoleOyedeji"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:393,stars:8,watchers:8,forks:0,defaultBranch:"main",publishedAt:1697060232487,createdAt:1687630453058},contributors:[{id:57059138,username:"OyewoleOyedeji",contributions:25}]},{name:"plausible",description:"Nuxt module to natively integrate Plausible analytics",repo:"nuxt-modules/plausible",npm:"@nuxtjs/plausible",icon:"plausible.png",github:"https://github.com/nuxt-modules/plausible",website:"https://github.com/nuxt-modules/plausible",learn_more:"https://plausible.io/",category:"Analytics",type:"community",maintainers:[{name:"Johann Schopplich",github:"johannschopplich"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:18115,stars:75,watchers:75,forks:0,defaultBranch:"main",publishedAt:1694162590261,createdAt:1669889753373},contributors:[{id:27850750,username:"johannschopplich",contributions:60},{id:21025134,username:"hymair",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"nuxt-plotly",description:"nuxt-plotly is a thin Nuxt wrapper for plotly.js",repo:"superdev-tech/nuxt-plotly",npm:"nuxt-plotly",icon:"nuxt-plotly.svg",github:"https://github.com/superdev-tech/nuxt-plotly",website:"https://github.com/superdev-tech/nuxt-plotly",learn_more:"https://www.npmjs.com/package/nuxt-plotly",category:"Libraries",type:"3rd-party",maintainers:[{name:"Supanut Dokmaithong",github:"Boomgeek"},{name:"superdev-tech",github:"superdev-tech"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:317,stars:21,watchers:21,forks:2,defaultBranch:"main",publishedAt:1690963710785,createdAt:1690186481342},contributors:[{id:8353081,username:"Boomgeek",contributions:33}]},{name:"nuxt-social-share",description:"Simple Social Sharing for Nuxt",repo:"stefanobartoletti/nuxt-social-share",npm:"@stefanobartoletti/nuxt-social-share",icon:"nuxt-social-share.png",github:"https://github.com/stefanobartoletti/nuxt-social-share",website:"https://github.com/stefanobartoletti/nuxt-social-share",learn_more:"https://github.com/stefanobartoletti/nuxt-social-share#readme",category:"Extensions",type:"3rd-party",maintainers:[{name:"stefanobartoletti",github:"stefanobartoletti"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:834,stars:34,watchers:34,forks:3,defaultBranch:"main",publishedAt:1700575528675,createdAt:1698937923497},contributors:[{id:36746429,username:"stefanobartoletti",contributions:100}]},{name:"ssr-lit",description:"Server-Side Rendering for Lit Element components",repo:"prashantpalikhe/nuxt-ssr-lit",npm:"nuxt-ssr-lit",icon:"",github:"https://github.com/prashantpalikhe/nuxt-ssr-lit",website:"https://github.com/prashantpalikhe/nuxt-ssr-lit",learn_more:"",category:"Libraries",type:"3rd-party",maintainers:[{name:"Prashant Palikhe",github:"prashantpalikhe",twitter:"prashantpalikhe"},{name:"Steve Workman",github:"steveworkman",twitter:"steveworkman"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1111,stars:39,watchers:39,forks:6,defaultBranch:"main",publishedAt:1699343855445,createdAt:1668421898214},contributors:[{id:2657709,username:"prashantpalikhe",contributions:53},{id:994905,username:"steveworkman",contributions:30},{id:40413829,username:"augustjk",contributions:1}]},{name:"nuxt-svgo",description:"Nuxt module to load optimized SVG files as Vue components",repo:"cpsoinos/nuxt-svgo",npm:"nuxt-svgo",icon:"nuxt-svgo.png",github:"https://github.com/cpsoinos/nuxt-svgo",website:"https://github.com/cpsoinos/nuxt-svgo",learn_more:"",category:"Images",type:"3rd-party",maintainers:[{name:"cpsoinos",github:"cpsoinos"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:38689,stars:94,watchers:94,forks:7,defaultBranch:"main",publishedAt:1699734915464,createdAt:1653351575125},contributors:[{id:10081464,username:"cpsoinos",contributions:42},{id:6196533,username:"jd1378",contributions:16},{id:134087665,username:"Dotmot",contributions:1},{id:43762190,username:"josuelrocha",contributions:1},{id:31704887,username:"letavocado",contributions:1}]},{name:"nuxt-viewport",description:"Define custom viewports for your Nuxt project",repo:"mvrlin/nuxt-viewport",npm:"nuxt-viewport",icon:"nuxt-viewport.svg",github:"https://github.com/mvrlin/nuxt-viewport",website:"https://github.com/mvrlin/nuxt-viewport",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"mvrlin",github:"mvrlin"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:19666,stars:83,watchers:83,forks:5,defaultBranch:"main",publishedAt:1686991688460,createdAt:1614287126206},contributors:[{id:24970784,username:"mvrlin",contributions:51},{id:28987123,username:"ploca14",contributions:1},{id:71973480,username:"gartonot",contributions:1}]},{name:"nuxt-vue3-google-signin",description:"Empower your Nuxt app with Google Sign-In, hassle-free",repo:"wavezync/nuxt-vue3-google-signin",npm:"nuxt-vue3-google-signin",icon:"vue3-google-signin.svg",github:"https://github.com/wavezync/nuxt-vue3-google-signin",website:"https://vue3-google-signin.wavezync.com",learn_more:"https://vue3-google-signin.wavezync.com",category:"Libraries",type:"3rd-party",maintainers:[{name:"Kasun Vithanage",github:"kasvith"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3514,stars:39,watchers:39,forks:4,defaultBranch:"main",publishedAt:1699294310464,createdAt:1660600763884},contributors:[{id:13379595,username:"kasvith",contributions:34}]},{name:"nuxt-vuetify",description:"Add Vuetify 3 to your Nuxt application in 3 seconds.",repo:"invictus-codes/nuxt-vuetify",npm:"@invictus.codes/nuxt-vuetify",icon:"vuetify-logo-v3-dark.svg",github:"https://github.com/invictus-codes/nuxt-vuetify",website:"https://invictus-codes.github.io/nuxt-vuetify/",learn_more:"https://github.com/invictus-codes/nuxt-vuetify/blob/main/README.md",category:"UI",type:"3rd-party",maintainers:[{name:"Jens van Hellemondt",github:"invictus-codes"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:9945,stars:71,watchers:71,forks:6,defaultBranch:"main",publishedAt:1689025416771,createdAt:1676279046452},contributors:[{id:47124570,username:"jvhellemondt",contributions:85},{id:26455591,username:"almahari",contributions:3},{id:86659,username:"francois2metz",contributions:1}]},{name:"nuxt3-interpolation",description:"",repo:"daliborgogic/interpolation#master",npm:"nuxt3-interpolation",icon:"",github:"https://github.com/daliborgogic/interpolation/tree/master",website:"https://github.com/daliborgogic/interpolation/tree/master",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"daliborgogic",github:"daliborgogic"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:126,stars:5,watchers:5,forks:0,defaultBranch:"main",publishedAt:1652310229486,createdAt:1637344815165},contributors:[{id:5895389,username:"daliborgogic",contributions:22},{id:17392251,username:"mrleblanc101",contributions:2}]},{name:"nuxt3-leaflet",description:"Leaflet integration with Nuxt",repo:"Gugustinette/Nuxt-Leaflet",npm:"nuxt3-leaflet",icon:"leaflet.png",github:"https://github.com/Gugustinette/Nuxt-Leaflet",website:"https://github.com/Gugustinette/Nuxt-Leaflet",learn_more:"https://github.com/Gugustinette/Nuxt-Leaflet",category:"Libraries",type:"3rd-party",maintainers:[{name:"Augustin MERCIER",github:"Gugustinette"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:4226,stars:29,watchers:29,forks:0,defaultBranch:"main",publishedAt:1691825259679,createdAt:1687654805217},contributors:[{id:63470020,username:"Gugustinette",contributions:49}]},{name:"og-image",description:"Enlightened runtime images generated with Vue templates.",repo:"harlan-zw/nuxt-og-image",npm:"nuxt-og-image",icon:"og-image.svg",github:"https://github.com/harlan-zw/nuxt-og-image",website:"https://nuxtseo.com/og-image",learn_more:"https://nuxtseo.com/og-image",category:"SEO",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:36025,stars:274,watchers:274,forks:14,defaultBranch:"main",publishedAt:1699276932565,createdAt:1671077846440},contributors:[{id:5326365,username:"harlan-zw",contributions:725},{id:4778485,username:"dargmuesli",contributions:3},{id:2629739,username:"juno-w",contributions:2},{id:11247099,username:"antfu",contributions:1},{id:1840026,username:"maximepvrt",contributions:1},{id:904724,username:"Atinux",contributions:1},{id:5037600,username:"tobiasdiez",contributions:1},{id:94787322,username:"aoor9",contributions:1},{id:7954293,username:"ucw",contributions:1}]},{name:"particles",description:"Easily add particle animations to your Nuxt projects using tsParticles",repo:"Joepocalyptic/nuxt-particles",npm:"nuxt-particles",icon:"",github:"https://github.com/Joepocalyptic/nuxt-particles",website:"https://nuxt-particles.joeypereira.dev",learn_more:"https://particles.js.org/",category:"Libraries",type:"3rd-party",maintainers:[{name:"Joey Pereira",github:"Joepocalyptic",avatar:"https://avatars.githubusercontent.com/Joepocalyptic?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1127,stars:20,watchers:20,forks:1,defaultBranch:"main",publishedAt:1692796056174,createdAt:1692585889380},contributors:[{id:42530725,username:"Joepocalyptic",contributions:18}]},{name:"partytown",description:"Partytown integration for Nuxt - relocate resource intensive scripts into a web worker, and off of the main thread.",repo:"nuxt-modules/partytown",npm:"@nuxtjs/partytown",icon:"partytown.svg",github:"https://github.com/nuxt-modules/partytown",website:"https://github.com/nuxt-modules/partytown",learn_more:"https://partytown.builder.io/",category:"Performance",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:20723,stars:271,watchers:271,forks:6,defaultBranch:"main",publishedAt:1669850688923,createdAt:1643889240459},contributors:[{id:28706372,username:"danielroe",contributions:55},{id:640208,username:"manniL",contributions:1},{id:59223342,username:"Intevel",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"paypal",description:"A Nuxt module for simplifying the use of Paypal in your project.",repo:"arashsheyda/nuxt-paypal",npm:"nuxt-paypal",icon:"paypal.svg",github:"https://github.com/arashsheyda/nuxt-paypal",website:"https://github.com/arashsheyda/nuxt-paypal#readme",learn_more:"https://developer.paypal.com/sdk/js/reference/",category:"Payment",type:"3rd-party",maintainers:[{name:"Arash Sheyda",github:"arashsheyda"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:100,stars:3,watchers:3,forks:0,defaultBranch:"main",publishedAt:1699207559578,createdAt:1699207559074},contributors:[{id:38922203,username:"arashsheyda",contributions:3}]},{name:"pdfeasy",description:"A JavaScript Client/Server Side PDF-Generator based in PDFKit",repo:"betterwrite/pdfeasy#main/packages/nuxt",npm:"nuxt-pdfeasy",icon:"pdfeasy.png",github:"https://github.com/betterwrite/pdfeasy",website:"https://github.com/betterwrite/pdfeasy",learn_more:"https://github.com/betterwrite/pdfeasy",category:"Extensions",type:"3rd-party",maintainers:[{name:"Giovane Cardoso",github:"novout",twitter:"novoutttttt",avatar:"https://avatars.githubusercontent.com/novout?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1956,stars:61,watchers:61,forks:2,defaultBranch:"main",publishedAt:1687208921673,createdAt:1669322895386},contributors:[{id:41403842,username:"Novout",contributions:120}]},{name:"pinia-orm",description:"The Pinia plugin to enable Object-Relational Mapping access to the Pinia Store.",repo:"CodeDredd/pinia-orm#master/packages/nuxt",npm:"@pinia-orm/nuxt",icon:"pinia-orm.svg",github:"https://github.com/CodeDredd/pinia-orm/tree/master/packages/nuxt",website:"https://pinia-orm.codedredd.de/",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"CodeDredd",github:"CodeDredd"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:2552,stars:347,watchers:347,forks:30,defaultBranch:"main",publishedAt:1694954819192,createdAt:1643652784312},contributors:[{id:6809809,username:"CodeDredd",contributions:288},{id:118949383,username:"CarlosGamez-Nova",contributions:5},{id:5176891,username:"tklaas",contributions:3},{id:24190849,username:"tintin10q",contributions:2},{id:13543079,username:"qwe12e",contributions:1},{id:6653185,username:"CarstenRuetz",contributions:1},{id:56247129,username:"tripplicate",contributions:1},{id:3520658,username:"igolka97",contributions:1},{id:7502718,username:"liviuzachin",contributions:1},{id:6750786,username:"mahmoudawadeen",contributions:1},{id:1157401,username:"paolodina",contributions:1},{id:5169543,username:"daniser",contributions:1},{id:64213648,username:"sergerdn",contributions:1},{id:29234377,username:"yyydevf",contributions:1}]},{name:"pinia-plugin-persistedstate",description:"Configurable persistence and rehydration of Pinia stores.",repo:"prazdevs/pinia-plugin-persistedstate#main/packages/nuxt",npm:"@pinia-plugin-persistedstate/nuxt",icon:"pinia-plugin-persistedstate.png",github:"https://github.com/prazdevs/pinia-plugin-persistedstate/tree/main/packages/nuxt",website:"https://prazdevs.github.io/pinia-plugin-persistedstate/",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"PraZ",github:"prazdevs"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:125057,stars:1488,watchers:1488,forks:86,defaultBranch:"main",publishedAt:1698356334168,createdAt:1669424217567},contributors:[{id:1631886,username:"prazdevs",contributions:421},{id:61290107,username:"N0tExisting",contributions:3},{id:98140702,username:"cloudmoonocus",contributions:3},{id:24972677,username:"chris-si",contributions:1},{id:20186786,username:"lakuapik",contributions:1},{id:608727,username:"Emory-M",contributions:1},{id:32257184,username:"furkan-guvenc",contributions:1},{id:105258159,username:"henriquevschroeder",contributions:1},{id:1574903,username:"hooray",contributions:1},{id:58051684,username:"ivanq3w",contributions:1},{id:73585109,username:"Kiansa",contributions:1},{id:93523064,username:"MZ-Dlovely",contributions:1},{id:97374,username:"proton",contributions:1},{id:19306904,username:"sevsev9",contributions:1},{id:28395172,username:"Svenlooo",contributions:1},{id:13981214,username:"TobyMosque",contributions:1},{id:2703233,username:"toniengelhardt",contributions:1},{id:11721361,username:"ajenkins-cargometrics",contributions:1},{id:55788142,username:"floriankapaun",contributions:1},{id:29780558,username:"lvsong77",contributions:1},{id:36569518,username:"markthree",contributions:1},{id:28183123,username:"wukong-c",contributions:1},{id:73663860,username:"xucxichcao",contributions:1},{id:7400870,username:"Megasu",contributions:1}]},{name:"pinia",description:"The Vue Store that you will enjoy using",repo:"vuejs/pinia#v2/packages/nuxt",npm:"@pinia/nuxt",icon:"pinia.svg",github:"https://github.com/vuejs/pinia/tree/v2/packages/nuxt",website:"https://pinia.vuejs.org/",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"posva",github:"posva"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:714765,stars:11588,watchers:11588,forks:918,defaultBranch:"v2",publishedAt:1697449929435,createdAt:1629381795526},contributors:[{id:664177,username:"posva",contributions:1233},{id:5158436,username:"pi0",contributions:18},{id:3766839,username:"nicodevs",contributions:14},{id:28706372,username:"danielroe",contributions:9},{id:57580045,username:"wangenze267",contributions:6},{id:29396513,username:"Akhigbe-E",contributions:5},{id:7635209,username:"danielkellyio",contributions:4},{id:46400789,username:"JeraldVin",contributions:4},{id:26253657,username:"niceplugin",contributions:4},{id:30027636,username:"i5dr0id",contributions:3},{id:97254921,username:"tannazma",contributions:3},{id:41575890,username:"taist24",contributions:3},{id:10359255,username:"lazzzis",contributions:3},{id:24556921,username:"jeremygoccc",contributions:3},{id:39984251,username:"Mini-ghost",contributions:2},{id:27756206,username:"bashunaimiroy",contributions:2},{id:22983604,username:"BenShelton",contributions:2},{id:1223583,username:"bodograumann",contributions:2},{id:5460365,username:"DannyFeliz",contributions:2},{id:8009774,username:"davidshq",contributions:2},{id:499550,username:"yyx990803",contributions:2},{id:17453452,username:"kirklin",contributions:2},{id:40666434,username:"WalkAlone0325",contributions:2},{id:31730646,username:"BlackCrowxyz",contributions:2},{id:22591269,username:"tkint",contributions:2},{id:360,username:"tslocke",contributions:2}]},{name:"prepare",description:"Initialization steps at build time – like Nuxt 2 server init",repo:"johannschopplich/nuxt-prepare",npm:"nuxt-prepare",icon:"prepare.svg",github:"https://github.com/johannschopplich/nuxt-prepare",website:"https://nuxt-prepare.jhnn.dev",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"Johann Schopplich",github:"johannschopplich",twitter:"jschopplich",avatar:"https://avatars.githubusercontent.com/johannschopplich?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3050,stars:63,watchers:63,forks:2,defaultBranch:"main",publishedAt:1693572115313,createdAt:1692213888149},contributors:[{id:27850750,username:"johannschopplich",contributions:38}]},{name:"primevue",description:"Next Generation Vue UI Component Library",repo:"primefaces/primevue-nuxt-module",npm:"nuxt-primevue",icon:"primevue.svg",github:"https://github.com/primefaces/primevue-nuxt-module",website:"https://primevue.org/",learn_more:"https://primevue.org/",category:"UI",type:"3rd-party",maintainers:[{name:"primefaces",github:"primefaces",twitter:"primevue"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:9994,stars:26,watchers:26,forks:3,defaultBranch:"main",publishedAt:1699558388487,createdAt:1697064950799},contributors:[{id:11868120,username:"mertsincan",contributions:57},{id:32294991,username:"tugcekucukoglu",contributions:4},{id:30652791,username:"dammy001",contributions:2},{id:28706372,username:"danielroe",contributions:1}]},{name:"prismic",description:"Easily connect your Nuxt application to your content hosted on Prismic",repo:"nuxt-modules/prismic",npm:"@nuxtjs/prismic",icon:"prismic.png",github:"https://github.com/nuxt-modules/prismic",website:"https://prismic.nuxtjs.org",learn_more:"https://prismic.io",category:"CMS",type:"community",maintainers:[{name:"lihbr",github:"lihbr",twitter:"li_hbr"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:21594,stars:226,watchers:226,forks:42,defaultBranch:"master",publishedAt:1698158233829,createdAt:1578329683157},contributors:[{id:25330882,username:"lihbr",contributions:212},{id:904724,username:"Atinux",contributions:78},{id:71143978,username:"jamespeggsh",contributions:45},{id:894505,username:"jamespegg",contributions:11},{id:6568065,username:"hypervillain",contributions:4},{id:12446546,username:"LouisMazel",contributions:2},{id:640208,username:"manniL",contributions:1},{id:6861048,username:"andypattenden",contributions:1},{id:8632276,username:"carlos-avila",contributions:1},{id:3233370,username:"chz",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:47417929,username:"Brewd3v",contributions:1},{id:32859437,username:"pvpg",contributions:1},{id:43381242,username:"priyaprafful",contributions:1},{id:9093671,username:"sergaks",contributions:1},{id:23378741,username:"tosbatti",contributions:1},{id:5988959,username:"arnaudlewis",contributions:1},{id:1674029,username:"michael-bouvy",contributions:1}]},{name:"prometheus",description:"Allows you to better understand what's going on with your application and how to optimize performance and other things in production",repo:"artmizu/nuxt-prometheus",npm:"@artmizu/nuxt-prometheus",icon:"prometheus.svg",github:"https://github.com/artmizu/nuxt-prometheus",website:"https://github.com/artmizu/nuxt-prometheus",learn_more:"",category:"Monitoring",type:"3rd-party",maintainers:[{name:"artmizu",github:"artmizu"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3648,stars:32,watchers:32,forks:6,defaultBranch:"main",publishedAt:1693925074632,createdAt:1673358599822},contributors:[{id:12496464,username:"artmizu",contributions:42},{id:11289484,username:"AndreyYolkin",contributions:1},{id:9136206,username:"Tchoupinax",contributions:1}]},{name:"purgecss",description:"Drop superfluous CSS! A neat PurgeCSS wrapper for Nuxt",repo:"Developmint/nuxt-purgecss#main",npm:"nuxt-purgecss",icon:"purgecss.png",github:"https://github.com/Developmint/nuxt-purgecss",website:"https://github.com/Developmint/nuxt-purgecss",learn_more:"https://purgecss.com/",category:"CSS",type:"3rd-party",maintainers:[{name:"Developmint",github:"Developmint"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:82416,stars:455,watchers:455,forks:19,defaultBranch:"main",publishedAt:1664557553816,createdAt:1540159567646},contributors:[{id:640208,username:"manniL",contributions:25},{id:5757263,username:"simllll",contributions:3},{id:16958684,username:"bovas85",contributions:1},{id:9549394,username:"studnitz",contributions:1},{id:314872,username:"trecenti",contributions:1},{id:1055769,username:"homerjam",contributions:1},{id:25272043,username:"kevinmarrec",contributions:1},{id:8327054,username:"lecoueyl",contributions:1},{id:34612598,username:"matschik",contributions:1},{id:13064722,username:"ricardogobbosouza",contributions:1},{id:20733354,username:"miyanokomiya",contributions:1}]},{name:"quasar",description:"Effortlessly build high-performance & high-quality Vue.js 3 user interfaces in record time",repo:"Maiquu/nuxt-quasar",npm:"nuxt-quasar-ui",icon:"quasar.svg",github:"https://github.com/Maiquu/nuxt-quasar",website:"https://quasar.dev/",learn_more:"https://github.com/Maiquu/nuxt-quasar",category:"UI",type:"3rd-party",maintainers:[{name:"Ege İliklier",github:"Maiquu"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:9680,stars:102,watchers:102,forks:3,defaultBranch:"main",publishedAt:1696355497015,createdAt:1677857719959},contributors:[{id:37181247,username:"Maiquu",contributions:171},{id:15127381,username:"JasonLandbridge",contributions:9},{id:65054864,username:"cusitosr88",contributions:1},{id:83463097,username:"oumarbarry",contributions:1}]},{name:"radash",description:"radash module with auto-import and custom prefix",repo:"bbg/nuxt-radash",npm:"nuxt-radash",icon:"radash.png",github:"https://github.com/bbg/nuxt-radash",website:"https://github.com/bbg/nuxt-radash#readme",learn_more:"https://github.com/rayepps/radash/",category:"Libraries",type:"3rd-party",maintainers:[{name:"Batuhan Göksu",github:"bbg"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1231,stars:14,watchers:14,forks:1,defaultBranch:"main",publishedAt:1690366278855,createdAt:1690366278402},contributors:[{id:13348876,username:"bbg",contributions:2}]},{name:"radix-vue",description:"Vue port of Radix UI Primitives. An open-source UI component library for building high-quality, accessible design systems and web apps.",repo:"radix-vue/radix-vue",npm:"radix-vue",icon:"radix-vue.svg",github:"https://github.com/radix-vue/radix-vue",website:"https://www.radix-vue.com/",learn_more:"https://www.radix-vue.com/overview/installation.html#nuxt-modules",category:"UI",type:"3rd-party",maintainers:[{name:"Zernonia",github:"zernonia",twitter:"zernonia"},{name:"Khairul Haaziq",github:"khairulhaaziq"},{name:"Mujahid Anuar",github:"mujahidfa"},{name:"Max",github:"onmax"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:31571,stars:1507,watchers:1507,forks:60,defaultBranch:"main",publishedAt:1700578171554,createdAt:1687528329215},contributors:[{id:59365435,username:"zernonia",contributions:311},{id:101852870,username:"khairulhaaziq",contributions:162},{id:17759705,username:"mujahidfa",contributions:12},{id:51422045,username:"MellKam",contributions:11},{id:22072217,username:"onmax",contributions:7},{id:53905713,username:"BayBreezy",contributions:3},{id:15260226,username:"kdnk",contributions:3},{id:39938037,username:"mukundshah",contributions:3},{id:48835293,username:"DamianGlowala",contributions:2},{id:10506522,username:"enkot",contributions:2},{id:32813692,username:"madebyfabian",contributions:2},{id:47918504,username:"libondev",contributions:2},{id:20674057,username:"misbahansori",contributions:2},{id:17789047,username:"sadeghbarati",contributions:2},{id:75085249,username:"npldevfr",contributions:2},{id:37807381,username:"uyloal",contributions:2},{id:78960201,username:"aboubakrbm",contributions:1},{id:44473671,username:"D-Lite",contributions:1},{id:6420600,username:"DennisSmuda",contributions:1},{id:2422019,username:"edtorba",contributions:1},{id:8169933,username:"glennlaysonjr",contributions:1},{id:290496,username:"lepture",contributions:1},{id:59017897,username:"kn0wn",contributions:1},{id:56622402,username:"pkrinesh",contributions:1},{id:80677,username:"messenjer",contributions:1},{id:2727095,username:"steakscience",contributions:1},{id:13650518,username:"sdq-sts",contributions:1},{id:7533849,username:"tristandubbeld",contributions:1},{id:20427094,username:"owlnai",contributions:1}]},{name:"resend",description:"Resend integration for Nuxt",repo:"nhedger/nuxt-resend",npm:"nuxt-resend",icon:"resend.svg",github:"https://github.com/nhedger/nuxt-resend",website:"https://github.com/nhedger/nuxt-resend",learn_more:"https://resend.com",category:"Extensions",type:"3rd-party",maintainers:[{name:"Nicolas Hedger",github:"nhedger",twitter:"nicolashedger"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:153,stars:11,watchers:11,forks:1,defaultBranch:"main",publishedAt:1699999986794,createdAt:1699992253165},contributors:[{id:649677,username:"nhedger",contributions:8},{id:904724,username:"Atinux",contributions:1}]},{name:"robots",description:"A Nuxt module thats inject a middleware to generate a robots.txt file",repo:"nuxt-modules/robots",npm:"@nuxtjs/robots",icon:"robots.png",github:"https://github.com/nuxt-modules/robots",website:"https://github.com/nuxt-modules/robots",learn_more:"https://support.google.com/webmasters/answer/6062608?hl=en",category:"SEO",type:"community",maintainers:[{name:"Ricardo Gobbo de Souza",github:"ricardogobbosouza"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:220865,stars:355,watchers:355,forks:25,defaultBranch:"main",publishedAt:1668802794342,createdAt:1551100239881},contributors:[{id:13064722,username:"ricardogobbosouza",contributions:82},{id:2766008,username:"WilliamDASILVA",contributions:31},{id:469009,username:"rinu",contributions:2},{id:28706372,username:"danielroe",contributions:1},{id:6578052,username:"danielgroen",contributions:1},{id:4778485,username:"dargmuesli",contributions:1},{id:34515355,username:"matt-clegg",contributions:1},{id:78361788,username:"patricrichard",contributions:1},{id:77567,username:"weotch",contributions:1},{id:17025257,username:"gekkedev",contributions:1},{id:12688139,username:"nosfi831",contributions:1}]},{name:"sanity",description:"Access text, images, and other media with Nuxt and the Sanity headless CMS.",repo:"nuxt-modules/sanity#main",npm:"@nuxtjs/sanity",icon:"sanity.png",github:"https://github.com/nuxt-modules/sanity#main",website:"https://sanity.nuxtjs.org",learn_more:"https://www.sanity.io/",category:"CMS",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:10613,stars:175,watchers:175,forks:26,defaultBranch:"main",publishedAt:1700171156215,createdAt:1596892000432},contributors:[{id:28706372,username:"danielroe",contributions:304},{id:904724,username:"Atinux",contributions:11},{id:1411843,username:"mornir",contributions:3},{id:40447,username:"okj579",contributions:2},{id:18035115,username:"aadgrant",contributions:2},{id:81981,username:"stipsan",contributions:1},{id:6696789,username:"Flosciante",contributions:1},{id:97258230,username:"safejace",contributions:1},{id:12168237,username:"liqueflies",contributions:1},{id:58360242,username:"Nelwhix",contributions:1},{id:1107521,username:"hacknug",contributions:1},{id:19529313,username:"niklas-may",contributions:1},{id:7793873,username:"OlaAlsaker",contributions:1},{id:2671726,username:"Triloworld",contributions:1},{id:37446135,username:"SlicoHP",contributions:1},{id:3109921,username:"silvio-e",contributions:1},{id:7547335,username:"smarroufin",contributions:1},{id:2152968,username:"ThomOrlo",contributions:1},{id:42739553,username:"YannicEl",contributions:1},{id:1385263,username:"Tahul",contributions:1},{id:915966,username:"sodevious",contributions:1}]},{name:"schema-org",description:"Schema.org for Nuxt.",repo:"harlan-zw/nuxt-schema-org",npm:"nuxt-schema-org",icon:"schema-org.svg",github:"https://github.com/harlan-zw/nuxt-schema-org",website:"https://nuxtseo.com/schema-org",learn_more:"https://unhead.unjs.io/schema-org/getting-started/setup",category:"SEO",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:61687,stars:106,watchers:106,forks:10,defaultBranch:"main",publishedAt:1700539533135,createdAt:1650803134712},contributors:[{id:5326365,username:"harlan-zw",contributions:154},{id:5989846,username:"sanderdewinter",contributions:8},{id:4778485,username:"dargmuesli",contributions:2},{id:110889225,username:"sdewinter-maqqie",contributions:2},{id:25445516,username:"birdlavv",contributions:1},{id:45267552,username:"Barbapapazes",contributions:1},{id:7460168,username:"jbmolle",contributions:1},{id:2862673,username:"shven",contributions:1}]},{name:"security",description:"Security Module for Nuxt based on OWASP Top 10 and Helmet",repo:"Baroshem/nuxt-security",npm:"nuxt-security",icon:"nuxt-security.svg",github:"https://github.com/Baroshem/nuxt-security",website:"https://nuxt-security.vercel.app/",learn_more:"https://nuxt-security.vercel.app/",category:"Security",type:"3rd-party",maintainers:[{name:"Jakub Andrzejewski",github:"Baroshem",avatar:"https://avatars.githubusercontent.com/u/37120330?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:62174,stars:576,watchers:576,forks:37,defaultBranch:"main",publishedAt:1700042172773,createdAt:1665235892091},contributors:[{id:37120330,username:"Baroshem",contributions:246},{id:7295259,username:"vejja",contributions:43},{id:112890430,username:"trijpstra-fourlights",contributions:17},{id:4778485,username:"dargmuesli",contributions:8},{id:6861191,username:"runyasak",contributions:3},{id:48835293,username:"DamianGlowala",contributions:3},{id:28459081,username:"boring-dragon",contributions:2},{id:3862891,username:"espensgr",contributions:2},{id:17362753,username:"Droutin",contributions:2},{id:875533,username:"Tristan971",contributions:2},{id:2233663,username:"kouts",contributions:2},{id:26602940,username:"0xflotus",contributions:1},{id:23550517,username:"alexbidenko",contributions:1},{id:38699378,username:"lanluartes",contributions:1},{id:24852502,username:"kyranet",contributions:1},{id:7902617,username:"csprance",contributions:1},{id:59223342,username:"Intevel",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:20408790,username:"fabricioOak",contributions:1},{id:14868014,username:"tresko",contributions:1},{id:20650401,username:"insomnius",contributions:1},{id:2222702,username:"mubaidr",contributions:1},{id:5158436,username:"pi0",contributions:1},{id:10244927,username:"tmlmt",contributions:1}]},{name:"seo-experiments",description:"Powerful SEO DX improvements that may or may not land in the Nuxt core.",repo:"harlan-zw/nuxt-seo-experiments",npm:"nuxt-seo-experiments",icon:"seo-experiments.svg",github:"https://github.com/harlan-zw/nuxt-seo-experiments",website:"https://nuxtseo.com/experiments",learn_more:"https://nuxtseo.com/experiments",category:"SEO",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:12804,stars:59,watchers:59,forks:6,defaultBranch:"main",publishedAt:1700540830688,createdAt:1684079533112},contributors:[{id:5326365,username:"harlan-zw",contributions:252},{id:73709188,username:"HigherOrderLogic",contributions:4},{id:11756007,username:"m7rlin",contributions:3},{id:6649305,username:"BobbieGoede",contributions:1},{id:4778485,username:"dargmuesli",contributions:1},{id:65096948,username:"KyleSmith0905",contributions:1}]},{name:"seo-kit",description:"The complete SEO solution for Nuxt.",repo:"harlan-zw/nuxt-seo-kit#main/layer",npm:"nuxt-seo-kit",icon:"seo-kit.svg",github:"https://github.com/harlan-zw/nuxt-seo-kit",website:"https://nuxtseo.com/nuxt-seo/getting-started/installation",learn_more:"",category:"SEO",type:"3rd-party",maintainers:[{name:"harlan-zw",github:"harlan-zw"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:14406,stars:716,watchers:716,forks:26,defaultBranch:"main",publishedAt:1694335772057,createdAt:1670947187491},contributors:[{id:5326365,username:"harlan-zw",contributions:199},{id:6196533,username:"jd1378",contributions:2},{id:12596485,username:"reslear",contributions:2},{id:127685984,username:"BillyBouman-2B-IT",contributions:1},{id:60323306,username:"vasilistotskas",contributions:1},{id:4778485,username:"dargmuesli",contributions:1}]},{name:"server-block",description:"Use tags in your Nuxt pages components.",repo:"Hebilicious/server-block-nuxt/packages/server-block-nuxt#main",npm:"@hebilicious/server-block-nuxt",icon:"server-block.svg",github:"https://github.com/Hebilicious/server-block-nuxt",website:"https://github.com/Hebilicious/server-block-nuxt#readme",learn_more:"https://github.com/Hebilicious/server-block-nuxt#readme",category:"Extensions",type:"3rd-party",maintainers:[{name:"Hebilicious",github:"Hebilicious",twitter:"its_hebilicious"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:387,stars:95,watchers:95,forks:2,defaultBranch:"main",publishedAt:1691528792888,createdAt:1689174083765},contributors:[{id:13395944,username:"Hebilicious",contributions:38}]},{name:"session",description:"Session middleware to persist user data across requests, a client-side useSession composable to interact with the session, supports many storage backends via unjs/unstorage",repo:"sidebase/nuxt-session",npm:"@sidebase/nuxt-session",icon:"session.png",github:"https://github.com/sidebase/nuxt-session",website:"https://github.com/sidebase/nuxt-session",learn_more:"https://github.com/sidebase",category:"Security",type:"3rd-party",maintainers:[{name:"sidebase",github:"sidebase",twitter:"sidebase_io"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:13467,stars:188,watchers:188,forks:17,defaultBranch:"main",publishedAt:1676035742052,createdAt:1665582997446},contributors:[{id:25911230,username:"BracketJohn",contributions:51},{id:30908158,username:"zoey-kaiser",contributions:5},{id:19350560,username:"interpretor",contributions:3},{id:25990549,username:"Voltra",contributions:2},{id:15887916,username:"blumgart",contributions:1},{id:363330,username:"chriscdn",contributions:1},{id:11322254,username:"IronicUsername",contributions:1},{id:44715857,username:"Twitch0125",contributions:1},{id:71883104,username:"re-mxp",contributions:1}]},{name:"sidebase-auth",description:"Zero-boilerplate authentication for nuxt 3 with support for many strategies (oauth, credentials, ...) and providers (google, azure, ...). Additionally supports session manipulation, client- and server-side protection and more.",repo:"sidebase/nuxt-auth",npm:"@sidebase/nuxt-auth",icon:"sidebase-auth.png",github:"https://github.com/sidebase/nuxt-auth",website:"https://github.com/sidebase/nuxt-auth",learn_more:"https://github.com/sidebase",category:"Security",type:"3rd-party",maintainers:[{name:"sidebase",github:"sidebase",twitter:"sidebase_io"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:48390,stars:888,watchers:888,forks:84,defaultBranch:"main",publishedAt:1700150261640,createdAt:1667141213796},contributors:[{id:25911230,username:"BracketJohn",contributions:144},{id:30908158,username:"zoey-kaiser",contributions:34},{id:15177236,username:"JoaoPedroAS51",contributions:5},{id:63050099,username:"mlutsiuk",contributions:4},{id:74846767,username:"Danielwinkelmann",contributions:3},{id:30736553,username:"LouisHaftmann",contributions:3},{id:640208,username:"manniL",contributions:2},{id:50699657,username:"vanling",contributions:2},{id:64862099,username:"bmhtech07",contributions:2},{id:11289484,username:"AndreyYolkin",contributions:1},{id:31987405,username:"anjarupnik",contributions:1},{id:7902617,username:"csprance",contributions:1},{id:20440899,username:"CodyBontecou",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:63355,username:"drusellers",contributions:1},{id:928780,username:"genu",contributions:1},{id:74197546,username:"tnt-freskim-veliu",contributions:1},{id:43099880,username:"guesant",contributions:1},{id:5326365,username:"harlan-zw",contributions:1},{id:35950229,username:"Hrdtr",contributions:1},{id:34208843,username:"initred",contributions:1},{id:11322254,username:"IronicUsername",contributions:1},{id:1769417,username:"IsraelOrtuno",contributions:1},{id:882219,username:"janhoogeveen",contributions:1},{id:17620516,username:"kashalls",contributions:1},{id:17332418,username:"KoenCa",contributions:1},{id:65096948,username:"KyleSmith0905",contributions:1},{id:7632405,username:"lookto",contributions:1},{id:751979,username:"NielsJanssen",contributions:1}]},{name:"simple-robots",description:"Tame the robots crawling and indexing your Nuxt site.",repo:"harlan-zw/nuxt-simple-robots",npm:"nuxt-simple-robots",icon:"simple-robots.svg",github:"https://github.com/harlan-zw/nuxt-simple-robots",website:"https://nuxtseo.com/robots",learn_more:"https://nuxtseo.com/robots",category:"SEO",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:52158,stars:72,watchers:72,forks:2,defaultBranch:"main",publishedAt:1698653196310,createdAt:1671435410514},contributors:[{id:5326365,username:"harlan-zw",contributions:173}]},{name:"simple-sitemap",description:"Powerfully flexible XML Sitemaps that integrate seamlessly.",repo:"harlan-zw/nuxt-simple-sitemap",npm:"nuxt-simple-sitemap",icon:"simple-sitemap.svg",github:"https://github.com/harlan-zw/nuxt-simple-sitemap",website:"https://nuxtseo.com/simple-sitemap",learn_more:"https://nuxtseo.com/simple-sitemap",category:"SEO",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:114449,stars:172,watchers:172,forks:16,defaultBranch:"main",publishedAt:1700622711653,createdAt:1670908660527},contributors:[{id:5326365,username:"harlan-zw",contributions:535},{id:2013388,username:"davidstackio",contributions:1},{id:16446824,username:"tirojal",contributions:1},{id:10812694,username:"joewinger",contributions:1},{id:328718,username:"dulacp",contributions:1},{id:72107589,username:"damevin",contributions:1}]},{name:"snackbar",description:"Nuxt Snackbar module using vue3-snackbar",repo:"modbender/nuxt-snackbar#master",npm:"nuxt-snackbar",icon:"snackbar.png",github:"https://github.com/modbender/nuxt-snackbar/tree/master",website:"https://github.com/modbender/nuxt-snackbar/tree/master",learn_more:"https://github.com/craigrileyuk/vue3-snackbar",category:"UI",type:"3rd-party",maintainers:[{name:"modbender",github:"modbender"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:4513,stars:10,watchers:10,forks:3,defaultBranch:"master",publishedAt:1697887059788,createdAt:1678704849792},contributors:[{id:25717245,username:"modbender",contributions:22},{id:23519801,username:"PerssonAlbin",contributions:2},{id:5096365,username:"yrming",contributions:1}]},{name:"snipcart",description:"Snipcart integration module for Nuxt",repo:"nuxt-modules/snipcart",npm:"@nuxtjs/snipcart",icon:"snipcart.png",github:"https://github.com/nuxt-modules/snipcart",website:"https://github.com/nuxt-modules/snipcart",learn_more:"https://snipcart.com",category:"Ecommerce",type:"community",maintainers:[{name:"Florent GIRAUD",github:"flozero",twitter:"flozeroo"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:210,stars:46,watchers:46,forks:9,defaultBranch:"main",publishedAt:1675642829647,createdAt:1602761200952},contributors:[]},{name:"storyblok",description:"Storyblok Nuxt module",repo:"storyblok/storyblok-nuxt#master/lib",npm:"@storyblok/nuxt",icon:"storyblok.png",github:"https://github.com/storyblok/storyblok-nuxt",website:"https://github.com/storyblok/storyblok-nuxt",learn_more:"",category:"CMS",type:"3rd-party",maintainers:[{name:"storyblok",github:"storyblok"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:35652,stars:245,watchers:245,forks:40,defaultBranch:"main",publishedAt:1699873686765,createdAt:1637262530769},contributors:[{id:36744484,username:"Dawntraoz",contributions:279},{id:5701162,username:"alexjoverm",contributions:64},{id:160495,username:"onefriendaday",contributions:32},{id:81760207,username:"manuelschroederdev",contributions:30},{id:20650272,username:"christianzoppi",contributions:29},{id:4699008,username:"alvarosabu",contributions:24},{id:5083273,username:"SebbeJohansson",contributions:11},{id:20342656,username:"emanuelgsouza",contributions:10},{id:16301998,username:"markus-gx",contributions:7},{id:11278408,username:"lisilinhart",contributions:6},{id:37120330,username:"Baroshem",contributions:5},{id:5185019,username:"samuells",contributions:5},{id:7952803,username:"DominikAngerer",contributions:2},{id:34036252,username:"Adamkillander96",contributions:1},{id:86311095,username:"cmorrow-rv",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:678434,username:"roberto-butti",contributions:1},{id:9434493,username:"tguelcan",contributions:1}]},{name:"storybook",description:"Easily integrate Storybook in your Nuxt application to design, build, and organize your UI components in isolation.",repo:"nuxt-modules/storybook",npm:"@nuxtjs/storybook",icon:"storybook.png",github:"https://github.com/nuxt-modules/storybook",website:"https://storybook.nuxtjs.org",learn_more:"https://github.com/storybook-vue/storybook-nuxt",category:"Devtools",type:"community",maintainers:[{name:"Chakir QATAB",github:"chakAs3",twitter:"ChakirQatab"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"},devtools:"^0.7.2"},stats:{downloads:75751,stars:338,watchers:338,forks:62,defaultBranch:"main",publishedAt:1696397149076,createdAt:1594725493976},contributors:[{id:711292,username:"chakAs3",contributions:97},{id:247713,username:"bmulholland",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"strapi",description:"Design APIs fast and manage content easily using REST or GraphQL.",repo:"nuxt-modules/strapi",npm:"@nuxtjs/strapi",icon:"strapi.png",github:"https://github.com/nuxt-modules/strapi",website:"https://strapi.nuxtjs.org",learn_more:"https://strapi.io/",category:"CMS",type:"community",maintainers:[{name:"Benjamin Canac",github:"benjamincanac",twitter:"benjamincanac"},{name:"Sébastien Chopin",github:"Atinux",twitter:"Atinux"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0},devtools:"^0.0.0"},stats:{downloads:20449,stars:552,watchers:552,forks:72,defaultBranch:"dev",publishedAt:1685609375606,createdAt:1593003491514},contributors:[{id:739984,username:"benjamincanac",contributions:180},{id:904724,username:"Atinux",contributions:62},{id:7290030,username:"larbish",contributions:7},{id:1113278,username:"jiblett1000",contributions:4},{id:28706372,username:"danielroe",contributions:4},{id:13274728,username:"doseofted",contributions:4},{id:5158436,username:"pi0",contributions:4},{id:946345,username:"ChristopheCVB",contributions:2},{id:59223342,username:"Intevel",contributions:2},{id:37207714,username:"luke-z",contributions:2},{id:6696789,username:"Flosciante",contributions:2},{id:4003538,username:"acekyd",contributions:1},{id:53905713,username:"BayBreezy",contributions:1},{id:1231359,username:"cssmagic",contributions:1},{id:25715982,username:"cpaczek",contributions:1},{id:18102267,username:"oritwoen",contributions:1},{id:10612835,username:"Kapcash",contributions:1},{id:5326365,username:"harlan-zw",contributions:1},{id:19965325,username:"joelbqz",contributions:1},{id:61005888,username:"kuizuo",contributions:1},{id:61506420,username:"LuckeeDev",contributions:1},{id:4400999,username:"acerspyro",contributions:1},{id:1983382,username:"katerlouis",contributions:1},{id:14164020,username:"rbrannath",contributions:1},{id:3911343,username:"stafyniaksacha",contributions:1},{id:7547335,username:"smarroufin",contributions:1},{id:34125897,username:"Stun3R",contributions:1}]},{name:"stripe-next",description:"This Nuxt module provides an easy way to integrate Stripe in your Nuxt application, both on the client-side and server-side. It utilizes the official stripe package for server-side usage and @stripe/stripe-js for the client-side.",repo:"fuentesloic/nuxt-stripe",npm:"@unlok-co/nuxt-stripe",icon:"stripe.png",github:"https://github.com/fuentesloic/nuxt-stripe",website:"https://github.com/fuentesloic/nuxt-stripe",learn_more:"https://stripe.com/docs",category:"Payment",type:"3rd-party",maintainers:[{name:"Loic Fuentes",github:"fuentesloic"},{name:"Florent Giraud",github:"flozero"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1064,stars:45,watchers:45,forks:4,defaultBranch:"main",publishedAt:1691415361443,createdAt:1688226235402},contributors:[{id:8755623,username:"fuentesloic",contributions:14},{id:11556276,username:"flozero",contributions:7},{id:7190600,username:"mitjans",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:13056429,username:"Sandros94",contributions:1}]},{name:"studio",description:"A new experience to build content-driven website with Nuxt.",repo:"nuxtlabs/studio-module",npm:"@nuxthq/studio",icon:"studio.svg",github:"https://github.com/nuxtlabs/studio-module",website:"https://nuxt.studio",learn_more:"https://nuxt.studio",category:"CMS",type:"3rd-party",maintainers:[{name:"Ahad Birang",github:"farnabaz",twitter:"a_birang"},{name:"Sébastien Chopin",github:"Atinux",twitter:"Atinux"}],compatibility:{nuxt:"^3.0.0",requires:{content:!0}},stats:{downloads:24676,stars:29,watchers:2,forks:3,defaultBranch:"dev",publishedAt:1700490248325,createdAt:1659100428664},contributors:[{id:2047945,username:"farnabaz",contributions:111},{id:904724,username:"Atinux",contributions:70},{id:1385263,username:"Tahul",contributions:35},{id:7290030,username:"larbish",contributions:31},{id:11247099,username:"antfu",contributions:20},{id:25272043,username:"kevinmarrec",contributions:5},{id:1439623,username:"clemcode",contributions:1},{id:1840026,username:"maximepvrt",contributions:1}]},{name:"stylelint",description:"Stylelint module for Nuxt. A mighty, modern linter that helps you avoid errors and enforce conventions in your styles.",repo:"nuxt-community/stylelint-module",npm:"@nuxtjs/stylelint-module",icon:"stylelint.png",github:"https://github.com/nuxt-community/stylelint-module",website:"https://github.com/nuxt-community/stylelint-module",learn_more:"https://stylelint.io/",category:"CSS",type:"community",maintainers:[{name:"Ricardo Gobbo de Souza",github:"ricardogobbosouza"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:220927,stars:54,watchers:54,forks:7,defaultBranch:"main",publishedAt:1685026621035,createdAt:1562033010867},contributors:[{id:13064722,username:"ricardogobbosouza",contributions:79},{id:20086673,username:"munierujp",contributions:1},{id:1023734,username:"roelvanhintum",contributions:1},{id:17392251,username:"mrleblanc101",contributions:1},{id:5113257,username:"mainrs",contributions:1}]},{name:"stylify",description:"Stylify generates utility-first CSS dynamically based on what you write. Write HTML. Get CSS.",repo:"stylify/packages#master/packages/nuxt",npm:"@stylify/nuxt",icon:"stylify.svg",github:"https://github.com/stylify/packages/tree/master/packages/nuxt",website:"https://stylifycss.com/docs/nuxt",learn_more:"https://stylifycss.com",category:"UI",type:"3rd-party",maintainers:[{name:"Vladimír Macháček",github:"Machy8",twitter:"8machy"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:183,stars:409,watchers:409,forks:7,defaultBranch:"master",publishedAt:1687098008242,createdAt:1654115077116},contributors:[{id:14016808,username:"Machy8",contributions:684},{id:77530871,username:"JirakLu",contributions:4},{id:3233370,username:"chz",contributions:2},{id:30605984,username:"MilesPernicious",contributions:2}]},{name:"supabase",description:"First class integration with Supabase",repo:"nuxt-modules/supabase",npm:"@nuxtjs/supabase",icon:"supabase.png",github:"https://github.com/nuxt-modules/supabase",website:"https://supabase.nuxtjs.org",learn_more:"https://supabase.com",category:"Database",type:"community",maintainers:[{name:"Baptiste Leproux",github:"larbish",twitter:"baptistelprx"},{name:"Sebastien Chopin",github:"Atinux",twitter:"Atinux"},{name:"Scott Robertson",github:"scottrobertson",twitter:"scottymeuk"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:24599,stars:471,watchers:471,forks:96,defaultBranch:"main",publishedAt:1700232211294,createdAt:1647339970990},contributors:[{id:7290030,username:"larbish",contributions:294},{id:904724,username:"Atinux",contributions:58},{id:5158436,username:"pi0",contributions:4},{id:739984,username:"benjamincanac",contributions:3},{id:25272043,username:"kevinmarrec",contributions:3},{id:5823770,username:"Aietes",contributions:3},{id:1259364,username:"levibe",contributions:2},{id:982975,username:"AlbertBrand",contributions:2},{id:96275757,username:"52cs",contributions:1},{id:640208,username:"manniL",contributions:1},{id:38134195,username:"amrnn90",contributions:1},{id:7190600,username:"mitjans",contributions:1},{id:48835293,username:"DamianGlowala",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:69633530,username:"florian-lefebvre",contributions:1},{id:40766799,username:"tnntwister",contributions:1},{id:49143414,username:"hafizjavaid",contributions:1},{id:31483041,username:"jonesisg1",contributions:1},{id:36164786,username:"Jclong98",contributions:1},{id:44449,username:"jawngee",contributions:1},{id:44786998,username:"josueayala27",contributions:1},{id:1248148,username:"blqke",contributions:1},{id:61005888,username:"kuizuo",contributions:1},{id:83463097,username:"oumarbarry",contributions:1},{id:7809845,username:"psto",contributions:1},{id:16954673,username:"relisora",contributions:1},{id:38413630,username:"icarusgk",contributions:1},{id:3911343,username:"stafyniaksacha",contributions:1}]},{name:"svg-sprite",description:"Optimized and Easy way to use svg files in Nuxt",repo:"nuxt-modules/svg-sprite",npm:"@nuxtjs/svg-sprite",icon:"",github:"https://github.com/nuxt-modules/svg-sprite",website:"https://github.com/nuxt-modules/svg-sprite",learn_more:"",category:"UI",type:"community",maintainers:[{name:"Ahad Birang",github:"farnabaz",twitter:"a_birang"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:47482,stars:267,watchers:267,forks:34,defaultBranch:"master",publishedAt:1685026698170,createdAt:1549269174364},contributors:[{id:2047945,username:"farnabaz",contributions:212},{id:904724,username:"Atinux",contributions:7},{id:44983823,username:"andrewvasilchuk",contributions:3},{id:5326365,username:"harlan-zw",contributions:2},{id:11446010,username:"jubeiam",contributions:2},{id:4581398,username:"yurks",contributions:2},{id:63285903,username:"TroAlexis",contributions:1},{id:5218341,username:"haan123",contributions:1},{id:3998654,username:"ilya-buligin",contributions:1},{id:5410417,username:"lennoximus",contributions:1},{id:9404365,username:"obennaci",contributions:1},{id:5158436,username:"pi0",contributions:1},{id:5718030,username:"robikovacs",contributions:1},{id:23457585,username:"Tomaszal",contributions:1},{id:2068895,username:"twxia",contributions:1}]},{name:"swiper",description:"Nuxt module for Swiper.js - Most modern mobile touch slider with hardware accelerated transitions.",repo:"cpreston321/nuxt-swiper",npm:"nuxt-swiper",icon:"swiper.svg",github:"https://github.com/cpreston321/nuxt-swiper",website:"https://github.com/cpreston321/nuxt-swiper",learn_more:"https://github.com/cpreston321/nuxt-swiper#README.md",category:"Libraries",type:"3rd-party",maintainers:[{name:"Christian Preston",github:"cpreston321"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:66992,stars:153,watchers:153,forks:6,defaultBranch:"main",publishedAt:1693059310135,createdAt:1663020040674},contributors:[{id:6619884,username:"cpreston321",contributions:86},{id:23022574,username:"TakNePoidet",contributions:6},{id:5721341,username:"AGPDev",contributions:1},{id:15806356,username:"misaon",contributions:1},{id:56671014,username:"Soya-xy",contributions:1}]},{name:"tailvue",description:"Vue components built for Vue3 powered by Windi CSS or tailwindcss",repo:"fumeapp/tailvue",npm:"tailvue",icon:"tailvue.jpg",github:"https://github.com/fumeapp/tailvue",website:"https://github.com/fumeapp/tailvue",learn_more:"https://github.com/fumeapp/tailvue#readme",category:"UI",type:"3rd-party",maintainers:[{name:"Kevin Olson",github:"acidjazz",twitter:"AppFume"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3632,stars:151,watchers:151,forks:13,defaultBranch:"main",publishedAt:1685414745869,createdAt:1591964566350},contributors:[{id:967369,username:"acidjazz",contributions:199},{id:1384775,username:"hfoletto",contributions:3},{id:25044744,username:"tcampbPPU",contributions:3},{id:1526840,username:"davidnknight",contributions:1},{id:4019718,username:"favna",contributions:1},{id:39938037,username:"mukundshah",contributions:1}]},{name:"tailwindcss",description:"Add Tailwind CSS to your Nuxt application in seconds with PurgeCSS included for minimal CSS.",repo:"nuxt-modules/tailwindcss",npm:"@nuxtjs/tailwindcss",icon:"tailwindcss.png",github:"https://github.com/nuxt-modules/tailwindcss",website:"https://tailwindcss.nuxtjs.org",learn_more:"https://tailwindcss.com/",category:"UI",type:"community",maintainers:[{name:"Sébastien Chopin",github:"Atinux",twitter:"Atinux"},{name:"Inesh Bose",github:"ineshbose"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:575831,stars:1484,watchers:1484,forks:175,defaultBranch:"main",publishedAt:1700564229821,createdAt:1554372868524},contributors:[{id:904724,username:"Atinux",contributions:290},{id:56732164,username:"ineshbose",contributions:50},{id:5158436,username:"pi0",contributions:29},{id:28706372,username:"danielroe",contributions:9},{id:48835293,username:"DamianGlowala",contributions:5},{id:739984,username:"benjamincanac",contributions:4},{id:640208,username:"manniL",contributions:3},{id:5326365,username:"harlan-zw",contributions:3},{id:10992664,username:"P4sca1",contributions:3},{id:1385263,username:"Tahul",contributions:3},{id:1329592,username:"makkarpov",contributions:2},{id:13064722,username:"ricardogobbosouza",contributions:2},{id:28691559,username:"Ricklin90085",contributions:2},{id:2793951,username:"RomainLanz",contributions:2},{id:7547335,username:"smarroufin",contributions:2},{id:34125897,username:"Stun3R",contributions:2},{id:2095133,username:"cjpearson",contributions:2},{id:53976837,username:"RomainMazB",contributions:2},{id:44983823,username:"andrewvasilchuk",contributions:1},{id:1881266,username:"iamandrewluca",contributions:1},{id:30652791,username:"dammy001",contributions:1},{id:11247099,username:"antfu",contributions:1},{id:7577851,username:"axieum",contributions:1},{id:42867097,username:"azrikahar",contributions:1},{id:7190600,username:"mitjans",contributions:1},{id:246254,username:"disusered",contributions:1},{id:15019332,username:"chettapong",contributions:1},{id:3233370,username:"chz",contributions:1},{id:1113278,username:"jiblett1000",contributions:1}]},{name:"time",description:"Safely render local dates and times on the server with Nuxt",repo:"danielroe/nuxt-time",npm:"nuxt-time",icon:"",github:"https://github.com/danielroe/nuxt-time",website:"https://github.com/danielroe/nuxt-time",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"danielroe",github:"danielroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:2988,stars:190,watchers:190,forks:11,defaultBranch:"main",publishedAt:1690059329793,createdAt:1676080344271},contributors:[{id:28706372,username:"danielroe",contributions:26},{id:39984251,username:"Mini-ghost",contributions:3},{id:5326365,username:"harlan-zw",contributions:1},{id:6311119,username:"userquin",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"tresjs",description:"Create 3D experiences in your Nuxt application using TresJS.",repo:"tresjs/nuxt",npm:"@tresjs/nuxt",icon:"tresjs.svg",github:"https://github.com/Tresjs/nuxt",website:"https://tresjs.org/guide/nuxt.html",learn_more:"https://tresjs.org/",category:"Libraries",type:"3rd-party",maintainers:[{name:"Alvaro Saburido",github:"alvarosabu",twitter:"alvarosabu"},{name:"Jaime Torrealba",github:"JaimeTorrealba",twitter:"jaimebboyjt"},{name:"Tino Koch",github:"Tinoooo",twitter:"ichbintino"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:2012,stars:125,watchers:125,forks:1,defaultBranch:"main",publishedAt:1697739175412,createdAt:1686591014236},contributors:[{id:4699008,username:"alvarosabu",contributions:56},{id:28706372,username:"danielroe",contributions:3},{id:6311119,username:"userquin",contributions:1},{id:48431,username:"texastoland",contributions:1}]},{name:"turnstile",description:"Privacy-focused alternative to CAPTCHA from Cloudflare",repo:"nuxt-modules/turnstile",npm:"@nuxtjs/turnstile",icon:"cloudflare.svg",github:"https://github.com/nuxt-modules/turnstile",website:"https://github.com/nuxt-modules/turnstile",learn_more:"https://www.cloudflare.com/products/turnstile/",category:"Security",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:6137,stars:164,watchers:164,forks:9,defaultBranch:"main",publishedAt:1693253886440,createdAt:1673267225225},contributors:[{id:28706372,username:"danielroe",contributions:47},{id:4778485,username:"dargmuesli",contributions:18},{id:63512348,username:"huang-julien",contributions:3},{id:15042849,username:"scalemaildev",contributions:1},{id:23470589,username:"dnlsndr",contributions:1},{id:32813692,username:"madebyfabian",contributions:1},{id:25430449,username:"PatrickMi",contributions:1},{id:16725310,username:"SvenWesterlaken",contributions:1},{id:11949520,username:"acidbiscuit",contributions:1},{id:16264115,username:"Yizack",contributions:1},{id:89916568,username:"alinakuzina",contributions:1}]},{name:"twemoji",description:"Twemoji module for Nuxt. Render emojis as SVG elements or PNG images.",repo:"yizack/nuxt-twemoji",npm:"nuxt-twemoji",icon:"twemoji.svg",github:"https://github.com/Yizack/nuxt-twemoji",website:"https://github.com/Yizack/nuxt-twemoji",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"Yizack Rangel",github:"yizack"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:363,stars:3,watchers:3,forks:0,defaultBranch:"main",publishedAt:1697154704775,createdAt:1684692681154},contributors:[{id:16264115,username:"Yizack",contributions:104}]},{name:"twicpics",description:"Images and videos components - Context aware resizing and cropping, lazy-loading, LQIP, Next-Gen format, compression, CDN.",repo:"TwicPics/components",npm:"@twicpics/components",icon:"twicpics.svg",github:"https://github.com/TwicPics/components",website:"https://www.twicpics.com/docs/components/nuxt-3",learn_more:"https://www.twicpics.com",category:"Images",type:"3rd-party",maintainers:[{name:"Florent Bourgeois",github:"florentb",twitter:"florent_b"},{name:"Julian Aubourg",github:"jaubourg",twitter:"jaubourg"},{name:"Miguel Beignon",github:"mbgspcii",twitter:"m_beignon"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:9674,stars:48,watchers:48,forks:2,defaultBranch:"main",publishedAt:1700583989854,createdAt:1627416306074},contributors:[{id:7620438,username:"mbgspcii",contributions:373},{id:160354,username:"jaubourg",contributions:116},{id:5786750,username:"Strift",contributions:24},{id:763424,username:"florentb",contributions:2},{id:28706372,username:"danielroe",contributions:1}]},{name:"typed-router",description:"Provide autocompletion for pages route names and params",repo:"victorgarciaesgi/nuxt-typed-router",npm:"nuxt-typed-router",icon:"typed-router.png",github:"https://github.com/victorgarciaesgi/nuxt-typed-router",website:"https://nuxt-typed-router.vercel.app",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"victorgarciaesgi",github:"victorgarciaesgi"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:49654,stars:273,watchers:273,forks:9,defaultBranch:"master",publishedAt:1699527493450,createdAt:1578496039434},contributors:[{id:15092120,username:"victorgarciaesgi",contributions:253},{id:48443363,username:"victortotem",contributions:29},{id:28706372,username:"danielroe",contributions:2},{id:43795814,username:"thunfisch987",contributions:2},{id:65359713,username:"mahdiboomeri",contributions:1},{id:317957,username:"unr",contributions:1},{id:93888971,username:"UfukUstali",contributions:1},{id:38240008,username:"m-conti",contributions:1}]},{name:"typo3",description:"TYPO3 Headless Frontend Rendering module",repo:"TYPO3-Headless/nuxt-typo3",npm:"@t3headless/nuxt-typo3",icon:"typo3.svg",github:"https://github.com/TYPO3-Headless/nuxt-typo3",website:"https://t3headless.macopedia.io/nuxt-typo3/",learn_more:"https://github.com/TYPO3-Headless",category:"CMS",type:"3rd-party",maintainers:[{name:"Macopedia",github:"macopedia",twitter:"macopediapl"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:108,stars:78,watchers:78,forks:34,defaultBranch:"main",publishedAt:1700043145835,createdAt:1700043145226},contributors:[{id:7935392,username:"mercs600",contributions:103},{id:64216939,username:"mouflondarko",contributions:3},{id:515397,username:"tmotyl",contributions:3},{id:35779884,username:"PanMisza",contributions:2},{id:3374563,username:"develth",contributions:2},{id:46626775,username:"KrohnMi",contributions:1}]},{name:"ui",description:"Fully styled and customizable components for Nuxt, powered by Headless UI and Tailwind CSS.",repo:"nuxt/ui#dev",npm:"@nuxt/ui",icon:"nuxt.svg",github:"https://github.com/nuxt/ui",website:"https://ui.nuxt.com",learn_more:"",category:"UI",type:"official",maintainers:[{name:"Benjamin Canac",github:"benjamincanac",twitter:"benjamincanac"},{name:"Sebastien Chopin",github:"Atinux",twitter:"Atinux"},{name:"Sylvain Marroufin",github:"smarroufin",twitter:"smarroufin"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:47796,stars:2330,watchers:2330,forks:260,defaultBranch:"dev",publishedAt:1698744255731,createdAt:1639059438669},contributors:[{id:739984,username:"benjamincanac",contributions:1184},{id:7547335,username:"smarroufin",contributions:60},{id:904724,username:"Atinux",contributions:28},{id:37311945,username:"Haythamasalama",contributions:26},{id:25613751,username:"romhml",contributions:11},{id:28706372,username:"danielroe",contributions:9},{id:7356077,username:"connerblanton",contributions:9},{id:7290030,username:"larbish",contributions:6},{id:18414281,username:"KeJunMao",contributions:6},{id:11247099,username:"antfu",contributions:5},{id:26260104,username:"eduayme",contributions:5},{id:5141911,username:"DarkGhostHunter",contributions:5},{id:138564696,username:"aditio-eka",contributions:3},{id:11923242,username:"Sma11X",contributions:3},{id:57699643,username:"maxsteinwand",contributions:3},{id:40647432,username:"171h",contributions:2},{id:5249946,username:"9uenther",contributions:2},{id:38922203,username:"arashsheyda",contributions:2},{id:18102267,username:"oritwoen",contributions:2},{id:6696789,username:"Flosciante",contributions:2},{id:400771,username:"jrutila",contributions:2},{id:56026608,username:"Levy-from-Odessa",contributions:2},{id:6144489,username:"mcastagnetti",contributions:2},{id:898549,username:"graup",contributions:2},{id:6969872,username:"TomSmith27",contributions:2},{id:6909744,username:"jduartea",contributions:2},{id:76627776,username:"mwohlan",contributions:2},{id:1768483,username:"albertcito",contributions:1},{id:4410452,username:"LarchLiu",contributions:1}]},{name:"umami",description:"Embed the Umami analytics library into Nuxt",repo:"ijkml/nuxt-umami",npm:"nuxt-umami",icon:"umami.svg",github:"https://github.com/ijkml/nuxt-umami",website:"https://github.com/ijkml/nuxt-umami",learn_more:"https://umami.is/docs/",category:"Analytics",type:"3rd-party",maintainers:[{name:"ML",github:"ijkml"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:1770,stars:66,watchers:66,forks:6,defaultBranch:"main",publishedAt:1697788523372,createdAt:1659690158332},contributors:[{id:52390439,username:"ijkml",contributions:228},{id:6619884,username:"cpreston321",contributions:2},{id:46224115,username:"asbermudez",contributions:1},{id:65968861,username:"vencho-mdp",contributions:1},{id:10244927,username:"tmlmt",contributions:1},{id:59120414,username:"Velka-DEV",contributions:1},{id:1394374,username:"john-dev",contributions:1}]},{name:"unhead",description:"Experimental features for Nuxt SEO / head management.",repo:"harlan-zw/nuxt-seo-experiments",npm:"nuxt-seo-experiments",icon:"",github:"https://github.com/harlan-zw/nuxt-seo-experiments",website:"https://github.com/harlan-zw/nuxt-seo-experiments",learn_more:"",category:"SEO",type:"3rd-party",maintainers:[{name:"harlan-zw",github:"harlan-zw"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:12804,stars:59,watchers:59,forks:6,defaultBranch:"main",publishedAt:1700540830688,createdAt:1684079533112},contributors:[{id:5326365,username:"harlan-zw",contributions:252},{id:73709188,username:"HigherOrderLogic",contributions:4},{id:11756007,username:"m7rlin",contributions:3},{id:6649305,username:"BobbieGoede",contributions:1},{id:4778485,username:"dargmuesli",contributions:1},{id:65096948,username:"KyleSmith0905",contributions:1}]},{name:"unlazy",description:"Lazy loading library for placeholder images",repo:"johannschopplich/unlazy/packages/nuxt",npm:"@unlazy/nuxt",icon:"unlazy.svg",github:"https://github.com/johannschopplich/unlazy/tree/main/packages/nuxt",website:"https://unlazy.byjohann.dev/",learn_more:"",category:"Images",type:"3rd-party",maintainers:[{name:"Johann Schopplich",github:"johannschopplich"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1983,stars:361,watchers:361,forks:5,defaultBranch:"main",publishedAt:1699277334316,createdAt:1682023901390},contributors:[{id:27850750,username:"johannschopplich",contributions:247},{id:52704891,username:"felixranesberger",contributions:3},{id:1885157,username:"eric-hc",contributions:1}]},{name:"unlighthouse",description:"Unlighthouse scans your entire site using Google Lighthouse, with a modern UI, minimal config and smart sampling.",repo:"harlan-zw/unlighthouse#main/integrations/nuxt",npm:"@unlighthouse/nuxt",icon:"unlighthouse.svg",github:"https://github.com/harlan-zw/unlighthouse",website:"https://github.com/harlan-zw/unlighthouse",learn_more:"https://github.com/harlan-zw/unlighthouse",category:"Devtools",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:2184,stars:3242,watchers:3242,forks:75,defaultBranch:"main",publishedAt:1700121109605,createdAt:1642400494024},contributors:[{id:5326365,username:"harlan-zw",contributions:628},{id:13888023,username:"zZeepo",contributions:4},{id:1296369,username:"brianteeman",contributions:2},{id:501424,username:"mastoj",contributions:2},{id:45267552,username:"Barbapapazes",contributions:2},{id:48238174,username:"brahms116",contributions:1},{id:71390226,username:"FinnPaes",contributions:1},{id:40826752,username:"marcelxpfeifer",contributions:1},{id:27637,username:"mountainash",contributions:1},{id:82072867,username:"Nick-BlueSkyLabs",contributions:1},{id:21295394,username:"NielsPilgaard",contributions:1},{id:18357571,username:"pedddro",contributions:1},{id:22201189,username:"lutejka",contributions:1},{id:58180803,username:"tuminzee",contributions:1}]},{name:"unocss",description:"The instant on-demand atomic CSS engine.",repo:"unocss/unocss#main/packages/nuxt",npm:"@unocss/nuxt",icon:"unocss.svg",github:"https://github.com/unocss/unocss",website:"https://github.com/unocss/unocss",learn_more:"https://github.com/unocss/unocss",category:"UI",type:"3rd-party",maintainers:[{name:"Anthony Fu",github:"antfu",twitter:"antfu7",avatar:"https://avatars.githubusercontent.com/antfu?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"},devtools:"^0.0.0"},stats:{downloads:96976,stars:13990,watchers:13990,forks:678,defaultBranch:"main",publishedAt:1700565945737,createdAt:1635906586465},contributors:[{id:11247099,username:"antfu",contributions:1387},{id:379924,username:"chu121su12",contributions:317},{id:42139754,username:"zyyv",contributions:114},{id:6311119,username:"userquin",contributions:78},{id:19991745,username:"sibbng",contributions:77},{id:29533304,username:"Dunqing",contributions:42},{id:16288797,username:"hannoeru",contributions:29},{id:7559478,username:"jacob-8",contributions:20},{id:76603360,username:"sudongyuer",contributions:19},{id:16945858,username:"chizukicn",contributions:18},{id:57086651,username:"Simon-He95",contributions:15},{id:31278178,username:"edwardnyc",contributions:14},{id:31543482,username:"QiroNT",contributions:13},{id:16460309,username:"action-hong",contributions:11},{id:110549389,username:"henrikvilhelmberglund",contributions:10},{id:27850750,username:"johannschopplich",contributions:9},{id:33021497,username:"TrickyPi",contributions:8},{id:53554371,username:"Hongbusi",contributions:8},{id:17521736,username:"equt",contributions:8},{id:21221921,username:"wkeylin",contributions:8},{id:39750199,username:"xiaojieajie",contributions:7},{id:22554452,username:"azaleta",contributions:7},{id:8610935,username:"praburangki",contributions:7},{id:49056869,username:"sapphi-red",contributions:7},{id:10506522,username:"enkot",contributions:6},{id:32727188,username:"ydcjeff",contributions:6},{id:24277775,username:"zam157",contributions:6},{id:52692296,username:"zojize",contributions:6},{id:44045911,username:"kidonng",contributions:5},{id:17453452,username:"kirklin",contributions:5}]},{name:"ununuracss",description:"A Real CSS Engine. Only Scoped.",repo:"novout/ununuracss#main/packages/nuxt",npm:"nuxt-ununura",icon:"ununuracss.png",github:"https://github.com/novout/ununuracss",website:"https://ununura.com/#/",learn_more:"https://ununura.com/#/docs/why",category:"UI",type:"3rd-party",maintainers:[{name:"Giovane Cardoso",github:"novout",avatar:"https://avatars.githubusercontent.com/novout?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:158,stars:14,watchers:14,forks:0,defaultBranch:"main",publishedAt:1687469876512,createdAt:1674680086642},contributors:[{id:41403842,username:"Novout",contributions:352}]},{name:"use-wagmi",description:"Vue Composition for Ethereum based on wagmi",repo:"unicape/use-wagmi#main/packages/nuxt",npm:"@use-wagmi/nuxt",icon:"use-wagmi.png",github:"https://github.com/unicape/use-wagmi",website:"https://github.com/unicape/use-wagmi",learn_more:"https://github.com/unicape/use-wagmi",category:"Extensions",type:"3rd-party",maintainers:[{name:"Unic Ape",github:"unicape"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:1599,stars:76,watchers:76,forks:9,defaultBranch:"main",publishedAt:1693821582027,createdAt:1689570436124},contributors:[{id:31918458,username:"unicape",contributions:192},{id:13395944,username:"Hebilicious",contributions:5},{id:6038417,username:"0x62",contributions:2},{id:18377068,username:"francelwebdev",contributions:1},{id:83463097,username:"oumarbarry",contributions:1}]},{name:"vant",description:"A lightweight, customizable Vue UI library for mobile web apps.",repo:"vant-ui/vant-nuxt",npm:"@vant/nuxt",icon:"vant.png",github:"https://github.com/vant-ui/vant-nuxt",website:"https://vant-ui.github.io/vant",learn_more:"https://github.com/vant-ui/vant-nuxt#readme",category:"UI",type:"3rd-party",maintainers:[{name:"tolking",github:"tolking"}],compatibility:{nuxt:"^3.0.0",requires:{bridge:"optional"}},stats:{downloads:3220,stars:62,watchers:62,forks:8,defaultBranch:"main",publishedAt:1699542727487,createdAt:1676248078860},contributors:[{id:23313167,username:"tolking",contributions:10},{id:7237365,username:"chenjiahan",contributions:2},{id:28706372,username:"danielroe",contributions:1},{id:5123266,username:"retrogradeMT",contributions:1}]},{name:"varlet",description:"A Material design mobile component library developed based on Vue3",repo:"varletjs/varlet-nuxt",npm:"@varlet/nuxt",icon:"varlet.svg",github:"https://github.com/varletjs/varlet",website:"https://varlet.gitee.io/varlet-ui/#/en-US/index",learn_more:"https://github.com/varletjs/varlet-nuxt",category:"UI",type:"3rd-party",maintainers:[{name:"zhangmo8",github:"zhangmo8"}],compatibility:{nuxt:"^3.0.0",requires:{bridge:"optional"}},stats:{downloads:250,stars:24,watchers:24,forks:3,defaultBranch:"main",publishedAt:1699949071298,createdAt:1681440461054},contributors:[{id:43628500,username:"zhangmo8",contributions:14},{id:24223652,username:"haoziqaq",contributions:1}]},{name:"vcalendar",description:"VCalendar module for Nuxt",repo:"samk-dev/nuxt-vcalendar",npm:"@samk-dev/nuxt-vcalendar",icon:"vcalendar.png",github:"https://github.com/samk-dev/vcalendar",website:"https://github.com/samk-dev/vcalendar",learn_more:"",category:"Libraries",type:"3rd-party",maintainers:[{name:"Sam K",github:"samk-dev"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:2623,stars:2,watchers:2,forks:0,defaultBranch:"main",publishedAt:1696415077611,createdAt:1687210783485},contributors:[{id:33263129,username:"samk-dev",contributions:20}]},{name:"vee-validate",description:"Painless Vue forms for Nuxt",repo:"logaretm/vee-validate#main/packages/nuxt",npm:"@vee-validate/nuxt",icon:"vee-validate.png",github:"https://github.com/logaretm/vee-validate/",website:"https://vee-validate.logaretm.com/v4/",learn_more:"https://vee-validate.logaretm.com/v4/integrations/nuxt/",category:"Libraries",type:"3rd-party",maintainers:[{name:"Abdelrahman Awad",github:"logaretm"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:44128,stars:10253,watchers:10253,forks:1217,defaultBranch:"main",publishedAt:1699219613761,createdAt:1681696516339},contributors:[{id:6261322,username:"logaretm",contributions:4039},{id:5625680,username:"BrandonSurowiec",contributions:31},{id:10794213,username:"gldraphael",contributions:18},{id:6641565,username:"sbarfurth",contributions:11},{id:58624773,username:"abdelrahman3d",contributions:11},{id:411874,username:"cexbrayat",contributions:10},{id:4276422,username:"Stephen2",contributions:9},{id:13732585,username:"agentschmitt",contributions:9},{id:8316698,username:"jonathan-soifer",contributions:7},{id:6796124,username:"ThomHurks",contributions:6},{id:6563980,username:"judocode",contributions:5},{id:1016218,username:"escapedcat",contributions:5},{id:132681,username:"davestewart",contributions:5},{id:1881266,username:"iamandrewluca",contributions:4},{id:13547533,username:"ClaudioEyzaguirre",contributions:4},{id:40390596,username:"DM2489",contributions:4},{id:2737132,username:"jacobmllr95",contributions:4},{id:6311119,username:"userquin",contributions:4},{id:81405223,username:"Kimbo0o",contributions:4},{id:14740780,username:"rousos87",contributions:4},{id:10348212,username:"dfcook",contributions:4},{id:5793796,username:"smilee",contributions:4},{id:1185891,username:"kacinskas",contributions:4},{id:7074890,username:"giokaxo",contributions:4},{id:3132508,username:"idrafttt",contributions:4},{id:2236793,username:"grinn",contributions:4},{id:7269466,username:"lomotech",contributions:4},{id:9426721,username:"imcvampire",contributions:4},{id:507838,username:"berfenger",contributions:3},{id:84926,username:"edbizarro",contributions:3}]},{name:"vercel-analytics",description:"Vercel Analytics integration for Nuxt",repo:"xanderbarkhatov/nuxt-vercel-analytics",npm:"nuxt-vercel-analytics",icon:"",github:"https://github.com/xanderbarkhatov/nuxt-vercel-analytics",website:"https://github.com/xanderbarkhatov/nuxt-vercel-analytics",learn_more:"https://vercel.com/docs/concepts/analytics",category:"Analytics",type:"3rd-party",maintainers:[{name:"Alexander B.",github:"xanderbarkhatov"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:703,stars:16,watchers:16,forks:0,defaultBranch:"main",publishedAt:1684672014763,createdAt:1680270922096},contributors:[{id:52774564,username:"xanderbarkhatov",contributions:35}]},{name:"vexip-ui",description:"A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good",repo:"vexip-ui/nuxt",npm:"@vexip-ui/nuxt",icon:"vexip-ui.svg",github:"https://github.com/vexip-ui/vexip-ui",website:"https://www.vexipui.com/",learn_more:"https://github.com/vexip-ui/nuxt",category:"UI",type:"3rd-party",maintainers:[{name:"未觉雨声",github:"qmhc",twitter:"qmhc95"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:529,stars:34,watchers:34,forks:0,defaultBranch:"main",publishedAt:1698649633978,createdAt:1683804238336},contributors:[{id:40221744,username:"qmhc",contributions:35}]},{name:"vite-pwa-nuxt",description:"Zero-config PWA Plugin for Nuxt",repo:"vite-pwa/nuxt",npm:"@vite-pwa/nuxt",icon:"vite-pwa-nuxt.svg",github:"https://github.com/vite-pwa/nuxt",website:"https://github.com/vite-pwa/nuxt",learn_more:"https://vite-pwa-org.netlify.app/frameworks/nuxt.html",category:"Performance",type:"3rd-party",maintainers:[{name:"Joaquín Sánchez",github:"userquin",twitter:"userquin"},{name:"Anthony Fu",github:"antfu",twitter:"antfu7"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:56850,stars:308,watchers:308,forks:10,defaultBranch:"main",publishedAt:1699882240239,createdAt:1674848377084},contributors:[{id:6311119,username:"userquin",contributions:58},{id:28706372,username:"danielroe",contributions:3},{id:4778485,username:"dargmuesli",contributions:2}]},{name:"vitest",description:"Vitest integration with Nuxt",repo:"danielroe/nuxt-vitest",npm:"nuxt-vitest",icon:"vitest.svg",github:"https://github.com/danielroe/nuxt-vitest",website:"https://github.com/danielroe/nuxt-vitest",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"Daniel Roe",github:"danielroe"},{name:"Anthony Fu",github:"antfu"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:132616,stars:359,watchers:359,forks:41,defaultBranch:"main",publishedAt:1700496429348,createdAt:1674060047219},contributors:[{id:28706372,username:"danielroe",contributions:139},{id:11247099,username:"antfu",contributions:29},{id:324147,username:"oskarols",contributions:4},{id:1765584,username:"lassediercks",contributions:3},{id:6311119,username:"userquin",contributions:2},{id:7252657,username:"maartenvanhunsel",contributions:2},{id:3009534,username:"mvanalphen",contributions:2},{id:463319,username:"nicolaspayot",contributions:2},{id:35431350,username:"ExEr7um",contributions:2},{id:13403295,username:"yassilah",contributions:2},{id:16363180,username:"DevDengChao",contributions:2},{id:63512348,username:"huang-julien",contributions:2},{id:2262772,username:"aapokiiso",contributions:1},{id:640208,username:"manniL",contributions:1},{id:105530193,username:"Luzefiru",contributions:1},{id:10506522,username:"enkot",contributions:1},{id:51514282,username:"ghazialhouwari",contributions:1},{id:51118271,username:"jgonz3",contributions:1},{id:400771,username:"jrutila",contributions:1},{id:12714499,username:"rinux55",contributions:1},{id:12376435,username:"odinti",contributions:1},{id:7793873,username:"OlaAlsaker",contributions:1},{id:6775220,username:"gangsthub",contributions:1},{id:5158436,username:"pi0",contributions:1},{id:951290,username:"TimvdEijnden",contributions:1},{id:97700093,username:"dsvgl",contributions:1},{id:40494306,username:"erikkkwu",contributions:1},{id:55788142,username:"floriankapaun",contributions:1},{id:135640725,username:"niko-chaffinchicas",contributions:1}]},{name:"vue-email",description:"💌 Write email templates with vue",repo:"Dave136/vue-email#main/packages/vue-email",npm:"vue-email",icon:"vue-email.svg",github:"https://github.com/Dave136/vue-email",website:"https://www.vuemail.net/",learn_more:"https://vue-email.vercel.app/getting-started",category:"UI",type:"3rd-party",maintainers:[{name:"David Arenas",github:"Dave136",twitter:"davejs4",avatar:"https://avatars.githubusercontent.com/u/49698182?v=4"},{name:"Younes Barrad",github:"Flowko",twitter:"imflowko",avatar:"https://avatars.githubusercontent.com/u/35883748?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:3239,stars:418,watchers:418,forks:24,defaultBranch:"main",publishedAt:1700170734819,createdAt:1675791416987},contributors:[{id:35883748,username:"Flowko",contributions:156},{id:49698182,username:"Dave136",contributions:139},{id:28706372,username:"danielroe",contributions:7},{id:739984,username:"benjamincanac",contributions:1},{id:6619884,username:"cpreston321",contributions:1},{id:1270799,username:"DanielRivers",contributions:1},{id:25314426,username:"badalya1",contributions:1},{id:573708,username:"jeam",contributions:1}]},{name:"vue-final-modal",description:"The most powerful yet most light-weight modal library for Vue 3.",repo:"vue-final/vue-final-modal",npm:"@vue-final-modal/nuxt",icon:"vue-final-modal.svg",github:"https://github.com/vue-final/vue-final-modal",website:"https://vue-final-modal.org/",learn_more:"https://vue-final-modal.org/",category:"UI",type:"3rd-party",maintainers:[{name:"Hunter Liu",github:"hunterliu1003",twitter:"hunterliu1003"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:2938,stars:741,watchers:741,forks:87,defaultBranch:"master",publishedAt:1699447112858,createdAt:1667472888799},contributors:[{id:15190246,username:"hunterliu1003",contributions:1276},{id:39984251,username:"Mini-ghost",contributions:53},{id:22654053,username:"fatihsolhan",contributions:10},{id:3253920,username:"mesqueeb",contributions:7},{id:9392723,username:"negezor",contributions:2},{id:474175,username:"benrolfe",contributions:1},{id:26389990,username:"chemsedd",contributions:1},{id:94387,username:"Offlein",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:8252238,username:"guillaumebriday",contributions:1},{id:7781761,username:"Roxas92",contributions:1},{id:16818271,username:"Dschungelabenteuer",contributions:1},{id:12557018,username:"netolicak",contributions:1},{id:589744,username:"ul8",contributions:1}]},{name:"vue-macros",description:"Explore more macros and syntax sugar to Vue.",repo:"sxzz/vue-macros#main/packages/nuxt",npm:"@vue-macros/nuxt",icon:"vue-macros.svg",github:"https://github.com/sxzz/vue-macros",website:"https://vue-macros.sxzz.moe",learn_more:"https://github.com/sxzz/vue-macros",category:"Extensions",type:"3rd-party",maintainers:[{name:"三咲智子 Kevin Deng",github:"sxzz",twitter:"sanxiaozhizi"}],compatibility:{nuxt:"^3.0.0",requires:{bridge:"optional"},devtools:"^0.0.0"},stats:{downloads:12006,stars:1372,watchers:1372,forks:88,defaultBranch:"main",publishedAt:1700180089878,createdAt:1669188314539},contributors:[{id:6481596,username:"sxzz",contributions:853},{id:32807958,username:"zhiyuanzmj",contributions:26},{id:49969959,username:"alexzhang1030",contributions:12},{id:76111612,username:"isolcat",contributions:4},{id:29159838,username:"hydrati",contributions:3},{id:43827016,username:"zzhenryquezz",contributions:2},{id:24601590,username:"konata33",contributions:2},{id:17617116,username:"AliceLanniste",contributions:1},{id:67255597,username:"binotaliu",contributions:1},{id:45616067,username:"cullyfung",contributions:1},{id:29533304,username:"Dunqing",contributions:1},{id:664177,username:"posva",contributions:1},{id:43873521,username:"iEuJen",contributions:1},{id:22819074,username:"FrankCheungDev",contributions:1},{id:1574903,username:"hooray",contributions:1},{id:41265413,username:"Innei",contributions:1},{id:35426360,username:"Jungzl",contributions:1},{id:50254496,username:"LoTwT",contributions:1},{id:74575471,username:"Lzzzs",contributions:1},{id:51503,username:"mtorromeo",contributions:1},{id:74761884,username:"Gehbt",contributions:1},{id:73387709,username:"GODLiangCY",contributions:1},{id:40021217,username:"kingyue737",contributions:1},{id:110709026,username:"arstnei0",contributions:1},{id:44473551,username:"kekexunxun",contributions:1},{id:20167257,username:"cunzaizhuyi",contributions:1},{id:12619763,username:"duowb",contributions:1}]},{name:"vue-query",description:"0 config lightweight Nuxt module for @tanstack/vue-query.",repo:"Hebilicious/vue-query-nuxt/packages/vue-query-nuxt#main",npm:"@hebilicious/vue-query-nuxt",icon:"vue-query.svg",github:"https://github.com/Hebilicious/vue-query-nuxt",website:"https://github.com/Hebilicious/vue-query-nuxt#readme",learn_more:"https://tanstack.com/query/latest/docs/vue/quick-start",category:"Request",type:"3rd-party",maintainers:[{name:"Hebilicious",github:"Hebilicious",twitter:"its_hebilicious"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1990,stars:43,watchers:43,forks:0,defaultBranch:"main",publishedAt:1695127139179,createdAt:1685565065933},contributors:[{id:13395944,username:"Hebilicious",contributions:31}]},{name:"vue-transitions",description:"Reusable interface transitions with no CSS needed ❤️",repo:"MorevM/vue-transitions",npm:"@morev/vue-transitions",icon:"vue-transitions.svg",github:"https://github.com/MorevM/vue-transitions",website:"https://github.com/MorevM/vue-transitions#readme",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"Maxim Morev",github:"MorevM",avatar:"https://avatars.githubusercontent.com/u/49679666?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:8002,stars:132,watchers:132,forks:2,defaultBranch:"master",publishedAt:1673956665281,createdAt:1647620864273},contributors:[{id:49679666,username:"MorevM",contributions:119},{id:53798165,username:"FRO1D",contributions:10}]},{name:"vue3-carousel-nuxt",description:"This module seamlessly integrates the Vue 3 Carousel module of ismail9k into Nuxt applications.",repo:"gaetansenn/vue3-carousel-nuxt",npm:"vue3-carousel-nuxt",icon:"",github:"https://github.com/gaetansenn/vue3-carousel-nuxt",website:"",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"Gaetan SENN",github:"gaetansenn",avatar:"https://avatars.githubusercontent.com/u/2774075?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:10803,stars:8,watchers:8,forks:1,defaultBranch:"master",publishedAt:1689781071179,createdAt:1689781070602},contributors:[{id:2774075,username:"gaetansenn",contributions:2}]},{name:"vuefire",description:"Idiomatic composables for the Firebase SDK",repo:"vuejs/vuefire/packages/nuxt",npm:"nuxt-vuefire",icon:"vuefire.svg",github:"https://github.com/vuejs/vuefire/tree/main/packages/nuxt",website:"https://vuefire.vuejs.org/",learn_more:"",category:"Database",type:"3rd-party",maintainers:[{name:"posva",github:"posva"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:6189,stars:3728,watchers:3728,forks:331,defaultBranch:"main",publishedAt:1699431486018,createdAt:1666861126782},contributors:[{id:664177,username:"posva",contributions:1392},{id:25927835,username:"trickstival",contributions:15},{id:2013388,username:"davidstackio",contributions:7},{id:22968511,username:"sweethuman",contributions:3},{id:30027636,username:"i5dr0id",contributions:3},{id:7257092,username:"luc122c",contributions:3},{id:1965207,username:"joplomacedo",contributions:2},{id:358009,username:"mason",contributions:2},{id:2066617,username:"sheriffderek",contributions:2},{id:20881844,username:"darrelfrancis",contributions:2},{id:8573325,username:"ElBatanony",contributions:1},{id:436888,username:"alex88",contributions:1},{id:6147968,username:"hootlex",contributions:1},{id:5897209,username:"Runeii",contributions:1},{id:54869395,username:"llamington",contributions:1},{id:35183,username:"bsaf",contributions:1},{id:138886,username:"bkuri",contributions:1},{id:38957202,username:"billyyyyy3320",contributions:1},{id:3791599,username:"BradDuns",contributions:1},{id:31621095,username:"charles-allen",contributions:1},{id:25098427,username:"chidindu-ogbonna",contributions:1},{id:777506,username:"ser1us",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:2292121,username:"Obeyed",contributions:1},{id:31723722,username:"EmilienLeroy",contributions:1},{id:11366,username:"epall",contributions:1},{id:5368213,username:"codeams",contributions:1},{id:34515228,username:"fooooooooooooooo",contributions:1}]},{name:"vueform-builder",description:"Official Vueform Builder module for Nuxt",repo:"vueform/builder/nuxt",npm:"@vueform/builder-nuxt",icon:"vueform.svg",github:"https://github.com/vueform/builder",website:"https://builder.vueform.com",learn_more:"https://builder.vueform.com/docs/installation#nuxt",category:"Libraries",type:"3rd-party",maintainers:[{name:"Adam Berecz",github:"adamberecz",twitter:"bereczadam"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:428,stars:36,watchers:36,forks:1,defaultBranch:"main",publishedAt:1699962027161,createdAt:1694014710154},contributors:[{id:16024069,username:"adamberecz",contributions:47}]},{name:"vueform",description:"Official Vueform module for Nuxt",repo:"vueform/vueform/nuxt",npm:"@vueform/nuxt",icon:"vueform.svg",github:"https://github.com/vueform/vueform",website:"https://vueform.com",learn_more:"https://vueform.com/docs/installation#nuxt",category:"Libraries",type:"3rd-party",maintainers:[{name:"Adam Berecz",github:"adamberecz",twitter:"bereczadam"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:775,stars:434,watchers:434,forks:16,defaultBranch:"main",publishedAt:1699959236218,createdAt:1694008131902},contributors:[{id:16024069,username:"adamberecz",contributions:1465},{id:30729198,username:"szabolcsmucsi",contributions:78},{id:61869085,username:"bereczi",contributions:9},{id:67012849,username:"ivanpisa",contributions:1},{id:17225564,username:"tomasvn",contributions:1}]},{name:"vuestic",description:"Vuestic UI module for Nuxt",repo:"epicmaxco/vuestic-ui#develop/packages/nuxt",npm:"@vuestic/nuxt",icon:"vuestic.png",github:"https://github.com/epicmaxco/vuestic-ui/tree/develop/packages/nuxt",website:"https://vuestic.dev",learn_more:"https://vuestic.dev/en/getting-started/nuxt",category:"UI",type:"3rd-party",maintainers:[{name:"epicmaxco",github:"epicmaxco"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1957,stars:3121,watchers:3121,forks:300,defaultBranch:"develop",publishedAt:1699849745232,createdAt:1651784645557},contributors:[{id:23530004,username:"m0ksem",contributions:950},{id:5394573,username:"asvae",contributions:383},{id:11652328,username:"untael",contributions:217},{id:45711229,username:"kushich",contributions:190},{id:64714442,username:"aluarius",contributions:150},{id:55198465,username:"RVitaly1978",contributions:131},{id:29167241,username:"rustem-nasyrov",contributions:120},{id:25908959,username:"vlad-shusterman",contributions:103},{id:9782236,username:"smellyshovel",contributions:62},{id:7745899,username:"Derranion",contributions:54},{id:39219429,username:"AlexanderBoriskin",contributions:51},{id:20516743,username:"eqxs",contributions:48},{id:47790197,username:"LighthouseKeeperYN",contributions:44},{id:11391037,username:"nastassiadanilova",contributions:40},{id:24375400,username:"raichev-dima",contributions:40},{id:18417066,username:"Eugenizer",contributions:37},{id:29925191,username:"SergeiPleshkov",contributions:34},{id:1770218,username:"xiongmao86",contributions:32},{id:11361743,username:"misterpekert",contributions:26},{id:118062031,username:"Roman4437",contributions:25},{id:20461547,username:"sergey-kravcov",contributions:22},{id:35342240,username:"zvenigorodskaia",contributions:22},{id:37382639,username:"DieselTripleX",contributions:21},{id:3674348,username:"smartapant",contributions:20},{id:13301570,username:"Kreezag",contributions:19},{id:10356386,username:"damirJa",contributions:14},{id:20753143,username:"ilearnjs",contributions:14},{id:46869767,username:"Azgiliat",contributions:11},{id:60774386,username:"alygee",contributions:11}]},{name:"vuetify-nuxt-module",description:"Zero-config Nuxt Module for Vuetify.",repo:"userquin/vuetify-nuxt-module",npm:"vuetify-nuxt-module",icon:"vuetify-logo-v3-dark.svg",github:"https://github.com/userquin/vuetify-nuxt-module",website:"https://vuetify-nuxt-module.netlify.app/",learn_more:"https://github.com/userquin/vuetify-nuxt-module/blob/main/README.md",category:"UI",type:"3rd-party",maintainers:[{name:"Joaquín Sánchez",github:"userquin"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:8819,stars:113,watchers:113,forks:10,defaultBranch:"main",publishedAt:1699792515500,createdAt:1688217260181},contributors:[{id:6311119,username:"userquin",contributions:164},{id:42139754,username:"zyyv",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:46492597,username:"Dominic-Marcelino",contributions:1},{id:400771,username:"jrutila",contributions:1},{id:11255009,username:"GaborTorma",contributions:1},{id:822287,username:"cyberalien",contributions:1}]},{name:"vueuse",description:"Collection of essential Vue Composition Utilities for Vue 2 and 3",repo:"vueuse/vueuse#main/packages/nuxt",npm:"@vueuse/nuxt",icon:"vueuse.svg",github:"https://github.com/vueuse/vueuse",website:"https://vueuse.org",learn_more:"https://github.com/vueuse/vueuse",category:"Libraries",type:"3rd-party",maintainers:[{name:"Anthony Fu",github:"antfu",twitter:"antfu7"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"},devtools:"^0.0.0"},stats:{downloads:401934,stars:17335,watchers:17335,forks:2180,defaultBranch:"main",publishedAt:1699870252902,createdAt:1637813677538},contributors:[{id:11247099,username:"antfu",contributions:1504},{id:22525904,username:"okxiaoliang4",contributions:89},{id:22515951,username:"webfansplz",contributions:72},{id:7064956,username:"wheatjs",contributions:66},{id:55641773,username:"Alfred-Skyblue",contributions:61},{id:19991745,username:"sibbng",contributions:44},{id:7980426,username:"scottbedard",contributions:23},{id:1490347,username:"anteriovieira",contributions:22},{id:1662812,username:"cawa-93",contributions:15},{id:583075,username:"patak-dev",contributions:14},{id:50733859,username:"chaii3",contributions:14},{id:30516060,username:"vaakian",contributions:14},{id:3038600,username:"curtgrimes",contributions:13},{id:102238922,username:"sun0day",contributions:13},{id:84131395,username:"michealroberts",contributions:13},{id:22554452,username:"azaleta",contributions:12},{id:6481596,username:"sxzz",contributions:12},{id:48953604,username:"lstoeferle",contributions:11},{id:15758406,username:"huynl-96",contributions:11},{id:6625879,username:"Waleed-KH",contributions:9},{id:10274099,username:"ferferga",contributions:8},{id:47144873,username:"harmyderoman",contributions:8},{id:7195563,username:"Shinigami92",contributions:8},{id:13330620,username:"wvffle",contributions:7},{id:24516654,username:"btea",contributions:7},{id:44631608,username:"Doctor-wu",contributions:6},{id:50230578,username:"jbaubree",contributions:6},{id:17229256,username:"wtykirby",contributions:6},{id:19204772,username:"LittleSound",contributions:6}]},{name:"vunix",description:"Comprehensive UI toolkit for Vue.js and Nuxt that empowers you to build amazing user interfaces with ease. With Vunix, you can leverage the power of popular utility-first CSS frameworks like Tailwind CSS, Unocss, WindiCss, or use your own custom CSS classes.",repo:"gaetansenn/vunix#main/packages/nuxt",npm:"@vunix/nuxt",icon:"",github:"https://github.com/gaetansenn/vunix",website:"https://vunix.dewib.com/",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"Gaetan SENN",github:"gaetansenn",avatar:"https://avatars.githubusercontent.com/u/2774075?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:108,stars:58,watchers:58,forks:3,defaultBranch:"main",publishedAt:1680272814211,createdAt:1667554905553},contributors:[{id:2774075,username:"gaetansenn",contributions:195},{id:28706372,username:"danielroe",contributions:5},{id:904724,username:"Atinux",contributions:1},{id:29141517,username:"manupit",contributions:1}]},{name:"web-vitals",description:"Web Vitals for Nuxt",repo:"nuxt-modules/web-vitals",npm:"@nuxtjs/web-vitals",icon:"web-vitals.png",github:"https://github.com/nuxt-modules/web-vitals",website:"https://github.com/nuxt-modules/web-vitals",learn_more:"",category:"Performance",type:"community",maintainers:[{name:"daliborgogic",github:"daliborgogic"},{name:"Pooya Parsa",github:"pi0",twitter:"_pi0_"},{name:"Sebastien Chopin",github:"Atinux",twitter:"Atinux"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:46675,stars:344,watchers:344,forks:21,defaultBranch:"main",publishedAt:1684342194642,createdAt:1612474320253},contributors:[{id:5158436,username:"pi0",contributions:34},{id:5895389,username:"daliborgogic",contributions:25},{id:28706372,username:"danielroe",contributions:16},{id:2535410,username:"zitscher",contributions:3},{id:118734217,username:"burda-osowiecki",contributions:2},{id:9151572,username:"GerryWilko",contributions:1},{id:3352476,username:"PizzaPete",contributions:1},{id:3911343,username:"stafyniaksacha",contributions:1},{id:904724,username:"Atinux",contributions:1},{id:29565989,username:"ats0405",contributions:1},{id:34863253,username:"iranagame",contributions:1},{id:1568539,username:"vlozanov",contributions:1}]},{name:"well-known",description:"A Nuxt module to add well-known URIs using middlewares",repo:"zadigetvoltaire/nuxt-well-known",npm:"@zadigetvoltaire/nuxt-well-known",icon:"well-known.svg",github:"https://github.com/zadigetvoltaire/nuxt-well-known",website:"https://github.com/zadigetvoltaire/nuxt-well-known#readme",learn_more:"https://www.iana.org/assignments/well-known-uris/well-known-uris.xhtml",category:"SEO",type:"3rd-party",maintainers:[{name:"Zadig&Voltaire Team",github:"https://github.com/zadigetvoltaire"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:224,stars:16,watchers:16,forks:1,defaultBranch:"main",publishedAt:1684774609726,createdAt:1679062376553},contributors:[{id:12446546,username:"LouisMazel",contributions:68},{id:1674029,username:"michael-bouvy",contributions:12}]},{name:"wideangle",description:"Nuxt module to integrate Wide Angle Analytics",repo:"inputobjects/wideangle-nuxt",npm:"wideangle-nuxt",icon:"wideangle.png",github:"https://github.com/inputobjects/wideangle-nuxt",website:"https://wideangle.co",learn_more:"https://wideangle.co/documentation/web-analytics-for-nuxt",category:"Analytics",type:"3rd-party",maintainers:[{name:"Wide Angle Analytics by Input Objects GmbH",github:"inputobjects"},{name:"Jarek Rozanski",github:"jrozanski"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:107,stars:0,watchers:0,forks:1,defaultBranch:"main",publishedAt:1694616105765,createdAt:1684417041156},contributors:[{id:4896588,username:"jrozanski",contributions:18},{id:19635443,username:"rvdriest",contributions:3}]},{name:"windicss",description:"Next generation utility-first CSS framework.",repo:"windicss/nuxt-windicss-module#main/packages/nuxt-windicss",npm:"nuxt-windicss",icon:"windicss.svg",github:"https://github.com/windicss/nuxt-windicss-module",website:"https://github.com/windicss/nuxt-windicss-module",learn_more:"https://windicss.org/",category:"UI",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw"},{name:"Anthony Fu",github:"antfu",twitter:"antfu7"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:20475,stars:333,watchers:333,forks:25,defaultBranch:"main",publishedAt:1681300829021,createdAt:1615418412588},contributors:[{id:5326365,username:"harlan-zw",contributions:415},{id:11247099,username:"antfu",contributions:9},{id:28706372,username:"danielroe",contributions:5},{id:904724,username:"Atinux",contributions:3},{id:59017897,username:"kn0wn",contributions:2},{id:967369,username:"acidjazz",contributions:2},{id:5158436,username:"pi0",contributions:2},{id:32807382,username:"BrandonlinU",contributions:1},{id:188172,username:"ManUtopiK",contributions:1},{id:24515434,username:"ontoneio",contributions:1},{id:15808,username:"freality",contributions:1},{id:46477357,username:"H37kouya",contributions:1},{id:291185,username:"nulltask",contributions:1},{id:42739553,username:"YannicEl",contributions:1},{id:1940038,username:"replygirl",contributions:1},{id:69119532,username:"voorjaar",contributions:1}]},{name:"xstate",description:"XState integration for Nuxt",repo:"Lexpeartha/nuxt-xstate",npm:"nuxt-xstate",icon:"xstate.svg",github:"https://github.com/Lexpeartha/nuxt-xstate",website:"https://nuxt-xstate.lexpeartha.com",learn_more:"https://xstate.js.org/",category:"Extensions",type:"3rd-party",maintainers:[{name:"Lexpeartha",github:"Lexpeartha",twitter:"lexpeartha"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:1040,stars:53,watchers:53,forks:1,defaultBranch:"main",publishedAt:1687594734753,createdAt:1659894979999},contributors:[{id:43365376,username:"Lexpeartha",contributions:88}]}],Nh={version:Lh,generatedAt:Bh,stats:Ih,maintainers:qh,contributors:Mh,modules:Dh},Fh=["seo-kit","umami"];function Uh(){const t=Nh.modules;return t.forEach(e=>{Fh.includes(e.name)?e.isLayer=!0:e.isLayer=!1}),t}class Hh{constructor(){Xo(this,"vsCodeApi");typeof acquireVsCodeApi=="function"&&(this.vsCodeApi=acquireVsCodeApi())}postMessage(e){this.vsCodeApi?this.vsCodeApi.postMessage(e):console.log(e)}getState(){if(this.vsCodeApi)return this.vsCodeApi.getState();{const e=localStorage.getItem("vscodeState");return e?JSON.parse(e):void 0}}setState(e){return this.vsCodeApi?this.vsCodeApi.setState(e):(localStorage.setItem("vscodeState",JSON.stringify(e)),e)}}const nt=new Hh,ke=(t,e)=>{const i=t.__vccOpts||t;for(const[n,s]of e)i[n]=s;return i},Vh={},Jh={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",viewBox:"0 0 24 24"},Gh=_("path",{fill:"currentColor",d:"M20 4a1 1 0 0 0 .71-1.7a1 1 0 0 0-1.42 0a1 1 0 0 0-.21.32A.84.84 0 0 0 19 3a1 1 0 0 0 1 1Zm0 9a1 1 0 0 0-1 1v.39l-1.48-1.48a2.77 2.77 0 0 0-3.93 0l-.7.7l-2.48-2.49a2.86 2.86 0 0 0-3.93 0L5 12.6V7a1 1 0 0 1 1-1h10a1 1 0 0 0 0-2H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-5a1 1 0 0 0-1-1ZM6 20a1 1 0 0 1-1-1v-3.57l2.9-2.9a.79.79 0 0 1 1.09 0l3.17 3.17l4.29 4.3Zm13-1a1 1 0 0 1-.18.53L14.31 15l.7-.7a.78.78 0 0 1 1.1 0L19 17.22Zm1-14a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V6a1 1 0 0 0-1-1Z"},null,-1),Kh=[Gh];function Wh(t,e){return q(),N("svg",Jh,Kh)}const Yh=ke(Vh,[["render",Wh]]),Zh={},Qh={viewBox:"0 0 10 6",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"h-5 w-5"},Xh=_("path",{d:"M5.48228 6H8.97228C9.08313 6.00001 9.19203 5.97229 9.28803 5.91963C9.38403 5.86696 9.46373 5.79121 9.51913 5.69999C9.57454 5.60876 9.60368 5.50529 9.60363 5.39997C9.60358 5.29465 9.57435 5.1912 9.51885 5.10002L7.17507 1.24289C7.11967 1.15169 7.03998 1.07595 6.944 1.02329C6.84802 0.97064 6.73915 0.94291 6.62832 0.94291C6.5175 0.94291 6.40861 0.97064 6.31264 1.02329C6.21667 1.07595 6.13697 1.15169 6.08158 1.24289L5.48228 2.22979L4.31055 0.29993C4.25511 0.20874 4.17538 0.13301 4.07938 0.08036C3.98337 0.02772 3.87448 0 3.76364 0C3.65279 0 3.5439 0.02772 3.4479 0.08036C3.35189 0.13301 3.27216 0.20874 3.21672 0.29993L0.300164 5.10002C0.244678 5.1912 0.215441 5.29465 0.215393 5.39997C0.215345 5.50529 0.244487 5.60876 0.299889 5.69999C0.35529 5.79121 0.434997 5.86696 0.530994 5.91963C0.62699 5.97229 0.73589 6.00001 0.846741 6H3.03748C3.90547 6 4.54558 5.63775 4.98603 4.93101L6.05539 3.17145L6.62815 2.22979L8.34714 5.05834H6.05539L5.48228 6ZM3.00176 5.05737L1.47291 5.05704L3.76466 1.28586L4.90815 3.17145L4.14253 4.43175C3.85003 4.8903 3.51773 5.05737 3.00176 5.05737Z",fill:"#00DC82"},null,-1),eb=[Xh];function tb(t,e){return q(),N("svg",Qh,eb)}const ib=ke(Zh,[["render",tb]]),nb={},sb={width:"10",height:"9",viewBox:"0 0 10 9",fill:"none",xmlns:"http://www.w3.org/2000/svg"},ob=_("path",{d:"M3.43461 2.7525L0.776275 3.09938L0.729191 3.108C0.657916 3.12503 0.592939 3.15878 0.540896 3.2058C0.488853 3.25282 0.451609 3.31143 0.432967 3.37565C0.414325 3.43986 0.414953 3.50738 0.434786 3.5713C0.454619 3.63523 0.492948 3.69327 0.545858 3.7395L2.47169 5.42663L2.01752 7.80975L2.01211 7.851C2.00774 7.91735 2.02305 7.98354 2.05646 8.04282C2.08987 8.10209 2.14018 8.1523 2.20225 8.18832C2.26431 8.22434 2.33589 8.24486 2.40967 8.24779C2.48344 8.25072 2.55676 8.23596 2.62211 8.205L4.99961 7.08L7.37169 8.205L7.41336 8.22225C7.48213 8.24663 7.55688 8.25411 7.62992 8.24391C7.70297 8.23371 7.77168 8.20621 7.82902 8.16423C7.88636 8.12224 7.93025 8.06728 7.9562 8.00499C7.98215 7.9427 7.98922 7.87531 7.97669 7.80975L7.52211 5.42663L9.44877 3.73913L9.48127 3.70725C9.5277 3.65579 9.55814 3.59417 9.56949 3.52867C9.58084 3.46318 9.5727 3.39614 9.54589 3.3344C9.51909 3.27266 9.47458 3.21841 9.41689 3.17719C9.35921 3.13597 9.29042 3.10925 9.21752 3.09975L6.55919 2.7525L5.37086 0.585001C5.33647 0.522202 5.28324 0.46932 5.21719 0.432341C5.15113 0.395362 5.0749 0.375763 4.99711 0.375763C4.91932 0.375763 4.84308 0.395362 4.77703 0.432341C4.71098 0.46932 4.65774 0.522202 4.62336 0.585001L3.43461 2.7525Z",fill:"currentColor"},null,-1),rb=[ob];function ab(t,e){return q(),N("svg",sb,rb)}const ub=ke(nb,[["render",ab]]),cb={},lb={width:"9",height:"8",viewBox:"0 0 9 8",fill:"none",xmlns:"http://www.w3.org/2000/svg"},db=Eu('',2),mb=[db];function hb(t,e){return q(),N("svg",lb,mb)}const bb=ke(cb,[["render",hb]]),pb={class:"hover: relative select-none p-3 px-0 pb-5 text-[var(--vscode-foreground)]"},fb={class:"flex w-full flex-wrap items-center gap-2"},gb={class:"mr-2 h-12 w-12 shrink-0"},yb=["src","alt"],vb={class:"flex-1"},wb={class:"flex items-center justify-between"},xb={class:"flex items-center"},_b=["textContent"],kb={key:0,class:"ml-2"},Ab={class:"flex items-center gap-2"},Sb={class:"flex gap-1"},Cb={class:"text-xs font-normal"},jb={class:"flex gap-1"},Eb={class:"text-xs font-normal"},Tb=["textContent"],zb={class:"mt-2 flex flex-wrap items-center gap-3"},Ob=["textContent","disabled"],Rb=["href"],Pb=Te({__name:"ModuleCard",props:{module:{},installed:{type:Boolean}},setup(t){const e=t;`${e.module.icon}`;const i=ae(!1),n=ae("Install"),s=r=>r>=1e3?(r/1e3).toFixed(0)+"k":r.toString(),o=()=>{nt.postMessage({command:"installModule",module:e.module}),i.value=!0,n.value="Installing"};return window.addEventListener("message",r=>{const a=r.data;switch(a.command){case"moduleInstalled":if(a.cmd!==e.module.npm)break;a.installed==!0?n.value="Installed":(n.value="Install",i.value=!1);break}}),(r,a)=>(q(),N("div",pb,[_("div",fb,[_("div",gb,[r.module.icon?(q(),N("img",{key:1,src:`https://api.nuxtjs.org/api/ipx/s_80,f_webp/gh/nuxt/modules/main/icons/${r.module.icon}`,alt:r.module.name,loading:"lazy"},null,8,yb)):(q(),ts(Yh,{key:0}))]),_("div",vb,[_("div",wb,[_("div",xb,[_("h3",{class:"text-base font-bold",textContent:Pe(r.module.name)},null,8,_b),r.module.type=="official"?(q(),N("div",kb,[I(ib)])):mt("",!0)]),_("div",Ab,[_("div",Sb,[I(ub,{class:"h-4 w-4"}),_("span",Cb,Pe(s(r.module.stats.stars)),1)]),_("div",jb,[I(bb,{class:"h-4 w-4"}),_("span",Eb,Pe(s(r.module.stats.downloads)),1)])])]),_("p",{class:"mt-1 line-clamp-1 max-w-[95%] overflow-hidden text-ellipsis text-xs",textContent:Pe(r.module.description)},null,8,Tb),_("div",zb,[_("button",{class:"rounded-md border border-[var(--vscode-dropdown-border)] bg-[var(--vscode-dropdown-background)] px-3 py-1 text-xs font-medium transition-all hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50",onClick:We(o,["prevent"]),textContent:Pe(r.installed?"Installed":n.value),disabled:i.value||r.installed},null,8,Ob),_("a",{href:r.module.github,class:"text-xs text-[#00DC82]"}," Docs",8,Rb)])])])]))}}),$b={},Lb={width:"14",height:"15",viewBox:"0 0 14 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Bb=_("path",{d:"M1 1H13V2.629C12.9999 3.02679 12.8418 3.40826 12.5605 3.6895L9.25 7V12.25L4.75 13.75V7.375L1.39 3.679C1.13909 3.40294 1.00004 3.0433 1 2.67025V1Z",stroke:"currentColor","stroke-width":"1.625","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Ib=[Bb];function qb(t,e){return q(),N("svg",Lb,Ib)}const Mb=ke($b,[["render",qb]]),Db={class:"flex text-left"},Nb=_("span",{class:"pointer-events-none absolute bottom-0 right-0 top-0 flex items-center"},[_("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",class:"mr-2 h-5 w-5",width:"1em",height:"1em",viewBox:"0 0 24 24"},[_("path",{fill:"currentColor",d:"M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42Z"})])],-1),Fb={class:"absolute right-0 z-10 mt-3.5 flex max-h-[230px] flex-col gap-0.5 overflow-y-auto rounded-md border border-[var(--vscode-dropdown-border)] bg-[var(--vscode-dropdown-background)] p-1"},Ub=["onClick"],Hb={key:0,class:"pointer-events-none absolute bottom-0 right-2 top-0 flex items-center"},Vb=_("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",class:"inline-block h-4 w-4 align-middle",width:"1em",height:"1em",viewBox:"0 0 24 24"},[_("path",{fill:"currentColor",d:"M18.71 7.21a1 1 0 0 0-1.42 0l-7.45 7.46l-3.13-3.14A1 1 0 1 0 5.29 13l3.84 3.84a1 1 0 0 0 1.42 0l8.16-8.16a1 1 0 0 0 0-1.47Z"})],-1),Jb=[Vb],An=Te({__name:"DropdownItem",props:{label:{type:String,default:"Version"},items:{type:Array,required:!0},selecteditemValue:{type:String,default:""}},emits:["selectedItem"],setup(t,{emit:e}){const i=t,n=e,s=ae(null),o=ae(!1),r=()=>{o.value=!o.value},a=u=>{n("selectedItem",u)};return Zt(()=>i.items,u=>{u.includes(i.selecteditemValue)||n("selectedItem","All")}),Oo(()=>{document.addEventListener("click",u=>{var c;(c=s.value)!=null&&c.contains(u.target)||(o.value=!1)})}),(u,c)=>(q(),N("div",{class:"relative",ref_key:"root",ref:s},[_("button",{class:"relative block w-full rounded-md border border-[var(--vscode-dropdown-border)] bg-[var(--vscode-dropdown-background)] px-3 py-2 pr-10 text-[var(--vscode-foreground)]",onClick:c[0]||(c[0]=We(l=>r(),["prevent"]))},[_("span",Db,Pe(t.label),1),Nb,Zn(_("div",Fb,[(q(!0),N(Ae,null,Ri(t.items,(l,d)=>(q(),N("button",{key:d,class:Ze(["relative rounded-[4px] px-2 py-1.5 pr-8 text-left text-sm font-medium hover:bg-[var(--vscode-list-activeSelectionBackground)]",{"bg-[var(--vscode-list-activeSelectionBackground)]":l===t.selecteditemValue}]),onClick:We(h=>a(l),["prevent"])},[_("span",null,Pe(l),1),l===t.selecteditemValue?(q(),N("span",Hb,Jb)):mt("",!0)],10,Ub))),128))],512),[[Ru,o.value]])])],512))}}),Gb={class:"pointer-events-none absolute bottom-0 right-0 top-0 flex items-center"},Kb=_("path",{d:"M1 1L5.5 5.5L10 1",stroke:"currentColor","stroke-width":"1.38","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Wb=[Kb],Yb={class:"mt-3 flex flex-col gap-3"},Zb=Te({__name:"ModulesFilter",props:{modulesCount:{type:Number,default:0},nuxtVersions:{type:Array,default:()=>["3.0.0","2.0.0"]},categories:{type:Array,required:!0},types:{type:Array,required:!0},integrationTypes:{type:Array,default:()=>["All","Modules","Layers"]},open:{type:Boolean,default:!1},selectedIntegrationType:{type:String,default:"All Integrations"}},emits:["selectCategory","selectVersion","selectType","selectIntegrationType"],setup(t,{emit:e}){const i=t,n=e,s=ae(i.open||!1),o=ae("All Integrations"),r=ae("3.0.0"),a=ae("Type"),u=ae("Category"),c=p=>{u.value=p,n("selectCategory",p)},l=p=>{r.value=p,n("selectVersion",p)},d=p=>{o.value=p,n("selectIntegrationType",p)},h=p=>{a.value=p,n("selectType",p)};return Zt(()=>i.open,p=>{s.value=p}),Zt(()=>i.selectedIntegrationType,p=>{d(p)}),(p,y)=>(q(),N("div",null,[_("button",{class:"relative flex w-full items-center gap-1.5",onClick:y[0]||(y[0]=g=>s.value=!s.value)},[I(Mb),_("span",null,"Filters ("+Pe(t.modulesCount)+" modules found)",1),_("span",Gb,[(q(),N("svg",{class:Ze(["h-3 w-3 -rotate-90 transition-all duration-300",{"rotate-0":s.value}]),viewBox:"0 0 11 7",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Wb,2))])]),I(It,{name:"slide-fade"},{default:ti(()=>[Zn(_("div",Yb,[I(An,{label:o.value,items:t.integrationTypes,selecteditemValue:o.value,onSelectedItem:y[1]||(y[1]=g=>d(g))},null,8,["label","items","selecteditemValue"]),I(An,{label:r.value,items:t.nuxtVersions,selecteditemValue:r.value,onSelectedItem:y[2]||(y[2]=g=>l(g))},null,8,["label","items","selecteditemValue"]),I(An,{label:a.value,items:t.types,selecteditemValue:a.value,onSelectedItem:y[3]||(y[3]=g=>h(g))},null,8,["label","items","selecteditemValue"]),I(An,{label:u.value,items:t.categories,selecteditemValue:u.value,onSelectedItem:y[4]||(y[4]=g=>c(g))},null,8,["label","items","selecteditemValue"])],512),[[Ru,s.value]])]),_:1})]))}}),Qb={class:"sticky top-0 z-10 flex select-none flex-col gap-2 bg-[var(--vscode-sideBar-background)] pb-3"},Xb={class:"mt-5 w-full"},ep=Te({__name:"Modules",setup(t){const e=ae(null),i=Uh(),n=ae(["3.0.0","2.0.0"]),s=ae("3.0.0"),o=ae("All"),r=ae("All"),a=ae("All"),u=ae(""),c=ae([]),l=ae(!1),d=ae(i.map(g=>g.type.charAt(0).toUpperCase()+g.type.slice(1)).filter((g,v,A)=>A.indexOf(g)===v).sort());d.value.unshift("All");const h=Fe(()=>{const g=i.filter(v=>v.compatibility.nuxt.includes(s.value)).map(v=>v.category).filter((v,A,O)=>O.indexOf(v)===A).sort();return g.unshift("All"),g}),p=Fe(()=>{const L=i.filter(R=>R.compatibility.nuxt.includes(s.value)).filter(({category:R})=>r.value==="All"||R===r.value).filter(({type:R})=>a.value==="All"||R===a.value.toLowerCase()).sort((R,K)=>K.downloads-R.downloads).filter(R=>(R.name+" "+R.description).toLowerCase().includes(u.value.toLowerCase()));return o.value==="Layers"?L.filter(K=>!!K.isLayer):o.value==="Modules"?L.filter(K=>!K.isLayer):L}),y=g=>{var v;return!!((v=c.value)!=null&&v.find(A=>A.name===g))};return window.addEventListener("message",g=>{const v=g.data;switch(v.command){case"installedModules":c.value=v.data;break;case"addLayer":o.value="Layers";break;case"addModule":o.value="Modules";break}}),(g,v)=>(q(),N(Ae,null,[_("div",Qb,[Zn(_("input",{"onUpdate:modelValue":v[0]||(v[0]=A=>u.value=A),ref_key:"searchInput",ref:e,placeholder:"Search Integrations...",class:"my-3 w-full rounded-md border border-[var(--vscode-dropdown-border)] bg-[var(--vscode-dropdown-background)] p-2.5 text-[var(--vscode-foreground)]"},null,512),[[Pu,u.value]]),I(Zb,{modulesCount:p.value.length,nuxtVersions:n.value,categories:h.value,types:d.value,open:l.value,selectedIntegrationType:o.value,onSelectCategory:v[1]||(v[1]=A=>r.value=A),onSelectVersion:v[2]||(v[2]=A=>s.value=A),onSelectType:v[3]||(v[3]=A=>a.value=A),onSelectIntegrationType:v[4]||(v[4]=A=>o.value=A)},null,8,["modulesCount","nuxtVersions","categories","types","open","selectedIntegrationType"])]),_("div",Xb,[(q(!0),N(Ae,null,Ri(p.value.slice(0,100),(A,O)=>(q(),ts(Pb,{key:O,module:A,installed:y(A.npm)},null,8,["module","installed"]))),128))])],64))}}),tp={class:"flex w-full flex-col font-inter"},ip=Te({__name:"Home",setup(t){return(e,i)=>(q(),N("div",tp,[I(ep)]))}}),np=_("path",{d:"M1 1L5.5 5.5L10 1",stroke:"currentColor","stroke-width":"1.38","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),sp=[np],dn=Te({__name:"Chevron",props:{listOpen:{type:Boolean,default:!1}},setup(t){return(e,i)=>(q(),N("svg",{class:Ze(["h-3 w-3 -rotate-90 transition-all duration-200",{"rotate-0":t.listOpen}]),viewBox:"0 0 11 7",fill:"none",xmlns:"http://www.w3.org/2000/svg"},sp,2))}}),op={},rp={viewBox:"0 0 11 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"},ap=_("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M5.98026 0.033095C6.27762 0.126823 6.47983 0.402573 6.47983 0.714337V4.28576H9.33697C9.60332 4.28576 9.84754 4.43394 9.97054 4.67018C10.0935 4.90641 10.0749 5.19146 9.92211 5.40966L4.92215 12.5525C4.74336 12.8079 4.41958 12.9178 4.12223 12.8241C3.8249 12.7304 3.62269 12.4546 3.62269 12.1429V8.5715H0.765554C0.499219 8.5715 0.254997 8.42329 0.131998 8.18707C0.00900509 7.95079 0.0276551 7.66579 0.18039 7.44757L5.1804 0.304723C5.35919 0.0493163 5.68297 -0.060632 5.98026 0.033095Z",fill:"#DDCE4C"},null,-1),up=[ap];function cp(t,e){return q(),N("svg",rp,up)}const lp=ke(op,[["render",cp]]),dp={},mp={viewBox:"0 0 11 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"},hp=_("path",{d:"M1 1V12L9.9375 6.5L1 1Z",stroke:"currentColor","stroke-width":"1.375","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),bp=[hp];function pp(t,e){return q(),N("svg",mp,bp)}const fp=ke(dp,[["render",pp]]),gp={class:"my-0.5 flex w-full select-none flex-col items-center text-[var(--vscode-foreground)]"},yp={class:"mx-2.5 flex flex-1 flex-row items-center gap-2 hover:bg-[var(--vscode-list-hoverBackground)]"},vp=_("p",{class:"text-sm font-medium"},"Actions",-1),wp=["title","onClick"],xp={class:"ml-2 text-sm"},_p=Te({__name:"Actions",props:{scripts:{type:Object,required:!0}},setup(t){const e=ae(!0),i=()=>{e.value=!e.value},n=s=>{nt.postMessage({command:"runAction",script:s})};return(s,o)=>(q(),N("div",gp,[_("div",{class:"flex w-full cursor-pointer flex-row items-center",onClick:i},[I(dn,{class:"h-2.5 w-2.5",listOpen:e.value},null,8,["listOpen"]),_("div",yp,[I(lp,{class:"h-3 w-3"}),vp])]),I(It,{name:"slide-down-fade"},{default:ti(()=>[e.value?(q(),N("div",{key:0,onClick:o[0]||(o[0]=We(()=>{},["stop"])),class:Ze(["mx-auto mb-2.5 mt-1 w-11/12 px-2",{showing:e.value,hidden:!e.value}])},[(q(!0),N(Ae,null,Ri(t.scripts,(r,a)=>(q(),N("a",{href:"#",title:`Execute script ${a}`,class:"flex w-full flex-row items-center !text-[var(--vscode-foreground)] hover:bg-[var(--vscode-list-hoverBackground)]",key:r,onClick:We(u=>n(a),["prevent"])},[I(fp,{class:"h-3 w-3"}),_("p",xp,Pe(a),1)],8,wp))),128))],2)):mt("",!0)]),_:1})]))}});const kp={},Ap={viewBox:"0 0 13 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Sp=_("path",{d:"M3.79163 1.625V11.375M3.79163 1.625L5.41663 3.25M3.79163 1.625L2.16663 3.25M10.8333 9.75L9.20829 11.375M9.20829 11.375L7.58329 9.75M9.20829 11.375V1.625",stroke:"currentColor","stroke-width":"0.8125","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Cp=[Sp];function jp(t,e){return q(),N("svg",Ap,Cp)}const Ep=ke(kp,[["render",jp]]),Tp={},zp={viewBox:"0 0 13 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Op=_("path",{d:"M2.16663 3.79167H10.8333M2.70829 3.79167L3.24996 10.2917C3.24996 10.579 3.3641 10.8545 3.56726 11.0577C3.77042 11.2609 4.04597 11.375 4.33329 11.375H8.66663C8.95394 11.375 9.22949 11.2609 9.43266 11.0577C9.63582 10.8545 9.74996 10.579 9.74996 10.2917L10.2916 3.79167M4.87496 3.79167V2.16667C4.87496 2.02301 4.93203 1.88523 5.03361 1.78365C5.13519 1.68207 5.27297 1.625 5.41663 1.625H7.58329C7.72695 1.625 7.86473 1.68207 7.96631 1.78365C8.06789 1.88523 8.12496 2.02301 8.12496 2.16667V3.79167M5.41663 6.5L7.58329 8.66667M7.58329 6.5L5.41663 8.66667",stroke:"currentColor","stroke-width":"0.8125","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Rp=[Op];function Pp(t,e){return q(),N("svg",zp,Rp)}const Uo=ke(Tp,[["render",Pp]]),$p={},Lp={viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Bp=_("path",{d:"M5.46126 2H1V11H5.4608V4.2696H7.7304V11H10V2H5.46126Z",fill:"currentColor"},null,-1),Ip=[Bp];function qp(t,e){return q(),N("svg",Lp,Ip)}const Mp=ke($p,[["render",qp]]),Dp={},Np={viewBox:"0 0 12 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Fp=_("path",{d:"M6 1L11 3.8125V9.4375L6 12.25L1 9.4375V3.8125L6 1Z",stroke:"currentColor","stroke-width":"0.8","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Up=_("path",{d:"M6 6.625L11 3.8125",stroke:"currentColor","stroke-width":"0.8","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Hp=_("path",{d:"M6 6.625V12.25",stroke:"currentColor","stroke-width":"0.8","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Vp=_("path",{d:"M6 6.625L1 3.8125",stroke:"currentColor","stroke-width":"0.8","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Jp=[Fp,Up,Hp,Vp];function Gp(t,e){return q(),N("svg",Np,Jp)}const Kp=ke(Dp,[["render",Gp]]),Wp={class:"my-0.5 flex w-full select-none flex-col items-center text-[var(--vscode-foreground)]"},Yp={class:"mx-2.5 flex flex-1 flex-row items-center gap-2 hover:bg-[var(--vscode-list-hoverBackground)]"},Zp=_("p",{class:"text-sm font-medium"},"Dependencies",-1),Qp={class:"flex flex-row items-center overflow-hidden"},Xp={class:"flex items-center"},ef=["href"],tf={class:"flex-1 overflow-hidden text-ellipsis whitespace-pre text-xs"},nf={class:"text-[var(--vscode-descriptionForeground)]"},sf={key:0,class:"mx-0.5"},of=_("span",null,"→",-1),rf={class:"font-bold mx-0.5"},af={class:"flex items-center gap-2"},uf=["onClick"],cf=["onClick"],lf=Te({__name:"Dependencies",props:{name:{type:String},dependencies:{type:Array},outdated:{type:Array}},setup(t){const e=ae(!1),i=()=>{e.value=!e.value},n=o=>{nt.postMessage({command:"upgradeModule",module:o})},s=o=>{nt.postMessage({command:"removeModule",module:o})};return(o,r)=>(q(),N("div",Wp,[_("div",{class:"flex w-full cursor-pointer flex-row items-center",onClick:i},[I(dn,{class:"h-2.5 w-2.5",listOpen:e.value},null,8,["listOpen"]),_("div",Yp,[I(Mp,{class:"h-4 w-4"}),Zp])]),I(It,{name:"slide-down-fade"},{default:ti(()=>[e.value?(q(),N("div",{key:0,class:Ze(["mx-auto mb-2.5 mt-1 w-11/12 px-2",{showing:e.value,hidden:!e.value}])},[(q(!0),N(Ae,null,Ri(t.dependencies,(a,u)=>{var c;return q(),N("div",{key:u,class:"group relative flex w-full items-center justify-between hover:bg-[var(--vscode-list-hoverBackground)]"},[_("div",Qp,[_("div",Xp,[I(Kp,{class:"h-3 w-3"}),_("a",{href:`https://npmjs.org/package/${a.name}`,class:Ze(["mx-2 flex-1 text-sm",{"font-bold":t.outdated&&t.outdated.length&&t.outdated.find(l=>l.name===a.name)}])},Pe(a.name),11,ef)]),_("p",tf,[_("span",nf,Pe(a.version.replace("^","")),1),t.outdated&&t.outdated.length&&t.outdated.find(l=>l.name===a.name)?(q(),N("span",sf,[of,_("span",rf,Pe((c=t.outdated.find(l=>l.name===a.name))==null?void 0:c.latest),1)])):mt("",!0)])]),_("div",af,[_("button",{class:"hidden cursor-pointer hover:opacity-80 group-hover:block group-hover:font-medium",onClick:l=>s(a.name)},[I(Uo,{class:"h-4 w-4"})],8,uf),_("button",{class:"hidden cursor-pointer hover:opacity-80 group-hover:block group-hover:font-medium",onClick:l=>n(a.name)},[I(Ep,{class:"h-4 w-4"})],8,cf)])])}),128))],2)):mt("",!0)]),_:1})]))}});const df={},mf={viewBox:"0 0 11 9",fill:"none",xmlns:"http://www.w3.org/2000/svg"},hf=_("path",{d:"M3.20833 2.66675L1.375 4.50008L3.20833 6.33341",stroke:"currentColor","stroke-width":"0.916667","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),bf=_("path",{d:"M7.79175 2.66675L9.62508 4.50008L7.79175 6.33341",stroke:"currentColor","stroke-width":"0.916667","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),pf=_("path",{d:"M6.41659 0.833252L4.58325 8.16659",stroke:"currentColor","stroke-width":"0.916667","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),ff=[hf,bf,pf];function gf(t,e){return q(),N("svg",mf,ff)}const yf=ke(df,[["render",gf]]),vf={},wf={xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-plus",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},xf=_("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),_f=_("path",{d:"M12 5l0 14"},null,-1),kf=_("path",{d:"M5 12l14 0"},null,-1),Af=[xf,_f,kf];function Sf(t,e){return q(),N("svg",wf,Af)}const rc=ke(vf,[["render",Sf]]),Cf={},jf={viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ef=_("path",{d:"M3.5 3.50006H3C2.73478 3.50006 2.48043 3.60542 2.29289 3.79295C2.10536 3.98049 2 4.23484 2 4.50006V9.00006C2 9.26528 2.10536 9.51963 2.29289 9.70717C2.48043 9.8947 2.73478 10.0001 3 10.0001H7.5C7.76522 10.0001 8.01957 9.8947 8.20711 9.70717C8.39464 9.51963 8.5 9.26528 8.5 9.00006V8.50006M8 2.50006L9.5 4.00006M10.1925 3.29255C10.3894 3.09563 10.5001 2.82855 10.5001 2.55005C10.5001 2.27156 10.3894 2.00448 10.1925 1.80755C9.99558 1.61063 9.72849 1.5 9.45 1.5C9.17151 1.5 8.90442 1.61063 8.7075 1.80755L4.5 6.00005V7.50005H6L10.1925 3.29255Z",stroke:"currentColor","stroke-width":"0.75","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Tf=[Ef];function zf(t,e){return q(),N("svg",jf,Tf)}const ac=ke(Cf,[["render",zf]]),Of={},Rf={xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-code-dots",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},Pf=Eu('',6),$f=[Pf];function Lf(t,e){return q(),N("svg",Rf,$f)}const Bf=ke(Of,[["render",Lf]]),If={class:"my-0.5 flex w-full select-none flex-col items-center text-[var(--vscode-foreground)]"},qf={class:"mx-2.5 flex flex-1 flex-row items-center gap-2 hover:bg-[var(--vscode-list-hoverBackground)]"},Mf=_("p",{class:"text-sm font-medium"},"Snippets",-1),Df={class:"flex cursor-pointer flex-row items-center"},Nf={class:"ml-2 text-sm"},Ff={class:"flex flex-row space-x-2"},Uf=["onClick"],Hf=["onClick"],Vf={class:"flex cursor-pointer flex-row items-center"},Jf=_("p",{class:"ml-2 text-sm"},"Add new snippet",-1),Gf=Te({__name:"Snippets",props:{name:{type:String},snippets:{type:Object,required:!0}},setup(t){const e=ae(!1),i=()=>{e.value=!e.value},n=r=>{nt.postMessage({command:"editSnippet",data:r})},s=r=>{nt.postMessage({command:"deleteSnippet",data:r})},o=()=>{nt.postMessage({command:"configureNewSnippet"})};return(r,a)=>(q(),N("div",If,[_("div",{class:"flex w-full cursor-pointer flex-row items-center",onClick:i},[I(dn,{class:"h-2.5 w-2.5",listOpen:e.value},null,8,["listOpen"]),_("div",qf,[I(Bf,{class:"h-4 w-4"}),Mf])]),I(It,{name:"slide-down-fade"},{default:ti(()=>[e.value?(q(),N("div",{key:0,class:Ze(["mx-auto mb-2.5 mt-1 w-11/12 px-2",{showing:e.value,hidden:!e.value}])},[(q(!0),N(Ae,null,Ri(t.snippets,(u,c)=>(q(),N("div",{key:c,class:"group relative flex w-full items-center justify-between hover:bg-[var(--vscode-list-hoverBackground)]"},[_("div",Df,[I(yf,{class:"h-3 w-3"}),_("p",Nf,Pe(u.replace(".code-snippets","")),1)]),_("div",Ff,[_("div",{onClick:We(l=>s(u),["prevent"]),class:"hidden cursor-pointer group-hover:block group-hover:font-medium"},[I(Uo,{class:"h-4 w-4"})],8,Uf),_("div",{onClick:We(l=>n(u),["prevent"]),class:"hidden cursor-pointer group-hover:block group-hover:font-medium"},[I(ac,{class:"h-4 w-4"})],8,Hf)])]))),128)),_("div",{onClick:We(o,["prevent"]),class:"group relative flex w-full items-center justify-between hover:bg-[var(--vscode-list-hoverBackground)]"},[_("div",Vf,[I(rc,{class:"h-3 w-3"}),Jf])])],2)):mt("",!0)]),_:1})]))}}),Kf={},Wf={viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Yf=_("path",{d:"M8.25 2L6 6L3.75 2M1.5 2L6 10L10.5 2",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Zf=[Yf];function Qf(t,e){return q(),N("svg",Wf,Zf)}const Xf=ke(Kf,[["render",Qf]]),e1={},t1={viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i1=_("path",{d:"M8 4.00012V3.00012C8 2.73491 7.89464 2.48055 7.70711 2.29302C7.51957 2.10548 7.26522 2.00012 7 2.00012H3C2.73478 2.00012 2.48043 2.10548 2.29289 2.29302C2.10536 2.48055 2 2.73491 2 3.00012V7.00012C2 7.26534 2.10536 7.51969 2.29289 7.70723C2.48043 7.89476 2.73478 8.00012 3 8.00012H4M4 5.00012C4 4.73491 4.10536 4.48055 4.29289 4.29302C4.48043 4.10548 4.73478 4.00012 5 4.00012H9C9.26522 4.00012 9.51957 4.10548 9.70711 4.29302C9.89464 4.48055 10 4.73491 10 5.00012V9.00012C10 9.26534 9.89464 9.51969 9.70711 9.70723C9.51957 9.89476 9.26522 10.0001 9 10.0001H5C4.73478 10.0001 4.48043 9.89476 4.29289 9.70723C4.10536 9.51969 4 9.26534 4 9.00012V5.00012Z",stroke:"currentColor","stroke-width":"0.75","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),n1=[i1];function s1(t,e){return q(),N("svg",t1,n1)}const o1=ke(e1,[["render",s1]]),r1={class:"my-0.5 flex w-full select-none flex-col items-center text-[var(--vscode-foreground)]"},a1={class:"mx-2.5 flex flex-1 flex-row items-center gap-2 hover:bg-[var(--vscode-list-hoverBackground)]"},u1=_("p",{class:"text-sm font-medium"},"File Templates",-1),c1={class:"flex cursor-pointer flex-row items-center"},l1=["onClick"],d1={class:"ml-2 px-2 font-medium rounded-sm bg-[var(--vscode-foreground)] text-[var(--vscode-sideBar-background)] text-xs"},m1={class:"flex flex-row space-x-2"},h1=["onClick"],b1=["onClick"],p1={class:"flex cursor-pointer flex-row items-center"},f1=_("p",{class:"ml-2 text-sm"},"Create new Template",-1),g1=Te({__name:"FileTemplates",props:{name:{type:String},templates:{type:Object,required:!0}},setup(t){const e=ae(!1),i=()=>{e.value=!e.value},n=a=>{nt.postMessage({command:"editTemplate",data:a})},s=a=>{nt.postMessage({command:"deleteTemplate",data:a})},o=()=>{nt.postMessage({command:"createEmptyFileTemplate"})},r=a=>{nt.postMessage({command:"createFileFromTemplate",data:a})};return(a,u)=>(q(),N("div",r1,[_("div",{class:"flex w-full cursor-pointer flex-row items-center",onClick:i},[I(dn,{class:"h-2.5 w-2.5",listOpen:e.value},null,8,["listOpen"]),_("div",a1,[I(o1,{class:"h-4 w-4"}),u1])]),I(It,{name:"slide-down-fade"},{default:ti(()=>[e.value?(q(),N("div",{key:0,class:Ze(["mx-auto mb-2.5 mt-1 w-11/12 pl-2",{showing:e.value,hidden:!e.value}])},[(q(!0),N(Ae,null,Ri(t.templates,(c,l)=>(q(),N("div",{key:l,class:"group relative flex w-full items-center justify-between hover:bg-[var(--vscode-list-hoverBackground)]"},[_("div",c1,[I(Xf,{class:"h-3 w-3"}),_("p",{onClick:d=>r(c),class:"ml-2 text-sm"},Pe(c.replace(".page-template","").replace(".layout-template","")),9,l1),_("p",d1,Pe(c.includes("page")?"Page":"Layout"),1)]),_("div",m1,[_("div",{onClick:We(d=>s(c),["prevent"]),class:"hidden cursor-pointer group-hover:block group-hover:font-medium"},[I(Uo,{class:"h-4 w-4"})],8,h1),_("div",{onClick:We(d=>n(c),["prevent"]),class:"hidden cursor-pointer group-hover:block group-hover:font-medium"},[I(ac,{class:"h-4 w-4"})],8,b1)])]))),128)),_("div",{onClick:We(o,["prevent"]),class:"group relative flex w-full items-center justify-between hover:bg-[var(--vscode-list-hoverBackground)]"},[_("div",p1,[I(rc,{class:"h-3 w-3"}),f1])])],2)):mt("",!0)]),_:1})]))}}),y1={},v1={viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},w1=_("g",{"clip-path":"url(#clip0_3947_168996)"},[_("path",{d:"M2 9.67545L2.54167 8.05045C2.07352 7.35806 1.90416 6.53812 2.06509 5.74307C2.22602 4.94803 2.70628 4.23198 3.41657 3.72806C4.12686 3.22415 5.01886 2.96666 5.9267 3.00346C6.83455 3.04027 7.69647 3.36888 8.3522 3.92818C9.00794 4.48748 9.41286 5.23942 9.49169 6.04419C9.57053 6.84896 9.3179 7.65179 8.78078 8.30342C8.24366 8.95504 7.45861 9.41112 6.57158 9.58684C5.68455 9.76257 4.75592 9.64599 3.95833 9.25878L2 9.67545Z",stroke:"currentColor","stroke-width":"0.833333","stroke-linecap":"round","stroke-linejoin":"round"})],-1),x1=_("defs",null,[_("clipPath",{id:"clip0_3947_168996"},[_("rect",{width:"12",height:"12",fill:"currentColor"})])],-1),_1=[w1,x1];function k1(t,e){return q(),N("svg",v1,_1)}const A1=ke(y1,[["render",k1]]),S1="modulepreload",C1=function(t){return"/"+t},ha={},Ei=function(e,i,n){if(!i||i.length===0)return e();const s=document.getElementsByTagName("link");return Promise.all(i.map(o=>{if(o=C1(o),o in ha)return;ha[o]=!0;const r=o.endsWith(".css"),a=r?'[rel="stylesheet"]':"";if(!!n)for(let l=s.length-1;l>=0;l--){const d=s[l];if(d.href===o&&(!r||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const c=document.createElement("link");if(c.rel=r?"stylesheet":S1,r||(c.as="script",c.crossOrigin=""),c.href=o,document.head.appendChild(c),r)return new Promise((l,d)=>{c.addEventListener("load",l),c.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>e()).catch(o=>{const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=o,window.dispatchEvent(r),!r.defaultPrevented)throw o})},j1=t=>{let e;return t?e=t:typeof fetch>"u"?e=(...i)=>Ei(()=>Promise.resolve().then(()=>mn),void 0).then(({default:n})=>n(...i)):e=fetch,(...i)=>e(...i)};class Ho extends Error{constructor(e,i="FunctionsError",n){super(e),this.name=i,this.context=n}}class E1 extends Ho{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class T1 extends Ho{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class z1 extends Ho{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var O1=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};class R1{constructor(e,{headers:i={},customFetch:n}={}){this.url=e,this.headers=i,this.fetch=j1(n)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e,i={}){var n;return O1(this,void 0,void 0,function*(){try{const{headers:s,method:o,body:r}=i;let a={},u;r&&(s&&!Object.prototype.hasOwnProperty.call(s,"Content-Type")||!s)&&(typeof Blob<"u"&&r instanceof Blob||r instanceof ArrayBuffer?(a["Content-Type"]="application/octet-stream",u=r):typeof r=="string"?(a["Content-Type"]="text/plain",u=r):typeof FormData<"u"&&r instanceof FormData?u=r:(a["Content-Type"]="application/json",u=JSON.stringify(r)));const c=yield this.fetch(`${this.url}/${e}`,{method:o||"POST",headers:Object.assign(Object.assign(Object.assign({},a),this.headers),s),body:u}).catch(p=>{throw new E1(p)}),l=c.headers.get("x-relay-error");if(l&&l==="true")throw new T1(c);if(!c.ok)throw new z1(c);let d=((n=c.headers.get("Content-Type"))!==null&&n!==void 0?n:"text/plain").split(";")[0].trim(),h;return d==="application/json"?h=yield c.json():d==="application/octet-stream"?h=yield c.blob():d==="multipart/form-data"?h=yield c.formData():h=yield c.text(),{data:h,error:null}}catch(s){return{data:null,error:s}}})}}var P1=function(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")},Ti=P1();const $1=Ti.fetch,Vo=Ti.fetch.bind(Ti),uc=Ti.Headers,L1=Ti.Request,B1=Ti.Response,mn=Object.freeze(Object.defineProperty({__proto__:null,Headers:uc,Request:L1,Response:B1,default:Vo,fetch:$1},Symbol.toStringTag,{value:"Module"}));class I1{constructor(e){this.shouldThrowOnError=!1,this.method=e.method,this.url=e.url,this.headers=e.headers,this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=e.shouldThrowOnError,this.signal=e.signal,this.isMaybeSingle=e.isMaybeSingle,e.fetch?this.fetch=e.fetch:typeof fetch>"u"?this.fetch=Vo:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}then(e,i){this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers["Accept-Profile"]=this.schema:this.headers["Content-Profile"]=this.schema),this.method!=="GET"&&this.method!=="HEAD"&&(this.headers["Content-Type"]="application/json");const n=this.fetch;let s=n(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async o=>{var r,a,u;let c=null,l=null,d=null,h=o.status,p=o.statusText;if(o.ok){if(this.method!=="HEAD"){const A=await o.text();A===""||(this.headers.Accept==="text/csv"||this.headers.Accept&&this.headers.Accept.includes("application/vnd.pgrst.plan+text")?l=A:l=JSON.parse(A))}const g=(r=this.headers.Prefer)===null||r===void 0?void 0:r.match(/count=(exact|planned|estimated)/),v=(a=o.headers.get("content-range"))===null||a===void 0?void 0:a.split("/");g&&v&&v.length>1&&(d=parseInt(v[1])),this.isMaybeSingle&&this.method==="GET"&&Array.isArray(l)&&(l.length>1?(c={code:"PGRST116",details:`Results contain ${l.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},l=null,d=null,h=406,p="Not Acceptable"):l.length===1?l=l[0]:l=null)}else{const g=await o.text();try{c=JSON.parse(g),Array.isArray(c)&&o.status===404&&(l=[],c=null,h=200,p="OK")}catch{o.status===404&&g===""?(h=204,p="No Content"):c={message:g}}if(c&&this.isMaybeSingle&&(!((u=c==null?void 0:c.details)===null||u===void 0)&&u.includes("0 rows"))&&(c=null,h=200,p="OK"),c&&this.shouldThrowOnError)throw c}return{error:c,data:l,count:d,status:h,statusText:p}});return this.shouldThrowOnError||(s=s.catch(o=>{var r,a,u;return{error:{message:`${(r=o==null?void 0:o.name)!==null&&r!==void 0?r:"FetchError"}: ${o==null?void 0:o.message}`,details:`${(a=o==null?void 0:o.stack)!==null&&a!==void 0?a:""}`,hint:"",code:`${(u=o==null?void 0:o.code)!==null&&u!==void 0?u:""}`},data:null,count:null,status:0,statusText:""}})),s.then(e,i)}}class q1 extends I1{select(e){let i=!1;const n=(e??"*").split("").map(s=>/\s/.test(s)&&!i?"":(s==='"'&&(i=!i),s)).join("");return this.url.searchParams.set("select",n),this.headers.Prefer&&(this.headers.Prefer+=","),this.headers.Prefer+="return=representation",this}order(e,{ascending:i=!0,nullsFirst:n,foreignTable:s,referencedTable:o=s}={}){const r=o?`${o}.order`:"order",a=this.url.searchParams.get(r);return this.url.searchParams.set(r,`${a?`${a},`:""}${e}.${i?"asc":"desc"}${n===void 0?"":n?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:i,referencedTable:n=i}={}){const s=typeof n>"u"?"limit":`${n}.limit`;return this.url.searchParams.set(s,`${e}`),this}range(e,i,{foreignTable:n,referencedTable:s=n}={}){const o=typeof s>"u"?"offset":`${s}.offset`,r=typeof s>"u"?"limit":`${s}.limit`;return this.url.searchParams.set(o,`${e}`),this.url.searchParams.set(r,`${i-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.Accept="application/vnd.pgrst.object+json",this}maybeSingle(){return this.method==="GET"?this.headers.Accept="application/json":this.headers.Accept="application/vnd.pgrst.object+json",this.isMaybeSingle=!0,this}csv(){return this.headers.Accept="text/csv",this}geojson(){return this.headers.Accept="application/geo+json",this}explain({analyze:e=!1,verbose:i=!1,settings:n=!1,buffers:s=!1,wal:o=!1,format:r="text"}={}){var a;const u=[e?"analyze":null,i?"verbose":null,n?"settings":null,s?"buffers":null,o?"wal":null].filter(Boolean).join("|"),c=(a=this.headers.Accept)!==null&&a!==void 0?a:"application/json";return this.headers.Accept=`application/vnd.pgrst.plan+${r}; for="${c}"; options=${u};`,r==="json"?this:this}rollback(){var e;return((e=this.headers.Prefer)!==null&&e!==void 0?e:"").trim().length>0?this.headers.Prefer+=",tx=rollback":this.headers.Prefer="tx=rollback",this}returns(){return this}}class hi extends q1{eq(e,i){return this.url.searchParams.append(e,`eq.${i}`),this}neq(e,i){return this.url.searchParams.append(e,`neq.${i}`),this}gt(e,i){return this.url.searchParams.append(e,`gt.${i}`),this}gte(e,i){return this.url.searchParams.append(e,`gte.${i}`),this}lt(e,i){return this.url.searchParams.append(e,`lt.${i}`),this}lte(e,i){return this.url.searchParams.append(e,`lte.${i}`),this}like(e,i){return this.url.searchParams.append(e,`like.${i}`),this}likeAllOf(e,i){return this.url.searchParams.append(e,`like(all).{${i.join(",")}}`),this}likeAnyOf(e,i){return this.url.searchParams.append(e,`like(any).{${i.join(",")}}`),this}ilike(e,i){return this.url.searchParams.append(e,`ilike.${i}`),this}ilikeAllOf(e,i){return this.url.searchParams.append(e,`ilike(all).{${i.join(",")}}`),this}ilikeAnyOf(e,i){return this.url.searchParams.append(e,`ilike(any).{${i.join(",")}}`),this}is(e,i){return this.url.searchParams.append(e,`is.${i}`),this}in(e,i){const n=i.map(s=>typeof s=="string"&&new RegExp("[,()]").test(s)?`"${s}"`:`${s}`).join(",");return this.url.searchParams.append(e,`in.(${n})`),this}contains(e,i){return typeof i=="string"?this.url.searchParams.append(e,`cs.${i}`):Array.isArray(i)?this.url.searchParams.append(e,`cs.{${i.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(i)}`),this}containedBy(e,i){return typeof i=="string"?this.url.searchParams.append(e,`cd.${i}`):Array.isArray(i)?this.url.searchParams.append(e,`cd.{${i.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(i)}`),this}rangeGt(e,i){return this.url.searchParams.append(e,`sr.${i}`),this}rangeGte(e,i){return this.url.searchParams.append(e,`nxl.${i}`),this}rangeLt(e,i){return this.url.searchParams.append(e,`sl.${i}`),this}rangeLte(e,i){return this.url.searchParams.append(e,`nxr.${i}`),this}rangeAdjacent(e,i){return this.url.searchParams.append(e,`adj.${i}`),this}overlaps(e,i){return typeof i=="string"?this.url.searchParams.append(e,`ov.${i}`):this.url.searchParams.append(e,`ov.{${i.join(",")}}`),this}textSearch(e,i,{config:n,type:s}={}){let o="";s==="plain"?o="pl":s==="phrase"?o="ph":s==="websearch"&&(o="w");const r=n===void 0?"":`(${n})`;return this.url.searchParams.append(e,`${o}fts${r}.${i}`),this}match(e){return Object.entries(e).forEach(([i,n])=>{this.url.searchParams.append(i,`eq.${n}`)}),this}not(e,i,n){return this.url.searchParams.append(e,`not.${i}.${n}`),this}or(e,{foreignTable:i,referencedTable:n=i}={}){const s=n?`${n}.or`:"or";return this.url.searchParams.append(s,`(${e})`),this}filter(e,i,n){return this.url.searchParams.append(e,`${i}.${n}`),this}}class M1{constructor(e,{headers:i={},schema:n,fetch:s}){this.url=e,this.headers=i,this.schema=n,this.fetch=s}select(e,{head:i=!1,count:n}={}){const s=i?"HEAD":"GET";let o=!1;const r=(e??"*").split("").map(a=>/\s/.test(a)&&!o?"":(a==='"'&&(o=!o),a)).join("");return this.url.searchParams.set("select",r),n&&(this.headers.Prefer=`count=${n}`),new hi({method:s,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}insert(e,{count:i,defaultToNull:n=!0}={}){const s="POST",o=[];if(this.headers.Prefer&&o.push(this.headers.Prefer),i&&o.push(`count=${i}`),n||o.push("missing=default"),this.headers.Prefer=o.join(","),Array.isArray(e)){const r=e.reduce((a,u)=>a.concat(Object.keys(u)),[]);if(r.length>0){const a=[...new Set(r)].map(u=>`"${u}"`);this.url.searchParams.set("columns",a.join(","))}}return new hi({method:s,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch,allowEmpty:!1})}upsert(e,{onConflict:i,ignoreDuplicates:n=!1,count:s,defaultToNull:o=!0}={}){const r="POST",a=[`resolution=${n?"ignore":"merge"}-duplicates`];if(i!==void 0&&this.url.searchParams.set("on_conflict",i),this.headers.Prefer&&a.push(this.headers.Prefer),s&&a.push(`count=${s}`),o||a.push("missing=default"),this.headers.Prefer=a.join(","),Array.isArray(e)){const u=e.reduce((c,l)=>c.concat(Object.keys(l)),[]);if(u.length>0){const c=[...new Set(u)].map(l=>`"${l}"`);this.url.searchParams.set("columns",c.join(","))}}return new hi({method:r,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch,allowEmpty:!1})}update(e,{count:i}={}){const n="PATCH",s=[];return this.headers.Prefer&&s.push(this.headers.Prefer),i&&s.push(`count=${i}`),this.headers.Prefer=s.join(","),new hi({method:n,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch,allowEmpty:!1})}delete({count:e}={}){const i="DELETE",n=[];return e&&n.push(`count=${e}`),this.headers.Prefer&&n.unshift(this.headers.Prefer),this.headers.Prefer=n.join(","),new hi({method:i,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}}const D1="1.9.1",N1={"X-Client-Info":`postgrest-js/${D1}`};class Jo{constructor(e,{headers:i={},schema:n,fetch:s}={}){this.url=e,this.headers=Object.assign(Object.assign({},N1),i),this.schemaName=n,this.fetch=s}from(e){const i=new URL(`${this.url}/${e}`);return new M1(i,{headers:Object.assign({},this.headers),schema:this.schemaName,fetch:this.fetch})}schema(e){return new Jo(this.url,{headers:this.headers,schema:e,fetch:this.fetch})}rpc(e,i={},{head:n=!1,count:s}={}){let o;const r=new URL(`${this.url}/rpc/${e}`);let a;n?(o="HEAD",Object.entries(i).forEach(([c,l])=>{r.searchParams.append(c,`${l}`)})):(o="POST",a=i);const u=Object.assign({},this.headers);return s&&(u.Prefer=`count=${s}`),new hi({method:o,url:r,headers:u,schema:this.schemaName,body:a,fetch:this.fetch,allowEmpty:!1})}}const F1="2.9.1",U1={"X-Client-Info":`realtime-js/${F1}`},H1="1.0.0",cc=1e4,V1=1e3;var _i;(function(t){t[t.connecting=0]="connecting",t[t.open=1]="open",t[t.closing=2]="closing",t[t.closed=3]="closed"})(_i||(_i={}));var Ne;(function(t){t.closed="closed",t.errored="errored",t.joined="joined",t.joining="joining",t.leaving="leaving"})(Ne||(Ne={}));var tt;(function(t){t.close="phx_close",t.error="phx_error",t.join="phx_join",t.reply="phx_reply",t.leave="phx_leave",t.access_token="access_token"})(tt||(tt={}));var ho;(function(t){t.websocket="websocket"})(ho||(ho={}));var Gt;(function(t){t.Connecting="connecting",t.Open="open",t.Closing="closing",t.Closed="closed"})(Gt||(Gt={}));class lc{constructor(e,i){this.callback=e,this.timerCalc=i,this.timer=void 0,this.tries=0,this.callback=e,this.timerCalc=i}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}class J1{constructor(){this.HEADER_LENGTH=1}decode(e,i){return e.constructor===ArrayBuffer?i(this._binaryDecode(e)):i(typeof e=="string"?JSON.parse(e):{})}_binaryDecode(e){const i=new DataView(e),n=new TextDecoder;return this._decodeBroadcast(e,i,n)}_decodeBroadcast(e,i,n){const s=i.getUint8(1),o=i.getUint8(2);let r=this.HEADER_LENGTH+2;const a=n.decode(e.slice(r,r+s));r=r+s;const u=n.decode(e.slice(r,r+o));r=r+o;const c=JSON.parse(n.decode(e.slice(r,e.byteLength)));return{ref:null,topic:a,event:u,payload:c}}}class Is{constructor(e,i,n={},s=cc){this.channel=e,this.event=i,this.payload=n,this.timeout=s,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null}resend(e){this.timeout=e,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){this._hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()}))}updatePayload(e){this.payload=Object.assign(Object.assign({},this.payload),e)}receive(e,i){var n;return this._hasReceived(e)&&i((n=this.receivedResp)===null||n===void 0?void 0:n.response),this.recHooks.push({status:e,callback:i}),this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef(),this.refEvent=this.channel._replyEventName(this.ref);const e=i=>{this._cancelRefEvent(),this._cancelTimeout(),this.receivedResp=i,this._matchReceive(i)};this.channel._on(this.refEvent,{},e),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}trigger(e,i){this.refEvent&&this.channel._trigger(this.refEvent,{status:e,response:i})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:e,response:i}){this.recHooks.filter(n=>n.status===e).forEach(n=>n.callback(i))}_hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}}var ba;(function(t){t.SYNC="sync",t.JOIN="join",t.LEAVE="leave"})(ba||(ba={}));class Qi{constructor(e,i){this.channel=e,this.state={},this.pendingDiffs=[],this.joinRef=null,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const n=(i==null?void 0:i.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(n.state,{},s=>{const{onJoin:o,onLeave:r,onSync:a}=this.caller;this.joinRef=this.channel._joinRef(),this.state=Qi.syncState(this.state,s,o,r),this.pendingDiffs.forEach(u=>{this.state=Qi.syncDiff(this.state,u,o,r)}),this.pendingDiffs=[],a()}),this.channel._on(n.diff,{},s=>{const{onJoin:o,onLeave:r,onSync:a}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(s):(this.state=Qi.syncDiff(this.state,s,o,r),a())}),this.onJoin((s,o,r)=>{this.channel._trigger("presence",{event:"join",key:s,currentPresences:o,newPresences:r})}),this.onLeave((s,o,r)=>{this.channel._trigger("presence",{event:"leave",key:s,currentPresences:o,leftPresences:r})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(e,i,n,s){const o=this.cloneDeep(e),r=this.transformState(i),a={},u={};return this.map(o,(c,l)=>{r[c]||(u[c]=l)}),this.map(r,(c,l)=>{const d=o[c];if(d){const h=l.map(v=>v.presence_ref),p=d.map(v=>v.presence_ref),y=l.filter(v=>p.indexOf(v.presence_ref)<0),g=d.filter(v=>h.indexOf(v.presence_ref)<0);y.length>0&&(a[c]=y),g.length>0&&(u[c]=g)}else a[c]=l}),this.syncDiff(o,{joins:a,leaves:u},n,s)}static syncDiff(e,i,n,s){const{joins:o,leaves:r}={joins:this.transformState(i.joins),leaves:this.transformState(i.leaves)};return n||(n=()=>{}),s||(s=()=>{}),this.map(o,(a,u)=>{var c;const l=(c=e[a])!==null&&c!==void 0?c:[];if(e[a]=this.cloneDeep(u),l.length>0){const d=e[a].map(p=>p.presence_ref),h=l.filter(p=>d.indexOf(p.presence_ref)<0);e[a].unshift(...h)}n(a,l,u)}),this.map(r,(a,u)=>{let c=e[a];if(!c)return;const l=u.map(d=>d.presence_ref);c=c.filter(d=>l.indexOf(d.presence_ref)<0),e[a]=c,s(a,c,u),c.length===0&&delete e[a]}),e}static map(e,i){return Object.getOwnPropertyNames(e).map(n=>i(n,e[n]))}static transformState(e){return e=this.cloneDeep(e),Object.getOwnPropertyNames(e).reduce((i,n)=>{const s=e[n];return"metas"in s?i[n]=s.metas.map(o=>(o.presence_ref=o.phx_ref,delete o.phx_ref,delete o.phx_ref_prev,o)):i[n]=s,i},{})}static cloneDeep(e){return JSON.parse(JSON.stringify(e))}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}var ue;(function(t){t.abstime="abstime",t.bool="bool",t.date="date",t.daterange="daterange",t.float4="float4",t.float8="float8",t.int2="int2",t.int4="int4",t.int4range="int4range",t.int8="int8",t.int8range="int8range",t.json="json",t.jsonb="jsonb",t.money="money",t.numeric="numeric",t.oid="oid",t.reltime="reltime",t.text="text",t.time="time",t.timestamp="timestamp",t.timestamptz="timestamptz",t.timetz="timetz",t.tsrange="tsrange",t.tstzrange="tstzrange"})(ue||(ue={}));const pa=(t,e,i={})=>{var n;const s=(n=i.skipTypes)!==null&&n!==void 0?n:[];return Object.keys(e).reduce((o,r)=>(o[r]=G1(r,t,e,s),o),{})},G1=(t,e,i,n)=>{const s=e.find(a=>a.name===t),o=s==null?void 0:s.type,r=i[t];return o&&!n.includes(o)?dc(o,r):bo(r)},dc=(t,e)=>{if(t.charAt(0)==="_"){const i=t.slice(1,t.length);return Z1(e,i)}switch(t){case ue.bool:return K1(e);case ue.float4:case ue.float8:case ue.int2:case ue.int4:case ue.int8:case ue.numeric:case ue.oid:return W1(e);case ue.json:case ue.jsonb:return Y1(e);case ue.timestamp:return Q1(e);case ue.abstime:case ue.date:case ue.daterange:case ue.int4range:case ue.int8range:case ue.money:case ue.reltime:case ue.text:case ue.time:case ue.timestamptz:case ue.timetz:case ue.tsrange:case ue.tstzrange:return bo(e);default:return bo(e)}},bo=t=>t,K1=t=>{switch(t){case"t":return!0;case"f":return!1;default:return t}},W1=t=>{if(typeof t=="string"){const e=parseFloat(t);if(!Number.isNaN(e))return e}return t},Y1=t=>{if(typeof t=="string")try{return JSON.parse(t)}catch(e){return console.log(`JSON parse error: ${e}`),t}return t},Z1=(t,e)=>{if(typeof t!="string")return t;const i=t.length-1,n=t[i];if(t[0]==="{"&&n==="}"){let o;const r=t.slice(1,i);try{o=JSON.parse("["+r+"]")}catch{o=r?r.split(","):[]}return o.map(a=>dc(e,a))}return t},Q1=t=>typeof t=="string"?t.replace(" ","T"):t;var fa;(function(t){t.ALL="*",t.INSERT="INSERT",t.UPDATE="UPDATE",t.DELETE="DELETE"})(fa||(fa={}));var ga;(function(t){t.BROADCAST="broadcast",t.PRESENCE="presence",t.POSTGRES_CHANGES="postgres_changes"})(ga||(ga={}));var ya;(function(t){t.SUBSCRIBED="SUBSCRIBED",t.TIMED_OUT="TIMED_OUT",t.CLOSED="CLOSED",t.CHANNEL_ERROR="CHANNEL_ERROR"})(ya||(ya={}));class Go{constructor(e,i={config:{}},n){this.topic=e,this.params=i,this.socket=n,this.bindings={},this.state=Ne.closed,this.joinedOnce=!1,this.pushBuffer=[],this.subTopic=e.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:""}},i.config),this.timeout=this.socket.timeout,this.joinPush=new Is(this,tt.join,this.params,this.timeout),this.rejoinTimer=new lc(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=Ne.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(s=>s.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=Ne.closed,this.socket._remove(this)}),this._onError(s=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,s),this.state=Ne.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=Ne.errored,this.rejoinTimer.scheduleTimeout())}),this._on(tt.reply,{},(s,o)=>{this._trigger(this._replyEventName(o),s)}),this.presence=new Qi(this),this.broadcastEndpointURL=this._broadcastEndpointURL()}subscribe(e,i=this.timeout){var n,s;if(this.socket.isConnected()||this.socket.connect(),this.joinedOnce)throw"tried to subscribe multiple times. 'subscribe' can only be called a single time per channel instance";{const{config:{broadcast:o,presence:r}}=this.params;this._onError(c=>e&&e("CHANNEL_ERROR",c)),this._onClose(()=>e&&e("CLOSED"));const a={},u={broadcast:o,presence:r,postgres_changes:(s=(n=this.bindings.postgres_changes)===null||n===void 0?void 0:n.map(c=>c.filter))!==null&&s!==void 0?s:[]};this.socket.accessToken&&(a.access_token=this.socket.accessToken),this.updateJoinPayload(Object.assign({config:u},a)),this.joinedOnce=!0,this._rejoin(i),this.joinPush.receive("ok",({postgres_changes:c})=>{var l;if(this.socket.accessToken&&this.socket.setAuth(this.socket.accessToken),c===void 0){e&&e("SUBSCRIBED");return}else{const d=this.bindings.postgres_changes,h=(l=d==null?void 0:d.length)!==null&&l!==void 0?l:0,p=[];for(let y=0;y{e&&e("CHANNEL_ERROR",new Error(JSON.stringify(Object.values(c).join(", ")||"error")))}).receive("timeout",()=>{e&&e("TIMED_OUT")})}return this}presenceState(){return this.presence.state}async track(e,i={}){return await this.send({type:"presence",event:"track",payload:e},i.timeout||this.timeout)}async untrack(e={}){return await this.send({type:"presence",event:"untrack"},e)}on(e,i,n){return this._on(e,i,n)}async send(e,i={}){var n,s;if(!this._canPush()&&e.type==="broadcast"){const{event:o,payload:r}=e,a={method:"POST",headers:{apikey:(n=this.socket.accessToken)!==null&&n!==void 0?n:"","Content-Type":"application/json"},body:JSON.stringify({messages:[{topic:this.subTopic,event:o,payload:r}]})};try{return(await this._fetchWithTimeout(this.broadcastEndpointURL,a,(s=i.timeout)!==null&&s!==void 0?s:this.timeout)).ok?"ok":"error"}catch(u){return u.name==="AbortError"?"timed out":"error"}}else return new Promise(o=>{var r,a,u;const c=this._push(e.type,e,i.timeout||this.timeout);e.type==="broadcast"&&!(!((u=(a=(r=this.params)===null||r===void 0?void 0:r.config)===null||a===void 0?void 0:a.broadcast)===null||u===void 0)&&u.ack)&&o("ok"),c.receive("ok",()=>o("ok")),c.receive("timeout",()=>o("timed out"))})}updateJoinPayload(e){this.joinPush.updatePayload(e)}unsubscribe(e=this.timeout){this.state=Ne.leaving;const i=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(tt.close,"leave",this._joinRef())};return this.rejoinTimer.reset(),this.joinPush.destroy(),new Promise(n=>{const s=new Is(this,tt.leave,{},e);s.receive("ok",()=>{i(),n("ok")}).receive("timeout",()=>{i(),n("timed out")}).receive("error",()=>{n("error")}),s.send(),this._canPush()||s.trigger("ok",{})})}_broadcastEndpointURL(){let e=this.socket.endPoint;return e=e.replace(/^ws/i,"http"),e=e.replace(/(\/socket\/websocket|\/socket|\/websocket)\/?$/i,""),e.replace(/\/+$/,"")+"/api/broadcast"}async _fetchWithTimeout(e,i,n){const s=new AbortController,o=setTimeout(()=>s.abort(),n),r=await this.socket.fetch(e,Object.assign(Object.assign({},i),{signal:s.signal}));return clearTimeout(o),r}_push(e,i,n=this.timeout){if(!this.joinedOnce)throw`tried to push '${e}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let s=new Is(this,e,i,n);return this._canPush()?s.send():(s.startTimeout(),this.pushBuffer.push(s)),s}_onMessage(e,i,n){return i}_isMember(e){return this.topic===e}_joinRef(){return this.joinPush.ref}_trigger(e,i,n){var s,o;const r=e.toLocaleLowerCase(),{close:a,error:u,leave:c,join:l}=tt;if(n&&[a,u,c,l].indexOf(r)>=0&&n!==this._joinRef())return;let h=this._onMessage(r,i,n);if(i&&!h)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(r)?(s=this.bindings.postgres_changes)===null||s===void 0||s.filter(p=>{var y,g,v;return((y=p.filter)===null||y===void 0?void 0:y.event)==="*"||((v=(g=p.filter)===null||g===void 0?void 0:g.event)===null||v===void 0?void 0:v.toLocaleLowerCase())===r}).map(p=>p.callback(h,n)):(o=this.bindings[r])===null||o===void 0||o.filter(p=>{var y,g,v,A,O,L;if(["broadcast","presence","postgres_changes"].includes(r))if("id"in p){const R=p.id,K=(y=p.filter)===null||y===void 0?void 0:y.event;return R&&((g=i.ids)===null||g===void 0?void 0:g.includes(R))&&(K==="*"||(K==null?void 0:K.toLocaleLowerCase())===((v=i.data)===null||v===void 0?void 0:v.type.toLocaleLowerCase()))}else{const R=(O=(A=p==null?void 0:p.filter)===null||A===void 0?void 0:A.event)===null||O===void 0?void 0:O.toLocaleLowerCase();return R==="*"||R===((L=i==null?void 0:i.event)===null||L===void 0?void 0:L.toLocaleLowerCase())}else return p.type.toLocaleLowerCase()===r}).map(p=>{if(typeof h=="object"&&"ids"in h){const y=h.data,{schema:g,table:v,commit_timestamp:A,type:O,errors:L}=y;h=Object.assign(Object.assign({},{schema:g,table:v,commit_timestamp:A,eventType:O,new:{},old:{},errors:L}),this._getPayloadRecords(y))}p.callback(h,n)})}_isClosed(){return this.state===Ne.closed}_isJoined(){return this.state===Ne.joined}_isJoining(){return this.state===Ne.joining}_isLeaving(){return this.state===Ne.leaving}_replyEventName(e){return`chan_reply_${e}`}_on(e,i,n){const s=e.toLocaleLowerCase(),o={type:s,filter:i,callback:n};return this.bindings[s]?this.bindings[s].push(o):this.bindings[s]=[o],this}_off(e,i){const n=e.toLocaleLowerCase();return this.bindings[n]=this.bindings[n].filter(s=>{var o;return!(((o=s.type)===null||o===void 0?void 0:o.toLocaleLowerCase())===n&&Go.isEqual(s.filter,i))}),this}static isEqual(e,i){if(Object.keys(e).length!==Object.keys(i).length)return!1;for(const n in e)if(e[n]!==i[n])return!1;return!0}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(e){this._on(tt.close,{},e)}_onError(e){this._on(tt.error,{},i=>e(i))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(e=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=Ne.joining,this.joinPush.resend(e))}_getPayloadRecords(e){const i={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(i.new=pa(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(i.old=pa(e.columns,e.old_record)),i}}const X1=()=>{},eg=typeof WebSocket<"u";class tg{constructor(e,i){var n;this.accessToken=null,this.channels=[],this.endPoint="",this.headers=U1,this.params={},this.timeout=cc,this.heartbeatIntervalMs=3e4,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.ref=0,this.logger=X1,this.conn=null,this.sendBuffer=[],this.serializer=new J1,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this._resolveFetch=o=>{let r;return o?r=o:typeof fetch>"u"?r=(...a)=>Ei(()=>Promise.resolve().then(()=>mn),void 0).then(({default:u})=>u(...a)):r=fetch,(...a)=>r(...a)},this.endPoint=`${e}/${ho.websocket}`,i!=null&&i.transport?this.transport=i.transport:this.transport=null,i!=null&&i.params&&(this.params=i.params),i!=null&&i.headers&&(this.headers=Object.assign(Object.assign({},this.headers),i.headers)),i!=null&&i.timeout&&(this.timeout=i.timeout),i!=null&&i.logger&&(this.logger=i.logger),i!=null&&i.heartbeatIntervalMs&&(this.heartbeatIntervalMs=i.heartbeatIntervalMs);const s=(n=i==null?void 0:i.params)===null||n===void 0?void 0:n.apikey;s&&(this.accessToken=s),this.reconnectAfterMs=i!=null&&i.reconnectAfterMs?i.reconnectAfterMs:o=>[1e3,2e3,5e3,1e4][o-1]||1e4,this.encode=i!=null&&i.encode?i.encode:(o,r)=>r(JSON.stringify(o)),this.decode=i!=null&&i.decode?i.decode:this.serializer.decode.bind(this.serializer),this.reconnectTimer=new lc(async()=>{this.disconnect(),this.connect()},this.reconnectAfterMs),this.fetch=this._resolveFetch(i==null?void 0:i.fetch)}connect(){if(!this.conn){if(this.transport){this.conn=new this.transport(this._endPointURL(),void 0,{headers:this.headers});return}if(eg){this.conn=new WebSocket(this._endPointURL()),this.setupConnection();return}this.conn=new ig(this._endPointURL(),void 0,{close:()=>{this.conn=null}}),Ei(()=>import("./browser.js").then(e=>e.b),[]).then(({default:e})=>{this.conn=new e(this._endPointURL(),void 0,{headers:this.headers}),this.setupConnection()})}}disconnect(e,i){this.conn&&(this.conn.onclose=function(){},e?this.conn.close(e,i??""):this.conn.close(),this.conn=null,this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.reset())}getChannels(){return this.channels}async removeChannel(e){const i=await e.unsubscribe();return this.channels.length===0&&this.disconnect(),i}async removeAllChannels(){const e=await Promise.all(this.channels.map(i=>i.unsubscribe()));return this.disconnect(),e}log(e,i,n){this.logger(e,i,n)}connectionState(){switch(this.conn&&this.conn.readyState){case _i.connecting:return Gt.Connecting;case _i.open:return Gt.Open;case _i.closing:return Gt.Closing;default:return Gt.Closed}}isConnected(){return this.connectionState()===Gt.Open}channel(e,i={config:{}}){const n=new Go(`realtime:${e}`,i,this);return this.channels.push(n),n}push(e){const{topic:i,event:n,payload:s,ref:o}=e,r=()=>{this.encode(e,a=>{var u;(u=this.conn)===null||u===void 0||u.send(a)})};this.log("push",`${i} ${n} (${o})`,s),this.isConnected()?r():this.sendBuffer.push(r)}setAuth(e){this.accessToken=e,this.channels.forEach(i=>{e&&i.updateJoinPayload({access_token:e}),i.joinedOnce&&i._isJoined()&&i._push(tt.access_token,{access_token:e})})}_makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}_leaveOpenTopic(e){let i=this.channels.find(n=>n.topic===e&&(n._isJoined()||n._isJoining()));i&&(this.log("transport",`leaving duplicate topic "${e}"`),i.unsubscribe())}_remove(e){this.channels=this.channels.filter(i=>i._joinRef()!==e._joinRef())}setupConnection(){this.conn&&(this.conn.binaryType="arraybuffer",this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=e=>this._onConnError(e),this.conn.onmessage=e=>this._onConnMessage(e),this.conn.onclose=e=>this._onConnClose(e))}_endPointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:H1}))}_onConnMessage(e){this.decode(e.data,i=>{let{topic:n,event:s,payload:o,ref:r}=i;(r&&r===this.pendingHeartbeatRef||s===(o==null?void 0:o.type))&&(this.pendingHeartbeatRef=null),this.log("receive",`${o.status||""} ${n} ${s} ${r&&"("+r+")"||""}`,o),this.channels.filter(a=>a._isMember(n)).forEach(a=>a._trigger(s,o,r)),this.stateChangeCallbacks.message.forEach(a=>a(i))})}_onConnOpen(){this.log("transport",`connected to ${this._endPointURL()}`),this._flushSendBuffer(),this.reconnectTimer.reset(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this._sendHeartbeat(),this.heartbeatIntervalMs),this.stateChangeCallbacks.open.forEach(e=>e())}_onConnClose(e){this.log("transport","close",e),this._triggerChanError(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.scheduleTimeout(),this.stateChangeCallbacks.close.forEach(i=>i(e))}_onConnError(e){this.log("transport",e.message),this._triggerChanError(),this.stateChangeCallbacks.error.forEach(i=>i(e))}_triggerChanError(){this.channels.forEach(e=>e._trigger(tt.error))}_appendParams(e,i){if(Object.keys(i).length===0)return e;const n=e.match(/\?/)?"&":"?",s=new URLSearchParams(i);return`${e}${n}${s}`}_flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}_sendHeartbeat(){var e;if(this.isConnected()){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection"),(e=this.conn)===null||e===void 0||e.close(V1,"hearbeat timeout");return}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef}),this.setAuth(this.accessToken)}}}class ig{constructor(e,i,n){this.binaryType="arraybuffer",this.onclose=()=>{},this.onerror=()=>{},this.onmessage=()=>{},this.onopen=()=>{},this.readyState=_i.connecting,this.send=()=>{},this.url=null,this.url=e,this.close=n.close}}class Ko extends Error{constructor(e){super(e),this.__isStorageError=!0,this.name="StorageError"}}function je(t){return typeof t=="object"&&t!==null&&"__isStorageError"in t}class ng extends Ko{constructor(e,i){super(e),this.name="StorageApiError",this.status=i}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class va extends Ko{constructor(e,i){super(e),this.name="StorageUnknownError",this.originalError=i}}var sg=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};const mc=t=>{let e;return t?e=t:typeof fetch>"u"?e=(...i)=>Ei(()=>Promise.resolve().then(()=>mn),void 0).then(({default:n})=>n(...i)):e=fetch,(...i)=>e(...i)},og=()=>sg(void 0,void 0,void 0,function*(){return typeof Response>"u"?(yield Ei(()=>Promise.resolve().then(()=>mn),void 0)).Response:Response});var Pi=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};const qs=t=>t.msg||t.message||t.error_description||t.error||JSON.stringify(t),rg=(t,e)=>Pi(void 0,void 0,void 0,function*(){const i=yield og();t instanceof i?t.json().then(n=>{e(new ng(qs(n),t.status||500))}).catch(n=>{e(new va(qs(n),n))}):e(new va(qs(t),t))}),ag=(t,e,i,n)=>{const s={method:t,headers:(e==null?void 0:e.headers)||{}};return t==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json"},e==null?void 0:e.headers),s.body=JSON.stringify(n),Object.assign(Object.assign({},s),i))};function ds(t,e,i,n,s,o){return Pi(this,void 0,void 0,function*(){return new Promise((r,a)=>{t(i,ag(e,n,s,o)).then(u=>{if(!u.ok)throw u;return n!=null&&n.noResolveJson?u:u.json()}).then(u=>r(u)).catch(u=>rg(u,a))})})}function po(t,e,i,n){return Pi(this,void 0,void 0,function*(){return ds(t,"GET",e,i,n)})}function zt(t,e,i,n,s){return Pi(this,void 0,void 0,function*(){return ds(t,"POST",e,n,s,i)})}function ug(t,e,i,n,s){return Pi(this,void 0,void 0,function*(){return ds(t,"PUT",e,n,s,i)})}function hc(t,e,i,n,s){return Pi(this,void 0,void 0,function*(){return ds(t,"DELETE",e,n,s,i)})}var Je=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};const cg={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},wa={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class lg{constructor(e,i={},n,s){this.url=e,this.headers=i,this.bucketId=n,this.fetch=mc(s)}uploadOrUpdate(e,i,n,s){return Je(this,void 0,void 0,function*(){try{let o;const r=Object.assign(Object.assign({},wa),s),a=Object.assign(Object.assign({},this.headers),e==="POST"&&{"x-upsert":String(r.upsert)});typeof Blob<"u"&&n instanceof Blob?(o=new FormData,o.append("cacheControl",r.cacheControl),o.append("",n)):typeof FormData<"u"&&n instanceof FormData?(o=n,o.append("cacheControl",r.cacheControl)):(o=n,a["cache-control"]=`max-age=${r.cacheControl}`,a["content-type"]=r.contentType);const u=this._removeEmptyFolders(i),c=this._getFinalPath(u),l=yield this.fetch(`${this.url}/object/${c}`,Object.assign({method:e,body:o,headers:a},r!=null&&r.duplex?{duplex:r.duplex}:{})),d=yield l.json();return l.ok?{data:{path:u,id:d.Id,fullPath:d.Key},error:null}:{data:null,error:d}}catch(o){if(je(o))return{data:null,error:o};throw o}})}upload(e,i,n){return Je(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",e,i,n)})}uploadToSignedUrl(e,i,n,s){return Je(this,void 0,void 0,function*(){const o=this._removeEmptyFolders(e),r=this._getFinalPath(o),a=new URL(this.url+`/object/upload/sign/${r}`);a.searchParams.set("token",i);try{let u;const c=Object.assign({upsert:wa.upsert},s),l=Object.assign(Object.assign({},this.headers),{"x-upsert":String(c.upsert)});typeof Blob<"u"&&n instanceof Blob?(u=new FormData,u.append("cacheControl",c.cacheControl),u.append("",n)):typeof FormData<"u"&&n instanceof FormData?(u=n,u.append("cacheControl",c.cacheControl)):(u=n,l["cache-control"]=`max-age=${c.cacheControl}`,l["content-type"]=c.contentType);const d=yield this.fetch(a.toString(),{method:"PUT",body:u,headers:l}),h=yield d.json();return d.ok?{data:{path:o,fullPath:h.Key},error:null}:{data:null,error:h}}catch(u){if(je(u))return{data:null,error:u};throw u}})}createSignedUploadUrl(e){return Je(this,void 0,void 0,function*(){try{let i=this._getFinalPath(e);const n=yield zt(this.fetch,`${this.url}/object/upload/sign/${i}`,{},{headers:this.headers}),s=new URL(this.url+n.url),o=s.searchParams.get("token");if(!o)throw new Ko("No token returned by API");return{data:{signedUrl:s.toString(),path:e,token:o},error:null}}catch(i){if(je(i))return{data:null,error:i};throw i}})}update(e,i,n){return Je(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",e,i,n)})}move(e,i){return Je(this,void 0,void 0,function*(){try{return{data:yield zt(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:e,destinationKey:i},{headers:this.headers}),error:null}}catch(n){if(je(n))return{data:null,error:n};throw n}})}copy(e,i){return Je(this,void 0,void 0,function*(){try{return{data:{path:(yield zt(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:e,destinationKey:i},{headers:this.headers})).Key},error:null}}catch(n){if(je(n))return{data:null,error:n};throw n}})}createSignedUrl(e,i,n){return Je(this,void 0,void 0,function*(){try{let s=this._getFinalPath(e),o=yield zt(this.fetch,`${this.url}/object/sign/${s}`,Object.assign({expiresIn:i},n!=null&&n.transform?{transform:n.transform}:{}),{headers:this.headers});const r=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return o={signedUrl:encodeURI(`${this.url}${o.signedURL}${r}`)},{data:o,error:null}}catch(s){if(je(s))return{data:null,error:s};throw s}})}createSignedUrls(e,i,n){return Je(this,void 0,void 0,function*(){try{const s=yield zt(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:i,paths:e},{headers:this.headers}),o=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return{data:s.map(r=>Object.assign(Object.assign({},r),{signedUrl:r.signedURL?encodeURI(`${this.url}${r.signedURL}${o}`):null})),error:null}}catch(s){if(je(s))return{data:null,error:s};throw s}})}download(e,i){return Je(this,void 0,void 0,function*(){const s=typeof(i==null?void 0:i.transform)<"u"?"render/image/authenticated":"object",o=this.transformOptsToQueryString((i==null?void 0:i.transform)||{}),r=o?`?${o}`:"";try{const a=this._getFinalPath(e);return{data:yield(yield po(this.fetch,`${this.url}/${s}/${a}${r}`,{headers:this.headers,noResolveJson:!0})).blob(),error:null}}catch(a){if(je(a))return{data:null,error:a};throw a}})}getPublicUrl(e,i){const n=this._getFinalPath(e),s=[],o=i!=null&&i.download?`download=${i.download===!0?"":i.download}`:"";o!==""&&s.push(o);const a=typeof(i==null?void 0:i.transform)<"u"?"render/image":"object",u=this.transformOptsToQueryString((i==null?void 0:i.transform)||{});u!==""&&s.push(u);let c=s.join("&");return c!==""&&(c=`?${c}`),{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${n}${c}`)}}}remove(e){return Je(this,void 0,void 0,function*(){try{return{data:yield hc(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:e},{headers:this.headers}),error:null}}catch(i){if(je(i))return{data:null,error:i};throw i}})}list(e,i,n){return Je(this,void 0,void 0,function*(){try{const s=Object.assign(Object.assign(Object.assign({},cg),i),{prefix:e||""});return{data:yield zt(this.fetch,`${this.url}/object/list/${this.bucketId}`,s,{headers:this.headers},n),error:null}}catch(s){if(je(s))return{data:null,error:s};throw s}})}_getFinalPath(e){return`${this.bucketId}/${e}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(e){const i=[];return e.width&&i.push(`width=${e.width}`),e.height&&i.push(`height=${e.height}`),e.resize&&i.push(`resize=${e.resize}`),e.format&&i.push(`format=${e.format}`),e.quality&&i.push(`quality=${e.quality}`),i.join("&")}}const dg="2.5.5",mg={"X-Client-Info":`storage-js/${dg}`};var ri=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};class hg{constructor(e,i={},n){this.url=e,this.headers=Object.assign(Object.assign({},mg),i),this.fetch=mc(n)}listBuckets(){return ri(this,void 0,void 0,function*(){try{return{data:yield po(this.fetch,`${this.url}/bucket`,{headers:this.headers}),error:null}}catch(e){if(je(e))return{data:null,error:e};throw e}})}getBucket(e){return ri(this,void 0,void 0,function*(){try{return{data:yield po(this.fetch,`${this.url}/bucket/${e}`,{headers:this.headers}),error:null}}catch(i){if(je(i))return{data:null,error:i};throw i}})}createBucket(e,i={public:!1}){return ri(this,void 0,void 0,function*(){try{return{data:yield zt(this.fetch,`${this.url}/bucket`,{id:e,name:e,public:i.public,file_size_limit:i.fileSizeLimit,allowed_mime_types:i.allowedMimeTypes},{headers:this.headers}),error:null}}catch(n){if(je(n))return{data:null,error:n};throw n}})}updateBucket(e,i){return ri(this,void 0,void 0,function*(){try{return{data:yield ug(this.fetch,`${this.url}/bucket/${e}`,{id:e,name:e,public:i.public,file_size_limit:i.fileSizeLimit,allowed_mime_types:i.allowedMimeTypes},{headers:this.headers}),error:null}}catch(n){if(je(n))return{data:null,error:n};throw n}})}emptyBucket(e){return ri(this,void 0,void 0,function*(){try{return{data:yield zt(this.fetch,`${this.url}/bucket/${e}/empty`,{},{headers:this.headers}),error:null}}catch(i){if(je(i))return{data:null,error:i};throw i}})}deleteBucket(e){return ri(this,void 0,void 0,function*(){try{return{data:yield hc(this.fetch,`${this.url}/bucket/${e}`,{},{headers:this.headers}),error:null}}catch(i){if(je(i))return{data:null,error:i};throw i}})}}class bg extends hg{constructor(e,i={},n){super(e,i,n)}from(e){return new lg(this.url,this.headers,e,this.fetch)}}const pg="2.39.2";let Vi="";typeof Deno<"u"?Vi="deno":typeof document<"u"?Vi="web":typeof navigator<"u"&&navigator.product==="ReactNative"?Vi="react-native":Vi="node";const fg={"X-Client-Info":`supabase-js-${Vi}/${pg}`};var gg=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};const yg=t=>{let e;return t?e=t:typeof fetch>"u"?e=Vo:e=fetch,(...i)=>e(...i)},vg=()=>typeof Headers>"u"?uc:Headers,wg=(t,e,i)=>{const n=yg(i),s=vg();return(o,r)=>gg(void 0,void 0,void 0,function*(){var a;const u=(a=yield e())!==null&&a!==void 0?a:t;let c=new s(r==null?void 0:r.headers);return c.has("apikey")||c.set("apikey",t),c.has("Authorization")||c.set("Authorization",`Bearer ${u}`),n(o,Object.assign(Object.assign({},r),{headers:c}))})};function xg(t){return t.replace(/\/$/,"")}function _g(t,e){const{db:i,auth:n,realtime:s,global:o}=t,{db:r,auth:a,realtime:u,global:c}=e;return{db:Object.assign(Object.assign({},r),i),auth:Object.assign(Object.assign({},a),n),realtime:Object.assign(Object.assign({},u),s),global:Object.assign(Object.assign({},c),o)}}function kg(t){return Math.round(Date.now()/1e3)+t}function Ag(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const e=Math.random()*16|0;return(t=="x"?e:e&3|8).toString(16)})}const Xe=()=>typeof document<"u",Ft={tested:!1,writable:!1},Xi=()=>{if(!Xe())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(Ft.tested)return Ft.writable;const t=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(t,t),globalThis.localStorage.removeItem(t),Ft.tested=!0,Ft.writable=!0}catch{Ft.tested=!0,Ft.writable=!1}return Ft.writable};function Ms(t){const e={},i=new URL(t);if(i.hash&&i.hash[0]==="#")try{new URLSearchParams(i.hash.substring(1)).forEach((s,o)=>{e[o]=s})}catch{}return i.searchParams.forEach((n,s)=>{e[s]=n}),e}const bc=t=>{let e;return t?e=t:typeof fetch>"u"?e=(...i)=>Ei(()=>Promise.resolve().then(()=>mn),void 0).then(({default:n})=>n(...i)):e=fetch,(...i)=>e(...i)},Sg=t=>typeof t=="object"&&t!==null&&"status"in t&&"ok"in t&&"json"in t&&typeof t.json=="function",Ut=async(t,e,i)=>{await t.setItem(e,JSON.stringify(i))},Sn=async(t,e)=>{const i=await t.getItem(e);if(!i)return null;try{return JSON.parse(i)}catch{return i}},Ds=async(t,e)=>{await t.removeItem(e)};function Cg(t){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let i="",n,s,o,r,a,u,c,l=0;for(t=t.replace("-","+").replace("_","/");l>4,s=(a&15)<<4|u>>2,o=(u&3)<<6|c,i=i+String.fromCharCode(n),u!=64&&s!=0&&(i=i+String.fromCharCode(s)),c!=64&&o!=0&&(i=i+String.fromCharCode(o));return i}class ms{constructor(){this.promise=new ms.promiseConstructor((e,i)=>{this.resolve=e,this.reject=i})}}ms.promiseConstructor=Promise;function xa(t){const e=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}=?$|[a-z0-9_-]{2}(==)?$)$/i,i=t.split(".");if(i.length!==3)throw new Error("JWT is not valid: not a JWT structure");if(!e.test(i[1]))throw new Error("JWT is not valid: payload is not in base64url format");const n=i[1];return JSON.parse(Cg(n))}async function jg(t){return await new Promise(e=>{setTimeout(()=>e(null),t)})}function Eg(t,e){return new Promise((n,s)=>{(async()=>{for(let o=0;o<1/0;o++)try{const r=await t(o);if(!e(o,null,r)){n(r);return}}catch(r){if(!e(o,r)){s(r);return}}})()})}function Tg(t){return("0"+t.toString(16)).substr(-2)}function ai(){const e=new Uint32Array(56);if(typeof crypto>"u"){const i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",n=i.length;let s="";for(let o=0;o<56;o++)s+=i.charAt(Math.floor(Math.random()*n));return s}return crypto.getRandomValues(e),Array.from(e,Tg).join("")}async function zg(t){const i=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",i),s=new Uint8Array(n);return Array.from(s).map(o=>String.fromCharCode(o)).join("")}function Og(t){return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function ui(t){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),t;const i=await zg(t);return Og(i)}class Wo extends Error{constructor(e,i){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=i}}function Y(t){return typeof t=="object"&&t!==null&&"__isAuthError"in t}class Rg extends Wo{constructor(e,i){super(e,i),this.name="AuthApiError",this.status=i}toJSON(){return{name:this.name,message:this.message,status:this.status}}}function Pg(t){return Y(t)&&t.name==="AuthApiError"}class pc extends Wo{constructor(e,i){super(e),this.name="AuthUnknownError",this.originalError=i}}class ii extends Wo{constructor(e,i,n){super(e),this.name=i,this.status=n}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class ci extends ii{constructor(){super("Auth session missing!","AuthSessionMissingError",400)}}class Ns extends ii{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500)}}class Cn extends ii{constructor(e){super(e,"AuthInvalidCredentialsError",400)}}class jn extends ii{constructor(e,i=null){super(e,"AuthImplicitGrantRedirectError",500),this.details=null,this.details=i}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class _a extends ii{constructor(e,i=null){super(e,"AuthPKCEGrantCodeExchangeError",500),this.details=null,this.details=i}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class fo extends ii{constructor(e,i){super(e,"AuthRetryableFetchError",i)}}function Fs(t){return Y(t)&&t.name==="AuthRetryableFetchError"}class $g extends ii{constructor(e,i,n){super(e,"AuthWeakPasswordError",i),this.reasons=n}}var Lg=globalThis&&globalThis.__rest||function(t,e){var i={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(i[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(t);st.msg||t.message||t.error_description||t.error||JSON.stringify(t),Bg=[502,503,504];async function ka(t){if(!Sg(t))throw new fo(bi(t),0);if(Bg.includes(t.status))throw new fo(bi(t),t.status);let e;try{e=await t.json()}catch(i){throw new pc(bi(i),i)}throw typeof e=="object"&&e&&typeof e.weak_password=="object"&&e.weak_password&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.reasons.reduce((i,n)=>i&&typeof n=="string",!0)?new $g(bi(e),t.status,e.weak_password.reasons):new Rg(bi(e),t.status||500)}const Ig=(t,e,i,n)=>{const s={method:t,headers:(e==null?void 0:e.headers)||{}};return t==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},e==null?void 0:e.headers),s.body=JSON.stringify(n),Object.assign(Object.assign({},s),i))};async function Z(t,e,i,n){var s;const o=Object.assign({},n==null?void 0:n.headers);n!=null&&n.jwt&&(o.Authorization=`Bearer ${n.jwt}`);const r=(s=n==null?void 0:n.query)!==null&&s!==void 0?s:{};n!=null&&n.redirectTo&&(r.redirect_to=n.redirectTo);const a=Object.keys(r).length?"?"+new URLSearchParams(r).toString():"",u=await qg(t,e,i+a,{headers:o,noResolveJson:n==null?void 0:n.noResolveJson},{},n==null?void 0:n.body);return n!=null&&n.xform?n==null?void 0:n.xform(u):{data:Object.assign({},u),error:null}}async function qg(t,e,i,n,s,o){const r=Ig(e,n,s,o);let a;try{a=await t(i,r)}catch(u){throw console.error(u),new fo(bi(u),0)}if(a.ok||await ka(a),n!=null&&n.noResolveJson)return a;try{return await a.json()}catch(u){await ka(u)}}function Ht(t){var e;let i=null;Fg(t)&&(i=Object.assign({},t),t.expires_at||(i.expires_at=kg(t.expires_in)));const n=(e=t.user)!==null&&e!==void 0?e:t;return{data:{session:i,user:n},error:null}}function Aa(t){const e=Ht(t);return!e.error&&t.weak_password&&typeof t.weak_password=="object"&&Array.isArray(t.weak_password.reasons)&&t.weak_password.reasons.length&&t.weak_password.message&&typeof t.weak_password.message=="string"&&t.weak_password.reasons.reduce((i,n)=>i&&typeof n=="string",!0)&&(e.data.weak_password=t.weak_password),e}function Ot(t){var e;return{data:{user:(e=t.user)!==null&&e!==void 0?e:t},error:null}}function Mg(t){return{data:t,error:null}}function Dg(t){const{action_link:e,email_otp:i,hashed_token:n,redirect_to:s,verification_type:o}=t,r=Lg(t,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),a={action_link:e,email_otp:i,hashed_token:n,redirect_to:s,verification_type:o},u=Object.assign({},r);return{data:{properties:a,user:u},error:null}}function Ng(t){return t}function Fg(t){return t.access_token&&t.refresh_token&&t.expires_in}var Ug=globalThis&&globalThis.__rest||function(t,e){var i={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(i[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(t);s0&&(p.forEach(y=>{const g=parseInt(y.split(";")[0].split("=")[1].substring(0,1)),v=JSON.parse(y.split(";")[1].split("=")[1]);c[`${v}Page`]=g}),c.total=parseInt(h)),{data:Object.assign(Object.assign({},d),c),error:null}}catch(c){if(Y(c))return{data:{users:[]},error:c};throw c}}async getUserById(e){try{return await Z(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:Ot})}catch(i){if(Y(i))return{data:{user:null},error:i};throw i}}async updateUserById(e,i){try{return await Z(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:i,headers:this.headers,xform:Ot})}catch(n){if(Y(n))return{data:{user:null},error:n};throw n}}async deleteUser(e,i=!1){try{return await Z(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:i},xform:Ot})}catch(n){if(Y(n))return{data:{user:null},error:n};throw n}}async _listFactors(e){try{const{data:i,error:n}=await Z(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:s=>({data:{factors:s},error:null})});return{data:i,error:n}}catch(i){if(Y(i))return{data:null,error:i};throw i}}async _deleteFactor(e){try{return{data:await Z(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(i){if(Y(i))return{data:null,error:i};throw i}}}const fc="2.62.0",Vg="http://localhost:9999",Jg="supabase.auth.token",Gg={"X-Client-Info":`gotrue-js/${fc}`},Sa=10,Kg={getItem:t=>Xi()?globalThis.localStorage.getItem(t):null,setItem:(t,e)=>{Xi()&&globalThis.localStorage.setItem(t,e)},removeItem:t=>{Xi()&&globalThis.localStorage.removeItem(t)}};function Ca(t={}){return{getItem:e=>t[e]||null,setItem:(e,i)=>{t[e]=i},removeItem:e=>{delete t[e]}}}function Wg(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}const li={debug:!!(globalThis&&Xi()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class gc extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}}class Yg extends gc{}async function Zg(t,e,i){li.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",t,e);const n=new globalThis.AbortController;return e>0&&setTimeout(()=>{n.abort(),li.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",t)},e),await globalThis.navigator.locks.request(t,e===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:n.signal},async s=>{if(s){li.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",t,s.name);try{return await i()}finally{li.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",t,s.name)}}else{if(e===0)throw li.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",t),new Yg(`Acquiring an exclusive Navigator LockManager lock "${t}" immediately failed`);if(li.debug)try{const o=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(o,null," "))}catch(o){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",o)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),await i()}})}Wg();const Qg={url:Vg,storageKey:Jg,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:Gg,flowType:"implicit",debug:!1},Ui=30*1e3,ja=3;async function Ea(t,e,i){return await i()}class cn{constructor(e){var i,n;this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log,this.instanceID=cn.nextInstanceID,cn.nextInstanceID+=1,this.instanceID>0&&Xe()&&console.warn("Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.");const s=Object.assign(Object.assign({},Qg),e);if(this.logDebugMessages=!!s.debug,typeof s.debug=="function"&&(this.logger=s.debug),this.persistSession=s.persistSession,this.storageKey=s.storageKey,this.autoRefreshToken=s.autoRefreshToken,this.admin=new Hg({url:s.url,headers:s.headers,fetch:s.fetch}),this.url=s.url,this.headers=s.headers,this.fetch=bc(s.fetch),this.lock=s.lock||Ea,this.detectSessionInUrl=s.detectSessionInUrl,this.flowType=s.flowType,s.lock?this.lock=s.lock:Xe()&&(!((i=globalThis==null?void 0:globalThis.navigator)===null||i===void 0)&&i.locks)?this.lock=Zg:this.lock=Ea,this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this)},this.persistSession?s.storage?this.storage=s.storage:Xi()?this.storage=Kg:(this.memoryStorage={},this.storage=Ca(this.memoryStorage)):(this.memoryStorage={},this.storage=Ca(this.memoryStorage)),Xe()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(o){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",o)}(n=this.broadcastChannel)===null||n===void 0||n.addEventListener("message",async o=>{this._debug("received broadcast notification from other tab or client",o),await this._notifyAllSubscribers(o.data.event,o.data.session,!1)})}this.initialize()}_debug(...e){return this.logDebugMessages&&this.logger(`GoTrueClient@${this.instanceID} (${fc}) ${new Date().toISOString()}`,...e),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>await this._acquireLock(-1,async()=>await this._initialize()))(),await this.initializePromise)}async _initialize(){try{const e=Xe()?await this._isPKCEFlow():!1;if(this._debug("#_initialize()","begin","is PKCE flow",e),e||this.detectSessionInUrl&&this._isImplicitGrantFlow()){const{data:i,error:n}=await this._getSessionFromURL(e);if(n)return this._debug("#_initialize()","error detecting session from URL",n),(n==null?void 0:n.message)==="Identity is already linked"||(n==null?void 0:n.message)==="Identity is already linked to another user"?{error:n}:(await this._removeSession(),{error:n});const{session:s,redirectType:o}=i;return this._debug("#_initialize()","detected session in URL",s,"redirect type",o),await this._saveSession(s),setTimeout(async()=>{o==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",s):await this._notifyAllSubscribers("SIGNED_IN",s)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(e){return Y(e)?{error:e}:{error:new pc("Unexpected error during initialization",e)}}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signUp(e){var i,n,s;try{await this._removeSession();let o;if("email"in e){const{email:l,password:d,options:h}=e;let p=null,y=null;if(this.flowType==="pkce"){const g=ai();await Ut(this.storage,`${this.storageKey}-code-verifier`,g),p=await ui(g),y=g===p?"plain":"s256"}o=await Z(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:h==null?void 0:h.emailRedirectTo,body:{email:l,password:d,data:(i=h==null?void 0:h.data)!==null&&i!==void 0?i:{},gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken},code_challenge:p,code_challenge_method:y},xform:Ht})}else if("phone"in e){const{phone:l,password:d,options:h}=e;o=await Z(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:l,password:d,data:(n=h==null?void 0:h.data)!==null&&n!==void 0?n:{},channel:(s=h==null?void 0:h.channel)!==null&&s!==void 0?s:"sms",gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken}},xform:Ht})}else throw new Cn("You must provide either an email or phone number and a password");const{data:r,error:a}=o;if(a||!r)return{data:{user:null,session:null},error:a};const u=r.session,c=r.user;return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers("SIGNED_IN",u)),{data:{user:c,session:u},error:null}}catch(o){if(Y(o))return{data:{user:null,session:null},error:o};throw o}}async signInWithPassword(e){try{await this._removeSession();let i;if("email"in e){const{email:o,password:r,options:a}=e;i=await Z(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:o,password:r,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},xform:Aa})}else if("phone"in e){const{phone:o,password:r,options:a}=e;i=await Z(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:o,password:r,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},xform:Aa})}else throw new Cn("You must provide either an email or phone number and a password");const{data:n,error:s}=i;return s?{data:{user:null,session:null},error:s}:!n||!n.session||!n.user?{data:{user:null,session:null},error:new Ns}:(n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers("SIGNED_IN",n.session)),{data:Object.assign({user:n.user,session:n.session},n.weak_password?{weakPassword:n.weak_password}:null),error:s})}catch(i){if(Y(i))return{data:{user:null,session:null},error:i};throw i}}async signInWithOAuth(e){var i,n,s,o;return await this._removeSession(),await this._handleProviderSignIn(e.provider,{redirectTo:(i=e.options)===null||i===void 0?void 0:i.redirectTo,scopes:(n=e.options)===null||n===void 0?void 0:n.scopes,queryParams:(s=e.options)===null||s===void 0?void 0:s.queryParams,skipBrowserRedirect:(o=e.options)===null||o===void 0?void 0:o.skipBrowserRedirect})}async exchangeCodeForSession(e){return await this.initializePromise,this._acquireLock(-1,async()=>this._exchangeCodeForSession(e))}async _exchangeCodeForSession(e){const i=await Sn(this.storage,`${this.storageKey}-code-verifier`),[n,s]=(i??"").split("/"),{data:o,error:r}=await Z(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:n},xform:Ht});return await Ds(this.storage,`${this.storageKey}-code-verifier`),r?{data:{user:null,session:null,redirectType:null},error:r}:!o||!o.session||!o.user?{data:{user:null,session:null,redirectType:null},error:new Ns}:(o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",o.session)),{data:Object.assign(Object.assign({},o),{redirectType:s??null}),error:r})}async signInWithIdToken(e){await this._removeSession();try{const{options:i,provider:n,token:s,access_token:o,nonce:r}=e,a=await Z(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:n,id_token:s,access_token:o,nonce:r,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}},xform:Ht}),{data:u,error:c}=a;return c?{data:{user:null,session:null},error:c}:!u||!u.session||!u.user?{data:{user:null,session:null},error:new Ns}:(u.session&&(await this._saveSession(u.session),await this._notifyAllSubscribers("SIGNED_IN",u.session)),{data:u,error:c})}catch(i){if(Y(i))return{data:{user:null,session:null},error:i};throw i}}async signInWithOtp(e){var i,n,s,o,r;try{if(await this._removeSession(),"email"in e){const{email:a,options:u}=e;let c=null,l=null;if(this.flowType==="pkce"){const h=ai();await Ut(this.storage,`${this.storageKey}-code-verifier`,h),c=await ui(h),l=h===c?"plain":"s256"}const{error:d}=await Z(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:a,data:(i=u==null?void 0:u.data)!==null&&i!==void 0?i:{},create_user:(n=u==null?void 0:u.shouldCreateUser)!==null&&n!==void 0?n:!0,gotrue_meta_security:{captcha_token:u==null?void 0:u.captchaToken},code_challenge:c,code_challenge_method:l},redirectTo:u==null?void 0:u.emailRedirectTo});return{data:{user:null,session:null},error:d}}if("phone"in e){const{phone:a,options:u}=e,{data:c,error:l}=await Z(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:a,data:(s=u==null?void 0:u.data)!==null&&s!==void 0?s:{},create_user:(o=u==null?void 0:u.shouldCreateUser)!==null&&o!==void 0?o:!0,gotrue_meta_security:{captcha_token:u==null?void 0:u.captchaToken},channel:(r=u==null?void 0:u.channel)!==null&&r!==void 0?r:"sms"}});return{data:{user:null,session:null,messageId:c==null?void 0:c.message_id},error:l}}throw new Cn("You must provide either an email or phone number.")}catch(a){if(Y(a))return{data:{user:null,session:null},error:a};throw a}}async verifyOtp(e){var i,n;try{e.type!=="email_change"&&e.type!=="phone_change"&&await this._removeSession();let s,o;"options"in e&&(s=(i=e.options)===null||i===void 0?void 0:i.redirectTo,o=(n=e.options)===null||n===void 0?void 0:n.captchaToken);const{data:r,error:a}=await Z(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:o}}),redirectTo:s,xform:Ht});if(a)throw a;if(!r)throw new Error("An error occurred on token verification.");const u=r.session,c=r.user;return u!=null&&u.access_token&&(await this._saveSession(u),await this._notifyAllSubscribers("SIGNED_IN",u)),{data:{user:c,session:u},error:null}}catch(s){if(Y(s))return{data:{user:null,session:null},error:s};throw s}}async signInWithSSO(e){var i,n,s;try{await this._removeSession();let o=null,r=null;if(this.flowType==="pkce"){const a=ai();await Ut(this.storage,`${this.storageKey}-code-verifier`,a),o=await ui(a),r=a===o?"plain":"s256"}return await Z(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:(n=(i=e.options)===null||i===void 0?void 0:i.redirectTo)!==null&&n!==void 0?n:void 0}),!((s=e==null?void 0:e.options)===null||s===void 0)&&s.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:o,code_challenge_method:r}),headers:this.headers,xform:Mg})}catch(o){if(Y(o))return{data:null,error:o};throw o}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async e=>{const{data:{session:i},error:n}=e;if(n)throw n;if(!i)throw new ci;const{error:s}=await Z(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:i.access_token});return{data:{user:null,session:null},error:s}})}catch(e){if(Y(e))return{data:{user:null,session:null},error:e};throw e}}async resend(e){try{e.type!="email_change"&&e.type!="phone_change"&&await this._removeSession();const i=`${this.url}/resend`;if("email"in e){const{email:n,type:s,options:o}=e,{error:r}=await Z(this.fetch,"POST",i,{headers:this.headers,body:{email:n,type:s,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},redirectTo:o==null?void 0:o.emailRedirectTo});return{data:{user:null,session:null},error:r}}else if("phone"in e){const{phone:n,type:s,options:o}=e,{data:r,error:a}=await Z(this.fetch,"POST",i,{headers:this.headers,body:{phone:n,type:s,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}}});return{data:{user:null,session:null,messageId:r==null?void 0:r.message_id},error:a}}throw new Cn("You must provide either an email or phone number and a type")}catch(i){if(Y(i))return{data:{user:null,session:null},error:i};throw i}}async getSession(){return await this.initializePromise,this._acquireLock(-1,async()=>this._useSession(async e=>e))}async _acquireLock(e,i){this._debug("#_acquireLock","begin",e);try{if(this.lockAcquired){const n=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),s=(async()=>(await n,await i()))();return this.pendingInLock.push((async()=>{try{await s}catch{}})()),s}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const n=i();for(this.pendingInLock.push((async()=>{try{await n}catch{}})()),await n;this.pendingInLock.length;){const s=[...this.pendingInLock];await Promise.all(s),this.pendingInLock.splice(0,s.length)}return await n}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(e){this._debug("#_useSession","begin");try{const i=await this.__loadSession();return await e(i)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let e=null;const i=await Sn(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",i),i!==null&&(this._isValidSession(i)?e=i:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!e)return{data:{session:null},error:null};const n=e.expires_at?e.expires_at<=Date.now()/1e3:!1;if(this._debug("#__loadSession()",`session has${n?"":" not"} expired`,"expires_at",e.expires_at),!n)return{data:{session:e},error:null};const{session:s,error:o}=await this._callRefreshToken(e.refresh_token);return o?{data:{session:null},error:o}:{data:{session:s},error:null}}finally{this._debug("#__loadSession()","end")}}async getUser(e){return e?await this._getUser(e):(await this.initializePromise,this._acquireLock(-1,async()=>await this._getUser()))}async _getUser(e){try{return e?await Z(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:Ot}):await this._useSession(async i=>{var n,s;const{data:o,error:r}=i;if(r)throw r;return await Z(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(s=(n=o.session)===null||n===void 0?void 0:n.access_token)!==null&&s!==void 0?s:void 0,xform:Ot})})}catch(i){if(Y(i))return{data:{user:null},error:i};throw i}}async updateUser(e,i={}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._updateUser(e,i))}async _updateUser(e,i={}){try{return await this._useSession(async n=>{const{data:s,error:o}=n;if(o)throw o;if(!s.session)throw new ci;const r=s.session;let a=null,u=null;if(this.flowType==="pkce"&&e.email!=null){const d=ai();await Ut(this.storage,`${this.storageKey}-code-verifier`,d),a=await ui(d),u=d===a?"plain":"s256"}const{data:c,error:l}=await Z(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:i==null?void 0:i.emailRedirectTo,body:Object.assign(Object.assign({},e),{code_challenge:a,code_challenge_method:u}),jwt:r.access_token,xform:Ot});if(l)throw l;return r.user=c.user,await this._saveSession(r),await this._notifyAllSubscribers("USER_UPDATED",r),{data:{user:r.user},error:null}})}catch(n){if(Y(n))return{data:{user:null},error:n};throw n}}_decodeJWT(e){return xa(e)}async setSession(e){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._setSession(e))}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new ci;const i=Date.now()/1e3;let n=i,s=!0,o=null;const r=xa(e.access_token);if(r.exp&&(n=r.exp,s=n<=i),s){const{session:a,error:u}=await this._callRefreshToken(e.refresh_token);if(u)return{data:{user:null,session:null},error:u};if(!a)return{data:{user:null,session:null},error:null};o=a}else{const{data:a,error:u}=await this._getUser(e.access_token);if(u)throw u;o={access_token:e.access_token,refresh_token:e.refresh_token,user:a.user,token_type:"bearer",expires_in:n-i,expires_at:n},await this._saveSession(o),await this._notifyAllSubscribers("SIGNED_IN",o)}return{data:{user:o.user,session:o},error:null}}catch(i){if(Y(i))return{data:{session:null,user:null},error:i};throw i}}async refreshSession(e){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._refreshSession(e))}async _refreshSession(e){try{return await this._useSession(async i=>{var n;if(!e){const{data:r,error:a}=i;if(a)throw a;e=(n=r.session)!==null&&n!==void 0?n:void 0}if(!(e!=null&&e.refresh_token))throw new ci;const{session:s,error:o}=await this._callRefreshToken(e.refresh_token);return o?{data:{user:null,session:null},error:o}:s?{data:{user:s.user,session:s},error:null}:{data:{user:null,session:null},error:null}})}catch(i){if(Y(i))return{data:{user:null,session:null},error:i};throw i}}async _getSessionFromURL(e){try{if(!Xe())throw new jn("No browser detected.");if(this.flowType==="implicit"&&!this._isImplicitGrantFlow())throw new jn("Not a valid implicit grant flow url.");if(this.flowType=="pkce"&&!e)throw new _a("Not a valid PKCE flow url.");const i=Ms(window.location.href);if(e){if(!i.code)throw new _a("No code detected.");const{data:O,error:L}=await this._exchangeCodeForSession(i.code);if(L)throw L;const R=new URL(window.location.href);return R.searchParams.delete("code"),window.history.replaceState(window.history.state,"",R.toString()),{data:{session:O.session,redirectType:null},error:null}}if(i.error||i.error_description||i.error_code)throw new jn(i.error_description||"Error in URL with unspecified error_description",{error:i.error||"unspecified_error",code:i.error_code||"unspecified_code"});const{provider_token:n,provider_refresh_token:s,access_token:o,refresh_token:r,expires_in:a,expires_at:u,token_type:c}=i;if(!o||!a||!r||!c)throw new jn("No session defined in URL");const l=Math.round(Date.now()/1e3),d=parseInt(a);let h=l+d;u&&(h=parseInt(u));const p=h-l;p*1e3<=Ui&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${p}s, should have been closer to ${d}s`);const y=h-d;l-y>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",y,h,l):l-y<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clok for skew",y,h,l);const{data:g,error:v}=await this._getUser(o);if(v)throw v;const A={provider_token:n,provider_refresh_token:s,access_token:o,expires_in:d,expires_at:h,refresh_token:r,token_type:c,user:g.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),{data:{session:A,redirectType:i.type},error:null}}catch(i){if(Y(i))return{data:{session:null,redirectType:null},error:i};throw i}}_isImplicitGrantFlow(){const e=Ms(window.location.href);return!!(Xe()&&(e.access_token||e.error_description))}async _isPKCEFlow(){const e=Ms(window.location.href),i=await Sn(this.storage,`${this.storageKey}-code-verifier`);return!!(e.code&&i)}async signOut(e={scope:"global"}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._signOut(e))}async _signOut({scope:e}={scope:"global"}){return await this._useSession(async i=>{var n;const{data:s,error:o}=i;if(o)return{error:o};const r=(n=s.session)===null||n===void 0?void 0:n.access_token;if(r){const{error:a}=await this.admin.signOut(r,e);if(a&&!(Pg(a)&&(a.status===404||a.status===401)))return{error:a}}return e!=="others"&&(await this._removeSession(),await Ds(this.storage,`${this.storageKey}-code-verifier`),await this._notifyAllSubscribers("SIGNED_OUT",null)),{error:null}})}onAuthStateChange(e){const i=Ag(),n={id:i,callback:e,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",i),this.stateChangeEmitters.delete(i)}};return this._debug("#onAuthStateChange()","registered callback with id",i),this.stateChangeEmitters.set(i,n),(async()=>(await this.initializePromise,await this._acquireLock(-1,async()=>{this._emitInitialSession(i)})))(),{data:{subscription:n}}}async _emitInitialSession(e){return await this._useSession(async i=>{var n,s;try{const{data:{session:o},error:r}=i;if(r)throw r;await((n=this.stateChangeEmitters.get(e))===null||n===void 0?void 0:n.callback("INITIAL_SESSION",o)),this._debug("INITIAL_SESSION","callback id",e,"session",o)}catch(o){await((s=this.stateChangeEmitters.get(e))===null||s===void 0?void 0:s.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",e,"error",o),console.error(o)}})}async resetPasswordForEmail(e,i={}){let n=null,s=null;if(this.flowType==="pkce"){const o=ai();await Ut(this.storage,`${this.storageKey}-code-verifier`,`${o}/PASSWORD_RECOVERY`),n=await ui(o),s=o===n?"plain":"s256"}try{return await Z(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,code_challenge:n,code_challenge_method:s,gotrue_meta_security:{captcha_token:i.captchaToken}},headers:this.headers,redirectTo:i.redirectTo})}catch(o){if(Y(o))return{data:null,error:o};throw o}}async getUserIdentities(){var e;try{const{data:i,error:n}=await this.getUser();if(n)throw n;return{data:{identities:(e=i.user.identities)!==null&&e!==void 0?e:[]},error:null}}catch(i){if(Y(i))return{data:null,error:i};throw i}}async linkIdentity(e){var i;try{const{data:n,error:s}=await this._useSession(async o=>{var r,a,u,c,l;const{data:d,error:h}=o;if(h)throw h;const p=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:(r=e.options)===null||r===void 0?void 0:r.redirectTo,scopes:(a=e.options)===null||a===void 0?void 0:a.scopes,queryParams:(u=e.options)===null||u===void 0?void 0:u.queryParams,skipBrowserRedirect:!0});return await Z(this.fetch,"GET",p,{headers:this.headers,jwt:(l=(c=d.session)===null||c===void 0?void 0:c.access_token)!==null&&l!==void 0?l:void 0})});if(s)throw s;return Xe()&&!(!((i=e.options)===null||i===void 0)&&i.skipBrowserRedirect)&&window.location.assign(n==null?void 0:n.url),{data:{provider:e.provider,url:n==null?void 0:n.url},error:null}}catch(n){if(Y(n))return{data:{provider:e.provider,url:null},error:n};throw n}}async unlinkIdentity(e){try{return await this._useSession(async i=>{var n,s;const{data:o,error:r}=i;if(r)throw r;return await Z(this.fetch,"DELETE",`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:(s=(n=o.session)===null||n===void 0?void 0:n.access_token)!==null&&s!==void 0?s:void 0})})}catch(i){if(Y(i))return{data:null,error:i};throw i}}async _refreshAccessToken(e){const i=`#_refreshAccessToken(${e.substring(0,5)}...)`;this._debug(i,"begin");try{const n=Date.now();return await Eg(async s=>(await jg(s*200),this._debug(i,"refreshing attempt",s),await Z(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:Ht})),(s,o,r)=>r&&r.error&&Fs(r.error)&&Date.now()+(s+1)*200-n{try{await a.callback(e,i)}catch(u){o.push(u)}});if(await Promise.all(r),o.length>0){for(let a=0;athis._autoRefreshTokenTick(),Ui);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"?e.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(e),setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{const e=Date.now();try{return await this._useSession(async i=>{const{data:{session:n}}=i;if(!n||!n.refresh_token||!n.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const s=Math.floor((n.expires_at*1e3-e)/Ui);this._debug("#_autoRefreshTokenTick()",`access token expires in ${s} ticks, a tick lasts ${Ui}ms, refresh threshold is ${ja} ticks`),s<=ja&&await this._callRefreshToken(n.refresh_token)})}catch(i){console.error("Auto refresh tick failed with error. This is likely a transient error.",i)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(e){if(e.isAcquireTimeout||e instanceof gc)this._debug("auto refresh token tick lock not available");else throw e}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!Xe()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>await this._onVisibilityChanged(!1),window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}}async _onVisibilityChanged(e){const i=`#_onVisibilityChanged(${e})`;this._debug(i,"visibilityState",document.visibilityState),document.visibilityState==="visible"?(this.autoRefreshToken&&this._startAutoRefresh(),e||(await this.initializePromise,await this._acquireLock(-1,async()=>{if(document.visibilityState!=="visible"){this._debug(i,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,i,n){const s=[`provider=${encodeURIComponent(i)}`];if(n!=null&&n.redirectTo&&s.push(`redirect_to=${encodeURIComponent(n.redirectTo)}`),n!=null&&n.scopes&&s.push(`scopes=${encodeURIComponent(n.scopes)}`),this.flowType==="pkce"){const o=ai();await Ut(this.storage,`${this.storageKey}-code-verifier`,o);const r=await ui(o),a=o===r?"plain":"s256";this._debug("PKCE","code verifier",`${o.substring(0,5)}...`,"code challenge",r,"method",a);const u=new URLSearchParams({code_challenge:`${encodeURIComponent(r)}`,code_challenge_method:`${encodeURIComponent(a)}`});s.push(u.toString())}if(n!=null&&n.queryParams){const o=new URLSearchParams(n.queryParams);s.push(o.toString())}return n!=null&&n.skipBrowserRedirect&&s.push(`skip_http_redirect=${n.skipBrowserRedirect}`),`${e}?${s.join("&")}`}async _unenroll(e){try{return await this._useSession(async i=>{var n;const{data:s,error:o}=i;return o?{data:null,error:o}:await Z(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token})})}catch(i){if(Y(i))return{data:null,error:i};throw i}}async _enroll(e){try{return await this._useSession(async i=>{var n,s;const{data:o,error:r}=i;if(r)return{data:null,error:r};const{data:a,error:u}=await Z(this.fetch,"POST",`${this.url}/factors`,{body:{friendly_name:e.friendlyName,factor_type:e.factorType,issuer:e.issuer},headers:this.headers,jwt:(n=o==null?void 0:o.session)===null||n===void 0?void 0:n.access_token});return u?{data:null,error:u}:(!((s=a==null?void 0:a.totp)===null||s===void 0)&&s.qr_code&&(a.totp.qr_code=`data:image/svg+xml;utf-8,${a.totp.qr_code}`),{data:a,error:null})})}catch(i){if(Y(i))return{data:null,error:i};throw i}}async _verify(e){return this._acquireLock(-1,async()=>{try{return await this._useSession(async i=>{var n;const{data:s,error:o}=i;if(o)return{data:null,error:o};const{data:r,error:a}=await Z(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:{code:e.code,challenge_id:e.challengeId},headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token});return a?{data:null,error:a}:(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+r.expires_in},r)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",r),{data:r,error:a})})}catch(i){if(Y(i))return{data:null,error:i};throw i}})}async _challenge(e){return this._acquireLock(-1,async()=>{try{return await this._useSession(async i=>{var n;const{data:s,error:o}=i;return o?{data:null,error:o}:await Z(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token})})}catch(i){if(Y(i))return{data:null,error:i};throw i}})}async _challengeAndVerify(e){const{data:i,error:n}=await this._challenge({factorId:e.factorId});return n?{data:null,error:n}:await this._verify({factorId:e.factorId,challengeId:i.id,code:e.code})}async _listFactors(){const{data:{user:e},error:i}=await this.getUser();if(i)return{data:null,error:i};const n=(e==null?void 0:e.factors)||[],s=n.filter(o=>o.factor_type==="totp"&&o.status==="verified");return{data:{all:n,totp:s},error:null}}async _getAuthenticatorAssuranceLevel(){return this._acquireLock(-1,async()=>await this._useSession(async e=>{var i,n;const{data:{session:s},error:o}=e;if(o)return{data:null,error:o};if(!s)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const r=this._decodeJWT(s.access_token);let a=null;r.aal&&(a=r.aal);let u=a;((n=(i=s.user.factors)===null||i===void 0?void 0:i.filter(d=>d.status==="verified"))!==null&&n!==void 0?n:[]).length>0&&(u="aal2");const l=r.amr||[];return{data:{currentLevel:a,nextLevel:u,currentAuthenticationMethods:l},error:null}}))}}cn.nextInstanceID=0;class Xg extends cn{constructor(e){super(e)}}var e0=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};const t0={headers:fg},i0={schema:"public"},n0={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},s0={};class o0{constructor(e,i,n){var s,o,r,a,u,c,l,d;if(this.supabaseUrl=e,this.supabaseKey=i,this.from=v=>this.rest.from(v),this.schema=v=>this.rest.schema(v),this.rpc=(v,A={},O)=>this.rest.rpc(v,A,O),!e)throw new Error("supabaseUrl is required.");if(!i)throw new Error("supabaseKey is required.");const h=xg(e);this.realtimeUrl=`${h}/realtime/v1`.replace(/^http/i,"ws"),this.authUrl=`${h}/auth/v1`,this.storageUrl=`${h}/storage/v1`,this.functionsUrl=`${h}/functions/v1`;const p=`sb-${new URL(this.authUrl).hostname.split(".")[0]}-auth-token`,y={db:i0,realtime:s0,auth:Object.assign(Object.assign({},n0),{storageKey:p}),global:t0},g=_g(n??{},y);this.storageKey=(o=(s=g.auth)===null||s===void 0?void 0:s.storageKey)!==null&&o!==void 0?o:"",this.headers=(a=(r=g.global)===null||r===void 0?void 0:r.headers)!==null&&a!==void 0?a:{},this.auth=this._initSupabaseAuthClient((u=g.auth)!==null&&u!==void 0?u:{},this.headers,(c=g.global)===null||c===void 0?void 0:c.fetch),this.fetch=wg(i,this._getAccessToken.bind(this),(l=g.global)===null||l===void 0?void 0:l.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers},g.realtime)),this.rest=new Jo(`${h}/rest/v1`,{headers:this.headers,schema:(d=g.db)===null||d===void 0?void 0:d.schema,fetch:this.fetch}),this._listenForAuthEvents()}get functions(){return new R1(this.functionsUrl,{headers:this.headers,customFetch:this.fetch})}get storage(){return new bg(this.storageUrl,this.headers,this.fetch)}channel(e,i={config:{}}){return this.realtime.channel(e,i)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}_getAccessToken(){var e,i;return e0(this,void 0,void 0,function*(){const{data:n}=yield this.auth.getSession();return(i=(e=n.session)===null||e===void 0?void 0:e.access_token)!==null&&i!==void 0?i:null})}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:i,detectSessionInUrl:n,storage:s,storageKey:o,flowType:r,debug:a},u,c){const l={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new Xg({url:this.authUrl,headers:Object.assign(Object.assign({},l),u),storageKey:o,autoRefreshToken:e,persistSession:i,detectSessionInUrl:n,storage:s,flowType:r,debug:a,fetch:c})}_initRealtimeClient(e){return new tg(this.realtimeUrl,Object.assign(Object.assign({},e),{params:Object.assign({apikey:this.supabaseKey},e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((i,n)=>{this._handleTokenChanged(i,"CLIENT",n==null?void 0:n.access_token)})}_handleTokenChanged(e,i,n){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN")&&this.changedAccessToken!==n?(this.realtime.setAuth(n??null),this.changedAccessToken=n):e==="SIGNED_OUT"&&(this.realtime.setAuth(this.supabaseKey),i=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}}const r0=(t,e,i)=>new o0(t,e,i),a0="https://ozgtbqizepstargxfqcm.supabase.co",u0="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im96Z3RicWl6ZXBzdGFyZ3hmcWNtIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTY5MDc5ODI5NSwiZXhwIjoyMDA2Mzc0Mjk1fQ.uZDzzKUNYHmsQvJLRIqCFVG7yevfa6tV-qVMajf6z1s",c0=r0(a0,u0),l0={class:"my-0.5 flex w-full select-none flex-col items-center text-[var(--vscode-foreground)]"},d0={class:"mx-2.5 flex flex-1 flex-row items-center gap-2 hover:bg-[var(--vscode-list-hoverBackground)]"},m0=_("p",{class:"text-sm font-medium"},"Feedback",-1),h0={class:"mx-auto mb-1.5 mt-1 flex w-full flex-col items-start justify-start"},b0=["disabled"],p0={key:1,class:"mt-4 text-xs font-medium text-[var(--vscode-foreground)]"},f0=Te({__name:"Feedback",props:{content:{type:Object,required:!0}},setup(t){const e=ae(!1),i=()=>{e.value=!e.value},n=ae(""),s=ae(!1),o=t,r=async()=>{const{data:a,error:u}=await c0.from("vscode_user_feedback").insert([{feedback_message:n.value,vscode_version:o.content.vscode_version,extension_version:o.content.extension_version,vscode_theme_id:o.content.vscode_theme_id}]);u?console.log(u):(n.value="",s.value=!0,setTimeout(()=>{s.value=!1},5e3))};return(a,u)=>(q(),N("div",l0,[_("div",{class:"flex w-full cursor-pointer flex-row items-center",onClick:i},[I(dn,{class:"h-2.5 w-2.5",listOpen:e.value},null,8,["listOpen"]),_("div",d0,[I(A1,{class:"h-4 w-4"}),m0])]),I(It,{name:"slide-down-fade"},{default:ti(()=>[e.value?(q(),N("div",{key:0,class:Ze(["mx-auto mb-2.5 mt-1 w-11/12 pl-2",{showing:e.value,hidden:!e.value}])},[_("div",h0,[Zn(_("textarea",{class:"mt-3 w-full resize-none rounded-md border border-[var(--vscode-dropdown-border)] bg-transparent px-2 py-1 text-xs font-medium text-[var(--vscode-foreground)] placeholder-[var(--vscode-disabledForeground)] placeholder-opacity-50 transition-all",placeholder:"What do you think about Nuxtr?","onUpdate:modelValue":u[0]||(u[0]=c=>n.value=c),name:"feedback",id:"feedback",cols:"5",rows:"4"},null,512),[[Pu,n.value]]),s.value?mt("",!0):(q(),N("button",{key:0,class:"mt-4 h-[27.73px] w-full rounded-md border border-[var(--vscode-dropdown-border)] bg-[var(--vscode-foreground)] text-[var(--vscode-sideBar-background)] text-xs font-medium transition-all hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50",textContent:"Send Feedback",onClick:We(r,["prevent"]),disabled:!n.value},null,8,b0)),s.value?(q(),N("p",p0," Thank you for your feedback! ")):mt("",!0)])],2)):mt("",!0)]),_:1})]))}});const g0={class:"flex select-none flex-col gap-2 font-inter"},y0={class:"flex w-full pb-40 relative flex-col items-center"},v0={class:"flex overflow-y-auto max-h-fit flex-col w-full"},w0=Te({__name:"Project",setup(t){const e=ln({dependencies:[],scripts:{},snippets:{},feedbackContent:{},outdatedDependencies:[],fileTemplates:{}});return window.addEventListener("message",i=>{const n=i.data;switch(n.command){case"projectViewData":e.scripts=n.data.scripts,e.dependencies=n.data.dependencies,e.snippets=n.data.snippets,e.feedbackContent=n.data.feedbackContent,e.fileTemplates=n.data.fileTemplates;break;case"outdatedDependencies":e.outdatedDependencies=n.data;break}}),(i,n)=>(q(),N("div",g0,[_("div",y0,[_("div",v0,[I(_p,{scripts:e.scripts},null,8,["scripts"]),I(lf,{dependencies:e.dependencies,outdated:e.outdatedDependencies},null,8,["dependencies","outdated"]),I(Gf,{snippets:e.snippets},null,8,["snippets"]),I(g1,{templates:e.fileTemplates},null,8,["templates"]),I(f0,{class:"bg-[var(--vscode-sideBar-background)]",content:e.feedbackContent},null,8,["content"])])])]))}}),x0={class:"flex w-full flex-col font-inter"},_0=Te({__name:"Project",setup(t){return(e,i)=>(q(),N("div",x0,[I(w0)]))}}),k0=[{path:"/",component:ip},{path:"/project",component:_0}],A0=Gm({history:cm(),routes:k0});$h().register();Ud(Ym).use(A0).mount("#app"); +***************************************************************************** */function ls(t,e,i,n){var s=arguments.length,o=s<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,i):n,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(e,i,o):r(e,i))||o);return s>3&&o&&Object.defineProperty(e,i,o),o}const zs=new Map;"metadata"in Reflect||(Reflect.metadata=function(t,e){return function(i){Reflect.defineMetadata(t,e,i)}},Reflect.defineMetadata=function(t,e,i){let n=zs.get(i);n===void 0&&zs.set(i,n=new Map),n.set(t,e)},Reflect.getOwnMetadata=function(t,e){const i=zs.get(e);if(i!==void 0)return i.get(t)});class ah{constructor(e,i){this.container=e,this.key=i}instance(e){return this.registerResolver(0,e)}singleton(e){return this.registerResolver(1,e)}transient(e){return this.registerResolver(2,e)}callback(e){return this.registerResolver(3,e)}cachedCallback(e){return this.registerResolver(3,ec(e))}aliasTo(e){return this.registerResolver(5,e)}registerResolver(e,i){const{container:n,key:s}=this;return this.container=this.key=void 0,n.registerResolver(s,new Ge(s,e,i))}}function Bi(t){const e=t.slice(),i=Object.keys(t),n=i.length;let s;for(let o=0;onull,responsibleForOwnerRequests:!1,defaultResolver:uh.singleton})}),sa=new Map;function oa(t){return e=>Reflect.getOwnMetadata(t,e)}let ra=null;const be=Object.freeze({createContainer(t){return new Wi(null,Object.assign({},Os.default,t))},findResponsibleContainer(t){const e=t.$$container$$;return e&&e.responsibleForOwnerRequests?e:be.findParentContainer(t)},findParentContainer(t){const e=new CustomEvent(Xu,{bubbles:!0,composed:!0,cancelable:!0,detail:{container:void 0}});return t.dispatchEvent(e),e.detail.container||be.getOrCreateDOMContainer()},getOrCreateDOMContainer(t,e){return t?t.$$container$$||new Wi(t,Object.assign({},Os.default,e,{parentLocator:be.findParentContainer})):ra||(ra=new Wi(null,Object.assign({},Os.default,e,{parentLocator:()=>null})))},getDesignParamtypes:oa("design:paramtypes"),getAnnotationParamtypes:oa("di:paramtypes"),getOrCreateAnnotationParamTypes(t){let e=this.getAnnotationParamtypes(t);return e===void 0&&Reflect.defineMetadata("di:paramtypes",e=[],t),e},getDependencies(t){let e=sa.get(t);if(e===void 0){const i=t.inject;if(i===void 0){const n=be.getDesignParamtypes(t),s=be.getAnnotationParamtypes(t);if(n===void 0)if(s===void 0){const o=Object.getPrototypeOf(t);typeof o=="function"&&o!==Function.prototype?e=Bi(be.getDependencies(o)):e=[]}else e=Bi(s);else if(s===void 0)e=Bi(n);else{e=Bi(n);let o=s.length,r;for(let c=0;c{const l=be.findResponsibleContainer(this).get(i),d=this[s];l!==d&&(this[s]=o,a.notify(e))};a.subscribe({handleChange:u},"isConnected")}return o}})},createInterface(t,e){const i=typeof t=="function"?t:e,n=typeof t=="string"?t:t&&"friendlyName"in t&&t.friendlyName||la,s=typeof t=="string"?!1:t&&"respectConnection"in t&&t.respectConnection||!1,o=function(r,a,u){if(r==null||new.target!==void 0)throw new Error(`No registration for interface: '${o.friendlyName}'`);if(a)be.defineProperty(r,a,o,s);else{const c=be.getOrCreateAnnotationParamTypes(r);c[u]=o}};return o.$isInterface=!0,o.friendlyName=n??"(anonymous)",i!=null&&(o.register=function(r,a){return i(new ah(r,a??o))}),o.toString=function(){return`InterfaceSymbol<${o.friendlyName}>`},o},inject(...t){return function(e,i,n){if(typeof n=="number"){const s=be.getOrCreateAnnotationParamTypes(e),o=t[0];o!==void 0&&(s[n]=o)}else if(i)be.defineProperty(e,i,t[0]);else{const s=n?be.getOrCreateAnnotationParamTypes(n.value):be.getOrCreateAnnotationParamTypes(e);let o;for(let r=0;r{n.composedPath()[0]!==this.owner&&(n.detail.container=this,n.stopImmediatePropagation())})}get parent(){return this._parent===void 0&&(this._parent=this.config.parentLocator(this.owner)),this._parent}get depth(){return this.parent===null?0:this.parent.depth+1}get responsibleForOwnerRequests(){return this.config.responsibleForOwnerRequests}registerWithContext(e,...i){return this.context=e,this.register(...i),this.context=null,this}register(...e){if(++this.registerDepth===100)throw new Error("Unable to autoregister dependency");let i,n,s,o,r;const a=this.context;for(let u=0,c=e.length;uthis}))}jitRegister(e,i){if(typeof e!="function")throw new Error(`Attempted to jitRegister something that is not a constructor: '${e}'. Did you forget to register this dependency?`);if(fh.has(e.name))throw new Error(`Attempted to jitRegister an intrinsic type: ${e.name}. Did you forget to add @inject(Key)`);if($n(e)){const n=e.register(i);if(!(n instanceof Object)||n.resolve==null){const s=i.resolvers.get(e);if(s!=null)return s;throw new Error("A valid resolver was not returned from the static register method")}return n}else{if(e.$isInterface)throw new Error(`Attempted to jitRegister an interface: ${e.friendlyName}`);{const n=this.config.defaultResolver(e,i);return i.resolvers.set(e,n),n}}}}const Ps=new WeakMap;function ec(t){return function(e,i,n){if(Ps.has(n))return Ps.get(n);const s=t(e,i,n);return Ps.set(n,s),s}}const rn=Object.freeze({instance(t,e){return new Ge(t,0,e)},singleton(t,e){return new Ge(t,1,e)},transient(t,e){return new Ge(t,2,e)},callback(t,e){return new Ge(t,3,e)},cachedCallback(t,e){return new Ge(t,3,ec(e))},aliasTo(t,e){return new Ge(e,5,t)}});function wn(t){if(t==null)throw new Error("key/value cannot be null or undefined. Are you trying to inject/register something that doesn't exist with DI?")}function ca(t,e,i){if(t instanceof Ge&&t.strategy===4){const n=t.state;let s=n.length;const o=new Array(s);for(;s--;)o[s]=n[s].resolve(e,i);return o}return[t.resolve(e,i)]}const la="(anonymous)";function da(t){return typeof t=="object"&&t!==null||typeof t=="function"}const gh=function(){const t=new WeakMap;let e=!1,i="",n=0;return function(s){return e=t.get(s),e===void 0&&(i=s.toString(),n=i.length,e=n>=29&&n<=100&&i.charCodeAt(n-1)===125&&i.charCodeAt(n-2)<=32&&i.charCodeAt(n-3)===93&&i.charCodeAt(n-4)===101&&i.charCodeAt(n-5)===100&&i.charCodeAt(n-6)===111&&i.charCodeAt(n-7)===99&&i.charCodeAt(n-8)===32&&i.charCodeAt(n-9)===101&&i.charCodeAt(n-10)===118&&i.charCodeAt(n-11)===105&&i.charCodeAt(n-12)===116&&i.charCodeAt(n-13)===97&&i.charCodeAt(n-14)===110&&i.charCodeAt(n-15)===88,t.set(s,e)),e}}(),xn={};function tc(t){switch(typeof t){case"number":return t>=0&&(t|0)===t;case"string":{const e=xn[t];if(e!==void 0)return e;const i=t.length;if(i===0)return xn[t]=!1;let n=0;for(let s=0;s1||n<48||n>57)return xn[t]=!1;return xn[t]=!0}default:return!1}}function ma(t){return`${t.toLowerCase()}:presentation`}const _n=new Map,ic=Object.freeze({define(t,e,i){const n=ma(t);_n.get(n)===void 0?_n.set(n,e):_n.set(n,!1),i.register(rn.instance(n,e))},forTag(t,e){const i=ma(t),n=_n.get(i);return n===!1?be.findResponsibleContainer(e).get(i):n||null}});class yh{constructor(e,i){this.template=e||null,this.styles=i===void 0?null:Array.isArray(i)?Ye.create(i):i instanceof Ye?i:Ye.create([i])}applyTo(e){const i=e.$fastController;i.template===null&&(i.template=this.template),i.styles===null&&(i.styles=this.styles)}}class Si extends cs{constructor(){super(...arguments),this._presentation=void 0}get $presentation(){return this._presentation===void 0&&(this._presentation=ic.forTag(this.tagName,this)),this._presentation}templateChanged(){this.template!==void 0&&(this.$fastController.template=this.template)}stylesChanged(){this.styles!==void 0&&(this.$fastController.styles=this.styles)}connectedCallback(){this.$presentation!==null&&this.$presentation.applyTo(this),super.connectedCallback()}static compose(e){return(i={})=>new vh(this===Si?class extends Si{}:this,e,i)}}ls([as],Si.prototype,"template",void 0);ls([as],Si.prototype,"styles",void 0);function Ii(t,e,i){return typeof t=="function"?t(e,i):t}class vh{constructor(e,i,n){this.type=e,this.elementDefinition=i,this.overrideDefinition=n,this.definition=Object.assign(Object.assign({},this.elementDefinition),this.overrideDefinition)}register(e,i){const n=this.definition,s=this.overrideDefinition,r=`${n.prefix||i.elementPrefix}-${n.baseName}`;i.tryDefineElement({name:r,type:this.type,baseClass:this.elementDefinition.baseClass,callback:a=>{const u=new yh(Ii(n.template,a,n),Ii(n.styles,a,n));a.definePresentation(u);let c=Ii(n.shadowOptions,a,n);a.shadowRootMode&&(c?s.shadowOptions||(c.mode=a.shadowRootMode):c!==null&&(c={mode:a.shadowRootMode})),a.defineElement({elementOptions:Ii(n.elementOptions,a,n),shadowOptions:c,attributes:Ii(n.attributes,a,n)})}})}}function mo(t){const e=t.parentElement;if(e)return e;{const i=t.getRootNode();if(i.host instanceof HTMLElement)return i.host}return null}function wh(t,e){let i=e;for(;i!==null;){if(i===t)return!0;i=mo(i)}return!1}const gt=document.createElement("div");function xh(t){return t instanceof cs}class No{setProperty(e,i){Le.queueUpdate(()=>this.target.setProperty(e,i))}removeProperty(e){Le.queueUpdate(()=>this.target.removeProperty(e))}}class _h extends No{constructor(e){super();const i=new CSSStyleSheet;this.target=i.cssRules[i.insertRule(":host{}")].style,e.$fastController.addStyles(Ye.create([i]))}}class kh extends No{constructor(){super();const e=new CSSStyleSheet;this.target=e.cssRules[e.insertRule(":root{}")].style,document.adoptedStyleSheets=[...document.adoptedStyleSheets,e]}}class Ah extends No{constructor(){super(),this.style=document.createElement("style"),document.head.appendChild(this.style);const{sheet:e}=this.style;if(e){const i=e.insertRule(":root{}",e.cssRules.length);this.target=e.cssRules[i].style}}}class nc{constructor(e){this.store=new Map,this.target=null;const i=e.$fastController;this.style=document.createElement("style"),i.addStyles(this.style),Be.getNotifier(i).subscribe(this,"isConnected"),this.handleChange(i,"isConnected")}targetChanged(){if(this.target!==null)for(const[e,i]of this.store.entries())this.target.setProperty(e,i)}setProperty(e,i){this.store.set(e,i),Le.queueUpdate(()=>{this.target!==null&&this.target.setProperty(e,i)})}removeProperty(e){this.store.delete(e),Le.queueUpdate(()=>{this.target!==null&&this.target.removeProperty(e)})}handleChange(e,i){const{sheet:n}=this.style;if(n){const s=n.insertRule(":host{}",n.cssRules.length);this.target=n.cssRules[s].style}else this.target=null}}ls([as],nc.prototype,"target",void 0);class Sh{constructor(e){this.target=e.style}setProperty(e,i){Le.queueUpdate(()=>this.target.setProperty(e,i))}removeProperty(e){Le.queueUpdate(()=>this.target.removeProperty(e))}}class _e{setProperty(e,i){_e.properties[e]=i;for(const n of _e.roots.values())bi.getOrCreate(_e.normalizeRoot(n)).setProperty(e,i)}removeProperty(e){delete _e.properties[e];for(const i of _e.roots.values())bi.getOrCreate(_e.normalizeRoot(i)).removeProperty(e)}static registerRoot(e){const{roots:i}=_e;if(!i.has(e)){i.add(e);const n=bi.getOrCreate(this.normalizeRoot(e));for(const s in _e.properties)n.setProperty(s,_e.properties[s])}}static unregisterRoot(e){const{roots:i}=_e;if(i.has(e)){i.delete(e);const n=bi.getOrCreate(_e.normalizeRoot(e));for(const s in _e.properties)n.removeProperty(s)}}static normalizeRoot(e){return e===gt?document:e}}_e.roots=new Set;_e.properties={};const $s=new WeakMap,Ch=Le.supportsAdoptedStyleSheets?_h:nc,bi=Object.freeze({getOrCreate(t){if($s.has(t))return $s.get(t);let e;return t===gt?e=new _e:t instanceof Document?e=Le.supportsAdoptedStyleSheets?new kh:new Ah:xh(t)?e=new Ch(t):e=new Sh(t),$s.set(t,e),e}});class Re extends rh{constructor(e){super(),this.subscribers=new WeakMap,this._appliedTo=new Set,this.name=e.name,e.cssCustomPropertyName!==null&&(this.cssCustomProperty=`--${e.cssCustomPropertyName}`,this.cssVar=`var(${this.cssCustomProperty})`),this.id=Re.uniqueId(),Re.tokensById.set(this.id,this)}get appliedTo(){return[...this._appliedTo]}static from(e){return new Re({name:typeof e=="string"?e:e.name,cssCustomPropertyName:typeof e=="string"?e:e.cssCustomPropertyName===void 0?e.name:e.cssCustomPropertyName})}static isCSSDesignToken(e){return typeof e.cssCustomProperty=="string"}static isDerivedDesignTokenValue(e){return typeof e=="function"}static getTokenById(e){return Re.tokensById.get(e)}getOrCreateSubscriberSet(e=this){return this.subscribers.get(e)||this.subscribers.set(e,new Set)&&this.subscribers.get(e)}createCSS(){return this.cssVar||""}getValueFor(e){const i=ge.getOrCreate(e).get(this);if(i!==void 0)return i;throw new Error(`Value could not be retrieved for token named "${this.name}". Ensure the value is set for ${e} or an ancestor of ${e}.`)}setValueFor(e,i){return this._appliedTo.add(e),i instanceof Re&&(i=this.alias(i)),ge.getOrCreate(e).set(this,i),this}deleteValueFor(e){return this._appliedTo.delete(e),ge.existsFor(e)&&ge.getOrCreate(e).delete(this),this}withDefault(e){return this.setValueFor(gt,e),this}subscribe(e,i){const n=this.getOrCreateSubscriberSet(i);i&&!ge.existsFor(i)&&ge.getOrCreate(i),n.has(e)||n.add(e)}unsubscribe(e,i){const n=this.subscribers.get(i||this);n&&n.has(e)&&n.delete(e)}notify(e){const i=Object.freeze({token:this,target:e});this.subscribers.has(this)&&this.subscribers.get(this).forEach(n=>n.handleChange(i)),this.subscribers.has(e)&&this.subscribers.get(e).forEach(n=>n.handleChange(i))}alias(e){return i=>e.getValueFor(i)}}Re.uniqueId=(()=>{let t=0;return()=>(t++,t.toString(16))})();Re.tokensById=new Map;class jh{startReflection(e,i){e.subscribe(this,i),this.handleChange({token:e,target:i})}stopReflection(e,i){e.unsubscribe(this,i),this.remove(e,i)}handleChange(e){const{token:i,target:n}=e;this.add(i,n)}add(e,i){bi.getOrCreate(i).setProperty(e.cssCustomProperty,this.resolveCSSValue(ge.getOrCreate(i).get(e)))}remove(e,i){bi.getOrCreate(i).removeProperty(e.cssCustomProperty)}resolveCSSValue(e){return e&&typeof e.createCSS=="function"?e.createCSS():e}}class Eh{constructor(e,i,n){this.source=e,this.token=i,this.node=n,this.dependencies=new Set,this.observer=Be.binding(e,this,!1),this.observer.handleChange=this.observer.call,this.handleChange()}disconnect(){this.observer.disconnect()}handleChange(){this.node.store.set(this.token,this.observer.observe(this.node.target,Pn))}}class Th{constructor(){this.values=new Map}set(e,i){this.values.get(e)!==i&&(this.values.set(e,i),Be.getNotifier(this).notify(e.id))}get(e){return Be.track(this,e.id),this.values.get(e)}delete(e){this.values.delete(e)}all(){return this.values.entries()}}const qi=new WeakMap,Mi=new WeakMap;class ge{constructor(e){this.target=e,this.store=new Th,this.children=[],this.assignedValues=new Map,this.reflecting=new Set,this.bindingObservers=new Map,this.tokenValueChangeHandler={handleChange:(i,n)=>{const s=Re.getTokenById(n);if(s&&(s.notify(this.target),Re.isCSSDesignToken(s))){const o=this.parent,r=this.isReflecting(s);if(o){const a=o.get(s),u=i.get(s);a!==u&&!r?this.reflectToCSS(s):a===u&&r&&this.stopReflectToCSS(s)}else r||this.reflectToCSS(s)}}},qi.set(e,this),Be.getNotifier(this.store).subscribe(this.tokenValueChangeHandler),e instanceof cs?e.$fastController.addBehaviors([this]):e.isConnected&&this.bind()}static getOrCreate(e){return qi.get(e)||new ge(e)}static existsFor(e){return qi.has(e)}static findParent(e){if(gt!==e.target){let i=mo(e.target);for(;i!==null;){if(qi.has(i))return qi.get(i);i=mo(i)}return ge.getOrCreate(gt)}return null}static findClosestAssignedNode(e,i){let n=i;do{if(n.has(e))return n;n=n.parent?n.parent:n.target!==gt?ge.getOrCreate(gt):null}while(n!==null);return null}get parent(){return Mi.get(this)||null}has(e){return this.assignedValues.has(e)}get(e){const i=this.store.get(e);if(i!==void 0)return i;const n=this.getRaw(e);if(n!==void 0)return this.hydrate(e,n),this.get(e)}getRaw(e){var i;return this.assignedValues.has(e)?this.assignedValues.get(e):(i=ge.findClosestAssignedNode(e,this))===null||i===void 0?void 0:i.getRaw(e)}set(e,i){Re.isDerivedDesignTokenValue(this.assignedValues.get(e))&&this.tearDownBindingObserver(e),this.assignedValues.set(e,i),Re.isDerivedDesignTokenValue(i)?this.setupBindingObserver(e,i):this.store.set(e,i)}delete(e){this.assignedValues.delete(e),this.tearDownBindingObserver(e);const i=this.getRaw(e);i?this.hydrate(e,i):this.store.delete(e)}bind(){const e=ge.findParent(this);e&&e.appendChild(this);for(const i of this.assignedValues.keys())i.notify(this.target)}unbind(){this.parent&&Mi.get(this).removeChild(this)}appendChild(e){e.parent&&Mi.get(e).removeChild(e);const i=this.children.filter(n=>e.contains(n));Mi.set(e,this),this.children.push(e),i.forEach(n=>e.appendChild(n)),Be.getNotifier(this.store).subscribe(e);for(const[n,s]of this.store.all())e.hydrate(n,this.bindingObservers.has(n)?this.getRaw(n):s)}removeChild(e){const i=this.children.indexOf(e);return i!==-1&&this.children.splice(i,1),Be.getNotifier(this.store).unsubscribe(e),e.parent===this?Mi.delete(e):!1}contains(e){return wh(this.target,e.target)}reflectToCSS(e){this.isReflecting(e)||(this.reflecting.add(e),ge.cssCustomPropertyReflector.startReflection(e,this.target))}stopReflectToCSS(e){this.isReflecting(e)&&(this.reflecting.delete(e),ge.cssCustomPropertyReflector.stopReflection(e,this.target))}isReflecting(e){return this.reflecting.has(e)}handleChange(e,i){const n=Re.getTokenById(i);n&&this.hydrate(n,this.getRaw(n))}hydrate(e,i){if(!this.has(e)){const n=this.bindingObservers.get(e);Re.isDerivedDesignTokenValue(i)?n?n.source!==i&&(this.tearDownBindingObserver(e),this.setupBindingObserver(e,i)):this.setupBindingObserver(e,i):(n&&this.tearDownBindingObserver(e),this.store.set(e,i))}}setupBindingObserver(e,i){const n=new Eh(i,e,this);return this.bindingObservers.set(e,n),n}tearDownBindingObserver(e){return this.bindingObservers.has(e)?(this.bindingObservers.get(e).disconnect(),this.bindingObservers.delete(e),!0):!1}}ge.cssCustomPropertyReflector=new jh;ls([as],ge.prototype,"children",void 0);function zh(t){return Re.from(t)}const Oh=Object.freeze({create:zh,notifyConnection(t){return!t.isConnected||!ge.existsFor(t)?!1:(ge.getOrCreate(t).bind(),!0)},notifyDisconnection(t){return t.isConnected||!ge.existsFor(t)?!1:(ge.getOrCreate(t).unbind(),!0)},registerRoot(t=gt){_e.registerRoot(t)},unregisterRoot(t=gt){_e.unregisterRoot(t)}}),Ls=Object.freeze({definitionCallbackOnly:null,ignoreDuplicate:Symbol()}),Bs=new Map,Ln=new Map;let wi=null;const Di=be.createInterface(t=>t.cachedCallback(e=>(wi===null&&(wi=new oc(null,e)),wi))),sc=Object.freeze({tagFor(t){return Ln.get(t)},responsibleFor(t){const e=t.$$designSystem$$;return e||be.findResponsibleContainer(t).get(Di)},getOrCreate(t){if(!t)return wi===null&&(wi=be.getOrCreateDOMContainer().get(Di)),wi;const e=t.$$designSystem$$;if(e)return e;const i=be.getOrCreateDOMContainer(t);if(i.has(Di,!1))return i.get(Di);{const n=new oc(t,i);return i.register(rn.instance(Di,n)),n}}});function Rh(t,e,i){return typeof t=="string"?{name:t,type:e,callback:i}:t}class oc{constructor(e,i){this.owner=e,this.container=i,this.designTokensInitialized=!1,this.prefix="fast",this.shadowRootMode=void 0,this.disambiguate=()=>Ls.definitionCallbackOnly,e!==null&&(e.$$designSystem$$=this)}withPrefix(e){return this.prefix=e,this}withShadowRootMode(e){return this.shadowRootMode=e,this}withElementDisambiguation(e){return this.disambiguate=e,this}withDesignTokenRoot(e){return this.designTokenRoot=e,this}register(...e){const i=this.container,n=[],s=this.disambiguate,o=this.shadowRootMode,r={elementPrefix:this.prefix,tryDefineElement(a,u,c){const l=Rh(a,u,c),{name:d,callback:h,baseClass:p}=l;let{type:y}=l,g=d,v=Bs.get(g),A=!0;for(;v;){const O=s(g,y,v);switch(O){case Ls.ignoreDuplicate:return;case Ls.definitionCallbackOnly:A=!1,v=void 0;break;default:g=O,v=Bs.get(g);break}}A&&((Ln.has(y)||y===Si)&&(y=class extends y{}),Bs.set(g,y),Ln.set(y,g),p&&Ln.set(p,g)),n.push(new Ph(i,g,y,o,h,A))}};this.designTokensInitialized||(this.designTokensInitialized=!0,this.designTokenRoot!==null&&Oh.registerRoot(this.designTokenRoot)),i.registerWithContext(r,...e);for(const a of n)a.callback(a),a.willDefine&&a.definition!==null&&a.definition.define();return this}}class Ph{constructor(e,i,n,s,o,r){this.container=e,this.name=i,this.type=n,this.shadowRootMode=s,this.callback=o,this.willDefine=r,this.definition=null}definePresentation(e){ic.define(this.name,e,this.container)}defineElement(e){this.definition=new us(this.type,Object.assign(Object.assign({},e),{name:this.name}))}tagFor(e){return sc.tagFor(e)}}function $h(t){return sc.getOrCreate(t).withPrefix("vscode")}const Lh="3",Bh="2023-11-22T18:02:00.077Z",Ih={downloads:8635826,stars:120715,maintainers:142,contributors:1057,modules:184},qh=[{name:"danielroe",github:"danielroe",modules:["capo","fontaine","hanko","harlem","html-validator","image","ionic","kinde","magic-regexp","partytown","sanity","time","turnstile","vitest"]},{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",modules:["delay-hydration","link-checker","og-image","schema-org","seo-experiments","seo-kit","simple-robots","simple-sitemap","unhead","unlighthouse","windicss"]},{name:"Sébastien Chopin",github:"Atinux",twitter:"Atinux",modules:["color-mode","content","icon","image","strapi","studio","supabase","tailwindcss","ui","web-vitals"]},{name:"Johann Schopplich",github:"johannschopplich",twitter:"jschopplich",avatar:"https://avatars.githubusercontent.com/johannschopplich?v=4",modules:["api-party","gtag","kql","plausible","prepare","unlazy"]},{name:"Anthony Fu",github:"antfu",twitter:"antfu7",modules:["devtools","unocss","vite-pwa-nuxt","vitest","vueuse","windicss"]},{name:"Hebilicious",github:"Hebilicious",twitter:"its_hebilicious",modules:["authjs","form-actions","server-block","vue-query"]},{name:"Ahad Birang",github:"farnabaz",twitter:"a_birang",modules:["content","image","studio","svg-sprite"]},{name:"Ricardo Gobbo de Souza",github:"ricardogobbosouza",modules:["eslint","google-fonts","robots","stylelint"]},{name:"Jakub Andrzejewski",github:"Baroshem",avatar:"https://avatars2.githubusercontent.com/u/37120330?v=4?s=80",modules:["algolia","medusa","security"]},{name:"Pooya Parsa",github:"pi0",twitter:"_pi0_",modules:["emotion","image","web-vitals"]},{name:"Gaetan SENN",github:"gaetansenn",avatar:"https://avatars.githubusercontent.com/u/2774075?v=4",modules:["nuxt-loco","vue3-carousel-nuxt","vunix"]},{name:"sidebase",github:"sidebase",twitter:"sidebase_io",modules:["nuxt-pdf","session","sidebase-auth"]},{name:"Conrawl Rogers",github:"diizzayy",twitter:"diizzayy",avatar:"https://avatars.githubusercontent.com/diizzayy?v=4",modules:["apollo","graphql-client"]},{name:"Justin Schroeder",github:"justin-schroeder",twitter:"jpschroeder",modules:["auto-animate","formkit"]},{name:"Fabian B.",github:"madebyfabian",twitter:"madebyfabian",modules:["calendly","cloudflare-analytics"]},{name:"Barbapapazes",github:"Barbapapazes",twitter:"soubiran_",modules:["clarity-analytics","nuxt-payload-analyzer"]},{name:"Yaël Guilloux",github:"Tahul",twitter:"yaeeelglx",modules:["content","edgedb"]},{name:"Kevin Olson",github:"acidjazz",twitter:"AppFume",modules:["dayjs","tailvue"]},{name:"modbender",github:"modbender",modules:["disqus","snackbar"]},{name:"tolking",github:"tolking",modules:["element-plus","vant"]},{name:"Helltraitor",github:"helltraitor",modules:["nuxt-anchorscroll","nuxt-feedme"]},{name:"OyewoleOyedeji",github:"OyewoleOyedeji",modules:["nuxt-bootstrap-icons","nuxt-phosphor-icons"]},{name:"Supanut Dokmaithong",github:"Boomgeek",modules:["nuxt-facebook-chat","nuxt-plotly"]},{name:"superdev-tech",github:"superdev-tech",modules:["nuxt-facebook-chat","nuxt-plotly"]},{name:"Zadig&Voltaire Team",github:"https://github.com/zadigetvoltaire",modules:["nuxt-gtm","well-known"]},{name:"lihbr",github:"lihbr",modules:["nuxt-hue","prismic"]},{name:"arashsheyda",github:"arashsheyda",modules:["nuxt-mongoose","paypal"]},{name:"daliborgogic",github:"daliborgogic",modules:["nuxt3-interpolation","web-vitals"]},{name:"Giovane Cardoso",github:"novout",twitter:"novoutttttt",avatar:"https://avatars.githubusercontent.com/novout?v=4",modules:["pdfeasy","ununuracss"]},{name:"posva",github:"posva",modules:["pinia","vuefire"]},{name:"Florent GIRAUD",github:"flozero",twitter:"flozeroo",modules:["snipcart","stripe-next"]},{name:"Benjamin Canac",github:"benjamincanac",twitter:"benjamincanac",modules:["strapi","ui"]},{name:"Joaquín Sánchez",github:"userquin",twitter:"userquin",modules:["vite-pwa-nuxt","vuetify-nuxt-module"]},{name:"Adam Berecz",github:"adamberecz",twitter:"bereczadam",modules:["vueform-builder","vueform"]},{name:"Yasser Lahbibi",github:"yassilah",avatar:"https://avatars.githubusercontent.com/u/13403295?v=4",modules:["algolia"]},{name:"ivodolenc",github:"ivodolenc",modules:["animejs"]},{name:"tangjinzhou",github:"tangjinzhou",modules:["ant-design-vue"]},{name:"egidiusmengelberg",github:"egidiusmengelberg",modules:["aos"]},{name:"Hrdtr",github:"Hrdtr",modules:["appwrite"]},{name:"wiidede",github:"wiidede",modules:["arco-design-nuxt-module"]},{name:"Din",github:"iamdin",twitter:"iamdinq",modules:["ark-ui"]},{name:"atinux",github:"atinux",modules:["auth-utils"]},{name:"JulianMar",github:"JulianMar",twitter:"julian_martin96",modules:["bugsnag"]},{name:"productdevbook",github:"productdevbook",modules:["chatwoot"]},{name:"hamlogic",github:"hamlogic",modules:["cloudflare-analytics"]},{name:"davestewart",github:"davestewart",twitter:"dave_stewart",modules:["content-assets"]},{name:"dargmuesli",github:"dargmuesli",avatar:"https://avatars.githubusercontent.com/dargmuesli",modules:["cookie-control"]},{name:"morgbn",github:"morgbn",avatar:"https://avatars.githubusercontent.com/u/25689856?v=4",modules:["csurf"]},{name:"Jamie Warburton",github:"jamiewarb",twitter:"jamiewarb",avatar:"https://avatars.githubusercontent.com/jamiewarb?v=4",modules:["datocms"]},{name:"Shinji Yamada",github:"dotneet",modules:["device"]},{name:"Conner Bachmann",github:"intevel",avatar:"https://avatars.githubusercontent.com/u/59223342?v=4",modules:["directus"]},{name:"草鞋没号",github:"caoxiemeihao",modules:["electron"]},{name:"Jonathan Bakebwa",github:"codebender828",twitter:"codebender828",modules:["emotion"]},{name:"Andrew Boyd",github:"andrew-boyd",twitter:"0xBOYD",modules:["formkit"]},{name:"Alexander Lichter",github:"manniL",modules:["google-adsense"]},{name:"Troy Morehouse",github:"tmorehouse",modules:["google-adsense"]},{name:"gomah",github:"gomah",modules:["graphql-request"]},{name:"tobiasdiez",github:"tobiasdiez",modules:["graphql-server"]},{name:"Pascal Sthamer",github:"P4sca1",modules:["headlessui"]},{name:"Rafał Chłodnicki",github:"rchl",modules:["i18n"]},{name:"Kazuya Kawaguchi",github:"kazupon",modules:["i18n"]},{name:"coremyslo",github:"coremyslo",modules:["icon-font"]},{name:"JohnCampionJr",github:"JohnCampionJr",modules:["icon-tw"]},{name:"Sebastian Wludzik",github:"gitfoxcode",modules:["icons"]},{name:"Alex Grozav",github:"alexgrozav",twitter:"alexgrozav",modules:["inkline"]},{name:"Patrick Cate",github:"patrickcate",modules:["jsonapi"]},{name:"daveordead",github:"DaveOrDead",twitter:"dave_or_dead",modules:["kinde"]},{name:"sot1986",github:"sot1986",modules:["laravel-precognition"]},{name:"Michal Čípa",github:"cipami",modules:["lodash"]},{name:"Farzad Soltani",github:"farzadso",twitter:"farzadso",modules:["logrocket"]},{name:"SWIS",github:"swisnl",modules:["lucide-icons"]},{name:"Jasper Zonneveld",github:"JaZo",modules:["lucide-icons"]},{name:"Loïc Mazuel",github:"LouisMazel",modules:["maz-ui"]},{name:"Alex Duval",github:"xlanex6",avatar:"https://avatars.githubusercontent.com/u/13418668?v=4",modules:["meilisearch"]},{name:"Miha Sedej",github:"tresko",twitter:"mihasedej",modules:["module-feed"]},{name:"adenvt",github:"adenvt",modules:["nupolyon"]},{name:"Artem Manchenkov",github:"manchenkoff",avatar:"https://avatars.githubusercontent.com/manchenkoff",modules:["nuxt-auth-sanctum"]},{name:"kgierke",github:"kgierke",modules:["nuxt-basic-auth"]},{name:"Oliver Trajceski",github:"schnapsterdog",modules:["nuxt-chatgpt"]},{name:"dulnan",github:"dulnan",twitter:"dulnan",avatar:"https://avatars.githubusercontent.com/dulnan?v=4",modules:["nuxt-graphql-middleware"]},{name:"ayalon",github:"ayalon",avatar:"https://avatars.githubusercontent.com/ayalon?v=4",modules:["nuxt-graphql-middleware"]},{name:"ymmooot",github:"ymmooot",modules:["nuxt-jsonld"]},{name:"Craig Harman",github:"craigharman",twitter:"craig_harman",modules:["nuxt-localtunnel"]},{name:"Sebastian Landwehr",github:"dword-design",modules:["nuxt-mail"]},{name:"Alex Lavoie",github:"AlexLavoie42",modules:["nuxt-mapbox"]},{name:"Emil Rosenius",github:"ERPedersen",modules:["nuxt-mdi"]},{name:"e-chan1007",github:"e-chan1007",modules:["nuxt-monaco-editor"]},{name:"stefanobartoletti",github:"stefanobartoletti",modules:["nuxt-social-share"]},{name:"Prashant Palikhe",github:"prashantpalikhe",twitter:"prashantpalikhe",modules:["ssr-lit"]},{name:"Steve Workman",github:"steveworkman",twitter:"steveworkman",modules:["ssr-lit"]},{name:"cpsoinos",github:"cpsoinos",modules:["nuxt-svgo"]},{name:"mvrlin",github:"mvrlin",modules:["nuxt-viewport"]},{name:"Kasun Vithanage",github:"kasvith",modules:["nuxt-vue3-google-signin"]},{name:"Jens van Hellemondt",github:"invictus-codes",modules:["nuxt-vuetify"]},{name:"Augustin MERCIER",github:"Gugustinette",modules:["nuxt3-leaflet"]},{name:"Joey Pereira",github:"Joepocalyptic",avatar:"https://avatars.githubusercontent.com/Joepocalyptic?v=4",modules:["particles"]},{name:"CodeDredd",github:"CodeDredd",modules:["pinia-orm"]},{name:"PraZ",github:"prazdevs",modules:["pinia-plugin-persistedstate"]},{name:"primefaces",github:"primefaces",twitter:"primevue",modules:["primevue"]},{name:"artmizu",github:"artmizu",modules:["prometheus"]},{name:"Developmint",github:"Developmint",modules:["purgecss"]},{name:"Ege İliklier",github:"Maiquu",modules:["quasar"]},{name:"Batuhan Göksu",github:"bbg",modules:["radash"]},{name:"Zernonia",github:"zernonia",twitter:"zernonia",modules:["radix-vue"]},{name:"Khairul Haaziq",github:"khairulhaaziq",modules:["radix-vue"]},{name:"Mujahid Anuar",github:"mujahidfa",modules:["radix-vue"]},{name:"Max",github:"onmax",modules:["radix-vue"]},{name:"Nicolas Hedger",github:"nhedger",twitter:"nicolashedger",modules:["resend"]},{name:"storyblok",github:"storyblok",modules:["storyblok"]},{name:"Chakir QATAB",github:"chakAs3",twitter:"ChakirQatab",modules:["storybook"]},{name:"Loic Fuentes",github:"fuentesloic",modules:["stripe-next"]},{name:"Vladimír Macháček",github:"Machy8",twitter:"8machy",modules:["stylify"]},{name:"Baptiste Leproux",github:"larbish",twitter:"baptistelprx",modules:["supabase"]},{name:"Scott Robertson",github:"scottrobertson",twitter:"scottymeuk",modules:["supabase"]},{name:"Christian Preston",github:"cpreston321",modules:["swiper"]},{name:"Inesh Bose",github:"ineshbose",modules:["tailwindcss"]},{name:"Alvaro Saburido",github:"alvarosabu",twitter:"alvarosabu",modules:["tresjs"]},{name:"Jaime Torrealba",github:"JaimeTorrealba",twitter:"jaimebboyjt",modules:["tresjs"]},{name:"Tino Koch",github:"Tinoooo",twitter:"ichbintino",modules:["tresjs"]},{name:"Yizack Rangel",github:"yizack",modules:["twemoji"]},{name:"Florent Bourgeois",github:"florentb",twitter:"florent_b",modules:["twicpics"]},{name:"Julian Aubourg",github:"jaubourg",twitter:"jaubourg",modules:["twicpics"]},{name:"Miguel Beignon",github:"mbgspcii",twitter:"m_beignon",modules:["twicpics"]},{name:"victorgarciaesgi",github:"victorgarciaesgi",modules:["typed-router"]},{name:"Macopedia",github:"macopedia",twitter:"macopediapl",modules:["typo3"]},{name:"Sylvain Marroufin",github:"smarroufin",twitter:"smarroufin",modules:["ui"]},{name:"ML",github:"ijkml",modules:["umami"]},{name:"Unic Ape",github:"unicape",modules:["use-wagmi"]},{name:"zhangmo8",github:"zhangmo8",modules:["varlet"]},{name:"Sam K",github:"samk-dev",modules:["vcalendar"]},{name:"Abdelrahman Awad",github:"logaretm",modules:["vee-validate"]},{name:"Alexander B.",github:"xanderbarkhatov",modules:["vercel-analytics"]},{name:"未觉雨声",github:"qmhc",twitter:"qmhc95",modules:["vexip-ui"]},{name:"David Arenas",github:"Dave136",twitter:"davejs4",avatar:"https://avatars.githubusercontent.com/u/49698182?v=4",modules:["vue-email"]},{name:"Younes Barrad",github:"Flowko",twitter:"imflowko",avatar:"https://avatars.githubusercontent.com/u/35883748?v=4",modules:["vue-email"]},{name:"Hunter Liu",github:"hunterliu1003",twitter:"hunterliu1003",modules:["vue-final-modal"]},{name:"三咲智子 Kevin Deng",github:"sxzz",twitter:"sanxiaozhizi",modules:["vue-macros"]},{name:"Maxim Morev",github:"MorevM",avatar:"https://avatars.githubusercontent.com/u/49679666?v=4",modules:["vue-transitions"]},{name:"epicmaxco",github:"epicmaxco",modules:["vuestic"]},{name:"Wide Angle Analytics by Input Objects GmbH",github:"inputobjects",modules:["wideangle"]},{name:"Jarek Rozanski",github:"jrozanski",modules:["wideangle"]},{name:"Lexpeartha",github:"Lexpeartha",twitter:"lexpeartha",modules:["xstate"]}],Mh=[{id:28706372,username:"danielroe",contributions:1370,modules:["algolia","appwrite","auth-utils","auto-animate","calendly","capo","color-mode","content-assets","content","cookie-control","devtools","fontaine","formkit","graphql-client","graphql-request","hanko","harlem","html-validator","i18n","icon-tw","icon","image","ionic","kinde","magic-regexp","maz-ui","nuxt-chatgpt","nuxt-jsonld","nuxt-monaco-editor","partytown","pinia","primevue","prismic","robots","sanity","security","sidebase-auth","storyblok","strapi","stripe-next","supabase","tailwindcss","time","tresjs","turnstile","twicpics","typed-router","ui","vant","vite-pwa-nuxt","vitest","vue-email","vue-final-modal","vuefire","vuetify-nuxt-module","vunix","web-vitals","windicss"]},{id:904724,username:"Atinux",contributions:1435,modules:["apollo","auth-utils","color-mode","content","device","devtools","directus","electron","form-actions","google-fonts","graphql-client","html-validator","i18n","icon-tw","icon","image","ionic","kinde","link-checker","lodash","logrocket","meilisearch","nuxt-mapbox","plausible","og-image","partytown","prismic","resend","sanity","storybook","strapi","studio","supabase","svg-sprite","tailwindcss","time","ui","vunix","web-vitals","windicss"]},{id:5326365,username:"harlan-zw",contributions:3693,modules:["content","delay-hydration","device","devtools","image","link-checker","logrocket","og-image","schema-org","seo-experiments","seo-kit","sidebase-auth","simple-robots","simple-sitemap","strapi","svg-sprite","tailwindcss","time","unhead","unlighthouse","windicss"]},{id:5158436,username:"pi0",contributions:410,modules:["algolia","color-mode","content","devtools","emotion","icon-tw","icon","icons","image","pinia","security","strapi","supabase","svg-sprite","tailwindcss","vitest","web-vitals","windicss"]},{id:640208,username:"manniL",contributions:59,modules:["apollo","content","devtools","emotion","google-adsense","html-validator","i18n","link-checker","partytown","prismic","purgecss","sidebase-auth","supabase","tailwindcss","vitest"]},{id:4778485,username:"dargmuesli",contributions:596,modules:["cookie-control","google-adsense","html-validator","i18n","link-checker","nupolyon","og-image","robots","schema-org","security","seo-experiments","seo-kit","turnstile","unhead","vite-pwa-nuxt"]},{id:1385263,username:"Tahul",contributions:381,modules:["algolia","color-mode","content","edgedb","icon-tw","icon","image","sanity","studio","tailwindcss"]},{id:11247099,username:"antfu",contributions:3666,modules:["color-mode","devtools","og-image","studio","tailwindcss","ui","unocss","vitest","vueuse","windicss"]},{id:739984,username:"benjamincanac",contributions:1805,modules:["color-mode","content","devtools","icon","strapi","supabase","tailwindcss","ui","vue-email"]},{id:48835293,username:"DamianGlowala",contributions:22,modules:["fontaine","formkit","i18n","image","ionic","radix-vue","security","supabase","tailwindcss"]},{id:27850750,username:"johannschopplich",contributions:1724,modules:["api-party","gtag","i18n","kql","plausible","prepare","unlazy","unocss"]},{id:6311119,username:"userquin",contributions:312,modules:["i18n","time","tresjs","unocss","vee-validate","vite-pwa-nuxt","vitest","vuetify-nuxt-module"]},{id:59223342,username:"Intevel",contributions:241,modules:["algolia","color-mode","directus","medusa","partytown","security","strapi"]},{id:45267552,username:"Barbapapazes",contributions:78,modules:["clarity-analytics","content","fontaine","link-checker","nuxt-payload-analyzer","schema-org","unlighthouse"]},{id:13064722,username:"ricardogobbosouza",contributions:340,modules:["emotion","eslint","google-fonts","purgecss","robots","stylelint","tailwindcss"]},{id:63512348,username:"huang-julien",contributions:13,modules:["cookie-control","devtools","html-validator","i18n","turnstile","vitest"]},{id:53905713,username:"BayBreezy",contributions:9,modules:["animejs","aos","authjs","radix-vue","strapi"]},{id:25272043,username:"kevinmarrec",contributions:24,modules:["apollo","content","purgecss","studio","supabase"]},{id:38922203,username:"arashsheyda",contributions:185,modules:["auth-utils","devtools","nuxt-mongoose","paypal","ui"]},{id:13395944,username:"Hebilicious",contributions:495,modules:["authjs","form-actions","server-block","use-wagmi","vue-query"]},{id:7547335,username:"smarroufin",contributions:70,modules:["color-mode","sanity","strapi","tailwindcss","ui"]},{id:2047945,username:"farnabaz",contributions:1339,modules:["content","google-adsense","image","studio","svg-sprite"]},{id:6619884,username:"cpreston321",contributions:93,modules:["devtools","graphql-client","swiper","umami","vue-email"]},{id:7290030,username:"larbish",contributions:340,modules:["icon","strapi","studio","supabase","ui"]},{id:83463097,username:"oumarbarry",contributions:11,modules:["ionic","nuxt-mongoose","quasar","supabase","use-wagmi"]},{id:37120330,username:"Baroshem",contributions:747,modules:["algolia","medusa","security","storyblok"]},{id:3911343,username:"stafyniaksacha",contributions:11,modules:["apollo","strapi","supabase","web-vitals"]},{id:32813692,username:"madebyfabian",contributions:104,modules:["calendly","cloudflare-analytics","radix-vue","turnstile"]},{id:1439623,username:"clemcode",contributions:125,modules:["content","devtools","image","studio"]},{id:3233370,username:"chz",contributions:8,modules:["cookie-control","prismic","stylify","tailwindcss"]},{id:6696789,username:"Flosciante",contributions:9,modules:["devtools","sanity","strapi","ui"]},{id:6649305,username:"BobbieGoede",contributions:81,modules:["devtools","i18n","seo-experiments","unhead"]},{id:12446546,username:"LouisMazel",contributions:2463,modules:["maz-ui","nuxt-gtm","prismic","well-known"]},{id:13403295,username:"yassilah",contributions:78,modules:["algolia","i18n","vitest"]},{id:19627670,username:"Diizzayy",contributions:323,modules:["apollo","graphql-client","logrocket"]},{id:35950229,username:"Hrdtr",contributions:184,modules:["appwrite","ionic","sidebase-auth"]},{id:13063165,username:"debs-obrien",contributions:16,modules:["color-mode","content","google-fonts"]},{id:2152968,username:"ThomOrlo",contributions:27,modules:["content","image","sanity"]},{id:1840026,username:"maximepvrt",contributions:16,modules:["content","og-image","studio"]},{id:42867097,username:"azrikahar",contributions:14,modules:["content","ionic","tailwindcss"]},{id:967369,username:"acidjazz",contributions:385,modules:["dayjs","tailvue","windicss"]},{id:15177236,username:"JoaoPedroAS51",contributions:8,modules:["dayjs","graphql-client","sidebase-auth"]},{id:12596485,username:"reslear",contributions:7,modules:["dayjs","image","seo-kit"]},{id:57059138,username:"OyewoleOyedeji",contributions:42,modules:["electron","nuxt-bootstrap-icons","nuxt-phosphor-icons"]},{id:73709188,username:"HigherOrderLogic",contributions:10,modules:["element-plus","seo-experiments","unhead"]},{id:18102267,username:"oritwoen",contributions:5,modules:["form-actions","strapi","ui"]},{id:1113278,username:"jiblett1000",contributions:7,modules:["google-fonts","strapi","tailwindcss"]},{id:5037600,username:"tobiasdiez",contributions:94,modules:["graphql-server","link-checker","og-image"]},{id:43365376,username:"Lexpeartha",contributions:104,modules:["harlem","ionic","xstate"]},{id:11289484,username:"AndreyYolkin",contributions:4,modules:["i18n","prometheus","sidebase-auth"]},{id:2703233,username:"toniengelhardt",contributions:4,modules:["icon-tw","icon","pinia-plugin-persistedstate"]},{id:25330882,username:"lihbr",contributions:263,modules:["image","nuxt-hue","prismic"]},{id:1674029,username:"michael-bouvy",contributions:17,modules:["nuxt-gtm","prismic","well-known"]},{id:2774075,username:"gaetansenn",contributions:231,modules:["nuxt-loco","vue3-carousel-nuxt","vunix"]},{id:30908158,username:"zoey-kaiser",contributions:67,modules:["nuxt-pdf","session","sidebase-auth"]},{id:25911230,username:"BracketJohn",contributions:201,modules:["nuxt-pdf","session","sidebase-auth"]},{id:664177,username:"posva",contributions:3859,modules:["pinia","vue-macros","vuefire"]},{id:39984251,username:"Mini-ghost",contributions:60,modules:["pinia","time","vue-final-modal"]},{id:10506522,username:"enkot",contributions:11,modules:["radix-vue","unocss","vitest"]},{id:65096948,username:"KyleSmith0905",contributions:4,modules:["seo-experiments","sidebase-auth","unhead"]},{id:7190600,username:"mitjans",contributions:4,modules:["stripe-next","supabase","tailwindcss"]},{id:400771,username:"jrutila",contributions:6,modules:["ui","vitest","vuetify-nuxt-module"]},{id:86659,username:"francois2metz",contributions:3,modules:["algolia","nuxt-vuetify"]},{id:50699657,username:"vanling",contributions:4,modules:["algolia","sidebase-auth"]},{id:2671726,username:"Triloworld",contributions:3,modules:["algolia","sanity"]},{id:9392723,username:"negezor",contributions:24,modules:["apollo","vue-final-modal"]},{id:2362138,username:"Gomah",contributions:114,modules:["apollo","graphql-request"]},{id:106826371,username:"selemondev",contributions:5,modules:["authjs","maz-ui"]},{id:1950463,username:"justin-schroeder",contributions:1373,modules:["auto-animate","formkit"]},{id:11545316,username:"luan-nk-nguyen",contributions:114,modules:["auto-animate","formkit"]},{id:7635209,username:"danielkellyio",contributions:6,modules:["auto-animate","pinia"]},{id:44045911,username:"kidonng",contributions:7,modules:["auto-animate","unocss"]},{id:17185737,username:"McPizza0",contributions:5,modules:["capo","hanko"]},{id:20434351,username:"jefrydco",contributions:5,modules:["color-mode","content"]},{id:45076741,username:"bdrtsky",contributions:13,modules:["color-mode","content"]},{id:132681,username:"davestewart",contributions:137,modules:["content-assets","vee-validate"]},{id:24830662,username:"mathe42",contributions:18,modules:["content","nuxt-mail"]},{id:411874,username:"cexbrayat",contributions:14,modules:["content","vee-validate"]},{id:15806356,username:"misaon",contributions:3,modules:["cookie-control","swiper"]},{id:2754728,username:"Jamiewarb",contributions:71,modules:["datocms","ionic"]},{id:11255009,username:"GaborTorma",contributions:19,modules:["dayjs","vuetify-nuxt-module"]},{id:3125972,username:"ram-you",contributions:3,modules:["delay-hydration","fontaine"]},{id:7460168,username:"jbmolle",contributions:3,modules:["delay-hydration","schema-org"]},{id:36569518,username:"markthree",contributions:3,modules:["device","pinia-plugin-persistedstate"]},{id:24970784,username:"mvrlin",contributions:53,modules:["device","nuxt-viewport"]},{id:35883748,username:"Flowko",contributions:162,modules:["devtools","vue-email"]},{id:22515951,username:"webfansplz",contributions:76,modules:["devtools","vueuse"]},{id:74846767,username:"Danielwinkelmann",contributions:17,modules:["directus","sidebase-auth"]},{id:13056429,username:"Sandros94",contributions:15,modules:["directus","stripe-next"]},{id:324026,username:"craigharman",contributions:31,modules:["directus","nuxt-localtunnel"]},{id:25717245,username:"modbender",contributions:36,modules:["disqus","snackbar"]},{id:23313167,username:"tolking",contributions:84,modules:["element-plus","vant"]},{id:28821368,username:"damisparks",contributions:3,modules:["eslint","google-fonts"]},{id:23550517,username:"alexbidenko",contributions:3,modules:["fontaine","security"]},{id:52390439,username:"ijkml",contributions:230,modules:["fontaine","umami"]},{id:34333374,username:"daniil4udo",contributions:17,modules:["formkit","lodash"]},{id:13543079,username:"qwe12e",contributions:3,modules:["google-fonts","pinia-orm"]},{id:35779884,username:"PanMisza",contributions:6,modules:["graphql-client","typo3"]},{id:153197,username:"rchl",contributions:6,modules:["graphql-client","i18n"]},{id:10992664,username:"P4sca1",contributions:89,modules:["headlessui","tailwindcss"]},{id:56732164,username:"ineshbose",contributions:66,modules:["i18n","tailwindcss"]},{id:2095133,username:"cjpearson",contributions:4,modules:["i18n","tailwindcss"]},{id:57781857,username:"Dlouxgit",contributions:3,modules:["icon-tw","icon"]},{id:15716057,username:"fayazara",contributions:3,modules:["icon-tw","icon"]},{id:79840527,username:"ace-of-aces",contributions:3,modules:["icon-tw","icon"]},{id:51883557,username:"iRaziul",contributions:3,modules:["icon-tw","icon"]},{id:57325448,username:"rubanp",contributions:3,modules:["icon-tw","icon"]},{id:28957605,username:"turulix",contributions:3,modules:["icon-tw","icon"]},{id:51122536,username:"tanerijun",contributions:3,modules:["icon-tw","icon"]},{id:1884246,username:"zaosoula",contributions:3,modules:["icon-tw","icon"]},{id:38621036,username:"devTeaa",contributions:3,modules:["icon-tw","icon"]},{id:11556276,username:"flozero",contributions:13,modules:["image","stripe-next"]},{id:763424,username:"florentb",contributions:6,modules:["image","twicpics"]},{id:15758406,username:"huynl-96",contributions:15,modules:["image","vueuse"]},{id:1270799,username:"DanielRivers",contributions:3,modules:["kinde","vue-email"]},{id:35431350,username:"ExEr7um",contributions:4,modules:["magic-regexp","vitest"]},{id:6775220,username:"gangsthub",contributions:3,modules:["maz-ui","vitest"]},{id:6861191,username:"runyasak",contributions:11,modules:["medusa","security"]},{id:10812694,username:"joewinger",contributions:3,modules:["meilisearch","simple-sitemap"]},{id:14868014,username:"tresko",contributions:81,modules:["module-feed","security"]},{id:112890430,username:"trijpstra-fourlights",contributions:27,modules:["nupolyon","security"]},{id:95148327,username:"helltraitor",contributions:207,modules:["nuxt-anchorscroll","nuxt-feedme"]},{id:8353081,username:"Boomgeek",contributions:63,modules:["nuxt-facebook-chat","nuxt-plotly"]},{id:26260104,username:"eduayme",contributions:7,modules:["nuxt-mapbox","ui"]},{id:6196533,username:"jd1378",contributions:34,modules:["nuxt-svgo","seo-kit"]},{id:5895389,username:"daliborgogic",contributions:69,modules:["nuxt3-interpolation","web-vitals"]},{id:17392251,username:"mrleblanc101",contributions:5,modules:["nuxt3-interpolation","stylelint"]},{id:41403842,username:"Novout",contributions:592,modules:["pdfeasy","ununuracss"]},{id:1574903,username:"hooray",contributions:3,modules:["pinia-plugin-persistedstate","vue-macros"]},{id:55788142,username:"floriankapaun",contributions:3,modules:["pinia-plugin-persistedstate","vitest"]},{id:30027636,username:"i5dr0id",contributions:9,modules:["pinia","vuefire"]},{id:17453452,username:"kirklin",contributions:9,modules:["pinia","unocss"]},{id:30652791,username:"dammy001",contributions:5,modules:["primevue","tailwindcss"]},{id:39938037,username:"mukundshah",contributions:7,modules:["radix-vue","tailvue"]},{id:59017897,username:"kn0wn",contributions:4,modules:["radix-vue","windicss"]},{id:7793873,username:"OlaAlsaker",contributions:3,modules:["sanity","vitest"]},{id:42739553,username:"YannicEl",contributions:3,modules:["sanity","windicss"]},{id:7902617,username:"csprance",contributions:3,modules:["security","sidebase-auth"]},{id:10244927,username:"tmlmt",contributions:3,modules:["security","umami"]},{id:11756007,username:"m7rlin",contributions:9,modules:["seo-experiments","unhead"]},{id:11322254,username:"IronicUsername",contributions:3,modules:["session","sidebase-auth"]},{id:2013388,username:"davidstackio",contributions:9,modules:["simple-sitemap","vuefire"]},{id:4699008,username:"alvarosabu",contributions:104,modules:["storyblok","tresjs"]},{id:61005888,username:"kuizuo",contributions:3,modules:["strapi","supabase"]},{id:34125897,username:"Stun3R",contributions:4,modules:["strapi","tailwindcss"]},{id:44983823,username:"andrewvasilchuk",contributions:7,modules:["svg-sprite","tailwindcss"]},{id:1881266,username:"iamandrewluca",contributions:6,modules:["tailwindcss","vee-validate"]},{id:16264115,username:"Yizack",contributions:106,modules:["turnstile","twemoji"]},{id:42139754,username:"zyyv",contributions:229,modules:["unocss","vuetify-nuxt-module"]},{id:19991745,username:"sibbng",contributions:198,modules:["unocss","vueuse"]},{id:29533304,username:"Dunqing",contributions:85,modules:["unocss","vue-macros"]},{id:22554452,username:"azaleta",contributions:26,modules:["unocss","vueuse"]},{id:6481596,username:"sxzz",contributions:1718,modules:["vue-macros","vueuse"]},{id:16024069,username:"adamberecz",contributions:1559,modules:["vueform-builder","vueform"]},{id:31937175,username:"Lehoczky",contributions:24,modules:["algolia"]},{id:71639887,username:"LoMonacoSalvatore",contributions:8,modules:["algolia"]},{id:5067135,username:"vilhelmjosander",contributions:8,modules:["algolia"]},{id:1218730,username:"Rigo-m",contributions:6,modules:["algolia"]},{id:6096645,username:"Laruxo",contributions:4,modules:["algolia"]},{id:342104,username:"podlebar",contributions:2,modules:["algolia"]},{id:977957,username:"camaech",contributions:2,modules:["algolia"]},{id:1060523,username:"digbyk",contributions:2,modules:["algolia"]},{id:49845356,username:"zal1000",contributions:2,modules:["algolia"]},{id:51852491,username:"ivodolenc",contributions:100,modules:["animejs"]},{id:45655660,username:"aibayanyu20",contributions:84,modules:["ant-design-vue"]},{id:19869755,username:"M4rcDev",contributions:2,modules:["ant-design-vue"]},{id:22946100,username:"egidiusmengelberg",contributions:54,modules:["aos"]},{id:30053061,username:"rubymignot",contributions:12,modules:["aos"]},{id:3409962,username:"killjoy1221",contributions:16,modules:["api-party"]},{id:1071091,username:"mbaertschi",contributions:2,modules:["api-party"]},{id:10401817,username:"brawaru",contributions:2,modules:["api-party"]},{id:13093313,username:"kieusonlam",contributions:332,modules:["apollo"]},{id:489221,username:"dohomi",contributions:270,modules:["apollo"]},{id:1344792,username:"orblazer",contributions:14,modules:["apollo"]},{id:2840504,username:"Hendrixer",contributions:12,modules:["apollo"]},{id:11846736,username:"pschaub",contributions:6,modules:["apollo"]},{id:8104244,username:"Fju",contributions:6,modules:["apollo"]},{id:6331737,username:"igtm",contributions:6,modules:["apollo"]},{id:4313116,username:"wulfmann",contributions:4,modules:["apollo"]},{id:92431,username:"mvgrimes",contributions:4,modules:["apollo"]},{id:29191131,username:"pepsighan",contributions:4,modules:["apollo"]},{id:132138,username:"stefl",contributions:4,modules:["apollo"]},{id:14890575,username:"bviala",contributions:4,modules:["apollo"]},{id:6222908,username:"zhanafe",contributions:4,modules:["apollo"]},{id:2766448,username:"AndrewBogdanovTSS",contributions:2,modules:["apollo"]},{id:867717,username:"chriscalo",contributions:2,modules:["apollo"]},{id:1349865,username:"dhritzkiv",contributions:2,modules:["apollo"]},{id:2647472,username:"Digni",contributions:2,modules:["apollo"]},{id:571159,username:"aldarund",contributions:2,modules:["apollo"]},{id:621454,username:"ducngtuan",contributions:2,modules:["apollo"]},{id:581678,username:"francoisp",contributions:2,modules:["apollo"]},{id:1808444,username:"bissolli",contributions:2,modules:["apollo"]},{id:25472916,username:"wiidede",contributions:112,modules:["arco-design-nuxt-module"]},{id:36906371,username:"iamdin",contributions:34,modules:["ark-ui"]},{id:50090595,username:"ahmedrangel",contributions:2,modules:["auth-utils"]},{id:22255990,username:"aksharahegde",contributions:2,modules:["auth-utils"]},{id:8012430,username:"Azurency",contributions:2,modules:["auth-utils"]},{id:12988935,username:"Gerbuuun",contributions:2,modules:["auth-utils"]},{id:17186421,username:"samulefevre",contributions:2,modules:["auth-utils"]},{id:18753964,username:"sifferhans",contributions:2,modules:["auth-utils"]},{id:67746033,username:"justserdar",contributions:2,modules:["auth-utils"]},{id:58686898,username:"AwesomeDude091",contributions:2,modules:["authjs"]},{id:12956751,username:"musikid",contributions:2,modules:["authjs"]},{id:9140811,username:"andreasvirkus",contributions:2,modules:["authjs"]},{id:5930734,username:"dissy123",contributions:2,modules:["authjs"]},{id:16452789,username:"nirtamir2",contributions:26,modules:["auto-animate"]},{id:2691730,username:"Waterstraal",contributions:16,modules:["auto-animate"]},{id:1720349,username:"FlatMapIO",contributions:6,modules:["auto-animate"]},{id:32803395,username:"benrandja-akram",contributions:6,modules:["auto-animate"]},{id:11185022,username:"AlexVipond",contributions:4,modules:["auto-animate"]},{id:24707417,username:"wangjue666",contributions:4,modules:["auto-animate"]},{id:61237195,username:"lukaszarpak",contributions:4,modules:["auto-animate"]},{id:3534427,username:"Link2Twenty",contributions:2,modules:["auto-animate"]},{id:22795807,username:"apenab",contributions:2,modules:["auto-animate"]},{id:6007292,username:"beenotung",contributions:2,modules:["auto-animate"]},{id:260431,username:"bengry",contributions:2,modules:["auto-animate"]},{id:28103674,username:"rodakd",contributions:2,modules:["auto-animate"]},{id:80443898,username:"GeraOSF",contributions:2,modules:["auto-animate"]},{id:124833,username:"carusog",contributions:2,modules:["auto-animate"]},{id:2974948,username:"jhubbardsf",contributions:2,modules:["auto-animate"]},{id:23322562,username:"KamilBeda",contributions:2,modules:["auto-animate"]},{id:599538,username:"verheyenkoen",contributions:2,modules:["auto-animate"]},{id:45705859,username:"zhengkyl",contributions:2,modules:["auto-animate"]},{id:83799,username:"evoactivity",contributions:2,modules:["auto-animate"]},{id:11494384,username:"markflorkowski",contributions:2,modules:["auto-animate"]},{id:2837147,username:"MentalGear",contributions:2,modules:["auto-animate"]},{id:24510745,username:"maico910",contributions:2,modules:["auto-animate"]},{id:43639707,username:"mohamedaleya",contributions:2,modules:["auto-animate"]},{id:107163858,username:"sanyamjain04",contributions:2,modules:["auto-animate"]},{id:16858097,username:"cszackrison",contributions:2,modules:["auto-animate"]},{id:29117090,username:"JulianMar",contributions:188,modules:["bugsnag"]},{id:1544760,username:"dritter",contributions:8,modules:["bugsnag"]},{id:251322,username:"mwidmann",contributions:2,modules:["bugsnag"]},{id:475137,username:"jasonparekh",contributions:2,modules:["bugsnag"]},{id:33683845,username:"Brinken90",contributions:4,modules:["calendly"]},{id:38668796,username:"productdevbook",contributions:70,modules:["chatwoot"]},{id:2246121,username:"pranavrajs",contributions:2,modules:["chatwoot"]},{id:35456489,username:"hamlogic",contributions:22,modules:["cloudflare-analytics"]},{id:6324332,username:"jankal",contributions:4,modules:["color-mode"]},{id:26418696,username:"adufr",contributions:2,modules:["color-mode"]},{id:5724535,username:"FelixGraf",contributions:2,modules:["color-mode"]},{id:43202397,username:"aerophobic",contributions:2,modules:["color-mode"]},{id:32184109,username:"rajaaltus",contributions:2,modules:["color-mode"]},{id:23402178,username:"TheLearneer",contributions:2,modules:["color-mode"]},{id:6261271,username:"Kolahzary",contributions:2,modules:["color-mode"]},{id:6967412,username:"szwenni",contributions:2,modules:["color-mode"]},{id:770560,username:"Knogobert",contributions:2,modules:["color-mode"]},{id:68200738,username:"tikkeninc",contributions:2,modules:["color-mode"]},{id:26242554,username:"Luferov",contributions:2,modules:["color-mode"]},{id:4312154,username:"clarkdo",contributions:2,modules:["color-mode"]},{id:51456572,username:"ga676005",contributions:2,modules:["color-mode"]},{id:48633842,username:"hamsoover",contributions:2,modules:["color-mode"]},{id:1246641,username:"ThomasWT",contributions:4,modules:["content-assets"]},{id:1467123,username:"imphil",contributions:2,modules:["content-assets"]},{id:44443899,username:"nobkd",contributions:60,modules:["content"]},{id:16436160,username:"NozomuIkuta",contributions:44,modules:["content"]},{id:18027877,username:"cogor",contributions:30,modules:["content"]},{id:4084277,username:"alexchopin",contributions:16,modules:["content"]},{id:9429420,username:"Geminii",contributions:6,modules:["content"]},{id:2198527,username:"AlexanderBelokon",contributions:6,modules:["content"]},{id:5704043,username:"Qwertovsky",contributions:6,modules:["content"]},{id:59682979,username:"utamori",contributions:6,modules:["content"]},{id:4836334,username:"bencodezen",contributions:4,modules:["content"]},{id:25792848,username:"darioferderber",contributions:204,modules:["cookie-control"]},{id:4638669,username:"tomfri",contributions:6,modules:["cookie-control"]},{id:1590095,username:"alexandrecanijo",contributions:4,modules:["cookie-control"]},{id:8450519,username:"oneWaveAdrian",contributions:4,modules:["cookie-control"]},{id:3023969,username:"AlexNimoy",contributions:2,modules:["cookie-control"]},{id:612946,username:"gilles6",contributions:2,modules:["cookie-control"]},{id:78584173,username:"hslee2008",contributions:2,modules:["cookie-control"]},{id:1417473,username:"devzom",contributions:2,modules:["cookie-control"]},{id:74457237,username:"matt-rolley",contributions:2,modules:["cookie-control"]},{id:34566290,username:"MaySoMusician",contributions:2,modules:["cookie-control"]},{id:28047867,username:"milos5593",contributions:2,modules:["cookie-control"]},{id:40442783,username:"onurdumangoz",contributions:2,modules:["cookie-control"]},{id:5302658,username:"patriciorivera",contributions:2,modules:["cookie-control"]},{id:85927,username:"raducretu",contributions:2,modules:["cookie-control"]},{id:65167772,username:"roy-pon",contributions:2,modules:["cookie-control"]},{id:105625087,username:"SampoVirmasalo",contributions:2,modules:["cookie-control"]},{id:59170152,username:"KerneggerTim",contributions:2,modules:["cookie-control"]},{id:64546764,username:"VentsislavBorislavov",contributions:2,modules:["cookie-control"]},{id:1240104,username:"kukac7",contributions:2,modules:["cookie-control"]},{id:47293315,username:"den-kar",contributions:2,modules:["cookie-control"]},{id:59049879,username:"ensag-dev",contributions:2,modules:["cookie-control"]},{id:99841792,username:"marcusarnfast",contributions:2,modules:["cookie-control"]},{id:25689856,username:"Morgbn",contributions:66,modules:["csurf"]},{id:22666637,username:"bensherred",contributions:2,modules:["datocms"]},{id:2212056,username:"jb-alvarado",contributions:16,modules:["dayjs"]},{id:103981778,username:"jeevanya",contributions:2,modules:["dayjs"]},{id:16275591,username:"s8n11c",contributions:2,modules:["delay-hydration"]},{id:22586260,username:"hieu-ht",contributions:2,modules:["delay-hydration"]},{id:70710,username:"mbreit",contributions:2,modules:["delay-hydration"]},{id:15785987,username:"samydoesit",contributions:2,modules:["delay-hydration"]},{id:370602,username:"dotneet",contributions:244,modules:["device"]},{id:25185835,username:"Redemption198",contributions:66,modules:["device"]},{id:9975630,username:"nachogarcia",contributions:12,modules:["device"]},{id:12392573,username:"randompch",contributions:10,modules:["device"]},{id:4074597,username:"MikeCaputo",contributions:8,modules:["device"]},{id:20489824,username:"MaxNvk",contributions:4,modules:["device"]},{id:13103045,username:"iliyaZelenko",contributions:4,modules:["device"]},{id:11496358,username:"aayushgoyal",contributions:2,modules:["device"]},{id:13887407,username:"apgapg",contributions:2,modules:["device"]},{id:24225949,username:"b-jan",contributions:2,modules:["device"]},{id:11614639,username:"JasonGotGithub",contributions:2,modules:["device"]},{id:1658644,username:"LeCoupa",contributions:2,modules:["device"]},{id:54757902,username:"imlautaro",contributions:2,modules:["device"]},{id:6993514,username:"potato4d",contributions:2,modules:["device"]},{id:14403446,username:"vodnicearv",contributions:2,modules:["device"]},{id:654889,username:"yshrsmz",contributions:2,modules:["device"]},{id:1970283,username:"aggre",contributions:2,modules:["device"]},{id:17667652,username:"hareku",contributions:2,modules:["device"]},{id:29743310,username:"Jannchie",contributions:14,modules:["devtools"]},{id:1240374,username:"lustremedia",contributions:14,modules:["devtools"]},{id:39936160,username:"qiuqfang",contributions:6,modules:["devtools"]},{id:54026110,username:"Lmmmmmm-bb",contributions:6,modules:["devtools"]},{id:59717852,username:"zuixinwang",contributions:6,modules:["devtools"]},{id:11806619,username:"withyellow",contributions:4,modules:["devtools"]},{id:79358543,username:"zackha",contributions:4,modules:["devtools"]},{id:60472462,username:"abhay-111",contributions:2,modules:["devtools"]},{id:380026,username:"ambroisemaupate",contributions:2,modules:["devtools"]},{id:55608642,username:"BluesYoung-web",contributions:2,modules:["devtools"]},{id:18496305,username:"CSY54",contributions:2,modules:["devtools"]},{id:60586899,username:"claranceliberi",contributions:2,modules:["devtools"]},{id:23231126,username:"Clive-Ward-Cron",contributions:2,modules:["devtools"]},{id:1493221,username:"cuebit",contributions:2,modules:["devtools"]},{id:93563771,username:"codiam",contributions:44,modules:["directus"]},{id:85650530,username:"casualmatt",contributions:28,modules:["directus"]},{id:3519378,username:"amerkay",contributions:14,modules:["directus"]},{id:8554558,username:"NMathar",contributions:6,modules:["directus"]},{id:15140041,username:"rashidpathiyil",contributions:6,modules:["directus"]},{id:47723417,username:"xNaCly",contributions:6,modules:["directus"]},{id:80765270,username:"VicFleur",contributions:2,modules:["directus"]},{id:24437987,username:"linkb15",contributions:2,modules:["directus"]},{id:38366502,username:"ranseur92",contributions:2,modules:["directus"]},{id:7526014,username:"dwaring87",contributions:2,modules:["directus"]},{id:52180080,username:"florianjs",contributions:2,modules:["directus"]},{id:946853,username:"scherii",contributions:2,modules:["directus"]},{id:10852176,username:"halwesit",contributions:2,modules:["directus"]},{id:303791,username:"JereMiO",contributions:2,modules:["directus"]},{id:1553757,username:"mklueh",contributions:2,modules:["directus"]},{id:1492215,username:"Nainterceptor",contributions:2,modules:["directus"]},{id:2711970,username:"ymilhahn",contributions:2,modules:["directus"]},{id:17858793,username:"dochoss",contributions:2,modules:["directus"]},{id:18407632,username:"drennvinn",contributions:2,modules:["directus"]},{id:26263658,username:"caoxiemeihao",contributions:168,modules:["electron"]},{id:32047986,username:"gurvancampion",contributions:2,modules:["electron"]},{id:8638243,username:"jofftiquez",contributions:2,modules:["electron"]},{id:58381667,username:"so1ve",contributions:2,modules:["electron"]},{id:15975785,username:"jw-foss",contributions:2,modules:["element-plus"]},{id:7093483,username:"kakajansh",contributions:2,modules:["element-plus"]},{id:1385160,username:"foxted",contributions:2,modules:["element-plus"]},{id:21237954,username:"codebender828",contributions:88,modules:["emotion"]},{id:6134547,username:"yoyo837",contributions:2,modules:["eslint"]},{id:7900646,username:"arikw",contributions:2,modules:["eslint"]},{id:1154044,username:"rlam3",contributions:2,modules:["eslint"]},{id:82750477,username:"guy-confetti",contributions:2,modules:["fontaine"]},{id:2691946,username:"abernh",contributions:2,modules:["form-actions"]},{id:55502199,username:"EvanSchleret",contributions:2,modules:["form-actions"]},{id:52015,username:"jangxyz",contributions:2,modules:["form-actions"]},{id:2946356,username:"andrew-boyd",contributions:368,modules:["formkit"]},{id:14954720,username:"GustavoFenilli",contributions:160,modules:["formkit"]},{id:50585039,username:"sashamilenkovic",contributions:128,modules:["formkit"]},{id:1268538,username:"chrisladams",contributions:20,modules:["formkit"]},{id:2567,username:"tmm1",contributions:10,modules:["formkit"]},{id:1735944,username:"CavalcanteLeo",contributions:10,modules:["formkit"]},{id:4084527,username:"riderx",contributions:10,modules:["formkit"]},{id:2241624,username:"lennartzellmer",contributions:10,modules:["formkit"]},{id:4098997,username:"devoidofgenius",contributions:8,modules:["formkit"]},{id:5167994,username:"aresofficial",contributions:8,modules:["formkit"]},{id:16470866,username:"xxSkyy",contributions:6,modules:["formkit"]},{id:50772478,username:"gbyesiltas",contributions:6,modules:["formkit"]},{id:39409783,username:"parafeu",contributions:4,modules:["formkit"]},{id:10572554,username:"arjendejong12",contributions:4,modules:["formkit"]},{id:5445094,username:"dominikklein",contributions:4,modules:["formkit"]},{id:11798239,username:"Archetipo95",contributions:4,modules:["formkit"]},{id:38756142,username:"markusgeert",contributions:4,modules:["formkit"]},{id:13098848,username:"chiquyet199",contributions:4,modules:["formkit"]},{id:8686628,username:"santi",contributions:4,modules:["formkit"]},{id:16173870,username:"sheremet-va",contributions:4,modules:["formkit"]},{id:19146698,username:"lavolpecheprogramma",contributions:4,modules:["formkit"]},{id:20444343,username:"agenordebriat",contributions:2,modules:["formkit"]},{id:1063127,username:"antbrl",contributions:2,modules:["formkit"]},{id:38622893,username:"ByMykel",contributions:2,modules:["formkit"]},{id:2781561,username:"tmorehouse",contributions:42,modules:["google-adsense"]},{id:614675,username:"1hakr",contributions:4,modules:["google-adsense"]},{id:223555,username:"3dd13",contributions:2,modules:["google-adsense"]},{id:63487995,username:"rexarvind",contributions:2,modules:["google-adsense"]},{id:8341848,username:"bennettfrazier",contributions:2,modules:["google-adsense"]},{id:34982358,username:"Eternal-Rise",contributions:2,modules:["google-adsense"]},{id:454310,username:"javray",contributions:2,modules:["google-adsense"]},{id:47635466,username:"seosmmbusiness",contributions:2,modules:["google-adsense"]},{id:40721155,username:"kylegl",contributions:2,modules:["google-adsense"]},{id:14026732,username:"myagizguler",contributions:2,modules:["google-adsense"]},{id:20928689,username:"MatWaligora",contributions:2,modules:["google-adsense"]},{id:2802354,username:"khoazero123",contributions:2,modules:["google-adsense"]},{id:88871226,username:"mirumirumi",contributions:2,modules:["google-adsense"]},{id:3871688,username:"kara",contributions:10,modules:["google-fonts"]},{id:715491,username:"borisdayma",contributions:4,modules:["google-fonts"]},{id:12446271,username:"cesaramirez",contributions:2,modules:["google-fonts"]},{id:1306576,username:"LostCrew",contributions:2,modules:["google-fonts"]},{id:39669357,username:"Mixerou",contributions:2,modules:["google-fonts"]},{id:34955679,username:"xanzhu",contributions:2,modules:["google-fonts"]},{id:35804265,username:"afflexux",contributions:2,modules:["google-fonts"]},{id:2278938,username:"AveryBibeau",contributions:4,modules:["graphql-client"]},{id:4119508,username:"jonian",contributions:4,modules:["graphql-client"]},{id:378974,username:"boboldehampsink",contributions:2,modules:["graphql-client"]},{id:4178083,username:"lorenzofaresin",contributions:2,modules:["graphql-client"]},{id:1668207,username:"TheDutchCoder",contributions:2,modules:["graphql-client"]},{id:5918348,username:"samturrell",contributions:28,modules:["graphql-request"]},{id:6460348,username:"zsavajji",contributions:2,modules:["graphql-request"]},{id:17232297,username:"Blindpupil",contributions:2,modules:["graphql-request"]},{id:475015,username:"drewbaker",contributions:2,modules:["graphql-request"]},{id:20305403,username:"narduin",contributions:2,modules:["graphql-request"]},{id:55853254,username:"nicktrn",contributions:2,modules:["graphql-request"]},{id:48126337,username:"sduduzog",contributions:4,modules:["graphql-server"]},{id:6721822,username:"zeferinix",contributions:2,modules:["graphql-server"]},{id:35566481,username:"warlock1996",contributions:2,modules:["html-validator"]},{id:36807675,username:"kota-nakagawa",contributions:2,modules:["html-validator"]},{id:5963574,username:"nathanchase",contributions:2,modules:["html-validator"]},{id:45289373,username:"ryoheiw",contributions:2,modules:["html-validator"]},{id:11621780,username:"MoogyG",contributions:2,modules:["html-validator"]},{id:12776732,username:"zhuoqi-chen",contributions:2,modules:["html-validator"]},{id:61966716,username:"hbanham",contributions:2,modules:["html-validator"]},{id:9987732,username:"roiLeo",contributions:2,modules:["html-validator"]},{id:72989,username:"kazupon",contributions:754,modules:["i18n"]},{id:8896043,username:"borghol",contributions:6,modules:["i18n"]},{id:26435307,username:"Mosaab-Emam",contributions:4,modules:["i18n"]},{id:11198968,username:"TakCastel",contributions:4,modules:["i18n"]},{id:29367025,username:"wxh06",contributions:4,modules:["i18n"]},{id:1079135,username:"adriaanvanrossum",contributions:2,modules:["i18n"]},{id:1065569,username:"deepfriedmind",contributions:2,modules:["i18n"]},{id:1233149,username:"kovtunos",contributions:2,modules:["i18n"]},{id:64915763,username:"Simlor",contributions:2,modules:["i18n"]},{id:20292854,username:"imslepov",contributions:2,modules:["i18n"]},{id:2863444,username:"xfq",contributions:2,modules:["i18n"]},{id:17165633,username:"gffelisberto",contributions:2,modules:["i18n"]},{id:1069998,username:"ilkome",contributions:2,modules:["i18n"]},{id:28648060,username:"issenn",contributions:2,modules:["i18n"]},{id:11078941,username:"karam12",contributions:2,modules:["i18n"]},{id:20535974,username:"coremyslo",contributions:34,modules:["icon-font"]},{id:1094820,username:"JohnCampionJr",contributions:14,modules:["icon-tw"]},{id:77613333,username:"pixelastronauts",contributions:2,modules:["icon"]},{id:24279375,username:"gitFoxCode",contributions:68,modules:["icons"]},{id:47575319,username:"ghettoDdOS",contributions:6,modules:["icons"]},{id:48382105,username:"shba007",contributions:2,modules:["icons"]},{id:1109781,username:"tdekoning",contributions:2,modules:["icons"]},{id:21211734,username:"shadow81627",contributions:12,modules:["image"]},{id:13734256,username:"daletom",contributions:8,modules:["image"]},{id:3385679,username:"btkostner",contributions:6,modules:["image"]},{id:45005369,username:"ArmanNik",contributions:4,modules:["image"]},{id:41453547,username:"codeflorist",contributions:4,modules:["image"]},{id:10297,username:"jdempster",contributions:4,modules:["image"]},{id:6650139,username:"mayashavin",contributions:4,modules:["image"]},{id:6342102,username:"dosstx",contributions:4,modules:["image"]},{id:44122984,username:"PawFV",contributions:4,modules:["image"]},{id:5408097,username:"treboryx",contributions:4,modules:["image"]},{id:5109593,username:"Tragio",contributions:4,modules:["image"]},{id:40848950,username:"abhinavr4",contributions:4,modules:["image"]},{id:30387148,username:"niuyi1017",contributions:4,modules:["image"]},{id:18303390,username:"the94air",contributions:2,modules:["image"]},{id:2150306,username:"apollonian",contributions:2,modules:["image"]},{id:6179477,username:"alexgrozav",contributions:166,modules:["inkline"]},{id:40367173,username:"ceceliacreates",contributions:2,modules:["ionic"]},{id:10882793,username:"justRau",contributions:2,modules:["ionic"]},{id:34509813,username:"Mw3y",contributions:2,modules:["ionic"]},{id:192291,username:"tlebeitsuk",contributions:2,modules:["ionic"]},{id:6277206,username:"patrickcate",contributions:440,modules:["jsonapi"]},{id:12933109,username:"r9mp",contributions:2,modules:["jsonapi"]},{id:1312905,username:"DaveOrDead",contributions:10,modules:["kinde"]},{id:5681075,username:"grommas",contributions:2,modules:["kql"]},{id:78511840,username:"sot1986",contributions:32,modules:["laravel-precognition"]},{id:60187259,username:"cipami",contributions:78,modules:["lodash"]},{id:128857,username:"marshallswain",contributions:2,modules:["lodash"]},{id:19854715,username:"farzadso",contributions:738,modules:["logrocket"]},{id:498465,username:"gaelreyrol",contributions:2,modules:["logrocket"]},{id:32785527,username:"masayuki-tsuji",contributions:2,modules:["logrocket"]},{id:3475007,username:"JaZo",contributions:22,modules:["lucide-icons"]},{id:5618114,username:"drprofesq",contributions:4,modules:["lucide-icons"]},{id:29917252,username:"didavid61202",contributions:28,modules:["magic-regexp"]},{id:7966133,username:"aykutkardas",contributions:2,modules:["magic-regexp"]},{id:6822545,username:"ccjmne",contributions:2,modules:["magic-regexp"]},{id:42563517,username:"krowter",contributions:2,modules:["magic-regexp"]},{id:65339558,username:"xRSquared",contributions:2,modules:["magic-regexp"]},{id:30072175,username:"yjl9903",contributions:2,modules:["magic-regexp"]},{id:35442047,username:"kongmoumou",contributions:2,modules:["magic-regexp"]},{id:70888488,username:"zoeyzhao19",contributions:2,modules:["magic-regexp"]},{id:2184726,username:"dnyer11",contributions:2,modules:["maz-ui"]},{id:3728536,username:"jorgevrgs",contributions:2,modules:["maz-ui"]},{id:26676061,username:"malikdoksoz",contributions:2,modules:["maz-ui"]},{id:26164755,username:"oketafred",contributions:2,modules:["maz-ui"]},{id:398400,username:"pboos",contributions:2,modules:["maz-ui"]},{id:9120634,username:"mkt4ever",contributions:2,modules:["maz-ui"]},{id:16154728,username:"dimitrio-m",contributions:4,modules:["medusa"]},{id:13703238,username:"carpad88",contributions:2,modules:["medusa"]},{id:13418668,username:"xlanex6",contributions:214,modules:["meilisearch"]},{id:500843,username:"gleb-svechnikov",contributions:4,modules:["meilisearch"]},{id:5947268,username:"miguelgargallo",contributions:2,modules:["meilisearch"]},{id:10667160,username:"adenvt",contributions:120,modules:["nupolyon"]},{id:6690063,username:"manchenkoff",contributions:88,modules:["nuxt-auth-sanctum"]},{id:1983246,username:"kgierke",contributions:30,modules:["nuxt-basic-auth"]},{id:20330303,username:"SchnapsterDog",contributions:80,modules:["nuxt-chatgpt"]},{id:56158280,username:"AbdelH2O",contributions:2,modules:["nuxt-chatgpt"]},{id:4155003,username:"dulnan",contributions:278,modules:["nuxt-graphql-middleware"]},{id:432045,username:"ayalon",contributions:26,modules:["nuxt-graphql-middleware"]},{id:28696621,username:"ymmooot",contributions:1502,modules:["nuxt-jsonld"]},{id:7464929,username:"TeXmeijin",contributions:8,modules:["nuxt-jsonld"]},{id:17243595,username:"RyoNkmr",contributions:6,modules:["nuxt-jsonld"]},{id:472923,username:"quamsta",contributions:2,modules:["nuxt-jsonld"]},{id:837651,username:"jmyrland",contributions:2,modules:["nuxt-jsonld"]},{id:2091290,username:"reinoldus",contributions:2,modules:["nuxt-jsonld"]},{id:7361247,username:"tjkohli",contributions:2,modules:["nuxt-jsonld"]},{id:7507294,username:"yamotuki",contributions:2,modules:["nuxt-jsonld"]},{id:13484795,username:"dword-design",contributions:80,modules:["nuxt-mail"]},{id:65916846,username:"actions-user",contributions:38,modules:["nuxt-mail"]},{id:15963871,username:"Skyline96",contributions:2,modules:["nuxt-mail"]},{id:25974953,username:"test123456789012345",contributions:2,modules:["nuxt-mail"]},{id:9439243,username:"AlexLavoie42",contributions:746,modules:["nuxt-mapbox"]},{id:38594674,username:"ElvisGmz",contributions:2,modules:["nuxt-mapbox"]},{id:8896149,username:"ERPedersen",contributions:34,modules:["nuxt-mdi"]},{id:23521568,username:"e-chan1007",contributions:204,modules:["nuxt-monaco-editor"]},{id:31401273,username:"7PH",contributions:2,modules:["nuxt-monaco-editor"]},{id:9212274,username:"KABBOUCHI",contributions:2,modules:["nuxt-monaco-editor"]},{id:58112571,username:"starnayuta",contributions:2,modules:["nuxt-monaco-editor"]},{id:45233617,username:"joypal23jkp",contributions:2,modules:["nuxt-mongoose"]},{id:71969684,username:"amir-al-mohamad111",contributions:2,modules:["nuxt-mongoose"]},{id:21025134,username:"hymair",contributions:2,modules:["plausible"]},{id:36746429,username:"stefanobartoletti",contributions:200,modules:["nuxt-social-share"]},{id:2657709,username:"prashantpalikhe",contributions:106,modules:["ssr-lit"]},{id:994905,username:"steveworkman",contributions:60,modules:["ssr-lit"]},{id:40413829,username:"augustjk",contributions:2,modules:["ssr-lit"]},{id:10081464,username:"cpsoinos",contributions:84,modules:["nuxt-svgo"]},{id:134087665,username:"Dotmot",contributions:2,modules:["nuxt-svgo"]},{id:43762190,username:"josuelrocha",contributions:2,modules:["nuxt-svgo"]},{id:31704887,username:"letavocado",contributions:2,modules:["nuxt-svgo"]},{id:28987123,username:"ploca14",contributions:2,modules:["nuxt-viewport"]},{id:71973480,username:"gartonot",contributions:2,modules:["nuxt-viewport"]},{id:13379595,username:"kasvith",contributions:68,modules:["nuxt-vue3-google-signin"]},{id:47124570,username:"jvhellemondt",contributions:170,modules:["nuxt-vuetify"]},{id:26455591,username:"almahari",contributions:6,modules:["nuxt-vuetify"]},{id:63470020,username:"Gugustinette",contributions:98,modules:["nuxt3-leaflet"]},{id:2629739,username:"juno-w",contributions:4,modules:["og-image"]},{id:94787322,username:"aoor9",contributions:2,modules:["og-image"]},{id:7954293,username:"ucw",contributions:2,modules:["og-image"]},{id:42530725,username:"Joepocalyptic",contributions:36,modules:["particles"]},{id:6809809,username:"CodeDredd",contributions:576,modules:["pinia-orm"]},{id:118949383,username:"CarlosGamez-Nova",contributions:10,modules:["pinia-orm"]},{id:5176891,username:"tklaas",contributions:6,modules:["pinia-orm"]},{id:24190849,username:"tintin10q",contributions:4,modules:["pinia-orm"]},{id:6653185,username:"CarstenRuetz",contributions:2,modules:["pinia-orm"]},{id:56247129,username:"tripplicate",contributions:2,modules:["pinia-orm"]},{id:3520658,username:"igolka97",contributions:2,modules:["pinia-orm"]},{id:7502718,username:"liviuzachin",contributions:2,modules:["pinia-orm"]},{id:6750786,username:"mahmoudawadeen",contributions:2,modules:["pinia-orm"]},{id:1157401,username:"paolodina",contributions:2,modules:["pinia-orm"]},{id:5169543,username:"daniser",contributions:2,modules:["pinia-orm"]},{id:64213648,username:"sergerdn",contributions:2,modules:["pinia-orm"]},{id:29234377,username:"yyydevf",contributions:2,modules:["pinia-orm"]},{id:1631886,username:"prazdevs",contributions:842,modules:["pinia-plugin-persistedstate"]},{id:61290107,username:"N0tExisting",contributions:6,modules:["pinia-plugin-persistedstate"]},{id:98140702,username:"cloudmoonocus",contributions:6,modules:["pinia-plugin-persistedstate"]},{id:24972677,username:"chris-si",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:20186786,username:"lakuapik",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:608727,username:"Emory-M",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:32257184,username:"furkan-guvenc",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:105258159,username:"henriquevschroeder",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:58051684,username:"ivanq3w",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:73585109,username:"Kiansa",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:93523064,username:"MZ-Dlovely",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:97374,username:"proton",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:19306904,username:"sevsev9",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:28395172,username:"Svenlooo",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:13981214,username:"TobyMosque",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:11721361,username:"ajenkins-cargometrics",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:29780558,username:"lvsong77",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:28183123,username:"wukong-c",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:73663860,username:"xucxichcao",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:7400870,username:"Megasu",contributions:2,modules:["pinia-plugin-persistedstate"]},{id:3766839,username:"nicodevs",contributions:28,modules:["pinia"]},{id:57580045,username:"wangenze267",contributions:12,modules:["pinia"]},{id:29396513,username:"Akhigbe-E",contributions:10,modules:["pinia"]},{id:46400789,username:"JeraldVin",contributions:8,modules:["pinia"]},{id:26253657,username:"niceplugin",contributions:8,modules:["pinia"]},{id:97254921,username:"tannazma",contributions:6,modules:["pinia"]},{id:41575890,username:"taist24",contributions:6,modules:["pinia"]},{id:10359255,username:"lazzzis",contributions:6,modules:["pinia"]},{id:24556921,username:"jeremygoccc",contributions:6,modules:["pinia"]},{id:27756206,username:"bashunaimiroy",contributions:4,modules:["pinia"]},{id:22983604,username:"BenShelton",contributions:4,modules:["pinia"]},{id:1223583,username:"bodograumann",contributions:4,modules:["pinia"]},{id:5460365,username:"DannyFeliz",contributions:4,modules:["pinia"]},{id:8009774,username:"davidshq",contributions:4,modules:["pinia"]},{id:499550,username:"yyx990803",contributions:4,modules:["pinia"]},{id:40666434,username:"WalkAlone0325",contributions:4,modules:["pinia"]},{id:31730646,username:"BlackCrowxyz",contributions:4,modules:["pinia"]},{id:22591269,username:"tkint",contributions:4,modules:["pinia"]},{id:360,username:"tslocke",contributions:4,modules:["pinia"]},{id:11868120,username:"mertsincan",contributions:114,modules:["primevue"]},{id:32294991,username:"tugcekucukoglu",contributions:8,modules:["primevue"]},{id:71143978,username:"jamespeggsh",contributions:90,modules:["prismic"]},{id:894505,username:"jamespegg",contributions:22,modules:["prismic"]},{id:6568065,username:"hypervillain",contributions:8,modules:["prismic"]},{id:6861048,username:"andypattenden",contributions:2,modules:["prismic"]},{id:8632276,username:"carlos-avila",contributions:2,modules:["prismic"]},{id:47417929,username:"Brewd3v",contributions:2,modules:["prismic"]},{id:32859437,username:"pvpg",contributions:2,modules:["prismic"]},{id:43381242,username:"priyaprafful",contributions:2,modules:["prismic"]},{id:9093671,username:"sergaks",contributions:2,modules:["prismic"]},{id:23378741,username:"tosbatti",contributions:2,modules:["prismic"]},{id:5988959,username:"arnaudlewis",contributions:2,modules:["prismic"]},{id:12496464,username:"artmizu",contributions:84,modules:["prometheus"]},{id:9136206,username:"Tchoupinax",contributions:2,modules:["prometheus"]},{id:5757263,username:"simllll",contributions:6,modules:["purgecss"]},{id:16958684,username:"bovas85",contributions:2,modules:["purgecss"]},{id:9549394,username:"studnitz",contributions:2,modules:["purgecss"]},{id:314872,username:"trecenti",contributions:2,modules:["purgecss"]},{id:1055769,username:"homerjam",contributions:2,modules:["purgecss"]},{id:8327054,username:"lecoueyl",contributions:2,modules:["purgecss"]},{id:34612598,username:"matschik",contributions:2,modules:["purgecss"]},{id:20733354,username:"miyanokomiya",contributions:2,modules:["purgecss"]},{id:37181247,username:"Maiquu",contributions:342,modules:["quasar"]},{id:15127381,username:"JasonLandbridge",contributions:18,modules:["quasar"]},{id:65054864,username:"cusitosr88",contributions:2,modules:["quasar"]},{id:13348876,username:"bbg",contributions:4,modules:["radash"]},{id:59365435,username:"zernonia",contributions:622,modules:["radix-vue"]},{id:101852870,username:"khairulhaaziq",contributions:324,modules:["radix-vue"]},{id:17759705,username:"mujahidfa",contributions:24,modules:["radix-vue"]},{id:51422045,username:"MellKam",contributions:22,modules:["radix-vue"]},{id:22072217,username:"onmax",contributions:14,modules:["radix-vue"]},{id:15260226,username:"kdnk",contributions:6,modules:["radix-vue"]},{id:47918504,username:"libondev",contributions:4,modules:["radix-vue"]},{id:20674057,username:"misbahansori",contributions:4,modules:["radix-vue"]},{id:17789047,username:"sadeghbarati",contributions:4,modules:["radix-vue"]},{id:75085249,username:"npldevfr",contributions:4,modules:["radix-vue"]},{id:37807381,username:"uyloal",contributions:4,modules:["radix-vue"]},{id:78960201,username:"aboubakrbm",contributions:2,modules:["radix-vue"]},{id:44473671,username:"D-Lite",contributions:2,modules:["radix-vue"]},{id:6420600,username:"DennisSmuda",contributions:2,modules:["radix-vue"]},{id:2422019,username:"edtorba",contributions:2,modules:["radix-vue"]},{id:8169933,username:"glennlaysonjr",contributions:2,modules:["radix-vue"]},{id:290496,username:"lepture",contributions:2,modules:["radix-vue"]},{id:56622402,username:"pkrinesh",contributions:2,modules:["radix-vue"]},{id:80677,username:"messenjer",contributions:2,modules:["radix-vue"]},{id:2727095,username:"steakscience",contributions:2,modules:["radix-vue"]},{id:13650518,username:"sdq-sts",contributions:2,modules:["radix-vue"]},{id:7533849,username:"tristandubbeld",contributions:2,modules:["radix-vue"]},{id:20427094,username:"owlnai",contributions:2,modules:["radix-vue"]},{id:649677,username:"nhedger",contributions:16,modules:["resend"]},{id:2766008,username:"WilliamDASILVA",contributions:62,modules:["robots"]},{id:469009,username:"rinu",contributions:4,modules:["robots"]},{id:6578052,username:"danielgroen",contributions:2,modules:["robots"]},{id:34515355,username:"matt-clegg",contributions:2,modules:["robots"]},{id:78361788,username:"patricrichard",contributions:2,modules:["robots"]},{id:77567,username:"weotch",contributions:2,modules:["robots"]},{id:17025257,username:"gekkedev",contributions:2,modules:["robots"]},{id:12688139,username:"nosfi831",contributions:2,modules:["robots"]},{id:1411843,username:"mornir",contributions:6,modules:["sanity"]},{id:40447,username:"okj579",contributions:4,modules:["sanity"]},{id:18035115,username:"aadgrant",contributions:4,modules:["sanity"]},{id:81981,username:"stipsan",contributions:2,modules:["sanity"]},{id:97258230,username:"safejace",contributions:2,modules:["sanity"]},{id:12168237,username:"liqueflies",contributions:2,modules:["sanity"]},{id:58360242,username:"Nelwhix",contributions:2,modules:["sanity"]},{id:1107521,username:"hacknug",contributions:2,modules:["sanity"]},{id:19529313,username:"niklas-may",contributions:2,modules:["sanity"]},{id:37446135,username:"SlicoHP",contributions:2,modules:["sanity"]},{id:3109921,username:"silvio-e",contributions:2,modules:["sanity"]},{id:915966,username:"sodevious",contributions:2,modules:["sanity"]},{id:5989846,username:"sanderdewinter",contributions:16,modules:["schema-org"]},{id:110889225,username:"sdewinter-maqqie",contributions:4,modules:["schema-org"]},{id:25445516,username:"birdlavv",contributions:2,modules:["schema-org"]},{id:2862673,username:"shven",contributions:2,modules:["schema-org"]},{id:7295259,username:"vejja",contributions:86,modules:["security"]},{id:28459081,username:"boring-dragon",contributions:4,modules:["security"]},{id:3862891,username:"espensgr",contributions:4,modules:["security"]},{id:17362753,username:"Droutin",contributions:4,modules:["security"]},{id:875533,username:"Tristan971",contributions:4,modules:["security"]},{id:2233663,username:"kouts",contributions:4,modules:["security"]},{id:26602940,username:"0xflotus",contributions:2,modules:["security"]},{id:38699378,username:"lanluartes",contributions:2,modules:["security"]},{id:24852502,username:"kyranet",contributions:2,modules:["security"]},{id:20408790,username:"fabricioOak",contributions:2,modules:["security"]},{id:20650401,username:"insomnius",contributions:2,modules:["security"]},{id:2222702,username:"mubaidr",contributions:2,modules:["security"]},{id:127685984,username:"BillyBouman-2B-IT",contributions:2,modules:["seo-kit"]},{id:60323306,username:"vasilistotskas",contributions:2,modules:["seo-kit"]},{id:19350560,username:"interpretor",contributions:6,modules:["session"]},{id:25990549,username:"Voltra",contributions:4,modules:["session"]},{id:15887916,username:"blumgart",contributions:2,modules:["session"]},{id:363330,username:"chriscdn",contributions:2,modules:["session"]},{id:44715857,username:"Twitch0125",contributions:2,modules:["session"]},{id:71883104,username:"re-mxp",contributions:2,modules:["session"]},{id:63050099,username:"mlutsiuk",contributions:8,modules:["sidebase-auth"]},{id:30736553,username:"LouisHaftmann",contributions:6,modules:["sidebase-auth"]},{id:64862099,username:"bmhtech07",contributions:4,modules:["sidebase-auth"]},{id:31987405,username:"anjarupnik",contributions:2,modules:["sidebase-auth"]},{id:20440899,username:"CodyBontecou",contributions:2,modules:["sidebase-auth"]},{id:63355,username:"drusellers",contributions:2,modules:["sidebase-auth"]},{id:928780,username:"genu",contributions:2,modules:["sidebase-auth"]},{id:74197546,username:"tnt-freskim-veliu",contributions:2,modules:["sidebase-auth"]},{id:43099880,username:"guesant",contributions:2,modules:["sidebase-auth"]},{id:34208843,username:"initred",contributions:2,modules:["sidebase-auth"]},{id:1769417,username:"IsraelOrtuno",contributions:2,modules:["sidebase-auth"]},{id:882219,username:"janhoogeveen",contributions:2,modules:["sidebase-auth"]},{id:17620516,username:"kashalls",contributions:2,modules:["sidebase-auth"]},{id:17332418,username:"KoenCa",contributions:2,modules:["sidebase-auth"]},{id:7632405,username:"lookto",contributions:2,modules:["sidebase-auth"]},{id:751979,username:"NielsJanssen",contributions:2,modules:["sidebase-auth"]},{id:16446824,username:"tirojal",contributions:2,modules:["simple-sitemap"]},{id:328718,username:"dulacp",contributions:2,modules:["simple-sitemap"]},{id:72107589,username:"damevin",contributions:2,modules:["simple-sitemap"]},{id:23519801,username:"PerssonAlbin",contributions:4,modules:["snackbar"]},{id:5096365,username:"yrming",contributions:2,modules:["snackbar"]},{id:36744484,username:"Dawntraoz",contributions:558,modules:["storyblok"]},{id:5701162,username:"alexjoverm",contributions:128,modules:["storyblok"]},{id:160495,username:"onefriendaday",contributions:64,modules:["storyblok"]},{id:81760207,username:"manuelschroederdev",contributions:60,modules:["storyblok"]},{id:20650272,username:"christianzoppi",contributions:58,modules:["storyblok"]},{id:5083273,username:"SebbeJohansson",contributions:22,modules:["storyblok"]},{id:20342656,username:"emanuelgsouza",contributions:20,modules:["storyblok"]},{id:16301998,username:"markus-gx",contributions:14,modules:["storyblok"]},{id:11278408,username:"lisilinhart",contributions:12,modules:["storyblok"]},{id:5185019,username:"samuells",contributions:10,modules:["storyblok"]},{id:7952803,username:"DominikAngerer",contributions:4,modules:["storyblok"]},{id:34036252,username:"Adamkillander96",contributions:2,modules:["storyblok"]},{id:86311095,username:"cmorrow-rv",contributions:2,modules:["storyblok"]},{id:678434,username:"roberto-butti",contributions:2,modules:["storyblok"]},{id:9434493,username:"tguelcan",contributions:2,modules:["storyblok"]},{id:711292,username:"chakAs3",contributions:194,modules:["storybook"]},{id:247713,username:"bmulholland",contributions:2,modules:["storybook"]},{id:13274728,username:"doseofted",contributions:8,modules:["strapi"]},{id:946345,username:"ChristopheCVB",contributions:4,modules:["strapi"]},{id:37207714,username:"luke-z",contributions:4,modules:["strapi"]},{id:4003538,username:"acekyd",contributions:2,modules:["strapi"]},{id:1231359,username:"cssmagic",contributions:2,modules:["strapi"]},{id:25715982,username:"cpaczek",contributions:2,modules:["strapi"]},{id:10612835,username:"Kapcash",contributions:2,modules:["strapi"]},{id:19965325,username:"joelbqz",contributions:2,modules:["strapi"]},{id:61506420,username:"LuckeeDev",contributions:2,modules:["strapi"]},{id:4400999,username:"acerspyro",contributions:2,modules:["strapi"]},{id:1983382,username:"katerlouis",contributions:2,modules:["strapi"]},{id:14164020,username:"rbrannath",contributions:2,modules:["strapi"]},{id:8755623,username:"fuentesloic",contributions:28,modules:["stripe-next"]},{id:20086673,username:"munierujp",contributions:2,modules:["stylelint"]},{id:1023734,username:"roelvanhintum",contributions:2,modules:["stylelint"]},{id:5113257,username:"mainrs",contributions:2,modules:["stylelint"]},{id:14016808,username:"Machy8",contributions:1368,modules:["stylify"]},{id:77530871,username:"JirakLu",contributions:8,modules:["stylify"]},{id:30605984,username:"MilesPernicious",contributions:4,modules:["stylify"]},{id:5823770,username:"Aietes",contributions:6,modules:["supabase"]},{id:1259364,username:"levibe",contributions:4,modules:["supabase"]},{id:982975,username:"AlbertBrand",contributions:4,modules:["supabase"]},{id:96275757,username:"52cs",contributions:2,modules:["supabase"]},{id:38134195,username:"amrnn90",contributions:2,modules:["supabase"]},{id:69633530,username:"florian-lefebvre",contributions:2,modules:["supabase"]},{id:40766799,username:"tnntwister",contributions:2,modules:["supabase"]},{id:49143414,username:"hafizjavaid",contributions:2,modules:["supabase"]},{id:31483041,username:"jonesisg1",contributions:2,modules:["supabase"]},{id:36164786,username:"Jclong98",contributions:2,modules:["supabase"]},{id:44449,username:"jawngee",contributions:2,modules:["supabase"]},{id:44786998,username:"josueayala27",contributions:2,modules:["supabase"]},{id:1248148,username:"blqke",contributions:2,modules:["supabase"]},{id:7809845,username:"psto",contributions:2,modules:["supabase"]},{id:16954673,username:"relisora",contributions:2,modules:["supabase"]},{id:38413630,username:"icarusgk",contributions:2,modules:["supabase"]},{id:11446010,username:"jubeiam",contributions:4,modules:["svg-sprite"]},{id:4581398,username:"yurks",contributions:4,modules:["svg-sprite"]},{id:63285903,username:"TroAlexis",contributions:2,modules:["svg-sprite"]},{id:5218341,username:"haan123",contributions:2,modules:["svg-sprite"]},{id:3998654,username:"ilya-buligin",contributions:2,modules:["svg-sprite"]},{id:5410417,username:"lennoximus",contributions:2,modules:["svg-sprite"]},{id:9404365,username:"obennaci",contributions:2,modules:["svg-sprite"]},{id:5718030,username:"robikovacs",contributions:2,modules:["svg-sprite"]},{id:23457585,username:"Tomaszal",contributions:2,modules:["svg-sprite"]},{id:2068895,username:"twxia",contributions:2,modules:["svg-sprite"]},{id:23022574,username:"TakNePoidet",contributions:12,modules:["swiper"]},{id:5721341,username:"AGPDev",contributions:2,modules:["swiper"]},{id:56671014,username:"Soya-xy",contributions:2,modules:["swiper"]},{id:1384775,username:"hfoletto",contributions:6,modules:["tailvue"]},{id:25044744,username:"tcampbPPU",contributions:6,modules:["tailvue"]},{id:1526840,username:"davidnknight",contributions:2,modules:["tailvue"]},{id:4019718,username:"favna",contributions:2,modules:["tailvue"]},{id:1329592,username:"makkarpov",contributions:4,modules:["tailwindcss"]},{id:28691559,username:"Ricklin90085",contributions:4,modules:["tailwindcss"]},{id:2793951,username:"RomainLanz",contributions:4,modules:["tailwindcss"]},{id:53976837,username:"RomainMazB",contributions:4,modules:["tailwindcss"]},{id:7577851,username:"axieum",contributions:2,modules:["tailwindcss"]},{id:246254,username:"disusered",contributions:2,modules:["tailwindcss"]},{id:15019332,username:"chettapong",contributions:2,modules:["tailwindcss"]},{id:48431,username:"texastoland",contributions:2,modules:["tresjs"]},{id:15042849,username:"scalemaildev",contributions:2,modules:["turnstile"]},{id:23470589,username:"dnlsndr",contributions:2,modules:["turnstile"]},{id:25430449,username:"PatrickMi",contributions:2,modules:["turnstile"]},{id:16725310,username:"SvenWesterlaken",contributions:2,modules:["turnstile"]},{id:11949520,username:"acidbiscuit",contributions:2,modules:["turnstile"]},{id:89916568,username:"alinakuzina",contributions:2,modules:["turnstile"]},{id:7620438,username:"mbgspcii",contributions:746,modules:["twicpics"]},{id:160354,username:"jaubourg",contributions:232,modules:["twicpics"]},{id:5786750,username:"Strift",contributions:48,modules:["twicpics"]},{id:15092120,username:"victorgarciaesgi",contributions:506,modules:["typed-router"]},{id:48443363,username:"victortotem",contributions:58,modules:["typed-router"]},{id:43795814,username:"thunfisch987",contributions:4,modules:["typed-router"]},{id:65359713,username:"mahdiboomeri",contributions:2,modules:["typed-router"]},{id:317957,username:"unr",contributions:2,modules:["typed-router"]},{id:93888971,username:"UfukUstali",contributions:2,modules:["typed-router"]},{id:38240008,username:"m-conti",contributions:2,modules:["typed-router"]},{id:7935392,username:"mercs600",contributions:206,modules:["typo3"]},{id:64216939,username:"mouflondarko",contributions:6,modules:["typo3"]},{id:515397,username:"tmotyl",contributions:6,modules:["typo3"]},{id:3374563,username:"develth",contributions:4,modules:["typo3"]},{id:46626775,username:"KrohnMi",contributions:2,modules:["typo3"]},{id:37311945,username:"Haythamasalama",contributions:52,modules:["ui"]},{id:25613751,username:"romhml",contributions:22,modules:["ui"]},{id:7356077,username:"connerblanton",contributions:18,modules:["ui"]},{id:18414281,username:"KeJunMao",contributions:12,modules:["ui"]},{id:5141911,username:"DarkGhostHunter",contributions:10,modules:["ui"]},{id:138564696,username:"aditio-eka",contributions:6,modules:["ui"]},{id:11923242,username:"Sma11X",contributions:6,modules:["ui"]},{id:57699643,username:"maxsteinwand",contributions:6,modules:["ui"]},{id:40647432,username:"171h",contributions:4,modules:["ui"]},{id:5249946,username:"9uenther",contributions:4,modules:["ui"]},{id:56026608,username:"Levy-from-Odessa",contributions:4,modules:["ui"]},{id:6144489,username:"mcastagnetti",contributions:4,modules:["ui"]},{id:898549,username:"graup",contributions:4,modules:["ui"]},{id:6969872,username:"TomSmith27",contributions:4,modules:["ui"]},{id:6909744,username:"jduartea",contributions:4,modules:["ui"]},{id:76627776,username:"mwohlan",contributions:4,modules:["ui"]},{id:1768483,username:"albertcito",contributions:2,modules:["ui"]},{id:4410452,username:"LarchLiu",contributions:2,modules:["ui"]},{id:46224115,username:"asbermudez",contributions:2,modules:["umami"]},{id:65968861,username:"vencho-mdp",contributions:2,modules:["umami"]},{id:59120414,username:"Velka-DEV",contributions:2,modules:["umami"]},{id:1394374,username:"john-dev",contributions:2,modules:["umami"]},{id:52704891,username:"felixranesberger",contributions:6,modules:["unlazy"]},{id:1885157,username:"eric-hc",contributions:2,modules:["unlazy"]},{id:13888023,username:"zZeepo",contributions:8,modules:["unlighthouse"]},{id:1296369,username:"brianteeman",contributions:4,modules:["unlighthouse"]},{id:501424,username:"mastoj",contributions:4,modules:["unlighthouse"]},{id:48238174,username:"brahms116",contributions:2,modules:["unlighthouse"]},{id:71390226,username:"FinnPaes",contributions:2,modules:["unlighthouse"]},{id:40826752,username:"marcelxpfeifer",contributions:2,modules:["unlighthouse"]},{id:27637,username:"mountainash",contributions:2,modules:["unlighthouse"]},{id:82072867,username:"Nick-BlueSkyLabs",contributions:2,modules:["unlighthouse"]},{id:21295394,username:"NielsPilgaard",contributions:2,modules:["unlighthouse"]},{id:18357571,username:"pedddro",contributions:2,modules:["unlighthouse"]},{id:22201189,username:"lutejka",contributions:2,modules:["unlighthouse"]},{id:58180803,username:"tuminzee",contributions:2,modules:["unlighthouse"]},{id:379924,username:"chu121su12",contributions:634,modules:["unocss"]},{id:16288797,username:"hannoeru",contributions:58,modules:["unocss"]},{id:7559478,username:"jacob-8",contributions:40,modules:["unocss"]},{id:76603360,username:"sudongyuer",contributions:38,modules:["unocss"]},{id:16945858,username:"chizukicn",contributions:36,modules:["unocss"]},{id:57086651,username:"Simon-He95",contributions:30,modules:["unocss"]},{id:31278178,username:"edwardnyc",contributions:28,modules:["unocss"]},{id:31543482,username:"QiroNT",contributions:26,modules:["unocss"]},{id:16460309,username:"action-hong",contributions:22,modules:["unocss"]},{id:110549389,username:"henrikvilhelmberglund",contributions:20,modules:["unocss"]},{id:33021497,username:"TrickyPi",contributions:16,modules:["unocss"]},{id:53554371,username:"Hongbusi",contributions:16,modules:["unocss"]},{id:17521736,username:"equt",contributions:16,modules:["unocss"]},{id:21221921,username:"wkeylin",contributions:16,modules:["unocss"]},{id:39750199,username:"xiaojieajie",contributions:14,modules:["unocss"]},{id:8610935,username:"praburangki",contributions:14,modules:["unocss"]},{id:49056869,username:"sapphi-red",contributions:14,modules:["unocss"]},{id:32727188,username:"ydcjeff",contributions:12,modules:["unocss"]},{id:24277775,username:"zam157",contributions:12,modules:["unocss"]},{id:52692296,username:"zojize",contributions:12,modules:["unocss"]},{id:31918458,username:"unicape",contributions:384,modules:["use-wagmi"]},{id:6038417,username:"0x62",contributions:4,modules:["use-wagmi"]},{id:18377068,username:"francelwebdev",contributions:2,modules:["use-wagmi"]},{id:7237365,username:"chenjiahan",contributions:4,modules:["vant"]},{id:5123266,username:"retrogradeMT",contributions:2,modules:["vant"]},{id:43628500,username:"zhangmo8",contributions:28,modules:["varlet"]},{id:24223652,username:"haoziqaq",contributions:2,modules:["varlet"]},{id:33263129,username:"samk-dev",contributions:40,modules:["vcalendar"]},{id:6261322,username:"logaretm",contributions:8078,modules:["vee-validate"]},{id:5625680,username:"BrandonSurowiec",contributions:62,modules:["vee-validate"]},{id:10794213,username:"gldraphael",contributions:36,modules:["vee-validate"]},{id:6641565,username:"sbarfurth",contributions:22,modules:["vee-validate"]},{id:58624773,username:"abdelrahman3d",contributions:22,modules:["vee-validate"]},{id:4276422,username:"Stephen2",contributions:18,modules:["vee-validate"]},{id:13732585,username:"agentschmitt",contributions:18,modules:["vee-validate"]},{id:8316698,username:"jonathan-soifer",contributions:14,modules:["vee-validate"]},{id:6796124,username:"ThomHurks",contributions:12,modules:["vee-validate"]},{id:6563980,username:"judocode",contributions:10,modules:["vee-validate"]},{id:1016218,username:"escapedcat",contributions:10,modules:["vee-validate"]},{id:13547533,username:"ClaudioEyzaguirre",contributions:8,modules:["vee-validate"]},{id:40390596,username:"DM2489",contributions:8,modules:["vee-validate"]},{id:2737132,username:"jacobmllr95",contributions:8,modules:["vee-validate"]},{id:81405223,username:"Kimbo0o",contributions:8,modules:["vee-validate"]},{id:14740780,username:"rousos87",contributions:8,modules:["vee-validate"]},{id:10348212,username:"dfcook",contributions:8,modules:["vee-validate"]},{id:5793796,username:"smilee",contributions:8,modules:["vee-validate"]},{id:1185891,username:"kacinskas",contributions:8,modules:["vee-validate"]},{id:7074890,username:"giokaxo",contributions:8,modules:["vee-validate"]},{id:3132508,username:"idrafttt",contributions:8,modules:["vee-validate"]},{id:2236793,username:"grinn",contributions:8,modules:["vee-validate"]},{id:7269466,username:"lomotech",contributions:8,modules:["vee-validate"]},{id:9426721,username:"imcvampire",contributions:8,modules:["vee-validate"]},{id:507838,username:"berfenger",contributions:6,modules:["vee-validate"]},{id:84926,username:"edbizarro",contributions:6,modules:["vee-validate"]},{id:52774564,username:"xanderbarkhatov",contributions:70,modules:["vercel-analytics"]},{id:40221744,username:"qmhc",contributions:70,modules:["vexip-ui"]},{id:324147,username:"oskarols",contributions:8,modules:["vitest"]},{id:1765584,username:"lassediercks",contributions:6,modules:["vitest"]},{id:7252657,username:"maartenvanhunsel",contributions:4,modules:["vitest"]},{id:3009534,username:"mvanalphen",contributions:4,modules:["vitest"]},{id:463319,username:"nicolaspayot",contributions:4,modules:["vitest"]},{id:16363180,username:"DevDengChao",contributions:4,modules:["vitest"]},{id:2262772,username:"aapokiiso",contributions:2,modules:["vitest"]},{id:105530193,username:"Luzefiru",contributions:2,modules:["vitest"]},{id:51514282,username:"ghazialhouwari",contributions:2,modules:["vitest"]},{id:51118271,username:"jgonz3",contributions:2,modules:["vitest"]},{id:12714499,username:"rinux55",contributions:2,modules:["vitest"]},{id:12376435,username:"odinti",contributions:2,modules:["vitest"]},{id:951290,username:"TimvdEijnden",contributions:2,modules:["vitest"]},{id:97700093,username:"dsvgl",contributions:2,modules:["vitest"]},{id:40494306,username:"erikkkwu",contributions:2,modules:["vitest"]},{id:135640725,username:"niko-chaffinchicas",contributions:2,modules:["vitest"]},{id:49698182,username:"Dave136",contributions:278,modules:["vue-email"]},{id:25314426,username:"badalya1",contributions:2,modules:["vue-email"]},{id:573708,username:"jeam",contributions:2,modules:["vue-email"]},{id:15190246,username:"hunterliu1003",contributions:2552,modules:["vue-final-modal"]},{id:22654053,username:"fatihsolhan",contributions:20,modules:["vue-final-modal"]},{id:3253920,username:"mesqueeb",contributions:14,modules:["vue-final-modal"]},{id:474175,username:"benrolfe",contributions:2,modules:["vue-final-modal"]},{id:26389990,username:"chemsedd",contributions:2,modules:["vue-final-modal"]},{id:94387,username:"Offlein",contributions:2,modules:["vue-final-modal"]},{id:8252238,username:"guillaumebriday",contributions:2,modules:["vue-final-modal"]},{id:7781761,username:"Roxas92",contributions:2,modules:["vue-final-modal"]},{id:16818271,username:"Dschungelabenteuer",contributions:2,modules:["vue-final-modal"]},{id:12557018,username:"netolicak",contributions:2,modules:["vue-final-modal"]},{id:589744,username:"ul8",contributions:2,modules:["vue-final-modal"]},{id:32807958,username:"zhiyuanzmj",contributions:52,modules:["vue-macros"]},{id:49969959,username:"alexzhang1030",contributions:24,modules:["vue-macros"]},{id:76111612,username:"isolcat",contributions:8,modules:["vue-macros"]},{id:29159838,username:"hydrati",contributions:6,modules:["vue-macros"]},{id:43827016,username:"zzhenryquezz",contributions:4,modules:["vue-macros"]},{id:24601590,username:"konata33",contributions:4,modules:["vue-macros"]},{id:17617116,username:"AliceLanniste",contributions:2,modules:["vue-macros"]},{id:67255597,username:"binotaliu",contributions:2,modules:["vue-macros"]},{id:45616067,username:"cullyfung",contributions:2,modules:["vue-macros"]},{id:43873521,username:"iEuJen",contributions:2,modules:["vue-macros"]},{id:22819074,username:"FrankCheungDev",contributions:2,modules:["vue-macros"]},{id:41265413,username:"Innei",contributions:2,modules:["vue-macros"]},{id:35426360,username:"Jungzl",contributions:2,modules:["vue-macros"]},{id:50254496,username:"LoTwT",contributions:2,modules:["vue-macros"]},{id:74575471,username:"Lzzzs",contributions:2,modules:["vue-macros"]},{id:51503,username:"mtorromeo",contributions:2,modules:["vue-macros"]},{id:74761884,username:"Gehbt",contributions:2,modules:["vue-macros"]},{id:73387709,username:"GODLiangCY",contributions:2,modules:["vue-macros"]},{id:40021217,username:"kingyue737",contributions:2,modules:["vue-macros"]},{id:110709026,username:"arstnei0",contributions:2,modules:["vue-macros"]},{id:44473551,username:"kekexunxun",contributions:2,modules:["vue-macros"]},{id:20167257,username:"cunzaizhuyi",contributions:2,modules:["vue-macros"]},{id:12619763,username:"duowb",contributions:2,modules:["vue-macros"]},{id:49679666,username:"MorevM",contributions:238,modules:["vue-transitions"]},{id:53798165,username:"FRO1D",contributions:20,modules:["vue-transitions"]},{id:25927835,username:"trickstival",contributions:30,modules:["vuefire"]},{id:22968511,username:"sweethuman",contributions:6,modules:["vuefire"]},{id:7257092,username:"luc122c",contributions:6,modules:["vuefire"]},{id:1965207,username:"joplomacedo",contributions:4,modules:["vuefire"]},{id:358009,username:"mason",contributions:4,modules:["vuefire"]},{id:2066617,username:"sheriffderek",contributions:4,modules:["vuefire"]},{id:20881844,username:"darrelfrancis",contributions:4,modules:["vuefire"]},{id:8573325,username:"ElBatanony",contributions:2,modules:["vuefire"]},{id:436888,username:"alex88",contributions:2,modules:["vuefire"]},{id:6147968,username:"hootlex",contributions:2,modules:["vuefire"]},{id:5897209,username:"Runeii",contributions:2,modules:["vuefire"]},{id:54869395,username:"llamington",contributions:2,modules:["vuefire"]},{id:35183,username:"bsaf",contributions:2,modules:["vuefire"]},{id:138886,username:"bkuri",contributions:2,modules:["vuefire"]},{id:38957202,username:"billyyyyy3320",contributions:2,modules:["vuefire"]},{id:3791599,username:"BradDuns",contributions:2,modules:["vuefire"]},{id:31621095,username:"charles-allen",contributions:2,modules:["vuefire"]},{id:25098427,username:"chidindu-ogbonna",contributions:2,modules:["vuefire"]},{id:777506,username:"ser1us",contributions:2,modules:["vuefire"]},{id:2292121,username:"Obeyed",contributions:2,modules:["vuefire"]},{id:31723722,username:"EmilienLeroy",contributions:2,modules:["vuefire"]},{id:11366,username:"epall",contributions:2,modules:["vuefire"]},{id:5368213,username:"codeams",contributions:2,modules:["vuefire"]},{id:34515228,username:"fooooooooooooooo",contributions:2,modules:["vuefire"]},{id:30729198,username:"szabolcsmucsi",contributions:156,modules:["vueform"]},{id:61869085,username:"bereczi",contributions:18,modules:["vueform"]},{id:67012849,username:"ivanpisa",contributions:2,modules:["vueform"]},{id:17225564,username:"tomasvn",contributions:2,modules:["vueform"]},{id:23530004,username:"m0ksem",contributions:1900,modules:["vuestic"]},{id:5394573,username:"asvae",contributions:766,modules:["vuestic"]},{id:11652328,username:"untael",contributions:434,modules:["vuestic"]},{id:45711229,username:"kushich",contributions:380,modules:["vuestic"]},{id:64714442,username:"aluarius",contributions:300,modules:["vuestic"]},{id:55198465,username:"RVitaly1978",contributions:262,modules:["vuestic"]},{id:29167241,username:"rustem-nasyrov",contributions:240,modules:["vuestic"]},{id:25908959,username:"vlad-shusterman",contributions:206,modules:["vuestic"]},{id:9782236,username:"smellyshovel",contributions:124,modules:["vuestic"]},{id:7745899,username:"Derranion",contributions:108,modules:["vuestic"]},{id:39219429,username:"AlexanderBoriskin",contributions:102,modules:["vuestic"]},{id:20516743,username:"eqxs",contributions:96,modules:["vuestic"]},{id:47790197,username:"LighthouseKeeperYN",contributions:88,modules:["vuestic"]},{id:11391037,username:"nastassiadanilova",contributions:80,modules:["vuestic"]},{id:24375400,username:"raichev-dima",contributions:80,modules:["vuestic"]},{id:18417066,username:"Eugenizer",contributions:74,modules:["vuestic"]},{id:29925191,username:"SergeiPleshkov",contributions:68,modules:["vuestic"]},{id:1770218,username:"xiongmao86",contributions:64,modules:["vuestic"]},{id:11361743,username:"misterpekert",contributions:52,modules:["vuestic"]},{id:118062031,username:"Roman4437",contributions:50,modules:["vuestic"]},{id:20461547,username:"sergey-kravcov",contributions:44,modules:["vuestic"]},{id:35342240,username:"zvenigorodskaia",contributions:44,modules:["vuestic"]},{id:37382639,username:"DieselTripleX",contributions:42,modules:["vuestic"]},{id:3674348,username:"smartapant",contributions:40,modules:["vuestic"]},{id:13301570,username:"Kreezag",contributions:38,modules:["vuestic"]},{id:10356386,username:"damirJa",contributions:28,modules:["vuestic"]},{id:20753143,username:"ilearnjs",contributions:28,modules:["vuestic"]},{id:46869767,username:"Azgiliat",contributions:22,modules:["vuestic"]},{id:60774386,username:"alygee",contributions:22,modules:["vuestic"]},{id:46492597,username:"Dominic-Marcelino",contributions:2,modules:["vuetify-nuxt-module"]},{id:822287,username:"cyberalien",contributions:2,modules:["vuetify-nuxt-module"]},{id:22525904,username:"okxiaoliang4",contributions:178,modules:["vueuse"]},{id:7064956,username:"wheatjs",contributions:132,modules:["vueuse"]},{id:55641773,username:"Alfred-Skyblue",contributions:122,modules:["vueuse"]},{id:7980426,username:"scottbedard",contributions:46,modules:["vueuse"]},{id:1490347,username:"anteriovieira",contributions:44,modules:["vueuse"]},{id:1662812,username:"cawa-93",contributions:30,modules:["vueuse"]},{id:583075,username:"patak-dev",contributions:28,modules:["vueuse"]},{id:50733859,username:"chaii3",contributions:28,modules:["vueuse"]},{id:30516060,username:"vaakian",contributions:28,modules:["vueuse"]},{id:3038600,username:"curtgrimes",contributions:26,modules:["vueuse"]},{id:102238922,username:"sun0day",contributions:26,modules:["vueuse"]},{id:84131395,username:"michealroberts",contributions:26,modules:["vueuse"]},{id:48953604,username:"lstoeferle",contributions:22,modules:["vueuse"]},{id:6625879,username:"Waleed-KH",contributions:18,modules:["vueuse"]},{id:10274099,username:"ferferga",contributions:16,modules:["vueuse"]},{id:47144873,username:"harmyderoman",contributions:16,modules:["vueuse"]},{id:7195563,username:"Shinigami92",contributions:16,modules:["vueuse"]},{id:13330620,username:"wvffle",contributions:14,modules:["vueuse"]},{id:24516654,username:"btea",contributions:14,modules:["vueuse"]},{id:44631608,username:"Doctor-wu",contributions:12,modules:["vueuse"]},{id:50230578,username:"jbaubree",contributions:12,modules:["vueuse"]},{id:17229256,username:"wtykirby",contributions:12,modules:["vueuse"]},{id:19204772,username:"LittleSound",contributions:12,modules:["vueuse"]},{id:29141517,username:"manupit",contributions:2,modules:["vunix"]},{id:2535410,username:"zitscher",contributions:6,modules:["web-vitals"]},{id:118734217,username:"burda-osowiecki",contributions:4,modules:["web-vitals"]},{id:9151572,username:"GerryWilko",contributions:2,modules:["web-vitals"]},{id:3352476,username:"PizzaPete",contributions:2,modules:["web-vitals"]},{id:29565989,username:"ats0405",contributions:2,modules:["web-vitals"]},{id:34863253,username:"iranagame",contributions:2,modules:["web-vitals"]},{id:1568539,username:"vlozanov",contributions:2,modules:["web-vitals"]},{id:4896588,username:"jrozanski",contributions:36,modules:["wideangle"]},{id:19635443,username:"rvdriest",contributions:6,modules:["wideangle"]},{id:32807382,username:"BrandonlinU",contributions:2,modules:["windicss"]},{id:188172,username:"ManUtopiK",contributions:2,modules:["windicss"]},{id:24515434,username:"ontoneio",contributions:2,modules:["windicss"]},{id:15808,username:"freality",contributions:2,modules:["windicss"]},{id:46477357,username:"H37kouya",contributions:2,modules:["windicss"]},{id:291185,username:"nulltask",contributions:2,modules:["windicss"]},{id:1940038,username:"replygirl",contributions:2,modules:["windicss"]},{id:69119532,username:"voorjaar",contributions:2,modules:["windicss"]}],Dh=[{name:"algolia",description:"Algolia Search Module for Nuxt",repo:"nuxt-modules/algolia",npm:"@nuxtjs/algolia",icon:"algolia.svg",github:"https://github.com/nuxt-modules/algolia",website:"https://algolia.nuxtjs.org/",learn_more:"https://algolia.nuxtjs.org/",category:"Libraries",type:"community",maintainers:[{name:"Jakub Andrzejewski",github:"Baroshem",avatar:"https://avatars2.githubusercontent.com/u/37120330?v=4?s=80"},{name:"Yasser Lahbibi",github:"yassilah",avatar:"https://avatars.githubusercontent.com/u/13403295?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:14379,stars:161,watchers:161,forks:29,defaultBranch:"main",publishedAt:1698653796385,createdAt:1644492211890},contributors:[{id:37120330,username:"Baroshem",contributions:230},{id:13403295,username:"yassilah",contributions:37},{id:1385263,username:"Tahul",contributions:23},{id:31937175,username:"Lehoczky",contributions:12},{id:5158436,username:"pi0",contributions:8},{id:59223342,username:"Intevel",contributions:6},{id:71639887,username:"LoMonacoSalvatore",contributions:4},{id:5067135,username:"vilhelmjosander",contributions:4},{id:1218730,username:"Rigo-m",contributions:3},{id:6096645,username:"Laruxo",contributions:2},{id:342104,username:"podlebar",contributions:1},{id:977957,username:"camaech",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:1060523,username:"digbyk",contributions:1},{id:86659,username:"francois2metz",contributions:1},{id:50699657,username:"vanling",contributions:1},{id:2671726,username:"Triloworld",contributions:1},{id:49845356,username:"zal1000",contributions:1}]},{name:"animejs",description:"Anime.js module for Nuxt",repo:"hypernym-studio/nuxt-anime",npm:"@hypernym/nuxt-anime",icon:"",github:"https://github.com/hypernym-studio/nuxt-anime",website:"https://github.com/hypernym-studio/nuxt-anime",learn_more:"",category:"Libraries",type:"3rd-party",maintainers:[{name:"ivodolenc",github:"ivodolenc"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:2768,stars:89,watchers:89,forks:6,defaultBranch:"main",publishedAt:1694525351986,createdAt:1683217815649},contributors:[{id:51852491,username:"ivodolenc",contributions:50},{id:53905713,username:"BayBreezy",contributions:1}]},{name:"ant-design-vue",description:"A Vue 3 based component library for designers and developers",repo:"vueComponent/ant-design-vue-nuxt",npm:"@ant-design-vue/nuxt",icon:"ant-design-vue.svg",github:"https://github.com/vueComponent/ant-design-vue-nuxt",website:"https://antdv.com",learn_more:"https://github.com/vueComponent/ant-design-vue-nuxt",category:"UI",type:"3rd-party",maintainers:[{name:"tangjinzhou",github:"tangjinzhou"}],compatibility:{nuxt:"^3.0.0",requires:{bridge:"optional"}},stats:{downloads:4010,stars:30,watchers:30,forks:2,defaultBranch:"main",publishedAt:1699925459984,createdAt:1685497851059},contributors:[{id:45655660,username:"aibayanyu20",contributions:42},{id:19869755,username:"M4rcDev",contributions:1}]},{name:"aos",description:"A Nuxt module that adds Animate On Scroll",repo:"egidiusmengelberg/nuxt-aos",npm:"nuxt-aos",icon:"aos.png",github:"https://github.com/egidiusmengelberg/nuxt-aos",website:"https://github.com/egidiusmengelberg/nuxt-aos",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"egidiusmengelberg",github:"egidiusmengelberg"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:785,stars:25,watchers:25,forks:1,defaultBranch:"main",publishedAt:1698661687231,createdAt:1691596410225},contributors:[{id:22946100,username:"egidiusmengelberg",contributions:27},{id:30053061,username:"rubymignot",contributions:6},{id:53905713,username:"BayBreezy",contributions:2}]},{name:"api-party",description:"Nuxt module to securely connect with any API – server proxy & dynamic composable names",repo:"johannschopplich/nuxt-api-party",npm:"nuxt-api-party",icon:"api-party.svg",github:"https://github.com/johannschopplich/nuxt-api-party",website:"https://nuxt-api-party.jhnn.dev/",learn_more:"",category:"Request",type:"3rd-party",maintainers:[{name:"Johann Schopplich",github:"johannschopplich",twitter:"jschopplich",avatar:"https://avatars.githubusercontent.com/johannschopplich?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3384,stars:174,watchers:174,forks:8,defaultBranch:"main",publishedAt:1699274068551,createdAt:1665155479432},contributors:[{id:27850750,username:"johannschopplich",contributions:365},{id:3409962,username:"killjoy1221",contributions:8},{id:1071091,username:"mbaertschi",contributions:1},{id:10401817,username:"brawaru",contributions:1}]},{name:"apollo",description:"Integrate GraphQL in your Nuxt apps using vue-apollo.",repo:"nuxt-modules/apollo",npm:"@nuxtjs/apollo",icon:"apollo.png",github:"https://github.com/nuxt-modules/apollo",website:"https://apollo.nuxtjs.org",learn_more:"https://apollo.vuejs.org/guide/#what-is-graphql",category:"Request",type:"community",maintainers:[{name:"Conrawl Rogers",github:"diizzayy",twitter:"diizzayy",avatar:"https://avatars.githubusercontent.com/diizzayy?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:102664,stars:889,watchers:889,forks:182,defaultBranch:"v5",publishedAt:1698936807271,createdAt:1501165840691},contributors:[{id:13093313,username:"kieusonlam",contributions:166},{id:489221,username:"dohomi",contributions:135},{id:19627670,username:"Diizzayy",contributions:26},{id:904724,username:"Atinux",contributions:22},{id:9392723,username:"negezor",contributions:11},{id:2362138,username:"Gomah",contributions:8},{id:1344792,username:"orblazer",contributions:7},{id:2840504,username:"Hendrixer",contributions:6},{id:3911343,username:"stafyniaksacha",contributions:4},{id:640208,username:"manniL",contributions:3},{id:25272043,username:"kevinmarrec",contributions:3},{id:11846736,username:"pschaub",contributions:3},{id:8104244,username:"Fju",contributions:3},{id:6331737,username:"igtm",contributions:3},{id:4313116,username:"wulfmann",contributions:2},{id:92431,username:"mvgrimes",contributions:2},{id:29191131,username:"pepsighan",contributions:2},{id:132138,username:"stefl",contributions:2},{id:14890575,username:"bviala",contributions:2},{id:6222908,username:"zhanafe",contributions:2},{id:2766448,username:"AndrewBogdanovTSS",contributions:1},{id:867717,username:"chriscalo",contributions:1},{id:1349865,username:"dhritzkiv",contributions:1},{id:2647472,username:"Digni",contributions:1},{id:571159,username:"aldarund",contributions:1},{id:621454,username:"ducngtuan",contributions:1},{id:581678,username:"francoisp",contributions:1},{id:1808444,username:"bissolli",contributions:1}]},{name:"appwrite",description:"Appwrite module for Nuxt",repo:"Hrdtr/nuxt-appwrite",npm:"nuxt-appwrite",icon:"appwrite.png",github:"https://github.com/Hrdtr/nuxt-appwrite",website:"https://github.com/Hrdtr/nuxt-appwrite",learn_more:"",category:"Database",type:"3rd-party",maintainers:[{name:"Hrdtr",github:"Hrdtr"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:399,stars:41,watchers:41,forks:5,defaultBranch:"main",publishedAt:1700109442498,createdAt:1610928495135},contributors:[{id:35950229,username:"Hrdtr",contributions:91},{id:28706372,username:"danielroe",contributions:1}]},{name:"arco-design-nuxt-module",description:"Nuxt Module for Arco Design Vue. Automatically import components, icons and more.",repo:"wiidede/arco-design-nuxt-module",npm:"arco-design-nuxt-module",icon:"arco-design.svg",github:"https://github.com/wiidede/arco-design-nuxt-module",website:"https://arco.design/vue",learn_more:"https://github.com/wiidede/arco-design-nuxt-module#readme",category:"UI",type:"3rd-party",maintainers:[{name:"wiidede",github:"wiidede"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:418,stars:8,watchers:8,forks:0,defaultBranch:"main",publishedAt:1700468232719,createdAt:1692584141446},contributors:[{id:25472916,username:"wiidede",contributions:56}]},{name:"ark-ui",description:"A headless library for building reusable, scalable design systems that works for a wide range of JS frameworks.",repo:"iamdin/nuxt-ark-ui",npm:"nuxt-ark-ui",icon:"ark-ui.svg",github:"https://github.com/iamdin/nuxt-ark-ui",website:"https://ark-ui.com/",learn_more:"https://github.com/iamdin/nuxt-ark-ui",category:"UI",type:"3rd-party",maintainers:[{name:"Din",github:"iamdin",twitter:"iamdinq"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:163,stars:3,watchers:3,forks:0,defaultBranch:"main",publishedAt:1696489124159,createdAt:1689739616465},contributors:[{id:36906371,username:"iamdin",contributions:17}]},{name:"auth-utils",description:"Minimalist Auth module for Nuxt with SSR.",repo:"atinux/nuxt-auth-utils",npm:"nuxt-auth-utils",icon:"",github:"https://github.com/atinux/nuxt-auth-utils",website:"https://github.com/atinux/nuxt-auth-utils",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"atinux",github:"atinux"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:848,stars:213,watchers:213,forks:18,defaultBranch:"main",publishedAt:1700589738824,createdAt:1699356484873},contributors:[{id:904724,username:"Atinux",contributions:21},{id:28706372,username:"danielroe",contributions:11},{id:50090595,username:"ahmedrangel",contributions:1},{id:22255990,username:"aksharahegde",contributions:1},{id:8012430,username:"Azurency",contributions:1},{id:38922203,username:"arashsheyda",contributions:1},{id:12988935,username:"Gerbuuun",contributions:1},{id:17186421,username:"samulefevre",contributions:1},{id:18753964,username:"sifferhans",contributions:1},{id:67746033,username:"justserdar",contributions:1}]},{name:"authjs",description:"Auth.js authentication Nuxt module. Edge compatible.",repo:"Hebilicious/authjs-nuxt#main",npm:"@hebilicious/authjs-nuxt",icon:"authjs.png",github:"https://github.com/Hebilicious/authjs-nuxt",website:"https://authjs-nuxt.pages.dev/",learn_more:"https://authjs.dev/",category:"Security",type:"3rd-party",maintainers:[{name:"Hebilicious",github:"Hebilicious",twitter:"its_hebilicious"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3586,stars:149,watchers:149,forks:16,defaultBranch:"main",publishedAt:1697625470821,createdAt:1683825243774},contributors:[{id:13395944,username:"Hebilicious",contributions:138},{id:106826371,username:"selemondev",contributions:2},{id:58686898,username:"AwesomeDude091",contributions:1},{id:53905713,username:"BayBreezy",contributions:1},{id:12956751,username:"musikid",contributions:1},{id:9140811,username:"andreasvirkus",contributions:1},{id:5930734,username:"dissy123",contributions:1}]},{name:"auto-animate",description:"Automatic animations for your Nuxt app with a single line of code.",repo:"formkit/auto-animate",npm:"@formkit/auto-animate",icon:"auto-animate.svg",github:"https://github.com/formkit/auto-animate",website:"https://auto-animate.formkit.com",learn_more:"https://auto-animate.formkit.com",category:"Libraries",type:"3rd-party",maintainers:[{name:"Justin Schroeder",github:"justin-schroeder",twitter:"jpschroeder"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:456479,stars:10478,watchers:10478,forks:180,defaultBranch:"master",publishedAt:1699301808014,createdAt:1652819674320},contributors:[{id:1950463,username:"justin-schroeder",contributions:185},{id:16452789,username:"nirtamir2",contributions:13},{id:11545316,username:"luan-nk-nguyen",contributions:11},{id:2691730,username:"Waterstraal",contributions:8},{id:1720349,username:"FlatMapIO",contributions:3},{id:32803395,username:"benrandja-akram",contributions:3},{id:11185022,username:"AlexVipond",contributions:2},{id:24707417,username:"wangjue666",contributions:2},{id:61237195,username:"lukaszarpak",contributions:2},{id:3534427,username:"Link2Twenty",contributions:1},{id:22795807,username:"apenab",contributions:1},{id:6007292,username:"beenotung",contributions:1},{id:260431,username:"bengry",contributions:1},{id:7635209,username:"danielkellyio",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:28103674,username:"rodakd",contributions:1},{id:80443898,username:"GeraOSF",contributions:1},{id:124833,username:"carusog",contributions:1},{id:2974948,username:"jhubbardsf",contributions:1},{id:23322562,username:"KamilBeda",contributions:1},{id:44045911,username:"kidonng",contributions:1},{id:599538,username:"verheyenkoen",contributions:1},{id:45705859,username:"zhengkyl",contributions:1},{id:83799,username:"evoactivity",contributions:1},{id:11494384,username:"markflorkowski",contributions:1},{id:2837147,username:"MentalGear",contributions:1},{id:24510745,username:"maico910",contributions:1},{id:43639707,username:"mohamedaleya",contributions:1},{id:107163858,username:"sanyamjain04",contributions:1},{id:16858097,username:"cszackrison",contributions:1}]},{name:"bugsnag",description:"Bugsnag integration for nuxt.js. Makes it easy to add bugsnag to your Project. Supports uploading source maps.",repo:"JulianMar/nuxt-bugsnag",npm:"nuxt-bugsnag",icon:"bugsnag.png",github:"https://github.com/JulianMar/nuxt-bugsnag",website:"https://github.com/JulianMar/nuxt-bugsnag",learn_more:"https://www.bugsnag.com/",category:"Monitoring",type:"3rd-party",maintainers:[{name:"JulianMar",github:"JulianMar",twitter:"julian_martin96"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:14853,stars:46,watchers:46,forks:14,defaultBranch:"main",publishedAt:1699443852581,createdAt:1569252307360},contributors:[{id:29117090,username:"JulianMar",contributions:94},{id:1544760,username:"dritter",contributions:4},{id:251322,username:"mwidmann",contributions:1},{id:475137,username:"jasonparekh",contributions:1}]},{name:"calendly",description:"Calendly is a scheduling tool that allows you to schedule meetings with your customers. This module allows you to easily add Calendly to your Nuxt application.",repo:"madebyfabian/nuxt-calendly",npm:"nuxt-calendly",icon:"calendly.svg",github:"https://github.com/madebyfabian/nuxt-calendly",website:"https://nuxt-calendly.vercel.app/",learn_more:"https://calendly.com/",category:"Extensions",type:"3rd-party",maintainers:[{name:"Fabian B.",github:"madebyfabian",twitter:"madebyfabian"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1828,stars:30,watchers:30,forks:2,defaultBranch:"main",publishedAt:1697806097419,createdAt:1675104450045},contributors:[{id:32813692,username:"madebyfabian",contributions:50},{id:33683845,username:"Brinken90",contributions:2},{id:28706372,username:"danielroe",contributions:1}]},{name:"capo",description:"Capo.js implementation for Nuxt",repo:"danielroe/nuxt-capo",npm:"nuxt-capo",icon:"",github:"https://github.com/danielroe/nuxt-capo",website:"https://github.com/danielroe/nuxt-capo",learn_more:"",category:"Performance",type:"3rd-party",maintainers:[{name:"danielroe",github:"danielroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3497,stars:70,watchers:70,forks:2,defaultBranch:"main",publishedAt:1684859933336,createdAt:1684859932935},contributors:[{id:28706372,username:"danielroe",contributions:6},{id:17185737,username:"McPizza0",contributions:1}]},{name:"chatwoot",description:"Chatwoot is an open-source customer engagement platform that helps companies engage their customers on their website",repo:"productdevbookcom/chatwoot",npm:"@productdevbook/chatwoot",icon:"chatwoot.png",github:"https://github.com/productdevbookcom/chatwoot",website:"https://github.com/productdevbookcom/chatwoot",learn_more:"https://www.chatwoot.com",category:"Libraries",type:"3rd-party",maintainers:[{name:"productdevbook",github:"productdevbook"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:928,stars:12,watchers:12,forks:2,defaultBranch:"main",publishedAt:1696151572377,createdAt:1678976392944},contributors:[{id:38668796,username:"productdevbook",contributions:35},{id:2246121,username:"pranavrajs",contributions:1}]},{name:"clarity-analytics",description:"Clarity Analytics Module for Nuxt",repo:"Barbapapazes/nuxt-clarity-analytics",npm:"nuxt-clarity-analytics",icon:"",github:"https://github.com/Barbapapazes/nuxt-clarity-analytics",website:"https://github.com/Barbapapazes/nuxt-clarity-analytics#readme",learn_more:"https://clarity.microsoft.com/",category:"Analytics",type:"3rd-party",maintainers:[{name:"Barbapapazes",github:"Barbapapazes",twitter:"soubiran_"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1632,stars:6,watchers:6,forks:0,defaultBranch:"main",publishedAt:1692258897487,createdAt:1677235223211},contributors:[{id:45267552,username:"Barbapapazes",contributions:18}]},{name:"cloudflare-analytics",description:"Cloudflare Web Analytics Module for Nuxt",repo:"hamlogic/nuxt-cloudflare-analytics",npm:"nuxt-cloudflare-analytics",icon:"cloudflare.svg",github:"https://github.com/hamlogic/nuxt-cloudflare-analytics",website:"https://github.com/hamlogic/nuxt-cloudflare-analytics",learn_more:"https://www.cloudflare.com/web-analytics/",category:"Analytics",type:"3rd-party",maintainers:[{name:"hamlogic",github:"hamlogic"},{name:"Fabian B.",github:"madebyfabian",twitter:"madebyfabian"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1937,stars:26,watchers:26,forks:0,defaultBranch:"main",publishedAt:1676049251575,createdAt:1617002031376},contributors:[{id:35456489,username:"hamlogic",contributions:11},{id:32813692,username:"madebyfabian",contributions:1}]},{name:"color-mode",description:"Dark and Light mode for Nuxt with auto detection",repo:"nuxt-modules/color-mode",npm:"@nuxtjs/color-mode",icon:"color-mode.png",github:"https://github.com/nuxt-modules/color-mode",website:"https://color-mode.nuxtjs.org",learn_more:"",category:"UI",type:"community",maintainers:[{name:"Sébastien Chopin",github:"Atinux",twitter:"Atinux"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:211774,stars:964,watchers:964,forks:91,defaultBranch:"master",publishedAt:1700066094260,createdAt:1586963139679},contributors:[{id:904724,username:"Atinux",contributions:96},{id:28706372,username:"danielroe",contributions:42},{id:11247099,username:"antfu",contributions:5},{id:739984,username:"benjamincanac",contributions:3},{id:13063165,username:"debs-obrien",contributions:3},{id:7547335,username:"smarroufin",contributions:3},{id:5158436,username:"pi0",contributions:2},{id:6324332,username:"jankal",contributions:2},{id:26418696,username:"adufr",contributions:1},{id:59223342,username:"Intevel",contributions:1},{id:5724535,username:"FelixGraf",contributions:1},{id:20434351,username:"jefrydco",contributions:1},{id:43202397,username:"aerophobic",contributions:1},{id:32184109,username:"rajaaltus",contributions:1},{id:23402178,username:"TheLearneer",contributions:1},{id:45076741,username:"bdrtsky",contributions:1},{id:6261271,username:"Kolahzary",contributions:1},{id:6967412,username:"szwenni",contributions:1},{id:770560,username:"Knogobert",contributions:1},{id:68200738,username:"tikkeninc",contributions:1},{id:26242554,username:"Luferov",contributions:1},{id:4312154,username:"clarkdo",contributions:1},{id:1385263,username:"Tahul",contributions:1},{id:51456572,username:"ga676005",contributions:1},{id:48633842,username:"hamsoover",contributions:1}]},{name:"content-assets",description:"Enable locally-located assets in Nuxt Content",repo:"davestewart/nuxt-content-assets",npm:"nuxt-content-assets",icon:"content-assets.png",github:"https://github.com/davestewart/nuxt-content-assets",website:"https://davestewart.co.uk/projects/open-source/nuxt-content-assets/",learn_more:"",category:"Images",type:"3rd-party",maintainers:[{name:"davestewart",github:"davestewart",twitter:"dave_stewart"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:2555,stars:83,watchers:83,forks:4,defaultBranch:"main",publishedAt:1694699748207,createdAt:1680531916091},contributors:[{id:132681,username:"davestewart",contributions:66},{id:1246641,username:"ThomasWT",contributions:2},{id:28706372,username:"danielroe",contributions:1},{id:1467123,username:"imphil",contributions:1}]},{name:"content",description:"Nuxt Content reads the content/ directory in your project, parses .md, .yml, .csv or .json files and creates a powerful data layer for your application. Bonus, use Vue components in Markdown with the MDC syntax.",repo:"nuxt/content#main",npm:"@nuxt/content",icon:"nuxt.svg",github:"https://github.com/nuxt/content",website:"https://content.nuxtjs.org",learn_more:"",category:"CMS",type:"official",maintainers:[{name:"Yaël Guilloux",github:"Tahul",twitter:"yaeeelglx"},{name:"Ahad Birang",github:"farnabaz",twitter:"a_birang"},{name:"Sebastien Chopin",github:"Atinux",twitter:"Atinux"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:154717,stars:2817,watchers:2817,forks:578,defaultBranch:"main",publishedAt:1698421078912,createdAt:1588695113804},contributors:[{id:2047945,username:"farnabaz",contributions:434},{id:739984,username:"benjamincanac",contributions:423},{id:904724,username:"Atinux",contributions:329},{id:1385263,username:"Tahul",contributions:240},{id:1439623,username:"clemcode",contributions:59},{id:5158436,username:"pi0",contributions:42},{id:44443899,username:"nobkd",contributions:30},{id:16436160,username:"NozomuIkuta",contributions:22},{id:45267552,username:"Barbapapazes",contributions:20},{id:28706372,username:"danielroe",contributions:15},{id:18027877,username:"cogor",contributions:15},{id:45076741,username:"bdrtsky",contributions:11},{id:25272043,username:"kevinmarrec",contributions:9},{id:2152968,username:"ThomOrlo",contributions:9},{id:5326365,username:"harlan-zw",contributions:8},{id:24830662,username:"mathe42",contributions:8},{id:4084277,username:"alexchopin",contributions:8},{id:1840026,username:"maximepvrt",contributions:7},{id:13063165,username:"debs-obrien",contributions:5},{id:640208,username:"manniL",contributions:5},{id:42867097,username:"azrikahar",contributions:5},{id:20434351,username:"jefrydco",contributions:3},{id:9429420,username:"Geminii",contributions:3},{id:2198527,username:"AlexanderBelokon",contributions:3},{id:5704043,username:"Qwertovsky",contributions:3},{id:59682979,username:"utamori",contributions:3},{id:4836334,username:"bencodezen",contributions:2},{id:411874,username:"cexbrayat",contributions:2}]},{name:"cookie-control",description:"A highly configurable cookie banner for Nuxt.",repo:"dargmuesli/nuxt-cookie-control",npm:"@dargmuesli/nuxt-cookie-control",icon:"cookie-control.png",github:"https://github.com/dargmuesli/nuxt-cookie-control",website:"https://github.com/dargmuesli/nuxt-cookie-control",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"dargmuesli",github:"dargmuesli",avatar:"https://avatars.githubusercontent.com/dargmuesli"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:16363,stars:148,watchers:148,forks:30,defaultBranch:"master",publishedAt:1700614712175,createdAt:1649077128707},contributors:[{id:4778485,username:"dargmuesli",contributions:269},{id:25792848,username:"darioferderber",contributions:102},{id:4638669,username:"tomfri",contributions:3},{id:1590095,username:"alexandrecanijo",contributions:2},{id:3233370,username:"chz",contributions:2},{id:28706372,username:"danielroe",contributions:2},{id:8450519,username:"oneWaveAdrian",contributions:2},{id:3023969,username:"AlexNimoy",contributions:1},{id:612946,username:"gilles6",contributions:1},{id:78584173,username:"hslee2008",contributions:1},{id:1417473,username:"devzom",contributions:1},{id:63512348,username:"huang-julien",contributions:1},{id:74457237,username:"matt-rolley",contributions:1},{id:34566290,username:"MaySoMusician",contributions:1},{id:28047867,username:"milos5593",contributions:1},{id:15806356,username:"misaon",contributions:1},{id:40442783,username:"onurdumangoz",contributions:1},{id:5302658,username:"patriciorivera",contributions:1},{id:85927,username:"raducretu",contributions:1},{id:65167772,username:"roy-pon",contributions:1},{id:105625087,username:"SampoVirmasalo",contributions:1},{id:59170152,username:"KerneggerTim",contributions:1},{id:64546764,username:"VentsislavBorislavov",contributions:1},{id:1240104,username:"kukac7",contributions:1},{id:47293315,username:"den-kar",contributions:1},{id:59049879,username:"ensag-dev",contributions:1},{id:99841792,username:"marcusarnfast",contributions:1}]},{name:"csurf",description:"Cross-Site Request Forgery (CSRF) Prevention for Nuxt",repo:"morgbn/nuxt-csurf",npm:"nuxt-csurf",icon:"csurf.svg",github:"https://github.com/morgbn/nuxt-csurf",website:"https://github.com/morgbn/nuxt-csurf",learn_more:"https://github.com/Morgbn/nuxt-csurf#readme",category:"Security",type:"3rd-party",maintainers:[{name:"morgbn",github:"morgbn",avatar:"https://avatars.githubusercontent.com/u/25689856?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:67333,stars:33,watchers:33,forks:6,defaultBranch:"main",publishedAt:1694451888681,createdAt:1674141073347},contributors:[{id:25689856,username:"Morgbn",contributions:33}]},{name:"datocms",description:"DatoCMS module for Nuxt",repo:"hex-digital/nuxt-datocms",npm:"@hexdigital/nuxt-datocms",icon:"datocms.svg",github:"https://github.com/hex-digital/nuxt-datocms",website:"https://github.com/hex-digital/nuxt-datocms#readme",learn_more:"https://www.datocms.com/",category:"CMS",type:"3rd-party",maintainers:[{name:"Jamie Warburton",github:"jamiewarb",twitter:"jamiewarb",avatar:"https://avatars.githubusercontent.com/jamiewarb?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:152,stars:7,watchers:7,forks:1,defaultBranch:"main",publishedAt:1688979396448,createdAt:1679091246623},contributors:[{id:2754728,username:"Jamiewarb",contributions:35},{id:22666637,username:"bensherred",contributions:1}]},{name:"dayjs",description:"Day.js module for Nuxt",repo:"fumeapp/dayjs",npm:"dayjs-nuxt",icon:"day-js.png",github:"https://github.com/fumeapp/dayjs",website:"https://github.com/fumeapp/dayjs",learn_more:"https://day.js.org/",category:"Libraries",type:"3rd-party",maintainers:[{name:"Kevin Olson",github:"acidjazz",twitter:"AppFume"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:37293,stars:76,watchers:76,forks:9,defaultBranch:"main",publishedAt:1697763852097,createdAt:1682759263551},contributors:[{id:967369,username:"acidjazz",contributions:92},{id:11255009,username:"GaborTorma",contributions:9},{id:2212056,username:"jb-alvarado",contributions:8},{id:103981778,username:"jeevanya",contributions:1},{id:15177236,username:"JoaoPedroAS51",contributions:1},{id:12596485,username:"reslear",contributions:1}]},{name:"delay-hydration",description:"Improve your Nuxt v2 Google Lighthouse score by delaying hydration.",repo:"harlan-zw/nuxt-delay-hydration",npm:"nuxt-delay-hydration",icon:"lighthouse.svg",github:"https://github.com/harlan-zw/nuxt-delay-hydration",website:"https://github.com/harlan-zw/nuxt-delay-hydration",learn_more:"",category:"Performance",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:35768,stars:280,watchers:280,forks:15,defaultBranch:"main",publishedAt:1699937989162,createdAt:1628047530359},contributors:[{id:5326365,username:"harlan-zw",contributions:188},{id:16275591,username:"s8n11c",contributions:1},{id:22586260,username:"hieu-ht",contributions:1},{id:70710,username:"mbreit",contributions:1},{id:3125972,username:"ram-you",contributions:1},{id:7460168,username:"jbmolle",contributions:1},{id:15785987,username:"samydoesit",contributions:1}]},{name:"device",description:"Device detection module for Nuxt",repo:"nuxt-modules/device",npm:"@nuxtjs/device",icon:"",github:"https://github.com/nuxt-modules/device",website:"https://github.com/nuxt-modules/device",learn_more:"",category:"Extensions",type:"community",maintainers:[{name:"Shinji Yamada",github:"dotneet"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:237213,stars:791,watchers:791,forks:47,defaultBranch:"master",publishedAt:1694848048104,createdAt:1565803511781},contributors:[{id:370602,username:"dotneet",contributions:122},{id:25185835,username:"Redemption198",contributions:33},{id:9975630,username:"nachogarcia",contributions:6},{id:12392573,username:"randompch",contributions:5},{id:4074597,username:"MikeCaputo",contributions:4},{id:904724,username:"Atinux",contributions:4},{id:20489824,username:"MaxNvk",contributions:2},{id:13103045,username:"iliyaZelenko",contributions:2},{id:11496358,username:"aayushgoyal",contributions:1},{id:13887407,username:"apgapg",contributions:1},{id:24225949,username:"b-jan",contributions:1},{id:5326365,username:"harlan-zw",contributions:1},{id:11614639,username:"JasonGotGithub",contributions:1},{id:1658644,username:"LeCoupa",contributions:1},{id:54757902,username:"imlautaro",contributions:1},{id:6993514,username:"potato4d",contributions:1},{id:14403446,username:"vodnicearv",contributions:1},{id:654889,username:"yshrsmz",contributions:1},{id:1970283,username:"aggre",contributions:1},{id:17667652,username:"hareku",contributions:1},{id:36569518,username:"markthree",contributions:1},{id:24970784,username:"mvrlin",contributions:1}]},{name:"devtools",description:"Unleash Nuxt Developer Experience. A set of visual tools that help you to know your app better.",repo:"nuxt/devtools#main/packages/devtools",npm:"@nuxt/devtools",icon:"nuxt.svg",github:"https://github.com/nuxt/devtools",website:"https://devtools.nuxtjs.org/",learn_more:"",category:"Devtools",type:"official",maintainers:[{name:"Anthony Fu",github:"antfu",twitter:"antfu7"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:888490,stars:2401,watchers:2401,forks:113,defaultBranch:"main",publishedAt:1700488541639,createdAt:1675895165880},contributors:[{id:11247099,username:"antfu",contributions:700},{id:38922203,username:"arashsheyda",contributions:82},{id:904724,username:"Atinux",contributions:43},{id:5158436,username:"pi0",contributions:29},{id:29743310,username:"Jannchie",contributions:7},{id:1240374,username:"lustremedia",contributions:7},{id:5326365,username:"harlan-zw",contributions:4},{id:739984,username:"benjamincanac",contributions:3},{id:63512348,username:"huang-julien",contributions:3},{id:39936160,username:"qiuqfang",contributions:3},{id:35883748,username:"Flowko",contributions:3},{id:54026110,username:"Lmmmmmm-bb",contributions:3},{id:59717852,username:"zuixinwang",contributions:3},{id:640208,username:"manniL",contributions:2},{id:1439623,username:"clemcode",contributions:2},{id:11806619,username:"withyellow",contributions:2},{id:28706372,username:"danielroe",contributions:2},{id:6696789,username:"Flosciante",contributions:2},{id:79358543,username:"zackha",contributions:2},{id:22515951,username:"webfansplz",contributions:2},{id:60472462,username:"abhay-111",contributions:1},{id:380026,username:"ambroisemaupate",contributions:1},{id:55608642,username:"BluesYoung-web",contributions:1},{id:6649305,username:"BobbieGoede",contributions:1},{id:18496305,username:"CSY54",contributions:1},{id:6619884,username:"cpreston321",contributions:1},{id:60586899,username:"claranceliberi",contributions:1},{id:23231126,username:"Clive-Ward-Cron",contributions:1},{id:1493221,username:"cuebit",contributions:1}]},{name:"directus",description:"Easily connect your Nuxt application to your directus server.",repo:"intevel/nuxt-directus",npm:"nuxt-directus",icon:"directus.svg",github:"https://github.com/intevel/nuxt-directus/",website:"https://nuxt-directus.site/",learn_more:"https://nuxt-directus.site/",category:"CMS",type:"3rd-party",maintainers:[{name:"Conner Bachmann",github:"intevel",avatar:"https://avatars.githubusercontent.com/u/59223342?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:4659,stars:219,watchers:219,forks:43,defaultBranch:"main",publishedAt:1697695692441,createdAt:1648374197556},contributors:[{id:59223342,username:"Intevel",contributions:222},{id:93563771,username:"codiam",contributions:22},{id:85650530,username:"casualmatt",contributions:14},{id:74846767,username:"Danielwinkelmann",contributions:7},{id:3519378,username:"amerkay",contributions:7},{id:13056429,username:"Sandros94",contributions:7},{id:324026,username:"craigharman",contributions:7},{id:8554558,username:"NMathar",contributions:3},{id:15140041,username:"rashidpathiyil",contributions:3},{id:47723417,username:"xNaCly",contributions:3},{id:80765270,username:"VicFleur",contributions:1},{id:24437987,username:"linkb15",contributions:1},{id:38366502,username:"ranseur92",contributions:1},{id:7526014,username:"dwaring87",contributions:1},{id:52180080,username:"florianjs",contributions:1},{id:946853,username:"scherii",contributions:1},{id:10852176,username:"halwesit",contributions:1},{id:303791,username:"JereMiO",contributions:1},{id:1553757,username:"mklueh",contributions:1},{id:1492215,username:"Nainterceptor",contributions:1},{id:904724,username:"Atinux",contributions:1},{id:2711970,username:"ymilhahn",contributions:1},{id:17858793,username:"dochoss",contributions:1},{id:18407632,username:"drennvinn",contributions:1}]},{name:"disqus",description:"Disqus Comments Module for Nuxt - Instantly add a comment widget to your app",repo:"modbender/nuxt-disqus",npm:"nuxt-disqus",icon:"disqus.svg",github:"https://github.com/modbender/nuxt-disqus",website:"https://github.com/modbender/nuxt-disqus",learn_more:"https://github.com/modbender/vue3-disqus",category:"Libraries",type:"3rd-party",maintainers:[{name:"modbender",github:"modbender"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:463,stars:3,watchers:3,forks:0,defaultBranch:"main",publishedAt:1689011404109,createdAt:1689011403603},contributors:[{id:25717245,username:"modbender",contributions:7}]},{name:"edgedb",description:"Integrate Nuxt 3 with EdgeDB effortlessly, adding a robust database layer to your app with minimal configuration.",repo:"Tahul/nuxt-edgedb",npm:"nuxt-edgedb-module",icon:"edgedb.svg",github:"https://github.com/Tahul/nuxt-edgedb",website:"https://github.com/Tahul/nuxt-edgedb",learn_more:"https://github.com/Tahul/nuxt-edgedb",category:"Database",type:"3rd-party",maintainers:[{name:"Yaël Guilloux",github:"Tahul",twitter:"yaeeelglx"}],compatibility:{nuxt:"^3.8.0",requires:{}},stats:{downloads:438,stars:40,watchers:40,forks:1,defaultBranch:"main",publishedAt:1700674738613,createdAt:1699677181203},contributors:[{id:1385263,username:"Tahul",contributions:32}]},{name:"electron",description:"Integrate Nuxt and Electron.",repo:"caoxiemeihao/nuxt-electron",npm:"nuxt-electron",icon:"electron.svg",github:"https://github.com/caoxiemeihao/nuxt-electron",website:"https://github.com/caoxiemeihao/nuxt-electron",learn_more:"https://github.com/caoxiemeihao/nuxt-electron#readme",category:"Extensions",type:"3rd-party",maintainers:[{name:"草鞋没号",github:"caoxiemeihao"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:5363,stars:120,watchers:120,forks:12,defaultBranch:"main",publishedAt:1689561907219,createdAt:1670825070068},contributors:[{id:26263658,username:"caoxiemeihao",contributions:84},{id:32047986,username:"gurvancampion",contributions:1},{id:8638243,username:"jofftiquez",contributions:1},{id:57059138,username:"OyewoleOyedeji",contributions:1},{id:58381667,username:"so1ve",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"element-plus",description:"A Vue 3 based component library for designers and developers",repo:"element-plus/element-plus-nuxt",npm:"@element-plus/nuxt",icon:"element-plus.svg",github:"https://github.com/element-plus/element-plus",website:"https://element-plus.org",learn_more:"https://github.com/element-plus/element-plus-nuxt",category:"UI",type:"3rd-party",maintainers:[{name:"tolking",github:"tolking"}],compatibility:{nuxt:"^3.0.0",requires:{bridge:"optional"}},stats:{downloads:31047,stars:82,watchers:82,forks:12,defaultBranch:"main",publishedAt:1700375932009,createdAt:1672843966105},contributors:[{id:23313167,username:"tolking",contributions:37},{id:73709188,username:"HigherOrderLogic",contributions:1},{id:15975785,username:"jw-foss",contributions:1},{id:7093483,username:"kakajansh",contributions:1},{id:1385160,username:"foxted",contributions:1}]},{name:"emotion",description:"The Next Generation of CSS-in-JS for Nuxt",repo:"nuxt-modules/emotion",npm:"@nuxtjs/emotion",icon:"emotion.png",github:"https://github.com/nuxt-modules/emotion",website:"https://github.com/nuxt-modules/emotion",learn_more:"https://emotion.sh/",category:"Extensions",type:"community",maintainers:[{name:"Pooya Parsa",github:"pi0",twitter:"_pi0_"},{name:"Jonathan Bakebwa",github:"codebender828",twitter:"codebender828"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:2472,stars:84,watchers:84,forks:2,defaultBranch:"main",publishedAt:1677314964116,createdAt:1549742221007},contributors:[{id:21237954,username:"codebender828",contributions:44},{id:5158436,username:"pi0",contributions:6},{id:13064722,username:"ricardogobbosouza",contributions:5},{id:640208,username:"manniL",contributions:2}]},{name:"eslint",description:"ESLint module for Nuxt",repo:"nuxt-community/eslint-module",npm:"@nuxtjs/eslint-module",icon:"eslint.png",github:"https://github.com/nuxt-community/eslint-module",website:"https://github.com/nuxt-community/eslint-module",learn_more:"https://eslint.org/",category:"Devtools",type:"community",maintainers:[{name:"Ricardo Gobbo de Souza",github:"ricardogobbosouza"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:695455,stars:125,watchers:125,forks:14,defaultBranch:"main",publishedAt:1685026613316,createdAt:1549990313813},contributors:[{id:13064722,username:"ricardogobbosouza",contributions:81},{id:6134547,username:"yoyo837",contributions:1},{id:7900646,username:"arikw",contributions:1},{id:28821368,username:"damisparks",contributions:1},{id:1154044,username:"rlam3",contributions:1}]},{name:"fontaine",description:"Automatically optimized font fallback based on font metrics",repo:"nuxt-modules/fontaine",npm:"@nuxtjs/fontaine",icon:"fontaine.png",github:"https://github.com/nuxt-modules/fontaine",website:"https://github.com/unjs/fontaine",learn_more:"https://github.com/unjs/fontaine",category:"Performance",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:27292,stars:262,watchers:262,forks:11,defaultBranch:"main",publishedAt:1690058978622,createdAt:1666093992333},contributors:[{id:28706372,username:"danielroe",contributions:40},{id:23550517,username:"alexbidenko",contributions:1},{id:48835293,username:"DamianGlowala",contributions:1},{id:45267552,username:"Barbapapazes",contributions:1},{id:52390439,username:"ijkml",contributions:1},{id:3125972,username:"ram-you",contributions:1},{id:82750477,username:"guy-confetti",contributions:1}]},{name:"form-actions",description:"A set of features and composables to interact with forms and server data.",repo:"Hebilicious/form-actions-nuxt#main/packages/form-action-nuxt",npm:"@hebilicious/form-actions-nuxt",icon:"form-actions.svg",github:"https://github.com/Hebilicious/form-actions-nuxt",website:"https://form-actions-nuxt.pages.dev/",learn_more:"https://github.com/Hebilicious/form-actions-nuxt#readme",category:"Request",type:"3rd-party",maintainers:[{name:"Hebilicious",github:"Hebilicious",twitter:"its_hebilicious"}],compatibility:{nuxt:"^3.7.0",requires:{}},stats:{downloads:578,stars:87,watchers:87,forks:5,defaultBranch:"main",publishedAt:1699881499855,createdAt:1686591628202},contributors:[{id:13395944,username:"Hebilicious",contributions:145},{id:2691946,username:"abernh",contributions:1},{id:18102267,username:"oritwoen",contributions:1},{id:55502199,username:"EvanSchleret",contributions:1},{id:52015,username:"jangxyz",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"formkit",description:"Seamless FormKit integration for Nuxt",repo:"formkit/formkit#master/packages/nuxt",npm:"@formkit/nuxt",icon:"formkit.png",github:"https://github.com/formkit/formkit",website:"https://formkit.com",learn_more:"https://formkit.com/essentials/installation#with-nuxt",category:"Libraries",type:"3rd-party",maintainers:[{name:"Justin Schroeder",github:"justin-schroeder",twitter:"jpschroeder"},{name:"Andrew Boyd",github:"andrew-boyd",twitter:"0xBOYD"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:49228,stars:3705,watchers:3705,forks:135,defaultBranch:"master",publishedAt:1700163031358,createdAt:1643926701651},contributors:[{id:1950463,username:"justin-schroeder",contributions:1003},{id:2946356,username:"andrew-boyd",contributions:184},{id:11545316,username:"luan-nk-nguyen",contributions:92},{id:14954720,username:"GustavoFenilli",contributions:80},{id:50585039,username:"sashamilenkovic",contributions:64},{id:1268538,username:"chrisladams",contributions:10},{id:34333374,username:"daniil4udo",contributions:7},{id:2567,username:"tmm1",contributions:5},{id:1735944,username:"CavalcanteLeo",contributions:5},{id:4084527,username:"riderx",contributions:5},{id:2241624,username:"lennartzellmer",contributions:5},{id:48835293,username:"DamianGlowala",contributions:5},{id:4098997,username:"devoidofgenius",contributions:4},{id:5167994,username:"aresofficial",contributions:4},{id:16470866,username:"xxSkyy",contributions:3},{id:50772478,username:"gbyesiltas",contributions:3},{id:39409783,username:"parafeu",contributions:2},{id:10572554,username:"arjendejong12",contributions:2},{id:28706372,username:"danielroe",contributions:2},{id:5445094,username:"dominikklein",contributions:2},{id:11798239,username:"Archetipo95",contributions:2},{id:38756142,username:"markusgeert",contributions:2},{id:13098848,username:"chiquyet199",contributions:2},{id:8686628,username:"santi",contributions:2},{id:16173870,username:"sheremet-va",contributions:2},{id:19146698,username:"lavolpecheprogramma",contributions:2},{id:20444343,username:"agenordebriat",contributions:1},{id:1063127,username:"antbrl",contributions:1},{id:38622893,username:"ByMykel",contributions:1}]},{name:"google-adsense",description:"Google Adsense Module for Nuxt",repo:"nuxt-community/google-adsense-module",npm:"@nuxtjs/google-adsense",icon:"google-adsense.png",github:"https://github.com/nuxt-community/google-adsense-module",website:"https://github.com/nuxt-community/google-adsense-module",learn_more:"https://www.google.com/adsense/start/",category:"Analytics",type:"community",maintainers:[{name:"Alexander Lichter",github:"manniL"},{name:"Troy Morehouse",github:"tmorehouse"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:6166,stars:173,watchers:173,forks:56,defaultBranch:"main",publishedAt:1696241020183,createdAt:1509131259255},contributors:[{id:2781561,username:"tmorehouse",contributions:21},{id:2047945,username:"farnabaz",contributions:19},{id:640208,username:"manniL",contributions:7},{id:614675,username:"1hakr",contributions:2},{id:223555,username:"3dd13",contributions:1},{id:63487995,username:"rexarvind",contributions:1},{id:8341848,username:"bennettfrazier",contributions:1},{id:34982358,username:"Eternal-Rise",contributions:1},{id:454310,username:"javray",contributions:1},{id:47635466,username:"seosmmbusiness",contributions:1},{id:4778485,username:"dargmuesli",contributions:1},{id:40721155,username:"kylegl",contributions:1},{id:14026732,username:"myagizguler",contributions:1},{id:20928689,username:"MatWaligora",contributions:1},{id:2802354,username:"khoazero123",contributions:1},{id:88871226,username:"mirumirumi",contributions:1}]},{name:"google-fonts",description:"Google Fonts module for Nuxt",repo:"nuxt-modules/google-fonts",npm:"@nuxtjs/google-fonts",icon:"google-fonts.png",github:"https://github.com/nuxt-modules/google-fonts",website:"https://google-fonts.nuxtjs.org",learn_more:"https://developers.google.com/fonts",category:"Fonts",type:"community",maintainers:[{name:"Ricardo Gobbo de Souza",github:"ricardogobbosouza"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:202038,stars:386,watchers:386,forks:34,defaultBranch:"main",publishedAt:1689965104273,createdAt:1594650964481},contributors:[{id:13064722,username:"ricardogobbosouza",contributions:85},{id:13063165,username:"debs-obrien",contributions:5},{id:3871688,username:"kara",contributions:5},{id:904724,username:"Atinux",contributions:4},{id:715491,username:"borisdayma",contributions:2},{id:13543079,username:"qwe12e",contributions:1},{id:1113278,username:"jiblett1000",contributions:1},{id:12446271,username:"cesaramirez",contributions:1},{id:28821368,username:"damisparks",contributions:1},{id:1306576,username:"LostCrew",contributions:1},{id:39669357,username:"Mixerou",contributions:1},{id:34955679,username:"xanzhu",contributions:1},{id:35804265,username:"afflexux",contributions:1}]},{name:"graphql-client",description:"Minimal GraphQL Client + Code Generation for Nuxt. Auto imports GraphQL Operations for easy execution.",repo:"diizzayy/nuxt-graphql-client",npm:"nuxt-graphql-client",icon:"graphql-client.svg",github:"https://github.com/diizzayy/nuxt-graphql-client",website:"https://github.com/diizzayy/nuxt-graphql-client",learn_more:"https://www.graphql-code-generator.com/plugins/typescript-graphql-request",category:"Request",type:"3rd-party",maintainers:[{name:"Diizzayy",github:"diizzayy"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:13774,stars:305,watchers:305,forks:34,defaultBranch:"main",publishedAt:1698406432100,createdAt:1646756879347},contributors:[{id:19627670,username:"Diizzayy",contributions:268},{id:2278938,username:"AveryBibeau",contributions:2},{id:6619884,username:"cpreston321",contributions:2},{id:4119508,username:"jonian",contributions:2},{id:35779884,username:"PanMisza",contributions:2},{id:904724,username:"Atinux",contributions:2},{id:378974,username:"boboldehampsink",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:15177236,username:"JoaoPedroAS51",contributions:1},{id:4178083,username:"lorenzofaresin",contributions:1},{id:153197,username:"rchl",contributions:1},{id:1668207,username:"TheDutchCoder",contributions:1}]},{name:"graphql-request",description:"Easy Minimal GraphQL client integration with Nuxt",repo:"gomah/nuxt-graphql-request",npm:"nuxt-graphql-request",icon:"graphql-request.png",github:"https://github.com/gomah/nuxt-graphql-request",website:"https://github.com/gomah/nuxt-graphql-request",learn_more:"",category:"Request",type:"3rd-party",maintainers:[{name:"gomah",github:"gomah"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:11816,stars:179,watchers:179,forks:15,defaultBranch:"master",publishedAt:1699484355105,createdAt:1577412772092},contributors:[{id:2362138,username:"Gomah",contributions:98},{id:5918348,username:"samturrell",contributions:14},{id:6460348,username:"zsavajji",contributions:1},{id:17232297,username:"Blindpupil",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:475015,username:"drewbaker",contributions:1},{id:20305403,username:"narduin",contributions:1},{id:55853254,username:"nicktrn",contributions:1}]},{name:"graphql-server",description:"Easy GraphQL server implementation with Nuxt",repo:"tobiasdiez/nuxt-graphql-server",npm:"nuxt-graphql-server",icon:"",github:"https://github.com/tobiasdiez/nuxt-graphql-server",website:"https://github.com/tobiasdiez/nuxt-graphql-server",learn_more:"",category:"Request",type:"3rd-party",maintainers:[{name:"tobiasdiez",github:"tobiasdiez"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:775,stars:18,watchers:18,forks:3,defaultBranch:"main",publishedAt:1694790235375,createdAt:1666948846617},contributors:[{id:5037600,username:"tobiasdiez",contributions:46},{id:48126337,username:"sduduzog",contributions:2},{id:6721822,username:"zeferinix",contributions:1}]},{name:"gtag",description:"Google Analytics integration for Nuxt",repo:"johannschopplich/nuxt-gtag",npm:"nuxt-gtag",icon:"gtag.svg",github:"https://github.com/johannschopplich/nuxt-gtag",website:"https://github.com/johannschopplich/nuxt-gtag#readme",learn_more:"",category:"Analytics",type:"3rd-party",maintainers:[{name:"Johann Schopplich",github:"johannschopplich",twitter:"jschopplich",avatar:"https://avatars.githubusercontent.com/johannschopplich?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:36343,stars:204,watchers:204,forks:3,defaultBranch:"main",publishedAt:1694786252119,createdAt:1678900615484},contributors:[{id:27850750,username:"johannschopplich",contributions:75}]},{name:"hanko",description:"Hanko integration for Nuxt for passwordless authentication",repo:"nuxt-modules/hanko",npm:"@nuxtjs/hanko",icon:"hanko.svg",github:"https://github.com/nuxt-modules/hanko",website:"https://github.com/nuxt-modules/hanko",learn_more:"https://hanko.io/",category:"Security",type:"community",maintainers:[{name:"danielroe",github:"danielroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:562,stars:57,watchers:57,forks:2,defaultBranch:"main",publishedAt:1699962532744,createdAt:1687122961725},contributors:[{id:28706372,username:"danielroe",contributions:53},{id:17185737,username:"McPizza0",contributions:3}]},{name:"harlem",description:"Harlem is a simple, unopinionated, lightweight and extensible state management solution for Vue 3.",repo:"nuxt-modules/harlem",npm:"@nuxtjs/harlem",icon:"harlem.svg",github:"https://github.com/nuxt-modules/harlem",website:"https://github.com/nuxt-modules/harlem",learn_more:"https://harlemjs.com/",category:"Extensions",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:417,stars:81,watchers:81,forks:1,defaultBranch:"main",publishedAt:1687529540243,createdAt:1644854268547},contributors:[{id:28706372,username:"danielroe",contributions:40},{id:43365376,username:"Lexpeartha",contributions:1}]},{name:"headlessui",description:"Headless UI integration for Nuxt. Completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.",repo:"P4sca1/nuxt-headlessui",npm:"nuxt-headlessui",icon:"headlessui.png",github:"https://github.com/P4sca1/nuxt-headlessui",website:"https://github.com/P4sca1/nuxt-headlessui",learn_more:"https://headlessui.com",category:"UI",type:"3rd-party",maintainers:[{name:"Pascal Sthamer",github:"P4sca1"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:33301,stars:119,watchers:119,forks:5,defaultBranch:"main",publishedAt:1681830451810,createdAt:1666538336094},contributors:[{id:10992664,username:"P4sca1",contributions:43}]},{name:"html-validator",description:"Automatically validate Nuxt server-rendered HTML html",repo:"nuxt-modules/html-validator",npm:"@nuxtjs/html-validator",icon:"html-validator.png",github:"https://github.com/nuxt-modules/html-validator",website:"https://html-validator.nuxtjs.org",learn_more:"https://html-validate.org",category:"Performance",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:39356,stars:163,watchers:163,forks:19,defaultBranch:"main",publishedAt:1690059299071,createdAt:1603968424930},contributors:[{id:28706372,username:"danielroe",contributions:107},{id:4778485,username:"dargmuesli",contributions:5},{id:63512348,username:"huang-julien",contributions:2},{id:640208,username:"manniL",contributions:1},{id:35566481,username:"warlock1996",contributions:1},{id:36807675,username:"kota-nakagawa",contributions:1},{id:5963574,username:"nathanchase",contributions:1},{id:45289373,username:"ryoheiw",contributions:1},{id:904724,username:"Atinux",contributions:1},{id:11621780,username:"MoogyG",contributions:1},{id:12776732,username:"zhuoqi-chen",contributions:1},{id:61966716,username:"hbanham",contributions:1},{id:9987732,username:"roiLeo",contributions:1}]},{name:"i18n",description:"i18n features for your Nuxt project so you can easily add internationalization.",repo:"nuxt-modules/i18n",npm:"@nuxtjs/i18n",icon:"i18n.png",github:"https://github.com/nuxt-modules/i18n",website:"https://v8.i18n.nuxtjs.org",learn_more:"https://kazupon.github.io/vue-i18n/",category:"Extensions",type:"community",maintainers:[{name:"Rafał Chłodnicki",github:"rchl"},{name:"Kazuya Kawaguchi",github:"kazupon"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:503120,stars:1488,watchers:1488,forks:436,defaultBranch:"main",publishedAt:1696297912698,createdAt:1628007183685},contributors:[{id:72989,username:"kazupon",contributions:377},{id:6649305,username:"BobbieGoede",contributions:77},{id:56732164,username:"ineshbose",contributions:8},{id:4778485,username:"dargmuesli",contributions:8},{id:904724,username:"Atinux",contributions:7},{id:28706372,username:"danielroe",contributions:4},{id:153197,username:"rchl",contributions:4},{id:8896043,username:"borghol",contributions:3},{id:6311119,username:"userquin",contributions:2},{id:26435307,username:"Mosaab-Emam",contributions:2},{id:11198968,username:"TakCastel",contributions:2},{id:13403295,username:"yassilah",contributions:2},{id:29367025,username:"wxh06",contributions:2},{id:1079135,username:"adriaanvanrossum",contributions:1},{id:640208,username:"manniL",contributions:1},{id:1065569,username:"deepfriedmind",contributions:1},{id:1233149,username:"kovtunos",contributions:1},{id:11289484,username:"AndreyYolkin",contributions:1},{id:64915763,username:"Simlor",contributions:1},{id:2095133,username:"cjpearson",contributions:1},{id:48835293,username:"DamianGlowala",contributions:1},{id:20292854,username:"imslepov",contributions:1},{id:2863444,username:"xfq",contributions:1},{id:17165633,username:"gffelisberto",contributions:1},{id:1069998,username:"ilkome",contributions:1},{id:28648060,username:"issenn",contributions:1},{id:27850750,username:"johannschopplich",contributions:1},{id:63512348,username:"huang-julien",contributions:1},{id:11078941,username:"karam12",contributions:1}]},{name:"icon-font",description:"Automatically generates fonts and custom properties (variables) from a specified folder containing SVG icons, injecting them into pages with live monitoring.",repo:"coremyslo/nuxt-icon-font",npm:"@coremyslo/nuxt-icon-font",icon:"",github:"https://github.com/coremyslo/nuxt-icon-font",website:"https://github.com/coremyslo/nuxt-icon-font",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"coremyslo",github:"coremyslo"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:174,stars:11,watchers:11,forks:0,defaultBranch:"main",publishedAt:1681467593045,createdAt:1681319522046},contributors:[{id:20535974,username:"coremyslo",contributions:17}]},{name:"icon-tw",description:"Extended Icon module with Tailwind CSS Icons for Nuxt",repo:"jcamp-code/nuxt-icon-tw",npm:"nuxt-icon-tw",icon:"nuxt-icon.png",github:"https://github.com/jcamp-code/nuxt-icon-tw",website:"https://github.com/jcamp-code/nuxt-icon-tw",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"JohnCampionJr",github:"JohnCampionJr"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:380,stars:0,watchers:0,forks:0,defaultBranch:"main",publishedAt:1698819948110,createdAt:1698291871826},contributors:[{id:904724,username:"Atinux",contributions:83},{id:1385263,username:"Tahul",contributions:10},{id:1094820,username:"JohnCampionJr",contributions:7},{id:28706372,username:"danielroe",contributions:1},{id:57781857,username:"Dlouxgit",contributions:1},{id:15716057,username:"fayazara",contributions:1},{id:79840527,username:"ace-of-aces",contributions:1},{id:51883557,username:"iRaziul",contributions:1},{id:57325448,username:"rubanp",contributions:1},{id:28957605,username:"turulix",contributions:1},{id:2703233,username:"toniengelhardt",contributions:1},{id:51122536,username:"tanerijun",contributions:1},{id:1884246,username:"zaosoula",contributions:1},{id:38621036,username:"devTeaa",contributions:1},{id:5158436,username:"pi0",contributions:1}]},{name:"icon",description:"Icon module for Nuxt with 100,000+ ready to use icons from Iconify.",repo:"nuxt-modules/icon",npm:"nuxt-icon",icon:"nuxt-icon.png",github:"https://github.com/nuxt-modules/icon",website:"https://github.com/nuxt-modules/icon",learn_more:"",category:"UI",type:"community",maintainers:[{name:"Atinux",github:"Atinux"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:136615,stars:667,watchers:667,forks:24,defaultBranch:"main",publishedAt:1699958058959,createdAt:1661440920327},contributors:[{id:904724,username:"Atinux",contributions:95},{id:1385263,username:"Tahul",contributions:10},{id:28706372,username:"danielroe",contributions:2},{id:7290030,username:"larbish",contributions:1},{id:739984,username:"benjamincanac",contributions:1},{id:57781857,username:"Dlouxgit",contributions:1},{id:15716057,username:"fayazara",contributions:1},{id:79840527,username:"ace-of-aces",contributions:1},{id:77613333,username:"pixelastronauts",contributions:1},{id:51883557,username:"iRaziul",contributions:1},{id:57325448,username:"rubanp",contributions:1},{id:28957605,username:"turulix",contributions:1},{id:2703233,username:"toniengelhardt",contributions:1},{id:51122536,username:"tanerijun",contributions:1},{id:1884246,username:"zaosoula",contributions:1},{id:38621036,username:"devTeaa",contributions:1},{id:5158436,username:"pi0",contributions:1}]},{name:"icons",description:"Use your own automatically imported SVG icons.",repo:"gitfoxcode/nuxt-icons",npm:"nuxt-icons",icon:"icons.png",github:"https://github.com/gitFoxCode/nuxt-icons",website:"https://github.com/gitFoxCode/nuxt-icons",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"Sebastian Wludzik",github:"gitfoxcode"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:35431,stars:172,watchers:172,forks:20,defaultBranch:"main",publishedAt:1682080070652,createdAt:1649315571131},contributors:[{id:24279375,username:"gitFoxCode",contributions:34},{id:47575319,username:"ghettoDdOS",contributions:3},{id:48382105,username:"shba007",contributions:1},{id:1109781,username:"tdekoning",contributions:1},{id:5158436,username:"pi0",contributions:1}]},{name:"image",description:"Optimised images for Nuxt, with progressive processing, lazy-loading, real-time resizes and providers support.",repo:"nuxt/image",npm:"@nuxt/image",icon:"image.png",github:"https://github.com/nuxt/image",website:"https://image.nuxt.com",learn_more:"",category:"Images",type:"official",maintainers:[{name:"Ahad Birang",github:"farnabaz",twitter:"a_birang"},{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"},{name:"Pooya Parsa",github:"pi0",twitter:"_pi0_"},{name:"Sebastien Chopin",github:"Atinux",twitter:"Atinux"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:311220,stars:1115,watchers:1115,forks:229,defaultBranch:"main",publishedAt:1700521085435,createdAt:1601640354767},contributors:[{id:5158436,username:"pi0",contributions:218},{id:2047945,username:"farnabaz",contributions:129},{id:28706372,username:"danielroe",contributions:128},{id:904724,username:"Atinux",contributions:75},{id:2152968,username:"ThomOrlo",contributions:8},{id:21211734,username:"shadow81627",contributions:6},{id:1439623,username:"clemcode",contributions:4},{id:13734256,username:"daletom",contributions:4},{id:3385679,username:"btkostner",contributions:3},{id:5326365,username:"harlan-zw",contributions:3},{id:1385263,username:"Tahul",contributions:3},{id:11556276,username:"flozero",contributions:3},{id:12596485,username:"reslear",contributions:3},{id:45005369,username:"ArmanNik",contributions:2},{id:763424,username:"florentb",contributions:2},{id:41453547,username:"codeflorist",contributions:2},{id:10297,username:"jdempster",contributions:2},{id:15758406,username:"huynl-96",contributions:2},{id:25330882,username:"lihbr",contributions:2},{id:6650139,username:"mayashavin",contributions:2},{id:6342102,username:"dosstx",contributions:2},{id:44122984,username:"PawFV",contributions:2},{id:5408097,username:"treboryx",contributions:2},{id:5109593,username:"Tragio",contributions:2},{id:40848950,username:"abhinavr4",contributions:2},{id:30387148,username:"niuyi1017",contributions:2},{id:48835293,username:"DamianGlowala",contributions:2},{id:18303390,username:"the94air",contributions:1},{id:2150306,username:"apollonian",contributions:1}]},{name:"inkline",description:"Nuxt Module for Inkline, the intuitive UI UX DX Components library for Vue.js 3 Design Systems.",repo:"inkline/plugin",npm:"@inkline/plugin",icon:"inkline.svg",github:"https://github.com/inkline/plugin",website:"https://inkline.io",learn_more:"https://inkline.io/docs/installation/nuxt",category:"UI",type:"3rd-party",maintainers:[{name:"Alex Grozav",github:"alexgrozav",twitter:"alexgrozav"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:1117,stars:2,watchers:2,forks:1,defaultBranch:"main",publishedAt:1686826054393,createdAt:1668021800717},contributors:[{id:6179477,username:"alexgrozav",contributions:83}]},{name:"ionic",description:"Batteries-included Ionic integration for building iOS, Android and web apps.",repo:"nuxt-modules/ionic",npm:"@nuxtjs/ionic",icon:"ionic.svg",github:"https://github.com/nuxt-modules/ionic",website:"https://ionic.nuxtjs.org",learn_more:"https://ionicframework.com",category:"Libraries",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:2831,stars:307,watchers:307,forks:30,defaultBranch:"main",publishedAt:1687782646149,createdAt:1666046345352},contributors:[{id:28706372,username:"danielroe",contributions:129},{id:43365376,username:"Lexpeartha",contributions:14},{id:904724,username:"Atinux",contributions:5},{id:42867097,username:"azrikahar",contributions:3},{id:83463097,username:"oumarbarry",contributions:3},{id:40367173,username:"ceceliacreates",contributions:1},{id:48835293,username:"DamianGlowala",contributions:1},{id:35950229,username:"Hrdtr",contributions:1},{id:2754728,username:"Jamiewarb",contributions:1},{id:10882793,username:"justRau",contributions:1},{id:34509813,username:"Mw3y",contributions:1},{id:192291,username:"tlebeitsuk",contributions:1}]},{name:"jsonapi",description:"Easy JSON:API client integration for Nuxt",repo:"patrickcate/nuxt-jsonapi",npm:"nuxt-jsonapi",icon:"jsonapi.svg",github:"https://github.com/patrickcate/nuxt-jsonapi",website:"https://github.com/patrickcate/nuxt-jsonapi",learn_more:"",category:"Request",type:"3rd-party",maintainers:[{name:"Patrick Cate",github:"patrickcate"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:476,stars:35,watchers:35,forks:6,defaultBranch:"develop",publishedAt:1698552085879,createdAt:1607749339250},contributors:[{id:6277206,username:"patrickcate",contributions:220},{id:12933109,username:"r9mp",contributions:1}]},{name:"kinde",description:"Kinde authentication integration for Nuxt",repo:"nuxt-modules/kinde",npm:"@nuxtjs/kinde",icon:"kinde.svg",github:"https://github.com/nuxt-modules/kinde",website:"https://kinde.com/docs/developer-tools/nuxt-module/",learn_more:"https://kinde.com/",category:"Security",type:"community",maintainers:[{name:"danielroe",github:"danielroe"},{name:"daveordead",github:"DaveOrDead",twitter:"dave_or_dead"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:387,stars:32,watchers:32,forks:2,defaultBranch:"main",publishedAt:1698193462420,createdAt:1697624616889},contributors:[{id:28706372,username:"danielroe",contributions:24},{id:1312905,username:"DaveOrDead",contributions:5},{id:904724,username:"Atinux",contributions:2},{id:1270799,username:"DanielRivers",contributions:1}]},{name:"kql",description:"Nuxt module for Kirby's Query Language API",repo:"johannschopplich/nuxt-kql",npm:"nuxt-kql",icon:"kql.svg",github:"https://github.com/johannschopplich/nuxt-kql",website:"https://nuxt-kql.jhnn.dev",learn_more:"",category:"CMS",type:"3rd-party",maintainers:[{name:"Johann Schopplich",github:"johannschopplich",twitter:"jschopplich",avatar:"https://avatars.githubusercontent.com/johannschopplich?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1401,stars:36,watchers:36,forks:0,defaultBranch:"main",publishedAt:1700127663073,createdAt:1654857056655},contributors:[{id:27850750,username:"johannschopplich",contributions:564},{id:5681075,username:"grommas",contributions:1}]},{name:"laravel-precognition",description:"Nuxt module to work with Laravel Precognition and $fetch",repo:"sot1986/nuxt-laravel-precognition",npm:"nuxt-laravel-precognition",icon:"laravel.svg",github:"https://github.com/sot1986/nuxt-laravel-precognition",website:"https://github.com/sot1986/nuxt-laravel-precognition",learn_more:"",category:"Security",type:"3rd-party",maintainers:[{name:"sot1986",github:"sot1986"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:75,stars:5,watchers:5,forks:0,defaultBranch:"main",publishedAt:1700549574585,createdAt:1693592613721},contributors:[{id:78511840,username:"sot1986",contributions:16}]},{name:"link-checker",description:"Find and magically fix links that may be negatively effecting your Nuxt sites SEO.",repo:"harlan-zw/nuxt-link-checker",npm:"nuxt-link-checker",icon:"link-checker.svg",github:"https://github.com/harlan-zw/nuxt-link-checker",website:"https://nuxtseo.com/link-checker",learn_more:"https://nuxtseo.com/link-checker",category:"SEO",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:32957,stars:64,watchers:64,forks:5,defaultBranch:"main",publishedAt:1699676100680,createdAt:1671430230256},contributors:[{id:5326365,username:"harlan-zw",contributions:139},{id:4778485,username:"dargmuesli",contributions:2},{id:45267552,username:"Barbapapazes",contributions:2},{id:640208,username:"manniL",contributions:1},{id:904724,username:"Atinux",contributions:1},{id:5037600,username:"tobiasdiez",contributions:1}]},{name:"lodash",description:"lodash module with auto-import and custom prefix",repo:"cipami/nuxt-lodash",npm:"nuxt-lodash",icon:"lodash.svg",github:"https://github.com/cipami/nuxt-lodash",website:"https://github.com/cipami/nuxt-lodash#readme",learn_more:"https://github.com/lodash/lodash",category:"Libraries",type:"3rd-party",maintainers:[{name:"Michal Čípa",github:"cipami"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:41511,stars:93,watchers:93,forks:8,defaultBranch:"master",publishedAt:1697996989028,createdAt:1637964465533},contributors:[{id:60187259,username:"cipami",contributions:39},{id:34333374,username:"daniil4udo",contributions:3},{id:128857,username:"marshallswain",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"logrocket",description:"LogRocket module for Nuxt to help you fix bugs and understand user behaviour.",repo:"nuxt-modules/logrocket",npm:"nuxt-logrocket",icon:"logrocket.png",github:"https://github.com/nuxt-modules/logrocket",website:"https://github.com/nuxt-modules/logrocket",learn_more:"https://docs.logrocket.com/docs",category:"Monitoring",type:"community",maintainers:[{name:"Farzad Soltani",github:"farzadso",twitter:"farzadso"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:3651,stars:134,watchers:134,forks:10,defaultBranch:"master",publishedAt:1690042336650,createdAt:1547918077224},contributors:[{id:19854715,username:"farzadso",contributions:369},{id:19627670,username:"Diizzayy",contributions:3},{id:904724,username:"Atinux",contributions:2},{id:498465,username:"gaelreyrol",contributions:1},{id:5326365,username:"harlan-zw",contributions:1},{id:32785527,username:"masayuki-tsuji",contributions:1}]},{name:"lucide-icons",description:"Nuxt module to integrate Lucide icons",repo:"swisnl/nuxt-lucide-icons",npm:"nuxt-lucide-icons",icon:"lucide-icons.svg",github:"https://github.com/swisnl/nuxt-lucide-icons",website:"https://github.com/swisnl/nuxt-lucide-icons",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"SWIS",github:"swisnl"},{name:"Jasper Zonneveld",github:"JaZo"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:380,stars:4,watchers:4,forks:0,defaultBranch:"main",publishedAt:1699977496402,createdAt:1685012559039},contributors:[{id:3475007,username:"JaZo",contributions:11},{id:5618114,username:"drprofesq",contributions:2}]},{name:"magic-regexp",description:"A compiled-away, type-safe, readable RegExp alternative",repo:"danielroe/magic-regexp",npm:"magic-regexp",icon:"magic-regexp.svg",github:"https://github.com/danielroe/magic-regexp",website:"https://magic-regexp.roe.dev",learn_more:"https://magic-regexp.roe.dev",category:"Libraries",type:"3rd-party",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:57332,stars:3427,watchers:3427,forks:49,defaultBranch:"main",publishedAt:1683280254293,createdAt:1657968562539},contributors:[{id:28706372,username:"danielroe",contributions:92},{id:29917252,username:"didavid61202",contributions:14},{id:7966133,username:"aykutkardas",contributions:1},{id:6822545,username:"ccjmne",contributions:1},{id:42563517,username:"krowter",contributions:1},{id:65339558,username:"xRSquared",contributions:1},{id:35431350,username:"ExEr7um",contributions:1},{id:30072175,username:"yjl9903",contributions:1},{id:35442047,username:"kongmoumou",contributions:1},{id:70888488,username:"zoeyzhao19",contributions:1}]},{name:"maz-ui",description:"install easily maz-ui library to take advantage of auto-import components, plugins, composables and CSS files.",repo:"louismazel/maz-ui",npm:"maz-ui",icon:"maz-ui.png",github:"https://github.com/louismazel/maz-ui",website:"https://louismazel.github.io/maz-ui-3/",learn_more:"https://louismazel.github.io/maz-ui-3/",category:"UI",type:"community",maintainers:[{name:"Loïc Mazuel",github:"LouisMazel"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:34244,stars:343,watchers:343,forks:49,defaultBranch:"master",publishedAt:1700663666021,createdAt:1577304184715},contributors:[{id:12446546,username:"LouisMazel",contributions:1173},{id:28706372,username:"danielroe",contributions:1},{id:2184726,username:"dnyer11",contributions:1},{id:3728536,username:"jorgevrgs",contributions:1},{id:26676061,username:"malikdoksoz",contributions:1},{id:26164755,username:"oketafred",contributions:1},{id:398400,username:"pboos",contributions:1},{id:6775220,username:"gangsthub",contributions:1},{id:9120634,username:"mkt4ever",contributions:1},{id:106826371,username:"selemondev",contributions:1}]},{name:"medusa",description:"Easily connect to Medusa from your Nuxt application",repo:"Baroshem/nuxt-medusa",npm:"nuxt-medusa",icon:"medusa.svg",github:"https://github.com/Baroshem/nuxt-medusa/",website:"https://nuxt-medusa.vercel.app/",learn_more:"https://nuxt-medusa.vercel.app/",category:"Ecommerce",type:"3rd-party",maintainers:[{name:"Jakub Andrzejewski",github:"Baroshem",avatar:"https://avatars.githubusercontent.com/u/37120330?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:351,stars:101,watchers:101,forks:4,defaultBranch:"main",publishedAt:1698224996483,createdAt:1677221605695},contributors:[{id:37120330,username:"Baroshem",contributions:36},{id:6861191,username:"runyasak",contributions:4},{id:59223342,username:"Intevel",contributions:2},{id:16154728,username:"dimitrio-m",contributions:2},{id:13703238,username:"carpad88",contributions:1}]},{name:"meilisearch",description:"Meilisearch Instant Search module for Nuxt",repo:"xlanex6/nuxt-meilisearch",npm:"nuxt-meilisearch",icon:"meilisearch.svg",github:"https://github.com/xlanex6/nuxt-meilisearch",website:"https://github.com/xlanex6/nuxt-meilisearch",learn_more:"https://github.com/xlanex6/nuxt-meilisearch",category:"Libraries",type:"3rd-party",maintainers:[{name:"Alex Duval",github:"xlanex6",avatar:"https://avatars.githubusercontent.com/u/13418668?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{bridge:!1},devtools:"^0.0.0"},stats:{downloads:1577,stars:83,watchers:83,forks:10,defaultBranch:"master",publishedAt:1698573036100,createdAt:1652031078491},contributors:[{id:13418668,username:"xlanex6",contributions:107},{id:500843,username:"gleb-svechnikov",contributions:2},{id:10812694,username:"joewinger",contributions:1},{id:5947268,username:"miguelgargallo",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"module-feed",description:"Feed module enables everyone to have RSS, Atom and JSON.",repo:"tresko/nuxt-module-feed",npm:"nuxt-module-feed",icon:"",github:"https://github.com/tresko/nuxt-module-feed",website:"https://github.com/tresko/nuxt-module-feed",learn_more:"",category:"SEO",type:"3rd-party",maintainers:[{name:"Miha Sedej",github:"tresko",twitter:"mihasedej"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:302,stars:9,watchers:9,forks:0,defaultBranch:"main",publishedAt:1679321202924,createdAt:1679314988022},contributors:[{id:14868014,username:"tresko",contributions:40}]},{name:"nupolyon",description:"Inject polyfill from polyfill.io to nuxt project, auto detect based on browserslist config",repo:"adenvt/nupolyon",npm:"nupolyon",icon:"",github:"https://github.com/adenvt/nupolyon",website:"https://github.com/adenvt/nupolyon",learn_more:"",category:"Performance",type:"3rd-party",maintainers:[{name:"adenvt",github:"adenvt"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:319,stars:1,watchers:1,forks:1,defaultBranch:"main",publishedAt:1689353351722,createdAt:1681450837016},contributors:[{id:10667160,username:"adenvt",contributions:60},{id:4778485,username:"dargmuesli",contributions:5},{id:112890430,username:"trijpstra-fourlights",contributions:5}]},{name:"nuxt-anchorscroll",description:"Scroll to top and to anchor support for Nuxt",repo:"helltraitor/nuxt-anchorscroll",npm:"nuxt-anchorscroll",icon:"",github:"https://github.com/helltraitor/nuxt-anchorscroll",website:"https://github.com/helltraitor/nuxt-anchorscroll",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"Helltraitor",github:"helltraitor"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:622,stars:1,watchers:1,forks:1,defaultBranch:"main",publishedAt:1695997459867,createdAt:1688843428046},contributors:[{id:95148327,username:"helltraitor",contributions:39}]},{name:"nuxt-auth-sanctum",description:"Nuxt module for Laravel Sanctum authentication",repo:"manchenkoff/nuxt-auth-sanctum",npm:"nuxt-auth-sanctum",icon:"laravel.svg",github:"https://github.com/manchenkoff/nuxt-auth-sanctum",website:"https://github.com/manchenkoff/nuxt-auth-sanctum",learn_more:"",category:"Security",type:"3rd-party",maintainers:[{name:"Artem Manchenkov",github:"manchenkoff",avatar:"https://avatars.githubusercontent.com/manchenkoff"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:563,stars:18,watchers:18,forks:0,defaultBranch:"main",publishedAt:1700507167353,createdAt:1695330039982},contributors:[{id:6690063,username:"manchenkoff",contributions:44}]},{name:"nuxt-basic-auth",description:"Nuxt Module for Basic Authentication",repo:"kgierke/nuxt-basic-auth",npm:"@kgierke/nuxt-basic-auth",icon:"",github:"https://github.com/kgierke/nuxt-basic-auth",website:"https://github.com/kgierke/nuxt-basic-auth",learn_more:"",category:"Security",type:"3rd-party",maintainers:[{name:"kgierke",github:"kgierke"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3510,stars:3,watchers:3,forks:1,defaultBranch:"main",publishedAt:1696418804277,createdAt:1691248923589},contributors:[{id:1983246,username:"kgierke",contributions:15}]},{name:"nuxt-bootstrap-icons",description:"Just a simple integration for Bootstrap Icons",repo:"OyewoleOyedeji/nuxt-bootstrap-icons",npm:"nuxt-bootstrap-icons",icon:"bootstrap-icons.svg",github:"https://github.com/OyewoleOyedeji/nuxt-bootstrap-icons",website:"https://github.com/OyewoleOyedeji/nuxt-bootstrap-icons",learn_more:"https://github.com/OyewoleOyedeji/nuxt-bootstrap-icons",category:"UI",type:"3rd-party",maintainers:[{name:"OyewoleOyedeji",github:"OyewoleOyedeji"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:861,stars:2,watchers:2,forks:0,defaultBranch:"main",publishedAt:1697061302995,createdAt:1687951513642},contributors:[{id:57059138,username:"OyewoleOyedeji",contributions:15}]},{name:"nuxt-chatgpt",description:"ChatGPT integration for Nuxt",repo:"schnapsterdog/nuxt-chatgpt",npm:"nuxt-chatgpt",icon:"chatgpt.svg",github:"https://github.com/schnapsterdog/nuxt-chatgpt",website:"https://github.com/schnapsterdog/nuxt-chatgpt",learn_more:"https://github.com/schnapsterdog/nuxt-chatgpt/blob/main/README.md",category:"Libraries",type:"3rd-party",maintainers:[{name:"Oliver Trajceski",github:"schnapsterdog"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:323,stars:128,watchers:128,forks:15,defaultBranch:"master",publishedAt:1692232625129,createdAt:1678992492383},contributors:[{id:20330303,username:"SchnapsterDog",contributions:40},{id:28706372,username:"danielroe",contributions:2},{id:56158280,username:"AbdelH2O",contributions:1}]},{name:"nuxt-facebook-chat",description:"nuxt-plotly module is thin Nuxt wrapper for Facebook's Customer Chat SDK",repo:"superdev-tech/nuxt-facebook-chat",npm:"nuxt-facebook-chat",icon:"nuxt-facebook-chat.svg",github:"https://github.com/superdev-tech/nuxt-facebook-chat",website:"https://github.com/superdev-tech/nuxt-facebook-chat",learn_more:"https://www.npmjs.com/package/nuxt-facebook-chat",category:"Libraries",type:"3rd-party",maintainers:[{name:"Supanut Dokmaithong",github:"Boomgeek"},{name:"superdev-tech",github:"superdev-tech"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:228,stars:4,watchers:4,forks:1,defaultBranch:"main",publishedAt:1693194751214,createdAt:1692872097578},contributors:[{id:8353081,username:"Boomgeek",contributions:15}]},{name:"nuxt-feedme",description:"The RSS feed module for Nuxt web framework with ATOM, JSON and RSS support",repo:"helltraitor/nuxt-feedme",npm:"nuxt-feedme",icon:"",github:"https://github.com/helltraitor/nuxt-feedme",website:"https://github.com/helltraitor/nuxt-feedme",learn_more:"",category:"SEO",type:"3rd-party",maintainers:[{name:"Helltraitor",github:"helltraitor"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:274,stars:16,watchers:16,forks:1,defaultBranch:"main",publishedAt:1695998936152,createdAt:1690059658708},contributors:[{id:95148327,username:"helltraitor",contributions:129}]},{name:"nuxt-graphql-middleware",description:"Expose GraphQL queries and mutations as server API routes.",repo:"dulnan/nuxt-graphql-middleware",npm:"nuxt-graphql-middleware",icon:"nuxt-graphql-middleware.svg",github:"https://github.com/dulnan/nuxt-graphql-middleware",website:"https://nuxt-graphql-middleware.dulnan.net",learn_more:"",category:"Request",type:"3rd-party",maintainers:[{name:"dulnan",github:"dulnan",twitter:"dulnan",avatar:"https://avatars.githubusercontent.com/dulnan?v=4"},{name:"ayalon",github:"ayalon",avatar:"https://avatars.githubusercontent.com/ayalon?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:3236,stars:42,watchers:42,forks:4,defaultBranch:"main",publishedAt:1697452639873,createdAt:1612267370631},contributors:[{id:4155003,username:"dulnan",contributions:139},{id:432045,username:"ayalon",contributions:13}]},{name:"nuxt-gtm",description:"A Nuxt module for Google Tag Manager",repo:"zadigetvoltaire/nuxt-gtm",npm:"@zadigetvoltaire/nuxt-gtm",icon:"nuxt-gtm.svg",github:"https://github.com/zadigetvoltaire/nuxt-gtm",website:"https://github.com/zadigetvoltaire/nuxt-gtm",learn_more:"https://developers.google.com/tag-platform/tag-manager?hl=fr",category:"Analytics",type:"3rd-party",maintainers:[{name:"Zadig&Voltaire Team",github:"https://github.com/zadigetvoltaire"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:46227,stars:32,watchers:32,forks:1,defaultBranch:"main",publishedAt:1684774491601,createdAt:1679418877580},contributors:[{id:12446546,username:"LouisMazel",contributions:47},{id:1674029,username:"michael-bouvy",contributions:2}]},{name:"nuxt-hue",description:"Enlighten your Nuxt experience",repo:"lihbr/nuxt-hue",npm:"nuxt-hue",icon:"nuxt-hue.svg",github:"https://github.com/lihbr/nuxt-hue",website:"https://github.com/lihbr/nuxt-hue",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"lihbr",github:"lihbr"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:93,stars:128,watchers:128,forks:1,defaultBranch:"master",publishedAt:1684758990399,createdAt:1617017799031},contributors:[{id:25330882,username:"lihbr",contributions:47}]},{name:"nuxt-jsonld",description:"Manage JSON-LD in Vue component.",repo:"ymmooot/nuxt-jsonld",npm:"nuxt-jsonld",icon:"",github:"https://github.com/ymmooot/nuxt-jsonld",website:"https://github.com/ymmooot/nuxt-jsonld",learn_more:"",category:"SEO",type:"3rd-party",maintainers:[{name:"ymmooot",github:"ymmooot"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:80004,stars:284,watchers:284,forks:24,defaultBranch:"master",publishedAt:1692959129494,createdAt:1543571798512},contributors:[{id:28696621,username:"ymmooot",contributions:751},{id:7464929,username:"TeXmeijin",contributions:4},{id:17243595,username:"RyoNkmr",contributions:3},{id:28706372,username:"danielroe",contributions:1},{id:472923,username:"quamsta",contributions:1},{id:837651,username:"jmyrland",contributions:1},{id:2091290,username:"reinoldus",contributions:1},{id:7361247,username:"tjkohli",contributions:1},{id:7507294,username:"yamotuki",contributions:1}]},{name:"nuxt-localtunnel",description:"Exposes your Nuxt localhost to the world automatically.",repo:"nuxtus/localtunnel",npm:"@nuxtus/nuxt-localtunnel",icon:"nuxt-localtunnel.svg",github:"https://github.com/nuxtus/localtunnel",website:"https://nuxtus.com",learn_more:"https://docs.nuxtus.com/#/localtunnel",category:"Devtools",type:"3rd-party",maintainers:[{name:"Craig Harman",github:"craigharman",twitter:"craig_harman"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:328,stars:19,watchers:19,forks:1,defaultBranch:"main",publishedAt:1668656867091,createdAt:1662115141769},contributors:[{id:324026,username:"craigharman",contributions:17}]},{name:"nuxt-loco",description:"A localise.biz module to synth locale with Nuxt",repo:"gaetansenn/nuxt-loco",npm:"nuxt-loco",icon:"",github:"https://github.com/gaetansenn/nuxt-loco",website:"https://nuxt-loco.dewib.com/",learn_more:"",category:"Libraries",type:"3rd-party",maintainers:[{name:"Gaetan SENN",github:"gaetansenn",avatar:"https://avatars.githubusercontent.com/u/2774075?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:205,stars:2,watchers:2,forks:0,defaultBranch:"main",publishedAt:1673258018864,createdAt:1673021741767},contributors:[{id:2774075,username:"gaetansenn",contributions:17}]},{name:"nuxt-mail",description:"Adds email sending capability to a Nuxt.js app. Adds a server route, an injected variable, and uses nodemailer to send emails.",repo:"dword-design/nuxt-mail",npm:"nuxt-mail",icon:"",github:"https://github.com/dword-design/nuxt-mail",website:"https://github.com/dword-design/nuxt-mail",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"Sebastian Landwehr",github:"dword-design"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:3960,stars:167,watchers:167,forks:13,defaultBranch:"master",publishedAt:1700649041569,createdAt:1597847237680},contributors:[{id:13484795,username:"dword-design",contributions:40},{id:65916846,username:"actions-user",contributions:19},{id:24830662,username:"mathe42",contributions:2},{id:15963871,username:"Skyline96",contributions:1},{id:25974953,username:"test123456789012345",contributions:1}]},{name:"nuxt-mapbox",description:"Elegant Mapbox integration with Nuxt",repo:"AlexLavoie42/Nuxt-Mapbox",npm:"nuxt-mapbox",icon:"nuxt-mapbox.svg",github:"https://github.com/AlexLavoie42/Nuxt-Mapbox",website:"https://github.com/AlexLavoie42/Nuxt-Mapbox",learn_more:"https://github.com/AlexLavoie42/Nuxt-Mapbox",category:"Libraries",type:"3rd-party",maintainers:[{name:"Alex Lavoie",github:"AlexLavoie42"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:4706,stars:56,watchers:56,forks:6,defaultBranch:"main",publishedAt:1700182762577,createdAt:1676111744170},contributors:[{id:9439243,username:"AlexLavoie42",contributions:373},{id:26260104,username:"eduayme",contributions:1},{id:38594674,username:"ElvisGmz",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"nuxt-mdi",description:"Add 7,000+ icons to your Nuxt application, from Material Design Icons.",repo:"ERPedersen/nuxt-mdi",npm:"nuxt-mdi",icon:"mdi.png",github:"https://github.com/ERPedersen/nuxt-mdi",website:"https://nuxt-mdi.emilrosenius.com",learn_more:"https://github.com/ERPedersen/nuxt-mdi/blob/main/README.md",category:"Libraries",type:"3rd-party",maintainers:[{name:"Emil Rosenius",github:"ERPedersen"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:340,stars:11,watchers:11,forks:0,defaultBranch:"main",publishedAt:1692224968715,createdAt:1691504128506},contributors:[{id:8896149,username:"ERPedersen",contributions:17}]},{name:"nuxt-monaco-editor",description:"Integrate monaco-editor with Nuxt",repo:"e-chan1007/nuxt-monaco-editor",npm:"nuxt-monaco-editor",icon:"nuxt-monaco-editor.png",github:"https://github.com/e-chan1007/nuxt-monaco-editor",website:"https://github.com/e-chan1007/nuxt-monaco-editor",learn_more:"https://e-chan1007.github.io/nuxt-monaco-editor",category:"Libraries",type:"3rd-party",maintainers:[{name:"e-chan1007",github:"e-chan1007"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:7876,stars:74,watchers:74,forks:8,defaultBranch:"main",publishedAt:1691981702350,createdAt:1661240850965},contributors:[{id:23521568,username:"e-chan1007",contributions:102},{id:28706372,username:"danielroe",contributions:2},{id:31401273,username:"7PH",contributions:1},{id:9212274,username:"KABBOUCHI",contributions:1},{id:58112571,username:"starnayuta",contributions:1}]},{name:"nuxt-mongoose",description:"A Nuxt module for simplifying the use of Mongoose in your project.",repo:"arashsheyda/nuxt-mongoose",npm:"nuxt-mongoose",icon:"nuxt-mongoose.svg",github:"https://github.com/arashsheyda/nuxt-mongoose",website:"https://nuxt-mongoose.nuxt.space",learn_more:"",category:"Database",type:"3rd-party",maintainers:[{name:"arashsheyda",github:"arashsheyda"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:1921,stars:44,watchers:44,forks:3,defaultBranch:"main",publishedAt:1698347099921,createdAt:1681640874123},contributors:[{id:38922203,username:"arashsheyda",contributions:96},{id:83463097,username:"oumarbarry",contributions:2},{id:45233617,username:"joypal23jkp",contributions:1},{id:71969684,username:"amir-al-mohamad111",contributions:1}]},{name:"nuxt-payload-analyzer",description:"Analyze Nuxt Payload Size",repo:"barbapapazes/nuxt-payload-analyzer",npm:"nuxt-payload-analyzer",icon:"",github:"https://github.com/barbapapazes/nuxt-payload-analyzer",website:"https://github.com/barbapapazes/nuxt-payload-analyzer#readme",learn_more:"",category:"Performance",type:"3rd-party",maintainers:[{name:"Barbapapazes",github:"Barbapapazes",twitter:"soubiran_"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1105,stars:20,watchers:20,forks:0,defaultBranch:"main",publishedAt:1699781566884,createdAt:1698100764757},contributors:[{id:45267552,username:"Barbapapazes",contributions:16}]},{name:"nuxt-pdf",description:"Zero-boilerplate PDF exports of your Pages and Components",repo:"sidebase/nuxt-pdf",npm:"@sidebase/nuxt-pdf",icon:"nuxt-pdf.png",github:"https://github.com/sidebase/nuxt-pdf",website:"https://sidebase.io/nuxt-pdf",learn_more:"https://github.com/sidebase",category:"Extensions",type:"3rd-party",maintainers:[{name:"sidebase",github:"sidebase",twitter:"sidebase_io"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:5061,stars:69,watchers:69,forks:6,defaultBranch:"main",publishedAt:1675267149927,createdAt:1675189517118},contributors:[{id:30908158,username:"zoey-kaiser",contributions:14},{id:25911230,username:"BracketJohn",contributions:3}]},{name:"nuxt-phosphor-icons",description:"Just a simple integration for @phosphor-icons in Nuxt",repo:"OyewoleOyedeji/nuxt-phosphor-icons",npm:"nuxt-phosphor-icons",icon:"phosphor-icons.svg",github:"https://github.com/OyewoleOyedeji/nuxt-phosphor-icons",website:"https://github.com/OyewoleOyedeji/nuxt-phosphor-icons",learn_more:"https://github.com/OyewoleOyedeji/nuxt-phosphor-icons",category:"UI",type:"3rd-party",maintainers:[{name:"OyewoleOyedeji",github:"OyewoleOyedeji"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:393,stars:8,watchers:8,forks:0,defaultBranch:"main",publishedAt:1697060232487,createdAt:1687630453058},contributors:[{id:57059138,username:"OyewoleOyedeji",contributions:25}]},{name:"plausible",description:"Nuxt module to natively integrate Plausible analytics",repo:"nuxt-modules/plausible",npm:"@nuxtjs/plausible",icon:"plausible.png",github:"https://github.com/nuxt-modules/plausible",website:"https://github.com/nuxt-modules/plausible",learn_more:"https://plausible.io/",category:"Analytics",type:"community",maintainers:[{name:"Johann Schopplich",github:"johannschopplich"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:18115,stars:75,watchers:75,forks:0,defaultBranch:"main",publishedAt:1694162590261,createdAt:1669889753373},contributors:[{id:27850750,username:"johannschopplich",contributions:60},{id:21025134,username:"hymair",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"nuxt-plotly",description:"nuxt-plotly is a thin Nuxt wrapper for plotly.js",repo:"superdev-tech/nuxt-plotly",npm:"nuxt-plotly",icon:"nuxt-plotly.svg",github:"https://github.com/superdev-tech/nuxt-plotly",website:"https://github.com/superdev-tech/nuxt-plotly",learn_more:"https://www.npmjs.com/package/nuxt-plotly",category:"Libraries",type:"3rd-party",maintainers:[{name:"Supanut Dokmaithong",github:"Boomgeek"},{name:"superdev-tech",github:"superdev-tech"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:317,stars:21,watchers:21,forks:2,defaultBranch:"main",publishedAt:1690963710785,createdAt:1690186481342},contributors:[{id:8353081,username:"Boomgeek",contributions:33}]},{name:"nuxt-social-share",description:"Simple Social Sharing for Nuxt",repo:"stefanobartoletti/nuxt-social-share",npm:"@stefanobartoletti/nuxt-social-share",icon:"nuxt-social-share.png",github:"https://github.com/stefanobartoletti/nuxt-social-share",website:"https://github.com/stefanobartoletti/nuxt-social-share",learn_more:"https://github.com/stefanobartoletti/nuxt-social-share#readme",category:"Extensions",type:"3rd-party",maintainers:[{name:"stefanobartoletti",github:"stefanobartoletti"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:834,stars:34,watchers:34,forks:3,defaultBranch:"main",publishedAt:1700575528675,createdAt:1698937923497},contributors:[{id:36746429,username:"stefanobartoletti",contributions:100}]},{name:"ssr-lit",description:"Server-Side Rendering for Lit Element components",repo:"prashantpalikhe/nuxt-ssr-lit",npm:"nuxt-ssr-lit",icon:"",github:"https://github.com/prashantpalikhe/nuxt-ssr-lit",website:"https://github.com/prashantpalikhe/nuxt-ssr-lit",learn_more:"",category:"Libraries",type:"3rd-party",maintainers:[{name:"Prashant Palikhe",github:"prashantpalikhe",twitter:"prashantpalikhe"},{name:"Steve Workman",github:"steveworkman",twitter:"steveworkman"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1111,stars:39,watchers:39,forks:6,defaultBranch:"main",publishedAt:1699343855445,createdAt:1668421898214},contributors:[{id:2657709,username:"prashantpalikhe",contributions:53},{id:994905,username:"steveworkman",contributions:30},{id:40413829,username:"augustjk",contributions:1}]},{name:"nuxt-svgo",description:"Nuxt module to load optimized SVG files as Vue components",repo:"cpsoinos/nuxt-svgo",npm:"nuxt-svgo",icon:"nuxt-svgo.png",github:"https://github.com/cpsoinos/nuxt-svgo",website:"https://github.com/cpsoinos/nuxt-svgo",learn_more:"",category:"Images",type:"3rd-party",maintainers:[{name:"cpsoinos",github:"cpsoinos"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:38689,stars:94,watchers:94,forks:7,defaultBranch:"main",publishedAt:1699734915464,createdAt:1653351575125},contributors:[{id:10081464,username:"cpsoinos",contributions:42},{id:6196533,username:"jd1378",contributions:16},{id:134087665,username:"Dotmot",contributions:1},{id:43762190,username:"josuelrocha",contributions:1},{id:31704887,username:"letavocado",contributions:1}]},{name:"nuxt-viewport",description:"Define custom viewports for your Nuxt project",repo:"mvrlin/nuxt-viewport",npm:"nuxt-viewport",icon:"nuxt-viewport.svg",github:"https://github.com/mvrlin/nuxt-viewport",website:"https://github.com/mvrlin/nuxt-viewport",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"mvrlin",github:"mvrlin"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:19666,stars:83,watchers:83,forks:5,defaultBranch:"main",publishedAt:1686991688460,createdAt:1614287126206},contributors:[{id:24970784,username:"mvrlin",contributions:51},{id:28987123,username:"ploca14",contributions:1},{id:71973480,username:"gartonot",contributions:1}]},{name:"nuxt-vue3-google-signin",description:"Empower your Nuxt app with Google Sign-In, hassle-free",repo:"wavezync/nuxt-vue3-google-signin",npm:"nuxt-vue3-google-signin",icon:"vue3-google-signin.svg",github:"https://github.com/wavezync/nuxt-vue3-google-signin",website:"https://vue3-google-signin.wavezync.com",learn_more:"https://vue3-google-signin.wavezync.com",category:"Libraries",type:"3rd-party",maintainers:[{name:"Kasun Vithanage",github:"kasvith"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3514,stars:39,watchers:39,forks:4,defaultBranch:"main",publishedAt:1699294310464,createdAt:1660600763884},contributors:[{id:13379595,username:"kasvith",contributions:34}]},{name:"nuxt-vuetify",description:"Add Vuetify 3 to your Nuxt application in 3 seconds.",repo:"invictus-codes/nuxt-vuetify",npm:"@invictus.codes/nuxt-vuetify",icon:"vuetify-logo-v3-dark.svg",github:"https://github.com/invictus-codes/nuxt-vuetify",website:"https://invictus-codes.github.io/nuxt-vuetify/",learn_more:"https://github.com/invictus-codes/nuxt-vuetify/blob/main/README.md",category:"UI",type:"3rd-party",maintainers:[{name:"Jens van Hellemondt",github:"invictus-codes"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:9945,stars:71,watchers:71,forks:6,defaultBranch:"main",publishedAt:1689025416771,createdAt:1676279046452},contributors:[{id:47124570,username:"jvhellemondt",contributions:85},{id:26455591,username:"almahari",contributions:3},{id:86659,username:"francois2metz",contributions:1}]},{name:"nuxt3-interpolation",description:"",repo:"daliborgogic/interpolation#master",npm:"nuxt3-interpolation",icon:"",github:"https://github.com/daliborgogic/interpolation/tree/master",website:"https://github.com/daliborgogic/interpolation/tree/master",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"daliborgogic",github:"daliborgogic"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:126,stars:5,watchers:5,forks:0,defaultBranch:"main",publishedAt:1652310229486,createdAt:1637344815165},contributors:[{id:5895389,username:"daliborgogic",contributions:22},{id:17392251,username:"mrleblanc101",contributions:2}]},{name:"nuxt3-leaflet",description:"Leaflet integration with Nuxt",repo:"Gugustinette/Nuxt-Leaflet",npm:"nuxt3-leaflet",icon:"leaflet.png",github:"https://github.com/Gugustinette/Nuxt-Leaflet",website:"https://github.com/Gugustinette/Nuxt-Leaflet",learn_more:"https://github.com/Gugustinette/Nuxt-Leaflet",category:"Libraries",type:"3rd-party",maintainers:[{name:"Augustin MERCIER",github:"Gugustinette"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:4226,stars:29,watchers:29,forks:0,defaultBranch:"main",publishedAt:1691825259679,createdAt:1687654805217},contributors:[{id:63470020,username:"Gugustinette",contributions:49}]},{name:"og-image",description:"Enlightened runtime images generated with Vue templates.",repo:"harlan-zw/nuxt-og-image",npm:"nuxt-og-image",icon:"og-image.svg",github:"https://github.com/harlan-zw/nuxt-og-image",website:"https://nuxtseo.com/og-image",learn_more:"https://nuxtseo.com/og-image",category:"SEO",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:36025,stars:274,watchers:274,forks:14,defaultBranch:"main",publishedAt:1699276932565,createdAt:1671077846440},contributors:[{id:5326365,username:"harlan-zw",contributions:725},{id:4778485,username:"dargmuesli",contributions:3},{id:2629739,username:"juno-w",contributions:2},{id:11247099,username:"antfu",contributions:1},{id:1840026,username:"maximepvrt",contributions:1},{id:904724,username:"Atinux",contributions:1},{id:5037600,username:"tobiasdiez",contributions:1},{id:94787322,username:"aoor9",contributions:1},{id:7954293,username:"ucw",contributions:1}]},{name:"particles",description:"Easily add particle animations to your Nuxt projects using tsParticles",repo:"Joepocalyptic/nuxt-particles",npm:"nuxt-particles",icon:"",github:"https://github.com/Joepocalyptic/nuxt-particles",website:"https://nuxt-particles.joeypereira.dev",learn_more:"https://particles.js.org/",category:"Libraries",type:"3rd-party",maintainers:[{name:"Joey Pereira",github:"Joepocalyptic",avatar:"https://avatars.githubusercontent.com/Joepocalyptic?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1127,stars:20,watchers:20,forks:1,defaultBranch:"main",publishedAt:1692796056174,createdAt:1692585889380},contributors:[{id:42530725,username:"Joepocalyptic",contributions:18}]},{name:"partytown",description:"Partytown integration for Nuxt - relocate resource intensive scripts into a web worker, and off of the main thread.",repo:"nuxt-modules/partytown",npm:"@nuxtjs/partytown",icon:"partytown.svg",github:"https://github.com/nuxt-modules/partytown",website:"https://github.com/nuxt-modules/partytown",learn_more:"https://partytown.builder.io/",category:"Performance",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:20723,stars:271,watchers:271,forks:6,defaultBranch:"main",publishedAt:1669850688923,createdAt:1643889240459},contributors:[{id:28706372,username:"danielroe",contributions:55},{id:640208,username:"manniL",contributions:1},{id:59223342,username:"Intevel",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"paypal",description:"A Nuxt module for simplifying the use of Paypal in your project.",repo:"arashsheyda/nuxt-paypal",npm:"nuxt-paypal",icon:"paypal.svg",github:"https://github.com/arashsheyda/nuxt-paypal",website:"https://github.com/arashsheyda/nuxt-paypal#readme",learn_more:"https://developer.paypal.com/sdk/js/reference/",category:"Payment",type:"3rd-party",maintainers:[{name:"Arash Sheyda",github:"arashsheyda"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:100,stars:3,watchers:3,forks:0,defaultBranch:"main",publishedAt:1699207559578,createdAt:1699207559074},contributors:[{id:38922203,username:"arashsheyda",contributions:3}]},{name:"pdfeasy",description:"A JavaScript Client/Server Side PDF-Generator based in PDFKit",repo:"betterwrite/pdfeasy#main/packages/nuxt",npm:"nuxt-pdfeasy",icon:"pdfeasy.png",github:"https://github.com/betterwrite/pdfeasy",website:"https://github.com/betterwrite/pdfeasy",learn_more:"https://github.com/betterwrite/pdfeasy",category:"Extensions",type:"3rd-party",maintainers:[{name:"Giovane Cardoso",github:"novout",twitter:"novoutttttt",avatar:"https://avatars.githubusercontent.com/novout?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1956,stars:61,watchers:61,forks:2,defaultBranch:"main",publishedAt:1687208921673,createdAt:1669322895386},contributors:[{id:41403842,username:"Novout",contributions:120}]},{name:"pinia-orm",description:"The Pinia plugin to enable Object-Relational Mapping access to the Pinia Store.",repo:"CodeDredd/pinia-orm#master/packages/nuxt",npm:"@pinia-orm/nuxt",icon:"pinia-orm.svg",github:"https://github.com/CodeDredd/pinia-orm/tree/master/packages/nuxt",website:"https://pinia-orm.codedredd.de/",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"CodeDredd",github:"CodeDredd"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:2552,stars:347,watchers:347,forks:30,defaultBranch:"main",publishedAt:1694954819192,createdAt:1643652784312},contributors:[{id:6809809,username:"CodeDredd",contributions:288},{id:118949383,username:"CarlosGamez-Nova",contributions:5},{id:5176891,username:"tklaas",contributions:3},{id:24190849,username:"tintin10q",contributions:2},{id:13543079,username:"qwe12e",contributions:1},{id:6653185,username:"CarstenRuetz",contributions:1},{id:56247129,username:"tripplicate",contributions:1},{id:3520658,username:"igolka97",contributions:1},{id:7502718,username:"liviuzachin",contributions:1},{id:6750786,username:"mahmoudawadeen",contributions:1},{id:1157401,username:"paolodina",contributions:1},{id:5169543,username:"daniser",contributions:1},{id:64213648,username:"sergerdn",contributions:1},{id:29234377,username:"yyydevf",contributions:1}]},{name:"pinia-plugin-persistedstate",description:"Configurable persistence and rehydration of Pinia stores.",repo:"prazdevs/pinia-plugin-persistedstate#main/packages/nuxt",npm:"@pinia-plugin-persistedstate/nuxt",icon:"pinia-plugin-persistedstate.png",github:"https://github.com/prazdevs/pinia-plugin-persistedstate/tree/main/packages/nuxt",website:"https://prazdevs.github.io/pinia-plugin-persistedstate/",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"PraZ",github:"prazdevs"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:125057,stars:1488,watchers:1488,forks:86,defaultBranch:"main",publishedAt:1698356334168,createdAt:1669424217567},contributors:[{id:1631886,username:"prazdevs",contributions:421},{id:61290107,username:"N0tExisting",contributions:3},{id:98140702,username:"cloudmoonocus",contributions:3},{id:24972677,username:"chris-si",contributions:1},{id:20186786,username:"lakuapik",contributions:1},{id:608727,username:"Emory-M",contributions:1},{id:32257184,username:"furkan-guvenc",contributions:1},{id:105258159,username:"henriquevschroeder",contributions:1},{id:1574903,username:"hooray",contributions:1},{id:58051684,username:"ivanq3w",contributions:1},{id:73585109,username:"Kiansa",contributions:1},{id:93523064,username:"MZ-Dlovely",contributions:1},{id:97374,username:"proton",contributions:1},{id:19306904,username:"sevsev9",contributions:1},{id:28395172,username:"Svenlooo",contributions:1},{id:13981214,username:"TobyMosque",contributions:1},{id:2703233,username:"toniengelhardt",contributions:1},{id:11721361,username:"ajenkins-cargometrics",contributions:1},{id:55788142,username:"floriankapaun",contributions:1},{id:29780558,username:"lvsong77",contributions:1},{id:36569518,username:"markthree",contributions:1},{id:28183123,username:"wukong-c",contributions:1},{id:73663860,username:"xucxichcao",contributions:1},{id:7400870,username:"Megasu",contributions:1}]},{name:"pinia",description:"The Vue Store that you will enjoy using",repo:"vuejs/pinia#v2/packages/nuxt",npm:"@pinia/nuxt",icon:"pinia.svg",github:"https://github.com/vuejs/pinia/tree/v2/packages/nuxt",website:"https://pinia.vuejs.org/",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"posva",github:"posva"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:714765,stars:11588,watchers:11588,forks:918,defaultBranch:"v2",publishedAt:1697449929435,createdAt:1629381795526},contributors:[{id:664177,username:"posva",contributions:1233},{id:5158436,username:"pi0",contributions:18},{id:3766839,username:"nicodevs",contributions:14},{id:28706372,username:"danielroe",contributions:9},{id:57580045,username:"wangenze267",contributions:6},{id:29396513,username:"Akhigbe-E",contributions:5},{id:7635209,username:"danielkellyio",contributions:4},{id:46400789,username:"JeraldVin",contributions:4},{id:26253657,username:"niceplugin",contributions:4},{id:30027636,username:"i5dr0id",contributions:3},{id:97254921,username:"tannazma",contributions:3},{id:41575890,username:"taist24",contributions:3},{id:10359255,username:"lazzzis",contributions:3},{id:24556921,username:"jeremygoccc",contributions:3},{id:39984251,username:"Mini-ghost",contributions:2},{id:27756206,username:"bashunaimiroy",contributions:2},{id:22983604,username:"BenShelton",contributions:2},{id:1223583,username:"bodograumann",contributions:2},{id:5460365,username:"DannyFeliz",contributions:2},{id:8009774,username:"davidshq",contributions:2},{id:499550,username:"yyx990803",contributions:2},{id:17453452,username:"kirklin",contributions:2},{id:40666434,username:"WalkAlone0325",contributions:2},{id:31730646,username:"BlackCrowxyz",contributions:2},{id:22591269,username:"tkint",contributions:2},{id:360,username:"tslocke",contributions:2}]},{name:"prepare",description:"Initialization steps at build time – like Nuxt 2 server init",repo:"johannschopplich/nuxt-prepare",npm:"nuxt-prepare",icon:"prepare.svg",github:"https://github.com/johannschopplich/nuxt-prepare",website:"https://nuxt-prepare.jhnn.dev",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"Johann Schopplich",github:"johannschopplich",twitter:"jschopplich",avatar:"https://avatars.githubusercontent.com/johannschopplich?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3050,stars:63,watchers:63,forks:2,defaultBranch:"main",publishedAt:1693572115313,createdAt:1692213888149},contributors:[{id:27850750,username:"johannschopplich",contributions:38}]},{name:"primevue",description:"Next Generation Vue UI Component Library",repo:"primefaces/primevue-nuxt-module",npm:"nuxt-primevue",icon:"primevue.svg",github:"https://github.com/primefaces/primevue-nuxt-module",website:"https://primevue.org/",learn_more:"https://primevue.org/",category:"UI",type:"3rd-party",maintainers:[{name:"primefaces",github:"primefaces",twitter:"primevue"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:9994,stars:26,watchers:26,forks:3,defaultBranch:"main",publishedAt:1699558388487,createdAt:1697064950799},contributors:[{id:11868120,username:"mertsincan",contributions:57},{id:32294991,username:"tugcekucukoglu",contributions:4},{id:30652791,username:"dammy001",contributions:2},{id:28706372,username:"danielroe",contributions:1}]},{name:"prismic",description:"Easily connect your Nuxt application to your content hosted on Prismic",repo:"nuxt-modules/prismic",npm:"@nuxtjs/prismic",icon:"prismic.png",github:"https://github.com/nuxt-modules/prismic",website:"https://prismic.nuxtjs.org",learn_more:"https://prismic.io",category:"CMS",type:"community",maintainers:[{name:"lihbr",github:"lihbr",twitter:"li_hbr"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:21594,stars:226,watchers:226,forks:42,defaultBranch:"master",publishedAt:1698158233829,createdAt:1578329683157},contributors:[{id:25330882,username:"lihbr",contributions:212},{id:904724,username:"Atinux",contributions:78},{id:71143978,username:"jamespeggsh",contributions:45},{id:894505,username:"jamespegg",contributions:11},{id:6568065,username:"hypervillain",contributions:4},{id:12446546,username:"LouisMazel",contributions:2},{id:640208,username:"manniL",contributions:1},{id:6861048,username:"andypattenden",contributions:1},{id:8632276,username:"carlos-avila",contributions:1},{id:3233370,username:"chz",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:47417929,username:"Brewd3v",contributions:1},{id:32859437,username:"pvpg",contributions:1},{id:43381242,username:"priyaprafful",contributions:1},{id:9093671,username:"sergaks",contributions:1},{id:23378741,username:"tosbatti",contributions:1},{id:5988959,username:"arnaudlewis",contributions:1},{id:1674029,username:"michael-bouvy",contributions:1}]},{name:"prometheus",description:"Allows you to better understand what's going on with your application and how to optimize performance and other things in production",repo:"artmizu/nuxt-prometheus",npm:"@artmizu/nuxt-prometheus",icon:"prometheus.svg",github:"https://github.com/artmizu/nuxt-prometheus",website:"https://github.com/artmizu/nuxt-prometheus",learn_more:"",category:"Monitoring",type:"3rd-party",maintainers:[{name:"artmizu",github:"artmizu"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3648,stars:32,watchers:32,forks:6,defaultBranch:"main",publishedAt:1693925074632,createdAt:1673358599822},contributors:[{id:12496464,username:"artmizu",contributions:42},{id:11289484,username:"AndreyYolkin",contributions:1},{id:9136206,username:"Tchoupinax",contributions:1}]},{name:"purgecss",description:"Drop superfluous CSS! A neat PurgeCSS wrapper for Nuxt",repo:"Developmint/nuxt-purgecss#main",npm:"nuxt-purgecss",icon:"purgecss.png",github:"https://github.com/Developmint/nuxt-purgecss",website:"https://github.com/Developmint/nuxt-purgecss",learn_more:"https://purgecss.com/",category:"CSS",type:"3rd-party",maintainers:[{name:"Developmint",github:"Developmint"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:82416,stars:455,watchers:455,forks:19,defaultBranch:"main",publishedAt:1664557553816,createdAt:1540159567646},contributors:[{id:640208,username:"manniL",contributions:25},{id:5757263,username:"simllll",contributions:3},{id:16958684,username:"bovas85",contributions:1},{id:9549394,username:"studnitz",contributions:1},{id:314872,username:"trecenti",contributions:1},{id:1055769,username:"homerjam",contributions:1},{id:25272043,username:"kevinmarrec",contributions:1},{id:8327054,username:"lecoueyl",contributions:1},{id:34612598,username:"matschik",contributions:1},{id:13064722,username:"ricardogobbosouza",contributions:1},{id:20733354,username:"miyanokomiya",contributions:1}]},{name:"quasar",description:"Effortlessly build high-performance & high-quality Vue.js 3 user interfaces in record time",repo:"Maiquu/nuxt-quasar",npm:"nuxt-quasar-ui",icon:"quasar.svg",github:"https://github.com/Maiquu/nuxt-quasar",website:"https://quasar.dev/",learn_more:"https://github.com/Maiquu/nuxt-quasar",category:"UI",type:"3rd-party",maintainers:[{name:"Ege İliklier",github:"Maiquu"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:9680,stars:102,watchers:102,forks:3,defaultBranch:"main",publishedAt:1696355497015,createdAt:1677857719959},contributors:[{id:37181247,username:"Maiquu",contributions:171},{id:15127381,username:"JasonLandbridge",contributions:9},{id:65054864,username:"cusitosr88",contributions:1},{id:83463097,username:"oumarbarry",contributions:1}]},{name:"radash",description:"radash module with auto-import and custom prefix",repo:"bbg/nuxt-radash",npm:"nuxt-radash",icon:"radash.png",github:"https://github.com/bbg/nuxt-radash",website:"https://github.com/bbg/nuxt-radash#readme",learn_more:"https://github.com/rayepps/radash/",category:"Libraries",type:"3rd-party",maintainers:[{name:"Batuhan Göksu",github:"bbg"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1231,stars:14,watchers:14,forks:1,defaultBranch:"main",publishedAt:1690366278855,createdAt:1690366278402},contributors:[{id:13348876,username:"bbg",contributions:2}]},{name:"radix-vue",description:"Vue port of Radix UI Primitives. An open-source UI component library for building high-quality, accessible design systems and web apps.",repo:"radix-vue/radix-vue",npm:"radix-vue",icon:"radix-vue.svg",github:"https://github.com/radix-vue/radix-vue",website:"https://www.radix-vue.com/",learn_more:"https://www.radix-vue.com/overview/installation.html#nuxt-modules",category:"UI",type:"3rd-party",maintainers:[{name:"Zernonia",github:"zernonia",twitter:"zernonia"},{name:"Khairul Haaziq",github:"khairulhaaziq"},{name:"Mujahid Anuar",github:"mujahidfa"},{name:"Max",github:"onmax"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:31571,stars:1507,watchers:1507,forks:60,defaultBranch:"main",publishedAt:1700578171554,createdAt:1687528329215},contributors:[{id:59365435,username:"zernonia",contributions:311},{id:101852870,username:"khairulhaaziq",contributions:162},{id:17759705,username:"mujahidfa",contributions:12},{id:51422045,username:"MellKam",contributions:11},{id:22072217,username:"onmax",contributions:7},{id:53905713,username:"BayBreezy",contributions:3},{id:15260226,username:"kdnk",contributions:3},{id:39938037,username:"mukundshah",contributions:3},{id:48835293,username:"DamianGlowala",contributions:2},{id:10506522,username:"enkot",contributions:2},{id:32813692,username:"madebyfabian",contributions:2},{id:47918504,username:"libondev",contributions:2},{id:20674057,username:"misbahansori",contributions:2},{id:17789047,username:"sadeghbarati",contributions:2},{id:75085249,username:"npldevfr",contributions:2},{id:37807381,username:"uyloal",contributions:2},{id:78960201,username:"aboubakrbm",contributions:1},{id:44473671,username:"D-Lite",contributions:1},{id:6420600,username:"DennisSmuda",contributions:1},{id:2422019,username:"edtorba",contributions:1},{id:8169933,username:"glennlaysonjr",contributions:1},{id:290496,username:"lepture",contributions:1},{id:59017897,username:"kn0wn",contributions:1},{id:56622402,username:"pkrinesh",contributions:1},{id:80677,username:"messenjer",contributions:1},{id:2727095,username:"steakscience",contributions:1},{id:13650518,username:"sdq-sts",contributions:1},{id:7533849,username:"tristandubbeld",contributions:1},{id:20427094,username:"owlnai",contributions:1}]},{name:"resend",description:"Resend integration for Nuxt",repo:"nhedger/nuxt-resend",npm:"nuxt-resend",icon:"resend.svg",github:"https://github.com/nhedger/nuxt-resend",website:"https://github.com/nhedger/nuxt-resend",learn_more:"https://resend.com",category:"Extensions",type:"3rd-party",maintainers:[{name:"Nicolas Hedger",github:"nhedger",twitter:"nicolashedger"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:153,stars:11,watchers:11,forks:1,defaultBranch:"main",publishedAt:1699999986794,createdAt:1699992253165},contributors:[{id:649677,username:"nhedger",contributions:8},{id:904724,username:"Atinux",contributions:1}]},{name:"robots",description:"A Nuxt module thats inject a middleware to generate a robots.txt file",repo:"nuxt-modules/robots",npm:"@nuxtjs/robots",icon:"robots.png",github:"https://github.com/nuxt-modules/robots",website:"https://github.com/nuxt-modules/robots",learn_more:"https://support.google.com/webmasters/answer/6062608?hl=en",category:"SEO",type:"community",maintainers:[{name:"Ricardo Gobbo de Souza",github:"ricardogobbosouza"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:220865,stars:355,watchers:355,forks:25,defaultBranch:"main",publishedAt:1668802794342,createdAt:1551100239881},contributors:[{id:13064722,username:"ricardogobbosouza",contributions:82},{id:2766008,username:"WilliamDASILVA",contributions:31},{id:469009,username:"rinu",contributions:2},{id:28706372,username:"danielroe",contributions:1},{id:6578052,username:"danielgroen",contributions:1},{id:4778485,username:"dargmuesli",contributions:1},{id:34515355,username:"matt-clegg",contributions:1},{id:78361788,username:"patricrichard",contributions:1},{id:77567,username:"weotch",contributions:1},{id:17025257,username:"gekkedev",contributions:1},{id:12688139,username:"nosfi831",contributions:1}]},{name:"sanity",description:"Access text, images, and other media with Nuxt and the Sanity headless CMS.",repo:"nuxt-modules/sanity#main",npm:"@nuxtjs/sanity",icon:"sanity.png",github:"https://github.com/nuxt-modules/sanity#main",website:"https://sanity.nuxtjs.org",learn_more:"https://www.sanity.io/",category:"CMS",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:10613,stars:175,watchers:175,forks:26,defaultBranch:"main",publishedAt:1700171156215,createdAt:1596892000432},contributors:[{id:28706372,username:"danielroe",contributions:304},{id:904724,username:"Atinux",contributions:11},{id:1411843,username:"mornir",contributions:3},{id:40447,username:"okj579",contributions:2},{id:18035115,username:"aadgrant",contributions:2},{id:81981,username:"stipsan",contributions:1},{id:6696789,username:"Flosciante",contributions:1},{id:97258230,username:"safejace",contributions:1},{id:12168237,username:"liqueflies",contributions:1},{id:58360242,username:"Nelwhix",contributions:1},{id:1107521,username:"hacknug",contributions:1},{id:19529313,username:"niklas-may",contributions:1},{id:7793873,username:"OlaAlsaker",contributions:1},{id:2671726,username:"Triloworld",contributions:1},{id:37446135,username:"SlicoHP",contributions:1},{id:3109921,username:"silvio-e",contributions:1},{id:7547335,username:"smarroufin",contributions:1},{id:2152968,username:"ThomOrlo",contributions:1},{id:42739553,username:"YannicEl",contributions:1},{id:1385263,username:"Tahul",contributions:1},{id:915966,username:"sodevious",contributions:1}]},{name:"schema-org",description:"Schema.org for Nuxt.",repo:"harlan-zw/nuxt-schema-org",npm:"nuxt-schema-org",icon:"schema-org.svg",github:"https://github.com/harlan-zw/nuxt-schema-org",website:"https://nuxtseo.com/schema-org",learn_more:"https://unhead.unjs.io/schema-org/getting-started/setup",category:"SEO",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:61687,stars:106,watchers:106,forks:10,defaultBranch:"main",publishedAt:1700539533135,createdAt:1650803134712},contributors:[{id:5326365,username:"harlan-zw",contributions:154},{id:5989846,username:"sanderdewinter",contributions:8},{id:4778485,username:"dargmuesli",contributions:2},{id:110889225,username:"sdewinter-maqqie",contributions:2},{id:25445516,username:"birdlavv",contributions:1},{id:45267552,username:"Barbapapazes",contributions:1},{id:7460168,username:"jbmolle",contributions:1},{id:2862673,username:"shven",contributions:1}]},{name:"security",description:"Security Module for Nuxt based on OWASP Top 10 and Helmet",repo:"Baroshem/nuxt-security",npm:"nuxt-security",icon:"nuxt-security.svg",github:"https://github.com/Baroshem/nuxt-security",website:"https://nuxt-security.vercel.app/",learn_more:"https://nuxt-security.vercel.app/",category:"Security",type:"3rd-party",maintainers:[{name:"Jakub Andrzejewski",github:"Baroshem",avatar:"https://avatars.githubusercontent.com/u/37120330?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:62174,stars:576,watchers:576,forks:37,defaultBranch:"main",publishedAt:1700042172773,createdAt:1665235892091},contributors:[{id:37120330,username:"Baroshem",contributions:246},{id:7295259,username:"vejja",contributions:43},{id:112890430,username:"trijpstra-fourlights",contributions:17},{id:4778485,username:"dargmuesli",contributions:8},{id:6861191,username:"runyasak",contributions:3},{id:48835293,username:"DamianGlowala",contributions:3},{id:28459081,username:"boring-dragon",contributions:2},{id:3862891,username:"espensgr",contributions:2},{id:17362753,username:"Droutin",contributions:2},{id:875533,username:"Tristan971",contributions:2},{id:2233663,username:"kouts",contributions:2},{id:26602940,username:"0xflotus",contributions:1},{id:23550517,username:"alexbidenko",contributions:1},{id:38699378,username:"lanluartes",contributions:1},{id:24852502,username:"kyranet",contributions:1},{id:7902617,username:"csprance",contributions:1},{id:59223342,username:"Intevel",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:20408790,username:"fabricioOak",contributions:1},{id:14868014,username:"tresko",contributions:1},{id:20650401,username:"insomnius",contributions:1},{id:2222702,username:"mubaidr",contributions:1},{id:5158436,username:"pi0",contributions:1},{id:10244927,username:"tmlmt",contributions:1}]},{name:"seo-experiments",description:"Powerful SEO DX improvements that may or may not land in the Nuxt core.",repo:"harlan-zw/nuxt-seo-experiments",npm:"nuxt-seo-experiments",icon:"seo-experiments.svg",github:"https://github.com/harlan-zw/nuxt-seo-experiments",website:"https://nuxtseo.com/experiments",learn_more:"https://nuxtseo.com/experiments",category:"SEO",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:12804,stars:59,watchers:59,forks:6,defaultBranch:"main",publishedAt:1700540830688,createdAt:1684079533112},contributors:[{id:5326365,username:"harlan-zw",contributions:252},{id:73709188,username:"HigherOrderLogic",contributions:4},{id:11756007,username:"m7rlin",contributions:3},{id:6649305,username:"BobbieGoede",contributions:1},{id:4778485,username:"dargmuesli",contributions:1},{id:65096948,username:"KyleSmith0905",contributions:1}]},{name:"seo-kit",description:"The complete SEO solution for Nuxt.",repo:"harlan-zw/nuxt-seo-kit#main/layer",npm:"nuxt-seo-kit",icon:"seo-kit.svg",github:"https://github.com/harlan-zw/nuxt-seo-kit",website:"https://nuxtseo.com/nuxt-seo/getting-started/installation",learn_more:"",category:"SEO",type:"3rd-party",maintainers:[{name:"harlan-zw",github:"harlan-zw"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:14406,stars:716,watchers:716,forks:26,defaultBranch:"main",publishedAt:1694335772057,createdAt:1670947187491},contributors:[{id:5326365,username:"harlan-zw",contributions:199},{id:6196533,username:"jd1378",contributions:2},{id:12596485,username:"reslear",contributions:2},{id:127685984,username:"BillyBouman-2B-IT",contributions:1},{id:60323306,username:"vasilistotskas",contributions:1},{id:4778485,username:"dargmuesli",contributions:1}]},{name:"server-block",description:"Use tags in your Nuxt pages components.",repo:"Hebilicious/server-block-nuxt/packages/server-block-nuxt#main",npm:"@hebilicious/server-block-nuxt",icon:"server-block.svg",github:"https://github.com/Hebilicious/server-block-nuxt",website:"https://github.com/Hebilicious/server-block-nuxt#readme",learn_more:"https://github.com/Hebilicious/server-block-nuxt#readme",category:"Extensions",type:"3rd-party",maintainers:[{name:"Hebilicious",github:"Hebilicious",twitter:"its_hebilicious"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:387,stars:95,watchers:95,forks:2,defaultBranch:"main",publishedAt:1691528792888,createdAt:1689174083765},contributors:[{id:13395944,username:"Hebilicious",contributions:38}]},{name:"session",description:"Session middleware to persist user data across requests, a client-side useSession composable to interact with the session, supports many storage backends via unjs/unstorage",repo:"sidebase/nuxt-session",npm:"@sidebase/nuxt-session",icon:"session.png",github:"https://github.com/sidebase/nuxt-session",website:"https://github.com/sidebase/nuxt-session",learn_more:"https://github.com/sidebase",category:"Security",type:"3rd-party",maintainers:[{name:"sidebase",github:"sidebase",twitter:"sidebase_io"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:13467,stars:188,watchers:188,forks:17,defaultBranch:"main",publishedAt:1676035742052,createdAt:1665582997446},contributors:[{id:25911230,username:"BracketJohn",contributions:51},{id:30908158,username:"zoey-kaiser",contributions:5},{id:19350560,username:"interpretor",contributions:3},{id:25990549,username:"Voltra",contributions:2},{id:15887916,username:"blumgart",contributions:1},{id:363330,username:"chriscdn",contributions:1},{id:11322254,username:"IronicUsername",contributions:1},{id:44715857,username:"Twitch0125",contributions:1},{id:71883104,username:"re-mxp",contributions:1}]},{name:"sidebase-auth",description:"Zero-boilerplate authentication for nuxt 3 with support for many strategies (oauth, credentials, ...) and providers (google, azure, ...). Additionally supports session manipulation, client- and server-side protection and more.",repo:"sidebase/nuxt-auth",npm:"@sidebase/nuxt-auth",icon:"sidebase-auth.png",github:"https://github.com/sidebase/nuxt-auth",website:"https://github.com/sidebase/nuxt-auth",learn_more:"https://github.com/sidebase",category:"Security",type:"3rd-party",maintainers:[{name:"sidebase",github:"sidebase",twitter:"sidebase_io"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:48390,stars:888,watchers:888,forks:84,defaultBranch:"main",publishedAt:1700150261640,createdAt:1667141213796},contributors:[{id:25911230,username:"BracketJohn",contributions:144},{id:30908158,username:"zoey-kaiser",contributions:34},{id:15177236,username:"JoaoPedroAS51",contributions:5},{id:63050099,username:"mlutsiuk",contributions:4},{id:74846767,username:"Danielwinkelmann",contributions:3},{id:30736553,username:"LouisHaftmann",contributions:3},{id:640208,username:"manniL",contributions:2},{id:50699657,username:"vanling",contributions:2},{id:64862099,username:"bmhtech07",contributions:2},{id:11289484,username:"AndreyYolkin",contributions:1},{id:31987405,username:"anjarupnik",contributions:1},{id:7902617,username:"csprance",contributions:1},{id:20440899,username:"CodyBontecou",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:63355,username:"drusellers",contributions:1},{id:928780,username:"genu",contributions:1},{id:74197546,username:"tnt-freskim-veliu",contributions:1},{id:43099880,username:"guesant",contributions:1},{id:5326365,username:"harlan-zw",contributions:1},{id:35950229,username:"Hrdtr",contributions:1},{id:34208843,username:"initred",contributions:1},{id:11322254,username:"IronicUsername",contributions:1},{id:1769417,username:"IsraelOrtuno",contributions:1},{id:882219,username:"janhoogeveen",contributions:1},{id:17620516,username:"kashalls",contributions:1},{id:17332418,username:"KoenCa",contributions:1},{id:65096948,username:"KyleSmith0905",contributions:1},{id:7632405,username:"lookto",contributions:1},{id:751979,username:"NielsJanssen",contributions:1}]},{name:"simple-robots",description:"Tame the robots crawling and indexing your Nuxt site.",repo:"harlan-zw/nuxt-simple-robots",npm:"nuxt-simple-robots",icon:"simple-robots.svg",github:"https://github.com/harlan-zw/nuxt-simple-robots",website:"https://nuxtseo.com/robots",learn_more:"https://nuxtseo.com/robots",category:"SEO",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:52158,stars:72,watchers:72,forks:2,defaultBranch:"main",publishedAt:1698653196310,createdAt:1671435410514},contributors:[{id:5326365,username:"harlan-zw",contributions:173}]},{name:"simple-sitemap",description:"Powerfully flexible XML Sitemaps that integrate seamlessly.",repo:"harlan-zw/nuxt-simple-sitemap",npm:"nuxt-simple-sitemap",icon:"simple-sitemap.svg",github:"https://github.com/harlan-zw/nuxt-simple-sitemap",website:"https://nuxtseo.com/simple-sitemap",learn_more:"https://nuxtseo.com/simple-sitemap",category:"SEO",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:114449,stars:172,watchers:172,forks:16,defaultBranch:"main",publishedAt:1700622711653,createdAt:1670908660527},contributors:[{id:5326365,username:"harlan-zw",contributions:535},{id:2013388,username:"davidstackio",contributions:1},{id:16446824,username:"tirojal",contributions:1},{id:10812694,username:"joewinger",contributions:1},{id:328718,username:"dulacp",contributions:1},{id:72107589,username:"damevin",contributions:1}]},{name:"snackbar",description:"Nuxt Snackbar module using vue3-snackbar",repo:"modbender/nuxt-snackbar#master",npm:"nuxt-snackbar",icon:"snackbar.png",github:"https://github.com/modbender/nuxt-snackbar/tree/master",website:"https://github.com/modbender/nuxt-snackbar/tree/master",learn_more:"https://github.com/craigrileyuk/vue3-snackbar",category:"UI",type:"3rd-party",maintainers:[{name:"modbender",github:"modbender"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:4513,stars:10,watchers:10,forks:3,defaultBranch:"master",publishedAt:1697887059788,createdAt:1678704849792},contributors:[{id:25717245,username:"modbender",contributions:22},{id:23519801,username:"PerssonAlbin",contributions:2},{id:5096365,username:"yrming",contributions:1}]},{name:"snipcart",description:"Snipcart integration module for Nuxt",repo:"nuxt-modules/snipcart",npm:"@nuxtjs/snipcart",icon:"snipcart.png",github:"https://github.com/nuxt-modules/snipcart",website:"https://github.com/nuxt-modules/snipcart",learn_more:"https://snipcart.com",category:"Ecommerce",type:"community",maintainers:[{name:"Florent GIRAUD",github:"flozero",twitter:"flozeroo"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:210,stars:46,watchers:46,forks:9,defaultBranch:"main",publishedAt:1675642829647,createdAt:1602761200952},contributors:[]},{name:"storyblok",description:"Storyblok Nuxt module",repo:"storyblok/storyblok-nuxt#master/lib",npm:"@storyblok/nuxt",icon:"storyblok.png",github:"https://github.com/storyblok/storyblok-nuxt",website:"https://github.com/storyblok/storyblok-nuxt",learn_more:"",category:"CMS",type:"3rd-party",maintainers:[{name:"storyblok",github:"storyblok"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:35652,stars:245,watchers:245,forks:40,defaultBranch:"main",publishedAt:1699873686765,createdAt:1637262530769},contributors:[{id:36744484,username:"Dawntraoz",contributions:279},{id:5701162,username:"alexjoverm",contributions:64},{id:160495,username:"onefriendaday",contributions:32},{id:81760207,username:"manuelschroederdev",contributions:30},{id:20650272,username:"christianzoppi",contributions:29},{id:4699008,username:"alvarosabu",contributions:24},{id:5083273,username:"SebbeJohansson",contributions:11},{id:20342656,username:"emanuelgsouza",contributions:10},{id:16301998,username:"markus-gx",contributions:7},{id:11278408,username:"lisilinhart",contributions:6},{id:37120330,username:"Baroshem",contributions:5},{id:5185019,username:"samuells",contributions:5},{id:7952803,username:"DominikAngerer",contributions:2},{id:34036252,username:"Adamkillander96",contributions:1},{id:86311095,username:"cmorrow-rv",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:678434,username:"roberto-butti",contributions:1},{id:9434493,username:"tguelcan",contributions:1}]},{name:"storybook",description:"Easily integrate Storybook in your Nuxt application to design, build, and organize your UI components in isolation.",repo:"nuxt-modules/storybook",npm:"@nuxtjs/storybook",icon:"storybook.png",github:"https://github.com/nuxt-modules/storybook",website:"https://storybook.nuxtjs.org",learn_more:"https://github.com/storybook-vue/storybook-nuxt",category:"Devtools",type:"community",maintainers:[{name:"Chakir QATAB",github:"chakAs3",twitter:"ChakirQatab"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"},devtools:"^0.7.2"},stats:{downloads:75751,stars:338,watchers:338,forks:62,defaultBranch:"main",publishedAt:1696397149076,createdAt:1594725493976},contributors:[{id:711292,username:"chakAs3",contributions:97},{id:247713,username:"bmulholland",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"strapi",description:"Design APIs fast and manage content easily using REST or GraphQL.",repo:"nuxt-modules/strapi",npm:"@nuxtjs/strapi",icon:"strapi.png",github:"https://github.com/nuxt-modules/strapi",website:"https://strapi.nuxtjs.org",learn_more:"https://strapi.io/",category:"CMS",type:"community",maintainers:[{name:"Benjamin Canac",github:"benjamincanac",twitter:"benjamincanac"},{name:"Sébastien Chopin",github:"Atinux",twitter:"Atinux"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0},devtools:"^0.0.0"},stats:{downloads:20449,stars:552,watchers:552,forks:72,defaultBranch:"dev",publishedAt:1685609375606,createdAt:1593003491514},contributors:[{id:739984,username:"benjamincanac",contributions:180},{id:904724,username:"Atinux",contributions:62},{id:7290030,username:"larbish",contributions:7},{id:1113278,username:"jiblett1000",contributions:4},{id:28706372,username:"danielroe",contributions:4},{id:13274728,username:"doseofted",contributions:4},{id:5158436,username:"pi0",contributions:4},{id:946345,username:"ChristopheCVB",contributions:2},{id:59223342,username:"Intevel",contributions:2},{id:37207714,username:"luke-z",contributions:2},{id:6696789,username:"Flosciante",contributions:2},{id:4003538,username:"acekyd",contributions:1},{id:53905713,username:"BayBreezy",contributions:1},{id:1231359,username:"cssmagic",contributions:1},{id:25715982,username:"cpaczek",contributions:1},{id:18102267,username:"oritwoen",contributions:1},{id:10612835,username:"Kapcash",contributions:1},{id:5326365,username:"harlan-zw",contributions:1},{id:19965325,username:"joelbqz",contributions:1},{id:61005888,username:"kuizuo",contributions:1},{id:61506420,username:"LuckeeDev",contributions:1},{id:4400999,username:"acerspyro",contributions:1},{id:1983382,username:"katerlouis",contributions:1},{id:14164020,username:"rbrannath",contributions:1},{id:3911343,username:"stafyniaksacha",contributions:1},{id:7547335,username:"smarroufin",contributions:1},{id:34125897,username:"Stun3R",contributions:1}]},{name:"stripe-next",description:"This Nuxt module provides an easy way to integrate Stripe in your Nuxt application, both on the client-side and server-side. It utilizes the official stripe package for server-side usage and @stripe/stripe-js for the client-side.",repo:"fuentesloic/nuxt-stripe",npm:"@unlok-co/nuxt-stripe",icon:"stripe.png",github:"https://github.com/fuentesloic/nuxt-stripe",website:"https://github.com/fuentesloic/nuxt-stripe",learn_more:"https://stripe.com/docs",category:"Payment",type:"3rd-party",maintainers:[{name:"Loic Fuentes",github:"fuentesloic"},{name:"Florent Giraud",github:"flozero"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1064,stars:45,watchers:45,forks:4,defaultBranch:"main",publishedAt:1691415361443,createdAt:1688226235402},contributors:[{id:8755623,username:"fuentesloic",contributions:14},{id:11556276,username:"flozero",contributions:7},{id:7190600,username:"mitjans",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:13056429,username:"Sandros94",contributions:1}]},{name:"studio",description:"A new experience to build content-driven website with Nuxt.",repo:"nuxtlabs/studio-module",npm:"@nuxthq/studio",icon:"studio.svg",github:"https://github.com/nuxtlabs/studio-module",website:"https://nuxt.studio",learn_more:"https://nuxt.studio",category:"CMS",type:"3rd-party",maintainers:[{name:"Ahad Birang",github:"farnabaz",twitter:"a_birang"},{name:"Sébastien Chopin",github:"Atinux",twitter:"Atinux"}],compatibility:{nuxt:"^3.0.0",requires:{content:!0}},stats:{downloads:24676,stars:29,watchers:2,forks:3,defaultBranch:"dev",publishedAt:1700490248325,createdAt:1659100428664},contributors:[{id:2047945,username:"farnabaz",contributions:111},{id:904724,username:"Atinux",contributions:70},{id:1385263,username:"Tahul",contributions:35},{id:7290030,username:"larbish",contributions:31},{id:11247099,username:"antfu",contributions:20},{id:25272043,username:"kevinmarrec",contributions:5},{id:1439623,username:"clemcode",contributions:1},{id:1840026,username:"maximepvrt",contributions:1}]},{name:"stylelint",description:"Stylelint module for Nuxt. A mighty, modern linter that helps you avoid errors and enforce conventions in your styles.",repo:"nuxt-community/stylelint-module",npm:"@nuxtjs/stylelint-module",icon:"stylelint.png",github:"https://github.com/nuxt-community/stylelint-module",website:"https://github.com/nuxt-community/stylelint-module",learn_more:"https://stylelint.io/",category:"CSS",type:"community",maintainers:[{name:"Ricardo Gobbo de Souza",github:"ricardogobbosouza"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:220927,stars:54,watchers:54,forks:7,defaultBranch:"main",publishedAt:1685026621035,createdAt:1562033010867},contributors:[{id:13064722,username:"ricardogobbosouza",contributions:79},{id:20086673,username:"munierujp",contributions:1},{id:1023734,username:"roelvanhintum",contributions:1},{id:17392251,username:"mrleblanc101",contributions:1},{id:5113257,username:"mainrs",contributions:1}]},{name:"stylify",description:"Stylify generates utility-first CSS dynamically based on what you write. Write HTML. Get CSS.",repo:"stylify/packages#master/packages/nuxt",npm:"@stylify/nuxt",icon:"stylify.svg",github:"https://github.com/stylify/packages/tree/master/packages/nuxt",website:"https://stylifycss.com/docs/nuxt",learn_more:"https://stylifycss.com",category:"UI",type:"3rd-party",maintainers:[{name:"Vladimír Macháček",github:"Machy8",twitter:"8machy"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:183,stars:409,watchers:409,forks:7,defaultBranch:"master",publishedAt:1687098008242,createdAt:1654115077116},contributors:[{id:14016808,username:"Machy8",contributions:684},{id:77530871,username:"JirakLu",contributions:4},{id:3233370,username:"chz",contributions:2},{id:30605984,username:"MilesPernicious",contributions:2}]},{name:"supabase",description:"First class integration with Supabase",repo:"nuxt-modules/supabase",npm:"@nuxtjs/supabase",icon:"supabase.png",github:"https://github.com/nuxt-modules/supabase",website:"https://supabase.nuxtjs.org",learn_more:"https://supabase.com",category:"Database",type:"community",maintainers:[{name:"Baptiste Leproux",github:"larbish",twitter:"baptistelprx"},{name:"Sebastien Chopin",github:"Atinux",twitter:"Atinux"},{name:"Scott Robertson",github:"scottrobertson",twitter:"scottymeuk"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:24599,stars:471,watchers:471,forks:96,defaultBranch:"main",publishedAt:1700232211294,createdAt:1647339970990},contributors:[{id:7290030,username:"larbish",contributions:294},{id:904724,username:"Atinux",contributions:58},{id:5158436,username:"pi0",contributions:4},{id:739984,username:"benjamincanac",contributions:3},{id:25272043,username:"kevinmarrec",contributions:3},{id:5823770,username:"Aietes",contributions:3},{id:1259364,username:"levibe",contributions:2},{id:982975,username:"AlbertBrand",contributions:2},{id:96275757,username:"52cs",contributions:1},{id:640208,username:"manniL",contributions:1},{id:38134195,username:"amrnn90",contributions:1},{id:7190600,username:"mitjans",contributions:1},{id:48835293,username:"DamianGlowala",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:69633530,username:"florian-lefebvre",contributions:1},{id:40766799,username:"tnntwister",contributions:1},{id:49143414,username:"hafizjavaid",contributions:1},{id:31483041,username:"jonesisg1",contributions:1},{id:36164786,username:"Jclong98",contributions:1},{id:44449,username:"jawngee",contributions:1},{id:44786998,username:"josueayala27",contributions:1},{id:1248148,username:"blqke",contributions:1},{id:61005888,username:"kuizuo",contributions:1},{id:83463097,username:"oumarbarry",contributions:1},{id:7809845,username:"psto",contributions:1},{id:16954673,username:"relisora",contributions:1},{id:38413630,username:"icarusgk",contributions:1},{id:3911343,username:"stafyniaksacha",contributions:1}]},{name:"svg-sprite",description:"Optimized and Easy way to use svg files in Nuxt",repo:"nuxt-modules/svg-sprite",npm:"@nuxtjs/svg-sprite",icon:"",github:"https://github.com/nuxt-modules/svg-sprite",website:"https://github.com/nuxt-modules/svg-sprite",learn_more:"",category:"UI",type:"community",maintainers:[{name:"Ahad Birang",github:"farnabaz",twitter:"a_birang"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:47482,stars:267,watchers:267,forks:34,defaultBranch:"master",publishedAt:1685026698170,createdAt:1549269174364},contributors:[{id:2047945,username:"farnabaz",contributions:212},{id:904724,username:"Atinux",contributions:7},{id:44983823,username:"andrewvasilchuk",contributions:3},{id:5326365,username:"harlan-zw",contributions:2},{id:11446010,username:"jubeiam",contributions:2},{id:4581398,username:"yurks",contributions:2},{id:63285903,username:"TroAlexis",contributions:1},{id:5218341,username:"haan123",contributions:1},{id:3998654,username:"ilya-buligin",contributions:1},{id:5410417,username:"lennoximus",contributions:1},{id:9404365,username:"obennaci",contributions:1},{id:5158436,username:"pi0",contributions:1},{id:5718030,username:"robikovacs",contributions:1},{id:23457585,username:"Tomaszal",contributions:1},{id:2068895,username:"twxia",contributions:1}]},{name:"swiper",description:"Nuxt module for Swiper.js - Most modern mobile touch slider with hardware accelerated transitions.",repo:"cpreston321/nuxt-swiper",npm:"nuxt-swiper",icon:"swiper.svg",github:"https://github.com/cpreston321/nuxt-swiper",website:"https://github.com/cpreston321/nuxt-swiper",learn_more:"https://github.com/cpreston321/nuxt-swiper#README.md",category:"Libraries",type:"3rd-party",maintainers:[{name:"Christian Preston",github:"cpreston321"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:66992,stars:153,watchers:153,forks:6,defaultBranch:"main",publishedAt:1693059310135,createdAt:1663020040674},contributors:[{id:6619884,username:"cpreston321",contributions:86},{id:23022574,username:"TakNePoidet",contributions:6},{id:5721341,username:"AGPDev",contributions:1},{id:15806356,username:"misaon",contributions:1},{id:56671014,username:"Soya-xy",contributions:1}]},{name:"tailvue",description:"Vue components built for Vue3 powered by Windi CSS or tailwindcss",repo:"fumeapp/tailvue",npm:"tailvue",icon:"tailvue.jpg",github:"https://github.com/fumeapp/tailvue",website:"https://github.com/fumeapp/tailvue",learn_more:"https://github.com/fumeapp/tailvue#readme",category:"UI",type:"3rd-party",maintainers:[{name:"Kevin Olson",github:"acidjazz",twitter:"AppFume"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:3632,stars:151,watchers:151,forks:13,defaultBranch:"main",publishedAt:1685414745869,createdAt:1591964566350},contributors:[{id:967369,username:"acidjazz",contributions:199},{id:1384775,username:"hfoletto",contributions:3},{id:25044744,username:"tcampbPPU",contributions:3},{id:1526840,username:"davidnknight",contributions:1},{id:4019718,username:"favna",contributions:1},{id:39938037,username:"mukundshah",contributions:1}]},{name:"tailwindcss",description:"Add Tailwind CSS to your Nuxt application in seconds with PurgeCSS included for minimal CSS.",repo:"nuxt-modules/tailwindcss",npm:"@nuxtjs/tailwindcss",icon:"tailwindcss.png",github:"https://github.com/nuxt-modules/tailwindcss",website:"https://tailwindcss.nuxtjs.org",learn_more:"https://tailwindcss.com/",category:"UI",type:"community",maintainers:[{name:"Sébastien Chopin",github:"Atinux",twitter:"Atinux"},{name:"Inesh Bose",github:"ineshbose"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:575831,stars:1484,watchers:1484,forks:175,defaultBranch:"main",publishedAt:1700564229821,createdAt:1554372868524},contributors:[{id:904724,username:"Atinux",contributions:290},{id:56732164,username:"ineshbose",contributions:50},{id:5158436,username:"pi0",contributions:29},{id:28706372,username:"danielroe",contributions:9},{id:48835293,username:"DamianGlowala",contributions:5},{id:739984,username:"benjamincanac",contributions:4},{id:640208,username:"manniL",contributions:3},{id:5326365,username:"harlan-zw",contributions:3},{id:10992664,username:"P4sca1",contributions:3},{id:1385263,username:"Tahul",contributions:3},{id:1329592,username:"makkarpov",contributions:2},{id:13064722,username:"ricardogobbosouza",contributions:2},{id:28691559,username:"Ricklin90085",contributions:2},{id:2793951,username:"RomainLanz",contributions:2},{id:7547335,username:"smarroufin",contributions:2},{id:34125897,username:"Stun3R",contributions:2},{id:2095133,username:"cjpearson",contributions:2},{id:53976837,username:"RomainMazB",contributions:2},{id:44983823,username:"andrewvasilchuk",contributions:1},{id:1881266,username:"iamandrewluca",contributions:1},{id:30652791,username:"dammy001",contributions:1},{id:11247099,username:"antfu",contributions:1},{id:7577851,username:"axieum",contributions:1},{id:42867097,username:"azrikahar",contributions:1},{id:7190600,username:"mitjans",contributions:1},{id:246254,username:"disusered",contributions:1},{id:15019332,username:"chettapong",contributions:1},{id:3233370,username:"chz",contributions:1},{id:1113278,username:"jiblett1000",contributions:1}]},{name:"time",description:"Safely render local dates and times on the server with Nuxt",repo:"danielroe/nuxt-time",npm:"nuxt-time",icon:"",github:"https://github.com/danielroe/nuxt-time",website:"https://github.com/danielroe/nuxt-time",learn_more:"",category:"Extensions",type:"3rd-party",maintainers:[{name:"danielroe",github:"danielroe"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:2988,stars:190,watchers:190,forks:11,defaultBranch:"main",publishedAt:1690059329793,createdAt:1676080344271},contributors:[{id:28706372,username:"danielroe",contributions:26},{id:39984251,username:"Mini-ghost",contributions:3},{id:5326365,username:"harlan-zw",contributions:1},{id:6311119,username:"userquin",contributions:1},{id:904724,username:"Atinux",contributions:1}]},{name:"tresjs",description:"Create 3D experiences in your Nuxt application using TresJS.",repo:"tresjs/nuxt",npm:"@tresjs/nuxt",icon:"tresjs.svg",github:"https://github.com/Tresjs/nuxt",website:"https://tresjs.org/guide/nuxt.html",learn_more:"https://tresjs.org/",category:"Libraries",type:"3rd-party",maintainers:[{name:"Alvaro Saburido",github:"alvarosabu",twitter:"alvarosabu"},{name:"Jaime Torrealba",github:"JaimeTorrealba",twitter:"jaimebboyjt"},{name:"Tino Koch",github:"Tinoooo",twitter:"ichbintino"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:2012,stars:125,watchers:125,forks:1,defaultBranch:"main",publishedAt:1697739175412,createdAt:1686591014236},contributors:[{id:4699008,username:"alvarosabu",contributions:56},{id:28706372,username:"danielroe",contributions:3},{id:6311119,username:"userquin",contributions:1},{id:48431,username:"texastoland",contributions:1}]},{name:"turnstile",description:"Privacy-focused alternative to CAPTCHA from Cloudflare",repo:"nuxt-modules/turnstile",npm:"@nuxtjs/turnstile",icon:"cloudflare.svg",github:"https://github.com/nuxt-modules/turnstile",website:"https://github.com/nuxt-modules/turnstile",learn_more:"https://www.cloudflare.com/products/turnstile/",category:"Security",type:"community",maintainers:[{name:"Daniel Roe",github:"danielroe",twitter:"danielcroe"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:6137,stars:164,watchers:164,forks:9,defaultBranch:"main",publishedAt:1693253886440,createdAt:1673267225225},contributors:[{id:28706372,username:"danielroe",contributions:47},{id:4778485,username:"dargmuesli",contributions:18},{id:63512348,username:"huang-julien",contributions:3},{id:15042849,username:"scalemaildev",contributions:1},{id:23470589,username:"dnlsndr",contributions:1},{id:32813692,username:"madebyfabian",contributions:1},{id:25430449,username:"PatrickMi",contributions:1},{id:16725310,username:"SvenWesterlaken",contributions:1},{id:11949520,username:"acidbiscuit",contributions:1},{id:16264115,username:"Yizack",contributions:1},{id:89916568,username:"alinakuzina",contributions:1}]},{name:"twemoji",description:"Twemoji module for Nuxt. Render emojis as SVG elements or PNG images.",repo:"yizack/nuxt-twemoji",npm:"nuxt-twemoji",icon:"twemoji.svg",github:"https://github.com/Yizack/nuxt-twemoji",website:"https://github.com/Yizack/nuxt-twemoji",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"Yizack Rangel",github:"yizack"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:363,stars:3,watchers:3,forks:0,defaultBranch:"main",publishedAt:1697154704775,createdAt:1684692681154},contributors:[{id:16264115,username:"Yizack",contributions:104}]},{name:"twicpics",description:"Images and videos components - Context aware resizing and cropping, lazy-loading, LQIP, Next-Gen format, compression, CDN.",repo:"TwicPics/components",npm:"@twicpics/components",icon:"twicpics.svg",github:"https://github.com/TwicPics/components",website:"https://www.twicpics.com/docs/components/nuxt-3",learn_more:"https://www.twicpics.com",category:"Images",type:"3rd-party",maintainers:[{name:"Florent Bourgeois",github:"florentb",twitter:"florent_b"},{name:"Julian Aubourg",github:"jaubourg",twitter:"jaubourg"},{name:"Miguel Beignon",github:"mbgspcii",twitter:"m_beignon"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:9674,stars:48,watchers:48,forks:2,defaultBranch:"main",publishedAt:1700583989854,createdAt:1627416306074},contributors:[{id:7620438,username:"mbgspcii",contributions:373},{id:160354,username:"jaubourg",contributions:116},{id:5786750,username:"Strift",contributions:24},{id:763424,username:"florentb",contributions:2},{id:28706372,username:"danielroe",contributions:1}]},{name:"typed-router",description:"Provide autocompletion for pages route names and params",repo:"victorgarciaesgi/nuxt-typed-router",npm:"nuxt-typed-router",icon:"typed-router.png",github:"https://github.com/victorgarciaesgi/nuxt-typed-router",website:"https://nuxt-typed-router.vercel.app",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"victorgarciaesgi",github:"victorgarciaesgi"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:49654,stars:273,watchers:273,forks:9,defaultBranch:"master",publishedAt:1699527493450,createdAt:1578496039434},contributors:[{id:15092120,username:"victorgarciaesgi",contributions:253},{id:48443363,username:"victortotem",contributions:29},{id:28706372,username:"danielroe",contributions:2},{id:43795814,username:"thunfisch987",contributions:2},{id:65359713,username:"mahdiboomeri",contributions:1},{id:317957,username:"unr",contributions:1},{id:93888971,username:"UfukUstali",contributions:1},{id:38240008,username:"m-conti",contributions:1}]},{name:"typo3",description:"TYPO3 Headless Frontend Rendering module",repo:"TYPO3-Headless/nuxt-typo3",npm:"@t3headless/nuxt-typo3",icon:"typo3.svg",github:"https://github.com/TYPO3-Headless/nuxt-typo3",website:"https://t3headless.macopedia.io/nuxt-typo3/",learn_more:"https://github.com/TYPO3-Headless",category:"CMS",type:"3rd-party",maintainers:[{name:"Macopedia",github:"macopedia",twitter:"macopediapl"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:108,stars:78,watchers:78,forks:34,defaultBranch:"main",publishedAt:1700043145835,createdAt:1700043145226},contributors:[{id:7935392,username:"mercs600",contributions:103},{id:64216939,username:"mouflondarko",contributions:3},{id:515397,username:"tmotyl",contributions:3},{id:35779884,username:"PanMisza",contributions:2},{id:3374563,username:"develth",contributions:2},{id:46626775,username:"KrohnMi",contributions:1}]},{name:"ui",description:"Fully styled and customizable components for Nuxt, powered by Headless UI and Tailwind CSS.",repo:"nuxt/ui#dev",npm:"@nuxt/ui",icon:"nuxt.svg",github:"https://github.com/nuxt/ui",website:"https://ui.nuxt.com",learn_more:"",category:"UI",type:"official",maintainers:[{name:"Benjamin Canac",github:"benjamincanac",twitter:"benjamincanac"},{name:"Sebastien Chopin",github:"Atinux",twitter:"Atinux"},{name:"Sylvain Marroufin",github:"smarroufin",twitter:"smarroufin"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:47796,stars:2330,watchers:2330,forks:260,defaultBranch:"dev",publishedAt:1698744255731,createdAt:1639059438669},contributors:[{id:739984,username:"benjamincanac",contributions:1184},{id:7547335,username:"smarroufin",contributions:60},{id:904724,username:"Atinux",contributions:28},{id:37311945,username:"Haythamasalama",contributions:26},{id:25613751,username:"romhml",contributions:11},{id:28706372,username:"danielroe",contributions:9},{id:7356077,username:"connerblanton",contributions:9},{id:7290030,username:"larbish",contributions:6},{id:18414281,username:"KeJunMao",contributions:6},{id:11247099,username:"antfu",contributions:5},{id:26260104,username:"eduayme",contributions:5},{id:5141911,username:"DarkGhostHunter",contributions:5},{id:138564696,username:"aditio-eka",contributions:3},{id:11923242,username:"Sma11X",contributions:3},{id:57699643,username:"maxsteinwand",contributions:3},{id:40647432,username:"171h",contributions:2},{id:5249946,username:"9uenther",contributions:2},{id:38922203,username:"arashsheyda",contributions:2},{id:18102267,username:"oritwoen",contributions:2},{id:6696789,username:"Flosciante",contributions:2},{id:400771,username:"jrutila",contributions:2},{id:56026608,username:"Levy-from-Odessa",contributions:2},{id:6144489,username:"mcastagnetti",contributions:2},{id:898549,username:"graup",contributions:2},{id:6969872,username:"TomSmith27",contributions:2},{id:6909744,username:"jduartea",contributions:2},{id:76627776,username:"mwohlan",contributions:2},{id:1768483,username:"albertcito",contributions:1},{id:4410452,username:"LarchLiu",contributions:1}]},{name:"umami",description:"Embed the Umami analytics library into Nuxt",repo:"ijkml/nuxt-umami",npm:"nuxt-umami",icon:"umami.svg",github:"https://github.com/ijkml/nuxt-umami",website:"https://github.com/ijkml/nuxt-umami",learn_more:"https://umami.is/docs/",category:"Analytics",type:"3rd-party",maintainers:[{name:"ML",github:"ijkml"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:1770,stars:66,watchers:66,forks:6,defaultBranch:"main",publishedAt:1697788523372,createdAt:1659690158332},contributors:[{id:52390439,username:"ijkml",contributions:228},{id:6619884,username:"cpreston321",contributions:2},{id:46224115,username:"asbermudez",contributions:1},{id:65968861,username:"vencho-mdp",contributions:1},{id:10244927,username:"tmlmt",contributions:1},{id:59120414,username:"Velka-DEV",contributions:1},{id:1394374,username:"john-dev",contributions:1}]},{name:"unhead",description:"Experimental features for Nuxt SEO / head management.",repo:"harlan-zw/nuxt-seo-experiments",npm:"nuxt-seo-experiments",icon:"",github:"https://github.com/harlan-zw/nuxt-seo-experiments",website:"https://github.com/harlan-zw/nuxt-seo-experiments",learn_more:"",category:"SEO",type:"3rd-party",maintainers:[{name:"harlan-zw",github:"harlan-zw"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:12804,stars:59,watchers:59,forks:6,defaultBranch:"main",publishedAt:1700540830688,createdAt:1684079533112},contributors:[{id:5326365,username:"harlan-zw",contributions:252},{id:73709188,username:"HigherOrderLogic",contributions:4},{id:11756007,username:"m7rlin",contributions:3},{id:6649305,username:"BobbieGoede",contributions:1},{id:4778485,username:"dargmuesli",contributions:1},{id:65096948,username:"KyleSmith0905",contributions:1}]},{name:"unlazy",description:"Lazy loading library for placeholder images",repo:"johannschopplich/unlazy/packages/nuxt",npm:"@unlazy/nuxt",icon:"unlazy.svg",github:"https://github.com/johannschopplich/unlazy/tree/main/packages/nuxt",website:"https://unlazy.byjohann.dev/",learn_more:"",category:"Images",type:"3rd-party",maintainers:[{name:"Johann Schopplich",github:"johannschopplich"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1983,stars:361,watchers:361,forks:5,defaultBranch:"main",publishedAt:1699277334316,createdAt:1682023901390},contributors:[{id:27850750,username:"johannschopplich",contributions:247},{id:52704891,username:"felixranesberger",contributions:3},{id:1885157,username:"eric-hc",contributions:1}]},{name:"unlighthouse",description:"Unlighthouse scans your entire site using Google Lighthouse, with a modern UI, minimal config and smart sampling.",repo:"harlan-zw/unlighthouse#main/integrations/nuxt",npm:"@unlighthouse/nuxt",icon:"unlighthouse.svg",github:"https://github.com/harlan-zw/unlighthouse",website:"https://github.com/harlan-zw/unlighthouse",learn_more:"https://github.com/harlan-zw/unlighthouse",category:"Devtools",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw",avatar:"https://avatars.githubusercontent.com/harlan-zw?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:2184,stars:3242,watchers:3242,forks:75,defaultBranch:"main",publishedAt:1700121109605,createdAt:1642400494024},contributors:[{id:5326365,username:"harlan-zw",contributions:628},{id:13888023,username:"zZeepo",contributions:4},{id:1296369,username:"brianteeman",contributions:2},{id:501424,username:"mastoj",contributions:2},{id:45267552,username:"Barbapapazes",contributions:2},{id:48238174,username:"brahms116",contributions:1},{id:71390226,username:"FinnPaes",contributions:1},{id:40826752,username:"marcelxpfeifer",contributions:1},{id:27637,username:"mountainash",contributions:1},{id:82072867,username:"Nick-BlueSkyLabs",contributions:1},{id:21295394,username:"NielsPilgaard",contributions:1},{id:18357571,username:"pedddro",contributions:1},{id:22201189,username:"lutejka",contributions:1},{id:58180803,username:"tuminzee",contributions:1}]},{name:"unocss",description:"The instant on-demand atomic CSS engine.",repo:"unocss/unocss#main/packages/nuxt",npm:"@unocss/nuxt",icon:"unocss.svg",github:"https://github.com/unocss/unocss",website:"https://github.com/unocss/unocss",learn_more:"https://github.com/unocss/unocss",category:"UI",type:"3rd-party",maintainers:[{name:"Anthony Fu",github:"antfu",twitter:"antfu7",avatar:"https://avatars.githubusercontent.com/antfu?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"},devtools:"^0.0.0"},stats:{downloads:96976,stars:13990,watchers:13990,forks:678,defaultBranch:"main",publishedAt:1700565945737,createdAt:1635906586465},contributors:[{id:11247099,username:"antfu",contributions:1387},{id:379924,username:"chu121su12",contributions:317},{id:42139754,username:"zyyv",contributions:114},{id:6311119,username:"userquin",contributions:78},{id:19991745,username:"sibbng",contributions:77},{id:29533304,username:"Dunqing",contributions:42},{id:16288797,username:"hannoeru",contributions:29},{id:7559478,username:"jacob-8",contributions:20},{id:76603360,username:"sudongyuer",contributions:19},{id:16945858,username:"chizukicn",contributions:18},{id:57086651,username:"Simon-He95",contributions:15},{id:31278178,username:"edwardnyc",contributions:14},{id:31543482,username:"QiroNT",contributions:13},{id:16460309,username:"action-hong",contributions:11},{id:110549389,username:"henrikvilhelmberglund",contributions:10},{id:27850750,username:"johannschopplich",contributions:9},{id:33021497,username:"TrickyPi",contributions:8},{id:53554371,username:"Hongbusi",contributions:8},{id:17521736,username:"equt",contributions:8},{id:21221921,username:"wkeylin",contributions:8},{id:39750199,username:"xiaojieajie",contributions:7},{id:22554452,username:"azaleta",contributions:7},{id:8610935,username:"praburangki",contributions:7},{id:49056869,username:"sapphi-red",contributions:7},{id:10506522,username:"enkot",contributions:6},{id:32727188,username:"ydcjeff",contributions:6},{id:24277775,username:"zam157",contributions:6},{id:52692296,username:"zojize",contributions:6},{id:44045911,username:"kidonng",contributions:5},{id:17453452,username:"kirklin",contributions:5}]},{name:"ununuracss",description:"A Real CSS Engine. Only Scoped.",repo:"novout/ununuracss#main/packages/nuxt",npm:"nuxt-ununura",icon:"ununuracss.png",github:"https://github.com/novout/ununuracss",website:"https://ununura.com/#/",learn_more:"https://ununura.com/#/docs/why",category:"UI",type:"3rd-party",maintainers:[{name:"Giovane Cardoso",github:"novout",avatar:"https://avatars.githubusercontent.com/novout?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{}},stats:{downloads:158,stars:14,watchers:14,forks:0,defaultBranch:"main",publishedAt:1687469876512,createdAt:1674680086642},contributors:[{id:41403842,username:"Novout",contributions:352}]},{name:"use-wagmi",description:"Vue Composition for Ethereum based on wagmi",repo:"unicape/use-wagmi#main/packages/nuxt",npm:"@use-wagmi/nuxt",icon:"use-wagmi.png",github:"https://github.com/unicape/use-wagmi",website:"https://github.com/unicape/use-wagmi",learn_more:"https://github.com/unicape/use-wagmi",category:"Extensions",type:"3rd-party",maintainers:[{name:"Unic Ape",github:"unicape"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:1599,stars:76,watchers:76,forks:9,defaultBranch:"main",publishedAt:1693821582027,createdAt:1689570436124},contributors:[{id:31918458,username:"unicape",contributions:192},{id:13395944,username:"Hebilicious",contributions:5},{id:6038417,username:"0x62",contributions:2},{id:18377068,username:"francelwebdev",contributions:1},{id:83463097,username:"oumarbarry",contributions:1}]},{name:"vant",description:"A lightweight, customizable Vue UI library for mobile web apps.",repo:"vant-ui/vant-nuxt",npm:"@vant/nuxt",icon:"vant.png",github:"https://github.com/vant-ui/vant-nuxt",website:"https://vant-ui.github.io/vant",learn_more:"https://github.com/vant-ui/vant-nuxt#readme",category:"UI",type:"3rd-party",maintainers:[{name:"tolking",github:"tolking"}],compatibility:{nuxt:"^3.0.0",requires:{bridge:"optional"}},stats:{downloads:3220,stars:62,watchers:62,forks:8,defaultBranch:"main",publishedAt:1699542727487,createdAt:1676248078860},contributors:[{id:23313167,username:"tolking",contributions:10},{id:7237365,username:"chenjiahan",contributions:2},{id:28706372,username:"danielroe",contributions:1},{id:5123266,username:"retrogradeMT",contributions:1}]},{name:"varlet",description:"A Material design mobile component library developed based on Vue3",repo:"varletjs/varlet-nuxt",npm:"@varlet/nuxt",icon:"varlet.svg",github:"https://github.com/varletjs/varlet",website:"https://varlet.gitee.io/varlet-ui/#/en-US/index",learn_more:"https://github.com/varletjs/varlet-nuxt",category:"UI",type:"3rd-party",maintainers:[{name:"zhangmo8",github:"zhangmo8"}],compatibility:{nuxt:"^3.0.0",requires:{bridge:"optional"}},stats:{downloads:250,stars:24,watchers:24,forks:3,defaultBranch:"main",publishedAt:1699949071298,createdAt:1681440461054},contributors:[{id:43628500,username:"zhangmo8",contributions:14},{id:24223652,username:"haoziqaq",contributions:1}]},{name:"vcalendar",description:"VCalendar module for Nuxt",repo:"samk-dev/nuxt-vcalendar",npm:"@samk-dev/nuxt-vcalendar",icon:"vcalendar.png",github:"https://github.com/samk-dev/vcalendar",website:"https://github.com/samk-dev/vcalendar",learn_more:"",category:"Libraries",type:"3rd-party",maintainers:[{name:"Sam K",github:"samk-dev"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:2623,stars:2,watchers:2,forks:0,defaultBranch:"main",publishedAt:1696415077611,createdAt:1687210783485},contributors:[{id:33263129,username:"samk-dev",contributions:20}]},{name:"vee-validate",description:"Painless Vue forms for Nuxt",repo:"logaretm/vee-validate#main/packages/nuxt",npm:"@vee-validate/nuxt",icon:"vee-validate.png",github:"https://github.com/logaretm/vee-validate/",website:"https://vee-validate.logaretm.com/v4/",learn_more:"https://vee-validate.logaretm.com/v4/integrations/nuxt/",category:"Libraries",type:"3rd-party",maintainers:[{name:"Abdelrahman Awad",github:"logaretm"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:44128,stars:10253,watchers:10253,forks:1217,defaultBranch:"main",publishedAt:1699219613761,createdAt:1681696516339},contributors:[{id:6261322,username:"logaretm",contributions:4039},{id:5625680,username:"BrandonSurowiec",contributions:31},{id:10794213,username:"gldraphael",contributions:18},{id:6641565,username:"sbarfurth",contributions:11},{id:58624773,username:"abdelrahman3d",contributions:11},{id:411874,username:"cexbrayat",contributions:10},{id:4276422,username:"Stephen2",contributions:9},{id:13732585,username:"agentschmitt",contributions:9},{id:8316698,username:"jonathan-soifer",contributions:7},{id:6796124,username:"ThomHurks",contributions:6},{id:6563980,username:"judocode",contributions:5},{id:1016218,username:"escapedcat",contributions:5},{id:132681,username:"davestewart",contributions:5},{id:1881266,username:"iamandrewluca",contributions:4},{id:13547533,username:"ClaudioEyzaguirre",contributions:4},{id:40390596,username:"DM2489",contributions:4},{id:2737132,username:"jacobmllr95",contributions:4},{id:6311119,username:"userquin",contributions:4},{id:81405223,username:"Kimbo0o",contributions:4},{id:14740780,username:"rousos87",contributions:4},{id:10348212,username:"dfcook",contributions:4},{id:5793796,username:"smilee",contributions:4},{id:1185891,username:"kacinskas",contributions:4},{id:7074890,username:"giokaxo",contributions:4},{id:3132508,username:"idrafttt",contributions:4},{id:2236793,username:"grinn",contributions:4},{id:7269466,username:"lomotech",contributions:4},{id:9426721,username:"imcvampire",contributions:4},{id:507838,username:"berfenger",contributions:3},{id:84926,username:"edbizarro",contributions:3}]},{name:"vercel-analytics",description:"Vercel Analytics integration for Nuxt",repo:"xanderbarkhatov/nuxt-vercel-analytics",npm:"nuxt-vercel-analytics",icon:"",github:"https://github.com/xanderbarkhatov/nuxt-vercel-analytics",website:"https://github.com/xanderbarkhatov/nuxt-vercel-analytics",learn_more:"https://vercel.com/docs/concepts/analytics",category:"Analytics",type:"3rd-party",maintainers:[{name:"Alexander B.",github:"xanderbarkhatov"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:703,stars:16,watchers:16,forks:0,defaultBranch:"main",publishedAt:1684672014763,createdAt:1680270922096},contributors:[{id:52774564,username:"xanderbarkhatov",contributions:35}]},{name:"vexip-ui",description:"A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good",repo:"vexip-ui/nuxt",npm:"@vexip-ui/nuxt",icon:"vexip-ui.svg",github:"https://github.com/vexip-ui/vexip-ui",website:"https://www.vexipui.com/",learn_more:"https://github.com/vexip-ui/nuxt",category:"UI",type:"3rd-party",maintainers:[{name:"未觉雨声",github:"qmhc",twitter:"qmhc95"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:529,stars:34,watchers:34,forks:0,defaultBranch:"main",publishedAt:1698649633978,createdAt:1683804238336},contributors:[{id:40221744,username:"qmhc",contributions:35}]},{name:"vite-pwa-nuxt",description:"Zero-config PWA Plugin for Nuxt",repo:"vite-pwa/nuxt",npm:"@vite-pwa/nuxt",icon:"vite-pwa-nuxt.svg",github:"https://github.com/vite-pwa/nuxt",website:"https://github.com/vite-pwa/nuxt",learn_more:"https://vite-pwa-org.netlify.app/frameworks/nuxt.html",category:"Performance",type:"3rd-party",maintainers:[{name:"Joaquín Sánchez",github:"userquin",twitter:"userquin"},{name:"Anthony Fu",github:"antfu",twitter:"antfu7"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:56850,stars:308,watchers:308,forks:10,defaultBranch:"main",publishedAt:1699882240239,createdAt:1674848377084},contributors:[{id:6311119,username:"userquin",contributions:58},{id:28706372,username:"danielroe",contributions:3},{id:4778485,username:"dargmuesli",contributions:2}]},{name:"vitest",description:"Vitest integration with Nuxt",repo:"danielroe/nuxt-vitest",npm:"nuxt-vitest",icon:"vitest.svg",github:"https://github.com/danielroe/nuxt-vitest",website:"https://github.com/danielroe/nuxt-vitest",learn_more:"",category:"Devtools",type:"3rd-party",maintainers:[{name:"Daniel Roe",github:"danielroe"},{name:"Anthony Fu",github:"antfu"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:132616,stars:359,watchers:359,forks:41,defaultBranch:"main",publishedAt:1700496429348,createdAt:1674060047219},contributors:[{id:28706372,username:"danielroe",contributions:139},{id:11247099,username:"antfu",contributions:29},{id:324147,username:"oskarols",contributions:4},{id:1765584,username:"lassediercks",contributions:3},{id:6311119,username:"userquin",contributions:2},{id:7252657,username:"maartenvanhunsel",contributions:2},{id:3009534,username:"mvanalphen",contributions:2},{id:463319,username:"nicolaspayot",contributions:2},{id:35431350,username:"ExEr7um",contributions:2},{id:13403295,username:"yassilah",contributions:2},{id:16363180,username:"DevDengChao",contributions:2},{id:63512348,username:"huang-julien",contributions:2},{id:2262772,username:"aapokiiso",contributions:1},{id:640208,username:"manniL",contributions:1},{id:105530193,username:"Luzefiru",contributions:1},{id:10506522,username:"enkot",contributions:1},{id:51514282,username:"ghazialhouwari",contributions:1},{id:51118271,username:"jgonz3",contributions:1},{id:400771,username:"jrutila",contributions:1},{id:12714499,username:"rinux55",contributions:1},{id:12376435,username:"odinti",contributions:1},{id:7793873,username:"OlaAlsaker",contributions:1},{id:6775220,username:"gangsthub",contributions:1},{id:5158436,username:"pi0",contributions:1},{id:951290,username:"TimvdEijnden",contributions:1},{id:97700093,username:"dsvgl",contributions:1},{id:40494306,username:"erikkkwu",contributions:1},{id:55788142,username:"floriankapaun",contributions:1},{id:135640725,username:"niko-chaffinchicas",contributions:1}]},{name:"vue-email",description:"💌 Write email templates with vue",repo:"Dave136/vue-email#main/packages/vue-email",npm:"vue-email",icon:"vue-email.svg",github:"https://github.com/Dave136/vue-email",website:"https://www.vuemail.net/",learn_more:"https://vue-email.vercel.app/getting-started",category:"UI",type:"3rd-party",maintainers:[{name:"David Arenas",github:"Dave136",twitter:"davejs4",avatar:"https://avatars.githubusercontent.com/u/49698182?v=4"},{name:"Younes Barrad",github:"Flowko",twitter:"imflowko",avatar:"https://avatars.githubusercontent.com/u/35883748?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{},devtools:"^0.0.0"},stats:{downloads:3239,stars:418,watchers:418,forks:24,defaultBranch:"main",publishedAt:1700170734819,createdAt:1675791416987},contributors:[{id:35883748,username:"Flowko",contributions:156},{id:49698182,username:"Dave136",contributions:139},{id:28706372,username:"danielroe",contributions:7},{id:739984,username:"benjamincanac",contributions:1},{id:6619884,username:"cpreston321",contributions:1},{id:1270799,username:"DanielRivers",contributions:1},{id:25314426,username:"badalya1",contributions:1},{id:573708,username:"jeam",contributions:1}]},{name:"vue-final-modal",description:"The most powerful yet most light-weight modal library for Vue 3.",repo:"vue-final/vue-final-modal",npm:"@vue-final-modal/nuxt",icon:"vue-final-modal.svg",github:"https://github.com/vue-final/vue-final-modal",website:"https://vue-final-modal.org/",learn_more:"https://vue-final-modal.org/",category:"UI",type:"3rd-party",maintainers:[{name:"Hunter Liu",github:"hunterliu1003",twitter:"hunterliu1003"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:2938,stars:741,watchers:741,forks:87,defaultBranch:"master",publishedAt:1699447112858,createdAt:1667472888799},contributors:[{id:15190246,username:"hunterliu1003",contributions:1276},{id:39984251,username:"Mini-ghost",contributions:53},{id:22654053,username:"fatihsolhan",contributions:10},{id:3253920,username:"mesqueeb",contributions:7},{id:9392723,username:"negezor",contributions:2},{id:474175,username:"benrolfe",contributions:1},{id:26389990,username:"chemsedd",contributions:1},{id:94387,username:"Offlein",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:8252238,username:"guillaumebriday",contributions:1},{id:7781761,username:"Roxas92",contributions:1},{id:16818271,username:"Dschungelabenteuer",contributions:1},{id:12557018,username:"netolicak",contributions:1},{id:589744,username:"ul8",contributions:1}]},{name:"vue-macros",description:"Explore more macros and syntax sugar to Vue.",repo:"sxzz/vue-macros#main/packages/nuxt",npm:"@vue-macros/nuxt",icon:"vue-macros.svg",github:"https://github.com/sxzz/vue-macros",website:"https://vue-macros.sxzz.moe",learn_more:"https://github.com/sxzz/vue-macros",category:"Extensions",type:"3rd-party",maintainers:[{name:"三咲智子 Kevin Deng",github:"sxzz",twitter:"sanxiaozhizi"}],compatibility:{nuxt:"^3.0.0",requires:{bridge:"optional"},devtools:"^0.0.0"},stats:{downloads:12006,stars:1372,watchers:1372,forks:88,defaultBranch:"main",publishedAt:1700180089878,createdAt:1669188314539},contributors:[{id:6481596,username:"sxzz",contributions:853},{id:32807958,username:"zhiyuanzmj",contributions:26},{id:49969959,username:"alexzhang1030",contributions:12},{id:76111612,username:"isolcat",contributions:4},{id:29159838,username:"hydrati",contributions:3},{id:43827016,username:"zzhenryquezz",contributions:2},{id:24601590,username:"konata33",contributions:2},{id:17617116,username:"AliceLanniste",contributions:1},{id:67255597,username:"binotaliu",contributions:1},{id:45616067,username:"cullyfung",contributions:1},{id:29533304,username:"Dunqing",contributions:1},{id:664177,username:"posva",contributions:1},{id:43873521,username:"iEuJen",contributions:1},{id:22819074,username:"FrankCheungDev",contributions:1},{id:1574903,username:"hooray",contributions:1},{id:41265413,username:"Innei",contributions:1},{id:35426360,username:"Jungzl",contributions:1},{id:50254496,username:"LoTwT",contributions:1},{id:74575471,username:"Lzzzs",contributions:1},{id:51503,username:"mtorromeo",contributions:1},{id:74761884,username:"Gehbt",contributions:1},{id:73387709,username:"GODLiangCY",contributions:1},{id:40021217,username:"kingyue737",contributions:1},{id:110709026,username:"arstnei0",contributions:1},{id:44473551,username:"kekexunxun",contributions:1},{id:20167257,username:"cunzaizhuyi",contributions:1},{id:12619763,username:"duowb",contributions:1}]},{name:"vue-query",description:"0 config lightweight Nuxt module for @tanstack/vue-query.",repo:"Hebilicious/vue-query-nuxt/packages/vue-query-nuxt#main",npm:"@hebilicious/vue-query-nuxt",icon:"vue-query.svg",github:"https://github.com/Hebilicious/vue-query-nuxt",website:"https://github.com/Hebilicious/vue-query-nuxt#readme",learn_more:"https://tanstack.com/query/latest/docs/vue/quick-start",category:"Request",type:"3rd-party",maintainers:[{name:"Hebilicious",github:"Hebilicious",twitter:"its_hebilicious"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1990,stars:43,watchers:43,forks:0,defaultBranch:"main",publishedAt:1695127139179,createdAt:1685565065933},contributors:[{id:13395944,username:"Hebilicious",contributions:31}]},{name:"vue-transitions",description:"Reusable interface transitions with no CSS needed ❤️",repo:"MorevM/vue-transitions",npm:"@morev/vue-transitions",icon:"vue-transitions.svg",github:"https://github.com/MorevM/vue-transitions",website:"https://github.com/MorevM/vue-transitions#readme",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"Maxim Morev",github:"MorevM",avatar:"https://avatars.githubusercontent.com/u/49679666?v=4"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:8002,stars:132,watchers:132,forks:2,defaultBranch:"master",publishedAt:1673956665281,createdAt:1647620864273},contributors:[{id:49679666,username:"MorevM",contributions:119},{id:53798165,username:"FRO1D",contributions:10}]},{name:"vue3-carousel-nuxt",description:"This module seamlessly integrates the Vue 3 Carousel module of ismail9k into Nuxt applications.",repo:"gaetansenn/vue3-carousel-nuxt",npm:"vue3-carousel-nuxt",icon:"",github:"https://github.com/gaetansenn/vue3-carousel-nuxt",website:"",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"Gaetan SENN",github:"gaetansenn",avatar:"https://avatars.githubusercontent.com/u/2774075?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:10803,stars:8,watchers:8,forks:1,defaultBranch:"master",publishedAt:1689781071179,createdAt:1689781070602},contributors:[{id:2774075,username:"gaetansenn",contributions:2}]},{name:"vuefire",description:"Idiomatic composables for the Firebase SDK",repo:"vuejs/vuefire/packages/nuxt",npm:"nuxt-vuefire",icon:"vuefire.svg",github:"https://github.com/vuejs/vuefire/tree/main/packages/nuxt",website:"https://vuefire.vuejs.org/",learn_more:"",category:"Database",type:"3rd-party",maintainers:[{name:"posva",github:"posva"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:6189,stars:3728,watchers:3728,forks:331,defaultBranch:"main",publishedAt:1699431486018,createdAt:1666861126782},contributors:[{id:664177,username:"posva",contributions:1392},{id:25927835,username:"trickstival",contributions:15},{id:2013388,username:"davidstackio",contributions:7},{id:22968511,username:"sweethuman",contributions:3},{id:30027636,username:"i5dr0id",contributions:3},{id:7257092,username:"luc122c",contributions:3},{id:1965207,username:"joplomacedo",contributions:2},{id:358009,username:"mason",contributions:2},{id:2066617,username:"sheriffderek",contributions:2},{id:20881844,username:"darrelfrancis",contributions:2},{id:8573325,username:"ElBatanony",contributions:1},{id:436888,username:"alex88",contributions:1},{id:6147968,username:"hootlex",contributions:1},{id:5897209,username:"Runeii",contributions:1},{id:54869395,username:"llamington",contributions:1},{id:35183,username:"bsaf",contributions:1},{id:138886,username:"bkuri",contributions:1},{id:38957202,username:"billyyyyy3320",contributions:1},{id:3791599,username:"BradDuns",contributions:1},{id:31621095,username:"charles-allen",contributions:1},{id:25098427,username:"chidindu-ogbonna",contributions:1},{id:777506,username:"ser1us",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:2292121,username:"Obeyed",contributions:1},{id:31723722,username:"EmilienLeroy",contributions:1},{id:11366,username:"epall",contributions:1},{id:5368213,username:"codeams",contributions:1},{id:34515228,username:"fooooooooooooooo",contributions:1}]},{name:"vueform-builder",description:"Official Vueform Builder module for Nuxt",repo:"vueform/builder/nuxt",npm:"@vueform/builder-nuxt",icon:"vueform.svg",github:"https://github.com/vueform/builder",website:"https://builder.vueform.com",learn_more:"https://builder.vueform.com/docs/installation#nuxt",category:"Libraries",type:"3rd-party",maintainers:[{name:"Adam Berecz",github:"adamberecz",twitter:"bereczadam"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:428,stars:36,watchers:36,forks:1,defaultBranch:"main",publishedAt:1699962027161,createdAt:1694014710154},contributors:[{id:16024069,username:"adamberecz",contributions:47}]},{name:"vueform",description:"Official Vueform module for Nuxt",repo:"vueform/vueform/nuxt",npm:"@vueform/nuxt",icon:"vueform.svg",github:"https://github.com/vueform/vueform",website:"https://vueform.com",learn_more:"https://vueform.com/docs/installation#nuxt",category:"Libraries",type:"3rd-party",maintainers:[{name:"Adam Berecz",github:"adamberecz",twitter:"bereczadam"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:775,stars:434,watchers:434,forks:16,defaultBranch:"main",publishedAt:1699959236218,createdAt:1694008131902},contributors:[{id:16024069,username:"adamberecz",contributions:1465},{id:30729198,username:"szabolcsmucsi",contributions:78},{id:61869085,username:"bereczi",contributions:9},{id:67012849,username:"ivanpisa",contributions:1},{id:17225564,username:"tomasvn",contributions:1}]},{name:"vuestic",description:"Vuestic UI module for Nuxt",repo:"epicmaxco/vuestic-ui#develop/packages/nuxt",npm:"@vuestic/nuxt",icon:"vuestic.png",github:"https://github.com/epicmaxco/vuestic-ui/tree/develop/packages/nuxt",website:"https://vuestic.dev",learn_more:"https://vuestic.dev/en/getting-started/nuxt",category:"UI",type:"3rd-party",maintainers:[{name:"epicmaxco",github:"epicmaxco"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:1957,stars:3121,watchers:3121,forks:300,defaultBranch:"develop",publishedAt:1699849745232,createdAt:1651784645557},contributors:[{id:23530004,username:"m0ksem",contributions:950},{id:5394573,username:"asvae",contributions:383},{id:11652328,username:"untael",contributions:217},{id:45711229,username:"kushich",contributions:190},{id:64714442,username:"aluarius",contributions:150},{id:55198465,username:"RVitaly1978",contributions:131},{id:29167241,username:"rustem-nasyrov",contributions:120},{id:25908959,username:"vlad-shusterman",contributions:103},{id:9782236,username:"smellyshovel",contributions:62},{id:7745899,username:"Derranion",contributions:54},{id:39219429,username:"AlexanderBoriskin",contributions:51},{id:20516743,username:"eqxs",contributions:48},{id:47790197,username:"LighthouseKeeperYN",contributions:44},{id:11391037,username:"nastassiadanilova",contributions:40},{id:24375400,username:"raichev-dima",contributions:40},{id:18417066,username:"Eugenizer",contributions:37},{id:29925191,username:"SergeiPleshkov",contributions:34},{id:1770218,username:"xiongmao86",contributions:32},{id:11361743,username:"misterpekert",contributions:26},{id:118062031,username:"Roman4437",contributions:25},{id:20461547,username:"sergey-kravcov",contributions:22},{id:35342240,username:"zvenigorodskaia",contributions:22},{id:37382639,username:"DieselTripleX",contributions:21},{id:3674348,username:"smartapant",contributions:20},{id:13301570,username:"Kreezag",contributions:19},{id:10356386,username:"damirJa",contributions:14},{id:20753143,username:"ilearnjs",contributions:14},{id:46869767,username:"Azgiliat",contributions:11},{id:60774386,username:"alygee",contributions:11}]},{name:"vuetify-nuxt-module",description:"Zero-config Nuxt Module for Vuetify.",repo:"userquin/vuetify-nuxt-module",npm:"vuetify-nuxt-module",icon:"vuetify-logo-v3-dark.svg",github:"https://github.com/userquin/vuetify-nuxt-module",website:"https://vuetify-nuxt-module.netlify.app/",learn_more:"https://github.com/userquin/vuetify-nuxt-module/blob/main/README.md",category:"UI",type:"3rd-party",maintainers:[{name:"Joaquín Sánchez",github:"userquin"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:8819,stars:113,watchers:113,forks:10,defaultBranch:"main",publishedAt:1699792515500,createdAt:1688217260181},contributors:[{id:6311119,username:"userquin",contributions:164},{id:42139754,username:"zyyv",contributions:1},{id:28706372,username:"danielroe",contributions:1},{id:46492597,username:"Dominic-Marcelino",contributions:1},{id:400771,username:"jrutila",contributions:1},{id:11255009,username:"GaborTorma",contributions:1},{id:822287,username:"cyberalien",contributions:1}]},{name:"vueuse",description:"Collection of essential Vue Composition Utilities for Vue 2 and 3",repo:"vueuse/vueuse#main/packages/nuxt",npm:"@vueuse/nuxt",icon:"vueuse.svg",github:"https://github.com/vueuse/vueuse",website:"https://vueuse.org",learn_more:"https://github.com/vueuse/vueuse",category:"Libraries",type:"3rd-party",maintainers:[{name:"Anthony Fu",github:"antfu",twitter:"antfu7"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"},devtools:"^0.0.0"},stats:{downloads:401934,stars:17335,watchers:17335,forks:2180,defaultBranch:"main",publishedAt:1699870252902,createdAt:1637813677538},contributors:[{id:11247099,username:"antfu",contributions:1504},{id:22525904,username:"okxiaoliang4",contributions:89},{id:22515951,username:"webfansplz",contributions:72},{id:7064956,username:"wheatjs",contributions:66},{id:55641773,username:"Alfred-Skyblue",contributions:61},{id:19991745,username:"sibbng",contributions:44},{id:7980426,username:"scottbedard",contributions:23},{id:1490347,username:"anteriovieira",contributions:22},{id:1662812,username:"cawa-93",contributions:15},{id:583075,username:"patak-dev",contributions:14},{id:50733859,username:"chaii3",contributions:14},{id:30516060,username:"vaakian",contributions:14},{id:3038600,username:"curtgrimes",contributions:13},{id:102238922,username:"sun0day",contributions:13},{id:84131395,username:"michealroberts",contributions:13},{id:22554452,username:"azaleta",contributions:12},{id:6481596,username:"sxzz",contributions:12},{id:48953604,username:"lstoeferle",contributions:11},{id:15758406,username:"huynl-96",contributions:11},{id:6625879,username:"Waleed-KH",contributions:9},{id:10274099,username:"ferferga",contributions:8},{id:47144873,username:"harmyderoman",contributions:8},{id:7195563,username:"Shinigami92",contributions:8},{id:13330620,username:"wvffle",contributions:7},{id:24516654,username:"btea",contributions:7},{id:44631608,username:"Doctor-wu",contributions:6},{id:50230578,username:"jbaubree",contributions:6},{id:17229256,username:"wtykirby",contributions:6},{id:19204772,username:"LittleSound",contributions:6}]},{name:"vunix",description:"Comprehensive UI toolkit for Vue.js and Nuxt that empowers you to build amazing user interfaces with ease. With Vunix, you can leverage the power of popular utility-first CSS frameworks like Tailwind CSS, Unocss, WindiCss, or use your own custom CSS classes.",repo:"gaetansenn/vunix#main/packages/nuxt",npm:"@vunix/nuxt",icon:"",github:"https://github.com/gaetansenn/vunix",website:"https://vunix.dewib.com/",learn_more:"",category:"UI",type:"3rd-party",maintainers:[{name:"Gaetan SENN",github:"gaetansenn",avatar:"https://avatars.githubusercontent.com/u/2774075?v=4"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:108,stars:58,watchers:58,forks:3,defaultBranch:"main",publishedAt:1680272814211,createdAt:1667554905553},contributors:[{id:2774075,username:"gaetansenn",contributions:195},{id:28706372,username:"danielroe",contributions:5},{id:904724,username:"Atinux",contributions:1},{id:29141517,username:"manupit",contributions:1}]},{name:"web-vitals",description:"Web Vitals for Nuxt",repo:"nuxt-modules/web-vitals",npm:"@nuxtjs/web-vitals",icon:"web-vitals.png",github:"https://github.com/nuxt-modules/web-vitals",website:"https://github.com/nuxt-modules/web-vitals",learn_more:"",category:"Performance",type:"community",maintainers:[{name:"daliborgogic",github:"daliborgogic"},{name:"Pooya Parsa",github:"pi0",twitter:"_pi0_"},{name:"Sebastien Chopin",github:"Atinux",twitter:"Atinux"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:46675,stars:344,watchers:344,forks:21,defaultBranch:"main",publishedAt:1684342194642,createdAt:1612474320253},contributors:[{id:5158436,username:"pi0",contributions:34},{id:5895389,username:"daliborgogic",contributions:25},{id:28706372,username:"danielroe",contributions:16},{id:2535410,username:"zitscher",contributions:3},{id:118734217,username:"burda-osowiecki",contributions:2},{id:9151572,username:"GerryWilko",contributions:1},{id:3352476,username:"PizzaPete",contributions:1},{id:3911343,username:"stafyniaksacha",contributions:1},{id:904724,username:"Atinux",contributions:1},{id:29565989,username:"ats0405",contributions:1},{id:34863253,username:"iranagame",contributions:1},{id:1568539,username:"vlozanov",contributions:1}]},{name:"well-known",description:"A Nuxt module to add well-known URIs using middlewares",repo:"zadigetvoltaire/nuxt-well-known",npm:"@zadigetvoltaire/nuxt-well-known",icon:"well-known.svg",github:"https://github.com/zadigetvoltaire/nuxt-well-known",website:"https://github.com/zadigetvoltaire/nuxt-well-known#readme",learn_more:"https://www.iana.org/assignments/well-known-uris/well-known-uris.xhtml",category:"SEO",type:"3rd-party",maintainers:[{name:"Zadig&Voltaire Team",github:"https://github.com/zadigetvoltaire"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:224,stars:16,watchers:16,forks:1,defaultBranch:"main",publishedAt:1684774609726,createdAt:1679062376553},contributors:[{id:12446546,username:"LouisMazel",contributions:68},{id:1674029,username:"michael-bouvy",contributions:12}]},{name:"wideangle",description:"Nuxt module to integrate Wide Angle Analytics",repo:"inputobjects/wideangle-nuxt",npm:"wideangle-nuxt",icon:"wideangle.png",github:"https://github.com/inputobjects/wideangle-nuxt",website:"https://wideangle.co",learn_more:"https://wideangle.co/documentation/web-analytics-for-nuxt",category:"Analytics",type:"3rd-party",maintainers:[{name:"Wide Angle Analytics by Input Objects GmbH",github:"inputobjects"},{name:"Jarek Rozanski",github:"jrozanski"}],compatibility:{nuxt:"^3.0.0",requires:{}},stats:{downloads:107,stars:0,watchers:0,forks:1,defaultBranch:"main",publishedAt:1694616105765,createdAt:1684417041156},contributors:[{id:4896588,username:"jrozanski",contributions:18},{id:19635443,username:"rvdriest",contributions:3}]},{name:"windicss",description:"Next generation utility-first CSS framework.",repo:"windicss/nuxt-windicss-module#main/packages/nuxt-windicss",npm:"nuxt-windicss",icon:"windicss.svg",github:"https://github.com/windicss/nuxt-windicss-module",website:"https://github.com/windicss/nuxt-windicss-module",learn_more:"https://windicss.org/",category:"UI",type:"3rd-party",maintainers:[{name:"Harlan Wilton",github:"harlan-zw",twitter:"harlan_zw"},{name:"Anthony Fu",github:"antfu",twitter:"antfu7"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:"optional"}},stats:{downloads:20475,stars:333,watchers:333,forks:25,defaultBranch:"main",publishedAt:1681300829021,createdAt:1615418412588},contributors:[{id:5326365,username:"harlan-zw",contributions:415},{id:11247099,username:"antfu",contributions:9},{id:28706372,username:"danielroe",contributions:5},{id:904724,username:"Atinux",contributions:3},{id:59017897,username:"kn0wn",contributions:2},{id:967369,username:"acidjazz",contributions:2},{id:5158436,username:"pi0",contributions:2},{id:32807382,username:"BrandonlinU",contributions:1},{id:188172,username:"ManUtopiK",contributions:1},{id:24515434,username:"ontoneio",contributions:1},{id:15808,username:"freality",contributions:1},{id:46477357,username:"H37kouya",contributions:1},{id:291185,username:"nulltask",contributions:1},{id:42739553,username:"YannicEl",contributions:1},{id:1940038,username:"replygirl",contributions:1},{id:69119532,username:"voorjaar",contributions:1}]},{name:"xstate",description:"XState integration for Nuxt",repo:"Lexpeartha/nuxt-xstate",npm:"nuxt-xstate",icon:"xstate.svg",github:"https://github.com/Lexpeartha/nuxt-xstate",website:"https://nuxt-xstate.lexpeartha.com",learn_more:"https://xstate.js.org/",category:"Extensions",type:"3rd-party",maintainers:[{name:"Lexpeartha",github:"Lexpeartha",twitter:"lexpeartha"}],compatibility:{nuxt:"^2.0.0 || ^3.0.0",requires:{bridge:!0}},stats:{downloads:1040,stars:53,watchers:53,forks:1,defaultBranch:"main",publishedAt:1687594734753,createdAt:1659894979999},contributors:[{id:43365376,username:"Lexpeartha",contributions:88}]}],Nh={version:Lh,generatedAt:Bh,stats:Ih,maintainers:qh,contributors:Mh,modules:Dh},Fh=["seo-kit","umami"];function Uh(){const t=Nh.modules;return t.forEach(e=>{Fh.includes(e.name)?e.isLayer=!0:e.isLayer=!1}),t}class Hh{constructor(){Qo(this,"vsCodeApi");typeof acquireVsCodeApi=="function"&&(this.vsCodeApi=acquireVsCodeApi())}postMessage(e){this.vsCodeApi?this.vsCodeApi.postMessage(e):console.log(e)}getState(){if(this.vsCodeApi)return this.vsCodeApi.getState();{const e=localStorage.getItem("vscodeState");return e?JSON.parse(e):void 0}}setState(e){return this.vsCodeApi?this.vsCodeApi.setState(e):(localStorage.setItem("vscodeState",JSON.stringify(e)),e)}}const nt=new Hh,ke=(t,e)=>{const i=t.__vccOpts||t;for(const[n,s]of e)i[n]=s;return i},Vh={},Jh={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",viewBox:"0 0 24 24"},Gh=_("path",{fill:"currentColor",d:"M20 4a1 1 0 0 0 .71-1.7a1 1 0 0 0-1.42 0a1 1 0 0 0-.21.32A.84.84 0 0 0 19 3a1 1 0 0 0 1 1Zm0 9a1 1 0 0 0-1 1v.39l-1.48-1.48a2.77 2.77 0 0 0-3.93 0l-.7.7l-2.48-2.49a2.86 2.86 0 0 0-3.93 0L5 12.6V7a1 1 0 0 1 1-1h10a1 1 0 0 0 0-2H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-5a1 1 0 0 0-1-1ZM6 20a1 1 0 0 1-1-1v-3.57l2.9-2.9a.79.79 0 0 1 1.09 0l3.17 3.17l4.29 4.3Zm13-1a1 1 0 0 1-.18.53L14.31 15l.7-.7a.78.78 0 0 1 1.1 0L19 17.22Zm1-14a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V6a1 1 0 0 0-1-1Z"},null,-1),Kh=[Gh];function Wh(t,e){return q(),N("svg",Jh,Kh)}const Yh=ke(Vh,[["render",Wh]]),Zh={},Qh={viewBox:"0 0 10 6",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"h-5 w-5"},Xh=_("path",{d:"M5.48228 6H8.97228C9.08313 6.00001 9.19203 5.97229 9.28803 5.91963C9.38403 5.86696 9.46373 5.79121 9.51913 5.69999C9.57454 5.60876 9.60368 5.50529 9.60363 5.39997C9.60358 5.29465 9.57435 5.1912 9.51885 5.10002L7.17507 1.24289C7.11967 1.15169 7.03998 1.07595 6.944 1.02329C6.84802 0.97064 6.73915 0.94291 6.62832 0.94291C6.5175 0.94291 6.40861 0.97064 6.31264 1.02329C6.21667 1.07595 6.13697 1.15169 6.08158 1.24289L5.48228 2.22979L4.31055 0.29993C4.25511 0.20874 4.17538 0.13301 4.07938 0.08036C3.98337 0.02772 3.87448 0 3.76364 0C3.65279 0 3.5439 0.02772 3.4479 0.08036C3.35189 0.13301 3.27216 0.20874 3.21672 0.29993L0.300164 5.10002C0.244678 5.1912 0.215441 5.29465 0.215393 5.39997C0.215345 5.50529 0.244487 5.60876 0.299889 5.69999C0.35529 5.79121 0.434997 5.86696 0.530994 5.91963C0.62699 5.97229 0.73589 6.00001 0.846741 6H3.03748C3.90547 6 4.54558 5.63775 4.98603 4.93101L6.05539 3.17145L6.62815 2.22979L8.34714 5.05834H6.05539L5.48228 6ZM3.00176 5.05737L1.47291 5.05704L3.76466 1.28586L4.90815 3.17145L4.14253 4.43175C3.85003 4.8903 3.51773 5.05737 3.00176 5.05737Z",fill:"#00DC82"},null,-1),eb=[Xh];function tb(t,e){return q(),N("svg",Qh,eb)}const ib=ke(Zh,[["render",tb]]),nb={},sb={width:"10",height:"9",viewBox:"0 0 10 9",fill:"none",xmlns:"http://www.w3.org/2000/svg"},ob=_("path",{d:"M3.43461 2.7525L0.776275 3.09938L0.729191 3.108C0.657916 3.12503 0.592939 3.15878 0.540896 3.2058C0.488853 3.25282 0.451609 3.31143 0.432967 3.37565C0.414325 3.43986 0.414953 3.50738 0.434786 3.5713C0.454619 3.63523 0.492948 3.69327 0.545858 3.7395L2.47169 5.42663L2.01752 7.80975L2.01211 7.851C2.00774 7.91735 2.02305 7.98354 2.05646 8.04282C2.08987 8.10209 2.14018 8.1523 2.20225 8.18832C2.26431 8.22434 2.33589 8.24486 2.40967 8.24779C2.48344 8.25072 2.55676 8.23596 2.62211 8.205L4.99961 7.08L7.37169 8.205L7.41336 8.22225C7.48213 8.24663 7.55688 8.25411 7.62992 8.24391C7.70297 8.23371 7.77168 8.20621 7.82902 8.16423C7.88636 8.12224 7.93025 8.06728 7.9562 8.00499C7.98215 7.9427 7.98922 7.87531 7.97669 7.80975L7.52211 5.42663L9.44877 3.73913L9.48127 3.70725C9.5277 3.65579 9.55814 3.59417 9.56949 3.52867C9.58084 3.46318 9.5727 3.39614 9.54589 3.3344C9.51909 3.27266 9.47458 3.21841 9.41689 3.17719C9.35921 3.13597 9.29042 3.10925 9.21752 3.09975L6.55919 2.7525L5.37086 0.585001C5.33647 0.522202 5.28324 0.46932 5.21719 0.432341C5.15113 0.395362 5.0749 0.375763 4.99711 0.375763C4.91932 0.375763 4.84308 0.395362 4.77703 0.432341C4.71098 0.46932 4.65774 0.522202 4.62336 0.585001L3.43461 2.7525Z",fill:"currentColor"},null,-1),rb=[ob];function ab(t,e){return q(),N("svg",sb,rb)}const ub=ke(nb,[["render",ab]]),cb={},lb={width:"9",height:"8",viewBox:"0 0 9 8",fill:"none",xmlns:"http://www.w3.org/2000/svg"},db=Eu('',2),mb=[db];function hb(t,e){return q(),N("svg",lb,mb)}const bb=ke(cb,[["render",hb]]),pb={class:"hover: relative select-none p-3 px-0 pb-5 text-[var(--vscode-foreground)]"},fb={class:"flex w-full flex-wrap items-center gap-2"},gb={class:"mr-2 h-12 w-12 shrink-0"},yb=["src","alt"],vb={class:"flex-1"},wb={class:"flex items-center justify-between"},xb={class:"flex items-center"},_b=["textContent"],kb={key:0,class:"ml-2"},Ab={class:"flex items-center gap-2"},Sb={class:"flex gap-1"},Cb={class:"text-xs font-normal"},jb={class:"flex gap-1"},Eb={class:"text-xs font-normal"},Tb=["textContent"],zb={class:"mt-2 flex flex-wrap items-center gap-3"},Ob=["textContent","disabled"],Rb=["href"],Pb=Te({__name:"ModuleCard",props:{module:{},installed:{type:Boolean}},setup(t){const e=t;`${e.module.icon}`;const i=ae(!1),n=ae("Install"),s=r=>r>=1e3?(r/1e3).toFixed(0)+"k":r.toString(),o=()=>{nt.postMessage({command:"installModule",module:e.module}),i.value=!0,n.value="Installing"};return window.addEventListener("message",r=>{const a=r.data;switch(a.command){case"moduleInstalled":if(a.cmd!==e.module.npm)break;a.installed==!0?n.value="Installed":(n.value="Install",i.value=!1);break}}),(r,a)=>(q(),N("div",pb,[_("div",fb,[_("div",gb,[r.module.icon?(q(),N("img",{key:1,src:`https://api.nuxtjs.org/api/ipx/s_80,f_webp/gh/nuxt/modules/main/icons/${r.module.icon}`,alt:r.module.name,loading:"lazy"},null,8,yb)):(q(),ts(Yh,{key:0}))]),_("div",vb,[_("div",wb,[_("div",xb,[_("h3",{class:"text-base font-bold",textContent:Pe(r.module.name)},null,8,_b),r.module.type=="official"?(q(),N("div",kb,[I(ib)])):mt("",!0)]),_("div",Ab,[_("div",Sb,[I(ub,{class:"h-4 w-4"}),_("span",Cb,Pe(s(r.module.stats.stars)),1)]),_("div",jb,[I(bb,{class:"h-4 w-4"}),_("span",Eb,Pe(s(r.module.stats.downloads)),1)])])]),_("p",{class:"mt-1 line-clamp-1 max-w-[95%] overflow-hidden text-ellipsis text-xs",textContent:Pe(r.module.description)},null,8,Tb),_("div",zb,[_("button",{class:"rounded-md border border-[var(--vscode-dropdown-border)] bg-[var(--vscode-dropdown-background)] px-3 py-1 text-xs font-medium transition-all hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50",onClick:We(o,["prevent"]),textContent:Pe(r.installed?"Installed":n.value),disabled:i.value||r.installed},null,8,Ob),_("a",{href:r.module.github,class:"text-xs text-[#00DC82]"}," Docs",8,Rb)])])])]))}}),$b={},Lb={width:"14",height:"15",viewBox:"0 0 14 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Bb=_("path",{d:"M1 1H13V2.629C12.9999 3.02679 12.8418 3.40826 12.5605 3.6895L9.25 7V12.25L4.75 13.75V7.375L1.39 3.679C1.13909 3.40294 1.00004 3.0433 1 2.67025V1Z",stroke:"currentColor","stroke-width":"1.625","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Ib=[Bb];function qb(t,e){return q(),N("svg",Lb,Ib)}const Mb=ke($b,[["render",qb]]),Db={class:"flex text-left"},Nb=_("span",{class:"pointer-events-none absolute bottom-0 right-0 top-0 flex items-center"},[_("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",class:"mr-2 h-5 w-5",width:"1em",height:"1em",viewBox:"0 0 24 24"},[_("path",{fill:"currentColor",d:"M17 9.17a1 1 0 0 0-1.41 0L12 12.71L8.46 9.17a1 1 0 0 0-1.41 0a1 1 0 0 0 0 1.42l4.24 4.24a1 1 0 0 0 1.42 0L17 10.59a1 1 0 0 0 0-1.42Z"})])],-1),Fb={class:"absolute right-0 z-10 mt-3.5 flex max-h-[230px] flex-col gap-0.5 overflow-y-auto rounded-md border border-[var(--vscode-dropdown-border)] bg-[var(--vscode-dropdown-background)] p-1"},Ub=["onClick"],Hb={key:0,class:"pointer-events-none absolute bottom-0 right-2 top-0 flex items-center"},Vb=_("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":"true",role:"img",class:"inline-block h-4 w-4 align-middle",width:"1em",height:"1em",viewBox:"0 0 24 24"},[_("path",{fill:"currentColor",d:"M18.71 7.21a1 1 0 0 0-1.42 0l-7.45 7.46l-3.13-3.14A1 1 0 1 0 5.29 13l3.84 3.84a1 1 0 0 0 1.42 0l8.16-8.16a1 1 0 0 0 0-1.47Z"})],-1),Jb=[Vb],kn=Te({__name:"DropdownItem",props:{label:{type:String,default:"Version"},items:{type:Array,required:!0},selecteditemValue:{type:String,default:""}},emits:["selectedItem"],setup(t,{emit:e}){const i=t,n=e,s=ae(null),o=ae(!1),r=()=>{o.value=!o.value},a=u=>{n("selectedItem",u)};return Zt(()=>i.items,u=>{u.includes(i.selecteditemValue)||n("selectedItem","All")}),Oo(()=>{document.addEventListener("click",u=>{var c;(c=s.value)!=null&&c.contains(u.target)||(o.value=!1)})}),(u,c)=>(q(),N("div",{class:"relative",ref_key:"root",ref:s},[_("button",{class:"relative block w-full rounded-md border border-[var(--vscode-dropdown-border)] bg-[var(--vscode-dropdown-background)] px-3 py-2 pr-10 text-[var(--vscode-foreground)]",onClick:c[0]||(c[0]=We(l=>r(),["prevent"]))},[_("span",Db,Pe(t.label),1),Nb,Zn(_("div",Fb,[(q(!0),N(Ae,null,zi(t.items,(l,d)=>(q(),N("button",{key:d,class:Ze(["relative rounded-[4px] px-2 py-1.5 pr-8 text-left text-sm font-medium hover:bg-[var(--vscode-list-activeSelectionBackground)]",{"bg-[var(--vscode-list-activeSelectionBackground)]":l===t.selecteditemValue}]),onClick:We(h=>a(l),["prevent"])},[_("span",null,Pe(l),1),l===t.selecteditemValue?(q(),N("span",Hb,Jb)):mt("",!0)],10,Ub))),128))],512),[[Ru,o.value]])])],512))}}),Gb={class:"pointer-events-none absolute bottom-0 right-0 top-0 flex items-center"},Kb=_("path",{d:"M1 1L5.5 5.5L10 1",stroke:"currentColor","stroke-width":"1.38","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Wb=[Kb],Yb={class:"mt-3 flex flex-col gap-3"},Zb=Te({__name:"ModulesFilter",props:{modulesCount:{type:Number,default:0},nuxtVersions:{type:Array,default:()=>["3.0.0","2.0.0"]},categories:{type:Array,required:!0},types:{type:Array,required:!0},integrationTypes:{type:Array,default:()=>["All","Modules","Layers"]},open:{type:Boolean,default:!1},selectedIntegrationType:{type:String,default:"All Integrations"}},emits:["selectCategory","selectVersion","selectType","selectIntegrationType"],setup(t,{emit:e}){const i=t,n=e,s=ae(i.open||!1),o=ae("All Integrations"),r=ae("3.0.0"),a=ae("Type"),u=ae("Category"),c=p=>{u.value=p,n("selectCategory",p)},l=p=>{r.value=p,n("selectVersion",p)},d=p=>{o.value=p,n("selectIntegrationType",p)},h=p=>{a.value=p,n("selectType",p)};return Zt(()=>i.open,p=>{s.value=p}),Zt(()=>i.selectedIntegrationType,p=>{d(p)}),(p,y)=>(q(),N("div",null,[_("button",{class:"relative flex w-full items-center gap-1.5",onClick:y[0]||(y[0]=g=>s.value=!s.value)},[I(Mb),_("span",null,"Filters ("+Pe(t.modulesCount)+" modules found)",1),_("span",Gb,[(q(),N("svg",{class:Ze(["h-3 w-3 -rotate-90 transition-all duration-300",{"rotate-0":s.value}]),viewBox:"0 0 11 7",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Wb,2))])]),I(It,{name:"slide-fade"},{default:ei(()=>[Zn(_("div",Yb,[I(kn,{label:o.value,items:t.integrationTypes,selecteditemValue:o.value,onSelectedItem:y[1]||(y[1]=g=>d(g))},null,8,["label","items","selecteditemValue"]),I(kn,{label:r.value,items:t.nuxtVersions,selecteditemValue:r.value,onSelectedItem:y[2]||(y[2]=g=>l(g))},null,8,["label","items","selecteditemValue"]),I(kn,{label:a.value,items:t.types,selecteditemValue:a.value,onSelectedItem:y[3]||(y[3]=g=>h(g))},null,8,["label","items","selecteditemValue"]),I(kn,{label:u.value,items:t.categories,selecteditemValue:u.value,onSelectedItem:y[4]||(y[4]=g=>c(g))},null,8,["label","items","selecteditemValue"])],512),[[Ru,s.value]])]),_:1})]))}}),Qb={class:"sticky top-0 z-10 flex select-none flex-col gap-2 bg-[var(--vscode-sideBar-background)] pb-3"},Xb={class:"mt-5 w-full"},ep=Te({__name:"Modules",setup(t){const e=ae(null),i=Uh(),n=ae(["3.0.0","2.0.0"]),s=ae("3.0.0"),o=ae("All"),r=ae("All"),a=ae("All"),u=ae(""),c=ae([]),l=ae(!1),d=ae(i.map(g=>g.type.charAt(0).toUpperCase()+g.type.slice(1)).filter((g,v,A)=>A.indexOf(g)===v).sort());d.value.unshift("All");const h=Ue(()=>{const g=i.filter(v=>v.compatibility.nuxt.includes(s.value)).map(v=>v.category).filter((v,A,O)=>O.indexOf(v)===A).sort();return g.unshift("All"),g}),p=Ue(()=>{const L=i.filter(R=>R.compatibility.nuxt.includes(s.value)).filter(({category:R})=>r.value==="All"||R===r.value).filter(({type:R})=>a.value==="All"||R===a.value.toLowerCase()).sort((R,K)=>K.downloads-R.downloads).filter(R=>(R.name+" "+R.description).toLowerCase().includes(u.value.toLowerCase()));return o.value==="Layers"?L.filter(K=>!!K.isLayer):o.value==="Modules"?L.filter(K=>!K.isLayer):L}),y=g=>{var v;return!!((v=c.value)!=null&&v.find(A=>A.name===g))};return window.addEventListener("message",g=>{const v=g.data;switch(v.command){case"installedModules":c.value=v.data;break;case"addLayer":o.value="Layers";break;case"addModule":o.value="Modules";break}}),(g,v)=>(q(),N(Ae,null,[_("div",Qb,[Zn(_("input",{"onUpdate:modelValue":v[0]||(v[0]=A=>u.value=A),ref_key:"searchInput",ref:e,placeholder:"Search Integrations...",class:"my-3 w-full rounded-md border border-[var(--vscode-dropdown-border)] bg-[var(--vscode-dropdown-background)] p-2.5 text-[var(--vscode-foreground)]"},null,512),[[Pu,u.value]]),I(Zb,{modulesCount:p.value.length,nuxtVersions:n.value,categories:h.value,types:d.value,open:l.value,selectedIntegrationType:o.value,onSelectCategory:v[1]||(v[1]=A=>r.value=A),onSelectVersion:v[2]||(v[2]=A=>s.value=A),onSelectType:v[3]||(v[3]=A=>a.value=A),onSelectIntegrationType:v[4]||(v[4]=A=>o.value=A)},null,8,["modulesCount","nuxtVersions","categories","types","open","selectedIntegrationType"])]),_("div",Xb,[(q(!0),N(Ae,null,zi(p.value.slice(0,100),(A,O)=>(q(),ts(Pb,{key:O,module:A,installed:y(A.npm)},null,8,["module","installed"]))),128))])],64))}}),tp={class:"flex w-full flex-col font-inter"},ip=Te({__name:"Home",setup(t){return(e,i)=>(q(),N("div",tp,[I(ep)]))}}),np=_("path",{d:"M1 1L5.5 5.5L10 1",stroke:"currentColor","stroke-width":"1.38","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),sp=[np],ln=Te({__name:"Chevron",props:{listOpen:{type:Boolean,default:!1}},setup(t){return(e,i)=>(q(),N("svg",{class:Ze(["h-3 w-3 -rotate-90 transition-all duration-200",{"rotate-0":t.listOpen}]),viewBox:"0 0 11 7",fill:"none",xmlns:"http://www.w3.org/2000/svg"},sp,2))}}),op={},rp={viewBox:"0 0 11 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"},ap=_("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M5.98026 0.033095C6.27762 0.126823 6.47983 0.402573 6.47983 0.714337V4.28576H9.33697C9.60332 4.28576 9.84754 4.43394 9.97054 4.67018C10.0935 4.90641 10.0749 5.19146 9.92211 5.40966L4.92215 12.5525C4.74336 12.8079 4.41958 12.9178 4.12223 12.8241C3.8249 12.7304 3.62269 12.4546 3.62269 12.1429V8.5715H0.765554C0.499219 8.5715 0.254997 8.42329 0.131998 8.18707C0.00900509 7.95079 0.0276551 7.66579 0.18039 7.44757L5.1804 0.304723C5.35919 0.0493163 5.68297 -0.060632 5.98026 0.033095Z",fill:"#DDCE4C"},null,-1),up=[ap];function cp(t,e){return q(),N("svg",rp,up)}const lp=ke(op,[["render",cp]]),dp={},mp={viewBox:"0 0 11 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"},hp=_("path",{d:"M1 1V12L9.9375 6.5L1 1Z",stroke:"currentColor","stroke-width":"1.375","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),bp=[hp];function pp(t,e){return q(),N("svg",mp,bp)}const fp=ke(dp,[["render",pp]]),gp={class:"my-0.5 flex w-full select-none flex-col items-center text-[var(--vscode-foreground)]"},yp={class:"mx-2.5 flex flex-1 flex-row items-center gap-2 hover:bg-[var(--vscode-list-hoverBackground)]"},vp=_("p",{class:"text-sm font-medium"},"Actions",-1),wp=["title","onClick"],xp={class:"ml-2 text-sm"},_p=Te({__name:"Actions",props:{scripts:{type:Object,required:!0}},setup(t){const e=ae(!0),i=()=>{e.value=!e.value},n=s=>{nt.postMessage({command:"runAction",script:s})};return(s,o)=>(q(),N("div",gp,[_("div",{class:"flex w-full cursor-pointer flex-row items-center",onClick:i},[I(ln,{class:"h-2.5 w-2.5",listOpen:e.value},null,8,["listOpen"]),_("div",yp,[I(lp,{class:"h-3 w-3"}),vp])]),I(It,{name:"slide-down-fade"},{default:ei(()=>[e.value?(q(),N("div",{key:0,onClick:o[0]||(o[0]=We(()=>{},["stop"])),class:Ze(["mx-auto mb-2.5 mt-1 w-11/12 px-2",{showing:e.value,hidden:!e.value}])},[(q(!0),N(Ae,null,zi(t.scripts,(r,a)=>(q(),N("a",{href:"#",title:`Execute script ${a}`,class:"flex w-full flex-row items-center !text-[var(--vscode-foreground)] hover:bg-[var(--vscode-list-hoverBackground)]",key:r,onClick:We(u=>n(a),["prevent"])},[I(fp,{class:"h-3 w-3"}),_("p",xp,Pe(a),1)],8,wp))),128))],2)):mt("",!0)]),_:1})]))}});const kp={},Ap={viewBox:"0 0 13 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Sp=_("path",{d:"M3.79163 1.625V11.375M3.79163 1.625L5.41663 3.25M3.79163 1.625L2.16663 3.25M10.8333 9.75L9.20829 11.375M9.20829 11.375L7.58329 9.75M9.20829 11.375V1.625",stroke:"currentColor","stroke-width":"0.8125","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Cp=[Sp];function jp(t,e){return q(),N("svg",Ap,Cp)}const Ep=ke(kp,[["render",jp]]),Tp={},zp={viewBox:"0 0 13 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Op=_("path",{d:"M2.16663 3.79167H10.8333M2.70829 3.79167L3.24996 10.2917C3.24996 10.579 3.3641 10.8545 3.56726 11.0577C3.77042 11.2609 4.04597 11.375 4.33329 11.375H8.66663C8.95394 11.375 9.22949 11.2609 9.43266 11.0577C9.63582 10.8545 9.74996 10.579 9.74996 10.2917L10.2916 3.79167M4.87496 3.79167V2.16667C4.87496 2.02301 4.93203 1.88523 5.03361 1.78365C5.13519 1.68207 5.27297 1.625 5.41663 1.625H7.58329C7.72695 1.625 7.86473 1.68207 7.96631 1.78365C8.06789 1.88523 8.12496 2.02301 8.12496 2.16667V3.79167M5.41663 6.5L7.58329 8.66667M7.58329 6.5L5.41663 8.66667",stroke:"currentColor","stroke-width":"0.8125","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Rp=[Op];function Pp(t,e){return q(),N("svg",zp,Rp)}const Fo=ke(Tp,[["render",Pp]]),$p={},Lp={viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Bp=_("path",{d:"M5.46126 2H1V11H5.4608V4.2696H7.7304V11H10V2H5.46126Z",fill:"currentColor"},null,-1),Ip=[Bp];function qp(t,e){return q(),N("svg",Lp,Ip)}const Mp=ke($p,[["render",qp]]),Dp={},Np={viewBox:"0 0 12 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Fp=_("path",{d:"M6 1L11 3.8125V9.4375L6 12.25L1 9.4375V3.8125L6 1Z",stroke:"currentColor","stroke-width":"0.8","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Up=_("path",{d:"M6 6.625L11 3.8125",stroke:"currentColor","stroke-width":"0.8","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Hp=_("path",{d:"M6 6.625V12.25",stroke:"currentColor","stroke-width":"0.8","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Vp=_("path",{d:"M6 6.625L1 3.8125",stroke:"currentColor","stroke-width":"0.8","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Jp=[Fp,Up,Hp,Vp];function Gp(t,e){return q(),N("svg",Np,Jp)}const Kp=ke(Dp,[["render",Gp]]),Wp={class:"my-0.5 flex w-full select-none flex-col items-center text-[var(--vscode-foreground)]"},Yp={class:"mx-2.5 flex flex-1 flex-row items-center gap-2 hover:bg-[var(--vscode-list-hoverBackground)]"},Zp=_("p",{class:"text-sm font-medium"},"Dependencies",-1),Qp={class:"flex flex-row items-center overflow-hidden"},Xp={class:"flex items-center"},ef=["href"],tf={class:"flex-1 overflow-hidden text-ellipsis whitespace-pre text-xs"},nf={class:"text-[var(--vscode-descriptionForeground)]"},sf={key:0,class:"mx-0.5"},of=_("span",null,"→",-1),rf={class:"font-bold mx-0.5"},af={class:"flex items-center gap-2"},uf=["onClick"],cf=["onClick"],lf=Te({__name:"Dependencies",props:{name:{type:String},dependencies:{type:Array},outdated:{type:Array}},setup(t){const e=ae(!1),i=()=>{e.value=!e.value},n=o=>{nt.postMessage({command:"upgradeModule",module:o})},s=o=>{nt.postMessage({command:"removeModule",module:o})};return(o,r)=>(q(),N("div",Wp,[_("div",{class:"flex w-full cursor-pointer flex-row items-center",onClick:i},[I(ln,{class:"h-2.5 w-2.5",listOpen:e.value},null,8,["listOpen"]),_("div",Yp,[I(Mp,{class:"h-4 w-4"}),Zp])]),I(It,{name:"slide-down-fade"},{default:ei(()=>[e.value?(q(),N("div",{key:0,class:Ze(["mx-auto mb-2.5 mt-1 w-11/12 px-2",{showing:e.value,hidden:!e.value}])},[(q(!0),N(Ae,null,zi(t.dependencies,(a,u)=>{var c;return q(),N("div",{key:u,class:"group relative flex w-full items-center justify-between hover:bg-[var(--vscode-list-hoverBackground)]"},[_("div",Qp,[_("div",Xp,[I(Kp,{class:"h-3 w-3"}),_("a",{href:`https://npmjs.org/package/${a.name}`,class:Ze(["mx-2 flex-1 text-sm",{"font-bold":t.outdated&&t.outdated.length&&t.outdated.find(l=>l.name===a.name)}])},Pe(a.name),11,ef)]),_("p",tf,[_("span",nf,Pe(a.version.replace("^","")),1),t.outdated&&t.outdated.length&&t.outdated.find(l=>l.name===a.name)?(q(),N("span",sf,[of,_("span",rf,Pe((c=t.outdated.find(l=>l.name===a.name))==null?void 0:c.latest),1)])):mt("",!0)])]),_("div",af,[_("button",{class:"hidden cursor-pointer hover:opacity-80 group-hover:block group-hover:font-medium",onClick:l=>s(a.name)},[I(Fo,{class:"h-4 w-4"})],8,uf),_("button",{class:"hidden cursor-pointer hover:opacity-80 group-hover:block group-hover:font-medium",onClick:l=>n(a.name)},[I(Ep,{class:"h-4 w-4"})],8,cf)])])}),128))],2)):mt("",!0)]),_:1})]))}});const df={},mf={viewBox:"0 0 11 9",fill:"none",xmlns:"http://www.w3.org/2000/svg"},hf=_("path",{d:"M3.20833 2.66675L1.375 4.50008L3.20833 6.33341",stroke:"currentColor","stroke-width":"0.916667","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),bf=_("path",{d:"M7.79175 2.66675L9.62508 4.50008L7.79175 6.33341",stroke:"currentColor","stroke-width":"0.916667","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),pf=_("path",{d:"M6.41659 0.833252L4.58325 8.16659",stroke:"currentColor","stroke-width":"0.916667","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),ff=[hf,bf,pf];function gf(t,e){return q(),N("svg",mf,ff)}const yf=ke(df,[["render",gf]]),vf={},wf={xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-plus",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},xf=_("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),_f=_("path",{d:"M12 5l0 14"},null,-1),kf=_("path",{d:"M5 12l14 0"},null,-1),Af=[xf,_f,kf];function Sf(t,e){return q(),N("svg",wf,Af)}const rc=ke(vf,[["render",Sf]]),Cf={},jf={viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ef=_("path",{d:"M3.5 3.50006H3C2.73478 3.50006 2.48043 3.60542 2.29289 3.79295C2.10536 3.98049 2 4.23484 2 4.50006V9.00006C2 9.26528 2.10536 9.51963 2.29289 9.70717C2.48043 9.8947 2.73478 10.0001 3 10.0001H7.5C7.76522 10.0001 8.01957 9.8947 8.20711 9.70717C8.39464 9.51963 8.5 9.26528 8.5 9.00006V8.50006M8 2.50006L9.5 4.00006M10.1925 3.29255C10.3894 3.09563 10.5001 2.82855 10.5001 2.55005C10.5001 2.27156 10.3894 2.00448 10.1925 1.80755C9.99558 1.61063 9.72849 1.5 9.45 1.5C9.17151 1.5 8.90442 1.61063 8.7075 1.80755L4.5 6.00005V7.50005H6L10.1925 3.29255Z",stroke:"currentColor","stroke-width":"0.75","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Tf=[Ef];function zf(t,e){return q(),N("svg",jf,Tf)}const ac=ke(Cf,[["render",zf]]),Of={},Rf={xmlns:"http://www.w3.org/2000/svg",class:"icon icon-tabler icon-tabler-code-dots",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"},Pf=Eu('',6),$f=[Pf];function Lf(t,e){return q(),N("svg",Rf,$f)}const Bf=ke(Of,[["render",Lf]]),If={class:"my-0.5 flex w-full select-none flex-col items-center text-[var(--vscode-foreground)]"},qf={class:"mx-2.5 flex flex-1 flex-row items-center gap-2 hover:bg-[var(--vscode-list-hoverBackground)]"},Mf=_("p",{class:"text-sm font-medium"},"Snippets",-1),Df={class:"flex cursor-pointer flex-row items-center"},Nf={class:"ml-2 text-sm"},Ff={class:"flex flex-row space-x-2"},Uf=["onClick"],Hf=["onClick"],Vf={class:"flex cursor-pointer flex-row items-center"},Jf=_("p",{class:"ml-2 text-sm"},"Add new snippet",-1),Gf=Te({__name:"Snippets",props:{name:{type:String},snippets:{type:Object,required:!0}},setup(t){const e=ae(!1),i=()=>{e.value=!e.value},n=r=>{nt.postMessage({command:"editSnippet",data:r})},s=r=>{nt.postMessage({command:"deleteSnippet",data:r})},o=()=>{nt.postMessage({command:"configureNewSnippet"})};return(r,a)=>(q(),N("div",If,[_("div",{class:"flex w-full cursor-pointer flex-row items-center",onClick:i},[I(ln,{class:"h-2.5 w-2.5",listOpen:e.value},null,8,["listOpen"]),_("div",qf,[I(Bf,{class:"h-4 w-4"}),Mf])]),I(It,{name:"slide-down-fade"},{default:ei(()=>[e.value?(q(),N("div",{key:0,class:Ze(["mx-auto mb-2.5 mt-1 w-11/12 px-2",{showing:e.value,hidden:!e.value}])},[(q(!0),N(Ae,null,zi(t.snippets,(u,c)=>(q(),N("div",{key:c,class:"group relative flex w-full items-center justify-between hover:bg-[var(--vscode-list-hoverBackground)]"},[_("div",Df,[I(yf,{class:"h-3 w-3"}),_("p",Nf,Pe(u.replace(".code-snippets","")),1)]),_("div",Ff,[_("div",{onClick:We(l=>s(u),["prevent"]),class:"hidden cursor-pointer group-hover:block group-hover:font-medium"},[I(Fo,{class:"h-4 w-4"})],8,Uf),_("div",{onClick:We(l=>n(u),["prevent"]),class:"hidden cursor-pointer group-hover:block group-hover:font-medium"},[I(ac,{class:"h-4 w-4"})],8,Hf)])]))),128)),_("div",{onClick:We(o,["prevent"]),class:"group relative flex w-full items-center justify-between hover:bg-[var(--vscode-list-hoverBackground)]"},[_("div",Vf,[I(rc,{class:"h-3 w-3"}),Jf])])],2)):mt("",!0)]),_:1})]))}}),Kf={},Wf={viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Yf=_("path",{d:"M8.25 2L6 6L3.75 2M1.5 2L6 10L10.5 2",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),Zf=[Yf];function Qf(t,e){return q(),N("svg",Wf,Zf)}const Xf=ke(Kf,[["render",Qf]]),e1={},t1={viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i1=_("path",{d:"M8 4.00012V3.00012C8 2.73491 7.89464 2.48055 7.70711 2.29302C7.51957 2.10548 7.26522 2.00012 7 2.00012H3C2.73478 2.00012 2.48043 2.10548 2.29289 2.29302C2.10536 2.48055 2 2.73491 2 3.00012V7.00012C2 7.26534 2.10536 7.51969 2.29289 7.70723C2.48043 7.89476 2.73478 8.00012 3 8.00012H4M4 5.00012C4 4.73491 4.10536 4.48055 4.29289 4.29302C4.48043 4.10548 4.73478 4.00012 5 4.00012H9C9.26522 4.00012 9.51957 4.10548 9.70711 4.29302C9.89464 4.48055 10 4.73491 10 5.00012V9.00012C10 9.26534 9.89464 9.51969 9.70711 9.70723C9.51957 9.89476 9.26522 10.0001 9 10.0001H5C4.73478 10.0001 4.48043 9.89476 4.29289 9.70723C4.10536 9.51969 4 9.26534 4 9.00012V5.00012Z",stroke:"currentColor","stroke-width":"0.75","stroke-linecap":"round","stroke-linejoin":"round"},null,-1),n1=[i1];function s1(t,e){return q(),N("svg",t1,n1)}const o1=ke(e1,[["render",s1]]),r1={class:"my-0.5 flex w-full select-none flex-col items-center text-[var(--vscode-foreground)]"},a1={class:"mx-2.5 flex flex-1 flex-row items-center gap-2 hover:bg-[var(--vscode-list-hoverBackground)]"},u1=_("p",{class:"text-sm font-medium"},"File Templates",-1),c1={class:"flex cursor-pointer flex-row items-center"},l1=["onClick"],d1={class:"ml-2 px-2 font-medium rounded-sm bg-[var(--vscode-foreground)] text-[var(--vscode-sideBar-background)] text-xs"},m1={class:"flex flex-row space-x-2"},h1=["onClick"],b1=["onClick"],p1={class:"flex cursor-pointer flex-row items-center"},f1=_("p",{class:"ml-2 text-sm"},"Create new Template",-1),g1=Te({__name:"FileTemplates",props:{name:{type:String},templates:{type:Object,required:!0}},setup(t){const e=ae(!1),i=()=>{e.value=!e.value},n=a=>{nt.postMessage({command:"editTemplate",data:a})},s=a=>{nt.postMessage({command:"deleteTemplate",data:a})},o=()=>{nt.postMessage({command:"createEmptyFileTemplate"})},r=a=>{nt.postMessage({command:"createFileFromTemplate",data:a})};return(a,u)=>(q(),N("div",r1,[_("div",{class:"flex w-full cursor-pointer flex-row items-center",onClick:i},[I(ln,{class:"h-2.5 w-2.5",listOpen:e.value},null,8,["listOpen"]),_("div",a1,[I(o1,{class:"h-4 w-4"}),u1])]),I(It,{name:"slide-down-fade"},{default:ei(()=>[e.value?(q(),N("div",{key:0,class:Ze(["mx-auto mb-2.5 mt-1 w-11/12 pl-2",{showing:e.value,hidden:!e.value}])},[(q(!0),N(Ae,null,zi(t.templates,(c,l)=>(q(),N("div",{key:l,class:"group relative flex w-full items-center justify-between hover:bg-[var(--vscode-list-hoverBackground)]"},[_("div",c1,[I(Xf,{class:"h-3 w-3"}),_("p",{onClick:d=>r(c),class:"ml-2 text-sm"},Pe(c.replace(".page-template","").replace(".layout-template","")),9,l1),_("p",d1,Pe(c.includes("page")?"Page":"Layout"),1)]),_("div",m1,[_("div",{onClick:We(d=>s(c),["prevent"]),class:"hidden cursor-pointer group-hover:block group-hover:font-medium"},[I(Fo,{class:"h-4 w-4"})],8,h1),_("div",{onClick:We(d=>n(c),["prevent"]),class:"hidden cursor-pointer group-hover:block group-hover:font-medium"},[I(ac,{class:"h-4 w-4"})],8,b1)])]))),128)),_("div",{onClick:We(o,["prevent"]),class:"group relative flex w-full items-center justify-between hover:bg-[var(--vscode-list-hoverBackground)]"},[_("div",p1,[I(rc,{class:"h-3 w-3"}),f1])])],2)):mt("",!0)]),_:1})]))}}),y1={},v1={viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},w1=_("g",{"clip-path":"url(#clip0_3947_168996)"},[_("path",{d:"M2 9.67545L2.54167 8.05045C2.07352 7.35806 1.90416 6.53812 2.06509 5.74307C2.22602 4.94803 2.70628 4.23198 3.41657 3.72806C4.12686 3.22415 5.01886 2.96666 5.9267 3.00346C6.83455 3.04027 7.69647 3.36888 8.3522 3.92818C9.00794 4.48748 9.41286 5.23942 9.49169 6.04419C9.57053 6.84896 9.3179 7.65179 8.78078 8.30342C8.24366 8.95504 7.45861 9.41112 6.57158 9.58684C5.68455 9.76257 4.75592 9.64599 3.95833 9.25878L2 9.67545Z",stroke:"currentColor","stroke-width":"0.833333","stroke-linecap":"round","stroke-linejoin":"round"})],-1),x1=_("defs",null,[_("clipPath",{id:"clip0_3947_168996"},[_("rect",{width:"12",height:"12",fill:"currentColor"})])],-1),_1=[w1,x1];function k1(t,e){return q(),N("svg",v1,_1)}const A1=ke(y1,[["render",k1]]),S1="modulepreload",C1=function(t){return"/"+t},ha={},Ci=function(e,i,n){if(!i||i.length===0)return e();const s=document.getElementsByTagName("link");return Promise.all(i.map(o=>{if(o=C1(o),o in ha)return;ha[o]=!0;const r=o.endsWith(".css"),a=r?'[rel="stylesheet"]':"";if(!!n)for(let l=s.length-1;l>=0;l--){const d=s[l];if(d.href===o&&(!r||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const c=document.createElement("link");if(c.rel=r?"stylesheet":S1,r||(c.as="script",c.crossOrigin=""),c.href=o,document.head.appendChild(c),r)return new Promise((l,d)=>{c.addEventListener("load",l),c.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>e()).catch(o=>{const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=o,window.dispatchEvent(r),!r.defaultPrevented)throw o})},j1=t=>{let e;return t?e=t:typeof fetch>"u"?e=(...i)=>Ci(()=>Promise.resolve().then(()=>dn),void 0).then(({default:n})=>n(...i)):e=fetch,(...i)=>e(...i)};class Uo extends Error{constructor(e,i="FunctionsError",n){super(e),this.name=i,this.context=n}}class E1 extends Uo{constructor(e){super("Failed to send a request to the Edge Function","FunctionsFetchError",e)}}class T1 extends Uo{constructor(e){super("Relay Error invoking the Edge Function","FunctionsRelayError",e)}}class z1 extends Uo{constructor(e){super("Edge Function returned a non-2xx status code","FunctionsHttpError",e)}}var O1=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};class R1{constructor(e,{headers:i={},customFetch:n}={}){this.url=e,this.headers=i,this.fetch=j1(n)}setAuth(e){this.headers.Authorization=`Bearer ${e}`}invoke(e,i={}){var n;return O1(this,void 0,void 0,function*(){try{const{headers:s,method:o,body:r}=i;let a={},u;r&&(s&&!Object.prototype.hasOwnProperty.call(s,"Content-Type")||!s)&&(typeof Blob<"u"&&r instanceof Blob||r instanceof ArrayBuffer?(a["Content-Type"]="application/octet-stream",u=r):typeof r=="string"?(a["Content-Type"]="text/plain",u=r):typeof FormData<"u"&&r instanceof FormData?u=r:(a["Content-Type"]="application/json",u=JSON.stringify(r)));const c=yield this.fetch(`${this.url}/${e}`,{method:o||"POST",headers:Object.assign(Object.assign(Object.assign({},a),this.headers),s),body:u}).catch(p=>{throw new E1(p)}),l=c.headers.get("x-relay-error");if(l&&l==="true")throw new T1(c);if(!c.ok)throw new z1(c);let d=((n=c.headers.get("Content-Type"))!==null&&n!==void 0?n:"text/plain").split(";")[0].trim(),h;return d==="application/json"?h=yield c.json():d==="application/octet-stream"?h=yield c.blob():d==="multipart/form-data"?h=yield c.formData():h=yield c.text(),{data:h,error:null}}catch(s){return{data:null,error:s}}})}}var P1=function(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")},ji=P1();const $1=ji.fetch,Ho=ji.fetch.bind(ji),uc=ji.Headers,L1=ji.Request,B1=ji.Response,dn=Object.freeze(Object.defineProperty({__proto__:null,Headers:uc,Request:L1,Response:B1,default:Ho,fetch:$1},Symbol.toStringTag,{value:"Module"}));class I1{constructor(e){this.shouldThrowOnError=!1,this.method=e.method,this.url=e.url,this.headers=e.headers,this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=e.shouldThrowOnError,this.signal=e.signal,this.isMaybeSingle=e.isMaybeSingle,e.fetch?this.fetch=e.fetch:typeof fetch>"u"?this.fetch=Ho:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}then(e,i){this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers["Accept-Profile"]=this.schema:this.headers["Content-Profile"]=this.schema),this.method!=="GET"&&this.method!=="HEAD"&&(this.headers["Content-Type"]="application/json");const n=this.fetch;let s=n(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async o=>{var r,a,u;let c=null,l=null,d=null,h=o.status,p=o.statusText;if(o.ok){if(this.method!=="HEAD"){const A=await o.text();A===""||(this.headers.Accept==="text/csv"||this.headers.Accept&&this.headers.Accept.includes("application/vnd.pgrst.plan+text")?l=A:l=JSON.parse(A))}const g=(r=this.headers.Prefer)===null||r===void 0?void 0:r.match(/count=(exact|planned|estimated)/),v=(a=o.headers.get("content-range"))===null||a===void 0?void 0:a.split("/");g&&v&&v.length>1&&(d=parseInt(v[1])),this.isMaybeSingle&&this.method==="GET"&&Array.isArray(l)&&(l.length>1?(c={code:"PGRST116",details:`Results contain ${l.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},l=null,d=null,h=406,p="Not Acceptable"):l.length===1?l=l[0]:l=null)}else{const g=await o.text();try{c=JSON.parse(g),Array.isArray(c)&&o.status===404&&(l=[],c=null,h=200,p="OK")}catch{o.status===404&&g===""?(h=204,p="No Content"):c={message:g}}if(c&&this.isMaybeSingle&&(!((u=c==null?void 0:c.details)===null||u===void 0)&&u.includes("0 rows"))&&(c=null,h=200,p="OK"),c&&this.shouldThrowOnError)throw c}return{error:c,data:l,count:d,status:h,statusText:p}});return this.shouldThrowOnError||(s=s.catch(o=>{var r,a,u;return{error:{message:`${(r=o==null?void 0:o.name)!==null&&r!==void 0?r:"FetchError"}: ${o==null?void 0:o.message}`,details:`${(a=o==null?void 0:o.stack)!==null&&a!==void 0?a:""}`,hint:"",code:`${(u=o==null?void 0:o.code)!==null&&u!==void 0?u:""}`},data:null,count:null,status:0,statusText:""}})),s.then(e,i)}}class q1 extends I1{select(e){let i=!1;const n=(e??"*").split("").map(s=>/\s/.test(s)&&!i?"":(s==='"'&&(i=!i),s)).join("");return this.url.searchParams.set("select",n),this.headers.Prefer&&(this.headers.Prefer+=","),this.headers.Prefer+="return=representation",this}order(e,{ascending:i=!0,nullsFirst:n,foreignTable:s,referencedTable:o=s}={}){const r=o?`${o}.order`:"order",a=this.url.searchParams.get(r);return this.url.searchParams.set(r,`${a?`${a},`:""}${e}.${i?"asc":"desc"}${n===void 0?"":n?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:i,referencedTable:n=i}={}){const s=typeof n>"u"?"limit":`${n}.limit`;return this.url.searchParams.set(s,`${e}`),this}range(e,i,{foreignTable:n,referencedTable:s=n}={}){const o=typeof s>"u"?"offset":`${s}.offset`,r=typeof s>"u"?"limit":`${s}.limit`;return this.url.searchParams.set(o,`${e}`),this.url.searchParams.set(r,`${i-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.Accept="application/vnd.pgrst.object+json",this}maybeSingle(){return this.method==="GET"?this.headers.Accept="application/json":this.headers.Accept="application/vnd.pgrst.object+json",this.isMaybeSingle=!0,this}csv(){return this.headers.Accept="text/csv",this}geojson(){return this.headers.Accept="application/geo+json",this}explain({analyze:e=!1,verbose:i=!1,settings:n=!1,buffers:s=!1,wal:o=!1,format:r="text"}={}){var a;const u=[e?"analyze":null,i?"verbose":null,n?"settings":null,s?"buffers":null,o?"wal":null].filter(Boolean).join("|"),c=(a=this.headers.Accept)!==null&&a!==void 0?a:"application/json";return this.headers.Accept=`application/vnd.pgrst.plan+${r}; for="${c}"; options=${u};`,r==="json"?this:this}rollback(){var e;return((e=this.headers.Prefer)!==null&&e!==void 0?e:"").trim().length>0?this.headers.Prefer+=",tx=rollback":this.headers.Prefer="tx=rollback",this}returns(){return this}}class mi extends q1{eq(e,i){return this.url.searchParams.append(e,`eq.${i}`),this}neq(e,i){return this.url.searchParams.append(e,`neq.${i}`),this}gt(e,i){return this.url.searchParams.append(e,`gt.${i}`),this}gte(e,i){return this.url.searchParams.append(e,`gte.${i}`),this}lt(e,i){return this.url.searchParams.append(e,`lt.${i}`),this}lte(e,i){return this.url.searchParams.append(e,`lte.${i}`),this}like(e,i){return this.url.searchParams.append(e,`like.${i}`),this}likeAllOf(e,i){return this.url.searchParams.append(e,`like(all).{${i.join(",")}}`),this}likeAnyOf(e,i){return this.url.searchParams.append(e,`like(any).{${i.join(",")}}`),this}ilike(e,i){return this.url.searchParams.append(e,`ilike.${i}`),this}ilikeAllOf(e,i){return this.url.searchParams.append(e,`ilike(all).{${i.join(",")}}`),this}ilikeAnyOf(e,i){return this.url.searchParams.append(e,`ilike(any).{${i.join(",")}}`),this}is(e,i){return this.url.searchParams.append(e,`is.${i}`),this}in(e,i){const n=i.map(s=>typeof s=="string"&&new RegExp("[,()]").test(s)?`"${s}"`:`${s}`).join(",");return this.url.searchParams.append(e,`in.(${n})`),this}contains(e,i){return typeof i=="string"?this.url.searchParams.append(e,`cs.${i}`):Array.isArray(i)?this.url.searchParams.append(e,`cs.{${i.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(i)}`),this}containedBy(e,i){return typeof i=="string"?this.url.searchParams.append(e,`cd.${i}`):Array.isArray(i)?this.url.searchParams.append(e,`cd.{${i.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(i)}`),this}rangeGt(e,i){return this.url.searchParams.append(e,`sr.${i}`),this}rangeGte(e,i){return this.url.searchParams.append(e,`nxl.${i}`),this}rangeLt(e,i){return this.url.searchParams.append(e,`sl.${i}`),this}rangeLte(e,i){return this.url.searchParams.append(e,`nxr.${i}`),this}rangeAdjacent(e,i){return this.url.searchParams.append(e,`adj.${i}`),this}overlaps(e,i){return typeof i=="string"?this.url.searchParams.append(e,`ov.${i}`):this.url.searchParams.append(e,`ov.{${i.join(",")}}`),this}textSearch(e,i,{config:n,type:s}={}){let o="";s==="plain"?o="pl":s==="phrase"?o="ph":s==="websearch"&&(o="w");const r=n===void 0?"":`(${n})`;return this.url.searchParams.append(e,`${o}fts${r}.${i}`),this}match(e){return Object.entries(e).forEach(([i,n])=>{this.url.searchParams.append(i,`eq.${n}`)}),this}not(e,i,n){return this.url.searchParams.append(e,`not.${i}.${n}`),this}or(e,{foreignTable:i,referencedTable:n=i}={}){const s=n?`${n}.or`:"or";return this.url.searchParams.append(s,`(${e})`),this}filter(e,i,n){return this.url.searchParams.append(e,`${i}.${n}`),this}}class M1{constructor(e,{headers:i={},schema:n,fetch:s}){this.url=e,this.headers=i,this.schema=n,this.fetch=s}select(e,{head:i=!1,count:n}={}){const s=i?"HEAD":"GET";let o=!1;const r=(e??"*").split("").map(a=>/\s/.test(a)&&!o?"":(a==='"'&&(o=!o),a)).join("");return this.url.searchParams.set("select",r),n&&(this.headers.Prefer=`count=${n}`),new mi({method:s,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}insert(e,{count:i,defaultToNull:n=!0}={}){const s="POST",o=[];if(this.headers.Prefer&&o.push(this.headers.Prefer),i&&o.push(`count=${i}`),n||o.push("missing=default"),this.headers.Prefer=o.join(","),Array.isArray(e)){const r=e.reduce((a,u)=>a.concat(Object.keys(u)),[]);if(r.length>0){const a=[...new Set(r)].map(u=>`"${u}"`);this.url.searchParams.set("columns",a.join(","))}}return new mi({method:s,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch,allowEmpty:!1})}upsert(e,{onConflict:i,ignoreDuplicates:n=!1,count:s,defaultToNull:o=!0}={}){const r="POST",a=[`resolution=${n?"ignore":"merge"}-duplicates`];if(i!==void 0&&this.url.searchParams.set("on_conflict",i),this.headers.Prefer&&a.push(this.headers.Prefer),s&&a.push(`count=${s}`),o||a.push("missing=default"),this.headers.Prefer=a.join(","),Array.isArray(e)){const u=e.reduce((c,l)=>c.concat(Object.keys(l)),[]);if(u.length>0){const c=[...new Set(u)].map(l=>`"${l}"`);this.url.searchParams.set("columns",c.join(","))}}return new mi({method:r,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch,allowEmpty:!1})}update(e,{count:i}={}){const n="PATCH",s=[];return this.headers.Prefer&&s.push(this.headers.Prefer),i&&s.push(`count=${i}`),this.headers.Prefer=s.join(","),new mi({method:n,url:this.url,headers:this.headers,schema:this.schema,body:e,fetch:this.fetch,allowEmpty:!1})}delete({count:e}={}){const i="DELETE",n=[];return e&&n.push(`count=${e}`),this.headers.Prefer&&n.unshift(this.headers.Prefer),this.headers.Prefer=n.join(","),new mi({method:i,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch,allowEmpty:!1})}}const D1="1.9.1",N1={"X-Client-Info":`postgrest-js/${D1}`};class Vo{constructor(e,{headers:i={},schema:n,fetch:s}={}){this.url=e,this.headers=Object.assign(Object.assign({},N1),i),this.schemaName=n,this.fetch=s}from(e){const i=new URL(`${this.url}/${e}`);return new M1(i,{headers:Object.assign({},this.headers),schema:this.schemaName,fetch:this.fetch})}schema(e){return new Vo(this.url,{headers:this.headers,schema:e,fetch:this.fetch})}rpc(e,i={},{head:n=!1,count:s}={}){let o;const r=new URL(`${this.url}/rpc/${e}`);let a;n?(o="HEAD",Object.entries(i).forEach(([c,l])=>{r.searchParams.append(c,`${l}`)})):(o="POST",a=i);const u=Object.assign({},this.headers);return s&&(u.Prefer=`count=${s}`),new mi({method:o,url:r,headers:u,schema:this.schemaName,body:a,fetch:this.fetch,allowEmpty:!1})}}const F1="2.9.1",U1={"X-Client-Info":`realtime-js/${F1}`},H1="1.0.0",cc=1e4,V1=1e3;var xi;(function(t){t[t.connecting=0]="connecting",t[t.open=1]="open",t[t.closing=2]="closing",t[t.closed=3]="closed"})(xi||(xi={}));var Fe;(function(t){t.closed="closed",t.errored="errored",t.joined="joined",t.joining="joining",t.leaving="leaving"})(Fe||(Fe={}));var tt;(function(t){t.close="phx_close",t.error="phx_error",t.join="phx_join",t.reply="phx_reply",t.leave="phx_leave",t.access_token="access_token"})(tt||(tt={}));var ho;(function(t){t.websocket="websocket"})(ho||(ho={}));var Gt;(function(t){t.Connecting="connecting",t.Open="open",t.Closing="closing",t.Closed="closed"})(Gt||(Gt={}));class lc{constructor(e,i){this.callback=e,this.timerCalc=i,this.timer=void 0,this.tries=0,this.callback=e,this.timerCalc=i}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}}class J1{constructor(){this.HEADER_LENGTH=1}decode(e,i){return e.constructor===ArrayBuffer?i(this._binaryDecode(e)):i(typeof e=="string"?JSON.parse(e):{})}_binaryDecode(e){const i=new DataView(e),n=new TextDecoder;return this._decodeBroadcast(e,i,n)}_decodeBroadcast(e,i,n){const s=i.getUint8(1),o=i.getUint8(2);let r=this.HEADER_LENGTH+2;const a=n.decode(e.slice(r,r+s));r=r+s;const u=n.decode(e.slice(r,r+o));r=r+o;const c=JSON.parse(n.decode(e.slice(r,e.byteLength)));return{ref:null,topic:a,event:u,payload:c}}}class Is{constructor(e,i,n={},s=cc){this.channel=e,this.event=i,this.payload=n,this.timeout=s,this.sent=!1,this.timeoutTimer=void 0,this.ref="",this.receivedResp=null,this.recHooks=[],this.refEvent=null}resend(e){this.timeout=e,this._cancelRefEvent(),this.ref="",this.refEvent=null,this.receivedResp=null,this.sent=!1,this.send()}send(){this._hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload,ref:this.ref,join_ref:this.channel._joinRef()}))}updatePayload(e){this.payload=Object.assign(Object.assign({},this.payload),e)}receive(e,i){var n;return this._hasReceived(e)&&i((n=this.receivedResp)===null||n===void 0?void 0:n.response),this.recHooks.push({status:e,callback:i}),this}startTimeout(){if(this.timeoutTimer)return;this.ref=this.channel.socket._makeRef(),this.refEvent=this.channel._replyEventName(this.ref);const e=i=>{this._cancelRefEvent(),this._cancelTimeout(),this.receivedResp=i,this._matchReceive(i)};this.channel._on(this.refEvent,{},e),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}trigger(e,i){this.refEvent&&this.channel._trigger(this.refEvent,{status:e,response:i})}destroy(){this._cancelRefEvent(),this._cancelTimeout()}_cancelRefEvent(){this.refEvent&&this.channel._off(this.refEvent,{})}_cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=void 0}_matchReceive({status:e,response:i}){this.recHooks.filter(n=>n.status===e).forEach(n=>n.callback(i))}_hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}}var ba;(function(t){t.SYNC="sync",t.JOIN="join",t.LEAVE="leave"})(ba||(ba={}));class Yi{constructor(e,i){this.channel=e,this.state={},this.pendingDiffs=[],this.joinRef=null,this.caller={onJoin:()=>{},onLeave:()=>{},onSync:()=>{}};const n=(i==null?void 0:i.events)||{state:"presence_state",diff:"presence_diff"};this.channel._on(n.state,{},s=>{const{onJoin:o,onLeave:r,onSync:a}=this.caller;this.joinRef=this.channel._joinRef(),this.state=Yi.syncState(this.state,s,o,r),this.pendingDiffs.forEach(u=>{this.state=Yi.syncDiff(this.state,u,o,r)}),this.pendingDiffs=[],a()}),this.channel._on(n.diff,{},s=>{const{onJoin:o,onLeave:r,onSync:a}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(s):(this.state=Yi.syncDiff(this.state,s,o,r),a())}),this.onJoin((s,o,r)=>{this.channel._trigger("presence",{event:"join",key:s,currentPresences:o,newPresences:r})}),this.onLeave((s,o,r)=>{this.channel._trigger("presence",{event:"leave",key:s,currentPresences:o,leftPresences:r})}),this.onSync(()=>{this.channel._trigger("presence",{event:"sync"})})}static syncState(e,i,n,s){const o=this.cloneDeep(e),r=this.transformState(i),a={},u={};return this.map(o,(c,l)=>{r[c]||(u[c]=l)}),this.map(r,(c,l)=>{const d=o[c];if(d){const h=l.map(v=>v.presence_ref),p=d.map(v=>v.presence_ref),y=l.filter(v=>p.indexOf(v.presence_ref)<0),g=d.filter(v=>h.indexOf(v.presence_ref)<0);y.length>0&&(a[c]=y),g.length>0&&(u[c]=g)}else a[c]=l}),this.syncDiff(o,{joins:a,leaves:u},n,s)}static syncDiff(e,i,n,s){const{joins:o,leaves:r}={joins:this.transformState(i.joins),leaves:this.transformState(i.leaves)};return n||(n=()=>{}),s||(s=()=>{}),this.map(o,(a,u)=>{var c;const l=(c=e[a])!==null&&c!==void 0?c:[];if(e[a]=this.cloneDeep(u),l.length>0){const d=e[a].map(p=>p.presence_ref),h=l.filter(p=>d.indexOf(p.presence_ref)<0);e[a].unshift(...h)}n(a,l,u)}),this.map(r,(a,u)=>{let c=e[a];if(!c)return;const l=u.map(d=>d.presence_ref);c=c.filter(d=>l.indexOf(d.presence_ref)<0),e[a]=c,s(a,c,u),c.length===0&&delete e[a]}),e}static map(e,i){return Object.getOwnPropertyNames(e).map(n=>i(n,e[n]))}static transformState(e){return e=this.cloneDeep(e),Object.getOwnPropertyNames(e).reduce((i,n)=>{const s=e[n];return"metas"in s?i[n]=s.metas.map(o=>(o.presence_ref=o.phx_ref,delete o.phx_ref,delete o.phx_ref_prev,o)):i[n]=s,i},{})}static cloneDeep(e){return JSON.parse(JSON.stringify(e))}onJoin(e){this.caller.onJoin=e}onLeave(e){this.caller.onLeave=e}onSync(e){this.caller.onSync=e}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel._joinRef()}}var ue;(function(t){t.abstime="abstime",t.bool="bool",t.date="date",t.daterange="daterange",t.float4="float4",t.float8="float8",t.int2="int2",t.int4="int4",t.int4range="int4range",t.int8="int8",t.int8range="int8range",t.json="json",t.jsonb="jsonb",t.money="money",t.numeric="numeric",t.oid="oid",t.reltime="reltime",t.text="text",t.time="time",t.timestamp="timestamp",t.timestamptz="timestamptz",t.timetz="timetz",t.tsrange="tsrange",t.tstzrange="tstzrange"})(ue||(ue={}));const pa=(t,e,i={})=>{var n;const s=(n=i.skipTypes)!==null&&n!==void 0?n:[];return Object.keys(e).reduce((o,r)=>(o[r]=G1(r,t,e,s),o),{})},G1=(t,e,i,n)=>{const s=e.find(a=>a.name===t),o=s==null?void 0:s.type,r=i[t];return o&&!n.includes(o)?dc(o,r):bo(r)},dc=(t,e)=>{if(t.charAt(0)==="_"){const i=t.slice(1,t.length);return Z1(e,i)}switch(t){case ue.bool:return K1(e);case ue.float4:case ue.float8:case ue.int2:case ue.int4:case ue.int8:case ue.numeric:case ue.oid:return W1(e);case ue.json:case ue.jsonb:return Y1(e);case ue.timestamp:return Q1(e);case ue.abstime:case ue.date:case ue.daterange:case ue.int4range:case ue.int8range:case ue.money:case ue.reltime:case ue.text:case ue.time:case ue.timestamptz:case ue.timetz:case ue.tsrange:case ue.tstzrange:return bo(e);default:return bo(e)}},bo=t=>t,K1=t=>{switch(t){case"t":return!0;case"f":return!1;default:return t}},W1=t=>{if(typeof t=="string"){const e=parseFloat(t);if(!Number.isNaN(e))return e}return t},Y1=t=>{if(typeof t=="string")try{return JSON.parse(t)}catch(e){return console.log(`JSON parse error: ${e}`),t}return t},Z1=(t,e)=>{if(typeof t!="string")return t;const i=t.length-1,n=t[i];if(t[0]==="{"&&n==="}"){let o;const r=t.slice(1,i);try{o=JSON.parse("["+r+"]")}catch{o=r?r.split(","):[]}return o.map(a=>dc(e,a))}return t},Q1=t=>typeof t=="string"?t.replace(" ","T"):t;var fa;(function(t){t.ALL="*",t.INSERT="INSERT",t.UPDATE="UPDATE",t.DELETE="DELETE"})(fa||(fa={}));var ga;(function(t){t.BROADCAST="broadcast",t.PRESENCE="presence",t.POSTGRES_CHANGES="postgres_changes"})(ga||(ga={}));var ya;(function(t){t.SUBSCRIBED="SUBSCRIBED",t.TIMED_OUT="TIMED_OUT",t.CLOSED="CLOSED",t.CHANNEL_ERROR="CHANNEL_ERROR"})(ya||(ya={}));class Jo{constructor(e,i={config:{}},n){this.topic=e,this.params=i,this.socket=n,this.bindings={},this.state=Fe.closed,this.joinedOnce=!1,this.pushBuffer=[],this.subTopic=e.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:""}},i.config),this.timeout=this.socket.timeout,this.joinPush=new Is(this,tt.join,this.params,this.timeout),this.rejoinTimer=new lc(()=>this._rejoinUntilConnected(),this.socket.reconnectAfterMs),this.joinPush.receive("ok",()=>{this.state=Fe.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(s=>s.send()),this.pushBuffer=[]}),this._onClose(()=>{this.rejoinTimer.reset(),this.socket.log("channel",`close ${this.topic} ${this._joinRef()}`),this.state=Fe.closed,this.socket._remove(this)}),this._onError(s=>{this._isLeaving()||this._isClosed()||(this.socket.log("channel",`error ${this.topic}`,s),this.state=Fe.errored,this.rejoinTimer.scheduleTimeout())}),this.joinPush.receive("timeout",()=>{this._isJoining()&&(this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),this.state=Fe.errored,this.rejoinTimer.scheduleTimeout())}),this._on(tt.reply,{},(s,o)=>{this._trigger(this._replyEventName(o),s)}),this.presence=new Yi(this),this.broadcastEndpointURL=this._broadcastEndpointURL()}subscribe(e,i=this.timeout){var n,s;if(this.socket.isConnected()||this.socket.connect(),this.joinedOnce)throw"tried to subscribe multiple times. 'subscribe' can only be called a single time per channel instance";{const{config:{broadcast:o,presence:r}}=this.params;this._onError(c=>e&&e("CHANNEL_ERROR",c)),this._onClose(()=>e&&e("CLOSED"));const a={},u={broadcast:o,presence:r,postgres_changes:(s=(n=this.bindings.postgres_changes)===null||n===void 0?void 0:n.map(c=>c.filter))!==null&&s!==void 0?s:[]};this.socket.accessToken&&(a.access_token=this.socket.accessToken),this.updateJoinPayload(Object.assign({config:u},a)),this.joinedOnce=!0,this._rejoin(i),this.joinPush.receive("ok",({postgres_changes:c})=>{var l;if(this.socket.accessToken&&this.socket.setAuth(this.socket.accessToken),c===void 0){e&&e("SUBSCRIBED");return}else{const d=this.bindings.postgres_changes,h=(l=d==null?void 0:d.length)!==null&&l!==void 0?l:0,p=[];for(let y=0;y{e&&e("CHANNEL_ERROR",new Error(JSON.stringify(Object.values(c).join(", ")||"error")))}).receive("timeout",()=>{e&&e("TIMED_OUT")})}return this}presenceState(){return this.presence.state}async track(e,i={}){return await this.send({type:"presence",event:"track",payload:e},i.timeout||this.timeout)}async untrack(e={}){return await this.send({type:"presence",event:"untrack"},e)}on(e,i,n){return this._on(e,i,n)}async send(e,i={}){var n,s;if(!this._canPush()&&e.type==="broadcast"){const{event:o,payload:r}=e,a={method:"POST",headers:{apikey:(n=this.socket.accessToken)!==null&&n!==void 0?n:"","Content-Type":"application/json"},body:JSON.stringify({messages:[{topic:this.subTopic,event:o,payload:r}]})};try{return(await this._fetchWithTimeout(this.broadcastEndpointURL,a,(s=i.timeout)!==null&&s!==void 0?s:this.timeout)).ok?"ok":"error"}catch(u){return u.name==="AbortError"?"timed out":"error"}}else return new Promise(o=>{var r,a,u;const c=this._push(e.type,e,i.timeout||this.timeout);e.type==="broadcast"&&!(!((u=(a=(r=this.params)===null||r===void 0?void 0:r.config)===null||a===void 0?void 0:a.broadcast)===null||u===void 0)&&u.ack)&&o("ok"),c.receive("ok",()=>o("ok")),c.receive("timeout",()=>o("timed out"))})}updateJoinPayload(e){this.joinPush.updatePayload(e)}unsubscribe(e=this.timeout){this.state=Fe.leaving;const i=()=>{this.socket.log("channel",`leave ${this.topic}`),this._trigger(tt.close,"leave",this._joinRef())};return this.rejoinTimer.reset(),this.joinPush.destroy(),new Promise(n=>{const s=new Is(this,tt.leave,{},e);s.receive("ok",()=>{i(),n("ok")}).receive("timeout",()=>{i(),n("timed out")}).receive("error",()=>{n("error")}),s.send(),this._canPush()||s.trigger("ok",{})})}_broadcastEndpointURL(){let e=this.socket.endPoint;return e=e.replace(/^ws/i,"http"),e=e.replace(/(\/socket\/websocket|\/socket|\/websocket)\/?$/i,""),e.replace(/\/+$/,"")+"/api/broadcast"}async _fetchWithTimeout(e,i,n){const s=new AbortController,o=setTimeout(()=>s.abort(),n),r=await this.socket.fetch(e,Object.assign(Object.assign({},i),{signal:s.signal}));return clearTimeout(o),r}_push(e,i,n=this.timeout){if(!this.joinedOnce)throw`tried to push '${e}' to '${this.topic}' before joining. Use channel.subscribe() before pushing events`;let s=new Is(this,e,i,n);return this._canPush()?s.send():(s.startTimeout(),this.pushBuffer.push(s)),s}_onMessage(e,i,n){return i}_isMember(e){return this.topic===e}_joinRef(){return this.joinPush.ref}_trigger(e,i,n){var s,o;const r=e.toLocaleLowerCase(),{close:a,error:u,leave:c,join:l}=tt;if(n&&[a,u,c,l].indexOf(r)>=0&&n!==this._joinRef())return;let h=this._onMessage(r,i,n);if(i&&!h)throw"channel onMessage callbacks must return the payload, modified or unmodified";["insert","update","delete"].includes(r)?(s=this.bindings.postgres_changes)===null||s===void 0||s.filter(p=>{var y,g,v;return((y=p.filter)===null||y===void 0?void 0:y.event)==="*"||((v=(g=p.filter)===null||g===void 0?void 0:g.event)===null||v===void 0?void 0:v.toLocaleLowerCase())===r}).map(p=>p.callback(h,n)):(o=this.bindings[r])===null||o===void 0||o.filter(p=>{var y,g,v,A,O,L;if(["broadcast","presence","postgres_changes"].includes(r))if("id"in p){const R=p.id,K=(y=p.filter)===null||y===void 0?void 0:y.event;return R&&((g=i.ids)===null||g===void 0?void 0:g.includes(R))&&(K==="*"||(K==null?void 0:K.toLocaleLowerCase())===((v=i.data)===null||v===void 0?void 0:v.type.toLocaleLowerCase()))}else{const R=(O=(A=p==null?void 0:p.filter)===null||A===void 0?void 0:A.event)===null||O===void 0?void 0:O.toLocaleLowerCase();return R==="*"||R===((L=i==null?void 0:i.event)===null||L===void 0?void 0:L.toLocaleLowerCase())}else return p.type.toLocaleLowerCase()===r}).map(p=>{if(typeof h=="object"&&"ids"in h){const y=h.data,{schema:g,table:v,commit_timestamp:A,type:O,errors:L}=y;h=Object.assign(Object.assign({},{schema:g,table:v,commit_timestamp:A,eventType:O,new:{},old:{},errors:L}),this._getPayloadRecords(y))}p.callback(h,n)})}_isClosed(){return this.state===Fe.closed}_isJoined(){return this.state===Fe.joined}_isJoining(){return this.state===Fe.joining}_isLeaving(){return this.state===Fe.leaving}_replyEventName(e){return`chan_reply_${e}`}_on(e,i,n){const s=e.toLocaleLowerCase(),o={type:s,filter:i,callback:n};return this.bindings[s]?this.bindings[s].push(o):this.bindings[s]=[o],this}_off(e,i){const n=e.toLocaleLowerCase();return this.bindings[n]=this.bindings[n].filter(s=>{var o;return!(((o=s.type)===null||o===void 0?void 0:o.toLocaleLowerCase())===n&&Jo.isEqual(s.filter,i))}),this}static isEqual(e,i){if(Object.keys(e).length!==Object.keys(i).length)return!1;for(const n in e)if(e[n]!==i[n])return!1;return!0}_rejoinUntilConnected(){this.rejoinTimer.scheduleTimeout(),this.socket.isConnected()&&this._rejoin()}_onClose(e){this._on(tt.close,{},e)}_onError(e){this._on(tt.error,{},i=>e(i))}_canPush(){return this.socket.isConnected()&&this._isJoined()}_rejoin(e=this.timeout){this._isLeaving()||(this.socket._leaveOpenTopic(this.topic),this.state=Fe.joining,this.joinPush.resend(e))}_getPayloadRecords(e){const i={new:{},old:{}};return(e.type==="INSERT"||e.type==="UPDATE")&&(i.new=pa(e.columns,e.record)),(e.type==="UPDATE"||e.type==="DELETE")&&(i.old=pa(e.columns,e.old_record)),i}}const X1=()=>{},eg=typeof WebSocket<"u";class tg{constructor(e,i){var n;this.accessToken=null,this.channels=[],this.endPoint="",this.headers=U1,this.params={},this.timeout=cc,this.heartbeatIntervalMs=3e4,this.heartbeatTimer=void 0,this.pendingHeartbeatRef=null,this.ref=0,this.logger=X1,this.conn=null,this.sendBuffer=[],this.serializer=new J1,this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this._resolveFetch=o=>{let r;return o?r=o:typeof fetch>"u"?r=(...a)=>Ci(()=>Promise.resolve().then(()=>dn),void 0).then(({default:u})=>u(...a)):r=fetch,(...a)=>r(...a)},this.endPoint=`${e}/${ho.websocket}`,i!=null&&i.transport?this.transport=i.transport:this.transport=null,i!=null&&i.params&&(this.params=i.params),i!=null&&i.headers&&(this.headers=Object.assign(Object.assign({},this.headers),i.headers)),i!=null&&i.timeout&&(this.timeout=i.timeout),i!=null&&i.logger&&(this.logger=i.logger),i!=null&&i.heartbeatIntervalMs&&(this.heartbeatIntervalMs=i.heartbeatIntervalMs);const s=(n=i==null?void 0:i.params)===null||n===void 0?void 0:n.apikey;s&&(this.accessToken=s),this.reconnectAfterMs=i!=null&&i.reconnectAfterMs?i.reconnectAfterMs:o=>[1e3,2e3,5e3,1e4][o-1]||1e4,this.encode=i!=null&&i.encode?i.encode:(o,r)=>r(JSON.stringify(o)),this.decode=i!=null&&i.decode?i.decode:this.serializer.decode.bind(this.serializer),this.reconnectTimer=new lc(async()=>{this.disconnect(),this.connect()},this.reconnectAfterMs),this.fetch=this._resolveFetch(i==null?void 0:i.fetch)}connect(){if(!this.conn){if(this.transport){this.conn=new this.transport(this._endPointURL(),void 0,{headers:this.headers});return}if(eg){this.conn=new WebSocket(this._endPointURL()),this.setupConnection();return}this.conn=new ig(this._endPointURL(),void 0,{close:()=>{this.conn=null}}),Ci(()=>import("./browser.js").then(e=>e.b),[]).then(({default:e})=>{this.conn=new e(this._endPointURL(),void 0,{headers:this.headers}),this.setupConnection()})}}disconnect(e,i){this.conn&&(this.conn.onclose=function(){},e?this.conn.close(e,i??""):this.conn.close(),this.conn=null,this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.reset())}getChannels(){return this.channels}async removeChannel(e){const i=await e.unsubscribe();return this.channels.length===0&&this.disconnect(),i}async removeAllChannels(){const e=await Promise.all(this.channels.map(i=>i.unsubscribe()));return this.disconnect(),e}log(e,i,n){this.logger(e,i,n)}connectionState(){switch(this.conn&&this.conn.readyState){case xi.connecting:return Gt.Connecting;case xi.open:return Gt.Open;case xi.closing:return Gt.Closing;default:return Gt.Closed}}isConnected(){return this.connectionState()===Gt.Open}channel(e,i={config:{}}){const n=new Jo(`realtime:${e}`,i,this);return this.channels.push(n),n}push(e){const{topic:i,event:n,payload:s,ref:o}=e,r=()=>{this.encode(e,a=>{var u;(u=this.conn)===null||u===void 0||u.send(a)})};this.log("push",`${i} ${n} (${o})`,s),this.isConnected()?r():this.sendBuffer.push(r)}setAuth(e){this.accessToken=e,this.channels.forEach(i=>{e&&i.updateJoinPayload({access_token:e}),i.joinedOnce&&i._isJoined()&&i._push(tt.access_token,{access_token:e})})}_makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}_leaveOpenTopic(e){let i=this.channels.find(n=>n.topic===e&&(n._isJoined()||n._isJoining()));i&&(this.log("transport",`leaving duplicate topic "${e}"`),i.unsubscribe())}_remove(e){this.channels=this.channels.filter(i=>i._joinRef()!==e._joinRef())}setupConnection(){this.conn&&(this.conn.binaryType="arraybuffer",this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=e=>this._onConnError(e),this.conn.onmessage=e=>this._onConnMessage(e),this.conn.onclose=e=>this._onConnClose(e))}_endPointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:H1}))}_onConnMessage(e){this.decode(e.data,i=>{let{topic:n,event:s,payload:o,ref:r}=i;(r&&r===this.pendingHeartbeatRef||s===(o==null?void 0:o.type))&&(this.pendingHeartbeatRef=null),this.log("receive",`${o.status||""} ${n} ${s} ${r&&"("+r+")"||""}`,o),this.channels.filter(a=>a._isMember(n)).forEach(a=>a._trigger(s,o,r)),this.stateChangeCallbacks.message.forEach(a=>a(i))})}_onConnOpen(){this.log("transport",`connected to ${this._endPointURL()}`),this._flushSendBuffer(),this.reconnectTimer.reset(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this._sendHeartbeat(),this.heartbeatIntervalMs),this.stateChangeCallbacks.open.forEach(e=>e())}_onConnClose(e){this.log("transport","close",e),this._triggerChanError(),this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.reconnectTimer.scheduleTimeout(),this.stateChangeCallbacks.close.forEach(i=>i(e))}_onConnError(e){this.log("transport",e.message),this._triggerChanError(),this.stateChangeCallbacks.error.forEach(i=>i(e))}_triggerChanError(){this.channels.forEach(e=>e._trigger(tt.error))}_appendParams(e,i){if(Object.keys(i).length===0)return e;const n=e.match(/\?/)?"&":"?",s=new URLSearchParams(i);return`${e}${n}${s}`}_flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}_sendHeartbeat(){var e;if(this.isConnected()){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection"),(e=this.conn)===null||e===void 0||e.close(V1,"hearbeat timeout");return}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef}),this.setAuth(this.accessToken)}}}class ig{constructor(e,i,n){this.binaryType="arraybuffer",this.onclose=()=>{},this.onerror=()=>{},this.onmessage=()=>{},this.onopen=()=>{},this.readyState=xi.connecting,this.send=()=>{},this.url=null,this.url=e,this.close=n.close}}class Go extends Error{constructor(e){super(e),this.__isStorageError=!0,this.name="StorageError"}}function je(t){return typeof t=="object"&&t!==null&&"__isStorageError"in t}class ng extends Go{constructor(e,i){super(e),this.name="StorageApiError",this.status=i}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class va extends Go{constructor(e,i){super(e),this.name="StorageUnknownError",this.originalError=i}}var sg=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};const mc=t=>{let e;return t?e=t:typeof fetch>"u"?e=(...i)=>Ci(()=>Promise.resolve().then(()=>dn),void 0).then(({default:n})=>n(...i)):e=fetch,(...i)=>e(...i)},og=()=>sg(void 0,void 0,void 0,function*(){return typeof Response>"u"?(yield Ci(()=>Promise.resolve().then(()=>dn),void 0)).Response:Response});var Oi=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};const qs=t=>t.msg||t.message||t.error_description||t.error||JSON.stringify(t),rg=(t,e)=>Oi(void 0,void 0,void 0,function*(){const i=yield og();t instanceof i?t.json().then(n=>{e(new ng(qs(n),t.status||500))}).catch(n=>{e(new va(qs(n),n))}):e(new va(qs(t),t))}),ag=(t,e,i,n)=>{const s={method:t,headers:(e==null?void 0:e.headers)||{}};return t==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json"},e==null?void 0:e.headers),s.body=JSON.stringify(n),Object.assign(Object.assign({},s),i))};function ds(t,e,i,n,s,o){return Oi(this,void 0,void 0,function*(){return new Promise((r,a)=>{t(i,ag(e,n,s,o)).then(u=>{if(!u.ok)throw u;return n!=null&&n.noResolveJson?u:u.json()}).then(u=>r(u)).catch(u=>rg(u,a))})})}function po(t,e,i,n){return Oi(this,void 0,void 0,function*(){return ds(t,"GET",e,i,n)})}function zt(t,e,i,n,s){return Oi(this,void 0,void 0,function*(){return ds(t,"POST",e,n,s,i)})}function ug(t,e,i,n,s){return Oi(this,void 0,void 0,function*(){return ds(t,"PUT",e,n,s,i)})}function hc(t,e,i,n,s){return Oi(this,void 0,void 0,function*(){return ds(t,"DELETE",e,n,s,i)})}var Je=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};const cg={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},wa={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};class lg{constructor(e,i={},n,s){this.url=e,this.headers=i,this.bucketId=n,this.fetch=mc(s)}uploadOrUpdate(e,i,n,s){return Je(this,void 0,void 0,function*(){try{let o;const r=Object.assign(Object.assign({},wa),s),a=Object.assign(Object.assign({},this.headers),e==="POST"&&{"x-upsert":String(r.upsert)});typeof Blob<"u"&&n instanceof Blob?(o=new FormData,o.append("cacheControl",r.cacheControl),o.append("",n)):typeof FormData<"u"&&n instanceof FormData?(o=n,o.append("cacheControl",r.cacheControl)):(o=n,a["cache-control"]=`max-age=${r.cacheControl}`,a["content-type"]=r.contentType);const u=this._removeEmptyFolders(i),c=this._getFinalPath(u),l=yield this.fetch(`${this.url}/object/${c}`,Object.assign({method:e,body:o,headers:a},r!=null&&r.duplex?{duplex:r.duplex}:{})),d=yield l.json();return l.ok?{data:{path:u,id:d.Id,fullPath:d.Key},error:null}:{data:null,error:d}}catch(o){if(je(o))return{data:null,error:o};throw o}})}upload(e,i,n){return Je(this,void 0,void 0,function*(){return this.uploadOrUpdate("POST",e,i,n)})}uploadToSignedUrl(e,i,n,s){return Je(this,void 0,void 0,function*(){const o=this._removeEmptyFolders(e),r=this._getFinalPath(o),a=new URL(this.url+`/object/upload/sign/${r}`);a.searchParams.set("token",i);try{let u;const c=Object.assign({upsert:wa.upsert},s),l=Object.assign(Object.assign({},this.headers),{"x-upsert":String(c.upsert)});typeof Blob<"u"&&n instanceof Blob?(u=new FormData,u.append("cacheControl",c.cacheControl),u.append("",n)):typeof FormData<"u"&&n instanceof FormData?(u=n,u.append("cacheControl",c.cacheControl)):(u=n,l["cache-control"]=`max-age=${c.cacheControl}`,l["content-type"]=c.contentType);const d=yield this.fetch(a.toString(),{method:"PUT",body:u,headers:l}),h=yield d.json();return d.ok?{data:{path:o,fullPath:h.Key},error:null}:{data:null,error:h}}catch(u){if(je(u))return{data:null,error:u};throw u}})}createSignedUploadUrl(e){return Je(this,void 0,void 0,function*(){try{let i=this._getFinalPath(e);const n=yield zt(this.fetch,`${this.url}/object/upload/sign/${i}`,{},{headers:this.headers}),s=new URL(this.url+n.url),o=s.searchParams.get("token");if(!o)throw new Go("No token returned by API");return{data:{signedUrl:s.toString(),path:e,token:o},error:null}}catch(i){if(je(i))return{data:null,error:i};throw i}})}update(e,i,n){return Je(this,void 0,void 0,function*(){return this.uploadOrUpdate("PUT",e,i,n)})}move(e,i){return Je(this,void 0,void 0,function*(){try{return{data:yield zt(this.fetch,`${this.url}/object/move`,{bucketId:this.bucketId,sourceKey:e,destinationKey:i},{headers:this.headers}),error:null}}catch(n){if(je(n))return{data:null,error:n};throw n}})}copy(e,i){return Je(this,void 0,void 0,function*(){try{return{data:{path:(yield zt(this.fetch,`${this.url}/object/copy`,{bucketId:this.bucketId,sourceKey:e,destinationKey:i},{headers:this.headers})).Key},error:null}}catch(n){if(je(n))return{data:null,error:n};throw n}})}createSignedUrl(e,i,n){return Je(this,void 0,void 0,function*(){try{let s=this._getFinalPath(e),o=yield zt(this.fetch,`${this.url}/object/sign/${s}`,Object.assign({expiresIn:i},n!=null&&n.transform?{transform:n.transform}:{}),{headers:this.headers});const r=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return o={signedUrl:encodeURI(`${this.url}${o.signedURL}${r}`)},{data:o,error:null}}catch(s){if(je(s))return{data:null,error:s};throw s}})}createSignedUrls(e,i,n){return Je(this,void 0,void 0,function*(){try{const s=yield zt(this.fetch,`${this.url}/object/sign/${this.bucketId}`,{expiresIn:i,paths:e},{headers:this.headers}),o=n!=null&&n.download?`&download=${n.download===!0?"":n.download}`:"";return{data:s.map(r=>Object.assign(Object.assign({},r),{signedUrl:r.signedURL?encodeURI(`${this.url}${r.signedURL}${o}`):null})),error:null}}catch(s){if(je(s))return{data:null,error:s};throw s}})}download(e,i){return Je(this,void 0,void 0,function*(){const s=typeof(i==null?void 0:i.transform)<"u"?"render/image/authenticated":"object",o=this.transformOptsToQueryString((i==null?void 0:i.transform)||{}),r=o?`?${o}`:"";try{const a=this._getFinalPath(e);return{data:yield(yield po(this.fetch,`${this.url}/${s}/${a}${r}`,{headers:this.headers,noResolveJson:!0})).blob(),error:null}}catch(a){if(je(a))return{data:null,error:a};throw a}})}getPublicUrl(e,i){const n=this._getFinalPath(e),s=[],o=i!=null&&i.download?`download=${i.download===!0?"":i.download}`:"";o!==""&&s.push(o);const a=typeof(i==null?void 0:i.transform)<"u"?"render/image":"object",u=this.transformOptsToQueryString((i==null?void 0:i.transform)||{});u!==""&&s.push(u);let c=s.join("&");return c!==""&&(c=`?${c}`),{data:{publicUrl:encodeURI(`${this.url}/${a}/public/${n}${c}`)}}}remove(e){return Je(this,void 0,void 0,function*(){try{return{data:yield hc(this.fetch,`${this.url}/object/${this.bucketId}`,{prefixes:e},{headers:this.headers}),error:null}}catch(i){if(je(i))return{data:null,error:i};throw i}})}list(e,i,n){return Je(this,void 0,void 0,function*(){try{const s=Object.assign(Object.assign(Object.assign({},cg),i),{prefix:e||""});return{data:yield zt(this.fetch,`${this.url}/object/list/${this.bucketId}`,s,{headers:this.headers},n),error:null}}catch(s){if(je(s))return{data:null,error:s};throw s}})}_getFinalPath(e){return`${this.bucketId}/${e}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(e){const i=[];return e.width&&i.push(`width=${e.width}`),e.height&&i.push(`height=${e.height}`),e.resize&&i.push(`resize=${e.resize}`),e.format&&i.push(`format=${e.format}`),e.quality&&i.push(`quality=${e.quality}`),i.join("&")}}const dg="2.5.5",mg={"X-Client-Info":`storage-js/${dg}`};var oi=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};class hg{constructor(e,i={},n){this.url=e,this.headers=Object.assign(Object.assign({},mg),i),this.fetch=mc(n)}listBuckets(){return oi(this,void 0,void 0,function*(){try{return{data:yield po(this.fetch,`${this.url}/bucket`,{headers:this.headers}),error:null}}catch(e){if(je(e))return{data:null,error:e};throw e}})}getBucket(e){return oi(this,void 0,void 0,function*(){try{return{data:yield po(this.fetch,`${this.url}/bucket/${e}`,{headers:this.headers}),error:null}}catch(i){if(je(i))return{data:null,error:i};throw i}})}createBucket(e,i={public:!1}){return oi(this,void 0,void 0,function*(){try{return{data:yield zt(this.fetch,`${this.url}/bucket`,{id:e,name:e,public:i.public,file_size_limit:i.fileSizeLimit,allowed_mime_types:i.allowedMimeTypes},{headers:this.headers}),error:null}}catch(n){if(je(n))return{data:null,error:n};throw n}})}updateBucket(e,i){return oi(this,void 0,void 0,function*(){try{return{data:yield ug(this.fetch,`${this.url}/bucket/${e}`,{id:e,name:e,public:i.public,file_size_limit:i.fileSizeLimit,allowed_mime_types:i.allowedMimeTypes},{headers:this.headers}),error:null}}catch(n){if(je(n))return{data:null,error:n};throw n}})}emptyBucket(e){return oi(this,void 0,void 0,function*(){try{return{data:yield zt(this.fetch,`${this.url}/bucket/${e}/empty`,{},{headers:this.headers}),error:null}}catch(i){if(je(i))return{data:null,error:i};throw i}})}deleteBucket(e){return oi(this,void 0,void 0,function*(){try{return{data:yield hc(this.fetch,`${this.url}/bucket/${e}`,{},{headers:this.headers}),error:null}}catch(i){if(je(i))return{data:null,error:i};throw i}})}}class bg extends hg{constructor(e,i={},n){super(e,i,n)}from(e){return new lg(this.url,this.headers,e,this.fetch)}}const pg="2.39.2";let Ui="";typeof Deno<"u"?Ui="deno":typeof document<"u"?Ui="web":typeof navigator<"u"&&navigator.product==="ReactNative"?Ui="react-native":Ui="node";const fg={"X-Client-Info":`supabase-js-${Ui}/${pg}`};var gg=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};const yg=t=>{let e;return t?e=t:typeof fetch>"u"?e=Ho:e=fetch,(...i)=>e(...i)},vg=()=>typeof Headers>"u"?uc:Headers,wg=(t,e,i)=>{const n=yg(i),s=vg();return(o,r)=>gg(void 0,void 0,void 0,function*(){var a;const u=(a=yield e())!==null&&a!==void 0?a:t;let c=new s(r==null?void 0:r.headers);return c.has("apikey")||c.set("apikey",t),c.has("Authorization")||c.set("Authorization",`Bearer ${u}`),n(o,Object.assign(Object.assign({},r),{headers:c}))})};function xg(t){return t.replace(/\/$/,"")}function _g(t,e){const{db:i,auth:n,realtime:s,global:o}=t,{db:r,auth:a,realtime:u,global:c}=e;return{db:Object.assign(Object.assign({},r),i),auth:Object.assign(Object.assign({},a),n),realtime:Object.assign(Object.assign({},u),s),global:Object.assign(Object.assign({},c),o)}}function kg(t){return Math.round(Date.now()/1e3)+t}function Ag(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){const e=Math.random()*16|0;return(t=="x"?e:e&3|8).toString(16)})}const Xe=()=>typeof document<"u",Ft={tested:!1,writable:!1},Zi=()=>{if(!Xe())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(Ft.tested)return Ft.writable;const t=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(t,t),globalThis.localStorage.removeItem(t),Ft.tested=!0,Ft.writable=!0}catch{Ft.tested=!0,Ft.writable=!1}return Ft.writable};function Ms(t){const e={},i=new URL(t);if(i.hash&&i.hash[0]==="#")try{new URLSearchParams(i.hash.substring(1)).forEach((s,o)=>{e[o]=s})}catch{}return i.searchParams.forEach((n,s)=>{e[s]=n}),e}const bc=t=>{let e;return t?e=t:typeof fetch>"u"?e=(...i)=>Ci(()=>Promise.resolve().then(()=>dn),void 0).then(({default:n})=>n(...i)):e=fetch,(...i)=>e(...i)},Sg=t=>typeof t=="object"&&t!==null&&"status"in t&&"ok"in t&&"json"in t&&typeof t.json=="function",Ut=async(t,e,i)=>{await t.setItem(e,JSON.stringify(i))},An=async(t,e)=>{const i=await t.getItem(e);if(!i)return null;try{return JSON.parse(i)}catch{return i}},Ds=async(t,e)=>{await t.removeItem(e)};function Cg(t){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let i="",n,s,o,r,a,u,c,l=0;for(t=t.replace("-","+").replace("_","/");l>4,s=(a&15)<<4|u>>2,o=(u&3)<<6|c,i=i+String.fromCharCode(n),u!=64&&s!=0&&(i=i+String.fromCharCode(s)),c!=64&&o!=0&&(i=i+String.fromCharCode(o));return i}class ms{constructor(){this.promise=new ms.promiseConstructor((e,i)=>{this.resolve=e,this.reject=i})}}ms.promiseConstructor=Promise;function xa(t){const e=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}=?$|[a-z0-9_-]{2}(==)?$)$/i,i=t.split(".");if(i.length!==3)throw new Error("JWT is not valid: not a JWT structure");if(!e.test(i[1]))throw new Error("JWT is not valid: payload is not in base64url format");const n=i[1];return JSON.parse(Cg(n))}async function jg(t){return await new Promise(e=>{setTimeout(()=>e(null),t)})}function Eg(t,e){return new Promise((n,s)=>{(async()=>{for(let o=0;o<1/0;o++)try{const r=await t(o);if(!e(o,null,r)){n(r);return}}catch(r){if(!e(o,r)){s(r);return}}})()})}function Tg(t){return("0"+t.toString(16)).substr(-2)}function ri(){const e=new Uint32Array(56);if(typeof crypto>"u"){const i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",n=i.length;let s="";for(let o=0;o<56;o++)s+=i.charAt(Math.floor(Math.random()*n));return s}return crypto.getRandomValues(e),Array.from(e,Tg).join("")}async function zg(t){const i=new TextEncoder().encode(t),n=await crypto.subtle.digest("SHA-256",i),s=new Uint8Array(n);return Array.from(s).map(o=>String.fromCharCode(o)).join("")}function Og(t){return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function ai(t){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),t;const i=await zg(t);return Og(i)}class Ko extends Error{constructor(e,i){super(e),this.__isAuthError=!0,this.name="AuthError",this.status=i}}function Y(t){return typeof t=="object"&&t!==null&&"__isAuthError"in t}class Rg extends Ko{constructor(e,i){super(e,i),this.name="AuthApiError",this.status=i}toJSON(){return{name:this.name,message:this.message,status:this.status}}}function Pg(t){return Y(t)&&t.name==="AuthApiError"}class pc extends Ko{constructor(e,i){super(e),this.name="AuthUnknownError",this.originalError=i}}class ti extends Ko{constructor(e,i,n){super(e),this.name=i,this.status=n}toJSON(){return{name:this.name,message:this.message,status:this.status}}}class ui extends ti{constructor(){super("Auth session missing!","AuthSessionMissingError",400)}}class Ns extends ti{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500)}}class Sn extends ti{constructor(e){super(e,"AuthInvalidCredentialsError",400)}}class Cn extends ti{constructor(e,i=null){super(e,"AuthImplicitGrantRedirectError",500),this.details=null,this.details=i}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class _a extends ti{constructor(e,i=null){super(e,"AuthPKCEGrantCodeExchangeError",500),this.details=null,this.details=i}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}class fo extends ti{constructor(e,i){super(e,"AuthRetryableFetchError",i)}}function Fs(t){return Y(t)&&t.name==="AuthRetryableFetchError"}class $g extends ti{constructor(e,i,n){super(e,"AuthWeakPasswordError",i),this.reasons=n}}var Lg=globalThis&&globalThis.__rest||function(t,e){var i={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(i[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(t);st.msg||t.message||t.error_description||t.error||JSON.stringify(t),Bg=[502,503,504];async function ka(t){if(!Sg(t))throw new fo(hi(t),0);if(Bg.includes(t.status))throw new fo(hi(t),t.status);let e;try{e=await t.json()}catch(i){throw new pc(hi(i),i)}throw typeof e=="object"&&e&&typeof e.weak_password=="object"&&e.weak_password&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.reasons.reduce((i,n)=>i&&typeof n=="string",!0)?new $g(hi(e),t.status,e.weak_password.reasons):new Rg(hi(e),t.status||500)}const Ig=(t,e,i,n)=>{const s={method:t,headers:(e==null?void 0:e.headers)||{}};return t==="GET"?s:(s.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},e==null?void 0:e.headers),s.body=JSON.stringify(n),Object.assign(Object.assign({},s),i))};async function Z(t,e,i,n){var s;const o=Object.assign({},n==null?void 0:n.headers);n!=null&&n.jwt&&(o.Authorization=`Bearer ${n.jwt}`);const r=(s=n==null?void 0:n.query)!==null&&s!==void 0?s:{};n!=null&&n.redirectTo&&(r.redirect_to=n.redirectTo);const a=Object.keys(r).length?"?"+new URLSearchParams(r).toString():"",u=await qg(t,e,i+a,{headers:o,noResolveJson:n==null?void 0:n.noResolveJson},{},n==null?void 0:n.body);return n!=null&&n.xform?n==null?void 0:n.xform(u):{data:Object.assign({},u),error:null}}async function qg(t,e,i,n,s,o){const r=Ig(e,n,s,o);let a;try{a=await t(i,r)}catch(u){throw console.error(u),new fo(hi(u),0)}if(a.ok||await ka(a),n!=null&&n.noResolveJson)return a;try{return await a.json()}catch(u){await ka(u)}}function Ht(t){var e;let i=null;Fg(t)&&(i=Object.assign({},t),t.expires_at||(i.expires_at=kg(t.expires_in)));const n=(e=t.user)!==null&&e!==void 0?e:t;return{data:{session:i,user:n},error:null}}function Aa(t){const e=Ht(t);return!e.error&&t.weak_password&&typeof t.weak_password=="object"&&Array.isArray(t.weak_password.reasons)&&t.weak_password.reasons.length&&t.weak_password.message&&typeof t.weak_password.message=="string"&&t.weak_password.reasons.reduce((i,n)=>i&&typeof n=="string",!0)&&(e.data.weak_password=t.weak_password),e}function Ot(t){var e;return{data:{user:(e=t.user)!==null&&e!==void 0?e:t},error:null}}function Mg(t){return{data:t,error:null}}function Dg(t){const{action_link:e,email_otp:i,hashed_token:n,redirect_to:s,verification_type:o}=t,r=Lg(t,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),a={action_link:e,email_otp:i,hashed_token:n,redirect_to:s,verification_type:o},u=Object.assign({},r);return{data:{properties:a,user:u},error:null}}function Ng(t){return t}function Fg(t){return t.access_token&&t.refresh_token&&t.expires_in}var Ug=globalThis&&globalThis.__rest||function(t,e){var i={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(i[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,n=Object.getOwnPropertySymbols(t);s0&&(p.forEach(y=>{const g=parseInt(y.split(";")[0].split("=")[1].substring(0,1)),v=JSON.parse(y.split(";")[1].split("=")[1]);c[`${v}Page`]=g}),c.total=parseInt(h)),{data:Object.assign(Object.assign({},d),c),error:null}}catch(c){if(Y(c))return{data:{users:[]},error:c};throw c}}async getUserById(e){try{return await Z(this.fetch,"GET",`${this.url}/admin/users/${e}`,{headers:this.headers,xform:Ot})}catch(i){if(Y(i))return{data:{user:null},error:i};throw i}}async updateUserById(e,i){try{return await Z(this.fetch,"PUT",`${this.url}/admin/users/${e}`,{body:i,headers:this.headers,xform:Ot})}catch(n){if(Y(n))return{data:{user:null},error:n};throw n}}async deleteUser(e,i=!1){try{return await Z(this.fetch,"DELETE",`${this.url}/admin/users/${e}`,{headers:this.headers,body:{should_soft_delete:i},xform:Ot})}catch(n){if(Y(n))return{data:{user:null},error:n};throw n}}async _listFactors(e){try{const{data:i,error:n}=await Z(this.fetch,"GET",`${this.url}/admin/users/${e.userId}/factors`,{headers:this.headers,xform:s=>({data:{factors:s},error:null})});return{data:i,error:n}}catch(i){if(Y(i))return{data:null,error:i};throw i}}async _deleteFactor(e){try{return{data:await Z(this.fetch,"DELETE",`${this.url}/admin/users/${e.userId}/factors/${e.id}`,{headers:this.headers}),error:null}}catch(i){if(Y(i))return{data:null,error:i};throw i}}}const fc="2.62.0",Vg="http://localhost:9999",Jg="supabase.auth.token",Gg={"X-Client-Info":`gotrue-js/${fc}`},Sa=10,Kg={getItem:t=>Zi()?globalThis.localStorage.getItem(t):null,setItem:(t,e)=>{Zi()&&globalThis.localStorage.setItem(t,e)},removeItem:t=>{Zi()&&globalThis.localStorage.removeItem(t)}};function Ca(t={}){return{getItem:e=>t[e]||null,setItem:(e,i)=>{t[e]=i},removeItem:e=>{delete t[e]}}}function Wg(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}const ci={debug:!!(globalThis&&Zi()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class gc extends Error{constructor(e){super(e),this.isAcquireTimeout=!0}}class Yg extends gc{}async function Zg(t,e,i){ci.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",t,e);const n=new globalThis.AbortController;return e>0&&setTimeout(()=>{n.abort(),ci.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",t)},e),await globalThis.navigator.locks.request(t,e===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:n.signal},async s=>{if(s){ci.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",t,s.name);try{return await i()}finally{ci.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",t,s.name)}}else{if(e===0)throw ci.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",t),new Yg(`Acquiring an exclusive Navigator LockManager lock "${t}" immediately failed`);if(ci.debug)try{const o=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(o,null," "))}catch(o){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",o)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),await i()}})}Wg();const Qg={url:Vg,storageKey:Jg,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:Gg,flowType:"implicit",debug:!1},Ni=30*1e3,ja=3;async function Ea(t,e,i){return await i()}class an{constructor(e){var i,n;this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log,this.instanceID=an.nextInstanceID,an.nextInstanceID+=1,this.instanceID>0&&Xe()&&console.warn("Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.");const s=Object.assign(Object.assign({},Qg),e);if(this.logDebugMessages=!!s.debug,typeof s.debug=="function"&&(this.logger=s.debug),this.persistSession=s.persistSession,this.storageKey=s.storageKey,this.autoRefreshToken=s.autoRefreshToken,this.admin=new Hg({url:s.url,headers:s.headers,fetch:s.fetch}),this.url=s.url,this.headers=s.headers,this.fetch=bc(s.fetch),this.lock=s.lock||Ea,this.detectSessionInUrl=s.detectSessionInUrl,this.flowType=s.flowType,s.lock?this.lock=s.lock:Xe()&&(!((i=globalThis==null?void 0:globalThis.navigator)===null||i===void 0)&&i.locks)?this.lock=Zg:this.lock=Ea,this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this)},this.persistSession?s.storage?this.storage=s.storage:Zi()?this.storage=Kg:(this.memoryStorage={},this.storage=Ca(this.memoryStorage)):(this.memoryStorage={},this.storage=Ca(this.memoryStorage)),Xe()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(o){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",o)}(n=this.broadcastChannel)===null||n===void 0||n.addEventListener("message",async o=>{this._debug("received broadcast notification from other tab or client",o),await this._notifyAllSubscribers(o.data.event,o.data.session,!1)})}this.initialize()}_debug(...e){return this.logDebugMessages&&this.logger(`GoTrueClient@${this.instanceID} (${fc}) ${new Date().toISOString()}`,...e),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>await this._acquireLock(-1,async()=>await this._initialize()))(),await this.initializePromise)}async _initialize(){try{const e=Xe()?await this._isPKCEFlow():!1;if(this._debug("#_initialize()","begin","is PKCE flow",e),e||this.detectSessionInUrl&&this._isImplicitGrantFlow()){const{data:i,error:n}=await this._getSessionFromURL(e);if(n)return this._debug("#_initialize()","error detecting session from URL",n),(n==null?void 0:n.message)==="Identity is already linked"||(n==null?void 0:n.message)==="Identity is already linked to another user"?{error:n}:(await this._removeSession(),{error:n});const{session:s,redirectType:o}=i;return this._debug("#_initialize()","detected session in URL",s,"redirect type",o),await this._saveSession(s),setTimeout(async()=>{o==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",s):await this._notifyAllSubscribers("SIGNED_IN",s)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(e){return Y(e)?{error:e}:{error:new pc("Unexpected error during initialization",e)}}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signUp(e){var i,n,s;try{await this._removeSession();let o;if("email"in e){const{email:l,password:d,options:h}=e;let p=null,y=null;if(this.flowType==="pkce"){const g=ri();await Ut(this.storage,`${this.storageKey}-code-verifier`,g),p=await ai(g),y=g===p?"plain":"s256"}o=await Z(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:h==null?void 0:h.emailRedirectTo,body:{email:l,password:d,data:(i=h==null?void 0:h.data)!==null&&i!==void 0?i:{},gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken},code_challenge:p,code_challenge_method:y},xform:Ht})}else if("phone"in e){const{phone:l,password:d,options:h}=e;o=await Z(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:l,password:d,data:(n=h==null?void 0:h.data)!==null&&n!==void 0?n:{},channel:(s=h==null?void 0:h.channel)!==null&&s!==void 0?s:"sms",gotrue_meta_security:{captcha_token:h==null?void 0:h.captchaToken}},xform:Ht})}else throw new Sn("You must provide either an email or phone number and a password");const{data:r,error:a}=o;if(a||!r)return{data:{user:null,session:null},error:a};const u=r.session,c=r.user;return r.session&&(await this._saveSession(r.session),await this._notifyAllSubscribers("SIGNED_IN",u)),{data:{user:c,session:u},error:null}}catch(o){if(Y(o))return{data:{user:null,session:null},error:o};throw o}}async signInWithPassword(e){try{await this._removeSession();let i;if("email"in e){const{email:o,password:r,options:a}=e;i=await Z(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:o,password:r,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},xform:Aa})}else if("phone"in e){const{phone:o,password:r,options:a}=e;i=await Z(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:o,password:r,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},xform:Aa})}else throw new Sn("You must provide either an email or phone number and a password");const{data:n,error:s}=i;return s?{data:{user:null,session:null},error:s}:!n||!n.session||!n.user?{data:{user:null,session:null},error:new Ns}:(n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers("SIGNED_IN",n.session)),{data:Object.assign({user:n.user,session:n.session},n.weak_password?{weakPassword:n.weak_password}:null),error:s})}catch(i){if(Y(i))return{data:{user:null,session:null},error:i};throw i}}async signInWithOAuth(e){var i,n,s,o;return await this._removeSession(),await this._handleProviderSignIn(e.provider,{redirectTo:(i=e.options)===null||i===void 0?void 0:i.redirectTo,scopes:(n=e.options)===null||n===void 0?void 0:n.scopes,queryParams:(s=e.options)===null||s===void 0?void 0:s.queryParams,skipBrowserRedirect:(o=e.options)===null||o===void 0?void 0:o.skipBrowserRedirect})}async exchangeCodeForSession(e){return await this.initializePromise,this._acquireLock(-1,async()=>this._exchangeCodeForSession(e))}async _exchangeCodeForSession(e){const i=await An(this.storage,`${this.storageKey}-code-verifier`),[n,s]=(i??"").split("/"),{data:o,error:r}=await Z(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:e,code_verifier:n},xform:Ht});return await Ds(this.storage,`${this.storageKey}-code-verifier`),r?{data:{user:null,session:null,redirectType:null},error:r}:!o||!o.session||!o.user?{data:{user:null,session:null,redirectType:null},error:new Ns}:(o.session&&(await this._saveSession(o.session),await this._notifyAllSubscribers("SIGNED_IN",o.session)),{data:Object.assign(Object.assign({},o),{redirectType:s??null}),error:r})}async signInWithIdToken(e){await this._removeSession();try{const{options:i,provider:n,token:s,access_token:o,nonce:r}=e,a=await Z(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:n,id_token:s,access_token:o,nonce:r,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}},xform:Ht}),{data:u,error:c}=a;return c?{data:{user:null,session:null},error:c}:!u||!u.session||!u.user?{data:{user:null,session:null},error:new Ns}:(u.session&&(await this._saveSession(u.session),await this._notifyAllSubscribers("SIGNED_IN",u.session)),{data:u,error:c})}catch(i){if(Y(i))return{data:{user:null,session:null},error:i};throw i}}async signInWithOtp(e){var i,n,s,o,r;try{if(await this._removeSession(),"email"in e){const{email:a,options:u}=e;let c=null,l=null;if(this.flowType==="pkce"){const h=ri();await Ut(this.storage,`${this.storageKey}-code-verifier`,h),c=await ai(h),l=h===c?"plain":"s256"}const{error:d}=await Z(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:a,data:(i=u==null?void 0:u.data)!==null&&i!==void 0?i:{},create_user:(n=u==null?void 0:u.shouldCreateUser)!==null&&n!==void 0?n:!0,gotrue_meta_security:{captcha_token:u==null?void 0:u.captchaToken},code_challenge:c,code_challenge_method:l},redirectTo:u==null?void 0:u.emailRedirectTo});return{data:{user:null,session:null},error:d}}if("phone"in e){const{phone:a,options:u}=e,{data:c,error:l}=await Z(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:a,data:(s=u==null?void 0:u.data)!==null&&s!==void 0?s:{},create_user:(o=u==null?void 0:u.shouldCreateUser)!==null&&o!==void 0?o:!0,gotrue_meta_security:{captcha_token:u==null?void 0:u.captchaToken},channel:(r=u==null?void 0:u.channel)!==null&&r!==void 0?r:"sms"}});return{data:{user:null,session:null,messageId:c==null?void 0:c.message_id},error:l}}throw new Sn("You must provide either an email or phone number.")}catch(a){if(Y(a))return{data:{user:null,session:null},error:a};throw a}}async verifyOtp(e){var i,n;try{e.type!=="email_change"&&e.type!=="phone_change"&&await this._removeSession();let s,o;"options"in e&&(s=(i=e.options)===null||i===void 0?void 0:i.redirectTo,o=(n=e.options)===null||n===void 0?void 0:n.captchaToken);const{data:r,error:a}=await Z(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},e),{gotrue_meta_security:{captcha_token:o}}),redirectTo:s,xform:Ht});if(a)throw a;if(!r)throw new Error("An error occurred on token verification.");const u=r.session,c=r.user;return u!=null&&u.access_token&&(await this._saveSession(u),await this._notifyAllSubscribers("SIGNED_IN",u)),{data:{user:c,session:u},error:null}}catch(s){if(Y(s))return{data:{user:null,session:null},error:s};throw s}}async signInWithSSO(e){var i,n,s;try{await this._removeSession();let o=null,r=null;if(this.flowType==="pkce"){const a=ri();await Ut(this.storage,`${this.storageKey}-code-verifier`,a),o=await ai(a),r=a===o?"plain":"s256"}return await Z(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in e?{provider_id:e.providerId}:null),"domain"in e?{domain:e.domain}:null),{redirect_to:(n=(i=e.options)===null||i===void 0?void 0:i.redirectTo)!==null&&n!==void 0?n:void 0}),!((s=e==null?void 0:e.options)===null||s===void 0)&&s.captchaToken?{gotrue_meta_security:{captcha_token:e.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:o,code_challenge_method:r}),headers:this.headers,xform:Mg})}catch(o){if(Y(o))return{data:null,error:o};throw o}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async e=>{const{data:{session:i},error:n}=e;if(n)throw n;if(!i)throw new ui;const{error:s}=await Z(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:i.access_token});return{data:{user:null,session:null},error:s}})}catch(e){if(Y(e))return{data:{user:null,session:null},error:e};throw e}}async resend(e){try{e.type!="email_change"&&e.type!="phone_change"&&await this._removeSession();const i=`${this.url}/resend`;if("email"in e){const{email:n,type:s,options:o}=e,{error:r}=await Z(this.fetch,"POST",i,{headers:this.headers,body:{email:n,type:s,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},redirectTo:o==null?void 0:o.emailRedirectTo});return{data:{user:null,session:null},error:r}}else if("phone"in e){const{phone:n,type:s,options:o}=e,{data:r,error:a}=await Z(this.fetch,"POST",i,{headers:this.headers,body:{phone:n,type:s,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}}});return{data:{user:null,session:null,messageId:r==null?void 0:r.message_id},error:a}}throw new Sn("You must provide either an email or phone number and a type")}catch(i){if(Y(i))return{data:{user:null,session:null},error:i};throw i}}async getSession(){return await this.initializePromise,this._acquireLock(-1,async()=>this._useSession(async e=>e))}async _acquireLock(e,i){this._debug("#_acquireLock","begin",e);try{if(this.lockAcquired){const n=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),s=(async()=>(await n,await i()))();return this.pendingInLock.push((async()=>{try{await s}catch{}})()),s}return await this.lock(`lock:${this.storageKey}`,e,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const n=i();for(this.pendingInLock.push((async()=>{try{await n}catch{}})()),await n;this.pendingInLock.length;){const s=[...this.pendingInLock];await Promise.all(s),this.pendingInLock.splice(0,s.length)}return await n}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(e){this._debug("#_useSession","begin");try{const i=await this.__loadSession();return await e(i)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let e=null;const i=await An(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",i),i!==null&&(this._isValidSession(i)?e=i:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!e)return{data:{session:null},error:null};const n=e.expires_at?e.expires_at<=Date.now()/1e3:!1;if(this._debug("#__loadSession()",`session has${n?"":" not"} expired`,"expires_at",e.expires_at),!n)return{data:{session:e},error:null};const{session:s,error:o}=await this._callRefreshToken(e.refresh_token);return o?{data:{session:null},error:o}:{data:{session:s},error:null}}finally{this._debug("#__loadSession()","end")}}async getUser(e){return e?await this._getUser(e):(await this.initializePromise,this._acquireLock(-1,async()=>await this._getUser()))}async _getUser(e){try{return e?await Z(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:e,xform:Ot}):await this._useSession(async i=>{var n,s;const{data:o,error:r}=i;if(r)throw r;return await Z(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(s=(n=o.session)===null||n===void 0?void 0:n.access_token)!==null&&s!==void 0?s:void 0,xform:Ot})})}catch(i){if(Y(i))return{data:{user:null},error:i};throw i}}async updateUser(e,i={}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._updateUser(e,i))}async _updateUser(e,i={}){try{return await this._useSession(async n=>{const{data:s,error:o}=n;if(o)throw o;if(!s.session)throw new ui;const r=s.session;let a=null,u=null;if(this.flowType==="pkce"&&e.email!=null){const d=ri();await Ut(this.storage,`${this.storageKey}-code-verifier`,d),a=await ai(d),u=d===a?"plain":"s256"}const{data:c,error:l}=await Z(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:i==null?void 0:i.emailRedirectTo,body:Object.assign(Object.assign({},e),{code_challenge:a,code_challenge_method:u}),jwt:r.access_token,xform:Ot});if(l)throw l;return r.user=c.user,await this._saveSession(r),await this._notifyAllSubscribers("USER_UPDATED",r),{data:{user:r.user},error:null}})}catch(n){if(Y(n))return{data:{user:null},error:n};throw n}}_decodeJWT(e){return xa(e)}async setSession(e){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._setSession(e))}async _setSession(e){try{if(!e.access_token||!e.refresh_token)throw new ui;const i=Date.now()/1e3;let n=i,s=!0,o=null;const r=xa(e.access_token);if(r.exp&&(n=r.exp,s=n<=i),s){const{session:a,error:u}=await this._callRefreshToken(e.refresh_token);if(u)return{data:{user:null,session:null},error:u};if(!a)return{data:{user:null,session:null},error:null};o=a}else{const{data:a,error:u}=await this._getUser(e.access_token);if(u)throw u;o={access_token:e.access_token,refresh_token:e.refresh_token,user:a.user,token_type:"bearer",expires_in:n-i,expires_at:n},await this._saveSession(o),await this._notifyAllSubscribers("SIGNED_IN",o)}return{data:{user:o.user,session:o},error:null}}catch(i){if(Y(i))return{data:{session:null,user:null},error:i};throw i}}async refreshSession(e){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._refreshSession(e))}async _refreshSession(e){try{return await this._useSession(async i=>{var n;if(!e){const{data:r,error:a}=i;if(a)throw a;e=(n=r.session)!==null&&n!==void 0?n:void 0}if(!(e!=null&&e.refresh_token))throw new ui;const{session:s,error:o}=await this._callRefreshToken(e.refresh_token);return o?{data:{user:null,session:null},error:o}:s?{data:{user:s.user,session:s},error:null}:{data:{user:null,session:null},error:null}})}catch(i){if(Y(i))return{data:{user:null,session:null},error:i};throw i}}async _getSessionFromURL(e){try{if(!Xe())throw new Cn("No browser detected.");if(this.flowType==="implicit"&&!this._isImplicitGrantFlow())throw new Cn("Not a valid implicit grant flow url.");if(this.flowType=="pkce"&&!e)throw new _a("Not a valid PKCE flow url.");const i=Ms(window.location.href);if(e){if(!i.code)throw new _a("No code detected.");const{data:O,error:L}=await this._exchangeCodeForSession(i.code);if(L)throw L;const R=new URL(window.location.href);return R.searchParams.delete("code"),window.history.replaceState(window.history.state,"",R.toString()),{data:{session:O.session,redirectType:null},error:null}}if(i.error||i.error_description||i.error_code)throw new Cn(i.error_description||"Error in URL with unspecified error_description",{error:i.error||"unspecified_error",code:i.error_code||"unspecified_code"});const{provider_token:n,provider_refresh_token:s,access_token:o,refresh_token:r,expires_in:a,expires_at:u,token_type:c}=i;if(!o||!a||!r||!c)throw new Cn("No session defined in URL");const l=Math.round(Date.now()/1e3),d=parseInt(a);let h=l+d;u&&(h=parseInt(u));const p=h-l;p*1e3<=Ni&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${p}s, should have been closer to ${d}s`);const y=h-d;l-y>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",y,h,l):l-y<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clok for skew",y,h,l);const{data:g,error:v}=await this._getUser(o);if(v)throw v;const A={provider_token:n,provider_refresh_token:s,access_token:o,expires_in:d,expires_at:h,refresh_token:r,token_type:c,user:g.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),{data:{session:A,redirectType:i.type},error:null}}catch(i){if(Y(i))return{data:{session:null,redirectType:null},error:i};throw i}}_isImplicitGrantFlow(){const e=Ms(window.location.href);return!!(Xe()&&(e.access_token||e.error_description))}async _isPKCEFlow(){const e=Ms(window.location.href),i=await An(this.storage,`${this.storageKey}-code-verifier`);return!!(e.code&&i)}async signOut(e={scope:"global"}){return await this.initializePromise,await this._acquireLock(-1,async()=>await this._signOut(e))}async _signOut({scope:e}={scope:"global"}){return await this._useSession(async i=>{var n;const{data:s,error:o}=i;if(o)return{error:o};const r=(n=s.session)===null||n===void 0?void 0:n.access_token;if(r){const{error:a}=await this.admin.signOut(r,e);if(a&&!(Pg(a)&&(a.status===404||a.status===401)))return{error:a}}return e!=="others"&&(await this._removeSession(),await Ds(this.storage,`${this.storageKey}-code-verifier`),await this._notifyAllSubscribers("SIGNED_OUT",null)),{error:null}})}onAuthStateChange(e){const i=Ag(),n={id:i,callback:e,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",i),this.stateChangeEmitters.delete(i)}};return this._debug("#onAuthStateChange()","registered callback with id",i),this.stateChangeEmitters.set(i,n),(async()=>(await this.initializePromise,await this._acquireLock(-1,async()=>{this._emitInitialSession(i)})))(),{data:{subscription:n}}}async _emitInitialSession(e){return await this._useSession(async i=>{var n,s;try{const{data:{session:o},error:r}=i;if(r)throw r;await((n=this.stateChangeEmitters.get(e))===null||n===void 0?void 0:n.callback("INITIAL_SESSION",o)),this._debug("INITIAL_SESSION","callback id",e,"session",o)}catch(o){await((s=this.stateChangeEmitters.get(e))===null||s===void 0?void 0:s.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",e,"error",o),console.error(o)}})}async resetPasswordForEmail(e,i={}){let n=null,s=null;if(this.flowType==="pkce"){const o=ri();await Ut(this.storage,`${this.storageKey}-code-verifier`,`${o}/PASSWORD_RECOVERY`),n=await ai(o),s=o===n?"plain":"s256"}try{return await Z(this.fetch,"POST",`${this.url}/recover`,{body:{email:e,code_challenge:n,code_challenge_method:s,gotrue_meta_security:{captcha_token:i.captchaToken}},headers:this.headers,redirectTo:i.redirectTo})}catch(o){if(Y(o))return{data:null,error:o};throw o}}async getUserIdentities(){var e;try{const{data:i,error:n}=await this.getUser();if(n)throw n;return{data:{identities:(e=i.user.identities)!==null&&e!==void 0?e:[]},error:null}}catch(i){if(Y(i))return{data:null,error:i};throw i}}async linkIdentity(e){var i;try{const{data:n,error:s}=await this._useSession(async o=>{var r,a,u,c,l;const{data:d,error:h}=o;if(h)throw h;const p=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,e.provider,{redirectTo:(r=e.options)===null||r===void 0?void 0:r.redirectTo,scopes:(a=e.options)===null||a===void 0?void 0:a.scopes,queryParams:(u=e.options)===null||u===void 0?void 0:u.queryParams,skipBrowserRedirect:!0});return await Z(this.fetch,"GET",p,{headers:this.headers,jwt:(l=(c=d.session)===null||c===void 0?void 0:c.access_token)!==null&&l!==void 0?l:void 0})});if(s)throw s;return Xe()&&!(!((i=e.options)===null||i===void 0)&&i.skipBrowserRedirect)&&window.location.assign(n==null?void 0:n.url),{data:{provider:e.provider,url:n==null?void 0:n.url},error:null}}catch(n){if(Y(n))return{data:{provider:e.provider,url:null},error:n};throw n}}async unlinkIdentity(e){try{return await this._useSession(async i=>{var n,s;const{data:o,error:r}=i;if(r)throw r;return await Z(this.fetch,"DELETE",`${this.url}/user/identities/${e.identity_id}`,{headers:this.headers,jwt:(s=(n=o.session)===null||n===void 0?void 0:n.access_token)!==null&&s!==void 0?s:void 0})})}catch(i){if(Y(i))return{data:null,error:i};throw i}}async _refreshAccessToken(e){const i=`#_refreshAccessToken(${e.substring(0,5)}...)`;this._debug(i,"begin");try{const n=Date.now();return await Eg(async s=>(await jg(s*200),this._debug(i,"refreshing attempt",s),await Z(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:e},headers:this.headers,xform:Ht})),(s,o,r)=>r&&r.error&&Fs(r.error)&&Date.now()+(s+1)*200-n{try{await a.callback(e,i)}catch(u){o.push(u)}});if(await Promise.all(r),o.length>0){for(let a=0;athis._autoRefreshTokenTick(),Ni);this.autoRefreshTicker=e,e&&typeof e=="object"&&typeof e.unref=="function"?e.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(e),setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const e=this.autoRefreshTicker;this.autoRefreshTicker=null,e&&clearInterval(e)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{const e=Date.now();try{return await this._useSession(async i=>{const{data:{session:n}}=i;if(!n||!n.refresh_token||!n.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const s=Math.floor((n.expires_at*1e3-e)/Ni);this._debug("#_autoRefreshTokenTick()",`access token expires in ${s} ticks, a tick lasts ${Ni}ms, refresh threshold is ${ja} ticks`),s<=ja&&await this._callRefreshToken(n.refresh_token)})}catch(i){console.error("Auto refresh tick failed with error. This is likely a transient error.",i)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(e){if(e.isAcquireTimeout||e instanceof gc)this._debug("auto refresh token tick lock not available");else throw e}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!Xe()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>await this._onVisibilityChanged(!1),window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(e){console.error("_handleVisibilityChange",e)}}async _onVisibilityChanged(e){const i=`#_onVisibilityChanged(${e})`;this._debug(i,"visibilityState",document.visibilityState),document.visibilityState==="visible"?(this.autoRefreshToken&&this._startAutoRefresh(),e||(await this.initializePromise,await this._acquireLock(-1,async()=>{if(document.visibilityState!=="visible"){this._debug(i,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(e,i,n){const s=[`provider=${encodeURIComponent(i)}`];if(n!=null&&n.redirectTo&&s.push(`redirect_to=${encodeURIComponent(n.redirectTo)}`),n!=null&&n.scopes&&s.push(`scopes=${encodeURIComponent(n.scopes)}`),this.flowType==="pkce"){const o=ri();await Ut(this.storage,`${this.storageKey}-code-verifier`,o);const r=await ai(o),a=o===r?"plain":"s256";this._debug("PKCE","code verifier",`${o.substring(0,5)}...`,"code challenge",r,"method",a);const u=new URLSearchParams({code_challenge:`${encodeURIComponent(r)}`,code_challenge_method:`${encodeURIComponent(a)}`});s.push(u.toString())}if(n!=null&&n.queryParams){const o=new URLSearchParams(n.queryParams);s.push(o.toString())}return n!=null&&n.skipBrowserRedirect&&s.push(`skip_http_redirect=${n.skipBrowserRedirect}`),`${e}?${s.join("&")}`}async _unenroll(e){try{return await this._useSession(async i=>{var n;const{data:s,error:o}=i;return o?{data:null,error:o}:await Z(this.fetch,"DELETE",`${this.url}/factors/${e.factorId}`,{headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token})})}catch(i){if(Y(i))return{data:null,error:i};throw i}}async _enroll(e){try{return await this._useSession(async i=>{var n,s;const{data:o,error:r}=i;if(r)return{data:null,error:r};const{data:a,error:u}=await Z(this.fetch,"POST",`${this.url}/factors`,{body:{friendly_name:e.friendlyName,factor_type:e.factorType,issuer:e.issuer},headers:this.headers,jwt:(n=o==null?void 0:o.session)===null||n===void 0?void 0:n.access_token});return u?{data:null,error:u}:(!((s=a==null?void 0:a.totp)===null||s===void 0)&&s.qr_code&&(a.totp.qr_code=`data:image/svg+xml;utf-8,${a.totp.qr_code}`),{data:a,error:null})})}catch(i){if(Y(i))return{data:null,error:i};throw i}}async _verify(e){return this._acquireLock(-1,async()=>{try{return await this._useSession(async i=>{var n;const{data:s,error:o}=i;if(o)return{data:null,error:o};const{data:r,error:a}=await Z(this.fetch,"POST",`${this.url}/factors/${e.factorId}/verify`,{body:{code:e.code,challenge_id:e.challengeId},headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token});return a?{data:null,error:a}:(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+r.expires_in},r)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",r),{data:r,error:a})})}catch(i){if(Y(i))return{data:null,error:i};throw i}})}async _challenge(e){return this._acquireLock(-1,async()=>{try{return await this._useSession(async i=>{var n;const{data:s,error:o}=i;return o?{data:null,error:o}:await Z(this.fetch,"POST",`${this.url}/factors/${e.factorId}/challenge`,{headers:this.headers,jwt:(n=s==null?void 0:s.session)===null||n===void 0?void 0:n.access_token})})}catch(i){if(Y(i))return{data:null,error:i};throw i}})}async _challengeAndVerify(e){const{data:i,error:n}=await this._challenge({factorId:e.factorId});return n?{data:null,error:n}:await this._verify({factorId:e.factorId,challengeId:i.id,code:e.code})}async _listFactors(){const{data:{user:e},error:i}=await this.getUser();if(i)return{data:null,error:i};const n=(e==null?void 0:e.factors)||[],s=n.filter(o=>o.factor_type==="totp"&&o.status==="verified");return{data:{all:n,totp:s},error:null}}async _getAuthenticatorAssuranceLevel(){return this._acquireLock(-1,async()=>await this._useSession(async e=>{var i,n;const{data:{session:s},error:o}=e;if(o)return{data:null,error:o};if(!s)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const r=this._decodeJWT(s.access_token);let a=null;r.aal&&(a=r.aal);let u=a;((n=(i=s.user.factors)===null||i===void 0?void 0:i.filter(d=>d.status==="verified"))!==null&&n!==void 0?n:[]).length>0&&(u="aal2");const l=r.amr||[];return{data:{currentLevel:a,nextLevel:u,currentAuthenticationMethods:l},error:null}}))}}an.nextInstanceID=0;class Xg extends an{constructor(e){super(e)}}var e0=globalThis&&globalThis.__awaiter||function(t,e,i,n){function s(o){return o instanceof i?o:new i(function(r){r(o)})}return new(i||(i=Promise))(function(o,r){function a(l){try{c(n.next(l))}catch(d){r(d)}}function u(l){try{c(n.throw(l))}catch(d){r(d)}}function c(l){l.done?o(l.value):s(l.value).then(a,u)}c((n=n.apply(t,e||[])).next())})};const t0={headers:fg},i0={schema:"public"},n0={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},s0={};class o0{constructor(e,i,n){var s,o,r,a,u,c,l,d;if(this.supabaseUrl=e,this.supabaseKey=i,this.from=v=>this.rest.from(v),this.schema=v=>this.rest.schema(v),this.rpc=(v,A={},O)=>this.rest.rpc(v,A,O),!e)throw new Error("supabaseUrl is required.");if(!i)throw new Error("supabaseKey is required.");const h=xg(e);this.realtimeUrl=`${h}/realtime/v1`.replace(/^http/i,"ws"),this.authUrl=`${h}/auth/v1`,this.storageUrl=`${h}/storage/v1`,this.functionsUrl=`${h}/functions/v1`;const p=`sb-${new URL(this.authUrl).hostname.split(".")[0]}-auth-token`,y={db:i0,realtime:s0,auth:Object.assign(Object.assign({},n0),{storageKey:p}),global:t0},g=_g(n??{},y);this.storageKey=(o=(s=g.auth)===null||s===void 0?void 0:s.storageKey)!==null&&o!==void 0?o:"",this.headers=(a=(r=g.global)===null||r===void 0?void 0:r.headers)!==null&&a!==void 0?a:{},this.auth=this._initSupabaseAuthClient((u=g.auth)!==null&&u!==void 0?u:{},this.headers,(c=g.global)===null||c===void 0?void 0:c.fetch),this.fetch=wg(i,this._getAccessToken.bind(this),(l=g.global)===null||l===void 0?void 0:l.fetch),this.realtime=this._initRealtimeClient(Object.assign({headers:this.headers},g.realtime)),this.rest=new Vo(`${h}/rest/v1`,{headers:this.headers,schema:(d=g.db)===null||d===void 0?void 0:d.schema,fetch:this.fetch}),this._listenForAuthEvents()}get functions(){return new R1(this.functionsUrl,{headers:this.headers,customFetch:this.fetch})}get storage(){return new bg(this.storageUrl,this.headers,this.fetch)}channel(e,i={config:{}}){return this.realtime.channel(e,i)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}_getAccessToken(){var e,i;return e0(this,void 0,void 0,function*(){const{data:n}=yield this.auth.getSession();return(i=(e=n.session)===null||e===void 0?void 0:e.access_token)!==null&&i!==void 0?i:null})}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:i,detectSessionInUrl:n,storage:s,storageKey:o,flowType:r,debug:a},u,c){const l={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new Xg({url:this.authUrl,headers:Object.assign(Object.assign({},l),u),storageKey:o,autoRefreshToken:e,persistSession:i,detectSessionInUrl:n,storage:s,flowType:r,debug:a,fetch:c})}_initRealtimeClient(e){return new tg(this.realtimeUrl,Object.assign(Object.assign({},e),{params:Object.assign({apikey:this.supabaseKey},e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((i,n)=>{this._handleTokenChanged(i,"CLIENT",n==null?void 0:n.access_token)})}_handleTokenChanged(e,i,n){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN")&&this.changedAccessToken!==n?(this.realtime.setAuth(n??null),this.changedAccessToken=n):e==="SIGNED_OUT"&&(this.realtime.setAuth(this.supabaseKey),i=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}}const r0=(t,e,i)=>new o0(t,e,i),a0="https://ozgtbqizepstargxfqcm.supabase.co",u0="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im96Z3RicWl6ZXBzdGFyZ3hmcWNtIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTY5MDc5ODI5NSwiZXhwIjoyMDA2Mzc0Mjk1fQ.uZDzzKUNYHmsQvJLRIqCFVG7yevfa6tV-qVMajf6z1s",c0=r0(a0,u0),l0={class:"my-0.5 flex w-full select-none flex-col items-center text-[var(--vscode-foreground)]"},d0={class:"mx-2.5 flex flex-1 flex-row items-center gap-2 hover:bg-[var(--vscode-list-hoverBackground)]"},m0=_("p",{class:"text-sm font-medium"},"Feedback",-1),h0={class:"mx-auto mb-1.5 mt-1 flex w-full flex-col items-start justify-start"},b0=["disabled"],p0={key:1,class:"mt-4 text-xs font-medium text-[var(--vscode-foreground)]"},f0=Te({__name:"Feedback",props:{content:{type:Object,required:!0}},setup(t){const e=ae(!1),i=()=>{e.value=!e.value},n=ae(""),s=ae(!1),o=t,r=async()=>{const{data:a,error:u}=await c0.from("vscode_user_feedback").insert([{feedback_message:n.value,vscode_version:o.content.vscode_version,extension_version:o.content.extension_version,vscode_theme_id:o.content.vscode_theme_id}]);u?console.log(u):(n.value="",s.value=!0,setTimeout(()=>{s.value=!1},5e3))};return(a,u)=>(q(),N("div",l0,[_("div",{class:"flex w-full cursor-pointer flex-row items-center",onClick:i},[I(ln,{class:"h-2.5 w-2.5",listOpen:e.value},null,8,["listOpen"]),_("div",d0,[I(A1,{class:"h-4 w-4"}),m0])]),I(It,{name:"slide-down-fade"},{default:ei(()=>[e.value?(q(),N("div",{key:0,class:Ze(["mx-auto mb-2.5 mt-1 w-11/12 pl-2",{showing:e.value,hidden:!e.value}])},[_("div",h0,[Zn(_("textarea",{class:"mt-3 w-full resize-none rounded-md border border-[var(--vscode-dropdown-border)] bg-transparent px-2 py-1 text-xs font-medium text-[var(--vscode-foreground)] placeholder-[var(--vscode-disabledForeground)] placeholder-opacity-50 transition-all",placeholder:"What do you think about Nuxtr?","onUpdate:modelValue":u[0]||(u[0]=c=>n.value=c),name:"feedback",id:"feedback",cols:"5",rows:"4"},null,512),[[Pu,n.value]]),s.value?mt("",!0):(q(),N("button",{key:0,class:"mt-4 h-[27.73px] w-full rounded-md border border-[var(--vscode-dropdown-border)] bg-[var(--vscode-foreground)] text-[var(--vscode-sideBar-background)] text-xs font-medium transition-all hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-50",textContent:"Send Feedback",onClick:We(r,["prevent"]),disabled:!n.value},null,8,b0)),s.value?(q(),N("p",p0," Thank you for your feedback! ")):mt("",!0)])],2)):mt("",!0)]),_:1})]))}});const g0={class:"flex select-none flex-col gap-2 font-inter"},y0={class:"flex w-full pb-40 relative flex-col items-center"},v0={class:"flex overflow-y-auto max-h-fit flex-col w-full"},w0=Te({__name:"Project",setup(t){const e=un({dependencies:[],scripts:{},snippets:{},feedbackContent:{},outdatedDependencies:[],fileTemplates:{}});return window.addEventListener("message",i=>{const n=i.data;switch(n.command){case"projectViewData":e.scripts=n.data.scripts,e.dependencies=n.data.dependencies,e.snippets=n.data.snippets,e.feedbackContent=n.data.feedbackContent,e.fileTemplates=n.data.fileTemplates;break;case"outdatedDependencies":e.outdatedDependencies=n.data;break}}),(i,n)=>(q(),N("div",g0,[_("div",y0,[_("div",v0,[I(_p,{scripts:e.scripts},null,8,["scripts"]),I(lf,{dependencies:e.dependencies,outdated:e.outdatedDependencies},null,8,["dependencies","outdated"]),I(Gf,{snippets:e.snippets},null,8,["snippets"]),I(g1,{templates:e.fileTemplates},null,8,["templates"]),I(f0,{class:"bg-[var(--vscode-sideBar-background)]",content:e.feedbackContent},null,8,["content"])])])]))}}),x0={class:"flex w-full flex-col font-inter"},_0=Te({__name:"Project",setup(t){return(e,i)=>(q(),N("div",x0,[I(w0)]))}}),k0=[{path:"/",component:ip},{path:"/project",component:_0}],A0=Gm({history:cm(),routes:k0});$h().register();Ud(Ym).use(A0).mount("#app"); diff --git a/ui/package.json b/ui/package.json index 1ef8a41..b7dcfd0 100644 --- a/ui/package.json +++ b/ui/package.json @@ -9,11 +9,11 @@ "preview": "vite preview" }, "dependencies": { - "@supabase/supabase-js": "^2.39.2", + "@supabase/supabase-js": "^2.39.3", "@vscode/webview-ui-toolkit": "^1.4.0", "build": "^0.1.4", "ofetch": "^1.3.3", - "vue": "^3.4.6", + "vue": "^3.4.10", "vue-router": "4.2.4" }, "devDependencies": {