diff --git a/.goreleaser.yml b/.goreleaser.yml
index 89e0f56..12e84db 100644
--- a/.goreleaser.yml
+++ b/.goreleaser.yml
@@ -5,7 +5,7 @@ before:
hooks:
- go mod tidy
- go generate -x
- - sh -c "cd ui && npm install && npm run build"
+ - sh -c "cd ui && npm install && npm run build && npm run docs:build"
builds:
- env:
- CGO_ENABLED=0
@@ -18,7 +18,8 @@ builds:
- goos: windows
goarch: "386"
tags:
- - embedstatic
+ - embedui
+ - embeddocs
- embedgeo
dockers:
- dockerfile: Dockerfile-goreleaser
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 90d1e3d..ae4cbc1 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -17,7 +17,7 @@
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}",
- "buildFlags": "-tags embedstatic"
+ "buildFlags": "-tags embedui"
}
]
}
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
index 92a247f..1b3c501 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -36,7 +36,7 @@ COPY fonts ./fonts
COPY data/geo ./data/geo
# RUN go install -tags libjpeg .
COPY --from=node-builder /ui/dist/ ./ui/dist
-RUN go install -tags embedstatic,embedgeo .
+RUN go install -tags embedui,embedgeo .
diff --git a/LICENSE b/LICENSE
index 0f02e27..d81ba8d 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2020 Miha Lunar
+Copyright (c) 2020-2023 Miha Lunar
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index 6d04476..8bb666a 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-
+
diff --git a/api.yaml b/api.yaml
index 755c588..ddb6cba 100644
--- a/api.yaml
+++ b/api.yaml
@@ -671,11 +671,14 @@ components:
required:
- search
- tags
+ - docs
properties:
search:
$ref: "#/components/schemas/Capability"
tags:
$ref: "#/components/schemas/Capability"
+ docs:
+ $ref: "#/components/schemas/DocsCapability"
Capability:
type: object
@@ -684,6 +687,18 @@ components:
properties:
supported:
type: boolean
+
+ DocsCapability:
+ allOf:
+ - $ref: "#/components/schemas/Capability"
+ - type: object
+ required:
+ - url
+ properties:
+ url:
+ type: string
+ description: URL to the documentation to link to from the UI.
+ default: /docs/usage
Region:
type: object
diff --git a/embed-docs-stub.go b/embed-docs-stub.go
new file mode 100644
index 0000000..6e4088c
--- /dev/null
+++ b/embed-docs-stub.go
@@ -0,0 +1,9 @@
+//go:build !embeddocs
+// +build !embeddocs
+
+package main
+
+import "embed"
+
+var StaticDocsFs embed.FS
+var StaticDocsPath = ""
diff --git a/embed-docs.go b/embed-docs.go
new file mode 100644
index 0000000..bc53f8b
--- /dev/null
+++ b/embed-docs.go
@@ -0,0 +1,10 @@
+//go:build embeddocs
+// +build embeddocs
+
+package main
+
+import "embed"
+
+//go:embed ui/docs/.vitepress/dist
+var StaticDocsFs embed.FS
+var StaticDocsPath = "ui/docs/.vitepress/dist"
diff --git a/embed-static-stub.go b/embed-ui-stub.go
similarity index 53%
rename from embed-static-stub.go
rename to embed-ui-stub.go
index 666f67d..8d77f04 100644
--- a/embed-static-stub.go
+++ b/embed-ui-stub.go
@@ -1,5 +1,5 @@
-//go:build !embedstatic
-// +build !embedstatic
+//go:build !embedui
+// +build !embedui
package main
diff --git a/embed-static.go b/embed-ui.go
similarity index 61%
rename from embed-static.go
rename to embed-ui.go
index 472ea07..a0f992d 100644
--- a/embed-static.go
+++ b/embed-ui.go
@@ -1,5 +1,5 @@
-//go:build embedstatic
-// +build embedstatic
+//go:build embedui
+// +build embedui
package main
diff --git a/internal/openapi/api.gen.go b/internal/openapi/api.gen.go
index a7c6247..a1edaa5 100644
--- a/internal/openapi/api.gen.go
+++ b/internal/openapi/api.gen.go
@@ -57,8 +57,9 @@ type Bounds struct {
// Capabilities defines model for Capabilities.
type Capabilities struct {
- Search Capability `json:"search"`
- Tags Capability `json:"tags"`
+ Docs DocsCapability `json:"docs"`
+ Search Capability `json:"search"`
+ Tags Capability `json:"tags"`
}
// Capability defines model for Capability.
@@ -80,6 +81,15 @@ type Collection struct {
// CollectionId defines model for CollectionId.
type CollectionId string
+// DocsCapability defines model for DocsCapability.
+type DocsCapability struct {
+ // Embedded struct due to allOf(#/components/schemas/Capability)
+ Capability `yaml:",inline"`
+ // Embedded fields due to inline allOf schema
+ // URL to the documentation to link to from the UI.
+ Url string `json:"url"`
+}
+
// File defines model for File.
type File string
diff --git a/justfile b/justfile
index 06a569d..2bed33b 100644
--- a/justfile
+++ b/justfile
@@ -9,6 +9,9 @@ build *args:
build-ui:
cd ui && npm run build
+build-docs:
+ cd ui && npm run docs:build
+
build-local:
goreleaser build --snapshot --single-target --clean
@@ -28,9 +31,13 @@ release-local:
run *args: build
./photofield {{args}}
-run-static *args:
- go build -tags embedstatic
- ./photofield {{args}}
+run-embed *args:
+ go build -tags embedui,embeddocs
+ PHOTOFIELD_API_PREFIX="/api" ./photofield {{args}}
+
+run-ui *args:
+ go build -tags embedui
+ PHOTOFIELD_API_PREFIX="/api" ./photofield {{args}}
run-geo *args:
go build -tags embedgeo
diff --git a/main.go b/main.go
index 9c2dd27..db6e5e5 100644
--- a/main.go
+++ b/main.go
@@ -643,6 +643,10 @@ func (*Api) PostTasks(w http.ResponseWriter, r *http.Request) {
}
func (*Api) GetCapabilities(w http.ResponseWriter, r *http.Request) {
+ docsUrl := os.Getenv("PHOTOFIELD_DOCS_URL")
+ if docsUrl == "" {
+ docsUrl = "/docs/usage"
+ }
respond(w, r, http.StatusOK, openapi.Capabilities{
Search: openapi.Capability{
Supported: imageSource.AI.Available(),
@@ -650,6 +654,12 @@ func (*Api) GetCapabilities(w http.ResponseWriter, r *http.Request) {
Tags: openapi.Capability{
Supported: tagsEnabled,
},
+ Docs: openapi.DocsCapability{
+ Capability: openapi.Capability{
+ Supported: docsUrl != "",
+ },
+ Url: docsUrl,
+ },
})
}
@@ -1449,21 +1459,34 @@ func main() {
mime.AddExtensionType(".jpg", "image/jpg")
mime.AddExtensionType(".jpeg", "image/jpeg")
mime.AddExtensionType(".ico", "image/vnd.microsoft.icon")
- subfs, err := fs.Sub(StaticFs, "ui/dist")
+
+ uifs, err := fs.Sub(StaticFs, "ui/dist")
if err != nil {
panic(err)
}
-
- sfs := spaFs{
- root: http.FS(subfs),
- }
-
- server := gzipped.FileServer(sfs)
+ uihandler := gzipped.FileServer(
+ spaFs{
+ root: http.FS(uifs),
+ },
+ )
r.Route("/", func(r chi.Router) {
r.Use(CacheControl())
r.Use(IndexHTML())
- r.Handle("/*", server)
+ if StaticDocsPath != "" {
+ docfs, err := fs.Sub(StaticDocsFs, StaticDocsPath)
+ if err != nil {
+ panic(err)
+ }
+ dochandler := gzipped.FileServer(http.FS(docfs))
+ r.HandleFunc("/docs/*", func(w http.ResponseWriter, r *http.Request) {
+ if ext := path.Ext(r.URL.Path); ext == "" {
+ r.URL.Path += ".html"
+ }
+ http.StripPrefix("/docs", dochandler).ServeHTTP(w, r)
+ })
+ }
+ r.Handle("/*", uihandler)
})
msg = fmt.Sprintf("ui at %v, %s", addr, msg)
}
diff --git a/ui/docs/.vitepress/.gitignore b/ui/docs/.vitepress/.gitignore
new file mode 100644
index 0000000..5e46596
--- /dev/null
+++ b/ui/docs/.vitepress/.gitignore
@@ -0,0 +1 @@
+cache
\ No newline at end of file
diff --git a/ui/docs/.vitepress/config.mts b/ui/docs/.vitepress/config.mts
new file mode 100644
index 0000000..c7cb8d0
--- /dev/null
+++ b/ui/docs/.vitepress/config.mts
@@ -0,0 +1,63 @@
+import { defineConfig } from 'vitepress'
+
+// https://vitepress.dev/reference/site-config
+export default defineConfig({
+ title: "Photofield",
+ description: "Self-Hosted Personal Photo Gallery",
+ ignoreDeadLinks: [
+ /^https?:\/\/localhost/,
+ ],
+ base: '/docs/',
+ cleanUrls: true,
+ themeConfig: {
+ // https://vitepress.dev/reference/default-theme-config
+
+ logo: "/favicon-32x32.png",
+
+ editLink: {
+ pattern: 'https://github.com/smilyorg/photofield/edit/main/docs/:path'
+ },
+
+ nav: [
+ { text: 'Home', link: '/' },
+ { text: 'Quick Start', link: '/quick-start' },
+ ],
+
+ sidebar: [
+ {
+ text: 'Install',
+ items: [
+ { text: 'Quick Start', link: '/quick-start' },
+ ]
+ },
+ {
+ text: 'Usage',
+ link: '/usage',
+ items: [
+ { text: 'User Interface', link: '/user-interface' },
+ { text: 'Configuration', link: '/configuration' },
+ { text: 'Maintenance', link: '/maintenance' },
+ ]
+ },
+ {
+ text: 'Contributing',
+ link: '/contributing',
+ items: [
+ { text: 'Development', link: '/development' },
+ ]
+ },
+ {
+ text: 'About',
+ items: [
+ { text: 'License', link: '/license' },
+ { text: 'Credits', link: '/credits' },
+ ]
+ }
+ ],
+
+ socialLinks: [
+ { icon: 'github', link: 'https://github.com/SmilyOrg/photofield' }
+ ]
+
+ },
+})
diff --git a/ui/docs/.vitepress/theme/custom.css b/ui/docs/.vitepress/theme/custom.css
new file mode 100644
index 0000000..69eb8fe
--- /dev/null
+++ b/ui/docs/.vitepress/theme/custom.css
@@ -0,0 +1,15 @@
+:root {
+ --vp-c-brand-1: #dd8888;
+ --vp-c-brand-2: #dd8888;
+ --vp-c-brand-3: #be6868;
+}
+
+.VPFeature article > img {
+ margin-left: -24px;
+ margin-top: -24px;
+ margin-bottom: 24px;
+ width: calc(100% + 48px);
+ max-width: calc(100% + 48px);
+ border-top-left-radius: 12px;
+ border-top-right-radius: 12px;
+}
diff --git a/ui/docs/.vitepress/theme/index.js b/ui/docs/.vitepress/theme/index.js
new file mode 100644
index 0000000..bed9095
--- /dev/null
+++ b/ui/docs/.vitepress/theme/index.js
@@ -0,0 +1,5 @@
+// .vitepress/theme/index.js
+import DefaultTheme from 'vitepress/theme'
+import './custom.css'
+
+export default DefaultTheme
\ No newline at end of file
diff --git a/ui/docs/assets/app-bar.png b/ui/docs/assets/app-bar.png
new file mode 100644
index 0000000..fcd66b3
Binary files /dev/null and b/ui/docs/assets/app-bar.png differ
diff --git a/ui/docs/assets/background.jpeg b/ui/docs/assets/background.jpeg
new file mode 100644
index 0000000..0cc8732
Binary files /dev/null and b/ui/docs/assets/background.jpeg differ
diff --git a/ui/docs/assets/context-menu.jpeg b/ui/docs/assets/context-menu.jpeg
new file mode 100644
index 0000000..5ce1a94
Binary files /dev/null and b/ui/docs/assets/context-menu.jpeg differ
diff --git a/ui/docs/components/Background.vue b/ui/docs/components/Background.vue
new file mode 100644
index 0000000..1a0a2be
--- /dev/null
+++ b/ui/docs/components/Background.vue
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ui/docs/configuration.md b/ui/docs/configuration.md
new file mode 100644
index 0000000..5660588
--- /dev/null
+++ b/ui/docs/configuration.md
@@ -0,0 +1,39 @@
+# Configuration
+
+You can configure the app via `configuration.yaml`.
+
+The location of the file depends on your installation method, see
+[Quick Start](/quick-start).
+
+## Minimal Example
+
+The following is a minimal `configuration.yaml` example, see [Defaults](#defaults) for all options.
+
+::: code-group
+```yaml [configuration.yaml]
+collections:
+ # Normal Album-type collection
+ - name: Vacation Photos
+ dirs:
+ - /photo/vacation-photos
+
+ # Timeline collection (similar to Google Photos)
+ - name: My Timeline
+ layout: timeline
+ dirs:
+ - /photo/myphotos
+ - /exampleuser
+
+ # Create collections from sub-directories based on their name
+ - expand_subdirs: true
+ expand_sort: desc
+ dirs:
+ - /photo
+```
+
+:::
+
+## Defaults
+
+<<< @/../../defaults.yaml
+
diff --git a/ui/docs/contributing.md b/ui/docs/contributing.md
new file mode 100644
index 0000000..04ed249
--- /dev/null
+++ b/ui/docs/contributing.md
@@ -0,0 +1,10 @@
+# Contributing
+
+The source code is available at [github.com/SmilyOrg/photofield](https://github.com/SmilyOrg/photofield).
+
+Pull requests are welcome. For major changes, please [open a discussion] first to
+discuss what you would like to change.
+
+See [Development](/development) for details on how to set up your development environment.
+
+[open a discussion]: https://github.com/SmilyOrg/photofield/discussions
\ No newline at end of file
diff --git a/ui/docs/credits.md b/ui/docs/credits.md
new file mode 100644
index 0000000..f7c2249
--- /dev/null
+++ b/ui/docs/credits.md
@@ -0,0 +1,57 @@
+# Credits
+
+## Built With
+
+* [Go] - API and server-side tile rendering
+* [Canvas (tdewolff)](https://github.com/tdewolff/canvas) - vector rendering in
+ Go
+* [SQLite 3 (zombiezen)](https://github.com/zombiezen/go-sqlite) -
+ fast single-file database
+* [Vue 3] - frontend framework
+* [BalmUI] - Material UI components
+* [OpenLayers] - in-browser tiled image rendering
+* [geoBoundaries](https://www.geoboundaries.org/) for geographic boundary data used for reverse geolocation
+* [+ more Go libraries](go.mod)
+* [+ more npm libraries](ui/package.json)
+
+## Special Thanks
+
+* [Open Images Dataset](https://opensource.google/projects/open-images-dataset) for the sample image dataset
+* [OpenSeadragon] tiled image rendering library used previously
+* [sams96/rgeo](https://github.com/sams96/rgeo) for previous reverse geolocation implementation and inspiration
+* [Best-README-Template](https://github.com/othneildrew/Best-README-Template) and [readme.so](https://readme.so/) for readme ideas
+
+## Third Party Libraries
+
+Thanks to all the authors of the third party libraries used in this project.
+
+### API
+<<< @/../../go.mod
+
+### UI
+
+<<< @/../package.json
+
+
+[open an issue]: https://github.com/SmilyOrg/photofield/issues
+[Getting Started]: #getting-started
+[`defaults.yaml`]: defaults.yaml
+
+[open-images-dataset]: https://opensource.google/projects/open-images-dataset
+
+[Scoop]: https://scoop.sh/
+[just]: https://github.com/casey/just
+[watchexec]: https://github.com/watchexec/watchexec
+
+[Go]: https://golang.org/
+[GoReleaser]: https://github.com/goreleaser/goreleaser
+[godirwalk]: https://github.com/karrick/godirwalk
+[prominent color]: https://github.com/EdlinOrg/prominentcolor
+
+[OpenLayers]: https://openlayers.org/
+[OpenSeadragon]: https://openseadragon.github.io/
+[Node.js]: https://nodejs.org/
+[Vue 3]: https://v3.vuejs.org/
+[BalmUI]: https://next-material.balmjs.com/
+[photofield-ai]: https://github.com/smilyorg/photofield-ai
+[tinygpkg]: https://github.com/smilyorg/tinygpkg
diff --git a/ui/docs/development.md b/ui/docs/development.md
new file mode 100644
index 0000000..d63331c
--- /dev/null
+++ b/ui/docs/development.md
@@ -0,0 +1,58 @@
+# Development
+
+## Prerequisites
+
+* [Go] - for the API server
+* [Node.js] - for the frontend
+* [just] - to conveniently run common commands
+* sh-like shell (e.g. sh, bash, busybox) - required by `just`
+* [watchexec] - to auto-reload the API server
+* [ExifTool] - for metadata extraction
+* [FFmpeg] - for format conversion
+
+**[Scoop] (Windows)**: `scoop install busybox just exiftool watchexec`
+
+## Installation
+
+1. Clone the repo
+ ```sh
+ git clone https://github.com/smilyorg/photofield.git
+ ```
+2. Install Go dependencies
+ ```sh
+ go get
+ ```
+3. Install NPM packages
+ ```sh
+ cd ui
+ npm install
+ ```
+
+## Running
+
+Run both the API server and the UI server in separate terminals. They are set
+up to work with each other by default with the API server running at port `8080`
+and the UI server on port `3000`.
+
+`just` is [just] as defined in the [prerequisites](#prerequisites).
+
+1. Run the API and watch for changes
+ ```sh
+ just watch
+ ```
+
+2. Run the UI server in a separate terminal and watch for changes
+ ```sh
+ cd ui
+ npm run dev
+ ```
+3. Open http://localhost:3000
+
+[Go]: https://golang.org/
+[Node.js]: https://nodejs.org/
+[just]: https://github.com/casey/just
+[watchexec]: https://github.com/watchexec/watchexec
+[ExifTool]: https://exiftool.org/
+[FFmpeg]: https://ffmpeg.org/
+
+[Scoop]: https://scoop.sh/
\ No newline at end of file
diff --git a/ui/docs/index.md b/ui/docs/index.md
new file mode 100644
index 0000000..fa43b7d
--- /dev/null
+++ b/ui/docs/index.md
@@ -0,0 +1,116 @@
+---
+# https://vitepress.dev/reference/default-theme-home-page
+layout: home
+
+hero:
+ name: "Photofield"
+ text: Self-Hosted Personal Photo Gallery
+ tagline: |
+ A non-invasive local photo viewer with a focus on speed and simplicity.
+
+ actions:
+ - theme: brand
+ text: Quick Start
+ link: /quick-start
+ - theme: alt
+ text: Usage
+ link: /usage
+ - theme: alt
+ text: Demo
+ link: https://demo.photofield.dev/
+
+features:
+ - icon:
+ src: /assets/features/seamless-zoom.gif
+ title: |
+ Seamless zoomable interface
+ details: |
+ Every view is zoomable if you ever need to see just a little more detail.
+
+ - icon:
+ src: /assets/features/progressive-load.gif
+ title: |
+ Progressive multi-resolution loading
+ details: |
+ The whole layout is progressively loaded from a low-res preview to a full quality photo.
+
+ - icon:
+ src: /assets/features/downloads.png
+ title: |
+ Simple to run
+ link: https://github.com/SmilyOrg/photofield/releases
+ details: |
+ All the dependencies are packed into a single executable for Windows, Linux, and macOS. Just download and run. Docker images are also available.
+
+ - icon:
+ src: /assets/features/gource.jpeg
+ title: |
+ Open Source (MIT)
+ link: /contributing
+ details: |
+ The source code is available on GitHub. Contributions are welcome.
+
+ - icon:
+ src: /assets/features/read-only.png
+ title: |
+ Non-destructive
+ details: |
+ Your files and directories are treated as an untouchable source of truth and are never modified. You can even use a read-only mount.
+
+ - icon:
+ src: /assets/features/file-scroll.gif
+ title: |
+ Fast indexing
+ details: |
+ Files are indexed practically at the speed of the file system at up to 10000 files/sec. Additional details are extracted as follow-up operations at up to 1000 files/sec.
+
+ - icon:
+ src: /assets/features/media-system.png
+ title: |
+ Flexible media system
+ details: |
+ Reuse hundreds of gigabytes of existing thumbnails or just let optimized versions be generated automatically to speed up display.
+
+ - icon:
+ src: /assets/features/map.jpg
+ title: |
+ Different views
+ details: |
+ Collections of photos can be displayed with different layouts, like an album, a timeline, or a map.
+
+ - icon:
+ src: /assets/features/slovenia.jpg
+ title: |
+ Reverse geolocation
+ details: |
+ Local, embedded reverse geolocation, negligible performance impact, no API calls needed. Supports ~50 thousand places powered by geoBoundaries.
+
+ - icon:
+ src: /assets/features/cat-eyes.jpg
+ title: |
+ Semantic search (alpha)
+ details: |
+ You can search for photo contents using words like "beach sunset", "a couple kissing", or "cat eyes". Needs to be configured as it requires running a separate AI server.
+
+ - icon:
+ src: /assets/features/tags.jpg
+ title: |
+ Tags (alpha)
+ details: |
+ You can tag photos with arbitrary tags, which are only stored in the database and not in the photos themselves. Needs to be enabled in the configuration.
+
+ - icon:
+ src: /assets/features/llama.gif
+ title: |
+ Basic video support
+ details: |
+ Videos are supported, however there are some usability quirks. Previously transcoded resolutions are supported, but there is no support for on-the-fly transcoding right now.
+
+---
+
+
+
+
diff --git a/ui/docs/license.md b/ui/docs/license.md
new file mode 100644
index 0000000..7bf1ba1
--- /dev/null
+++ b/ui/docs/license.md
@@ -0,0 +1,5 @@
+# License
+
+This project is licensed under the MIT License.
+
+<<< @/../../LICENSE
diff --git a/ui/docs/maintenance.md b/ui/docs/maintenance.md
new file mode 100644
index 0000000..b51542e
--- /dev/null
+++ b/ui/docs/maintenance.md
@@ -0,0 +1,26 @@
+# Maintenance
+
+Over time the cache database can grow in size due to version upgrades.
+To shrink the database to its minimum size, you can _vacuum_ it. Multiple vacuums in a row have no effect as the vacuum itself rewrites the database from
+the ground up.
+
+While the vacuum is in progress, it will take twice the database size and may
+take several minutes if you have lots of photos and a low-power system.
+
+As an example it took around 5 minutes to vacuum a 260 MiB database containing around 500k photos on a DS418play. The size after vacuuming was 61 MiB as all the
+leftover data from database upgrades was cleaned up.
+
+## How to Vacuum
+
+1. Shut down the server
+2. Run the following command
+ ::: code-group
+ ```sh [CLI]
+ ./photofield -vacuum
+ ```
+
+ ```sh [Docker]
+ docker exec -it photofield ./photofield -vacuum
+ ```
+ :::
+3. Restart the server
\ No newline at end of file
diff --git a/ui/docs/public/assets/features/cat-eyes.jpg b/ui/docs/public/assets/features/cat-eyes.jpg
new file mode 100644
index 0000000..7641746
Binary files /dev/null and b/ui/docs/public/assets/features/cat-eyes.jpg differ
diff --git a/ui/docs/public/assets/features/downloads.png b/ui/docs/public/assets/features/downloads.png
new file mode 100644
index 0000000..f6bcc88
Binary files /dev/null and b/ui/docs/public/assets/features/downloads.png differ
diff --git a/ui/docs/public/assets/features/file-scroll.gif b/ui/docs/public/assets/features/file-scroll.gif
new file mode 100644
index 0000000..81d3d60
Binary files /dev/null and b/ui/docs/public/assets/features/file-scroll.gif differ
diff --git a/ui/docs/public/assets/features/gource.jpeg b/ui/docs/public/assets/features/gource.jpeg
new file mode 100644
index 0000000..8c973b9
Binary files /dev/null and b/ui/docs/public/assets/features/gource.jpeg differ
diff --git a/ui/docs/public/assets/features/llama.gif b/ui/docs/public/assets/features/llama.gif
new file mode 100644
index 0000000..2139741
Binary files /dev/null and b/ui/docs/public/assets/features/llama.gif differ
diff --git a/ui/docs/public/assets/features/map.jpg b/ui/docs/public/assets/features/map.jpg
new file mode 100644
index 0000000..fb91ee0
Binary files /dev/null and b/ui/docs/public/assets/features/map.jpg differ
diff --git a/ui/docs/public/assets/features/media-system.png b/ui/docs/public/assets/features/media-system.png
new file mode 100644
index 0000000..fd64825
Binary files /dev/null and b/ui/docs/public/assets/features/media-system.png differ
diff --git a/ui/docs/public/assets/features/progressive-load.gif b/ui/docs/public/assets/features/progressive-load.gif
new file mode 100644
index 0000000..314b55b
Binary files /dev/null and b/ui/docs/public/assets/features/progressive-load.gif differ
diff --git a/ui/docs/public/assets/features/read-only.png b/ui/docs/public/assets/features/read-only.png
new file mode 100644
index 0000000..82df72f
Binary files /dev/null and b/ui/docs/public/assets/features/read-only.png differ
diff --git a/ui/docs/public/assets/features/seamless-zoom.gif b/ui/docs/public/assets/features/seamless-zoom.gif
new file mode 100644
index 0000000..147df10
Binary files /dev/null and b/ui/docs/public/assets/features/seamless-zoom.gif differ
diff --git a/ui/docs/public/assets/features/slovenia.jpg b/ui/docs/public/assets/features/slovenia.jpg
new file mode 100644
index 0000000..5c2765e
Binary files /dev/null and b/ui/docs/public/assets/features/slovenia.jpg differ
diff --git a/ui/docs/public/assets/features/tags.jpg b/ui/docs/public/assets/features/tags.jpg
new file mode 100644
index 0000000..0806bad
Binary files /dev/null and b/ui/docs/public/assets/features/tags.jpg differ
diff --git a/ui/docs/public/favicon-32x32.png b/ui/docs/public/favicon-32x32.png
new file mode 100644
index 0000000..6adf913
Binary files /dev/null and b/ui/docs/public/favicon-32x32.png differ
diff --git a/ui/docs/public/favicon.ico b/ui/docs/public/favicon.ico
new file mode 100644
index 0000000..5a6438d
Binary files /dev/null and b/ui/docs/public/favicon.ico differ
diff --git a/ui/docs/quick-start.md b/ui/docs/quick-start.md
new file mode 100644
index 0000000..c63a854
--- /dev/null
+++ b/ui/docs/quick-start.md
@@ -0,0 +1,48 @@
+# Quick Start
+
+## Simple Executable
+
+1. [Download and unpack a release] to a folder with folders of photos.
+2. Run `./photofield` or double-click on `photofield.exe` to start the server.
+3. Open http://localhost:8080 and you should see folders in the directory displayed as collections.
+5. You're done 🥳
+
+Check out [Usage](/usage) for more details.
+
+[Download and unpack a release]: https://github.com/SmilyOrg/photofield/releases
+
+## Docker
+
+Make sure you create an empty `data` directory in the working directory and that
+you put some photos in a `photos` directory.
+
+```sh
+docker run -p 8080:8080 -v "$PWD/data:/app/data" -v "$PWD/photos:/app/photos:ro" ghcr.io/smilyorg/photofield
+```
+
+The cache database will be persisted to the `data` dir and the app should be
+accessible at http://localhost:8080. It should show the `photos` collection by
+default. For further configuration, create a `configuration.yaml` in the
+`data` dir.
+
+## Docker Compose
+
+This example binds the usual Synology Moments photo directories and assumes
+a certain path structure, modify to your needs graciously. It also assumes you
+have configured the `/photo` and `/user` directories as collections in `configuration.yaml`.
+
+::: code-group
+```yaml [docker-compose.yaml]
+version: '3.3'
+services:
+
+ photofield:
+ image: ghcr.io/smilyorg/photofield:latest
+ ports:
+ - 8080:8080
+ volumes:
+ - /volume1/docker/photofield/data:/app/data
+ - /volume1/photo/:/photo:ro
+ - /volume1/homes/ExampleUser/Drive/Moments:/exampleuser:ro
+```
+:::
\ No newline at end of file
diff --git a/ui/docs/usage.md b/ui/docs/usage.md
new file mode 100644
index 0000000..15ee1fe
--- /dev/null
+++ b/ui/docs/usage.md
@@ -0,0 +1,3 @@
+# Usage
+
+This section describes how to use, configure, and maintain the app. It's not very extensive yet, but it should get you started.
\ No newline at end of file
diff --git a/ui/docs/user-interface.md b/ui/docs/user-interface.md
new file mode 100644
index 0000000..7233e0b
--- /dev/null
+++ b/ui/docs/user-interface.md
@@ -0,0 +1,21 @@
+# User Interface
+
+## App Bar
+![App bar explanation](assets/app-bar.png)
+
+## Photo Viewer
+
+* Click to zoom to a photo
+ * `Escape` or pinch out to get back to the list of photos
+* Zoom in/out directly with `Ctrl/Cmd`+`Wheel`
+* Pinch-to-zoom on touch devices
+* Press/hold `Arrow Left` or `Arrow Right` to quickly switch between photos
+* Right-click or long-tap as usual to open a custom context menu allowing you to
+ copy or download original photos or thumbnails.
+
+ ![context menu](assets/context-menu.jpeg)
+
+ _You can open/copy/copy link the original or access any existing thumbnails
+ that already exist for it with the bottom list of thumbnails by pixel width._
+
+
diff --git a/ui/package-lock.json b/ui/package-lock.json
index 59d1d07..3d2644a 100644
--- a/ui/package-lock.json
+++ b/ui/package-lock.json
@@ -26,7 +26,7 @@
"qs": "^6.11.0",
"swrv": "^1.0.0-beta.8",
"throttle-debounce": "^5.0.0",
- "vue": "3.2.37",
+ "vue": "3.3.7",
"vue-concurrency": "^4.0.1",
"vue-multiselect": "^3.0.0-beta.1",
"vue-router": "^4.1.5"
@@ -36,13 +36,188 @@
"eslint-plugin-vue": "^9.2.0",
"rollup-plugin-visualizer": "^5.6.0",
"vite": "^2.9.14",
- "vite-plugin-compression": "^0.5.1"
+ "vite-plugin-compression": "^0.5.1",
+ "vitepress": "^1.0.0-rc.24"
+ }
+ },
+ "node_modules/@algolia/autocomplete-core": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz",
+ "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/autocomplete-plugin-algolia-insights": "1.9.3",
+ "@algolia/autocomplete-shared": "1.9.3"
+ }
+ },
+ "node_modules/@algolia/autocomplete-plugin-algolia-insights": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz",
+ "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/autocomplete-shared": "1.9.3"
+ },
+ "peerDependencies": {
+ "search-insights": ">= 1 < 3"
+ }
+ },
+ "node_modules/@algolia/autocomplete-preset-algolia": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz",
+ "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/autocomplete-shared": "1.9.3"
+ },
+ "peerDependencies": {
+ "@algolia/client-search": ">= 4.9.1 < 6",
+ "algoliasearch": ">= 4.9.1 < 6"
+ }
+ },
+ "node_modules/@algolia/autocomplete-shared": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz",
+ "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==",
+ "dev": true,
+ "peerDependencies": {
+ "@algolia/client-search": ">= 4.9.1 < 6",
+ "algoliasearch": ">= 4.9.1 < 6"
+ }
+ },
+ "node_modules/@algolia/cache-browser-local-storage": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz",
+ "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/cache-common": "4.20.0"
+ }
+ },
+ "node_modules/@algolia/cache-common": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz",
+ "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==",
+ "dev": true
+ },
+ "node_modules/@algolia/cache-in-memory": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz",
+ "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/cache-common": "4.20.0"
+ }
+ },
+ "node_modules/@algolia/client-account": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz",
+ "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/client-common": "4.20.0",
+ "@algolia/client-search": "4.20.0",
+ "@algolia/transporter": "4.20.0"
+ }
+ },
+ "node_modules/@algolia/client-analytics": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz",
+ "integrity": "sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/client-common": "4.20.0",
+ "@algolia/client-search": "4.20.0",
+ "@algolia/requester-common": "4.20.0",
+ "@algolia/transporter": "4.20.0"
+ }
+ },
+ "node_modules/@algolia/client-common": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz",
+ "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/requester-common": "4.20.0",
+ "@algolia/transporter": "4.20.0"
+ }
+ },
+ "node_modules/@algolia/client-personalization": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz",
+ "integrity": "sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/client-common": "4.20.0",
+ "@algolia/requester-common": "4.20.0",
+ "@algolia/transporter": "4.20.0"
+ }
+ },
+ "node_modules/@algolia/client-search": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz",
+ "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/client-common": "4.20.0",
+ "@algolia/requester-common": "4.20.0",
+ "@algolia/transporter": "4.20.0"
+ }
+ },
+ "node_modules/@algolia/logger-common": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz",
+ "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==",
+ "dev": true
+ },
+ "node_modules/@algolia/logger-console": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz",
+ "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/logger-common": "4.20.0"
+ }
+ },
+ "node_modules/@algolia/requester-browser-xhr": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz",
+ "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/requester-common": "4.20.0"
+ }
+ },
+ "node_modules/@algolia/requester-common": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz",
+ "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==",
+ "dev": true
+ },
+ "node_modules/@algolia/requester-node-http": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz",
+ "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/requester-common": "4.20.0"
+ }
+ },
+ "node_modules/@algolia/transporter": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz",
+ "integrity": "sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/cache-common": "4.20.0",
+ "@algolia/logger-common": "4.20.0",
+ "@algolia/requester-common": "4.20.0"
}
},
"node_modules/@babel/parser": {
- "version": "7.18.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.8.tgz",
- "integrity": "sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
+ "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -50,6 +225,406 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@docsearch/css": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz",
+ "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==",
+ "dev": true
+ },
+ "node_modules/@docsearch/js": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.5.2.tgz",
+ "integrity": "sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==",
+ "dev": true,
+ "dependencies": {
+ "@docsearch/react": "3.5.2",
+ "preact": "^10.0.0"
+ }
+ },
+ "node_modules/@docsearch/react": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz",
+ "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/autocomplete-core": "1.9.3",
+ "@algolia/autocomplete-preset-algolia": "1.9.3",
+ "@docsearch/css": "3.5.2",
+ "algoliasearch": "^4.19.1"
+ },
+ "peerDependencies": {
+ "@types/react": ">= 16.8.0 < 19.0.0",
+ "react": ">= 16.8.0 < 19.0.0",
+ "react-dom": ">= 16.8.0 < 19.0.0",
+ "search-insights": ">= 1 < 3"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ },
+ "search-insights": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
+ "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
+ "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
+ "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
+ "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
+ "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
+ "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
+ "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
+ "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
+ "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
+ "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
+ "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
+ "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
+ "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
+ "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
+ "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
+ "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
+ "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
+ "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
+ "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
+ "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
+ "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
+ "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/@eslint/eslintrc": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz",
@@ -113,6 +688,11 @@
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
"dev": true
},
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+ },
"node_modules/@mapbox/jsonlint-lines-primitives": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz",
@@ -904,6 +1484,28 @@
"resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.6.6.tgz",
"integrity": "sha512-3MUulwMtsdCA9lw8a/Kc0XDBJJVCkYTQ5aGd+///TbfkOMXoOGAzzoiYKwPEsLYZv7He7fKJ/mCacqKOO7REyg=="
},
+ "node_modules/@types/linkify-it": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.4.tgz",
+ "integrity": "sha512-hPpIeeHb/2UuCw06kSNAOVWgehBLXEo0/fUs0mw3W2qhqX89PI2yvok83MnuctYGCPrabGIoi0fFso4DQ+sNUQ==",
+ "dev": true
+ },
+ "node_modules/@types/markdown-it": {
+ "version": "13.0.5",
+ "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.5.tgz",
+ "integrity": "sha512-QhJP7hkq3FCrFNx0szMNCT/79CXfcEgUIA3jc5GBfeXqoKsk3R8JZm2wRXJ2DiyjbPE4VMFOSDemLFcUTZmHEQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/linkify-it": "*",
+ "@types/mdurl": "*"
+ }
+ },
+ "node_modules/@types/mdurl": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.4.tgz",
+ "integrity": "sha512-ARVxjAEX5TARFRzpDRVC6cEk0hUIXCCwaMhz8y7S1/PxU6zZS1UMjyobz7q4w/D/R552r4++EhwmXK1N2rAy0A==",
+ "dev": true
+ },
"node_modules/@types/web-bluetooth": {
"version": "0.0.15",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.15.tgz",
@@ -920,145 +1522,276 @@
"vite": "^2.5.10"
}
},
- "node_modules/@vue/devtools-api": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.0.tgz",
- "integrity": "sha512-pF1G4wky+hkifDiZSWn8xfuLOJI1ZXtuambpBEYaf7Xaf6zC/pM29rvAGpd3qaGXnr4BAXU1Pxz/VfvBGwexGA=="
+ "node_modules/@vue/compiler-core": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.7.tgz",
+ "integrity": "sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==",
+ "dependencies": {
+ "@babel/parser": "^7.23.0",
+ "@vue/shared": "3.3.7",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.0.2"
+ }
},
- "node_modules/@vue/reactivity": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.37.tgz",
- "integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==",
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.7.tgz",
+ "integrity": "sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==",
"dependencies": {
- "@vue/shared": "3.2.37"
+ "@vue/compiler-core": "3.3.7",
+ "@vue/shared": "3.3.7"
}
},
- "node_modules/@vue/reactivity-transform": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz",
- "integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==",
+ "node_modules/@vue/compiler-sfc": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.7.tgz",
+ "integrity": "sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==",
"dependencies": {
- "@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.37",
- "@vue/shared": "3.2.37",
+ "@babel/parser": "^7.23.0",
+ "@vue/compiler-core": "3.3.7",
+ "@vue/compiler-dom": "3.3.7",
+ "@vue/compiler-ssr": "3.3.7",
+ "@vue/reactivity-transform": "3.3.7",
+ "@vue/shared": "3.3.7",
"estree-walker": "^2.0.2",
- "magic-string": "^0.25.7"
+ "magic-string": "^0.30.5",
+ "postcss": "^8.4.31",
+ "source-map-js": "^1.0.2"
}
},
- "node_modules/@vue/reactivity-transform/node_modules/@vue/compiler-core": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
- "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
+ "node_modules/@vue/compiler-sfc/node_modules/@vue/reactivity-transform": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.7.tgz",
+ "integrity": "sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==",
"dependencies": {
- "@babel/parser": "^7.16.4",
- "@vue/shared": "3.2.37",
+ "@babel/parser": "^7.23.0",
+ "@vue/compiler-core": "3.3.7",
+ "@vue/shared": "3.3.7",
"estree-walker": "^2.0.2",
- "source-map": "^0.6.1"
+ "magic-string": "^0.30.5"
}
},
- "node_modules/@vue/reactivity-transform/node_modules/@vue/shared": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
- "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
+ "node_modules/@vue/compiler-sfc/node_modules/magic-string": {
+ "version": "0.30.5",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
+ "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.15"
+ },
+ "engines": {
+ "node": ">=12"
+ }
},
- "node_modules/@vue/reactivity/node_modules/@vue/shared": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
- "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.7.tgz",
+ "integrity": "sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==",
+ "dependencies": {
+ "@vue/compiler-dom": "3.3.7",
+ "@vue/shared": "3.3.7"
+ }
},
- "node_modules/@vue/runtime-core": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.37.tgz",
- "integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==",
+ "node_modules/@vue/devtools-api": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz",
+ "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA=="
+ },
+ "node_modules/@vue/reactivity": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.7.tgz",
+ "integrity": "sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==",
"dependencies": {
- "@vue/reactivity": "3.2.37",
- "@vue/shared": "3.2.37"
+ "@vue/shared": "3.3.7"
}
},
- "node_modules/@vue/runtime-core/node_modules/@vue/shared": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
- "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
+ "node_modules/@vue/runtime-core": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.7.tgz",
+ "integrity": "sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ==",
+ "dependencies": {
+ "@vue/reactivity": "3.3.7",
+ "@vue/shared": "3.3.7"
+ }
},
"node_modules/@vue/runtime-dom": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz",
- "integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==",
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.7.tgz",
+ "integrity": "sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw==",
+ "dependencies": {
+ "@vue/runtime-core": "3.3.7",
+ "@vue/shared": "3.3.7",
+ "csstype": "^3.1.2"
+ }
+ },
+ "node_modules/@vue/server-renderer": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.7.tgz",
+ "integrity": "sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==",
"dependencies": {
- "@vue/runtime-core": "3.2.37",
- "@vue/shared": "3.2.37",
- "csstype": "^2.6.8"
+ "@vue/compiler-ssr": "3.3.7",
+ "@vue/shared": "3.3.7"
+ },
+ "peerDependencies": {
+ "vue": "3.3.7"
+ }
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.7.tgz",
+ "integrity": "sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg=="
+ },
+ "node_modules/@vueuse/core": {
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.3.0.tgz",
+ "integrity": "sha512-64Rna8IQDWpdrJxgitDg7yv1yTp41ZmvV8zlLEylK4QQLWAhz1OFGZDPZ8bU4lwcGgbEJ2sGi2jrdNh4LttUSQ==",
+ "dependencies": {
+ "@types/web-bluetooth": "^0.0.15",
+ "@vueuse/metadata": "9.3.0",
+ "@vueuse/shared": "9.3.0",
+ "vue-demi": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/core/node_modules/vue-demi": {
+ "version": "0.13.11",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz",
+ "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
}
},
- "node_modules/@vue/runtime-dom/node_modules/@vue/shared": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
- "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
- },
- "node_modules/@vue/server-renderer": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.37.tgz",
- "integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==",
+ "node_modules/@vueuse/integrations": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.5.0.tgz",
+ "integrity": "sha512-fm5sXLCK0Ww3rRnzqnCQRmfjDURaI4xMsx+T+cec0ngQqHx/JgUtm8G0vRjwtonIeTBsH1Q8L3SucE+7K7upJQ==",
+ "dev": true,
"dependencies": {
- "@vue/compiler-ssr": "3.2.37",
- "@vue/shared": "3.2.37"
+ "@vueuse/core": "10.5.0",
+ "@vueuse/shared": "10.5.0",
+ "vue-demi": ">=0.14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
- "vue": "3.2.37"
+ "async-validator": "*",
+ "axios": "*",
+ "change-case": "*",
+ "drauu": "*",
+ "focus-trap": "*",
+ "fuse.js": "*",
+ "idb-keyval": "*",
+ "jwt-decode": "*",
+ "nprogress": "*",
+ "qrcode": "*",
+ "sortablejs": "*",
+ "universal-cookie": "*"
+ },
+ "peerDependenciesMeta": {
+ "async-validator": {
+ "optional": true
+ },
+ "axios": {
+ "optional": true
+ },
+ "change-case": {
+ "optional": true
+ },
+ "drauu": {
+ "optional": true
+ },
+ "focus-trap": {
+ "optional": true
+ },
+ "fuse.js": {
+ "optional": true
+ },
+ "idb-keyval": {
+ "optional": true
+ },
+ "jwt-decode": {
+ "optional": true
+ },
+ "nprogress": {
+ "optional": true
+ },
+ "qrcode": {
+ "optional": true
+ },
+ "sortablejs": {
+ "optional": true
+ },
+ "universal-cookie": {
+ "optional": true
+ }
}
},
- "node_modules/@vue/server-renderer/node_modules/@vue/compiler-core": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
- "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
- "dependencies": {
- "@babel/parser": "^7.16.4",
- "@vue/shared": "3.2.37",
- "estree-walker": "^2.0.2",
- "source-map": "^0.6.1"
- }
+ "node_modules/@vueuse/integrations/node_modules/@types/web-bluetooth": {
+ "version": "0.0.18",
+ "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.18.tgz",
+ "integrity": "sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==",
+ "dev": true
},
- "node_modules/@vue/server-renderer/node_modules/@vue/compiler-dom": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz",
- "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==",
+ "node_modules/@vueuse/integrations/node_modules/@vueuse/core": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.5.0.tgz",
+ "integrity": "sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==",
+ "dev": true,
"dependencies": {
- "@vue/compiler-core": "3.2.37",
- "@vue/shared": "3.2.37"
+ "@types/web-bluetooth": "^0.0.18",
+ "@vueuse/metadata": "10.5.0",
+ "@vueuse/shared": "10.5.0",
+ "vue-demi": ">=0.14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
}
},
- "node_modules/@vue/server-renderer/node_modules/@vue/compiler-ssr": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz",
- "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==",
- "dependencies": {
- "@vue/compiler-dom": "3.2.37",
- "@vue/shared": "3.2.37"
+ "node_modules/@vueuse/integrations/node_modules/@vueuse/metadata": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.5.0.tgz",
+ "integrity": "sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
}
},
- "node_modules/@vue/server-renderer/node_modules/@vue/shared": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
- "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
- },
- "node_modules/@vueuse/core": {
- "version": "9.3.0",
- "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.3.0.tgz",
- "integrity": "sha512-64Rna8IQDWpdrJxgitDg7yv1yTp41ZmvV8zlLEylK4QQLWAhz1OFGZDPZ8bU4lwcGgbEJ2sGi2jrdNh4LttUSQ==",
+ "node_modules/@vueuse/integrations/node_modules/@vueuse/shared": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.5.0.tgz",
+ "integrity": "sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==",
+ "dev": true,
"dependencies": {
- "@types/web-bluetooth": "^0.0.15",
- "@vueuse/metadata": "9.3.0",
- "@vueuse/shared": "9.3.0",
- "vue-demi": "*"
+ "vue-demi": ">=0.14.6"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
- "node_modules/@vueuse/core/node_modules/vue-demi": {
- "version": "0.13.11",
- "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz",
- "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
+ "node_modules/@vueuse/integrations/node_modules/vue-demi": {
+ "version": "0.14.6",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
+ "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
+ "dev": true,
"hasInstallScript": true,
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
@@ -1201,6 +1934,28 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
+ "node_modules/algoliasearch": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz",
+ "integrity": "sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==",
+ "dev": true,
+ "dependencies": {
+ "@algolia/cache-browser-local-storage": "4.20.0",
+ "@algolia/cache-common": "4.20.0",
+ "@algolia/cache-in-memory": "4.20.0",
+ "@algolia/client-account": "4.20.0",
+ "@algolia/client-analytics": "4.20.0",
+ "@algolia/client-common": "4.20.0",
+ "@algolia/client-personalization": "4.20.0",
+ "@algolia/client-search": "4.20.0",
+ "@algolia/logger-common": "4.20.0",
+ "@algolia/logger-console": "4.20.0",
+ "@algolia/requester-browser-xhr": "4.20.0",
+ "@algolia/requester-common": "4.20.0",
+ "@algolia/requester-node-http": "4.20.0",
+ "@algolia/transporter": "4.20.0"
+ }
+ },
"node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
@@ -1210,6 +1965,12 @@
"node": ">=8"
}
},
+ "node_modules/ansi-sequence-parser": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz",
+ "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==",
+ "dev": true
+ },
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -1409,9 +2170,9 @@
}
},
"node_modules/csstype": {
- "version": "2.6.20",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz",
- "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA=="
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
+ "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"node_modules/custom-event-polyfill": {
"version": "1.0.7",
@@ -2172,6 +2933,15 @@
"integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
"dev": true
},
+ "node_modules/focus-trap": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz",
+ "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==",
+ "dev": true,
+ "dependencies": {
+ "tabbable": "^6.2.0"
+ }
+ },
"node_modules/fs-extra": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
@@ -2543,6 +3313,12 @@
"resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz",
"integrity": "sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ=="
},
+ "node_modules/jsonc-parser": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
+ "dev": true
+ },
"node_modules/jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
@@ -2601,19 +3377,17 @@
"node": ">=10"
}
},
- "node_modules/magic-string": {
- "version": "0.25.7",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
- "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
- "dependencies": {
- "sourcemap-codec": "^1.4.4"
- }
- },
"node_modules/mapbox-to-css-font": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/mapbox-to-css-font/-/mapbox-to-css-font-2.4.1.tgz",
"integrity": "sha512-QQ/iKiM43DM9+aujTL45Iz5o7gDeSFmy4LPl3HZmNcwCE++NxGazf+yFpY+wCb+YS23sDa1ghpo3zrNFOcHlow=="
},
+ "node_modules/mark.js": {
+ "version": "8.11.1",
+ "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz",
+ "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==",
+ "dev": true
+ },
"node_modules/material-components-web": {
"version": "14.0.0",
"resolved": "https://registry.npmjs.org/material-components-web/-/material-components-web-14.0.0.tgz",
@@ -2687,6 +3461,12 @@
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
},
+ "node_modules/minisearch": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.2.0.tgz",
+ "integrity": "sha512-BECkorDF1TY2rGKt9XHdSeP9TP29yUbrAaCh/C03wpyf1vx3uYcP/+8XlMcpTkgoU0rBVnHMAOaP83Rc9Tm+TQ==",
+ "dev": true
+ },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -2694,9 +3474,15 @@
"dev": true
},
"node_modules/nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
+ "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -2899,9 +3685,9 @@
}
},
"node_modules/postcss": {
- "version": "8.4.21",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
- "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
+ "version": "8.4.31",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
+ "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
"funding": [
{
"type": "opencollective",
@@ -2910,10 +3696,14 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
- "nanoid": "^3.3.4",
+ "nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
@@ -2934,6 +3724,16 @@
"node": ">=4"
}
},
+ "node_modules/preact": {
+ "version": "10.18.2",
+ "resolved": "https://registry.npmjs.org/preact/-/preact-10.18.2.tgz",
+ "integrity": "sha512-X/K43vocUHDg0XhWVmTTMbec4LT/iBMh+csCEqJk+pJqegaXsvjdqN80ZZ3L+93azWCnWCZ+WGwYb8SplxeNjA==",
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/preact"
+ }
+ },
"node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -3154,6 +3954,13 @@
"resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
"integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="
},
+ "node_modules/search-insights": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.9.0.tgz",
+ "integrity": "sha512-bkWW9nIHOFkLwjQ1xqVaMbjjO5vhP26ERsH9Y3pKr8imthofEFIxlnOabkmGcw6ksRj9jWidcI65vvjJH/nTGg==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/semver": {
"version": "7.3.7",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
@@ -3190,6 +3997,18 @@
"node": ">=8"
}
},
+ "node_modules/shiki": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.5.tgz",
+ "integrity": "sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==",
+ "dev": true,
+ "dependencies": {
+ "ansi-sequence-parser": "^1.1.0",
+ "jsonc-parser": "^3.2.0",
+ "vscode-oniguruma": "^1.7.0",
+ "vscode-textmate": "^8.0.0"
+ }
+ },
"node_modules/side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
@@ -3231,14 +4050,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
@@ -3247,11 +4058,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
- },
"node_modules/string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
@@ -3330,6 +4136,12 @@
"vue": "^3.0.0"
}
},
+ "node_modules/tabbable": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz",
+ "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==",
+ "dev": true
+ },
"node_modules/text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -3408,66 +4220,337 @@
"integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==",
"dev": true
},
- "node_modules/vite": {
- "version": "2.9.14",
- "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.14.tgz",
- "integrity": "sha512-P/UCjSpSMcE54r4mPak55hWAZPlyfS369svib/gpmz8/01L822lMPOJ/RYW6tLCe1RPvMvOsJ17erf55bKp4Hw==",
+ "node_modules/vite": {
+ "version": "2.9.14",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.14.tgz",
+ "integrity": "sha512-P/UCjSpSMcE54r4mPak55hWAZPlyfS369svib/gpmz8/01L822lMPOJ/RYW6tLCe1RPvMvOsJ17erf55bKp4Hw==",
+ "dependencies": {
+ "esbuild": "^0.14.27",
+ "postcss": "^8.4.13",
+ "resolve": "^1.22.0",
+ "rollup": "^2.59.0"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": ">=12.2.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ },
+ "peerDependencies": {
+ "less": "*",
+ "sass": "*",
+ "stylus": "*"
+ },
+ "peerDependenciesMeta": {
+ "less": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite-plugin-compression": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/vite-plugin-compression/-/vite-plugin-compression-0.5.1.tgz",
+ "integrity": "sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.1.2",
+ "debug": "^4.3.3",
+ "fs-extra": "^10.0.0"
+ },
+ "peerDependencies": {
+ "vite": ">=2.0.0"
+ }
+ },
+ "node_modules/vitepress": {
+ "version": "1.0.0-rc.24",
+ "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-rc.24.tgz",
+ "integrity": "sha512-RpnL8cnOGwiRlBbrYQUm9sYkJbtyOt/wYXk2diTcokY4yvks/5lq9LuSt+MURWB6ZqwpSNHvTmxgaSfLoG0/OA==",
+ "dev": true,
+ "dependencies": {
+ "@docsearch/css": "^3.5.2",
+ "@docsearch/js": "^3.5.2",
+ "@types/markdown-it": "^13.0.4",
+ "@vitejs/plugin-vue": "4.3.1",
+ "@vue/devtools-api": "^6.5.1",
+ "@vueuse/core": "^10.5.0",
+ "@vueuse/integrations": "^10.5.0",
+ "focus-trap": "^7.5.4",
+ "mark.js": "8.11.1",
+ "minisearch": "^6.1.0",
+ "shiki": "^0.14.5",
+ "vite": "^4.5.0",
+ "vue": "^3.3.6"
+ },
+ "bin": {
+ "vitepress": "bin/vitepress.js"
+ },
+ "peerDependencies": {
+ "markdown-it-mathjax3": "^4.3.2",
+ "postcss": "^8.4.31"
+ },
+ "peerDependenciesMeta": {
+ "markdown-it-mathjax3": {
+ "optional": true
+ },
+ "postcss": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vitepress/node_modules/@types/web-bluetooth": {
+ "version": "0.0.18",
+ "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.18.tgz",
+ "integrity": "sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==",
+ "dev": true
+ },
+ "node_modules/vitepress/node_modules/@vitejs/plugin-vue": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.3.1.tgz",
+ "integrity": "sha512-tUBEtWcF7wFtII7ayNiLNDTCE1X1afySEo+XNVMNkFXaThENyCowIEX095QqbJZGTgoOcSVDJGlnde2NG4jtbQ==",
+ "dev": true,
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^4.0.0",
+ "vue": "^3.2.25"
+ }
+ },
+ "node_modules/vitepress/node_modules/@vueuse/core": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.5.0.tgz",
+ "integrity": "sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==",
+ "dev": true,
+ "dependencies": {
+ "@types/web-bluetooth": "^0.0.18",
+ "@vueuse/metadata": "10.5.0",
+ "@vueuse/shared": "10.5.0",
+ "vue-demi": ">=0.14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/vitepress/node_modules/@vueuse/core/node_modules/vue-demi": {
+ "version": "0.14.6",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
+ "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vitepress/node_modules/@vueuse/metadata": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.5.0.tgz",
+ "integrity": "sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/vitepress/node_modules/@vueuse/shared": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.5.0.tgz",
+ "integrity": "sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==",
+ "dev": true,
+ "dependencies": {
+ "vue-demi": ">=0.14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/vitepress/node_modules/@vueuse/shared/node_modules/vue-demi": {
+ "version": "0.14.6",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
+ "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vitepress/node_modules/esbuild": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
+ "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/android-arm": "0.18.20",
+ "@esbuild/android-arm64": "0.18.20",
+ "@esbuild/android-x64": "0.18.20",
+ "@esbuild/darwin-arm64": "0.18.20",
+ "@esbuild/darwin-x64": "0.18.20",
+ "@esbuild/freebsd-arm64": "0.18.20",
+ "@esbuild/freebsd-x64": "0.18.20",
+ "@esbuild/linux-arm": "0.18.20",
+ "@esbuild/linux-arm64": "0.18.20",
+ "@esbuild/linux-ia32": "0.18.20",
+ "@esbuild/linux-loong64": "0.18.20",
+ "@esbuild/linux-mips64el": "0.18.20",
+ "@esbuild/linux-ppc64": "0.18.20",
+ "@esbuild/linux-riscv64": "0.18.20",
+ "@esbuild/linux-s390x": "0.18.20",
+ "@esbuild/linux-x64": "0.18.20",
+ "@esbuild/netbsd-x64": "0.18.20",
+ "@esbuild/openbsd-x64": "0.18.20",
+ "@esbuild/sunos-x64": "0.18.20",
+ "@esbuild/win32-arm64": "0.18.20",
+ "@esbuild/win32-ia32": "0.18.20",
+ "@esbuild/win32-x64": "0.18.20"
+ }
+ },
+ "node_modules/vitepress/node_modules/rollup": {
+ "version": "3.29.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
+ "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
+ "dev": true,
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=14.18.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/vitepress/node_modules/vite": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz",
+ "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==",
+ "dev": true,
"dependencies": {
- "esbuild": "^0.14.27",
- "postcss": "^8.4.13",
- "resolve": "^1.22.0",
- "rollup": "^2.59.0"
+ "esbuild": "^0.18.10",
+ "postcss": "^8.4.27",
+ "rollup": "^3.27.1"
},
"bin": {
"vite": "bin/vite.js"
},
"engines": {
- "node": ">=12.2.0"
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
},
"optionalDependencies": {
"fsevents": "~2.3.2"
},
"peerDependencies": {
+ "@types/node": ">= 14",
"less": "*",
+ "lightningcss": "^1.21.0",
"sass": "*",
- "stylus": "*"
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
},
"peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
"less": {
"optional": true
},
+ "lightningcss": {
+ "optional": true
+ },
"sass": {
"optional": true
},
"stylus": {
"optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
}
}
},
- "node_modules/vite-plugin-compression": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/vite-plugin-compression/-/vite-plugin-compression-0.5.1.tgz",
- "integrity": "sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==",
- "dev": true,
- "dependencies": {
- "chalk": "^4.1.2",
- "debug": "^4.3.3",
- "fs-extra": "^10.0.0"
- },
- "peerDependencies": {
- "vite": ">=2.0.0"
- }
+ "node_modules/vscode-oniguruma": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
+ "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==",
+ "dev": true
+ },
+ "node_modules/vscode-textmate": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz",
+ "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==",
+ "dev": true
},
"node_modules/vue": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.37.tgz",
- "integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==",
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.7.tgz",
+ "integrity": "sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA==",
"dependencies": {
- "@vue/compiler-dom": "3.2.37",
- "@vue/compiler-sfc": "3.2.37",
- "@vue/runtime-dom": "3.2.37",
- "@vue/server-renderer": "3.2.37",
- "@vue/shared": "3.2.37"
+ "@vue/compiler-dom": "3.3.7",
+ "@vue/compiler-sfc": "3.3.7",
+ "@vue/runtime-dom": "3.3.7",
+ "@vue/server-renderer": "3.3.7",
+ "@vue/shared": "3.3.7"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
"node_modules/vue-concurrency": {
@@ -3528,170 +4611,465 @@
"vue": "^3.2.0"
}
},
- "node_modules/vue/node_modules/@vue/compiler-core": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
- "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
+ "node_modules/web-worker": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz",
+ "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA=="
+ },
+ "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": {
- "@babel/parser": "^7.16.4",
- "@vue/shared": "3.2.37",
- "estree-walker": "^2.0.2",
- "source-map": "^0.6.1"
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node_modules/vue/node_modules/@vue/compiler-dom": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz",
- "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==",
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
"dependencies": {
- "@vue/compiler-core": "3.2.37",
- "@vue/shared": "3.2.37"
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/vue/node_modules/@vue/compiler-sfc": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz",
- "integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==",
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "node_modules/xml-name-validator": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
+ "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/xml-utils": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/xml-utils/-/xml-utils-1.2.0.tgz",
+ "integrity": "sha512-z4unVPZruEDC3tfyd7wvWfjclnMz34iwQpv8H28H+qREpjKkR083MBvcrWXfJrIcrSmHR5ghguOcgQqWdnBpVA=="
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "node_modules/yargs": {
+ "version": "17.5.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
+ "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
+ "dev": true,
"dependencies": {
- "@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.37",
- "@vue/compiler-dom": "3.2.37",
- "@vue/compiler-ssr": "3.2.37",
- "@vue/reactivity-transform": "3.2.37",
- "@vue/shared": "3.2.37",
- "estree-walker": "^2.0.2",
- "magic-string": "^0.25.7",
- "postcss": "^8.1.10",
- "source-map": "^0.6.1"
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.0.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
+ "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ }
+ },
+ "dependencies": {
+ "@algolia/autocomplete-core": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz",
+ "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==",
+ "dev": true,
+ "requires": {
+ "@algolia/autocomplete-plugin-algolia-insights": "1.9.3",
+ "@algolia/autocomplete-shared": "1.9.3"
+ }
+ },
+ "@algolia/autocomplete-plugin-algolia-insights": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz",
+ "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==",
+ "dev": true,
+ "requires": {
+ "@algolia/autocomplete-shared": "1.9.3"
+ }
+ },
+ "@algolia/autocomplete-preset-algolia": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz",
+ "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==",
+ "dev": true,
+ "requires": {
+ "@algolia/autocomplete-shared": "1.9.3"
+ }
+ },
+ "@algolia/autocomplete-shared": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz",
+ "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==",
+ "dev": true,
+ "requires": {}
+ },
+ "@algolia/cache-browser-local-storage": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz",
+ "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==",
+ "dev": true,
+ "requires": {
+ "@algolia/cache-common": "4.20.0"
+ }
+ },
+ "@algolia/cache-common": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz",
+ "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==",
+ "dev": true
+ },
+ "@algolia/cache-in-memory": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz",
+ "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==",
+ "dev": true,
+ "requires": {
+ "@algolia/cache-common": "4.20.0"
+ }
+ },
+ "@algolia/client-account": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz",
+ "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==",
+ "dev": true,
+ "requires": {
+ "@algolia/client-common": "4.20.0",
+ "@algolia/client-search": "4.20.0",
+ "@algolia/transporter": "4.20.0"
+ }
+ },
+ "@algolia/client-analytics": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz",
+ "integrity": "sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==",
+ "dev": true,
+ "requires": {
+ "@algolia/client-common": "4.20.0",
+ "@algolia/client-search": "4.20.0",
+ "@algolia/requester-common": "4.20.0",
+ "@algolia/transporter": "4.20.0"
+ }
+ },
+ "@algolia/client-common": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz",
+ "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==",
+ "dev": true,
+ "requires": {
+ "@algolia/requester-common": "4.20.0",
+ "@algolia/transporter": "4.20.0"
+ }
+ },
+ "@algolia/client-personalization": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz",
+ "integrity": "sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==",
+ "dev": true,
+ "requires": {
+ "@algolia/client-common": "4.20.0",
+ "@algolia/requester-common": "4.20.0",
+ "@algolia/transporter": "4.20.0"
+ }
+ },
+ "@algolia/client-search": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz",
+ "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==",
+ "dev": true,
+ "requires": {
+ "@algolia/client-common": "4.20.0",
+ "@algolia/requester-common": "4.20.0",
+ "@algolia/transporter": "4.20.0"
+ }
+ },
+ "@algolia/logger-common": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz",
+ "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==",
+ "dev": true
+ },
+ "@algolia/logger-console": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz",
+ "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==",
+ "dev": true,
+ "requires": {
+ "@algolia/logger-common": "4.20.0"
+ }
+ },
+ "@algolia/requester-browser-xhr": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz",
+ "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==",
+ "dev": true,
+ "requires": {
+ "@algolia/requester-common": "4.20.0"
+ }
+ },
+ "@algolia/requester-common": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz",
+ "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==",
+ "dev": true
+ },
+ "@algolia/requester-node-http": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz",
+ "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==",
+ "dev": true,
+ "requires": {
+ "@algolia/requester-common": "4.20.0"
+ }
+ },
+ "@algolia/transporter": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz",
+ "integrity": "sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==",
+ "dev": true,
+ "requires": {
+ "@algolia/cache-common": "4.20.0",
+ "@algolia/logger-common": "4.20.0",
+ "@algolia/requester-common": "4.20.0"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz",
+ "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw=="
+ },
+ "@docsearch/css": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz",
+ "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==",
+ "dev": true
+ },
+ "@docsearch/js": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.5.2.tgz",
+ "integrity": "sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==",
+ "dev": true,
+ "requires": {
+ "@docsearch/react": "3.5.2",
+ "preact": "^10.0.0"
+ }
+ },
+ "@docsearch/react": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz",
+ "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==",
+ "dev": true,
+ "requires": {
+ "@algolia/autocomplete-core": "1.9.3",
+ "@algolia/autocomplete-preset-algolia": "1.9.3",
+ "@docsearch/css": "3.5.2",
+ "algoliasearch": "^4.19.1"
}
},
- "node_modules/vue/node_modules/@vue/compiler-ssr": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz",
- "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==",
- "dependencies": {
- "@vue/compiler-dom": "3.2.37",
- "@vue/shared": "3.2.37"
- }
+ "@esbuild/android-arm": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
+ "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/android-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
+ "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/android-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
+ "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/darwin-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
+ "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/darwin-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
+ "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/freebsd-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
+ "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/freebsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
+ "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-arm": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
+ "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
+ "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
+ "dev": true,
+ "optional": true
},
- "node_modules/vue/node_modules/@vue/shared": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
- "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
+ "@esbuild/linux-ia32": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
+ "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
+ "dev": true,
+ "optional": true
},
- "node_modules/web-worker": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz",
- "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA=="
+ "@esbuild/linux-loong64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
+ "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
+ "dev": true,
+ "optional": true
},
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "@esbuild/linux-mips64el": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
+ "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
"dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
+ "optional": true
},
- "node_modules/word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "@esbuild/linux-ppc64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
+ "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
"dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
+ "optional": true
},
- "node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "@esbuild/linux-riscv64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
+ "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
"dev": true,
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
+ "optional": true
},
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
+ "@esbuild/linux-s390x": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
+ "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
+ "dev": true,
+ "optional": true
},
- "node_modules/xml-name-validator": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
- "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
+ "@esbuild/linux-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
+ "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
"dev": true,
- "engines": {
- "node": ">=12"
- }
+ "optional": true
},
- "node_modules/xml-utils": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/xml-utils/-/xml-utils-1.2.0.tgz",
- "integrity": "sha512-z4unVPZruEDC3tfyd7wvWfjclnMz34iwQpv8H28H+qREpjKkR083MBvcrWXfJrIcrSmHR5ghguOcgQqWdnBpVA=="
+ "@esbuild/netbsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
+ "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
+ "dev": true,
+ "optional": true
},
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "@esbuild/openbsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
+ "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
"dev": true,
- "engines": {
- "node": ">=10"
- }
+ "optional": true
},
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ "@esbuild/sunos-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
+ "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
+ "dev": true,
+ "optional": true
},
- "node_modules/yargs": {
- "version": "17.5.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz",
- "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==",
+ "@esbuild/win32-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
+ "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
"dev": true,
- "dependencies": {
- "cliui": "^7.0.2",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.0.0"
- },
- "engines": {
- "node": ">=12"
- }
+ "optional": true
},
- "node_modules/yargs-parser": {
- "version": "21.0.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz",
- "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==",
+ "@esbuild/win32-ia32": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
+ "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
"dev": true,
- "engines": {
- "node": ">=12"
- }
- }
- },
- "dependencies": {
- "@babel/parser": {
- "version": "7.18.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.8.tgz",
- "integrity": "sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA=="
+ "optional": true
+ },
+ "@esbuild/win32-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
+ "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
+ "dev": true,
+ "optional": true
},
"@eslint/eslintrc": {
"version": "1.3.0",
@@ -3749,6 +5127,11 @@
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
"dev": true
},
+ "@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+ },
"@mapbox/jsonlint-lines-primitives": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz",
@@ -4533,6 +5916,28 @@
"resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.6.6.tgz",
"integrity": "sha512-3MUulwMtsdCA9lw8a/Kc0XDBJJVCkYTQ5aGd+///TbfkOMXoOGAzzoiYKwPEsLYZv7He7fKJ/mCacqKOO7REyg=="
},
+ "@types/linkify-it": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.4.tgz",
+ "integrity": "sha512-hPpIeeHb/2UuCw06kSNAOVWgehBLXEo0/fUs0mw3W2qhqX89PI2yvok83MnuctYGCPrabGIoi0fFso4DQ+sNUQ==",
+ "dev": true
+ },
+ "@types/markdown-it": {
+ "version": "13.0.5",
+ "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.5.tgz",
+ "integrity": "sha512-QhJP7hkq3FCrFNx0szMNCT/79CXfcEgUIA3jc5GBfeXqoKsk3R8JZm2wRXJ2DiyjbPE4VMFOSDemLFcUTZmHEQ==",
+ "dev": true,
+ "requires": {
+ "@types/linkify-it": "*",
+ "@types/mdurl": "*"
+ }
+ },
+ "@types/mdurl": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.4.tgz",
+ "integrity": "sha512-ARVxjAEX5TARFRzpDRVC6cEk0hUIXCCwaMhz8y7S1/PxU6zZS1UMjyobz7q4w/D/R552r4++EhwmXK1N2rAy0A==",
+ "dev": true
+ },
"@types/web-bluetooth": {
"version": "0.0.15",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.15.tgz",
@@ -4544,134 +5949,120 @@
"integrity": "sha512-/QJ0Z9qfhAFtKRY+r57ziY4BSbGUTGsPRMpB/Ron3QPwBZM4OZAZHdTa4a8PafCwU5DTatXG8TMDoP8z+oDqJw==",
"requires": {}
},
- "@vue/devtools-api": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.2.0.tgz",
- "integrity": "sha512-pF1G4wky+hkifDiZSWn8xfuLOJI1ZXtuambpBEYaf7Xaf6zC/pM29rvAGpd3qaGXnr4BAXU1Pxz/VfvBGwexGA=="
+ "@vue/compiler-core": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.7.tgz",
+ "integrity": "sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==",
+ "requires": {
+ "@babel/parser": "^7.23.0",
+ "@vue/shared": "3.3.7",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.0.2"
+ }
},
- "@vue/reactivity": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.37.tgz",
- "integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==",
+ "@vue/compiler-dom": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.7.tgz",
+ "integrity": "sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==",
"requires": {
- "@vue/shared": "3.2.37"
- },
- "dependencies": {
- "@vue/shared": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
- "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
- }
+ "@vue/compiler-core": "3.3.7",
+ "@vue/shared": "3.3.7"
}
},
- "@vue/reactivity-transform": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz",
- "integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==",
+ "@vue/compiler-sfc": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.7.tgz",
+ "integrity": "sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==",
"requires": {
- "@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.37",
- "@vue/shared": "3.2.37",
+ "@babel/parser": "^7.23.0",
+ "@vue/compiler-core": "3.3.7",
+ "@vue/compiler-dom": "3.3.7",
+ "@vue/compiler-ssr": "3.3.7",
+ "@vue/reactivity-transform": "3.3.7",
+ "@vue/shared": "3.3.7",
"estree-walker": "^2.0.2",
- "magic-string": "^0.25.7"
+ "magic-string": "^0.30.5",
+ "postcss": "^8.4.31",
+ "source-map-js": "^1.0.2"
},
"dependencies": {
- "@vue/compiler-core": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
- "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
+ "@vue/reactivity-transform": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.7.tgz",
+ "integrity": "sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==",
"requires": {
- "@babel/parser": "^7.16.4",
- "@vue/shared": "3.2.37",
+ "@babel/parser": "^7.23.0",
+ "@vue/compiler-core": "3.3.7",
+ "@vue/shared": "3.3.7",
"estree-walker": "^2.0.2",
- "source-map": "^0.6.1"
+ "magic-string": "^0.30.5"
}
},
- "@vue/shared": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
- "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
+ "magic-string": {
+ "version": "0.30.5",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
+ "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
+ "requires": {
+ "@jridgewell/sourcemap-codec": "^1.4.15"
+ }
}
}
},
+ "@vue/compiler-ssr": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.7.tgz",
+ "integrity": "sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==",
+ "requires": {
+ "@vue/compiler-dom": "3.3.7",
+ "@vue/shared": "3.3.7"
+ }
+ },
+ "@vue/devtools-api": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz",
+ "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA=="
+ },
+ "@vue/reactivity": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.7.tgz",
+ "integrity": "sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==",
+ "requires": {
+ "@vue/shared": "3.3.7"
+ }
+ },
"@vue/runtime-core": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.37.tgz",
- "integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==",
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.7.tgz",
+ "integrity": "sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ==",
"requires": {
- "@vue/reactivity": "3.2.37",
- "@vue/shared": "3.2.37"
- },
- "dependencies": {
- "@vue/shared": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
- "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
- }
+ "@vue/reactivity": "3.3.7",
+ "@vue/shared": "3.3.7"
}
},
"@vue/runtime-dom": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz",
- "integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==",
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.7.tgz",
+ "integrity": "sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw==",
"requires": {
- "@vue/runtime-core": "3.2.37",
- "@vue/shared": "3.2.37",
- "csstype": "^2.6.8"
- },
- "dependencies": {
- "@vue/shared": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
- "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
- }
+ "@vue/runtime-core": "3.3.7",
+ "@vue/shared": "3.3.7",
+ "csstype": "^3.1.2"
}
},
"@vue/server-renderer": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.37.tgz",
- "integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==",
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.7.tgz",
+ "integrity": "sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==",
"requires": {
- "@vue/compiler-ssr": "3.2.37",
- "@vue/shared": "3.2.37"
- },
- "dependencies": {
- "@vue/compiler-core": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
- "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
- "requires": {
- "@babel/parser": "^7.16.4",
- "@vue/shared": "3.2.37",
- "estree-walker": "^2.0.2",
- "source-map": "^0.6.1"
- }
- },
- "@vue/compiler-dom": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz",
- "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==",
- "requires": {
- "@vue/compiler-core": "3.2.37",
- "@vue/shared": "3.2.37"
- }
- },
- "@vue/compiler-ssr": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz",
- "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==",
- "requires": {
- "@vue/compiler-dom": "3.2.37",
- "@vue/shared": "3.2.37"
- }
- },
- "@vue/shared": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
- "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
- }
+ "@vue/compiler-ssr": "3.3.7",
+ "@vue/shared": "3.3.7"
}
},
+ "@vue/shared": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.7.tgz",
+ "integrity": "sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg=="
+ },
"@vueuse/core": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.3.0.tgz",
@@ -4691,6 +6082,59 @@
}
}
},
+ "@vueuse/integrations": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.5.0.tgz",
+ "integrity": "sha512-fm5sXLCK0Ww3rRnzqnCQRmfjDURaI4xMsx+T+cec0ngQqHx/JgUtm8G0vRjwtonIeTBsH1Q8L3SucE+7K7upJQ==",
+ "dev": true,
+ "requires": {
+ "@vueuse/core": "10.5.0",
+ "@vueuse/shared": "10.5.0",
+ "vue-demi": ">=0.14.6"
+ },
+ "dependencies": {
+ "@types/web-bluetooth": {
+ "version": "0.0.18",
+ "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.18.tgz",
+ "integrity": "sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==",
+ "dev": true
+ },
+ "@vueuse/core": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.5.0.tgz",
+ "integrity": "sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==",
+ "dev": true,
+ "requires": {
+ "@types/web-bluetooth": "^0.0.18",
+ "@vueuse/metadata": "10.5.0",
+ "@vueuse/shared": "10.5.0",
+ "vue-demi": ">=0.14.6"
+ }
+ },
+ "@vueuse/metadata": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.5.0.tgz",
+ "integrity": "sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==",
+ "dev": true
+ },
+ "@vueuse/shared": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.5.0.tgz",
+ "integrity": "sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==",
+ "dev": true,
+ "requires": {
+ "vue-demi": ">=0.14.6"
+ }
+ },
+ "vue-demi": {
+ "version": "0.14.6",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
+ "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
+ "dev": true,
+ "requires": {}
+ }
+ }
+ },
"@vueuse/metadata": {
"version": "9.3.0",
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.3.0.tgz",
@@ -4754,12 +6198,40 @@
"uri-js": "^4.2.2"
}
},
+ "algoliasearch": {
+ "version": "4.20.0",
+ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz",
+ "integrity": "sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==",
+ "dev": true,
+ "requires": {
+ "@algolia/cache-browser-local-storage": "4.20.0",
+ "@algolia/cache-common": "4.20.0",
+ "@algolia/cache-in-memory": "4.20.0",
+ "@algolia/client-account": "4.20.0",
+ "@algolia/client-analytics": "4.20.0",
+ "@algolia/client-common": "4.20.0",
+ "@algolia/client-personalization": "4.20.0",
+ "@algolia/client-search": "4.20.0",
+ "@algolia/logger-common": "4.20.0",
+ "@algolia/logger-console": "4.20.0",
+ "@algolia/requester-browser-xhr": "4.20.0",
+ "@algolia/requester-common": "4.20.0",
+ "@algolia/requester-node-http": "4.20.0",
+ "@algolia/transporter": "4.20.0"
+ }
+ },
"ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true
},
+ "ansi-sequence-parser": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz",
+ "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==",
+ "dev": true
+ },
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -4918,9 +6390,9 @@
"dev": true
},
"csstype": {
- "version": "2.6.20",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz",
- "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA=="
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
+ "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"custom-event-polyfill": {
"version": "1.0.7",
@@ -5398,6 +6870,15 @@
"integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
"dev": true
},
+ "focus-trap": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz",
+ "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==",
+ "dev": true,
+ "requires": {
+ "tabbable": "^6.2.0"
+ }
+ },
"fs-extra": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
@@ -5657,6 +7138,12 @@
"resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz",
"integrity": "sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ=="
},
+ "jsonc-parser": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
+ "dev": true
+ },
"jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
@@ -5707,19 +7194,17 @@
"yallist": "^4.0.0"
}
},
- "magic-string": {
- "version": "0.25.7",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
- "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
- "requires": {
- "sourcemap-codec": "^1.4.4"
- }
- },
"mapbox-to-css-font": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/mapbox-to-css-font/-/mapbox-to-css-font-2.4.1.tgz",
"integrity": "sha512-QQ/iKiM43DM9+aujTL45Iz5o7gDeSFmy4LPl3HZmNcwCE++NxGazf+yFpY+wCb+YS23sDa1ghpo3zrNFOcHlow=="
},
+ "mark.js": {
+ "version": "8.11.1",
+ "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz",
+ "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==",
+ "dev": true
+ },
"material-components-web": {
"version": "14.0.0",
"resolved": "https://registry.npmjs.org/material-components-web/-/material-components-web-14.0.0.tgz",
@@ -5790,6 +7275,12 @@
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="
},
+ "minisearch": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.2.0.tgz",
+ "integrity": "sha512-BECkorDF1TY2rGKt9XHdSeP9TP29yUbrAaCh/C03wpyf1vx3uYcP/+8XlMcpTkgoU0rBVnHMAOaP83Rc9Tm+TQ==",
+ "dev": true
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -5797,9 +7288,9 @@
"dev": true
},
"nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
+ "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
},
"natural-compare": {
"version": "1.4.0",
@@ -5959,11 +7450,11 @@
}
},
"postcss": {
- "version": "8.4.21",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
- "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
+ "version": "8.4.31",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
+ "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
"requires": {
- "nanoid": "^3.3.4",
+ "nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
}
@@ -5978,6 +7469,12 @@
"util-deprecate": "^1.0.2"
}
},
+ "preact": {
+ "version": "10.18.2",
+ "resolved": "https://registry.npmjs.org/preact/-/preact-10.18.2.tgz",
+ "integrity": "sha512-X/K43vocUHDg0XhWVmTTMbec4LT/iBMh+csCEqJk+pJqegaXsvjdqN80ZZ3L+93azWCnWCZ+WGwYb8SplxeNjA==",
+ "dev": true
+ },
"prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -6137,6 +7634,13 @@
"resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
"integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="
},
+ "search-insights": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.9.0.tgz",
+ "integrity": "sha512-bkWW9nIHOFkLwjQ1xqVaMbjjO5vhP26ERsH9Y3pKr8imthofEFIxlnOabkmGcw6ksRj9jWidcI65vvjJH/nTGg==",
+ "dev": true,
+ "peer": true
+ },
"semver": {
"version": "7.3.7",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
@@ -6161,6 +7665,18 @@
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
+ "shiki": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.5.tgz",
+ "integrity": "sha512-1gCAYOcmCFONmErGTrS1fjzJLA7MGZmKzrBNX7apqSwhyITJg2O102uFzXUeBxNnEkDA9vHIKLyeKq0V083vIw==",
+ "dev": true,
+ "requires": {
+ "ansi-sequence-parser": "^1.1.0",
+ "jsonc-parser": "^3.2.0",
+ "vscode-oniguruma": "^1.7.0",
+ "vscode-textmate": "^8.0.0"
+ }
+ },
"side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
@@ -6190,21 +7706,11 @@
"sort-desc": "^0.1.1"
}
},
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- },
"source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
},
- "sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
- },
"string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
@@ -6259,6 +7765,12 @@
"integrity": "sha512-MsjaMOvZODfM0cess/HhbSrNbAotYinv4vzipLckKYBo/QmrvjNUPGZSRSqByXy/9AjrMRFWo0YanaVPbqADPQ==",
"requires": {}
},
+ "tabbable": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz",
+ "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==",
+ "dev": true
+ },
"text-table": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -6345,71 +7857,162 @@
"fs-extra": "^10.0.0"
}
},
- "vue": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.37.tgz",
- "integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==",
+ "vitepress": {
+ "version": "1.0.0-rc.24",
+ "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-rc.24.tgz",
+ "integrity": "sha512-RpnL8cnOGwiRlBbrYQUm9sYkJbtyOt/wYXk2diTcokY4yvks/5lq9LuSt+MURWB6ZqwpSNHvTmxgaSfLoG0/OA==",
+ "dev": true,
"requires": {
- "@vue/compiler-dom": "3.2.37",
- "@vue/compiler-sfc": "3.2.37",
- "@vue/runtime-dom": "3.2.37",
- "@vue/server-renderer": "3.2.37",
- "@vue/shared": "3.2.37"
+ "@docsearch/css": "^3.5.2",
+ "@docsearch/js": "^3.5.2",
+ "@types/markdown-it": "^13.0.4",
+ "@vitejs/plugin-vue": "4.3.1",
+ "@vue/devtools-api": "^6.5.1",
+ "@vueuse/core": "^10.5.0",
+ "@vueuse/integrations": "^10.5.0",
+ "focus-trap": "^7.5.4",
+ "mark.js": "8.11.1",
+ "minisearch": "^6.1.0",
+ "shiki": "^0.14.5",
+ "vite": "^4.5.0",
+ "vue": "^3.3.6"
},
"dependencies": {
- "@vue/compiler-core": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
- "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
+ "@types/web-bluetooth": {
+ "version": "0.0.18",
+ "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.18.tgz",
+ "integrity": "sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==",
+ "dev": true
+ },
+ "@vitejs/plugin-vue": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.3.1.tgz",
+ "integrity": "sha512-tUBEtWcF7wFtII7ayNiLNDTCE1X1afySEo+XNVMNkFXaThENyCowIEX095QqbJZGTgoOcSVDJGlnde2NG4jtbQ==",
+ "dev": true,
+ "requires": {}
+ },
+ "@vueuse/core": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.5.0.tgz",
+ "integrity": "sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==",
+ "dev": true,
"requires": {
- "@babel/parser": "^7.16.4",
- "@vue/shared": "3.2.37",
- "estree-walker": "^2.0.2",
- "source-map": "^0.6.1"
+ "@types/web-bluetooth": "^0.0.18",
+ "@vueuse/metadata": "10.5.0",
+ "@vueuse/shared": "10.5.0",
+ "vue-demi": ">=0.14.6"
+ },
+ "dependencies": {
+ "vue-demi": {
+ "version": "0.14.6",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
+ "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
+ "dev": true,
+ "requires": {}
+ }
}
},
- "@vue/compiler-dom": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz",
- "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==",
+ "@vueuse/metadata": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.5.0.tgz",
+ "integrity": "sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==",
+ "dev": true
+ },
+ "@vueuse/shared": {
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.5.0.tgz",
+ "integrity": "sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==",
+ "dev": true,
"requires": {
- "@vue/compiler-core": "3.2.37",
- "@vue/shared": "3.2.37"
+ "vue-demi": ">=0.14.6"
+ },
+ "dependencies": {
+ "vue-demi": {
+ "version": "0.14.6",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
+ "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
+ "dev": true,
+ "requires": {}
+ }
}
},
- "@vue/compiler-sfc": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz",
- "integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==",
+ "esbuild": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
+ "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
+ "dev": true,
"requires": {
- "@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.37",
- "@vue/compiler-dom": "3.2.37",
- "@vue/compiler-ssr": "3.2.37",
- "@vue/reactivity-transform": "3.2.37",
- "@vue/shared": "3.2.37",
- "estree-walker": "^2.0.2",
- "magic-string": "^0.25.7",
- "postcss": "^8.1.10",
- "source-map": "^0.6.1"
+ "@esbuild/android-arm": "0.18.20",
+ "@esbuild/android-arm64": "0.18.20",
+ "@esbuild/android-x64": "0.18.20",
+ "@esbuild/darwin-arm64": "0.18.20",
+ "@esbuild/darwin-x64": "0.18.20",
+ "@esbuild/freebsd-arm64": "0.18.20",
+ "@esbuild/freebsd-x64": "0.18.20",
+ "@esbuild/linux-arm": "0.18.20",
+ "@esbuild/linux-arm64": "0.18.20",
+ "@esbuild/linux-ia32": "0.18.20",
+ "@esbuild/linux-loong64": "0.18.20",
+ "@esbuild/linux-mips64el": "0.18.20",
+ "@esbuild/linux-ppc64": "0.18.20",
+ "@esbuild/linux-riscv64": "0.18.20",
+ "@esbuild/linux-s390x": "0.18.20",
+ "@esbuild/linux-x64": "0.18.20",
+ "@esbuild/netbsd-x64": "0.18.20",
+ "@esbuild/openbsd-x64": "0.18.20",
+ "@esbuild/sunos-x64": "0.18.20",
+ "@esbuild/win32-arm64": "0.18.20",
+ "@esbuild/win32-ia32": "0.18.20",
+ "@esbuild/win32-x64": "0.18.20"
}
},
- "@vue/compiler-ssr": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz",
- "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==",
+ "rollup": {
+ "version": "3.29.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
+ "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
+ "dev": true,
"requires": {
- "@vue/compiler-dom": "3.2.37",
- "@vue/shared": "3.2.37"
+ "fsevents": "~2.3.2"
}
},
- "@vue/shared": {
- "version": "3.2.37",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
- "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
+ "vite": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz",
+ "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==",
+ "dev": true,
+ "requires": {
+ "esbuild": "^0.18.10",
+ "fsevents": "~2.3.2",
+ "postcss": "^8.4.27",
+ "rollup": "^3.27.1"
+ }
}
}
},
+ "vscode-oniguruma": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
+ "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==",
+ "dev": true
+ },
+ "vscode-textmate": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz",
+ "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==",
+ "dev": true
+ },
+ "vue": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.7.tgz",
+ "integrity": "sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA==",
+ "requires": {
+ "@vue/compiler-dom": "3.3.7",
+ "@vue/compiler-sfc": "3.3.7",
+ "@vue/runtime-dom": "3.3.7",
+ "@vue/server-renderer": "3.3.7",
+ "@vue/shared": "3.3.7"
+ }
+ },
"vue-concurrency": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/vue-concurrency/-/vue-concurrency-4.0.1.tgz",
diff --git a/ui/package.json b/ui/package.json
index 33ebb3a..372832f 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -4,7 +4,10 @@
"license": "MIT",
"scripts": {
"dev": "vite",
- "build": "vite build"
+ "build": "vite build",
+ "docs:dev": "vitepress dev docs",
+ "docs:build": "vitepress build docs",
+ "docs:preview": "vitepress preview docs"
},
"dependencies": {
"@fontsource/roboto": "^4.5.7",
@@ -24,7 +27,7 @@
"qs": "^6.11.0",
"swrv": "^1.0.0-beta.8",
"throttle-debounce": "^5.0.0",
- "vue": "3.2.37",
+ "vue": "3.3.7",
"vue-concurrency": "^4.0.1",
"vue-multiselect": "^3.0.0-beta.1",
"vue-router": "^4.1.5"
@@ -34,6 +37,7 @@
"eslint-plugin-vue": "^9.2.0",
"rollup-plugin-visualizer": "^5.6.0",
"vite": "^2.9.14",
- "vite-plugin-compression": "^0.5.1"
+ "vite-plugin-compression": "^0.5.1",
+ "vitepress": "^1.0.0-rc.24"
}
-}
+}
\ No newline at end of file
diff --git a/ui/src/App.vue b/ui/src/App.vue
index a2184bb..e7c48ec 100644
--- a/ui/src/App.vue
+++ b/ui/src/App.vue
@@ -83,6 +83,17 @@
@click="settingsExpanded = !settingsExpanded"
>
+
+
+
+