diff --git a/miniprogram/project.private.config.json b/miniprogram/project.private.config.json
index 36648353..e2f657fd 100644
--- a/miniprogram/project.private.config.json
+++ b/miniprogram/project.private.config.json
@@ -23,12 +23,19 @@
"condition": {
"miniprogram": {
"list": [
+ {
+ "name": "pages/read/read",
+ "pathName": "pages/read/read",
+ "query": "id=1.1",
+ "scene": null,
+ "launchMode": "default"
+ },
{
"name": "pages/match/match",
"pathName": "pages/match/match",
"query": "",
- "scene": null,
- "launchMode": "default"
+ "launchMode": "default",
+ "scene": null
},
{
"name": "看书",
diff --git a/soul-admin/node_modules/.bin/autoprefixer b/soul-admin/node_modules/.bin/autoprefixer
index d91cce45..4e47b899 100644
--- a/soul-admin/node_modules/.bin/autoprefixer
+++ b/soul-admin/node_modules/.bin/autoprefixer
@@ -15,7 +15,7 @@ else
export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/autoprefixer@10.4.24_postcss@8.5.6/node_modules/autoprefixer/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/autoprefixer@10.4.24_postcss@8.5.6/node_modules/autoprefixer/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/autoprefixer@10.4.24_postcss@8.5.6/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../autoprefixer/bin/autoprefixer" "$@"
+ exec "$basedir/node" "$basedir/../.pnpm/autoprefixer@10.4.24_postcss@8.5.6/node_modules/autoprefixer/bin/autoprefixer" "$@"
else
- exec node "$basedir/../autoprefixer/bin/autoprefixer" "$@"
+ exec node "$basedir/../.pnpm/autoprefixer@10.4.24_postcss@8.5.6/node_modules/autoprefixer/bin/autoprefixer" "$@"
fi
diff --git a/soul-admin/node_modules/.bin/autoprefixer.CMD b/soul-admin/node_modules/.bin/autoprefixer.CMD
index 315ab5b4..099c5aa5 100644
--- a/soul-admin/node_modules/.bin/autoprefixer.CMD
+++ b/soul-admin/node_modules/.bin/autoprefixer.CMD
@@ -5,8 +5,8 @@
@SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\autoprefixer@10.4.24_postcss@8.5.6\node_modules\autoprefixer\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\autoprefixer@10.4.24_postcss@8.5.6\node_modules\autoprefixer\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\autoprefixer@10.4.24_postcss@8.5.6\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\autoprefixer\bin\autoprefixer" %*
+ "%~dp0\node.exe" "%~dp0\..\.pnpm\autoprefixer@10.4.24_postcss@8.5.6\node_modules\autoprefixer\bin\autoprefixer" %*
) ELSE (
@SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\autoprefixer\bin\autoprefixer" %*
+ node "%~dp0\..\.pnpm\autoprefixer@10.4.24_postcss@8.5.6\node_modules\autoprefixer\bin\autoprefixer" %*
)
diff --git a/soul-admin/node_modules/.bin/autoprefixer.ps1 b/soul-admin/node_modules/.bin/autoprefixer.ps1
index 22e69e3d..caaa7281 100644
--- a/soul-admin/node_modules/.bin/autoprefixer.ps1
+++ b/soul-admin/node_modules/.bin/autoprefixer.ps1
@@ -23,17 +23,17 @@ $ret=0
if (Test-Path "$basedir/node$exe") {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args
+ $input | & "$basedir/node$exe" "$basedir/../.pnpm/autoprefixer@10.4.24_postcss@8.5.6/node_modules/autoprefixer/bin/autoprefixer" $args
} else {
- & "$basedir/node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args
+ & "$basedir/node$exe" "$basedir/../.pnpm/autoprefixer@10.4.24_postcss@8.5.6/node_modules/autoprefixer/bin/autoprefixer" $args
}
$ret=$LASTEXITCODE
} else {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args
+ $input | & "node$exe" "$basedir/../.pnpm/autoprefixer@10.4.24_postcss@8.5.6/node_modules/autoprefixer/bin/autoprefixer" $args
} else {
- & "node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args
+ & "node$exe" "$basedir/../.pnpm/autoprefixer@10.4.24_postcss@8.5.6/node_modules/autoprefixer/bin/autoprefixer" $args
}
$ret=$LASTEXITCODE
}
diff --git a/soul-admin/node_modules/.bin/eslint b/soul-admin/node_modules/.bin/eslint
index 46ffbb45..8b0ba785 100644
--- a/soul-admin/node_modules/.bin/eslint
+++ b/soul-admin/node_modules/.bin/eslint
@@ -15,7 +15,7 @@ else
export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/eslint@9.39.2_jiti@2.6.1/node_modules/eslint/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/eslint@9.39.2_jiti@2.6.1/node_modules/eslint/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/eslint@9.39.2_jiti@2.6.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../eslint/bin/eslint.js" "$@"
+ exec "$basedir/node" "$basedir/../.pnpm/eslint@9.39.2_jiti@2.6.1/node_modules/eslint/bin/eslint.js" "$@"
else
- exec node "$basedir/../eslint/bin/eslint.js" "$@"
+ exec node "$basedir/../.pnpm/eslint@9.39.2_jiti@2.6.1/node_modules/eslint/bin/eslint.js" "$@"
fi
diff --git a/soul-admin/node_modules/.bin/eslint.CMD b/soul-admin/node_modules/.bin/eslint.CMD
index 1cfc870c..0795d1cc 100644
--- a/soul-admin/node_modules/.bin/eslint.CMD
+++ b/soul-admin/node_modules/.bin/eslint.CMD
@@ -5,8 +5,8 @@
@SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\eslint@9.39.2_jiti@2.6.1\node_modules\eslint\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\eslint@9.39.2_jiti@2.6.1\node_modules\eslint\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\eslint@9.39.2_jiti@2.6.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\eslint\bin\eslint.js" %*
+ "%~dp0\node.exe" "%~dp0\..\.pnpm\eslint@9.39.2_jiti@2.6.1\node_modules\eslint\bin\eslint.js" %*
) ELSE (
@SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\eslint\bin\eslint.js" %*
+ node "%~dp0\..\.pnpm\eslint@9.39.2_jiti@2.6.1\node_modules\eslint\bin\eslint.js" %*
)
diff --git a/soul-admin/node_modules/.bin/eslint.ps1 b/soul-admin/node_modules/.bin/eslint.ps1
index 64b33b60..59067df2 100644
--- a/soul-admin/node_modules/.bin/eslint.ps1
+++ b/soul-admin/node_modules/.bin/eslint.ps1
@@ -23,17 +23,17 @@ $ret=0
if (Test-Path "$basedir/node$exe") {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../eslint/bin/eslint.js" $args
+ $input | & "$basedir/node$exe" "$basedir/../.pnpm/eslint@9.39.2_jiti@2.6.1/node_modules/eslint/bin/eslint.js" $args
} else {
- & "$basedir/node$exe" "$basedir/../eslint/bin/eslint.js" $args
+ & "$basedir/node$exe" "$basedir/../.pnpm/eslint@9.39.2_jiti@2.6.1/node_modules/eslint/bin/eslint.js" $args
}
$ret=$LASTEXITCODE
} else {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../eslint/bin/eslint.js" $args
+ $input | & "node$exe" "$basedir/../.pnpm/eslint@9.39.2_jiti@2.6.1/node_modules/eslint/bin/eslint.js" $args
} else {
- & "node$exe" "$basedir/../eslint/bin/eslint.js" $args
+ & "node$exe" "$basedir/../.pnpm/eslint@9.39.2_jiti@2.6.1/node_modules/eslint/bin/eslint.js" $args
}
$ret=$LASTEXITCODE
}
diff --git a/soul-admin/node_modules/.bin/tsc b/soul-admin/node_modules/.bin/tsc
index 57296d94..18ba287d 100644
--- a/soul-admin/node_modules/.bin/tsc
+++ b/soul-admin/node_modules/.bin/tsc
@@ -15,7 +15,7 @@ else
export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/typescript@5.6.3/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
+ exec "$basedir/node" "$basedir/../.pnpm/typescript@5.6.3/node_modules/typescript/bin/tsc" "$@"
else
- exec node "$basedir/../typescript/bin/tsc" "$@"
+ exec node "$basedir/../.pnpm/typescript@5.6.3/node_modules/typescript/bin/tsc" "$@"
fi
diff --git a/soul-admin/node_modules/.bin/tsc.CMD b/soul-admin/node_modules/.bin/tsc.CMD
index f3b55e8e..cd1b8fcb 100644
--- a/soul-admin/node_modules/.bin/tsc.CMD
+++ b/soul-admin/node_modules/.bin/tsc.CMD
@@ -5,8 +5,8 @@
@SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\typescript@5.6.3\node_modules\typescript\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\typescript@5.6.3\node_modules\typescript\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\typescript@5.6.3\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\typescript\bin\tsc" %*
+ "%~dp0\node.exe" "%~dp0\..\.pnpm\typescript@5.6.3\node_modules\typescript\bin\tsc" %*
) ELSE (
@SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\typescript\bin\tsc" %*
+ node "%~dp0\..\.pnpm\typescript@5.6.3\node_modules\typescript\bin\tsc" %*
)
diff --git a/soul-admin/node_modules/.bin/tsc.ps1 b/soul-admin/node_modules/.bin/tsc.ps1
index 850cd886..99ceb893 100644
--- a/soul-admin/node_modules/.bin/tsc.ps1
+++ b/soul-admin/node_modules/.bin/tsc.ps1
@@ -23,17 +23,17 @@ $ret=0
if (Test-Path "$basedir/node$exe") {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../typescript/bin/tsc" $args
+ $input | & "$basedir/node$exe" "$basedir/../.pnpm/typescript@5.6.3/node_modules/typescript/bin/tsc" $args
} else {
- & "$basedir/node$exe" "$basedir/../typescript/bin/tsc" $args
+ & "$basedir/node$exe" "$basedir/../.pnpm/typescript@5.6.3/node_modules/typescript/bin/tsc" $args
}
$ret=$LASTEXITCODE
} else {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../typescript/bin/tsc" $args
+ $input | & "node$exe" "$basedir/../.pnpm/typescript@5.6.3/node_modules/typescript/bin/tsc" $args
} else {
- & "node$exe" "$basedir/../typescript/bin/tsc" $args
+ & "node$exe" "$basedir/../.pnpm/typescript@5.6.3/node_modules/typescript/bin/tsc" $args
}
$ret=$LASTEXITCODE
}
diff --git a/soul-admin/node_modules/.bin/tsserver b/soul-admin/node_modules/.bin/tsserver
index 37d8d891..539f2306 100644
--- a/soul-admin/node_modules/.bin/tsserver
+++ b/soul-admin/node_modules/.bin/tsserver
@@ -15,7 +15,7 @@ else
export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/typescript@5.6.3/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
+ exec "$basedir/node" "$basedir/../.pnpm/typescript@5.6.3/node_modules/typescript/bin/tsserver" "$@"
else
- exec node "$basedir/../typescript/bin/tsserver" "$@"
+ exec node "$basedir/../.pnpm/typescript@5.6.3/node_modules/typescript/bin/tsserver" "$@"
fi
diff --git a/soul-admin/node_modules/.bin/tsserver.CMD b/soul-admin/node_modules/.bin/tsserver.CMD
index 83f70d91..6bf5e6cb 100644
--- a/soul-admin/node_modules/.bin/tsserver.CMD
+++ b/soul-admin/node_modules/.bin/tsserver.CMD
@@ -5,8 +5,8 @@
@SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\typescript@5.6.3\node_modules\typescript\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\typescript@5.6.3\node_modules\typescript\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\typescript@5.6.3\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\typescript\bin\tsserver" %*
+ "%~dp0\node.exe" "%~dp0\..\.pnpm\typescript@5.6.3\node_modules\typescript\bin\tsserver" %*
) ELSE (
@SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\typescript\bin\tsserver" %*
+ node "%~dp0\..\.pnpm\typescript@5.6.3\node_modules\typescript\bin\tsserver" %*
)
diff --git a/soul-admin/node_modules/.bin/tsserver.ps1 b/soul-admin/node_modules/.bin/tsserver.ps1
index 9a6996d0..2e435670 100644
--- a/soul-admin/node_modules/.bin/tsserver.ps1
+++ b/soul-admin/node_modules/.bin/tsserver.ps1
@@ -23,17 +23,17 @@ $ret=0
if (Test-Path "$basedir/node$exe") {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../typescript/bin/tsserver" $args
+ $input | & "$basedir/node$exe" "$basedir/../.pnpm/typescript@5.6.3/node_modules/typescript/bin/tsserver" $args
} else {
- & "$basedir/node$exe" "$basedir/../typescript/bin/tsserver" $args
+ & "$basedir/node$exe" "$basedir/../.pnpm/typescript@5.6.3/node_modules/typescript/bin/tsserver" $args
}
$ret=$LASTEXITCODE
} else {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../typescript/bin/tsserver" $args
+ $input | & "node$exe" "$basedir/../.pnpm/typescript@5.6.3/node_modules/typescript/bin/tsserver" $args
} else {
- & "node$exe" "$basedir/../typescript/bin/tsserver" $args
+ & "node$exe" "$basedir/../.pnpm/typescript@5.6.3/node_modules/typescript/bin/tsserver" $args
}
$ret=$LASTEXITCODE
}
diff --git a/soul-admin/node_modules/.bin/vite b/soul-admin/node_modules/.bin/vite
index 85526a72..c3b16bd8 100644
--- a/soul-admin/node_modules/.bin/vite
+++ b/soul-admin/node_modules/.bin/vite
@@ -15,7 +15,7 @@ else
export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/vite/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/vite/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
+ exec "$basedir/node" "$basedir/../.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/vite/bin/vite.js" "$@"
else
- exec node "$basedir/../vite/bin/vite.js" "$@"
+ exec node "$basedir/../.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/vite/bin/vite.js" "$@"
fi
diff --git a/soul-admin/node_modules/.bin/vite.CMD b/soul-admin/node_modules/.bin/vite.CMD
index 464ba510..932c6117 100644
--- a/soul-admin/node_modules/.bin/vite.CMD
+++ b/soul-admin/node_modules/.bin/vite.CMD
@@ -5,8 +5,8 @@
@SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2\node_modules\vite\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2\node_modules\vite\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\vite\bin\vite.js" %*
+ "%~dp0\node.exe" "%~dp0\..\.pnpm\vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2\node_modules\vite\bin\vite.js" %*
) ELSE (
@SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\vite\bin\vite.js" %*
+ node "%~dp0\..\.pnpm\vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2\node_modules\vite\bin\vite.js" %*
)
diff --git a/soul-admin/node_modules/.bin/vite.ps1 b/soul-admin/node_modules/.bin/vite.ps1
index 12c20b68..b2eef075 100644
--- a/soul-admin/node_modules/.bin/vite.ps1
+++ b/soul-admin/node_modules/.bin/vite.ps1
@@ -23,17 +23,17 @@ $ret=0
if (Test-Path "$basedir/node$exe") {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../vite/bin/vite.js" $args
+ $input | & "$basedir/node$exe" "$basedir/../.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/vite/bin/vite.js" $args
} else {
- & "$basedir/node$exe" "$basedir/../vite/bin/vite.js" $args
+ & "$basedir/node$exe" "$basedir/../.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/vite/bin/vite.js" $args
}
$ret=$LASTEXITCODE
} else {
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../vite/bin/vite.js" $args
+ $input | & "node$exe" "$basedir/../.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/vite/bin/vite.js" $args
} else {
- & "node$exe" "$basedir/../vite/bin/vite.js" $args
+ & "node$exe" "$basedir/../.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/vite/bin/vite.js" $args
}
$ret=$LASTEXITCODE
}
diff --git a/soul-admin/node_modules/.modules.yaml b/soul-admin/node_modules/.modules.yaml
index 50ffb419..39bb8dce 100644
--- a/soul-admin/node_modules/.modules.yaml
+++ b/soul-admin/node_modules/.modules.yaml
@@ -261,6 +261,8 @@ hoistedDependencies:
fast-json-stable-stringify: private
fast-levenshtein@2.0.6:
fast-levenshtein: private
+ fdir@6.5.0(picomatch@4.0.2):
+ fdir: private
fdir@6.5.0(picomatch@4.0.3):
fdir: private
file-entry-cache@8.0.0:
@@ -415,8 +417,7 @@ hoistedDependencies:
yallist: private
yocto-queue@0.1.0:
yocto-queue: private
-ignoredBuilds:
- - esbuild
+ignoredBuilds: []
included:
dependencies: true
devDependencies: true
@@ -424,7 +425,7 @@ included:
injectedDeps: {}
layoutVersion: 5
nodeLinker: isolated
-packageManager: pnpm@10.24.0
+packageManager: pnpm@10.26.2
pendingBuilds: []
prunedAt: Sat, 07 Feb 2026 08:09:33 GMT
publicHoistPattern: []
diff --git a/soul-admin/node_modules/.pnpm-workspace-state-v1.json b/soul-admin/node_modules/.pnpm-workspace-state-v1.json
index fa3a0842..a258c1d3 100644
--- a/soul-admin/node_modules/.pnpm-workspace-state-v1.json
+++ b/soul-admin/node_modules/.pnpm-workspace-state-v1.json
@@ -1,5 +1,5 @@
{
- "lastValidatedTimestamp": 1770453887345,
+ "lastValidatedTimestamp": 1770792111038,
"projects": {},
"pnpmfiles": [],
"settings": {
diff --git a/soul-admin/node_modules/.pnpm/lock.yaml b/soul-admin/node_modules/.pnpm/lock.yaml
index 26418d4a..2a94fdc0 100644
--- a/soul-admin/node_modules/.pnpm/lock.yaml
+++ b/soul-admin/node_modules/.pnpm/lock.yaml
@@ -87,6 +87,9 @@ importers:
globals:
specifier: ^15.12.0
version: 15.15.0
+ picomatch:
+ specifier: 4.0.2
+ version: 4.0.2
postcss:
specifier: ^8.4.49
version: 8.5.6
@@ -1597,6 +1600,10 @@ packages:
picocolors@1.1.1:
resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+ picomatch@4.0.2:
+ resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
+ engines: {node: '>=12'}
+
picomatch@4.0.3:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
@@ -2998,6 +3005,10 @@ snapshots:
fast-levenshtein@2.0.6: {}
+ fdir@6.5.0(picomatch@4.0.2):
+ optionalDependencies:
+ picomatch: 4.0.2
+
fdir@6.5.0(picomatch@4.0.3):
optionalDependencies:
picomatch: 4.0.3
@@ -3199,6 +3210,8 @@ snapshots:
picocolors@1.1.1: {}
+ picomatch@4.0.2: {}
+
picomatch@4.0.3: {}
postcss-value-parser@4.2.0: {}
@@ -3381,8 +3394,8 @@ snapshots:
vite@6.4.1(jiti@2.6.1)(lightningcss@1.30.2):
dependencies:
esbuild: 0.25.12
- fdir: 6.5.0(picomatch@4.0.3)
- picomatch: 4.0.3
+ fdir: 6.5.0(picomatch@4.0.2)
+ picomatch: 4.0.2
postcss: 8.5.6
rollup: 4.57.1
tinyglobby: 0.2.15
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/acorn b/soul-admin/node_modules/.pnpm/node_modules/.bin/acorn
index e3d4c960..bf6f0091 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/acorn
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/acorn
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/acorn@8.15.0/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/acorn/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/acorn/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/acorn@8.15.0/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/acorn/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/acorn/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../acorn/bin/acorn" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/acorn.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/acorn.CMD
index b4a76143..81ed13ed 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/acorn.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/acorn.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\acorn@8.15.0\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\acorn\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\acorn\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\acorn@8.15.0\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\acorn\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\acorn\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\acorn\bin\acorn" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/acorn.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/acorn.ps1
index 4c8a6aed..dce03040 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/acorn.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/acorn.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\acorn@8.15.0\node_modules\acorn\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\acorn@8.15.0\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\acorn\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\acorn\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/acorn@8.15.0/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/acorn/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/acorn/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/baseline-browser-mapping b/soul-admin/node_modules/.pnpm/node_modules/.bin/baseline-browser-mapping
index e8870ec0..71f7ae4b 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/baseline-browser-mapping
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/baseline-browser-mapping
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/baseline-browser-mapping@2.9.19/node_modules/baseline-browser-mapping/dist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/baseline-browser-mapping@2.9.19/node_modules/baseline-browser-mapping/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/baseline-browser-mapping@2.9.19/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/baseline-browser-mapping/dist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/baseline-browser-mapping/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/baseline-browser-mapping@2.9.19/node_modules/baseline-browser-mapping/dist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/baseline-browser-mapping@2.9.19/node_modules/baseline-browser-mapping/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/baseline-browser-mapping@2.9.19/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/baseline-browser-mapping/dist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/baseline-browser-mapping/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../baseline-browser-mapping/dist/cli.js" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/baseline-browser-mapping.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/baseline-browser-mapping.CMD
index 8856f68b..54a3a5f2 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/baseline-browser-mapping.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/baseline-browser-mapping.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\baseline-browser-mapping@2.9.19\node_modules\baseline-browser-mapping\dist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\baseline-browser-mapping@2.9.19\node_modules\baseline-browser-mapping\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\baseline-browser-mapping@2.9.19\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\baseline-browser-mapping\dist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\baseline-browser-mapping\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\baseline-browser-mapping@2.9.19\node_modules\baseline-browser-mapping\dist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\baseline-browser-mapping@2.9.19\node_modules\baseline-browser-mapping\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\baseline-browser-mapping@2.9.19\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\baseline-browser-mapping\dist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\baseline-browser-mapping\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\baseline-browser-mapping\dist\cli.js" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/baseline-browser-mapping.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/baseline-browser-mapping.ps1
index a53723e5..129ad041 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/baseline-browser-mapping.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/baseline-browser-mapping.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\baseline-browser-mapping@2.9.19\node_modules\baseline-browser-mapping\dist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\baseline-browser-mapping@2.9.19\node_modules\baseline-browser-mapping\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\baseline-browser-mapping@2.9.19\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\baseline-browser-mapping\dist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\baseline-browser-mapping\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/baseline-browser-mapping@2.9.19/node_modules/baseline-browser-mapping/dist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/baseline-browser-mapping@2.9.19/node_modules/baseline-browser-mapping/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/baseline-browser-mapping@2.9.19/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/baseline-browser-mapping/dist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/baseline-browser-mapping/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/browserslist b/soul-admin/node_modules/.pnpm/node_modules/.bin/browserslist
index fabbdcd6..d8bce54d 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/browserslist
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/browserslist
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/browserslist@4.28.1/node_modules/browserslist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/browserslist@4.28.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/browserslist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/browserslist@4.28.1/node_modules/browserslist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/browserslist@4.28.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/browserslist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../browserslist/cli.js" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/browserslist.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/browserslist.CMD
index 94af115b..e86e419c 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/browserslist.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/browserslist.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\browserslist@4.28.1\node_modules\browserslist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\browserslist@4.28.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\browserslist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\browserslist@4.28.1\node_modules\browserslist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\browserslist@4.28.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\browserslist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\browserslist\cli.js" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/browserslist.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/browserslist.ps1
index f315c2d1..aeff0df5 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/browserslist.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/browserslist.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\browserslist@4.28.1\node_modules\browserslist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\browserslist@4.28.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\browserslist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/browserslist@4.28.1/node_modules/browserslist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/browserslist@4.28.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/browserslist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/esbuild b/soul-admin/node_modules/.pnpm/node_modules/.bin/esbuild
index a3e925e6..c3b04cbc 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/esbuild
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/esbuild
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/esbuild@0.25.12/node_modules/esbuild/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/esbuild@0.25.12/node_modules/esbuild/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/esbuild@0.25.12/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/esbuild/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/esbuild/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/esbuild@0.25.12/node_modules/esbuild/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/esbuild@0.25.12/node_modules/esbuild/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/esbuild@0.25.12/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/esbuild/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/esbuild/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../esbuild/bin/esbuild" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/esbuild.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/esbuild.CMD
index a9fd6678..c8ce40ab 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/esbuild.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/esbuild.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\esbuild@0.25.12\node_modules\esbuild\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\esbuild@0.25.12\node_modules\esbuild\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\esbuild@0.25.12\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\esbuild\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\esbuild\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\esbuild@0.25.12\node_modules\esbuild\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\esbuild@0.25.12\node_modules\esbuild\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\esbuild@0.25.12\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\esbuild\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\esbuild\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\esbuild\bin\esbuild" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/esbuild.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/esbuild.ps1
index 5423c933..6589b6c7 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/esbuild.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/esbuild.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\esbuild@0.25.12\node_modules\esbuild\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\esbuild@0.25.12\node_modules\esbuild\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\esbuild@0.25.12\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\esbuild\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\esbuild\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/esbuild@0.25.12/node_modules/esbuild/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/esbuild@0.25.12/node_modules/esbuild/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/esbuild@0.25.12/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/esbuild/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/esbuild/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/jiti b/soul-admin/node_modules/.pnpm/node_modules/.bin/jiti
index 3706fa0f..b2d52b64 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/jiti
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/jiti
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/lib/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jiti@2.6.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/jiti/lib/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/jiti/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/lib/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jiti@2.6.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/jiti/lib/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/jiti/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../jiti/lib/jiti-cli.mjs" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/jiti.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/jiti.CMD
index bc49bb96..af65c711 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/jiti.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/jiti.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jiti@2.6.1\node_modules\jiti\lib\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jiti@2.6.1\node_modules\jiti\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jiti@2.6.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\jiti\lib\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\jiti\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jiti@2.6.1\node_modules\jiti\lib\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jiti@2.6.1\node_modules\jiti\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jiti@2.6.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\jiti\lib\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\jiti\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\jiti\lib\jiti-cli.mjs" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/jiti.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/jiti.ps1
index 222e13f7..3311c415 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/jiti.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/jiti.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jiti@2.6.1\node_modules\jiti\lib\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jiti@2.6.1\node_modules\jiti\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jiti@2.6.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\jiti\lib\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\jiti\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/lib/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jiti@2.6.1/node_modules/jiti/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jiti@2.6.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/jiti/lib/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/jiti/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/js-yaml b/soul-admin/node_modules/.pnpm/node_modules/.bin/js-yaml
index c5341753..28303471 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/js-yaml
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/js-yaml
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/js-yaml@4.1.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/js-yaml/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/js-yaml/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/js-yaml@4.1.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/js-yaml/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/js-yaml/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../js-yaml/bin/js-yaml.js" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/js-yaml.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/js-yaml.CMD
index abc5103d..dcb3e6a7 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/js-yaml.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/js-yaml.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\js-yaml@4.1.1\node_modules\js-yaml\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\js-yaml@4.1.1\node_modules\js-yaml\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\js-yaml@4.1.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\js-yaml\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\js-yaml\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\js-yaml@4.1.1\node_modules\js-yaml\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\js-yaml@4.1.1\node_modules\js-yaml\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\js-yaml@4.1.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\js-yaml\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\js-yaml\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\js-yaml\bin\js-yaml.js" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/js-yaml.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/js-yaml.ps1
index 787b3c8f..d55fac48 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/js-yaml.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/js-yaml.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\js-yaml@4.1.1\node_modules\js-yaml\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\js-yaml@4.1.1\node_modules\js-yaml\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\js-yaml@4.1.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\js-yaml\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\js-yaml\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/js-yaml@4.1.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/js-yaml/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/js-yaml/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/jsesc b/soul-admin/node_modules/.pnpm/node_modules/.bin/jsesc
index fffd3da1..b2625559 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/jsesc
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/jsesc
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jsesc@3.1.0/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/jsesc/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/jsesc/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jsesc@3.1.0/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/jsesc/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/jsesc/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../jsesc/bin/jsesc" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/jsesc.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/jsesc.CMD
index 12d1305a..d785c46d 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/jsesc.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/jsesc.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jsesc@3.1.0\node_modules\jsesc\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jsesc@3.1.0\node_modules\jsesc\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jsesc@3.1.0\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\jsesc\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\jsesc\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jsesc@3.1.0\node_modules\jsesc\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jsesc@3.1.0\node_modules\jsesc\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jsesc@3.1.0\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\jsesc\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\jsesc\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\jsesc\bin\jsesc" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/jsesc.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/jsesc.ps1
index 0511101c..e1f2f5e0 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/jsesc.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/jsesc.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jsesc@3.1.0\node_modules\jsesc\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jsesc@3.1.0\node_modules\jsesc\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\jsesc@3.1.0\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\jsesc\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\jsesc\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jsesc@3.1.0/node_modules/jsesc/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/jsesc@3.1.0/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/jsesc/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/jsesc/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/json5 b/soul-admin/node_modules/.pnpm/node_modules/.bin/json5
index d618a994..7a1091ef 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/json5
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/json5
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/json5@2.2.3/node_modules/json5/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/json5@2.2.3/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/json5/lib/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/json5/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/json5@2.2.3/node_modules/json5/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/json5@2.2.3/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/json5/lib/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/json5/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../json5/lib/cli.js" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/json5.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/json5.CMD
index c306c40d..879281ed 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/json5.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/json5.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\json5@2.2.3\node_modules\json5\lib\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\json5@2.2.3\node_modules\json5\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\json5@2.2.3\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\json5\lib\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\json5\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\json5@2.2.3\node_modules\json5\lib\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\json5@2.2.3\node_modules\json5\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\json5@2.2.3\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\json5\lib\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\json5\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\json5\lib\cli.js" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/json5.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/json5.ps1
index f24043cb..55be93e9 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/json5.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/json5.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\json5@2.2.3\node_modules\json5\lib\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\json5@2.2.3\node_modules\json5\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\json5@2.2.3\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\json5\lib\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\json5\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/json5@2.2.3/node_modules/json5/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/json5@2.2.3/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/json5/lib/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/json5/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/loose-envify b/soul-admin/node_modules/.pnpm/node_modules/.bin/loose-envify
index 9f8f5e82..2b0e7f7e 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/loose-envify
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/loose-envify
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/loose-envify@1.4.0/node_modules/loose-envify/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/loose-envify@1.4.0/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/loose-envify/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/loose-envify@1.4.0/node_modules/loose-envify/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/loose-envify@1.4.0/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/loose-envify/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../loose-envify/cli.js" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/loose-envify.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/loose-envify.CMD
index 249d4be8..d7060a05 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/loose-envify.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/loose-envify.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\loose-envify@1.4.0\node_modules\loose-envify\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\loose-envify@1.4.0\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\loose-envify\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\loose-envify@1.4.0\node_modules\loose-envify\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\loose-envify@1.4.0\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\loose-envify\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\loose-envify\cli.js" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/loose-envify.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/loose-envify.ps1
index 593ba935..ee9998b8 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/loose-envify.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/loose-envify.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\loose-envify@1.4.0\node_modules\loose-envify\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\loose-envify@1.4.0\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\loose-envify\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/loose-envify@1.4.0/node_modules/loose-envify/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/loose-envify@1.4.0/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/loose-envify/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/nanoid b/soul-admin/node_modules/.pnpm/node_modules/.bin/nanoid
index 73f9627f..cd07ef9b 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/nanoid
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/nanoid
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/nanoid@3.3.11/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/nanoid/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/nanoid/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/nanoid@3.3.11/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/nanoid/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/nanoid/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../nanoid/bin/nanoid.cjs" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/nanoid.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/nanoid.CMD
index 140dd823..1a7e4a29 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/nanoid.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/nanoid.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\nanoid@3.3.11\node_modules\nanoid\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\nanoid@3.3.11\node_modules\nanoid\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\nanoid@3.3.11\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\nanoid\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\nanoid\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\nanoid@3.3.11\node_modules\nanoid\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\nanoid@3.3.11\node_modules\nanoid\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\nanoid@3.3.11\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\nanoid\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\nanoid\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\nanoid\bin\nanoid.cjs" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/nanoid.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/nanoid.ps1
index d2005d41..795d0e68 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/nanoid.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/nanoid.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\nanoid@3.3.11\node_modules\nanoid\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\nanoid@3.3.11\node_modules\nanoid\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\nanoid@3.3.11\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\nanoid\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\nanoid\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/nanoid@3.3.11/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/nanoid/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/nanoid/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/node-which b/soul-admin/node_modules/.pnpm/node_modules/.bin/node-which
index 9bab657e..ca383754 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/node-which
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/node-which
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/which@2.0.2/node_modules/which/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/which@2.0.2/node_modules/which/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/which@2.0.2/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/which/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/which/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/which@2.0.2/node_modules/which/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/which@2.0.2/node_modules/which/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/which@2.0.2/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/which/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/which/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../which/bin/node-which" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/node-which.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/node-which.CMD
index f45aa3b0..082c3b0b 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/node-which.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/node-which.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\which@2.0.2\node_modules\which\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\which@2.0.2\node_modules\which\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\which@2.0.2\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\which\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\which\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\which@2.0.2\node_modules\which\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\which@2.0.2\node_modules\which\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\which@2.0.2\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\which\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\which\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\which\bin\node-which" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/node-which.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/node-which.ps1
index 6a9fae95..38cf0659 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/node-which.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/node-which.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\which@2.0.2\node_modules\which\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\which@2.0.2\node_modules\which\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\which@2.0.2\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\which\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\which\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/which@2.0.2/node_modules/which/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/which@2.0.2/node_modules/which/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/which@2.0.2/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/which/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/which/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/parser b/soul-admin/node_modules/.pnpm/node_modules/.bin/parser
index d36c7a69..baa0daaa 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/parser
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/parser
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/@babel+parser@7.29.0/node_modules/@babel/parser/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/@babel+parser@7.29.0/node_modules/@babel/parser/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/@babel+parser@7.29.0/node_modules/@babel/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/@babel+parser@7.29.0/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/@babel/parser/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/@babel/parser/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/@babel/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/@babel+parser@7.29.0/node_modules/@babel/parser/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/@babel+parser@7.29.0/node_modules/@babel/parser/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/@babel+parser@7.29.0/node_modules/@babel/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/@babel+parser@7.29.0/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/@babel/parser/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/@babel/parser/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/@babel/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../@babel/parser/bin/babel-parser.js" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/parser.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/parser.CMD
index 0432c99f..3e3bbbe7 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/parser.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/parser.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\@babel+parser@7.29.0\node_modules\@babel\parser\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\@babel+parser@7.29.0\node_modules\@babel\parser\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\@babel+parser@7.29.0\node_modules\@babel\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\@babel+parser@7.29.0\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\@babel\parser\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\@babel\parser\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\@babel\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\@babel+parser@7.29.0\node_modules\@babel\parser\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\@babel+parser@7.29.0\node_modules\@babel\parser\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\@babel+parser@7.29.0\node_modules\@babel\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\@babel+parser@7.29.0\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\@babel\parser\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\@babel\parser\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\@babel\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\@babel\parser\bin\babel-parser.js" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/parser.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/parser.ps1
index 382069fb..9623d9dd 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/parser.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/parser.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\@babel+parser@7.29.0\node_modules\@babel\parser\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\@babel+parser@7.29.0\node_modules\@babel\parser\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\@babel+parser@7.29.0\node_modules\@babel\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\@babel+parser@7.29.0\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\@babel\parser\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\@babel\parser\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\@babel\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/@babel+parser@7.29.0/node_modules/@babel/parser/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/@babel+parser@7.29.0/node_modules/@babel/parser/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/@babel+parser@7.29.0/node_modules/@babel/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/@babel+parser@7.29.0/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/@babel/parser/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/@babel/parser/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/@babel/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/rollup b/soul-admin/node_modules/.pnpm/node_modules/.bin/rollup
index d8559a35..398fb299 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/rollup
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/rollup
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/rollup@4.57.1/node_modules/rollup/dist/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/rollup@4.57.1/node_modules/rollup/dist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/rollup@4.57.1/node_modules/rollup/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/rollup@4.57.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/rollup/dist/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/rollup/dist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/rollup/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/rollup@4.57.1/node_modules/rollup/dist/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/rollup@4.57.1/node_modules/rollup/dist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/rollup@4.57.1/node_modules/rollup/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/rollup@4.57.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/rollup/dist/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/rollup/dist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/rollup/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../rollup/dist/bin/rollup" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/rollup.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/rollup.CMD
index 7f899e78..f77f411d 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/rollup.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/rollup.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\rollup@4.57.1\node_modules\rollup\dist\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\rollup@4.57.1\node_modules\rollup\dist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\rollup@4.57.1\node_modules\rollup\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\rollup@4.57.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\rollup\dist\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\rollup\dist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\rollup\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\rollup@4.57.1\node_modules\rollup\dist\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\rollup@4.57.1\node_modules\rollup\dist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\rollup@4.57.1\node_modules\rollup\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\rollup@4.57.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\rollup\dist\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\rollup\dist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\rollup\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\rollup\dist\bin\rollup" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/rollup.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/rollup.ps1
index 532d05bc..6dc277ea 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/rollup.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/rollup.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\rollup@4.57.1\node_modules\rollup\dist\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\rollup@4.57.1\node_modules\rollup\dist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\rollup@4.57.1\node_modules\rollup\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\rollup@4.57.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\rollup\dist\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\rollup\dist\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\rollup\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/rollup@4.57.1/node_modules/rollup/dist/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/rollup@4.57.1/node_modules/rollup/dist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/rollup@4.57.1/node_modules/rollup/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/rollup@4.57.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/rollup/dist/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/rollup/dist/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/rollup/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/semver b/soul-admin/node_modules/.pnpm/node_modules/.bin/semver
index 9a6b340a..0d328097 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/semver
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/semver
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/semver@6.3.1/node_modules/semver/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/semver@6.3.1/node_modules/semver/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/semver@6.3.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/semver/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/semver/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/semver@6.3.1/node_modules/semver/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/semver@6.3.1/node_modules/semver/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/semver@6.3.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/semver/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/semver/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/semver.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/semver.CMD
index 1dd36c28..16479237 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/semver.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/semver.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\semver@6.3.1\node_modules\semver\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\semver@6.3.1\node_modules\semver\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\semver@6.3.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\semver\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\semver\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\semver@6.3.1\node_modules\semver\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\semver@6.3.1\node_modules\semver\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\semver@6.3.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\semver\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\semver\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\semver\bin\semver.js" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/semver.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/semver.ps1
index 441e795f..60b35d9c 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/semver.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/semver.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\semver@6.3.1\node_modules\semver\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\semver@6.3.1\node_modules\semver\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\semver@6.3.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\semver\bin\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\semver\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/semver@6.3.1/node_modules/semver/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/semver@6.3.1/node_modules/semver/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/semver@6.3.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/semver/bin/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/semver/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/update-browserslist-db b/soul-admin/node_modules/.pnpm/node_modules/.bin/update-browserslist-db
index 2c466e8e..a53954c5 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/update-browserslist-db
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/update-browserslist-db
@@ -10,9 +10,9 @@ case `uname` in
esac
if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/update-browserslist-db@1.2.3_browserslist@4.28.1/node_modules/update-browserslist-db/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/update-browserslist-db@1.2.3_browserslist@4.28.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/update-browserslist-db/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
else
- export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/update-browserslist-db@1.2.3_browserslist@4.28.1/node_modules/update-browserslist-db/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/update-browserslist-db@1.2.3_browserslist@4.28.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
+ export NODE_PATH="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/update-browserslist-db/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
exec "$basedir/node" "$basedir/../update-browserslist-db/cli.js" "$@"
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/update-browserslist-db.CMD b/soul-admin/node_modules/.pnpm/node_modules/.bin/update-browserslist-db.CMD
index 4c36be08..4750847e 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/update-browserslist-db.CMD
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/update-browserslist-db.CMD
@@ -1,8 +1,8 @@
@SETLOCAL
@IF NOT DEFINED NODE_PATH (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\update-browserslist-db@1.2.3_browserslist@4.28.1\node_modules\update-browserslist-db\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\update-browserslist-db@1.2.3_browserslist@4.28.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\update-browserslist-db\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
) ELSE (
- @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\update-browserslist-db@1.2.3_browserslist@4.28.1\node_modules\update-browserslist-db\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\update-browserslist-db@1.2.3_browserslist@4.28.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
+ @SET "NODE_PATH=E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\update-browserslist-db\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules;%NODE_PATH%"
)
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\..\update-browserslist-db\cli.js" %*
diff --git a/soul-admin/node_modules/.pnpm/node_modules/.bin/update-browserslist-db.ps1 b/soul-admin/node_modules/.pnpm/node_modules/.bin/update-browserslist-db.ps1
index e3d50d94..6262e5dd 100644
--- a/soul-admin/node_modules/.pnpm/node_modules/.bin/update-browserslist-db.ps1
+++ b/soul-admin/node_modules/.pnpm/node_modules/.bin/update-browserslist-db.ps1
@@ -4,14 +4,14 @@ $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
$pathsep=":"
$env_node_path=$env:NODE_PATH
-$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\update-browserslist-db@1.2.3_browserslist@4.28.1\node_modules\update-browserslist-db\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\update-browserslist-db@1.2.3_browserslist@4.28.1\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
+$new_node_path="E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules\update-browserslist-db\node_modules;E:\Gongsi\Mycontent\soul-admin\node_modules\.pnpm\node_modules"
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
$pathsep=";"
} else {
- $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/update-browserslist-db@1.2.3_browserslist@4.28.1/node_modules/update-browserslist-db/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/update-browserslist-db@1.2.3_browserslist@4.28.1/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
+ $new_node_path="/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules/update-browserslist-db/node_modules:/mnt/e/Gongsi/Mycontent/soul-admin/node_modules/.pnpm/node_modules"
}
if ([string]::IsNullOrEmpty($env_node_path)) {
$env:NODE_PATH=$new_node_path
diff --git a/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/picomatch/README.md b/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/picomatch/README.md
index 07644967..5062654b 100644
--- a/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/picomatch/README.md
+++ b/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/picomatch/README.md
@@ -335,7 +335,7 @@ The following options may be used with the main `picomatch()` function or any of
| `keepQuotes` | `boolean` | `false` | Retain quotes in the generated regex, since quotes may also be used as an alternative to backslashes. |
| `literalBrackets` | `boolean` | `undefined` | When `true`, brackets in the glob pattern will be escaped so that only literal brackets will be matched. |
| `matchBase` | `boolean` | `false` | Alias for `basename` |
-| `maxLength` | `number` | `65536` | Limit the max length of the input string. An error is thrown if the input string is longer than this value. |
+| `maxLength` | `boolean` | `65536` | Limit the max length of the input string. An error is thrown if the input string is longer than this value. |
| `nobrace` | `boolean` | `false` | Disable brace matching, so that `{a,b}` and `{1..3}` would be treated as literal characters. |
| `nobracket` | `boolean` | `undefined` | Disable matching with regex brackets. |
| `nocase` | `boolean` | `false` | Make matching case-insensitive. Equivalent to the regex `i` flag. Note that this option is overridden by the `flags` option. |
diff --git a/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/picomatch/lib/constants.js b/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/picomatch/lib/constants.js
index 3f7ef7e5..27b3e20f 100644
--- a/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/picomatch/lib/constants.js
+++ b/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/picomatch/lib/constants.js
@@ -99,7 +99,6 @@ module.exports = {
// Replace globs with equivalent patterns to reduce parsing time.
REPLACEMENTS: {
- __proto__: null,
'***': '*',
'**/**': '**',
'**/**/**': '**'
diff --git a/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/picomatch/package.json b/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/picomatch/package.json
index 372e27e0..703a83dc 100644
--- a/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/picomatch/package.json
+++ b/soul-admin/node_modules/.pnpm/vite@6.4.1_jiti@2.6.1_lightningcss@1.30.2/node_modules/picomatch/package.json
@@ -1,7 +1,7 @@
{
"name": "picomatch",
"description": "Blazing fast and accurate glob matcher written in JavaScript, with no dependencies and full support for standard and extended Bash glob features, including braces, extglobs, POSIX brackets, and regular expressions.",
- "version": "4.0.3",
+ "version": "4.0.2",
"homepage": "https://github.com/micromatch/picomatch",
"author": "Jon Schlinkert (https://github.com/jonschlinkert)",
"funding": "https://github.com/sponsors/jonschlinkert",
diff --git a/soul-admin/node_modules/.vite/deps/@radix-ui_react-dialog.js b/soul-admin/node_modules/.vite/deps/@radix-ui_react-dialog.js
index 10de3052..892d8d13 100644
--- a/soul-admin/node_modules/.vite/deps/@radix-ui_react-dialog.js
+++ b/soul-admin/node_modules/.vite/deps/@radix-ui_react-dialog.js
@@ -1,7 +1,4 @@
"use client";
-import {
- Presence
-} from "./chunk-NIIVMGDR.js";
import {
Combination_default,
DismissableLayer,
@@ -9,10 +6,13 @@ import {
Portal,
hideOthers,
useFocusGuards
-} from "./chunk-ZI3ABUEZ.js";
+} from "./chunk-TQPPICSF.js";
+import {
+ Presence
+} from "./chunk-NOU7F7EJ.js";
import {
useId
-} from "./chunk-F2GLZ5N4.js";
+} from "./chunk-LAKFU2YZ.js";
import {
Primitive,
composeEventHandlers,
@@ -20,17 +20,17 @@ import {
createContextScope,
createSlot,
useControllableState
-} from "./chunk-DRHL3CIY.js";
+} from "./chunk-6PGXP53J.js";
+import "./chunk-4GC24YIX.js";
import {
useComposedRefs
-} from "./chunk-XYHIF63Q.js";
+} from "./chunk-H5WV2N77.js";
import {
require_jsx_runtime
-} from "./chunk-NNZQKBPS.js";
-import "./chunk-BH4GTE34.js";
+} from "./chunk-GVNB4JNI.js";
import {
require_react
-} from "./chunk-2OBKLRK6.js";
+} from "./chunk-ZPOJ4WAM.js";
import {
__toESM
} from "./chunk-G3PMV62Z.js";
diff --git a/soul-admin/node_modules/.vite/deps/@radix-ui_react-label.js b/soul-admin/node_modules/.vite/deps/@radix-ui_react-label.js
index 33f752d0..9e9cbb84 100644
--- a/soul-admin/node_modules/.vite/deps/@radix-ui_react-label.js
+++ b/soul-admin/node_modules/.vite/deps/@radix-ui_react-label.js
@@ -1,17 +1,17 @@
"use client";
+import {
+ require_react_dom
+} from "./chunk-4GC24YIX.js";
import {
createSlot
-} from "./chunk-CSWCJLZQ.js";
-import "./chunk-XYHIF63Q.js";
+} from "./chunk-GDI5LHIV.js";
+import "./chunk-H5WV2N77.js";
import {
require_jsx_runtime
-} from "./chunk-NNZQKBPS.js";
-import {
- require_react_dom
-} from "./chunk-BH4GTE34.js";
+} from "./chunk-GVNB4JNI.js";
import {
require_react
-} from "./chunk-2OBKLRK6.js";
+} from "./chunk-ZPOJ4WAM.js";
import {
__toESM
} from "./chunk-G3PMV62Z.js";
diff --git a/soul-admin/node_modules/.vite/deps/@radix-ui_react-select.js b/soul-admin/node_modules/.vite/deps/@radix-ui_react-select.js
index 31e6e9bd..06f6eb02 100644
--- a/soul-admin/node_modules/.vite/deps/@radix-ui_react-select.js
+++ b/soul-admin/node_modules/.vite/deps/@radix-ui_react-select.js
@@ -1,4 +1,15 @@
"use client";
+import {
+ clamp
+} from "./chunk-QSHREGVI.js";
+import {
+ usePrevious,
+ useSize
+} from "./chunk-L3UKNFUA.js";
+import {
+ createCollection,
+ useDirection
+} from "./chunk-CEO7JH3I.js";
import {
Combination_default,
DismissableLayer,
@@ -6,22 +17,11 @@ import {
Portal,
hideOthers,
useFocusGuards
-} from "./chunk-ZI3ABUEZ.js";
+} from "./chunk-TQPPICSF.js";
import {
useCallbackRef,
useId
-} from "./chunk-F2GLZ5N4.js";
-import {
- clamp
-} from "./chunk-QSHREGVI.js";
-import {
- createCollection,
- useDirection
-} from "./chunk-3YHVK7S6.js";
-import {
- usePrevious,
- useSize
-} from "./chunk-LRHVP6W3.js";
+} from "./chunk-LAKFU2YZ.js";
import {
Primitive,
composeEventHandlers,
@@ -29,19 +29,19 @@ import {
createSlot,
useControllableState,
useLayoutEffect2
-} from "./chunk-DRHL3CIY.js";
-import {
- useComposedRefs
-} from "./chunk-XYHIF63Q.js";
-import {
- require_jsx_runtime
-} from "./chunk-NNZQKBPS.js";
+} from "./chunk-6PGXP53J.js";
import {
require_react_dom
-} from "./chunk-BH4GTE34.js";
+} from "./chunk-4GC24YIX.js";
+import {
+ useComposedRefs
+} from "./chunk-H5WV2N77.js";
+import {
+ require_jsx_runtime
+} from "./chunk-GVNB4JNI.js";
import {
require_react
-} from "./chunk-2OBKLRK6.js";
+} from "./chunk-ZPOJ4WAM.js";
import {
__toESM
} from "./chunk-G3PMV62Z.js";
@@ -53,7 +53,7 @@ var ReactDOM2 = __toESM(require_react_dom(), 1);
// node_modules/.pnpm/@radix-ui+react-popper@1.2._670e32d9a64ee24e3a22b3ad7ddf00ff/node_modules/@radix-ui/react-popper/dist/index.mjs
var React3 = __toESM(require_react(), 1);
-// node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
+// node_modules/.pnpm/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
var sides = ["top", "right", "bottom", "left"];
var alignments = ["start", "end"];
var placements = sides.reduce((acc, side) => acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []);
@@ -187,7 +187,7 @@ function rectToClientRect(rect) {
};
}
-// node_modules/.pnpm/@floating-ui+core@1.7.4/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
+// node_modules/.pnpm/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
function computeCoordsFromPlacement(_ref, placement, rtl) {
let {
reference,
@@ -903,7 +903,7 @@ var size = function(options) {
};
};
-// node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
+// node_modules/.pnpm/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
function hasWindow() {
return typeof window !== "undefined";
}
@@ -1056,7 +1056,7 @@ function getFrameElement(win) {
return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
}
-// node_modules/.pnpm/@floating-ui+dom@1.7.5/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
+// node_modules/.pnpm/@floating-ui+react-dom@2.1._c27c523691b7b5617e36eea923299747/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
function getCssDimensions(element) {
const css = getComputedStyle2(element);
let width = parseFloat(css.width) || 0;
diff --git a/soul-admin/node_modules/.vite/deps/@radix-ui_react-select.js.map b/soul-admin/node_modules/.vite/deps/@radix-ui_react-select.js.map
index 81d41609..74452da4 100644
--- a/soul-admin/node_modules/.vite/deps/@radix-ui_react-select.js.map
+++ b/soul-admin/node_modules/.vite/deps/@radix-ui_react-select.js.map
@@ -1,7 +1,7 @@
{
"version": 3,
- "sources": ["../../.pnpm/@radix-ui+react-select@2.2._f9b05e8db7247fc075715ae52301583d/node_modules/@radix-ui/react-select/src/select.tsx", "../../.pnpm/@radix-ui+react-popper@1.2._670e32d9a64ee24e3a22b3ad7ddf00ff/node_modules/@radix-ui/react-popper/src/popper.tsx", "../../.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs", "../../.pnpm/@floating-ui+core@1.7.4/node_modules/@floating-ui/core/dist/floating-ui.core.mjs", "../../.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs", "../../.pnpm/@floating-ui+dom@1.7.5/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs", "../../.pnpm/@floating-ui+react-dom@2.1._c27c523691b7b5617e36eea923299747/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs", "../../.pnpm/@radix-ui+react-arrow@1.1.7_ca49517bc17aeb848c1fd64fd7d6a751/node_modules/@radix-ui/react-arrow/src/arrow.tsx", "../../.pnpm/@radix-ui+react-visually-hi_20e51f345ec6c8aedb80070ad020dacb/node_modules/@radix-ui/react-visually-hidden/src/visually-hidden.tsx"],
- "sourcesContent": ["import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { clamp } from '@radix-ui/number';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { useId } from '@radix-ui/react-id';\nimport * as PopperPrimitive from '@radix-ui/react-popper';\nimport { createPopperScope } from '@radix-ui/react-popper';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { createSlot } from '@radix-ui/react-slot';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { usePrevious } from '@radix-ui/react-use-previous';\nimport { VISUALLY_HIDDEN_STYLES } from '@radix-ui/react-visually-hidden';\nimport { hideOthers } from 'aria-hidden';\nimport { RemoveScroll } from 'react-remove-scroll';\n\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Direction = 'ltr' | 'rtl';\n\nconst OPEN_KEYS = [' ', 'Enter', 'ArrowUp', 'ArrowDown'];\nconst SELECTION_KEYS = [' ', 'Enter'];\n\n/* -------------------------------------------------------------------------------------------------\n * Select\n * -----------------------------------------------------------------------------------------------*/\n\nconst SELECT_NAME = 'Select';\n\ntype ItemData = { value: string; disabled: boolean; textValue: string };\nconst [Collection, useCollection, createCollectionScope] = createCollection<\n SelectItemElement,\n ItemData\n>(SELECT_NAME);\n\ntype ScopedProps
= P & { __scopeSelect?: Scope };\nconst [createSelectContext, createSelectScope] = createContextScope(SELECT_NAME, [\n createCollectionScope,\n createPopperScope,\n]);\nconst usePopperScope = createPopperScope();\n\ntype SelectContextValue = {\n trigger: SelectTriggerElement | null;\n onTriggerChange(node: SelectTriggerElement | null): void;\n valueNode: SelectValueElement | null;\n onValueNodeChange(node: SelectValueElement): void;\n valueNodeHasChildren: boolean;\n onValueNodeHasChildrenChange(hasChildren: boolean): void;\n contentId: string;\n value: string | undefined;\n onValueChange(value: string): void;\n open: boolean;\n required?: boolean;\n onOpenChange(open: boolean): void;\n dir: SelectProps['dir'];\n triggerPointerDownPosRef: React.MutableRefObject<{ x: number; y: number } | null>;\n disabled?: boolean;\n};\n\nconst [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);\n\ntype NativeOption = React.ReactElement>;\n\ntype SelectNativeOptionsContextValue = {\n onNativeOptionAdd(option: NativeOption): void;\n onNativeOptionRemove(option: NativeOption): void;\n};\nconst [SelectNativeOptionsProvider, useSelectNativeOptionsContext] =\n createSelectContext(SELECT_NAME);\n\ninterface ControlledClearableSelectProps {\n value: string | undefined;\n defaultValue?: never;\n onValueChange: (value: string | undefined) => void;\n}\n\ninterface ControlledUnclearableSelectProps {\n value: string;\n defaultValue?: never;\n onValueChange: (value: string) => void;\n}\n\ninterface UncontrolledSelectProps {\n value?: never;\n defaultValue?: string;\n onValueChange?: {\n (value: string): void;\n (value: string | undefined): void;\n };\n}\n\ntype SelectControlProps =\n | ControlledClearableSelectProps\n | ControlledUnclearableSelectProps\n | UncontrolledSelectProps;\n\ninterface SelectSharedProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n dir?: Direction;\n name?: string;\n autoComplete?: string;\n disabled?: boolean;\n required?: boolean;\n form?: string;\n}\n\n// TODO: Should improve typing somewhat, but this would be a breaking change.\n// Consider using in the next major version (along with some testing to be sure\n// it works as expected and doesn't cause problems)\ntype _FutureSelectProps = SelectSharedProps & SelectControlProps;\n\ntype SelectProps = SelectSharedProps & {\n value?: string;\n defaultValue?: string;\n onValueChange?(value: string): void;\n};\n\nconst Select: React.FC = (props: ScopedProps) => {\n const {\n __scopeSelect,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n value: valueProp,\n defaultValue,\n onValueChange,\n dir,\n name,\n autoComplete,\n disabled,\n required,\n form,\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const [trigger, setTrigger] = React.useState(null);\n const [valueNode, setValueNode] = React.useState(null);\n const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);\n const direction = useDirection(dir);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SELECT_NAME,\n });\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange as any,\n caller: SELECT_NAME,\n });\n const triggerPointerDownPosRef = React.useRef<{ x: number; y: number } | null>(null);\n\n // We set this to true by default so that events bubble to forms without JS (SSR)\n const isFormControl = trigger ? form || !!trigger.closest('form') : true;\n const [nativeOptionsSet, setNativeOptionsSet] = React.useState(new Set());\n\n // The native `select` only associates the correct default value if the corresponding\n // `option` is rendered as a child **at the same time** as itself.\n // Because it might take a few renders for our items to gather the information to build\n // the native `option`(s), we generate a key on the `select` to make sure React re-builds it\n // each time the options change.\n const nativeSelectKey = Array.from(nativeOptionsSet)\n .map((option) => option.props.value)\n .join(';');\n\n return (\n \n \n \n {\n setNativeOptionsSet((prev) => new Set(prev).add(option));\n }, [])}\n onNativeOptionRemove={React.useCallback((option) => {\n setNativeOptionsSet((prev) => {\n const optionsSet = new Set(prev);\n optionsSet.delete(option);\n return optionsSet;\n });\n }, [])}\n >\n {children}\n \n \n\n {isFormControl ? (\n setValue(event.target.value)}\n disabled={disabled}\n form={form}\n >\n {value === undefined ? : null}\n {Array.from(nativeOptionsSet)}\n \n ) : null}\n \n \n );\n};\n\nSelect.displayName = SELECT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'SelectTrigger';\n\ntype SelectTriggerElement = React.ComponentRef;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef;\ninterface SelectTriggerProps extends PrimitiveButtonProps {}\n\nconst SelectTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, disabled = false, ...triggerProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(TRIGGER_NAME, __scopeSelect);\n const isDisabled = context.disabled || disabled;\n const composedRefs = useComposedRefs(forwardedRef, context.onTriggerChange);\n const getItems = useCollection(__scopeSelect);\n const pointerTypeRef = React.useRef('touch');\n\n const [searchRef, handleTypeaheadSearch, resetTypeahead] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.value === context.value);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem !== undefined) {\n context.onValueChange(nextItem.value);\n }\n });\n\n const handleOpen = (pointerEvent?: React.MouseEvent | React.PointerEvent) => {\n if (!isDisabled) {\n context.onOpenChange(true);\n // reset typeahead when we open\n resetTypeahead();\n }\n\n if (pointerEvent) {\n context.triggerPointerDownPosRef.current = {\n x: Math.round(pointerEvent.pageX),\n y: Math.round(pointerEvent.pageY),\n };\n }\n };\n\n return (\n \n {\n // Whilst browsers generally have no issue focusing the trigger when clicking\n // on a label, Safari seems to struggle with the fact that there's no `onClick`.\n // We force `focus` in this case. Note: this doesn't create any other side-effect\n // because we are preventing default in `onPointerDown` so effectively\n // this only runs for a label \"click\"\n event.currentTarget.focus();\n\n // Open on click when using a touch or pen device\n if (pointerTypeRef.current !== 'mouse') {\n handleOpen(event);\n }\n })}\n onPointerDown={composeEventHandlers(triggerProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n\n // prevent implicit pointer capture\n // https://www.w3.org/TR/pointerevents3/#implicit-pointer-capture\n const target = event.target as HTMLElement;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n }\n\n // only call handler if it's the left button (mousedown gets triggered by all mouse buttons)\n // but not when the control key is pressed (avoiding MacOS right click); also not for touch\n // devices because that would open the menu on scroll. (pen devices behave as touch on iOS).\n if (event.button === 0 && event.ctrlKey === false && event.pointerType === 'mouse') {\n handleOpen(event);\n // prevent trigger from stealing focus from the active item after opening.\n event.preventDefault();\n }\n })}\n onKeyDown={composeEventHandlers(triggerProps.onKeyDown, (event) => {\n const isTypingAhead = searchRef.current !== '';\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n if (isTypingAhead && event.key === ' ') return;\n if (OPEN_KEYS.includes(event.key)) {\n handleOpen();\n event.preventDefault();\n }\n })}\n />\n \n );\n }\n);\n\nSelectTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectValue\n * -----------------------------------------------------------------------------------------------*/\n\nconst VALUE_NAME = 'SelectValue';\n\ntype SelectValueElement = React.ComponentRef;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef;\ninterface SelectValueProps extends Omit {\n placeholder?: React.ReactNode;\n}\n\nconst SelectValue = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n // We ignore `className` and `style` as this part shouldn't be styled.\n const { __scopeSelect, className, style, children, placeholder = '', ...valueProps } = props;\n const context = useSelectContext(VALUE_NAME, __scopeSelect);\n const { onValueNodeHasChildrenChange } = context;\n const hasChildren = children !== undefined;\n const composedRefs = useComposedRefs(forwardedRef, context.onValueNodeChange);\n\n useLayoutEffect(() => {\n onValueNodeHasChildrenChange(hasChildren);\n }, [onValueNodeHasChildrenChange, hasChildren]);\n\n return (\n \n {shouldShowPlaceholder(context.value) ? <>{placeholder}> : children}\n \n );\n }\n);\n\nSelectValue.displayName = VALUE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectIcon\n * -----------------------------------------------------------------------------------------------*/\n\nconst ICON_NAME = 'SelectIcon';\n\ntype SelectIconElement = React.ComponentRef;\ninterface SelectIconProps extends PrimitiveSpanProps {}\n\nconst SelectIcon = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, children, ...iconProps } = props;\n return (\n \n {children || '\u25BC'}\n \n );\n }\n);\n\nSelectIcon.displayName = ICON_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'SelectPortal';\n\ntype PortalProps = React.ComponentPropsWithoutRef;\ninterface SelectPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps['container'];\n}\n\nconst SelectPortal: React.FC = (props: ScopedProps) => {\n return ;\n};\n\nSelectPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'SelectContent';\n\ntype SelectContentElement = SelectContentImplElement;\ninterface SelectContentProps extends SelectContentImplProps {}\n\nconst SelectContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const context = useSelectContext(CONTENT_NAME, props.__scopeSelect);\n const [fragment, setFragment] = React.useState();\n\n // setting the fragment in `useLayoutEffect` as `DocumentFragment` doesn't exist on the server\n useLayoutEffect(() => {\n setFragment(new DocumentFragment());\n }, []);\n\n if (!context.open) {\n const frag = fragment as Element | undefined;\n return frag\n ? ReactDOM.createPortal(\n \n \n {props.children}
\n \n ,\n frag\n )\n : null;\n }\n\n return ;\n }\n);\n\nSelectContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectContentImpl\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_MARGIN = 10;\n\ntype SelectContentContextValue = {\n content?: SelectContentElement | null;\n viewport?: SelectViewportElement | null;\n onViewportChange?: (node: SelectViewportElement | null) => void;\n itemRefCallback?: (node: SelectItemElement | null, value: string, disabled: boolean) => void;\n selectedItem?: SelectItemElement | null;\n onItemLeave?: () => void;\n itemTextRefCallback?: (\n node: SelectItemTextElement | null,\n value: string,\n disabled: boolean\n ) => void;\n focusSelectedItem?: () => void;\n selectedItemText?: SelectItemTextElement | null;\n position?: SelectContentProps['position'];\n isPositioned?: boolean;\n searchRef?: React.RefObject;\n};\n\nconst [SelectContentProvider, useSelectContentContext] =\n createSelectContext(CONTENT_NAME);\n\nconst CONTENT_IMPL_NAME = 'SelectContentImpl';\n\ntype SelectContentImplElement = SelectPopperPositionElement | SelectItemAlignedPositionElement;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef;\ntype FocusScopeProps = React.ComponentPropsWithoutRef;\n\ntype SelectPopperPrivateProps = { onPlaced?: PopperContentProps['onPlaced'] };\n\ninterface SelectContentImplProps\n extends Omit,\n Omit {\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps['onUnmountAutoFocus'];\n /**\n * Event handler called when the escape key is down.\n * Can be prevented.\n */\n onEscapeKeyDown?: DismissableLayerProps['onEscapeKeyDown'];\n /**\n * Event handler called when the a `pointerdown` event happens outside of the `DismissableLayer`.\n * Can be prevented.\n */\n onPointerDownOutside?: DismissableLayerProps['onPointerDownOutside'];\n\n position?: 'item-aligned' | 'popper';\n}\n\nconst Slot = createSlot('SelectContent.RemoveScroll');\n\nconst SelectContentImpl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeSelect,\n position = 'item-aligned',\n onCloseAutoFocus,\n onEscapeKeyDown,\n onPointerDownOutside,\n //\n // PopperContent props\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n //\n ...contentProps\n } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const [content, setContent] = React.useState(null);\n const [viewport, setViewport] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [selectedItem, setSelectedItem] = React.useState(null);\n const [selectedItemText, setSelectedItemText] = React.useState(\n null\n );\n const getItems = useCollection(__scopeSelect);\n const [isPositioned, setIsPositioned] = React.useState(false);\n const firstValidItemFoundRef = React.useRef(false);\n\n // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n React.useEffect(() => {\n if (content) return hideOthers(content);\n }, [content]);\n\n // Make sure the whole tree has focus guards as our `Select` may be\n // the last element in the DOM (because of the `Portal`)\n useFocusGuards();\n\n const focusFirst = React.useCallback(\n (candidates: Array) => {\n const [firstItem, ...restItems] = getItems().map((item) => item.ref.current);\n const [lastItem] = restItems.slice(-1);\n\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate?.scrollIntoView({ block: 'nearest' });\n // viewport might have padding so scroll to its edges when focusing first/last items.\n if (candidate === firstItem && viewport) viewport.scrollTop = 0;\n if (candidate === lastItem && viewport) viewport.scrollTop = viewport.scrollHeight;\n candidate?.focus();\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n },\n [getItems, viewport]\n );\n\n const focusSelectedItem = React.useCallback(\n () => focusFirst([selectedItem, content]),\n [focusFirst, selectedItem, content]\n );\n\n // Since this is not dependent on layout, we want to ensure this runs at the same time as\n // other effects across components. Hence why we don't call `focusSelectedItem` inside `position`.\n React.useEffect(() => {\n if (isPositioned) {\n focusSelectedItem();\n }\n }, [isPositioned, focusSelectedItem]);\n\n // prevent selecting items on `pointerup` in some cases after opening from `pointerdown`\n // and close on `pointerup` outside.\n const { onOpenChange, triggerPointerDownPosRef } = context;\n React.useEffect(() => {\n if (content) {\n let pointerMoveDelta = { x: 0, y: 0 };\n\n const handlePointerMove = (event: PointerEvent) => {\n pointerMoveDelta = {\n x: Math.abs(Math.round(event.pageX) - (triggerPointerDownPosRef.current?.x ?? 0)),\n y: Math.abs(Math.round(event.pageY) - (triggerPointerDownPosRef.current?.y ?? 0)),\n };\n };\n const handlePointerUp = (event: PointerEvent) => {\n // If the pointer hasn't moved by a certain threshold then we prevent selecting item on `pointerup`.\n if (pointerMoveDelta.x <= 10 && pointerMoveDelta.y <= 10) {\n event.preventDefault();\n } else {\n // otherwise, if the event was outside the content, close.\n if (!content.contains(event.target as HTMLElement)) {\n onOpenChange(false);\n }\n }\n document.removeEventListener('pointermove', handlePointerMove);\n triggerPointerDownPosRef.current = null;\n };\n\n if (triggerPointerDownPosRef.current !== null) {\n document.addEventListener('pointermove', handlePointerMove);\n document.addEventListener('pointerup', handlePointerUp, { capture: true, once: true });\n }\n\n return () => {\n document.removeEventListener('pointermove', handlePointerMove);\n document.removeEventListener('pointerup', handlePointerUp, { capture: true });\n };\n }\n }, [content, onOpenChange, triggerPointerDownPosRef]);\n\n React.useEffect(() => {\n const close = () => onOpenChange(false);\n window.addEventListener('blur', close);\n window.addEventListener('resize', close);\n return () => {\n window.removeEventListener('blur', close);\n window.removeEventListener('resize', close);\n };\n }, [onOpenChange]);\n\n const [searchRef, handleTypeaheadSearch] = useTypeaheadSearch((search) => {\n const enabledItems = getItems().filter((item) => !item.disabled);\n const currentItem = enabledItems.find((item) => item.ref.current === document.activeElement);\n const nextItem = findNextItem(enabledItems, search, currentItem);\n if (nextItem) {\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */\n setTimeout(() => (nextItem.ref.current as HTMLElement).focus());\n }\n });\n\n const itemRefCallback = React.useCallback(\n (node: SelectItemElement | null, value: string, disabled: boolean) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== undefined && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItem(node);\n if (isFirstValidItem) firstValidItemFoundRef.current = true;\n }\n },\n [context.value]\n );\n const handleItemLeave = React.useCallback(() => content?.focus(), [content]);\n const itemTextRefCallback = React.useCallback(\n (node: SelectItemTextElement | null, value: string, disabled: boolean) => {\n const isFirstValidItem = !firstValidItemFoundRef.current && !disabled;\n const isSelectedItem = context.value !== undefined && context.value === value;\n if (isSelectedItem || isFirstValidItem) {\n setSelectedItemText(node);\n }\n },\n [context.value]\n );\n\n const SelectPosition = position === 'popper' ? SelectPopperPosition : SelectItemAlignedPosition;\n\n // Silently ignore props that are not supported by `SelectItemAlignedPosition`\n const popperContentProps =\n SelectPosition === SelectPopperPosition\n ? {\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n hideWhenDetached,\n avoidCollisions,\n }\n : {};\n\n return (\n \n \n {\n // we prevent open autofocus because we manually focus the selected item\n event.preventDefault();\n }}\n onUnmountAutoFocus={composeEventHandlers(onCloseAutoFocus, (event) => {\n context.trigger?.focus({ preventScroll: true });\n event.preventDefault();\n })}\n >\n event.preventDefault()}\n onDismiss={() => context.onOpenChange(false)}\n >\n event.preventDefault()}\n {...contentProps}\n {...popperContentProps}\n onPlaced={() => setIsPositioned(true)}\n ref={composedRefs}\n style={{\n // flex layout so we can place the scroll buttons properly\n display: 'flex',\n flexDirection: 'column',\n // reset the outline by default as the content MAY get focused\n outline: 'none',\n ...contentProps.style,\n }}\n onKeyDown={composeEventHandlers(contentProps.onKeyDown, (event) => {\n const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n\n // select should not be navigated using tab key so we prevent it\n if (event.key === 'Tab') event.preventDefault();\n\n if (!isModifierKey && event.key.length === 1) handleTypeaheadSearch(event.key);\n\n if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const items = getItems().filter((item) => !item.disabled);\n let candidateNodes = items.map((item) => item.ref.current!);\n\n if (['ArrowUp', 'End'].includes(event.key)) {\n candidateNodes = candidateNodes.slice().reverse();\n }\n if (['ArrowUp', 'ArrowDown'].includes(event.key)) {\n const currentElement = event.target as SelectItemElement;\n const currentIndex = candidateNodes.indexOf(currentElement);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */\n setTimeout(() => focusFirst(candidateNodes));\n\n event.preventDefault();\n }\n })}\n />\n \n \n \n \n );\n }\n);\n\nSelectContentImpl.displayName = CONTENT_IMPL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectItemAlignedPosition\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_ALIGNED_POSITION_NAME = 'SelectItemAlignedPosition';\n\ntype SelectItemAlignedPositionElement = React.ComponentRef;\ninterface SelectItemAlignedPositionProps extends PrimitiveDivProps, SelectPopperPrivateProps {}\n\nconst SelectItemAlignedPosition = React.forwardRef<\n SelectItemAlignedPositionElement,\n SelectItemAlignedPositionProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, onPlaced, ...popperProps } = props;\n const context = useSelectContext(CONTENT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(CONTENT_NAME, __scopeSelect);\n const [contentWrapper, setContentWrapper] = React.useState(null);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const getItems = useCollection(__scopeSelect);\n const shouldExpandOnScrollRef = React.useRef(false);\n const shouldRepositionRef = React.useRef(true);\n\n const { viewport, selectedItem, selectedItemText, focusSelectedItem } = contentContext;\n const position = React.useCallback(() => {\n if (\n context.trigger &&\n context.valueNode &&\n contentWrapper &&\n content &&\n viewport &&\n selectedItem &&\n selectedItemText\n ) {\n const triggerRect = context.trigger.getBoundingClientRect();\n\n // -----------------------------------------------------------------------------------------\n // Horizontal positioning\n // -----------------------------------------------------------------------------------------\n const contentRect = content.getBoundingClientRect();\n const valueNodeRect = context.valueNode.getBoundingClientRect();\n const itemTextRect = selectedItemText.getBoundingClientRect();\n\n if (context.dir !== 'rtl') {\n const itemTextOffset = itemTextRect.left - contentRect.left;\n const left = valueNodeRect.left - itemTextOffset;\n const leftDelta = triggerRect.left - left;\n const minContentWidth = triggerRect.width + leftDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const rightEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedLeft = clamp(left, [\n CONTENT_MARGIN,\n // Prevents the content from going off the starting edge of the\n // viewport. It may still go off the ending edge, but this can be\n // controlled by the user since they may want to manage overflow in a\n // specific way.\n // https://github.com/radix-ui/primitives/issues/2049\n Math.max(CONTENT_MARGIN, rightEdge - contentWidth),\n ]);\n\n contentWrapper.style.minWidth = minContentWidth + 'px';\n contentWrapper.style.left = clampedLeft + 'px';\n } else {\n const itemTextOffset = contentRect.right - itemTextRect.right;\n const right = window.innerWidth - valueNodeRect.right - itemTextOffset;\n const rightDelta = window.innerWidth - triggerRect.right - right;\n const minContentWidth = triggerRect.width + rightDelta;\n const contentWidth = Math.max(minContentWidth, contentRect.width);\n const leftEdge = window.innerWidth - CONTENT_MARGIN;\n const clampedRight = clamp(right, [\n CONTENT_MARGIN,\n Math.max(CONTENT_MARGIN, leftEdge - contentWidth),\n ]);\n\n contentWrapper.style.minWidth = minContentWidth + 'px';\n contentWrapper.style.right = clampedRight + 'px';\n }\n\n // -----------------------------------------------------------------------------------------\n // Vertical positioning\n // -----------------------------------------------------------------------------------------\n const items = getItems();\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const itemsHeight = viewport.scrollHeight;\n\n const contentStyles = window.getComputedStyle(content);\n const contentBorderTopWidth = parseInt(contentStyles.borderTopWidth, 10);\n const contentPaddingTop = parseInt(contentStyles.paddingTop, 10);\n const contentBorderBottomWidth = parseInt(contentStyles.borderBottomWidth, 10);\n const contentPaddingBottom = parseInt(contentStyles.paddingBottom, 10);\n const fullContentHeight = contentBorderTopWidth + contentPaddingTop + itemsHeight + contentPaddingBottom + contentBorderBottomWidth; // prettier-ignore\n const minContentHeight = Math.min(selectedItem.offsetHeight * 5, fullContentHeight);\n\n const viewportStyles = window.getComputedStyle(viewport);\n const viewportPaddingTop = parseInt(viewportStyles.paddingTop, 10);\n const viewportPaddingBottom = parseInt(viewportStyles.paddingBottom, 10);\n\n const topEdgeToTriggerMiddle = triggerRect.top + triggerRect.height / 2 - CONTENT_MARGIN;\n const triggerMiddleToBottomEdge = availableHeight - topEdgeToTriggerMiddle;\n\n const selectedItemHalfHeight = selectedItem.offsetHeight / 2;\n const itemOffsetMiddle = selectedItem.offsetTop + selectedItemHalfHeight;\n const contentTopToItemMiddle = contentBorderTopWidth + contentPaddingTop + itemOffsetMiddle;\n const itemMiddleToContentBottom = fullContentHeight - contentTopToItemMiddle;\n\n const willAlignWithoutTopOverflow = contentTopToItemMiddle <= topEdgeToTriggerMiddle;\n\n if (willAlignWithoutTopOverflow) {\n const isLastItem =\n items.length > 0 && selectedItem === items[items.length - 1]!.ref.current;\n contentWrapper.style.bottom = 0 + 'px';\n const viewportOffsetBottom =\n content.clientHeight - viewport.offsetTop - viewport.offsetHeight;\n const clampedTriggerMiddleToBottomEdge = Math.max(\n triggerMiddleToBottomEdge,\n selectedItemHalfHeight +\n // viewport might have padding bottom, include it to avoid a scrollable viewport\n (isLastItem ? viewportPaddingBottom : 0) +\n viewportOffsetBottom +\n contentBorderBottomWidth\n );\n const height = contentTopToItemMiddle + clampedTriggerMiddleToBottomEdge;\n contentWrapper.style.height = height + 'px';\n } else {\n const isFirstItem = items.length > 0 && selectedItem === items[0]!.ref.current;\n contentWrapper.style.top = 0 + 'px';\n const clampedTopEdgeToTriggerMiddle = Math.max(\n topEdgeToTriggerMiddle,\n contentBorderTopWidth +\n viewport.offsetTop +\n // viewport might have padding top, include it to avoid a scrollable viewport\n (isFirstItem ? viewportPaddingTop : 0) +\n selectedItemHalfHeight\n );\n const height = clampedTopEdgeToTriggerMiddle + itemMiddleToContentBottom;\n contentWrapper.style.height = height + 'px';\n viewport.scrollTop = contentTopToItemMiddle - topEdgeToTriggerMiddle + viewport.offsetTop;\n }\n\n contentWrapper.style.margin = `${CONTENT_MARGIN}px 0`;\n contentWrapper.style.minHeight = minContentHeight + 'px';\n contentWrapper.style.maxHeight = availableHeight + 'px';\n // -----------------------------------------------------------------------------------------\n\n onPlaced?.();\n\n // we don't want the initial scroll position adjustment to trigger \"expand on scroll\"\n // so we explicitly turn it on only after they've registered.\n requestAnimationFrame(() => (shouldExpandOnScrollRef.current = true));\n }\n }, [\n getItems,\n context.trigger,\n context.valueNode,\n contentWrapper,\n content,\n viewport,\n selectedItem,\n selectedItemText,\n context.dir,\n onPlaced,\n ]);\n\n useLayoutEffect(() => position(), [position]);\n\n // copy z-index from content to wrapper\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n\n // When the viewport becomes scrollable at the top, the scroll up button will mount.\n // Because it is part of the normal flow, it will push down the viewport, thus throwing our\n // trigger => selectedItem alignment off by the amount the viewport was pushed down.\n // We wait for this to happen and then re-run the positining logic one more time to account for it.\n const handleScrollButtonChange = React.useCallback(\n (node: SelectScrollButtonImplElement | null) => {\n if (node && shouldRepositionRef.current === true) {\n position();\n focusSelectedItem?.();\n shouldRepositionRef.current = false;\n }\n },\n [position, focusSelectedItem]\n );\n\n return (\n \n \n \n );\n});\n\nSelectItemAlignedPosition.displayName = ITEM_ALIGNED_POSITION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectPopperPosition\n * -----------------------------------------------------------------------------------------------*/\n\nconst POPPER_POSITION_NAME = 'SelectPopperPosition';\n\ntype SelectPopperPositionElement = React.ComponentRef;\ntype PopperContentProps = React.ComponentPropsWithoutRef;\ninterface SelectPopperPositionProps extends PopperContentProps, SelectPopperPrivateProps {}\n\nconst SelectPopperPosition = React.forwardRef<\n SelectPopperPositionElement,\n SelectPopperPositionProps\n>((props: ScopedProps, forwardedRef) => {\n const {\n __scopeSelect,\n align = 'start',\n collisionPadding = CONTENT_MARGIN,\n ...popperProps\n } = props;\n const popperScope = usePopperScope(__scopeSelect);\n\n return (\n \n );\n});\n\nSelectPopperPosition.displayName = POPPER_POSITION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectViewport\n * -----------------------------------------------------------------------------------------------*/\n\ntype SelectViewportContextValue = {\n contentWrapper?: HTMLDivElement | null;\n shouldExpandOnScrollRef?: React.RefObject;\n onScrollButtonChange?: (node: SelectScrollButtonImplElement | null) => void;\n};\n\nconst [SelectViewportProvider, useSelectViewportContext] =\n createSelectContext(CONTENT_NAME, {});\n\nconst VIEWPORT_NAME = 'SelectViewport';\n\ntype SelectViewportElement = React.ComponentRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface SelectViewportProps extends PrimitiveDivProps {\n nonce?: string;\n}\n\nconst SelectViewport = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, nonce, ...viewportProps } = props;\n const contentContext = useSelectContentContext(VIEWPORT_NAME, __scopeSelect);\n const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);\n const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);\n const prevScrollTopRef = React.useRef(0);\n return (\n <>\n {/* Hide scrollbars cross-browser and enable momentum scroll for touch devices */}\n \n \n {\n const viewport = event.currentTarget;\n const { contentWrapper, shouldExpandOnScrollRef } = viewportContext;\n if (shouldExpandOnScrollRef?.current && contentWrapper) {\n const scrolledBy = Math.abs(prevScrollTopRef.current - viewport.scrollTop);\n if (scrolledBy > 0) {\n const availableHeight = window.innerHeight - CONTENT_MARGIN * 2;\n const cssMinHeight = parseFloat(contentWrapper.style.minHeight);\n const cssHeight = parseFloat(contentWrapper.style.height);\n const prevHeight = Math.max(cssMinHeight, cssHeight);\n\n if (prevHeight < availableHeight) {\n const nextHeight = prevHeight + scrolledBy;\n const clampedNextHeight = Math.min(availableHeight, nextHeight);\n const heightDiff = nextHeight - clampedNextHeight;\n\n contentWrapper.style.height = clampedNextHeight + 'px';\n if (contentWrapper.style.bottom === '0px') {\n viewport.scrollTop = heightDiff > 0 ? heightDiff : 0;\n // ensure the content stays pinned to the bottom\n contentWrapper.style.justifyContent = 'flex-end';\n }\n }\n }\n }\n prevScrollTopRef.current = viewport.scrollTop;\n })}\n />\n \n >\n );\n }\n);\n\nSelectViewport.displayName = VIEWPORT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectGroup\n * -----------------------------------------------------------------------------------------------*/\n\nconst GROUP_NAME = 'SelectGroup';\n\ntype SelectGroupContextValue = { id: string };\n\nconst [SelectGroupContextProvider, useSelectGroupContext] =\n createSelectContext(GROUP_NAME);\n\ntype SelectGroupElement = React.ComponentRef;\ninterface SelectGroupProps extends PrimitiveDivProps {}\n\nconst SelectGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, ...groupProps } = props;\n const groupId = useId();\n return (\n \n \n \n );\n }\n);\n\nSelectGroup.displayName = GROUP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectLabel\n * -----------------------------------------------------------------------------------------------*/\n\nconst LABEL_NAME = 'SelectLabel';\n\ntype SelectLabelElement = React.ComponentRef;\ninterface SelectLabelProps extends PrimitiveDivProps {}\n\nconst SelectLabel = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, ...labelProps } = props;\n const groupContext = useSelectGroupContext(LABEL_NAME, __scopeSelect);\n return ;\n }\n);\n\nSelectLabel.displayName = LABEL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'SelectItem';\n\ntype SelectItemContextValue = {\n value: string;\n disabled: boolean;\n textId: string;\n isSelected: boolean;\n onItemTextChange(node: SelectItemTextElement | null): void;\n};\n\nconst [SelectItemContextProvider, useSelectItemContext] =\n createSelectContext(ITEM_NAME);\n\ntype SelectItemElement = React.ComponentRef;\ninterface SelectItemProps extends PrimitiveDivProps {\n value: string;\n disabled?: boolean;\n textValue?: string;\n}\n\nconst SelectItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeSelect,\n value,\n disabled = false,\n textValue: textValueProp,\n ...itemProps\n } = props;\n const context = useSelectContext(ITEM_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_NAME, __scopeSelect);\n const isSelected = context.value === value;\n const [textValue, setTextValue] = React.useState(textValueProp ?? '');\n const [isFocused, setIsFocused] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) =>\n contentContext.itemRefCallback?.(node, value, disabled)\n );\n const textId = useId();\n const pointerTypeRef = React.useRef('touch');\n\n const handleSelect = () => {\n if (!disabled) {\n context.onValueChange(value);\n context.onOpenChange(false);\n }\n };\n\n if (value === '') {\n throw new Error(\n 'A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.'\n );\n }\n\n return (\n {\n setTextValue((prevTextValue) => prevTextValue || (node?.textContent ?? '').trim());\n }, [])}\n >\n \n setIsFocused(true))}\n onBlur={composeEventHandlers(itemProps.onBlur, () => setIsFocused(false))}\n onClick={composeEventHandlers(itemProps.onClick, () => {\n // Open on click when using a touch or pen device\n if (pointerTypeRef.current !== 'mouse') handleSelect();\n })}\n onPointerUp={composeEventHandlers(itemProps.onPointerUp, () => {\n // Using a mouse you should be able to do pointer down, move through\n // the list, and release the pointer over the item to select it.\n if (pointerTypeRef.current === 'mouse') handleSelect();\n })}\n onPointerDown={composeEventHandlers(itemProps.onPointerDown, (event) => {\n pointerTypeRef.current = event.pointerType;\n })}\n onPointerMove={composeEventHandlers(itemProps.onPointerMove, (event) => {\n // Remember pointer type when sliding over to this item from another one\n pointerTypeRef.current = event.pointerType;\n if (disabled) {\n contentContext.onItemLeave?.();\n } else if (pointerTypeRef.current === 'mouse') {\n // even though safari doesn't support this option, it's acceptable\n // as it only means it might scroll a few pixels when using the pointer.\n event.currentTarget.focus({ preventScroll: true });\n }\n })}\n onPointerLeave={composeEventHandlers(itemProps.onPointerLeave, (event) => {\n if (event.currentTarget === document.activeElement) {\n contentContext.onItemLeave?.();\n }\n })}\n onKeyDown={composeEventHandlers(itemProps.onKeyDown, (event) => {\n const isTypingAhead = contentContext.searchRef?.current !== '';\n if (isTypingAhead && event.key === ' ') return;\n if (SELECTION_KEYS.includes(event.key)) handleSelect();\n // prevent page scroll if using the space key to select an item\n if (event.key === ' ') event.preventDefault();\n })}\n />\n \n \n );\n }\n);\n\nSelectItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectItemText\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_TEXT_NAME = 'SelectItemText';\n\ntype SelectItemTextElement = React.ComponentRef;\ninterface SelectItemTextProps extends PrimitiveSpanProps {}\n\nconst SelectItemText = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n // We ignore `className` and `style` as this part shouldn't be styled.\n const { __scopeSelect, className, style, ...itemTextProps } = props;\n const context = useSelectContext(ITEM_TEXT_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ITEM_TEXT_NAME, __scopeSelect);\n const itemContext = useSelectItemContext(ITEM_TEXT_NAME, __scopeSelect);\n const nativeOptionsContext = useSelectNativeOptionsContext(ITEM_TEXT_NAME, __scopeSelect);\n const [itemTextNode, setItemTextNode] = React.useState(null);\n const composedRefs = useComposedRefs(\n forwardedRef,\n (node) => setItemTextNode(node),\n itemContext.onItemTextChange,\n (node) => contentContext.itemTextRefCallback?.(node, itemContext.value, itemContext.disabled)\n );\n\n const textContent = itemTextNode?.textContent;\n const nativeOption = React.useMemo(\n () => (\n \n ),\n [itemContext.disabled, itemContext.value, textContent]\n );\n\n const { onNativeOptionAdd, onNativeOptionRemove } = nativeOptionsContext;\n useLayoutEffect(() => {\n onNativeOptionAdd(nativeOption);\n return () => onNativeOptionRemove(nativeOption);\n }, [onNativeOptionAdd, onNativeOptionRemove, nativeOption]);\n\n return (\n <>\n \n\n {/* Portal the select item text into the trigger value node */}\n {itemContext.isSelected && context.valueNode && !context.valueNodeHasChildren\n ? ReactDOM.createPortal(itemTextProps.children, context.valueNode)\n : null}\n >\n );\n }\n);\n\nSelectItemText.displayName = ITEM_TEXT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectItemIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_INDICATOR_NAME = 'SelectItemIndicator';\n\ntype SelectItemIndicatorElement = React.ComponentRef;\ninterface SelectItemIndicatorProps extends PrimitiveSpanProps {}\n\nconst SelectItemIndicator = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, ...itemIndicatorProps } = props;\n const itemContext = useSelectItemContext(ITEM_INDICATOR_NAME, __scopeSelect);\n return itemContext.isSelected ? (\n \n ) : null;\n }\n);\n\nSelectItemIndicator.displayName = ITEM_INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectScrollUpButton\n * -----------------------------------------------------------------------------------------------*/\n\nconst SCROLL_UP_BUTTON_NAME = 'SelectScrollUpButton';\n\ntype SelectScrollUpButtonElement = SelectScrollButtonImplElement;\ninterface SelectScrollUpButtonProps extends Omit {}\n\nconst SelectScrollUpButton = React.forwardRef<\n SelectScrollUpButtonElement,\n SelectScrollUpButtonProps\n>((props: ScopedProps, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_UP_BUTTON_NAME, props.__scopeSelect);\n const [canScrollUp, setCanScrollUp] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n const viewport = contentContext.viewport;\n function handleScroll() {\n const canScrollUp = viewport.scrollTop > 0;\n setCanScrollUp(canScrollUp);\n }\n handleScroll();\n viewport.addEventListener('scroll', handleScroll);\n return () => viewport.removeEventListener('scroll', handleScroll);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n\n return canScrollUp ? (\n {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop - selectedItem.offsetHeight;\n }\n }}\n />\n ) : null;\n});\n\nSelectScrollUpButton.displayName = SCROLL_UP_BUTTON_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectScrollDownButton\n * -----------------------------------------------------------------------------------------------*/\n\nconst SCROLL_DOWN_BUTTON_NAME = 'SelectScrollDownButton';\n\ntype SelectScrollDownButtonElement = SelectScrollButtonImplElement;\ninterface SelectScrollDownButtonProps extends Omit {}\n\nconst SelectScrollDownButton = React.forwardRef<\n SelectScrollDownButtonElement,\n SelectScrollDownButtonProps\n>((props: ScopedProps, forwardedRef) => {\n const contentContext = useSelectContentContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const viewportContext = useSelectViewportContext(SCROLL_DOWN_BUTTON_NAME, props.__scopeSelect);\n const [canScrollDown, setCanScrollDown] = React.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, viewportContext.onScrollButtonChange);\n\n useLayoutEffect(() => {\n if (contentContext.viewport && contentContext.isPositioned) {\n const viewport = contentContext.viewport;\n function handleScroll() {\n const maxScroll = viewport.scrollHeight - viewport.clientHeight;\n // we use Math.ceil here because if the UI is zoomed-in\n // `scrollTop` is not always reported as an integer\n const canScrollDown = Math.ceil(viewport.scrollTop) < maxScroll;\n setCanScrollDown(canScrollDown);\n }\n handleScroll();\n viewport.addEventListener('scroll', handleScroll);\n return () => viewport.removeEventListener('scroll', handleScroll);\n }\n }, [contentContext.viewport, contentContext.isPositioned]);\n\n return canScrollDown ? (\n {\n const { viewport, selectedItem } = contentContext;\n if (viewport && selectedItem) {\n viewport.scrollTop = viewport.scrollTop + selectedItem.offsetHeight;\n }\n }}\n />\n ) : null;\n});\n\nSelectScrollDownButton.displayName = SCROLL_DOWN_BUTTON_NAME;\n\ntype SelectScrollButtonImplElement = React.ComponentRef;\ninterface SelectScrollButtonImplProps extends PrimitiveDivProps {\n onAutoScroll(): void;\n}\n\nconst SelectScrollButtonImpl = React.forwardRef<\n SelectScrollButtonImplElement,\n SelectScrollButtonImplProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, onAutoScroll, ...scrollIndicatorProps } = props;\n const contentContext = useSelectContentContext('SelectScrollButton', __scopeSelect);\n const autoScrollTimerRef = React.useRef(null);\n const getItems = useCollection(__scopeSelect);\n\n const clearAutoScrollTimer = React.useCallback(() => {\n if (autoScrollTimerRef.current !== null) {\n window.clearInterval(autoScrollTimerRef.current);\n autoScrollTimerRef.current = null;\n }\n }, []);\n\n React.useEffect(() => {\n return () => clearAutoScrollTimer();\n }, [clearAutoScrollTimer]);\n\n // When the viewport becomes scrollable on either side, the relevant scroll button will mount.\n // Because it is part of the normal flow, it will push down (top button) or shrink (bottom button)\n // the viewport, potentially causing the active item to now be partially out of view.\n // We re-run the `scrollIntoView` logic to make sure it stays within the viewport.\n useLayoutEffect(() => {\n const activeItem = getItems().find((item) => item.ref.current === document.activeElement);\n activeItem?.ref.current?.scrollIntoView({ block: 'nearest' });\n }, [getItems]);\n\n return (\n {\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n })}\n onPointerMove={composeEventHandlers(scrollIndicatorProps.onPointerMove, () => {\n contentContext.onItemLeave?.();\n if (autoScrollTimerRef.current === null) {\n autoScrollTimerRef.current = window.setInterval(onAutoScroll, 50);\n }\n })}\n onPointerLeave={composeEventHandlers(scrollIndicatorProps.onPointerLeave, () => {\n clearAutoScrollTimer();\n })}\n />\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * SelectSeparator\n * -----------------------------------------------------------------------------------------------*/\n\nconst SEPARATOR_NAME = 'SelectSeparator';\n\ntype SelectSeparatorElement = React.ComponentRef;\ninterface SelectSeparatorProps extends PrimitiveDivProps {}\n\nconst SelectSeparator = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, ...separatorProps } = props;\n return ;\n }\n);\n\nSelectSeparator.displayName = SEPARATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'SelectArrow';\n\ntype SelectArrowElement = React.ComponentRef;\ntype PopperArrowProps = React.ComponentPropsWithoutRef;\ninterface SelectArrowProps extends PopperArrowProps {}\n\nconst SelectArrow = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeSelect, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeSelect);\n const context = useSelectContext(ARROW_NAME, __scopeSelect);\n const contentContext = useSelectContentContext(ARROW_NAME, __scopeSelect);\n return context.open && contentContext.position === 'popper' ? (\n \n ) : null;\n }\n);\n\nSelectArrow.displayName = ARROW_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * SelectBubbleInput\n * -----------------------------------------------------------------------------------------------*/\n\nconst BUBBLE_INPUT_NAME = 'SelectBubbleInput';\n\ntype InputProps = React.ComponentPropsWithoutRef;\ninterface SwitchBubbleInputProps extends InputProps {}\n\nconst SelectBubbleInput = React.forwardRef(\n ({ __scopeSelect, value, ...props }: ScopedProps, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const prevValue = usePrevious(value);\n\n // Bubble value change to parents (e.g form change event)\n React.useEffect(() => {\n const select = ref.current;\n if (!select) return;\n\n const selectProto = window.HTMLSelectElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n selectProto,\n 'value'\n ) as PropertyDescriptor;\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event('change', { bubbles: true });\n setValue.call(select, value);\n select.dispatchEvent(event);\n }\n }, [prevValue, value]);\n\n /**\n * We purposefully use a `select` here to support form autofill as much as\n * possible.\n *\n * We purposefully do not add the `value` attribute here to allow the value\n * to be set programmatically and bubble to any parent form `onChange`\n * event. Adding the `value` will cause React to consider the programmatic\n * dispatch a duplicate and it will get swallowed.\n *\n * We use visually hidden styles rather than `display: \"none\"` because\n * Safari autofill won't work otherwise.\n */\n return (\n \n );\n }\n);\n\nSelectBubbleInput.displayName = BUBBLE_INPUT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction shouldShowPlaceholder(value?: string) {\n return value === '' || value === undefined;\n}\n\nfunction useTypeaheadSearch(onSearchChange: (search: string) => void) {\n const handleSearchChange = useCallbackRef(onSearchChange);\n const searchRef = React.useRef('');\n const timerRef = React.useRef(0);\n\n const handleTypeaheadSearch = React.useCallback(\n (key: string) => {\n const search = searchRef.current + key;\n handleSearchChange(search);\n\n (function updateSearch(value: string) {\n searchRef.current = value;\n window.clearTimeout(timerRef.current);\n // Reset `searchRef` 1 second after it was last updated\n if (value !== '') timerRef.current = window.setTimeout(() => updateSearch(''), 1000);\n })(search);\n },\n [handleSearchChange]\n );\n\n const resetTypeahead = React.useCallback(() => {\n searchRef.current = '';\n window.clearTimeout(timerRef.current);\n }, []);\n\n React.useEffect(() => {\n return () => window.clearTimeout(timerRef.current);\n }, []);\n\n return [searchRef, handleTypeaheadSearch, resetTypeahead] as const;\n}\n\n/**\n * This is the \"meat\" of the typeahead matching logic. It takes in a list of items,\n * the search and the current item, and returns the next item (or `undefined`).\n *\n * We normalize the search because if a user has repeatedly pressed a character,\n * we want the exact same behavior as if we only had that one character\n * (ie. cycle through items starting with that character)\n *\n * We also reorder the items by wrapping the array around the current item.\n * This is so we always look forward from the current item, and picking the first\n * item will always be the correct one.\n *\n * Finally, if the normalized search is exactly one character, we exclude the\n * current item from the values because otherwise it would be the first to match always\n * and focus would never move. This is as opposed to the regular case, where we\n * don't want focus to move if the current item still matches.\n */\nfunction findNextItem(\n items: T[],\n search: string,\n currentItem?: T\n) {\n const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n const normalizedSearch = isRepeated ? search[0]! : search;\n const currentItemIndex = currentItem ? items.indexOf(currentItem) : -1;\n let wrappedItems = wrapArray(items, Math.max(currentItemIndex, 0));\n const excludeCurrentItem = normalizedSearch.length === 1;\n if (excludeCurrentItem) wrappedItems = wrappedItems.filter((v) => v !== currentItem);\n const nextItem = wrappedItems.find((item) =>\n item.textValue.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n );\n return nextItem !== currentItem ? nextItem : undefined;\n}\n\n/**\n * Wraps an array around itself at a given start index\n * Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`\n */\nfunction wrapArray(array: T[], startIndex: number) {\n return array.map((_, index) => array[(startIndex + index) % array.length]!);\n}\n\nconst Root = Select;\nconst Trigger = SelectTrigger;\nconst Value = SelectValue;\nconst Icon = SelectIcon;\nconst Portal = SelectPortal;\nconst Content = SelectContent;\nconst Viewport = SelectViewport;\nconst Group = SelectGroup;\nconst Label = SelectLabel;\nconst Item = SelectItem;\nconst ItemText = SelectItemText;\nconst ItemIndicator = SelectItemIndicator;\nconst ScrollUpButton = SelectScrollUpButton;\nconst ScrollDownButton = SelectScrollDownButton;\nconst Separator = SelectSeparator;\nconst Arrow = SelectArrow;\n\nexport {\n createSelectScope,\n //\n Select,\n SelectTrigger,\n SelectValue,\n SelectIcon,\n SelectPortal,\n SelectContent,\n SelectViewport,\n SelectGroup,\n SelectLabel,\n SelectItem,\n SelectItemText,\n SelectItemIndicator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n SelectSeparator,\n SelectArrow,\n //\n Root,\n Trigger,\n Value,\n Icon,\n Portal,\n Content,\n Viewport,\n Group,\n Label,\n Item,\n ItemText,\n ItemIndicator,\n ScrollUpButton,\n ScrollDownButton,\n Separator,\n Arrow,\n};\nexport type {\n SelectProps,\n SelectTriggerProps,\n SelectValueProps,\n SelectIconProps,\n SelectPortalProps,\n SelectContentProps,\n SelectViewportProps,\n SelectGroupProps,\n SelectLabelProps,\n SelectItemProps,\n SelectItemTextProps,\n SelectItemIndicatorProps,\n SelectScrollUpButtonProps,\n SelectScrollDownButtonProps,\n SelectSeparatorProps,\n SelectArrowProps,\n};\n", "import * as React from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n size,\n} from '@floating-ui/react-dom';\nimport * as ArrowPrimitive from '@radix-ui/react-arrow';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useSize } from '@radix-ui/react-use-size';\n\nimport type { Placement, Middleware } from '@floating-ui/react-dom';\nimport type { Scope } from '@radix-ui/react-context';\nimport type { Measurable } from '@radix-ui/rect';\n\nconst SIDE_OPTIONS = ['top', 'right', 'bottom', 'left'] as const;\nconst ALIGN_OPTIONS = ['start', 'center', 'end'] as const;\n\ntype Side = (typeof SIDE_OPTIONS)[number];\ntype Align = (typeof ALIGN_OPTIONS)[number];\n\n/* -------------------------------------------------------------------------------------------------\n * Popper\n * -----------------------------------------------------------------------------------------------*/\n\nconst POPPER_NAME = 'Popper';\n\ntype ScopedProps = P & { __scopePopper?: Scope };\nconst [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\n\ntype PopperContextValue = {\n anchor: Measurable | null;\n onAnchorChange(anchor: Measurable | null): void;\n};\nconst [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\n\ninterface PopperProps {\n children?: React.ReactNode;\n}\nconst Popper: React.FC = (props: ScopedProps) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState(null);\n return (\n \n {children}\n \n );\n};\n\nPopper.displayName = POPPER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperAnchor\n * -----------------------------------------------------------------------------------------------*/\n\nconst ANCHOR_NAME = 'PopperAnchor';\n\ntype PopperAnchorElement = React.ComponentRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface PopperAnchorProps extends PrimitiveDivProps {\n virtualRef?: React.RefObject;\n}\n\nconst PopperAnchor = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n\n const anchorRef = React.useRef(null);\n React.useEffect(() => {\n const previousAnchor = anchorRef.current;\n anchorRef.current = virtualRef?.current || ref.current;\n if (previousAnchor !== anchorRef.current) {\n // Consumer can anchor the popper to something that isn't\n // a DOM node e.g. pointer position, so we override the\n // `anchorRef` with their virtual ref in this case.\n context.onAnchorChange(anchorRef.current);\n }\n });\n\n return virtualRef ? null : ;\n }\n);\n\nPopperAnchor.displayName = ANCHOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'PopperContent';\n\ntype PopperContentContextValue = {\n placedSide: Side;\n onArrowChange(arrow: HTMLSpanElement | null): void;\n arrowX?: number;\n arrowY?: number;\n shouldHideArrow: boolean;\n};\n\nconst [PopperContentProvider, useContentContext] =\n createPopperContext(CONTENT_NAME);\n\ntype Boundary = Element | null;\n\ntype PopperContentElement = React.ComponentRef;\ninterface PopperContentProps extends PrimitiveDivProps {\n side?: Side;\n sideOffset?: number;\n align?: Align;\n alignOffset?: number;\n arrowPadding?: number;\n avoidCollisions?: boolean;\n collisionBoundary?: Boundary | Boundary[];\n collisionPadding?: number | Partial>;\n sticky?: 'partial' | 'always';\n hideWhenDetached?: boolean;\n updatePositionStrategy?: 'optimized' | 'always';\n onPlaced?: () => void;\n}\n\nconst PopperContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopePopper,\n side = 'bottom',\n sideOffset = 0,\n align = 'center',\n alignOffset = 0,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = 'partial',\n hideWhenDetached = false,\n updatePositionStrategy = 'optimized',\n onPlaced,\n ...contentProps\n } = props;\n\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n\n const [arrow, setArrow] = React.useState(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n\n const desiredPlacement = (side + (align !== 'center' ? '-' + align : '')) as Placement;\n\n const collisionPadding =\n typeof collisionPaddingProp === 'number'\n ? collisionPaddingProp\n : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries,\n };\n\n const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: 'fixed',\n placement: desiredPlacement,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, {\n animationFrame: updatePositionStrategy === 'always',\n });\n return cleanup;\n },\n elements: {\n reference: context.anchor,\n },\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions &&\n shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === 'partial' ? limitShift() : undefined,\n ...detectOverflowOptions,\n }),\n avoidCollisions && flip({ ...detectOverflowOptions }),\n size({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty('--radix-popper-available-width', `${availableWidth}px`);\n contentStyle.setProperty('--radix-popper-available-height', `${availableHeight}px`);\n contentStyle.setProperty('--radix-popper-anchor-width', `${anchorWidth}px`);\n contentStyle.setProperty('--radix-popper-anchor-height', `${anchorHeight}px`);\n },\n }),\n arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide({ strategy: 'referenceHidden', ...detectOverflowOptions }),\n ],\n });\n\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\n\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n\n return (\n \n );\n }\n);\n\nPopperContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'PopperArrow';\n\nconst OPPOSITE_SIDE: Record = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\ntype PopperArrowElement = React.ComponentRef;\ntype ArrowProps = React.ComponentPropsWithoutRef;\ninterface PopperArrowProps extends ArrowProps {}\n\nconst PopperArrow = React.forwardRef(function PopperArrow(\n props: ScopedProps,\n forwardedRef\n) {\n const { __scopePopper, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n \n \n \n );\n});\n\nPopperArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction isNotNull(value: T | null): value is T {\n return value !== null;\n}\n\nconst transformOrigin = (options: { arrowWidth: number; arrowHeight: number }): Middleware => ({\n name: 'transformOrigin',\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: '0%', center: '50%', end: '100%' }[placedAlign];\n\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n\n let x = '';\n let y = '';\n\n if (placedSide === 'bottom') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === 'top') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === 'right') {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === 'left') {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n },\n});\n\nfunction getSideAndAlignFromPlacement(placement: Placement) {\n const [side, align = 'center'] = placement.split('-');\n return [side as Side, align as Align] as const;\n}\n\nconst Root = Popper;\nconst Anchor = PopperAnchor;\nconst Content = PopperContent;\nconst Arrow = PopperArrow;\n\nexport {\n createPopperScope,\n //\n Popper,\n PopperAnchor,\n PopperContent,\n PopperArrow,\n //\n Root,\n Anchor,\n Content,\n Arrow,\n //\n SIDE_OPTIONS,\n ALIGN_OPTIONS,\n};\nexport type { PopperProps, PopperAnchorProps, PopperContentProps, PopperArrowProps };\n", "/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n", "import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n var _platform$detectOverf;\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: {\n ...platform,\n detectOverflow: (_platform$detectOverf = platform.detectOverflow) != null ? _platform$detectOverf : detectOverflow\n },\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects,\n platform\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n platform\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n", "function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n return topLayerSelectors.some(selector => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n", "import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the element as the offsetParent if it's non-static,\n // while Chrome and Safari return the element. The element must\n // be used to perform the correct calculations even if the element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle