From 7fc0e00e41529305547cebc37f36b336048f9c4b Mon Sep 17 00:00:00 2001 From: nazeh Date: Fri, 30 Aug 2024 10:46:52 +0300 Subject: [PATCH] examples(authz): switch from plain js to web components --- Cargo.lock | 4 - examples/authz/3rd-party-app/.eslintignore | 5 - examples/authz/3rd-party-app/.eslintrc.json | 26 - .../3rd-party-app/.github/dependabot.yml | 6 - examples/authz/3rd-party-app/.gitignore | 667 +-- examples/authz/3rd-party-app/.prettierignore | 2 - examples/authz/3rd-party-app/.prettierrc | 8 - examples/authz/3rd-party-app/README.md | 132 - examples/authz/3rd-party-app/index.html | 13 +- .../authz/3rd-party-app/package-lock.json | 4283 +---------------- examples/authz/3rd-party-app/package.json | 30 +- .../authz/3rd-party-app/postcss.config.cjs | 13 - .../authz/3rd-party-app/public/screenshot.png | Bin 70373 -> 0 bytes examples/authz/3rd-party-app/public/vite.svg | 2 +- examples/authz/3rd-party-app/src/index.css | 48 + .../3rd-party-app/src/pubky-auth-widget.js | 166 + examples/authz/3rd-party-app/vite.config.js | 13 - 17 files changed, 298 insertions(+), 5120 deletions(-) delete mode 100644 examples/authz/3rd-party-app/.eslintignore delete mode 100644 examples/authz/3rd-party-app/.eslintrc.json delete mode 100644 examples/authz/3rd-party-app/.github/dependabot.yml delete mode 100644 examples/authz/3rd-party-app/.prettierignore delete mode 100644 examples/authz/3rd-party-app/.prettierrc delete mode 100644 examples/authz/3rd-party-app/README.md delete mode 100644 examples/authz/3rd-party-app/postcss.config.cjs delete mode 100644 examples/authz/3rd-party-app/public/screenshot.png create mode 100644 examples/authz/3rd-party-app/src/index.css create mode 100644 examples/authz/3rd-party-app/src/pubky-auth-widget.js delete mode 100644 examples/authz/3rd-party-app/vite.config.js diff --git a/Cargo.lock b/Cargo.lock index b3862bf..df600ac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -135,10 +135,6 @@ dependencies = [ "critical-section", ] -[[package]] -name = "authenticator" -version = "0.1.0" - [[package]] name = "autocfg" version = "1.3.0" diff --git a/examples/authz/3rd-party-app/.eslintignore b/examples/authz/3rd-party-app/.eslintignore deleted file mode 100644 index 093420c..0000000 --- a/examples/authz/3rd-party-app/.eslintignore +++ /dev/null @@ -1,5 +0,0 @@ -.vscode -dist -node_modules -vite.config.ts -postcss.config.js \ No newline at end of file diff --git a/examples/authz/3rd-party-app/.eslintrc.json b/examples/authz/3rd-party-app/.eslintrc.json deleted file mode 100644 index 2dc6d48..0000000 --- a/examples/authz/3rd-party-app/.eslintrc.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "root": true, - "env": { - "browser": true, - "es2023": true, - "node": true - }, - "extends": [ - "plugin:import/recommended", - "eslint-config-prettier" - ], - "plugins": ["import"], - "parserOptions": { - "ecmaVersion": "latest", - "sourceType": "module" - }, - "settings": { - "import/resolver": { - "node": { - "extensions": [".js"], - "path": ["src"], - "moduleDirectory": ["node_modules"] - } - } - } -} diff --git a/examples/authz/3rd-party-app/.github/dependabot.yml b/examples/authz/3rd-party-app/.github/dependabot.yml deleted file mode 100644 index 7b2ee3a..0000000 --- a/examples/authz/3rd-party-app/.github/dependabot.yml +++ /dev/null @@ -1,6 +0,0 @@ -version: 2 -updates: - - package-ecosystem: npm - directory: "/" - schedule: - interval: daily diff --git a/examples/authz/3rd-party-app/.gitignore b/examples/authz/3rd-party-app/.gitignore index e6552dd..a547bf3 100644 --- a/examples/authz/3rd-party-app/.gitignore +++ b/examples/authz/3rd-party-app/.gitignore @@ -1,669 +1,24 @@ -# Created by https://www.toptal.com/developers/gitignore/api/visualstudio,visualstudiocode,intellij,node -# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudio,visualstudiocode,intellij,node - -### Intellij ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/**/usage.statistics.xml -.idea/**/dictionaries -.idea/**/shelf - -# AWS User-specific -.idea/**/aws.xml - -# Generated files -.idea/**/contentModel.xml - -# Sensitive or high-churn files -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml -.idea/**/dbnavigator.xml - -# Gradle -.idea/**/gradle.xml -.idea/**/libraries - -# Gradle and Maven with auto-import -# When using Gradle or Maven with auto-import, you should exclude module files, -# since they will be recreated, and may cause churn. Uncomment if using -# auto-import. -# .idea/artifacts -# .idea/compiler.xml -# .idea/jarRepositories.xml -# .idea/modules.xml -# .idea/*.iml -# .idea/modules -# *.iml -# *.ipr - -# CMake -cmake-build-*/ - -# Mongo Explorer plugin -.idea/**/mongoSettings.xml - -# File-based project format -*.iws - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# SonarLint plugin -.idea/sonarlint/ - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -# Editor-based Rest Client -.idea/httpRequests - -# Android studio 3.1+ serialized cache file -.idea/caches/build_file_checksums.ser - -### Intellij Patch ### -# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 - -# *.iml -# modules.xml -# .idea/misc.xml -# *.ipr - -# Sonarlint plugin -# https://plugins.jetbrains.com/plugin/7973-sonarlint -.idea/**/sonarlint/ - -# SonarQube Plugin -# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin -.idea/**/sonarIssues.xml - -# Markdown Navigator plugin -# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced -.idea/**/markdown-navigator.xml -.idea/**/markdown-navigator-enh.xml -.idea/**/markdown-navigator/ - -# Cache file creation bug -# See https://youtrack.jetbrains.com/issue/JBR-2257 -.idea/$CACHE_FILE$ - -# CodeStream plugin -# https://plugins.jetbrains.com/plugin/12206-codestream -.idea/codestream.xml - -# Azure Toolkit for IntelliJ plugin -# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij -.idea/**/azureSettings.xml - -### Node ### # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* +pnpm-debug.log* lerna-debug.log* -.pnpm-debug.log* -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Snowpack dependency directory (https://snowpack.dev/) -web_modules/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional stylelint cache -.stylelintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# parcel-bundler cache (https://parceljs.org/) -.cache -.parcel-cache - -# Next.js build output -.next -out - -# Nuxt.js build / generate output -.nuxt +node_modules dist +dist-ssr +*.local -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and not Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# vuepress v2.x temp and cache directory -.temp - -# Docusaurus cache and generated files -.docusaurus - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -# Stores VSCode versions used for testing VSCode extensions -.vscode-test - -# yarn v2 -.yarn/cache -.yarn/unplugged -.yarn/build-state.yml -.yarn/install-state.gz -.pnp.* - -### Node Patch ### -# Serverless Webpack directories -.webpack/ - -# Optional stylelint cache - -# SvelteKit build / generate output -.svelte-kit - -### VisualStudioCode ### +# Editor directories and files .vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json !.vscode/extensions.json -!.vscode/*.code-snippets - -# Local History for Visual Studio Code -.history/ - -# Built Visual Studio Code Extensions -*.vsix - -### VisualStudioCode Patch ### -# Ignore all local history of files -.history -.ionide - -### VisualStudio ### -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore - -# User-specific files -*.rsuser +.idea +.DS_Store *.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Mono auto generated files -mono_crash.* - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -[Ww][Ii][Nn]32/ -[Aa][Rr][Mm]/ -[Aa][Rr][Mm]64/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ -[Ll]ogs/ - -# Visual Studio 2015/2017 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# Visual Studio 2017 auto generated files -Generated\ Files/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUnit -*.VisualState.xml -TestResult.xml -nunit-*.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# Benchmark Results -BenchmarkDotNet.Artifacts/ - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ - -# ASP.NET Scaffolding -ScaffoldingReadMe.txt - -# StyleCop -StyleCopReport.xml - -# Files built by Visual Studio -*_i.c -*_p.c -*_h.h -*.ilk -*.meta -*.obj -*.iobj -*.pch -*.pdb -*.ipdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*_wpftmp.csproj -*.tlog -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# Visual Studio Trace Files -*.e2e - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# AxoCover is a Code Coverage Tool -.axoCover/* -!.axoCover/settings.json - -# Coverlet is a free, cross platform Code Coverage Tool -coverage*.json -coverage*.xml -coverage*.info - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# Note: Comment the next line if you want to checkin your web deploy settings, -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# NuGet Symbol Packages -*.snupkg -# The packages folder can be ignored because of Package Restore -**/[Pp]ackages/* -# except build/, which is used as an MSBuild target. -!**/[Pp]ackages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/[Pp]ackages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt -*.appx -*.appxbundle -*.appxupload - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!?*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Including strong name files can present a security risk -# (https://github.com/github/gitignore/pull/2483#issue-259490424) -#*.snk - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm -ServiceFabricBackup/ -*.rptproj.bak - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings -*.rptproj.rsuser -*- [Bb]ackup.rdl -*- [Bb]ackup ([0-9]).rdl -*- [Bb]ackup ([0-9][0-9]).rdl - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio 6 auto-generated project file (contains which files were open etc.) -*.vbp - -# Visual Studio 6 workspace and project file (working project files containing files to include in project) -*.dsw -*.dsp - -# Visual Studio 6 technical files - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# CodeRush personal settings -.cr/personal - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Tabs Studio -*.tss - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs - -# OpenCover UI analysis results -OpenCover/ - -# Azure Stream Analytics local run output -ASALocalRun/ - -# MSBuild Binary and Structured Log -*.binlog - -# NVidia Nsight GPU debugger configuration file -*.nvuser - -# MFractors (Xamarin productivity tool) working folder -.mfractor/ - -# Local History for Visual Studio -.localhistory/ - -# Visual Studio History (VSHistory) files -.vshistory/ - -# BeatPulse healthcheck temp database -healthchecksdb - -# Backup folder for Package Reference Convert tool in Visual Studio 2017 -MigrationBackup/ - -# Ionide (cross platform F# VS Code tools) working folder -.ionide/ - -# Fody - auto-generated XML schema -FodyWeavers.xsd - -# VS Code files for those working on multiple tools -*.code-workspace - -# Local History for Visual Studio Code - -# Windows Installer files from build outputs -*.cab -*.msi -*.msix -*.msm -*.msp - -# JetBrains Rider -*.sln.iml - -### VisualStudio Patch ### -# Additional files built by Visual Studio - -# End of https://www.toptal.com/developers/gitignore/api/visualstudio,visualstudiocode,intellij,node +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/examples/authz/3rd-party-app/.prettierignore b/examples/authz/3rd-party-app/.prettierignore deleted file mode 100644 index db4c6d9..0000000 --- a/examples/authz/3rd-party-app/.prettierignore +++ /dev/null @@ -1,2 +0,0 @@ -dist -node_modules \ No newline at end of file diff --git a/examples/authz/3rd-party-app/.prettierrc b/examples/authz/3rd-party-app/.prettierrc deleted file mode 100644 index 986cbad..0000000 --- a/examples/authz/3rd-party-app/.prettierrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "printWidth": 80, - "tabWidth": 4, - "singleQuote": true, - "trailingComma": "all", - "useTabs": false, - "semi": true -} diff --git a/examples/authz/3rd-party-app/README.md b/examples/authz/3rd-party-app/README.md deleted file mode 100644 index b0c5b00..0000000 --- a/examples/authz/3rd-party-app/README.md +++ /dev/null @@ -1,132 +0,0 @@ -# Vite Vanilla JS Template - -![screenshot](/public/screenshot.png) - -Initially built for personal use, I created this template for starting a new project with Vite.js and Vanilla Javascript. It is already set up with standard development tools like ESLint and Prettier for easy code formatting and linting, with Vite for a robust, modern build process. - -## Dependencies - -This template uses the following dependencies: - -- **[Vite](https://vitejs.dev/):** A next-generation frontend build tool that offers a fast dev server and optimized builds. -- **[ESLint](https://eslint.org/):** An open-source JavaScript linting utility that helps maintain a consistent code style. -- **[Prettier](https://prettier.io/):** An opinionated code formatter that enforces a consistent style across your project. -- **[eslint-config-airbnb-base](https://www.npmjs.com/package/eslint-config-airbnb-base) and [eslint-config-prettier](https://www.npmjs.com/package/eslint-config-prettier):** ESLint configurations adhering to Airbnb's base JS style guide and disabling stylistic rules that might conflict with Prettier. -- **[eslint-plugin-import](https://www.npmjs.com/package/eslint-plugin-import) and [eslint-plugin-prettier](https://www.npmjs.com/package/eslint-plugin-prettier):** ESLint plugins that enforce ES2015+ import/export syntax and integrate Prettier with ESLint. -- **[autoprefixer](https://www.npmjs.com/package/autoprefixer) and [postcss](https://postcss.org/):** Autoprefixer automatically adds vendor prefixes to CSS, while PostCSS provides a way to transform CSS with JavaScript. -- **[cssnano](https://cssnano.github.io/cssnano/):** A tool that helps to compress and optimize CSS files. -- **[postcss-nesting](https://www.npmjs.com/package/postcss-nesting):** A PostCSS plugin that allows you to use modern CSS Nesting in your stylesheets. -- **[vite-plugin-eslint](https://www.npmjs.com/package/vite-plugin-eslint):** Integrates ESLint into the Vite build process for on-the-fly linting. -- **[the-new-css-reset](https://elad2412.github.io/the-new-css-reset/):** A modern, CSS reset for your styles. - -## Cloning - -1. To start using this template, clone the repository with this command: - -```bash -git clone https://github.com/Barata-Ribeiro/vite-vanilla-js-template.git -``` - -2. Then proceed to the folder and install dependencies: - -```bash -cd vite-vanilla-js-template -npm install -``` - -**or** - -```bash -npm install -g degit # if you don't have degit installed... - -#degit documentation at: https://github.com/Rich-Harris/degit -``` - -1. Use 'degit' to create a folder project using this template: - -```bash -degit Barata-Ribeiro/vite-vanilla-js-template your-project-name -``` - -2. Then proceed to the folder and install dependencies: - -```bash -cd your-project-name -npm install -``` - - -## Post-Cloning Steps - -After cloning the template, make sure to clean up and update the following: - -1. Remove the .git directory and run `git init` to clean the commit history. -2. Clean up the README.md file. -3. Adapt the LICENSE file to your project. -4. Delete `public/vite.svg`, `public/screenshot`, `src/assets/images/javascript.svg`, and `src/assets/images/vite.svg`. -5. Delete the content from `src/styles/style.css`. -6. In the `src/js/main.js` file, leave only these import statements: `import "../../styles/style.css";` and `import "the-new-css-reset/css/reset.css";`. -7. Adapt the `package.json` file with your project's own information. -8. Delete the .github folder. - -## Scripts - -Use the following scripts for your development workflow: - -```bash -# Start the development server -npm run dev - -# Checks your code for any linting errors -npm run lint - -# Tries to automatically fix any linting errors present in your code -npm run lint:fix - -# Formats your code in a consistent, predefined style using Prettier -npm run format - -# Build for production -npm run build - -# Preview the build -npm run preview - -# Build and preview the project -npm run buildpreview -``` - -## Folder Structure - -This is the structure of the project: - -```plaintext -/ -├── .github # Github actions and workflows -├── node_modules # Node.js dependencies for the project. -├── public # Public assets and resources -├── src # Source code -│ ├── assets # General assets for your project -│ │ ├── images # Store your images here -│ ├── js # Javascript files of your project -│ ├── styles # CSS styles for your project -├── .editorconfig # Configuration for the EditorConfig plugin -├── .eslintignore # Files to be ignored by ESLint -├── .eslintrc.json # Configuration for ESLint -├── .gitignore # Files and folders to be ignored by Git -├── .prettierignore # Files to be ignored by Prettier -├── .prettierrc # Configuration for Prettier -├── index.html # The HTML file for your project -├── LICENSE # The license for your project -├── package-lock.json # Lockfile for your project's dependencies -├── package.json # Defines your project and its dependencies -├── postcss.config.cjs # Configuration for PostCSS -├── README.md # This file -├── vite.config.js # Configuration for Vite -``` - -## License - -This template was created under the [MIT License](LICENSE.md). - -**Happy coding!** 👨‍💻 diff --git a/examples/authz/3rd-party-app/index.html b/examples/authz/3rd-party-app/index.html index 79559cf..0a4a5da 100644 --- a/examples/authz/3rd-party-app/index.html +++ b/examples/authz/3rd-party-app/index.html @@ -4,12 +4,15 @@ - Vite.js Vanilla Template + Vite + Lit + + - -
-
- + +
+

