diff --git a/go.mod b/go.mod
index 2a56539a..2a7a768a 100644
--- a/go.mod
+++ b/go.mod
@@ -7,7 +7,7 @@ require (
github.com/digitalocean/go-libvirt v0.0.0-20250417173424-a6a66ef779d6
github.com/gin-contrib/gzip v1.2.2
github.com/gin-gonic/gin v1.10.0
- github.com/go-playground/validator/v10 v10.24.0
+ github.com/go-playground/validator/v10 v10.26.0
github.com/golang-jwt/jwt/v4 v4.5.2
github.com/google/uuid v1.6.0
github.com/gorilla/websocket v1.5.3
@@ -28,15 +28,16 @@ require (
github.com/BurntSushi/toml v1.1.0 // indirect
github.com/KyleBanks/depth v1.2.1 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
- github.com/bytedance/sonic v1.12.7 // indirect
- github.com/bytedance/sonic/loader v0.2.2 // indirect
+ github.com/bytedance/sonic v1.13.2 // indirect
+ github.com/bytedance/sonic/loader v0.2.4 // indirect
github.com/cavaliergopher/grab/v3 v3.0.1 // indirect
github.com/cenkalti/backoff/v3 v3.2.2 // indirect
github.com/cenkalti/log v1.0.0 // indirect
github.com/cenkalti/rain v1.13.0 // indirect
- github.com/cloudwego/base64x v0.1.4 // indirect
+ github.com/cloudwego/base64x v0.1.5 // indirect
github.com/gabriel-vasile/mimetype v1.4.8 // indirect
github.com/gin-contrib/sse v1.0.0 // indirect
+ github.com/gin-contrib/static v1.1.5 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/go-openapi/jsonpointer v0.19.6 // indirect
github.com/go-openapi/jsonreference v0.20.2 // indirect
@@ -44,7 +45,7 @@ require (
github.com/go-openapi/swag v0.22.3 // indirect
github.com/go-playground/locales v0.14.1 // indirect
github.com/go-playground/universal-translator v0.18.1 // indirect
- github.com/goccy/go-json v0.10.4 // indirect
+ github.com/goccy/go-json v0.10.5 // indirect
github.com/gofrs/uuid v4.4.0+incompatible // indirect
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect
github.com/google/btree v1.1.3 // indirect
@@ -84,12 +85,12 @@ require (
github.com/yusufpapurcu/wmi v1.2.4 // indirect
github.com/zeebo/bencode v1.0.0 // indirect
go.etcd.io/bbolt v1.3.11 // indirect
- golang.org/x/arch v0.13.0 // indirect
+ golang.org/x/arch v0.16.0 // indirect
golang.org/x/net v0.39.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.25.0 // indirect
golang.org/x/tools v0.32.0 // indirect
- google.golang.org/protobuf v1.36.2 // indirect
+ google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
diff --git a/go.sum b/go.sum
index 98d3c9d0..18223cba 100644
--- a/go.sum
+++ b/go.sum
@@ -6,9 +6,13 @@ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3d
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/bytedance/sonic v1.12.7 h1:CQU8pxOy9HToxhndH0Kx/S1qU/CuS9GnKYrGioDcU1Q=
github.com/bytedance/sonic v1.12.7/go.mod h1:tnbal4mxOMju17EGfknm2XyYcpyCnIROYOEYuemj13I=
+github.com/bytedance/sonic v1.13.2 h1:8/H1FempDZqC4VqjptGo14QQlJx8VdZJegxs6wwfqpQ=
+github.com/bytedance/sonic v1.13.2/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4=
github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
github.com/bytedance/sonic/loader v0.2.2 h1:jxAJuN9fOot/cyz5Q6dUuMJF5OqQ6+5GfA8FjjQ0R4o=
github.com/bytedance/sonic/loader v0.2.2/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI=
+github.com/bytedance/sonic/loader v0.2.4 h1:ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY=
+github.com/bytedance/sonic/loader v0.2.4/go.mod h1:N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI=
github.com/cavaliergopher/grab/v3 v3.0.1 h1:4z7TkBfmPjmLAAmkkAZNX/6QJ1nNFdv3SdIHXju0Fr4=
github.com/cavaliergopher/grab/v3 v3.0.1/go.mod h1:1U/KNnD+Ft6JJiYoYBAimKH2XrYptb8Kl3DFGmsjpq4=
github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M=
@@ -19,6 +23,8 @@ github.com/cenkalti/rain v1.13.0 h1:Hxy0/KobLTrc4+287O3I8trNt3bmjdoYw25HxLdngmI=
github.com/cenkalti/rain v1.13.0/go.mod h1:1yClO1IkcP8Vofr6MZ4AxAhe4wfQrsy6Juo2IUvATQk=
github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y=
github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
+github.com/cloudwego/base64x v0.1.5 h1:XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCyP4=
+github.com/cloudwego/base64x v0.1.5/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
github.com/cloudwego/iasm v0.2.0/go.mod h1:8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
@@ -35,6 +41,8 @@ github.com/gin-contrib/gzip v1.2.2 h1:iUU/EYCM8ENfkjmZaVrxbjF/ZC267Iqv5S0MMCMEli
github.com/gin-contrib/gzip v1.2.2/go.mod h1:C1a5cacjlDsS20cKnHlZRCPUu57D3qH6B2pV0rl+Y/s=
github.com/gin-contrib/sse v1.0.0 h1:y3bT1mUWUxDpW4JLQg/HnTqV4rozuW4tC9eFKTxYI9E=
github.com/gin-contrib/sse v1.0.0/go.mod h1:zNuFdwarAygJBht0NTKiSi3jRf6RbqeILZ9Sp6Slhe0=
+github.com/gin-contrib/static v1.1.5 h1:bAPqT4KTZN+4uDY1b90eSrD1t8iNzod7Jj8njwmnzz4=
+github.com/gin-contrib/static v1.1.5/go.mod h1:8JSEXwZHcQ0uCrLPcsvnAJ4g+ODxeupP8Zetl9fd8wM=
github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU=
github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y=
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
@@ -60,8 +68,12 @@ github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJn
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
github.com/go-playground/validator/v10 v10.24.0 h1:KHQckvo8G6hlWnrPX4NJJ+aBfWNAE/HH+qdL2cBpCmg=
github.com/go-playground/validator/v10 v10.24.0/go.mod h1:GGzBIJMuE98Ic/kJsBXbz1x/7cByt++cQ+YOuDM5wus=
+github.com/go-playground/validator/v10 v10.26.0 h1:SP05Nqhjcvz81uJaRfEV0YBSSSGMc/iMaVtFbr3Sw2k=
+github.com/go-playground/validator/v10 v10.26.0/go.mod h1:I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo=
github.com/goccy/go-json v0.10.4 h1:JSwxQzIqKfmFX1swYPpUThQZp/Ka4wzJdK0LWVytLPM=
github.com/goccy/go-json v0.10.4/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
+github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4=
+github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA=
github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
@@ -106,6 +118,7 @@ github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgSh
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
+github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@@ -207,6 +220,8 @@ go.etcd.io/bbolt v1.3.11 h1:yGEzV1wPz2yVCLsD8ZAiGHhHVlczyC9d1rP43/VCRJ0=
go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I=
golang.org/x/arch v0.13.0 h1:KCkqVVV1kGg0X87TFysjCJ8MxtZEIU4Ja/yXGeoECdA=
golang.org/x/arch v0.13.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
+golang.org/x/arch v0.16.0 h1:foMtLTdyOmIniqWCHjY6+JxuC54XP1fDwx4N0ASyW+U=
+golang.org/x/arch v0.16.0/go.mod h1:JmwW7aLIoRUKgaTzhkiEFxvcEiQGyOg9BMonBJUS7EE=
golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
@@ -230,6 +245,8 @@ golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
google.golang.org/protobuf v1.36.2 h1:R8FeyR1/eLmkutZOM5CWghmo5itiG9z0ktFlTVLuTmU=
google.golang.org/protobuf v1.36.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
+google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/internal/handlers/routes.go b/internal/handlers/routes.go
index d9f9351b..f0d6070c 100644
--- a/internal/handlers/routes.go
+++ b/internal/handlers/routes.go
@@ -10,9 +10,10 @@ package handlers
import (
"log"
+ "net/http"
+ static "github.com/gin-contrib/static"
"github.com/gin-gonic/gin"
- static "github.com/soulteary/gin-static"
"sylve/internal/assets"
diskHandlers "sylve/internal/handlers/disk"
@@ -217,19 +218,20 @@ func RegisterRoutes(r *gin.Engine,
ReverseProxy(c, "http://127.0.0.1:5173")
})
} else {
- staticFiles, err := static.EmbedFolder(assets.SvelteKitFiles, "web-files")
+ files, err := static.EmbedFolder(assets.SvelteKitFiles, "web-files")
if err != nil {
log.Fatalln("Initialization of embed folder failed:", err)
}
- r.Use(static.Serve("/", staticFiles))
-
+ r.Use(static.Serve("/", files))
r.NoRoute(func(c *gin.Context) {
- c.FileFromFS("index.html", staticFiles)
- })
+ indexFile, err := assets.SvelteKitFiles.ReadFile("web-files/index.html")
+ if err != nil {
+ c.String(http.StatusInternalServerError, "Internal Server Error")
+ return
+ }
- r.GET("/", func(c *gin.Context) {
- c.FileFromFS("index.html", staticFiles)
+ c.Data(http.StatusOK, "text/html", indexFile)
})
}
}
diff --git a/new-web/.gitignore b/new-web/.gitignore
deleted file mode 100644
index c826bc02..00000000
--- a/new-web/.gitignore
+++ /dev/null
@@ -1,26 +0,0 @@
-node_modules
-
-# Output
-.output
-.vercel
-.netlify
-.wrangler
-/.svelte-kit
-/build
-
-# OS
-.DS_Store
-Thumbs.db
-
-# Env
-.env
-.env.*
-!.env.example
-!.env.test
-
-# Vite
-vite.config.js.timestamp-*
-vite.config.ts.timestamp-*
-
-src/lib/locales/*.json
-src/lib/locales/*.js
diff --git a/new-web/.npmrc b/new-web/.npmrc
deleted file mode 100644
index b6f27f13..00000000
--- a/new-web/.npmrc
+++ /dev/null
@@ -1 +0,0 @@
-engine-strict=true
diff --git a/new-web/.prettierignore b/new-web/.prettierignore
deleted file mode 100644
index 6562bcbb..00000000
--- a/new-web/.prettierignore
+++ /dev/null
@@ -1,6 +0,0 @@
-# Package Managers
-package-lock.json
-pnpm-lock.yaml
-yarn.lock
-bun.lock
-bun.lockb
diff --git a/new-web/.prettierrc b/new-web/.prettierrc
deleted file mode 100644
index 7ebb855b..00000000
--- a/new-web/.prettierrc
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "useTabs": true,
- "singleQuote": true,
- "trailingComma": "none",
- "printWidth": 100,
- "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
- "overrides": [
- {
- "files": "*.svelte",
- "options": {
- "parser": "svelte"
- }
- }
- ]
-}
diff --git a/new-web/components.json b/new-web/components.json
deleted file mode 100644
index c5d91b45..00000000
--- a/new-web/components.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "$schema": "https://shadcn-svelte.com/schema.json",
- "tailwind": {
- "css": "src/app.css",
- "baseColor": "slate"
- },
- "aliases": {
- "components": "$lib/components",
- "utils": "$lib/utils",
- "ui": "$lib/components/ui",
- "hooks": "$lib/hooks",
- "lib": "$lib"
- },
- "typescript": true,
- "registry": "https://shadcn-svelte.com/registry"
-}
diff --git a/new-web/eslint.config.js b/new-web/eslint.config.js
deleted file mode 100644
index ef07d322..00000000
--- a/new-web/eslint.config.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import prettier from 'eslint-config-prettier';
-import js from '@eslint/js';
-import { includeIgnoreFile } from '@eslint/compat';
-import svelte from 'eslint-plugin-svelte';
-import globals from 'globals';
-import { fileURLToPath } from 'node:url';
-import ts from 'typescript-eslint';
-import svelteConfig from './svelte.config.js';
-
-const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url));
-
-export default ts.config(
- includeIgnoreFile(gitignorePath),
- js.configs.recommended,
- ...ts.configs.recommended,
- ...svelte.configs.recommended,
- prettier,
- ...svelte.configs.prettier,
- {
- languageOptions: {
- globals: { ...globals.browser, ...globals.node }
- },
- rules: { 'no-undef': 'off' }
- },
- {
- files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'],
- languageOptions: {
- parserOptions: {
- projectService: true,
- extraFileExtensions: ['.svelte'],
- parser: ts.parser,
- svelteConfig
- }
- }
- }
-);
diff --git a/new-web/package-lock.json b/new-web/package-lock.json
deleted file mode 100644
index 7eca3c51..00000000
--- a/new-web/package-lock.json
+++ /dev/null
@@ -1,6428 +0,0 @@
-{
- "name": "new-web",
- "version": "0.0.1",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "new-web",
- "version": "0.0.1",
- "dependencies": {
- "@battlefieldduck/xterm-svelte": "^2.1.0",
- "@fontsource/noto-sans": "^5.2.7",
- "@layerstack/svelte-stores": "^1.0.2",
- "@lucide/svelte": "^0.516.0",
- "@svelte-put/shortcut": "^4.1.0",
- "@sveltestack/svelte-query": "^1.6.0",
- "adze": "^2.2.4",
- "axios": "^1.10.0",
- "chart.js": "^4.5.0",
- "chartjs-adapter-date-fns": "^3.0.0",
- "chartjs-plugin-zoom": "^2.2.0",
- "d3-shape": "^3.2.0",
- "date-fns": "^4.1.0",
- "date-fns-tz": "^3.2.0",
- "human-format": "^1.2.1",
- "is-cidr": "^5.1.1",
- "is-ip": "^5.0.1",
- "lucide-svelte": "^0.516.0",
- "tabulator-tables": "^6.3.1",
- "validator": "^13.15.15",
- "wuchale": "0.5.5",
- "zod": "^3.25.67"
- },
- "devDependencies": {
- "@eslint/compat": "^1.2.5",
- "@eslint/js": "^9.18.0",
- "@iconify/svelte": "^5.0.0",
- "@internationalized/date": "^3.8.2",
- "@sveltejs/adapter-static": "^3.0.8",
- "@sveltejs/kit": "^2.16.0",
- "@sveltejs/vite-plugin-svelte": "^5.0.0",
- "@tailwindcss/forms": "^0.5.9",
- "@tailwindcss/typography": "^0.5.15",
- "@tailwindcss/vite": "^4.0.0",
- "@types/d3-scale": "^4.0.9",
- "@types/d3-shape": "^3.1.7",
- "@types/tabulator-tables": "^6.2.6",
- "@types/validator": "^13.15.2",
- "bits-ui": "^2.8.0",
- "clsx": "^2.1.1",
- "eslint": "^9.18.0",
- "eslint-config-prettier": "^10.0.1",
- "eslint-plugin-svelte": "^3.0.0",
- "globals": "^16.0.0",
- "layerchart": "^2.0.0-next.18",
- "mode-watcher": "^1.0.8",
- "paneforge": "^1.0.0-next.5",
- "prettier": "^3.4.2",
- "prettier-plugin-svelte": "^3.3.3",
- "prettier-plugin-tailwindcss": "^0.6.11",
- "svelte": "^5.0.0",
- "svelte-check": "^4.0.0",
- "svelte-sonner": "^1.0.5",
- "tailwind-merge": "^3.3.1",
- "tailwind-variants": "^1.0.0",
- "tailwindcss": "^4.0.0",
- "tw-animate-css": "^1.3.4",
- "typescript": "^5.0.0",
- "typescript-eslint": "^8.20.0",
- "vite": "^6.2.6"
- }
- },
- "node_modules/@ampproject/remapping": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
- "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@battlefieldduck/xterm-svelte": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@battlefieldduck/xterm-svelte/-/xterm-svelte-2.1.0.tgz",
- "integrity": "sha512-OeuGnPqblPBc57WZ8TtcU2yX0MvMs7rMbhZaLethyD5i8/WqM/XJej0NOp0KcND8jNmPnBWjePwghAQDlDXnlw==",
- "license": "MIT",
- "dependencies": {
- "@xterm/addon-attach": "^0.11.0",
- "@xterm/addon-canvas": "^0.7.0",
- "@xterm/addon-clipboard": "^0.1.0",
- "@xterm/addon-fit": "^0.10.0",
- "@xterm/addon-image": "^0.8.0",
- "@xterm/addon-search": "^0.15.0",
- "@xterm/addon-serialize": "^0.13.0",
- "@xterm/addon-unicode11": "^0.8.0",
- "@xterm/addon-web-links": "^0.11.0",
- "@xterm/addon-webgl": "^0.18.0",
- "@xterm/xterm": "^5.5.0"
- },
- "peerDependencies": {
- "svelte": "^5.0.0"
- }
- },
- "node_modules/@dagrejs/dagre": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/@dagrejs/dagre/-/dagre-1.1.5.tgz",
- "integrity": "sha512-Ghgrh08s12DCL5SeiR6AoyE80mQELTWhJBRmXfFoqDiFkR458vPEdgTbbjA0T+9ETNxUblnD0QW55tfdvi5pjQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@dagrejs/graphlib": "2.2.4"
- }
- },
- "node_modules/@dagrejs/graphlib": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/@dagrejs/graphlib/-/graphlib-2.2.4.tgz",
- "integrity": "sha512-mepCf/e9+SKYy1d02/UkvSy6+6MoyXhVxP8lLDfA7BPE1X1d4dR0sZznmbM8/XVJ1GPM+Svnx7Xj6ZweByWUkw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">17.0.0"
- }
- },
- "node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz",
- "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz",
- "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@eslint-community/eslint-utils": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
- "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eslint-visitor-keys": "^3.4.3"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
- }
- },
- "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@eslint-community/regexpp": {
- "version": "4.12.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
- "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
- }
- },
- "node_modules/@eslint/compat": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.3.0.tgz",
- "integrity": "sha512-ZBygRBqpDYiIHsN+d1WyHn3TYgzgpzLEcgJUxTATyiInQbKZz6wZb6+ljwdg8xeeOe4v03z6Uh6lELiw0/mVhQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "peerDependencies": {
- "eslint": "^9.10.0"
- },
- "peerDependenciesMeta": {
- "eslint": {
- "optional": true
- }
- }
- },
- "node_modules/@eslint/config-array": {
- "version": "0.20.1",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.1.tgz",
- "integrity": "sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@eslint/object-schema": "^2.1.6",
- "debug": "^4.3.1",
- "minimatch": "^3.1.2"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/config-helpers": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.3.tgz",
- "integrity": "sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/core": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz",
- "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@types/json-schema": "^7.0.15"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
- "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^10.0.1",
- "globals": "^14.0.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
- "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@eslint/js": {
- "version": "9.29.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.29.0.tgz",
- "integrity": "sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://eslint.org/donate"
- }
- },
- "node_modules/@eslint/object-schema": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
- "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/plugin-kit": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.2.tgz",
- "integrity": "sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@eslint/core": "^0.15.0",
- "levn": "^0.4.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": {
- "version": "0.15.0",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.0.tgz",
- "integrity": "sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@types/json-schema": "^7.0.15"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@floating-ui/core": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.1.tgz",
- "integrity": "sha512-azI0DrjMMfIug/ExbBaeDVJXcY0a7EPvPjb2xAJPa4HeimBX+Z18HK8QQR3jb6356SnDDdxx+hinMLcJEDdOjw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@floating-ui/utils": "^0.2.9"
- }
- },
- "node_modules/@floating-ui/dom": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.1.tgz",
- "integrity": "sha512-cwsmW/zyw5ltYTUeeYJ60CnQuPqmGwuGVhG9w0PRaRKkAyi38BT5CKrpIbb+jtahSwUl04cWzSx9ZOIxeS6RsQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@floating-ui/core": "^1.7.1",
- "@floating-ui/utils": "^0.2.9"
- }
- },
- "node_modules/@floating-ui/utils": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz",
- "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@fontsource/noto-sans": {
- "version": "5.2.7",
- "resolved": "https://registry.npmjs.org/@fontsource/noto-sans/-/noto-sans-5.2.7.tgz",
- "integrity": "sha512-mTpMSMft6Nb+ZSF4DSiJVYnLzKCRjHNFieZ/swuxSDQK+v1hjUeDTBxLHKUdfmC+ZPg6TUEWw4oRq2ltnDbSjQ==",
- "license": "OFL-1.1",
- "funding": {
- "url": "https://github.com/sponsors/ayuhito"
- }
- },
- "node_modules/@humanfs/core": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
- "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18.0"
- }
- },
- "node_modules/@humanfs/node": {
- "version": "0.16.6",
- "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz",
- "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@humanfs/core": "^0.19.1",
- "@humanwhocodes/retry": "^0.3.0"
- },
- "engines": {
- "node": ">=18.18.0"
- }
- },
- "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
- "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=12.22"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@humanwhocodes/retry": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
- "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@iconify/svelte": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@iconify/svelte/-/svelte-5.0.0.tgz",
- "integrity": "sha512-Bm5iKnNpIWHuUlWaaf16QgVL1tcbQUUSdPdkvDlpmYXg3nFJSA1SLY9V4rRTd+K4h3QT12ZS7JHFLkf8khQd8Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@iconify/types": "^2.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/cyberalien"
- },
- "peerDependencies": {
- "svelte": ">4.0.0"
- }
- },
- "node_modules/@iconify/types": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz",
- "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@internationalized/date": {
- "version": "3.8.2",
- "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.8.2.tgz",
- "integrity": "sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "node_modules/@isaacs/fs-minipass": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
- "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^7.0.4"
- },
- "engines": {
- "node": ">=18.0.0"
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.8",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
- "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
- "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
- "license": "MIT"
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "node_modules/@kurkle/color": {
- "version": "0.3.4",
- "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz",
- "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==",
- "license": "MIT"
- },
- "node_modules/@layerstack/svelte-actions": {
- "version": "1.0.1-next.12",
- "resolved": "https://registry.npmjs.org/@layerstack/svelte-actions/-/svelte-actions-1.0.1-next.12.tgz",
- "integrity": "sha512-dndWTlYu8b1u6vw2nrO7NssccoACArGG75WoNlyVC13KuENZlWdKE9Q79/wlnbq00NeQMNKMjJwRMsrKQj2ULA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@floating-ui/dom": "^1.7.0",
- "@layerstack/utils": "2.0.0-next.12",
- "d3-scale": "^4.0.2"
- }
- },
- "node_modules/@layerstack/svelte-actions/node_modules/@layerstack/utils": {
- "version": "2.0.0-next.12",
- "resolved": "https://registry.npmjs.org/@layerstack/utils/-/utils-2.0.0-next.12.tgz",
- "integrity": "sha512-fhGZUlSr3N+D44BYm37WKMGSEFyZBW+dwIqtGU8Cl54mR4TLQ/UwyGhdpgIHyH/x/8q1abE0fP0Dn6ZsrDE3BA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "d3-array": "^3.2.4",
- "d3-time": "^3.1.0",
- "d3-time-format": "^4.1.0",
- "lodash-es": "^4.17.21"
- }
- },
- "node_modules/@layerstack/svelte-state": {
- "version": "0.1.0-next.17",
- "resolved": "https://registry.npmjs.org/@layerstack/svelte-state/-/svelte-state-0.1.0-next.17.tgz",
- "integrity": "sha512-z7e6mPJnypD80LEI/UDuH0bI6s8/nut06MB7rEkRcEfHJekhKSJgFhMnrYzLED7Mc2gTTD0X/wcYlakauWlU8A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@layerstack/utils": "2.0.0-next.12"
- }
- },
- "node_modules/@layerstack/svelte-state/node_modules/@layerstack/utils": {
- "version": "2.0.0-next.12",
- "resolved": "https://registry.npmjs.org/@layerstack/utils/-/utils-2.0.0-next.12.tgz",
- "integrity": "sha512-fhGZUlSr3N+D44BYm37WKMGSEFyZBW+dwIqtGU8Cl54mR4TLQ/UwyGhdpgIHyH/x/8q1abE0fP0Dn6ZsrDE3BA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "d3-array": "^3.2.4",
- "d3-time": "^3.1.0",
- "d3-time-format": "^4.1.0",
- "lodash-es": "^4.17.21"
- }
- },
- "node_modules/@layerstack/svelte-stores": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@layerstack/svelte-stores/-/svelte-stores-1.0.2.tgz",
- "integrity": "sha512-IxK0UKD0PVxg1VsyaR+n7NyJ+NlvyqvYYAp+J10lkjDQxm0yx58CaF2LBV08T22C3aY1iTlqJaatn/VHV4SoQg==",
- "license": "MIT",
- "dependencies": {
- "@layerstack/utils": "1.0.1",
- "d3-array": "^3.2.4",
- "date-fns": "^4.1.0",
- "immer": "^10.1.1",
- "lodash-es": "^4.17.21",
- "zod": "^3.24.2"
- }
- },
- "node_modules/@layerstack/tailwind": {
- "version": "2.0.0-next.15",
- "resolved": "https://registry.npmjs.org/@layerstack/tailwind/-/tailwind-2.0.0-next.15.tgz",
- "integrity": "sha512-7tqKE3OV7/ybeDOORX++USYYCBJa7IgTya2czFpzbgXGo7CQDVyuv+0J1DggjRcEqhhXQA4MUhgnhcRaZvHxWg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@layerstack/utils": "^2.0.0-next.12",
- "clsx": "^2.1.1",
- "d3-array": "^3.2.4",
- "lodash-es": "^4.17.21",
- "tailwind-merge": "^3.2.0"
- }
- },
- "node_modules/@layerstack/tailwind/node_modules/@layerstack/utils": {
- "version": "2.0.0-next.12",
- "resolved": "https://registry.npmjs.org/@layerstack/utils/-/utils-2.0.0-next.12.tgz",
- "integrity": "sha512-fhGZUlSr3N+D44BYm37WKMGSEFyZBW+dwIqtGU8Cl54mR4TLQ/UwyGhdpgIHyH/x/8q1abE0fP0Dn6ZsrDE3BA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "d3-array": "^3.2.4",
- "d3-time": "^3.1.0",
- "d3-time-format": "^4.1.0",
- "lodash-es": "^4.17.21"
- }
- },
- "node_modules/@layerstack/utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@layerstack/utils/-/utils-1.0.1.tgz",
- "integrity": "sha512-sWP9b+SFMkJYMZyYFI01aLxbg2ZUrix6Tv+BCDmeOrcLNxtWFsMYAomMhALzTMHbb+Vis/ua5vXhpdNXEw8a2Q==",
- "license": "MIT",
- "dependencies": {
- "d3-array": "^3.2.4",
- "date-fns": "^4.1.0",
- "lodash-es": "^4.17.21"
- }
- },
- "node_modules/@lucide/svelte": {
- "version": "0.516.0",
- "resolved": "https://registry.npmjs.org/@lucide/svelte/-/svelte-0.516.0.tgz",
- "integrity": "sha512-Ovkg2IgUeF85guSbnG9iPwUMMRuz+rdh8HsnKbD1uEY2Wv3d9qf0ERKFrz0ePZqmPXOedCPcf2a/rvRsqkaZcw==",
- "license": "ISC",
- "peerDependencies": {
- "svelte": "^5"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@parcel/watcher": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
- "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "detect-libc": "^1.0.3",
- "is-glob": "^4.0.3",
- "micromatch": "^4.0.5",
- "node-addon-api": "^7.0.0"
- },
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- },
- "optionalDependencies": {
- "@parcel/watcher-android-arm64": "2.5.1",
- "@parcel/watcher-darwin-arm64": "2.5.1",
- "@parcel/watcher-darwin-x64": "2.5.1",
- "@parcel/watcher-freebsd-x64": "2.5.1",
- "@parcel/watcher-linux-arm-glibc": "2.5.1",
- "@parcel/watcher-linux-arm-musl": "2.5.1",
- "@parcel/watcher-linux-arm64-glibc": "2.5.1",
- "@parcel/watcher-linux-arm64-musl": "2.5.1",
- "@parcel/watcher-linux-x64-glibc": "2.5.1",
- "@parcel/watcher-linux-x64-musl": "2.5.1",
- "@parcel/watcher-win32-arm64": "2.5.1",
- "@parcel/watcher-win32-ia32": "2.5.1",
- "@parcel/watcher-win32-x64": "2.5.1"
- }
- },
- "node_modules/@parcel/watcher-android-arm64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz",
- "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-darwin-arm64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz",
- "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-darwin-x64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz",
- "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-freebsd-x64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz",
- "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-linux-arm-glibc": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz",
- "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-linux-arm-musl": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz",
- "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-linux-arm64-glibc": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz",
- "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-linux-arm64-musl": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz",
- "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-linux-x64-glibc": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz",
- "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-linux-x64-musl": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz",
- "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-win32-arm64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz",
- "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-win32-ia32": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz",
- "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher-win32-x64": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz",
- "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "peer": true,
- "engines": {
- "node": ">= 10.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/@parcel/watcher/node_modules/detect-libc": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
- "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
- "dev": true,
- "license": "Apache-2.0",
- "optional": true,
- "peer": true,
- "bin": {
- "detect-libc": "bin/detect-libc.js"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/@polka/url": {
- "version": "1.0.0-next.29",
- "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz",
- "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.43.0.tgz",
- "integrity": "sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-android-arm64": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.43.0.tgz",
- "integrity": "sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.43.0.tgz",
- "integrity": "sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.43.0.tgz",
- "integrity": "sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-freebsd-arm64": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.43.0.tgz",
- "integrity": "sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/@rollup/rollup-freebsd-x64": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.43.0.tgz",
- "integrity": "sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.43.0.tgz",
- "integrity": "sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.43.0.tgz",
- "integrity": "sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.43.0.tgz",
- "integrity": "sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.43.0.tgz",
- "integrity": "sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.43.0.tgz",
- "integrity": "sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.43.0.tgz",
- "integrity": "sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.43.0.tgz",
- "integrity": "sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-musl": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.43.0.tgz",
- "integrity": "sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.43.0.tgz",
- "integrity": "sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.43.0.tgz",
- "integrity": "sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.43.0.tgz",
- "integrity": "sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.43.0.tgz",
- "integrity": "sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.43.0.tgz",
- "integrity": "sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.43.0.tgz",
- "integrity": "sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@svelte-put/shortcut": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@svelte-put/shortcut/-/shortcut-4.1.0.tgz",
- "integrity": "sha512-wImNEIkbxAIWFqlfuhcbC+jRPDeRa/uJGIXHMEVVD+jqL9xCwWNnkGQJ6Qb2XVszuRLHlb8SGZDL3Io/h3vs8w==",
- "license": "MIT",
- "peerDependencies": {
- "svelte": "^5.1.0"
- }
- },
- "node_modules/@sveltejs/acorn-typescript": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz",
- "integrity": "sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==",
- "license": "MIT",
- "peerDependencies": {
- "acorn": "^8.9.0"
- }
- },
- "node_modules/@sveltejs/adapter-static": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.8.tgz",
- "integrity": "sha512-YaDrquRpZwfcXbnlDsSrBQNCChVOT9MGuSg+dMAyfsAa1SmiAhrA5jUYUiIMC59G92kIbY/AaQOWcBdq+lh+zg==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "@sveltejs/kit": "^2.0.0"
- }
- },
- "node_modules/@sveltejs/kit": {
- "version": "2.22.0",
- "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.22.0.tgz",
- "integrity": "sha512-DJm0UxVgzXq+1MUfiJK4Ridk7oIQsIets6JwHiEl97sI6nXScfXe+BeqNhzB7jQIVBb3BM51U4hNk8qQxRXBAA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@sveltejs/acorn-typescript": "^1.0.5",
- "@types/cookie": "^0.6.0",
- "acorn": "^8.14.1",
- "cookie": "^0.6.0",
- "devalue": "^5.1.0",
- "esm-env": "^1.2.2",
- "kleur": "^4.1.5",
- "magic-string": "^0.30.5",
- "mrmime": "^2.0.0",
- "sade": "^1.8.1",
- "set-cookie-parser": "^2.6.0",
- "sirv": "^3.0.0",
- "vitefu": "^1.0.6"
- },
- "bin": {
- "svelte-kit": "svelte-kit.js"
- },
- "engines": {
- "node": ">=18.13"
- },
- "peerDependencies": {
- "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0",
- "svelte": "^4.0.0 || ^5.0.0-next.0",
- "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0"
- }
- },
- "node_modules/@sveltejs/vite-plugin-svelte": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.1.0.tgz",
- "integrity": "sha512-wojIS/7GYnJDYIg1higWj2ROA6sSRWvcR1PO/bqEyFr/5UZah26c8Cz4u0NaqjPeVltzsVpt2Tm8d2io0V+4Tw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1",
- "debug": "^4.4.1",
- "deepmerge": "^4.3.1",
- "kleur": "^4.1.5",
- "magic-string": "^0.30.17",
- "vitefu": "^1.0.6"
- },
- "engines": {
- "node": "^18.0.0 || ^20.0.0 || >=22"
- },
- "peerDependencies": {
- "svelte": "^5.0.0",
- "vite": "^6.0.0"
- }
- },
- "node_modules/@sveltejs/vite-plugin-svelte-inspector": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-4.0.1.tgz",
- "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.3.7"
- },
- "engines": {
- "node": "^18.0.0 || ^20.0.0 || >=22"
- },
- "peerDependencies": {
- "@sveltejs/vite-plugin-svelte": "^5.0.0",
- "svelte": "^5.0.0",
- "vite": "^6.0.0"
- }
- },
- "node_modules/@sveltestack/svelte-query": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@sveltestack/svelte-query/-/svelte-query-1.6.0.tgz",
- "integrity": "sha512-C0wWuh6av1zu3Pzwrg6EQmX3BhDZQ4gMAdYu6Tfv4bjbEZTB00uEDz52z92IZdONh+iUKuyo0xRZ2e16k2Xifg==",
- "license": "MIT",
- "peerDependencies": {
- "broadcast-channel": "^4.5.0"
- },
- "peerDependenciesMeta": {
- "broadcast-channel": {
- "optional": true
- }
- }
- },
- "node_modules/@swc/helpers": {
- "version": "0.5.17",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz",
- "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.8.0"
- }
- },
- "node_modules/@tailwindcss/forms": {
- "version": "0.5.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.10.tgz",
- "integrity": "sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mini-svg-data-uri": "^1.2.3"
- },
- "peerDependencies": {
- "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1"
- }
- },
- "node_modules/@tailwindcss/node": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.10.tgz",
- "integrity": "sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@ampproject/remapping": "^2.3.0",
- "enhanced-resolve": "^5.18.1",
- "jiti": "^2.4.2",
- "lightningcss": "1.30.1",
- "magic-string": "^0.30.17",
- "source-map-js": "^1.2.1",
- "tailwindcss": "4.1.10"
- }
- },
- "node_modules/@tailwindcss/oxide": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.10.tgz",
- "integrity": "sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "dependencies": {
- "detect-libc": "^2.0.4",
- "tar": "^7.4.3"
- },
- "engines": {
- "node": ">= 10"
- },
- "optionalDependencies": {
- "@tailwindcss/oxide-android-arm64": "4.1.10",
- "@tailwindcss/oxide-darwin-arm64": "4.1.10",
- "@tailwindcss/oxide-darwin-x64": "4.1.10",
- "@tailwindcss/oxide-freebsd-x64": "4.1.10",
- "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.10",
- "@tailwindcss/oxide-linux-arm64-gnu": "4.1.10",
- "@tailwindcss/oxide-linux-arm64-musl": "4.1.10",
- "@tailwindcss/oxide-linux-x64-gnu": "4.1.10",
- "@tailwindcss/oxide-linux-x64-musl": "4.1.10",
- "@tailwindcss/oxide-wasm32-wasi": "4.1.10",
- "@tailwindcss/oxide-win32-arm64-msvc": "4.1.10",
- "@tailwindcss/oxide-win32-x64-msvc": "4.1.10"
- }
- },
- "node_modules/@tailwindcss/oxide-android-arm64": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.10.tgz",
- "integrity": "sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tailwindcss/oxide-darwin-arm64": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.10.tgz",
- "integrity": "sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tailwindcss/oxide-darwin-x64": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.10.tgz",
- "integrity": "sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tailwindcss/oxide-freebsd-x64": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.10.tgz",
- "integrity": "sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.10.tgz",
- "integrity": "sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.10.tgz",
- "integrity": "sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-arm64-musl": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.10.tgz",
- "integrity": "sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.10.tgz",
- "integrity": "sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-x64-musl": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.10.tgz",
- "integrity": "sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tailwindcss/oxide-wasm32-wasi": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.10.tgz",
- "integrity": "sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q==",
- "bundleDependencies": [
- "@napi-rs/wasm-runtime",
- "@emnapi/core",
- "@emnapi/runtime",
- "@tybys/wasm-util",
- "@emnapi/wasi-threads",
- "tslib"
- ],
- "cpu": [
- "wasm32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@emnapi/core": "^1.4.3",
- "@emnapi/runtime": "^1.4.3",
- "@emnapi/wasi-threads": "^1.0.2",
- "@napi-rs/wasm-runtime": "^0.2.10",
- "@tybys/wasm-util": "^0.9.0",
- "tslib": "^2.8.0"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.10.tgz",
- "integrity": "sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tailwindcss/oxide-win32-x64-msvc": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.10.tgz",
- "integrity": "sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/@tailwindcss/typography": {
- "version": "0.5.16",
- "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.16.tgz",
- "integrity": "sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lodash.castarray": "^4.4.0",
- "lodash.isplainobject": "^4.0.6",
- "lodash.merge": "^4.6.2",
- "postcss-selector-parser": "6.0.10"
- },
- "peerDependencies": {
- "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1"
- }
- },
- "node_modules/@tailwindcss/vite": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.10.tgz",
- "integrity": "sha512-QWnD5HDY2IADv+vYR82lOhqOlS1jSCUUAmfem52cXAhRTKxpDh3ARX8TTXJTCCO7Rv7cD2Nlekabv02bwP3a2A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@tailwindcss/node": "4.1.10",
- "@tailwindcss/oxide": "4.1.10",
- "tailwindcss": "4.1.10"
- },
- "peerDependencies": {
- "vite": "^5.2.0 || ^6"
- }
- },
- "node_modules/@types/cookie": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
- "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/d3-path": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz",
- "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/d3-scale": {
- "version": "4.0.9",
- "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz",
- "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/d3-time": "*"
- }
- },
- "node_modules/@types/d3-shape": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz",
- "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/d3-path": "*"
- }
- },
- "node_modules/@types/d3-time": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz",
- "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/estree": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
- "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
- "license": "MIT"
- },
- "node_modules/@types/hammerjs": {
- "version": "2.0.46",
- "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.46.tgz",
- "integrity": "sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw==",
- "license": "MIT"
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/tabulator-tables": {
- "version": "6.2.6",
- "resolved": "https://registry.npmjs.org/@types/tabulator-tables/-/tabulator-tables-6.2.6.tgz",
- "integrity": "sha512-A+2VrqDluI6hNw5dQl1Z7b8pjQfAE62+3Kj0cFfenWzj0T0ewMicPrpPINHL7ASqz9u9FTDn1Mz1Ige2tF4Wlw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/validator": {
- "version": "13.15.2",
- "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.15.2.tgz",
- "integrity": "sha512-y7pa/oEJJ4iGYBxOpfAKn5b9+xuihvzDVnC/OSvlVnGxVg0pOqmjiMafiJ1KVNQEaPZf9HsEp5icEwGg8uIe5Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.34.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.1.tgz",
- "integrity": "sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.34.1",
- "@typescript-eslint/type-utils": "8.34.1",
- "@typescript-eslint/utils": "8.34.1",
- "@typescript-eslint/visitor-keys": "8.34.1",
- "graphemer": "^1.4.0",
- "ignore": "^7.0.0",
- "natural-compare": "^1.4.0",
- "ts-api-utils": "^2.1.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^8.34.1",
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
- "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "8.34.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.1.tgz",
- "integrity": "sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/scope-manager": "8.34.1",
- "@typescript-eslint/types": "8.34.1",
- "@typescript-eslint/typescript-estree": "8.34.1",
- "@typescript-eslint/visitor-keys": "8.34.1",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
- }
- },
- "node_modules/@typescript-eslint/project-service": {
- "version": "8.34.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.1.tgz",
- "integrity": "sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/tsconfig-utils": "^8.34.1",
- "@typescript-eslint/types": "^8.34.1",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <5.9.0"
- }
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "8.34.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.1.tgz",
- "integrity": "sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "8.34.1",
- "@typescript-eslint/visitor-keys": "8.34.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/tsconfig-utils": {
- "version": "8.34.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.1.tgz",
- "integrity": "sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <5.9.0"
- }
- },
- "node_modules/@typescript-eslint/type-utils": {
- "version": "8.34.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.34.1.tgz",
- "integrity": "sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/typescript-estree": "8.34.1",
- "@typescript-eslint/utils": "8.34.1",
- "debug": "^4.3.4",
- "ts-api-utils": "^2.1.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
- }
- },
- "node_modules/@typescript-eslint/types": {
- "version": "8.34.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.1.tgz",
- "integrity": "sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.34.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.1.tgz",
- "integrity": "sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/project-service": "8.34.1",
- "@typescript-eslint/tsconfig-utils": "8.34.1",
- "@typescript-eslint/types": "8.34.1",
- "@typescript-eslint/visitor-keys": "8.34.1",
- "debug": "^4.3.4",
- "fast-glob": "^3.3.2",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^2.1.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4 <5.9.0"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
- "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@typescript-eslint/utils": {
- "version": "8.34.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.1.tgz",
- "integrity": "sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.7.0",
- "@typescript-eslint/scope-manager": "8.34.1",
- "@typescript-eslint/types": "8.34.1",
- "@typescript-eslint/typescript-estree": "8.34.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.34.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.1.tgz",
- "integrity": "sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "8.34.1",
- "eslint-visitor-keys": "^4.2.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@ungap/structured-clone": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
- "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
- "license": "ISC"
- },
- "node_modules/@xterm/addon-attach": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@xterm/addon-attach/-/addon-attach-0.11.0.tgz",
- "integrity": "sha512-JboCN0QAY6ZLY/SSB/Zl2cQ5zW1Eh4X3fH7BnuR1NB7xGRhzbqU2Npmpiw/3zFlxDaU88vtKzok44JKi2L2V2Q==",
- "license": "MIT",
- "peerDependencies": {
- "@xterm/xterm": "^5.0.0"
- }
- },
- "node_modules/@xterm/addon-canvas": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/@xterm/addon-canvas/-/addon-canvas-0.7.0.tgz",
- "integrity": "sha512-LF5LYcfvefJuJ7QotNRdRSPc9YASAVDeoT5uyXS/nZshZXjYplGXRECBGiznwvhNL2I8bq1Lf5MzRwstsYQ2Iw==",
- "license": "MIT",
- "peerDependencies": {
- "@xterm/xterm": "^5.0.0"
- }
- },
- "node_modules/@xterm/addon-clipboard": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@xterm/addon-clipboard/-/addon-clipboard-0.1.0.tgz",
- "integrity": "sha512-zdoM7p53T5sv/HbRTyp4hY0kKmEQ3MZvAvEtiXqNIHc/JdpqwByCtsTaQF5DX2n4hYdXRPO4P/eOS0QEhX1nPw==",
- "license": "MIT",
- "dependencies": {
- "js-base64": "^3.7.5"
- },
- "peerDependencies": {
- "@xterm/xterm": "^5.4.0"
- }
- },
- "node_modules/@xterm/addon-fit": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/@xterm/addon-fit/-/addon-fit-0.10.0.tgz",
- "integrity": "sha512-UFYkDm4HUahf2lnEyHvio51TNGiLK66mqP2JoATy7hRZeXaGMRDr00JiSF7m63vR5WKATF605yEggJKsw0JpMQ==",
- "license": "MIT",
- "peerDependencies": {
- "@xterm/xterm": "^5.0.0"
- }
- },
- "node_modules/@xterm/addon-image": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@xterm/addon-image/-/addon-image-0.8.0.tgz",
- "integrity": "sha512-b/dqpFn3jUad2pUP5UpF4scPIh0WdxRQL/1qyiahGfUI85XZTCXo0py9G6AcOR2QYUw8eJ8EowGspT7BQcgw6A==",
- "license": "MIT",
- "peerDependencies": {
- "@xterm/xterm": "^5.2.0"
- }
- },
- "node_modules/@xterm/addon-search": {
- "version": "0.15.0",
- "resolved": "https://registry.npmjs.org/@xterm/addon-search/-/addon-search-0.15.0.tgz",
- "integrity": "sha512-ZBZKLQ+EuKE83CqCmSSz5y1tx+aNOCUaA7dm6emgOX+8J9H1FWXZyrKfzjwzV+V14TV3xToz1goIeRhXBS5qjg==",
- "license": "MIT",
- "peerDependencies": {
- "@xterm/xterm": "^5.0.0"
- }
- },
- "node_modules/@xterm/addon-serialize": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/@xterm/addon-serialize/-/addon-serialize-0.13.0.tgz",
- "integrity": "sha512-kGs8o6LWAmN1l2NpMp01/YkpxbmO4UrfWybeGu79Khw5K9+Krp7XhXbBTOTc3GJRRhd6EmILjpR8k5+odY39YQ==",
- "license": "MIT",
- "peerDependencies": {
- "@xterm/xterm": "^5.0.0"
- }
- },
- "node_modules/@xterm/addon-unicode11": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@xterm/addon-unicode11/-/addon-unicode11-0.8.0.tgz",
- "integrity": "sha512-LxinXu8SC4OmVa6FhgwsVCBZbr8WoSGzBl2+vqe8WcQ6hb1r6Gj9P99qTNdPiFPh4Ceiu2pC8xukZ6+2nnh49Q==",
- "license": "MIT",
- "peerDependencies": {
- "@xterm/xterm": "^5.0.0"
- }
- },
- "node_modules/@xterm/addon-web-links": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@xterm/addon-web-links/-/addon-web-links-0.11.0.tgz",
- "integrity": "sha512-nIHQ38pQI+a5kXnRaTgwqSHnX7KE6+4SVoceompgHL26unAxdfP6IPqUTSYPQgSwM56hsElfoNrrW5V7BUED/Q==",
- "license": "MIT",
- "peerDependencies": {
- "@xterm/xterm": "^5.0.0"
- }
- },
- "node_modules/@xterm/addon-webgl": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/@xterm/addon-webgl/-/addon-webgl-0.18.0.tgz",
- "integrity": "sha512-xCnfMBTI+/HKPdRnSOHaJDRqEpq2Ugy8LEj9GiY4J3zJObo3joylIFaMvzBwbYRg8zLtkO0KQaStCeSfoaI2/w==",
- "license": "MIT",
- "peerDependencies": {
- "@xterm/xterm": "^5.0.0"
- }
- },
- "node_modules/@xterm/xterm": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/@xterm/xterm/-/xterm-5.5.0.tgz",
- "integrity": "sha512-hqJHYaQb5OptNunnyAnkHyM8aCjZ1MEIDTQu1iIbbTD/xops91NB5yq1ZK/dC2JDbVWtF23zUtl9JE2NqwT87A==",
- "license": "MIT"
- },
- "node_modules/acorn": {
- "version": "8.15.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
- "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/adze": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/adze/-/adze-2.2.4.tgz",
- "integrity": "sha512-Kqe4cLmYS42QNPtFoiDKsaZMPJYnAhBsh3SuVEeTEvjjTy3zOO1ovvD3wbylXtC+mUOcWU9vzS3ezXHpk0Lq6A==",
- "license": "Apache-2.0",
- "dependencies": {
- "@ungap/structured-clone": "1.2.0",
- "picocolors": "1.1.1"
- },
- "engines": {
- "node": ">=18.19.0"
- }
- },
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
- "license": "Python-2.0"
- },
- "node_modules/aria-query": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
- "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
- "license": "Apache-2.0",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "license": "MIT"
- },
- "node_modules/axios": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz",
- "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==",
- "license": "MIT",
- "dependencies": {
- "follow-redirects": "^1.15.6",
- "form-data": "^4.0.0",
- "proxy-from-env": "^1.1.0"
- }
- },
- "node_modules/axobject-query": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
- "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
- "license": "Apache-2.0",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/bits-ui": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/bits-ui/-/bits-ui-2.8.1.tgz",
- "integrity": "sha512-fyKn2UnuPlyqtU7dtp9jDF6KV2aP1N6alzU5S1V1YkEmA2KP0Rm9g+sR+CeDJ/vN/UoMK9uiAl6y7M/Y0e67Bw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@floating-ui/core": "^1.7.0",
- "@floating-ui/dom": "^1.7.0",
- "css.escape": "^1.5.1",
- "esm-env": "^1.1.2",
- "runed": "^0.28.0",
- "svelte-toolbelt": "^0.9.2",
- "tabbable": "^6.2.0"
- },
- "engines": {
- "node": ">=20",
- "pnpm": ">=8.7.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/huntabyte"
- },
- "peerDependencies": {
- "@internationalized/date": "^3.8.1",
- "svelte": "^5.33.0"
- }
- },
- "node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/call-bind-apply-helpers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
- "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/chart.js": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.0.tgz",
- "integrity": "sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ==",
- "license": "MIT",
- "dependencies": {
- "@kurkle/color": "^0.3.0"
- },
- "engines": {
- "pnpm": ">=8"
- }
- },
- "node_modules/chartjs-adapter-date-fns": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chartjs-adapter-date-fns/-/chartjs-adapter-date-fns-3.0.0.tgz",
- "integrity": "sha512-Rs3iEB3Q5pJ973J93OBTpnP7qoGwvq3nUnoMdtxO+9aoJof7UFcRbWcIDteXuYd1fgAvct/32T9qaLyLuZVwCg==",
- "license": "MIT",
- "peerDependencies": {
- "chart.js": ">=2.8.0",
- "date-fns": ">=2.0.0"
- }
- },
- "node_modules/chartjs-plugin-zoom": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/chartjs-plugin-zoom/-/chartjs-plugin-zoom-2.2.0.tgz",
- "integrity": "sha512-in6kcdiTlP6npIVLMd4zXZ08PDUXC52gZ4FAy5oyjk1zX3gKarXMAof7B9eFiisf9WOC3bh2saHg+J5WtLXZeA==",
- "license": "MIT",
- "dependencies": {
- "@types/hammerjs": "^2.0.45",
- "hammerjs": "^2.0.8"
- },
- "peerDependencies": {
- "chart.js": ">=3.2.0"
- }
- },
- "node_modules/chokidar": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
- "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "readdirp": "^4.0.1"
- },
- "engines": {
- "node": ">= 14.16.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- }
- },
- "node_modules/chownr": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
- "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/cidr-regex": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/cidr-regex/-/cidr-regex-4.1.3.tgz",
- "integrity": "sha512-86M1y3ZeQvpZkZejQCcS+IaSWjlDUC+ORP0peScQ4uEUFCZ8bEQVz7NlJHqysoUb6w3zCjx4Mq/8/2RHhMwHYw==",
- "license": "BSD-2-Clause",
- "dependencies": {
- "ip-regex": "^5.0.0"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/clone-regexp": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-3.0.0.tgz",
- "integrity": "sha512-ujdnoq2Kxb8s3ItNBtnYeXdm07FcU0u8ARAT1lQ2YdMwQC+cdiXX8KoqMVuglztILivceTtp4ivqGSmEmhBUJw==",
- "license": "MIT",
- "dependencies": {
- "is-regexp": "^3.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/clsx": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
- "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "license": "MIT",
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/convert-hrtime": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz",
- "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/cookie": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
- "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cross-spawn": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
- "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/css.escape": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
- "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/d3-array": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
- "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
- "license": "ISC",
- "dependencies": {
- "internmap": "1 - 2"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-color": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
- "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-delaunay": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
- "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "delaunator": "5"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-dispatch": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
- "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-dsv": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
- "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "commander": "7",
- "iconv-lite": "0.6",
- "rw": "1"
- },
- "bin": {
- "csv2json": "bin/dsv2json.js",
- "csv2tsv": "bin/dsv2dsv.js",
- "dsv2dsv": "bin/dsv2dsv.js",
- "dsv2json": "bin/dsv2json.js",
- "json2csv": "bin/json2dsv.js",
- "json2dsv": "bin/json2dsv.js",
- "json2tsv": "bin/json2dsv.js",
- "tsv2csv": "bin/dsv2dsv.js",
- "tsv2json": "bin/dsv2json.js"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-force": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
- "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "d3-dispatch": "1 - 3",
- "d3-quadtree": "1 - 3",
- "d3-timer": "1 - 3"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-format": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
- "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-geo": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz",
- "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "d3-array": "2.5.0 - 3"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-geo-voronoi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/d3-geo-voronoi/-/d3-geo-voronoi-2.1.0.tgz",
- "integrity": "sha512-kqE4yYuOjPbKdBXG0xztCacPwkVSK2REF1opSNrnqqtXJmNcM++UbwQ8SxvwP6IQTj9RvIjjK4qeiVsEfj0Z2Q==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "d3-array": "3",
- "d3-delaunay": "6",
- "d3-geo": "3",
- "d3-tricontour": "1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-hierarchy": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
- "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-interpolate": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
- "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "d3-color": "1 - 3"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-interpolate-path": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/d3-interpolate-path/-/d3-interpolate-path-2.3.0.tgz",
- "integrity": "sha512-tZYtGXxBmbgHsIc9Wms6LS5u4w6KbP8C09a4/ZYc4KLMYYqub57rRBUgpUr2CIarIrJEpdAWWxWQvofgaMpbKQ==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/d3-path": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
- "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-quadtree": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
- "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-random": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
- "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-sankey": {
- "version": "0.12.3",
- "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz",
- "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "d3-array": "1 - 2",
- "d3-shape": "^1.2.0"
- }
- },
- "node_modules/d3-sankey/node_modules/d3-array": {
- "version": "2.12.1",
- "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz",
- "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "internmap": "^1.0.0"
- }
- },
- "node_modules/d3-sankey/node_modules/d3-path": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz",
- "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/d3-sankey/node_modules/d3-shape": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz",
- "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "d3-path": "1"
- }
- },
- "node_modules/d3-sankey/node_modules/internmap": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz",
- "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/d3-scale": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
- "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "d3-array": "2.10.0 - 3",
- "d3-format": "1 - 3",
- "d3-interpolate": "1.2.0 - 3",
- "d3-time": "2.1.1 - 3",
- "d3-time-format": "2 - 4"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-scale-chromatic": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
- "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "d3-color": "1 - 3",
- "d3-interpolate": "1 - 3"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-shape": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
- "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
- "license": "ISC",
- "dependencies": {
- "d3-path": "^3.1.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-tile": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/d3-tile/-/d3-tile-1.0.0.tgz",
- "integrity": "sha512-79fnTKpPMPDS5xQ0xuS9ir0165NEwwkFpe/DSOmc2Gl9ldYzKKRDWogmTTE8wAJ8NA7PMapNfEcyKhI9Lxdu5Q==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/d3-time": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
- "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "d3-array": "2 - 3"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-time-format": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
- "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "d3-time": "1 - 3"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-timer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
- "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/d3-tricontour": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/d3-tricontour/-/d3-tricontour-1.0.2.tgz",
- "integrity": "sha512-HIRxHzHagPtUPNabjOlfcyismJYIsc+Xlq4mlsts4e8eAcwyq9Tgk/sYdyhlBpQ0MHwVquc/8j+e29YjXnmxeA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "d3-delaunay": "6",
- "d3-scale": "4"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/date-fns": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
- "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/kossnocorp"
- }
- },
- "node_modules/date-fns-tz": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/date-fns-tz/-/date-fns-tz-3.2.0.tgz",
- "integrity": "sha512-sg8HqoTEulcbbbVXeg84u5UnlsQa8GS5QXMqjjYIhS4abEVVKIUwe0/l/UhrZdKaL/W5eWZNlbTeEIiOXTcsBQ==",
- "license": "MIT",
- "peerDependencies": {
- "date-fns": "^3.0.0 || ^4.0.0"
- }
- },
- "node_modules/debug": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
- "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/deepmerge": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
- "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/delaunator": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz",
- "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "robust-predicates": "^3.0.2"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/detect-libc": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
- "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/devalue": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz",
- "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/dunder-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
- "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.1",
- "es-errors": "^1.3.0",
- "gopd": "^1.2.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/enhanced-resolve": {
- "version": "5.18.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz",
- "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/es-define-property": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
- "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-errors": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
- "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-object-atoms": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
- "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-set-tostringtag": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
- "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.6",
- "has-tostringtag": "^1.0.2",
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint": {
- "version": "9.29.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz",
- "integrity": "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.12.1",
- "@eslint/config-array": "^0.20.1",
- "@eslint/config-helpers": "^0.2.1",
- "@eslint/core": "^0.14.0",
- "@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "9.29.0",
- "@eslint/plugin-kit": "^0.3.1",
- "@humanfs/node": "^0.16.6",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@humanwhocodes/retry": "^0.4.2",
- "@types/estree": "^1.0.6",
- "@types/json-schema": "^7.0.15",
- "ajv": "^6.12.4",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.6",
- "debug": "^4.3.2",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^8.4.0",
- "eslint-visitor-keys": "^4.2.1",
- "espree": "^10.4.0",
- "esquery": "^1.5.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^8.0.0",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "ignore": "^5.2.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.3"
- },
- "bin": {
- "eslint": "bin/eslint.js"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://eslint.org/donate"
- },
- "peerDependencies": {
- "jiti": "*"
- },
- "peerDependenciesMeta": {
- "jiti": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-config-prettier": {
- "version": "10.1.5",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz",
- "integrity": "sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "eslint-config-prettier": "bin/cli.js"
- },
- "funding": {
- "url": "https://opencollective.com/eslint-config-prettier"
- },
- "peerDependencies": {
- "eslint": ">=7.0.0"
- }
- },
- "node_modules/eslint-plugin-svelte": {
- "version": "3.9.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.9.2.tgz",
- "integrity": "sha512-aqzfHtG9RPaFhCUFm5QFC6eFY/yHFQIT8VYYFe7/mT2A9mbgVR3XV2keCqU19LN8iVD9mdvRvqHU+4+CzJImvg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.6.1",
- "@jridgewell/sourcemap-codec": "^1.5.0",
- "esutils": "^2.0.3",
- "globals": "^16.0.0",
- "known-css-properties": "^0.36.0",
- "postcss": "^8.4.49",
- "postcss-load-config": "^3.1.4",
- "postcss-safe-parser": "^7.0.0",
- "semver": "^7.6.3",
- "svelte-eslint-parser": "^1.2.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ota-meshi"
- },
- "peerDependencies": {
- "eslint": "^8.57.1 || ^9.0.0",
- "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0"
- },
- "peerDependenciesMeta": {
- "svelte": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-scope": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
- "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-visitor-keys": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
- "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/esm-env": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz",
- "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==",
- "license": "MIT"
- },
- "node_modules/espree": {
- "version": "10.4.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
- "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "acorn": "^8.15.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^4.2.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/esquery": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
- "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "estraverse": "^5.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/esrap": {
- "version": "1.4.9",
- "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.9.tgz",
- "integrity": "sha512-3OMlcd0a03UGuZpPeUC1HxR3nA23l+HEyCiZw3b3FumJIN9KphoGzDJKMXI1S72jVS1dsenDyQC0kJlO1U9E1g==",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.15"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-glob": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
- "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.8"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fastq": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
- "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/file-entry-cache": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
- "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flat-cache": "^4.0.0"
- },
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/flat-cache": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
- "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flatted": "^3.2.9",
- "keyv": "^4.5.4"
- },
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/flatted": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
- "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/follow-redirects": {
- "version": "1.15.9",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
- "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/form-data": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz",
- "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==",
- "license": "MIT",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "es-set-tostringtag": "^2.1.0",
- "hasown": "^2.0.2",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/function-timeout": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-0.1.1.tgz",
- "integrity": "sha512-0NVVC0TaP7dSTvn1yMiy6d6Q8gifzbvQafO46RtLG/kHJUBNd+pVRGOBoK44wNBvtSPUJRfdVvkFdD3p0xvyZg==",
- "license": "MIT",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
- "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
- "license": "MIT",
- "dependencies": {
- "call-bind-apply-helpers": "^1.0.2",
- "es-define-property": "^1.0.1",
- "es-errors": "^1.3.0",
- "es-object-atoms": "^1.1.1",
- "function-bind": "^1.1.2",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "has-symbols": "^1.1.0",
- "hasown": "^2.0.2",
- "math-intrinsics": "^1.1.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
- "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
- "license": "MIT",
- "dependencies": {
- "dunder-proto": "^1.0.1",
- "es-object-atoms": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/globals": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-16.2.0.tgz",
- "integrity": "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/gopd": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
- "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/graphemer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
- "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/hammerjs": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
- "integrity": "sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==",
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
- "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-tostringtag": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
- "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
- "license": "MIT",
- "dependencies": {
- "has-symbols": "^1.0.3"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/human-format": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/human-format/-/human-format-1.2.1.tgz",
- "integrity": "sha512-o5Ldz62VWR5lYUZ8aVQaLKiN37NsHnmk3xjMoUjza3mGkk8MvMofgZT0T6HKSCKSJIir+AWk9Dx8KhxvZAUgCg==",
- "license": "ISC",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/immer": {
- "version": "10.1.1",
- "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz",
- "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==",
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/immer"
- }
- },
- "node_modules/immutable": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz",
- "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/import-fresh": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
- "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/inline-style-parser": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz",
- "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/internmap": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
- "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/ip-regex": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz",
- "integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==",
- "license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-cidr": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/is-cidr/-/is-cidr-5.1.1.tgz",
- "integrity": "sha512-AwzRMjtJNTPOgm7xuYZ71715z99t+4yRnSnSzgK5err5+heYi4zMuvmpUadaJ28+KCXCQo8CjUrKQZRWSPmqTQ==",
- "license": "BSD-2-Clause",
- "dependencies": {
- "cidr-regex": "^4.1.1"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-ip": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-5.0.1.tgz",
- "integrity": "sha512-FCsGHdlrOnZQcp0+XT5a+pYowf33itBalCl+7ovNXC/7o5BhIpG14M3OrpPPdBSIQJCm+0M5+9mO7S9VVTTCFw==",
- "license": "MIT",
- "dependencies": {
- "ip-regex": "^5.0.0",
- "super-regex": "^0.2.0"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-reference": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz",
- "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==",
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.6"
- }
- },
- "node_modules/is-regexp": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-3.1.0.tgz",
- "integrity": "sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/jiti": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz",
- "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "jiti": "lib/jiti-cli.mjs"
- }
- },
- "node_modules/js-base64": {
- "version": "3.7.7",
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.7.tgz",
- "integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==",
- "license": "BSD-3-Clause"
- },
- "node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/keyv": {
- "version": "4.5.4",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
- "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "json-buffer": "3.0.1"
- }
- },
- "node_modules/kleur": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
- "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/known-css-properties": {
- "version": "0.36.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.36.0.tgz",
- "integrity": "sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/layerchart": {
- "version": "2.0.0-next.23",
- "resolved": "https://registry.npmjs.org/layerchart/-/layerchart-2.0.0-next.23.tgz",
- "integrity": "sha512-Uf7/xMjhHcJHQqstjV4RN9GdUWSLQkmrfCKsvTneeJBVNUWs2C9djH6SQTVtv/FcT0HEyIv573RomB3m7uLSUw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@dagrejs/dagre": "^1.1.4",
- "@layerstack/svelte-actions": "1.0.1-next.12",
- "@layerstack/svelte-state": "0.1.0-next.17",
- "@layerstack/tailwind": "2.0.0-next.15",
- "@layerstack/utils": "2.0.0-next.12",
- "d3-array": "^3.2.4",
- "d3-color": "^3.1.0",
- "d3-delaunay": "^6.0.4",
- "d3-dsv": "^3.0.1",
- "d3-force": "^3.0.0",
- "d3-geo": "^3.1.1",
- "d3-geo-voronoi": "^2.1.0",
- "d3-hierarchy": "^3.1.2",
- "d3-interpolate": "^3.0.1",
- "d3-interpolate-path": "^2.3.0",
- "d3-path": "^3.1.0",
- "d3-quadtree": "^3.0.1",
- "d3-random": "^3.0.1",
- "d3-sankey": "^0.12.3",
- "d3-scale": "^4.0.2",
- "d3-scale-chromatic": "^3.1.0",
- "d3-shape": "^3.2.0",
- "d3-tile": "^1.0.0",
- "d3-time": "^3.1.0",
- "lodash-es": "^4.17.21",
- "memoize": "^10.1.0",
- "runed": "^0.28.0"
- },
- "peerDependencies": {
- "svelte": "^5.0.0"
- }
- },
- "node_modules/layerchart/node_modules/@layerstack/utils": {
- "version": "2.0.0-next.12",
- "resolved": "https://registry.npmjs.org/@layerstack/utils/-/utils-2.0.0-next.12.tgz",
- "integrity": "sha512-fhGZUlSr3N+D44BYm37WKMGSEFyZBW+dwIqtGU8Cl54mR4TLQ/UwyGhdpgIHyH/x/8q1abE0fP0Dn6ZsrDE3BA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "d3-array": "^3.2.4",
- "d3-time": "^3.1.0",
- "d3-time-format": "^4.1.0",
- "lodash-es": "^4.17.21"
- }
- },
- "node_modules/levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/lightningcss": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz",
- "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==",
- "dev": true,
- "license": "MPL-2.0",
- "dependencies": {
- "detect-libc": "^2.0.3"
- },
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- },
- "optionalDependencies": {
- "lightningcss-darwin-arm64": "1.30.1",
- "lightningcss-darwin-x64": "1.30.1",
- "lightningcss-freebsd-x64": "1.30.1",
- "lightningcss-linux-arm-gnueabihf": "1.30.1",
- "lightningcss-linux-arm64-gnu": "1.30.1",
- "lightningcss-linux-arm64-musl": "1.30.1",
- "lightningcss-linux-x64-gnu": "1.30.1",
- "lightningcss-linux-x64-musl": "1.30.1",
- "lightningcss-win32-arm64-msvc": "1.30.1",
- "lightningcss-win32-x64-msvc": "1.30.1"
- }
- },
- "node_modules/lightningcss-darwin-arm64": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz",
- "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-darwin-x64": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz",
- "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-freebsd-x64": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz",
- "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-arm-gnueabihf": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz",
- "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-arm64-gnu": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz",
- "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-arm64-musl": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz",
- "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-x64-gnu": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz",
- "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-linux-x64-musl": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz",
- "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-win32-arm64-msvc": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz",
- "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lightningcss-win32-x64-msvc": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz",
- "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MPL-2.0",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 12.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/parcel"
- }
- },
- "node_modules/lilconfig": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/locate-character": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
- "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
- "license": "MIT"
- },
- "node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/lodash-es": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
- "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
- "license": "MIT"
- },
- "node_modules/lodash.castarray": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz",
- "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lucide-svelte": {
- "version": "0.516.0",
- "resolved": "https://registry.npmjs.org/lucide-svelte/-/lucide-svelte-0.516.0.tgz",
- "integrity": "sha512-8YmF3pke1owMbtdYWscJFN47dEqJ41oXz3hVRKnYjQbDXE9uYqkE9KnAME1268mBhsC97xTqMYh07/RYrojLKA==",
- "license": "ISC",
- "peerDependencies": {
- "svelte": "^3 || ^4 || ^5.0.0-next.42"
- }
- },
- "node_modules/magic-string": {
- "version": "0.30.17",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
- "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.0"
- }
- },
- "node_modules/math-intrinsics": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
- "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/memoize": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/memoize/-/memoize-10.1.0.tgz",
- "integrity": "sha512-MMbFhJzh4Jlg/poq1si90XRlTZRDHVqdlz2mPyGJ6kqMpyHUyVpDd5gpFAvVehW64+RA1eKE9Yt8aSLY7w2Kgg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-function": "^5.0.1"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/memoize?sponsor=1"
- }
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "license": "MIT",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-function": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
- "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/mini-svg-data-uri": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
- "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "mini-svg-data-uri": "cli.js"
- }
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
- "node_modules/minizlib": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz",
- "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minipass": "^7.1.2"
- },
- "engines": {
- "node": ">= 18"
- }
- },
- "node_modules/mkdirp": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz",
- "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "mkdirp": "dist/cjs/src/bin.js"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/mode-watcher": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/mode-watcher/-/mode-watcher-1.0.8.tgz",
- "integrity": "sha512-1YIgYymrae0lhcG9zPS/YWOvcKsUbM4bLGIh+eXTUIput5+dEJifcmUgp8NSehSXGSwITH6jbSjNhGEIhE3k5Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "runed": "^0.25.0",
- "svelte-toolbelt": "^0.7.1"
- },
- "peerDependencies": {
- "svelte": "^5.27.0"
- }
- },
- "node_modules/mode-watcher/node_modules/runed": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/runed/-/runed-0.25.0.tgz",
- "integrity": "sha512-7+ma4AG9FT2sWQEA0Egf6mb7PBT2vHyuHail1ie8ropfSjvZGtEAx8YTmUjv/APCsdRRxEVvArNjALk9zFSOrg==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/huntabyte",
- "https://github.com/sponsors/tglide"
- ],
- "dependencies": {
- "esm-env": "^1.0.0"
- },
- "peerDependencies": {
- "svelte": "^5.7.0"
- }
- },
- "node_modules/mode-watcher/node_modules/svelte-toolbelt": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.7.1.tgz",
- "integrity": "sha512-HcBOcR17Vx9bjaOceUvxkY3nGmbBmCBBbuWLLEWO6jtmWH8f/QoWmbyUfQZrpDINH39en1b8mptfPQT9VKQ1xQ==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/huntabyte"
- ],
- "dependencies": {
- "clsx": "^2.1.1",
- "runed": "^0.23.2",
- "style-to-object": "^1.0.8"
- },
- "engines": {
- "node": ">=18",
- "pnpm": ">=8.7.0"
- },
- "peerDependencies": {
- "svelte": "^5.0.0"
- }
- },
- "node_modules/mode-watcher/node_modules/svelte-toolbelt/node_modules/runed": {
- "version": "0.23.4",
- "resolved": "https://registry.npmjs.org/runed/-/runed-0.23.4.tgz",
- "integrity": "sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/huntabyte",
- "https://github.com/sponsors/tglide"
- ],
- "dependencies": {
- "esm-env": "^1.0.0"
- },
- "peerDependencies": {
- "svelte": "^5.7.0"
- }
- },
- "node_modules/mri": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
- "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mrmime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
- "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/nanoid": {
- "version": "3.3.11",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
- "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/node-addon-api": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
- "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true
- },
- "node_modules/optionator": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
- "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.5"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/paneforge": {
- "version": "1.0.0-next.5",
- "resolved": "https://registry.npmjs.org/paneforge/-/paneforge-1.0.0-next.5.tgz",
- "integrity": "sha512-1ArDM+GMEO+o6pixEAFobhTkWkyxUDdHyw2bKruvQIXBStJmdRP7HoV4jNBZ/2i9UHDzmczxJzA3D2tKa91phw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "runed": "^0.23.4",
- "svelte-toolbelt": "^0.7.1"
- },
- "peerDependencies": {
- "svelte": "^5.20.0"
- }
- },
- "node_modules/paneforge/node_modules/runed": {
- "version": "0.23.4",
- "resolved": "https://registry.npmjs.org/runed/-/runed-0.23.4.tgz",
- "integrity": "sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/huntabyte",
- "https://github.com/sponsors/tglide"
- ],
- "dependencies": {
- "esm-env": "^1.0.0"
- },
- "peerDependencies": {
- "svelte": "^5.7.0"
- }
- },
- "node_modules/paneforge/node_modules/svelte-toolbelt": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.7.1.tgz",
- "integrity": "sha512-HcBOcR17Vx9bjaOceUvxkY3nGmbBmCBBbuWLLEWO6jtmWH8f/QoWmbyUfQZrpDINH39en1b8mptfPQT9VKQ1xQ==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/huntabyte"
- ],
- "dependencies": {
- "clsx": "^2.1.1",
- "runed": "^0.23.2",
- "style-to-object": "^1.0.8"
- },
- "engines": {
- "node": ">=18",
- "pnpm": ">=8.7.0"
- },
- "peerDependencies": {
- "svelte": "^5.0.0"
- }
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/picocolors": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
- "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
- "license": "ISC"
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pofile": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/pofile/-/pofile-1.1.4.tgz",
- "integrity": "sha512-r6Q21sKsY1AjTVVjOuU02VYKVNQGJNQHjTIvs4dEbeuuYfxgYk/DGD2mqqq4RDaVkwdSq0VEtmQUOPe/wH8X3g==",
- "license": "MIT"
- },
- "node_modules/postcss": {
- "version": "8.5.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
- "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "nanoid": "^3.3.11",
- "picocolors": "^1.1.1",
- "source-map-js": "^1.2.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss-load-config": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
- "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lilconfig": "^2.0.5",
- "yaml": "^1.10.2"
- },
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "postcss": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/postcss-load-config/node_modules/yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/postcss-safe-parser": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz",
- "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=18.0"
- },
- "peerDependencies": {
- "postcss": "^8.4.31"
- }
- },
- "node_modules/postcss-scss": {
- "version": "4.0.9",
- "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz",
- "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss-scss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=12.0"
- },
- "peerDependencies": {
- "postcss": "^8.4.29"
- }
- },
- "node_modules/postcss-selector-parser": {
- "version": "6.0.10",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
- "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/prettier": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz",
- "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "prettier": "bin/prettier.cjs"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "node_modules/prettier-plugin-svelte": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.4.0.tgz",
- "integrity": "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "prettier": "^3.0.0",
- "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0"
- }
- },
- "node_modules/prettier-plugin-tailwindcss": {
- "version": "0.6.12",
- "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.12.tgz",
- "integrity": "sha512-OuTQKoqNwV7RnxTPwXWzOFXy6Jc4z8oeRZYGuMpRyG3WbuR3jjXdQFK8qFBMBx8UHWdHrddARz2fgUenild6aw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.21.3"
- },
- "peerDependencies": {
- "@ianvs/prettier-plugin-sort-imports": "*",
- "@prettier/plugin-pug": "*",
- "@shopify/prettier-plugin-liquid": "*",
- "@trivago/prettier-plugin-sort-imports": "*",
- "@zackad/prettier-plugin-twig": "*",
- "prettier": "^3.0",
- "prettier-plugin-astro": "*",
- "prettier-plugin-css-order": "*",
- "prettier-plugin-import-sort": "*",
- "prettier-plugin-jsdoc": "*",
- "prettier-plugin-marko": "*",
- "prettier-plugin-multiline-arrays": "*",
- "prettier-plugin-organize-attributes": "*",
- "prettier-plugin-organize-imports": "*",
- "prettier-plugin-sort-imports": "*",
- "prettier-plugin-style-order": "*",
- "prettier-plugin-svelte": "*"
- },
- "peerDependenciesMeta": {
- "@ianvs/prettier-plugin-sort-imports": {
- "optional": true
- },
- "@prettier/plugin-pug": {
- "optional": true
- },
- "@shopify/prettier-plugin-liquid": {
- "optional": true
- },
- "@trivago/prettier-plugin-sort-imports": {
- "optional": true
- },
- "@zackad/prettier-plugin-twig": {
- "optional": true
- },
- "prettier-plugin-astro": {
- "optional": true
- },
- "prettier-plugin-css-order": {
- "optional": true
- },
- "prettier-plugin-import-sort": {
- "optional": true
- },
- "prettier-plugin-jsdoc": {
- "optional": true
- },
- "prettier-plugin-marko": {
- "optional": true
- },
- "prettier-plugin-multiline-arrays": {
- "optional": true
- },
- "prettier-plugin-organize-attributes": {
- "optional": true
- },
- "prettier-plugin-organize-imports": {
- "optional": true
- },
- "prettier-plugin-sort-imports": {
- "optional": true
- },
- "prettier-plugin-style-order": {
- "optional": true
- },
- "prettier-plugin-svelte": {
- "optional": true
- }
- }
- },
- "node_modules/proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
- "license": "MIT"
- },
- "node_modules/punycode": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/readdirp": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
- "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14.18.0"
- },
- "funding": {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- },
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/reusify": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
- "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/robust-predicates": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
- "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==",
- "dev": true,
- "license": "Unlicense"
- },
- "node_modules/rollup": {
- "version": "4.43.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.43.0.tgz",
- "integrity": "sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "1.0.7"
- },
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=18.0.0",
- "npm": ">=8.0.0"
- },
- "optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.43.0",
- "@rollup/rollup-android-arm64": "4.43.0",
- "@rollup/rollup-darwin-arm64": "4.43.0",
- "@rollup/rollup-darwin-x64": "4.43.0",
- "@rollup/rollup-freebsd-arm64": "4.43.0",
- "@rollup/rollup-freebsd-x64": "4.43.0",
- "@rollup/rollup-linux-arm-gnueabihf": "4.43.0",
- "@rollup/rollup-linux-arm-musleabihf": "4.43.0",
- "@rollup/rollup-linux-arm64-gnu": "4.43.0",
- "@rollup/rollup-linux-arm64-musl": "4.43.0",
- "@rollup/rollup-linux-loongarch64-gnu": "4.43.0",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.43.0",
- "@rollup/rollup-linux-riscv64-gnu": "4.43.0",
- "@rollup/rollup-linux-riscv64-musl": "4.43.0",
- "@rollup/rollup-linux-s390x-gnu": "4.43.0",
- "@rollup/rollup-linux-x64-gnu": "4.43.0",
- "@rollup/rollup-linux-x64-musl": "4.43.0",
- "@rollup/rollup-win32-arm64-msvc": "4.43.0",
- "@rollup/rollup-win32-ia32-msvc": "4.43.0",
- "@rollup/rollup-win32-x64-msvc": "4.43.0",
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/rollup/node_modules/@types/estree": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
- "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/runed": {
- "version": "0.28.0",
- "resolved": "https://registry.npmjs.org/runed/-/runed-0.28.0.tgz",
- "integrity": "sha512-k2xx7RuO9hWcdd9f+8JoBeqWtYrm5CALfgpkg2YDB80ds/QE4w0qqu34A7fqiAwiBBSBQOid7TLxwxVC27ymWQ==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/huntabyte",
- "https://github.com/sponsors/tglide"
- ],
- "license": "MIT",
- "dependencies": {
- "esm-env": "^1.0.0"
- },
- "peerDependencies": {
- "svelte": "^5.7.0"
- }
- },
- "node_modules/rw": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
- "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/sade": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
- "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mri": "^1.1.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/sass": {
- "version": "1.89.2",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.2.tgz",
- "integrity": "sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "dependencies": {
- "chokidar": "^4.0.0",
- "immutable": "^5.0.2",
- "source-map-js": ">=0.6.2 <2.0.0"
- },
- "bin": {
- "sass": "sass.js"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "optionalDependencies": {
- "@parcel/watcher": "^2.4.1"
- }
- },
- "node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/set-cookie-parser": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
- "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/sirv": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz",
- "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@polka/url": "^1.0.0-next.24",
- "mrmime": "^2.0.0",
- "totalist": "^3.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/style-to-object": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.9.tgz",
- "integrity": "sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "inline-style-parser": "0.2.4"
- }
- },
- "node_modules/super-regex": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-0.2.0.tgz",
- "integrity": "sha512-WZzIx3rC1CvbMDloLsVw0lkZVKJWbrkJ0k1ghKFmcnPrW1+jWbgTkTEWVtD9lMdmI4jZEz40+naBxl1dCUhXXw==",
- "license": "MIT",
- "dependencies": {
- "clone-regexp": "^3.0.0",
- "function-timeout": "^0.1.0",
- "time-span": "^5.1.0"
- },
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/svelte": {
- "version": "5.34.5",
- "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.34.5.tgz",
- "integrity": "sha512-MMqhT/iTdwExPcyBCt+Bqxv7FV+LpSciej/gVgd/Vj7zRF9iPgRWGBxiVAwfzPYAOgwgFigIAQV8VJfhyB08/w==",
- "license": "MIT",
- "dependencies": {
- "@ampproject/remapping": "^2.3.0",
- "@jridgewell/sourcemap-codec": "^1.5.0",
- "@sveltejs/acorn-typescript": "^1.0.5",
- "@types/estree": "^1.0.5",
- "acorn": "^8.12.1",
- "aria-query": "^5.3.1",
- "axobject-query": "^4.1.0",
- "clsx": "^2.1.1",
- "esm-env": "^1.2.1",
- "esrap": "^1.4.8",
- "is-reference": "^3.0.3",
- "locate-character": "^3.0.0",
- "magic-string": "^0.30.11",
- "zimmerframe": "^1.1.2"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/svelte-check": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.2.1.tgz",
- "integrity": "sha512-e49SU1RStvQhoipkQ/aonDhHnG3qxHSBtNfBRb9pxVXoa+N7qybAo32KgA9wEb2PCYFNaDg7bZCdhLD1vHpdYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.25",
- "chokidar": "^4.0.1",
- "fdir": "^6.2.0",
- "picocolors": "^1.0.0",
- "sade": "^1.7.4"
- },
- "bin": {
- "svelte-check": "bin/svelte-check"
- },
- "engines": {
- "node": ">= 18.0.0"
- },
- "peerDependencies": {
- "svelte": "^4.0.0 || ^5.0.0-next.0",
- "typescript": ">=5.0.0"
- }
- },
- "node_modules/svelte-check/node_modules/fdir": {
- "version": "6.4.6",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
- "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "picomatch": "^3 || ^4"
- },
- "peerDependenciesMeta": {
- "picomatch": {
- "optional": true
- }
- }
- },
- "node_modules/svelte-check/node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peer": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/svelte-eslint-parser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.2.0.tgz",
- "integrity": "sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eslint-scope": "^8.2.0",
- "eslint-visitor-keys": "^4.0.0",
- "espree": "^10.0.0",
- "postcss": "^8.4.49",
- "postcss-scss": "^4.0.9",
- "postcss-selector-parser": "^7.0.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ota-meshi"
- },
- "peerDependencies": {
- "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0"
- },
- "peerDependenciesMeta": {
- "svelte": {
- "optional": true
- }
- }
- },
- "node_modules/svelte-eslint-parser/node_modules/postcss-selector-parser": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz",
- "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/svelte-sonner": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/svelte-sonner/-/svelte-sonner-1.0.5.tgz",
- "integrity": "sha512-9dpGPFqKb/QWudYqGnEz93vuY+NgCEvyNvxoCLMVGw6sDN/3oVeKV1xiEirW2E1N3vJEyj5imSBNOGltQHA7mg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "runed": "^0.28.0"
- },
- "peerDependencies": {
- "svelte": "^5.0.0"
- }
- },
- "node_modules/svelte-toolbelt": {
- "version": "0.9.2",
- "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.9.2.tgz",
- "integrity": "sha512-REb1cENGnFbhNSmIdCb1SDIpjEa3n1kXhNVHqGNEesjmPX3bG87gUZiCG8cqOt9AAarqzTzOtI2jEEWr/ZbHwA==",
- "dev": true,
- "funding": [
- "https://github.com/sponsors/huntabyte"
- ],
- "dependencies": {
- "clsx": "^2.1.1",
- "runed": "^0.28.0",
- "style-to-object": "^1.0.8"
- },
- "engines": {
- "node": ">=18",
- "pnpm": ">=8.7.0"
- },
- "peerDependencies": {
- "svelte": "^5.30.2"
- }
- },
- "node_modules/tabbable": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz",
- "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tabulator-tables": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/tabulator-tables/-/tabulator-tables-6.3.1.tgz",
- "integrity": "sha512-qFW7kfadtcaISQIibKAIy0f3eeIXUVi8242Vly1iJfMD79kfEGzfczNuPBN/80hDxHzQJXYbmJ8VipI40hQtfA==",
- "license": "MIT"
- },
- "node_modules/tailwind-merge": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz",
- "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/dcastil"
- }
- },
- "node_modules/tailwind-variants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/tailwind-variants/-/tailwind-variants-1.0.0.tgz",
- "integrity": "sha512-2WSbv4ulEEyuBKomOunut65D8UZwxrHoRfYnxGcQNnHqlSCp2+B7Yz2W+yrNDrxRodOXtGD/1oCcKGNBnUqMqA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tailwind-merge": "3.0.2"
- },
- "engines": {
- "node": ">=16.x",
- "pnpm": ">=7.x"
- },
- "peerDependencies": {
- "tailwindcss": "*"
- }
- },
- "node_modules/tailwind-variants/node_modules/tailwind-merge": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.0.2.tgz",
- "integrity": "sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/dcastil"
- }
- },
- "node_modules/tailwindcss": {
- "version": "4.1.10",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.10.tgz",
- "integrity": "sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tapable": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz",
- "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tar": {
- "version": "7.4.3",
- "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz",
- "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@isaacs/fs-minipass": "^4.0.0",
- "chownr": "^3.0.0",
- "minipass": "^7.1.2",
- "minizlib": "^3.0.1",
- "mkdirp": "^3.0.1",
- "yallist": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/time-span": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz",
- "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==",
- "license": "MIT",
- "dependencies": {
- "convert-hrtime": "^5.0.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/tinyglobby": {
- "version": "0.2.14",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
- "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
- "license": "MIT",
- "dependencies": {
- "fdir": "^6.4.4",
- "picomatch": "^4.0.2"
- },
- "engines": {
- "node": ">=12.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/SuperchupuDev"
- }
- },
- "node_modules/tinyglobby/node_modules/fdir": {
- "version": "6.4.6",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
- "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
- "license": "MIT",
- "peerDependencies": {
- "picomatch": "^3 || ^4"
- },
- "peerDependenciesMeta": {
- "picomatch": {
- "optional": true
- }
- }
- },
- "node_modules/tinyglobby/node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/totalist": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
- "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ts-api-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
- "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18.12"
- },
- "peerDependencies": {
- "typescript": ">=4.8.4"
- }
- },
- "node_modules/tslib": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
- "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
- "dev": true,
- "license": "0BSD"
- },
- "node_modules/tw-animate-css": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.3.4.tgz",
- "integrity": "sha512-dd1Ht6/YQHcNbq0znIT6dG8uhO7Ce+VIIhZUhjsryXsMPJQz3bZg7Q2eNzLwipb25bRZslGb2myio5mScd1TFg==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/Wombosvideo"
- }
- },
- "node_modules/type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/typescript": {
- "version": "5.8.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
- "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
- "dev": true,
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "node_modules/typescript-eslint": {
- "version": "8.34.1",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.34.1.tgz",
- "integrity": "sha512-XjS+b6Vg9oT1BaIUfkW3M3LvqZE++rbzAMEHuccCfO/YkP43ha6w3jTEMilQxMF92nVOYCcdjv1ZUhAa1D/0ow==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/eslint-plugin": "8.34.1",
- "@typescript-eslint/parser": "8.34.1",
- "@typescript-eslint/utils": "8.34.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.9.0"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/validator": {
- "version": "13.15.15",
- "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.15.tgz",
- "integrity": "sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/vite": {
- "version": "6.3.5",
- "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
- "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "esbuild": "^0.25.0",
- "fdir": "^6.4.4",
- "picomatch": "^4.0.2",
- "postcss": "^8.5.3",
- "rollup": "^4.34.9",
- "tinyglobby": "^0.2.13"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
- },
- "funding": {
- "url": "https://github.com/vitejs/vite?sponsor=1"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.3"
- },
- "peerDependencies": {
- "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
- "jiti": ">=1.21.0",
- "less": "*",
- "lightningcss": "^1.21.0",
- "sass": "*",
- "sass-embedded": "*",
- "stylus": "*",
- "sugarss": "*",
- "terser": "^5.16.0",
- "tsx": "^4.8.1",
- "yaml": "^2.4.2"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "jiti": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "lightningcss": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "sass-embedded": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- },
- "tsx": {
- "optional": true
- },
- "yaml": {
- "optional": true
- }
- }
- },
- "node_modules/vite/node_modules/@esbuild/aix-ppc64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz",
- "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/android-arm": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz",
- "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/android-arm64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz",
- "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/android-x64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz",
- "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/darwin-arm64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz",
- "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/darwin-x64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz",
- "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/freebsd-arm64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz",
- "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/freebsd-x64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz",
- "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-arm": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz",
- "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-arm64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz",
- "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-ia32": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz",
- "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-loong64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz",
- "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-mips64el": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz",
- "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-ppc64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz",
- "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-riscv64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz",
- "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-s390x": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz",
- "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/linux-x64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz",
- "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz",
- "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz",
- "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/sunos-x64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz",
- "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/win32-arm64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz",
- "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/win32-ia32": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz",
- "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/@esbuild/win32-x64": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz",
- "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/vite/node_modules/esbuild": {
- "version": "0.25.5",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz",
- "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=18"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.25.5",
- "@esbuild/android-arm": "0.25.5",
- "@esbuild/android-arm64": "0.25.5",
- "@esbuild/android-x64": "0.25.5",
- "@esbuild/darwin-arm64": "0.25.5",
- "@esbuild/darwin-x64": "0.25.5",
- "@esbuild/freebsd-arm64": "0.25.5",
- "@esbuild/freebsd-x64": "0.25.5",
- "@esbuild/linux-arm": "0.25.5",
- "@esbuild/linux-arm64": "0.25.5",
- "@esbuild/linux-ia32": "0.25.5",
- "@esbuild/linux-loong64": "0.25.5",
- "@esbuild/linux-mips64el": "0.25.5",
- "@esbuild/linux-ppc64": "0.25.5",
- "@esbuild/linux-riscv64": "0.25.5",
- "@esbuild/linux-s390x": "0.25.5",
- "@esbuild/linux-x64": "0.25.5",
- "@esbuild/netbsd-arm64": "0.25.5",
- "@esbuild/netbsd-x64": "0.25.5",
- "@esbuild/openbsd-arm64": "0.25.5",
- "@esbuild/openbsd-x64": "0.25.5",
- "@esbuild/sunos-x64": "0.25.5",
- "@esbuild/win32-arm64": "0.25.5",
- "@esbuild/win32-ia32": "0.25.5",
- "@esbuild/win32-x64": "0.25.5"
- }
- },
- "node_modules/vite/node_modules/fdir": {
- "version": "6.4.6",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
- "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "picomatch": "^3 || ^4"
- },
- "peerDependenciesMeta": {
- "picomatch": {
- "optional": true
- }
- }
- },
- "node_modules/vite/node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/vitefu": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.6.tgz",
- "integrity": "sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==",
- "dev": true,
- "license": "MIT",
- "workspaces": [
- "tests/deps/*",
- "tests/projects/*"
- ],
- "peerDependencies": {
- "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0"
- },
- "peerDependenciesMeta": {
- "vite": {
- "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==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/word-wrap": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
- "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/wuchale": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/wuchale/-/wuchale-0.5.5.tgz",
- "integrity": "sha512-Dqvg/XeeGciT/kX8bbsQLO6beIisEFnYmp71rofITXi3vJxmQN4yk0DhUXLKfJO9+xXSBNmrwU7rxpIL6/dpKw==",
- "license": "MIT",
- "dependencies": {
- "@sveltejs/acorn-typescript": "^1.0.5",
- "acorn": "^8.15.0",
- "magic-string": "^0.30.17",
- "pofile": "^1.1.4",
- "svelte": "^5.28.1",
- "tinyglobby": "^0.2.14"
- },
- "bin": {
- "wuchale": "dist/cli.js"
- }
- },
- "node_modules/yallist": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
- "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/yaml": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz",
- "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "peer": true,
- "bin": {
- "yaml": "bin.mjs"
- },
- "engines": {
- "node": ">= 14.6"
- }
- },
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/zimmerframe": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz",
- "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==",
- "license": "MIT"
- },
- "node_modules/zod": {
- "version": "3.25.67",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.67.tgz",
- "integrity": "sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==",
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/colinhacks"
- }
- }
- }
-}
diff --git a/new-web/package.json b/new-web/package.json
deleted file mode 100644
index 5f73342a..00000000
--- a/new-web/package.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "name": "new-web",
- "private": true,
- "version": "0.0.1",
- "type": "module",
- "scripts": {
- "dev": "vite dev --host",
- "build": "vite build",
- "preview": "vite preview",
- "prepare": "svelte-kit sync || echo ''",
- "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
- "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
- "format": "prettier --write .",
- "lint": "prettier --check . && eslint ."
- },
- "devDependencies": {
- "@eslint/compat": "^1.2.5",
- "@eslint/js": "^9.18.0",
- "@iconify/svelte": "^5.0.0",
- "@internationalized/date": "^3.8.2",
- "@sveltejs/adapter-static": "^3.0.8",
- "@sveltejs/kit": "^2.16.0",
- "@sveltejs/vite-plugin-svelte": "^5.0.0",
- "@tailwindcss/forms": "^0.5.9",
- "@tailwindcss/typography": "^0.5.15",
- "@tailwindcss/vite": "^4.0.0",
- "@types/d3-scale": "^4.0.9",
- "@types/d3-shape": "^3.1.7",
- "@types/tabulator-tables": "^6.2.6",
- "@types/validator": "^13.15.2",
- "bits-ui": "^2.8.0",
- "clsx": "^2.1.1",
- "eslint": "^9.18.0",
- "eslint-config-prettier": "^10.0.1",
- "eslint-plugin-svelte": "^3.0.0",
- "globals": "^16.0.0",
- "layerchart": "^2.0.0-next.18",
- "mode-watcher": "^1.0.8",
- "paneforge": "^1.0.0-next.5",
- "prettier": "^3.4.2",
- "prettier-plugin-svelte": "^3.3.3",
- "prettier-plugin-tailwindcss": "^0.6.11",
- "svelte": "^5.0.0",
- "svelte-check": "^4.0.0",
- "svelte-sonner": "^1.0.5",
- "tailwind-merge": "^3.3.1",
- "tailwind-variants": "^1.0.0",
- "tailwindcss": "^4.0.0",
- "tw-animate-css": "^1.3.4",
- "typescript": "^5.0.0",
- "typescript-eslint": "^8.20.0",
- "vite": "^6.2.6"
- },
- "dependencies": {
- "@battlefieldduck/xterm-svelte": "^2.1.0",
- "@fontsource/noto-sans": "^5.2.7",
- "@layerstack/svelte-stores": "^1.0.2",
- "@lucide/svelte": "^0.516.0",
- "@svelte-put/shortcut": "^4.1.0",
- "@sveltestack/svelte-query": "^1.6.0",
- "adze": "^2.2.4",
- "axios": "^1.10.0",
- "chart.js": "^4.5.0",
- "chartjs-adapter-date-fns": "^3.0.0",
- "chartjs-plugin-zoom": "^2.2.0",
- "d3-shape": "^3.2.0",
- "date-fns": "^4.1.0",
- "date-fns-tz": "^3.2.0",
- "human-format": "^1.2.1",
- "is-cidr": "^5.1.1",
- "is-ip": "^5.0.1",
- "lucide-svelte": "^0.516.0",
- "tabulator-tables": "^6.3.1",
- "validator": "^13.15.15",
- "wuchale": "0.5.5",
- "zod": "^3.25.67"
- }
-}
diff --git a/new-web/src/app.d.ts b/new-web/src/app.d.ts
deleted file mode 100644
index da08e6da..00000000
--- a/new-web/src/app.d.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-// See https://svelte.dev/docs/kit/types#app.d.ts
-// for information about these interfaces
-declare global {
- namespace App {
- // interface Error {}
- // interface Locals {}
- // interface PageData {}
- // interface PageState {}
- // interface Platform {}
- }
-}
-
-export {};
diff --git a/new-web/src/app.html b/new-web/src/app.html
deleted file mode 100644
index 3a9e3d39..00000000
--- a/new-web/src/app.html
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
- %sveltekit.head%
-
-
-
- %sveltekit.body%
-
-
-
\ No newline at end of file
diff --git a/new-web/src/css/tabulator.scss b/new-web/src/css/tabulator.scss
deleted file mode 100644
index e9edcafa..00000000
--- a/new-web/src/css/tabulator.scss
+++ /dev/null
@@ -1,1657 +0,0 @@
-@use 'sass:color';
-
-//Main Theme Variables
-$backgroundColor: #888 !default; //background color of tabulator
-$borderColor: #999 !default; //border to tabulator
-$textSize: 14px !default; //table text size
-
-//header theming
-$headerBackgroundColor: #e6e6e6 !default; //border to tabulator
-$headerTextColor: #555 !default; //header text color
-$headerBorderColor: #aaa !default; //header border color
-$headerSeparatorColor: #999 !default; //header bottom separator color
-$headerMargin: 4px !default; //padding round header.io
-//column header arrows
-$sortArrowHover: #555 !default;
-$sortArrowActive: #666 !default;
-$sortArrowInactive: #bbb !default;
-
-$columnResizeGuideColor: #999 !default;
-
-//row theming
-$rowBackgroundColor: #fff !default; //table row background color
-$rowAltBackgroundColor: #efefef !default; //table row background color
-$rowBorderColor: #aaa !default; //table border color
-$rowTextColor: #333 !default; //table text color
-$rowHoverBackground: #bbb !default; //row background color on hover
-
-$rowSelectedBackground: #9abcea !default; //row background color when selected
-$rowSelectedBackgroundHover: #769bcc !default; //row background color when selected and hovered
-
-$editBoxColor: #1d68cd !default; //border color for edit boxes
-$errorColor: #dd0000 !default; //error indication
-
-//footer theming
-$footerBackgroundColor: #e6e6e6 !default; //border to tabulator
-$footerTextColor: #555 !default; //footer text color
-$footerBorderColor: #aaa !default; //footer border color
-$footerSeparatorColor: #999 !default; //footer bottom separator color
-$footerActiveColor: #d00 !default; //footer bottom active text color
-
-$spreadsheetActiveTabColor: #fff !default; //color for the active spreadsheet tab
-
-//range selection
-$rangeBorderColor: #2975dd !default; //range border color
-$rangeHandleColor: $rangeBorderColor !default; //range handle color
-$rangeHeaderSelectedBackground: #3876ca !default; //header background color when selected
-$rangeHeaderSelectedTextColor: #ffffff !default; //header text color when selected
-$rangeHeaderHighlightBackground: #d6d6d6 !default; //header background color when highlighted
-$rangeHeaderTextHighlightBackground: #000000 !default; //header text color when highlighted
-
-//Tabulator Containing Element
-.tabulator {
- position: relative;
-
- border: 1px solid $borderColor;
-
- background-color: $backgroundColor;
-
- font-size: $textSize;
- text-align: left;
- overflow: hidden;
-
- -webkit-transform: translateZ(0);
- -moz-transform: translateZ(0);
- -ms-transform: translateZ(0);
- -o-transform: translateZ(0);
- transform: translateZ(0);
-
- &[tabulator-layout='fitDataFill'] {
- .tabulator-tableholder {
- .tabulator-table {
- min-width: 100%;
- }
- }
- }
-
- &[tabulator-layout='fitDataTable'] {
- display: inline-block;
- }
-
- &.tabulator-block-select {
- user-select: none;
- }
-
- &.tabulator-ranges {
- .tabulator-cell:not(.tabulator-editing) {
- user-select: none;
- }
- }
-
- //column header containing element
- .tabulator-header {
- position: relative;
- box-sizing: border-box;
-
- width: 100%;
-
- border-bottom: 1px solid $headerSeparatorColor;
- background-color: $headerBackgroundColor;
- color: $headerTextColor;
- font-weight: bold;
-
- white-space: nowrap;
- overflow: hidden;
-
- -moz-user-select: none;
- -khtml-user-select: none;
- -webkit-user-select: none;
- -o-user-select: none;
-
- outline: none;
-
- &.tabulator-header-hidden {
- display: none;
- }
-
- .tabulator-header-contents {
- position: relative;
- overflow: hidden;
-
- .tabulator-headers {
- display: inline-block;
- }
- }
-
- //individual column header element
- .tabulator-col {
- display: inline-flex;
- position: relative;
- box-sizing: border-box;
-
- flex-direction: column;
- justify-content: flex-start;
-
- border-right: 1px solid $headerBorderColor;
- background: $headerBackgroundColor;
-
- text-align: left;
- vertical-align: bottom;
- overflow: hidden;
-
- &.tabulator-moving {
- position: absolute;
- border: 1px solid $headerSeparatorColor;
- background: color.adjust($headerBackgroundColor, $lightness: -10%);
- pointer-events: none;
- }
-
- &.tabulator-range-highlight {
- background-color: $rangeHeaderHighlightBackground;
- color: $rangeHeaderTextHighlightBackground;
- }
-
- &.tabulator-range-selected {
- background-color: $rangeHeaderSelectedBackground;
- color: $rangeHeaderSelectedTextColor;
- }
-
- //hold content of column header
- .tabulator-col-content {
- box-sizing: border-box;
- position: relative;
- padding: 4px;
-
- //header menu button
- .tabulator-header-popup-button {
- padding: 0 8px;
-
- &:hover {
- cursor: pointer;
- opacity: 0.6;
- }
- }
-
- //hold title and sort arrow
- .tabulator-col-title-holder {
- position: relative;
- }
-
- //hold title of column header
- .tabulator-col-title {
- box-sizing: border-box;
- width: 100%;
-
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- vertical-align: bottom;
-
- &.tabulator-col-title-wrap {
- white-space: normal;
- text-overflow: initial;
- }
-
- //element to hold title editor
- .tabulator-title-editor {
- box-sizing: border-box;
- width: 100%;
-
- border: 1px solid #999;
-
- padding: 1px;
-
- background: #fff;
- }
-
- .tabulator-header-popup-button + .tabulator-title-editor {
- width: calc(100% - 22px);
- }
- }
-
- //column sorter arrow
- .tabulator-col-sorter {
- display: flex;
- align-items: center;
-
- position: absolute;
- top: 0;
- bottom: 0;
- right: 4px;
-
- .tabulator-arrow {
- width: 0;
- height: 0;
- border-left: 6px solid transparent;
- border-right: 6px solid transparent;
- border-bottom: 6px solid $sortArrowInactive;
- }
- }
- }
-
- //complex header column group
- &.tabulator-col-group {
- //gelement to hold sub columns in column group
- .tabulator-col-group-cols {
- position: relative;
- display: flex;
-
- border-top: 1px solid $headerBorderColor;
- overflow: hidden;
-
- margin-right: -1px;
- }
- }
-
- //header filter containing element
- .tabulator-header-filter {
- position: relative;
- box-sizing: border-box;
- margin-top: 2px;
- width: 100%;
- text-align: center;
-
- //styling adjustment for inbuilt editors
- textarea {
- height: auto !important;
- }
-
- svg {
- margin-top: 3px;
- }
-
- input {
- &::-ms-clear {
- width: 0;
- height: 0;
- }
- }
- }
-
- //styling child elements for sortable columns
- &.tabulator-sortable {
- .tabulator-col-title {
- padding-right: 25px;
- }
-
- @media (hover: hover) and (pointer: fine) {
- &.tabulator-col-sorter-element:hover {
- @apply cursor-pointer bg-neutral-200;
- }
- }
-
- &[aria-sort='none'] {
- .tabulator-col-content .tabulator-col-sorter {
- color: $sortArrowInactive;
-
- @media (hover: hover) and (pointer: fine) {
- &.tabulator-col-sorter-element .tabulator-arrow:hover {
- cursor: pointer;
- border-bottom: 6px solid $sortArrowHover;
- }
- }
-
- .tabulator-arrow {
- border-top: none;
- border-bottom: 6px solid $sortArrowInactive;
- }
- }
- }
-
- &[aria-sort='ascending'] {
- .tabulator-col-content .tabulator-col-sorter {
- color: $sortArrowActive;
-
- @media (hover: hover) and (pointer: fine) {
- &.tabulator-col-sorter-element .tabulator-arrow:hover {
- cursor: pointer;
- border-bottom: 6px solid $sortArrowHover;
- }
- }
-
- .tabulator-arrow {
- border-top: none;
- border-bottom: 6px solid $sortArrowActive;
- }
- }
- }
-
- &[aria-sort='descending'] {
- .tabulator-col-content .tabulator-col-sorter {
- color: $sortArrowActive;
-
- @media (hover: hover) and (pointer: fine) {
- &.tabulator-col-sorter-element .tabulator-arrow:hover {
- cursor: pointer;
- border-top: 6px solid $sortArrowHover;
- }
- }
-
- .tabulator-arrow {
- border-bottom: none;
- border-top: 6px solid $sortArrowActive;
- color: $sortArrowActive;
- }
- }
- }
- }
-
- &.tabulator-col-vertical {
- .tabulator-col-content {
- .tabulator-col-title {
- writing-mode: vertical-rl;
- text-orientation: mixed;
-
- display: flex;
- align-items: center;
- justify-content: center;
- }
- }
-
- &.tabulator-col-vertical-flip {
- .tabulator-col-title {
- transform: rotate(180deg);
- }
- }
-
- &.tabulator-sortable {
- .tabulator-col-title {
- padding-right: 0;
- padding-top: 20px;
- }
-
- &.tabulator-col-vertical-flip {
- .tabulator-col-title {
- padding-right: 0;
- padding-bottom: 20px;
- }
- }
-
- .tabulator-col-sorter {
- justify-content: center;
- left: 0;
- right: 0;
- top: 4px;
- bottom: auto;
- }
- }
- }
- }
-
- .tabulator-frozen {
- position: sticky;
- left: 0;
-
- // background-color: inherit;
-
- z-index: 11;
-
- &.tabulator-frozen-left {
- border-right: 2px solid $rowBorderColor;
- }
-
- &.tabulator-frozen-right {
- border-left: 2px solid $rowBorderColor;
- }
- }
-
- .tabulator-calcs-holder {
- box-sizing: border-box;
- display: inline-block;
-
- background: color.adjust($headerBackgroundColor, $lightness: 5%) !important;
-
- border-top: 1px solid $rowBorderColor;
- border-bottom: 1px solid $headerBorderColor;
-
- // overflow: hidden;
-
- .tabulator-row {
- background: color.adjust($headerBackgroundColor, $lightness: 5%) !important;
-
- .tabulator-col-resize-handle {
- display: none;
- }
- }
- }
-
- .tabulator-frozen-rows-holder {
- display: inline-block;
- &:empty {
- display: none;
- }
- }
- }
-
- //scrolling element to hold table
- .tabulator-tableholder {
- position: relative;
- width: 100%;
- white-space: nowrap;
- overflow: auto;
- -webkit-overflow-scrolling: touch;
-
- &:focus {
- outline: none;
- }
-
- //default placeholder element
- .tabulator-placeholder {
- box-sizing: border-box;
- display: flex;
- align-items: center;
- justify-content: center;
-
- min-width: 100%;
- width: 100%;
-
- &[tabulator-render-mode='virtual'] {
- min-height: 100%;
- }
-
- .tabulator-placeholder-contents {
- display: inline-block;
- text-align: center;
-
- padding: 10px;
-
- color: #ccc;
- font-weight: bold;
- font-size: 20px;
-
- white-space: normal;
- }
- }
-
- //element to hold table rows
- .tabulator-table {
- position: relative;
- display: inline-block;
- background-color: $rowBackgroundColor;
- white-space: nowrap;
- overflow: visible;
- color: $rowTextColor;
-
- //row element
- .tabulator-row {
- &.tabulator-calcs {
- font-weight: bold;
- background: color.adjust($rowAltBackgroundColor, $lightness: -5%) !important;
-
- &.tabulator-calcs-top {
- border-bottom: 2px solid $rowBorderColor;
- }
-
- &.tabulator-calcs-bottom {
- border-top: 2px solid $rowBorderColor;
- }
- }
- }
- }
-
- .tabulator-range-overlay {
- position: absolute;
- inset: 0;
- z-index: 10;
- pointer-events: none;
-
- .tabulator-range {
- position: absolute;
- box-sizing: border-box;
- border: 1px solid $rangeBorderColor;
-
- &.tabulator-range-active::after {
- content: '';
- position: absolute;
- right: -3px;
- bottom: -3px;
- width: 6px;
- height: 6px;
- background-color: $rangeHandleColor;
- border-radius: 999px;
- }
- }
-
- .tabulator-range-cell-active {
- position: absolute;
- box-sizing: border-box;
- border: 2px solid $rangeBorderColor;
- }
- }
- }
-
- //footer element
- .tabulator-footer {
- border-top: 1px solid $footerSeparatorColor;
- background-color: $footerBackgroundColor;
-
- color: $footerTextColor;
- font-weight: bold;
- white-space: nowrap;
- user-select: none;
-
- -moz-user-select: none;
- -khtml-user-select: none;
- -webkit-user-select: none;
- -o-user-select: none;
-
- .tabulator-footer-contents {
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: space-between;
-
- padding: 5px 10px;
-
- &:empty {
- display: none;
- }
- }
-
- .tabulator-spreadsheet-tabs {
- margin-top: -5px;
-
- overflow-x: auto;
-
- .tabulator-spreadsheet-tab {
- display: inline-block;
- padding: 5px;
-
- border: $borderColor 1px solid;
- border-top: none;
- border-bottom-left-radius: 5px;
- border-bottom-right-radius: 5px;
-
- font-size: 0.9em;
-
- &:hover {
- cursor: pointer;
- opacity: 0.7;
- }
-
- &.tabulator-spreadsheet-tab-active {
- background: $spreadsheetActiveTabColor;
- }
- }
- }
-
- .tabulator-calcs-holder {
- box-sizing: border-box;
- width: 100%;
-
- text-align: left;
-
- background: color.adjust($footerBackgroundColor, $lightness: 5%) !important;
- border-bottom: 1px solid $rowBorderColor;
- border-top: 1px solid $rowBorderColor;
-
- overflow: hidden;
-
- .tabulator-row {
- display: inline-block;
- background: color.adjust($footerBackgroundColor, $lightness: 5%) !important;
-
- .tabulator-col-resize-handle {
- display: none;
- }
- }
-
- &:only-child {
- margin-bottom: -5px;
- border-bottom: none;
- }
- }
-
- & > * + .tabulator-page-counter {
- margin-left: 10px;
- }
-
- .tabulator-page-counter {
- font-weight: normal;
- }
-
- .tabulator-paginator {
- flex: 1;
-
- text-align: right;
-
- color: $footerTextColor;
- font-family: inherit;
- font-weight: inherit;
- font-size: inherit;
- }
-
- //pagination container element
- .tabulator-page-size {
- display: inline-block;
-
- margin: 0 5px;
- padding: 2px 5px;
-
- border: 1px solid $footerBorderColor;
- border-radius: 3px;
- }
-
- .tabulator-pages {
- margin: 0 7px;
- }
-
- //pagination button
- .tabulator-page {
- display: inline-block;
-
- margin: 0 2px;
- padding: 2px 5px;
-
- border: 1px solid $footerBorderColor;
- border-radius: 3px;
-
- background: rgba(255, 255, 255, 0.2);
-
- &.active {
- color: $footerActiveColor;
- }
-
- &:disabled {
- opacity: 0.5;
- }
-
- &:not(disabled) {
- @media (hover: hover) and (pointer: fine) {
- &:hover {
- cursor: pointer;
- background: rgba(0, 0, 0, 0.2);
- color: #fff;
- }
- }
- }
- }
- }
-
- //column resize handles
- .tabulator-col-resize-handle {
- position: relative;
- display: inline-block;
- width: 6px;
-
- margin-left: -3px;
- margin-right: -3px;
-
- z-index: 11;
- vertical-align: middle;
-
- @media (hover: hover) and (pointer: fine) {
- &:hover {
- cursor: ew-resize;
- }
- }
-
- &:last-of-type {
- width: 3px;
- margin-right: 0;
- }
- }
-
- //column resize guide
- .tabulator-col-resize-guide {
- position: absolute;
- top: 0;
- width: 4px;
- height: 100%;
- margin-left: -0.5px;
- background-color: $columnResizeGuideColor;
- opacity: 0.5;
- }
-
- //row resize guide
- .tabulator-row-resize-guide {
- position: absolute;
- left: 0;
- width: 100%;
- height: 4px;
- margin-top: -0.5px;
- background-color: $columnResizeGuideColor;
- opacity: 0.5;
- }
-
- //holding div that contains loader and covers tabulator element to prevent interaction
- .tabulator-alert {
- position: absolute;
- display: flex;
- align-items: center;
-
- top: 0;
- left: 0;
- z-index: 100;
-
- height: 100%;
- width: 100%;
- background: rgba(0, 0, 0, 0.4);
- text-align: center;
-
- //loading message element
- .tabulator-alert-msg {
- display: inline-block;
-
- margin: 0 auto;
- padding: 10px 20px;
-
- border-radius: 10px;
-
- background: #fff;
- font-weight: bold;
- font-size: 16px;
-
- //loading message
- &.tabulator-alert-state-msg {
- border: 4px solid #333;
- color: #000;
- }
-
- //error message
- &.tabulator-alert-state-error {
- border: 4px solid #d00;
- color: #590000;
- }
- }
- }
-}
-
-//row element
-.tabulator-row {
- position: relative;
- box-sizing: border-box;
- min-height: $textSize + ($headerMargin * 2);
- background-color: $rowBackgroundColor;
-
- &.tabulator-row-even {
- background-color: $rowAltBackgroundColor;
- }
-
- @media (hover: hover) and (pointer: fine) {
- &.tabulator-selectable:hover {
- background-color: $rowHoverBackground;
- cursor: pointer;
- }
- }
-
- &.tabulator-selected {
- background-color: $rowSelectedBackground;
- }
-
- @media (hover: hover) and (pointer: fine) {
- &.tabulator-selected:hover {
- background-color: $rowSelectedBackgroundHover;
- cursor: pointer;
- }
- }
-
- &.tabulator-row-moving {
- border: 1px solid #000;
- background: #fff;
- }
-
- &.tabulator-moving {
- position: absolute;
-
- border-top: 1px solid $rowBorderColor;
- border-bottom: 1px solid $rowBorderColor;
-
- pointer-events: none;
- z-index: 15;
- }
-
- &.tabulator-range-highlight {
- .tabulator-cell.tabulator-range-row-header {
- background-color: $rangeHeaderHighlightBackground;
- color: $rangeHeaderTextHighlightBackground;
- }
-
- &.tabulator-range-selected {
- .tabulator-cell.tabulator-range-row-header {
- background-color: $rangeHeaderSelectedBackground;
- color: $rangeHeaderSelectedTextColor;
- }
- }
- }
-
- &.tabulator-range-selected {
- .tabulator-cell.tabulator-range-row-header {
- background-color: $rangeHeaderSelectedBackground;
- color: $rangeHeaderSelectedTextColor;
- }
- }
-
- //row resize handles
- .tabulator-row-resize-handle {
- position: absolute;
- right: 0;
- bottom: 0;
- left: 0;
- height: 5px;
-
- &.prev {
- top: 0;
- bottom: auto;
- }
-
- @media (hover: hover) and (pointer: fine) {
- &:hover {
- cursor: ns-resize;
- }
- }
- }
-
- .tabulator-responsive-collapse {
- box-sizing: border-box;
-
- padding: 5px;
-
- border-top: 1px solid $rowBorderColor;
- border-bottom: 1px solid $rowBorderColor;
-
- &:empty {
- display: none;
- }
-
- table {
- font-size: $textSize;
-
- tr {
- td {
- position: relative;
-
- &:first-of-type {
- padding-right: 10px;
- }
- }
- }
- }
- }
-
- //cell element
- .tabulator-cell {
- display: inline-block;
- position: relative;
- box-sizing: border-box;
- padding: 4px;
- // border-right:1px solid $rowBorderColor;
- vertical-align: middle;
- white-space: nowrap;
- overflow: hidden;
- // text-overflow: ellipsis;
- outline: none;
-
- &.tabulator-row-header {
- border-right: 1px solid $borderColor;
- border-bottom: 1px solid $rowBorderColor;
- background: $headerBackgroundColor;
- }
-
- &.tabulator-frozen {
- display: inline-block;
- position: sticky;
-
- left: 0;
-
- background-color: inherit;
-
- z-index: 11;
-
- &.tabulator-frozen-left {
- border: none;
- }
-
- &.tabulator-frozen-right {
- border: none;
- }
- }
-
- &.tabulator-editing {
- border: 1px solid $editBoxColor;
- outline: none;
-
- padding: 0;
-
- input,
- select {
- border: 1px;
- background: transparent;
- outline: none;
- }
- }
-
- &.tabulator-validation-fail {
- border: 1px solid $errorColor;
-
- input,
- select {
- border: 1px;
- background: transparent;
-
- color: $errorColor;
- }
- }
-
- //movable row handle
- &.tabulator-row-handle {
- display: inline-flex;
- align-items: center;
- justify-content: center;
-
- -moz-user-select: none;
- -khtml-user-select: none;
- -webkit-user-select: none;
- -o-user-select: none;
-
- //handle holder
- .tabulator-row-handle-box {
- width: 80%;
-
- //Hamburger element
- .tabulator-row-handle-bar {
- width: 100%;
- height: 3px;
- margin-top: 2px;
- background: #666;
- }
- }
- }
-
- &.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(
- .tabulator-range-row-header
- ) {
- background-color: $rowSelectedBackground;
- }
-
- .tabulator-data-tree-branch-empty {
- display: inline-block;
- width: 7px;
- }
-
- .tabulator-data-tree-branch {
- display: inline-block;
- vertical-align: middle;
-
- height: 9px;
- width: 7px;
-
- margin-top: -9px;
- margin-right: 5px;
-
- border-bottom-left-radius: 1px;
-
- border-left: 2px solid $rowBorderColor;
- border-bottom: 2px solid $rowBorderColor;
- }
-
- .tabulator-data-tree-control {
- display: inline-flex;
- justify-content: center;
- align-items: center;
- vertical-align: middle;
-
- height: 11px;
- width: 11px;
-
- margin-right: 5px;
-
- border: 1px solid $rowTextColor;
- border-radius: 2px;
- background: rgba(0, 0, 0, 0.1);
-
- overflow: hidden;
-
- @media (hover: hover) and (pointer: fine) {
- &:hover {
- cursor: pointer;
- background: rgba(0, 0, 0, 0.2);
- }
- }
-
- .tabulator-data-tree-control-collapse {
- display: inline-block;
- position: relative;
-
- height: 7px;
- width: 1px;
-
- background: transparent;
-
- &:after {
- position: absolute;
- content: '';
- left: -3px;
- top: 3px;
-
- height: 1px;
- width: 7px;
-
- background: $rowTextColor;
- }
- }
-
- .tabulator-data-tree-control-expand {
- display: inline-block;
- position: relative;
-
- height: 7px;
- width: 1px;
-
- background: $rowTextColor;
-
- &:after {
- position: absolute;
- content: '';
- left: -3px;
- top: 3px;
-
- height: 1px;
- width: 7px;
-
- background: $rowTextColor;
- }
- }
- }
-
- .tabulator-responsive-collapse-toggle {
- display: inline-flex;
- align-items: center;
- justify-content: center;
-
- -moz-user-select: none;
- -khtml-user-select: none;
- -webkit-user-select: none;
- -o-user-select: none;
-
- height: 15px;
- width: 15px;
-
- border-radius: 20px;
- background: #666;
-
- color: $rowBackgroundColor;
- font-weight: bold;
- font-size: 1.1em;
-
- @media (hover: hover) and (pointer: fine) {
- &:hover {
- opacity: 0.7;
- cursor: pointer;
- }
- }
-
- &.open {
- .tabulator-responsive-collapse-toggle-close {
- display: initial;
- }
-
- .tabulator-responsive-collapse-toggle-open {
- display: none;
- }
- }
-
- svg {
- stroke: $rowBackgroundColor;
- }
-
- .tabulator-responsive-collapse-toggle-close {
- display: none;
- }
- }
-
- .tabulator-traffic-light {
- display: inline-block;
- height: 14px;
- width: 14px;
-
- border-radius: 14px;
- }
- }
-
- //row grouping element
- &.tabulator-group {
- box-sizing: border-box;
- border-bottom: 1px solid #999;
- border-right: 1px solid $rowBorderColor;
- border-top: 1px solid #999;
- padding: 5px;
- padding-left: 10px;
- background: #ccc;
- font-weight: bold;
-
- min-width: 100%;
-
- @media (hover: hover) and (pointer: fine) {
- &:hover {
- cursor: pointer;
- background-color: rgba(0, 0, 0, 0.1);
- }
- }
-
- &.tabulator-group-visible {
- .tabulator-arrow {
- margin-right: 10px;
- border-left: 6px solid transparent;
- border-right: 6px solid transparent;
- border-top: 6px solid $sortArrowActive;
- border-bottom: 0;
- }
- }
-
- &.tabulator-group-level-1 {
- padding-left: 30px;
- }
-
- &.tabulator-group-level-2 {
- padding-left: 50px;
- }
-
- &.tabulator-group-level-3 {
- padding-left: 70px;
- }
-
- &.tabulator-group-level-4 {
- padding-left: 90px;
- }
-
- &.tabulator-group-level-5 {
- padding-left: 110px;
- }
-
- .tabulator-group-toggle {
- display: inline-block;
- }
-
- //sorting arrow
- .tabulator-arrow {
- display: inline-block;
- width: 0;
- height: 0;
- margin-right: 16px;
- border-top: 6px solid transparent;
- border-bottom: 6px solid transparent;
- border-right: 0;
- border-left: 6px solid $sortArrowActive;
- vertical-align: middle;
- }
-
- span {
- margin-left: 10px;
- color: #d00;
- }
- }
-}
-
-.tabulator-toggle {
- box-sizing: border-box;
-
- display: flex;
- flex-direction: row;
-
- border: 1px solid #ccc;
- background: #dcdcdc;
-
- &.tabulator-toggle-on {
- background: #1c6cc2;
- }
-
- .tabulator-toggle-switch {
- box-sizing: border-box;
- border: 1px solid #ccc;
-
- background: #fff;
- }
-}
-
-.tabulator-popup-container {
- position: absolute;
- display: inline-block;
- box-sizing: border-box;
-
- background: $rowBackgroundColor;
- border: 1px solid $rowBorderColor;
- box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
-
- font-size: $textSize;
-
- overflow-y: auto;
- -webkit-overflow-scrolling: touch;
-
- z-index: 10000;
-}
-
-.tabulator-popup {
- padding: 5px;
-
- border-radius: 3px;
-}
-
-.tabulator-tooltip {
- max-width: Min(500px, 100%);
-
- padding: 3px 5px;
-
- border-radius: 2px;
- box-shadow: none;
-
- font-size: 12px;
-
- pointer-events: none;
-}
-
-.tabulator-menu {
- .tabulator-menu-item {
- position: relative;
- box-sizing: border-box;
-
- padding: 5px 10px;
-
- user-select: none;
-
- &.tabulator-menu-item-disabled {
- opacity: 0.5;
- }
-
- @media (hover: hover) and (pointer: fine) {
- &:not(.tabulator-menu-item-disabled):hover {
- cursor: pointer;
- background: $rowAltBackgroundColor;
- }
- }
-
- &.tabulator-menu-item-submenu {
- padding-right: 25px;
-
- &::after {
- display: inline-block;
- position: absolute;
-
- top: calc(5px + 0.4em);
- right: 10px;
- height: 7px;
- width: 7px;
-
- content: '';
-
- border-width: 1px 1px 0 0;
- border-style: solid;
- border-color: $rowBorderColor;
- vertical-align: top;
-
- transform: rotate(45deg);
- }
- }
- }
-
- .tabulator-menu-separator {
- border-top: 1px solid $rowBorderColor;
- }
-}
-
-.tabulator-edit-list {
- max-height: 200px;
-
- font-size: $textSize;
-
- overflow-y: auto;
- -webkit-overflow-scrolling: touch;
-
- .tabulator-edit-list-item {
- padding: 4px;
-
- color: $rowTextColor;
- outline: none;
-
- &.active {
- color: $rowBackgroundColor;
- background: $editBoxColor;
-
- &.focused {
- outline: 1px solid rgba($rowBackgroundColor, 0.5);
- }
- }
-
- &.focused {
- outline: 1px solid $editBoxColor;
- }
-
- @media (hover: hover) and (pointer: fine) {
- &:hover {
- cursor: pointer;
-
- color: $rowBackgroundColor;
- background: $editBoxColor;
- }
- }
- }
-
- .tabulator-edit-list-placeholder {
- padding: 4px;
-
- color: $rowTextColor;
- text-align: center;
- }
-
- .tabulator-edit-list-group {
- border-bottom: 1px solid $rowBorderColor;
-
- padding: 4px;
- padding-top: 6px;
-
- color: $rowTextColor;
- font-weight: bold;
- }
-
- .tabulator-edit-list-item,
- .tabulator-edit-list-group {
- &.tabulator-edit-list-group-level-2 {
- padding-left: 12px;
- }
-
- &.tabulator-edit-list-group-level-3 {
- padding-left: 20px;
- }
-
- &.tabulator-edit-list-group-level-4 {
- padding-left: 28px;
- }
-
- &.tabulator-edit-list-group-level-5 {
- padding-left: 36px;
- }
- }
-}
-
-//RTL Styling
-
-.tabulator.tabulator-ltr {
- direction: ltr;
-}
-
-.tabulator.tabulator-rtl {
- text-align: initial;
- direction: rtl;
-
- .tabulator-header {
- .tabulator-col {
- text-align: initial;
- border-left: 1px solid $headerBorderColor;
- border-right: initial;
-
- &.tabulator-col-group {
- .tabulator-col-group-cols {
- margin-right: initial;
- margin-left: -1px;
- }
- }
-
- &.tabulator-sortable {
- .tabulator-col-title {
- padding-right: 0;
- padding-left: 25px;
- }
- }
-
- .tabulator-col-content {
- .tabulator-col-sorter {
- left: 8px;
- right: initial;
- }
- }
- }
- }
-
- .tabulator-tableholder {
- .tabulator-range-overlay {
- .tabulator-range {
- &.tabulator-range-active::after {
- content: '';
- position: absolute;
- left: -3px;
- right: initial;
- bottom: -3px;
- width: 6px;
- height: 6px;
- background-color: $rangeHandleColor;
- border-radius: 999px;
- }
- }
- }
- }
-
- .tabulator-row {
- .tabulator-cell {
- border-right: initial;
- border-left: 1px solid $rowBorderColor;
-
- .tabulator-data-tree-branch {
- margin-right: initial;
- margin-left: 5px;
-
- border-bottom-left-radius: initial;
- border-bottom-right-radius: 1px;
-
- border-left: initial;
- border-right: 2px solid $rowBorderColor;
- }
-
- .tabulator-data-tree-control {
- margin-right: initial;
- margin-left: 5px;
- }
-
- &.tabulator-frozen {
- &.tabulator-frozen-left {
- border-left: 2px solid $rowBorderColor;
- }
-
- &.tabulator-frozen-right {
- border-right: 2px solid $rowBorderColor;
- }
- }
- }
-
- .tabulator-col-resize-handle {
- &:last-of-type {
- width: 3px;
- margin-left: 0;
- margin-right: -3px;
- }
- }
- }
-
- .tabulator-footer {
- .tabulator-calcs-holder {
- text-align: initial;
- }
- }
-}
-
-// Table print styling
-
-.tabulator-print-fullscreen {
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
-
- z-index: 10000;
-}
-
-body.tabulator-print-fullscreen-hide > *:not(.tabulator-print-fullscreen) {
- display: none !important;
-}
-
-.tabulator-print-table {
- border-collapse: collapse;
-
- .tabulator-data-tree-branch {
- display: inline-block;
- vertical-align: middle;
-
- height: 9px;
- width: 7px;
-
- margin-top: -9px;
- margin-right: 5px;
-
- border-bottom-left-radius: 1px;
-
- border-left: 2px solid $rowBorderColor;
- border-bottom: 2px solid $rowBorderColor;
- }
-
- //row grouping element
- .tabulator-print-table-group {
- box-sizing: border-box;
- border-bottom: 1px solid #999;
- border-right: 1px solid $rowBorderColor;
- border-top: 1px solid #999;
- padding: 5px;
- padding-left: 10px;
- background: #ccc;
- font-weight: bold;
-
- min-width: 100%;
-
- @media (hover: hover) and (pointer: fine) {
- &:hover {
- cursor: pointer;
- background-color: rgba(0, 0, 0, 0.1);
- }
- }
-
- &.tabulator-group-visible {
- .tabulator-arrow {
- margin-right: 10px;
- border-left: 6px solid transparent;
- border-right: 6px solid transparent;
- border-top: 6px solid $sortArrowActive;
- border-bottom: 0;
- }
- }
-
- &.tabulator-group-level-1 {
- td {
- padding-left: 30px !important;
- }
- }
-
- &.tabulator-group-level-2 {
- td {
- padding-left: 50px !important;
- }
- }
-
- &.tabulator-group-level-3 {
- td {
- padding-left: 70px !important;
- }
- }
-
- &.tabulator-group-level-4 {
- td {
- padding-left: 90px !important;
- }
- }
-
- &.tabulator-group-level-5 {
- td {
- padding-left: 110px !important;
- }
- }
-
- .tabulator-group-toggle {
- display: inline-block;
- }
-
- //sorting arrow
- .tabulator-arrow {
- display: inline-block;
- width: 0;
- height: 0;
- margin-right: 16px;
- border-top: 6px solid transparent;
- border-bottom: 6px solid transparent;
- border-right: 0;
- border-left: 6px solid $sortArrowActive;
- vertical-align: middle;
- }
-
- span {
- margin-left: 10px;
- color: #d00;
- }
- }
-
- .tabulator-data-tree-control {
- display: inline-flex;
- justify-content: center;
- align-items: center;
- vertical-align: middle;
-
- height: 11px;
- width: 11px;
-
- margin-right: 5px;
-
- border: 1px solid $rowTextColor;
- border-radius: 2px;
- background: rgba(0, 0, 0, 0.1);
-
- overflow: hidden;
-
- @media (hover: hover) and (pointer: fine) {
- &:hover {
- cursor: pointer;
- background: rgba(0, 0, 0, 0.2);
- }
- }
-
- .tabulator-data-tree-control-collapse {
- display: inline-block;
- position: relative;
-
- height: 7px;
- width: 1px;
-
- background: transparent;
-
- &:after {
- position: absolute;
- content: '';
- left: -3px;
- top: 3px;
-
- height: 1px;
- width: 7px;
-
- background: $rowTextColor;
- }
- }
-
- .tabulator-data-tree-control-expand {
- display: inline-block;
- position: relative;
-
- height: 7px;
- width: 1px;
-
- background: $rowTextColor;
-
- &:after {
- position: absolute;
- content: '';
- left: -3px;
- top: 3px;
-
- height: 1px;
- width: 7px;
-
- background: $rowTextColor;
- }
- }
- }
-}
diff --git a/new-web/src/css/tabulator_simple.scss b/new-web/src/css/tabulator_simple.scss
deleted file mode 100644
index bd0de7e5..00000000
--- a/new-web/src/css/tabulator_simple.scss
+++ /dev/null
@@ -1,233 +0,0 @@
-@use './tabulator.scss';
-
-.tabulator {
- @apply bg-primary border-none;
-
- .tabulator-header {
- @apply border-border bg-background;
-
- .tabulator-header-contents {
- @apply bg-background;
- }
-
- .tabulator-col-content {
- @apply bg-background hover:bg-muted;
- }
-
- .tabulator-calcs-holder {
- @apply !border-border !bg-background !border;
-
- .tabulator-row {
- @apply !bg-background;
- }
- }
-
- .tabulator-col {
- @apply bg-background;
-
- &.tabulator-sortable {
- @media (hover: hover) and (pointer: fine) {
- @apply border-border;
- &.tabulator-col-sorter-element:hover {
- @apply bg-background cursor-pointer;
- }
- }
- }
- }
-
- .tabulator-col-title-holder {
- @apply text-black dark:text-white;
-
- .tabulator-col-title {
- @apply text-black dark:text-white;
- }
- }
-
- .tabulator-col-title input {
- @apply border-border border;
- }
- }
-
- .tabulator-row {
- @apply border-border bg-background border-b text-black dark:text-white;
-
- @media (hover: hover) and (pointer: fine) {
- &.tabulator-selectable:hover {
- @apply bg-background;
- cursor: pointer;
- }
- }
-
- .tabulator-cell {
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- &:last-of-type {
- border-right: none;
- }
-
- &.tabulator-row-header {
- border-bottom: none;
- }
-
- .tabulator-data-tree-control {
- @apply border-primary bg-primary;
-
- .tabulator-data-tree-control-collapse {
- background: transparent;
- &:after {
- @apply bg-primary-foreground;
- }
- }
-
- .tabulator-data-tree-control-expand {
- @apply bg-primary-foreground;
-
- &:after {
- @apply bg-primary-foreground;
- }
- }
- }
- }
-
- &.tabulator-group {
- span {
- color: #666;
- }
- }
-
- .tabulator-frozen input {
- @apply opacity-40;
- background-color: rgb(63 63 70) !important;
- @apply border-border border;
- }
- }
-
- .tabulator-tableholder {
- .tabulator-cell {
- .tabulator-data-tree-control {
- @apply bg-primary;
- }
- }
-
- @apply bg-background;
- .tabulator-placeholder {
- span {
- @apply text-secondary;
- }
- .tabulator-placeholder-contents {
- @apply text-secondary;
- }
- }
- }
-
- .tabulator-footer {
- @apply border-border bg-background;
-
- .tabulator-footer-contents {
- @apply text-black dark:text-white;
-
- .tabulator-paginator {
- label {
- @apply text-black dark:text-white;
- }
-
- select {
- @apply border-border bg-primary text-black dark:text-white;
- }
-
- .tabulator-page {
- @apply border-border bg-primary-foreground hover:border-primary/10 hover:bg-primary/10 dark:bg-muted hover:dark:border-muted hover:dark:bg-muted/10 text-black dark:text-white;
-
- &.active {
- @apply !bg-primary !text-secondary;
- }
-
- &:disabled {
- opacity: 0.4;
- }
- }
- }
- }
-
- .tabulator-calcs-holder {
- .tabulator-row {
- @apply !bg-primary;
- }
- }
-
- .tabulator-spreadsheet-tabs {
- .tabulator-spreadsheet-tab {
- font-weight: normal;
-
- &.tabulator-spreadsheet-tab-active {
- color: tabulator.$footerActiveColor;
- font-weight: bold;
- }
- }
- }
- }
-}
-
-.tabulator-table .tabulator-row-odd {
- @apply border-border bg-background border-b border-none text-black dark:text-white;
-
- .tabulator-frozen {
- @apply bg-secondary;
- }
-
- @media (hover: hover) and (pointer: fine) {
- &.tabulator-selectable:hover {
- // @apply bg-background hover:bg-muted;
- cursor: pointer;
- }
- }
-}
-
-.tabulator-table .tabulator-row-even {
- @apply border-border bg-background border-b border-none text-black dark:text-white;
-
- .tabulator-frozen {
- @apply bg-secondary;
- }
-
- .tabulator-frozen input {
- @apply border-border border;
- }
-
- @media (hover: hover) and (pointer: fine) {
- &.tabulator-selectable:hover {
- // @apply bg-background hover:bg-muted;
- cursor: pointer;
- }
- }
-}
-
-.tabulator-table .tabulator-selected {
- @apply !bg-muted;
-}
-
-.tabulator-table .tabulator-tree-level-0 .tabulator-cell:first-of-type {
- padding-left: 9px;
-}
-
-.tabulator-table .tabulator-tree-level-1 .tabulator-cell:first-of-type {
- padding-left: 5px;
-}
-
-.tabulator-table .tabulator-tree-level-2 .tabulator-cell:first-of-type {
- padding-left: 12px;
-}
-
-.tabulator-table .tabulator-tree-level-3 .tabulator-cell:first-of-type {
- padding-left: 12px;
-}
-
-.tabulator-print-table {
- .tabulator-print-table-group {
- span {
- margin-left: 10px;
- color: #666;
- }
- }
-}
diff --git a/new-web/src/lib/api/auth.ts b/new-web/src/lib/api/auth.ts
deleted file mode 100644
index 72dff94a..00000000
--- a/new-web/src/lib/api/auth.ts
+++ /dev/null
@@ -1,145 +0,0 @@
-import { browser } from '$app/environment';
-import { goto } from '$app/navigation';
-import { oldStore, store } from '$lib/stores/auth';
-import { hostname, language as langStore } from '$lib/stores/basic';
-import type { APIResponse } from '$lib/types/common';
-import adze from 'adze';
-import axios, { AxiosError } from 'axios';
-import { toast } from 'svelte-sonner';
-import { get } from 'svelte/store';
-
-export async function login(
- username: string,
- password: string,
- authType: string,
- remember: boolean,
- language: string
-) {
- try {
- if (username === '' || password === '') {
- toast.error('Credentials are required', {
- position: 'bottom-center'
- });
-
- return;
- }
-
- if (authType === '') {
- toast.error('Authentication type is required', {
- position: 'bottom-center'
- });
-
- return;
- }
-
- const response = await axios.post('/api/auth/login', {
- username,
- password,
- authType,
- remember
- });
-
- if (response.status === 200 && response.data) {
- if (response.data.data?.hostname && response.data.data?.token) {
- langStore.set(language);
- hostname.set(response.data.data.hostname);
- store.set(response.data.data.token);
- return true;
- } else {
- toast.error('Invalid response received', {
- position: 'bottom-center'
- });
- }
- } else {
- return false;
- }
- } catch (error) {
- if (axios.isAxiosError(error)) {
- const axiosError = error as AxiosError;
- const data = axiosError.response?.data as APIResponse;
- if (data.error) {
- toast.error('Authentication failed', {
- position: 'bottom-center'
- });
- }
- } else {
- toast.error('Fatal error logging in, check logs!', {
- position: 'bottom-center'
- });
- }
- return false;
- }
-}
-
-export function getToken(): string | null {
- if (browser) {
- try {
- const parsed = JSON.parse(localStorage.getItem('token') || '');
- return parsed.value;
- } catch (_e: unknown) {
- return null;
- }
- }
-
- return null;
-}
-
-export async function isTokenValid(): Promise {
- try {
- const response = await axios.get('/api/health/basic', {
- headers: {
- Authorization: `Bearer ${getToken()}`
- }
- });
-
- if (response.status < 400) {
- if (response.data?.hostname) {
- hostname.set(response.data.hostname);
- }
- return true;
- }
- } catch (_e: unknown) {
- return false;
- }
-
- return false;
-}
-
-export async function logOut() {
- const token = getToken();
- if (token) {
- oldStore.set(token);
- }
-
- store.set('');
- hostname.set('');
-
- if (browser) {
- localStorage.removeItem('token');
- localStorage.removeItem('hostname');
- }
-
- goto('/', {
- replaceState: true,
- state: {
- loggedOut: true
- }
- });
-}
-
-export async function revokeJWT() {
- try {
- const oldToken = get(oldStore);
- if (oldToken) {
- await axios.get('/api/auth/logout', {
- headers: {
- Authorization: `Bearer ${oldToken}`
- }
- });
-
- oldStore.set('');
- }
- } catch (_e: unknown) {
- adze.error('Failed to revoke JWT');
- }
-}
diff --git a/new-web/src/lib/api/common.ts b/new-web/src/lib/api/common.ts
deleted file mode 100644
index 5b1817f5..00000000
--- a/new-web/src/lib/api/common.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import { browser } from '$app/environment';
-import { goto } from '$app/navigation';
-import { store as token } from '$lib/stores/auth';
-import type { APIResponse } from '$lib/types/common';
-import adze from 'adze';
-import axios, { AxiosError, type AxiosInstance, type InternalAxiosRequestConfig } from 'axios';
-import { toast } from 'svelte-sonner';
-import { get } from 'svelte/store';
-
-export let ENDPOINT: string;
-export let API_ENDPOINT: string;
-
-if (browser) {
- ENDPOINT = window.location.origin;
- API_ENDPOINT = `${window.location.origin}/api`;
-} else {
- ENDPOINT = '';
- API_ENDPOINT = '';
-}
-
-export const api: AxiosInstance = axios.create({
- baseURL: API_ENDPOINT
-});
-
-api.interceptors.request.use(
- (config: InternalAxiosRequestConfig) => {
- if (browser) {
- if (get(token)) {
- config.headers['Authorization'] = `Bearer ${get(token)}`;
- }
- }
- return config;
- },
- (error) => {
- return Promise.reject(error);
- }
-);
-
-api.interceptors.response.use(
- (response) => response,
- async (error) => {
- if (error.response?.status === 401 && browser) {
- toast.error('Session expired, please login again', {
- position: 'bottom-center'
- });
- goto('/login');
- return;
- }
- handleAxiosError(error);
- return Promise.reject(error);
- }
-);
-
-export function handleAxiosError(error: unknown): void {
- if (!browser) return;
-
- if (!axios.isAxiosError(error)) {
- toast.error('An unexpected error occurred', {
- position: 'bottom-center'
- });
- adze.withEmoji.error('An unexpected error occurred');
- return;
- }
-
- const axiosError = error as AxiosError<{ message?: string }>;
- if (axiosError.response) {
- const errorMessage =
- axiosError.response.data?.message || axiosError.message || 'An error occurred';
- adze.withEmoji.error(
- JSON.stringify({
- status: axiosError.response.status,
- data: axiosError.response.data,
- message: errorMessage
- })
- );
- } else if (axiosError.request) {
- adze.withEmoji.error('No response:', axiosError.request);
- }
-}
-
-export function handleAPIResponse(
- response: APIResponse,
- messages: {
- success?: string;
- error?: string;
- info?: string;
- warn?: string;
- }
-): void {
- // console.log('API Response:', response);
- if (response.status === 'error') {
- adze.withEmoji.error(response);
- toast.error(messages.error || 'Operation failed', {
- position: 'bottom-center'
- });
- }
-
- if (response.status === 'success') {
- toast.success(messages.success || 'Operation successful', {
- position: 'bottom-center'
- });
- }
-}
diff --git a/new-web/src/lib/api/disk/disk.ts b/new-web/src/lib/api/disk/disk.ts
deleted file mode 100644
index 848d7608..00000000
--- a/new-web/src/lib/api/disk/disk.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { APIResponseSchema, type APIResponse } from '$lib/types/common';
-import { DiskSchema, type Disk } from '$lib/types/disk/disk';
-import { apiRequest } from '$lib/utils/http';
-import { z } from 'zod/v4';
-
-export async function listDisks(): Promise {
- return await apiRequest('/disk/list', z.array(DiskSchema), 'GET');
-}
-
-export async function destroyDisk(disk: string): Promise {
- return await apiRequest(`/disk/wipe`, APIResponseSchema, 'POST', {
- device: disk
- });
-}
-
-export async function destroyPartition(partition: string): Promise {
- return await apiRequest(`/disk/delete-partition`, APIResponseSchema, 'POST', {
- device: partition
- });
-}
-
-export async function initializeGPT(disk: string): Promise {
- return await apiRequest(`/disk/initialize-gpt`, APIResponseSchema, 'POST', {
- device: disk
- });
-}
-
-export async function createPartitions(disk: string, sizes: number[]): Promise {
- return await apiRequest(`/disk/create-partitions`, APIResponseSchema, 'POST', {
- device: disk,
- sizes
- });
-}
diff --git a/new-web/src/lib/api/info/audit.ts b/new-web/src/lib/api/info/audit.ts
deleted file mode 100644
index 654a0bf5..00000000
--- a/new-web/src/lib/api/info/audit.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import { AuditLogSchema, type AuditLog } from '$lib/types/info/audit';
-import { apiRequest } from '$lib/utils/http';
-
-export async function getAuditLogs(): Promise {
- return await apiRequest('/info/audit-logs', AuditLogSchema, 'GET');
-}
-
-export function formatAction(action: string): string {
- return action;
-}
-
-export function formatStatus(status: string): string {
- switch (status) {
- case 'started':
- return 'Started';
- case 'success':
- return 'OK';
- case 'failure':
- return 'Failed';
- case 'failed':
- return 'Failed';
- case 'progress':
- return 'In Progress';
- default:
- return status;
- }
-}
diff --git a/new-web/src/lib/api/info/basic.ts b/new-web/src/lib/api/info/basic.ts
deleted file mode 100644
index 2f818ab8..00000000
--- a/new-web/src/lib/api/info/basic.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { BasicInfoSchema, type BasicInfo } from '$lib/types/info/basic';
-import { apiRequest } from '$lib/utils/http';
-
-export async function getBasicInfo(): Promise {
- return await apiRequest('/info/basic', BasicInfoSchema, 'GET');
-}
diff --git a/new-web/src/lib/api/info/cpu.ts b/new-web/src/lib/api/info/cpu.ts
deleted file mode 100644
index 0d26dcbc..00000000
--- a/new-web/src/lib/api/info/cpu.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import {
- CPUInfoHistoricalSchema,
- CPUInfoSchema,
- type CPUInfo,
- type CPUInfoHistorical
-} from '$lib/types/info/cpu';
-import { apiRequest } from '$lib/utils/http';
-import type { QueryFunctionContext } from '@sveltestack/svelte-query';
-
-export async function getCPUInfo(
- queryObj?: QueryFunctionContext
-): Promise {
- if (queryObj) {
- if (queryObj.queryKey.includes('cpuInfoHistorical')) {
- return await apiRequest('/info/cpu/historical', CPUInfoHistoricalSchema, 'GET');
- }
- }
-
- return await apiRequest('/info/cpu', CPUInfoSchema, 'GET');
-}
diff --git a/new-web/src/lib/api/info/info.ts b/new-web/src/lib/api/info/info.ts
deleted file mode 100644
index e69de29b..00000000
diff --git a/new-web/src/lib/api/info/notes.ts b/new-web/src/lib/api/info/notes.ts
deleted file mode 100644
index 995db12d..00000000
--- a/new-web/src/lib/api/info/notes.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { APIResponseSchema, type APIResponse } from '$lib/types/common';
-import { NoteSchema, NotesSchema, type Note, type Notes } from '$lib/types/info/notes';
-import { apiRequest } from '$lib/utils/http';
-import { z } from 'zod/v4';
-
-async function notesRequest(
- endpoint: string,
- method: 'GET' | 'POST' | 'PUT' | 'DELETE',
- body?: object
-): Promise {
- let schema;
-
- if (method === 'GET') {
- schema = z.array(NoteSchema);
- } else if (method === 'POST') {
- schema = NoteSchema;
- } else {
- schema = APIResponseSchema;
- }
-
- return await apiRequest(endpoint, schema, method, body);
-}
-
-export const getNotes = () => notesRequest('/info/notes', 'GET');
-export const deleteNote = (id: number) => notesRequest(`/info/notes/${id}`, 'DELETE');
-
-export const createNote = async (title: string, content: string): Promise => {
- return (await notesRequest('/info/notes', 'POST', { title, content })) as Note | APIResponse;
-};
-
-export const updateNote = async (
- id: number,
- title: string,
- content: string
-): Promise => {
- return (await notesRequest(`/info/notes/${id}`, 'PUT', { title, content })) as APIResponse;
-};
-
-export const deleteNotes = async (ids: number[]): Promise => {
- return (await notesRequest('/info/notes/bulk-delete', 'POST', { ids })) as APIResponse;
-};
diff --git a/new-web/src/lib/api/info/ram.ts b/new-web/src/lib/api/info/ram.ts
deleted file mode 100644
index dc9e9a8c..00000000
--- a/new-web/src/lib/api/info/ram.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import {
- RAMInfoHistoricalSchema,
- RAMInfoSchema,
- type RAMInfo,
- type RAMInfoHistorical
-} from '$lib/types/info/ram';
-import { apiRequest } from '$lib/utils/http';
-import type { QueryFunctionContext } from '@sveltestack/svelte-query';
-
-export async function getRAMInfo(
- queryObj?: QueryFunctionContext
-): Promise {
- if (queryObj) {
- if (queryObj.queryKey.includes('ramInfoHistorical')) {
- return await apiRequest('/info/ram/historical', RAMInfoHistoricalSchema, 'GET');
- }
- }
-
- return await apiRequest('/info/ram', RAMInfoSchema, 'GET');
-}
-
-export async function getSwapInfo(
- queryObj?: QueryFunctionContext
-): Promise {
- if (queryObj) {
- if (queryObj.queryKey.includes('swapInfoHistorical')) {
- return await apiRequest('/info/swap/historical', RAMInfoHistoricalSchema, 'GET');
- }
- }
-
- return await apiRequest('/info/swap', RAMInfoSchema, 'GET');
-}
diff --git a/new-web/src/lib/api/network/iface.ts b/new-web/src/lib/api/network/iface.ts
deleted file mode 100644
index d1efcdbb..00000000
--- a/new-web/src/lib/api/network/iface.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { IfaceSchema, type Iface } from '$lib/types/network/iface';
-import { apiRequest } from '$lib/utils/http';
-
-export async function getInterfaces(): Promise {
- return await apiRequest('/network/interface', IfaceSchema.array(), 'GET');
-}
diff --git a/new-web/src/lib/api/network/switch.ts b/new-web/src/lib/api/network/switch.ts
deleted file mode 100644
index 2c4d8997..00000000
--- a/new-web/src/lib/api/network/switch.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { APIResponseSchema, type APIResponse } from '$lib/types/common';
-import { SwitchListSchema, type SwitchList } from '$lib/types/network/switch';
-import { apiRequest } from '$lib/utils/http';
-
-export async function getSwitches(): Promise {
- return await apiRequest('/network/switch', SwitchListSchema, 'GET');
-}
-
-export async function createSwitch(
- name: string,
- mtu: number,
- vlan: number,
- address: string,
- address6: string,
- privateSw: boolean,
- dhcp: boolean,
- ports: string[],
- disableIPv6: boolean,
- slaac: boolean
-): Promise {
- const body = {
- name,
- mtu,
- vlan,
- address,
- address6,
- private: privateSw,
- ports,
- dhcp,
- disableIPv6,
- slaac
- };
-
- return await apiRequest('/network/switch/standard', APIResponseSchema, 'POST', body);
-}
-
-export async function deleteSwitch(id: number): Promise {
- return await apiRequest(`/network/switch/standard/${id}`, APIResponseSchema, 'DELETE');
-}
-
-export async function updateSwitch(
- id: number,
- mtu: number,
- vlan: number,
- address: string,
- address6: string,
- privateSw: boolean,
- ports: string[],
- disableIPv6: boolean,
- slaac: boolean,
- dhcp: boolean
-): Promise {
- const body = {
- id,
- mtu,
- vlan,
- address,
- address6,
- private: privateSw,
- ports,
- disableIPv6,
- slaac,
- dhcp
- };
-
- return await apiRequest('/network/switch/standard', APIResponseSchema, 'PUT', body);
-}
diff --git a/new-web/src/lib/api/system/pci.ts b/new-web/src/lib/api/system/pci.ts
deleted file mode 100644
index 06457db1..00000000
--- a/new-web/src/lib/api/system/pci.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { APIResponseSchema, type APIResponse } from '$lib/types/common';
-import {
- PCIDeviceSchema,
- PPTDeviceSchema,
- type PCIDevice,
- type PPTDevice
-} from '$lib/types/system/pci';
-import { apiRequest } from '$lib/utils/http';
-
-export async function getPCIDevices(): Promise {
- return await apiRequest('/system/pci-devices', PCIDeviceSchema.array(), 'GET');
-}
-
-export async function getPPTDevices(): Promise {
- return await apiRequest('/system/ppt-devices', PPTDeviceSchema.array(), 'GET');
-}
-
-export async function addPPTDevice(domain: string, deviceID: string): Promise {
- return await apiRequest('/system/ppt-devices', APIResponseSchema, 'POST', { domain, deviceID });
-}
-
-export async function removePPTDevice(deviceID: string): Promise {
- return await apiRequest(`/system/ppt-devices/${deviceID}`, APIResponseSchema, 'DELETE');
-}
diff --git a/new-web/src/lib/api/utilities/downloader.ts b/new-web/src/lib/api/utilities/downloader.ts
deleted file mode 100644
index 684e7699..00000000
--- a/new-web/src/lib/api/utilities/downloader.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { APIResponseSchema, type APIResponse } from '$lib/types/common';
-import { DownloadSchema, type Download } from '$lib/types/utilities/downloader';
-import { apiRequest } from '$lib/utils/http';
-
-export async function getDownloads(): Promise {
- return await apiRequest('/utilities/downloads', DownloadSchema.array(), 'GET');
-}
-
-export async function startDownload(url: string): Promise {
- return await apiRequest('/utilities/downloads', APIResponseSchema, 'POST', {
- url
- });
-}
-
-export async function deleteDownload(id: number): Promise {
- return await apiRequest(`/utilities/downloads/${id}`, APIResponseSchema, 'DELETE');
-}
-
-export async function bulkDeleteDownloads(ids: number[]): Promise {
- return await apiRequest('/utilities/downloads/bulk-delete', APIResponseSchema, 'POST', {
- ids
- });
-}
-
-export async function getSignedURL(name: string, parentUUID: string): Promise {
- return await apiRequest('/utilities/downloads/signed-url', APIResponseSchema, 'POST', {
- name,
- parentUUID
- });
-}
diff --git a/new-web/src/lib/api/vm/storage.ts b/new-web/src/lib/api/vm/storage.ts
deleted file mode 100644
index 1cd8078d..00000000
--- a/new-web/src/lib/api/vm/storage.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { APIResponseSchema, type APIResponse } from '$lib/types/common';
-import { apiRequest } from '$lib/utils/http';
-
-export async function storageDetach(vmId: number, storageId: number): Promise {
- return await apiRequest(`/vm/storage/detach`, APIResponseSchema, 'POST', {
- vmId,
- storageId
- });
-}
diff --git a/new-web/src/lib/api/vm/vm.ts b/new-web/src/lib/api/vm/vm.ts
deleted file mode 100644
index db3b9bc9..00000000
--- a/new-web/src/lib/api/vm/vm.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-import { APIResponseSchema, type APIResponse } from '$lib/types/common';
-import {
- VMDomainSchema,
- VMSchema,
- VMStatSchema,
- type CreateData,
- type VM,
- type VMDomain,
- type VMStat
-} from '$lib/types/vm/vm';
-import { apiRequest } from '$lib/utils/http';
-import { z } from 'zod/v4';
-
-export async function getVMs(): Promise {
- return await apiRequest('/vm', z.array(VMSchema), 'GET');
-}
-
-export async function newVM(data: CreateData): Promise {
- return await apiRequest('/vm', APIResponseSchema, 'POST', {
- name: data.name,
- vmId: parseInt(data.id.toString(), 10),
- iso: data.storage.iso,
- storageType: data.storage.type,
- storageDataset: data.storage.guid,
- storageSize: data.storage.size,
- storageEmulationType: data.storage.emulation,
- switchId: data.network.switch,
- switchEmulationType: data.network.emulation,
- macAddress: data.network.mac,
- cpuSockets: parseInt(data.hardware.sockets.toString(), 10),
- cpuCores: parseInt(data.hardware.cores.toString(), 10),
- cpuThreads: parseInt(data.hardware.threads.toString(), 10),
- ram: parseInt(data.hardware.memory.toString(), 10),
- cpuPinning: data.hardware.pinnedCPUs,
- vncPort: data.advanced.vncPort,
- vncPassword: data.advanced.vncPassword,
- vncWait: data.advanced.vncWait,
- vncResolution: data.advanced.vncResolution,
- startAtBoot: data.advanced.startAtBoot,
- bootOrder: parseInt(data.advanced.bootOrder.toString(), 10),
- pciDevices: data.hardware.passthroughIds,
- description: data.description
- });
-}
-
-export async function deleteVM(id: number): Promise {
- return await apiRequest(`/vm/${id}`, APIResponseSchema, 'DELETE');
-}
-
-export async function getVMDomain(id: number | string): Promise {
- return await apiRequest(`/vm/domain/${id}`, VMDomainSchema, 'GET');
-}
-
-export async function actionVm(id: number | string, action: string): Promise {
- return await apiRequest(`/vm/${id}/${action}`, APIResponseSchema, 'POST');
-}
-
-export async function getStats(vmId: number, limit: number): Promise {
- return await apiRequest(`/vm/stats`, z.array(VMStatSchema), 'POST', {
- vmId,
- limit
- });
-}
-
-export async function updateDescription(id: number, description: string): Promise {
- return await apiRequest(`/vm/description`, APIResponseSchema, 'PUT', {
- id,
- description
- });
-}
diff --git a/new-web/src/lib/api/zfs/datasets.ts b/new-web/src/lib/api/zfs/datasets.ts
deleted file mode 100644
index 7729df09..00000000
--- a/new-web/src/lib/api/zfs/datasets.ts
+++ /dev/null
@@ -1,140 +0,0 @@
-import { APIResponseSchema, type APIResponse } from '$lib/types/common';
-import {
- DatasetSchema,
- PeriodicSnapshotSchema,
- type Dataset,
- type PeriodicSnapshot
-} from '$lib/types/zfs/dataset';
-
-import { apiRequest } from '$lib/utils/http';
-
-export async function getDatasets(): Promise {
- return await apiRequest('/zfs/datasets', DatasetSchema.array(), 'GET');
-}
-
-export async function deleteSnapshot(
- snapshot: Dataset,
- recursive: boolean = false
-): Promise {
- const param = recursive ? '?recursive=true' : '';
- return await apiRequest(
- `/zfs/datasets/snapshot/${snapshot.properties.guid}${param}`,
- APIResponseSchema,
- 'DELETE'
- );
-}
-
-export async function createSnapshot(
- dataset: Dataset,
- name: string,
- recursive: boolean
-): Promise {
- return await apiRequest('/zfs/datasets/snapshot', APIResponseSchema, 'POST', {
- name: name,
- recursive: recursive,
- guid: dataset.properties.guid
- });
-}
-
-export async function getPeriodicSnapshots(): Promise {
- return await apiRequest('/zfs/datasets/snapshot/periodic', PeriodicSnapshotSchema.array(), 'GET');
-}
-
-export async function createPeriodicSnapshot(
- dataset: Dataset,
- prefix: string,
- recursive: boolean,
- interval: number
-): Promise {
- return await apiRequest('/zfs/datasets/snapshot/periodic', APIResponseSchema, 'POST', {
- guid: dataset.properties.guid,
- prefix: prefix,
- recursive: recursive,
- interval: interval
- });
-}
-
-export async function deletePeriodicSnapshot(guid: string): Promise {
- return await apiRequest(`/zfs/datasets/snapshot/periodic/${guid}`, APIResponseSchema, 'DELETE');
-}
-
-export async function createFileSystem(
- name: string,
- parent: string,
- properties: Record
-): Promise {
- return await apiRequest('/zfs/datasets/filesystem', APIResponseSchema, 'POST', {
- name: name,
- parent: parent,
- properties: properties
- });
-}
-
-export async function editFileSystem(
- guid: string,
- properties: Record
-): Promise {
- return await apiRequest(`/zfs/datasets/filesystem`, APIResponseSchema, 'PATCH', {
- guid: guid,
- properties: properties
- });
-}
-
-export async function deleteFileSystem(dataset: Dataset): Promise {
- return await apiRequest(
- `/zfs/datasets/filesystem/${dataset.properties.guid}`,
- APIResponseSchema,
- 'DELETE'
- );
-}
-
-export async function rollbackSnapshot(guid: string): Promise {
- return await apiRequest(`/zfs/datasets/snapshot/rollback`, APIResponseSchema, 'POST', {
- guid: guid,
- destroyMoreRecent: true
- });
-}
-
-export async function createVolume(
- name: string,
- parent: string,
- props: Record
-): Promise {
- return await apiRequest('/zfs/datasets/volume', APIResponseSchema, 'POST', {
- name: name,
- parent: parent,
- properties: props
- });
-}
-
-export async function editVolume(
- dataset: Dataset,
- properties: Record
-): Promise {
- return await apiRequest('/zfs/datasets/volume', APIResponseSchema, 'PATCH', {
- name: dataset.name,
- properties: properties
- });
-}
-
-export async function deleteVolume(dataset: Dataset): Promise {
- return await apiRequest(
- `/zfs/datasets/volume/${dataset.properties.guid}`,
- APIResponseSchema,
- 'DELETE'
- );
-}
-
-export async function bulkDelete(datasets: Dataset[]): Promise {
- const guids = datasets.map((dataset) => dataset.properties.guid);
- return await apiRequest('/zfs/datasets/bulk-delete', APIResponseSchema, 'POST', {
- guids: guids
- });
-}
-
-export async function flashVolume(guid: string, uuid: string): Promise {
- return await apiRequest('/zfs/datasets/volume/flash', APIResponseSchema, 'POST', {
- guid: guid,
- uuid: uuid
- });
-}
diff --git a/new-web/src/lib/api/zfs/pool.ts b/new-web/src/lib/api/zfs/pool.ts
deleted file mode 100644
index 89194772..00000000
--- a/new-web/src/lib/api/zfs/pool.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-import { APIResponseSchema, type APIResponse } from '$lib/types/common';
-import {
- IODelayHistoricalSchema,
- IODelaySchema,
- PoolStatPointsResponseSchema,
- ZpoolSchema,
- type CreateZpool,
- type IODelay,
- type IODelayHistorical,
- type PoolStatPointsResponse,
- type ReplaceDevice,
- type Zpool
-} from '$lib/types/zfs/pool';
-import { apiRequest } from '$lib/utils/http';
-import type { QueryFunctionContext } from '@sveltestack/svelte-query';
-
-export async function getIODelay(
- queryObj: QueryFunctionContext | undefined
-): Promise {
- if (queryObj) {
- if (queryObj.queryKey.includes('ioDelayHistorical')) {
- const data = await apiRequest(
- '/zfs/pool/io-delay/historical',
- IODelayHistoricalSchema,
- 'GET'
- );
- return IODelayHistoricalSchema.parse(data);
- }
- }
-
- return await apiRequest('/zfs/pool/io-delay', IODelaySchema, 'GET');
-}
-
-export async function getPools(): Promise {
- return await apiRequest('/zfs/pools', ZpoolSchema.array(), 'GET');
-}
-
-export async function createPool(data: CreateZpool) {
- return await apiRequest('/zfs/pools', APIResponseSchema, 'POST', {
- ...data
- });
-}
-
-export async function replaceDevice(data: ReplaceDevice) {
- return await apiRequest(`/zfs/pools/${data.guid}/replace-device`, APIResponseSchema, 'POST', {
- ...data
- });
-}
-
-export async function deletePool(guid: string) {
- return await apiRequest(`/zfs/pools/${guid}`, APIResponseSchema, 'DELETE');
-}
-
-export async function scrubPool(guid: string) {
- return await apiRequest(`/zfs/pools/${guid}/scrub`, APIResponseSchema, 'POST');
-}
-
-export async function getPoolStats(
- interval: number,
- limit: number
-): Promise {
- return await apiRequest(
- `/zfs/pool/stats/${interval}/${limit}`,
- PoolStatPointsResponseSchema,
- 'GET'
- );
-}
-
-export async function editPool(
- name: string,
- properties: Record,
- spares: string[] = []
-): Promise {
- return await apiRequest(`/zfs/pools`, APIResponseSchema, 'PATCH', {
- name,
- properties,
- spares
- });
-}
diff --git a/new-web/src/lib/components/custom/Header.svelte b/new-web/src/lib/components/custom/Header.svelte
deleted file mode 100644
index 1c1cb213..00000000
--- a/new-web/src/lib/components/custom/Header.svelte
+++ /dev/null
@@ -1,123 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/custom/KVTableModal.svelte b/new-web/src/lib/components/custom/KVTableModal.svelte
deleted file mode 100644
index a4b7cbf6..00000000
--- a/new-web/src/lib/components/custom/KVTableModal.svelte
+++ /dev/null
@@ -1,133 +0,0 @@
-
-
-
- e.preventDefault()}
- onEscapeKeydown={(e) => e.preventDefault()}
- >
-
-
- {#if titles.icon}
-
- {/if}
-
{titles.main}
-
-
-
-
-
-
-
-
-
-
-
- {#if tableHeaders.length > 0}
- {#each tableHeaders as header}
- {header}
- {/each}
- {:else}
- {titles.key}
- {titles.value}
- {/if}
-
-
-
-
- {#if tableHeaders.length > 0}
- {#each KV as Array> as row}
-
- {#each tableHeaders as header}
- {row[header]}
- {/each}
-
- {/each}
- {:else}
- {#each Object.entries(KV) as [key, value]}
- {#if typeof value === 'object' && value !== null && !Array.isArray(value)}
-
-
- toggleObjectExpansion(key)}
- >
-
- {key}
-
-
-
- Object ({Object.keys(value).length} properties)
-
-
- {#if expandedObjects[key]}
- {#each Object.entries(value) as [nestedKey, nestedValue]}
-
-
- {nestedKey}
-
-
- {nestedValue}
-
-
- {/each}
- {/if}
- {:else}
-
- {key}
- {value}
-
- {/if}
- {/each}
- {/if}
-
-
-
-
-
diff --git a/new-web/src/lib/components/custom/Login.svelte b/new-web/src/lib/components/custom/Login.svelte
deleted file mode 100644
index 41534063..00000000
--- a/new-web/src/lib/components/custom/Login.svelte
+++ /dev/null
@@ -1,155 +0,0 @@
-
-
-
-
-
- {#if mode.current === 'dark'}
-
- {:else}
-
- {/if}
- SYLVE
-
-
-
-
- Username
-
-
-
- Password
-
-
-
-
- Realm
-
-
- {#if authType === 'pam'}
- PAM
- {:else if authType === 'sylve'}
- Sylve
- {/if}
-
-
- PAM
- Sylve
-
-
-
-
-
- Language
-
-
- {languageArr.find((lang) => lang.value === language)?.label || 'Select Language'}
-
-
- English
- Malayalam
-
-
-
-
-
-
-
-
- Remember Me
-
- {
- onLogin(username, password, authType, language, remember);
- }}
- size="sm"
- class="w-20 rounded-md bg-blue-700 text-white hover:bg-blue-600"
- >
- {#if loading}
-
- {:else}
- Login
- {/if}
-
-
-
-
diff --git a/new-web/src/lib/components/custom/Terminal.svelte b/new-web/src/lib/components/custom/Terminal.svelte
deleted file mode 100644
index 52af311b..00000000
--- a/new-web/src/lib/components/custom/Terminal.svelte
+++ /dev/null
@@ -1,274 +0,0 @@
-
-
-
-
-{#if $terminalStore.isOpen && !$terminalStore.isMinimized}
-
-
-
-
-
-
- {$terminalStore.title}
-
-
-
- visiblityAction('window-minimize')}
- title="Minimize"
- >
-
-
- visiblityAction('window-close')}
- title="Close"
- >
-
-
-
-
-
-
-
- {#each $terminalStore.tabs as tab}
-
visiblityAction('tab-select', tab.id)}
- onkeydown={(e) =>
- (e.key === 'Enter' || e.key === ' ') && visiblityAction('tab-select', tab.id)}
- role="button"
- tabindex="0"
- >
- {tab.title}
- {#if tabsCount > 1}
- {
- e.stopPropagation();
- visiblityAction('tab-close', e);
- }}
- >
-
-
- {/if}
-
- {/each}
-
- addTab()}
- title="Add new tab"
- >
-
-
-
-
-
-
-
- {#each $terminalStore.tabs as tab}
- {#if tab.id === $terminalStore.activeTabId}
-
-
-
- {/if}
- {/each}
-
-
-
-{/if}
diff --git a/new-web/src/lib/components/custom/Throbber.svelte b/new-web/src/lib/components/custom/Throbber.svelte
deleted file mode 100644
index 64ec04e2..00000000
--- a/new-web/src/lib/components/custom/Throbber.svelte
+++ /dev/null
@@ -1,195 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- SYLVE
-
-
-
-
diff --git a/new-web/src/lib/components/custom/TreeTable.svelte b/new-web/src/lib/components/custom/TreeTable.svelte
deleted file mode 100644
index 4a83f238..00000000
--- a/new-web/src/lib/components/custom/TreeTable.svelte
+++ /dev/null
@@ -1,158 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/custom/TreeTable/Search.svelte b/new-web/src/lib/components/custom/TreeTable/Search.svelte
deleted file mode 100644
index 5bd3c166..00000000
--- a/new-web/src/lib/components/custom/TreeTable/Search.svelte
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
- {#if expanded}
- {
- if (e.key === 'Escape') {
- query = '';
- expanded = false;
- }
- }}
- />
- {/if}
-
-
diff --git a/new-web/src/lib/components/custom/TreeView.svelte b/new-web/src/lib/components/custom/TreeView.svelte
deleted file mode 100644
index ba7c3bcc..00000000
--- a/new-web/src/lib/components/custom/TreeView.svelte
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
-
- {#if item.children}
-
- {/if}
-
-
-
-{#if isOpen && item.children}
- t }} style="overflow: hidden;">
- {#each item.children as child}
-
- {/each}
-
-{/if}
diff --git a/new-web/src/lib/components/disk/CreatePartition.svelte b/new-web/src/lib/components/disk/CreatePartition.svelte
deleted file mode 100644
index a49f6165..00000000
--- a/new-web/src/lib/components/disk/CreatePartition.svelte
+++ /dev/null
@@ -1,258 +0,0 @@
-
-
-
-
-
-
- Create Partitions
-
-
-
-
- {
- newPartitions = [];
- remainingSpace = disk ? calculateRemainingSpace(disk) : 0;
- currentPartition = 0;
- currentPartitionInput = '';
- }}
- >
-
- Reset
-
- close()}
- >
-
- Close
-
-
-
-
-
-
-
-
- Name
- Size
- Usage
- Actions
-
-
-
- {#if disk && disk.partitions && disk.partitions.length > 0}
- {#each disk.partitions as partition}
-
- {partition.name}
- {humanFormat(partition.size)}
- {partition.usage}
-
- Existing
-
-
- {/each}
- {/if}
-
- {#if newPartitions.length > 0}
- {#each newPartitions as partition, index}
-
- {partition.name}
- {humanFormat(partition.size)}
- -
-
- removePartition(index)}>
-
-
-
-
- {/each}
- {/if}
-
- {#if (!disk || !disk.partitions || disk.partitions.length === 0) && newPartitions.length === 0}
-
-
- No partitions created yet
-
-
- {/if}
-
-
-
-
-
-
-
- {#if remainingSpace > 0}
-
- {/if}
-
-
-
-
-
0 ? '' : 'cursor-not-allowed'}>
-
- {#if remainingSpace > 0}
- Add Partition
- {:else}
- No space left
- {/if}
-
-
-
-
-
-
- Size: {humanFormat(currentPartition)}
-
-
- Remaining space: {humanFormat(remainingSpace)}
-
-
-
- {#if newPartitions.length > 0}
-
-
-
- Save Partitions
-
-
-
- {/if}
-
-
diff --git a/new-web/src/lib/components/skeleton/BottomPanel.svelte b/new-web/src/lib/components/skeleton/BottomPanel.svelte
deleted file mode 100644
index 444d19f3..00000000
--- a/new-web/src/lib/components/skeleton/BottomPanel.svelte
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
-
-
-
-
-
- Start Time
- End Time
- Node
- User
- Action
- Status
-
-
-
-
- {#each logs as log, i (i)}
-
- {convertDbTime(log.started)}
- {convertDbTime(log.ended)}
- {log.node}
- {`${log.user}@${log.authType}`}
- {formatAction(log.action)}
- {formatStatus(log.status)}
-
- {/each}
-
-
-
-
-
diff --git a/new-web/src/lib/components/skeleton/LeftPanel.svelte b/new-web/src/lib/components/skeleton/LeftPanel.svelte
deleted file mode 100644
index 545c3b07..00000000
--- a/new-web/src/lib/components/skeleton/LeftPanel.svelte
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
diff --git a/new-web/src/lib/components/skeleton/Shell.svelte b/new-web/src/lib/components/skeleton/Shell.svelte
deleted file mode 100644
index 293f423b..00000000
--- a/new-web/src/lib/components/skeleton/Shell.svelte
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {@render children?.()}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte b/new-web/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte
deleted file mode 100644
index a0056912..00000000
--- a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte b/new-web/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte
deleted file mode 100644
index a7b0cf79..00000000
--- a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte b/new-web/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte
deleted file mode 100644
index 6c3c6046..00000000
--- a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
diff --git a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte b/new-web/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte
deleted file mode 100644
index 2ec67dc2..00000000
--- a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte b/new-web/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte
deleted file mode 100644
index f78b97ab..00000000
--- a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte b/new-web/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte
deleted file mode 100644
index c8fa7625..00000000
--- a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte b/new-web/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte
deleted file mode 100644
index a64ee768..00000000
--- a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte b/new-web/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte
deleted file mode 100644
index 7ef2b5fb..00000000
--- a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/alert-dialog/index.ts b/new-web/src/lib/components/ui/alert-dialog/index.ts
deleted file mode 100644
index cc281c58..00000000
--- a/new-web/src/lib/components/ui/alert-dialog/index.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { AlertDialog as AlertDialogPrimitive } from "bits-ui";
-import Trigger from "./alert-dialog-trigger.svelte";
-import Title from "./alert-dialog-title.svelte";
-import Action from "./alert-dialog-action.svelte";
-import Cancel from "./alert-dialog-cancel.svelte";
-import Footer from "./alert-dialog-footer.svelte";
-import Header from "./alert-dialog-header.svelte";
-import Overlay from "./alert-dialog-overlay.svelte";
-import Content from "./alert-dialog-content.svelte";
-import Description from "./alert-dialog-description.svelte";
-
-const Root = AlertDialogPrimitive.Root;
-const Portal = AlertDialogPrimitive.Portal;
-
-export {
- Root,
- Title,
- Action,
- Cancel,
- Portal,
- Footer,
- Header,
- Trigger,
- Overlay,
- Content,
- Description,
- //
- Root as AlertDialog,
- Title as AlertDialogTitle,
- Action as AlertDialogAction,
- Cancel as AlertDialogCancel,
- Portal as AlertDialogPortal,
- Footer as AlertDialogFooter,
- Header as AlertDialogHeader,
- Trigger as AlertDialogTrigger,
- Overlay as AlertDialogOverlay,
- Content as AlertDialogContent,
- Description as AlertDialogDescription,
-};
diff --git a/new-web/src/lib/components/ui/badge/badge.svelte b/new-web/src/lib/components/ui/badge/badge.svelte
deleted file mode 100644
index 50004570..00000000
--- a/new-web/src/lib/components/ui/badge/badge.svelte
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/badge/index.ts b/new-web/src/lib/components/ui/badge/index.ts
deleted file mode 100644
index 64e0aa9b..00000000
--- a/new-web/src/lib/components/ui/badge/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as Badge } from "./badge.svelte";
-export { badgeVariants, type BadgeVariant } from "./badge.svelte";
diff --git a/new-web/src/lib/components/ui/button/button.svelte b/new-web/src/lib/components/ui/button/button.svelte
deleted file mode 100644
index a100eeec..00000000
--- a/new-web/src/lib/components/ui/button/button.svelte
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-
-
-{#if href}
-
- {@render children?.()}
-
-{:else}
-
- {@render children?.()}
-
-{/if}
diff --git a/new-web/src/lib/components/ui/button/index.ts b/new-web/src/lib/components/ui/button/index.ts
deleted file mode 100644
index fb585d76..00000000
--- a/new-web/src/lib/components/ui/button/index.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import Root, {
- type ButtonProps,
- type ButtonSize,
- type ButtonVariant,
- buttonVariants,
-} from "./button.svelte";
-
-export {
- Root,
- type ButtonProps as Props,
- //
- Root as Button,
- buttonVariants,
- type ButtonProps,
- type ButtonSize,
- type ButtonVariant,
-};
diff --git a/new-web/src/lib/components/ui/card/card-content.svelte b/new-web/src/lib/components/ui/card/card-content.svelte
deleted file mode 100644
index bc90b837..00000000
--- a/new-web/src/lib/components/ui/card/card-content.svelte
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/card/card-description.svelte b/new-web/src/lib/components/ui/card/card-description.svelte
deleted file mode 100644
index 9b20ac70..00000000
--- a/new-web/src/lib/components/ui/card/card-description.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/card/card-footer.svelte b/new-web/src/lib/components/ui/card/card-footer.svelte
deleted file mode 100644
index cf433539..00000000
--- a/new-web/src/lib/components/ui/card/card-footer.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/card/card-header.svelte b/new-web/src/lib/components/ui/card/card-header.svelte
deleted file mode 100644
index 8a91abbf..00000000
--- a/new-web/src/lib/components/ui/card/card-header.svelte
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/card/card-title.svelte b/new-web/src/lib/components/ui/card/card-title.svelte
deleted file mode 100644
index 22586e61..00000000
--- a/new-web/src/lib/components/ui/card/card-title.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/card/card.svelte b/new-web/src/lib/components/ui/card/card.svelte
deleted file mode 100644
index 99448cc9..00000000
--- a/new-web/src/lib/components/ui/card/card.svelte
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/card/index.ts b/new-web/src/lib/components/ui/card/index.ts
deleted file mode 100644
index 4d3fce48..00000000
--- a/new-web/src/lib/components/ui/card/index.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import Root from "./card.svelte";
-import Content from "./card-content.svelte";
-import Description from "./card-description.svelte";
-import Footer from "./card-footer.svelte";
-import Header from "./card-header.svelte";
-import Title from "./card-title.svelte";
-import Action from "./card-action.svelte";
-
-export {
- Root,
- Content,
- Description,
- Footer,
- Header,
- Title,
- Action,
- //
- Root as Card,
- Content as CardContent,
- Description as CardDescription,
- Footer as CardFooter,
- Header as CardHeader,
- Title as CardTitle,
- Action as CardAction,
-};
diff --git a/new-web/src/lib/components/ui/checkbox/checkbox.svelte b/new-web/src/lib/components/ui/checkbox/checkbox.svelte
deleted file mode 100644
index 1622e05c..00000000
--- a/new-web/src/lib/components/ui/checkbox/checkbox.svelte
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
- {#snippet children({ checked, indeterminate })}
-
- {#if checked}
-
- {:else if indeterminate}
-
- {/if}
-
- {/snippet}
-
diff --git a/new-web/src/lib/components/ui/checkbox/index.ts b/new-web/src/lib/components/ui/checkbox/index.ts
deleted file mode 100644
index 6d92d945..00000000
--- a/new-web/src/lib/components/ui/checkbox/index.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import Root from "./checkbox.svelte";
-export {
- Root,
- //
- Root as Checkbox,
-};
diff --git a/new-web/src/lib/components/ui/command/command-dialog.svelte b/new-web/src/lib/components/ui/command/command-dialog.svelte
deleted file mode 100644
index 5c9a82a8..00000000
--- a/new-web/src/lib/components/ui/command/command-dialog.svelte
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
- {title}
- {description}
-
-
-
-
-
diff --git a/new-web/src/lib/components/ui/command/command-empty.svelte b/new-web/src/lib/components/ui/command/command-empty.svelte
deleted file mode 100644
index 6726cd8d..00000000
--- a/new-web/src/lib/components/ui/command/command-empty.svelte
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/command/command-group.svelte b/new-web/src/lib/components/ui/command/command-group.svelte
deleted file mode 100644
index 104f8170..00000000
--- a/new-web/src/lib/components/ui/command/command-group.svelte
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
- {#if heading}
-
- {heading}
-
- {/if}
-
-
diff --git a/new-web/src/lib/components/ui/command/command-input.svelte b/new-web/src/lib/components/ui/command/command-input.svelte
deleted file mode 100644
index 240278a6..00000000
--- a/new-web/src/lib/components/ui/command/command-input.svelte
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
diff --git a/new-web/src/lib/components/ui/command/command-item.svelte b/new-web/src/lib/components/ui/command/command-item.svelte
deleted file mode 100644
index 2297c978..00000000
--- a/new-web/src/lib/components/ui/command/command-item.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/command/command-list.svelte b/new-web/src/lib/components/ui/command/command-list.svelte
deleted file mode 100644
index 569f5957..00000000
--- a/new-web/src/lib/components/ui/command/command-list.svelte
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/command/command-separator.svelte b/new-web/src/lib/components/ui/command/command-separator.svelte
deleted file mode 100644
index 35c4c957..00000000
--- a/new-web/src/lib/components/ui/command/command-separator.svelte
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/command/command-shortcut.svelte b/new-web/src/lib/components/ui/command/command-shortcut.svelte
deleted file mode 100644
index 3d68bc56..00000000
--- a/new-web/src/lib/components/ui/command/command-shortcut.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/command/command.svelte b/new-web/src/lib/components/ui/command/command.svelte
deleted file mode 100644
index c64a77ef..00000000
--- a/new-web/src/lib/components/ui/command/command.svelte
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/command/index.ts b/new-web/src/lib/components/ui/command/index.ts
deleted file mode 100644
index d3dbadea..00000000
--- a/new-web/src/lib/components/ui/command/index.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Command as CommandPrimitive } from "bits-ui";
-
-import Root from "./command.svelte";
-import Dialog from "./command-dialog.svelte";
-import Empty from "./command-empty.svelte";
-import Group from "./command-group.svelte";
-import Item from "./command-item.svelte";
-import Input from "./command-input.svelte";
-import List from "./command-list.svelte";
-import Separator from "./command-separator.svelte";
-import Shortcut from "./command-shortcut.svelte";
-import LinkItem from "./command-link-item.svelte";
-
-const Loading = CommandPrimitive.Loading;
-
-export {
- Root,
- Dialog,
- Empty,
- Group,
- Item,
- LinkItem,
- Input,
- List,
- Separator,
- Shortcut,
- Loading,
- //
- Root as Command,
- Dialog as CommandDialog,
- Empty as CommandEmpty,
- Group as CommandGroup,
- Item as CommandItem,
- LinkItem as CommandLinkItem,
- Input as CommandInput,
- List as CommandList,
- Separator as CommandSeparator,
- Shortcut as CommandShortcut,
- Loading as CommandLoading,
-};
diff --git a/new-web/src/lib/components/ui/custom-input/checkbox.svelte b/new-web/src/lib/components/ui/custom-input/checkbox.svelte
deleted file mode 100644
index 9048903b..00000000
--- a/new-web/src/lib/components/ui/custom-input/checkbox.svelte
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
- {label}
-
-
diff --git a/new-web/src/lib/components/ui/custom-input/combobox.svelte b/new-web/src/lib/components/ui/custom-input/combobox.svelte
deleted file mode 100644
index e96283a0..00000000
--- a/new-web/src/lib/components/ui/custom-input/combobox.svelte
+++ /dev/null
@@ -1,151 +0,0 @@
-
-
-
-
- {label}
-
-
-
-
-
- {#if selectedLabels.length > 0}
- {#each selectedLabels as lbl, i}
-
- {lbl}
-
- {/each}
- {:else}
- {placeholder}
- {/if}
-
-
-
-
-
-
-
-
-
- No data
-
-
- {#each filteredData as element}
- selectItem(element.value)}
- onkeydown={(e) => {
- if (e.key === 'Enter') selectItem(element.value);
- }}
- >
-
- {element.label}
-
- {/each}
-
-
-
-
-
-
diff --git a/new-web/src/lib/components/ui/custom-input/value.svelte b/new-web/src/lib/components/ui/custom-input/value.svelte
deleted file mode 100644
index 487e78bc..00000000
--- a/new-web/src/lib/components/ui/custom-input/value.svelte
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
- {#if label}
- {label}
- {/if}
- {#if type === 'textarea'}
-
diff --git a/new-web/src/lib/components/ui/dialog/dialog-content.svelte b/new-web/src/lib/components/ui/dialog/dialog-content.svelte
deleted file mode 100644
index 06ba16cc..00000000
--- a/new-web/src/lib/components/ui/dialog/dialog-content.svelte
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
- {@render children?.()}
- {#if showCloseButton}
-
-
- Close
-
- {/if}
-
-
diff --git a/new-web/src/lib/components/ui/dialog/dialog-description.svelte b/new-web/src/lib/components/ui/dialog/dialog-description.svelte
deleted file mode 100644
index 38450239..00000000
--- a/new-web/src/lib/components/ui/dialog/dialog-description.svelte
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/dialog/dialog-footer.svelte b/new-web/src/lib/components/ui/dialog/dialog-footer.svelte
deleted file mode 100644
index e7ff4468..00000000
--- a/new-web/src/lib/components/ui/dialog/dialog-footer.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/dialog/dialog-header.svelte b/new-web/src/lib/components/ui/dialog/dialog-header.svelte
deleted file mode 100644
index fc90cd9b..00000000
--- a/new-web/src/lib/components/ui/dialog/dialog-header.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/dialog/dialog-overlay.svelte b/new-web/src/lib/components/ui/dialog/dialog-overlay.svelte
deleted file mode 100644
index f81ad833..00000000
--- a/new-web/src/lib/components/ui/dialog/dialog-overlay.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/dialog/dialog-title.svelte b/new-web/src/lib/components/ui/dialog/dialog-title.svelte
deleted file mode 100644
index 067e55ec..00000000
--- a/new-web/src/lib/components/ui/dialog/dialog-title.svelte
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/dialog/index.ts b/new-web/src/lib/components/ui/dialog/index.ts
deleted file mode 100644
index dce1d9dc..00000000
--- a/new-web/src/lib/components/ui/dialog/index.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Dialog as DialogPrimitive } from "bits-ui";
-
-import Title from "./dialog-title.svelte";
-import Footer from "./dialog-footer.svelte";
-import Header from "./dialog-header.svelte";
-import Overlay from "./dialog-overlay.svelte";
-import Content from "./dialog-content.svelte";
-import Description from "./dialog-description.svelte";
-import Trigger from "./dialog-trigger.svelte";
-import Close from "./dialog-close.svelte";
-
-const Root = DialogPrimitive.Root;
-const Portal = DialogPrimitive.Portal;
-
-export {
- Root,
- Title,
- Portal,
- Footer,
- Header,
- Trigger,
- Overlay,
- Content,
- Description,
- Close,
- //
- Root as Dialog,
- Title as DialogTitle,
- Portal as DialogPortal,
- Footer as DialogFooter,
- Header as DialogHeader,
- Trigger as DialogTrigger,
- Overlay as DialogOverlay,
- Content as DialogContent,
- Description as DialogDescription,
- Close as DialogClose,
-};
diff --git a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte b/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte
deleted file mode 100644
index e03f9491..00000000
--- a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
- {#snippet children({ checked, indeterminate })}
-
- {#if indeterminate}
-
- {:else}
-
- {/if}
-
- {@render childrenProp?.()}
- {/snippet}
-
diff --git a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte b/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte
deleted file mode 100644
index 498c4b92..00000000
--- a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
diff --git a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte b/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte
deleted file mode 100644
index 64bb2831..00000000
--- a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte b/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte
deleted file mode 100644
index f72e477e..00000000
--- a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte b/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte
deleted file mode 100644
index 189aef40..00000000
--- a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte b/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte
deleted file mode 100644
index 513170aa..00000000
--- a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
- {#snippet children({ checked })}
-
- {#if checked}
-
- {/if}
-
- {@render childrenProp?.({ checked })}
- {/snippet}
-
diff --git a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte b/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte
deleted file mode 100644
index 90f1b6f1..00000000
--- a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte b/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte
deleted file mode 100644
index 69749477..00000000
--- a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte b/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte
deleted file mode 100644
index 30deb9eb..00000000
--- a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte b/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte
deleted file mode 100644
index f9b286a2..00000000
--- a/new-web/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- {@render children?.()}
-
-
diff --git a/new-web/src/lib/components/ui/dropdown-menu/index.ts b/new-web/src/lib/components/ui/dropdown-menu/index.ts
deleted file mode 100644
index 1cf9f701..00000000
--- a/new-web/src/lib/components/ui/dropdown-menu/index.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui";
-import CheckboxItem from "./dropdown-menu-checkbox-item.svelte";
-import Content from "./dropdown-menu-content.svelte";
-import Group from "./dropdown-menu-group.svelte";
-import Item from "./dropdown-menu-item.svelte";
-import Label from "./dropdown-menu-label.svelte";
-import RadioGroup from "./dropdown-menu-radio-group.svelte";
-import RadioItem from "./dropdown-menu-radio-item.svelte";
-import Separator from "./dropdown-menu-separator.svelte";
-import Shortcut from "./dropdown-menu-shortcut.svelte";
-import Trigger from "./dropdown-menu-trigger.svelte";
-import SubContent from "./dropdown-menu-sub-content.svelte";
-import SubTrigger from "./dropdown-menu-sub-trigger.svelte";
-import GroupHeading from "./dropdown-menu-group-heading.svelte";
-const Sub = DropdownMenuPrimitive.Sub;
-const Root = DropdownMenuPrimitive.Root;
-
-export {
- CheckboxItem,
- Content,
- Root as DropdownMenu,
- CheckboxItem as DropdownMenuCheckboxItem,
- Content as DropdownMenuContent,
- Group as DropdownMenuGroup,
- Item as DropdownMenuItem,
- Label as DropdownMenuLabel,
- RadioGroup as DropdownMenuRadioGroup,
- RadioItem as DropdownMenuRadioItem,
- Separator as DropdownMenuSeparator,
- Shortcut as DropdownMenuShortcut,
- Sub as DropdownMenuSub,
- SubContent as DropdownMenuSubContent,
- SubTrigger as DropdownMenuSubTrigger,
- Trigger as DropdownMenuTrigger,
- GroupHeading as DropdownMenuGroupHeading,
- Group,
- GroupHeading,
- Item,
- Label,
- RadioGroup,
- RadioItem,
- Root,
- Separator,
- Shortcut,
- Sub,
- SubContent,
- SubTrigger,
- Trigger,
-};
diff --git a/new-web/src/lib/components/ui/input/index.ts b/new-web/src/lib/components/ui/input/index.ts
deleted file mode 100644
index f47b6d3f..00000000
--- a/new-web/src/lib/components/ui/input/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import Root from "./input.svelte";
-
-export {
- Root,
- //
- Root as Input,
-};
diff --git a/new-web/src/lib/components/ui/input/input.svelte b/new-web/src/lib/components/ui/input/input.svelte
deleted file mode 100644
index 1c112902..00000000
--- a/new-web/src/lib/components/ui/input/input.svelte
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-{#if type === 'file'}
-
-{:else}
-
-{/if}
diff --git a/new-web/src/lib/components/ui/label/index.ts b/new-web/src/lib/components/ui/label/index.ts
deleted file mode 100644
index 8bfca0b3..00000000
--- a/new-web/src/lib/components/ui/label/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import Root from "./label.svelte";
-
-export {
- Root,
- //
- Root as Label,
-};
diff --git a/new-web/src/lib/components/ui/label/label.svelte b/new-web/src/lib/components/ui/label/label.svelte
deleted file mode 100644
index d0afda3d..00000000
--- a/new-web/src/lib/components/ui/label/label.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/popover/index.ts b/new-web/src/lib/components/ui/popover/index.ts
deleted file mode 100644
index 9f30922f..00000000
--- a/new-web/src/lib/components/ui/popover/index.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Popover as PopoverPrimitive } from "bits-ui";
-import Content from "./popover-content.svelte";
-import Trigger from "./popover-trigger.svelte";
-const Root = PopoverPrimitive.Root;
-const Close = PopoverPrimitive.Close;
-
-export {
- Root,
- Content,
- Trigger,
- Close,
- //
- Root as Popover,
- Content as PopoverContent,
- Trigger as PopoverTrigger,
- Close as PopoverClose,
-};
diff --git a/new-web/src/lib/components/ui/popover/popover-content.svelte b/new-web/src/lib/components/ui/popover/popover-content.svelte
deleted file mode 100644
index 9bced7aa..00000000
--- a/new-web/src/lib/components/ui/popover/popover-content.svelte
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
diff --git a/new-web/src/lib/components/ui/progress/index.ts b/new-web/src/lib/components/ui/progress/index.ts
deleted file mode 100644
index 25eee615..00000000
--- a/new-web/src/lib/components/ui/progress/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import Root from "./progress.svelte";
-
-export {
- Root,
- //
- Root as Progress,
-};
diff --git a/new-web/src/lib/components/ui/progress/progress.svelte b/new-web/src/lib/components/ui/progress/progress.svelte
deleted file mode 100644
index 06872c16..00000000
--- a/new-web/src/lib/components/ui/progress/progress.svelte
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
diff --git a/new-web/src/lib/components/ui/radio-group/index.ts b/new-web/src/lib/components/ui/radio-group/index.ts
deleted file mode 100644
index 90b33fe5..00000000
--- a/new-web/src/lib/components/ui/radio-group/index.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import Root from "./radio-group.svelte";
-import Item from "./radio-group-item.svelte";
-
-export {
- Root,
- Item,
- //
- Root as RadioGroup,
- Item as RadioGroupItem,
-};
diff --git a/new-web/src/lib/components/ui/radio-group/radio-group-item.svelte b/new-web/src/lib/components/ui/radio-group/radio-group-item.svelte
deleted file mode 100644
index 2cb0710b..00000000
--- a/new-web/src/lib/components/ui/radio-group/radio-group-item.svelte
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
- {#snippet children({ checked })}
-
- {#if checked}
-
- {/if}
-
- {/snippet}
-
diff --git a/new-web/src/lib/components/ui/radio-group/radio-group.svelte b/new-web/src/lib/components/ui/radio-group/radio-group.svelte
deleted file mode 100644
index da2912b0..00000000
--- a/new-web/src/lib/components/ui/radio-group/radio-group.svelte
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/resizable/index.ts b/new-web/src/lib/components/ui/resizable/index.ts
deleted file mode 100644
index 2e37f114..00000000
--- a/new-web/src/lib/components/ui/resizable/index.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Pane } from "paneforge";
-import Handle from "./resizable-handle.svelte";
-import PaneGroup from "./resizable-pane-group.svelte";
-
-export {
- PaneGroup,
- Pane,
- Handle,
- //
- PaneGroup as ResizablePaneGroup,
- Pane as ResizablePane,
- Handle as ResizableHandle,
-};
diff --git a/new-web/src/lib/components/ui/resizable/resizable-handle.svelte b/new-web/src/lib/components/ui/resizable/resizable-handle.svelte
deleted file mode 100644
index 9c8da71e..00000000
--- a/new-web/src/lib/components/ui/resizable/resizable-handle.svelte
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-div]:rotate-90",
- className
- )}
- {...restProps}
->
- {#if withHandle}
-
-
-
- {/if}
-
diff --git a/new-web/src/lib/components/ui/resizable/resizable-pane-group.svelte b/new-web/src/lib/components/ui/resizable/resizable-pane-group.svelte
deleted file mode 100644
index a810d7ec..00000000
--- a/new-web/src/lib/components/ui/resizable/resizable-pane-group.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/scroll-area/index.ts b/new-web/src/lib/components/ui/scroll-area/index.ts
deleted file mode 100644
index e86a25b2..00000000
--- a/new-web/src/lib/components/ui/scroll-area/index.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import Scrollbar from "./scroll-area-scrollbar.svelte";
-import Root from "./scroll-area.svelte";
-
-export {
- Root,
- Scrollbar,
- //,
- Root as ScrollArea,
- Scrollbar as ScrollAreaScrollbar,
-};
diff --git a/new-web/src/lib/components/ui/scroll-area/scroll-area-scrollbar.svelte b/new-web/src/lib/components/ui/scroll-area/scroll-area-scrollbar.svelte
deleted file mode 100644
index 41274446..00000000
--- a/new-web/src/lib/components/ui/scroll-area/scroll-area-scrollbar.svelte
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
- {@render children?.()}
-
-
diff --git a/new-web/src/lib/components/ui/scroll-area/scroll-area.svelte b/new-web/src/lib/components/ui/scroll-area/scroll-area.svelte
deleted file mode 100644
index 38a1847f..00000000
--- a/new-web/src/lib/components/ui/scroll-area/scroll-area.svelte
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
- {@render children?.()}
-
- {#if orientation === "vertical" || orientation === "both"}
-
- {/if}
- {#if orientation === "horizontal" || orientation === "both"}
-
- {/if}
-
-
diff --git a/new-web/src/lib/components/ui/select/index.ts b/new-web/src/lib/components/ui/select/index.ts
deleted file mode 100644
index 9e8d3e90..00000000
--- a/new-web/src/lib/components/ui/select/index.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Select as SelectPrimitive } from "bits-ui";
-
-import Group from "./select-group.svelte";
-import Label from "./select-label.svelte";
-import Item from "./select-item.svelte";
-import Content from "./select-content.svelte";
-import Trigger from "./select-trigger.svelte";
-import Separator from "./select-separator.svelte";
-import ScrollDownButton from "./select-scroll-down-button.svelte";
-import ScrollUpButton from "./select-scroll-up-button.svelte";
-import GroupHeading from "./select-group-heading.svelte";
-
-const Root = SelectPrimitive.Root;
-
-export {
- Root,
- Group,
- Label,
- Item,
- Content,
- Trigger,
- Separator,
- ScrollDownButton,
- ScrollUpButton,
- GroupHeading,
- //
- Root as Select,
- Group as SelectGroup,
- Label as SelectLabel,
- Item as SelectItem,
- Content as SelectContent,
- Trigger as SelectTrigger,
- Separator as SelectSeparator,
- ScrollDownButton as SelectScrollDownButton,
- ScrollUpButton as SelectScrollUpButton,
- GroupHeading as SelectGroupHeading,
-};
diff --git a/new-web/src/lib/components/ui/select/select-content.svelte b/new-web/src/lib/components/ui/select/select-content.svelte
deleted file mode 100644
index dc16d65d..00000000
--- a/new-web/src/lib/components/ui/select/select-content.svelte
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
- {@render children?.()}
-
-
-
-
diff --git a/new-web/src/lib/components/ui/select/select-item.svelte b/new-web/src/lib/components/ui/select/select-item.svelte
deleted file mode 100644
index 49dbbd7f..00000000
--- a/new-web/src/lib/components/ui/select/select-item.svelte
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
- {#snippet children({ selected, highlighted })}
-
- {#if selected}
-
- {/if}
-
- {#if childrenProp}
- {@render childrenProp({ selected, highlighted })}
- {:else}
- {label || value}
- {/if}
- {/snippet}
-
diff --git a/new-web/src/lib/components/ui/select/select-label.svelte b/new-web/src/lib/components/ui/select/select-label.svelte
deleted file mode 100644
index 46960259..00000000
--- a/new-web/src/lib/components/ui/select/select-label.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/select/select-separator.svelte b/new-web/src/lib/components/ui/select/select-separator.svelte
deleted file mode 100644
index 0eac3ebc..00000000
--- a/new-web/src/lib/components/ui/select/select-separator.svelte
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/select/select-trigger.svelte b/new-web/src/lib/components/ui/select/select-trigger.svelte
deleted file mode 100644
index d405187d..00000000
--- a/new-web/src/lib/components/ui/select/select-trigger.svelte
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- {@render children?.()}
-
-
diff --git a/new-web/src/lib/components/ui/sheet/index.ts b/new-web/src/lib/components/ui/sheet/index.ts
deleted file mode 100644
index 01d40c80..00000000
--- a/new-web/src/lib/components/ui/sheet/index.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { Dialog as SheetPrimitive } from "bits-ui";
-import Trigger from "./sheet-trigger.svelte";
-import Close from "./sheet-close.svelte";
-import Overlay from "./sheet-overlay.svelte";
-import Content from "./sheet-content.svelte";
-import Header from "./sheet-header.svelte";
-import Footer from "./sheet-footer.svelte";
-import Title from "./sheet-title.svelte";
-import Description from "./sheet-description.svelte";
-
-const Root = SheetPrimitive.Root;
-const Portal = SheetPrimitive.Portal;
-
-export {
- Root,
- Close,
- Trigger,
- Portal,
- Overlay,
- Content,
- Header,
- Footer,
- Title,
- Description,
- //
- Root as Sheet,
- Close as SheetClose,
- Trigger as SheetTrigger,
- Portal as SheetPortal,
- Overlay as SheetOverlay,
- Content as SheetContent,
- Header as SheetHeader,
- Footer as SheetFooter,
- Title as SheetTitle,
- Description as SheetDescription,
-};
diff --git a/new-web/src/lib/components/ui/sheet/sheet-content.svelte b/new-web/src/lib/components/ui/sheet/sheet-content.svelte
deleted file mode 100644
index 856922ea..00000000
--- a/new-web/src/lib/components/ui/sheet/sheet-content.svelte
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
-
-
-
- {@render children?.()}
-
-
- Close
-
-
-
diff --git a/new-web/src/lib/components/ui/sheet/sheet-description.svelte b/new-web/src/lib/components/ui/sheet/sheet-description.svelte
deleted file mode 100644
index 333b17a7..00000000
--- a/new-web/src/lib/components/ui/sheet/sheet-description.svelte
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/sheet/sheet-footer.svelte b/new-web/src/lib/components/ui/sheet/sheet-footer.svelte
deleted file mode 100644
index dd9ed84b..00000000
--- a/new-web/src/lib/components/ui/sheet/sheet-footer.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/sheet/sheet-header.svelte b/new-web/src/lib/components/ui/sheet/sheet-header.svelte
deleted file mode 100644
index 757a6a56..00000000
--- a/new-web/src/lib/components/ui/sheet/sheet-header.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/sheet/sheet-overlay.svelte b/new-web/src/lib/components/ui/sheet/sheet-overlay.svelte
deleted file mode 100644
index 345e197b..00000000
--- a/new-web/src/lib/components/ui/sheet/sheet-overlay.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/sheet/sheet-title.svelte b/new-web/src/lib/components/ui/sheet/sheet-title.svelte
deleted file mode 100644
index 9fda327e..00000000
--- a/new-web/src/lib/components/ui/sheet/sheet-title.svelte
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/slider/index.ts b/new-web/src/lib/components/ui/slider/index.ts
deleted file mode 100644
index 820f209c..00000000
--- a/new-web/src/lib/components/ui/slider/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import Root from "./slider.svelte";
-
-export {
- Root,
- //
- Root as Slider,
-};
diff --git a/new-web/src/lib/components/ui/slider/slider.svelte b/new-web/src/lib/components/ui/slider/slider.svelte
deleted file mode 100644
index b06e110b..00000000
--- a/new-web/src/lib/components/ui/slider/slider.svelte
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
- {#snippet children({ thumbs })}
-
-
-
- {#each thumbs as thumb (thumb)}
-
- {/each}
- {/snippet}
-
diff --git a/new-web/src/lib/components/ui/table/index.ts b/new-web/src/lib/components/ui/table/index.ts
deleted file mode 100644
index 14695c81..00000000
--- a/new-web/src/lib/components/ui/table/index.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import Root from "./table.svelte";
-import Body from "./table-body.svelte";
-import Caption from "./table-caption.svelte";
-import Cell from "./table-cell.svelte";
-import Footer from "./table-footer.svelte";
-import Head from "./table-head.svelte";
-import Header from "./table-header.svelte";
-import Row from "./table-row.svelte";
-
-export {
- Root,
- Body,
- Caption,
- Cell,
- Footer,
- Head,
- Header,
- Row,
- //
- Root as Table,
- Body as TableBody,
- Caption as TableCaption,
- Cell as TableCell,
- Footer as TableFooter,
- Head as TableHead,
- Header as TableHeader,
- Row as TableRow,
-};
diff --git a/new-web/src/lib/components/ui/table/table-body.svelte b/new-web/src/lib/components/ui/table/table-body.svelte
deleted file mode 100644
index 29e96875..00000000
--- a/new-web/src/lib/components/ui/table/table-body.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/table/table-caption.svelte b/new-web/src/lib/components/ui/table/table-caption.svelte
deleted file mode 100644
index 4696cff5..00000000
--- a/new-web/src/lib/components/ui/table/table-caption.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/table/table-cell.svelte b/new-web/src/lib/components/ui/table/table-cell.svelte
deleted file mode 100644
index 59920484..00000000
--- a/new-web/src/lib/components/ui/table/table-cell.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/table/table-footer.svelte b/new-web/src/lib/components/ui/table/table-footer.svelte
deleted file mode 100644
index b9b14ebf..00000000
--- a/new-web/src/lib/components/ui/table/table-footer.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-tr]:last:border-b-0", className)}
- {...restProps}
->
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/table/table-head.svelte b/new-web/src/lib/components/ui/table/table-head.svelte
deleted file mode 100644
index 2742939a..00000000
--- a/new-web/src/lib/components/ui/table/table-head.svelte
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/table/table-header.svelte b/new-web/src/lib/components/ui/table/table-header.svelte
deleted file mode 100644
index f47d2597..00000000
--- a/new-web/src/lib/components/ui/table/table-header.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/table/table-row.svelte b/new-web/src/lib/components/ui/table/table-row.svelte
deleted file mode 100644
index 8829581c..00000000
--- a/new-web/src/lib/components/ui/table/table-row.svelte
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
- {@render children?.()}
-
diff --git a/new-web/src/lib/components/ui/table/table.svelte b/new-web/src/lib/components/ui/table/table.svelte
deleted file mode 100644
index a3349563..00000000
--- a/new-web/src/lib/components/ui/table/table.svelte
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- {@render children?.()}
-
-
diff --git a/new-web/src/lib/components/ui/tabs/index.ts b/new-web/src/lib/components/ui/tabs/index.ts
deleted file mode 100644
index 12d4327a..00000000
--- a/new-web/src/lib/components/ui/tabs/index.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import Root from "./tabs.svelte";
-import Content from "./tabs-content.svelte";
-import List from "./tabs-list.svelte";
-import Trigger from "./tabs-trigger.svelte";
-
-export {
- Root,
- Content,
- List,
- Trigger,
- //
- Root as Tabs,
- Content as TabsContent,
- List as TabsList,
- Trigger as TabsTrigger,
-};
diff --git a/new-web/src/lib/components/ui/tabs/tabs-content.svelte b/new-web/src/lib/components/ui/tabs/tabs-content.svelte
deleted file mode 100644
index 340d65cf..00000000
--- a/new-web/src/lib/components/ui/tabs/tabs-content.svelte
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/tabs/tabs-list.svelte b/new-web/src/lib/components/ui/tabs/tabs-list.svelte
deleted file mode 100644
index 0a7843ec..00000000
--- a/new-web/src/lib/components/ui/tabs/tabs-list.svelte
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/tabs/tabs-trigger.svelte b/new-web/src/lib/components/ui/tabs/tabs-trigger.svelte
deleted file mode 100644
index dfcd0a17..00000000
--- a/new-web/src/lib/components/ui/tabs/tabs-trigger.svelte
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/textarea/index.ts b/new-web/src/lib/components/ui/textarea/index.ts
deleted file mode 100644
index ace797a8..00000000
--- a/new-web/src/lib/components/ui/textarea/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import Root from "./textarea.svelte";
-
-export {
- Root,
- //
- Root as Textarea,
-};
diff --git a/new-web/src/lib/components/ui/textarea/textarea.svelte b/new-web/src/lib/components/ui/textarea/textarea.svelte
deleted file mode 100644
index 545b377b..00000000
--- a/new-web/src/lib/components/ui/textarea/textarea.svelte
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
diff --git a/new-web/src/lib/components/ui/tooltip/index.ts b/new-web/src/lib/components/ui/tooltip/index.ts
deleted file mode 100644
index 313a7f06..00000000
--- a/new-web/src/lib/components/ui/tooltip/index.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { Tooltip as TooltipPrimitive } from "bits-ui";
-import Trigger from "./tooltip-trigger.svelte";
-import Content from "./tooltip-content.svelte";
-
-const Root = TooltipPrimitive.Root;
-const Provider = TooltipPrimitive.Provider;
-const Portal = TooltipPrimitive.Portal;
-
-export {
- Root,
- Trigger,
- Content,
- Provider,
- Portal,
- //
- Root as Tooltip,
- Content as TooltipContent,
- Trigger as TooltipTrigger,
- Provider as TooltipProvider,
- Portal as TooltipPortal,
-};
diff --git a/new-web/src/lib/components/ui/tooltip/tooltip-content.svelte b/new-web/src/lib/components/ui/tooltip/tooltip-content.svelte
deleted file mode 100644
index b0c399ca..00000000
--- a/new-web/src/lib/components/ui/tooltip/tooltip-content.svelte
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
- {@render children?.()}
-
- {#snippet child({ props })}
-
- {/snippet}
-
-
-
diff --git a/new-web/src/lib/index.ts b/new-web/src/lib/index.ts
deleted file mode 100644
index 856f2b6c..00000000
--- a/new-web/src/lib/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-// place files you want to import through the `$lib` alias in this folder.
diff --git a/new-web/src/lib/locale/en.json b/new-web/src/lib/locale/en.json
deleted file mode 100644
index 8ba0f477..00000000
--- a/new-web/src/lib/locale/en.json
+++ /dev/null
@@ -1,250 +0,0 @@
-{
- "auth": {
- "username": "Username",
- "password": "Password",
- "realm": "Realm",
- "select_authentication": "Select Authentication",
- "pam": "PAM Standard Authentication",
- "sylve": "Sylve Authentication",
- "language": "Language",
- "select_language": "Select Language",
- "remember_me": "Remember Me",
- "login": "Login",
- "logout": "Logout",
- "invalid_auth_type": "Authentication type required",
- "invalid_credentials": "Invalid credentials",
- "pam_auth_error": "PAM authentication error"
- },
- "node": {
- "summary": "Summary",
- "search": "Search",
- "notes": "Notes",
- "network": "Network",
- "storage": "Storage",
- "certificates": "Certificates",
- "interfaces": "Interfaces",
- "firewall": "Firewall",
- "disks": "Disks",
- "zfs": "ZFS",
- "pools": "Pools",
- "datasets": "Datasets",
- "file_systems": "Filesystems",
- "notifications": "Notifications",
- "volumes": "Volumes",
- "snapshots": "Snapshots",
- "switches": "Switches",
- "utilities": "Utilities",
- "downloader": "Downloader",
- "settings": "Settings",
- "console": "Console",
- "dashboard": "Dashboard"
- },
- "summary": {
- "CPU_s": "CPU(s)",
- "Operating System": "Operating System",
- "load_average": "Load Average",
- "boot_mode": "Boot Mode",
- "cpu_usage": "CPU Usage",
- "disk_usage": "Disk Usage",
- "swap_usage": "Swap Usage",
- "ram_usage": "RAM Usage",
- "io_delay": "I/O Delay"
- },
- "notes": {
- "note": "note",
- "notes": "notes",
- "title": "title",
- "content": "content",
- "created": "note created",
- "updated": "note updated",
- "delete": "note deleted",
- "bulk_delete": "notes deleted"
- },
- "disk": {
- "smart": "S.M.A.R.T.",
- "smart_values": "S.M.A.R.T. values",
- "initialize_gpt": "Initialize GPT",
- "wipe_disk": "wipe disk",
- "attribute": "Attribute",
- "delete_partition": "delete partition",
- "create_partition": "create partition",
- "value": "Value",
- "wipe": "wipe",
- "partition": "partition",
- "partitions": "partitions",
- "gpt_initialized": "initialized with GPT",
- "initialize": "initialize",
- "full_wipe_success": "Disk wiped",
- "partition_wipe_success": "Partition deleted",
- "device": "Device",
- "type": "Type",
- "usage": "Usage",
- "size": "Size",
- "gpt": "GPT",
- "model": "Model",
- "serial": "Serial",
- "wearout": "Wearout"
- },
- "network": {
- "switch": {
- "switch": "switch",
- "errors": {
- "invalid_switch_name": "Invalid switch name",
- "invalid_mtu": "Invalid MTU",
- "invalid_vlan": "Invalid VLAN",
- "invalid_ipv4_cidr": "Invalid IPv4 CIDR",
- "delete_switch": "Error deleting switch",
- "create_switch": "Error creating switch",
- "update_switch": "Error updating switch"
- }
- },
- "ports": "ports",
- "mtu": "MTU",
- "vlan": "VLAN",
- "ipv4": "IPv4",
- "ipv6": "IPv6",
- "model": "model",
- "mac_address": "MAC address",
- "enabled_capabilities": "enabled capabilities",
- "supported_capabilities": "supported capabilities",
- "media_options": "media options",
- "sub_type": "sub type"
- },
- "partition": {
- "create": "Create Partition"
- },
- "vm": {
- "vm": "VM",
- "create_vm": "create VM",
- "delete_vm": "delete VM",
- "deleting_vm_full": "deleting virtual machine"
- },
- "zfs": {
- "pool": {
- "pool": "pool",
- "pool_not_found": "Pool not found",
- "pool_deleted": "Pool deleted",
- "pool_created": "Pool created",
- "pool_edited": "Pool edited",
- "errors": {
- "pool_create_failed_mirror_different_sizes": "Pool contains a mirror with devices of different sizes",
- "pool_create_failed_raidz_different_sizes": "Pool contains a raidz vdev with devices of different sizes",
- "pool_delete_failed_busy": "Pool is busy",
- "pool_create_failed_no_disks": "No available disks or partitions",
- "pool_create_failed_invalid_name": "Invalid pool name",
- "pool_create_failed_need_atleast_one": "Please add at least one disk",
- "pool_create_failed_new_device_smaller": "New device is smaller than old device",
- "pool_create_failed_new_partition_smaller": "New partition is smaller than old device",
- "pool_edit_failed": "Pool edit failed"
- },
- "warnings": {
- "disks_within_vdev_should_be_same_type": "Disks within a VDEV should ideally be the same type",
- "disks_within_vdev_should_be_same_drive_type": "Disks within a VDEV should ideally be the same drive type",
- "disks_within_vdev_should_be_same_size": "Disks within a VDEV should ideally be the same size",
- "partitions_within_vdev_should_be_same_size": "Partitions within a VDEV should ideally be the same size",
- "disks_or_partitions_within_vdev_should_be_same_drive_type": "Disks/Partitions within a VDEV should ideally be the same drive type",
- "cannot_delete_pool_while_replacing_device": "Cannot delete pool while replacing device in any pool"
- },
- "redundancy": {
- "stripe": "Stripe",
- "mirror": "Mirror",
- "raidz": "RAIDZ",
- "raidz2": "RAIDZ2",
- "raidz3": "RAIDZ3",
- "redundancy": "redundancy"
- },
- "pool_status": "Pool Status",
- "delete_pool": "delete pool",
- "replace_device": "replace device",
- "replacing": "Replacing",
- "scrub": "Scrub",
- "delete": "Delete",
- "scrub_in_progress": "A scrub is already in progress",
- "no_available_disks": "No available disks",
- "partitions": "Partitions",
- "no_available_partitions": "No available partitions",
- "create_zfs_pool": "Create ZFS Pool",
- "edit_zfs_pool": "Edit ZFS Pool",
- "create_pool": "create pool",
- "scrub_pool": "scrub pool",
- "mount_point": "Mount Point",
- "edit_pool": "edit pool"
- },
- "datasets": {
- "filesystem_already_exists": "filesystem already exists",
- "dataset_already_exists": "dataset already exists",
- "numeric_value_too_large": "numeric value is too large",
- "invalid_encryption_key_length": "invalid encryption key length",
- "snapshot_already_exists": "snapshot already exists",
- "pool_or_dataset_is_busy": "pool or dataset is busy",
- "vol_size_greater_than_available_space": "volume size is greater than available space",
- "parent_not_found": "parent not found",
- "invalid_volume_name": "invalid volume name",
- "no_parent_selected": "no parent selected",
- "encryption_key_required": "encryption key required",
- "invalid_volume_size": "invalid volume size",
- "dataset_in_use_by_vm": "Dataset used by a VM"
- }
- },
- "common": {
- "example": "Example",
- "of": "of",
- "are_you_sure": "Are you sure?",
- "this_action_cannot_be_undone": "This action cannot be undone",
- "this_will_permanently": "This will permanently",
- "permanent_delete_msg": "This action cannot be undone. This will permanently delete",
- "completely": "completely",
- "created": "created",
- "creating": "creating",
- "created_successfully": "created successfully",
- "error": "error",
- "delete": "delete",
- "create": "create",
- "invalid_response_received": "Invalid response received",
- "datacenter": "datacenter",
- "languages": {
- "en": "English",
- "en_default": "English (Default)",
- "mal": "Malayalam"
- },
- "values": "values",
- "with": "with",
- "status": "Status",
- "new": "new",
- "devices": "devices",
- "options": "options",
- "name": "name",
- "virtual": "virtual",
- "filesystem": "filesystem",
- "volume": "volume",
- "deleted": "deleted",
- "prefix": "prefix",
- "details": "details",
- "updated": "updated",
- "view": "view",
- "edit": "edit",
- "reset": "reset",
- "close": "close",
- "OK": "OK",
- "save": "save",
- "bulk": "bulk",
- "ID": "ID",
- "id": "id",
- "description": "description",
- "raw": "raw",
- "mode": "mode",
- "search": "search",
- "private": "private",
- "content": "content",
- "value": "value",
- "worst": "worst",
- "threshold": "threshold",
- "flags": "flags",
- "failing": "failing",
- "magnet": "magnet",
- "http": "HTTP"
- },
- "validation_errors": {
- "failed validation: min": "too small"
- }
-}
diff --git a/new-web/src/lib/locale/mal.json b/new-web/src/lib/locale/mal.json
deleted file mode 100644
index 0745f73c..00000000
--- a/new-web/src/lib/locale/mal.json
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- "auth": {
- "username": "പേര്",
- "password": "പാസ്സ്വേഡ്",
- "realm": "സാമ്രാജ്യം",
- "pam": "പി.എ.എം",
- "sylve": "സിൽവ്",
- "language": "ഭാഷ",
- "select_language": "ഭാഷ തിരഞ്ഞെടുക്കുക",
- "remember_me": "എന്നെ ഓർമ്മിക്കുക",
- "login": "ലോഗിൻ",
- "logout": "ലോഗ്ഔട്ട്",
- "invalid_auth_type": "അധികാര തരം ആവശ്യമാണ്",
- "invalid_credentials": "അസാധുവായ ക്രെഡൻഷ്യലുകൾ",
- "pam_auth_error": "പി.എ.എം. അധികാര പിശക്"
- },
- "node": {
- "summary": "സാരാംശം",
- "search": "തിരയൽ",
- "notes": "കുറിപ്പുകൾ",
- "storage": "സ്റ്റോറേജ്",
- "certificates": "സർട്ടിഫിക്കറ്റുകൾ",
- "firewall": "ഫയർവാൾ",
- "disks": "ഡിസ്കുകൾ",
- "zfs": "ഇസഡ് എഫ് എസ്",
- "pools": "പൂലുകൾ",
- "datasets": "ഡാറ്റാസെറ്റുകൾ",
- "file_systems": "ഫയൽ സിസ്റ്റങ്ങൾ",
- "notifications": "അറിയിപ്പുകൾ"
- },
- "summary": {
- "CPU_s": "സിപിയു",
- "operating_system": "ഓപ്പറേറ്റിംഗ് സിസ്റ്റം",
- "load_average": "ലോഡ് ശരാശരി",
- "boot_mode": "ബൂട്ട് മോഡ്",
- "sylve_version": "സിൽവ് പതിപ്പ്",
- "cpu_usage": "സിപിയു ഉപയോഗം",
- "disk_usage": "ഡിസ്ക് ഉപയോഗം",
- "swap_usage": "സ്വാപ്പ് ഉപയോഗം",
- "ram_usage": "റാം ഉപയോഗം",
- "io_delay": "ഐ/ഒ വൈകിയാൽ"
- },
- "notes": {
- "note": "കുറിപ്പ്",
- "note_l": "കുറിപ്പ്",
- "title": "ശീർഷകം"
- },
- "disk": {
- "smart": "എസ്.മാർട്ട്",
- "smart_values": "എസ്.മാർട്ട് വിലകൾ",
- "initialize_gpt": "ജിപിടി ആരംഭിക്കുക",
- "wipe_disk": "ഡിസ്ക് ശുദ്ധീകരിക്കുക",
- "attribute": "ഗുണം",
- "delete_partition": "വിഭാഗം ഇല്ലാതാക്കുക",
- "create_partition": "വിഭാഗം സൃഷ്ടിക്കുക",
- "value": "മൂല്യം",
- "wipe": "ശുദ്ധീകരിക്കുക",
- "partition": "വിഭാഗം",
- "partitions": "വിഭാഗങ്ങൾ",
- "gpt_initialized": "ജിപിടി ഉപയോഗിച്ച് ആരംഭിച്ചു",
- "initialize": "ആരംഭിക്കുക",
- "full_wipe_success": "ഡിസ്ക് ശുദ്ധീകരിച്ചു",
- "partition_wipe_success": "വിഭാഗം ഇല്ലാതാക്കി",
- "device": "ഉപകരണം",
- "type": "തരം",
- "usage": "ഉപയോഗം",
- "size": "വലുപ്പം",
- "gpt": "ജിപിടി",
- "model": "മോഡൽ",
- "serial": "സീരിയൽ",
- "wearout": "വെയർ ഔട്ട്"
- },
- "zfs": {
- "pool": {
- "pool_not_found": "പൂൽ കണ്ടെത്തിയില്ല",
- "pool_deleted": "പൂൽ ഇല്ലാതാക്കി",
- "pool_created": "പൂൽ സൃഷ്ടിച്ചു",
- "errors": {
- "pool_create_failed_mirror_different_sizes": "പൂൽ വ്യത്യസ്ത വലുപ്പങ്ങളുള്ള ഉപകരണങ്ങളുമായി ഒരു മിറർ അടങ്ങിയിരിക്കുന്നു",
- "pool_create_failed_raidz_different_sizes": "പൂൽ വ്യത്യസ്ത വലുപ്പങ്ങളുള്ള ഉപകരണങ്ങളുമായി ഒരു റെയിഡ്എസ് വി.ഡി.ഇ.വി അടങ്ങിയിരിക്കുന്നു",
- "pool_delete_failed_busy": "പൂൽ തിരക്കിലാണ്"
- }
- }
- },
- "common": {
- "example": "ഉദാഹരണം",
- "of": "യുടെ",
- "are_you_sure": "നിങ്ങൾക്ക് ഉറപ്പാണോ?",
- "this_action_cannot_be_undone": "ഈ പ്രവർത്തനം തിരികെ ചെയ്യാൻ കഴിയില്ല",
- "this_will_permanently": "ഈ സ്ഥിരമായി",
- "permanent_delete_msg": "ഈ പ്രവർത്തനം തിരികെ ചെയ്യാൻ കഴിയില്ല. ഇത് സ്ഥിരമായി ഇല്ലാതാക്കും",
- "completely": "പൂർണ്ണമായും",
- "created": "സൃഷ്ടിച്ചു",
- "creating": "സൃഷ്ടിക്കുന്നു",
- "created_successfully": "വിജയകരമായി സൃഷ്ടിച്ചു",
- "error": "പിശക്",
- "delete": "ഇല്ലാതാക്കുക",
- "create": "സൃഷ്ടിക്കുക",
- "invalid_response_received": "അസാധുവായ പ്രതികരണം ലഭിച്ചു",
- "datacenter": "ഡാറ്റാ സെന്റർ",
- "languages": {
- "en": "English",
- "en_default": "English (Default)",
- "mal": "Malayalam"
- }
- },
- "validation_errors": {
- "failed validation: min": "ചെറിയത്"
- }
-}
diff --git a/new-web/src/lib/stores/auth.ts b/new-web/src/lib/stores/auth.ts
deleted file mode 100644
index 29977005..00000000
--- a/new-web/src/lib/stores/auth.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import { parseJwt } from '$lib/utils/string';
-import { localStore } from '@layerstack/svelte-stores';
-import { addDays } from 'date-fns';
-import { get } from 'svelte/store';
-
-export const store = localStore('token', '', {
- expiry: addDays(new Date(), 1)
-});
-
-export const oldStore = localStore('oldToken', '', {
- expiry: addDays(new Date(), 1)
-});
-
-export function getUsername(): string {
- try {
- const token = get(store);
- if (!token) return 'unknown';
-
- const decoded = parseJwt(token);
- return decoded.custom_claims.username;
- } catch (e) {
- return 'unknown';
- }
-}
diff --git a/new-web/src/lib/stores/basic.ts b/new-web/src/lib/stores/basic.ts
deleted file mode 100644
index be0347ff..00000000
--- a/new-web/src/lib/stores/basic.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import { localStore } from '@layerstack/svelte-stores';
-import { addDays } from 'date-fns';
-
-export const hostname = localStore('hostname', '', {
- expiry: addDays(new Date(), 1)
-});
-
-export const language = localStore('language', 'en', {
- expiry: addDays(new Date(), 720)
-});
diff --git a/new-web/src/lib/stores/localStore.svelte.ts b/new-web/src/lib/stores/localStore.svelte.ts
deleted file mode 100644
index d88a1873..00000000
--- a/new-web/src/lib/stores/localStore.svelte.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import { browser } from '$app/environment';
-
-export class LocalStore {
- value = $state() as T;
- key = '';
-
- constructor(key: string, value: T) {
- this.key = key;
- this.value = value;
-
- if (browser) {
- const item = localStorage.getItem(key);
- if (item) this.value = this.deserialize(item);
- }
-
- $effect(() => {
- localStorage.setItem(this.key, this.serialize(this.value));
- });
- }
-
- serialize(value: T): string {
- return JSON.stringify(value);
- }
-
- deserialize(item: string): T {
- return JSON.parse(item);
- }
-}
-
-export function localStore(key: string, value: T) {
- return new LocalStore(key, value);
-}
diff --git a/new-web/src/lib/stores/terminal.svelte.ts b/new-web/src/lib/stores/terminal.svelte.ts
deleted file mode 100644
index 95921902..00000000
--- a/new-web/src/lib/stores/terminal.svelte.ts
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import { hostname } from '$lib/stores/basic';
-import type { Terminal as Xterm } from '@battlefieldduck/xterm-svelte';
-import { localStore } from '@layerstack/svelte-stores';
-import { nanoid } from 'nanoid';
-import { get } from 'svelte/store';
-import { getUsername } from './auth';
-
-interface Tab {
- id: string;
- title: string;
-}
-
-interface Terminal {
- isOpen: boolean;
- isMinimized: boolean;
- title: string;
- tabs: Tab[];
- activeTabId: string;
-}
-
-export const terminalStore = localStore('terminal', {
- isOpen: false,
- isMinimized: false,
- title: '',
- tabs: [],
- activeTabId: ''
-});
-
-export function getDefaultTitle() {
- return `${getUsername()}@${get(hostname)}:~`;
-}
-
-export function openTerminal() {
- terminalStore.set({
- ...get(terminalStore),
- isOpen: true,
- isMinimized: false
- });
-
- let store = get(terminalStore);
- if (store.tabs.length > 0) {
- return;
- }
-
- const tabId = nanoid(9);
- const newTerminal: Terminal = {
- isOpen: true,
- isMinimized: false,
- title: 'Terminal',
- tabs: [
- {
- id: tabId,
- title: getDefaultTitle()
- }
- ],
-
- activeTabId: tabId
- };
-
- terminalStore.set(newTerminal);
-}
diff --git a/new-web/src/lib/types/common.ts b/new-web/src/lib/types/common.ts
deleted file mode 100644
index f90c9c16..00000000
--- a/new-web/src/lib/types/common.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import { z } from 'zod/v4';
-
-export const APIResponseSchema = z
- .object({
- status: z.string(),
- message: z.string().optional(),
- error: z.string().optional(),
- data: z.unknown().optional()
- })
- .describe('APIResponseSchema');
-
-export interface HistoricalBase {
- id?: number | string;
- createdAt?: string | Date;
- [key: string]: number | string | Date | undefined;
-}
-
-export interface HistoricalData {
- date: Date;
- [key: string]: number | string | Date;
-}
-
-export interface PieChartData {
- label: string;
- value: number;
- color: string;
-}
-
-export interface SeriesData {
- name: string;
- value: number;
-}
-
-export interface SeriesDataWithBaseline {
- name: string;
- baseline: number;
- value: number;
-}
-
-export type APIResponse = z.infer;
-export type Locales = 'en' | 'mal';
diff --git a/new-web/src/lib/types/components/tree-table.ts b/new-web/src/lib/types/components/tree-table.ts
deleted file mode 100644
index 66dff810..00000000
--- a/new-web/src/lib/types/components/tree-table.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import type { CellComponent, EmptyCallback, FormatterParams } from 'tabulator-tables';
-
-export interface Row {
- id: number | string;
- [key: string]: any;
- children?: Row[];
-}
-
-export interface Column {
- field: string;
- title: string;
- visible?: boolean;
- formatter?:
- | ((cell: CellComponent, formatterParams: FormatterParams, onRendered: EmptyCallback) => void)
- | string;
-}
-
-export type ExpandedRows = Record;
diff --git a/new-web/src/lib/types/disk/disk.ts b/new-web/src/lib/types/disk/disk.ts
deleted file mode 100644
index 6e55ae90..00000000
--- a/new-web/src/lib/types/disk/disk.ts
+++ /dev/null
@@ -1,147 +0,0 @@
-import { z } from 'zod/v4';
-
-export const SmartNVMESchema = z.object({
- device: z.string(),
- criticalWarning: z.string(),
- criticalWarningState: z.object({
- availableSpare: z.union([z.number(), z.string()]),
- temperature: z.union([z.number(), z.string()]),
- deviceReliability: z.union([z.number(), z.string()]),
- readOnly: z.union([z.number(), z.string()]),
- volatileMemoryBackup: z.union([z.number(), z.string()])
- }),
- temperature: z.number(),
- availableSpare: z.number(),
- availableSpareThreshold: z.number(),
- percentageUsed: z.number(),
- dataUnitsRead: z.number(),
- dataUnitsWritten: z.number(),
- hostReadCommands: z.number(),
- hostWriteCommands: z.number(),
- controllerBusyTime: z.number(),
- powerCycles: z.number(),
- powerOnHours: z.number(),
- unsafeShutdowns: z.number(),
- mediaErrors: z.number(),
- errorInfoLogEntries: z.number(),
- warningCompositeTempTime: z.number(),
- temperature1TransitionCnt: z.number(),
- temperature2TransitionCnt: z.number(),
- totalTimeForTemperature1: z.number(),
- totalTimeForTemperature2: z.number()
-});
-
-export const SmartCtlSchema = z.object({
- json_format_version: z.array(z.number()),
- smartctl: z.object({
- version: z.array(z.number()),
- pre_release: z.boolean(),
- svn_revision: z.string(),
- platform_info: z.string(),
- build_info: z.string().optional(),
- argv: z.array(z.string()),
- drive_database_version: z
- .object({
- string: z.string()
- })
- .optional(),
- exit_status: z.number()
- }),
- local_time: z.object({
- time_t: z.number(),
- asctime: z.string()
- }),
- device: z.object({
- name: z.string(),
- info_name: z.string(),
- type: z.string(),
- protocol: z.string()
- }),
- smart_status: z.object({
- passed: z.boolean()
- }),
- power_on_time: z.object({
- hours: z.number()
- }),
- power_cycle_count: z.number(),
- temperature: z.object({
- current: z.number()
- }),
- ata_smart_attributes: z.object({
- revision: z.number(),
- table: z.array(
- z.object({
- id: z.number(),
- name: z.string(),
- value: z.number(),
- worst: z.number(),
- thresh: z.number(),
- when_failed: z.string(),
- flags: z.object({
- value: z.number(),
- string: z.string(),
- prefailure: z.boolean(),
- updated_online: z.boolean(),
- performance: z.boolean(),
- error_rate: z.boolean(),
- event_count: z.boolean(),
- auto_keep: z.boolean()
- }),
- raw: z.object({
- value: z.number(),
- string: z.string()
- })
- })
- )
- })
-});
-
-export const PartitionSchema = z.object({
- uuid: z.string(),
- name: z.string(),
- usage: z.string(),
- size: z.number(),
- id: z.string().optional()
-});
-
-export const DiskSchema = z.object({
- uuid: z.string(),
- device: z.string(),
- type: z.string(),
- usage: z.string(),
- size: z.number(),
- gpt: z.boolean(),
- model: z.string(),
- serial: z.string(),
- smartData: z.union([SmartNVMESchema, SmartCtlSchema, z.null()]).optional(),
- wearOut: z.union([z.number(), z.string()]).optional(),
- partitions: z.array(PartitionSchema).optional().default([])
-});
-
-export const DiskActionSchema = z.object({
- device: z.string()
-});
-
-export type SmartAttribute = Record<
- string,
- string | number | boolean | Record
->;
-export type SmartNVME = z.infer;
-export type SmartCtl = z.infer;
-export type Disk = z.infer;
-export type Partition = z.infer;
-
-// export interface Disk {
-// UUID: string;
-// Device: string;
-// Type: string;
-// Usage: string;
-// Size: number;
-// GPT: boolean;
-// Model: string;
-// Serial: string;
-// 'S.M.A.R.T.': string;
-// Wearout: string | number | undefined;
-// Partitions: Partition[];
-// SmartData: SmartNVME | SmartCtl | null;
-// }
diff --git a/new-web/src/lib/types/info/audit.ts b/new-web/src/lib/types/info/audit.ts
deleted file mode 100644
index 8409e1b5..00000000
--- a/new-web/src/lib/types/info/audit.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { z } from 'zod/v4';
-
-export const AuditLogSchema = z.array(
- z.object({
- id: z.number(),
- userId: z.number(),
- user: z.string(),
- authType: z.string(),
- node: z.string(),
- started: z.string(),
- ended: z.string(),
- action: z.string(),
- status: z.string(),
- createdAt: z.string(),
- updatedAt: z.string()
- })
-);
-
-export type AuditLog = z.infer;
diff --git a/new-web/src/lib/types/info/basic.ts b/new-web/src/lib/types/info/basic.ts
deleted file mode 100644
index 340f4857..00000000
--- a/new-web/src/lib/types/info/basic.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { z } from 'zod/v4';
-
-export const BasicInfoSchema = z.object({
- hostname: z.string().default('Unknown'),
- os: z.string().default('Unknown'),
- uptime: z.number().default(0),
- loadAverage: z.string().default('Unknown'),
- bootMode: z.string().default('Unknown'),
- sylveVersion: z.string().default('Unknown')
-});
-
-export type BasicInfo = z.infer;
diff --git a/new-web/src/lib/types/info/cpu.ts b/new-web/src/lib/types/info/cpu.ts
deleted file mode 100644
index 5322d5b0..00000000
--- a/new-web/src/lib/types/info/cpu.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { z } from 'zod/v4';
-
-export const CPUInfoHistoricalSchema = z.array(
- z.object({
- id: z.number().default(0),
- usage: z.number().default(0),
- createdAt: z.string().default('')
- })
-);
-
-export const CPUInfoSchema = z.object({
- name: z.string().default('Unknown'),
- physicalCores: z.number().default(0),
- threadsPerCore: z.number().default(0),
- logicalCores: z.number().default(0),
- family: z.number().default(0),
- model: z.number().default(0),
- features: z.array(z.string()).default([]),
- cacheLine: z.number().default(0),
- cache: z.object({
- l1d: z.number().default(0),
- l1i: z.number().default(0),
- l2: z.number().default(0),
- l3: z.number().default(0)
- }),
- frequency: z.number().default(0),
- usage: z.number().default(0)
-});
-
-export type CPUInfo = z.infer;
-export type CPUInfoHistorical = z.infer;
diff --git a/new-web/src/lib/types/info/notes.ts b/new-web/src/lib/types/info/notes.ts
deleted file mode 100644
index 4ae14295..00000000
--- a/new-web/src/lib/types/info/notes.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { z } from 'zod/v4';
-
-export const NoteSchema = z.object({
- id: z.number().default(0),
- title: z.string().default(''),
- content: z.string().default(''),
- createdAt: z.string().default(''),
- updatedAt: z.string().default('')
-});
-
-export const NotesSchema = z.array(NoteSchema);
-
-export type Notes = z.infer;
-export type Note = z.infer;
diff --git a/new-web/src/lib/types/info/ram.ts b/new-web/src/lib/types/info/ram.ts
deleted file mode 100644
index d087c13d..00000000
--- a/new-web/src/lib/types/info/ram.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { z } from 'zod/v4';
-
-export const RAMInfoHistoricalSchema = z.array(
- z.object({
- id: z.number().default(0),
- usage: z.number().default(0),
- createdAt: z.string().default('')
- })
-);
-
-export const RAMInfoSchema = z.object({
- total: z.number().default(0),
- free: z.number().default(0),
- usedPercent: z.number().default(0)
-});
-
-export const RAMInfoResponseSchema = z.object({
- info: RAMInfoSchema
-});
-
-export type RAMInfo = z.infer;
-export type RAMInfoHistorical = z.infer;
diff --git a/new-web/src/lib/types/network/iface.ts b/new-web/src/lib/types/network/iface.ts
deleted file mode 100644
index 4daf755b..00000000
--- a/new-web/src/lib/types/network/iface.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-import { z } from 'zod/v4';
-
-export const FlagsSchema = z.object({
- raw: z.number(),
- desc: z.array(z.string()).nullable().default([])
-});
-
-export const IPv4RCSchema = z.object({
- id: z.number(),
- interfaceId: z.number(),
- protocol: z.string(),
- address: z.string().nullable().optional(),
- netmask: z.string().nullable().optional(),
- options: z.string().default(''),
- isAlias: z.boolean().default(false)
-});
-
-export const IPv6RCSchema = z.object({
- id: z.number(),
- interfaceId: z.number(),
- protocol: z.string(),
- address: z.string().nullable().optional(),
- options: z.string().default(''),
- prefixLength: z.number().nullable().optional(),
- isAlias: z.boolean().default(false)
-});
-
-export const IPv4Schema = z.object({
- ip: z.string(),
- netmask: z.string(),
- broadcast: z.string()
-});
-
-export const IPv6Schema = z.object({
- ip: z.string(),
- prefixLength: z.number(),
- scopeId: z.number(),
- autoConf: z.boolean(),
- detached: z.boolean(),
- deprecated: z.boolean(),
- lifeTimes: z.object({
- preferred: z.number(),
- valid: z.number()
- })
-});
-
-export const MediaSchema = z.object({
- type: z.string(),
- subtype: z.string(),
- options: z.array(z.string()).nullable().default([]),
- mode: z.string(),
- rawCurrent: z.number(),
- rawActive: z.number(),
- status: z.string()
-});
-
-export const ND6Schema = FlagsSchema;
-
-export const IfaceSchema = z.object({
- name: z.string(),
- ether: z.string(),
- flags: FlagsSchema,
- mtu: z.number().nullable().optional(),
- metric: z.number().nullable().optional(),
- capabilities: z.object({
- enabled: FlagsSchema,
- supported: FlagsSchema
- }),
- driver: z.string().default(''),
- model: z.string().default(''),
- description: z.string().default(''),
- ipv4: z.array(IPv4Schema).default([]).nullable().optional(),
- ipv6: z.array(IPv6Schema).default([]).nullable().optional(),
- media: MediaSchema.nullable().optional(),
- nd6: ND6Schema.nullable().optional(),
- groups: z.array(z.string()).default([]).nullable().optional()
-});
-
-export type Iface = z.infer;
diff --git a/new-web/src/lib/types/network/switch.ts b/new-web/src/lib/types/network/switch.ts
deleted file mode 100644
index 87822252..00000000
--- a/new-web/src/lib/types/network/switch.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { array, z } from 'zod';
-
-export const NetworkPortSchema = z.object({
- id: z.number(),
- name: z.string(),
- switchId: z.number()
-});
-
-export const StandardSwitchSchema = z.object({
- id: z.number(),
- name: z.string(),
- mtu: z.number(),
- vlan: z.number(),
- private: z.boolean(),
- address: z.string(),
- address6: z.string(),
- ports: array(NetworkPortSchema).optional(),
- dhcp: z.boolean().optional(),
- slaac: z.boolean(),
- disableIPv6: z.boolean()
-});
-
-export const SwitchListSchema = z.object({
- standard: array(StandardSwitchSchema).optional()
-});
-
-export type StandardSwitch = z.infer;
-export type SwitchList = z.infer;
diff --git a/new-web/src/lib/types/system/pci.ts b/new-web/src/lib/types/system/pci.ts
deleted file mode 100644
index eb7e6bc7..00000000
--- a/new-web/src/lib/types/system/pci.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { z } from 'zod/v4';
-
-export const PCIDeviceSchema = z.object({
- name: z.string(),
- unit: z.number(),
- domain: z.number(),
- bus: z.number(),
- device: z.number(),
- function: z.number(),
- class: z.number().int(),
- rev: z.number().int(),
- hdr: z.number().int(),
- vendor: z.number().int(),
- subVendor: z.number().int().optional().default(0),
- subDevice: z.number().int().optional().default(0),
- names: z.object({
- vendor: z.string().optional().default(''),
- device: z.string().optional().default(''),
- class: z.string().optional().default(''),
- subclass: z.string().optional().default('')
- })
-});
-
-export const PPTDeviceSchema = z.object({
- id: z.number().int(),
- deviceID: z.string()
-});
-
-export type PCIDevice = z.infer;
-export type PPTDevice = z.infer;
diff --git a/new-web/src/lib/types/utilities/downloader.ts b/new-web/src/lib/types/utilities/downloader.ts
deleted file mode 100644
index 0ef3de81..00000000
--- a/new-web/src/lib/types/utilities/downloader.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { z } from 'zod/v4';
-
-export const DownloadedFileSchema = z.object({
- id: z.number(),
- downloadId: z.number(),
- name: z.string(),
- size: z.number()
-});
-
-export const DownloadSchema = z.object({
- id: z.number(),
- uuid: z.string(),
- path: z.string(),
- name: z.string(),
- type: z.string(),
- url: z.string(),
- progress: z.number(),
- size: z.number(),
- files: z.array(DownloadedFileSchema),
- createdAt: z.string(),
- updatedAt: z.string()
-});
-
-export type Download = z.infer;
-export type DownloadedFile = z.infer;
diff --git a/new-web/src/lib/types/vm/vm.ts b/new-web/src/lib/types/vm/vm.ts
deleted file mode 100644
index 3ccf382d..00000000
--- a/new-web/src/lib/types/vm/vm.ts
+++ /dev/null
@@ -1,102 +0,0 @@
-import { z } from 'zod/v4';
-
-export interface CreateData {
- name: string;
- id: number;
- description: string;
- storage: {
- type: string;
- guid: string;
- size: number;
- emulation: string;
- iso: string;
- };
- network: {
- switch: number;
- mac: string;
- emulation: string;
- };
- hardware: {
- sockets: number;
- cores: number;
- threads: number;
- memory: number;
- passthroughIds: number[];
- pinnedCPUs: number[];
- };
- advanced: {
- vncPort: number;
- vncPassword: string;
- vncWait: boolean;
- vncResolution: string;
- startAtBoot: boolean;
- bootOrder: number;
- };
-}
-
-export const VMStorageSchema = z.object({
- id: z.number().int(),
- type: z.string(),
- dataset: z.string(),
- size: z.number().int(),
- emulation: z.string(),
- detached: z.boolean().optional(),
- vmId: z.number().int().optional()
-});
-
-export const VMNetworkSchema = z.object({
- id: z.number().int(),
- mac: z.string(),
- switchId: z.number().int(),
- emulation: z.string(),
- vmId: z.number().int().optional()
-});
-
-export const VMSchema = z.object({
- id: z.number().int(),
- name: z.string(),
- description: z.string(),
- vmId: z.number().int(),
- cpuSockets: z.number().int(),
- cpuCores: z.number().int(),
- cpuThreads: z.number().int(),
- ram: z.number().int(),
- vncPort: z.number().int(),
- vncPassword: z.string(),
- vncResolution: z.string(),
- vncWait: z.boolean(),
- startAtBoot: z.boolean(),
- startOrder: z.number().int(),
-
- storages: z.array(VMStorageSchema),
- networks: z.array(VMNetworkSchema),
- pciDevices: z.union([z.array(z.number().int()), z.null()]),
- cpuPinning: z.union([z.array(z.number().int()), z.null()]),
-
- createdAt: z.string(),
- updatedAt: z.string(),
-
- startedAt: z.string().nullable(),
- stoppedAt: z.string().nullable()
-});
-
-export const VMStatSchema = z.object({
- vmId: z.number().int(),
- cpuUsage: z.number(),
- memoryUsage: z.number(),
- memoryUsed: z.number(),
- createdAt: z.string()
-});
-
-export const VMDomainSchema = z.object({
- id: z.number().int(),
- uuid: z.string(),
- name: z.string(),
- status: z.string()
-});
-
-export type VM = z.infer;
-export type VMStorage = z.infer;
-export type VMNetwork = z.infer;
-export type VMDomain = z.infer;
-export type VMStat = z.infer;
diff --git a/new-web/src/lib/types/zfs/dataset.ts b/new-web/src/lib/types/zfs/dataset.ts
deleted file mode 100644
index 23b32a44..00000000
--- a/new-web/src/lib/types/zfs/dataset.ts
+++ /dev/null
@@ -1,116 +0,0 @@
-import { z } from 'zod/v4';
-import { ZpoolSchema } from './pool';
-
-export const DatasetSchema = z.object({
- name: z.string(),
- origin: z.string(),
- used: z.number(),
- avail: z.number(),
- mountpoint: z.string(),
- compression: z.string(),
- type: z.string(),
- written: z.number(),
- volsize: z.number(),
- volblocksize: z.number(),
- logicalused: z.number(),
- usedbydataset: z.number(),
- quota: z.number(),
- referenced: z.number(),
- properties: z
- .object({
- aclinherit: z.string(),
- aclmode: z.string(),
- acltype: z.string(),
- available: z.coerce.number(),
- canmount: z.string(),
- casesensitivity: z.string(),
- checksum: z.string(),
- compression: z.string(),
- compressratio: z.coerce.number(),
- context: z.string(),
- copies: z.coerce.number(),
- createtxg: z.coerce.number(),
- creation: z.coerce.number(),
- dedup: z.string(),
- defcontext: z.string(),
- devices: z.string(),
- dnodesize: z.string(),
- encryption: z.string(),
- exec: z.string(),
- filesystem_count: z.union([z.number(), z.literal('none')]),
- filesystem_limit: z.union([z.number(), z.literal('none')]),
- fscontext: z.string(),
- guid: z.string(),
- jailed: z.string(),
- keyformat: z.string(),
- keylocation: z.string(),
- logbias: z.string(),
- logicalreferenced: z.coerce.number(),
- logicalused: z.coerce.number(),
- mlslabel: z.string(),
- mounted: z.string(),
- mountpoint: z.string(),
- nbmand: z.string(),
- normalization: z.string(),
- objsetid: z.coerce.number(),
- overlay: z.string(),
- pbkdf2iters: z.coerce.number(),
- prefetch: z.string(),
- primarycache: z.string(),
- quota: z.coerce.number(),
- readonly: z.string(),
- recordsize: z.coerce.number(),
- refcompressratio: z.coerce.number(),
- referenced: z.coerce.number(),
- refquota: z.coerce.number(),
- refreservation: z.coerce.number(),
- relatime: z.string(),
- reservation: z.coerce.number(),
- rootcontext: z.string(),
- secondarycache: z.string(),
- setuid: z.string(),
- sharenfs: z.string(),
- sharesmb: z.string(),
- snapdev: z.string(),
- snapdir: z.string(),
- snapshot_count: z.union([z.number(), z.literal('none')]),
- snapshot_limit: z.union([z.number(), z.literal('none')]),
- special_small_blocks: z.coerce.number(),
- sync: z.string(),
- type: z.string(),
- used: z.coerce.number(),
- usedbychildren: z.coerce.number(),
- usedbydataset: z.coerce.number(),
- usedbyrefreservation: z.coerce.number(),
- usedbysnapshots: z.coerce.number(),
- utf8only: z.string(),
- version: z.coerce.number(),
- volmode: z.string(),
- vscan: z.string(),
- written: z.coerce.number(),
- xattr: z.string()
- })
- .partial()
-});
-
-export const PeriodicSnapshotSchema = z.object({
- id: z.number(),
- guid: z.string(),
- prefix: z.string(),
- recursive: z.boolean(),
- interval: z.number(),
- createdAt: z.coerce.date().optional(),
- lastRunAt: z.coerce.date()
-});
-
-export const GroupedByPoolSchema = z.object({
- name: z.string(),
- pool: ZpoolSchema,
- filesystems: z.array(DatasetSchema).default([]),
- snapshots: z.array(DatasetSchema).default([]),
- volumes: z.array(DatasetSchema).default([])
-});
-
-export type Dataset = z.infer;
-export type GroupedByPool = z.infer;
-export type PeriodicSnapshot = z.infer;
diff --git a/new-web/src/lib/types/zfs/pool.ts b/new-web/src/lib/types/zfs/pool.ts
deleted file mode 100644
index f039f5ad..00000000
--- a/new-web/src/lib/types/zfs/pool.ts
+++ /dev/null
@@ -1,154 +0,0 @@
-import { z } from 'zod/v4';
-
-export const IODelaySchema = z.object({
- delay: z.number().default(0)
-});
-
-export const IODelayHistoricalSchema = z.array(
- z.object({
- id: z.number().default(0),
- delay: z.number().default(0),
- createdAt: z.string().default('')
- })
-);
-
-export const RWSchema = z.object({
- read: z.number(),
- write: z.number()
-});
-
-export const VdevDeviceSchema = z.object({
- name: z.string(),
- size: z.number(),
- health: z.string()
-});
-
-export const ReplacingVdevDeviceSchema = z.object({
- name: z.string(),
- health: z.string(),
- oldDrive: VdevDeviceSchema,
- newDrive: VdevDeviceSchema
-});
-
-export const VdevSchema = z.object({
- name: z.string(),
- alloc: z.number(),
- free: z.number(),
- size: z.number(),
- health: z.string(),
- operations: RWSchema,
- bandwidth: RWSchema,
- devices: z.array(VdevDeviceSchema),
- replacingDevices: z.array(ReplacingVdevDeviceSchema).optional()
-});
-
-export const ZpoolDeviceSchema: z.ZodType = z.lazy(() =>
- z.object({
- name: z.string(),
- state: z.string(),
- read: z.number(),
- write: z.number(),
- cksum: z.number(),
- note: z.string(),
- children: z.array(ZpoolDeviceSchema).optional().default([])
- })
-);
-
-export const ZpoolStatusSchema = z.object({
- name: z.string(),
- state: z.string(),
- status: z.string(),
- action: z.string(),
- scan: z.string(),
- devices: z.array(ZpoolDeviceSchema).optional().default([]),
- errors: z.string()
-});
-
-export const ZpoolSpareSchema = z.object({
- name: z.string(),
- size: z.number(),
- health: z.string()
-});
-
-export const ZpoolPropertySchema = z.object({
- property: z.string(),
- value: z.string(),
- source: z.string()
-});
-
-export const ZpoolSchema = z.object({
- id: z.string(),
- name: z.string(),
- guid: z.string(),
- health: z.string(),
- allocated: z.number(),
- size: z.number(),
- free: z.number(),
- readOnly: z.boolean(),
- freeing: z.number(),
- leaked: z.number(),
- dedupRatio: z.number(),
- vdevs: z.array(VdevSchema),
- properties: z.array(ZpoolPropertySchema).optional().default([]),
- status: ZpoolStatusSchema,
- spares: z.array(ZpoolSpareSchema).optional().default([])
-});
-
-export const CreateVdevSchema = z.object({
- name: z.string(),
- devices: z.array(z.string())
-});
-
-export const ZpoolRaidTypeSchema = z.union([
- z.enum(['mirror', 'raidz', 'raidz2', 'raidz3', 'stripe']),
- z.undefined()
-]);
-
-export const CreateZpoolSchema = z.object({
- name: z
- .string()
- .min(1, 'Name must be at least 1 character long')
- .max(24, 'Name must be at most 24 characters long')
- .regex(/^[a-zA-Z0-9]+$/, 'Name must be alphanumeric'),
- raidType: ZpoolRaidTypeSchema,
- vdevs: z.array(CreateVdevSchema),
- properties: z.record(z.string(), z.string()).optional(),
- createForce: z.boolean().default(false),
- spares: z.array(z.string()).optional()
-});
-
-export const ReplaceDeviceSchema = z.object({
- guid: z.string(),
- old: z.string(),
- new: z.string()
-});
-
-export const PoolStatPointSchema = z.object({
- allocated: z.number(),
- free: z.number(),
- size: z.number(),
- dedupRatio: z.number(),
- time: z.number()
-});
-
-export const PoolStatPointsSchema = z.record(
- z.string(),
- z
- .array(PoolStatPointSchema)
- .refine((obj) => Object.keys(obj).length > 0, { message: 'No Data Found' })
-);
-
-export const PoolStatPointsResponseSchema = z.object({
- poolStatPoint: PoolStatPointsSchema,
- intervalMap: z.array(
- z.object({ value: z.number().transform((v) => v.toString()), label: z.string() })
- )
-});
-
-export type IODelay = z.infer;
-export type IODelayHistorical = z.infer;
-export type Zpool = z.infer;
-export type ReplaceDevice = z.infer;
-export type CreateZpool = z.infer;
-export type ZpoolRaidType = z.infer;
-export type PoolStatPointsResponse = z.infer;
diff --git a/new-web/src/lib/utils.ts b/new-web/src/lib/utils.ts
deleted file mode 100644
index e98cb353..00000000
--- a/new-web/src/lib/utils.ts
+++ /dev/null
@@ -1,69 +0,0 @@
-import { clsx, type ClassValue } from 'clsx';
-import { cubicOut } from 'svelte/easing';
-import type { TransitionConfig } from 'svelte/transition';
-import { twMerge } from 'tailwind-merge';
-
-export const SEVEN_DAYS = 7 * 24 * 60 * 60 * 1000;
-
-export function cn(...inputs: ClassValue[]) {
- return twMerge(clsx(inputs));
-}
-
-type FlyAndScaleParams = {
- y?: number;
- x?: number;
- start?: number;
- duration?: number;
-};
-
-export const flyAndScale = (
- node: Element,
- params: FlyAndScaleParams = { y: -8, x: 0, start: 0.95, duration: 150 }
-): TransitionConfig => {
- const style = getComputedStyle(node);
- const transform = style.transform === 'none' ? '' : style.transform;
-
- const scaleConversion = (valueA: number, scaleA: [number, number], scaleB: [number, number]) => {
- const [minA, maxA] = scaleA;
- const [minB, maxB] = scaleB;
-
- const percentage = (valueA - minA) / (maxA - minA);
- const valueB = percentage * (maxB - minB) + minB;
-
- return valueB;
- };
-
- const styleToString = (style: Record): string => {
- return Object.keys(style).reduce((str, key) => {
- if (style[key] === undefined) return str;
- return str + `${key}:${style[key]};`;
- }, '');
- };
-
- return {
- duration: params.duration ?? 200,
- delay: 0,
- css: (t) => {
- const y = scaleConversion(t, [0, 1], [params.y ?? 5, 0]);
- const x = scaleConversion(t, [0, 1], [params.x ?? 0, 0]);
- const scale = scaleConversion(t, [0, 1], [params.start ?? 0.95, 1]);
-
- return styleToString({
- transform: `${transform} translate3d(${x}px, ${y}px, 0) scale(${scale})`,
- opacity: t
- });
- },
- easing: cubicOut
- };
-};
-
-export function sleep(ms: number) {
- return new Promise((resolve) => setTimeout(resolve, ms));
-}
-
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
-export type WithoutChild = T extends { child?: any } ? Omit : T;
-// eslint-disable-next-line @typescript-eslint/no-explicit-any
-export type WithoutChildren = T extends { children?: any } ? Omit : T;
-export type WithoutChildrenOrChild = WithoutChildren>;
-export type WithElementRef = T & { ref?: U | null };
diff --git a/new-web/src/lib/utils/arr.ts b/new-web/src/lib/utils/arr.ts
deleted file mode 100644
index 1eb7eb62..00000000
--- a/new-web/src/lib/utils/arr.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import { deepDiff } from './obj';
-
-export function createEmptyArrayOfArrays(length: number): Array> {
- return Array.from({ length }, () => []);
-}
-
-export function deepDiffArr(arr1: any[], arr2: any[]): any[] {
- const changes = [];
-
- for (let i = 0; i < Math.max(arr1.length, arr2.length); i++) {
- const val1 = arr1[i];
- const val2 = arr2[i];
-
- if (typeof val1 === 'object' && typeof val2 === 'object' && val1 && val2) {
- changes.push(...deepDiff(val1, val2, `${i}`));
- } else if (val1 !== val2) {
- changes.push({ path: `${i}`, from: val1, to: val2 });
- }
- }
-
- return changes;
-}
-
-export function findValueInArrayByKey>(
- value: unknown,
- array: T[],
- key: keyof T
-): boolean {
- if (typeof value === 'object' && value !== null) {
- return array.some((obj) => obj[key] === value);
- }
- return array.some((obj) => obj[key] === value);
-}
-
-export function deepSearchKey(obj: any, targetKey: string): any[] {
- const results: any[] = [];
-
- function search(current: any): void {
- if (Array.isArray(current)) {
- for (const item of current) {
- search(item);
- }
- } else if (typeof current === 'object' && current !== null) {
- for (const key in current) {
- if (key === targetKey) {
- results.push(current[key]);
- }
-
- search(current[key]);
- }
- }
- }
-
- search(obj);
- return results;
-}
diff --git a/new-web/src/lib/utils/chart.ts b/new-web/src/lib/utils/chart.ts
deleted file mode 100644
index ff3b96c7..00000000
--- a/new-web/src/lib/utils/chart.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-export function sampleByInterval(
- data: Array<{ date: Date; value: number }>,
- intervalMin: number
-): Array<{ date: Date; value: number }> {
- if (!data.length || intervalMin <= 0) return [];
-
- const ms = intervalMin * 60 * 1000;
- const sorted = data.slice().sort((a, b) => a.date.getTime() - b.date.getTime());
- const buckets = new Map();
-
- for (const pt of sorted) {
- const bucketKey = Math.floor(pt.date.getTime() / ms) * ms;
- if (!buckets.has(bucketKey)) {
- buckets.set(bucketKey, pt);
- }
- }
-
- return Array.from(buckets.values()).sort((a, b) => a.date - b.date);
-}
diff --git a/new-web/src/lib/utils/disk.ts b/new-web/src/lib/utils/disk.ts
deleted file mode 100644
index 38f9a3ea..00000000
--- a/new-web/src/lib/utils/disk.ts
+++ /dev/null
@@ -1,308 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import type { Column, Row } from '$lib/types/components/tree-table';
-import type { Disk, Partition, SmartAttribute, SmartCtl, SmartNVME } from '$lib/types/disk/disk';
-import type { Zpool } from '$lib/types/zfs/pool';
-import humanFormat from 'human-format';
-import type { CellComponent } from 'tabulator-tables';
-import { generateNumberFromString } from './numbers';
-import { renderWithIcon } from './table';
-
-export function parseSMART(disk: Disk): SmartAttribute | SmartAttribute[] {
- if (disk.type === 'NVMe') {
- return {
- 'Available Spare': (disk.smartData as SmartNVME).availableSpare,
- 'Available Spare Threshold': (disk.smartData as SmartNVME).availableSpareThreshold,
- 'Controller Busy Time': (disk.smartData as SmartNVME).controllerBusyTime,
- 'Critical Warning': (disk.smartData as SmartNVME).criticalWarning,
- 'Critical Warning State': {
- 'Available Spare': (disk.smartData as SmartNVME).criticalWarningState.availableSpare,
- 'Device Reliability': (disk.smartData as SmartNVME).criticalWarningState.deviceReliability,
- 'Read Only': (disk.smartData as SmartNVME).criticalWarningState.readOnly,
- Temperature: (disk.smartData as SmartNVME).criticalWarningState.temperature,
- 'Volatile Memory Backup': (disk.smartData as SmartNVME).criticalWarningState
- .volatileMemoryBackup
- },
- 'Data Units Read': (disk.smartData as SmartNVME).dataUnitsRead,
- 'Data Units Written': (disk.smartData as SmartNVME).dataUnitsWritten,
- 'Error Info Log Entries': (disk.smartData as SmartNVME).errorInfoLogEntries,
- 'Host Read Commands': (disk.smartData as SmartNVME).hostReadCommands,
- 'Host Write Commands': (disk.smartData as SmartNVME).hostWriteCommands,
- 'Media Errors': (disk.smartData as SmartNVME).mediaErrors,
- 'Percentage Used': (disk.smartData as SmartNVME).percentageUsed,
- 'Power Cycles': (disk.smartData as SmartNVME).powerCycles,
- 'Power On Hours': (disk.smartData as SmartNVME).powerOnHours,
- Temperature: (disk.smartData as SmartNVME).temperature,
- 'Temperature 1 Transition Count': (disk.smartData as SmartNVME).temperature1TransitionCnt,
- 'Temperature 2 Transition Count': (disk.smartData as SmartNVME).temperature2TransitionCnt,
- 'Total Time For Temperature 1': (disk.smartData as SmartNVME).totalTimeForTemperature1,
- 'Total Time For Temperature 2': (disk.smartData as SmartNVME).totalTimeForTemperature2,
- 'Unsafe Shutdowns': (disk.smartData as SmartNVME).unsafeShutdowns,
- 'Warning Composite Temp Time': (disk.smartData as SmartNVME).warningCompositeTempTime
- };
- } else if (disk.type === 'HDD' || disk.type === 'SSD') {
- const data = disk.smartData as SmartCtl;
- const attributes: SmartAttribute[] = [];
-
- if (data?.ata_smart_attributes?.table?.length) {
- for (const element of data.ata_smart_attributes.table) {
- attributes.push({
- ['ID']: element.id,
- ['Name']: element.name,
- ['Value']: element.value,
- ['Worst']: element.worst,
- ['Threshold']: element.thresh,
- ['Flags']: element.flags.string,
- ['Failing']: element.when_failed || '-'
- });
- }
- }
-
- if (attributes.length > 0) {
- return attributes;
- }
- }
-
- return {};
-}
-
-export function smartStatus(disk: Disk): string {
- if (disk.smartData) {
- if (disk.smartData.hasOwnProperty('smart_status')) {
- if ((disk.smartData as SmartCtl).smart_status.passed) {
- return 'Passed';
- }
- return 'Failed';
- }
-
- if (disk.smartData.hasOwnProperty('criticalWarning')) {
- if ((disk.smartData as SmartNVME).criticalWarning !== '0x00') {
- return 'Failed';
- }
-
- return 'Passed';
- }
- }
-
- return '-';
-}
-
-export function diskSpaceAvailable(disk: Disk, required: number): boolean {
- if (disk.usage === 'Partitions') {
- const total = disk.size;
- const used = disk.partitions.reduce((acc, cur) => acc + cur.size, 0);
- return total - used >= required;
- }
-
- return disk.size >= required;
-}
-
-export function isPartitionInDisk(disks: Disk[], partition: Partition): Disk | null {
- for (const disk of disks) {
- if (disk.usage === 'Partitions') {
- for (const p of disk.partitions) {
- const raw = p.name.replace(/p\d+$/, '');
- if (disk.device === raw) {
- return disk;
- }
- }
- }
- }
-
- return null;
-}
-
-export function zpoolUseableDisks(disks: Disk[], pools: Zpool[]): Disk[] {
- const useable: Disk[] = [];
- for (const disk of disks) {
- if (disk.device === 'da0' || disk.device === 'cd0') {
- continue;
- }
-
- if (disk.usage === 'Partitions') {
- continue;
- }
-
- if (disk.usage === 'Unused' && disk.gpt === false) {
- useable.push(disk);
- }
- }
-
- return useable;
-}
-
-export function zpoolUseablePartitions(disks: Disk[], pools: Zpool[]): Partition[] {
- const useablePartitions: Partition[] = [];
- const usedPartitionNames = new Set();
- for (const pool of pools) {
- for (const vdev of pool.vdevs) {
- for (const device of vdev.devices) {
- if (device.name.startsWith('/dev/')) {
- usedPartitionNames.add(device.name.split('/').pop()!);
- }
- }
- }
- }
-
- for (const disk of disks) {
- if (disk.usage === 'Partitions') {
- const hasEFI = disk.partitions.some((partition) => partition.usage === 'EFI');
- if (hasEFI) {
- continue;
- }
-
- for (const partition of disk.partitions) {
- if (!usedPartitionNames.has(partition.name)) {
- useablePartitions.push(partition);
- }
- }
- }
- }
-
- return useablePartitions;
-}
-
-export function getDiskSize(disk: Disk): string {
- if (disk.usage === 'Partitions') {
- return disk.partitions.reduce((acc, cur) => acc + cur.size, 0).toString();
- }
-
- return disk.size.toString();
-}
-
-export function stripDev(disk: string): string {
- return disk.replace(/^\/dev\//, '');
-}
-
-export function generateTableData(disks: Disk[]): { rows: Row[]; columns: Column[] } {
- const rows: Row[] = [];
- const columns: Column[] = [
- {
- field: 'device',
- title: 'Device',
- formatter: (cell: CellComponent) => {
- const value = cell.getValue();
- const row = cell.getRow();
- const disk = disks.find((d) => d.device === value);
-
- if (disk) {
- if (disk.type === 'HDD') {
- return renderWithIcon('mdi:harddisk', value);
- }
-
- if (disk.type === 'NVMe') {
- return renderWithIcon('bi:nvme', value, 'rotate-90');
- }
-
- if (disk.type === 'SSD') {
- return renderWithIcon('icon-park-outline:ssd', value);
- }
- }
-
- if (value.match(/p\d+$/)) {
- return renderWithIcon('ant-design:partition-outlined', value);
- }
-
- return value;
- }
- },
- {
- field: 'type',
- title: 'Type'
- },
- {
- field: 'usage',
- title: 'Usage'
- },
- {
- field: 'size',
- title: 'Size',
- formatter: (cell: CellComponent) => {
- return humanFormat(cell.getValue());
- }
- },
- {
- field: 'gpt',
- title: 'GPT'
- },
- {
- field: 'model',
- title: 'Model'
- },
- {
- field: 'serial',
- title: 'Serial'
- },
- {
- field: 'smartStatus',
- title: 'S.M.A.R.T.',
- visible: false
- },
- {
- field: 'wearOut',
- title: 'Wearout',
- formatter: (cell: CellComponent) => {
- const value = cell.getValue();
- if (!isNaN(value)) {
- return `${value} %`;
- }
-
- return value;
- }
- }
- ];
-
- for (const disk of disks) {
- if (disk.size <= 0) continue;
- const row: Row = {
- id: generateNumberFromString(disk.uuid),
- device: disk.device,
- type: disk.type,
- usage: disk.usage,
- size: disk.size,
- gpt: disk.gpt ? 'Yes' : 'No',
- model: disk.model,
- serial: disk.serial,
- smartStatus: smartStatus(disk),
- wearOut: disk.wearOut
- };
-
- if (disk.partitions && disk.partitions.length > 0) {
- row.children = [];
-
- for (const partition of disk.partitions) {
- const partitionRow: Row = {
- id: generateNumberFromString(partition.uuid),
- device: partition.name,
- type: partition.usage,
- usage: partition.usage,
- size: partition.size,
- gpt: disk.gpt ? 'Yes' : 'No',
- model: '-',
- serial: '-',
- smartData: '-',
- wearOut: '-'
- };
-
- row.children.push(partitionRow);
- }
- } else {
- row.children = [];
- }
-
- rows.push(row);
- }
-
- return {
- rows: rows,
- columns: columns
- };
-}
diff --git a/new-web/src/lib/utils/dnd.ts b/new-web/src/lib/utils/dnd.ts
deleted file mode 100644
index 3cebb428..00000000
--- a/new-web/src/lib/utils/dnd.ts
+++ /dev/null
@@ -1,128 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-export function draggable(node: HTMLElement, data: string) {
- let state = data;
-
- node.draggable = true;
- node.style.cursor = 'grab';
-
- function handle_dragstart(e: DragEvent) {
- if (!e.dataTransfer) return;
- //const dataToTransfer = typeof state === 'string' ? state : state.toString();
- e.dataTransfer.setData('application/disk', state);
- e.dataTransfer.setData('text/plain', state);
- // Add this to make the drag image transparent if desired
- // setTimeout(() => {
- // node.style.opacity = '0.4';
- // }, 0);
- }
-
- function handle_dragend(e: DragEvent) {
- // Reset any visual changes
- // node.style.opacity = '1';
- }
-
- node.addEventListener('dragstart', handle_dragstart);
- node.addEventListener('dragend', handle_dragend);
-
- return {
- update(data: string) {
- state = data;
- },
-
- destroy() {
- node.removeEventListener('dragstart', handle_dragstart);
- node.removeEventListener('dragend', handle_dragend);
- }
- };
-}
-
-export function dropzone(
- node: HTMLElement,
- options: {
- dropEffect?: 'move' | 'none' | 'copy' | 'link';
- dragover_class?: string;
- on_dropzone?: (data: string, e: DragEvent) => void;
- }
-) {
- let state = {
- dropEffect: 'move' as 'move' | 'none' | 'copy' | 'link',
- dragover_class: 'droppable',
- ...options
- };
-
- let dragCounter = 0;
-
- function handle_dragenter(e: DragEvent) {
- e.preventDefault();
- dragCounter++;
-
- if (dragCounter === 1) {
- node.classList.add(state.dragover_class);
- }
- }
-
- function handle_dragleave(e: DragEvent) {
- dragCounter--;
-
- if (dragCounter === 0) {
- // Only remove class when fully leaving
- node.classList.remove(state.dragover_class);
- }
- }
-
- function handle_dragover(e: DragEvent) {
- e.preventDefault();
- if (!e.dataTransfer) return;
- e.dataTransfer.dropEffect = state.dropEffect;
- }
-
- function handle_drop(e: DragEvent) {
- e.preventDefault();
- e.stopPropagation();
-
- dragCounter = 0;
- node.classList.remove(state.dragover_class);
-
- if (!e.dataTransfer) return;
- const data = e.dataTransfer.getData('text/plain');
-
- if (typeof state.on_dropzone === 'function') {
- state.on_dropzone(data, e);
- }
- }
-
- node.addEventListener('dragenter', handle_dragenter);
- node.addEventListener('dragleave', handle_dragleave);
- node.addEventListener('dragover', handle_dragover);
- node.addEventListener('drop', handle_drop);
-
- return {
- update(options: {
- dropEffect?: 'move' | 'none' | 'copy' | 'link';
- dragover_class?: string;
- on_dropzone?: (data: string, e: DragEvent) => void;
- }) {
- state = {
- dropEffect: 'move',
- dragover_class: 'droppable',
- ...options
- };
- },
-
- destroy() {
- node.removeEventListener('dragenter', handle_dragenter);
- node.removeEventListener('dragleave', handle_dragleave);
- node.removeEventListener('dragover', handle_dragover);
- node.removeEventListener('drop', handle_drop);
- }
- };
-}
diff --git a/new-web/src/lib/utils/http.ts b/new-web/src/lib/utils/http.ts
deleted file mode 100644
index 6c5f8729..00000000
--- a/new-web/src/lib/utils/http.ts
+++ /dev/null
@@ -1,141 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import { api } from '$lib/api/common';
-import { APIResponseSchema, type APIResponse } from '$lib/types/common';
-import type { QueryFunctionContext } from '@sveltestack/svelte-query';
-import adze from 'adze';
-import { z } from 'zod/v4';
-
-export async function apiRequest(
- endpoint: string,
- schema: T,
- method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH',
- body?: unknown
-): Promise> {
- try {
- const config = {
- method,
- url: endpoint,
- ...(body ? { data: body } : {})
- };
-
- const response = await api.request({ ...config, validateStatus: () => true });
- const apiResponse = APIResponseSchema.safeParse(response.data);
-
- /* Couldn't parse response data into APIResponse so we'll just return the data? */
- if (!apiResponse.success) {
- return apiResponse.data;
- }
-
- /* Caller asked for a raw response */
- if (schema._def.description === 'APIResponseSchema') {
- return apiResponse.data as z.infer;
- }
-
- if (apiResponse.data.data) {
- const parsedResult = schema.safeParse(apiResponse.data.data);
- if (parsedResult.success) {
- return parsedResult.data;
- } else {
- adze.withEmoji.warn('Zod Validation Error', parsedResult.error);
- return getDefaultValue(schema, apiResponse.data);
- }
- }
-
- return getDefaultValue(schema, apiResponse.data);
- } catch (error) {
- adze.withEmoji.error('API Request Error', error);
- return getDefaultValue(schema, { status: 'error' });
- }
-}
-
-function getDefaultValue(schema: T, response: APIResponse): z.infer {
- if (schema instanceof z.ZodArray) {
- return [] as z.infer;
- }
-
- if (schema instanceof z.ZodObject) {
- return response as z.infer;
- }
-
- return undefined as z.infer;
-}
-
-type CacheEntry = {
- timestamp: number;
- data: T;
-};
-
-export async function cachedFetch(
- key: string,
- fetchFunction: (queryObj?: QueryFunctionContext) => Promise,
- duration: number
-): Promise {
- const now = Date.now();
- const storedEntry = localStorage.getItem(key);
-
- if (storedEntry) {
- try {
- const entry: CacheEntry = JSON.parse(storedEntry);
- if (now - entry.timestamp < duration) {
- return entry.data;
- }
- } catch (error) {
- console.error(`Failed to parse cached data for key "${key}"`, error);
- }
- }
-
- const data = await fetchFunction();
- const entry: CacheEntry = { timestamp: now, data };
- localStorage.setItem(key, JSON.stringify(entry));
- return data;
-}
-
-export function getCache(key: string): T | null {
- const storedEntry = localStorage.getItem(key);
- if (storedEntry) {
- try {
- const entry: CacheEntry = JSON.parse(storedEntry);
- return entry.data;
- } catch (error) {
- console.error(`Failed to parse cached data for key "${key}"`, error);
- }
- }
- return null;
-}
-
-export async function updateCache(key: string, obj: T): Promise {
- const now = Date.now();
- const storedEntry = localStorage.getItem(key);
-
- if (storedEntry) {
- try {
- const entry: CacheEntry = JSON.parse(storedEntry);
- entry.data = obj;
- entry.timestamp = now;
- localStorage.setItem(key, JSON.stringify(entry));
- } catch (error) {
- console.error(`Failed to parse cached data for key "${key}"`, error);
- }
- }
-}
-
-export function isAPIResponse(obj: any): obj is APIResponse {
- return (
- obj &&
- typeof obj.status === 'string' &&
- (typeof obj.message === 'string' || typeof obj.error === 'string')
- );
-}
-
-export function handleAPIError(result: APIResponse): void {
- adze.withEmoji.error('API Error', result);
-}
diff --git a/new-web/src/lib/utils/i18n.ts b/new-web/src/lib/utils/i18n.ts
deleted file mode 100644
index f497ea30..00000000
--- a/new-web/src/lib/utils/i18n.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-// import en from '$lib/locale/en.json';
-// import mal from '$lib/locale/mal.json';
-
-// addMessages('en', en);
-// addMessages('mal', mal);
-
-let savedLang: string = 'en';
-
-if (typeof window !== 'undefined') {
- const stored = window.localStorage.getItem('language');
- try {
- const parsed = JSON.parse(stored || '');
- savedLang = parsed.value;
- } catch (e) {
- savedLang = 'en';
- }
-}
diff --git a/new-web/src/lib/utils/icons.ts b/new-web/src/lib/utils/icons.ts
deleted file mode 100644
index 88b71701..00000000
--- a/new-web/src/lib/utils/icons.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import { getIcon, loadIcon } from '@iconify/svelte';
-
-export const iconCache: Record = {};
-const icons = [
- 'carbon:ibm-cloud-vpc-block-storage-snapshots',
- 'material-symbols:files',
- 'carbon:volume-block-storage',
- 'bi:hdd-stack-fill',
- 'mdi:harddisk',
- 'bi:nvme',
- 'icon-park-outline:ssd',
- 'ant-design:partition-outlined',
- 'mdi:magnet',
- 'mdi:download',
- 'mdi:internet',
- 'mdi:file',
- 'mingcute:file-fill',
- 'line-md:downloading-loop',
- 'lets-icons:check-fill',
- 'material-symbols-light:private-connectivity-outline',
- 'material-symbols:public',
- 'clarity:network-switch-line',
- 'ic:baseline-loop',
- 'mdi:ethernet',
- 'eos-icons:three-dots-loading',
- 'wpf:connected',
- 'tdesign:cd-filled',
- 'clarity:hard-disk-solid',
- 'file-icons:openzfs',
- 'carbon:volume-block-storage'
-];
-
-export async function preloadIcons() {
- for (const icon of icons) {
- await loadIcon(icon);
- const i = getIcon(icon);
- if (i) {
- const { body, width, height, left, top } = i;
- const viewBox = `${left} ${top} ${width} ${height}`;
- iconCache[icon] = `
-
- ${body}
-
- `.trim();
- }
- }
-}
diff --git a/new-web/src/lib/utils/info/notes.ts b/new-web/src/lib/utils/info/notes.ts
deleted file mode 100644
index 1e5f7cdf..00000000
--- a/new-web/src/lib/utils/info/notes.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import type { Column, Row } from '$lib/types/components/tree-table';
-import type { Note } from '$lib/types/info/notes';
-
-export function generateTableData(
- columns: Column[],
- notes: Note[]
-): { rows: Row[]; columns: Column[] } {
- const rows: Row[] = [];
-
- for (const note of notes) {
- const row: Row = {
- id: note.id,
- name: note.title,
- createdAt: note.createdAt,
- updatedAt: note.updatedAt
- };
-
- rows.push(row);
- }
-
- return {
- rows: rows,
- columns: columns
- };
-}
-
-export function markdownToTailwindHTML(markdown: string): string {
- let html = markdown
- // Headings
- .replace(/^### (.*$)/gim, '$1 ')
- .replace(/^## (.*$)/gim, '$1 ')
- .replace(/^# (.*$)/gim, '$1 ')
-
- // Bold
- .replace(/\*\*(.*?)\*\*/gim, '$1 ')
-
- // Italic
- .replace(/\*(.*?)\*/gim, '$1 ')
-
- // Links
- .replace(
- /\[([^\]]+)]\(([^)]+)\)/gim,
- '$1 '
- )
-
- // Paragraphs
- .replace(
- /^\s*(?!<(h[1-3]|ul|ol|li|p|blockquote|pre|code|img|a|strong|em)).+$/gim,
- '$&
'
- )
-
- // Line breaks
- .replace(/\n/g, '');
-
- return html.trim();
-}
diff --git a/new-web/src/lib/utils/input.ts b/new-web/src/lib/utils/input.ts
deleted file mode 100644
index 66f5cda5..00000000
--- a/new-web/src/lib/utils/input.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-export function generateComboboxOptions(values: string[], additional?: string[]) {
- const combined = [...values, ...(additional ?? [])];
- return combined.map((option) => ({
- label: option,
- value: option
- }));
-}
diff --git a/new-web/src/lib/utils/keyboard-shortcuts.ts b/new-web/src/lib/utils/keyboard-shortcuts.ts
deleted file mode 100644
index cfc7b3cb..00000000
--- a/new-web/src/lib/utils/keyboard-shortcuts.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import { logOut } from '$lib/api/auth';
-import { toggleMode } from 'mode-watcher';
-
-export interface KeyboardTrigger {
- key: string;
- modifier: string[][];
- callback: () => void;
- onshortcut?: () => void;
-}
-
-export const triggers: KeyboardTrigger[] = [
- {
- key: 'l',
- modifier: [
- ['ctrl', 'alt'],
- ['meta', 'alt']
- ],
- callback: () => {
- logOut();
- }
- },
- {
- key: 't',
- modifier: [
- ['ctrl', 'alt'],
- ['meta', 'alt']
- ],
- callback: () => {
- toggleMode();
- }
- }
-];
diff --git a/new-web/src/lib/utils/network/iface.ts b/new-web/src/lib/utils/network/iface.ts
deleted file mode 100644
index cec8a7b8..00000000
--- a/new-web/src/lib/utils/network/iface.ts
+++ /dev/null
@@ -1,116 +0,0 @@
-import type { Column, Row } from '$lib/types/components/tree-table';
-import type { Iface } from '$lib/types/network/iface';
-import { generateNumberFromString } from '../numbers';
-
-export function generateTableData(
- columns: Column[],
- interfaces: Iface[]
-): {
- rows: Row[];
- columns: Column[];
-} {
- const rows: Row[] = [];
- for (const iface of interfaces) {
- let isBridge = false;
- if (iface.groups) {
- if (iface.groups.includes('bridge')) {
- isBridge = true;
- iface.model = 'Bridge';
- }
- }
-
- // TODO: Skip sylve created VLANs for now
- if (iface.description.startsWith('svm-vlan')) {
- continue;
- }
-
- const row: Row = {
- id: generateNumberFromString(iface.ether + iface.name),
- ether: iface.ether,
- name: iface.name,
- model: iface.model,
- description: iface.description,
- metric: iface.metric,
- mtu: iface.mtu,
- media: iface.media,
- isBridge: isBridge
- };
-
- rows.push(row);
- }
-
- return {
- rows,
- columns: columns
- };
-}
-
-type CleanIfaceData = {
- Name: string;
- Description: string;
- Model: string;
- 'MAC Address': string;
- MTU: number | null | undefined;
- Metric: number | null | undefined;
- Flags: {
- Raw: number;
- Description: string;
- };
- 'Enabled Capabilities': {
- Raw: number;
- Description: string;
- };
- 'Supported Capabilities': {
- Raw: number;
- Description: string;
- };
- 'Media Options'?: {
- Status: string;
- Type: string;
- 'Sub Type': string;
- Mode: string;
- Options: string;
- };
-};
-
-export function getCleanIfaceData(iface: Iface): CleanIfaceData {
- if (iface.groups) {
- if (iface.groups.includes('bridge')) {
- iface.model = 'Bridge';
- iface.name = `${iface.description} (${iface.name})`;
- }
- }
-
- const obj: CleanIfaceData = {
- ['Name']: iface.name,
- ['Description']: iface.description || '-',
- ['Model']: iface.model ? iface.model : '-',
- ['MAC Address']: iface.ether || '-',
- ['MTU']: iface.mtu,
- ['Metric']: iface.metric,
- ['Flags']: {
- ['Raw']: iface.flags.raw,
- ['Description']: iface.flags.desc?.join(', ') || '-'
- },
- ['Enabled Capabilities']: {
- ['Raw']: iface.capabilities.enabled.raw,
- ['Description']: iface.capabilities.enabled.desc?.join(', ') || '-'
- },
- ['Supported Capabilities']: {
- ['Raw']: iface.capabilities.supported.raw,
- ['Description']: iface.capabilities.supported.desc?.join(', ') || '-'
- }
- };
-
- if (iface.media !== null && iface.media !== undefined) {
- obj['Media Options'] = {
- ['Status']: iface.media.status,
- ['Type']: iface.media.type,
- ['Sub Type']: iface.media.subtype,
- ['Mode']: iface.media.mode,
- ['Options']: iface.media.options ? iface.media.options?.join(', ') || '-' : '-'
- };
- }
-
- return obj;
-}
diff --git a/new-web/src/lib/utils/network/switch.ts b/new-web/src/lib/utils/network/switch.ts
deleted file mode 100644
index 20781a1e..00000000
--- a/new-web/src/lib/utils/network/switch.ts
+++ /dev/null
@@ -1,125 +0,0 @@
-import type { Column, Row } from '$lib/types/components/tree-table';
-import type { SwitchList } from '$lib/types/network/switch';
-import type { CellComponent } from 'tabulator-tables';
-import { renderWithIcon } from '../table';
-
-export function generateTableData(
- switches: SwitchList | undefined,
- type: 'standard' = 'standard'
-): {
- rows: Row[];
- columns: Column[];
-} {
- const columns: Column[] = [
- {
- field: 'id',
- visible: false,
- title: 'ID'
- },
- {
- field: 'name',
- title: 'Name',
- formatter(cell: CellComponent) {
- const value = cell.getValue();
- const row = cell.getRow();
- const data = row.getData();
- const pSw = data.private || false;
-
- if (pSw) {
- return renderWithIcon('material-symbols-light:private-connectivity-outline', value);
- }
-
- return renderWithIcon('material-symbols:public', value);
- }
- },
- {
- field: 'ports',
- title: 'Ports',
- formatter: (cell: CellComponent) => {
- const value = cell.getValue();
- if (value && Array.isArray(value) && value.length > 0) {
- return value.map((port) => `${port.name} `).join(', ');
- }
-
- return '-';
- }
- },
- {
- field: 'mtu',
- title: 'MTU'
- },
- {
- field: 'vlan',
- title: 'VLAN'
- },
- {
- field: 'ipv4',
- title: 'IPv4',
- formatter: (cell: CellComponent) => {
- const row = cell.getRow();
- const data = row.getData();
- const value = cell.getValue();
- if (value === '-' && data.dhcp) {
- return 'DHCP';
- }
-
- return value || '-';
- }
- },
- {
- field: 'ipv6',
- title: 'IPv6'
- },
- {
- field: 'private',
- title: 'Private',
- visible: false
- },
- {
- field: 'dhcp',
- title: 'DHCP',
- visible: false
- },
- {
- field: 'disableIPv6',
- title: 'Disable IPv6',
- visible: false
- },
- {
- field: 'slaac',
- title: 'SLAAC',
- visible: false
- }
- ];
-
- const rows: Row[] = [];
-
- if (switches && switches[type]) {
- for (const sw of switches[type]) {
- const portsOnly =
- sw.ports?.map((port) => {
- return port.name;
- }) || [];
-
- rows.push({
- id: sw.id,
- name: sw.name,
- mtu: sw.mtu,
- vlan: sw.vlan || '-',
- ipv4: sw.address || '-',
- ipv6: sw.address6 || '-',
- ports: sw.ports,
- private: sw.private,
- portsOnly: portsOnly,
- dhcp: sw.dhcp || false,
- disableIPv6: sw.disableIPv6 || false,
- slaac: sw.slaac || false
- });
- }
- }
-
- return {
- rows: rows,
- columns: columns
- };
-}
diff --git a/new-web/src/lib/utils/numbers.ts b/new-web/src/lib/utils/numbers.ts
deleted file mode 100644
index ceabdfa8..00000000
--- a/new-web/src/lib/utils/numbers.ts
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import humanFormat from 'human-format';
-
-export function floatToNDecimals(value: number | undefined, n: number): number {
- if (!value) return 0.0;
- return parseFloat(value.toFixed(n));
-}
-
-export function bytesToHumanReadable(value: number | undefined): string {
- if (!value) return '0 B';
- return humanFormat(value, { unit: 'B' });
-}
-
-export function parseQuotaToZFSBytes(input: string): string {
- if (!input || input.trim() === '') return '0B';
-
- try {
- const parsed = humanFormat.parse(input);
-
- if (parsed === null || isNaN(parsed)) {
- throw new Error('Invalid quota format');
- }
-
- return `${parsed}B`;
- } catch (e) {
- console.error(`Failed to parse quota "${input}":`, e);
- return '0B';
- }
-}
-
-export function generateNumberFromString(str: string): number {
- let hash = 0x811c9dc5;
- for (let i = 0; i < str.length; i++) {
- hash ^= str.charCodeAt(i);
- hash = Math.imul(hash, 0x01000193);
- }
- return hash >>> 0;
-}
-
-export function isValidSize(value: string): boolean {
- try {
- const parsed = humanFormat.parse(value);
- return parsed !== null && !isNaN(parsed);
- } catch (e) {
- return false;
- }
-}
-
-export function parseFlexibleTimeToSeconds(input: string) {
- if (!input || typeof input !== 'string') return -1;
-
- const parts = input.split(':').map(Number);
- if (parts.some(isNaN)) return -1;
-
- while (parts.length < 6) {
- parts.unshift(0);
- }
-
- const [years, months, days, hours, minutes, seconds] = parts.slice(-6);
-
- if (
- seconds < 0 ||
- seconds >= 60 ||
- minutes < 0 ||
- minutes >= 60 ||
- hours < 0 ||
- hours >= 24 ||
- days < 0 ||
- days >= 31 ||
- months < 0 ||
- months >= 12
- ) {
- return -1;
- }
-
- const totalDays = years * 365 + months * 30 + days;
- return totalDays * 86400 + hours * 3600 + minutes * 60 + seconds;
-}
-
-export function isValidMTU(mtu: number): boolean {
- return mtu >= 68 && mtu <= 65535;
-}
-
-export function isValidVLAN(vlan: number): boolean {
- return vlan >= 0 && vlan <= 4095;
-}
diff --git a/new-web/src/lib/utils/obj.ts b/new-web/src/lib/utils/obj.ts
deleted file mode 100644
index 7f839448..00000000
--- a/new-web/src/lib/utils/obj.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-export function deepDiff(
- obj1: Record,
- obj2: Record,
- path = ''
-): { path: string; from: any; to: any }[] {
- const changes = [];
-
- for (const key of new Set([...Object.keys(obj1 || {}), ...Object.keys(obj2 || {})])) {
- const fullPath = path ? `${path}.${key}` : key;
- const val1 = obj1?.[key];
- const val2 = obj2?.[key];
-
- if (typeof val1 === 'object' && typeof val2 === 'object' && val1 && val2) {
- changes.push(...deepDiff(val1, val2, fullPath));
- } else if (val1 !== val2) {
- changes.push({ path: fullPath, from: val1, to: val2 });
- }
- }
-
- return changes;
-}
-
-export function findValue(value: unknown, object: Record): boolean {
- if (typeof value === 'object' && value !== null) {
- return Object.keys(object).some((key) => object[key] === value);
- }
- return Object.values(object).some((val) => val === value);
-}
diff --git a/new-web/src/lib/utils/string.ts b/new-web/src/lib/utils/string.ts
deleted file mode 100644
index 5ae4e596..00000000
--- a/new-web/src/lib/utils/string.ts
+++ /dev/null
@@ -1,164 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import { getIcon, loadIcon } from '@iconify/svelte';
-import isCidr from 'is-cidr';
-import { isIP, isIPv4 } from 'is-ip';
-import { customRandom, nanoid } from 'nanoid';
-import isMACAddress from 'validator/lib/isMACAddress';
-import isURL from 'validator/lib/isURL';
-import { Mnemonic } from './vendor/mnemonic';
-
-export function capitalizeFirstLetter(str: string, firstOnly: boolean = false): string {
- if (firstOnly) {
- return str.charAt(0).toLocaleUpperCase() + str.slice(1);
- }
-
- return str
- .split(' ')
- .map((word) => word.charAt(0).toLocaleUpperCase() + word.slice(1))
- .join(' ');
-}
-
-export function parseJwt(token: string) {
- let base64Url = token.split('.')[1];
- let base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
- let jsonPayload = decodeURIComponent(
- window
- .atob(base64)
- .split('')
- .map(function (c) {
- return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
- })
- .join('')
- );
-
- return JSON.parse(jsonPayload);
-}
-
-export function shortenString(str: string, maxLength: number): string {
- if (str.length <= maxLength) return str;
- return str.slice(0, maxLength) + '...';
-}
-
-export function generatePassword(): string {
- return new Mnemonic().toWords().slice(0, 6).join('-');
-}
-
-export async function iconToSVG(icon: string): Promise {
- await loadIcon(icon);
- const i = getIcon(icon);
- if (i) {
- const { body, width, height, left, top } = i;
- const viewBox = `${left} ${top} ${width} ${height}`;
- const svg = `${body} `;
- return svg;
- }
-
- return ''; // Ensure the function always returns a string
-}
-
-function seedRandom(seed: string): () => number {
- let h = 2166136261 >>> 0;
- for (let i = 0; i < seed.length; i++) {
- h ^= seed.charCodeAt(i);
- h = Math.imul(h, 16777619);
- }
- let state = h;
-
- return function () {
- state = (state * 1664525 + 1013904223) >>> 0;
- return (state >>> 0) / 4294967296;
- };
-}
-
-export function generateNanoId(seed?: string): string {
- if (seed) {
- const rng = seedRandom(seed);
- const customNanoId = customRandom('abcdefghijklmnopqrstuvwxyz', 10, (size) => {
- return new Uint8Array(size).map(() => 256 * rng());
- });
-
- return customNanoId();
- }
-
- return nanoid(10);
-}
-
-export function isValidSwitchName(name: string): boolean {
- const regex = /^[a-zA-Z0-9-_]+$/;
- return regex.test(name);
-}
-
-export function isValidIPv4(ip: string, cidr: boolean = false): boolean {
- try {
- if (cidr && isCidr.v4(ip)) {
- return true;
- }
-
- if (!cidr && isIPv4(ip)) {
- return true;
- }
-
- return false;
- } catch (e) {
- console.log(e);
- return false;
- }
-}
-
-export function isValidIPv6(ip: string, cidr: boolean = false): boolean {
- try {
- if (cidr && isCidr.v6(ip)) {
- return true;
- }
-
- if (!cidr && isIP(ip)) {
- return true;
- }
-
- return false;
- } catch (e) {
- console.log(e);
- return false;
- }
-}
-
-export function isDownloadURL(url: string): boolean {
- const urlOpts = {
- protocols: ['http', 'https'],
- require_protocol: true,
- require_valid_protocol: true,
- require_host: true,
- allow_underscores: false,
- allow_fragments: false,
- allow_query_components: true
- };
-
- if (!isURL(url, urlOpts)) {
- return false;
- }
-
- try {
- const { pathname } = new URL(url);
- return /\/[^\/]+\.[^\/]+$/.test(pathname);
- } catch {
- return false;
- }
-}
-
-export function isValidVMName(name: string): boolean {
- const regex = /^[a-zA-Z0-9-_]+$/;
- return regex.test(name);
-}
-
-export function isValidMACAddress(mac: string): boolean {
- return isMACAddress(mac, { no_colons: false });
-}
diff --git a/new-web/src/lib/utils/system/pci.ts b/new-web/src/lib/utils/system/pci.ts
deleted file mode 100644
index db2a6775..00000000
--- a/new-web/src/lib/utils/system/pci.ts
+++ /dev/null
@@ -1,158 +0,0 @@
-import type { Column, Row } from '$lib/types/components/tree-table';
-import type { PCIDevice, PPTDevice } from '$lib/types/system/pci';
-import type { CellComponent } from 'tabulator-tables';
-import { generateNumberFromString } from '../numbers';
-import { renderWithIcon } from '../table';
-
-function getPassthroughStatus(device: PCIDevice, pptDevices: PPTDevice[]): string {
- if (device.name.startsWith('ppt')) {
- const id = `${device.bus}/${device.device}/${device['function']}`;
- if (pptDevices.some((ppt) => ppt.deviceID === id)) {
- return 'passed-through-in-db';
- } else {
- return 'passed-through-not-in-db';
- }
- }
-
- // Handle a case where the device is in DB but not having a corresponding ppt device
-
- return 'not-passed-through';
-}
-
-export function generateTableData(
- pciDevices: PCIDevice[],
- pptDevices: PPTDevice[]
-): {
- rows: Row[];
- columns: Column[];
-} {
- const rows: Row[] = [];
- const columns: Column[] = [
- {
- field: 'status',
- title: 'Status',
- visible: false
- },
- {
- field: 'id',
- title: 'ID',
- visible: false
- },
- {
- field: 'name',
- title: 'Name',
- visible: false
- },
- {
- field: 'device',
- title: 'Device',
- visible: true,
- formatter: (cell: CellComponent) => {
- const data = cell.getData();
- const device = data.device || '-';
- const status = data.status || 'not-passed-through';
- if (status === 'not-passed-through') {
- return renderWithIcon(
- 'wpf:connected',
- device,
- 'text-green-500',
- 'This device is connected to the host'
- );
- } else if (status === 'passed-through-in-db') {
- return renderWithIcon(
- 'wpf:connected',
- device,
- 'text-blue-500',
- 'This device is ready for passthrough'
- );
- } else if (status === 'passed-through-not-in-db') {
- return renderWithIcon(
- 'wpf:connected',
- device,
- 'text-yellow-500',
- 'This device state is not quite right, please check configuration in /boot/loader.conf'
- );
- }
-
- return device;
- }
- },
- {
- field: 'vendor',
- title: 'Vendor',
- visible: true
- },
- {
- field: 'class',
- title: 'Class',
- visible: true
- },
- {
- field: 'subclass',
- title: 'Subclass',
- visible: true
- },
- {
- field: 'domain',
- title: 'Domain',
- visible: false
- },
- {
- field: 'deviceId',
- title: 'Device ID',
- visible: false
- },
- {
- field: 'pptId',
- title: 'PPT ID',
- visible: false
- }
- ];
-
- for (const device of pciDevices) {
- const id = generateNumberFromString(
- device.name +
- device.bus +
- (device.class || '') +
- (device.device || '') +
- (device['function'] || '') +
- (device.vendor || '')
- );
-
- const deviceId = `${device.bus}/${device.device}/${device['function']}`;
-
- let pptId = '';
- if (device.name.startsWith('ppt')) {
- const pptDevice = pptDevices.find((ppt) => ppt.deviceID === deviceId);
- pptId = pptDevice ? pptDevice.id.toString() : '';
- }
-
- rows.push({
- status: getPassthroughStatus(device, pptDevices),
- id: id,
- name: device.name || '-',
- device: device.names.device || '-',
- vendor: device.names.vendor || '-',
- class: device.names.class || '-',
- subclass: device.names.subclass || '-',
- domain: device.domain,
- deviceId,
- pptId: pptId
- });
- }
-
- return {
- rows: rows,
- columns: columns
- };
-}
-
-export function getPCIDeviceId(device: PCIDevice): string {
- return `pci${device.domain}:${device.bus}:${device.device}:${device['function']}`;
-}
-
-export function getPPTDeviceId(device: PCIDevice, pptDevices: PPTDevice[]): number {
- const id = `${device.bus}/${device.device}/${device['function']}`;
- const pptDevice = pptDevices.find((ppt) => ppt.deviceID === id);
- return pptDevice?.id || 0;
-}
diff --git a/new-web/src/lib/utils/table.ts b/new-web/src/lib/utils/table.ts
deleted file mode 100644
index 5da7d029..00000000
--- a/new-web/src/lib/utils/table.ts
+++ /dev/null
@@ -1,175 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import type { Row } from '$lib/types/components/tree-table';
-import humanFormat, { type ScaleLike } from 'human-format';
-import {
- TabulatorFull,
- type CellComponent,
- type RowComponent,
- type Tabulator
-} from 'tabulator-tables';
-import { iconCache } from './icons';
-
-export function deselectAllRows(table: Tabulator | null) {
- if (table) {
- table.getRows().forEach((row) => {
- console.log(row);
- row.deselect();
- });
- }
-}
-
-export function selectOneRow(table: Tabulator | null, row: RowComponent) {
- if (table) {
- deselectAllRows(table);
- row.select();
- }
-}
-
-export function getTable(id: string): Tabulator | null {
- const table = TabulatorFull.findTable(`#${id}`);
- if (table) {
- return table[0];
- }
-
- return null;
-}
-
-export function deleteRowByFieldValue(tableId: string, field: string, value: string | number) {
- try {
- const table = getTable(tableId);
- if (table) {
- const rows = table.getRows();
- for (const row of rows) {
- if (row.getData()[field] === value) {
- row.delete();
- }
-
- if (row.getData()['children']) {
- if (Array.isArray(row.getData()['children'])) {
- const children = row.getData()['children'];
- for (const child of children) {
- if (child[field] === value) {
- row.delete();
- }
- }
- }
- }
- }
- }
- } catch (error) {
- console.error('Error deleting row:', error);
- }
-}
-
-export const renderWithIcon = (
- iconKey: string,
- suffix: string,
- extraClass?: string,
- title?: string
-) => {
- const icon = iconCache[iconKey] || '';
- return `
-
-
- ${suffix}
-
- `.trim();
-};
-
-export function sizeFormatter(cell: CellComponent) {
- try {
- const sizeOptions = {
- scale: 'binary' as ScaleLike,
- unit: 'B',
- maxDecimals: 1
- };
-
- return humanFormat(cell.getValue(), sizeOptions);
- } catch (e) {
- return cell.getValue();
- }
-}
-
-export function addTabulatorFilters() {
- TabulatorFull.extendModule('filter', 'filters', {
- matchAny
- });
-}
-
-export function matchAny(data: any, filterParams: any): boolean {
- const query = filterParams.query?.toString().toLowerCase();
- if (!query) return false;
-
- function recursiveMatch(obj: any): boolean {
- for (let key in obj) {
- const value = obj[key];
-
- if (value == null) continue;
-
- if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
- if (value.toString().toLowerCase().includes(query)) {
- return true;
- }
- }
-
- if (key === 'children' && Array.isArray(value)) {
- for (const child of value) {
- if (recursiveMatch(child)) return true;
- }
- }
-
- if (typeof value === 'object' && key !== 'children') {
- if (recursiveMatch(value)) return true;
- }
- }
- return false;
- }
-
- return recursiveMatch(data);
-}
-
-function cleanChildren(row: any): any {
- if (Array.isArray(row.children)) {
- row.children = row.children.map(cleanChildren);
- row.children = row.children.filter((child: null) => child != null);
-
- if (row.children.length === 0) {
- delete row.children;
- }
- } else {
- delete row.children;
- }
-
- return row;
-}
-
-export function hasRowsChanged(table: Tabulator | null, newData: Row[]): boolean {
- if (!table) {
- return true;
- }
-
- const currentData = table.getData();
- if (currentData.length !== newData.length) {
- return true;
- }
-
- for (let i = 0; i < currentData.length; i++) {
- const currentRow = cleanChildren({ ...currentData[i] });
- const newRow = cleanChildren({ ...newData[i] });
-
- if (JSON.stringify(currentRow) !== JSON.stringify(newRow)) {
- return true;
- }
- }
-
- return false;
-}
diff --git a/new-web/src/lib/utils/time.ts b/new-web/src/lib/utils/time.ts
deleted file mode 100644
index 24b1a3a6..00000000
--- a/new-web/src/lib/utils/time.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import { format, formatDistance, formatRelative, fromUnixTime, parseISO, subDays } from 'date-fns';
-import { formatInTimeZone } from 'date-fns-tz';
-
-/**
- * Converts a Unix timestamp (in seconds) to a human-readable "X time ago" string
- *
- * @param seconds - Unix timestamp in seconds since epoch
- * @returns Formatted time ago string (e.g., "9 hours ago")
- */
-export function secondsToHoursAgo(seconds: number | undefined): string {
- if (!seconds) return 'Unknown';
-
- // If the value is small (like 32893), it's likely seconds of uptime rather than a Unix timestamp
- if (seconds < 86400 * 365) {
- // Less than a year in seconds
- // Convert uptime seconds to a date by subtracting from now
- const uptimeDate = new Date(Date.now() - seconds * 1000);
- return formatDistance(uptimeDate, new Date(), { addSuffix: true });
- }
-
- // Otherwise treat as a Unix timestamp
- return formatDistance(fromUnixTime(seconds), new Date(), { addSuffix: true });
-}
-
-export function dateToAgo(date: Date | string): string {
- if (typeof date === 'string' && date.length > 4 && parseInt(date.substring(0, 4)) < 1999) {
- return 'Never';
- }
-
- if (typeof date === 'string') {
- date = parseISO(date);
- }
-
- const now = new Date();
- const diff = Math.abs(now.getTime() - date.getTime());
-
- if (diff < 1000 * 60) {
- return 'Just now';
- } else if (diff < 1000 * 60 * 60) {
- return formatDistance(date, now, { addSuffix: true });
- } else if (diff < 1000 * 60 * 60 * 24) {
- return formatDistance(date, now, { addSuffix: true });
- } else {
- return format(date, 'MMM dd, yyyy');
- }
-}
-
-export function convertDbTime(time: string): string {
- try {
- const userTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
- const date = new Date(time);
- const zonedDate = formatInTimeZone(date, userTimeZone, 'yyyy-MM-dd hh:mm a');
-
- return zonedDate;
- } catch (e) {
- return time;
- }
-}
-
-export function formatUptime(seconds: number): string {
- const units = [
- { label: 'y', secs: 12 * 30 * 24 * 60 * 60 },
- { label: 'mo', secs: 30 * 24 * 60 * 60 },
- { label: 'd', secs: 24 * 60 * 60 },
- { label: 'h', secs: 60 * 60 },
- { label: 'm', secs: 60 },
- { label: 's', secs: 1 }
- ];
-
- const parts = [];
-
- for (const { label, secs } of units) {
- if (seconds >= secs) {
- const val = Math.floor(seconds / secs);
- seconds %= secs;
- parts.push(`${val}${label}`);
- }
- }
-
- return parts.length ? parts.join(' ') : '0s';
-}
diff --git a/new-web/src/lib/utils/tree-table.ts b/new-web/src/lib/utils/tree-table.ts
deleted file mode 100644
index 83fe6cf3..00000000
--- a/new-web/src/lib/utils/tree-table.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import type { Row } from '$lib/types/components/tree-table';
-import type { RowComponent } from 'tabulator-tables';
-
-export function cleanChildren(row: Row): Row {
- let newRow = { ...row };
-
- if (Array.isArray(newRow.children)) {
- let cleanedChildren = newRow.children.map(cleanChildren).filter(Boolean);
-
- if (cleanedChildren.length > 0) {
- newRow.children = cleanedChildren;
- } else {
- delete newRow.children;
- }
- }
-
- return newRow;
-}
-
-export function pruneEmptyChildren(rows: Row[]): Row[] {
- return rows.map((row) => {
- const hasValidChildren = Array.isArray(row.children) && row.children.length > 0;
-
- const cleanedRow: Row = {
- ...row,
- ...(hasValidChildren
- ? {
- children: pruneEmptyChildren(row.children!)
- }
- : { children: undefined })
- };
-
- return cleanedRow;
- });
-}
-
-export function findRow(rows: RowComponent[], id: number): RowComponent | undefined {
- for (const row of rows) {
- if (row.getData().id === id) return row;
- const children = row.getTreeChildren();
- if (children.length > 0) {
- const found = findRow(children, id);
- if (found) return found;
- }
- }
- return undefined;
-}
-
-export function getAllRows(rows: RowComponent[]): RowComponent[] {
- try {
- let allRows: RowComponent[] = [];
-
- for (const row of rows) {
- allRows.push(row);
- const children = row.getTreeChildren();
- if (children.length > 0) {
- allRows = allRows.concat(getAllRows(children));
- }
- }
-
- return allRows;
- } catch (e) {
- return [];
- }
-}
diff --git a/new-web/src/lib/utils/utilities/downloader.ts b/new-web/src/lib/utils/utilities/downloader.ts
deleted file mode 100644
index 0205279f..00000000
--- a/new-web/src/lib/utils/utilities/downloader.ts
+++ /dev/null
@@ -1,146 +0,0 @@
-import type { Column, Row } from '$lib/types/components/tree-table';
-import type { Download } from '$lib/types/utilities/downloader';
-import humanFormat from 'human-format';
-import type { CellComponent } from 'tabulator-tables';
-import { generateNumberFromString } from '../numbers';
-import { renderWithIcon } from '../table';
-
-export function generateTableData(data: Download[]): { rows: Row[]; columns: Column[] } {
- const columns: Column[] = [
- {
- field: 'id',
- title: 'ID',
- visible: false
- },
- {
- field: 'uuid',
- title: 'UUID',
- visible: false
- },
- {
- field: 'name',
- title: 'Name',
- formatter: (cell: CellComponent) => {
- const value = cell.getValue();
- const row = cell.getRow();
- const data = row.getData();
- if (data.type !== '-') {
- if (data.type === 'torrent') {
- return renderWithIcon('mdi:magnet', value);
- } else if (data.type === 'http') {
- return renderWithIcon('mdi:internet', value);
- } else {
- return renderWithIcon('mdi:file', value);
- }
- }
-
- return renderWithIcon('mdi:file', value);
- }
- },
- {
- field: 'size',
- title: 'Size',
- formatter: (cell: CellComponent) => {
- const value = cell.getValue();
-
- if (value === 0 || value === '0') {
- return renderWithIcon('eos-icons:three-dots-loading', '');
- }
-
- return humanFormat(value);
- }
- },
- {
- field: 'type',
- title: 'Type',
- visible: false
- },
- {
- field: 'progress',
- title: 'Progress',
- formatter: (cell: CellComponent) => {
- const value = cell.getValue();
-
- if (value === '-') {
- return '-';
- }
-
- if (value >= 0 && value < 100) {
- return renderWithIcon('line-md:downloading-loop', `${value} %`);
- }
-
- return renderWithIcon('lets-icons:check-fill', '100 %');
- }
- },
- {
- field: 'parentUUID',
- title: 'Parent UUID',
- visible: false
- }
- ];
-
- const rows: Row[] = [];
-
- for (const download of data) {
- const row: Row = {
- id: download.id,
- uuid: download.uuid,
- name: download.name,
- size: download.size,
- type: download.type,
- progress: download.progress,
- children: []
- };
-
- for (const file of download.files) {
- const childRow: Row = {
- id: generateNumberFromString(file.id + 'file'),
- uuid: '-',
- name: file.name,
- size: file.size,
- type: '-',
- children: [],
- progress: '-',
- parentUUID: download.uuid
- };
-
- row.children?.push(childRow);
- }
-
- rows.push(row);
- }
-
- console.log(rows);
-
- return {
- rows: rows,
- columns: columns
- };
-}
-
-export function getISOs(
- downloads: Download[],
- includeImg: boolean = false
-): { label: string; value: string }[] {
- const options: { label: string; value: string }[] = [];
-
- for (const download of downloads || []) {
- if (download.progress !== 100) continue;
-
- const addIfMatch = (name: string) => {
- if (name.endsWith('.iso') || (includeImg && name.endsWith('.img'))) {
- options.push({ label: name, value: download.uuid });
- }
- };
-
- if (download.type === 'http') {
- addIfMatch(download.name);
- } else if (download.type === 'torrent' && Array.isArray(download.files)) {
- for (const file of download.files) {
- addIfMatch(file.name);
- }
- }
- }
-
- return options;
-}
diff --git a/new-web/src/lib/utils/vendor/mnemonic.ts b/new-web/src/lib/utils/vendor/mnemonic.ts
deleted file mode 100644
index 0a2abe69..00000000
--- a/new-web/src/lib/utils/vendor/mnemonic.ts
+++ /dev/null
@@ -1,1730 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-// Mnemonic.ts v.2.0.0 (Browser-only, TypeScript rewrite)
-// (c) 2025 Adapted from Yiorgis Gozadinos, Crypho AS (MIT License)
-
-type WordList = string[];
-
-export class Mnemonic {
- private seed: Uint32Array;
- static words: WordList = [
- 'like',
- 'just',
- 'love',
- 'know',
- 'never',
- 'want',
- 'time',
- 'out',
- 'there',
- 'make',
- 'look',
- 'eye',
- 'down',
- 'only',
- 'think',
- 'heart',
- 'back',
- 'then',
- 'into',
- 'about',
- 'more',
- 'away',
- 'still',
- 'them',
- 'take',
- 'thing',
- 'even',
- 'through',
- 'long',
- 'always',
- 'world',
- 'too',
- 'friend',
- 'tell',
- 'try',
- 'hand',
- 'thought',
- 'over',
- 'here',
- 'other',
- 'need',
- 'smile',
- 'again',
- 'much',
- 'cry',
- 'been',
- 'night',
- 'ever',
- 'little',
- 'said',
- 'end',
- 'some',
- 'those',
- 'around',
- 'mind',
- 'people',
- 'girl',
- 'leave',
- 'dream',
- 'left',
- 'turn',
- 'myself',
- 'give',
- 'nothing',
- 'really',
- 'off',
- 'before',
- 'something',
- 'find',
- 'walk',
- 'wish',
- 'good',
- 'once',
- 'place',
- 'ask',
- 'stop',
- 'keep',
- 'watch',
- 'seem',
- 'everything',
- 'wait',
- 'got',
- 'yet',
- 'made',
- 'remember',
- 'start',
- 'alone',
- 'run',
- 'hope',
- 'maybe',
- 'believe',
- 'body',
- 'hate',
- 'after',
- 'close',
- 'talk',
- 'stand',
- 'own',
- 'each',
- 'hurt',
- 'help',
- 'home',
- 'god',
- 'soul',
- 'new',
- 'many',
- 'two',
- 'inside',
- 'should',
- 'true',
- 'first',
- 'fear',
- 'mean',
- 'better',
- 'play',
- 'another',
- 'gone',
- 'change',
- 'use',
- 'wonder',
- 'someone',
- 'hair',
- 'cold',
- 'open',
- 'best',
- 'any',
- 'behind',
- 'happen',
- 'water',
- 'dark',
- 'laugh',
- 'stay',
- 'forever',
- 'name',
- 'work',
- 'show',
- 'sky',
- 'break',
- 'came',
- 'deep',
- 'door',
- 'put',
- 'black',
- 'together',
- 'upon',
- 'happy',
- 'such',
- 'great',
- 'white',
- 'matter',
- 'fill',
- 'past',
- 'please',
- 'burn',
- 'cause',
- 'enough',
- 'touch',
- 'moment',
- 'soon',
- 'voice',
- 'scream',
- 'anything',
- 'stare',
- 'sound',
- 'red',
- 'everyone',
- 'hide',
- 'kiss',
- 'truth',
- 'death',
- 'beautiful',
- 'mine',
- 'blood',
- 'broken',
- 'very',
- 'pass',
- 'next',
- 'forget',
- 'tree',
- 'wrong',
- 'air',
- 'mother',
- 'understand',
- 'lip',
- 'hit',
- 'wall',
- 'memory',
- 'sleep',
- 'free',
- 'high',
- 'realize',
- 'school',
- 'might',
- 'skin',
- 'sweet',
- 'perfect',
- 'blue',
- 'kill',
- 'breath',
- 'dance',
- 'against',
- 'fly',
- 'between',
- 'grow',
- 'strong',
- 'under',
- 'listen',
- 'bring',
- 'sometimes',
- 'speak',
- 'pull',
- 'person',
- 'become',
- 'family',
- 'begin',
- 'ground',
- 'real',
- 'small',
- 'father',
- 'sure',
- 'feet',
- 'rest',
- 'young',
- 'finally',
- 'land',
- 'across',
- 'today',
- 'different',
- 'guy',
- 'line',
- 'fire',
- 'reason',
- 'reach',
- 'second',
- 'slowly',
- 'write',
- 'eat',
- 'smell',
- 'mouth',
- 'step',
- 'learn',
- 'three',
- 'floor',
- 'promise',
- 'breathe',
- 'darkness',
- 'push',
- 'earth',
- 'guess',
- 'save',
- 'song',
- 'above',
- 'along',
- 'both',
- 'color',
- 'house',
- 'almost',
- 'sorry',
- 'anymore',
- 'brother',
- 'okay',
- 'dear',
- 'game',
- 'fade',
- 'already',
- 'apart',
- 'warm',
- 'beauty',
- 'heard',
- 'notice',
- 'question',
- 'shine',
- 'began',
- 'piece',
- 'whole',
- 'shadow',
- 'secret',
- 'street',
- 'within',
- 'finger',
- 'point',
- 'morning',
- 'whisper',
- 'child',
- 'moon',
- 'green',
- 'story',
- 'glass',
- 'kid',
- 'silence',
- 'since',
- 'soft',
- 'yourself',
- 'empty',
- 'shall',
- 'angel',
- 'answer',
- 'baby',
- 'bright',
- 'dad',
- 'path',
- 'worry',
- 'hour',
- 'drop',
- 'follow',
- 'power',
- 'war',
- 'half',
- 'flow',
- 'heaven',
- 'act',
- 'chance',
- 'fact',
- 'least',
- 'tired',
- 'children',
- 'near',
- 'quite',
- 'afraid',
- 'rise',
- 'sea',
- 'taste',
- 'window',
- 'cover',
- 'nice',
- 'trust',
- 'lot',
- 'sad',
- 'cool',
- 'force',
- 'peace',
- 'return',
- 'blind',
- 'easy',
- 'ready',
- 'roll',
- 'rose',
- 'drive',
- 'held',
- 'music',
- 'beneath',
- 'hang',
- 'mom',
- 'paint',
- 'emotion',
- 'quiet',
- 'clear',
- 'cloud',
- 'few',
- 'pretty',
- 'bird',
- 'outside',
- 'paper',
- 'picture',
- 'front',
- 'rock',
- 'simple',
- 'anyone',
- 'meant',
- 'reality',
- 'road',
- 'sense',
- 'waste',
- 'bit',
- 'leaf',
- 'thank',
- 'happiness',
- 'meet',
- 'men',
- 'smoke',
- 'truly',
- 'decide',
- 'self',
- 'age',
- 'book',
- 'form',
- 'alive',
- 'carry',
- 'escape',
- 'damn',
- 'instead',
- 'able',
- 'ice',
- 'minute',
- 'throw',
- 'catch',
- 'leg',
- 'ring',
- 'course',
- 'goodbye',
- 'lead',
- 'poem',
- 'sick',
- 'corner',
- 'desire',
- 'known',
- 'problem',
- 'remind',
- 'shoulder',
- 'suppose',
- 'toward',
- 'wave',
- 'drink',
- 'jump',
- 'woman',
- 'pretend',
- 'sister',
- 'week',
- 'human',
- 'joy',
- 'crack',
- 'grey',
- 'pray',
- 'surprise',
- 'dry',
- 'knee',
- 'less',
- 'search',
- 'bleed',
- 'caught',
- 'clean',
- 'embrace',
- 'future',
- 'king',
- 'son',
- 'sorrow',
- 'chest',
- 'hug',
- 'remain',
- 'sat',
- 'worth',
- 'blow',
- 'daddy',
- 'final',
- 'parent',
- 'tight',
- 'also',
- 'create',
- 'lonely',
- 'safe',
- 'cross',
- 'dress',
- 'evil',
- 'silent',
- 'bone',
- 'fate',
- 'perhaps',
- 'anger',
- 'class',
- 'scar',
- 'snow',
- 'tiny',
- 'tonight',
- 'continue',
- 'control',
- 'dog',
- 'edge',
- 'mirror',
- 'month',
- 'suddenly',
- 'comfort',
- 'given',
- 'loud',
- 'quickly',
- 'gaze',
- 'plan',
- 'rush',
- 'stone',
- 'town',
- 'battle',
- 'ignore',
- 'spirit',
- 'stood',
- 'stupid',
- 'yours',
- 'brown',
- 'build',
- 'dust',
- 'hey',
- 'kept',
- 'pay',
- 'phone',
- 'twist',
- 'although',
- 'ball',
- 'beyond',
- 'hidden',
- 'nose',
- 'taken',
- 'fail',
- 'float',
- 'pure',
- 'somehow',
- 'wash',
- 'wrap',
- 'angry',
- 'cheek',
- 'creature',
- 'forgotten',
- 'heat',
- 'rip',
- 'single',
- 'space',
- 'special',
- 'weak',
- 'whatever',
- 'yell',
- 'anyway',
- 'blame',
- 'job',
- 'choose',
- 'country',
- 'curse',
- 'drift',
- 'echo',
- 'figure',
- 'grew',
- 'laughter',
- 'neck',
- 'suffer',
- 'worse',
- 'yeah',
- 'disappear',
- 'foot',
- 'forward',
- 'knife',
- 'mess',
- 'somewhere',
- 'stomach',
- 'storm',
- 'beg',
- 'idea',
- 'lift',
- 'offer',
- 'breeze',
- 'field',
- 'five',
- 'often',
- 'simply',
- 'stuck',
- 'win',
- 'allow',
- 'confuse',
- 'enjoy',
- 'except',
- 'flower',
- 'seek',
- 'strength',
- 'calm',
- 'grin',
- 'gun',
- 'heavy',
- 'hill',
- 'large',
- 'ocean',
- 'shoe',
- 'sigh',
- 'straight',
- 'summer',
- 'tongue',
- 'accept',
- 'crazy',
- 'everyday',
- 'exist',
- 'grass',
- 'mistake',
- 'sent',
- 'shut',
- 'surround',
- 'table',
- 'ache',
- 'brain',
- 'destroy',
- 'heal',
- 'nature',
- 'shout',
- 'sign',
- 'stain',
- 'choice',
- 'doubt',
- 'glance',
- 'glow',
- 'mountain',
- 'queen',
- 'stranger',
- 'throat',
- 'tomorrow',
- 'city',
- 'either',
- 'fish',
- 'flame',
- 'rather',
- 'shape',
- 'spin',
- 'spread',
- 'ash',
- 'distance',
- 'finish',
- 'image',
- 'imagine',
- 'important',
- 'nobody',
- 'shatter',
- 'warmth',
- 'became',
- 'feed',
- 'flesh',
- 'funny',
- 'lust',
- 'shirt',
- 'trouble',
- 'yellow',
- 'attention',
- 'bare',
- 'bite',
- 'money',
- 'protect',
- 'amaze',
- 'appear',
- 'born',
- 'choke',
- 'completely',
- 'daughter',
- 'fresh',
- 'friendship',
- 'gentle',
- 'probably',
- 'six',
- 'deserve',
- 'expect',
- 'grab',
- 'middle',
- 'nightmare',
- 'river',
- 'thousand',
- 'weight',
- 'worst',
- 'wound',
- 'barely',
- 'bottle',
- 'cream',
- 'regret',
- 'relationship',
- 'stick',
- 'test',
- 'crush',
- 'endless',
- 'fault',
- 'itself',
- 'rule',
- 'spill',
- 'art',
- 'circle',
- 'join',
- 'kick',
- 'mask',
- 'master',
- 'passion',
- 'quick',
- 'raise',
- 'smooth',
- 'unless',
- 'wander',
- 'actually',
- 'broke',
- 'chair',
- 'deal',
- 'favorite',
- 'gift',
- 'note',
- 'number',
- 'sweat',
- 'box',
- 'chill',
- 'clothes',
- 'lady',
- 'mark',
- 'park',
- 'poor',
- 'sadness',
- 'tie',
- 'animal',
- 'belong',
- 'brush',
- 'consume',
- 'dawn',
- 'forest',
- 'innocent',
- 'pen',
- 'pride',
- 'stream',
- 'thick',
- 'clay',
- 'complete',
- 'count',
- 'draw',
- 'faith',
- 'press',
- 'silver',
- 'struggle',
- 'surface',
- 'taught',
- 'teach',
- 'wet',
- 'bless',
- 'chase',
- 'climb',
- 'enter',
- 'letter',
- 'melt',
- 'metal',
- 'movie',
- 'stretch',
- 'swing',
- 'vision',
- 'wife',
- 'beside',
- 'crash',
- 'forgot',
- 'guide',
- 'haunt',
- 'joke',
- 'knock',
- 'plant',
- 'pour',
- 'prove',
- 'reveal',
- 'steal',
- 'stuff',
- 'trip',
- 'wood',
- 'wrist',
- 'bother',
- 'bottom',
- 'crawl',
- 'crowd',
- 'fix',
- 'forgive',
- 'frown',
- 'grace',
- 'loose',
- 'lucky',
- 'party',
- 'release',
- 'surely',
- 'survive',
- 'teacher',
- 'gently',
- 'grip',
- 'speed',
- 'suicide',
- 'travel',
- 'treat',
- 'vein',
- 'written',
- 'cage',
- 'chain',
- 'conversation',
- 'date',
- 'enemy',
- 'however',
- 'interest',
- 'million',
- 'page',
- 'pink',
- 'proud',
- 'sway',
- 'themselves',
- 'winter',
- 'church',
- 'cruel',
- 'cup',
- 'demon',
- 'experience',
- 'freedom',
- 'pair',
- 'pop',
- 'purpose',
- 'respect',
- 'shoot',
- 'softly',
- 'state',
- 'strange',
- 'bar',
- 'birth',
- 'curl',
- 'dirt',
- 'excuse',
- 'lord',
- 'lovely',
- 'monster',
- 'order',
- 'pack',
- 'pants',
- 'pool',
- 'scene',
- 'seven',
- 'shame',
- 'slide',
- 'ugly',
- 'among',
- 'blade',
- 'blonde',
- 'closet',
- 'creek',
- 'deny',
- 'drug',
- 'eternity',
- 'gain',
- 'grade',
- 'handle',
- 'key',
- 'linger',
- 'pale',
- 'prepare',
- 'swallow',
- 'swim',
- 'tremble',
- 'wheel',
- 'won',
- 'cast',
- 'cigarette',
- 'claim',
- 'college',
- 'direction',
- 'dirty',
- 'gather',
- 'ghost',
- 'hundred',
- 'loss',
- 'lung',
- 'orange',
- 'present',
- 'swear',
- 'swirl',
- 'twice',
- 'wild',
- 'bitter',
- 'blanket',
- 'doctor',
- 'everywhere',
- 'flash',
- 'grown',
- 'knowledge',
- 'numb',
- 'pressure',
- 'radio',
- 'repeat',
- 'ruin',
- 'spend',
- 'unknown',
- 'buy',
- 'clock',
- 'devil',
- 'early',
- 'false',
- 'fantasy',
- 'pound',
- 'precious',
- 'refuse',
- 'sheet',
- 'teeth',
- 'welcome',
- 'add',
- 'ahead',
- 'block',
- 'bury',
- 'caress',
- 'content',
- 'depth',
- 'despite',
- 'distant',
- 'marry',
- 'purple',
- 'threw',
- 'whenever',
- 'bomb',
- 'dull',
- 'easily',
- 'grasp',
- 'hospital',
- 'innocence',
- 'normal',
- 'receive',
- 'reply',
- 'rhyme',
- 'shade',
- 'someday',
- 'sword',
- 'toe',
- 'visit',
- 'asleep',
- 'bought',
- 'center',
- 'consider',
- 'flat',
- 'hero',
- 'history',
- 'ink',
- 'insane',
- 'muscle',
- 'mystery',
- 'pocket',
- 'reflection',
- 'shove',
- 'silently',
- 'smart',
- 'soldier',
- 'spot',
- 'stress',
- 'train',
- 'type',
- 'view',
- 'whether',
- 'bus',
- 'energy',
- 'explain',
- 'holy',
- 'hunger',
- 'inch',
- 'magic',
- 'mix',
- 'noise',
- 'nowhere',
- 'prayer',
- 'presence',
- 'shock',
- 'snap',
- 'spider',
- 'study',
- 'thunder',
- 'trail',
- 'admit',
- 'agree',
- 'bag',
- 'bang',
- 'bound',
- 'butterfly',
- 'cute',
- 'exactly',
- 'explode',
- 'familiar',
- 'fold',
- 'further',
- 'pierce',
- 'reflect',
- 'scent',
- 'selfish',
- 'sharp',
- 'sink',
- 'spring',
- 'stumble',
- 'universe',
- 'weep',
- 'women',
- 'wonderful',
- 'action',
- 'ancient',
- 'attempt',
- 'avoid',
- 'birthday',
- 'branch',
- 'chocolate',
- 'core',
- 'depress',
- 'drunk',
- 'especially',
- 'focus',
- 'fruit',
- 'honest',
- 'match',
- 'palm',
- 'perfectly',
- 'pillow',
- 'pity',
- 'poison',
- 'roar',
- 'shift',
- 'slightly',
- 'thump',
- 'truck',
- 'tune',
- 'twenty',
- 'unable',
- 'wipe',
- 'wrote',
- 'coat',
- 'constant',
- 'dinner',
- 'drove',
- 'egg',
- 'eternal',
- 'flight',
- 'flood',
- 'frame',
- 'freak',
- 'gasp',
- 'glad',
- 'hollow',
- 'motion',
- 'peer',
- 'plastic',
- 'root',
- 'screen',
- 'season',
- 'sting',
- 'strike',
- 'team',
- 'unlike',
- 'victim',
- 'volume',
- 'warn',
- 'weird',
- 'attack',
- 'await',
- 'awake',
- 'built',
- 'charm',
- 'crave',
- 'despair',
- 'fought',
- 'grant',
- 'grief',
- 'horse',
- 'limit',
- 'message',
- 'ripple',
- 'sanity',
- 'scatter',
- 'serve',
- 'split',
- 'string',
- 'trick',
- 'annoy',
- 'blur',
- 'boat',
- 'brave',
- 'clearly',
- 'cling',
- 'connect',
- 'fist',
- 'forth',
- 'imagination',
- 'iron',
- 'jock',
- 'judge',
- 'lesson',
- 'milk',
- 'misery',
- 'nail',
- 'naked',
- 'ourselves',
- 'poet',
- 'possible',
- 'princess',
- 'sail',
- 'size',
- 'snake',
- 'society',
- 'stroke',
- 'torture',
- 'toss',
- 'trace',
- 'wise',
- 'bloom',
- 'bullet',
- 'cell',
- 'check',
- 'cost',
- 'darling',
- 'during',
- 'footstep',
- 'fragile',
- 'hallway',
- 'hardly',
- 'horizon',
- 'invisible',
- 'journey',
- 'midnight',
- 'mud',
- 'nod',
- 'pause',
- 'relax',
- 'shiver',
- 'sudden',
- 'value',
- 'youth',
- 'abuse',
- 'admire',
- 'blink',
- 'breast',
- 'bruise',
- 'constantly',
- 'couple',
- 'creep',
- 'curve',
- 'difference',
- 'dumb',
- 'emptiness',
- 'gotta',
- 'honor',
- 'plain',
- 'planet',
- 'recall',
- 'rub',
- 'ship',
- 'slam',
- 'soar',
- 'somebody',
- 'tightly',
- 'weather',
- 'adore',
- 'approach',
- 'bond',
- 'bread',
- 'burst',
- 'candle',
- 'coffee',
- 'cousin',
- 'crime',
- 'desert',
- 'flutter',
- 'frozen',
- 'grand',
- 'heel',
- 'hello',
- 'language',
- 'level',
- 'movement',
- 'pleasure',
- 'powerful',
- 'random',
- 'rhythm',
- 'settle',
- 'silly',
- 'slap',
- 'sort',
- 'spoken',
- 'steel',
- 'threaten',
- 'tumble',
- 'upset',
- 'aside',
- 'awkward',
- 'bee',
- 'blank',
- 'board',
- 'button',
- 'card',
- 'carefully',
- 'complain',
- 'crap',
- 'deeply',
- 'discover',
- 'drag',
- 'dread',
- 'effort',
- 'entire',
- 'fairy',
- 'giant',
- 'gotten',
- 'greet',
- 'illusion',
- 'jeans',
- 'leap',
- 'liquid',
- 'march',
- 'mend',
- 'nervous',
- 'nine',
- 'replace',
- 'rope',
- 'spine',
- 'stole',
- 'terror',
- 'accident',
- 'apple',
- 'balance',
- 'boom',
- 'childhood',
- 'collect',
- 'demand',
- 'depression',
- 'eventually',
- 'faint',
- 'glare',
- 'goal',
- 'group',
- 'honey',
- 'kitchen',
- 'laid',
- 'limb',
- 'machine',
- 'mere',
- 'mold',
- 'murder',
- 'nerve',
- 'painful',
- 'poetry',
- 'prince',
- 'rabbit',
- 'shelter',
- 'shore',
- 'shower',
- 'soothe',
- 'stair',
- 'steady',
- 'sunlight',
- 'tangle',
- 'tease',
- 'treasure',
- 'uncle',
- 'begun',
- 'bliss',
- 'canvas',
- 'cheer',
- 'claw',
- 'clutch',
- 'commit',
- 'crimson',
- 'crystal',
- 'delight',
- 'doll',
- 'existence',
- 'express',
- 'fog',
- 'football',
- 'gay',
- 'goose',
- 'guard',
- 'hatred',
- 'illuminate',
- 'mass',
- 'math',
- 'mourn',
- 'rich',
- 'rough',
- 'skip',
- 'stir',
- 'student',
- 'style',
- 'support',
- 'thorn',
- 'tough',
- 'yard',
- 'yearn',
- 'yesterday',
- 'advice',
- 'appreciate',
- 'autumn',
- 'bank',
- 'beam',
- 'bowl',
- 'capture',
- 'carve',
- 'collapse',
- 'confusion',
- 'creation',
- 'dove',
- 'feather',
- 'girlfriend',
- 'glory',
- 'government',
- 'harsh',
- 'hop',
- 'inner',
- 'loser',
- 'moonlight',
- 'neighbor',
- 'neither',
- 'peach',
- 'pig',
- 'praise',
- 'screw',
- 'shield',
- 'shimmer',
- 'sneak',
- 'stab',
- 'subject',
- 'throughout',
- 'thrown',
- 'tower',
- 'twirl',
- 'wow',
- 'army',
- 'arrive',
- 'bathroom',
- 'bump',
- 'cease',
- 'cookie',
- 'couch',
- 'courage',
- 'dim',
- 'guilt',
- 'howl',
- 'hum',
- 'husband',
- 'insult',
- 'led',
- 'lunch',
- 'mock',
- 'mostly',
- 'natural',
- 'nearly',
- 'needle',
- 'nerd',
- 'peaceful',
- 'perfection',
- 'pile',
- 'price',
- 'remove',
- 'roam',
- 'sanctuary',
- 'serious',
- 'shiny',
- 'shook',
- 'sob',
- 'stolen',
- 'tap',
- 'vain',
- 'void',
- 'warrior',
- 'wrinkle',
- 'affection',
- 'apologize',
- 'blossom',
- 'bounce',
- 'bridge',
- 'cheap',
- 'crumble',
- 'decision',
- 'descend',
- 'desperately',
- 'dig',
- 'dot',
- 'flip',
- 'frighten',
- 'heartbeat',
- 'huge',
- 'lazy',
- 'lick',
- 'odd',
- 'opinion',
- 'process',
- 'puzzle',
- 'quietly',
- 'retreat',
- 'score',
- 'sentence',
- 'separate',
- 'situation',
- 'skill',
- 'soak',
- 'square',
- 'stray',
- 'taint',
- 'task',
- 'tide',
- 'underneath',
- 'veil',
- 'whistle',
- 'anywhere',
- 'bedroom',
- 'bid',
- 'bloody',
- 'burden',
- 'careful',
- 'compare',
- 'concern',
- 'curtain',
- 'decay',
- 'defeat',
- 'describe',
- 'double',
- 'dreamer',
- 'driver',
- 'dwell',
- 'evening',
- 'flare',
- 'flicker',
- 'grandma',
- 'guitar',
- 'harm',
- 'horrible',
- 'hungry',
- 'indeed',
- 'lace',
- 'melody',
- 'monkey',
- 'nation',
- 'object',
- 'obviously',
- 'rainbow',
- 'salt',
- 'scratch',
- 'shown',
- 'shy',
- 'stage',
- 'stun',
- 'third',
- 'tickle',
- 'useless',
- 'weakness',
- 'worship',
- 'worthless',
- 'afternoon',
- 'beard',
- 'boyfriend',
- 'bubble',
- 'busy',
- 'certain',
- 'chin',
- 'concrete',
- 'desk',
- 'diamond',
- 'doom',
- 'drawn',
- 'due',
- 'felicity',
- 'freeze',
- 'frost',
- 'garden',
- 'glide',
- 'harmony',
- 'hopefully',
- 'hunt',
- 'jealous',
- 'lightning',
- 'mama',
- 'mercy',
- 'peel',
- 'physical',
- 'position',
- 'pulse',
- 'punch',
- 'quit',
- 'rant',
- 'respond',
- 'salty',
- 'sane',
- 'satisfy',
- 'savior',
- 'sheep',
- 'slept',
- 'social',
- 'sport',
- 'tuck',
- 'utter',
- 'valley',
- 'wolf',
- 'aim',
- 'alas',
- 'alter',
- 'arrow',
- 'awaken',
- 'beaten',
- 'belief',
- 'brand',
- 'ceiling',
- 'cheese',
- 'clue',
- 'confidence',
- 'connection',
- 'daily',
- 'disguise',
- 'eager',
- 'erase',
- 'essence',
- 'everytime',
- 'expression',
- 'fan',
- 'flag',
- 'flirt',
- 'foul',
- 'fur',
- 'giggle',
- 'glorious',
- 'ignorance',
- 'law',
- 'lifeless',
- 'measure',
- 'mighty',
- 'muse',
- 'north',
- 'opposite',
- 'paradise',
- 'patience',
- 'patient',
- 'pencil',
- 'petal',
- 'plate',
- 'ponder',
- 'possibly',
- 'practice',
- 'slice',
- 'spell',
- 'stock',
- 'strife',
- 'strip',
- 'suffocate',
- 'suit',
- 'tender',
- 'tool',
- 'trade',
- 'velvet',
- 'verse',
- 'waist',
- 'witch',
- 'aunt',
- 'bench',
- 'bold',
- 'cap',
- 'certainly',
- 'click',
- 'companion',
- 'creator',
- 'dart',
- 'delicate',
- 'determine',
- 'dish',
- 'dragon',
- 'drama',
- 'drum',
- 'dude',
- 'everybody',
- 'feast',
- 'forehead',
- 'former',
- 'fright',
- 'fully',
- 'gas',
- 'hook',
- 'hurl',
- 'invite',
- 'juice',
- 'manage',
- 'moral',
- 'possess',
- 'raw',
- 'rebel',
- 'royal',
- 'scale',
- 'scary',
- 'several',
- 'slight',
- 'stubborn',
- 'swell',
- 'talent',
- 'tea',
- 'terrible',
- 'thread',
- 'torment',
- 'trickle',
- 'usually',
- 'vast',
- 'violence',
- 'weave',
- 'acid',
- 'agony',
- 'ashamed',
- 'awe',
- 'belly',
- 'blend',
- 'blush',
- 'character',
- 'cheat',
- 'common',
- 'company',
- 'coward',
- 'creak',
- 'danger',
- 'deadly',
- 'defense',
- 'define',
- 'depend',
- 'desperate',
- 'destination',
- 'dew',
- 'duck',
- 'dusty',
- 'embarrass',
- 'engine',
- 'example',
- 'explore',
- 'foe',
- 'freely',
- 'frustrate',
- 'generation',
- 'glove',
- 'guilty',
- 'health',
- 'hurry',
- 'idiot',
- 'impossible',
- 'inhale',
- 'jaw',
- 'kingdom',
- 'mention',
- 'mist',
- 'moan',
- 'mumble',
- 'mutter',
- 'observe',
- 'ode',
- 'pathetic',
- 'pattern',
- 'pie',
- 'prefer',
- 'puff',
- 'rape',
- 'rare',
- 'revenge',
- 'rude',
- 'scrape',
- 'spiral',
- 'squeeze',
- 'strain',
- 'sunset',
- 'suspend',
- 'sympathy',
- 'thigh',
- 'throne',
- 'total',
- 'unseen',
- 'weapon',
- 'weary'
- ];
- static wc: number = 1626;
-
- constructor(bits: number = 96) {
- if (bits % 32 !== 0) {
- throw new Error('Can only generate 32/64/96/128 bit passwords');
- }
- this.seed = Mnemonic.getRandom(bits);
- }
-
- static fromSeed(seed: Uint32Array): Mnemonic {
- const instance = Object.create(Mnemonic.prototype);
- instance.seed = seed;
- return instance;
- }
-
- static fromWords(words: string[]): Mnemonic {
- const n = Mnemonic.wc;
- const l = words.length / 3;
- const seed = new Uint32Array(l);
-
- for (let i = 0; i < l; i++) {
- const w1 = Mnemonic.words.indexOf(words[3 * i]);
- const w2 = Mnemonic.words.indexOf(words[3 * i + 1]);
- const w3 = Mnemonic.words.indexOf(words[3 * i + 2]);
-
- if (w1 < 0 || w2 < 0 || w3 < 0) {
- throw new Error('Invalid word found in mnemonic.');
- }
-
- seed[i] = w1 + n * Mnemonic._mod(w2 - w1, n) + n * n * Mnemonic._mod(w3 - w2, n);
- }
-
- return Mnemonic.fromSeed(seed);
- }
-
- static fromHex(hex: string): Mnemonic {
- if (!/^[0-9a-fA-F]+$/.test(hex) || hex.length % 8 !== 0) {
- throw new Error('Invalid hex input');
- }
-
- const parts = hex.match(/.{1,8}/g)!;
- const seed = new Uint32Array(parts.length);
-
- for (let i = 0; i < parts.length; i++) {
- seed[i] = parseInt(parts[i], 16);
- }
-
- return Mnemonic.fromSeed(seed);
- }
-
- toHex(): string {
- return Array.from(this.seed)
- .map((val) => ('00000000' + val.toString(16)).slice(-8))
- .join('');
- }
-
- toWords(): string[] {
- const words: string[] = [];
- const n = Mnemonic.wc;
-
- for (const x of this.seed) {
- const w1 = x % n;
- const w2 = (((x / n) | 0) + w1) % n;
- const w3 = (((((x / n) | 0) / n) | 0) + w2) % n;
-
- words.push(Mnemonic.words[w1], Mnemonic.words[w2], Mnemonic.words[w3]);
- }
-
- return words;
- }
-
- private static getRandom(bits: number): Uint32Array {
- const arr = new Uint32Array(bits / 32);
- if (typeof crypto !== 'undefined' && crypto.getRandomValues) {
- crypto.getRandomValues(arr);
- } else {
- throw new Error('Web Crypto API is not available');
- }
- return arr;
- }
-
- private static _mod(a: number, b: number): number {
- return ((a % b) + b) % b;
- }
-}
diff --git a/new-web/src/lib/utils/vm/storage.ts b/new-web/src/lib/utils/vm/storage.ts
deleted file mode 100644
index 7abeb9d7..00000000
--- a/new-web/src/lib/utils/vm/storage.ts
+++ /dev/null
@@ -1,112 +0,0 @@
-import type { Cell } from '$lib/components/ui/table';
-import type { Column, Row } from '$lib/types/components/tree-table';
-import type { Download } from '$lib/types/utilities/downloader';
-import type { VM } from '$lib/types/vm/vm';
-import type { Dataset } from '$lib/types/zfs/dataset';
-import humanFormat from 'human-format';
-import type { CellComponent } from 'tabulator-tables';
-import { renderWithIcon } from '../table';
-
-export function generateTableData(
- vm: VM,
- datasets: Dataset[],
- downloads: Download[]
-): {
- rows: Row[];
- columns: Column[];
-} {
- const rows: Row[] = [];
- const columns: Column[] = [
- {
- field: 'id',
- title: 'ID',
- visible: false
- },
- {
- field: 'type',
- title: 'Type',
- visible: false
- },
- {
- field: 'name',
- title: 'Name',
- formatter: (cell: CellComponent) => {
- const value = cell.getValue();
- const row = cell.getRow().getData();
- if (row.type === 'iso') {
- return renderWithIcon('tdesign:cd-filled', value, 'text-green-500', 'CD-ROM');
- } else if (row.type === 'zvol') {
- return renderWithIcon(
- 'carbon:volume-block-storage',
- value,
- 'text-blue-500',
- 'ZFS Volume'
- );
- }
- return value;
- }
- },
- {
- field: 'size',
- title: 'Size',
- formatter: (cell: CellComponent) => {
- const value = cell.getValue();
- if (value === 0) {
- return '-';
- }
- return humanFormat(value);
- }
- }
- ];
-
- const storages = vm.storages || [];
-
- for (const storage of storages) {
- let name = '';
- let size = 0;
-
- if (storage.detached) {
- continue;
- }
-
- if (storage.type === 'iso') {
- const download = downloads.find((d) => d.uuid === storage.dataset);
- name = download ? download.name : 'Unknown ISO';
- size = download ? download.size : 0;
- } else if (storage.type === 'zvol' || storage.type === 'raw') {
- for (const dataset of datasets) {
- let found: Dataset | null = null;
-
- if (dataset.properties['guid'] && dataset.properties['guid'] === storage.dataset) {
- found = dataset;
- }
-
- if (found) {
- name = (found as Dataset).name;
- if (storage.type === 'raw') {
- name += `/sylve-vm-images/${vm.vmId}.img`;
- size = storage.size || 0;
- } else if (storage.type === 'zvol') {
- if (dataset.volsize) {
- size = dataset.volsize;
- }
- }
-
- break;
- }
- }
- }
-
- rows.push({
- id: storage.id,
- type: storage.type,
- name: name,
- size: size
- });
- }
-
- return {
- rows: rows,
- columns
- };
-}
diff --git a/new-web/src/lib/utils/vm/vm.ts b/new-web/src/lib/utils/vm/vm.ts
deleted file mode 100644
index 707401b4..00000000
--- a/new-web/src/lib/utils/vm/vm.ts
+++ /dev/null
@@ -1,96 +0,0 @@
-import type { CreateData } from '$lib/types/vm/vm';
-import { toast } from "svelte-sonner";
-import { isValidMACAddress, isValidVMName } from '../string';
-
-export function isValidCreateData(modal: CreateData): boolean {
- const toastConfig: Record = {
- duration: 3000,
- position: 'bottom-center'
- };
-
- if (!isValidVMName(modal.name)) {
- toast.error('Invalid name', toastConfig);
- return false;
- }
-
- if (modal.id < 1 || modal.id > 9999) {
- toast.error('Invalid ID', toastConfig);
- return false;
- }
-
- if (modal.description && (modal.description.length < 1 || modal.description.length > 1024)) {
- toast.error('Invalid description', toastConfig);
- }
-
- if (modal.storage.type === 'raw') {
- if (!modal.storage.size || modal.storage.size < 1024 * 1024 * 128) {
- toast.error('Disk size must be >= 128 MiB', toastConfig);
- }
- }
-
- if (modal.storage.type === 'raw' || modal.storage.type === 'zvol') {
- if (!modal.storage.guid || modal.storage.guid.length < 1) {
- const noun = modal.storage.type === 'raw' ? 'filesystem' : 'volume';
- toast.error(`No ${noun} selected`, toastConfig);
- return false;
- }
- }
-
- if (modal.storage.emulation === '') {
- toast.error('No emulation type selected', toastConfig);
- }
-
- if (modal.storage.type === 'none' && modal.storage.iso === '') {
- toast.error('Atleast one disk or ISO must be selected', toastConfig);
- return false;
- }
-
- if (modal.network.switch !== 0) {
- if (modal.network.emulation === '') {
- toast.error('No network emulation type selected', toastConfig);
- return false;
- }
-
- if (modal.network.mac && isValidMACAddress(modal.network.mac) === false) {
- toast.error('Invalid MAC address', toastConfig);
- return false;
- }
- }
-
- if (modal.hardware.sockets < 1) {
- toast.error('Sockets must be >= 1', toastConfig);
- return false;
- }
-
- if (modal.hardware.cores < 1) {
- toast.error('Cores must be >= 1', toastConfig);
- return false;
- }
-
- if (modal.hardware.threads < 1) {
- toast.error('Threads must be >= 1', toastConfig);
- return false;
- }
-
- if (modal.hardware.memory < 1024 * 1024 * 128) {
- toast.error('Memory must be >= 128 MiB', toastConfig);
- return false;
- }
-
- if (modal.advanced.vncPort < 1 || modal.advanced.vncPort > 65535) {
- toast.error('VNC port must be between 1 and 65535', toastConfig);
- return false;
- }
-
- if (modal.advanced.vncPassword && modal.advanced.vncPassword.length < 1) {
- toast.error('VNC password required', toastConfig);
- return false;
- }
-
- if (modal.advanced.vncResolution === '') {
- toast.error('No VNC resolution selected', toastConfig);
- return false;
- }
-
- return true;
-}
diff --git a/new-web/src/lib/utils/zfs.ts b/new-web/src/lib/utils/zfs.ts
deleted file mode 100644
index d15968d9..00000000
--- a/new-web/src/lib/utils/zfs.ts
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
-import { getPools } from '$lib/api/zfs/pool';
-import type { Zpool } from '$lib/types/zfs/pool';
-
-export async function getTotalDiskUsage(): Promise {
- try {
- const pools = await getPools();
- const total = pools.reduce((acc, pool) => acc + pool.size, 0);
- const used = pools.reduce((acc, pool) => acc + pool.allocated, 0);
-
- if (total === 0) {
- return 0.0;
- }
-
- return (used / total) * 100;
- } catch (e) {
- return 0.0;
- }
-}
-
-export function isDeviceVdev(device: string, pools: Zpool[]): boolean {
- if (pools.length === 0) {
- return false;
- }
-
- for (const pool of pools) {
- for (const vdev of pool.vdevs) {
- if (vdev.name === device || vdev.name === `/dev/${device}`) {
- return true;
- }
- }
- }
-
- return false;
-}
-
-export function getHealthHelpers(health: string): { icon: string; color: string; text: string } {
- switch (health) {
- case 'ONLINE':
- return {
- icon: 'carbon:checkmark-filled',
- color: 'text-green-600 dark:text-green-500',
- text: 'Online'
- };
- case 'DEGRADED':
- return {
- icon: 'carbon:warning-filled',
- color: 'text-yellow-600 dark:text-yellow-500',
- text: 'Degraded'
- };
- case 'FAULTED':
- return {
- icon: 'carbon:close-filled',
- color: 'text-red-600 dark:text-red-500',
- text: 'Faulted'
- };
- case 'OFFLINE':
- return {
- icon: 'material-symbols:offline-pin-off',
- color: 'text-red-600 dark:text-red-500',
- text: 'Offline'
- };
- case 'UNAVAIL':
- return {
- icon: 'carbon:warning-alt-filled',
- color: 'text-yellow-600 dark:text-yellow-500',
- text: 'Unavailable'
- };
- case 'REMOVED':
- return {
- icon: 'carbon:warning-alt-filled',
- color: 'text-yellow-600 dark:text-yellow-500',
- text: 'Removed'
- };
- default:
- return {
- icon: 'carbon:warning-alt-filled',
- color: 'text-yellow-600 dark:text-yellow-500',
- text: 'Unknown'
- };
- }
-}
-
-export function isValidPoolName(name: string): boolean {
- const reserved = ['log', 'mirror', 'raidz', 'raidz1', 'raidz2', 'raidz3', 'spare'];
-
- if (!name) return false;
- if (reserved.some((r) => name.startsWith(r))) return false;
- if (!/^[a-zA-Z]/.test(name)) return false;
- if (!/^[a-zA-Z0-9_.-]+$/.test(name)) return false;
- if (name.includes('%')) return false;
- if (/^c[0-9]/.test(name)) return false;
-
- return true;
-}
-
-export function isValidDatasetName(name: string): boolean {
- if (!name || typeof name !== 'string') return false;
- if (name.length > 255) return false;
- if (/[^\x21-\x7E]/.test(name)) return false;
- if (name.includes('%') || name.includes(' ')) return false;
-
- const components = name.split('/');
- for (const comp of components) {
- if (!comp) return false;
- if (!/^[a-zA-Z0-9_.-]+$/.test(comp)) return false;
- if (comp.startsWith('.') || comp.startsWith('-')) return false;
- }
-
- return true;
-}
diff --git a/new-web/src/lib/utils/zfs/dataset/dataset.ts b/new-web/src/lib/utils/zfs/dataset/dataset.ts
deleted file mode 100644
index ac79d56a..00000000
--- a/new-web/src/lib/utils/zfs/dataset/dataset.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import type { Dataset, GroupedByPool } from '$lib/types/zfs/dataset';
-import type { Zpool } from '$lib/types/zfs/pool';
-
-export function groupByPool(
- pools: Zpool[] | undefined,
- datasets: Dataset[] | undefined
-): GroupedByPool[] {
- if (!pools || !datasets) {
- return [];
- }
-
- const grouped = pools.map((pool) => {
- return {
- name: pool.name,
- pool: pool,
- filesystems: datasets.filter(
- (dataset) => dataset.name.startsWith(pool.name) && dataset.type === 'filesystem'
- ),
- snapshots: datasets.filter(
- (dataset) => dataset.name.startsWith(pool.name) && dataset.type === 'snapshot'
- ),
- volumes: datasets.filter(
- (dataset) => dataset.name.startsWith(pool.name) && dataset.type === 'volume'
- )
- };
- });
-
- return grouped;
-}
-
-export function getDatasetByGUID(
- datasets: Dataset[] | undefined,
- guid: string
-): Dataset | undefined {
- if (!datasets) {
- return undefined;
- }
-
- const dataset = datasets.find((dataset) => dataset.properties.guid === guid);
- return dataset;
-}
diff --git a/new-web/src/lib/utils/zfs/dataset/fs.ts b/new-web/src/lib/utils/zfs/dataset/fs.ts
deleted file mode 100644
index 696224a8..00000000
--- a/new-web/src/lib/utils/zfs/dataset/fs.ts
+++ /dev/null
@@ -1,318 +0,0 @@
-import type { APIResponse } from '$lib/types/common';
-import type { Column, Row } from '$lib/types/components/tree-table';
-import type { Dataset, GroupedByPool } from '$lib/types/zfs/dataset';
-import { generateNumberFromString } from '$lib/utils/numbers';
-import { capitalizeFirstLetter } from '$lib/utils/string';
-import { renderWithIcon, sizeFormatter } from '$lib/utils/table';
-import { cleanChildren } from '$lib/utils/tree-table';
-import { toast } from 'svelte-sonner';
-
-export const createFSProps = {
- atime: [
- {
- label: 'On',
- value: 'on'
- },
- {
- label: 'Off',
- value: 'off'
- }
- ],
- checksum: [
- {
- label: 'On',
- value: 'on'
- },
- {
- label: 'Off',
- value: 'off'
- },
- {
- label: 'fletcher2',
- value: 'fletcher2'
- },
- {
- label: 'fletcher4',
- value: 'fletcher4'
- },
- {
- label: 'sha256',
- value: 'sha256'
- },
- {
- label: 'noparity',
- value: 'noparity'
- }
- ],
- compression: [
- {
- label: 'On',
- value: 'on'
- },
- {
- label: 'Off',
- value: 'off'
- },
- {
- label: 'gzip',
- value: 'gzip'
- },
- {
- label: 'lz4',
- value: 'lz4'
- },
- {
- label: 'lzjb',
- value: 'lzjb'
- },
- {
- label: 'zle',
- value: 'zle'
- },
- {
- label: 'zstd',
- value: 'zstd'
- },
- {
- label: 'zstd-fast',
- value: 'zstd-fast'
- }
- ],
- dedup: [
- {
- label: 'Off',
- value: 'off'
- },
- {
- label: 'On',
- value: 'on'
- },
- {
- label: 'Verify',
- value: 'verify'
- }
- ],
- encryption: [
- {
- label: 'Off',
- value: 'off'
- },
- {
- label: 'On',
- value: 'on'
- },
- {
- label: 'aes-128-ccm',
- value: 'aes-128-ccm'
- },
- {
- label: 'aes-192-ccm',
- value: 'aes-192-ccm'
- },
- {
- label: 'aes-256-ccm',
- value: 'aes-256-ccm'
- },
- {
- label: 'aes-128-gcm',
- value: 'aes-128-gcm'
- },
- {
- label: 'aes-192-gcm',
- value: 'aes-192-gcm'
- },
- {
- label: 'aes-256-gcm',
- value: 'aes-256-gcm'
- }
- ]
-};
-
-export function generateTableData(grouped: GroupedByPool[]): { rows: Row[]; columns: Column[] } {
- const rows: Row[] = [];
- const columns: Column[] = [
- {
- field: 'id',
- title: 'ID',
- visible: false
- },
- {
- field: 'name',
- title: 'Name',
- formatter: (cell) => {
- const value = cell.getValue();
-
- if (value.includes('@')) {
- const [, snapshot] = value.split('@');
- return renderWithIcon('carbon:ibm-cloud-vpc-block-storage-snapshots', snapshot);
- }
-
- if (value.includes('/')) {
- return renderWithIcon('material-symbols:files', value.substring(value.indexOf('/') + 1));
- }
-
- if (!value.includes('/') && !value.includes('@')) {
- return renderWithIcon('bi:hdd-stack-fill', value);
- }
-
- return `${value} `;
- }
- },
- {
- field: 'used',
- title: 'Used',
- formatter: sizeFormatter
- },
- {
- field: 'avail',
- title: 'Available',
- formatter: sizeFormatter
- },
- {
- field: 'referenced',
- title: 'Referenced',
- formatter: sizeFormatter
- },
- {
- field: 'mountpoint',
- title: 'Mount Point'
- },
- {
- field: 'type',
- title: 'Type',
- visible: false
- }
- ];
-
- for (const group of grouped) {
- const poolLevelFilesystem = group.filesystems.find(
- (fs: Dataset) => fs.type === 'filesystem' && fs.name === group.name
- );
-
- const filesystemChildren = group.filesystems.filter(
- (fs) => fs.type === 'filesystem' && fs.name !== group.name
- );
-
- const snapshotChildren = group.snapshots;
-
- if (poolLevelFilesystem) {
- const poolSnapshots = snapshotChildren.filter((snapshot) =>
- snapshot.name.startsWith(group.name + '@')
- );
-
- const childFilesystemsWithSnapshots = filesystemChildren.map((filesystem: Dataset) => ({
- id: generateNumberFromString(filesystem.name) + 1,
- name: filesystem.name,
- used: filesystem.used,
- avail: filesystem.avail,
- referenced: filesystem.referenced,
- mountpoint: filesystem.mountpoint || '',
- children: snapshotChildren
- .filter((snapshot) => snapshot.name.startsWith(filesystem.name + '@'))
- .map((snapshot: Dataset) => ({
- id: generateNumberFromString(snapshot.name) + 2,
- name: snapshot.name,
- used: snapshot.used,
- avail: snapshot.avail,
- referenced: snapshot.referenced,
- mountpoint: snapshot.mountpoint || '',
- children: []
- })),
- type: filesystem.type
- }));
-
- rows.push({
- id: generateNumberFromString(group.name),
- name: group.name,
- used: poolLevelFilesystem.used,
- avail: poolLevelFilesystem.avail,
- referenced: poolLevelFilesystem.referenced,
- mountpoint: poolLevelFilesystem.mountpoint || '',
- children: [
- ...poolSnapshots.map((snapshot: Dataset) => ({
- id: generateNumberFromString(snapshot.name) + 1,
- name: snapshot.name,
- used: snapshot.used,
- avail: snapshot.avail,
- referenced: snapshot.referenced,
- mountpoint: snapshot.mountpoint || '',
- children: [],
- isPoolSnapshot: true
- })),
- ...childFilesystemsWithSnapshots
- ].sort((a, b) => {
- const aIsPoolSnapshot = a.hasOwnProperty('isPoolSnapshot');
- const bIsPoolSnapshot = b.hasOwnProperty('isPoolSnapshot');
- if (aIsPoolSnapshot && !bIsPoolSnapshot) return -1;
- if (!aIsPoolSnapshot && bIsPoolSnapshot) return 1;
- return a.name.localeCompare(b.name);
- }),
- type: 'pool'
- });
- } else if (group.filesystems.length > 0) {
- rows.push(
- ...group.filesystems
- .filter((fs) => fs.type === 'filesystem')
- .map((filesystem: Dataset) => ({
- id: generateNumberFromString(filesystem.name),
- name: filesystem.name,
- used: filesystem.used,
- avail: filesystem.avail,
- referenced: filesystem.referenced,
- mountpoint: filesystem.mountpoint || '',
- children: snapshotChildren
- .filter((snapshot) => snapshot.name.startsWith(filesystem.name + '@'))
- .map((snapshot: Dataset) => ({
- id: generateNumberFromString(snapshot.name) + 1,
- name: snapshot.name,
- used: snapshot.used,
- avail: snapshot.avail,
- referenced: snapshot.referenced,
- mountpoint: snapshot.mountpoint || '',
- children: []
- }))
- .sort((a, b) => a.name.localeCompare(b.name))
- }))
- );
- }
- }
-
- return {
- rows: rows.map(cleanChildren),
- columns
- };
-}
-
-export function handleError(error: APIResponse): void {
- if (error.error?.includes('dataset already exists')) {
- let value = '';
-
- if (error.error?.includes('snapshot')) {
- value = 'Snapshot already exists';
- } else {
- value = 'Filesystem already exists';
- }
-
- toast.error(value, {
- position: 'bottom-center'
- });
- }
-
- if (error.error?.includes('numeric value is too large')) {
- toast.error('Numeric value is too large', {
- position: 'bottom-center'
- });
- }
-
- if (error.error?.includes('invalid_encryption_key_length')) {
- toast.error('Invalid encryption key length', {
- position: 'bottom-center'
- });
- }
-
- if (error.error?.includes('pool or dataset is busy')) {
- toast.error('Pool or dataset is busy', {
- position: 'bottom-center'
- });
- }
-}
diff --git a/new-web/src/lib/utils/zfs/dataset/snapshot.ts b/new-web/src/lib/utils/zfs/dataset/snapshot.ts
deleted file mode 100644
index 3266337c..00000000
--- a/new-web/src/lib/utils/zfs/dataset/snapshot.ts
+++ /dev/null
@@ -1,93 +0,0 @@
-import type { Column, Row } from '$lib/types/components/tree-table';
-import type { Dataset, GroupedByPool } from '$lib/types/zfs/dataset';
-import { generateNumberFromString } from '$lib/utils/numbers';
-import { renderWithIcon, sizeFormatter } from '$lib/utils/table';
-
-export function generateTableData(grouped: GroupedByPool[]): { rows: Row[]; columns: Column[] } {
- const rows: Row[] = [];
- const columns: Column[] = [
- {
- field: 'id',
- title: 'ID',
- visible: false
- },
- {
- field: 'name',
- title: 'Name',
- formatter: (cell) => {
- const value = cell.getValue();
-
- if (!value.includes('@') && !value.includes('/')) {
- return renderWithIcon('bi:hdd-stack-fill', value);
- }
-
- if (value.includes('/')) {
- const [pool, ...rest] = value.split('/');
- const name = rest.join('/');
- return renderWithIcon('carbon:ibm-cloud-vpc-block-storage-snapshots', name);
- }
-
- return renderWithIcon('carbon:ibm-cloud-vpc-block-storage-snapshots', value);
- }
- },
- {
- field: 'used',
- title: 'Used',
- formatter: sizeFormatter
- },
- {
- field: 'avail',
- title: 'Available',
- formatter: sizeFormatter
- },
- {
- field: 'referenced',
- title: 'Referenced',
- formatter: sizeFormatter
- },
- {
- field: 'mountpoint',
- title: 'Mount Point'
- }
- ];
-
- for (const group of grouped) {
- const poolLevelFilesystem = group.filesystems.find(
- (fs: Dataset) => fs.type === 'filesystem' && fs.name === group.name
- );
-
- if (!poolLevelFilesystem) continue;
-
- const poolSnapshots = group.snapshots.filter(
- (snapshot) =>
- snapshot.name.startsWith(group.name + '@') || snapshot.name.startsWith(group.name + '/')
- );
-
- const children = poolSnapshots.map((snapshot: Dataset) => ({
- id: generateNumberFromString(snapshot.name),
- name: snapshot.name,
- used: snapshot.used,
- avail: snapshot.avail,
- referenced: snapshot.referenced,
- mountpoint: snapshot.mountpoint || '',
- children: [],
- type: 'snapshot'
- }));
-
- rows.push({
- id: generateNumberFromString(group.name),
- name: group.name,
- used: poolLevelFilesystem.used,
- avail: poolLevelFilesystem.avail,
- referenced: poolLevelFilesystem.referenced,
- mountpoint: poolLevelFilesystem.mountpoint || '',
- type: 'pool',
- children
- });
- }
-
- return {
- rows,
- columns
- };
-}
diff --git a/new-web/src/lib/utils/zfs/dataset/volume.ts b/new-web/src/lib/utils/zfs/dataset/volume.ts
deleted file mode 100644
index ae84cd4b..00000000
--- a/new-web/src/lib/utils/zfs/dataset/volume.ts
+++ /dev/null
@@ -1,317 +0,0 @@
-import type { APIResponse } from '$lib/types/common';
-import type { Column, Row } from '$lib/types/components/tree-table';
-import type { GroupedByPool } from '$lib/types/zfs/dataset';
-import { generateNumberFromString } from '$lib/utils/numbers';
-import { renderWithIcon, sizeFormatter } from '$lib/utils/table';
-import { cleanChildren } from '$lib/utils/tree-table';
-import { toast } from 'svelte-sonner';
-
-export const createVolProps = {
- atime: [
- {
- label: 'Yes',
- value: 'on'
- },
- {
- label: 'No',
- value: 'off'
- }
- ],
- checksum: [
- {
- label: 'Yes',
- value: 'on'
- },
- {
- label: 'No',
- value: 'off'
- },
- {
- label: 'fletcher2',
- value: 'fletcher2'
- },
- {
- label: 'fletcher4',
- value: 'fletcher4'
- },
- {
- label: 'sha256',
- value: 'sha256'
- },
- {
- label: 'noparity',
- value: 'noparity'
- }
- ],
- compression: [
- {
- label: 'Yes',
- value: 'on'
- },
- {
- label: 'No',
- value: 'off'
- },
- {
- label: 'gzip',
- value: 'gzip'
- },
- {
- label: 'lz4',
- value: 'lz4'
- },
- {
- label: 'lzjb',
- value: 'lzjb'
- },
- {
- label: 'zle',
- value: 'zle'
- },
- {
- label: 'zstd',
- value: 'zstd'
- },
- {
- label: 'zstd-fast',
- value: 'zstd-fast'
- }
- ],
- dedup: [
- {
- label: 'No',
- value: 'off'
- },
- {
- label: 'Yes',
- value: 'on'
- },
- {
- label: 'Verify',
- value: 'verify'
- }
- ],
- encryption: [
- {
- label: 'No',
- value: 'off'
- },
- {
- label: 'Yes',
- value: 'on'
- },
- {
- label: 'aes-128-ccm',
- value: 'aes-128-ccm'
- },
- {
- label: 'aes-192-ccm',
- value: 'aes-192-ccm'
- },
- {
- label: 'aes-256-ccm',
- value: 'aes-256-ccm'
- },
- {
- label: 'aes-128-gcm',
- value: 'aes-128-gcm'
- },
- {
- label: 'aes-192-gcm',
- value: 'aes-192-gcm'
- },
- {
- label: 'aes-256-gcm',
- value: 'aes-256-gcm'
- }
- ],
- volblocksize: [
- {
- label: '512B (Legacy HDD sectors)',
- value: '512'
- },
- {
- label: '1K (1024B)',
- value: '1024'
- },
- {
- label: '2K (2048B)',
- value: '2048'
- },
- {
- label: '4K (4096B) - SSD/VMs',
- value: '4096'
- },
- {
- label: '8K (8192B)',
- value: '8192'
- },
- {
- label: '16K (16384B)',
- value: '16384'
- },
- {
- label: '32K (32768B) - Sequential workloads',
- value: '32768'
- },
- {
- label: '64K (65536B) - Large files',
- value: '65536'
- },
- {
- label: '128K (131072B) Media/backups',
- value: '131072'
- }
- ],
- primarycache: [
- {
- label: 'All',
- value: 'all'
- },
- {
- label: 'Metadata',
- value: 'metadata'
- },
- {
- label: 'None',
- value: 'none'
- }
- ],
- volmode: [
- {
- label: 'default',
- value: 'default'
- },
- {
- label: 'full',
- value: 'full'
- },
- {
- label: 'geom',
- value: 'geom'
- },
- {
- label: 'dev',
- value: 'dev'
- },
- {
- label: 'none',
- value: 'none'
- }
- ]
-};
-
-export function generateTableData(grouped: GroupedByPool[]): { rows: Row[]; columns: Column[] } {
- const rows: Row[] = [];
- const columns: Column[] = [
- {
- field: 'id',
- title: 'ID',
- visible: false
- },
- {
- field: 'name',
- title: 'Name',
- formatter: (cell) => {
- const value = cell.getValue();
- if (value.includes('@')) {
- const [, snapshot] = value.split('@');
- return renderWithIcon('carbon:ibm-cloud-vpc-block-storage-snapshots', snapshot);
- }
-
- if (value.includes('/')) {
- const [, volume] = value.split('/');
- return renderWithIcon('carbon:volume-block-storage', volume);
- }
-
- if (!value.includes('/') && !value.includes('@')) {
- return renderWithIcon('bi:hdd-stack-fill', value);
- }
-
- return `${value} `;
- }
- },
- {
- field: 'size',
- title: 'Size',
- formatter: sizeFormatter
- },
- {
- field: 'referenced',
- title: 'Referenced',
- formatter: sizeFormatter
- },
- {
- field: 'guid',
- title: 'GUID',
- visible: false
- }
- ];
-
- for (const group of grouped) {
- const poolRow: Row = {
- id: generateNumberFromString(group.name),
- name: group.name,
- size: 0,
- referenced: '-',
- guid: undefined,
- children: [],
- type: 'pool'
- };
-
- poolRow.size = group.pool?.size;
-
- const volumeChildren = group.volumes
- .filter((vol) => vol.name !== group.name)
- .map((vol) => {
- const volumeRow: Row = {
- id: generateNumberFromString(vol.name),
- name: vol.name,
- size: vol.volsize,
- referenced: vol.referenced,
- guid: vol.properties?.guid,
- children: [],
- type: 'volume'
- };
-
- const snapshots = group.snapshots.filter((snap) => snap.name.startsWith(vol.name + '@'));
- volumeRow.children?.push(
- ...snapshots.map((snap) => ({
- id: generateNumberFromString(snap.name),
- name: snap.name,
- size: snap.used,
- referenced: snap.referenced,
- guid: snap.properties?.guid,
- children: [],
- type: 'snapshot'
- }))
- );
-
- return volumeRow;
- });
-
- poolRow.children?.push(...volumeChildren);
- rows.push(poolRow);
- }
-
- return {
- rows: rows.filter((row) => row.children && row.children.length > 0).map(cleanChildren),
- columns
- };
-}
-
-export function handleError(error: APIResponse): void {
- if (error.error?.includes('dataset_in_use_by_vm')) {
- toast.error('Dataset is in use by a VM', {
- position: 'bottom-center'
- });
-
- return;
- }
-
- if (error.error?.includes('dataset already exists')) {
- toast.error('Dataset already exists', {
- position: 'bottom-center'
- });
- }
-}
diff --git a/new-web/src/lib/utils/zfs/pool.ts b/new-web/src/lib/utils/zfs/pool.ts
deleted file mode 100644
index 3acbb652..00000000
--- a/new-web/src/lib/utils/zfs/pool.ts
+++ /dev/null
@@ -1,430 +0,0 @@
-import type { APIResponse, PieChartData, SeriesDataWithBaseline } from '$lib/types/common';
-import type { Column, Row } from '$lib/types/components/tree-table';
-import type { Disk } from '$lib/types/disk/disk';
-import type { Dataset } from '$lib/types/zfs/dataset';
-import type { Zpool } from '$lib/types/zfs/pool';
-import humanFormat from 'human-format';
-import { generateNumberFromString } from '../numbers';
-import { renderWithIcon, sizeFormatter } from '../table';
-
-export const raidTypeArr = [
- {
- value: 'stripe',
- label: 'Stripe',
- available: true
- },
- {
- value: 'mirror',
- label: 'Mirror',
- available: false
- },
- {
- value: 'raidz',
- label: 'RAIDZ',
- available: false
- },
- {
- value: 'raidz2',
- label: 'RAIDZ2',
- available: false
- },
- {
- value: 'raidz3',
- label: 'RAIDZ3',
- available: false
- }
-];
-
-export function generateTableData(
- pools: Zpool[],
- disks: Disk[]
-): {
- rows: Row[];
- columns: Column[];
-} {
- let rows: Row[] = [];
- let columns: Column[] = [
- {
- field: 'id',
- title: 'ID',
- visible: false
- },
- {
- field: 'name',
- title: 'Name',
- formatter: (cell) => {
- const value = cell.getValue();
-
- if (isPool(pools, value)) {
- return renderWithIcon('bi:hdd-stack-fill', value);
- }
-
- if (value.match(/p\d+$/)) {
- return renderWithIcon('ant-design:partition-outlined', value);
- }
-
- if (value.startsWith('/dev/')) {
- const nameOnly = value.replace('/dev/', '');
- const disk = disks.find((disk) => disk.device === nameOnly);
- if (disk) {
- if (disk.type === 'HDD') {
- return renderWithIcon('mdi:harddisk', value);
- } else if (disk.type === 'SSD') {
- return renderWithIcon('icon-park-outline:ssd', value);
- } else if (disk.type === 'NVMe') {
- return renderWithIcon('bi:nvme', value, 'rotate-90');
- }
- }
- }
-
- return `${value} `;
- }
- },
- {
- field: 'size',
- title: 'Size',
- formatter: sizeFormatter
- },
- {
- field: 'used',
- title: 'Used',
- formatter: sizeFormatter
- },
- {
- field: 'health',
- title: 'Health'
- },
- {
- field: 'redundancy',
- title: 'Redundancy'
- },
- {
- field: 'guid',
- title: 'GUID',
- visible: false
- }
- ];
-
- for (const pool of pools) {
- const poolRow = {
- id: generateNumberFromString(pool.name + '-pool'),
- name: pool.name,
- size: pool.size,
- used: pool.allocated,
- health: pool.health,
- redundancy: '',
- children: [] as Row[],
- guid: pool.guid || ''
- };
-
- for (const vdev of pool.vdevs) {
- if (vdev.name.includes('mirror') || vdev.name.includes('raid') || vdev.devices.length > 1) {
- let redundancy = 'Stripe';
- let vdevLabel = vdev.name;
-
- if (vdev.name.startsWith('mirror')) {
- redundancy = 'Mirror';
- vdevLabel = vdev.name.replace(/mirror-?(\d+)/i, 'Mirror $1');
- } else if (vdev.name.startsWith('raidz')) {
- redundancy = 'RAIDZ ' + vdev.name.match(/raidz-?(\d+)/i)?.[1];
- vdevLabel = vdev.name.replace(/^raidz/i, 'RAIDZ');
- }
-
- const vdevRow = {
- id: generateNumberFromString(vdev.name),
- name: vdevLabel,
- size: vdev.alloc + vdev.free,
- used: vdev.alloc,
- health: vdev.health,
- redundancy: '-',
- children: [] as Row[]
- };
-
- for (const device of vdev.devices) {
- if (
- vdev.replacingDevices &&
- vdev.replacingDevices.some(
- (r) => r.oldDrive.name === device.name || r.newDrive.name === device.name
- )
- ) {
- continue;
- }
-
- vdevRow.children.push({
- id: generateNumberFromString(device.name),
- name: device.name,
- size: device.size,
- used: '-',
- health: device.health,
- redundancy: '-',
- children: []
- });
- }
-
- if (vdev.replacingDevices && vdev.replacingDevices.length > 0) {
- for (const replacing of vdev.replacingDevices) {
- vdevRow.children.push({
- id: generateNumberFromString(replacing.oldDrive.name),
- name: `${replacing.oldDrive.name} [OLD]`,
- size: replacing.oldDrive.size,
- used: '-',
- health: `${replacing.oldDrive.health} (Being replaced)`,
- redundancy: '-',
- children: []
- });
-
- vdevRow.children.push({
- id: generateNumberFromString(replacing.newDrive.name),
- name: `${replacing.newDrive.name} [NEW]`,
- size: replacing.newDrive.size,
- used: '-',
- health: `${replacing.newDrive.health} (Replacement)`,
- redundancy: '-',
- children: []
- });
- }
- }
-
- poolRow.children.push(vdevRow);
- poolRow.redundancy = redundancy;
- } else {
- poolRow.children.push({
- id: generateNumberFromString(vdev.devices[0].name),
- name: vdev.devices[0].name,
- size: vdev.devices[0].size,
- used: '-',
- health: vdev.devices[0].health,
- redundancy: '-',
- children: []
- });
- poolRow.redundancy = 'Stripe';
- }
- }
-
- rows.push(poolRow);
-
- if (pool.spares && pool.spares.length > 0) {
- const sparesRow: Row = {
- id: generateNumberFromString(`${pool.name}-spares`),
- name: 'Spares',
- size:
- pool.spares.reduce((acc, spare) => acc + spare.size, 0) > 0
- ? pool.spares.reduce((acc, spare) => acc + spare.size, 0)
- : '-',
- used: '-',
- health: '-',
- redundancy: '-',
- children: []
- };
-
- for (const spare of pool.spares) {
- sparesRow.children!.push({
- id: generateNumberFromString(spare.name),
- name: spare.name,
- size: spare.size,
- used: '-',
- health: spare.health,
- redundancy: '-',
- children: []
- });
- }
-
- poolRow.children!.push(sparesRow);
- }
- }
-
- // spares should be at the end of the pool
- rows = rows.map((row) => {
- if (row.children) {
- const sparesIndex = row.children.findIndex((child) => child.name === 'Spares');
- if (sparesIndex !== -1) {
- const sparesRow = row.children.splice(sparesIndex, 1)[0];
- row.children.push(sparesRow);
- }
- }
- return row;
- });
-
- return {
- rows,
- columns
- };
-}
-
-export function isPool(pools: Zpool[], name: string): boolean {
- return pools.some((pool) => pool.name === name);
-}
-
-export function isReplaceableDevice(pools: Zpool[], name: string): boolean {
- for (const pool of pools) {
- if (pool.vdevs.some((vdev) => vdev.name === name)) {
- return false; // False if we're striped
- }
- }
-
- return pools.some((pool) => {
- for (const vdev of pool.vdevs) {
- if (vdev.devices.some((device) => device.name === name)) {
- return true;
- }
- }
- return false;
- });
-}
-
-export function getPoolByDevice(pools: Zpool[], name: string): string {
- for (const pool of pools) {
- for (const vdev of pool.vdevs) {
- if (vdev.devices.some((device) => device.name === name)) {
- return pool.name;
- }
- }
- }
-
- return '';
-}
-
-export function parsePoolActionError(error: APIResponse): string {
- if (error.message && error.message === 'pool_create_failed') {
- if (error.error) {
- if (error.error.includes('mirror contains devices of different sizes')) {
- return 'Pool contains a mirror with devices of different sizes';
- } else if (error.error.includes('raidz contains devices of different sizes')) {
- return 'Pool contains a RAIDZ vdev with devices of different sizes';
- }
- }
- }
-
- if (error.message && error.message === 'pool_delete_failed') {
- if (error.error) {
- if (error.error.includes('pool or dataset is busy')) {
- return 'Pool is busy';
- }
- }
- }
-
- if (error.message && error.message === 'pool_edit_failed') {
- return 'Pool edit failed';
- }
-
- return '';
-}
-
-export function getPoolUsagePieData(pools: Zpool[], pool: string): PieChartData[] {
- const poolData = pools.find((p) => p.name === pool);
-
- return [
- {
- label: 'Used',
- value: poolData?.allocated || 0,
- color: 'chart-1'
- },
- {
- label: 'Free',
- value: poolData?.free || 0,
- color: 'chart-2'
- }
- ];
-}
-
-export function getDatasetCompressionHist(
- pool: string,
- datasets: Dataset[]
-): SeriesDataWithBaseline[] {
- const results: SeriesDataWithBaseline[] = [];
- const related = datasets.filter(
- (dataset) => dataset.name.startsWith(pool + '/') || dataset.name === pool
- );
-
- for (const dataset of related) {
- const used = dataset.used || dataset.properties?.used;
- const logicalUsed = dataset.logicalused || dataset.properties?.logicalused;
-
- if (typeof used === 'number' && typeof logicalUsed === 'number' && logicalUsed > 0) {
- if (dataset.name.includes('/')) {
- results.push({
- name: dataset.name,
- baseline: logicalUsed,
- value: used
- });
- }
- }
- }
-
- results.sort((a, b) => {
- if (a.baseline !== b.baseline) {
- return b.baseline - a.baseline;
- }
-
- const ratioA = a.value / a.baseline;
- const ratioB = b.value / b.baseline;
-
- return ratioB - ratioA;
- });
-
- return results;
-}
-
-type StatType = 'allocated' | 'free' | 'size' | 'dedupRatio';
-
-export function getPoolStatsCombined(poolStats: Record, statType: StatType) {
- if (!poolStats) {
- return {
- poolStatsData: [],
- poolStatsKeys: []
- };
- }
-
- const poolStatsData = Object.entries(poolStats)
- .map(([poolName, stats]) => {
- if (!Array.isArray(stats)) return [];
-
- return stats.map((entry) => ({
- date: new Date(entry.time),
- [poolName]: entry[statType] ?? 0
- }));
- })
- .filter((array) => array.length > 0)
- // Sort each pool's data points by time
- .map((dataPoints) => dataPoints.sort((a, b) => a.date.getTime() - b.date.getTime()));
-
- const poolStatsKeys = Object.keys(poolStats).map((poolName, index) => {
- const hue = (index * 137) % 360;
- return {
- key: poolName,
- title: poolName.charAt(0).toUpperCase() + poolName.slice(1),
- color: `hsl(${hue}, 70%, 50%)`
- };
- });
-
- return { poolStatsData, poolStatsKeys };
-}
-
-export const getDateFormatByInterval = (intervalValue: number, includeTime: boolean): string => {
- if (intervalValue <= 1) return includeTime ? 'hh:mm:ss a' : 'hh:mm a';
- if (intervalValue <= 5) return includeTime ? 'hh:mm a' : 'hh:mm a';
- if (intervalValue <= 60) return includeTime ? 'hh:mm a' : 'hh:mm a';
- if (intervalValue <= 1440) return includeTime ? 'MMM d, hh:mm a' : 'MMM d';
- if (intervalValue <= 10080) return includeTime ? 'MMM d, hh:mm a' : 'MMM d';
- if (intervalValue <= 40320) return includeTime ? 'MMM yyyy' : 'MMM yyyy';
- return includeTime ? 'yyyy' : 'yyyy';
-};
-
-export function formatValue(
- value: number,
- unformattedKeys: string[] | undefined,
- valueType: string
-): string | number {
- if (unformattedKeys?.includes('dedupRatio')) return value;
-
- switch (valueType) {
- case 'fileSize':
- return humanFormat(value);
- case 'percentage':
- return `${value}%`;
- case 'celcius':
- return `${value}°C`;
- default:
- return value;
- }
-}
diff --git a/new-web/src/routes/+layout.svelte b/new-web/src/routes/+layout.svelte
deleted file mode 100644
index 2d4772da..00000000
--- a/new-web/src/routes/+layout.svelte
+++ /dev/null
@@ -1,154 +0,0 @@
-
-
-
- Sylve
-
-
-
-
-
-{#if isLoading}
-
-{:else if isLoggedIn && $hostname}
-
-
- {@render children()}
-
-
-{:else}
-
-{/if}
diff --git a/new-web/src/routes/+page.svelte b/new-web/src/routes/+page.svelte
deleted file mode 100644
index e69de29b..00000000
diff --git a/new-web/src/routes/[node]/+layout.svelte b/new-web/src/routes/[node]/+layout.svelte
deleted file mode 100644
index 62fcca25..00000000
--- a/new-web/src/routes/[node]/+layout.svelte
+++ /dev/null
@@ -1,222 +0,0 @@
-
-
-
-
-
-
-
Datacenter
-
(window.location.href = 'https://github.com/AlchemillaHQ/Sylve')}
- >
-
-
- Help
-
-
-
-
-
-
-
-
-
-
-
- {@render children?.()}
-
-
-
-
diff --git a/new-web/src/routes/[node]/+layout.ts b/new-web/src/routes/[node]/+layout.ts
deleted file mode 100644
index e69de29b..00000000
diff --git a/new-web/src/routes/[node]/+page.svelte b/new-web/src/routes/[node]/+page.svelte
deleted file mode 100644
index e69de29b..00000000
diff --git a/new-web/src/routes/[node]/network/interfaces/+page.svelte b/new-web/src/routes/[node]/network/interfaces/+page.svelte
deleted file mode 100644
index bdcf2e92..00000000
--- a/new-web/src/routes/[node]/network/interfaces/+page.svelte
+++ /dev/null
@@ -1,182 +0,0 @@
-
-
-{#snippet button(type: string)}
- {#if type === 'view' && activeRow !== null && activeRow.length > 0}
- activeRow !== null && viewInterface(activeRow[0]?.name)}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
- {'View'}
-
- {/if}
-{/snippet}
-
-
-
-
- {@render button('view')}
-
-
-
-
-
-
diff --git a/new-web/src/routes/[node]/network/interfaces/+page.ts b/new-web/src/routes/[node]/network/interfaces/+page.ts
deleted file mode 100644
index 6d0e8230..00000000
--- a/new-web/src/routes/[node]/network/interfaces/+page.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { getInterfaces } from '$lib/api/network/iface';
-import { cachedFetch } from '$lib/utils/http';
-
-export async function load() {
- const cacheDuration = 1000 * 60000;
- const [interfaces] = await Promise.all([
- cachedFetch('networkInterfaces', async () => await getInterfaces(), cacheDuration)
- ]);
-
- return {
- interfaces
- };
-}
diff --git a/new-web/src/routes/[node]/network/switches/+page.svelte b/new-web/src/routes/[node]/network/switches/+page.svelte
deleted file mode 100644
index 62fb2cdc..00000000
--- a/new-web/src/routes/[node]/network/switches/+page.svelte
+++ /dev/null
@@ -1,552 +0,0 @@
-
-
-{#snippet button(type: string)}
- {#if activeRow && Object.keys(activeRow).length > 0}
- {#if type === 'edit'}
-
-
-
- Edit
-
-
- {:else if type === 'delete'}
-
-
-
- Delete
-
-
- {/if}
- {/if}
-{/snippet}
-
-
-
-
-
{
- confirmModals.active = 'newSwitch';
- confirmModals.newSwitch.open = true;
- }}
- size="sm"
- class="h-6"
- >
-
-
- New
-
-
-
- {@render button('edit')}
- {@render button('delete')}
-
-
-
-
-
-{#if confirmModals.active === 'newSwitch' || confirmModals.active === 'editSwitch'}
-
- e.preventDefault()}
- onEscapeKeydown={(e) => e.preventDefault()}
- >
-
-
-
-
-
- {#if confirmModals.active === 'editSwitch'}
- {'Edit Switch -' + confirmModals.editSwitch.oldName}
- {:else}
- {'New Switch'}
- {/if}
-
-
-
-
-
- resetModal(false)}
- >
-
- {'Reset'}
-
- resetModal(true)}
- >
-
- {'Close'}
-
-
-
-
- {#if confirmModals.active === 'newSwitch'}
-
- {/if}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {#if confirmModals.active === 'newSwitch'}
-
- {:else}
-
- {/if}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {#if confirmModals.active === 'editSwitch'}
- {'Save'}
- {:else}
- {'Create'}
- {/if}
-
-
-
-
-{/if}
-
- {
- const result = await deleteSwitch(confirmModals.deleteSwitch.id);
- if (isAPIResponse(result) && result.status === 'success') {
- toast.success(`Switch ${confirmModals.deleteSwitch.name} deleted`, {
- position: 'bottom-center'
- });
- } else {
- if (result && result.error) {
- if (result.error === 'switch_in_use_by_vm') {
- toast.error('Switch is in use by a VM', { position: 'bottom-center' });
- } else {
- toast.error('Error deleting switch', { position: 'bottom-center' });
- }
- }
- }
-
- resetModal(true);
- },
- onCancel: () => {
- resetModal(true);
- }
- }}
->
diff --git a/new-web/src/routes/[node]/network/switches/+page.ts b/new-web/src/routes/[node]/network/switches/+page.ts
deleted file mode 100644
index a3d90e8f..00000000
--- a/new-web/src/routes/[node]/network/switches/+page.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { getInterfaces } from '$lib/api/network/iface';
-import { getSwitches } from '$lib/api/network/switch';
-import { cachedFetch } from '$lib/utils/http';
-
-export async function load() {
- const cacheDuration = 1000 * 60000;
- const [interfaces, switches] = await Promise.all([
- cachedFetch('networkInterfaces', async () => await getInterfaces(), cacheDuration),
- cachedFetch('networkSwitches', async () => await getSwitches(), cacheDuration)
- ]);
-
- return {
- interfaces,
- switches
- };
-}
diff --git a/new-web/src/routes/[node]/notes/+page.svelte b/new-web/src/routes/[node]/notes/+page.svelte
deleted file mode 100644
index 71d056aa..00000000
--- a/new-web/src/routes/[node]/notes/+page.svelte
+++ /dev/null
@@ -1,393 +0,0 @@
-
-
-{#snippet button(type: string)}
- {#if activeRow !== null && activeRow.length === 1}
- {#if type === 'view-note'}
- activeRow && viewNote(activeRow[0]?.id)}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- View
-
-
- {/if}
-
- {#if type === 'delete-note'}
- activeRow && handleDelete(activeRow[0]?.id)}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Delete
-
-
- {/if}
-
- {#if type === 'edit-note'}
- {
- const note = notes.find((note) => activeRow && note.id === activeRow[0]?.id);
- handleNote(note, true);
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Edit
-
-
- {/if}
- {/if}
-
- {#if activeRow !== null && activeRow.length > 1}
- {#if type === 'bulk-delete-note'}
- {
- const ids = activeRow?.map((row) => row.id) || [];
- handleBulkDelete(ids as number[]);
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Bulk Delete
-
-
- {/if}
- {/if}
-{/snippet}
-
-
-
-
-
-
handleNote()} size="sm" class="h-6 ">
-
-
- New
-
-
-
- {@render button('view-note')}
- {@render button('edit-note')}
- {@render button('delete-note')}
- {@render button('bulk-delete-note')}
-
-
-
-
-
-
-
-
-
- {#if modalState.isEditMode}
- {#if selectedId}
- Edit
- {:else}
- New
- {/if}
- {:else}
- View
- {/if}
-
- {'Note'}
-
-
-
- {
- modalState.title = '';
- modalState.content = '';
- }}
- >
-
- {'Reset'}
-
- {
- modalState.isOpen = false;
- modalState.title = '';
- modalState.content = '';
- }}
- >
-
- {'Close'}
-
-
-
-
-
-
-
-
- {#if modalState.isEditMode}
-
-
-
- {:else}
-
-
- Content
-
-
- {@html markdownToTailwindHTML(modalState.content)}
-
-
- {/if}
-
-
-
- {#if modalState.isEditMode}
- {'Save'}
- {/if}
-
-
-
-
-
-
-
-
-
-
{
- const id = activeRow ? activeRow[0]?.id : null;
- const result = await deleteNote(id as number);
- if (isAPIResponse(result) && result.status === 'success') {
- handleNote(undefined, false, true);
- } else {
- handleAPIError(result as APIResponse);
- toast.error('Failed to delete note', {
- position: 'bottom-center'
- });
- }
- },
- onCancel: () => {
- modalState.isDeleteOpen = false;
- }
- }}
- >
-
-
{
- const ids = activeRow
- ? activeRow.map((row) => (typeof row.id === 'number' ? row.id : parseInt(row.id)))
- : [];
- const result = await deleteNotes(ids);
- if (isAPIResponse(result) && result.status === 'success') {
- handleNote(undefined, false, true);
- } else {
- handleAPIError(result as APIResponse);
- toast.error('Failed to delete notes', {
- position: 'bottom-center'
- });
- }
- },
- onCancel: () => {
- modalState.isBulkDeleteOpen = false;
- }
- }}
- >
-
diff --git a/new-web/src/routes/[node]/notes/+page.ts b/new-web/src/routes/[node]/notes/+page.ts
deleted file mode 100644
index bc95bccc..00000000
--- a/new-web/src/routes/[node]/notes/+page.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { getNotes } from '$lib/api/info/notes';
-import type { Note } from '$lib/types/info/notes';
-import { SEVEN_DAYS } from '$lib/utils';
-import { cachedFetch } from '$lib/utils/http';
-
-export async function load() {
- const cacheDuration = SEVEN_DAYS;
- const [notes] = await Promise.all([cachedFetch('notes', async () => getNotes(), cacheDuration)]);
-
- return {
- notes: notes as Note[]
- };
-}
diff --git a/new-web/src/routes/[node]/settings/device-passthrough/+page.svelte b/new-web/src/routes/[node]/settings/device-passthrough/+page.svelte
deleted file mode 100644
index f29dc73d..00000000
--- a/new-web/src/routes/[node]/settings/device-passthrough/+page.svelte
+++ /dev/null
@@ -1,182 +0,0 @@
-
-
-{#snippet button(type: string)}
- {#if activeRow !== null && activeRow.length === 1}
- {#if type === 'enable-passthrough' && !activeRow[0].name.startsWith('ppt')}
-
- activeRow && addDevice(activeRow[0].domain.toString(), activeRow[0].deviceId)}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Enable Passthrough
-
-
- {/if}
-
- {#if type === 'disable-passthrough' && activeRow[0].name.startsWith('ppt')}
- activeRow && removeDevice(activeRow[0].pptId)}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Disable Passthrough
-
-
- {/if}
- {/if}
-{/snippet}
-
-
-
-
-
- {@render button('enable-passthrough')}
- {@render button('disable-passthrough')}
-
-
-
-
-
-
-
- {
- if (modalState.action === 'add') {
- const result = await addPPTDevice(modalState.add.domain, modalState.add.deviceId);
- if (result.status === 'success') {
- toast.success('Device added to passthrough', {
- position: 'bottom-center'
- });
- } else {
- toast.error('Failed to add device to passthrough', {
- position: 'bottom-center'
- });
- }
-
- modalState.isOpen = false;
- }
-
- if (modalState.action === 'remove') {
- const result = await removePPTDevice(modalState.remove.id.toString());
-
- if (result.status === 'success') {
- toast.success('Device removed from passthrough', {
- position: 'bottom-center'
- });
- } else {
- toast.error('Failed to remove device from passthrough', {
- position: 'bottom-center'
- });
- }
-
- modalState.isOpen = false;
- }
- },
- onCancel: () => {
- modalState.isOpen = false;
- }
- }}
->
diff --git a/new-web/src/routes/[node]/settings/device-passthrough/+page.ts b/new-web/src/routes/[node]/settings/device-passthrough/+page.ts
deleted file mode 100644
index 477be7ec..00000000
--- a/new-web/src/routes/[node]/settings/device-passthrough/+page.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { getPCIDevices, getPPTDevices } from '$lib/api/system/pci';
-import { SEVEN_DAYS } from '$lib/utils';
-import { cachedFetch } from '$lib/utils/http';
-
-export async function load() {
- const cacheDuration = SEVEN_DAYS;
- const [pciDevices, pptDevices] = await Promise.all([
- cachedFetch('pciDevices', async () => await getPCIDevices(), cacheDuration),
- cachedFetch('pptDevices', async () => await getPPTDevices(), cacheDuration)
- ]);
-
- return {
- pciDevices,
- pptDevices
- };
-}
diff --git a/new-web/src/routes/[node]/storage/disks/+page.svelte b/new-web/src/routes/[node]/storage/disks/+page.svelte
deleted file mode 100644
index 26ff362b..00000000
--- a/new-web/src/routes/[node]/storage/disks/+page.svelte
+++ /dev/null
@@ -1,345 +0,0 @@
-
-
-{#snippet button(type: string)}
- {#if type == 'smart' && buttonAbilities.smart.ability}
- diskAction('smart')} size="sm" variant="outline" class="h-6.5">
-
-
- S.M.A.R.T Values
-
-
- {/if}
-
- {#if type == 'gpt' && buttonAbilities.gpt.ability}
- diskAction('gpt')} size="sm" variant="outline" class="h-6.5">
-
-
- Initialize GPT
-
-
- {/if}
-
- {#if type == 'wipe-disk' && buttonAbilities.wipe.ability && activeDisk !== null}
- diskAction('wipe')} size="sm" variant="outline" class="h-6.5">
-
-
- Wipe Disk
-
-
- {/if}
-
- {#if type == 'wipe-partition' && buttonAbilities.wipe.ability && activePartition !== null}
- diskAction('wipe')} size="sm" variant="outline" class="h-6.5">
-
-
- Delete Partition
-
-
- {/if}
-
- {#if type == 'partition' && buttonAbilities.createPartition.ability}
- diskAction('partition')} size="sm" variant="outline" class="h-6.5">
-
-
- Create Partition
-
-
- {/if}
-{/snippet}
-
-
-
-
-
- {@render button('smart')}
- {@render button('gpt')}
- {@render button('partition')}
- {@render button('wipe-disk')}
- {@render button('wipe-partition')}
-
-
-
{
- smartModal.open = false;
- }
- }}
- >
-
-
-
-
- {
- if (activeDisk || activePartition) {
- const message = activeDisk ? 'Disk Wiped' : 'Partition Deleted';
-
- const result = activeDisk
- ? await destroyDisk(`/dev/${activeDisk.device}`)
- : await destroyPartition(`/dev/${activePartition?.name}`);
-
- if (result.status === 'success') {
- toast.success(message, { position: 'bottom-center' });
- activeRow = null;
- } else {
- handleAPIError(result);
- if (
- (result.status === 'error' && result.message === 'error_wiping_disk') ||
- result.message === 'error_deleting_partition'
- ) {
- let message = '';
- if (result.error?.includes('Device busy')) {
- if (activeDisk) {
- message = 'Unable to wipe busy disk';
- } else {
- message = 'Unable to delete busy partition';
- }
- } else {
- message = `Error ${activeDisk ? 'wiping disk' : 'deleting partition'}: ${result.error}`;
- }
-
- toast.error(message, { position: 'bottom-center' });
- }
- }
- }
- wipeModal.title = '';
- wipeModal.open = false;
- },
- onCancel: () => {
- wipeModal.title = '';
- wipeModal.open = false;
- }
- }}
- customTitle={wipeModal.title}
->
-
- {
- partitionModal.open = false;
- partitionModal.disk = null;
- }}
-/>
diff --git a/new-web/src/routes/[node]/storage/disks/+page.ts b/new-web/src/routes/[node]/storage/disks/+page.ts
deleted file mode 100644
index 34c9c34a..00000000
--- a/new-web/src/routes/[node]/storage/disks/+page.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { listDisks } from '$lib/api/disk/disk';
-import { getPools } from '$lib/api/zfs/pool';
-import { SEVEN_DAYS } from '$lib/utils';
-import { cachedFetch } from '$lib/utils/http';
-
-export async function load() {
- const cacheDuration = SEVEN_DAYS;
- const [disks, pools] = await Promise.all([
- cachedFetch('disks', async () => await listDisks(), cacheDuration),
- cachedFetch('pools', getPools, cacheDuration)
- ]);
-
- return {
- disks,
- pools
- };
-}
diff --git a/new-web/src/routes/[node]/storage/zfs/dashboard/+page.svelte b/new-web/src/routes/[node]/storage/zfs/dashboard/+page.svelte
deleted file mode 100644
index 6d1c193c..00000000
--- a/new-web/src/routes/[node]/storage/zfs/dashboard/+page.svelte
+++ /dev/null
@@ -1,218 +0,0 @@
-
-
-{#snippet card(type: string)}
-
-
-
-
-
- {getCardDetails(type).title}
-
-
-
-
-
- {counts[type as CardType]}
-
-
-
-{/snippet}
-
-
-
- {#each ['pools', 'datasets', 'file_systems', 'volumes', 'snapshots'] as type}
-
- {@render card(type)}
-
- {/each}
-
-
-
- {#if pools.length > 0}
-
- {/if}
-
-
diff --git a/new-web/src/routes/[node]/storage/zfs/dashboard/+page.ts b/new-web/src/routes/[node]/storage/zfs/dashboard/+page.ts
deleted file mode 100644
index 7d83a1ad..00000000
--- a/new-web/src/routes/[node]/storage/zfs/dashboard/+page.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { getDatasets } from '$lib/api/zfs/datasets';
-import { getPools, getPoolStats } from '$lib/api/zfs/pool';
-import { SEVEN_DAYS } from '$lib/utils';
-import { cachedFetch } from '$lib/utils/http';
-
-export async function load() {
- const cacheDuration = SEVEN_DAYS;
- const [datasets, pools, poolStats] = await Promise.all([
- cachedFetch('datasets', async () => await getDatasets(), cacheDuration),
- cachedFetch('pools', getPools, cacheDuration),
- cachedFetch('pool-stats', async () => await getPoolStats(1, 128), cacheDuration)
- ]);
-
- return {
- pools: pools,
- datasets: datasets,
- poolStats: poolStats
- };
-}
diff --git a/new-web/src/routes/[node]/storage/zfs/datasets/fs/+page.svelte b/new-web/src/routes/[node]/storage/zfs/datasets/fs/+page.svelte
deleted file mode 100644
index f665dc38..00000000
--- a/new-web/src/routes/[node]/storage/zfs/datasets/fs/+page.svelte
+++ /dev/null
@@ -1,454 +0,0 @@
-
-
-{#snippet button(type: string)}
- {#if activeRows && activeRows.length == 1}
- {#if type === 'rollback-snapshot' && activeDataset?.type === 'snapshot'}
- {
- if (activeDataset) {
- modals.snapshot.rollback.open = true;
- }
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Rollback To Snapshot
-
-
- {/if}
-
- {#if type === 'create-snapshot' && activeDataset?.type === 'filesystem'}
- {
- if (activeDataset) {
- modals.snapshot.create.open = true;
- }
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Create Snapshot
-
-
- {/if}
-
- {#if type === 'delete-snapshot' && activeDataset?.type === 'snapshot'}
- {
- if (activeDataset) {
- modals.snapshot.delete.open = true;
- }
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Delete Snapshot
-
-
- {/if}
-
- {#if type === 'edit-filesystem' && activeDataset?.type === 'filesystem'}
- {
- if (activeDataset) {
- modals.fs.edit.open = true;
- }
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Edit Filesystem
-
-
- {/if}
-
- {#if type === 'delete-filesystem' && activeDataset?.type === 'filesystem' && activeDataset?.name.includes('/')}
- {
- if (activeDataset) {
- modals.fs.delete.open = true;
- }
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Delete Filesystem
-
-
- {/if}
- {:else if activeRows && activeRows.length > 1}
- {#if activeDatasets.length > 0 && !poolsSelected}
- {#if type === 'bulk-delete'}
- {
- let [snapLen, fsLen] = [0, 0];
- activeDatasets.forEach((dataset) => {
- if (dataset.type === 'snapshot') {
- snapLen++;
- } else if (dataset.type === 'filesystem') {
- fsLen++;
- }
- });
-
- let title = '';
- if (snapLen > 0 && fsLen > 0) {
- title = `${snapLen} snapshot${snapLen > 1 ? 's' : ''} and ${fsLen} filesystem${fsLen > 1 ? 's' : ''}`;
- } else if (snapLen > 0) {
- title = `${snapLen} snapshot${snapLen > 1 ? 's' : ''}`;
- } else if (fsLen > 0) {
- title = `${fsLen} filesystem${fsLen > 1 ? 's' : ''}`;
- }
-
- modals.bulk.delete.open = true;
- modals.bulk.delete.title = title;
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Delete Datasets
-
-
- {/if}
- {/if}
- {/if}
-{/snippet}
-
-
-
-
-
{
- modals.fs.create.open = true;
- }}
- size="sm"
- class="h-6"
- >
-
-
- New
-
-
-
- {@render button('create-snapshot')}
- {@render button('rollback-snapshot')}
- {@render button('delete-snapshot')}
- {@render button('edit-filesystem')}
- {@render button('delete-filesystem')}
- {@render button('bulk-delete')}
-
-
-
-
-
-
-{#if modals.snapshot.create.open && activeDataset && activeDataset.type === 'filesystem'}
-
-{/if}
-
-
-{#if modals.snapshot.rollback.open && activeDataset && activeDataset.type === 'snapshot'}
- ${activeDataset.name}? This action cannot be undone.`}
- actions={{
- onConfirm: async () => {
- if (activeDataset.properties.guid) {
- const response = await rollbackSnapshot(activeDataset.properties.guid);
-
- if (response.status === 'error') {
- handleAPIError(response);
- toast.success(`Rolled back to snapshot ${activeDataset.name}`, {
- position: 'bottom-center'
- });
- } else {
- toast.error(`Failed to rollback to snapshot ${activeDataset.name}`, {
- position: 'bottom-center'
- });
- }
- } else {
- toast.error('Snapshot GUID not found', {
- position: 'bottom-center'
- });
- }
-
- modals.snapshot.rollback.open = false;
- },
- onCancel: () => {
- modals.snapshot.rollback.open = false;
- }
- }}
- />
-{/if}
-
-
-{#if modals.snapshot.delete.open && activeDataset && activeDataset.type === 'snapshot'}
-
-{/if}
-
-
-{#if modals.fs.delete.open && activeDataset && activeDataset.type === 'filesystem'}
- {
- if (activeDataset.properties.guid) {
- const response = await deleteFileSystem(activeDataset);
-
- if (response.status === 'success') {
- toast.success(`Deleted filesystem ${activeDataset.name}`, {
- position: 'bottom-center'
- });
- } else {
- handleAPIError(response);
- toast.error(`Failed to delete filesystem ${activeDataset.name}`, {
- position: 'bottom-center'
- });
- }
- } else {
- toast.error('Filesystem GUID not found', {
- position: 'bottom-center'
- });
- }
-
- modals.fs.delete.open = false;
- },
- onCancel: () => {
- modals.fs.delete.open = false;
- }
- }}
- />
-{/if}
-
-
-{#if modals.bulk.delete.open && activeDatasets.length > 0}
- {
- const response = await bulkDelete(activeDatasets);
- if (response.status === 'success') {
- toast.success(`Deleted ${activeDatasets.length} datasets`, {
- position: 'bottom-center'
- });
- } else {
- handleAPIError(response);
- toast.error('Failed to delete datasets', {
- position: 'bottom-center'
- });
- }
-
- modals.bulk.delete.open = false;
- },
- onCancel: () => {
- modals.bulk.delete.open = false;
- }
- }}
- />
-{/if}
-
-
-{#if modals.fs.create.open}
-
-{/if}
-
-
-{#if modals.fs.edit.open && activeDataset && activeDataset.type === 'filesystem'}
-
-{/if}
diff --git a/new-web/src/routes/[node]/storage/zfs/datasets/fs/+page.ts b/new-web/src/routes/[node]/storage/zfs/datasets/fs/+page.ts
deleted file mode 100644
index 96859628..00000000
--- a/new-web/src/routes/[node]/storage/zfs/datasets/fs/+page.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { getDatasets } from '$lib/api/zfs/datasets';
-import { getPools } from '$lib/api/zfs/pool';
-import { SEVEN_DAYS } from '$lib/utils';
-import { cachedFetch } from '$lib/utils/http';
-
-export async function load() {
- const cacheDuration = SEVEN_DAYS;
- const [datasets, pools] = await Promise.all([
- cachedFetch('datasets', async () => await getDatasets(), cacheDuration),
- cachedFetch('pools', getPools, cacheDuration)
- ]);
-
- return {
- pools: pools,
- datasets: datasets
- };
-}
diff --git a/new-web/src/routes/[node]/storage/zfs/datasets/snapshots/+page.svelte b/new-web/src/routes/[node]/storage/zfs/datasets/snapshots/+page.svelte
deleted file mode 100644
index e036aa46..00000000
--- a/new-web/src/routes/[node]/storage/zfs/datasets/snapshots/+page.svelte
+++ /dev/null
@@ -1,264 +0,0 @@
-
-
-{#snippet button(type: string)}
- {#if type === 'delete-snapshot' && activeRows && activeRows.length >= 1 && !isPoolSelected}
- {
- if (activeRows?.length === 1) {
- modals.snapshot.delete.open = true;
- modals.snapshot.bulkDelete.open = false;
- } else {
- modals.snapshot.bulkDelete.open = true;
- modals.snapshot.delete.open = false;
- }
- }}
- size="sm"
- class="bg-muted-foreground/40 dark:bg-muted h-6 text-black disabled:!pointer-events-auto disabled:hover:bg-neutral-600 dark:text-white"
- >
-
-
- {activeRows?.length === 1 ? 'Delete Snapshot' : 'Delete Snapshots'}
-
-
- {/if}
-
- {#if type === 'view-periodics' && activePool && activePeriodics && activePeriodics.length > 0}
- {
- modals.snapshot.periodics.open = true;
- }}
- size="sm"
- class="bg-muted-foreground/40 dark:bg-muted h-6 text-black disabled:!pointer-events-auto disabled:hover:bg-neutral-600 dark:text-white"
- >
-
-
- View Periodics
-
-
- {/if}
-{/snippet}
-
-
-
-
-
-
{
- modals.snapshot.create.open = true;
- }}
- size="sm"
- class="h-6"
- >
-
-
- New
-
-
-
- {@render button('delete-snapshot')}
- {@render button('view-periodics')}
-
-
-
-
-
-
-{#if modals.snapshot.create.open}
-
-{/if}
-
-
-{#if modals.snapshot.delete.open && activeDatasets && activeDatasets.length === 1}
-
-{/if}
-
-
-{#if modals.snapshot.bulkDelete.open && activeDatasets && activeDatasets.length > 0}
- 1 ? 's' : ''}? This action cannot be undone.`}
- actions={{
- onConfirm: async () => {
- const response = await bulkDelete(activeDatasets);
- if (response.status === 'success') {
- toast.success(
- `Deleted ${activeDatasets.length} snapshot${activeDatasets.length > 1 ? 's' : ''}`,
- {
- position: 'bottom-center'
- }
- );
- } else {
- handleAPIError(response);
- toast.error('Failed to delete snapshots', {
- position: 'bottom-center'
- });
- }
-
- modals.snapshot.bulkDelete.open = false;
- },
- onCancel: () => {
- modals.snapshot.bulkDelete.open = false;
- }
- }}
- />
-{/if}
-
-{#if modals.snapshot.periodics.open && activePeriodics && activePeriodics.length > 0}
-
-{/if}
diff --git a/new-web/src/routes/[node]/storage/zfs/datasets/snapshots/+page.ts b/new-web/src/routes/[node]/storage/zfs/datasets/snapshots/+page.ts
deleted file mode 100644
index 16d1b8a7..00000000
--- a/new-web/src/routes/[node]/storage/zfs/datasets/snapshots/+page.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { getDatasets, getPeriodicSnapshots } from '$lib/api/zfs/datasets';
-import { getPools } from '$lib/api/zfs/pool';
-import { SEVEN_DAYS } from '$lib/utils';
-import { cachedFetch } from '$lib/utils/http';
-
-export async function load() {
- const cacheDuration = SEVEN_DAYS;
- const [datasets, pools, periodicSnapshots] = await Promise.all([
- cachedFetch('datasets', async () => await getDatasets(), cacheDuration),
- cachedFetch('pools', getPools, cacheDuration),
- cachedFetch('periodicSnapshots', async () => await getPeriodicSnapshots(), cacheDuration)
- ]);
-
- return {
- pools: pools,
- periodicSnapshots: periodicSnapshots,
- datasets: datasets
- };
-}
diff --git a/new-web/src/routes/[node]/storage/zfs/datasets/volumes/+page.svelte b/new-web/src/routes/[node]/storage/zfs/datasets/volumes/+page.svelte
deleted file mode 100644
index a42d84d2..00000000
--- a/new-web/src/routes/[node]/storage/zfs/datasets/volumes/+page.svelte
+++ /dev/null
@@ -1,444 +0,0 @@
-
-
-{#snippet button(type: string)}
- {#if activeRows && activeRows.length == 1}
- {#if type === 'flash-file' && activeVolume?.type === 'volume'}
- {
- if (activeVolume) {
- modals.volume.flash.open = true;
- }
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Flash File
-
-
- {/if}
-
- {#if type === 'create-snapshot' && activeVolume?.type === 'volume'}
- {
- if (activeVolume) {
- modals.snapshot.create.open = true;
- }
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Create Snapshot
-
-
- {/if}
-
- {#if type === 'delete-snapshot' && activeSnapshot?.type === 'snapshot'}
- {
- if (activeSnapshot) {
- modals.snapshot.delete.open = true;
- }
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Delete Snapshot
-
-
- {/if}
-
- {#if type === 'delete-volume' && activeVolume?.type === 'volume'}
- {
- if (activeVolume) {
- modals.volume.delete.open = true;
- }
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Delete Volume
-
-
- {/if}
-
- {#if type === 'edit-volume' && activeVolume?.type === 'volume'}
- {
- if (activeVolume) {
- modals.volume.edit.open = true;
- }
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Edit Volume
-
-
- {/if}
- {:else if activeRows && activeRows.length > 1}
- {#if activeDatasets.length > 0 && !poolsSelected}
- {#if type === 'bulk-delete'}
- {
- let [snapLen, vLen] = [0, 0];
- activeDatasets.forEach((dataset) => {
- if (dataset.type === 'snapshot') {
- snapLen++;
- } else if (dataset.type === 'volume') {
- vLen++;
- }
- });
-
- let title = '';
- if (snapLen > 0 && vLen > 0) {
- title = `${snapLen} snapshot${snapLen > 1 ? 's' : ''} and ${vLen} volume${vLen > 1 ? 's' : ''}`;
- } else if (snapLen > 0) {
- title = `${snapLen} snapshot${snapLen > 1 ? 's' : ''}`;
- } else if (vLen > 0) {
- title = `${vLen} volume${vLen > 1 ? 's' : ''}`;
- }
-
- modals.bulk.delete.open = true;
- modals.bulk.delete.title = title;
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Delete Datasets
-
-
- {/if}
- {/if}
- {/if}
-{/snippet}
-
-
-
-
-
{
- modals.volume.create.open = true;
- }}
- size="sm"
- class="h-6"
- >
-
-
- New
-
-
-
- {@render button('flash-file')}
- {@render button('create-snapshot')}
- {@render button('delete-snapshot')}
- {@render button('edit-volume')}
- {@render button('delete-volume')}
- {@render button('delete-volumes')}
- {@render button('bulk-delete')}
-
-
-
-
-
-
-{#if modals.volume.flash.open && activeVolume && activeVolume.type === 'volume'}
-
-{/if}
-
-
-{#if modals.snapshot.create.open && activeVolume && activeVolume.type === 'volume'}
-
-{/if}
-
-
-{#if modals.snapshot.delete.open && activeSnapshot && activeSnapshot.type === 'snapshot'}
-
-{/if}
-
-
-{#if modals.volume.delete.open && activeVolume && activeVolume.type === 'volume'}
- {
- if (activeVolume.properties.guid) {
- const response = await deleteVolume(activeVolume);
-
- if (response.status === 'success') {
- toast.success(`Deleted volume ${activeVolume.name}`, {
- position: 'bottom-center'
- });
- } else {
- handleAPIError(response);
- toast.error(`Failed to delete volume ${activeVolume.name}`, {
- position: 'bottom-center'
- });
- }
- } else {
- toast.error('Volume GUID not found', {
- position: 'bottom-center'
- });
- }
-
- modals.volume.delete.open = false;
- },
- onCancel: () => {
- modals.volume.delete.open = false;
- }
- }}
- />
-{/if}
-
-
-{#if modals.bulk.delete.open && activeDatasets.length > 0}
- {
- const activeSnapshot = $state.snapshot(activeDatasets);
- const response = await bulkDelete(activeDatasets);
- if (response.status === 'success') {
- toast.success(`Deleted ${activeSnapshot.length} datasets`, {
- position: 'bottom-center'
- });
- } else {
- handleAPIError(response);
- toast.error('Failed to delete datasets', {
- position: 'bottom-center'
- });
- }
-
- modals.bulk.delete.open = false;
- },
- onCancel: () => {
- modals.bulk.delete.open = false;
- }
- }}
- />
-{/if}
-
-
-{#if modals.volume.create.open}
-
-{/if}
-
-
-{#if modals.volume.edit.open && activeVolume && activeVolume.type === 'volume'}
-
-{/if}
diff --git a/new-web/src/routes/[node]/storage/zfs/datasets/volumes/+page.ts b/new-web/src/routes/[node]/storage/zfs/datasets/volumes/+page.ts
deleted file mode 100644
index dc44975e..00000000
--- a/new-web/src/routes/[node]/storage/zfs/datasets/volumes/+page.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { getDownloads } from '$lib/api/utilities/downloader';
-import { getDatasets } from '$lib/api/zfs/datasets';
-import { getPools } from '$lib/api/zfs/pool';
-import { SEVEN_DAYS } from '$lib/utils';
-import { cachedFetch } from '$lib/utils/http';
-
-export async function load() {
- const cacheDuration = SEVEN_DAYS;
-
- const [datasets, pools, downloads] = await Promise.all([
- cachedFetch('datasets', async () => await getDatasets(), cacheDuration),
- cachedFetch('pools', getPools, cacheDuration),
- cachedFetch('downloads', async () => getDownloads(), cacheDuration)
- ]);
-
- return {
- pools: pools,
- datasets: datasets,
- downloads: downloads
- };
-}
diff --git a/new-web/src/routes/[node]/storage/zfs/pools/+page.svelte b/new-web/src/routes/[node]/storage/zfs/pools/+page.svelte
deleted file mode 100644
index f038915a..00000000
--- a/new-web/src/routes/[node]/storage/zfs/pools/+page.svelte
+++ /dev/null
@@ -1,359 +0,0 @@
-
-
-{#snippet button(type: string)}
- {#if activeRow && Object.keys(activeRow).length > 0}
- {#if isPool(pools, activeRow.name)}
- {#if type === 'pool-status'}
- {
- modals.status.open = true;
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- >
-
-
- Status
-
-
- {/if}
-
- {#if type === 'pool-scrub'}
- {#if isPool(pools, activeRow.name)}
- {
- const response = await scrubPool(activeRow?.guid);
- if (response.status === 'error') {
- toast.error(parsePoolActionError(response), {
- position: 'bottom-center'
- });
- } else {
- toast.success('Scrub started', {
- position: 'bottom-center'
- });
- }
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- disabled={scrubbing}
- title={scrubbing ? 'A scrub is already in progress' : ''}
- >
-
-
- Scrub
-
-
- {/if}
- {/if}
-
- {#if type === 'pool-edit'}
- {
- modals.edit.open = true;
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- disabled={replacing || scrubbing}
- title={replacing || scrubbing
- ? 'Please wait for the scrub/replace operation to finish'
- : ''}
- >
-
-
- Edit
-
-
- {/if}
-
- {#if type === 'pool-delete'}
- {
- modals.delete.open = true;
- }}
- size="sm"
- variant="outline"
- class="h-6.5"
- disabled={replacing}
- title={replacing ? 'Please wait for the current replace operation to finish' : ''}
- >
-
-
- Delete
-
-
- {/if}
- {/if}
-
- {#if type === 'pool-replace'}
- {#if isReplaceableDevice(pools, activeRow.name)}
- {
- let pool = getPoolByDevice(pools, activeRow.name);
-
- modals.replace.open = true;
- modals.replace.data = {
- pool: pool ? pools.find((p) => p.name === pool) || null : null,
- old: activeRow.name as string,
- latest: ''
- };
- }}
- size="sm"
- class="bg-muted-foreground/40 dark:bg-muted h-6 text-black disabled:!pointer-events-auto disabled:hover:bg-neutral-600 dark:text-white"
- disabled={replacing}
- title={replacing ? 'Replace already in progress' : ''}
- >
-
-
- Replace Device
-
-
- {/if}
- {/if}
- {/if}
-{/snippet}
-
-
-
-
-
(modals.create.open = !modals.create.open)}
- size="sm"
- class="h-6"
- disabled={replacing}
- title={replacing ? 'Please wait for the current replace operation to finish' : ''}
- >
-
-
- New
-
-
-
- {@render button('pool-status')}
- {@render button('pool-scrub')}
- {@render button('pool-edit')}
- {@render button('pool-delete')}
- {@render button('pool-replace')}
-
-
-
-
-
-
-
-
- {
- modals.delete.open = false;
- let pool = $state.snapshot(activePool);
- let response = await deletePool(pool?.guid as string);
- handleAPIResponse(response, {
- success: `Pool ${pool?.name} deleted`,
- error: parsePoolActionError(response)
- });
- },
- onCancel: () => {
- modals.delete.open = false;
- }
- }}
-/>
-
-{#if modals.replace.data.pool}
-
-{/if}
-
-
-
-{#if activePool}
-
-{/if}
diff --git a/new-web/src/routes/[node]/storage/zfs/pools/+page.ts b/new-web/src/routes/[node]/storage/zfs/pools/+page.ts
deleted file mode 100644
index 34c9c34a..00000000
--- a/new-web/src/routes/[node]/storage/zfs/pools/+page.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { listDisks } from '$lib/api/disk/disk';
-import { getPools } from '$lib/api/zfs/pool';
-import { SEVEN_DAYS } from '$lib/utils';
-import { cachedFetch } from '$lib/utils/http';
-
-export async function load() {
- const cacheDuration = SEVEN_DAYS;
- const [disks, pools] = await Promise.all([
- cachedFetch('disks', async () => await listDisks(), cacheDuration),
- cachedFetch('pools', getPools, cacheDuration)
- ]);
-
- return {
- disks,
- pools
- };
-}
diff --git a/new-web/src/routes/[node]/summary/+page.svelte b/new-web/src/routes/[node]/summary/+page.svelte
deleted file mode 100644
index e20affb0..00000000
--- a/new-web/src/routes/[node]/summary/+page.svelte
+++ /dev/null
@@ -1,360 +0,0 @@
-
-
-
-
-
-
-
-
-
- {basicInfo.hostname}
-
-
-
-
-
-
-
-
- CPU Usage
-
-
- {`${floatToNDecimals(cpuInfo.usage, 2)}% of ${cpuInfo.logicalCores} CPU(s)`}
-
-
-
-
-
-
-
-
- {'RAM Usage'}
-
-
- {`${floatToNDecimals(ramInfo.usedPercent, 2)}% of ${bytesToHumanReadable(ramInfo.total)}`}
-
-
-
-
-
-
-
-
- {'Disk Usage'}
-
-
- {floatToNDecimals(totalDiskUsage, 2)} %
-
-
-
-
-
-
-
-
- {'I/O Delay'}
-
-
{floatToNDecimals(ioDelay.delay, 3) || 0} %
-
-
-
-
-
-
- {'Swap Usage'}
-
-
- {`${floatToNDecimals(swapInfo.usedPercent, 2)}% of ${bytesToHumanReadable(swapInfo.total)}`}
-
-
-
-
-
-
-
-
-
- CPU(s)
-
- {`${cpuInfo.logicalCores} x ${cpuInfo.name}`}
-
-
-
- Operating System
- {basicInfo.os}
-
-
- Uptime
- {formatUptime(basicInfo.uptime)}
-
-
- Load Average
- {basicInfo.loadAverage}
-
-
- Boot Mode
- {basicInfo.bootMode}
-
-
-
- Sylve Version
- {basicInfo.sylveVersion}
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/new-web/src/routes/[node]/summary/+page.ts b/new-web/src/routes/[node]/summary/+page.ts
deleted file mode 100644
index bf760240..00000000
--- a/new-web/src/routes/[node]/summary/+page.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-import { getBasicInfo } from '$lib/api/info/basic';
-import { getCPUInfo } from '$lib/api/info/cpu';
-import { getNetworkInterfaceInfoHistorical } from '$lib/api/info/network';
-import { getRAMInfo, getSwapInfo } from '$lib/api/info/ram';
-import { getIODelay } from '$lib/api/zfs/pool';
-import { SEVEN_DAYS } from '$lib/utils';
-import { cachedFetch } from '$lib/utils/http';
-import { getTotalDiskUsage } from '$lib/utils/zfs';
-
-export async function load() {
- const cacheDuration = SEVEN_DAYS;
- const [
- basicInfo,
- cpuInfo,
- cpuInfoHistorical,
- ramInfo,
- ramInfoHistorical,
- swapInfo,
- swapInfoHistorical,
- ioDelay,
- ioDelayHistorical,
- totalDiskUsage,
- networkUsageHistorical
- ] = await Promise.all([
- cachedFetch('basicInfo', getBasicInfo, cacheDuration),
- cachedFetch('cpuInfo', getCPUInfo, cacheDuration),
- cachedFetch(
- 'cpuInfoHistorical',
- () =>
- getCPUInfo({
- queryKey: ['cpuInfoHistorical'],
- meta: undefined
- }),
- cacheDuration
- ),
- cachedFetch('ramInfo', getRAMInfo, cacheDuration),
- cachedFetch(
- 'ramInfoHistorical',
- () => getRAMInfo({ queryKey: ['ramInfoHistorical'], meta: undefined }),
- cacheDuration
- ),
- cachedFetch('swapInfo', getSwapInfo, cacheDuration),
- cachedFetch(
- 'swapInfoHistorical',
- () => getSwapInfo({ queryKey: ['swapInfoHistorical'], meta: undefined }),
- cacheDuration
- ),
- cachedFetch(
- 'ioDelay',
- () => getIODelay({ queryKey: ['ioDelay'], meta: undefined }),
- cacheDuration
- ),
- cachedFetch(
- 'ioDelayHistorical',
- () => getIODelay({ queryKey: ['ioDelayHistorical'], meta: undefined }),
- cacheDuration
- ),
- cachedFetch('totalDiskUsage', getTotalDiskUsage, cacheDuration),
- cachedFetch('networkUsageHistorical', getNetworkInterfaceInfoHistorical, cacheDuration)
- ]);
-
- return {
- basicInfo,
- cpuInfo,
- cpuInfoHistorical,
- ramInfo,
- ramInfoHistorical,
- swapInfo,
- swapInfoHistorical,
- ioDelay,
- ioDelayHistorical,
- totalDiskUsage,
- networkUsageHistorical
- };
-}
diff --git a/new-web/src/routes/[node]/utilities/downloader/+page.svelte b/new-web/src/routes/[node]/utilities/downloader/+page.svelte
deleted file mode 100644
index cc833d69..00000000
--- a/new-web/src/routes/[node]/utilities/downloader/+page.svelte
+++ /dev/null
@@ -1,324 +0,0 @@
-
-
-{#snippet button(type: string)}
- {#if type === 'delete' && onlyParentsSelected}
- {#if activeRows && activeRows.length >= 1}
-
-
-
- {activeRows.length > 1 ? 'Bulk Delete' : 'Delete'}
-
-
- {/if}
- {/if}
-
- {#if type === 'download' && onlyChildSelected && isDownloadCompleted}
- {#if activeRows && activeRows.length == 1}
-
-
-
- Download
-
-
- {/if}
- {/if}
-
- {#if type === 'download' && httpDownloadSelected && isDownloadCompleted}
- {#if activeRows && activeRows.length == 1}
-
-
-
- Download
-
-
- {/if}
- {/if}
-{/snippet}
-
-
-
-
-
-
(modalState.isOpen = true)} size="sm" class="h-6 ">
-
-
- New
-
-
-
- {@render button('delete')}
- {@render button('download')}
-
-
-
-
-
-
-
-
-
- Download
-
-
-
-
-
- {
- modalState.isOpen = true;
- modalState.url = '';
- }}
- >
-
- Reset
-
- {
- modalState.isOpen = false;
- modalState.url = '';
- }}
- >
-
- Close
-
-
-
-
-
-
-
-
- Download
-
-
-
-
-
-
-
-
{
- const id = activeRows ? activeRows[0]?.id : null;
- const result = await deleteDownload(id as number);
- if (isAPIResponse(result) && result.status === 'success') {
- modalState.isDelete = false;
- modalState.title = '';
- activeRows = null;
- } else {
- handleAPIError(result as APIResponse);
- toast.error('Failed to delete download', { position: 'bottom-center' });
- }
- },
- onCancel: () => {
- modalState.isDelete = false;
- modalState.title = '';
- }
- }}
- >
-
-
{
- const ids = activeRows ? activeRows.map((row) => row.id) : [];
- const result = await bulkDeleteDownloads(ids as number[]);
- if (isAPIResponse(result) && result.status === 'success') {
- modalState.isBulkDelete = false;
- modalState.title = '';
- activeRows = null;
- } else {
- handleAPIError(result as APIResponse);
- toast.error('Failed to delete downloads', { position: 'bottom-center' });
- }
- },
- onCancel: () => {
- modalState.isBulkDelete = false;
- modalState.title = '';
- }
- }}
- >
-
diff --git a/new-web/src/routes/[node]/utilities/downloader/+page.ts b/new-web/src/routes/[node]/utilities/downloader/+page.ts
deleted file mode 100644
index 83b1778d..00000000
--- a/new-web/src/routes/[node]/utilities/downloader/+page.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { getDownloads } from '$lib/api/utilities/downloader';
-import { SEVEN_DAYS } from '$lib/utils';
-import { cachedFetch } from '$lib/utils/http';
-
-export async function load() {
- const cacheDuration = SEVEN_DAYS;
- const [downloads] = await Promise.all([
- cachedFetch('downloads', async () => getDownloads(), cacheDuration)
- ]);
-
- return {
- downloads
- };
-}
diff --git a/new-web/src/routes/[node]/vm/[node]/+page.svelte b/new-web/src/routes/[node]/vm/[node]/+page.svelte
deleted file mode 100644
index e69de29b..00000000
diff --git a/new-web/src/routes/[node]/vm/[node]/console/+page.svelte b/new-web/src/routes/[node]/vm/[node]/console/+page.svelte
deleted file mode 100644
index 87431615..00000000
--- a/new-web/src/routes/[node]/vm/[node]/console/+page.svelte
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
diff --git a/new-web/src/routes/[node]/vm/[node]/console/+page.ts b/new-web/src/routes/[node]/vm/[node]/console/+page.ts
deleted file mode 100644
index 743dde65..00000000
--- a/new-web/src/routes/[node]/vm/[node]/console/+page.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { getVMs } from '$lib/api/vm/vm';
-
-export async function load({ params }) {
- const vms = (await getVMs()) || [];
- const vm = vms.find((vm) => vm.vmId === Number(params.node));
-
- let port = 0;
- let password = '';
-
- if (vm) {
- port = vm.vncPort;
- password = vm.vncPassword;
- }
-
- return {
- port,
- password
- };
-}
diff --git a/new-web/src/routes/[node]/vm/[node]/storage/+page.svelte b/new-web/src/routes/[node]/vm/[node]/storage/+page.svelte
deleted file mode 100644
index 54a5bb61..00000000
--- a/new-web/src/routes/[node]/vm/[node]/storage/+page.svelte
+++ /dev/null
@@ -1,148 +0,0 @@
-
-
-{#snippet button(type: string)}
- {#if domain && domain.status === 'Shutoff' && activeRows && activeRows.length === 1}
- {#if type === 'detach'}
- handleDetach()} size="sm" class="h-6">
-
-
- Detach
-
-
- {/if}
- {/if}
-{/snippet}
-
-
-
-
handleCreate()} size="sm" class="h-6 ">
-
-
- New
-
-
-
- {@render button('detach')}
-
-
-
-
diff --git a/new-web/src/routes/[node]/vm/[node]/storage/+page.ts b/new-web/src/routes/[node]/vm/[node]/storage/+page.ts
deleted file mode 100644
index aeac4536..00000000
--- a/new-web/src/routes/[node]/vm/[node]/storage/+page.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import { getDownloads } from '$lib/api/utilities/downloader';
-import { getVMDomain, getVMs } from '$lib/api/vm/vm';
-import { getDatasets } from '$lib/api/zfs/datasets';
-import { getPools } from '$lib/api/zfs/pool';
-import { SEVEN_DAYS } from '$lib/utils.js';
-import { cachedFetch } from '$lib/utils/http';
-
-export async function load({ params }) {
- const cacheDuration = SEVEN_DAYS;
- const vmId = params.node;
-
- const [vms, domain, datasets, pools, downloads] = await Promise.all([
- cachedFetch('vm-list', async () => getVMs(), cacheDuration),
- cachedFetch(`vm-domain-${vmId}`, async () => getVMDomain(Number(vmId)), cacheDuration),
- cachedFetch('datasets', async () => await getDatasets(), cacheDuration),
- cachedFetch('pools', getPools, cacheDuration),
- cachedFetch('downloads', async () => getDownloads(), cacheDuration)
- ]);
-
- return {
- vms: vms,
- domain: domain,
- datasets: datasets,
- pools: pools,
- downloads: downloads
- };
-}
diff --git a/new-web/src/routes/[node]/vm/[node]/summary/+page.svelte b/new-web/src/routes/[node]/vm/[node]/summary/+page.svelte
deleted file mode 100644
index f00decdd..00000000
--- a/new-web/src/routes/[node]/vm/[node]/summary/+page.svelte
+++ /dev/null
@@ -1,383 +0,0 @@
-
-
-{#snippet button(type: string)}
- {#if type === 'start' && domain.id == -1 && domain.status !== 'Running'}
- handleStart()}
- size="sm"
- class="bg-muted-foreground/40 dark:bg-muted h-6 text-black disabled:!pointer-events-auto disabled:hover:bg-neutral-600 dark:text-white"
- >
-
- {'Start'}
-
-
- {
- modalState.isDeleteOpen = true;
- modalState.title = `${vm.name} (${vm.vmId})`;
- }}
- size="sm"
- class="bg-muted-foreground/40 dark:bg-muted h-6 text-black disabled:!pointer-events-auto disabled:hover:bg-neutral-600 dark:text-white"
- >
-
- {'Delete'}
-
- {:else if type === 'stop' && domain.id !== -1 && domain.status === 'Running'}
- handleStop()}
- size="sm"
- class="bg-muted-foreground/40 dark:bg-muted h-6 text-black disabled:!pointer-events-auto disabled:hover:bg-neutral-600 dark:text-white"
- >
-
- {'Stop'}
-
- {/if}
-{/snippet}
-
-
-
- {@render button('start')}
- {@render button('stop')}
-
-
-
-
-
-
-
-
- {`${vm.name} ${udTime ? `(${udTime})` : ''}`}
-
-
-
-
-
-
- {'Status'}
-
-
- {domain.status}
-
-
-
-
-
-
-
- {'CPU Usage'}
-
-
- {#if domain.status === 'Running'}
- {`${floatToNDecimals(recentStat.cpuUsage, 2)}% of ${vm.cpuCores * vm.cpuThreads * vm.cpuSockets} vCPU(s)`}
- {:else}
- {`0% of ${vm.cpuCores * vm.cpuThreads * vm.cpuSockets} vCPU(s)`}
- {/if}
-
-
-
- {#if domain.status === 'Running'}
-
- {:else}
-
- {/if}
-
-
-
-
-
-
- {'RAM Usage'}
-
-
- {#if domain.status === 'Running'}
- {`${floatToNDecimals(recentStat.memoryUsage, 2)}% of ${humanFormat(vm.ram)}`}
- {:else}
- {`0% of ${humanFormat(vm.ram)}`}
- {/if}
-
-
-
- {#if domain.status === 'Running'}
-
- {:else}
-
- {/if}
-
-
-
-
-
-
-
- Description
-
-
-
-
-
-
-
-
-
-
-
-
-
- {
- handleDelete();
- },
- onCancel: () => {
- modalState.isDeleteOpen = false;
- }
- }}
->
-
-
diff --git a/new-web/src/routes/[node]/vm/[node]/summary/+page.ts b/new-web/src/routes/[node]/vm/[node]/summary/+page.ts
deleted file mode 100644
index 35efdccd..00000000
--- a/new-web/src/routes/[node]/vm/[node]/summary/+page.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { getStats, getVMDomain, getVMs } from '$lib/api/vm/vm';
-import { SEVEN_DAYS } from '$lib/utils.js';
-import { cachedFetch } from '$lib/utils/http';
-
-export async function load({ params }) {
- const cacheDuration = SEVEN_DAYS;
- const vmId = params.node;
-
- const [vms, domain, stats] = await Promise.all([
- cachedFetch('vm-list', async () => getVMs(), cacheDuration),
- cachedFetch(`vm-domain-${vmId}`, async () => getVMDomain(Number(vmId)), cacheDuration),
- cachedFetch(`vm-stats-${vmId}`, async () => getStats(Number(vmId), 10), cacheDuration)
- ]);
-
- return {
- vms: vms,
- domain: domain,
- stats: stats
- };
-}
diff --git a/new-web/static/logo/black.svg b/new-web/static/logo/black.svg
deleted file mode 100644
index 73e260d9..00000000
--- a/new-web/static/logo/black.svg
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/new-web/static/logo/index.html b/new-web/static/logo/index.html
deleted file mode 100644
index 76c517a7..00000000
--- a/new-web/static/logo/index.html
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
-
-
-
- Document
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/new-web/static/logo/white.svg b/new-web/static/logo/white.svg
deleted file mode 100644
index 7575b4d6..00000000
--- a/new-web/static/logo/white.svg
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/new-web/svelte.config.js b/new-web/svelte.config.js
deleted file mode 100644
index 31d8e2cf..00000000
--- a/new-web/svelte.config.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import adapter from '@sveltejs/adapter-static';
-import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
-
-const config = {
- preprocess: vitePreprocess(),
- kit: {
- adapter: adapter({
- fallback: 'index.html'
- })
- }
-};
-
-export default config;
diff --git a/new-web/tsconfig.json b/new-web/tsconfig.json
deleted file mode 100644
index 0b2d8865..00000000
--- a/new-web/tsconfig.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "extends": "./.svelte-kit/tsconfig.json",
- "compilerOptions": {
- "allowJs": true,
- "checkJs": true,
- "esModuleInterop": true,
- "forceConsistentCasingInFileNames": true,
- "resolveJsonModule": true,
- "skipLibCheck": true,
- "sourceMap": true,
- "strict": true,
- "moduleResolution": "bundler"
- }
- // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias
- // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files
- //
- // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
- // from the referenced tsconfig.json - TypeScript does not merge them in
-}
diff --git a/new-web/vite.config.ts b/new-web/vite.config.ts
deleted file mode 100644
index 3f91c631..00000000
--- a/new-web/vite.config.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { sveltekit } from '@sveltejs/kit/vite';
-import tailwindcss from '@tailwindcss/vite';
-import { defineConfig } from 'vite';
-import { wuchale } from 'wuchale';
-
-export default defineConfig({
- plugins: [
- wuchale({
- localesDir: 'src/lib/locales',
- otherLocales: ['mal']
- }),
- tailwindcss(),
- sveltekit()
- ],
- optimizeDeps: {
- esbuildOptions: {
- target: 'esnext'
- },
- exclude: ['xterm', 'Xterm.svelte', '@battlefieldduck/xterm-svelte']
- },
- build: {
- target: 'esnext'
- }
-});
diff --git a/web/.gitignore b/web/.gitignore
index 3b462cb0..c826bc02 100644
--- a/web/.gitignore
+++ b/web/.gitignore
@@ -21,3 +21,6 @@ Thumbs.db
# Vite
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
+
+src/lib/locales/*.json
+src/lib/locales/*.js
diff --git a/web/.prettierignore b/web/.prettierignore
index ab78a95d..6562bcbb 100644
--- a/web/.prettierignore
+++ b/web/.prettierignore
@@ -2,3 +2,5 @@
package-lock.json
pnpm-lock.yaml
yarn.lock
+bun.lock
+bun.lockb
diff --git a/new-web/README.md b/web/README.md
similarity index 100%
rename from new-web/README.md
rename to web/README.md
diff --git a/web/components.json b/web/components.json
index 8d00bd3a..c5d91b45 100644
--- a/web/components.json
+++ b/web/components.json
@@ -1,14 +1,16 @@
{
"$schema": "https://shadcn-svelte.com/schema.json",
- "style": "default",
"tailwind": {
- "config": "tailwind.config.ts",
- "css": "src/css/app.css",
+ "css": "src/app.css",
"baseColor": "slate"
},
"aliases": {
"components": "$lib/components",
- "utils": "$lib/utils"
+ "utils": "$lib/utils",
+ "ui": "$lib/components/ui",
+ "hooks": "$lib/hooks",
+ "lib": "$lib"
},
- "typescript": true
+ "typescript": true,
+ "registry": "https://shadcn-svelte.com/registry"
}
diff --git a/web/eslint.config.js b/web/eslint.config.js
index 017be088..ef07d322 100644
--- a/web/eslint.config.js
+++ b/web/eslint.config.js
@@ -6,6 +6,7 @@ import globals from 'globals';
import { fileURLToPath } from 'node:url';
import ts from 'typescript-eslint';
import svelteConfig from './svelte.config.js';
+
const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url));
export default ts.config(
@@ -14,19 +15,15 @@ export default ts.config(
...ts.configs.recommended,
...svelte.configs.recommended,
prettier,
- ...svelte.configs['flat/prettier'],
+ ...svelte.configs.prettier,
{
languageOptions: {
- globals: {
- ...globals.browser,
- ...globals.node
- }
- }
+ globals: { ...globals.browser, ...globals.node }
+ },
+ rules: { 'no-undef': 'off' }
},
{
files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'],
- ignores: ['eslint.config.js', 'svelte.config.js'],
-
languageOptions: {
parserOptions: {
projectService: true,
diff --git a/web/package-lock.json b/web/package-lock.json
index 6ccfcb22..364ba083 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -1,95 +1,73 @@
{
- "name": "sylve-web",
+ "name": "new-web",
"version": "0.0.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
- "name": "sylve-web",
+ "name": "new-web",
"version": "0.0.1",
- "license": "BSD-2-Clause",
"dependencies": {
"@battlefieldduck/xterm-svelte": "^2.1.0",
- "@fontsource/noto-sans": "^5.2.5",
- "@layerstack/svelte-stores": "^1.0.0",
- "@novnc/novnc": "1.5.0",
+ "@fontsource/noto-sans": "^5.2.7",
+ "@layerstack/svelte-stores": "^1.0.2",
+ "@lucide/svelte": "^0.516.0",
"@svelte-put/shortcut": "^4.1.0",
"@sveltestack/svelte-query": "^1.6.0",
- "@thisux/sveltednd": "^0.0.20",
- "@types/novnc__novnc": "^1.6.0",
- "@types/tabulator-tables": "^6.2.6",
- "adze": "^2.2.1",
- "axios": "^1.8.2",
- "d3-array": "^3.2.4",
- "d3-scale": "^4.0.2",
+ "adze": "^2.2.4",
+ "axios": "^1.10.0",
+ "chart.js": "^4.5.0",
+ "chartjs-adapter-date-fns": "^3.0.0",
+ "chartjs-plugin-zoom": "^2.2.0",
"d3-shape": "^3.2.0",
"date-fns": "^4.1.0",
"date-fns-tz": "^3.2.0",
- "fast-cidr-tools": "^0.3.2",
"human-format": "^1.2.1",
- "ip-cidr": "^4.0.2",
"is-cidr": "^5.1.1",
"is-ip": "^5.0.1",
- "layerchart": "^1.0.5",
- "mode-watcher": "^0.5.1",
- "nanoid": "^5.1.5",
- "svelte-french-toast": "^2.0.0-alpha.0",
- "svelte-i18n": "^4.0.1",
- "svelte-multiselect": "^11.0.0-rc.1",
- "svelte-ux": "^1.0.3",
+ "lucide-svelte": "^0.516.0",
"tabulator-tables": "^6.3.1",
- "validator": "^13.15.0"
+ "validator": "^13.15.15",
+ "wuchale": "0.5.5",
+ "zod": "^3.25.67"
},
"devDependencies": {
"@eslint/compat": "^1.2.5",
"@eslint/js": "^9.18.0",
- "@iconify/svelte": "^4.2.0",
+ "@iconify/svelte": "^5.0.0",
+ "@internationalized/date": "^3.8.2",
"@sveltejs/adapter-static": "^3.0.8",
- "@sveltejs/kit": "^2.20.3",
+ "@sveltejs/kit": "^2.16.0",
"@sveltejs/vite-plugin-svelte": "^5.0.0",
- "@tailwindcss/container-queries": "^0.1.1",
- "@tailwindcss/forms": "^0.5.10",
- "@tailwindcss/typography": "^0.5.16",
+ "@tailwindcss/forms": "^0.5.9",
+ "@tailwindcss/typography": "^0.5.15",
+ "@tailwindcss/vite": "^4.0.0",
"@types/d3-scale": "^4.0.9",
"@types/d3-shape": "^3.1.7",
- "autoprefixer": "^10.4.20",
- "bits-ui": "^0.22.0",
+ "@types/tabulator-tables": "^6.2.6",
+ "@types/validator": "^13.15.2",
+ "bits-ui": "^2.8.0",
"clsx": "^2.1.1",
- "cmdk-sv": "^0.0.19",
"eslint": "^9.18.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-svelte": "^3.0.0",
- "formsnap": "^1.0.1",
"globals": "^16.0.0",
- "lucide-svelte": "^0.476.0",
- "paneforge": "^0.0.6",
+ "layerchart": "^2.0.0-next.18",
+ "mode-watcher": "^1.0.8",
+ "paneforge": "^1.0.0-next.5",
"prettier": "^3.4.2",
"prettier-plugin-svelte": "^3.3.3",
- "prettier-plugin-tailwindcss": "^0.6.10",
- "sass": "^1.85.1",
- "svelte": "^5.25.6",
+ "prettier-plugin-tailwindcss": "^0.6.11",
+ "svelte": "^5.0.0",
"svelte-check": "^4.0.0",
- "sveltekit-superforms": "^2.23.1",
- "tailwind-merge": "^3.0.2",
- "tailwind-variants": "^0.3.1",
- "tailwindcss": "^3.4.17",
+ "svelte-sonner": "^1.0.5",
+ "tailwind-merge": "^3.3.1",
+ "tailwind-variants": "^1.0.0",
+ "tailwindcss": "^4.0.0",
+ "tw-animate-css": "^1.3.4",
"typescript": "^5.0.0",
"typescript-eslint": "^8.20.0",
- "vite": "^6.2.4",
- "vite-plugin-compression2": "^1.3.3",
- "zod": "^3.25.0"
- }
- },
- "node_modules/@alloc/quick-lru": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
- "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==",
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "vite": "^6.2.6"
}
},
"node_modules/@ampproject/remapping": {
@@ -105,39 +83,6 @@
"node": ">=6.0.0"
}
},
- "node_modules/@ark/schema": {
- "version": "0.46.0",
- "resolved": "https://registry.npmjs.org/@ark/schema/-/schema-0.46.0.tgz",
- "integrity": "sha512-c2UQdKgP2eqqDArfBqQIJppxJHvNNXuQPeuSPlDML4rjw+f1cu0qAlzOG4b8ujgm9ctIDWwhpyw6gjG5ledIVQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@ark/util": "0.46.0"
- }
- },
- "node_modules/@ark/util": {
- "version": "0.46.0",
- "resolved": "https://registry.npmjs.org/@ark/util/-/util-0.46.0.tgz",
- "integrity": "sha512-JPy/NGWn/lvf1WmGCPw2VGpBg5utZraE84I7wli18EDF3p3zc/e9WolT35tINeZO3l7C77SjqRJeAUoT0CvMRg==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
- "node_modules/@babel/runtime": {
- "version": "7.27.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz",
- "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "regenerator-runtime": "^0.14.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@battlefieldduck/xterm-svelte": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@battlefieldduck/xterm-svelte/-/xterm-svelte-2.1.0.tgz",
@@ -161,9 +106,10 @@
}
},
"node_modules/@dagrejs/dagre": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/@dagrejs/dagre/-/dagre-1.1.4.tgz",
- "integrity": "sha512-QUTc54Cg/wvmlEUxB+uvoPVKFazM1H18kVHBQNmK2NbrDR5ihOCR6CXLnDSZzMcSQKJtabPUWridBOlJM3WkDg==",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/@dagrejs/dagre/-/dagre-1.1.5.tgz",
+ "integrity": "sha512-Ghgrh08s12DCL5SeiR6AoyE80mQELTWhJBRmXfFoqDiFkR458vPEdgTbbjA0T+9ETNxUblnD0QW55tfdvi5pjQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@dagrejs/graphlib": "2.2.4"
@@ -173,304 +119,16 @@
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/@dagrejs/graphlib/-/graphlib-2.2.4.tgz",
"integrity": "sha512-mepCf/e9+SKYy1d02/UkvSy6+6MoyXhVxP8lLDfA7BPE1X1d4dR0sZznmbM8/XVJ1GPM+Svnx7Xj6ZweByWUkw==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">17.0.0"
}
},
- "node_modules/@esbuild/aix-ppc64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz",
- "integrity": "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.0.tgz",
- "integrity": "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz",
- "integrity": "sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.0.tgz",
- "integrity": "sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz",
- "integrity": "sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz",
- "integrity": "sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz",
- "integrity": "sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz",
- "integrity": "sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz",
- "integrity": "sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz",
- "integrity": "sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz",
- "integrity": "sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz",
- "integrity": "sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz",
- "integrity": "sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz",
- "integrity": "sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz",
- "integrity": "sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz",
- "integrity": "sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz",
- "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz",
- "integrity": "sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==",
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz",
+ "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==",
"cpu": [
"arm64"
],
@@ -484,27 +142,10 @@
"node": ">=18"
}
},
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz",
- "integrity": "sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz",
- "integrity": "sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==",
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz",
+ "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==",
"cpu": [
"arm64"
],
@@ -518,95 +159,10 @@
"node": ">=18"
}
},
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz",
- "integrity": "sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz",
- "integrity": "sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz",
- "integrity": "sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz",
- "integrity": "sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@esbuild/win32-x64": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz",
- "integrity": "sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/@eslint-community/eslint-utils": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
- "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
+ "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -646,9 +202,9 @@
}
},
"node_modules/@eslint/compat": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.7.tgz",
- "integrity": "sha512-xvv7hJE32yhegJ8xNAnb62ggiAwTYHBpUCWhRxEj/ksvgDJuSXfoDkBcRYaYNFiJ+jH0IE3K16hd+xXzhBgNbg==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.3.0.tgz",
+ "integrity": "sha512-ZBygRBqpDYiIHsN+d1WyHn3TYgzgpzLEcgJUxTATyiInQbKZz6wZb6+ljwdg8xeeOe4v03z6Uh6lELiw0/mVhQ==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -664,9 +220,9 @@
}
},
"node_modules/@eslint/config-array": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz",
- "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==",
+ "version": "0.20.1",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.1.tgz",
+ "integrity": "sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -678,10 +234,20 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
+ "node_modules/@eslint/config-helpers": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.3.tgz",
+ "integrity": "sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
"node_modules/@eslint/core": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz",
- "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==",
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz",
+ "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -692,9 +258,9 @@
}
},
"node_modules/@eslint/eslintrc": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.0.tgz",
- "integrity": "sha512-yaVPAiNAalnCZedKLdR21GOGILMLKPyqSLWaAjQFvYA2i/ciDi8ArYVr69Anohb6cH2Ukhqti4aFnYyPm8wdwQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
+ "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -729,13 +295,16 @@
}
},
"node_modules/@eslint/js": {
- "version": "9.21.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.21.0.tgz",
- "integrity": "sha512-BqStZ3HX8Yz6LvsF5ByXYrtigrV5AXADWLAGc7PH/1SxOb7/FIYYMszZZWiUou/GB9P2lXWk2SV4d+Z8h0nknw==",
+ "version": "9.29.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.29.0.tgz",
+ "integrity": "sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://eslint.org/donate"
}
},
"node_modules/@eslint/object-schema": {
@@ -749,43 +318,50 @@
}
},
"node_modules/@eslint/plugin-kit": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz",
- "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==",
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.2.tgz",
+ "integrity": "sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@eslint/core": "^0.12.0",
+ "@eslint/core": "^0.15.0",
"levn": "^0.4.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
- "node_modules/@exodus/schemasafe": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz",
- "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==",
+ "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": {
+ "version": "0.15.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.0.tgz",
+ "integrity": "sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==",
"dev": true,
- "license": "MIT",
- "optional": true
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@types/json-schema": "^7.0.15"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
},
"node_modules/@floating-ui/core": {
- "version": "1.6.9",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz",
- "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==",
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.1.tgz",
+ "integrity": "sha512-azI0DrjMMfIug/ExbBaeDVJXcY0a7EPvPjb2xAJPa4HeimBX+Z18HK8QQR3jb6356SnDDdxx+hinMLcJEDdOjw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@floating-ui/utils": "^0.2.9"
}
},
"node_modules/@floating-ui/dom": {
- "version": "1.6.13",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz",
- "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==",
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.1.tgz",
+ "integrity": "sha512-cwsmW/zyw5ltYTUeeYJ60CnQuPqmGwuGVhG9w0PRaRKkAyi38BT5CKrpIbb+jtahSwUl04cWzSx9ZOIxeS6RsQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@floating-ui/core": "^1.6.0",
+ "@floating-ui/core": "^1.7.1",
"@floating-ui/utils": "^0.2.9"
}
},
@@ -793,122 +369,18 @@
"version": "0.2.9",
"resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz",
"integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==",
+ "dev": true,
"license": "MIT"
},
"node_modules/@fontsource/noto-sans": {
- "version": "5.2.5",
- "resolved": "https://registry.npmjs.org/@fontsource/noto-sans/-/noto-sans-5.2.5.tgz",
- "integrity": "sha512-g3hWgsQayHQGVXgQKjbHKpS7YQFQY8azwXFCi3ZkhgCK5fZXe3udeQYrZJJ4PMswGkNhoDPRR9OJZBlMjzZAEQ==",
+ "version": "5.2.7",
+ "resolved": "https://registry.npmjs.org/@fontsource/noto-sans/-/noto-sans-5.2.7.tgz",
+ "integrity": "sha512-mTpMSMft6Nb+ZSF4DSiJVYnLzKCRjHNFieZ/swuxSDQK+v1hjUeDTBxLHKUdfmC+ZPg6TUEWw4oRq2ltnDbSjQ==",
"license": "OFL-1.1",
"funding": {
"url": "https://github.com/sponsors/ayuhito"
}
},
- "node_modules/@formatjs/ecma402-abstract": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.3.3.tgz",
- "integrity": "sha512-pJT1OkhplSmvvr6i3CWTPvC/FGC06MbN5TNBfRO6Ox62AEz90eMq+dVvtX9Bl3jxCEkS0tATzDarRZuOLw7oFg==",
- "license": "MIT",
- "dependencies": {
- "@formatjs/fast-memoize": "2.2.6",
- "@formatjs/intl-localematcher": "0.6.0",
- "decimal.js": "10",
- "tslib": "2"
- }
- },
- "node_modules/@formatjs/fast-memoize": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.6.tgz",
- "integrity": "sha512-luIXeE2LJbQnnzotY1f2U2m7xuQNj2DA8Vq4ce1BY9ebRZaoPB1+8eZ6nXpLzsxuW5spQxr7LdCg+CApZwkqkw==",
- "license": "MIT",
- "dependencies": {
- "tslib": "2"
- }
- },
- "node_modules/@formatjs/icu-messageformat-parser": {
- "version": "2.11.1",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.11.1.tgz",
- "integrity": "sha512-o0AhSNaOfKoic0Sn1GkFCK4MxdRsw7mPJ5/rBpIqdvcC7MIuyUSW8WChUEvrK78HhNpYOgqCQbINxCTumJLzZA==",
- "license": "MIT",
- "dependencies": {
- "@formatjs/ecma402-abstract": "2.3.3",
- "@formatjs/icu-skeleton-parser": "1.8.13",
- "tslib": "2"
- }
- },
- "node_modules/@formatjs/icu-skeleton-parser": {
- "version": "1.8.13",
- "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.13.tgz",
- "integrity": "sha512-N/LIdTvVc1TpJmMt2jVg0Fr1F7Q1qJPdZSCs19unMskCmVQ/sa0H9L8PWt13vq+gLdLg1+pPsvBLydL1Apahjg==",
- "license": "MIT",
- "dependencies": {
- "@formatjs/ecma402-abstract": "2.3.3",
- "tslib": "2"
- }
- },
- "node_modules/@formatjs/intl-localematcher": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.6.0.tgz",
- "integrity": "sha512-4rB4g+3hESy1bHSBG3tDFaMY2CH67iT7yne1e+0CLTsGLDcmoEWWpJjjpWVaYgYfYuohIRuo0E+N536gd2ZHZA==",
- "license": "MIT",
- "dependencies": {
- "tslib": "2"
- }
- },
- "node_modules/@fortawesome/fontawesome-common-types": {
- "version": "6.7.2",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.2.tgz",
- "integrity": "sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@gcornut/valibot-json-schema": {
- "version": "0.31.0",
- "resolved": "https://registry.npmjs.org/@gcornut/valibot-json-schema/-/valibot-json-schema-0.31.0.tgz",
- "integrity": "sha512-3xGptCurm23e7nuPQkdrE5rEs1FeTPHhAUsBuwwqG4/YeZLwJOoYZv+fmsppUEfo5y9lzUwNQrNqLS/q7HMc7g==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "valibot": "~0.31.0"
- },
- "bin": {
- "valibot-json-schema": "bin/index.js"
- },
- "optionalDependencies": {
- "@types/json-schema": ">= 7.0.14",
- "esbuild": ">= 0.18.20",
- "esbuild-runner": ">= 2.2.2"
- }
- },
- "node_modules/@gcornut/valibot-json-schema/node_modules/valibot": {
- "version": "0.31.1",
- "resolved": "https://registry.npmjs.org/valibot/-/valibot-0.31.1.tgz",
- "integrity": "sha512-2YYIhPrnVSz/gfT2/iXVTrSj92HwchCt9Cga/6hX4B26iCz9zkIsGTS0HjDYTZfTi1Un0X6aRvhBi1cfqs/i0Q==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
- "node_modules/@hapi/hoek": {
- "version": "9.3.0",
- "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
- "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true
- },
- "node_modules/@hapi/topo": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
- "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "dependencies": {
- "@hapi/hoek": "^9.0.0"
- }
- },
"node_modules/@humanfs/core": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
@@ -962,9 +434,9 @@
}
},
"node_modules/@humanwhocodes/retry": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz",
- "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
+ "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -976,9 +448,9 @@
}
},
"node_modules/@iconify/svelte": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/@iconify/svelte/-/svelte-4.2.0.tgz",
- "integrity": "sha512-fEl0T7SAPonK7xk6xUlRPDmFDZVDe2Z7ZstlqeDS/sS8ve2uyU+Qa8rTWbIqzZJlRvONkK5kVXiUf9nIc+6OOQ==",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@iconify/svelte/-/svelte-5.0.0.tgz",
+ "integrity": "sha512-Bm5iKnNpIWHuUlWaaf16QgVL1tcbQUUSdPdkvDlpmYXg3nFJSA1SLY9V4rRTd+K4h3QT12ZS7JHFLkf8khQd8Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -999,30 +471,26 @@
"license": "MIT"
},
"node_modules/@internationalized/date": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.7.0.tgz",
- "integrity": "sha512-VJ5WS3fcVx0bejE/YHfbDKR/yawZgKqn/if+oEeLqNwBtPzVB06olkfcnojTmEMX+gTpH+FlQ69SHNitJ8/erQ==",
+ "version": "3.8.2",
+ "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.8.2.tgz",
+ "integrity": "sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@swc/helpers": "^0.5.0"
}
},
- "node_modules/@isaacs/cliui": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
- "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "node_modules/@isaacs/fs-minipass": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
+ "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
+ "dev": true,
"license": "ISC",
"dependencies": {
- "string-width": "^5.1.2",
- "string-width-cjs": "npm:string-width@^4.2.0",
- "strip-ansi": "^7.0.1",
- "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
- "wrap-ansi": "^8.1.0",
- "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ "minipass": "^7.0.4"
},
"engines": {
- "node": ">=12"
+ "node": ">=18.0.0"
}
},
"node_modules/@jridgewell/gen-mapping": {
@@ -1073,27 +541,67 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
+ "node_modules/@kurkle/color": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz",
+ "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==",
+ "license": "MIT"
+ },
"node_modules/@layerstack/svelte-actions": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@layerstack/svelte-actions/-/svelte-actions-1.0.0.tgz",
- "integrity": "sha512-cnVxMbcc+xYta9hwHnLja4a7bR7cfX/QW9jDY4ZCI8RIt+3lKNRE+u2XzWoGp4Qsx7A0/nGUIiLWpDBgO1ihsQ==",
+ "version": "1.0.1-next.12",
+ "resolved": "https://registry.npmjs.org/@layerstack/svelte-actions/-/svelte-actions-1.0.1-next.12.tgz",
+ "integrity": "sha512-dndWTlYu8b1u6vw2nrO7NssccoACArGG75WoNlyVC13KuENZlWdKE9Q79/wlnbq00NeQMNKMjJwRMsrKQj2ULA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@floating-ui/dom": "^1.7.0",
+ "@layerstack/utils": "2.0.0-next.12",
+ "d3-scale": "^4.0.2"
+ }
+ },
+ "node_modules/@layerstack/svelte-actions/node_modules/@layerstack/utils": {
+ "version": "2.0.0-next.12",
+ "resolved": "https://registry.npmjs.org/@layerstack/utils/-/utils-2.0.0-next.12.tgz",
+ "integrity": "sha512-fhGZUlSr3N+D44BYm37WKMGSEFyZBW+dwIqtGU8Cl54mR4TLQ/UwyGhdpgIHyH/x/8q1abE0fP0Dn6ZsrDE3BA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@floating-ui/dom": "^1.6.13",
- "@layerstack/utils": "1.0.0",
"d3-array": "^3.2.4",
- "d3-scale": "^4.0.2",
- "date-fns": "^4.1.0",
+ "d3-time": "^3.1.0",
+ "d3-time-format": "^4.1.0",
+ "lodash-es": "^4.17.21"
+ }
+ },
+ "node_modules/@layerstack/svelte-state": {
+ "version": "0.1.0-next.17",
+ "resolved": "https://registry.npmjs.org/@layerstack/svelte-state/-/svelte-state-0.1.0-next.17.tgz",
+ "integrity": "sha512-z7e6mPJnypD80LEI/UDuH0bI6s8/nut06MB7rEkRcEfHJekhKSJgFhMnrYzLED7Mc2gTTD0X/wcYlakauWlU8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@layerstack/utils": "2.0.0-next.12"
+ }
+ },
+ "node_modules/@layerstack/svelte-state/node_modules/@layerstack/utils": {
+ "version": "2.0.0-next.12",
+ "resolved": "https://registry.npmjs.org/@layerstack/utils/-/utils-2.0.0-next.12.tgz",
+ "integrity": "sha512-fhGZUlSr3N+D44BYm37WKMGSEFyZBW+dwIqtGU8Cl54mR4TLQ/UwyGhdpgIHyH/x/8q1abE0fP0Dn6ZsrDE3BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "d3-array": "^3.2.4",
+ "d3-time": "^3.1.0",
+ "d3-time-format": "^4.1.0",
"lodash-es": "^4.17.21"
}
},
"node_modules/@layerstack/svelte-stores": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@layerstack/svelte-stores/-/svelte-stores-1.0.1.tgz",
- "integrity": "sha512-GVm0iMNJ8pI2q8WjofwejK+m6uF7PFUqgZZfkgDv2UmVh/HyW6ZpxA2wXzIxZley4NtUlrRw8cpyy2sJOEGVSA==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@layerstack/svelte-stores/-/svelte-stores-1.0.2.tgz",
+ "integrity": "sha512-IxK0UKD0PVxg1VsyaR+n7NyJ+NlvyqvYYAp+J10lkjDQxm0yx58CaF2LBV08T22C3aY1iTlqJaatn/VHV4SoQg==",
"license": "MIT",
"dependencies": {
- "@layerstack/utils": "1.0.0",
+ "@layerstack/utils": "1.0.1",
"d3-array": "^3.2.4",
"date-fns": "^4.1.0",
"immer": "^10.1.1",
@@ -1101,49 +609,37 @@
"zod": "^3.24.2"
}
},
- "node_modules/@layerstack/svelte-table": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@layerstack/svelte-table/-/svelte-table-1.0.0.tgz",
- "integrity": "sha512-Q3nZYYpuGF45gmiGmBQ6NiIY5ip6nTJZR4Xx16A2I9Wkr9qEWMj4wC/HIRmNTMLOIc82EkDnDoJs2GQscKEh8Q==",
- "license": "MIT",
- "dependencies": {
- "@layerstack/svelte-actions": "1.0.0",
- "@layerstack/utils": "1.0.0",
- "d3-array": "^3.2.4",
- "date-fns": "^4.1.0",
- "lodash-es": "^4.17.21"
- }
- },
"node_modules/@layerstack/tailwind": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@layerstack/tailwind/-/tailwind-1.0.0.tgz",
- "integrity": "sha512-xV2M6KRNBmbhV9XAvTHiw/BJSTIh5eby+Hj1iXXkMr88fObZHn4s1G2BILEDbdwjZl6Ivu1Du0gO9Vz3lzflUA==",
+ "version": "2.0.0-next.15",
+ "resolved": "https://registry.npmjs.org/@layerstack/tailwind/-/tailwind-2.0.0-next.15.tgz",
+ "integrity": "sha512-7tqKE3OV7/ybeDOORX++USYYCBJa7IgTya2czFpzbgXGo7CQDVyuv+0J1DggjRcEqhhXQA4MUhgnhcRaZvHxWg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@layerstack/utils": "^1.0.0",
+ "@layerstack/utils": "^2.0.0-next.12",
"clsx": "^2.1.1",
- "culori": "^4.0.1",
"d3-array": "^3.2.4",
- "date-fns": "^4.1.0",
"lodash-es": "^4.17.21",
- "tailwind-merge": "^2.5.4",
- "tailwindcss": "^3.4.15"
+ "tailwind-merge": "^3.2.0"
}
},
- "node_modules/@layerstack/tailwind/node_modules/tailwind-merge": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.6.0.tgz",
- "integrity": "sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==",
+ "node_modules/@layerstack/tailwind/node_modules/@layerstack/utils": {
+ "version": "2.0.0-next.12",
+ "resolved": "https://registry.npmjs.org/@layerstack/utils/-/utils-2.0.0-next.12.tgz",
+ "integrity": "sha512-fhGZUlSr3N+D44BYm37WKMGSEFyZBW+dwIqtGU8Cl54mR4TLQ/UwyGhdpgIHyH/x/8q1abE0fP0Dn6ZsrDE3BA==",
+ "dev": true,
"license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/dcastil"
+ "dependencies": {
+ "d3-array": "^3.2.4",
+ "d3-time": "^3.1.0",
+ "d3-time-format": "^4.1.0",
+ "lodash-es": "^4.17.21"
}
},
"node_modules/@layerstack/utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@layerstack/utils/-/utils-1.0.0.tgz",
- "integrity": "sha512-kIH8lo4MEzPGtdxQRacy8RsSVhMQwe62ckuev62xQDE5QcUJ4wB9EMaRWaQK8CfEOpUERGPgkMPMbMqPhdp0gw==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@layerstack/utils/-/utils-1.0.1.tgz",
+ "integrity": "sha512-sWP9b+SFMkJYMZyYFI01aLxbg2ZUrix6Tv+BCDmeOrcLNxtWFsMYAomMhALzTMHbb+Vis/ua5vXhpdNXEw8a2Q==",
"license": "MIT",
"dependencies": {
"d3-array": "^3.2.4",
@@ -1151,16 +647,20 @@
"lodash-es": "^4.17.21"
}
},
- "node_modules/@mdi/js": {
- "version": "7.4.47",
- "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.4.47.tgz",
- "integrity": "sha512-KPnNOtm5i2pMabqZxpUz7iQf+mfrYZyKCZ8QNz85czgEt7cuHcGorWfdzUMWYA0SD+a6Hn4FmJ+YhzzzjkTZrQ==",
- "license": "Apache-2.0"
+ "node_modules/@lucide/svelte": {
+ "version": "0.516.0",
+ "resolved": "https://registry.npmjs.org/@lucide/svelte/-/svelte-0.516.0.tgz",
+ "integrity": "sha512-Ovkg2IgUeF85guSbnG9iPwUMMRuz+rdh8HsnKbD1uEY2Wv3d9qf0ERKFrz0ePZqmPXOedCPcf2a/rvRsqkaZcw==",
+ "license": "ISC",
+ "peerDependencies": {
+ "svelte": "^5"
+ }
},
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
"integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "2.0.5",
@@ -1174,6 +674,7 @@
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
"integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 8"
@@ -1183,6 +684,7 @@
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
"integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@nodelib/fs.scandir": "2.1.5",
@@ -1192,12 +694,6 @@
"node": ">= 8"
}
},
- "node_modules/@novnc/novnc": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@novnc/novnc/-/novnc-1.5.0.tgz",
- "integrity": "sha512-4yGHOtUCnEJUCsgEt/L78eeJu00kthurLBWXFiaXfonNx0pzbs6R/3gJb1byZe6iAE8V9MF0syQb0xIL8MSOtQ==",
- "license": "MPL-2.0"
- },
"node_modules/@parcel/watcher": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
@@ -1206,6 +702,7 @@
"hasInstallScript": true,
"license": "MIT",
"optional": true,
+ "peer": true,
"dependencies": {
"detect-libc": "^1.0.3",
"is-glob": "^4.0.3",
@@ -1248,6 +745,7 @@
"os": [
"android"
],
+ "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -1269,6 +767,7 @@
"os": [
"darwin"
],
+ "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -1290,6 +789,7 @@
"os": [
"darwin"
],
+ "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -1311,6 +811,7 @@
"os": [
"freebsd"
],
+ "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -1332,6 +833,7 @@
"os": [
"linux"
],
+ "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -1353,6 +855,7 @@
"os": [
"linux"
],
+ "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -1374,6 +877,7 @@
"os": [
"linux"
],
+ "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -1395,6 +899,7 @@
"os": [
"linux"
],
+ "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -1416,6 +921,7 @@
"os": [
"linux"
],
+ "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -1437,6 +943,7 @@
"os": [
"linux"
],
+ "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -1458,6 +965,7 @@
"os": [
"win32"
],
+ "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -1479,6 +987,7 @@
"os": [
"win32"
],
+ "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -1500,6 +1009,7 @@
"os": [
"win32"
],
+ "peer": true,
"engines": {
"node": ">= 10.0.0"
},
@@ -1508,66 +1018,36 @@
"url": "https://opencollective.com/parcel"
}
},
- "node_modules/@pkgjs/parseargs": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
- "license": "MIT",
+ "node_modules/@parcel/watcher/node_modules/detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
+ "dev": true,
+ "license": "Apache-2.0",
"optional": true,
+ "peer": true,
+ "bin": {
+ "detect-libc": "bin/detect-libc.js"
+ },
"engines": {
- "node": ">=14"
+ "node": ">=0.10"
}
},
"node_modules/@polka/url": {
- "version": "1.0.0-next.28",
- "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz",
- "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==",
+ "version": "1.0.0-next.29",
+ "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz",
+ "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==",
"dev": true,
"license": "MIT"
},
- "node_modules/@poppinss/macroable": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@poppinss/macroable/-/macroable-1.0.4.tgz",
- "integrity": "sha512-ct43jurbe7lsUX5eIrj4ijO3j/6zIPp7CDnFWXDs7UPAbw1Pu1iH3oAmFdP4jcskKJBURH5M9oTtyeiUXyHX8Q==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=18.16.0"
- }
- },
- "node_modules/@rollup/pluginutils": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz",
- "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==",
- "license": "MIT",
- "dependencies": {
- "estree-walker": "^2.0.1",
- "picomatch": "^2.2.2"
- },
- "engines": {
- "node": ">= 8.0.0"
- }
- },
- "node_modules/@rollup/pluginutils/node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
"node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.0.tgz",
- "integrity": "sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.43.0.tgz",
+ "integrity": "sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==",
"cpu": [
"arm"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1575,12 +1055,13 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.0.tgz",
- "integrity": "sha512-PPA6aEEsTPRz+/4xxAmaoWDqh67N7wFbgFUJGMnanCFs0TV99M0M8QhhaSCks+n6EbQoFvLQgYOGXxlMGQe/6w==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.43.0.tgz",
+ "integrity": "sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1588,12 +1069,13 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.0.tgz",
- "integrity": "sha512-GwYOcOakYHdfnjjKwqpTGgn5a6cUX7+Ra2HeNj/GdXvO2VJOOXCiYYlRFU4CubFM67EhbmzLOmACKEfvp3J1kQ==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.43.0.tgz",
+ "integrity": "sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1601,12 +1083,13 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.0.tgz",
- "integrity": "sha512-CoLEGJ+2eheqD9KBSxmma6ld01czS52Iw0e2qMZNpPDlf7Z9mj8xmMemxEucinev4LgHalDPczMyxzbq+Q+EtA==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.43.0.tgz",
+ "integrity": "sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==",
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1614,12 +1097,13 @@
]
},
"node_modules/@rollup/rollup-freebsd-arm64": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.0.tgz",
- "integrity": "sha512-r7yGiS4HN/kibvESzmrOB/PxKMhPTlz+FcGvoUIKYoTyGd5toHp48g1uZy1o1xQvybwwpqpe010JrcGG2s5nkg==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.43.0.tgz",
+ "integrity": "sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1627,12 +1111,13 @@
]
},
"node_modules/@rollup/rollup-freebsd-x64": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.0.tgz",
- "integrity": "sha512-mVDxzlf0oLzV3oZOr0SMJ0lSDd3xC4CmnWJ8Val8isp9jRGl5Dq//LLDSPFrasS7pSm6m5xAcKaw3sHXhBjoRw==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.43.0.tgz",
+ "integrity": "sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==",
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1640,12 +1125,13 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.0.tgz",
- "integrity": "sha512-y/qUMOpJxBMy8xCXD++jeu8t7kzjlOCkoxxajL58G62PJGBZVl/Gwpm7JK9+YvlB701rcQTzjUZ1JgUoPTnoQA==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.43.0.tgz",
+ "integrity": "sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==",
"cpu": [
"arm"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1653,12 +1139,13 @@
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.0.tgz",
- "integrity": "sha512-GoCsPibtVdJFPv/BOIvBKO/XmwZLwaNWdyD8TKlXuqp0veo2sHE+A/vpMQ5iSArRUz/uaoj4h5S6Pn0+PdhRjg==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.43.0.tgz",
+ "integrity": "sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==",
"cpu": [
"arm"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1666,12 +1153,13 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.0.tgz",
- "integrity": "sha512-L5ZLphTjjAD9leJzSLI7rr8fNqJMlGDKlazW2tX4IUF9P7R5TMQPElpH82Q7eNIDQnQlAyiNVfRPfP2vM5Avvg==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.43.0.tgz",
+ "integrity": "sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1679,12 +1167,13 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.0.tgz",
- "integrity": "sha512-ATZvCRGCDtv1Y4gpDIXsS+wfFeFuLwVxyUBSLawjgXK2tRE6fnsQEkE4csQQYWlBlsFztRzCnBvWVfcae/1qxQ==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.43.0.tgz",
+ "integrity": "sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1692,12 +1181,13 @@
]
},
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.0.tgz",
- "integrity": "sha512-wG9e2XtIhd++QugU5MD9i7OnpaVb08ji3P1y/hNbxrQ3sYEelKJOq1UJ5dXczeo6Hj2rfDEL5GdtkMSVLa/AOg==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.43.0.tgz",
+ "integrity": "sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==",
"cpu": [
"loong64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1705,12 +1195,13 @@
]
},
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.0.tgz",
- "integrity": "sha512-vgXfWmj0f3jAUvC7TZSU/m/cOE558ILWDzS7jBhiCAFpY2WEBn5jqgbqvmzlMjtp8KlLcBlXVD2mkTSEQE6Ixw==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.43.0.tgz",
+ "integrity": "sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==",
"cpu": [
"ppc64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1718,12 +1209,13 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.0.tgz",
- "integrity": "sha512-uJkYTugqtPZBS3Z136arevt/FsKTF/J9dEMTX/cwR7lsAW4bShzI2R0pJVw+hcBTWF4dxVckYh72Hk3/hWNKvA==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.43.0.tgz",
+ "integrity": "sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==",
"cpu": [
"riscv64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1731,12 +1223,13 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-musl": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.0.tgz",
- "integrity": "sha512-rKmSj6EXQRnhSkE22+WvrqOqRtk733x3p5sWpZilhmjnkHkpeCgWsFFo0dGnUGeA+OZjRl3+VYq+HyCOEuwcxQ==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.43.0.tgz",
+ "integrity": "sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==",
"cpu": [
"riscv64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1744,12 +1237,13 @@
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.0.tgz",
- "integrity": "sha512-SpnYlAfKPOoVsQqmTFJ0usx0z84bzGOS9anAC0AZ3rdSo3snecihbhFTlJZ8XMwzqAcodjFU4+/SM311dqE5Sw==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.43.0.tgz",
+ "integrity": "sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==",
"cpu": [
"s390x"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1757,12 +1251,13 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.0.tgz",
- "integrity": "sha512-RcDGMtqF9EFN8i2RYN2W+64CdHruJ5rPqrlYw+cgM3uOVPSsnAQps7cpjXe9be/yDp8UC7VLoCoKC8J3Kn2FkQ==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.43.0.tgz",
+ "integrity": "sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==",
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1770,12 +1265,13 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.0.tgz",
- "integrity": "sha512-HZvjpiUmSNx5zFgwtQAV1GaGazT2RWvqeDi0hV+AtC8unqqDSsaFjPxfsO6qPtKRRg25SisACWnJ37Yio8ttaw==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.43.0.tgz",
+ "integrity": "sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==",
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1783,12 +1279,13 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.0.tgz",
- "integrity": "sha512-UtZQQI5k/b8d7d3i9AZmA/t+Q4tk3hOC0tMOMSq2GlMYOfxbesxG4mJSeDp0EHs30N9bsfwUvs3zF4v/RzOeTQ==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.43.0.tgz",
+ "integrity": "sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==",
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1796,12 +1293,13 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.0.tgz",
- "integrity": "sha512-+m03kvI2f5syIqHXCZLPVYplP8pQch9JHyXKZ3AGMKlg8dCyr2PKHjwRLiW53LTrN/Nc3EqHOKxUxzoSPdKddA==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.43.0.tgz",
+ "integrity": "sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==",
"cpu": [
"ia32"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
@@ -1809,61 +1307,19 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.0.tgz",
- "integrity": "sha512-lpPE1cLfP5oPzVjKMx10pgBmKELQnFJXHgvtHCtuJWOv8MxqdEIMNtgHgBFf7Ea2/7EuVwa9fodWUfXAlXZLZQ==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.43.0.tgz",
+ "integrity": "sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==",
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"win32"
]
},
- "node_modules/@sideway/address": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz",
- "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==",
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "dependencies": {
- "@hapi/hoek": "^9.0.0"
- }
- },
- "node_modules/@sideway/formula": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz",
- "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true
- },
- "node_modules/@sideway/pinpoint": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
- "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true
- },
- "node_modules/@sinclair/typebox": {
- "version": "0.34.28",
- "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.28.tgz",
- "integrity": "sha512-e2B9vmvaa5ym5hWgCHw5CstP54au6AOLXrhZErLsOyyRzuWJtXl/8TszKtc5x8rw/b+oY7HKS9m9iRI53RK0WQ==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
- "node_modules/@standard-schema/spec": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz",
- "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
"node_modules/@svelte-put/shortcut": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@svelte-put/shortcut/-/shortcut-4.1.0.tgz",
@@ -1893,9 +1349,9 @@
}
},
"node_modules/@sveltejs/kit": {
- "version": "2.21.1",
- "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.21.1.tgz",
- "integrity": "sha512-vLbtVwtDcK8LhJKnFkFYwM0uCdFmzioQnif0bjEYH1I24Arz22JPr/hLUiXGVYAwhu8INKx5qrdvr4tHgPwX6w==",
+ "version": "2.22.2",
+ "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.22.2.tgz",
+ "integrity": "sha512-2MvEpSYabUrsJAoq5qCOBGAlkICjfjunrnLcx3YAk2XV7TvAIhomlKsAgR4H/4uns5rAfYmj7Wet5KRtc8dPIg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1910,7 +1366,8 @@
"mrmime": "^2.0.0",
"sade": "^1.8.1",
"set-cookie-parser": "^2.6.0",
- "sirv": "^3.0.0"
+ "sirv": "^3.0.0",
+ "vitefu": "^1.0.6"
},
"bin": {
"svelte-kit": "svelte-kit.js"
@@ -1919,24 +1376,24 @@
"node": ">=18.13"
},
"peerDependencies": {
- "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0",
+ "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0",
"svelte": "^4.0.0 || ^5.0.0-next.0",
- "vite": "^5.0.3 || ^6.0.0"
+ "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0"
}
},
"node_modules/@sveltejs/vite-plugin-svelte": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.0.3.tgz",
- "integrity": "sha512-MCFS6CrQDu1yGwspm4qtli0e63vaPCehf6V7pIMP15AsWgMKrqDGCPFF/0kn4SP0ii4aySu4Pa62+fIRGFMjgw==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.1.0.tgz",
+ "integrity": "sha512-wojIS/7GYnJDYIg1higWj2ROA6sSRWvcR1PO/bqEyFr/5UZah26c8Cz4u0NaqjPeVltzsVpt2Tm8d2io0V+4Tw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@sveltejs/vite-plugin-svelte-inspector": "^4.0.1",
- "debug": "^4.4.0",
+ "debug": "^4.4.1",
"deepmerge": "^4.3.1",
"kleur": "^4.1.5",
- "magic-string": "^0.30.15",
- "vitefu": "^1.0.4"
+ "magic-string": "^0.30.17",
+ "vitefu": "^1.0.6"
},
"engines": {
"node": "^18.0.0 || ^20.0.0 || >=22"
@@ -1979,25 +1436,15 @@
}
},
"node_modules/@swc/helpers": {
- "version": "0.5.15",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
- "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==",
+ "version": "0.5.17",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz",
+ "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"tslib": "^2.8.0"
}
},
- "node_modules/@tailwindcss/container-queries": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@tailwindcss/container-queries/-/container-queries-0.1.1.tgz",
- "integrity": "sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "tailwindcss": ">=3.2.0"
- }
- },
"node_modules/@tailwindcss/forms": {
"version": "0.5.10",
"resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.10.tgz",
@@ -2011,6 +1458,268 @@
"tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1"
}
},
+ "node_modules/@tailwindcss/node": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.10.tgz",
+ "integrity": "sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@ampproject/remapping": "^2.3.0",
+ "enhanced-resolve": "^5.18.1",
+ "jiti": "^2.4.2",
+ "lightningcss": "1.30.1",
+ "magic-string": "^0.30.17",
+ "source-map-js": "^1.2.1",
+ "tailwindcss": "4.1.10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.10.tgz",
+ "integrity": "sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "detect-libc": "^2.0.4",
+ "tar": "^7.4.3"
+ },
+ "engines": {
+ "node": ">= 10"
+ },
+ "optionalDependencies": {
+ "@tailwindcss/oxide-android-arm64": "4.1.10",
+ "@tailwindcss/oxide-darwin-arm64": "4.1.10",
+ "@tailwindcss/oxide-darwin-x64": "4.1.10",
+ "@tailwindcss/oxide-freebsd-x64": "4.1.10",
+ "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.10",
+ "@tailwindcss/oxide-linux-arm64-gnu": "4.1.10",
+ "@tailwindcss/oxide-linux-arm64-musl": "4.1.10",
+ "@tailwindcss/oxide-linux-x64-gnu": "4.1.10",
+ "@tailwindcss/oxide-linux-x64-musl": "4.1.10",
+ "@tailwindcss/oxide-wasm32-wasi": "4.1.10",
+ "@tailwindcss/oxide-win32-arm64-msvc": "4.1.10",
+ "@tailwindcss/oxide-win32-x64-msvc": "4.1.10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-android-arm64": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.10.tgz",
+ "integrity": "sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-arm64": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.10.tgz",
+ "integrity": "sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-darwin-x64": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.10.tgz",
+ "integrity": "sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-freebsd-x64": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.10.tgz",
+ "integrity": "sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.10.tgz",
+ "integrity": "sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.10.tgz",
+ "integrity": "sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-arm64-musl": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.10.tgz",
+ "integrity": "sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.10.tgz",
+ "integrity": "sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-linux-x64-musl": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.10.tgz",
+ "integrity": "sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-wasm32-wasi": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.10.tgz",
+ "integrity": "sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q==",
+ "bundleDependencies": [
+ "@napi-rs/wasm-runtime",
+ "@emnapi/core",
+ "@emnapi/runtime",
+ "@tybys/wasm-util",
+ "@emnapi/wasi-threads",
+ "tslib"
+ ],
+ "cpu": [
+ "wasm32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/core": "^1.4.3",
+ "@emnapi/runtime": "^1.4.3",
+ "@emnapi/wasi-threads": "^1.0.2",
+ "@napi-rs/wasm-runtime": "^0.2.10",
+ "@tybys/wasm-util": "^0.9.0",
+ "tslib": "^2.8.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.10.tgz",
+ "integrity": "sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-win32-x64-msvc": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.10.tgz",
+ "integrity": "sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
"node_modules/@tailwindcss/typography": {
"version": "0.5.16",
"resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.16.tgz",
@@ -2027,61 +1736,21 @@
"tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1"
}
},
- "node_modules/@tailwindcss/typography/node_modules/postcss-selector-parser": {
- "version": "6.0.10",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
- "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+ "node_modules/@tailwindcss/vite": {
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.10.tgz",
+ "integrity": "sha512-QWnD5HDY2IADv+vYR82lOhqOlS1jSCUUAmfem52cXAhRTKxpDh3ARX8TTXJTCCO7Rv7cD2Nlekabv02bwP3a2A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@thisux/sveltednd": {
- "version": "0.0.20",
- "resolved": "https://registry.npmjs.org/@thisux/sveltednd/-/sveltednd-0.0.20.tgz",
- "integrity": "sha512-VE0HopIlHIvNOfSZ1SsiIzl1AmTU0VSd2Nz2Q2nIdqIUsT/UP4hiLw2ed2jFqTKTbqC+kbCYL9vuBpkYnEw+Kw==",
- "license": "MIT",
- "dependencies": {
- "@thisux/sveltednd": "^0.0.18"
+ "@tailwindcss/node": "4.1.10",
+ "@tailwindcss/oxide": "4.1.10",
+ "tailwindcss": "4.1.10"
},
"peerDependencies": {
- "svelte": "^5.0.0"
+ "vite": "^5.2.0 || ^6"
}
},
- "node_modules/@thisux/sveltednd/node_modules/@thisux/sveltednd": {
- "version": "0.0.18",
- "resolved": "https://registry.npmjs.org/@thisux/sveltednd/-/sveltednd-0.0.18.tgz",
- "integrity": "sha512-MO+iR9ZRHApvtwgWujmqwUbhv9mKs0jLOmeG4tn98GmU1/9wVOi02jrNqeggKg3c8dXz6pMmUHfOfmcq7WwYZg==",
- "license": "MIT",
- "dependencies": {
- "@thisux/sveltednd": "^0.0.17"
- },
- "peerDependencies": {
- "svelte": "^5.0.0"
- }
- },
- "node_modules/@thisux/sveltednd/node_modules/@thisux/sveltednd/node_modules/@thisux/sveltednd": {
- "version": "0.0.17",
- "resolved": "https://registry.npmjs.org/@thisux/sveltednd/-/sveltednd-0.0.17.tgz",
- "integrity": "sha512-lRninjw439phhA8xAHqCpMAX0hnwFMdbXW4M0XJgAdnGxeum+QsLiIC4P3HnkNXAygsVKUqxRcbS84CxDZ9hPw==",
- "license": "MIT",
- "dependencies": {
- "@thisux/sveltednd": "^0.0.14"
- },
- "peerDependencies": {
- "svelte": "^5.0.0"
- }
- },
- "node_modules/@thisux/sveltednd/node_modules/@thisux/sveltednd/node_modules/@thisux/sveltednd/node_modules/@thisux/sveltednd": {
- "version": "0.0.14",
- "resolved": "https://registry.npmjs.org/@thisux/sveltednd/-/sveltednd-0.0.14.tgz",
- "integrity": "sha512-Vbq69SU3HUomPg6oCXtb89OG89hka0YIkdaErYibn3waK7tYE66IcQxD/Fzg8YNW3EVsXoA9kc7kW5EUBCSQGg=="
- },
"node_modules/@types/cookie": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
@@ -2124,9 +1793,15 @@
"license": "MIT"
},
"node_modules/@types/estree": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
- "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
+ "license": "MIT"
+ },
+ "node_modules/@types/hammerjs": {
+ "version": "2.0.46",
+ "resolved": "https://registry.npmjs.org/@types/hammerjs/-/hammerjs-2.0.46.tgz",
+ "integrity": "sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw==",
"license": "MIT"
},
"node_modules/@types/json-schema": {
@@ -2136,95 +1811,36 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@types/node": {
- "version": "22.13.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.9.tgz",
- "integrity": "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==",
- "license": "MIT",
- "dependencies": {
- "undici-types": "~6.20.0"
- }
- },
- "node_modules/@types/novnc__novnc": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/@types/novnc__novnc/-/novnc__novnc-1.6.0.tgz",
- "integrity": "sha512-kIH/PQACbf9qj6whiSXRKECpyzgs6IFNVsW4wohyqQUZfQHdLhuGRMLi9XEhBiISSh0lKCSbBa7kScuPu9Gk+Q==",
- "license": "MIT"
- },
- "node_modules/@types/resolve": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
- "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
"node_modules/@types/tabulator-tables": {
"version": "6.2.6",
"resolved": "https://registry.npmjs.org/@types/tabulator-tables/-/tabulator-tables-6.2.6.tgz",
"integrity": "sha512-A+2VrqDluI6hNw5dQl1Z7b8pjQfAE62+3Kj0cFfenWzj0T0ewMicPrpPINHL7ASqz9u9FTDn1Mz1Ige2tF4Wlw==",
+ "dev": true,
"license": "MIT"
},
"node_modules/@types/validator": {
- "version": "13.12.2",
- "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.12.2.tgz",
- "integrity": "sha512-6SlHBzUW8Jhf3liqrGGXyTJSIFe4nqlJ5A5KaMZ2l/vbM3Wh3KSybots/wfWVzNLK4D1NZluDlSQIbIEPx6oyA==",
+ "version": "13.15.2",
+ "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.15.2.tgz",
+ "integrity": "sha512-y7pa/oEJJ4iGYBxOpfAKn5b9+xuihvzDVnC/OSvlVnGxVg0pOqmjiMafiJ1KVNQEaPZf9HsEp5icEwGg8uIe5Q==",
"dev": true,
- "license": "MIT",
- "optional": true
- },
- "node_modules/@typeschema/class-validator": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@typeschema/class-validator/-/class-validator-0.3.0.tgz",
- "integrity": "sha512-OJSFeZDIQ8EK1HTljKLT5CItM2wsbgczLN8tMEfz3I1Lmhc5TBfkZ0eikFzUC16tI3d1Nag7um6TfCgp2I2Bww==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@typeschema/core": "0.14.0"
- },
- "peerDependencies": {
- "class-validator": "^0.14.1"
- },
- "peerDependenciesMeta": {
- "class-validator": {
- "optional": true
- }
- }
- },
- "node_modules/@typeschema/core": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/@typeschema/core/-/core-0.14.0.tgz",
- "integrity": "sha512-Ia6PtZHcL3KqsAWXjMi5xIyZ7XMH4aSnOQes8mfMLx+wGFGtGRNlwe6Y7cYvX+WfNK67OL0/HSe9t8QDygV0/w==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peerDependencies": {
- "@types/json-schema": "^7.0.15"
- },
- "peerDependenciesMeta": {
- "@types/json-schema": {
- "optional": true
- }
- }
+ "license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.25.0.tgz",
- "integrity": "sha512-VM7bpzAe7JO/BFf40pIT1lJqS/z1F8OaSsUB3rpFJucQA4cOSuH2RVVVkFULN+En0Djgr29/jb4EQnedUo95KA==",
+ "version": "8.34.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.34.1.tgz",
+ "integrity": "sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.25.0",
- "@typescript-eslint/type-utils": "8.25.0",
- "@typescript-eslint/utils": "8.25.0",
- "@typescript-eslint/visitor-keys": "8.25.0",
+ "@typescript-eslint/scope-manager": "8.34.1",
+ "@typescript-eslint/type-utils": "8.34.1",
+ "@typescript-eslint/utils": "8.34.1",
+ "@typescript-eslint/visitor-keys": "8.34.1",
"graphemer": "^1.4.0",
- "ignore": "^5.3.1",
+ "ignore": "^7.0.0",
"natural-compare": "^1.4.0",
- "ts-api-utils": "^2.0.1"
+ "ts-api-utils": "^2.1.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2234,22 +1850,32 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
+ "@typescript-eslint/parser": "^8.34.1",
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.8.0"
+ "typescript": ">=4.8.4 <5.9.0"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+ "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.25.0.tgz",
- "integrity": "sha512-4gbs64bnbSzu4FpgMiQ1A+D+urxkoJk/kqlDJ2W//5SygaEiAP2B4GoS7TEdxgwol2el03gckFV9lJ4QOMiiHg==",
+ "version": "8.34.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.34.1.tgz",
+ "integrity": "sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "8.25.0",
- "@typescript-eslint/types": "8.25.0",
- "@typescript-eslint/typescript-estree": "8.25.0",
- "@typescript-eslint/visitor-keys": "8.25.0",
+ "@typescript-eslint/scope-manager": "8.34.1",
+ "@typescript-eslint/types": "8.34.1",
+ "@typescript-eslint/typescript-estree": "8.34.1",
+ "@typescript-eslint/visitor-keys": "8.34.1",
"debug": "^4.3.4"
},
"engines": {
@@ -2261,18 +1887,40 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.8.0"
+ "typescript": ">=4.8.4 <5.9.0"
}
},
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.25.0.tgz",
- "integrity": "sha512-6PPeiKIGbgStEyt4NNXa2ru5pMzQ8OYKO1hX1z53HMomrmiSB+R5FmChgQAP1ro8jMtNawz+TRQo/cSXrauTpg==",
+ "node_modules/@typescript-eslint/project-service": {
+ "version": "8.34.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.1.tgz",
+ "integrity": "sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.25.0",
- "@typescript-eslint/visitor-keys": "8.25.0"
+ "@typescript-eslint/tsconfig-utils": "^8.34.1",
+ "@typescript-eslint/types": "^8.34.1",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <5.9.0"
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "8.34.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.1.tgz",
+ "integrity": "sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.34.1",
+ "@typescript-eslint/visitor-keys": "8.34.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2282,17 +1930,34 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
+ "node_modules/@typescript-eslint/tsconfig-utils": {
+ "version": "8.34.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.1.tgz",
+ "integrity": "sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.8.4 <5.9.0"
+ }
+ },
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.25.0.tgz",
- "integrity": "sha512-d77dHgHWnxmXOPJuDWO4FDWADmGQkN5+tt6SFRZz/RtCWl4pHgFl3+WdYCn16+3teG09DY6XtEpf3gGD0a186g==",
+ "version": "8.34.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.34.1.tgz",
+ "integrity": "sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.25.0",
- "@typescript-eslint/utils": "8.25.0",
+ "@typescript-eslint/typescript-estree": "8.34.1",
+ "@typescript-eslint/utils": "8.34.1",
"debug": "^4.3.4",
- "ts-api-utils": "^2.0.1"
+ "ts-api-utils": "^2.1.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2303,13 +1968,13 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.8.0"
+ "typescript": ">=4.8.4 <5.9.0"
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.25.0.tgz",
- "integrity": "sha512-+vUe0Zb4tkNgznQwicsvLUJgZIRs6ITeWSCclX1q85pR1iOiaj+4uZJIUp//Z27QWu5Cseiw3O3AR8hVpax7Aw==",
+ "version": "8.34.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.1.tgz",
+ "integrity": "sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -2321,20 +1986,22 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.25.0.tgz",
- "integrity": "sha512-ZPaiAKEZ6Blt/TPAx5Ot0EIB/yGtLI2EsGoY6F7XKklfMxYQyvtL+gT/UCqkMzO0BVFHLDlzvFqQzurYahxv9Q==",
+ "version": "8.34.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.1.tgz",
+ "integrity": "sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.25.0",
- "@typescript-eslint/visitor-keys": "8.25.0",
+ "@typescript-eslint/project-service": "8.34.1",
+ "@typescript-eslint/tsconfig-utils": "8.34.1",
+ "@typescript-eslint/types": "8.34.1",
+ "@typescript-eslint/visitor-keys": "8.34.1",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
"minimatch": "^9.0.4",
"semver": "^7.6.0",
- "ts-api-utils": "^2.0.1"
+ "ts-api-utils": "^2.1.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2344,13 +2011,13 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "typescript": ">=4.8.4 <5.8.0"
+ "typescript": ">=4.8.4 <5.9.0"
}
},
"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2374,16 +2041,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.25.0.tgz",
- "integrity": "sha512-syqRbrEv0J1wywiLsK60XzHnQe/kRViI3zwFALrNEgnntn1l24Ra2KvOAWwWbWZ1lBZxZljPDGOq967dsl6fkA==",
+ "version": "8.34.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.1.tgz",
+ "integrity": "sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.25.0",
- "@typescript-eslint/types": "8.25.0",
- "@typescript-eslint/typescript-estree": "8.25.0"
+ "@eslint-community/eslint-utils": "^4.7.0",
+ "@typescript-eslint/scope-manager": "8.34.1",
+ "@typescript-eslint/types": "8.34.1",
+ "@typescript-eslint/typescript-estree": "8.34.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2394,18 +2061,18 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.8.0"
+ "typescript": ">=4.8.4 <5.9.0"
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.25.0.tgz",
- "integrity": "sha512-kCYXKAum9CecGVHGij7muybDfTS2sD3t0L4bJsEZLkyrXUImiCTq1M3LG2SRtOhiHFwMR9wAFplpT6XHYjTkwQ==",
+ "version": "8.34.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.1.tgz",
+ "integrity": "sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.25.0",
- "eslint-visitor-keys": "^4.2.0"
+ "@typescript-eslint/types": "8.34.1",
+ "eslint-visitor-keys": "^4.2.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2421,38 +2088,6 @@
"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
"license": "ISC"
},
- "node_modules/@vinejs/compiler": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@vinejs/compiler/-/compiler-3.0.0.tgz",
- "integrity": "sha512-v9Lsv59nR56+bmy2p0+czjZxsLHwaibJ+SV5iK9JJfehlJMa501jUJQqqz4X/OqKXrxtE3uTQmSqjUqzF3B2mw==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=18.0.0"
- }
- },
- "node_modules/@vinejs/vine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@vinejs/vine/-/vine-3.0.0.tgz",
- "integrity": "sha512-GeCAHLzKkL2kMFqatgqyiiNh+FILOSAV8x8imBDo6AWQ91w30Kaxw4FnzUDqgcd9z8aCYOBQ7RJxBBGfyr+USQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@poppinss/macroable": "^1.0.3",
- "@types/validator": "^13.12.2",
- "@vinejs/compiler": "^3.0.0",
- "camelcase": "^8.0.0",
- "dayjs": "^1.11.13",
- "dlv": "^1.1.3",
- "normalize-url": "^8.0.1",
- "validator": "^13.12.0"
- },
- "engines": {
- "node": ">=18.16.0"
- }
- },
"node_modules/@xterm/addon-attach": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@xterm/addon-attach/-/addon-attach-0.11.0.tgz",
@@ -2553,9 +2188,9 @@
"license": "MIT"
},
"node_modules/acorn": {
- "version": "8.14.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
- "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
+ "version": "8.15.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
@@ -2575,29 +2210,18 @@
}
},
"node_modules/adze": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/adze/-/adze-2.2.1.tgz",
- "integrity": "sha512-zTQPl28v/WNEZo4Pmb3HThpYLLTeMuHX3fvC8Aw1CIAHT7nZR5JiqbmE/mB+3qemX4n0ygj+3KfcFpKxLINa/A==",
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/adze/-/adze-2.2.4.tgz",
+ "integrity": "sha512-Kqe4cLmYS42QNPtFoiDKsaZMPJYnAhBsh3SuVEeTEvjjTy3zOO1ovvD3wbylXtC+mUOcWU9vzS3ezXHpk0Lq6A==",
"license": "Apache-2.0",
"dependencies": {
"@ungap/structured-clone": "1.2.0",
- "date-fns": "^3.6.0",
"picocolors": "1.1.1"
},
"engines": {
"node": ">=18.19.0"
}
},
- "node_modules/adze/node_modules/date-fns": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz",
- "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==",
- "license": "MIT",
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/kossnocorp"
- }
- },
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -2615,22 +2239,11 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/ansi-regex": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
- "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"color-convert": "^2.0.1"
@@ -2642,43 +2255,6 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/any-promise": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
- "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==",
- "license": "MIT"
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/anymatch/node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/arg": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
- "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
- "license": "MIT"
- },
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
@@ -2695,72 +2271,16 @@
"node": ">= 0.4"
}
},
- "node_modules/arktype": {
- "version": "2.1.20",
- "resolved": "https://registry.npmjs.org/arktype/-/arktype-2.1.20.tgz",
- "integrity": "sha512-IZCEEXaJ8g+Ijd59WtSYwtjnqXiwM8sWQ5EjGamcto7+HVN9eK0C4p0zDlCuAwWhpqr6fIBkxPuYDl4/Mcj/+Q==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@ark/schema": "0.46.0",
- "@ark/util": "0.46.0"
- }
- },
- "node_modules/array-source": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/array-source/-/array-source-0.0.4.tgz",
- "integrity": "sha512-frNdc+zBn80vipY+GdcJkLEbMWj3xmzArYApmUGxoiV8uAu/ygcs9icPdsGdA26h0MkHUMW6EN2piIvVx+M5Mw==",
- "license": "BSD-3-Clause"
- },
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
"license": "MIT"
},
- "node_modules/autoprefixer": {
- "version": "10.4.20",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz",
- "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/autoprefixer"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.23.3",
- "caniuse-lite": "^1.0.30001646",
- "fraction.js": "^4.3.7",
- "normalize-range": "^0.1.2",
- "picocolors": "^1.0.1",
- "postcss-value-parser": "^4.2.0"
- },
- "bin": {
- "autoprefixer": "bin/autoprefixer"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
"node_modules/axios": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.3.tgz",
- "integrity": "sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A==",
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.10.0.tgz",
+ "integrity": "sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.15.6",
@@ -2781,60 +2301,40 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true,
"license": "MIT"
},
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
- "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/bits-ui": {
- "version": "0.22.0",
- "resolved": "https://registry.npmjs.org/bits-ui/-/bits-ui-0.22.0.tgz",
- "integrity": "sha512-r7Fw1HNgA4YxZBRcozl7oP0bheQ8EHh+kfMBZJgyFISix8t4p/nqDcHLmBgIiJ3T5XjYnJRorYDjIWaCfhb5fw==",
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/bits-ui/-/bits-ui-2.8.1.tgz",
+ "integrity": "sha512-fyKn2UnuPlyqtU7dtp9jDF6KV2aP1N6alzU5S1V1YkEmA2KP0Rm9g+sR+CeDJ/vN/UoMK9uiAl6y7M/Y0e67Bw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@internationalized/date": "^3.5.1",
- "@melt-ui/svelte": "0.76.2",
- "nanoid": "^5.0.5"
+ "@floating-ui/core": "^1.7.0",
+ "@floating-ui/dom": "^1.7.0",
+ "css.escape": "^1.5.1",
+ "esm-env": "^1.1.2",
+ "runed": "^0.28.0",
+ "svelte-toolbelt": "^0.9.2",
+ "tabbable": "^6.2.0"
+ },
+ "engines": {
+ "node": ">=20",
+ "pnpm": ">=8.7.0"
},
"funding": {
"url": "https://github.com/sponsors/huntabyte"
},
"peerDependencies": {
- "svelte": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/bits-ui/node_modules/@melt-ui/svelte": {
- "version": "0.76.2",
- "resolved": "https://registry.npmjs.org/@melt-ui/svelte/-/svelte-0.76.2.tgz",
- "integrity": "sha512-7SbOa11tXUS95T3fReL+dwDs5FyJtCEqrqG3inRziDws346SYLsxOQ6HmX+4BkIsQh1R8U3XNa+EMmdMt38lMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@floating-ui/core": "^1.3.1",
- "@floating-ui/dom": "^1.4.5",
- "@internationalized/date": "^3.5.0",
- "dequal": "^2.0.3",
- "focus-trap": "^7.5.2",
- "nanoid": "^5.0.4"
- },
- "peerDependencies": {
- "svelte": ">=3 <5"
+ "@internationalized/date": "^3.8.1",
+ "svelte": "^5.33.0"
}
},
"node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2846,6 +2346,7 @@
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
@@ -2854,59 +2355,6 @@
"node": ">=8"
}
},
- "node_modules/browserslist": {
- "version": "4.24.4",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
- "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "caniuse-lite": "^1.0.30001688",
- "electron-to-chromium": "^1.5.73",
- "node-releases": "^2.0.19",
- "update-browserslist-db": "^1.1.1"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
- "node_modules/builtin-modules": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
- "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/call-bind-apply-helpers": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
@@ -2930,50 +2378,6 @@
"node": ">=6"
}
},
- "node_modules/camelcase": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz",
- "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/camelcase-css": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
- "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001701",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001701.tgz",
- "integrity": "sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "CC-BY-4.0"
- },
"node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -2991,11 +2395,46 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
+ "node_modules/chart.js": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.0.tgz",
+ "integrity": "sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@kurkle/color": "^0.3.0"
+ },
+ "engines": {
+ "pnpm": ">=8"
+ }
+ },
+ "node_modules/chartjs-adapter-date-fns": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chartjs-adapter-date-fns/-/chartjs-adapter-date-fns-3.0.0.tgz",
+ "integrity": "sha512-Rs3iEB3Q5pJ973J93OBTpnP7qoGwvq3nUnoMdtxO+9aoJof7UFcRbWcIDteXuYd1fgAvct/32T9qaLyLuZVwCg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "chart.js": ">=2.8.0",
+ "date-fns": ">=2.0.0"
+ }
+ },
+ "node_modules/chartjs-plugin-zoom": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/chartjs-plugin-zoom/-/chartjs-plugin-zoom-2.2.0.tgz",
+ "integrity": "sha512-in6kcdiTlP6npIVLMd4zXZ08PDUXC52gZ4FAy5oyjk1zX3gKarXMAof7B9eFiisf9WOC3bh2saHg+J5WtLXZeA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/hammerjs": "^2.0.45",
+ "hammerjs": "^2.0.8"
+ },
+ "peerDependencies": {
+ "chart.js": ">=3.2.0"
+ }
+ },
"node_modules/chokidar": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"readdirp": "^4.0.1"
@@ -3007,6 +2446,16 @@
"url": "https://paulmillr.com/funding/"
}
},
+ "node_modules/chownr": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
+ "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/cidr-regex": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/cidr-regex/-/cidr-regex-4.1.3.tgz",
@@ -3019,35 +2468,6 @@
"node": ">=14"
}
},
- "node_modules/class-validator": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.1.tgz",
- "integrity": "sha512-2VEG9JICxIqTpoK1eMzZqaV+u/EiwEJkMGzTrZf6sU/fwsnOITVgYJ8yojSy6CaXtO9V0Cc6ZQZ8h8m4UBuLwQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@types/validator": "^13.11.8",
- "libphonenumber-js": "^1.10.53",
- "validator": "^13.9.0"
- }
- },
- "node_modules/cli-color": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.4.tgz",
- "integrity": "sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==",
- "license": "ISC",
- "dependencies": {
- "d": "^1.0.1",
- "es5-ext": "^0.10.64",
- "es6-iterator": "^2.0.3",
- "memoizee": "^0.4.15",
- "timers-ext": "^0.1.7"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
"node_modules/clone-regexp": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-3.0.0.tgz",
@@ -3072,81 +2492,11 @@
"node": ">=6"
}
},
- "node_modules/cmdk-sv": {
- "version": "0.0.19",
- "resolved": "https://registry.npmjs.org/cmdk-sv/-/cmdk-sv-0.0.19.tgz",
- "integrity": "sha512-Vm6+/up5nQbwGmNw0uYFbXTrbpF460/FhMohTskzzszMtIR/u/78haucSmJWjjp9bW0wxpHXZWa6fk+Lj1tKnA==",
- "dev": true,
- "dependencies": {
- "bits-ui": "^0.21.12",
- "nanoid": "^5.0.7"
- },
- "peerDependencies": {
- "svelte": "^4.0.0 || ^5.0.0-next.1"
- }
- },
- "node_modules/cmdk-sv/node_modules/bits-ui": {
- "version": "0.21.16",
- "resolved": "https://registry.npmjs.org/bits-ui/-/bits-ui-0.21.16.tgz",
- "integrity": "sha512-XFZ7/bK7j/K+5iktxX/ZpmoFHjYjpPzP5EOO/4bWiaFg5TG1iMcfjDhlBTQnJxD6BoVoHuqeZPHZvaTgF4Iv3Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@internationalized/date": "^3.5.1",
- "@melt-ui/svelte": "0.76.2",
- "nanoid": "^5.0.5"
- },
- "funding": {
- "url": "https://github.com/sponsors/huntabyte"
- },
- "peerDependencies": {
- "svelte": "^4.0.0 || ^5.0.0-next.118"
- }
- },
- "node_modules/cmdk-sv/node_modules/bits-ui/node_modules/@melt-ui/svelte": {
- "version": "0.76.2",
- "resolved": "https://registry.npmjs.org/@melt-ui/svelte/-/svelte-0.76.2.tgz",
- "integrity": "sha512-7SbOa11tXUS95T3fReL+dwDs5FyJtCEqrqG3inRziDws346SYLsxOQ6HmX+4BkIsQh1R8U3XNa+EMmdMt38lMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@floating-ui/core": "^1.3.1",
- "@floating-ui/dom": "^1.4.5",
- "@internationalized/date": "^3.5.0",
- "dequal": "^2.0.3",
- "focus-trap": "^7.5.2",
- "nanoid": "^5.0.4"
- },
- "peerDependencies": {
- "svelte": ">=3 <5"
- }
- },
- "node_modules/code-red": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz",
- "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==",
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.4.15",
- "@types/estree": "^1.0.1",
- "acorn": "^8.10.0",
- "estree-walker": "^3.0.3",
- "periscopic": "^3.1.0"
- }
- },
- "node_modules/code-red/node_modules/estree-walker": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
- "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0"
- }
- },
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
@@ -3159,6 +2509,7 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
"license": "MIT"
},
"node_modules/combined-stream": {
@@ -3174,21 +2525,13 @@
}
},
"node_modules/commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+ "dev": true,
"license": "MIT",
"engines": {
- "node": ">= 6"
- }
- },
- "node_modules/comment-parser": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz",
- "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==",
- "license": "MIT",
- "engines": {
- "node": ">= 12.0.0"
+ "node": ">= 10"
}
},
"node_modules/concat-map": {
@@ -3224,6 +2567,7 @@
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
@@ -3234,23 +2578,18 @@
"node": ">= 8"
}
},
- "node_modules/css-tree": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
- "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
- "license": "MIT",
- "dependencies": {
- "mdn-data": "2.0.30",
- "source-map-js": "^1.0.1"
- },
- "engines": {
- "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
- }
+ "node_modules/css.escape": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
+ "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true,
"license": "MIT",
"bin": {
"cssesc": "bin/cssesc"
@@ -3259,28 +2598,6 @@
"node": ">=4"
}
},
- "node_modules/culori": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/culori/-/culori-4.0.1.tgz",
- "integrity": "sha512-LSnjA6HuIUOlkfKVbzi2OlToZE8OjFi667JWN9qNymXVXzGDmvuP60SSgC+e92sd7B7158f7Fy3Mb6rXS5EDPw==",
- "license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
- }
- },
- "node_modules/d": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz",
- "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
- "license": "ISC",
- "dependencies": {
- "es5-ext": "^0.10.64",
- "type": "^2.7.2"
- },
- "engines": {
- "node": ">=0.12"
- }
- },
"node_modules/d3-array": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
@@ -3297,6 +2614,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
"integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
+ "dev": true,
"license": "ISC",
"engines": {
"node": ">=12"
@@ -3306,6 +2624,7 @@
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
"integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"delaunator": "5"
@@ -3318,6 +2637,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
"integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
+ "dev": true,
"license": "ISC",
"engines": {
"node": ">=12"
@@ -3327,6 +2647,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
"integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"commander": "7",
@@ -3348,19 +2669,11 @@
"node": ">=12"
}
},
- "node_modules/d3-dsv/node_modules/commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
- "license": "MIT",
- "engines": {
- "node": ">= 10"
- }
- },
"node_modules/d3-force": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
"integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"d3-dispatch": "1 - 3",
@@ -3375,6 +2688,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
"integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
+ "dev": true,
"license": "ISC",
"engines": {
"node": ">=12"
@@ -3384,6 +2698,7 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz",
"integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"d3-array": "2.5.0 - 3"
@@ -3396,6 +2711,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/d3-geo-voronoi/-/d3-geo-voronoi-2.1.0.tgz",
"integrity": "sha512-kqE4yYuOjPbKdBXG0xztCacPwkVSK2REF1opSNrnqqtXJmNcM++UbwQ8SxvwP6IQTj9RvIjjK4qeiVsEfj0Z2Q==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"d3-array": "3",
@@ -3411,6 +2727,7 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
"integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==",
+ "dev": true,
"license": "ISC",
"engines": {
"node": ">=12"
@@ -3420,6 +2737,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
"integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"d3-color": "1 - 3"
@@ -3432,6 +2750,7 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/d3-interpolate-path/-/d3-interpolate-path-2.3.0.tgz",
"integrity": "sha512-tZYtGXxBmbgHsIc9Wms6LS5u4w6KbP8C09a4/ZYc4KLMYYqub57rRBUgpUr2CIarIrJEpdAWWxWQvofgaMpbKQ==",
+ "dev": true,
"license": "BSD-3-Clause"
},
"node_modules/d3-path": {
@@ -3447,6 +2766,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
"integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
+ "dev": true,
"license": "ISC",
"engines": {
"node": ">=12"
@@ -3456,6 +2776,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
"integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==",
+ "dev": true,
"license": "ISC",
"engines": {
"node": ">=12"
@@ -3465,6 +2786,7 @@
"version": "0.12.3",
"resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz",
"integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==",
+ "dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"d3-array": "1 - 2",
@@ -3475,6 +2797,7 @@
"version": "2.12.1",
"resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz",
"integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==",
+ "dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"internmap": "^1.0.0"
@@ -3484,12 +2807,14 @@
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz",
"integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==",
+ "dev": true,
"license": "BSD-3-Clause"
},
"node_modules/d3-sankey/node_modules/d3-shape": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz",
"integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==",
+ "dev": true,
"license": "BSD-3-Clause",
"dependencies": {
"d3-path": "1"
@@ -3499,12 +2824,14 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz",
"integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==",
+ "dev": true,
"license": "ISC"
},
"node_modules/d3-scale": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
"integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"d3-array": "2.10.0 - 3",
@@ -3521,6 +2848,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
"integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"d3-color": "1 - 3",
@@ -3546,12 +2874,14 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/d3-tile/-/d3-tile-1.0.0.tgz",
"integrity": "sha512-79fnTKpPMPDS5xQ0xuS9ir0165NEwwkFpe/DSOmc2Gl9ldYzKKRDWogmTTE8wAJ8NA7PMapNfEcyKhI9Lxdu5Q==",
+ "dev": true,
"license": "BSD-3-Clause"
},
"node_modules/d3-time": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
"integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"d3-array": "2 - 3"
@@ -3564,6 +2894,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
"integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"d3-time": "1 - 3"
@@ -3576,6 +2907,7 @@
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
"integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
+ "dev": true,
"license": "ISC",
"engines": {
"node": ">=12"
@@ -3585,6 +2917,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/d3-tricontour/-/d3-tricontour-1.0.2.tgz",
"integrity": "sha512-HIRxHzHagPtUPNabjOlfcyismJYIsc+Xlq4mlsts4e8eAcwyq9Tgk/sYdyhlBpQ0MHwVquc/8j+e29YjXnmxeA==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"d3-delaunay": "6",
@@ -3613,18 +2946,10 @@
"date-fns": "^3.0.0 || ^4.0.0"
}
},
- "node_modules/dayjs": {
- "version": "1.11.13",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
- "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
"node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3639,12 +2964,6 @@
}
}
},
- "node_modules/decimal.js": {
- "version": "10.5.0",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz",
- "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==",
- "license": "MIT"
- },
"node_modules/deep-is": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
@@ -3656,6 +2975,7 @@
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -3665,6 +2985,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz",
"integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"robust-predicates": "^3.0.2"
@@ -3679,28 +3000,14 @@
"node": ">=0.4.0"
}
},
- "node_modules/dequal": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
- "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/detect-libc": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
- "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
+ "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
"dev": true,
"license": "Apache-2.0",
- "optional": true,
- "bin": {
- "detect-libc": "bin/detect-libc.js"
- },
"engines": {
- "node": ">=0.10"
+ "node": ">=8"
}
},
"node_modules/devalue": {
@@ -3710,18 +3017,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/didyoumean": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
- "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
- "license": "Apache-2.0"
- },
- "node_modules/dlv": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
- "license": "MIT"
- },
"node_modules/dunder-proto": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
@@ -3736,37 +3031,20 @@
"node": ">= 0.4"
}
},
- "node_modules/eastasianwidth": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
- "license": "MIT"
- },
- "node_modules/effect": {
- "version": "3.15.0",
- "resolved": "https://registry.npmjs.org/effect/-/effect-3.15.0.tgz",
- "integrity": "sha512-l8eJAz1DVEUg2zgmLR9JGYRc1YrKcf/UziC41pIxUHfMgNKMt/Qg8ENhFvbyc9m6Nhrr/Zkg9XtvU7024KU32A==",
+ "node_modules/enhanced-resolve": {
+ "version": "5.18.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz",
+ "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==",
"dev": true,
"license": "MIT",
- "optional": true,
"dependencies": {
- "@standard-schema/spec": "^1.0.0",
- "fast-check": "^3.23.1"
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
}
},
- "node_modules/electron-to-chromium": {
- "version": "1.5.107",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.107.tgz",
- "integrity": "sha512-dJr1o6yCntRkXElnhsHh1bAV19bo/hKyFf7tCcWgpXbuFIF0Lakjgqv5LRfSDaNzAII8Fnxg2tqgHkgCvxdbxw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "license": "MIT"
- },
"node_modules/es-define-property": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
@@ -3812,135 +3090,6 @@
"node": ">= 0.4"
}
},
- "node_modules/es5-ext": {
- "version": "0.10.64",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz",
- "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
- "hasInstallScript": true,
- "license": "ISC",
- "dependencies": {
- "es6-iterator": "^2.0.3",
- "es6-symbol": "^3.1.3",
- "esniff": "^2.0.1",
- "next-tick": "^1.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
- "license": "MIT",
- "dependencies": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
- }
- },
- "node_modules/es6-symbol": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
- "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
- "license": "ISC",
- "dependencies": {
- "d": "^1.0.2",
- "ext": "^1.7.0"
- },
- "engines": {
- "node": ">=0.12"
- }
- },
- "node_modules/es6-weak-map": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
- "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
- "license": "ISC",
- "dependencies": {
- "d": "1",
- "es5-ext": "^0.10.46",
- "es6-iterator": "^2.0.3",
- "es6-symbol": "^3.1.1"
- }
- },
- "node_modules/esbuild": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.0.tgz",
- "integrity": "sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=18"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.25.0",
- "@esbuild/android-arm": "0.25.0",
- "@esbuild/android-arm64": "0.25.0",
- "@esbuild/android-x64": "0.25.0",
- "@esbuild/darwin-arm64": "0.25.0",
- "@esbuild/darwin-x64": "0.25.0",
- "@esbuild/freebsd-arm64": "0.25.0",
- "@esbuild/freebsd-x64": "0.25.0",
- "@esbuild/linux-arm": "0.25.0",
- "@esbuild/linux-arm64": "0.25.0",
- "@esbuild/linux-ia32": "0.25.0",
- "@esbuild/linux-loong64": "0.25.0",
- "@esbuild/linux-mips64el": "0.25.0",
- "@esbuild/linux-ppc64": "0.25.0",
- "@esbuild/linux-riscv64": "0.25.0",
- "@esbuild/linux-s390x": "0.25.0",
- "@esbuild/linux-x64": "0.25.0",
- "@esbuild/netbsd-arm64": "0.25.0",
- "@esbuild/netbsd-x64": "0.25.0",
- "@esbuild/openbsd-arm64": "0.25.0",
- "@esbuild/openbsd-x64": "0.25.0",
- "@esbuild/sunos-x64": "0.25.0",
- "@esbuild/win32-arm64": "0.25.0",
- "@esbuild/win32-ia32": "0.25.0",
- "@esbuild/win32-x64": "0.25.0"
- }
- },
- "node_modules/esbuild-runner": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/esbuild-runner/-/esbuild-runner-2.2.2.tgz",
- "integrity": "sha512-fRFVXcmYVmSmtYm2mL8RlUASt2TDkGh3uRcvHFOKNr/T58VrfVeKD9uT9nlgxk96u0LS0ehS/GY7Da/bXWKkhw==",
- "dev": true,
- "license": "Apache License 2.0",
- "optional": true,
- "dependencies": {
- "source-map-support": "0.5.21",
- "tslib": "2.4.0"
- },
- "bin": {
- "esr": "bin/esr.js"
- },
- "peerDependencies": {
- "esbuild": "*"
- }
- },
- "node_modules/esbuild-runner/node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
- "dev": true,
- "license": "0BSD",
- "optional": true
- },
- "node_modules/escalade": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/escape-string-regexp": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -3955,19 +3104,20 @@
}
},
"node_modules/eslint": {
- "version": "9.21.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.21.0.tgz",
- "integrity": "sha512-KjeihdFqTPhOMXTt7StsDxriV4n66ueuF/jfPNC3j/lduHwr/ijDwJMsF+wyMJethgiKi5wniIE243vi07d3pg==",
+ "version": "9.29.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.29.0.tgz",
+ "integrity": "sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.12.1",
- "@eslint/config-array": "^0.19.2",
- "@eslint/core": "^0.12.0",
- "@eslint/eslintrc": "^3.3.0",
- "@eslint/js": "9.21.0",
- "@eslint/plugin-kit": "^0.2.7",
+ "@eslint/config-array": "^0.20.1",
+ "@eslint/config-helpers": "^0.2.1",
+ "@eslint/core": "^0.14.0",
+ "@eslint/eslintrc": "^3.3.1",
+ "@eslint/js": "9.29.0",
+ "@eslint/plugin-kit": "^0.3.1",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
@@ -3978,9 +3128,9 @@
"cross-spawn": "^7.0.6",
"debug": "^4.3.2",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^8.2.0",
- "eslint-visitor-keys": "^4.2.0",
- "espree": "^10.3.0",
+ "eslint-scope": "^8.4.0",
+ "eslint-visitor-keys": "^4.2.1",
+ "espree": "^10.4.0",
"esquery": "^1.5.0",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
@@ -4014,55 +3164,42 @@
}
}
},
- "node_modules/eslint-compat-utils": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.6.4.tgz",
- "integrity": "sha512-/u+GQt8NMfXO8w17QendT4gvO5acfxQsAKirAt0LVxDnr2N8YLCVbregaNc/Yhp7NM128DwCaRvr8PLDfeNkQw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^7.5.4"
- },
- "engines": {
- "node": ">=12"
- },
- "peerDependencies": {
- "eslint": ">=6.0.0"
- }
- },
"node_modules/eslint-config-prettier": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.2.tgz",
- "integrity": "sha512-1105/17ZIMjmCOJOPNfVdbXafLCLj3hPmkmB7dLgt7XsQ/zkxSuDerE/xgO3RxoHysR1N1whmquY0lSn2O0VLg==",
+ "version": "10.1.5",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz",
+ "integrity": "sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==",
"dev": true,
"license": "MIT",
"bin": {
- "eslint-config-prettier": "build/bin/cli.js"
+ "eslint-config-prettier": "bin/cli.js"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint-config-prettier"
},
"peerDependencies": {
"eslint": ">=7.0.0"
}
},
"node_modules/eslint-plugin-svelte": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.0.2.tgz",
- "integrity": "sha512-+0QglmWNryvXXxRQKzLF3i+AreTsueCw7PBb0nGVBq+F9HoYqAjQeJ/9N6vFAtjMjK3wgsETrLVyBKPdeufN6Q==",
+ "version": "3.9.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.9.2.tgz",
+ "integrity": "sha512-aqzfHtG9RPaFhCUFm5QFC6eFY/yHFQIT8VYYFe7/mT2A9mbgVR3XV2keCqU19LN8iVD9mdvRvqHU+4+CzJImvg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@eslint-community/eslint-utils": "^4.4.1",
+ "@eslint-community/eslint-utils": "^4.6.1",
"@jridgewell/sourcemap-codec": "^1.5.0",
- "eslint-compat-utils": "^0.6.4",
"esutils": "^2.0.3",
- "known-css-properties": "^0.35.0",
+ "globals": "^16.0.0",
+ "known-css-properties": "^0.36.0",
"postcss": "^8.4.49",
"postcss-load-config": "^3.1.4",
"postcss-safe-parser": "^7.0.0",
"semver": "^7.6.3",
- "svelte-eslint-parser": "^1.0.0"
+ "svelte-eslint-parser": "^1.2.0"
},
"engines": {
- "node": "^18.20.4 || ^20.18.0 || >=22.10.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://github.com/sponsors/ota-meshi"
@@ -4078,9 +3215,9 @@
}
},
"node_modules/eslint-scope": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz",
- "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==",
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
+ "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
@@ -4095,9 +3232,9 @@
}
},
"node_modules/eslint-visitor-keys": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
- "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+ "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -4113,31 +3250,16 @@
"integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==",
"license": "MIT"
},
- "node_modules/esniff": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
- "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
- "license": "ISC",
- "dependencies": {
- "d": "^1.0.1",
- "es5-ext": "^0.10.62",
- "event-emitter": "^0.3.5",
- "type": "^2.7.2"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
"node_modules/espree": {
- "version": "10.3.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz",
- "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==",
+ "version": "10.4.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
+ "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
- "acorn": "^8.14.0",
+ "acorn": "^8.15.0",
"acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^4.2.0"
+ "eslint-visitor-keys": "^4.2.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -4160,9 +3282,9 @@
}
},
"node_modules/esrap": {
- "version": "1.4.6",
- "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.6.tgz",
- "integrity": "sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==",
+ "version": "1.4.9",
+ "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.9.tgz",
+ "integrity": "sha512-3OMlcd0a03UGuZpPeUC1HxR3nA23l+HEyCiZw3b3FumJIN9KphoGzDJKMXI1S72jVS1dsenDyQC0kJlO1U9E1g==",
"license": "MIT",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15"
@@ -4191,12 +3313,6 @@
"node": ">=4.0"
}
},
- "node_modules/estree-walker": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
- "license": "MIT"
- },
"node_modules/esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
@@ -4207,58 +3323,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
- "license": "MIT",
- "dependencies": {
- "d": "1",
- "es5-ext": "~0.10.14"
- }
- },
- "node_modules/ext": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
- "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
- "license": "ISC",
- "dependencies": {
- "type": "^2.7.2"
- }
- },
- "node_modules/fast-check": {
- "version": "3.23.2",
- "resolved": "https://registry.npmjs.org/fast-check/-/fast-check-3.23.2.tgz",
- "integrity": "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/dubzzz"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fast-check"
- }
- ],
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "pure-rand": "^6.1.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/fast-cidr-tools": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/fast-cidr-tools/-/fast-cidr-tools-0.3.2.tgz",
- "integrity": "sha512-hH8m1zjBer5VxrFG3dCEIMGEu/hDs/2scCH0vCJqce5ujCEBmZYlCejfZ4IFYTCt1YQard/uXmMzNBs9SR3/qg==",
- "license": "MIT",
- "engines": {
- "node": ">=16"
- }
- },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -4270,6 +3334,7 @@
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
"integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
@@ -4286,6 +3351,7 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"is-glob": "^4.0.1"
@@ -4312,25 +3378,12 @@
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
"integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"reusify": "^1.0.4"
}
},
- "node_modules/fdir": {
- "version": "6.4.4",
- "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
- "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
- "license": "MIT",
- "peerDependencies": {
- "picomatch": "^3 || ^4"
- },
- "peerDependenciesMeta": {
- "picomatch": {
- "optional": true
- }
- }
- },
"node_modules/file-entry-cache": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
@@ -4344,19 +3397,11 @@
"node": ">=16.0.0"
}
},
- "node_modules/file-source": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/file-source/-/file-source-0.6.1.tgz",
- "integrity": "sha512-1R1KneL7eTXmXfKxC10V/9NeGOdbsAXJ+lQ//fvvcHUgtaZcZDWNJNblxAoVOyV1cj45pOtUrR3vZTBwqcW8XA==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "stream-source": "0.3"
- }
- },
"node_modules/fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
@@ -4403,16 +3448,6 @@
"dev": true,
"license": "ISC"
},
- "node_modules/focus-trap": {
- "version": "7.6.4",
- "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.4.tgz",
- "integrity": "sha512-xx560wGBk7seZ6y933idtjJQc1l+ck+pI3sKvhKozdBV1dRZoKhkW5xoCaFv9tQiX5RH1xfSxjuNu6g+lmN/gw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tabbable": "^6.2.0"
- }
- },
"node_modules/follow-redirects": {
"version": "1.15.9",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
@@ -4433,69 +3468,27 @@
}
}
},
- "node_modules/foreground-child": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
- "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
- "license": "ISC",
- "dependencies": {
- "cross-spawn": "^7.0.6",
- "signal-exit": "^4.0.1"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/form-data": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz",
- "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.3.tgz",
+ "integrity": "sha512-qsITQPfmvMOSAdeyZ+12I1c+CKSstAFAwu+97zrnWAbIr5u8wfsExUzCesVLC8NgHuRUqNN4Zy6UPWUTRGslcA==",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"es-set-tostringtag": "^2.1.0",
+ "hasown": "^2.0.2",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
- "node_modules/formsnap": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/formsnap/-/formsnap-1.0.1.tgz",
- "integrity": "sha512-TvU9CoLSiacW1c7wXhLiyVpyy/LBfG0CEFDbs3M3jrsxBSrkTpsuhbQ8JYKY3CNCmIhZlgxCH+Vqr7RBF9G53w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "nanoid": "^5.0.5"
- },
- "peerDependencies": {
- "svelte": "^4.0.0 || ^5.0.0-next.1",
- "sveltekit-superforms": "^2.3.0"
- }
- },
- "node_modules/fraction.js": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
- "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- },
- "funding": {
- "type": "patreon",
- "url": "https://github.com/sponsors/rawify"
- }
- },
"node_modules/fsevents": {
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
"hasInstallScript": true,
"license": "MIT",
"optional": true,
@@ -4564,30 +3557,11 @@
"node": ">= 0.4"
}
},
- "node_modules/glob": {
- "version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
- "license": "ISC",
- "dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.4",
- "minipass": "^7.1.2",
- "package-json-from-dist": "^1.0.0",
- "path-scurry": "^1.11.1"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"is-glob": "^4.0.3"
@@ -4596,34 +3570,10 @@
"node": ">=10.13.0"
}
},
- "node_modules/glob/node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/glob/node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/globals": {
- "version": "16.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz",
- "integrity": "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-16.2.0.tgz",
+ "integrity": "sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -4633,18 +3583,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/globalyzer": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
- "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==",
- "license": "MIT"
- },
- "node_modules/globrex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
- "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
- "license": "MIT"
- },
"node_modules/gopd": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
@@ -4657,6 +3595,13 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true,
+ "license": "ISC"
+ },
"node_modules/graphemer": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
@@ -4664,6 +3609,15 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/hammerjs": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
+ "integrity": "sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
"node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -4726,6 +3680,7 @@
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
@@ -4755,11 +3710,13 @@
}
},
"node_modules/immutable": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz",
- "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==",
- "devOptional": true,
- "license": "MIT"
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz",
+ "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "peer": true
},
"node_modules/import-fresh": {
"version": "3.3.1",
@@ -4788,6 +3745,13 @@
"node": ">=0.8.19"
}
},
+ "node_modules/inline-style-parser": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz",
+ "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/internmap": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
@@ -4797,43 +3761,6 @@
"node": ">=12"
}
},
- "node_modules/intl-messageformat": {
- "version": "10.7.15",
- "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.7.15.tgz",
- "integrity": "sha512-LRyExsEsefQSBjU2p47oAheoKz+EOJxSLDdjOaEjdriajfHsMXOmV/EhMvYSg9bAgCUHasuAC+mcUBe/95PfIg==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "@formatjs/ecma402-abstract": "2.3.3",
- "@formatjs/fast-memoize": "2.2.6",
- "@formatjs/icu-messageformat-parser": "2.11.1",
- "tslib": "2"
- }
- },
- "node_modules/ip-address": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz",
- "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==",
- "license": "MIT",
- "dependencies": {
- "jsbn": "1.1.0",
- "sprintf-js": "^1.1.3"
- },
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/ip-cidr": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/ip-cidr/-/ip-cidr-4.0.2.tgz",
- "integrity": "sha512-KifhLKBjdS/hB3TD4UUOalVp1BpzPFvRpgJvXcP0Ya98tuSQTUQ71iI7EW7CKddkBJTYB3GfTWl5eJwpLOXj2A==",
- "license": "MIT",
- "dependencies": {
- "ip-address": "^9.0.5"
- },
- "engines": {
- "node": ">=16.14.0"
- }
- },
"node_modules/ip-regex": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz",
@@ -4846,33 +3773,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "license": "MIT",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-builtin-module": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz",
- "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==",
- "license": "MIT",
- "dependencies": {
- "builtin-modules": "^3.3.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/is-cidr": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/is-cidr/-/is-cidr-5.1.1.tgz",
@@ -4885,43 +3785,21 @@
"node": ">=14"
}
},
- "node_modules/is-core-module": {
- "version": "2.16.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
- "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
- "license": "MIT",
- "dependencies": {
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"is-extglob": "^2.1.1"
@@ -4946,27 +3824,16 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/is-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
- "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
- "license": "MIT"
- },
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.12.0"
}
},
- "node_modules/is-promise": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
- "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
- "license": "MIT"
- },
"node_modules/is-reference": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz",
@@ -4992,45 +3859,17 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true,
"license": "ISC"
},
- "node_modules/jackspeak": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
- "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "@isaacs/cliui": "^8.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- },
- "optionalDependencies": {
- "@pkgjs/parseargs": "^0.11.0"
- }
- },
"node_modules/jiti": {
- "version": "1.21.7",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
- "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz",
+ "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
+ "dev": true,
"license": "MIT",
"bin": {
- "jiti": "bin/jiti.js"
- }
- },
- "node_modules/joi": {
- "version": "17.13.3",
- "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz",
- "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "dependencies": {
- "@hapi/hoek": "^9.3.0",
- "@hapi/topo": "^5.1.0",
- "@sideway/address": "^4.1.5",
- "@sideway/formula": "^3.0.1",
- "@sideway/pinpoint": "^2.0.0"
+ "jiti": "lib/jiti-cli.mjs"
}
},
"node_modules/js-base64": {
@@ -5052,12 +3891,6 @@
"js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/jsbn": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
- "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==",
- "license": "MIT"
- },
"node_modules/json-buffer": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
@@ -5065,21 +3898,6 @@
"dev": true,
"license": "MIT"
},
- "node_modules/json-schema-to-ts": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-3.1.1.tgz",
- "integrity": "sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@babel/runtime": "^7.18.3",
- "ts-algebra": "^2.0.0"
- },
- "engines": {
- "node": ">=16"
- }
- },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -5115,39 +3933,24 @@
}
},
"node_modules/known-css-properties": {
- "version": "0.35.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.35.0.tgz",
- "integrity": "sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==",
+ "version": "0.36.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.36.0.tgz",
+ "integrity": "sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==",
"dev": true,
"license": "MIT"
},
- "node_modules/layercake": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/layercake/-/layercake-8.4.2.tgz",
- "integrity": "sha512-ZVjdl6ryjz7F4jXX8Dh871nN/Nv6o3m7gLI7KrMPNGiy3Mg5BuA9j0UeucrmK/uLe20XpDyG6X4v/iYJYSPLrg==",
- "license": "MIT",
- "dependencies": {
- "d3-array": "^3.2.4",
- "d3-color": "^3.1.0",
- "d3-scale": "^4.0.2",
- "d3-shape": "^3.2.0"
- },
- "peerDependencies": {
- "svelte": "3 - 5 || >=5.0.0-next.120",
- "typescript": "^5.0.2"
- }
- },
"node_modules/layerchart": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/layerchart/-/layerchart-1.0.5.tgz",
- "integrity": "sha512-HVtERu5KJIQ6KB+Fz5RwkjSOGb+kUqPHQkCKPQkSnDIz5B3KypDnHYIillpuFtLCd+tAND4CiY5j0c+NmWrhTg==",
+ "version": "2.0.0-next.23",
+ "resolved": "https://registry.npmjs.org/layerchart/-/layerchart-2.0.0-next.23.tgz",
+ "integrity": "sha512-Uf7/xMjhHcJHQqstjV4RN9GdUWSLQkmrfCKsvTneeJBVNUWs2C9djH6SQTVtv/FcT0HEyIv573RomB3m7uLSUw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@dagrejs/dagre": "^1.1.4",
- "@layerstack/svelte-actions": "^1.0.0",
- "@layerstack/svelte-stores": "^1.0.0",
- "@layerstack/tailwind": "^1.0.0",
- "@layerstack/utils": "^1.0.0",
+ "@layerstack/svelte-actions": "1.0.1-next.12",
+ "@layerstack/svelte-state": "0.1.0-next.17",
+ "@layerstack/tailwind": "2.0.0-next.15",
+ "@layerstack/utils": "2.0.0-next.12",
"d3-array": "^3.2.4",
"d3-color": "^3.1.0",
"d3-delaunay": "^6.0.4",
@@ -5167,14 +3970,25 @@
"d3-shape": "^3.2.0",
"d3-tile": "^1.0.0",
"d3-time": "^3.1.0",
- "date-fns": "^4.1.0",
- "layercake": "^8.4.2",
"lodash-es": "^4.17.21",
- "shapefile": "^0.6.6",
- "topojson-client": "^3.1.0"
+ "memoize": "^10.1.0",
+ "runed": "^0.28.0"
},
"peerDependencies": {
- "svelte": "^3.56.0 || ^4.0.0 || ^5.0.0"
+ "svelte": "^5.0.0"
+ }
+ },
+ "node_modules/layerchart/node_modules/@layerstack/utils": {
+ "version": "2.0.0-next.12",
+ "resolved": "https://registry.npmjs.org/@layerstack/utils/-/utils-2.0.0-next.12.tgz",
+ "integrity": "sha512-fhGZUlSr3N+D44BYm37WKMGSEFyZBW+dwIqtGU8Cl54mR4TLQ/UwyGhdpgIHyH/x/8q1abE0fP0Dn6ZsrDE3BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "d3-array": "^3.2.4",
+ "d3-time": "^3.1.0",
+ "d3-time-format": "^4.1.0",
+ "lodash-es": "^4.17.21"
}
},
"node_modules/levn": {
@@ -5191,30 +4005,255 @@
"node": ">= 0.8.0"
}
},
- "node_modules/libphonenumber-js": {
- "version": "1.12.4",
- "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.12.4.tgz",
- "integrity": "sha512-vLmhg7Gan7idyAKfc6pvCtNzvar4/eIzrVVk3hjNFH5+fGqyjD0gQRovdTrDl20wsmZhBtmZpcsR0tOfquwb8g==",
+ "node_modules/lightningcss": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz",
+ "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==",
"dev": true,
- "license": "MIT",
- "optional": true
+ "license": "MPL-2.0",
+ "dependencies": {
+ "detect-libc": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "lightningcss-darwin-arm64": "1.30.1",
+ "lightningcss-darwin-x64": "1.30.1",
+ "lightningcss-freebsd-x64": "1.30.1",
+ "lightningcss-linux-arm-gnueabihf": "1.30.1",
+ "lightningcss-linux-arm64-gnu": "1.30.1",
+ "lightningcss-linux-arm64-musl": "1.30.1",
+ "lightningcss-linux-x64-gnu": "1.30.1",
+ "lightningcss-linux-x64-musl": "1.30.1",
+ "lightningcss-win32-arm64-msvc": "1.30.1",
+ "lightningcss-win32-x64-msvc": "1.30.1"
+ }
+ },
+ "node_modules/lightningcss-darwin-arm64": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz",
+ "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-darwin-x64": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz",
+ "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-freebsd-x64": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz",
+ "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm-gnueabihf": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz",
+ "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-gnu": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz",
+ "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-musl": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz",
+ "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-x64-gnu": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz",
+ "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-x64-musl": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz",
+ "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-win32-arm64-msvc": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz",
+ "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-win32-x64-msvc": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz",
+ "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
},
"node_modules/lilconfig": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
"integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=10"
}
},
- "node_modules/lines-and-columns": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "license": "MIT"
- },
"node_modules/locate-character": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
@@ -5264,26 +4303,10 @@
"dev": true,
"license": "MIT"
},
- "node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
- "license": "ISC"
- },
- "node_modules/lru-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
- "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==",
- "license": "MIT",
- "dependencies": {
- "es5-ext": "~0.10.2"
- }
- },
"node_modules/lucide-svelte": {
- "version": "0.476.0",
- "resolved": "https://registry.npmjs.org/lucide-svelte/-/lucide-svelte-0.476.0.tgz",
- "integrity": "sha512-Ph6zoMWjQVJibDrR+DJoT7LR2uEKLPzzGo886OLRk+nCJZESJUvoCWXk0uE6Y9aaamaSFAdI1Cpwslgzk3YYdQ==",
- "dev": true,
+ "version": "0.516.0",
+ "resolved": "https://registry.npmjs.org/lucide-svelte/-/lucide-svelte-0.516.0.tgz",
+ "integrity": "sha512-8YmF3pke1owMbtdYWscJFN47dEqJ41oXz3hVRKnYjQbDXE9uYqkE9KnAME1268mBhsC97xTqMYh07/RYrojLKA==",
"license": "ISC",
"peerDependencies": {
"svelte": "^3 || ^4 || ^5.0.0-next.42"
@@ -5307,42 +4330,27 @@
"node": ">= 0.4"
}
},
- "node_modules/mdn-data": {
- "version": "2.0.30",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
- "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
- "license": "CC0-1.0"
- },
- "node_modules/memoize-weak": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/memoize-weak/-/memoize-weak-1.0.2.tgz",
- "integrity": "sha512-gj39xkrjEw7nCn4nJ1M5ms6+MyMlyiGmttzsqAUsAKn6bYKwuTHh/AO3cKPF8IBrTIYTxb0wWXFs3E//Y8VoWQ==",
+ "node_modules/memoize": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/memoize/-/memoize-10.1.0.tgz",
+ "integrity": "sha512-MMbFhJzh4Jlg/poq1si90XRlTZRDHVqdlz2mPyGJ6kqMpyHUyVpDd5gpFAvVehW64+RA1eKE9Yt8aSLY7w2Kgg==",
"dev": true,
- "license": "ISC"
- },
- "node_modules/memoizee": {
- "version": "0.4.17",
- "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.17.tgz",
- "integrity": "sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==",
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "d": "^1.0.2",
- "es5-ext": "^0.10.64",
- "es6-weak-map": "^2.0.3",
- "event-emitter": "^0.3.5",
- "is-promise": "^2.2.2",
- "lru-queue": "^0.1.0",
- "next-tick": "^1.1.0",
- "timers-ext": "^0.1.7"
+ "mimic-function": "^5.0.1"
},
"engines": {
- "node": ">=0.12"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/memoize?sponsor=1"
}
},
"node_modules/merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
"integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 8"
@@ -5352,6 +4360,7 @@
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"braces": "^3.0.3",
@@ -5361,18 +4370,6 @@
"node": ">=8.6"
}
},
- "node_modules/micromatch/node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
@@ -5394,6 +4391,19 @@
"node": ">= 0.6"
}
},
+ "node_modules/mimic-function": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
+ "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/mini-svg-data-uri": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
@@ -5421,24 +4431,113 @@
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
"license": "ISC",
"engines": {
"node": ">=16 || 14 >=14.17"
}
},
- "node_modules/mode-watcher": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mode-watcher/-/mode-watcher-0.5.1.tgz",
- "integrity": "sha512-adEC6T7TMX/kzQlaO/MtiQOSFekZfQu4MC+lXyoceQG+U5sKpJWZ4yKXqw846ExIuWJgedkOIPqAYYRk/xHm+w==",
+ "node_modules/minizlib": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz",
+ "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==",
+ "dev": true,
"license": "MIT",
+ "dependencies": {
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz",
+ "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "mkdirp": "dist/cjs/src/bin.js"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/mode-watcher": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/mode-watcher/-/mode-watcher-1.0.8.tgz",
+ "integrity": "sha512-1YIgYymrae0lhcG9zPS/YWOvcKsUbM4bLGIh+eXTUIput5+dEJifcmUgp8NSehSXGSwITH6jbSjNhGEIhE3k5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "runed": "^0.25.0",
+ "svelte-toolbelt": "^0.7.1"
+ },
"peerDependencies": {
- "svelte": "^4.0.0 || ^5.0.0-next.1"
+ "svelte": "^5.27.0"
+ }
+ },
+ "node_modules/mode-watcher/node_modules/runed": {
+ "version": "0.25.0",
+ "resolved": "https://registry.npmjs.org/runed/-/runed-0.25.0.tgz",
+ "integrity": "sha512-7+ma4AG9FT2sWQEA0Egf6mb7PBT2vHyuHail1ie8ropfSjvZGtEAx8YTmUjv/APCsdRRxEVvArNjALk9zFSOrg==",
+ "dev": true,
+ "funding": [
+ "https://github.com/sponsors/huntabyte",
+ "https://github.com/sponsors/tglide"
+ ],
+ "dependencies": {
+ "esm-env": "^1.0.0"
+ },
+ "peerDependencies": {
+ "svelte": "^5.7.0"
+ }
+ },
+ "node_modules/mode-watcher/node_modules/svelte-toolbelt": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.7.1.tgz",
+ "integrity": "sha512-HcBOcR17Vx9bjaOceUvxkY3nGmbBmCBBbuWLLEWO6jtmWH8f/QoWmbyUfQZrpDINH39en1b8mptfPQT9VKQ1xQ==",
+ "dev": true,
+ "funding": [
+ "https://github.com/sponsors/huntabyte"
+ ],
+ "dependencies": {
+ "clsx": "^2.1.1",
+ "runed": "^0.23.2",
+ "style-to-object": "^1.0.8"
+ },
+ "engines": {
+ "node": ">=18",
+ "pnpm": ">=8.7.0"
+ },
+ "peerDependencies": {
+ "svelte": "^5.0.0"
+ }
+ },
+ "node_modules/mode-watcher/node_modules/svelte-toolbelt/node_modules/runed": {
+ "version": "0.23.4",
+ "resolved": "https://registry.npmjs.org/runed/-/runed-0.23.4.tgz",
+ "integrity": "sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA==",
+ "dev": true,
+ "funding": [
+ "https://github.com/sponsors/huntabyte",
+ "https://github.com/sponsors/tglide"
+ ],
+ "dependencies": {
+ "esm-env": "^1.0.0"
+ },
+ "peerDependencies": {
+ "svelte": "^5.7.0"
}
},
"node_modules/mri": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=4"
@@ -5461,21 +4560,11 @@
"dev": true,
"license": "MIT"
},
- "node_modules/mz": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
- "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
- "license": "MIT",
- "dependencies": {
- "any-promise": "^1.0.0",
- "object-assign": "^4.0.1",
- "thenify-all": "^1.0.0"
- }
- },
"node_modules/nanoid": {
- "version": "5.1.5",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.5.tgz",
- "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==",
+ "version": "3.3.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -5484,10 +4573,10 @@
],
"license": "MIT",
"bin": {
- "nanoid": "bin/nanoid.js"
+ "nanoid": "bin/nanoid.cjs"
},
"engines": {
- "node": "^18 || >=20"
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
"node_modules/natural-compare": {
@@ -5497,77 +4586,14 @@
"dev": true,
"license": "MIT"
},
- "node_modules/next-tick": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
- "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
- "license": "ISC"
- },
"node_modules/node-addon-api": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
"integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
"dev": true,
"license": "MIT",
- "optional": true
- },
- "node_modules/node-releases": {
- "version": "2.0.19",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
- "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/normalize-url": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz",
- "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==",
- "dev": true,
- "license": "MIT",
"optional": true,
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/object-hash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
- "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
+ "peer": true
},
"node_modules/optionator": {
"version": "0.9.4",
@@ -5619,23 +4645,55 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/package-json-from-dist": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
- "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
- "license": "BlueOak-1.0.0"
- },
"node_modules/paneforge": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/paneforge/-/paneforge-0.0.6.tgz",
- "integrity": "sha512-jYeN/wdREihja5c6nK3S5jritDQ+EbCqC5NrDo97qCZzZ9GkmEcN5C0ZCjF4nmhBwkDKr6tLIgz4QUKWxLXjAw==",
+ "version": "1.0.0-next.5",
+ "resolved": "https://registry.npmjs.org/paneforge/-/paneforge-1.0.0-next.5.tgz",
+ "integrity": "sha512-1ArDM+GMEO+o6pixEAFobhTkWkyxUDdHyw2bKruvQIXBStJmdRP7HoV4jNBZ/2i9UHDzmczxJzA3D2tKa91phw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "nanoid": "^5.0.4"
+ "runed": "^0.23.4",
+ "svelte-toolbelt": "^0.7.1"
},
"peerDependencies": {
- "svelte": "^4.0.0 || ^5.0.0-next.1"
+ "svelte": "^5.20.0"
+ }
+ },
+ "node_modules/paneforge/node_modules/runed": {
+ "version": "0.23.4",
+ "resolved": "https://registry.npmjs.org/runed/-/runed-0.23.4.tgz",
+ "integrity": "sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA==",
+ "dev": true,
+ "funding": [
+ "https://github.com/sponsors/huntabyte",
+ "https://github.com/sponsors/tglide"
+ ],
+ "dependencies": {
+ "esm-env": "^1.0.0"
+ },
+ "peerDependencies": {
+ "svelte": "^5.7.0"
+ }
+ },
+ "node_modules/paneforge/node_modules/svelte-toolbelt": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.7.1.tgz",
+ "integrity": "sha512-HcBOcR17Vx9bjaOceUvxkY3nGmbBmCBBbuWLLEWO6jtmWH8f/QoWmbyUfQZrpDINH39en1b8mptfPQT9VKQ1xQ==",
+ "dev": true,
+ "funding": [
+ "https://github.com/sponsors/huntabyte"
+ ],
+ "dependencies": {
+ "clsx": "^2.1.1",
+ "runed": "^0.23.2",
+ "style-to-object": "^1.0.8"
+ },
+ "engines": {
+ "node": ">=18",
+ "pnpm": ">=8.7.0"
+ },
+ "peerDependencies": {
+ "svelte": "^5.0.0"
}
},
"node_modules/parent-module": {
@@ -5665,63 +4723,12 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
}
},
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "license": "MIT"
- },
- "node_modules/path-scurry": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
- "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "lru-cache": "^10.2.0",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
- },
- "engines": {
- "node": ">=16 || 14 >=14.18"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/path-source": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/path-source/-/path-source-0.1.3.tgz",
- "integrity": "sha512-dWRHm5mIw5kw0cs3QZLNmpUWty48f5+5v9nWD2dw3Y0Hf+s01Ag8iJEWV0Sm0kocE8kK27DrIowha03e1YR+Qw==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "array-source": "0.0",
- "file-source": "0.6"
- }
- },
- "node_modules/periscopic": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz",
- "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==",
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0",
- "estree-walker": "^3.0.0",
- "is-reference": "^3.0.0"
- }
- },
- "node_modules/periscopic/node_modules/estree-walker": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
- "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0"
- }
- },
"node_modules/picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
@@ -5729,39 +4736,29 @@
"license": "ISC"
},
"node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
"license": "MIT",
"engines": {
- "node": ">=12"
+ "node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/pirates": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
- "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
+ "node_modules/pofile": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/pofile/-/pofile-1.1.4.tgz",
+ "integrity": "sha512-r6Q21sKsY1AjTVVjOuU02VYKVNQGJNQHjTIvs4dEbeuuYfxgYk/DGD2mqqq4RDaVkwdSq0VEtmQUOPe/wH8X3g==",
+ "license": "MIT"
},
"node_modules/postcss": {
- "version": "8.5.3",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
- "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
+ "version": "8.5.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
+ "dev": true,
"funding": [
{
"type": "opencollective",
@@ -5778,7 +4775,7 @@
],
"license": "MIT",
"dependencies": {
- "nanoid": "^3.3.8",
+ "nanoid": "^3.3.11",
"picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
@@ -5786,47 +4783,11 @@
"node": "^10 || ^12 || >=14"
}
},
- "node_modules/postcss-import": {
- "version": "15.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
- "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.0.0",
- "read-cache": "^1.0.0",
- "resolve": "^1.1.7"
- },
- "engines": {
- "node": ">=14.0.0"
- },
- "peerDependencies": {
- "postcss": "^8.0.0"
- }
- },
- "node_modules/postcss-js": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz",
- "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==",
- "license": "MIT",
- "dependencies": {
- "camelcase-css": "^2.0.1"
- },
- "engines": {
- "node": "^12 || ^14 || >= 16"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": "^8.4.21"
- }
- },
"node_modules/postcss-load-config": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
"integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"lilconfig": "^2.0.5",
@@ -5856,50 +4817,12 @@
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "devOptional": true,
+ "dev": true,
"license": "ISC",
"engines": {
"node": ">= 6"
}
},
- "node_modules/postcss-nested": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz",
- "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "postcss-selector-parser": "^6.1.1"
- },
- "engines": {
- "node": ">=12.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.14"
- }
- },
- "node_modules/postcss-nested/node_modules/postcss-selector-parser": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
- "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
- "license": "MIT",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/postcss-safe-parser": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz",
@@ -5955,9 +4878,9 @@
}
},
"node_modules/postcss-selector-parser": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz",
- "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==",
+ "version": "6.0.10",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+ "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5968,30 +4891,6 @@
"node": ">=4"
}
},
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "license": "MIT"
- },
- "node_modules/postcss/node_modules/nanoid": {
- "version": "3.3.11",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
- "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
"node_modules/prelude-ls": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
@@ -6003,9 +4902,10 @@
}
},
"node_modules/prettier": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.2.tgz",
- "integrity": "sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==",
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz",
+ "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
+ "dev": true,
"license": "MIT",
"bin": {
"prettier": "bin/prettier.cjs"
@@ -6018,9 +4918,9 @@
}
},
"node_modules/prettier-plugin-svelte": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.3.3.tgz",
- "integrity": "sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.4.0.tgz",
+ "integrity": "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==",
"dev": true,
"license": "MIT",
"peerDependencies": {
@@ -6029,9 +4929,9 @@
}
},
"node_modules/prettier-plugin-tailwindcss": {
- "version": "0.6.11",
- "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.11.tgz",
- "integrity": "sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==",
+ "version": "0.6.12",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.12.tgz",
+ "integrity": "sha512-OuTQKoqNwV7RnxTPwXWzOFXy6Jc4z8oeRZYGuMpRyG3WbuR3jjXdQFK8qFBMBx8UHWdHrddARz2fgUenild6aw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6107,35 +5007,6 @@
}
}
},
- "node_modules/prism-svelte": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/prism-svelte/-/prism-svelte-0.5.0.tgz",
- "integrity": "sha512-db91Bf3pRGKDPz1lAqLFSJXeW13mulUJxhycysFpfXV5MIK7RgWWK2E5aPAa71s8TCzQUXxF5JOV42/iOs6QkA==",
- "license": "MIT"
- },
- "node_modules/prism-themes": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/prism-themes/-/prism-themes-1.9.0.tgz",
- "integrity": "sha512-tX2AYsehKDw1EORwBps+WhBFKc2kxfoFpQAjxBndbZKr4fRmMkv47XN0BghC/K1qwodB1otbe4oF23vUTFDokw==",
- "license": "MIT"
- },
- "node_modules/prismjs": {
- "version": "1.30.0",
- "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz",
- "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==",
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/property-expr": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz",
- "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@@ -6152,28 +5023,11 @@
"node": ">=6"
}
},
- "node_modules/pure-rand": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz",
- "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/dubzzz"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fast-check"
- }
- ],
- "license": "MIT",
- "optional": true
- },
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -6190,20 +5044,11 @@
],
"license": "MIT"
},
- "node_modules/read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
- "license": "MIT",
- "dependencies": {
- "pify": "^2.3.0"
- }
- },
"node_modules/readdirp": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 14.18.0"
@@ -6213,34 +5058,6 @@
"url": "https://paulmillr.com/funding/"
}
},
- "node_modules/regenerator-runtime": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
- "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
- "node_modules/resolve": {
- "version": "1.22.10",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
- "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
- "license": "MIT",
- "dependencies": {
- "is-core-module": "^2.16.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
"node_modules/resolve-from": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -6251,19 +5068,11 @@
"node": ">=4"
}
},
- "node_modules/resolve.exports": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz",
- "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==",
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/reusify": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
"integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+ "dev": true,
"license": "MIT",
"engines": {
"iojs": ">=1.0.0",
@@ -6274,12 +5083,14 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
"integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==",
+ "dev": true,
"license": "Unlicense"
},
"node_modules/rollup": {
- "version": "4.40.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.0.tgz",
- "integrity": "sha512-Noe455xmA96nnqH5piFtLobsGbCij7Tu+tb3c1vYjNbTkfzGqXqQXG3wJaYXkRZuQ0vEYN4bhwg7QnIrqB5B+w==",
+ "version": "4.43.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.43.0.tgz",
+ "integrity": "sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@types/estree": "1.0.7"
@@ -6292,50 +5103,41 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.40.0",
- "@rollup/rollup-android-arm64": "4.40.0",
- "@rollup/rollup-darwin-arm64": "4.40.0",
- "@rollup/rollup-darwin-x64": "4.40.0",
- "@rollup/rollup-freebsd-arm64": "4.40.0",
- "@rollup/rollup-freebsd-x64": "4.40.0",
- "@rollup/rollup-linux-arm-gnueabihf": "4.40.0",
- "@rollup/rollup-linux-arm-musleabihf": "4.40.0",
- "@rollup/rollup-linux-arm64-gnu": "4.40.0",
- "@rollup/rollup-linux-arm64-musl": "4.40.0",
- "@rollup/rollup-linux-loongarch64-gnu": "4.40.0",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.40.0",
- "@rollup/rollup-linux-riscv64-gnu": "4.40.0",
- "@rollup/rollup-linux-riscv64-musl": "4.40.0",
- "@rollup/rollup-linux-s390x-gnu": "4.40.0",
- "@rollup/rollup-linux-x64-gnu": "4.40.0",
- "@rollup/rollup-linux-x64-musl": "4.40.0",
- "@rollup/rollup-win32-arm64-msvc": "4.40.0",
- "@rollup/rollup-win32-ia32-msvc": "4.40.0",
- "@rollup/rollup-win32-x64-msvc": "4.40.0",
+ "@rollup/rollup-android-arm-eabi": "4.43.0",
+ "@rollup/rollup-android-arm64": "4.43.0",
+ "@rollup/rollup-darwin-arm64": "4.43.0",
+ "@rollup/rollup-darwin-x64": "4.43.0",
+ "@rollup/rollup-freebsd-arm64": "4.43.0",
+ "@rollup/rollup-freebsd-x64": "4.43.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.43.0",
+ "@rollup/rollup-linux-arm-musleabihf": "4.43.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.43.0",
+ "@rollup/rollup-linux-arm64-musl": "4.43.0",
+ "@rollup/rollup-linux-loongarch64-gnu": "4.43.0",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.43.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.43.0",
+ "@rollup/rollup-linux-riscv64-musl": "4.43.0",
+ "@rollup/rollup-linux-s390x-gnu": "4.43.0",
+ "@rollup/rollup-linux-x64-gnu": "4.43.0",
+ "@rollup/rollup-linux-x64-musl": "4.43.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.43.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.43.0",
+ "@rollup/rollup-win32-x64-msvc": "4.43.0",
"fsevents": "~2.3.2"
}
},
- "node_modules/rollup-plugin-svelte": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-7.2.2.tgz",
- "integrity": "sha512-hgnIblTRewaBEVQD6N0Q43o+y6q1TmDRhBjaEzQCi50bs8TXqjc+d1zFZyE8tsfgcfNHZQzclh4RxlFUB85H8Q==",
- "license": "MIT",
- "dependencies": {
- "@rollup/pluginutils": "^4.1.0",
- "resolve.exports": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "rollup": ">=2.0.0",
- "svelte": ">=3.5.0"
- }
+ "node_modules/rollup/node_modules/@types/estree": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
+ "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
+ "dev": true,
+ "license": "MIT"
},
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
"integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -6355,16 +5157,35 @@
"queue-microtask": "^1.2.2"
}
},
+ "node_modules/runed": {
+ "version": "0.28.0",
+ "resolved": "https://registry.npmjs.org/runed/-/runed-0.28.0.tgz",
+ "integrity": "sha512-k2xx7RuO9hWcdd9f+8JoBeqWtYrm5CALfgpkg2YDB80ds/QE4w0qqu34A7fqiAwiBBSBQOid7TLxwxVC27ymWQ==",
+ "dev": true,
+ "funding": [
+ "https://github.com/sponsors/huntabyte",
+ "https://github.com/sponsors/tglide"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "esm-env": "^1.0.0"
+ },
+ "peerDependencies": {
+ "svelte": "^5.7.0"
+ }
+ },
"node_modules/rw": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
"integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==",
+ "dev": true,
"license": "BSD-3-Clause"
},
"node_modules/sade": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
"integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"mri": "^1.1.0"
@@ -6377,14 +5198,17 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true,
"license": "MIT"
},
"node_modules/sass": {
- "version": "1.85.1",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.85.1.tgz",
- "integrity": "sha512-Uk8WpxM5v+0cMR0XjX9KfRIacmSG86RH4DCCZjLU2rFh5tyutt9siAXJ7G+YfxQ99Q6wrRMbMlVl6KqUms71ag==",
- "devOptional": true,
+ "version": "1.89.2",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.2.tgz",
+ "integrity": "sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==",
+ "dev": true,
"license": "MIT",
+ "optional": true,
+ "peer": true,
"dependencies": {
"chokidar": "^4.0.0",
"immutable": "^5.0.2",
@@ -6401,9 +5225,9 @@
}
},
"node_modules/semver": {
- "version": "7.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
- "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"dev": true,
"license": "ISC",
"bin": {
@@ -6420,34 +5244,11 @@
"dev": true,
"license": "MIT"
},
- "node_modules/shapefile": {
- "version": "0.6.6",
- "resolved": "https://registry.npmjs.org/shapefile/-/shapefile-0.6.6.tgz",
- "integrity": "sha512-rLGSWeK2ufzCVx05wYd+xrWnOOdSV7xNUW5/XFgx3Bc02hBkpMlrd2F1dDII7/jhWzv0MSyBFh5uJIy9hLdfuw==",
- "license": "BSD-3-Clause",
- "dependencies": {
- "array-source": "0.0",
- "commander": "2",
- "path-source": "0.1",
- "slice-source": "0.4",
- "stream-source": "0.3",
- "text-encoding": "^0.6.4"
- },
- "bin": {
- "dbf2json": "bin/dbf2json",
- "shp2json": "bin/shp2json"
- }
- },
- "node_modules/shapefile/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "license": "MIT"
- },
"node_modules/shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"shebang-regex": "^3.0.0"
@@ -6460,23 +5261,12 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
}
},
- "node_modules/signal-exit": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
- "license": "ISC",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
"node_modules/sirv": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz",
@@ -6492,152 +5282,16 @@
"node": ">=18"
}
},
- "node_modules/slice-source": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/slice-source/-/slice-source-0.4.1.tgz",
- "integrity": "sha512-YiuPbxpCj4hD9Qs06hGAz/OZhQ0eDuALN0lRWJez0eD/RevzKqGdUx1IOMUnXgpr+sXZLq3g8ERwbAH0bCb8vg==",
- "license": "BSD-3-Clause"
- },
- "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==",
- "dev": true,
- "license": "BSD-3-Clause",
- "optional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/source-map-js": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dev": true,
"license": "BSD-3-Clause",
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/sprintf-js": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz",
- "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==",
- "license": "BSD-3-Clause"
- },
- "node_modules/stream-source": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/stream-source/-/stream-source-0.3.5.tgz",
- "integrity": "sha512-ZuEDP9sgjiAwUVoDModftG0JtYiLUV8K4ljYD1VyUMRWtbVf92474o4kuuul43iZ8t/hRuiDAx1dIJSvirrK/g==",
- "license": "BSD-3-Clause"
- },
- "node_modules/string-width": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
- "license": "MIT",
- "dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/string-width-cjs": {
- "name": "string-width",
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width-cjs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width-cjs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "license": "MIT"
- },
- "node_modules/string-width-cjs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/strip-ansi-cjs": {
- "name": "strip-ansi",
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -6651,26 +5305,14 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/sucrase": {
- "version": "3.35.0",
- "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz",
- "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==",
+ "node_modules/style-to-object": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.9.tgz",
+ "integrity": "sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@jridgewell/gen-mapping": "^0.3.2",
- "commander": "^4.0.0",
- "glob": "^10.3.10",
- "lines-and-columns": "^1.1.6",
- "mz": "^2.7.0",
- "pirates": "^4.0.1",
- "ts-interface-checker": "^0.1.9"
- },
- "bin": {
- "sucrase": "bin/sucrase",
- "sucrase-node": "bin/sucrase-node"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
+ "inline-style-parser": "0.2.4"
}
},
"node_modules/super-regex": {
@@ -6690,17 +5332,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/superstruct": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/superstruct/-/superstruct-2.0.2.tgz",
- "integrity": "sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=14.0.0"
- }
- },
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -6714,153 +5345,10 @@
"node": ">=8"
}
},
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/sveld": {
- "version": "0.22.1",
- "resolved": "https://registry.npmjs.org/sveld/-/sveld-0.22.1.tgz",
- "integrity": "sha512-81zODtru1jsOujk+RUgj4RT3fXaG2nFZIWkeVkm0ZyqsrHxTNUfGJEQgkj6jcvwiEEVbYLUHvehnkfCbKDnarQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@rollup/plugin-node-resolve": "^13.3.0",
- "acorn": "^8.14.0",
- "comment-parser": "^1.4.1",
- "prettier": "^3.4.2",
- "rollup": "^2.79.2",
- "rollup-plugin-svelte": "^7.2.2",
- "svelte": "^4.2.19",
- "svelte-preprocess": "^6.0.3",
- "tinyglobby": "^0.2.10",
- "typescript": "^5.7.3"
- },
- "bin": {
- "sveld": "cli.js"
- }
- },
- "node_modules/sveld/node_modules/@rollup/plugin-node-resolve": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz",
- "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==",
- "license": "MIT",
- "dependencies": {
- "@rollup/pluginutils": "^3.1.0",
- "@types/resolve": "1.17.1",
- "deepmerge": "^4.2.2",
- "is-builtin-module": "^3.1.0",
- "is-module": "^1.0.0",
- "resolve": "^1.19.0"
- },
- "engines": {
- "node": ">= 10.0.0"
- },
- "peerDependencies": {
- "rollup": "^2.42.0"
- }
- },
- "node_modules/sveld/node_modules/@rollup/pluginutils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
- "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
- "license": "MIT",
- "dependencies": {
- "@types/estree": "0.0.39",
- "estree-walker": "^1.0.1",
- "picomatch": "^2.2.2"
- },
- "engines": {
- "node": ">= 8.0.0"
- },
- "peerDependencies": {
- "rollup": "^1.20.0||^2.0.0"
- }
- },
- "node_modules/sveld/node_modules/@rollup/pluginutils/node_modules/@types/estree": {
- "version": "0.0.39",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
- "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
- "license": "MIT"
- },
- "node_modules/sveld/node_modules/estree-walker": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
- "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
- "license": "MIT"
- },
- "node_modules/sveld/node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/sveld/node_modules/rollup": {
- "version": "2.79.2",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz",
- "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==",
- "license": "MIT",
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=10.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/sveld/node_modules/svelte": {
- "version": "4.2.19",
- "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz",
- "integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==",
- "license": "MIT",
- "dependencies": {
- "@ampproject/remapping": "^2.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.15",
- "@jridgewell/trace-mapping": "^0.3.18",
- "@types/estree": "^1.0.1",
- "acorn": "^8.9.0",
- "aria-query": "^5.3.0",
- "axobject-query": "^4.0.0",
- "code-red": "^1.0.3",
- "css-tree": "^2.3.1",
- "estree-walker": "^3.0.3",
- "is-reference": "^3.0.1",
- "locate-character": "^3.0.0",
- "magic-string": "^0.30.4",
- "periscopic": "^3.1.0"
- },
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/sveld/node_modules/svelte/node_modules/estree-walker": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
- "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0"
- }
- },
"node_modules/svelte": {
- "version": "5.25.6",
- "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.25.6.tgz",
- "integrity": "sha512-RGkaeAXDuJdvhA1fdSM5GgD++vYfJYijZL0uN6kM2s/TRJ663jktBhZlF0qjzAJGR/34PtaeT3G8MKJY1EKeqg==",
+ "version": "5.34.5",
+ "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.34.5.tgz",
+ "integrity": "sha512-MMqhT/iTdwExPcyBCt+Bqxv7FV+LpSciej/gVgd/Vj7zRF9iPgRWGBxiVAwfzPYAOgwgFigIAQV8VJfhyB08/w==",
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.3.0",
@@ -6872,7 +5360,7 @@
"axobject-query": "^4.1.0",
"clsx": "^2.1.1",
"esm-env": "^1.2.1",
- "esrap": "^1.4.6",
+ "esrap": "^1.4.8",
"is-reference": "^3.0.3",
"locate-character": "^3.0.0",
"magic-string": "^0.30.11",
@@ -6883,9 +5371,9 @@
}
},
"node_modules/svelte-check": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.1.4.tgz",
- "integrity": "sha512-v0j7yLbT29MezzaQJPEDwksybTE2Ups9rUxEXy92T06TiA0cbqcO8wAOwNUVkFW6B0hsYHA+oAX3BS8b/2oHtw==",
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.2.1.tgz",
+ "integrity": "sha512-e49SU1RStvQhoipkQ/aonDhHnG3qxHSBtNfBRb9pxVXoa+N7qybAo32KgA9wEb2PCYFNaDg7bZCdhLD1vHpdYA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6906,10 +5394,40 @@
"typescript": ">=5.0.0"
}
},
+ "node_modules/svelte-check/node_modules/fdir": {
+ "version": "6.4.6",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
+ "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/svelte-check/node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/svelte-eslint-parser": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.0.0.tgz",
- "integrity": "sha512-diZzpeeFhAxormeIhmRS4vXx98GG6T7Dq5y1a6qffqs/5MBrBqqDg8bj88iEohp6bvhU4MIABJmOTa0gXWcbSQ==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.2.0.tgz",
+ "integrity": "sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6921,7 +5439,7 @@
"postcss-selector-parser": "^7.0.0"
},
"engines": {
- "node": "^18.20.4 || ^20.18.0 || >=22.10.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"url": "https://github.com/sponsors/ota-meshi"
@@ -6935,650 +5453,52 @@
}
}
},
- "node_modules/svelte-french-toast": {
- "version": "2.0.0-alpha.0",
- "resolved": "https://registry.npmjs.org/svelte-french-toast/-/svelte-french-toast-2.0.0-alpha.0.tgz",
- "integrity": "sha512-81wcVaY9UZ/0JuzLEizMSoIXqNbX7yhfTZavBuw94T3cnT2HmJ9O+qXY/c91h9FkeMwboo0KHZVmzOEQVTXDFg==",
+ "node_modules/svelte-eslint-parser/node_modules/postcss-selector-parser": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz",
+ "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "svelte-writable-derived": "^3.1.1"
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/svelte-sonner": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/svelte-sonner/-/svelte-sonner-1.0.5.tgz",
+ "integrity": "sha512-9dpGPFqKb/QWudYqGnEz93vuY+NgCEvyNvxoCLMVGw6sDN/3oVeKV1xiEirW2E1N3vJEyj5imSBNOGltQHA7mg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "runed": "^0.28.0"
},
"peerDependencies": {
"svelte": "^5.0.0"
}
},
- "node_modules/svelte-i18n": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/svelte-i18n/-/svelte-i18n-4.0.1.tgz",
- "integrity": "sha512-jaykGlGT5PUaaq04JWbJREvivlCnALtT+m87Kbm0fxyYHynkQaxQMnIKHLm2WeIuBRoljzwgyvz0Z6/CMwfdmQ==",
- "license": "MIT",
- "dependencies": {
- "cli-color": "^2.0.3",
- "deepmerge": "^4.2.2",
- "esbuild": "^0.19.2",
- "estree-walker": "^2",
- "intl-messageformat": "^10.5.3",
- "sade": "^1.8.1",
- "tiny-glob": "^0.2.9"
- },
- "bin": {
- "svelte-i18n": "dist/cli.js"
- },
- "engines": {
- "node": ">= 16"
- },
- "peerDependencies": {
- "svelte": "^3 || ^4 || ^5"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/aix-ppc64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz",
- "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==",
- "cpu": [
- "ppc64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/android-arm": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz",
- "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==",
- "cpu": [
- "arm"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/android-arm64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz",
- "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/android-x64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz",
- "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/darwin-arm64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz",
- "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/darwin-x64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz",
- "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/freebsd-arm64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz",
- "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/freebsd-x64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz",
- "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/linux-arm": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz",
- "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==",
- "cpu": [
- "arm"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/linux-arm64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz",
- "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/linux-ia32": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz",
- "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==",
- "cpu": [
- "ia32"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/linux-loong64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz",
- "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==",
- "cpu": [
- "loong64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/linux-mips64el": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz",
- "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==",
- "cpu": [
- "mips64el"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/linux-ppc64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz",
- "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==",
- "cpu": [
- "ppc64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/linux-riscv64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz",
- "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==",
- "cpu": [
- "riscv64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/linux-s390x": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz",
- "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==",
- "cpu": [
- "s390x"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/linux-x64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz",
- "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/netbsd-x64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz",
- "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/openbsd-x64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz",
- "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/sunos-x64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz",
- "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/win32-arm64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz",
- "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==",
- "cpu": [
- "arm64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/win32-ia32": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz",
- "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==",
- "cpu": [
- "ia32"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/@esbuild/win32-x64": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz",
- "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==",
- "cpu": [
- "x64"
- ],
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/svelte-i18n/node_modules/esbuild": {
- "version": "0.19.12",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz",
- "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==",
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.19.12",
- "@esbuild/android-arm": "0.19.12",
- "@esbuild/android-arm64": "0.19.12",
- "@esbuild/android-x64": "0.19.12",
- "@esbuild/darwin-arm64": "0.19.12",
- "@esbuild/darwin-x64": "0.19.12",
- "@esbuild/freebsd-arm64": "0.19.12",
- "@esbuild/freebsd-x64": "0.19.12",
- "@esbuild/linux-arm": "0.19.12",
- "@esbuild/linux-arm64": "0.19.12",
- "@esbuild/linux-ia32": "0.19.12",
- "@esbuild/linux-loong64": "0.19.12",
- "@esbuild/linux-mips64el": "0.19.12",
- "@esbuild/linux-ppc64": "0.19.12",
- "@esbuild/linux-riscv64": "0.19.12",
- "@esbuild/linux-s390x": "0.19.12",
- "@esbuild/linux-x64": "0.19.12",
- "@esbuild/netbsd-x64": "0.19.12",
- "@esbuild/openbsd-x64": "0.19.12",
- "@esbuild/sunos-x64": "0.19.12",
- "@esbuild/win32-arm64": "0.19.12",
- "@esbuild/win32-ia32": "0.19.12",
- "@esbuild/win32-x64": "0.19.12"
- }
- },
- "node_modules/svelte-multiselect": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/svelte-multiselect/-/svelte-multiselect-11.1.0.tgz",
- "integrity": "sha512-D93t6GlOV//gU7upR59uCd755Hq6OWhqv9ddhOXBDN/mEZj5XOAYHwDjUjePUKlE+bI+jry1BlZef8Mof2Y+YA==",
- "license": "MIT",
- "peerDependencies": {
- "svelte": "^5.8.0"
- }
- },
- "node_modules/svelte-preprocess": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-6.0.3.tgz",
- "integrity": "sha512-PLG2k05qHdhmRG7zR/dyo5qKvakhm8IJ+hD2eFRQmMLHp7X3eJnjeupUtvuRpbNiF31RjVw45W+abDwHEmP5OA==",
- "hasInstallScript": true,
- "license": "MIT",
- "engines": {
- "node": ">= 18.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.10.2",
- "coffeescript": "^2.5.1",
- "less": "^3.11.3 || ^4.0.0",
- "postcss": "^7 || ^8",
- "postcss-load-config": ">=3",
- "pug": "^3.0.0",
- "sass": "^1.26.8",
- "stylus": ">=0.55",
- "sugarss": "^2.0.0 || ^3.0.0 || ^4.0.0",
- "svelte": "^4.0.0 || ^5.0.0-next.100 || ^5.0.0",
- "typescript": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
- "coffeescript": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "postcss": {
- "optional": true
- },
- "postcss-load-config": {
- "optional": true
- },
- "pug": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/svelte-ux": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/svelte-ux/-/svelte-ux-1.0.3.tgz",
- "integrity": "sha512-vxuIxgx0QdNxbVSbJ9duVevuZPljGxU5w58vX5Y2STxJCOsGs8EoxubeRlbMbZGyLcOrutplrLrfdT8MjRr5jw==",
- "license": "MIT",
- "dependencies": {
- "@floating-ui/dom": "^1.6.13",
- "@fortawesome/fontawesome-common-types": "^6.7.2",
- "@layerstack/svelte-actions": "^1.0.0",
- "@layerstack/svelte-stores": "^1.0.1",
- "@layerstack/svelte-table": "^1.0.0",
- "@layerstack/tailwind": "^1.0.0",
- "@layerstack/utils": "^1.0.0",
- "@mdi/js": "^7.4.47",
- "culori": "^4.0.1",
- "d3-array": "^3.2.4",
- "d3-scale": "^4.0.2",
- "date-fns": "^4.1.0",
- "esm-env": "^1.2.2",
- "immer": "^10.1.1",
- "lodash-es": "^4.17.21",
- "prism-svelte": "^0.5.0",
- "prism-themes": "^1.9.0",
- "prismjs": "^1.29.0",
- "sveld": "^0.22.1",
- "zod": "^3.24.2"
- },
- "peerDependencies": {
- "svelte": "^3.56.0 || ^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/svelte-writable-derived": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/svelte-writable-derived/-/svelte-writable-derived-3.1.1.tgz",
- "integrity": "sha512-w4LR6/bYZEuCs7SGr+M54oipk/UQKtiMadyOhW0PTwAtJ/Ai12QS77sLngEcfBx2q4H8ZBQucc9ktSA5sUGZWw==",
- "license": "MIT",
- "funding": {
- "url": "https://ko-fi.com/pixievoltno1"
- },
- "peerDependencies": {
- "svelte": "^3.2.1 || ^4.0.0-next.1 || ^5.0.0-next.94"
- }
- },
- "node_modules/sveltekit-superforms": {
- "version": "2.25.0",
- "resolved": "https://registry.npmjs.org/sveltekit-superforms/-/sveltekit-superforms-2.25.0.tgz",
- "integrity": "sha512-QIzoPaoLJKDnMtQIC1XmgBYdZi/n6exU34KhCmxq1dl+kvLC49S2n3DeHUiVnVpVvWc41dgdSEQgzhiJyjlNMg==",
+ "node_modules/svelte-toolbelt": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.9.2.tgz",
+ "integrity": "sha512-REb1cENGnFbhNSmIdCb1SDIpjEa3n1kXhNVHqGNEesjmPX3bG87gUZiCG8cqOt9AAarqzTzOtI2jEEWr/ZbHwA==",
"dev": true,
"funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ciscoheat"
- },
- {
- "type": "ko-fi",
- "url": "https://ko-fi.com/ciscoheat"
- },
- {
- "type": "paypal",
- "url": "https://www.paypal.com/donate/?hosted_button_id=NY7F5ALHHSVQS"
- }
+ "https://github.com/sponsors/huntabyte"
],
- "license": "MIT",
"dependencies": {
- "devalue": "^5.1.1",
- "memoize-weak": "^1.0.2",
- "ts-deepmerge": "^7.0.2"
+ "clsx": "^2.1.1",
+ "runed": "^0.28.0",
+ "style-to-object": "^1.0.8"
},
- "optionalDependencies": {
- "@exodus/schemasafe": "^1.3.0",
- "@gcornut/valibot-json-schema": "^0.31.0",
- "@sinclair/typebox": "^0.34.28",
- "@typeschema/class-validator": "^0.3.0",
- "@vinejs/vine": "^3.0.0",
- "arktype": "^2.1.9",
- "class-validator": "^0.14.1",
- "effect": "^3.13.7",
- "joi": "^17.13.3",
- "json-schema-to-ts": "^3.1.1",
- "superstruct": "^2.0.2",
- "valibot": "1.0.0-rc.3",
- "yup": "^1.6.1",
- "zod": "^3.24.2",
- "zod-to-json-schema": "^3.24.3"
+ "engines": {
+ "node": ">=18",
+ "pnpm": ">=8.7.0"
},
"peerDependencies": {
- "@exodus/schemasafe": "^1.3.0",
- "@sinclair/typebox": "^0.34.28",
- "@sveltejs/kit": "1.x || 2.x",
- "@typeschema/class-validator": "^0.3.0",
- "@vinejs/vine": "^1.8.0 || ^2.0.0 || ^3.0.0",
- "arktype": ">=2.0.0-rc.23",
- "class-validator": "^0.14.1",
- "effect": "^3.13.7",
- "joi": "^17.13.1",
- "superstruct": "^2.0.2",
- "svelte": "3.x || 4.x || >=5.0.0-next.51",
- "valibot": ">=1.0.0-rc.3",
- "yup": "^1.4.0",
- "zod": "^3.24.2"
- },
- "peerDependenciesMeta": {
- "@exodus/schemasafe": {
- "optional": true
- },
- "@sinclair/typebox": {
- "optional": true
- },
- "@typeschema/class-validator": {
- "optional": true
- },
- "@vinejs/vine": {
- "optional": true
- },
- "arktype": {
- "optional": true
- },
- "class-validator": {
- "optional": true
- },
- "effect": {
- "optional": true
- },
- "joi": {
- "optional": true
- },
- "superstruct": {
- "optional": true
- },
- "valibot": {
- "optional": true
- },
- "yup": {
- "optional": true
- },
- "zod": {
- "optional": true
- }
+ "svelte": "^5.30.2"
}
},
"node_modules/tabbable": {
@@ -7595,9 +5515,9 @@
"license": "MIT"
},
"node_modules/tailwind-merge": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.0.2.tgz",
- "integrity": "sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz",
+ "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==",
"dev": true,
"license": "MIT",
"funding": {
@@ -7606,13 +5526,13 @@
}
},
"node_modules/tailwind-variants": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/tailwind-variants/-/tailwind-variants-0.3.1.tgz",
- "integrity": "sha512-krn67M3FpPwElg4FsZrOQd0U26o7UDH/QOkK8RNaiCCrr052f6YJPBUfNKnPo/s/xRzNPtv1Mldlxsg8Tb46BQ==",
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/tailwind-variants/-/tailwind-variants-1.0.0.tgz",
+ "integrity": "sha512-2WSbv4ulEEyuBKomOunut65D8UZwxrHoRfYnxGcQNnHqlSCp2+B7Yz2W+yrNDrxRodOXtGD/1oCcKGNBnUqMqA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "tailwind-merge": "2.5.4"
+ "tailwind-merge": "3.0.2"
},
"engines": {
"node": ">=16.x",
@@ -7623,9 +5543,9 @@
}
},
"node_modules/tailwind-variants/node_modules/tailwind-merge": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.5.4.tgz",
- "integrity": "sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.0.2.tgz",
+ "integrity": "sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==",
"dev": true,
"license": "MIT",
"funding": {
@@ -7634,195 +5554,38 @@
}
},
"node_modules/tailwindcss": {
- "version": "3.4.17",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz",
- "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==",
- "license": "MIT",
- "dependencies": {
- "@alloc/quick-lru": "^5.2.0",
- "arg": "^5.0.2",
- "chokidar": "^3.6.0",
- "didyoumean": "^1.2.2",
- "dlv": "^1.1.3",
- "fast-glob": "^3.3.2",
- "glob-parent": "^6.0.2",
- "is-glob": "^4.0.3",
- "jiti": "^1.21.6",
- "lilconfig": "^3.1.3",
- "micromatch": "^4.0.8",
- "normalize-path": "^3.0.0",
- "object-hash": "^3.0.0",
- "picocolors": "^1.1.1",
- "postcss": "^8.4.47",
- "postcss-import": "^15.1.0",
- "postcss-js": "^4.0.1",
- "postcss-load-config": "^4.0.2",
- "postcss-nested": "^6.2.0",
- "postcss-selector-parser": "^6.1.2",
- "resolve": "^1.22.8",
- "sucrase": "^3.35.0"
- },
- "bin": {
- "tailwind": "lib/cli.js",
- "tailwindcss": "lib/cli.js"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/tailwindcss/node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
- "license": "MIT",
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/tailwindcss/node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/tailwindcss/node_modules/lilconfig": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
- "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
- "license": "MIT",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/antonk52"
- }
- },
- "node_modules/tailwindcss/node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/tailwindcss/node_modules/postcss-load-config": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz",
- "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==",
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "lilconfig": "^3.0.0",
- "yaml": "^2.3.4"
- },
- "engines": {
- "node": ">= 14"
- },
- "peerDependencies": {
- "postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "postcss": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/tailwindcss/node_modules/postcss-selector-parser": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
- "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
- "license": "MIT",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/tailwindcss/node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/tar-mini": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/tar-mini/-/tar-mini-0.2.0.tgz",
- "integrity": "sha512-+qfUHz700DWnRutdUsxRRVZ38G1Qr27OetwaMYTdg8hcPxf46U0S1Zf76dQMWRBmusOt2ZCK5kbIaiLkoGO7WQ==",
+ "version": "4.1.10",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.10.tgz",
+ "integrity": "sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==",
"dev": true,
"license": "MIT"
},
- "node_modules/text-encoding": {
- "version": "0.6.4",
- "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
- "integrity": "sha512-hJnc6Qg3dWoOMkqP53F0dzRIgtmsAge09kxUIqGrEUS4qr5rWLckGYaQAVr+opBrIMRErGgy6f5aPnyPpyGRfg==",
- "deprecated": "no longer maintained",
- "license": "Unlicense"
- },
- "node_modules/thenify": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz",
- "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==",
+ "node_modules/tapable": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz",
+ "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "any-promise": "^1.0.0"
+ "engines": {
+ "node": ">=6"
}
},
- "node_modules/thenify-all": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
- "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==",
- "license": "MIT",
+ "node_modules/tar": {
+ "version": "7.4.3",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz",
+ "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "thenify": ">= 3.1.0 < 4"
+ "@isaacs/fs-minipass": "^4.0.0",
+ "chownr": "^3.0.0",
+ "minipass": "^7.1.2",
+ "minizlib": "^3.0.1",
+ "mkdirp": "^3.0.1",
+ "yallist": "^5.0.0"
},
"engines": {
- "node": ">=0.8"
+ "node": ">=18"
}
},
"node_modules/time-span": {
@@ -7840,41 +5603,10 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/timers-ext": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.8.tgz",
- "integrity": "sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==",
- "license": "ISC",
- "dependencies": {
- "es5-ext": "^0.10.64",
- "next-tick": "^1.1.0"
- },
- "engines": {
- "node": ">=0.12"
- }
- },
- "node_modules/tiny-case": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz",
- "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
- "node_modules/tiny-glob": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
- "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
- "license": "MIT",
- "dependencies": {
- "globalyzer": "0.1.0",
- "globrex": "^0.1.2"
- }
- },
"node_modules/tinyglobby": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz",
- "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==",
+ "version": "0.2.14",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
+ "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
"license": "MIT",
"dependencies": {
"fdir": "^6.4.4",
@@ -7887,10 +5619,37 @@
"url": "https://github.com/sponsors/SuperchupuDev"
}
},
+ "node_modules/tinyglobby/node_modules/fdir": {
+ "version": "6.4.6",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
+ "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tinyglobby/node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
@@ -7899,34 +5658,6 @@
"node": ">=8.0"
}
},
- "node_modules/topojson-client": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz",
- "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==",
- "license": "ISC",
- "dependencies": {
- "commander": "2"
- },
- "bin": {
- "topo2geo": "bin/topo2geo",
- "topomerge": "bin/topomerge",
- "topoquantize": "bin/topoquantize"
- }
- },
- "node_modules/topojson-client/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "license": "MIT"
- },
- "node_modules/toposort": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz",
- "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
"node_modules/totalist": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
@@ -7937,18 +5668,10 @@
"node": ">=6"
}
},
- "node_modules/ts-algebra": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ts-algebra/-/ts-algebra-2.0.0.tgz",
- "integrity": "sha512-FPAhNPFMrkwz76P7cdjdmiShwMynZYN6SgOujD1urY4oNm80Ou9oMdmbR45LotcKOXoy7wSmHkRFE6Mxbrhefw==",
- "dev": true,
- "license": "MIT",
- "optional": true
- },
"node_modules/ts-api-utils": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz",
- "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
+ "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -7958,33 +5681,22 @@
"typescript": ">=4.8.4"
}
},
- "node_modules/ts-deepmerge": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/ts-deepmerge/-/ts-deepmerge-7.0.2.tgz",
- "integrity": "sha512-akcpDTPuez4xzULo5NwuoKwYRtjQJ9eoNfBACiBMaXwNAx7B1PKfe5wqUFJuW5uKzQ68YjDFwPaWHDG1KnFGsA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=14.13.1"
- }
- },
- "node_modules/ts-interface-checker": {
- "version": "0.1.13",
- "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz",
- "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==",
- "license": "Apache-2.0"
- },
"node_modules/tslib": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "dev": true,
"license": "0BSD"
},
- "node_modules/type": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz",
- "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==",
- "license": "ISC"
+ "node_modules/tw-animate-css": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.3.4.tgz",
+ "integrity": "sha512-dd1Ht6/YQHcNbq0znIT6dG8uhO7Ce+VIIhZUhjsryXsMPJQz3bZg7Q2eNzLwipb25bRZslGb2myio5mScd1TFg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/Wombosvideo"
+ }
},
"node_modules/type-check": {
"version": "0.4.0",
@@ -7999,24 +5711,11 @@
"node": ">= 0.8.0"
}
},
- "node_modules/type-fest": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
- "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "optional": true,
- "engines": {
- "node": ">=12.20"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/typescript": {
- "version": "5.7.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz",
- "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
+ "version": "5.8.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
+ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
+ "dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
@@ -8027,15 +5726,15 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.25.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.25.0.tgz",
- "integrity": "sha512-TxRdQQLH4g7JkoFlYG3caW5v1S6kEkz8rqt80iQJZUYPq1zD1Ra7HfQBJJ88ABRaMvHAXnwRvRB4V+6sQ9xN5Q==",
+ "version": "8.34.1",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.34.1.tgz",
+ "integrity": "sha512-XjS+b6Vg9oT1BaIUfkW3M3LvqZE++rbzAMEHuccCfO/YkP43ha6w3jTEMilQxMF92nVOYCcdjv1ZUhAa1D/0ow==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.25.0",
- "@typescript-eslint/parser": "8.25.0",
- "@typescript-eslint/utils": "8.25.0"
+ "@typescript-eslint/eslint-plugin": "8.34.1",
+ "@typescript-eslint/parser": "8.34.1",
+ "@typescript-eslint/utils": "8.34.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -8046,44 +5745,7 @@
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
- "typescript": ">=4.8.4 <5.8.0"
- }
- },
- "node_modules/undici-types": {
- "version": "6.20.0",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
- "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
- "license": "MIT"
- },
- "node_modules/update-browserslist-db": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
- "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "escalade": "^3.2.0",
- "picocolors": "^1.1.1"
- },
- "bin": {
- "update-browserslist-db": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
+ "typescript": ">=4.8.4 <5.9.0"
}
},
"node_modules/uri-js": {
@@ -8100,28 +5762,13 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true,
"license": "MIT"
},
- "node_modules/valibot": {
- "version": "1.0.0-rc.3",
- "resolved": "https://registry.npmjs.org/valibot/-/valibot-1.0.0-rc.3.tgz",
- "integrity": "sha512-LT0REa7Iqx4QGcaHLiTiTkcmJqJ9QdpOy89HALFFBJgejTS64GQFRIbDF7e4f6pauQbo/myfKGmWXCLhMeM6+g==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "peerDependencies": {
- "typescript": ">=5"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
"node_modules/validator": {
- "version": "13.15.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.0.tgz",
- "integrity": "sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA==",
+ "version": "13.15.15",
+ "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.15.tgz",
+ "integrity": "sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A==",
"license": "MIT",
"engines": {
"node": ">= 0.10"
@@ -8202,43 +5849,466 @@
}
}
},
- "node_modules/vite-plugin-compression2": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/vite-plugin-compression2/-/vite-plugin-compression2-1.3.3.tgz",
- "integrity": "sha512-Mb+xi/C5b68awtF4fNwRBPtoZiyUHU3I0SaBOAGlerlR31kusq1si6qG31lsjJH8T7QNg/p3IJY2HY9O9SvsfQ==",
+ "node_modules/vite/node_modules/@esbuild/aix-ppc64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz",
+ "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@rollup/pluginutils": "^5.1.0",
- "tar-mini": "^0.2.0"
- },
- "peerDependencies": {
- "vite": "^2.0.0||^3.0.0||^4.0.0||^5.0.0 ||^6.0.0"
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/vite-plugin-compression2/node_modules/@rollup/pluginutils": {
- "version": "5.1.4",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz",
- "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==",
+ "node_modules/vite/node_modules/@esbuild/android-arm": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz",
+ "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0",
- "estree-walker": "^2.0.2",
- "picomatch": "^4.0.2"
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/android-arm64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz",
+ "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/android-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz",
+ "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/darwin-arm64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz",
+ "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/darwin-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz",
+ "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz",
+ "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/freebsd-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz",
+ "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-arm": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz",
+ "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-arm64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz",
+ "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-ia32": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz",
+ "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-loong64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz",
+ "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-mips64el": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz",
+ "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-ppc64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz",
+ "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-riscv64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz",
+ "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-s390x": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz",
+ "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/linux-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz",
+ "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/netbsd-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz",
+ "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/openbsd-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz",
+ "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/sunos-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz",
+ "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/win32-arm64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz",
+ "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/win32-ia32": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz",
+ "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/@esbuild/win32-x64": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz",
+ "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/vite/node_modules/esbuild": {
+ "version": "0.25.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz",
+ "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
},
"engines": {
- "node": ">=14.0.0"
+ "node": ">=18"
},
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.25.5",
+ "@esbuild/android-arm": "0.25.5",
+ "@esbuild/android-arm64": "0.25.5",
+ "@esbuild/android-x64": "0.25.5",
+ "@esbuild/darwin-arm64": "0.25.5",
+ "@esbuild/darwin-x64": "0.25.5",
+ "@esbuild/freebsd-arm64": "0.25.5",
+ "@esbuild/freebsd-x64": "0.25.5",
+ "@esbuild/linux-arm": "0.25.5",
+ "@esbuild/linux-arm64": "0.25.5",
+ "@esbuild/linux-ia32": "0.25.5",
+ "@esbuild/linux-loong64": "0.25.5",
+ "@esbuild/linux-mips64el": "0.25.5",
+ "@esbuild/linux-ppc64": "0.25.5",
+ "@esbuild/linux-riscv64": "0.25.5",
+ "@esbuild/linux-s390x": "0.25.5",
+ "@esbuild/linux-x64": "0.25.5",
+ "@esbuild/netbsd-arm64": "0.25.5",
+ "@esbuild/netbsd-x64": "0.25.5",
+ "@esbuild/openbsd-arm64": "0.25.5",
+ "@esbuild/openbsd-x64": "0.25.5",
+ "@esbuild/sunos-x64": "0.25.5",
+ "@esbuild/win32-arm64": "0.25.5",
+ "@esbuild/win32-ia32": "0.25.5",
+ "@esbuild/win32-x64": "0.25.5"
+ }
+ },
+ "node_modules/vite/node_modules/fdir": {
+ "version": "6.4.6",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
+ "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
+ "dev": true,
+ "license": "MIT",
"peerDependencies": {
- "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ "picomatch": "^3 || ^4"
},
"peerDependenciesMeta": {
- "rollup": {
+ "picomatch": {
"optional": true
}
}
},
+ "node_modules/vite/node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
"node_modules/vitefu": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.6.tgz",
@@ -8262,6 +6332,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
"license": "ISC",
"dependencies": {
"isexe": "^2.0.0"
@@ -8283,104 +6354,46 @@
"node": ">=0.10.0"
}
},
- "node_modules/wrap-ansi": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
- "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "node_modules/wuchale": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/wuchale/-/wuchale-0.5.5.tgz",
+ "integrity": "sha512-Dqvg/XeeGciT/kX8bbsQLO6beIisEFnYmp71rofITXi3vJxmQN4yk0DhUXLKfJO9+xXSBNmrwU7rxpIL6/dpKw==",
"license": "MIT",
"dependencies": {
- "ansi-styles": "^6.1.0",
- "string-width": "^5.0.1",
- "strip-ansi": "^7.0.1"
+ "@sveltejs/acorn-typescript": "^1.0.5",
+ "acorn": "^8.15.0",
+ "magic-string": "^0.30.17",
+ "pofile": "^1.1.4",
+ "svelte": "^5.28.1",
+ "tinyglobby": "^0.2.14"
},
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ "bin": {
+ "wuchale": "dist/cli.js"
}
},
- "node_modules/wrap-ansi-cjs": {
- "name": "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==",
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
+ "node_modules/yallist": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
+ "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "license": "MIT"
- },
- "node_modules/wrap-ansi-cjs/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/ansi-styles": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
- "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ "node": ">=18"
}
},
"node_modules/yaml": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz",
- "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==",
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz",
+ "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==",
+ "dev": true,
"license": "ISC",
+ "optional": true,
+ "peer": true,
"bin": {
"yaml": "bin.mjs"
},
"engines": {
- "node": ">= 14"
+ "node": ">= 14.6"
}
},
"node_modules/yocto-queue": {
@@ -8396,20 +6409,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/yup": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/yup/-/yup-1.6.1.tgz",
- "integrity": "sha512-JED8pB50qbA4FOkDol0bYF/p60qSEDQqBD0/qeIrUCG1KbPBIQ776fCUNb9ldbPcSTxA69g/47XTo4TqWiuXOA==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "property-expr": "^2.0.5",
- "tiny-case": "^1.0.3",
- "toposort": "^2.0.2",
- "type-fest": "^2.19.0"
- }
- },
"node_modules/zimmerframe": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz",
@@ -8417,24 +6416,13 @@
"license": "MIT"
},
"node_modules/zod": {
- "version": "3.25.3",
- "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.3.tgz",
- "integrity": "sha512-VGZqnyYNrl8JpEJRZaFPqeVNIuqgXNu4cXZ5cOb6zEUO1OxKbRnWB4UdDIXMmiERWncs0yDQukssHov8JUxykQ==",
+ "version": "3.25.67",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.67.tgz",
+ "integrity": "sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
- },
- "node_modules/zod-to-json-schema": {
- "version": "3.24.3",
- "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.3.tgz",
- "integrity": "sha512-HIAfWdYIt1sssHfYZFCXp4rU1w2r8hVVXYIlmoa0r0gABLs5di3RCqPU5DDROogVz1pAdYBaz7HK5n9pSUNs3A==",
- "dev": true,
- "license": "ISC",
- "optional": true,
- "peerDependencies": {
- "zod": "^3.24.1"
- }
}
}
}
diff --git a/web/package.json b/web/package.json
index de8b36b2..5f73342a 100644
--- a/web/package.json
+++ b/web/package.json
@@ -1,9 +1,8 @@
{
- "name": "sylve-web",
+ "name": "new-web",
"private": true,
"version": "0.0.1",
"type": "module",
- "license": "BSD-2-Clause",
"scripts": {
"dev": "vite dev --host",
"build": "vite build",
@@ -17,72 +16,63 @@
"devDependencies": {
"@eslint/compat": "^1.2.5",
"@eslint/js": "^9.18.0",
- "@iconify/svelte": "^4.2.0",
+ "@iconify/svelte": "^5.0.0",
+ "@internationalized/date": "^3.8.2",
"@sveltejs/adapter-static": "^3.0.8",
- "@sveltejs/kit": "^2.20.3",
+ "@sveltejs/kit": "^2.16.0",
"@sveltejs/vite-plugin-svelte": "^5.0.0",
- "@tailwindcss/container-queries": "^0.1.1",
- "@tailwindcss/forms": "^0.5.10",
- "@tailwindcss/typography": "^0.5.16",
+ "@tailwindcss/forms": "^0.5.9",
+ "@tailwindcss/typography": "^0.5.15",
+ "@tailwindcss/vite": "^4.0.0",
"@types/d3-scale": "^4.0.9",
"@types/d3-shape": "^3.1.7",
- "autoprefixer": "^10.4.20",
- "bits-ui": "^0.22.0",
+ "@types/tabulator-tables": "^6.2.6",
+ "@types/validator": "^13.15.2",
+ "bits-ui": "^2.8.0",
"clsx": "^2.1.1",
- "cmdk-sv": "^0.0.19",
"eslint": "^9.18.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-svelte": "^3.0.0",
- "formsnap": "^1.0.1",
"globals": "^16.0.0",
- "lucide-svelte": "^0.476.0",
- "paneforge": "^0.0.6",
+ "layerchart": "^2.0.0-next.18",
+ "mode-watcher": "^1.0.8",
+ "paneforge": "^1.0.0-next.5",
"prettier": "^3.4.2",
"prettier-plugin-svelte": "^3.3.3",
- "prettier-plugin-tailwindcss": "^0.6.10",
- "sass": "^1.85.1",
- "svelte": "^5.25.6",
+ "prettier-plugin-tailwindcss": "^0.6.11",
+ "svelte": "^5.0.0",
"svelte-check": "^4.0.0",
- "sveltekit-superforms": "^2.23.1",
- "tailwind-merge": "^3.0.2",
- "tailwind-variants": "^0.3.1",
- "tailwindcss": "^3.4.17",
+ "svelte-sonner": "^1.0.5",
+ "tailwind-merge": "^3.3.1",
+ "tailwind-variants": "^1.0.0",
+ "tailwindcss": "^4.0.0",
+ "tw-animate-css": "^1.3.4",
"typescript": "^5.0.0",
"typescript-eslint": "^8.20.0",
- "vite": "^6.2.4",
- "vite-plugin-compression2": "^1.3.3",
- "zod": "^3.25.0"
+ "vite": "^6.2.6"
},
"dependencies": {
"@battlefieldduck/xterm-svelte": "^2.1.0",
- "@fontsource/noto-sans": "^5.2.5",
- "@layerstack/svelte-stores": "^1.0.0",
- "@novnc/novnc": "1.5.0",
+ "@fontsource/noto-sans": "^5.2.7",
+ "@layerstack/svelte-stores": "^1.0.2",
+ "@lucide/svelte": "^0.516.0",
"@svelte-put/shortcut": "^4.1.0",
"@sveltestack/svelte-query": "^1.6.0",
- "@thisux/sveltednd": "^0.0.20",
- "@types/novnc__novnc": "^1.6.0",
- "@types/tabulator-tables": "^6.2.6",
- "adze": "^2.2.1",
- "axios": "^1.8.2",
- "d3-array": "^3.2.4",
- "d3-scale": "^4.0.2",
+ "adze": "^2.2.4",
+ "axios": "^1.10.0",
+ "chart.js": "^4.5.0",
+ "chartjs-adapter-date-fns": "^3.0.0",
+ "chartjs-plugin-zoom": "^2.2.0",
"d3-shape": "^3.2.0",
"date-fns": "^4.1.0",
"date-fns-tz": "^3.2.0",
- "fast-cidr-tools": "^0.3.2",
"human-format": "^1.2.1",
- "ip-cidr": "^4.0.2",
"is-cidr": "^5.1.1",
"is-ip": "^5.0.1",
- "layerchart": "^1.0.5",
- "mode-watcher": "^0.5.1",
- "nanoid": "^5.1.5",
- "svelte-french-toast": "^2.0.0-alpha.0",
- "svelte-i18n": "^4.0.1",
- "svelte-multiselect": "^11.0.0-rc.1",
- "svelte-ux": "^1.0.3",
+ "lucide-svelte": "^0.516.0",
"tabulator-tables": "^6.3.1",
- "validator": "^13.15.0"
+ "validator": "^13.15.15",
+ "wuchale": "0.5.5",
+ "zod": "^3.25.67"
}
}
diff --git a/web/postcss.config.js b/web/postcss.config.js
deleted file mode 100644
index 0f772168..00000000
--- a/web/postcss.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-export default {
- plugins: {
- tailwindcss: {},
- autoprefixer: {}
- }
-};
diff --git a/new-web/src/app.css b/web/src/app.css
similarity index 100%
rename from new-web/src/app.css
rename to web/src/app.css
diff --git a/web/src/app.scss b/web/src/app.scss
deleted file mode 100644
index c9e6b6dd..00000000
--- a/web/src/app.scss
+++ /dev/null
@@ -1,161 +0,0 @@
-@use './css/tabulator_simple.scss';
-
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-//default
-@layer base {
- :root {
- --background: 0 0% 100%;
- --foreground: 240 10% 3.9%;
- --card: 0 0% 100%;
- --card-foreground: 240 10% 3.9%;
- --popover: 0 0% 100%;
- --popover-foreground: 240 10% 3.9%;
- --primary: 240 5.9% 10%;
- --primary-foreground: 0 0% 98%;
- --secondary: 240 4.8% 95.9%;
- --secondary-foreground: 240 5.9% 10%;
- --muted: 240 4.8% 95.9%;
- --muted-foreground: 240 3.8% 46.1%;
- --accent: 240 4.8% 95.9%;
- --accent-foreground: 240 5.9% 10%;
- --destructive: 0 72.22% 50.59%;
- --destructive-foreground: 0 0% 98%;
- --border: 240 5.9% 90%;
- --input: 240 5.9% 90%;
- --ring: 240 5.9% 10%;
- --radius: 0.3rem;
- }
- .dark {
- --background: 240 10% 3.9%;
- --foreground: 0 0% 98%;
- --card: 240 10% 3.9%;
- --card-foreground: 0 0% 98%;
- --popover: 240 10% 3.9%;
- --popover-foreground: 0 0% 98%;
- --primary: 0 0% 98%;
- --primary-foreground: 240 5.9% 10%;
- --secondary: 240 3.7% 15.9%;
- --secondary-foreground: 0 0% 98%;
- --muted: 240 3.7% 15.9%;
- --muted-foreground: 240 5% 64.9%;
- --accent: 240 3.7% 15.9%;
- --accent-foreground: 0 0% 98%;
- --destructive: 0 62.8% 30.6%;
- --destructive-foreground: 0 0% 98%;
- --border: 240 3.7% 15.9%;
- --input: 240 3.7% 15.9%;
- --ring: 240 4.9% 83.9%;
- }
-}
-
-//blue
-// @layer base {
-// :root {
-// --background: 0 0% 100%;
-// --foreground: 222.2 84% 4.9%;
-// --card: 0 0% 100%;
-// --card-foreground: 222.2 84% 4.9%;
-// --popover: 0 0% 100%;
-// --popover-foreground: 222.2 84% 4.9%;
-// --primary: 221.2 83.2% 53.3%;
-// --primary-foreground: 210 40% 98%;
-// --secondary: 210 40% 96.1%;
-// --secondary-foreground: 222.2 47.4% 11.2%;
-// --muted: 210 40% 96.1%;
-// --muted-foreground: 215.4 16.3% 46.9%;
-// --accent: 210 40% 96.1%;
-// --accent-foreground: 222.2 47.4% 11.2%;
-// --destructive: 0 72.22% 50.59%;
-// --destructive-foreground: 210 40% 98%;
-// --border: 214.3 31.8% 91.4%;
-// --input: 214.3 31.8% 91.4%;
-// --ring: 221.2 83.2% 53.3%;
-// --radius: 0.3rem;
-// }
-// .dark {
-// --background: 222.2 84% 4.9%;
-// --foreground: 210 40% 98%;
-// --card: 222.2 84% 4.9%;
-// --card-foreground: 210 40% 98%;
-// --popover: 222.2 84% 4.9%;
-// --popover-foreground: 210 40% 98%;
-// --primary: 217.2 91.2% 59.8%;
-// --primary-foreground: 222.2 47.4% 11.2%;
-// --secondary: 217.2 32.6% 17.5%;
-// --secondary-foreground: 210 40% 98%;
-// --muted: 217.2 32.6% 17.5%;
-// --muted-foreground: 215 20.2% 65.1%;
-// --accent: 217.2 32.6% 17.5%;
-// --accent-foreground: 210 40% 98%;
-// --destructive: 0 62.8% 30.6%;
-// --destructive-foreground: 210 40% 98%;
-// --border: 217.2 32.6% 17.5%;
-// --input: 217.2 32.6% 17.5%;
-// --ring: 224.3 76.3% 48%;
-// }
-// }
-
-//orange
-
-// @layer base {
-// :root {
-// --background: 0 0% 100%;
-// --foreground: 20 14.3% 4.1%;
-// --card: 0 0% 100%;
-// --card-foreground: 20 14.3% 4.1%;
-// --popover: 0 0% 100%;
-// --popover-foreground: 20 14.3% 4.1%;
-// --primary: 24.6 95% 53.1%;
-// --primary-foreground: 60 9.1% 97.8%;
-// --secondary: 60 4.8% 95.9%;
-// --secondary-foreground: 24 9.8% 10%;
-// --muted: 60 4.8% 95.9%;
-// --muted-foreground: 25 5.3% 44.7%;
-// --accent: 60 4.8% 95.9%;
-// --accent-foreground: 24 9.8% 10%;
-// --destructive: 0 72.22% 50.59%;
-// --destructive-foreground: 60 9.1% 97.8%;
-// --border: 20 5.9% 90%;
-// --input: 20 5.9% 90%;
-// --ring: 24.6 95% 53.1%;
-// --radius: 0.3rem;
-// }
-// .dark {
-// --background: 20 14.3% 4.1%;
-// --foreground: 60 9.1% 97.8%;
-// --card: 20 14.3% 4.1%;
-// --card-foreground: 60 9.1% 97.8%;
-// --popover: 20 14.3% 4.1%;
-// --popover-foreground: 60 9.1% 97.8%;
-// --primary: 20.5 90.2% 48.2%;
-// --primary-foreground: 60 9.1% 97.8%;
-// --secondary: 12 6.5% 15.1%;
-// --secondary-foreground: 60 9.1% 97.8%;
-// --muted: 12 6.5% 15.1%;
-// --muted-foreground: 24 5.4% 63.9%;
-// --accent: 12 6.5% 15.1%;
-// --accent-foreground: 60 9.1% 97.8%;
-// --destructive: 0 72.2% 50.6%;
-// --destructive-foreground: 60 9.1% 97.8%;
-// --border: 12 6.5% 15.1%;
-// --input: 12 6.5% 15.1%;
-// --ring: 20.5 90.2% 48.2%;
-// }
-// }
-
-@layer base {
- * {
- @apply border-border;
- }
-
- body {
- @apply bg-background text-foreground;
- }
-
- .droppable {
- @apply border-2 border-muted-foreground dark:border-muted;
- }
-}
diff --git a/new-web/src/css/tabulator.css b/web/src/css/tabulator.css
similarity index 100%
rename from new-web/src/css/tabulator.css
rename to web/src/css/tabulator.css
diff --git a/new-web/src/css/tabulator.css.map b/web/src/css/tabulator.css.map
similarity index 100%
rename from new-web/src/css/tabulator.css.map
rename to web/src/css/tabulator.css.map
diff --git a/new-web/src/css/tabulator_simple.css b/web/src/css/tabulator_simple.css
similarity index 100%
rename from new-web/src/css/tabulator_simple.css
rename to web/src/css/tabulator_simple.css
diff --git a/new-web/src/css/tabulator_simple.css.map b/web/src/css/tabulator_simple.css.map
similarity index 100%
rename from new-web/src/css/tabulator_simple.css.map
rename to web/src/css/tabulator_simple.css.map
diff --git a/web/src/css/tabulator_simple.scss b/web/src/css/tabulator_simple.scss
index 54b2e128..bd0de7e5 100644
--- a/web/src/css/tabulator_simple.scss
+++ b/web/src/css/tabulator_simple.scss
@@ -1,7 +1,7 @@
@use './tabulator.scss';
.tabulator {
- @apply border-none bg-primary;
+ @apply bg-primary border-none;
.tabulator-header {
@apply border-border bg-background;
@@ -15,10 +15,10 @@
}
.tabulator-calcs-holder {
- @apply border border-border bg-background !important;
+ @apply !border-border !bg-background !border;
.tabulator-row {
- @apply bg-background !important;
+ @apply !bg-background;
}
}
@@ -29,7 +29,7 @@
@media (hover: hover) and (pointer: fine) {
@apply border-border;
&.tabulator-col-sorter-element:hover {
- @apply cursor-pointer bg-background;
+ @apply bg-background cursor-pointer;
}
}
}
@@ -44,12 +44,12 @@
}
.tabulator-col-title input {
- @apply border border-border;
+ @apply border-border border;
}
}
.tabulator-row {
- @apply border-b border-border bg-background text-black dark:text-white;
+ @apply border-border bg-background border-b text-black dark:text-white;
@media (hover: hover) and (pointer: fine) {
&.tabulator-selectable:hover {
@@ -99,7 +99,7 @@
.tabulator-frozen input {
@apply opacity-40;
background-color: rgb(63 63 70) !important;
- @apply border border-border;
+ @apply border-border border;
}
}
@@ -137,10 +137,10 @@
}
.tabulator-page {
- @apply border-border bg-primary-foreground text-black hover:border-primary/10 hover:bg-primary/10 dark:bg-muted dark:text-white hover:dark:border-muted hover:dark:bg-muted/10;
+ @apply border-border bg-primary-foreground hover:border-primary/10 hover:bg-primary/10 dark:bg-muted hover:dark:border-muted hover:dark:bg-muted/10 text-black dark:text-white;
&.active {
- @apply bg-primary text-secondary !important;
+ @apply !bg-primary !text-secondary;
}
&:disabled {
@@ -152,7 +152,7 @@
.tabulator-calcs-holder {
.tabulator-row {
- @apply bg-primary !important;
+ @apply !bg-primary;
}
}
@@ -170,7 +170,7 @@
}
.tabulator-table .tabulator-row-odd {
- @apply border-b border-none border-border bg-background text-black dark:text-white;
+ @apply border-border bg-background border-b border-none text-black dark:text-white;
.tabulator-frozen {
@apply bg-secondary;
@@ -185,14 +185,14 @@
}
.tabulator-table .tabulator-row-even {
- @apply border-b border-none border-border bg-background text-black dark:text-white;
+ @apply border-border bg-background border-b border-none text-black dark:text-white;
.tabulator-frozen {
@apply bg-secondary;
}
.tabulator-frozen input {
- @apply border border-border;
+ @apply border-border border;
}
@media (hover: hover) and (pointer: fine) {
@@ -204,7 +204,7 @@
}
.tabulator-table .tabulator-selected {
- @apply bg-muted !important;
+ @apply !bg-muted;
}
.tabulator-table .tabulator-tree-level-0 .tabulator-cell:first-of-type {
diff --git a/web/src/lib/api/auth.ts b/web/src/lib/api/auth.ts
index b1146746..72dff94a 100644
--- a/web/src/lib/api/auth.ts
+++ b/web/src/lib/api/auth.ts
@@ -1,22 +1,11 @@
-/**
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2025 The FreeBSD Foundation.
- *
- * This software was developed by Hayzam Sherif
- * of Alchemilla Ventures Pvt. Ltd. ,
- * under sponsorship from the FreeBSD Foundation.
- */
-
import { browser } from '$app/environment';
import { goto } from '$app/navigation';
import { oldStore, store } from '$lib/stores/auth';
import { hostname, language as langStore } from '$lib/stores/basic';
import type { APIResponse } from '$lib/types/common';
-import { getTranslation } from '$lib/utils/i18n';
import adze from 'adze';
import axios, { AxiosError } from 'axios';
-import { toast } from 'svelte-french-toast';
+import { toast } from 'svelte-sonner';
import { get } from 'svelte/store';
export async function login(
@@ -36,7 +25,7 @@ export async function login(
}
if (authType === '') {
- toast.error(getTranslation('auth.invalid_auth_type', 'Authentication type is required'), {
+ toast.error('Authentication type is required', {
position: 'bottom-center'
});
@@ -57,12 +46,9 @@ export async function login(
store.set(response.data.data.token);
return true;
} else {
- toast.error(
- getTranslation('common.invalid_response_received', 'Invalid response received'),
- {
- position: 'bottom-center'
- }
- );
+ toast.error('Invalid response received', {
+ position: 'bottom-center'
+ });
}
} else {
return false;
@@ -72,7 +58,7 @@ export async function login(
const axiosError = error as AxiosError;
const data = axiosError.response?.data as APIResponse;
if (data.error) {
- toast.error(getTranslation(`auth.${data.error}`, data.error), {
+ toast.error('Authentication failed', {
position: 'bottom-center'
});
}
diff --git a/web/src/lib/api/common.ts b/web/src/lib/api/common.ts
index cd936596..5b1817f5 100644
--- a/web/src/lib/api/common.ts
+++ b/web/src/lib/api/common.ts
@@ -11,9 +11,10 @@
import { browser } from '$app/environment';
import { goto } from '$app/navigation';
import { store as token } from '$lib/stores/auth';
+import type { APIResponse } from '$lib/types/common';
import adze from 'adze';
import axios, { AxiosError, type AxiosInstance, type InternalAxiosRequestConfig } from 'axios';
-import toast from 'svelte-french-toast';
+import { toast } from 'svelte-sonner';
import { get } from 'svelte/store';
export let ENDPOINT: string;
@@ -75,16 +76,38 @@ export function handleAxiosError(error: unknown): void {
if (axiosError.response) {
const errorMessage =
axiosError.response.data?.message || axiosError.message || 'An error occurred';
- // adze.withEmoji.error('Status:', axiosError.response.status);
- // adze.withEmoji.error('Data:', axiosError.response.data);
- // adze.withEmoji.error('Error message:', errorMessage);
- // showToast({ text: errorMessage, type: 'error', timeout: 5000 });
+ adze.withEmoji.error(
+ JSON.stringify({
+ status: axiosError.response.status,
+ data: axiosError.response.data,
+ message: errorMessage
+ })
+ );
} else if (axiosError.request) {
- // adze.withEmoji.error('No response:', axiosError.request);
- // showToast({
- // text: 'No response from server',
- // type: 'error',
- // timeout: 5000
- // });
+ adze.withEmoji.error('No response:', axiosError.request);
+ }
+}
+
+export function handleAPIResponse(
+ response: APIResponse,
+ messages: {
+ success?: string;
+ error?: string;
+ info?: string;
+ warn?: string;
+ }
+): void {
+ // console.log('API Response:', response);
+ if (response.status === 'error') {
+ adze.withEmoji.error(response);
+ toast.error(messages.error || 'Operation failed', {
+ position: 'bottom-center'
+ });
+ }
+
+ if (response.status === 'success') {
+ toast.success(messages.success || 'Operation successful', {
+ position: 'bottom-center'
+ });
}
}
diff --git a/web/src/lib/api/info/audit.ts b/web/src/lib/api/info/audit.ts
index 26f3c752..654a0bf5 100644
--- a/web/src/lib/api/info/audit.ts
+++ b/web/src/lib/api/info/audit.ts
@@ -1,26 +1,12 @@
import { AuditLogSchema, type AuditLog } from '$lib/types/info/audit';
import { apiRequest } from '$lib/utils/http';
-import { getTranslation } from '$lib/utils/i18n';
-import { capitalizeFirstLetter } from '$lib/utils/string';
export async function getAuditLogs(): Promise {
return await apiRequest('/info/audit-logs', AuditLogSchema, 'GET');
}
export function formatAction(action: string): string {
- if (action.includes('|-|')) {
- const parts = action.split('|-|');
- return capitalizeFirstLetter(getTranslation(parts[0], parts[0]), true) + ' ' + parts[1];
- }
-
- switch (action) {
- case 'login':
- return getTranslation('auth.login', 'Login');
- case 'revoke_token':
- return getTranslation('auth.logout', 'Logout');
- default:
- return action;
- }
+ return action;
}
export function formatStatus(status: string): string {
diff --git a/new-web/src/lib/api/info/network.ts b/web/src/lib/api/info/network.ts
similarity index 100%
rename from new-web/src/lib/api/info/network.ts
rename to web/src/lib/api/info/network.ts
diff --git a/web/src/lib/api/info/ram.ts b/web/src/lib/api/info/ram.ts
index 849e316f..dc9e9a8c 100644
--- a/web/src/lib/api/info/ram.ts
+++ b/web/src/lib/api/info/ram.ts
@@ -1,10 +1,32 @@
-import { RAMInfoSchema, type RAMInfo } from '$lib/types/info/ram';
+import {
+ RAMInfoHistoricalSchema,
+ RAMInfoSchema,
+ type RAMInfo,
+ type RAMInfoHistorical
+} from '$lib/types/info/ram';
import { apiRequest } from '$lib/utils/http';
+import type { QueryFunctionContext } from '@sveltestack/svelte-query';
+
+export async function getRAMInfo(
+ queryObj?: QueryFunctionContext
+): Promise {
+ if (queryObj) {
+ if (queryObj.queryKey.includes('ramInfoHistorical')) {
+ return await apiRequest('/info/ram/historical', RAMInfoHistoricalSchema, 'GET');
+ }
+ }
-export async function getRAMInfo(): Promise {
return await apiRequest('/info/ram', RAMInfoSchema, 'GET');
}
-export async function getSwapInfo(): Promise {
+export async function getSwapInfo(
+ queryObj?: QueryFunctionContext
+): Promise {
+ if (queryObj) {
+ if (queryObj.queryKey.includes('swapInfoHistorical')) {
+ return await apiRequest('/info/swap/historical', RAMInfoHistoricalSchema, 'GET');
+ }
+ }
+
return await apiRequest('/info/swap', RAMInfoSchema, 'GET');
}
diff --git a/new-web/src/lib/api/vm/hardware.ts b/web/src/lib/api/vm/hardware.ts
similarity index 100%
rename from new-web/src/lib/api/vm/hardware.ts
rename to web/src/lib/api/vm/hardware.ts
diff --git a/web/src/lib/api/vm/vm.ts b/web/src/lib/api/vm/vm.ts
index 50e880e8..db3b9bc9 100644
--- a/web/src/lib/api/vm/vm.ts
+++ b/web/src/lib/api/vm/vm.ts
@@ -18,7 +18,7 @@ export async function getVMs(): Promise {
export async function newVM(data: CreateData): Promise {
return await apiRequest('/vm', APIResponseSchema, 'POST', {
name: data.name,
- vmId: data.id,
+ vmId: parseInt(data.id.toString(), 10),
iso: data.storage.iso,
storageType: data.storage.type,
storageDataset: data.storage.guid,
@@ -27,16 +27,17 @@ export async function newVM(data: CreateData): Promise {
switchId: data.network.switch,
switchEmulationType: data.network.emulation,
macAddress: data.network.mac,
- cpuSockets: data.hardware.sockets,
- cpuCores: data.hardware.cores,
- cpuThreads: data.hardware.threads,
- ram: data.hardware.memory,
+ cpuSockets: parseInt(data.hardware.sockets.toString(), 10),
+ cpuCores: parseInt(data.hardware.cores.toString(), 10),
+ cpuThreads: parseInt(data.hardware.threads.toString(), 10),
+ ram: parseInt(data.hardware.memory.toString(), 10),
+ cpuPinning: data.hardware.pinnedCPUs,
vncPort: data.advanced.vncPort,
vncPassword: data.advanced.vncPassword,
vncWait: data.advanced.vncWait,
vncResolution: data.advanced.vncResolution,
startAtBoot: data.advanced.startAtBoot,
- bootOrder: data.advanced.bootOrder,
+ bootOrder: parseInt(data.advanced.bootOrder.toString(), 10),
pciDevices: data.hardware.passthroughIds,
description: data.description
});
diff --git a/web/src/lib/api/zfs/datasets.ts b/web/src/lib/api/zfs/datasets.ts
index 390405b2..7729df09 100644
--- a/web/src/lib/api/zfs/datasets.ts
+++ b/web/src/lib/api/zfs/datasets.ts
@@ -70,6 +70,16 @@ export async function createFileSystem(
});
}
+export async function editFileSystem(
+ guid: string,
+ properties: Record
+): Promise {
+ return await apiRequest(`/zfs/datasets/filesystem`, APIResponseSchema, 'PATCH', {
+ guid: guid,
+ properties: properties
+ });
+}
+
export async function deleteFileSystem(dataset: Dataset): Promise {
return await apiRequest(
`/zfs/datasets/filesystem/${dataset.properties.guid}`,
@@ -97,6 +107,16 @@ export async function createVolume(
});
}
+export async function editVolume(
+ dataset: Dataset,
+ properties: Record
+): Promise {
+ return await apiRequest('/zfs/datasets/volume', APIResponseSchema, 'PATCH', {
+ name: dataset.name,
+ properties: properties
+ });
+}
+
export async function deleteVolume(dataset: Dataset): Promise {
return await apiRequest(
`/zfs/datasets/volume/${dataset.properties.guid}`,
@@ -111,3 +131,10 @@ export async function bulkDelete(datasets: Dataset[]): Promise {
guids: guids
});
}
+
+export async function flashVolume(guid: string, uuid: string): Promise {
+ return await apiRequest('/zfs/datasets/volume/flash', APIResponseSchema, 'POST', {
+ guid: guid,
+ uuid: uuid
+ });
+}
diff --git a/web/src/lib/api/zfs/pool.ts b/web/src/lib/api/zfs/pool.ts
index b36c35d3..89194772 100644
--- a/web/src/lib/api/zfs/pool.ts
+++ b/web/src/lib/api/zfs/pool.ts
@@ -42,17 +42,17 @@ export async function createPool(data: CreateZpool) {
}
export async function replaceDevice(data: ReplaceDevice) {
- return await apiRequest(`/zfs/pools/${data.name}/replace-device`, APIResponseSchema, 'POST', {
+ return await apiRequest(`/zfs/pools/${data.guid}/replace-device`, APIResponseSchema, 'POST', {
...data
});
}
-export async function deletePool(name: string) {
- return await apiRequest(`/zfs/pools/${name}`, APIResponseSchema, 'DELETE');
+export async function deletePool(guid: string) {
+ return await apiRequest(`/zfs/pools/${guid}`, APIResponseSchema, 'DELETE');
}
-export async function scrubPool(name: string) {
- return await apiRequest(`/zfs/pools/${name}/scrub`, APIResponseSchema, 'POST');
+export async function scrubPool(guid: string) {
+ return await apiRequest(`/zfs/pools/${guid}/scrub`, APIResponseSchema, 'POST');
}
export async function getPoolStats(
@@ -68,10 +68,12 @@ export async function getPoolStats(
export async function editPool(
name: string,
- properties: Record
+ properties: Record,
+ spares: string[] = []
): Promise {
return await apiRequest(`/zfs/pools`, APIResponseSchema, 'PATCH', {
name,
- properties
+ properties,
+ spares
});
}
diff --git a/new-web/src/lib/api/zfs/volumes.ts b/web/src/lib/api/zfs/volumes.ts
similarity index 100%
rename from new-web/src/lib/api/zfs/volumes.ts
rename to web/src/lib/api/zfs/volumes.ts
diff --git a/web/src/lib/components/custom/AlertDialog.svelte b/web/src/lib/components/custom/AlertDialog.svelte
deleted file mode 100644
index 71a35c07..00000000
--- a/web/src/lib/components/custom/AlertDialog.svelte
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
- {getTranslation('are_you_sure', 'Are you sure?')}
-
- {#if customTitle}
- {@html customTitle}
- {:else}
- {getTranslation(
- 'common.permanent_delete_msg',
- 'This action cannot be undone. This will permanently delete'
- )}
- {names.parent} {names.element} .
- {/if}
-
-
-
- Cancel
- Continue
-
-
-
diff --git a/web/src/lib/components/custom/BarChart.svelte b/web/src/lib/components/custom/BarChart.svelte
deleted file mode 100644
index 00c0bd3b..00000000
--- a/web/src/lib/components/custom/BarChart.svelte
+++ /dev/null
@@ -1,92 +0,0 @@
-
-
-
-
-
- humanFormat(d)}
- rule={{
- class: 'stroke-border dark:stroke-border'
- }}
- ticks={2}
- />
-
-
-
-
-
-
-
- {data.name}
-
-
-
-
-
-
-
-
diff --git a/new-web/src/lib/components/custom/Charts/Area.svelte b/web/src/lib/components/custom/Charts/Area.svelte
similarity index 100%
rename from new-web/src/lib/components/custom/Charts/Area.svelte
rename to web/src/lib/components/custom/Charts/Area.svelte
diff --git a/new-web/src/lib/components/custom/Charts/Bar.svelte b/web/src/lib/components/custom/Charts/Bar.svelte
similarity index 100%
rename from new-web/src/lib/components/custom/Charts/Bar.svelte
rename to web/src/lib/components/custom/Charts/Bar.svelte
diff --git a/new-web/src/lib/components/custom/Charts/LineGraph.svelte b/web/src/lib/components/custom/Charts/LineGraph.svelte
similarity index 100%
rename from new-web/src/lib/components/custom/Charts/LineGraph.svelte
rename to web/src/lib/components/custom/Charts/LineGraph.svelte
diff --git a/new-web/src/lib/components/custom/Charts/Pie.svelte b/web/src/lib/components/custom/Charts/Pie.svelte
similarity index 100%
rename from new-web/src/lib/components/custom/Charts/Pie.svelte
rename to web/src/lib/components/custom/Charts/Pie.svelte
diff --git a/web/src/lib/components/custom/CreateVM/Advanced.svelte b/web/src/lib/components/custom/CreateVM/Advanced.svelte
deleted file mode 100644
index 3407f2e8..00000000
--- a/web/src/lib/components/custom/CreateVM/Advanced.svelte
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-
-
-
-
-
-
VNC Password
-
-
-
- {
- vncPassword = generatePassword();
- }}
- >
- {
- vncPassword = generatePassword();
- }}
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/web/src/lib/components/custom/CreateVM/Basic.svelte b/web/src/lib/components/custom/CreateVM/Basic.svelte
deleted file mode 100644
index 94625d75..00000000
--- a/web/src/lib/components/custom/CreateVM/Basic.svelte
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
diff --git a/web/src/lib/components/custom/CreateVM/CreateVM.svelte b/web/src/lib/components/custom/CreateVM/CreateVM.svelte
deleted file mode 100644
index aa4379d3..00000000
--- a/web/src/lib/components/custom/CreateVM/CreateVM.svelte
+++ /dev/null
@@ -1,303 +0,0 @@
-
-
-
-
-
-
-
-
-
- Create Virtual Machine
-
-
- Configure your virtual machine with custom hardware and network settings
-
-
-
-
-
-
-
- {capitalizeFirstLetter(getTranslation('common.reset', 'Reset'))}
-
- (open = false)}
- title={capitalizeFirstLetter(getTranslation('common.close', 'Close'))}
- >
-
- {capitalizeFirstLetter(getTranslation('common.close', 'Close'))}
-
-
-
-
-
-
- {#each tabs as { value, label }}
- {label}
- {/each}
-
-
- {#each tabs as { value, label }}
-
-
- {#if value === 'basic'}
-
- {:else if value === 'storage'}
-
- {:else if value === 'network'}
-
- {:else if value === 'hardware'}
-
- {:else if value === 'advanced'}
-
- {/if}
-
-
- {/each}
-
-
-
-
- create()}
- >Create Virtual Machine
-
-
-
-
diff --git a/web/src/lib/components/custom/CreateVM/Hardware.svelte b/web/src/lib/components/custom/CreateVM/Hardware.svelte
deleted file mode 100644
index dbc92ff4..00000000
--- a/web/src/lib/components/custom/CreateVM/Hardware.svelte
+++ /dev/null
@@ -1,119 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- {#if pptDevices && pptDevices.length > 0}
-
PCI Passthrough
-
-
- {#each checkboxItems as item (item.pptId)}
-
-
-
{
- if (typeof v === 'boolean') toggle(item.pptId, v);
- }}
- />
-
-
- {item.device.names.device} — {item.device.names.vendor}
-
-
- pci{item.device.domain}:{item.device.bus}:{item.device.device}:{item.device
- .function}
-
-
-
-
- {/each}
-
-
- {/if}
-
diff --git a/web/src/lib/components/custom/CreateVM/Network.svelte b/web/src/lib/components/custom/CreateVM/Network.svelte
deleted file mode 100644
index b05f5ef8..00000000
--- a/web/src/lib/components/custom/CreateVM/Network.svelte
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-{#snippet radioItem(id: number, name: string)}
- {@const i = `radio-${id}`}
-
-
-
- {name}
-
- {name === 'None'
- ? 'No network switch will be allocated now, you can add it later'
- : 'Standard switch'}
-
-
-
-{/snippet}
-
-
-
-
- {#if switches && switches.standard}
- {#each switches.standard ?? [] as sw}
- {@render radioItem(sw.id, sw.name)}
- {/each}
- {/if}
- {@render radioItem(0, 'None')}
-
-
-
- {#if swStr !== '0'}
-
-
-
-
-
- {/if}
-
diff --git a/web/src/lib/components/custom/CreateVM/Storage.svelte b/web/src/lib/components/custom/CreateVM/Storage.svelte
deleted file mode 100644
index c41434a9..00000000
--- a/web/src/lib/components/custom/CreateVM/Storage.svelte
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-{#snippet radioItem(type: string)}
-
-
-
- {details(type)[0]}
-
- {details(type)[1]}
-
-
-
-{/snippet}
-
-{#snippet storageDetail(type: string)}
- {#if type === 'zvol'}
-
- {/if}
-
- {#if type === 'raw'}
-
-
-
-
-
- {/if}
-
-
-{/snippet}
-
-
-
-
- {#each ['zvol', 'raw', 'none'] as storageType}
- {@render radioItem(storageType)}
- {/each}
-
-
-
- {#if type !== 'none'}
- {@render storageDetail(type)}
- {/if}
-
-
-
diff --git a/new-web/src/lib/components/custom/Dialog/Alert.svelte b/web/src/lib/components/custom/Dialog/Alert.svelte
similarity index 100%
rename from new-web/src/lib/components/custom/Dialog/Alert.svelte
rename to web/src/lib/components/custom/Dialog/Alert.svelte
diff --git a/new-web/src/lib/components/custom/Dialog/Loading.svelte b/web/src/lib/components/custom/Dialog/Loading.svelte
similarity index 100%
rename from new-web/src/lib/components/custom/Dialog/Loading.svelte
rename to web/src/lib/components/custom/Dialog/Loading.svelte
diff --git a/web/src/lib/components/custom/Header.svelte b/web/src/lib/components/custom/Header.svelte
index eaa0acd8..1c1cb213 100644
--- a/web/src/lib/components/custom/Header.svelte
+++ b/web/src/lib/components/custom/Header.svelte
@@ -6,7 +6,7 @@
import { openTerminal, terminalStore } from '$lib/stores/terminal.svelte';
import Icon from '@iconify/svelte';
import { mode, toggleMode } from 'mode-watcher';
- import CreateVM from './CreateVM/CreateVM.svelte';
+ import CreateVM from './VM/Create/CreateVM.svelte';
let menuData = $state({
createVM: {
@@ -22,32 +22,22 @@
});
-
+
- {#if $mode === 'dark'}
+ {#if mode.current === 'dark'}
{:else}
{/if}
SYLVE
-
-
-
+
+
Toggle navigation menu
@@ -60,59 +50,22 @@
SYLVE
Virtual Environment 0.0.1
-
-
-
-
-
-
-
-
+
openTerminal()}
>
-
+
{#if $terminalStore.tabs.length > 0}
{$terminalStore.tabs.length}
@@ -120,8 +73,8 @@
(menuData.createVM.open = !menuData.createVM.open)}
>
@@ -131,22 +84,10 @@
{#if menuData.createVM.open}
{/if}
-
-
-
-
+ Root
-
-
+
+ e.preventDefault()}
+ onEscapeKeydown={(e) => e.preventDefault()}
+ >
{#if titles.icon}
diff --git a/web/src/lib/components/custom/KeyValueTable.svelte b/web/src/lib/components/custom/KeyValueTable.svelte
deleted file mode 100644
index e575b574..00000000
--- a/web/src/lib/components/custom/KeyValueTable.svelte
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- {#each data as item, i (i)}
-
- {item.key}
- {item.value}
-
- {/each}
-
-
diff --git a/web/src/lib/components/custom/LineGraph.svelte b/web/src/lib/components/custom/LineGraph.svelte
deleted file mode 100644
index cf758bec..00000000
--- a/web/src/lib/components/custom/LineGraph.svelte
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
- formatWithTimeZone(d, interval ? dateFormatString : 'hh:mm a')}
- />
- String(formatValue(d, unformattedKeys, valueType))}
- />
-
-
-
-
- {formatWithTimeZone(data.date, interval ? dateFormatString : 'hh:mm a')}
-
-
- {#each Object.entries(data).filter(([key]) => key !== 'date') as [key, value]}
- s.key === key)?.label || key}
- value={formatValue(Number(value), unformattedKeys, valueType)}
- color={series.find((s) => s.key === key)?.color || 'pink'}
- />
- {/each}
-
-
-
-
diff --git a/web/src/lib/components/custom/LoadingDialog.svelte b/web/src/lib/components/custom/LoadingDialog.svelte
deleted file mode 100644
index 13ad5567..00000000
--- a/web/src/lib/components/custom/LoadingDialog.svelte
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- {title}
-
-
- {@html description}
-
-
-
-
diff --git a/web/src/lib/components/custom/Login.svelte b/web/src/lib/components/custom/Login.svelte
index ffe50040..41534063 100644
--- a/web/src/lib/components/custom/Login.svelte
+++ b/web/src/lib/components/custom/Login.svelte
@@ -1,5 +1,5 @@
- {#if $mode === 'dark'}
+ {#if mode.current === 'dark'}
{:else}
@@ -77,18 +79,18 @@
- {$_('auth.username')}
+ Username
-
{$_('auth.password')}
+
Password
- {$_('auth.realm')}
- {
- authType = v?.value as string;
- }}
- selected={{
- label: getTranslation(`auth.${authType}`, authType),
- value: authType
- }}
- >
+ Realm
+
-
+ {#if authType === 'pam'}
+ PAM
+ {:else if authType === 'sylve'}
+ Sylve
+ {/if}
- {$_('auth.pam')}
- {$_('auth.sylve')}
+ PAM
+ Sylve
-
-
{$_('auth.language')}
-
(language = v?.value as string)}
- selected={{
- label: getTranslation(`common.languages.${language}`, language),
- value: language
- }}
- >
+
+
Language
+
-
+ {languageArr.find((lang) => lang.value === language)?.label || 'Select Language'}
English
diff --git a/web/src/lib/components/custom/PieChart.svelte b/web/src/lib/components/custom/PieChart.svelte
deleted file mode 100644
index 6827401f..00000000
--- a/web/src/lib/components/custom/PieChart.svelte
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
d.color)}
- renderContext="svg"
- legend
- >
-
-
-
-
-
-
-
-
diff --git a/new-web/src/lib/components/custom/SimpleSelect.svelte b/web/src/lib/components/custom/SimpleSelect.svelte
similarity index 100%
rename from new-web/src/lib/components/custom/SimpleSelect.svelte
rename to web/src/lib/components/custom/SimpleSelect.svelte
diff --git a/web/src/lib/components/custom/Terminal.svelte b/web/src/lib/components/custom/Terminal.svelte
index 1e3d22c2..52af311b 100644
--- a/web/src/lib/components/custom/Terminal.svelte
+++ b/web/src/lib/components/custom/Terminal.svelte
@@ -12,7 +12,7 @@
import Icon from '@iconify/svelte';
import adze from 'adze';
import { nanoid } from 'nanoid';
- import { onMount, untrack } from 'svelte';
+ import { untrack } from 'svelte';
import { fade, scale } from 'svelte/transition';
let terminal = $state();
@@ -259,7 +259,7 @@
{#each $terminalStore.tabs as tab}
{#if tab.id === $terminalStore.activeTabId}
diff --git a/web/src/lib/components/custom/TreeTable/Search.svelte b/web/src/lib/components/custom/TreeTable/Search.svelte
index a9420569..5bd3c166 100644
--- a/web/src/lib/components/custom/TreeTable/Search.svelte
+++ b/web/src/lib/components/custom/TreeTable/Search.svelte
@@ -1,6 +1,4 @@
-
close()}>
+
@@ -138,10 +118,10 @@
{
+ variant="link"
+ class="h-4 cursor-pointer"
+ title={'Reset'}
+ onclick={() => {
newPartitions = [];
remainingSpace = disk ? calculateRemainingSpace(disk) : 0;
currentPartition = 0;
@@ -149,21 +129,17 @@
}}
>
- {capitalizeFirstLetter(getTranslation('common.reset', 'Reset'))}
+ Reset
close()}
>
- {capitalizeFirstLetter(getTranslation('common.close', 'Close'))}
+ Close
@@ -218,19 +194,23 @@
-
+
- {
- const value = Math.floor(e[0]);
- currentPartition = value <= 0 ? 0 : value;
- currentPartitionInput = humanFormat(currentPartition);
- }}
- />
+ {#if remainingSpace > 0}
+
+ {/if}
-
+
@@ -54,7 +53,7 @@
{convertDbTime(log.started)}
{convertDbTime(log.ended)}
{log.node}
- {log.user}@{log.authType}
+ {`${log.user}@${log.authType}`}
{formatAction(log.action)}
{formatStatus(log.status)}
diff --git a/web/src/lib/components/skeleton/LeftPanel.svelte b/web/src/lib/components/skeleton/LeftPanel.svelte
index 9d82a4c2..545c3b07 100644
--- a/web/src/lib/components/skeleton/LeftPanel.svelte
+++ b/web/src/lib/components/skeleton/LeftPanel.svelte
@@ -4,8 +4,6 @@
import { ScrollArea } from '$lib/components/ui/scroll-area/index.js';
import { hostname } from '$lib/stores/basic';
import type { VM } from '$lib/types/vm/vm';
- import { getTranslation } from '$lib/utils/i18n';
- import { capitalizeFirstLetter } from '$lib/utils/string';
import { useQueries } from '@sveltestack/svelte-query';
let openCategories: { [key: string]: boolean } = $state({});
@@ -31,7 +29,7 @@
const vms = $derived($results[0].data || []);
const tree = $derived([
{
- label: capitalizeFirstLetter(getTranslation('common.datacenter', 'Data Center')),
+ label: 'Data Center',
icon: 'fa-solid:server',
children: [
{
diff --git a/web/src/lib/components/skeleton/Shell.svelte b/web/src/lib/components/skeleton/Shell.svelte
index b403b760..293f423b 100644
--- a/web/src/lib/components/skeleton/Shell.svelte
+++ b/web/src/lib/components/skeleton/Shell.svelte
@@ -27,13 +27,13 @@
id="child-left-pane-auto"
autoSaveId="child-left-pane-auto-save"
>
-
+
-
+
{@render children?.()}
diff --git a/web/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte b/web/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte
index 57d643b4..a0056912 100644
--- a/web/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte
+++ b/web/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte
@@ -3,19 +3,16 @@
import { buttonVariants } from "$lib/components/ui/button/index.js";
import { cn } from "$lib/utils.js";
- type $$Props = AlertDialogPrimitive.ActionProps;
- type $$Events = AlertDialogPrimitive.ActionEvents;
-
- let className: $$Props["class"] = undefined;
- export { className as class };
+ let {
+ ref = $bindable(null),
+ class: className,
+ ...restProps
+ }: AlertDialogPrimitive.ActionProps = $props();
-
-
+ {...restProps}
+/>
diff --git a/web/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte b/web/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte
index ef0a953c..a7b0cf79 100644
--- a/web/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte
+++ b/web/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte
@@ -3,19 +3,16 @@
import { buttonVariants } from "$lib/components/ui/button/index.js";
import { cn } from "$lib/utils.js";
- type $$Props = AlertDialogPrimitive.CancelProps;
- type $$Events = AlertDialogPrimitive.CancelEvents;
-
- let className: $$Props["class"] = undefined;
- export { className as class };
+ let {
+ ref = $bindable(null),
+ class: className,
+ ...restProps
+ }: AlertDialogPrimitive.CancelProps = $props();
-
-
+ bind:ref
+ data-slot="alert-dialog-cancel"
+ class={cn(buttonVariants({ variant: "outline" }), className)}
+ {...restProps}
+/>
diff --git a/web/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte b/web/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte
index 28ecc396..6c3c6046 100644
--- a/web/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte
+++ b/web/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte
@@ -1,28 +1,27 @@
-
-
+
+
-
-
-
+ {...restProps}
+ />
+
diff --git a/web/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte b/web/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte
index f35ac20c..2ec67dc2 100644
--- a/web/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte
+++ b/web/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte
@@ -2,15 +2,16 @@
import { AlertDialog as AlertDialogPrimitive } from "bits-ui";
import { cn } from "$lib/utils.js";
- type $$Props = AlertDialogPrimitive.DescriptionProps;
-
- let className: $$Props["class"] = undefined;
- export { className as class };
+ let {
+ ref = $bindable(null),
+ class: className,
+ ...restProps
+ }: AlertDialogPrimitive.DescriptionProps = $props();
-
-
+ {...restProps}
+/>
diff --git a/web/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte b/web/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte
index a235d1f8..f78b97ab 100644
--- a/web/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte
+++ b/web/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte
@@ -1,16 +1,20 @@
-
+ {@render children?.()}
diff --git a/web/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte b/web/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte
index 2650ef9f..c8fa7625 100644
--- a/web/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte
+++ b/web/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte
@@ -1,13 +1,20 @@
-
-
+
+ {@render children?.()}
diff --git a/web/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte b/web/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte
index edf4840e..a64ee768 100644
--- a/web/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte
+++ b/web/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte
@@ -1,21 +1,20 @@
diff --git a/web/src/lib/components/ui/alert-dialog/alert-dialog-portal.svelte b/web/src/lib/components/ui/alert-dialog/alert-dialog-portal.svelte
deleted file mode 100644
index e2272192..00000000
--- a/web/src/lib/components/ui/alert-dialog/alert-dialog-portal.svelte
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
diff --git a/web/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte b/web/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte
index 7f98004c..7ef2b5fb 100644
--- a/web/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte
+++ b/web/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte
@@ -2,13 +2,16 @@
import { AlertDialog as AlertDialogPrimitive } from "bits-ui";
import { cn } from "$lib/utils.js";
- type $$Props = AlertDialogPrimitive.TitleProps;
-
- let className: $$Props["class"] = undefined;
- export let level: $$Props["level"] = "h3";
- export { className as class };
+ let {
+ ref = $bindable(null),
+ class: className,
+ ...restProps
+ }: AlertDialogPrimitive.TitleProps = $props();
-
-
-
+
diff --git a/new-web/src/lib/components/ui/alert-dialog/alert-dialog-trigger.svelte b/web/src/lib/components/ui/alert-dialog/alert-dialog-trigger.svelte
similarity index 100%
rename from new-web/src/lib/components/ui/alert-dialog/alert-dialog-trigger.svelte
rename to web/src/lib/components/ui/alert-dialog/alert-dialog-trigger.svelte
diff --git a/web/src/lib/components/ui/alert-dialog/index.ts b/web/src/lib/components/ui/alert-dialog/index.ts
index be56dd7b..cc281c58 100644
--- a/web/src/lib/components/ui/alert-dialog/index.ts
+++ b/web/src/lib/components/ui/alert-dialog/index.ts
@@ -1,9 +1,8 @@
import { AlertDialog as AlertDialogPrimitive } from "bits-ui";
-
+import Trigger from "./alert-dialog-trigger.svelte";
import Title from "./alert-dialog-title.svelte";
import Action from "./alert-dialog-action.svelte";
import Cancel from "./alert-dialog-cancel.svelte";
-import Portal from "./alert-dialog-portal.svelte";
import Footer from "./alert-dialog-footer.svelte";
import Header from "./alert-dialog-header.svelte";
import Overlay from "./alert-dialog-overlay.svelte";
@@ -11,7 +10,7 @@ import Content from "./alert-dialog-content.svelte";
import Description from "./alert-dialog-description.svelte";
const Root = AlertDialogPrimitive.Root;
-const Trigger = AlertDialogPrimitive.Trigger;
+const Portal = AlertDialogPrimitive.Portal;
export {
Root,
diff --git a/web/src/lib/components/ui/badge/badge.svelte b/web/src/lib/components/ui/badge/badge.svelte
index 4408d78c..50004570 100644
--- a/web/src/lib/components/ui/badge/badge.svelte
+++ b/web/src/lib/components/ui/badge/badge.svelte
@@ -1,18 +1,50 @@
-
+
+
-
+ {@render children?.()}
diff --git a/web/src/lib/components/ui/badge/index.ts b/web/src/lib/components/ui/badge/index.ts
index 78ac03a9..64e0aa9b 100644
--- a/web/src/lib/components/ui/badge/index.ts
+++ b/web/src/lib/components/ui/badge/index.ts
@@ -1,23 +1,2 @@
-import { type VariantProps, tv } from "tailwind-variants";
export { default as Badge } from "./badge.svelte";
-
-export const badgeVariants = tv({
- base: "focus:ring-ring inline-flex select-none items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2",
- variants: {
- variant: {
- default: "bg-primary text-primary-foreground hover:bg-primary/80 border-transparent",
- secondary:
- "bg-secondary text-secondary-foreground hover:bg-secondary/80 border-transparent",
- destructive:
- "bg-destructive text-destructive-foreground hover:bg-destructive/80 border-transparent",
- outline: "text-foreground",
- success: "bg-green-600 text-success-foreground hover:bg-green-600/80 border-transparent",
- warning: "bg-yellow-500 text-warning-foreground hover:bg-yellow-500/80 border-transparent",
- },
- },
- defaultVariants: {
- variant: "default",
- },
-});
-
-export type Variant = VariantProps
["variant"];
+export { badgeVariants, type BadgeVariant } from "./badge.svelte";
diff --git a/web/src/lib/components/ui/button/button.svelte b/web/src/lib/components/ui/button/button.svelte
index 86827f32..a100eeec 100644
--- a/web/src/lib/components/ui/button/button.svelte
+++ b/web/src/lib/components/ui/button/button.svelte
@@ -1,25 +1,80 @@
-
-
-
-
+
+
+{#if href}
+
+ {@render children?.()}
+
+{:else}
+
+ {@render children?.()}
+
+{/if}
diff --git a/web/src/lib/components/ui/button/index.ts b/web/src/lib/components/ui/button/index.ts
index 72980e0b..fb585d76 100644
--- a/web/src/lib/components/ui/button/index.ts
+++ b/web/src/lib/components/ui/button/index.ts
@@ -1,49 +1,17 @@
-import { type VariantProps, tv } from "tailwind-variants";
-import type { Button as ButtonPrimitive } from "bits-ui";
-import Root from "./button.svelte";
-
-const buttonVariants = tv({
- base: "ring-offset-background focus-visible:ring-ring inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:!pointer-events-auto disabled:text-secondary/80 disabled:hover:bg-foreground disabled:opacity-50",
- variants: {
- variant: {
- default: "bg-primary text-primary-foreground hover:bg-primary/90",
- destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
- outline:
- "border-input bg-background hover:bg-accent hover:text-accent-foreground border",
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
- ghost: "hover:bg-accent hover:text-accent-foreground",
- link: "text-primary underline-offset-4 hover:underline",
- },
- size: {
- default: "h-10 px-4 py-2",
- sm: "h-9 rounded-md px-3",
- lg: "h-11 rounded-md px-8",
- icon: "h-10 w-10",
- },
- },
- defaultVariants: {
- variant: "default",
- size: "default",
- },
-});
-
-type Variant = VariantProps["variant"];
-type Size = VariantProps["size"];
-
-type Props = ButtonPrimitive.Props & {
- variant?: Variant;
- size?: Size;
-};
-
-type Events = ButtonPrimitive.Events;
+import Root, {
+ type ButtonProps,
+ type ButtonSize,
+ type ButtonVariant,
+ buttonVariants,
+} from "./button.svelte";
export {
Root,
- type Props,
- type Events,
+ type ButtonProps as Props,
//
Root as Button,
- type Props as ButtonProps,
- type Events as ButtonEvents,
buttonVariants,
+ type ButtonProps,
+ type ButtonSize,
+ type ButtonVariant,
};
diff --git a/new-web/src/lib/components/ui/card/card-action.svelte b/web/src/lib/components/ui/card/card-action.svelte
similarity index 100%
rename from new-web/src/lib/components/ui/card/card-action.svelte
rename to web/src/lib/components/ui/card/card-action.svelte
diff --git a/web/src/lib/components/ui/card/card-content.svelte b/web/src/lib/components/ui/card/card-content.svelte
index 748c6444..bc90b837 100644
--- a/web/src/lib/components/ui/card/card-content.svelte
+++ b/web/src/lib/components/ui/card/card-content.svelte
@@ -1,13 +1,15 @@
-