Third Party app!

+

this is a demo for using Pubky Auth in an unhosted (no backend) app.

+
diff --git a/examples/authz/3rd-party-app/package-lock.json b/examples/authz/3rd-party-app/package-lock.json index 6058b0c..5ce8a32 100644 --- a/examples/authz/3rd-party-app/package-lock.json +++ b/examples/authz/3rd-party-app/package-lock.json @@ -1,136 +1,18 @@ { "name": "pubky-auth-3rd-party", - "version": "1.0.0", + "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pubky-auth-3rd-party", + "version": "0.0.0", "dependencies": { - "qrcode": "^1.5.4", - "the-new-css-reset": "^1.11.3" + "lit": "^3.2.0", + "qrcode": "^1.5.4" }, "devDependencies": { - "autoprefixer": "^10.4.20", - "cssnano": "^7.0.5", - "eslint": "^8.57.0", - "eslint-config-airbnb-base": "^15.0.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-prettier": "^5.2.1", - "postcss": "^8.4.41", - "postcss-nesting": "^13.0.0", - "prettier": "^3.3.3", - "vite": "5.4.2", - "vite-plugin-eslint": "^1.8.1" - } - }, - "node_modules/@csstools/selector-resolve-nested": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-2.0.0.tgz", - "integrity": "sha512-oklSrRvOxNeeOW1yARd4WNCs/D09cQjunGZUgSq6vM8GpzFswN+8rBZyJA29YFZhOTQ6GFzxgLDNtVbt9wPZMA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^6.1.0" - } - }, - "node_modules/@csstools/selector-specificity": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-4.0.0.tgz", - "integrity": "sha512-189nelqtPd8++phaHNwYovKZI0FOzH1vQEE3QhHHkNIGrg5fSs9CbYP3RvfEH5geztnIA9Jwq91wyOIwAW5JIQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^6.1.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" + "vite": "^5.4.2" } }, "node_modules/@esbuild/darwin-arm64": { @@ -149,469 +31,19 @@ "node": ">=12" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.1.tgz", + "integrity": "sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==" }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, + "node_modules/@lit/reactive-element": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.4.tgz", + "integrity": "sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==", "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "@lit-labs/ssr-dom-shim": "^1.2.0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "dev": true - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", - "dev": true, - "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.0.tgz", - "integrity": "sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.0.tgz", - "integrity": "sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.21.0", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.0.tgz", @@ -625,254 +57,16 @@ "darwin" ] }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.0.tgz", - "integrity": "sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.0.tgz", - "integrity": "sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.0.tgz", - "integrity": "sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.0.tgz", - "integrity": "sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.0.tgz", - "integrity": "sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.0.tgz", - "integrity": "sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.0.tgz", - "integrity": "sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.0.tgz", - "integrity": "sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.0.tgz", - "integrity": "sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.0.tgz", - "integrity": "sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.0.tgz", - "integrity": "sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.0.tgz", - "integrity": "sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.0.tgz", - "integrity": "sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/eslint": { - "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" }, "node_modules/ansi-regex": { "version": "5.0.1", @@ -896,260 +90,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -1158,54 +98,6 @@ "node": ">=6" } }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001649", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001649.tgz", - "integrity": "sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/cliui": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", @@ -1232,289 +124,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true - }, - "node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-declaration-sorter": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", - "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", - "dev": true, - "engines": { - "node": "^14 || ^16 || >=18" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.5.tgz", - "integrity": "sha512-Aq0vqBLtpTT5Yxj+hLlLfNPFuRQCDIjx5JQAhhaedQKLNDvDGeVziF24PS+S1f0Z5KCxWvw0QVI3VNHNBITxVQ==", - "dev": true, - "dependencies": { - "cssnano-preset-default": "^7.0.5", - "lilconfig": "^3.1.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano-preset-default": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.5.tgz", - "integrity": "sha512-Jbzja0xaKwc5JzxPQoc+fotKpYtWEu4wQLMQe29CM0FjjdRjA4omvbGHl2DTGgARKxSTpPssBsok+ixv8uTBqw==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^5.0.0", - "postcss-calc": "^10.0.1", - "postcss-colormin": "^7.0.2", - "postcss-convert-values": "^7.0.3", - "postcss-discard-comments": "^7.0.2", - "postcss-discard-duplicates": "^7.0.1", - "postcss-discard-empty": "^7.0.0", - "postcss-discard-overridden": "^7.0.0", - "postcss-merge-longhand": "^7.0.3", - "postcss-merge-rules": "^7.0.3", - "postcss-minify-font-values": "^7.0.0", - "postcss-minify-gradients": "^7.0.0", - "postcss-minify-params": "^7.0.2", - "postcss-minify-selectors": "^7.0.3", - "postcss-normalize-charset": "^7.0.0", - "postcss-normalize-display-values": "^7.0.0", - "postcss-normalize-positions": "^7.0.0", - "postcss-normalize-repeat-style": "^7.0.0", - "postcss-normalize-string": "^7.0.0", - "postcss-normalize-timing-functions": "^7.0.0", - "postcss-normalize-unicode": "^7.0.2", - "postcss-normalize-url": "^7.0.0", - "postcss-normalize-whitespace": "^7.0.0", - "postcss-ordered-values": "^7.0.1", - "postcss-reduce-initial": "^7.0.2", - "postcss-reduce-transforms": "^7.0.0", - "postcss-svgo": "^7.0.1", - "postcss-unique-selectors": "^7.0.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/cssnano-utils": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.0.tgz", - "integrity": "sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==", - "dev": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dev": true, - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true - }, - "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", @@ -1523,274 +132,16 @@ "node": ">=0.10.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/dijkstrajs": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==" }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dev": true, - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz", - "integrity": "sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==", - "dev": true - }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/es-abstract": { - "version": "1.23.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", - "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.5", - "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/esbuild": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", @@ -1829,443 +180,18 @@ "@esbuild/win32-x64": "0.21.5" } }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-airbnb-base": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", - "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", - "dev": true, - "dependencies": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.5", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "peerDependencies": { - "eslint": "^7.32.0 || ^8.2.0", - "eslint-plugin-import": "^2.25.2" - } - }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", - "semver": "^6.3.1", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", - "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.9.1" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dependencies": { - "locate-path": "^6.0.0", + "locate-path": "^5.0.0", "path-exists": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -2280,42 +206,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -2324,375 +214,6 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", - "dev": true, - "dependencies": { - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", @@ -2701,296 +222,45 @@ "node": ">=8" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "node_modules/lit": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.2.0.tgz", + "integrity": "sha512-s6tI33Lf6VpDu7u4YqsSX78D28bYQulM+VAzsGch4fx2H0eLZnJsUBsPWmGYSGoKDNbjtRv02rio1o+UdPVwvw==", "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" + "@lit/reactive-element": "^2.0.4", + "lit-element": "^4.1.0", + "lit-html": "^3.2.0" } }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "dev": true, - "dependencies": { - "which-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/js-yaml": { + "node_modules/lit-element": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.1.0.tgz", + "integrity": "sha512-gSejRUQJuMQjV2Z59KAS/D4iElUhwKpIyJvZ9w+DIagIQjfJnhR20h2Q5ddpzXGS+fF0tMZ/xEYGMnKmaI/iww==", "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "@lit-labs/ssr-dom-shim": "^1.2.0", + "@lit/reactive-element": "^2.0.4", + "lit-html": "^3.2.0" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, + "node_modules/lit-html": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.2.0.tgz", + "integrity": "sha512-pwT/HwoxqI9FggTrYVarkBKFN9MlTUpLrDHubTmW4SrkL3kkqW5gxwbxMMUnbbRHBC0WTZnYHcjDSCM559VyfA==", "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" + "@types/trusted-types": "^2.0.2" } }, "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dependencies": { - "p-locate": "^5.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "dev": true - }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -3009,192 +279,29 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", - "dev": true - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5", - "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", - "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { - "yocto-queue": "^0.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { - "p-limit": "^3.0.2" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/p-try": { @@ -3205,18 +312,6 @@ "node": ">=6" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3225,48 +320,12 @@ "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, "node_modules/picocolors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/pngjs": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", @@ -3275,15 +334,6 @@ "node": ">=10.13.0" } }, - "node_modules/possible-typed-array-names": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", - "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/postcss": { "version": "8.4.41", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", @@ -3312,508 +362,6 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-calc": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.0.1.tgz", - "integrity": "sha512-pp1Z3FxtxA+xHAoWXcOXgnBN1WPu4ZiJ5LWGjKyf9MMreagAsaTUtnqFK1y1sHhyJddAkYTPu6XSuLgb3oYCjw==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.1.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12 || ^20.9 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.38" - } - }, - "node_modules/postcss-colormin": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.2.tgz", - "integrity": "sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-api": "^3.0.0", - "colord": "^2.9.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-convert-values": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.3.tgz", - "integrity": "sha512-yJhocjCs2SQer0uZ9lXTMOwDowbxvhwFVrZeS6NPEij/XXthl73ggUmfwVvJM+Vaj5gtCKJV1jiUu4IhAUkX/Q==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-comments": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.2.tgz", - "integrity": "sha512-/Hje9Ls1IYcB9duELO/AyDUJI6aQVY3h5Rj1ziXgaLYCTi1iVBLnjg/TS0D6NszR/kDG6I86OwLmAYe+bvJjiQ==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.1.tgz", - "integrity": "sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==", - "dev": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-empty": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.0.tgz", - "integrity": "sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==", - "dev": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.0.tgz", - "integrity": "sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==", - "dev": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.3.tgz", - "integrity": "sha512-8waYomFxshdv6M9Em3QRM9MettRLDRcH2JQi2l0Z1KlYD/vhal3gbkeSES0NuACXOlZBB0V/B0AseHZaklzWOA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^7.0.3" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-merge-rules": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.3.tgz", - "integrity": "sha512-2eSas2p3voPxNfdI5sQrvIkMaeUHpVc3EezgVs18hz/wRTQAC9U99tp9j3W5Jx9/L3qHkEDvizEx/LdnmumIvQ==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^5.0.0", - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.0.tgz", - "integrity": "sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.0.tgz", - "integrity": "sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==", - "dev": true, - "dependencies": { - "colord": "^2.9.3", - "cssnano-utils": "^5.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-params": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.2.tgz", - "integrity": "sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "cssnano-utils": "^5.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.3.tgz", - "integrity": "sha512-SxTgUQSgBk6wEqzQZKEv1xQYIp9UBju6no9q+npohzSdhuSICQdkqmD1UMKkZWItS3olJSJMDDEY9WOJ5oGJew==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-nesting": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-13.0.0.tgz", - "integrity": "sha512-TCGQOizyqvEkdeTPM+t6NYwJ3EJszYE/8t8ILxw/YoeUvz2rz7aM8XTAmBWh9/DJjfaaabL88fWrsVHSPF2zgA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "dependencies": { - "@csstools/selector-resolve-nested": "^2.0.0", - "@csstools/selector-specificity": "^4.0.0", - "postcss-selector-parser": "^6.1.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.0.tgz", - "integrity": "sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==", - "dev": true, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.0.tgz", - "integrity": "sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.0.tgz", - "integrity": "sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.0.tgz", - "integrity": "sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-string": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.0.tgz", - "integrity": "sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.0.tgz", - "integrity": "sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.2.tgz", - "integrity": "sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-url": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.0.tgz", - "integrity": "sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.0.tgz", - "integrity": "sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-ordered-values": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.1.tgz", - "integrity": "sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==", - "dev": true, - "dependencies": { - "cssnano-utils": "^5.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.2.tgz", - "integrity": "sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.0.tgz", - "integrity": "sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", - "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-svgo": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.0.1.tgz", - "integrity": "sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.3.2" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >= 18" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.2.tgz", - "integrity": "sha512-CjSam+7Vf8cflJQsHrMS0P2hmy9u0+n/P001kb5eAszLmhjMqrt/i5AqQuNFihhViwDvEAezqTmXqaYXL2ugMw==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/qrcode": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz", @@ -3830,44 +378,6 @@ "node": ">=10.13.0" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -3881,57 +391,6 @@ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/rollup": { "version": "4.21.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.0.tgz", @@ -3967,149 +426,11 @@ "fsevents": "~2.3.2" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.6", - "es-errors": "^1.3.0", - "is-regex": "^1.1.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/source-map-js": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", @@ -4132,55 +453,6 @@ "node": ">=8" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -4192,294 +464,6 @@ "node": ">=8" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stylehacks": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.3.tgz", - "integrity": "sha512-4DqtecvI/Nd+2BCvW9YEF6lhBN5UM50IJ1R3rnEAhBwbCKf4VehRf+uqvnVArnBayjYD/WtT3g0G/HSRxWfTRg==", - "dev": true, - "dependencies": { - "browserslist": "^4.23.3", - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": "^18.12.0 || ^20.9.0 || >=22.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", - "dev": true, - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/synckit": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", - "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", - "dev": true, - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/the-new-css-reset": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/the-new-css-reset/-/the-new-css-reset-1.11.3.tgz", - "integrity": "sha512-61SB81vu9foUyEIqoU1CeqxrdlsVjJojj/CBXoG8BdvlKFsllB0Rza63DblnRqH+3uttPj3FGWo7+c9nu7MT+A==" - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, "node_modules/vite": { "version": "5.4.2", "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.2.tgz", @@ -4539,100 +523,11 @@ } } }, - "node_modules/vite-plugin-eslint": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/vite-plugin-eslint/-/vite-plugin-eslint-1.8.1.tgz", - "integrity": "sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^4.2.1", - "@types/eslint": "^8.4.5", - "rollup": "^2.77.2" - }, - "peerDependencies": { - "eslint": ">=7", - "vite": ">=2" - } - }, - "node_modules/vite-plugin-eslint/node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/which-module": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" }, - "node_modules/which-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", - "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -4646,12 +541,6 @@ "node": ">=8" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, "node_modules/y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", @@ -4689,66 +578,6 @@ "engines": { "node": ">=6" } - }, - "node_modules/yargs/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } } } } diff --git a/examples/authz/3rd-party-app/package.json b/examples/authz/3rd-party-app/package.json index 12045de..11bb8b8 100644 --- a/examples/authz/3rd-party-app/package.json +++ b/examples/authz/3rd-party-app/package.json @@ -1,33 +1,19 @@ { "name": "pubky-auth-3rd-party", - "description": "Demo 3rd party app to show case Pubky Authorization", + "private": true, + "version": "0.0.0", "type": "module", "scripts": { "start": "npm run dev", "dev": "vite --host --open", - "lint": "eslint --ext .js ./", - "lint:fix": "eslint --fix --ext .js ./", - "format": "prettier --write \"./**/*.{js,jsx,json,css}\"", "build": "vite build", - "preview": "vite preview --open", - "buildpreview": "vite build && vite preview --open" - }, - "devDependencies": { - "autoprefixer": "^10.4.20", - "cssnano": "^7.0.5", - "eslint": "^8.57.0", - "eslint-config-airbnb-base": "^15.0.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-import": "^2.29.1", - "eslint-plugin-prettier": "^5.2.1", - "postcss": "^8.4.41", - "postcss-nesting": "^13.0.0", - "prettier": "^3.3.3", - "vite": "5.4.2", - "vite-plugin-eslint": "^1.8.1" + "preview": "vite preview" }, "dependencies": { - "qrcode": "^1.5.4", - "the-new-css-reset": "^1.11.3" + "lit": "^3.2.0", + "qrcode": "^1.5.4" + }, + "devDependencies": { + "vite": "^5.4.2" } } diff --git a/examples/authz/3rd-party-app/postcss.config.cjs b/examples/authz/3rd-party-app/postcss.config.cjs deleted file mode 100644 index cb76631..0000000 --- a/examples/authz/3rd-party-app/postcss.config.cjs +++ /dev/null @@ -1,13 +0,0 @@ -// For more information about PostCSS configuration files -// or the correct property values of each plugin, -// check each plugin's documentation. - -module.exports = { - plugins: { - 'postcss-nesting': {}, - autoprefixer: {}, - cssnano: { - preset: 'default' - }, - }, -}; diff --git a/examples/authz/3rd-party-app/public/screenshot.png b/examples/authz/3rd-party-app/public/screenshot.png deleted file mode 100644 index 1932778ac6969bfcc40bb54b02f3b7e91fbcd360..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70373 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 M)78&qol`;+0CoXfW&i*H diff --git a/examples/authz/3rd-party-app/public/vite.svg b/examples/authz/3rd-party-app/public/vite.svg index e7b8dfb..ee9fada 100644 --- a/examples/authz/3rd-party-app/public/vite.svg +++ b/examples/authz/3rd-party-app/public/vite.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/examples/authz/3rd-party-app/src/index.css b/examples/authz/3rd-party-app/src/index.css new file mode 100644 index 0000000..809fde4 --- /dev/null +++ b/examples/authz/3rd-party-app/src/index.css @@ -0,0 +1,48 @@ +:root { + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', + Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + color: white; + + background: radial-gradient( + circle, + transparent 20%, + #151718 20%, + #151718 80%, + transparent 80%, + transparent + ), + radial-gradient( + circle, + transparent 20%, + #151718 20%, + #151718 80%, + transparent 80%, + transparent + ) + 25px 25px, + linear-gradient(#202020 1px, transparent 2px) 0 -1px, + linear-gradient(90deg, #202020 1px, #151718 2px) -1px 0; + background-size: 50px 50px, 50px 50px, 25px 25px, 25px 25px; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 20rem; + min-height: 100vh; + font-family: var(--font-family); +} + +h1 { + font-weight: bold; + font-size: 3.2rem; + line-height: 1.1; +} + +main { + max-width: 80rem; + margin: 0 auto; + padding: 2rem; + text-align: center; +} diff --git a/examples/authz/3rd-party-app/src/pubky-auth-widget.js b/examples/authz/3rd-party-app/src/pubky-auth-widget.js new file mode 100644 index 0000000..1c94053 --- /dev/null +++ b/examples/authz/3rd-party-app/src/pubky-auth-widget.js @@ -0,0 +1,166 @@ +import { LitElement, css, html } from 'lit' +import { createRef, ref } from 'lit/directives/ref.js'; +import QRCode from 'qrcode' + +/** + * An example element. + * + * @csspart button - The button + */ +export class PubkyAuthWidget extends LitElement { + static get properties() { + return { + open: { type: Boolean }, + } + } + + canvasRef = createRef(); + + constructor() { + super() + this.open = false; + this.authUrl = "pubky:auth?cb=https://demo.httprelay.io/link/rxfa6k2k5"; + + } + + render() { + return html` +

+ +
+
+

Scan or copy Pubky auth URL

+
+ +
+ +

${this.authUrl}

+ +
+
+
+ ` + } + + _setQr(canvas) { + console.log(canvas, this.authUrl); + + QRCode.toCanvas(canvas, this.authUrl, { + margin: 2, + scale: 8, + + color: { + light: '#fff', + dark: '#000', + }, + }); + } + + _switchOpen() { + this.open = !this.open + } + + static get styles() { + return css` + button { + background: none; + border: none; + color: inherit; + cursor: pointer; + } + + p { + margin: 0; + } + + /** End reset */ + + #widget { + font-size: 10px; + color: white; + + position: fixed; + top: 1rem; + right: 1rem; + + background-color:red; + + z-index: 99999; + overflow: hidden; + background: rgba(43, 43, 43, .7372549019607844); + border: 1px solid #3c3c3c; + box-shadow: 0 10px 34px -10px rgba(236, 243, 222, .05); + border-radius: 8px; + -webkit-backdrop-filter: blur(8px); + backdrop-filter: blur(8px); + + width: 10em; + height: 4em; + + will-change: height,width; + transition-property: height, width; + transition-duration: 200ms; + transition-timing-function: ease-in; + } + + #widget.open{ + width: 35em; + height: 47em; + } + + .header { + width: 100%; + padding: 1em; + } + + #widget-content{ + padding: 1.6em + } + + #widget p { + font-size: 1.4em; + line-height: 1em; + text-align: center; + color: #fff; + opacity: .3; + } + + #qr { + width: 30em !important; + height: 30em !important; + } + + .card { + background: #3b3b3b; + border-radius: 5px; + padding: 1em; + margin-top: 1em; + display: flex; + justify-content: center; + align-items: center; + } + + .url p { + display: flex; + align-items: center; + + line-height: 1!important; + width: 90%; + overflow: hidden; + text-overflow: ellipsis; + text-wrap: nowrap; + } + + .line { + height: 1px; + background-color: #3b3b3b; + flex: 1 1; + } + ` + } +} + +window.customElements.define('pubky-auth-widget', PubkyAuthWidget) diff --git a/examples/authz/3rd-party-app/vite.config.js b/examples/authz/3rd-party-app/vite.config.js deleted file mode 100644 index d77ee50..0000000 --- a/examples/authz/3rd-party-app/vite.config.js +++ /dev/null @@ -1,13 +0,0 @@ -import { defineConfig } from 'vite'; -import eslint from 'vite-plugin-eslint'; - -export default defineConfig({ - publicDir: 'public', - root: './', - build: { - outDir: 'dist', - }, - plugins: [ - eslint({ cache: false }), - ], -});