From d72bb0e4add1ae218214fdbeb5682ab36320a250 Mon Sep 17 00:00:00 2001 From: Mikkel Ricky Date: Wed, 17 Sep 2025 14:02:24 +0200 Subject: [PATCH 01/47] Svelte --- .prettierignore | 2 + CHANGELOG.md | 2 + Taskfile.yml | 27 + assets/widgets/.gitignore | 23 + assets/widgets/.npmrc | 1 + assets/widgets/README.md | 7 + assets/widgets/package-lock.json | 6156 +++++++++++++++++ assets/widgets/package.json | 24 + .../src/_standalone/ProcessOverview/config.ts | 7 + .../src/_standalone/ProcessOverview/embed.ts | 5 + .../_standalone/ProcessOverview/index.svelte | 95 + assets/widgets/src/app.d.ts | 13 + assets/widgets/src/app.html | 11 + assets/widgets/src/lib/assets/favicon.svg | 1 + assets/widgets/src/lib/index.ts | 1 + assets/widgets/src/routes/+layout.svelte | 11 + assets/widgets/src/routes/+page.svelte | 2 + .../src/routes/ProcessOverview/+page.svelte | 27 + assets/widgets/static/api/v1/data.json | 1 + assets/widgets/svelte.config.js | 18 + assets/widgets/tsconfig.json | 19 + assets/widgets/vite.config.ts | 21 + docker-compose.override.yml | 8 + templates/process_overview/show.html.twig | 19 +- 24 files changed, 6486 insertions(+), 15 deletions(-) create mode 100644 .prettierignore create mode 100644 assets/widgets/.gitignore create mode 100644 assets/widgets/.npmrc create mode 100644 assets/widgets/README.md create mode 100644 assets/widgets/package-lock.json create mode 100644 assets/widgets/package.json create mode 100644 assets/widgets/src/_standalone/ProcessOverview/config.ts create mode 100644 assets/widgets/src/_standalone/ProcessOverview/embed.ts create mode 100644 assets/widgets/src/_standalone/ProcessOverview/index.svelte create mode 100644 assets/widgets/src/app.d.ts create mode 100644 assets/widgets/src/app.html create mode 100644 assets/widgets/src/lib/assets/favicon.svg create mode 100644 assets/widgets/src/lib/index.ts create mode 100644 assets/widgets/src/routes/+layout.svelte create mode 100644 assets/widgets/src/routes/+page.svelte create mode 100644 assets/widgets/src/routes/ProcessOverview/+page.svelte create mode 100644 assets/widgets/static/api/v1/data.json create mode 100644 assets/widgets/svelte.config.js create mode 100644 assets/widgets/tsconfig.json create mode 100644 assets/widgets/vite.config.ts diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..fbdc709 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +# The Svelte standalone widgets have a life of their own … +assets/widgets/ diff --git a/CHANGELOG.md b/CHANGELOG.md index ca18d71..065ec75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,5 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * [PR-3](https://github.com/itk-dev/rpa-process-overview/pull/3) Mocked API with FastAPI and friends. +* [PR-2](https://github.com/rimi-itk/rpa-process-overview/pull/2) + Svelte [Unreleased]: https://github.com/rimi-itk/rpa-process-overview diff --git a/Taskfile.yml b/Taskfile.yml index 06969aa..fe3d608 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -95,3 +95,30 @@ tasks: # Mark default translations (prefixed with `__`) as “Needs work” in Danish translations - gsed --in-place='' 's/__/__/' translations/*.da.*xlf silent: true + + widgets:build: + desc: Build widgets for production + cmds: + # Build the widgets + - task: compose + vars: + TASK_ARGS: run --rm node npm --prefix assets/widgets/ install + - rm -fr assets/widgets/static/dist/ && mkdir -p assets/widgets/static/dist/ + - task: compose + vars: + # https://standalone.brenoliradev.com/cli.html + # Using `--prefix` here does not work. + TASK_ARGS: run --rm node sh -c 'cd assets/widgets/ && npx standalone build --all --production' + - find assets/widgets/static/dist -type f + + # Copy result into public folder + # - rm -fr public/widgets + # Rsync is weird when it comes to including and excluding files … + - rsync -azv assets/widgets/static/dist/ --include '*/' --include '**/*.css' --include '**/*.js' --exclude '*' --delete public/widgets + - find public/widgets -type f + + widget:dev: + desc: Start widget dev server + cmds: + - echo http://localhost:3000/ProcessOverview + - docker compose run --rm --publish 3000:3000 node npm --prefix assets/widgets run dev -- --port 3000 --host diff --git a/assets/widgets/.gitignore b/assets/widgets/.gitignore new file mode 100644 index 0000000..3b462cb --- /dev/null +++ b/assets/widgets/.gitignore @@ -0,0 +1,23 @@ +node_modules + +# Output +.output +.vercel +.netlify +.wrangler +/.svelte-kit +/build + +# OS +.DS_Store +Thumbs.db + +# Env +.env +.env.* +!.env.example +!.env.test + +# Vite +vite.config.js.timestamp-* +vite.config.ts.timestamp-* diff --git a/assets/widgets/.npmrc b/assets/widgets/.npmrc new file mode 100644 index 0000000..b6f27f1 --- /dev/null +++ b/assets/widgets/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/assets/widgets/README.md b/assets/widgets/README.md new file mode 100644 index 0000000..218a5a7 --- /dev/null +++ b/assets/widgets/README.md @@ -0,0 +1,7 @@ +# Widgets + + + +``` shell +npx standalone build --all +``` diff --git a/assets/widgets/package-lock.json b/assets/widgets/package-lock.json new file mode 100644 index 0000000..a8b3c62 --- /dev/null +++ b/assets/widgets/package-lock.json @@ -0,0 +1,6156 @@ +{ + "name": "widgets", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "widgets", + "version": "0.0.1", + "devDependencies": { + "@sveltejs/adapter-auto": "^6.0.0", + "@sveltejs/kit": "^2.22.0", + "@sveltejs/vite-plugin-svelte": "^6.0.0", + "svelte": "^5.0.0", + "svelte-check": "^4.0.0", + "svelte-standalone": "^2.2.0", + "typescript": "^5.0.0", + "vite": "^7.0.4" + } + }, + "node_modules/@ast-grep/napi": { + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi/-/napi-0.36.3.tgz", + "integrity": "sha512-ExypohE8L7FvKBHxu7UpwcV9XVfyS+AqNZKyKIfxYwJyD9l7Gw6pmMYd7J2uopJsPEIUf44/emEFds6nFUx/dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@ast-grep/napi-darwin-arm64": "0.36.3", + "@ast-grep/napi-darwin-x64": "0.36.3", + "@ast-grep/napi-linux-arm64-gnu": "0.36.3", + "@ast-grep/napi-linux-arm64-musl": "0.36.3", + "@ast-grep/napi-linux-x64-gnu": "0.36.3", + "@ast-grep/napi-linux-x64-musl": "0.36.3", + "@ast-grep/napi-win32-arm64-msvc": "0.36.3", + "@ast-grep/napi-win32-ia32-msvc": "0.36.3", + "@ast-grep/napi-win32-x64-msvc": "0.36.3" + } + }, + "node_modules/@ast-grep/napi-darwin-arm64": { + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-darwin-arm64/-/napi-darwin-arm64-0.36.3.tgz", + "integrity": "sha512-uM0Hrm5gcHqaBL64ktmPBFMTorTlPKWsUfi0E2Cg09GJfeYWvZmicCqgd7qVtjURmQvFQdb4JSqHIkJvws6Uqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-darwin-x64": { + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-darwin-x64/-/napi-darwin-x64-0.36.3.tgz", + "integrity": "sha512-wEMeQw8lRL66puG2m8m0kDRQDtubygj59HA/cmut2V5SPx/13BN3wuEk6JPv97gqGUCUGhG2+5Z6UZ/Ll2q01Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-linux-arm64-gnu": { + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-arm64-gnu/-/napi-linux-arm64-gnu-0.36.3.tgz", + "integrity": "sha512-sMsTMaUjW7SM8KPbLviCSBuM4zgJcwvie1yZI92HKSlFzC7ABe7X7UvyUREB+JwqccDVEL5yOJAjqB8eFSCizw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-linux-arm64-musl": { + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-arm64-musl/-/napi-linux-arm64-musl-0.36.3.tgz", + "integrity": "sha512-2XRmNYuovZu0Pa4J3or4PKMkQZnXXfpVcCrPwWB/2ytX7XUo+TWLgYE8rPVnJOyw5zujkveFb0XUrro9mQgLzw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-linux-x64-gnu": { + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-x64-gnu/-/napi-linux-x64-gnu-0.36.3.tgz", + "integrity": "sha512-mTwPRbBi1feGqR2b5TWC5gkEDeRi8wfk4euF5sKNihfMGHj6pdfINHQ3QvLVO4C7z0r/wgWLAvditFA0b997dg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-linux-x64-musl": { + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-linux-x64-musl/-/napi-linux-x64-musl-0.36.3.tgz", + "integrity": "sha512-tMGPrT+zuZzJK6n1cD1kOii7HYZE9gUXjwtVNE/uZqXEaWP6lmkfoTMbLjnxEe74VQbmaoDGh1/cjrDBnqC6Uw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-win32-arm64-msvc": { + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-win32-arm64-msvc/-/napi-win32-arm64-msvc-0.36.3.tgz", + "integrity": "sha512-7pFyr9+dyV+4cBJJ1I57gg6PDXP3GBQeVAsEEitzEruxx4Hb4cyNro54gGtlsS+6ty+N0t004tPQxYO2VrsPIg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-win32-ia32-msvc": { + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-win32-ia32-msvc/-/napi-win32-ia32-msvc-0.36.3.tgz", + "integrity": "sha512-MPAgccH9VscRaFuEBMzDGPS+3c4cKNVGIVJ7WSNa1nZtLQ0eFEaPJ7pyDnCezgVSxfNFVYBvKyyF/vcm7Qc9+A==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@ast-grep/napi-win32-x64-msvc": { + "version": "0.36.3", + "resolved": "https://registry.npmjs.org/@ast-grep/napi-win32-x64-msvc/-/napi-win32-x64-msvc-0.36.3.tgz", + "integrity": "sha512-TIVtuSbXhty9kaSEfr4ULWx5PAuUeGgUkFaR60lmOs7sGTWgpig+suwKfTmevoAblFknCW/aMHOwziwJoUZA6A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@fullhuman/postcss-purgecss": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-7.0.2.tgz", + "integrity": "sha512-U4zAXNaVztbDxO9EdcLp51F3UxxYsb/7DN89rFxFJhfk2Wua2pvw2Kf3HdspbPhW/wpHjSjsxWYoIlbTgRSjbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "purgecss": "^7.0.2" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/@inquirer/ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.0.tgz", + "integrity": "sha512-JWaTfCxI1eTmJ1BIv86vUfjVatOdxwD0DAVKYevY8SazeUUZtW+tNbsdejVO1GYE0GXJW1N1ahmiC3TFd+7wZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.4.tgz", + "integrity": "sha512-2n9Vgf4HSciFq8ttKXk+qy+GsyTXPV1An6QAwe/8bkbbqvG4VW1I/ZY1pNu2rf+h9bdzMLPbRSfcNxkHBy/Ydw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.0", + "@inquirer/core": "^10.2.2", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "5.1.18", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.18.tgz", + "integrity": "sha512-MilmWOzHa3Ks11tzvuAmFoAd/wRuaP3SwlT1IZhyMke31FKLxPiuDWcGXhU+PKveNOpAc4axzAgrgxuIJJRmLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.2", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.2.2.tgz", + "integrity": "sha512-yXq/4QUnk4sHMtmbd7irwiepjB8jXU0kkFRL4nr/aDBA2mDz13cMakEWdDwX3eSCTkk03kwcndD1zfRAIlELxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.0", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/editor": { + "version": "4.2.20", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.20.tgz", + "integrity": "sha512-7omh5y5bK672Q+Brk4HBbnHNowOZwrb/78IFXdrEB9PfdxL3GudQyDk8O9vQ188wj3xrEebS2M9n18BjJoI83g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.2", + "@inquirer/external-editor": "^1.0.2", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.20.tgz", + "integrity": "sha512-Dt9S+6qUg94fEvgn54F2Syf0Z3U8xmnBI9ATq2f5h9xt09fs2IJXSCIXyyVHwvggKWFXEY/7jATRo2K6Dkn6Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.2", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.2.tgz", + "integrity": "sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.0", + "iconv-lite": "^0.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz", + "integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.4.tgz", + "integrity": "sha512-cwSGpLBMwpwcZZsc6s1gThm0J+it/KIJ+1qFL2euLmSKUMGumJ5TcbMgxEjMjNHRGadouIYbiIgruKoDZk7klw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.2", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.20.tgz", + "integrity": "sha512-bbooay64VD1Z6uMfNehED2A2YOPHSJnQLs9/4WNiV/EK+vXczf/R988itL2XLDGTgmhMF2KkiWZo+iEZmc4jqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.2", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.20.tgz", + "integrity": "sha512-nxSaPV2cPvvoOmRygQR+h0B+Av73B01cqYLcr7NXcGXhbmsYfUb8fDdw2Us1bI2YsX+VvY7I7upgFYsyf8+Nug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.0", + "@inquirer/core": "^10.2.2", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.6.tgz", + "integrity": "sha512-68JhkiojicX9SBUD8FE/pSKbOKtwoyaVj1kwqLfvjlVXZvOy3iaSWX4dCLsZyYx/5Ur07Fq+yuDNOen+5ce6ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.2.4", + "@inquirer/confirm": "^5.1.18", + "@inquirer/editor": "^4.2.20", + "@inquirer/expand": "^4.0.20", + "@inquirer/input": "^4.2.4", + "@inquirer/number": "^3.0.20", + "@inquirer/password": "^4.0.20", + "@inquirer/rawlist": "^4.1.8", + "@inquirer/search": "^3.1.3", + "@inquirer/select": "^4.3.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.8.tgz", + "integrity": "sha512-CQ2VkIASbgI2PxdzlkeeieLRmniaUU1Aoi5ggEdm6BIyqopE9GuDXdDOj9XiwOqK5qm72oI2i6J+Gnjaa26ejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.2", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.3.tgz", + "integrity": "sha512-D5T6ioybJJH0IiSUK/JXcoRrrm8sXwzrVMjibuPs+AgxmogKslaafy1oxFiorNI4s3ElSkeQZbhYQgLqiL8h6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.2", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.4.tgz", + "integrity": "sha512-Qp20nySRmfbuJBBsgPU7E/cL62Hf250vMZRzYDcBHty2zdD1kKCnoDFWRr0WO2ZzaXp3R7a4esaVGJUx0E6zvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.0", + "@inquirer/core": "^10.2.2", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz", + "integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.1.tgz", + "integrity": "sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-strip": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-strip/-/plugin-strip-3.0.4.tgz", + "integrity": "sha512-LDRV49ZaavxUo2YoKKMQjCxzCxugu1rCPQa0lDYBOWLj6vtzBMr8DcoJjsmg+s450RbKbe3qI9ZLaSO+O1oNbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.50.2.tgz", + "integrity": "sha512-uLN8NAiFVIRKX9ZQha8wy6UUs06UNSZ32xj6giK/rmMXAgKahwExvK6SsmgU5/brh4w/nSgj8e0k3c1HBQpa0A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.50.2.tgz", + "integrity": "sha512-oEouqQk2/zxxj22PNcGSskya+3kV0ZKH+nQxuCCOGJ4oTXBdNTbv+f/E3c74cNLeMO1S5wVWacSws10TTSB77g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.50.2.tgz", + "integrity": "sha512-OZuTVTpj3CDSIxmPgGH8en/XtirV5nfljHZ3wrNwvgkT5DQLhIKAeuFSiwtbMto6oVexV0k1F1zqURPKf5rI1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.50.2.tgz", + "integrity": "sha512-Wa/Wn8RFkIkr1vy1k1PB//VYhLnlnn5eaJkfTQKivirOvzu5uVd2It01ukeQstMursuz7S1bU+8WW+1UPXpa8A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.50.2.tgz", + "integrity": "sha512-QkzxvH3kYN9J1w7D1A+yIMdI1pPekD+pWx7G5rXgnIlQ1TVYVC6hLl7SOV9pi5q9uIDF9AuIGkuzcbF7+fAhow==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.50.2.tgz", + "integrity": "sha512-dkYXB0c2XAS3a3jmyDkX4Jk0m7gWLFzq1C3qUnJJ38AyxIF5G/dyS4N9B30nvFseCfgtCEdbYFhk0ChoCGxPog==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.50.2.tgz", + "integrity": "sha512-9VlPY/BN3AgbukfVHAB8zNFWB/lKEuvzRo1NKev0Po8sYFKx0i+AQlCYftgEjcL43F2h9Ui1ZSdVBc4En/sP2w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.50.2.tgz", + "integrity": "sha512-+GdKWOvsifaYNlIVf07QYan1J5F141+vGm5/Y8b9uCZnG/nxoGqgCmR24mv0koIWWuqvFYnbURRqw1lv7IBINw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.50.2.tgz", + "integrity": "sha512-df0Eou14ojtUdLQdPFnymEQteENwSJAdLf5KCDrmZNsy1c3YaCNaJvYsEUHnrg+/DLBH612/R0xd3dD03uz2dg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.50.2.tgz", + "integrity": "sha512-iPeouV0UIDtz8j1YFR4OJ/zf7evjauqv7jQ/EFs0ClIyL+by++hiaDAfFipjOgyz6y6xbDvJuiU4HwpVMpRFDQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.50.2.tgz", + "integrity": "sha512-OL6KaNvBopLlj5fTa5D5bau4W82f+1TyTZRr2BdnfsrnQnmdxh4okMxR2DcDkJuh4KeoQZVuvHvzuD/lyLn2Kw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.50.2.tgz", + "integrity": "sha512-I21VJl1w6z/K5OTRl6aS9DDsqezEZ/yKpbqlvfHbW0CEF5IL8ATBMuUx6/mp683rKTK8thjs/0BaNrZLXetLag==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.50.2.tgz", + "integrity": "sha512-Hq6aQJT/qFFHrYMjS20nV+9SKrXL2lvFBENZoKfoTH2kKDOJqff5OSJr4x72ZaG/uUn+XmBnGhfr4lwMRrmqCQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.50.2.tgz", + "integrity": "sha512-82rBSEXRv5qtKyr0xZ/YMF531oj2AIpLZkeNYxmKNN6I2sVE9PGegN99tYDLK2fYHJITL1P2Lgb4ZXnv0PjQvw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.50.2.tgz", + "integrity": "sha512-4Q3S3Hy7pC6uaRo9gtXUTJ+EKo9AKs3BXKc2jYypEcMQ49gDPFU2P1ariX9SEtBzE5egIX6fSUmbmGazwBVF9w==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.50.2.tgz", + "integrity": "sha512-9Jie/At6qk70dNIcopcL4p+1UirusEtznpNtcq/u/C5cC4HBX7qSGsYIcG6bdxj15EYWhHiu02YvmdPzylIZlA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.50.2.tgz", + "integrity": "sha512-HPNJwxPL3EmhzeAnsWQCM3DcoqOz3/IC6de9rWfGR8ZCuEHETi9km66bH/wG3YH0V3nyzyFEGUZeL5PKyy4xvw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.50.2.tgz", + "integrity": "sha512-nMKvq6FRHSzYfKLHZ+cChowlEkR2lj/V0jYj9JnGUVPL2/mIeFGmVM2mLaFeNa5Jev7W7TovXqXIG2d39y1KYA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.50.2.tgz", + "integrity": "sha512-eFUvvnTYEKeTyHEijQKz81bLrUQOXKZqECeiWH6tb8eXXbZk+CXSG2aFrig2BQ/pjiVRj36zysjgILkqarS2YA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.50.2.tgz", + "integrity": "sha512-cBaWmXqyfRhH8zmUxK3d3sAhEWLrtMjWBRwdMMHJIXSjvjLKvv49adxiEz+FJ8AP90apSDDBx2Tyd/WylV6ikA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.50.2.tgz", + "integrity": "sha512-APwKy6YUhvZaEoHyM+9xqmTpviEI+9eL7LoCH+aLcvWYHJ663qG5zx7WzWZY+a9qkg5JtzcMyJ9z0WtQBMDmgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@standard-schema/spec": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", + "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sveltejs/acorn-typescript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz", + "integrity": "sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^8.9.0" + } + }, + "node_modules/@sveltejs/adapter-auto": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-6.1.0.tgz", + "integrity": "sha512-shOuLI5D2s+0zTv2ab5M5PqfknXqWbKi+0UwB9yLTRIdzsK1R93JOO8jNhIYSHdW+IYXIYnLniu+JZqXs7h9Wg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, + "node_modules/@sveltejs/kit": { + "version": "2.42.1", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.42.1.tgz", + "integrity": "sha512-SoWdb/OxEKHMlXZ78eNZa4pR1YdOGnUfcFj5NylJv+ZaTrnHK5xapw+7RJP2MiS1D4T+sEH25/tmMtmEl8p6VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/cookie": "^0.6.0", + "acorn": "^8.14.1", + "cookie": "^0.6.0", + "devalue": "^5.3.2", + "esm-env": "^1.2.2", + "kleur": "^4.1.5", + "magic-string": "^0.30.5", + "mrmime": "^2.0.0", + "sade": "^1.8.1", + "set-cookie-parser": "^2.6.0", + "sirv": "^3.0.0" + }, + "bin": { + "svelte-kit": "svelte-kit.js" + }, + "engines": { + "node": ">=18.13" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + } + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-6.2.0.tgz", + "integrity": "sha512-nJsV36+o7rZUDlrnSduMNl11+RoDE1cKqOI0yUEBCcqFoAZOk47TwD3dPKS2WmRutke9StXnzsPBslY7prDM9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0", + "debug": "^4.4.1", + "deepmerge": "^4.3.1", + "magic-string": "^0.30.17", + "vitefu": "^1.1.1" + }, + "engines": { + "node": "^20.19 || ^22.12 || >=24" + }, + "peerDependencies": { + "svelte": "^5.0.0", + "vite": "^6.3.0 || ^7.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-5.0.1.tgz", + "integrity": "sha512-ubWshlMk4bc8mkwWbg6vNvCeT7lGQojE3ijDh3QTR6Zr/R+GXxsGbyH4PExEPpiFmqPhYiVSVmHBjUcVc1JIrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.1" + }, + "engines": { + "node": "^20.19 || ^22.12 || >=24" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^6.0.0-next.0", + "svelte": "^5.0.0", + "vite": "^6.3.0 || ^7.0.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.13.tgz", + "integrity": "sha512-eq3ouolC1oEFOAvOMOBAmfCIqZBJuvWvvYWh5h5iOYfe1HFC6+GZ6EIL0JdM3/niGRJmnrOc+8gl9/HGUaaptw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.5.1", + "lightningcss": "1.30.1", + "magic-string": "^0.30.18", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.13" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.13.tgz", + "integrity": "sha512-CPgsM1IpGRa880sMbYmG1s4xhAy3xEt1QULgTJGQmZUeNgXFR7s1YxYygmJyBGtou4SyEosGAGEeYqY7R53bIA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.4", + "tar": "^7.4.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.13", + "@tailwindcss/oxide-darwin-arm64": "4.1.13", + "@tailwindcss/oxide-darwin-x64": "4.1.13", + "@tailwindcss/oxide-freebsd-x64": "4.1.13", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.13", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.13", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.13", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.13", + "@tailwindcss/oxide-linux-x64-musl": "4.1.13", + "@tailwindcss/oxide-wasm32-wasi": "4.1.13", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.13", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.13" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.13.tgz", + "integrity": "sha512-BrpTrVYyejbgGo57yc8ieE+D6VT9GOgnNdmh5Sac6+t0m+v+sKQevpFVpwX3pBrM2qKrQwJ0c5eDbtjouY/+ew==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.13.tgz", + "integrity": "sha512-YP+Jksc4U0KHcu76UhRDHq9bx4qtBftp9ShK/7UGfq0wpaP96YVnnjFnj3ZFrUAjc5iECzODl/Ts0AN7ZPOANQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.13.tgz", + "integrity": "sha512-aAJ3bbwrn/PQHDxCto9sxwQfT30PzyYJFG0u/BWZGeVXi5Hx6uuUOQEI2Fa43qvmUjTRQNZnGqe9t0Zntexeuw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.13.tgz", + "integrity": "sha512-Wt8KvASHwSXhKE/dJLCCWcTSVmBj3xhVhp/aF3RpAhGeZ3sVo7+NTfgiN8Vey/Fi8prRClDs6/f0KXPDTZE6nQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.13.tgz", + "integrity": "sha512-mbVbcAsW3Gkm2MGwA93eLtWrwajz91aXZCNSkGTx/R5eb6KpKD5q8Ueckkh9YNboU8RH7jiv+ol/I7ZyQ9H7Bw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.13.tgz", + "integrity": "sha512-wdtfkmpXiwej/yoAkrCP2DNzRXCALq9NVLgLELgLim1QpSfhQM5+ZxQQF8fkOiEpuNoKLp4nKZ6RC4kmeFH0HQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.13.tgz", + "integrity": "sha512-hZQrmtLdhyqzXHB7mkXfq0IYbxegaqTmfa1p9MBj72WPoDD3oNOh1Lnxf6xZLY9C3OV6qiCYkO1i/LrzEdW2mg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.13.tgz", + "integrity": "sha512-uaZTYWxSXyMWDJZNY1Ul7XkJTCBRFZ5Fo6wtjrgBKzZLoJNrG+WderJwAjPzuNZOnmdrVg260DKwXCFtJ/hWRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.13.tgz", + "integrity": "sha512-oXiPj5mi4Hdn50v5RdnuuIms0PVPI/EG4fxAfFiIKQh5TgQgX7oSuDWntHW7WNIi/yVLAiS+CRGW4RkoGSSgVQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.13.tgz", + "integrity": "sha512-+LC2nNtPovtrDwBc/nqnIKYh/W2+R69FA0hgoeOn64BdCX522u19ryLh3Vf3F8W49XBcMIxSe665kwy21FkhvA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.5", + "@emnapi/runtime": "^1.4.5", + "@emnapi/wasi-threads": "^1.0.4", + "@napi-rs/wasm-runtime": "^0.2.12", + "@tybys/wasm-util": "^0.10.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.13.tgz", + "integrity": "sha512-dziTNeQXtoQ2KBXmrjCxsuPk3F3CQ/yb7ZNZNA+UkNTeiTGgfeh+gH5Pi7mRncVgcPD2xgHvkFCh/MhZWSgyQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.13.tgz", + "integrity": "sha512-3+LKesjXydTkHk5zXX01b5KMzLV1xl2mcktBJkje7rhFUpUlYJy7IMOLqjIRQncLTa1WZZiFY/foAeB5nmaiTw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.13.tgz", + "integrity": "sha512-0PmqLQ010N58SbMTJ7BVJ4I2xopiQn/5i6nlb4JmxzQf8zcS5+m2Cv6tqh+sfDwtIdjoEnOvwsGQ1hkUi8QEHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.13", + "@tailwindcss/oxide": "4.1.13", + "tailwindcss": "4.1.13" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/inquirer": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/@types/inquirer/-/inquirer-9.0.9.tgz", + "integrity": "sha512-/mWx5136gts2Z2e5izdoRCo46lPp5TMs9R15GTSsgg/XnZyxDWVqoVU3R9lWnccKpqwsJLvRoxbCjoJtZB7DSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/through": "*", + "rxjs": "^7.2.0" + } + }, + "node_modules/@types/node": { + "version": "24.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.5.1.tgz", + "integrity": "sha512-/SQdmUP2xa+1rdx7VwB9yPq8PaKej8TD5cQ+XfKDPWWC+VDJU4rvVVagXqKUzhKjtFoNA8rXDJAkCxQPAe00+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.12.0" + } + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/through": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.33.tgz", + "integrity": "sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.4.tgz", + "integrity": "sha512-L+YvJwGAgwJBV1p6ffpSTa2KRc69EeeYGYjRVWKs0GKrK+LON0GC0gV+rKSNtALEDvMDqkvCFq9r1r94/Gjwxw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.26.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.2.tgz", + "integrity": "sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.8.3", + "caniuse-lite": "^1.0.30001741", + "electron-to-chromium": "^1.5.218", + "node-releases": "^2.0.21", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001743", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001743.tgz", + "integrity": "sha512-e6Ojr7RV14Un7dz6ASD0aZDmQPT/A+eZU+nuTNfjqmRrmkmQlnTNWH0SKmqagx9PeW87UVqapSurtAXifmtdmw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/change-case": { + "version": "5.4.4", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-5.4.4.tgz", + "integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/chardet": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz", + "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-declaration-sorter": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", + "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.1.tgz", + "integrity": "sha512-fm4D8ti0dQmFPeF8DXSAA//btEmqCOgAc/9Oa3C1LW94h5usNrJEfrON7b4FkPZgnDEn6OUs5NdxiJZmAtGOpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^7.0.9", + "lilconfig": "^3.1.3" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/cssnano-preset-default": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.9.tgz", + "integrity": "sha512-tCD6AAFgYBOVpMBX41KjbvRh9c2uUjLXRyV7KHSIrwHiq5Z9o0TFfUCoM3TwVrRsRteN3sVXGNvjVNxYzkpTsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.25.1", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^5.0.1", + "postcss-calc": "^10.1.1", + "postcss-colormin": "^7.0.4", + "postcss-convert-values": "^7.0.7", + "postcss-discard-comments": "^7.0.4", + "postcss-discard-duplicates": "^7.0.2", + "postcss-discard-empty": "^7.0.1", + "postcss-discard-overridden": "^7.0.1", + "postcss-merge-longhand": "^7.0.5", + "postcss-merge-rules": "^7.0.6", + "postcss-minify-font-values": "^7.0.1", + "postcss-minify-gradients": "^7.0.1", + "postcss-minify-params": "^7.0.4", + "postcss-minify-selectors": "^7.0.5", + "postcss-normalize-charset": "^7.0.1", + "postcss-normalize-display-values": "^7.0.1", + "postcss-normalize-positions": "^7.0.1", + "postcss-normalize-repeat-style": "^7.0.1", + "postcss-normalize-string": "^7.0.1", + "postcss-normalize-timing-functions": "^7.0.1", + "postcss-normalize-unicode": "^7.0.4", + "postcss-normalize-url": "^7.0.1", + "postcss-normalize-whitespace": "^7.0.1", + "postcss-ordered-values": "^7.0.2", + "postcss-reduce-initial": "^7.0.4", + "postcss-reduce-transforms": "^7.0.1", + "postcss-svgo": "^7.1.0", + "postcss-unique-selectors": "^7.0.4" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/cssnano-utils": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.1.tgz", + "integrity": "sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/del": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-8.0.0.tgz", + "integrity": "sha512-R6ep6JJ+eOBZsBr9esiNN1gxFbZE4Q2cULkUSFumGYecAiS6qodDvcPx/sFuWHMNul7DWmrtoEOpYSm7o6tbSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "globby": "^14.0.2", + "is-glob": "^4.0.3", + "is-path-cwd": "^3.0.0", + "is-path-inside": "^4.0.0", + "p-map": "^7.0.2", + "slash": "^5.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/detect-libc": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.0.tgz", + "integrity": "sha512-vEtk+OcP7VBRtQZ1EJ3bdgzSfBjgnEalLTp5zjJrS+2Z1w2KZly4SBdac/WDU3hhsNAZ9E8SC96ME4Ey8MZ7cg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.3.2.tgz", + "integrity": "sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==", + "dev": true, + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.220", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.220.tgz", + "integrity": "sha512-TWXijEwR1ggr4BdAKrb1nMNqYLTx1/4aD1fkeZU+FVJGTKu53/T7UyHKXlqEX3Ub02csyHePbHmkvnrjcaYzMA==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/esm-env": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", + "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/esrap": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.1.0.tgz", + "integrity": "sha512-yzmPNpl7TBbMRC5Lj2JlJZNPml0tzqoqP5B1JXycNUwtqma9AKCO0M2wHrdgsHcy1WRW7S9rJknAMtByg3usgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/glob": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz", + "integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.3.1", + "jackspeak": "^4.1.1", + "minimatch": "^10.0.3", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/iconv-lite": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", + "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/inquirer": { + "version": "9.3.8", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.3.8.tgz", + "integrity": "sha512-pFGGdaHrmRKMh4WoDDSowddgjT1Vkl90atobmTeSmcPGdYiwikch/m/Ef5wRaiamHejtw0cUUMMerzDUXCci2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/external-editor": "^1.0.2", + "@inquirer/figures": "^1.0.3", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "1.0.0", + "ora": "^5.4.1", + "run-async": "^3.0.0", + "rxjs": "^7.8.1", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/inquirer/node_modules/mute-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", + "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/inquirer/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-3.0.0.tgz", + "integrity": "sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-path-inside": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-reference": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", + "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.6" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isbinaryfile": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.6.tgz", + "integrity": "sha512-I+NmIfBHUl+r2wcDd6JwE9yWje/PIVY/R5/CmV8dXLZd5K+L9X2klAOwfAHNnondLXkbHyTAleQAWonpTJBTtw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", + "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jiti": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.5.1.tgz", + "integrity": "sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lightningcss": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", + "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.30.1", + "lightningcss-darwin-x64": "1.30.1", + "lightningcss-freebsd-x64": "1.30.1", + "lightningcss-linux-arm-gnueabihf": "1.30.1", + "lightningcss-linux-arm64-gnu": "1.30.1", + "lightningcss-linux-arm64-musl": "1.30.1", + "lightningcss-linux-x64-gnu": "1.30.1", + "lightningcss-linux-x64-musl": "1.30.1", + "lightningcss-win32-arm64-msvc": "1.30.1", + "lightningcss-win32-x64-msvc": "1.30.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", + "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", + "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", + "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", + "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", + "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", + "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", + "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", + "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", + "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", + "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "dev": true, + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "deprecated": "This package is deprecated. Use the optional chaining (?.) operator instead.", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.1.tgz", + "integrity": "sha512-r8LA6i4LP4EeWOhqBaZZjDWwehd1xUJPCJd9Sv300H0ZmcUER4+JPh7bqqZeqs1o5pgtgvXm+d9UGrB5zZGDiQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/magic-string": { + "version": "0.30.19", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", + "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-plop": { + "version": "0.32.1", + "resolved": "https://registry.npmjs.org/node-plop/-/node-plop-0.32.1.tgz", + "integrity": "sha512-yQLFYO/ELC3pIMrEVvwBPU6fcCMWFFqMsK49Zqp4TfNNo1PDcEbC/xcfX1SIu+Ez5QO/Skq/0t8ogsKicwLZWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/inquirer": "^9.0.9", + "change-case": "^5.4.4", + "del": "^8.0.0", + "globby": "^14.1.0", + "handlebars": "^4.7.8", + "inquirer": "^9.3.7", + "isbinaryfile": "^5.0.6", + "lodash.get": "^4.4.2", + "mkdirp": "^3.0.1", + "resolve": "^1.22.10", + "title-case": "^4.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-releases": { + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.21.tgz", + "integrity": "sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.1.1.tgz", + "integrity": "sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12 || ^20.9 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.38" + } + }, + "node_modules/postcss-colormin": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.4.tgz", + "integrity": "sha512-ziQuVzQZBROpKpfeDwmrG+Vvlr0YWmY/ZAk99XD+mGEBuEojoFekL41NCsdhyNUtZI7DPOoIWIR7vQQK9xwluw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.25.1", + "caniuse-api": "^3.0.0", + "colord": "^2.9.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-convert-values": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.7.tgz", + "integrity": "sha512-HR9DZLN04Xbe6xugRH6lS4ZQH2zm/bFh/ZyRkpedZozhvh+awAfbA0P36InO4fZfDhvYfNJeNvlTf1sjwGbw/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.25.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-discard-comments": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.4.tgz", + "integrity": "sha512-6tCUoql/ipWwKtVP/xYiFf1U9QgJ0PUvxN7pTcsQ8Ns3Fnwq1pU5D5s1MhT/XySeLq6GXNvn37U46Ded0TckWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.1.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.2.tgz", + "integrity": "sha512-eTonaQvPZ/3i1ASDHOKkYwAybiM45zFIc7KXils4mQmHLqIswXD9XNOKEVxtTFnsmwYzF66u4LMgSr0abDlh5w==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-discard-empty": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.1.tgz", + "integrity": "sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.1.tgz", + "integrity": "sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.5.tgz", + "integrity": "sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^7.0.5" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-merge-rules": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.6.tgz", + "integrity": "sha512-2jIPT4Tzs8K87tvgCpSukRQ2jjd+hH6Bb8rEEOUDmmhOeTcqDg5fEFK8uKIu+Pvc3//sm3Uu6FRqfyv7YF7+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.25.1", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^5.0.1", + "postcss-selector-parser": "^7.1.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.1.tgz", + "integrity": "sha512-2m1uiuJeTplll+tq4ENOQSzB8LRnSUChBv7oSyFLsJRtUgAAJGP6LLz0/8lkinTgxrmJSPOEhgY1bMXOQ4ZXhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.1.tgz", + "integrity": "sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "colord": "^2.9.3", + "cssnano-utils": "^5.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-minify-params": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.4.tgz", + "integrity": "sha512-3OqqUddfH8c2e7M35W6zIwv7jssM/3miF9cbCSb1iJiWvtguQjlxZGIHK9JRmc8XAKmE2PFGtHSM7g/VcW97sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.25.1", + "cssnano-utils": "^5.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.5.tgz", + "integrity": "sha512-x2/IvofHcdIrAm9Q+p06ZD1h6FPcQ32WtCRVodJLDR+WMn8EVHI1kvLxZuGKz/9EY5nAmI6lIQIrpo4tBy5+ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "postcss-selector-parser": "^7.1.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.1.tgz", + "integrity": "sha512-sn413ofhSQHlZFae//m9FTOfkmiZ+YQXsbosqOWRiVQncU2BA3daX3n0VF3cG6rGLSFVc5Di/yns0dFfh8NFgQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.1.tgz", + "integrity": "sha512-E5nnB26XjSYz/mGITm6JgiDpAbVuAkzXwLzRZtts19jHDUBFxZ0BkXAehy0uimrOjYJbocby4FVswA/5noOxrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.1.tgz", + "integrity": "sha512-pB/SzrIP2l50ZIYu+yQZyMNmnAcwyYb9R1fVWPRxm4zcUFCY2ign7rcntGFuMXDdd9L2pPNUgoODDk91PzRZuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.1.tgz", + "integrity": "sha512-NsSQJ8zj8TIDiF0ig44Byo3Jk9e4gNt9x2VIlJudnQQ5DhWAHJPF4Tr1ITwyHio2BUi/I6Iv0HRO7beHYOloYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-normalize-string": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.1.tgz", + "integrity": "sha512-QByrI7hAhsoze992kpbMlJSbZ8FuCEc1OT9EFbZ6HldXNpsdpZr+YXC5di3UEv0+jeZlHbZcoCADgb7a+lPmmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.1.tgz", + "integrity": "sha512-bHifyuuSNdKKsnNJ0s8fmfLMlvsQwYVxIoUBnowIVl2ZAdrkYQNGVB4RxjfpvkMjipqvbz0u7feBZybkl/6NJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.4.tgz", + "integrity": "sha512-LvIURTi1sQoZqj8mEIE8R15yvM+OhbR1avynMtI9bUzj5gGKR/gfZFd8O7VMj0QgJaIFzxDwxGl/ASMYAkqO8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.25.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-normalize-url": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.1.tgz", + "integrity": "sha512-sUcD2cWtyK1AOL/82Fwy1aIVm/wwj5SdZkgZ3QiUzSzQQofrbq15jWJ3BA7Z+yVRwamCjJgZJN0I9IS7c6tgeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.1.tgz", + "integrity": "sha512-vsbgFHMFQrJBJKrUFJNZ2pgBeBkC2IvvoHjz1to0/0Xk7sII24T0qFOiJzG6Fu3zJoq/0yI4rKWi7WhApW+EFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-ordered-values": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.2.tgz", + "integrity": "sha512-AMJjt1ECBffF7CEON/Y0rekRLS6KsePU6PRP08UqYW4UGFRnTXNrByUzYK1h8AC7UWTZdQ9O3Oq9kFIhm0SFEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^5.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.4.tgz", + "integrity": "sha512-rdIC9IlMBn7zJo6puim58Xd++0HdbvHeHaPgXsimMfG1ijC5A9ULvNLSE0rUKVJOvNMcwewW4Ga21ngyJjY/+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.25.1", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.1.tgz", + "integrity": "sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.1.0.tgz", + "integrity": "sha512-KnAlfmhtoLz6IuU3Sij2ycusNs4jPW+QoFE5kuuUOK8awR6tMxZQrs5Ey3BUz7nFCzT3eqyFgqkyrHiaU2xx3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^4.0.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.4.tgz", + "integrity": "sha512-pmlZjsmEAG7cHd7uK3ZiNSW6otSZ13RHuZ/4cDN/bVglS5EpF2r2oxY99SuOHa8m7AWoBCelTS3JPpzsIs8skQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^7.1.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/purgecss": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-7.0.2.tgz", + "integrity": "sha512-4Ku8KoxNhOWi9X1XJ73XY5fv+I+hhTRedKpGs/2gaBKU8ijUiIKF/uyyIyh7Wo713bELSICF5/NswjcuOqYouQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^12.1.0", + "glob": "^11.0.0", + "postcss": "^8.4.47", + "postcss-selector-parser": "^6.1.2" + }, + "bin": { + "purgecss": "bin/purgecss.js" + } + }, + "node_modules/purgecss/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.50.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.50.2.tgz", + "integrity": "sha512-BgLRGy7tNS9H66aIMASq1qSYbAAJV6Z6WR4QYTvj5FgF15rZ/ympT1uixHXwzbZUBDbkvqUI1KR0fH1FhMaQ9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.50.2", + "@rollup/rollup-android-arm64": "4.50.2", + "@rollup/rollup-darwin-arm64": "4.50.2", + "@rollup/rollup-darwin-x64": "4.50.2", + "@rollup/rollup-freebsd-arm64": "4.50.2", + "@rollup/rollup-freebsd-x64": "4.50.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.50.2", + "@rollup/rollup-linux-arm-musleabihf": "4.50.2", + "@rollup/rollup-linux-arm64-gnu": "4.50.2", + "@rollup/rollup-linux-arm64-musl": "4.50.2", + "@rollup/rollup-linux-loong64-gnu": "4.50.2", + "@rollup/rollup-linux-ppc64-gnu": "4.50.2", + "@rollup/rollup-linux-riscv64-gnu": "4.50.2", + "@rollup/rollup-linux-riscv64-musl": "4.50.2", + "@rollup/rollup-linux-s390x-gnu": "4.50.2", + "@rollup/rollup-linux-x64-gnu": "4.50.2", + "@rollup/rollup-linux-x64-musl": "4.50.2", + "@rollup/rollup-openharmony-arm64": "4.50.2", + "@rollup/rollup-win32-arm64-msvc": "4.50.2", + "@rollup/rollup-win32-ia32-msvc": "4.50.2", + "@rollup/rollup-win32-x64-msvc": "4.50.2", + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-visualizer": { + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.14.0.tgz", + "integrity": "sha512-VlDXneTDaKsHIw8yzJAFWtrzguoJ/LnQ+lMpoVfYJ3jJF4Ihe5oYLAqLklIK/35lgUY+1yEzCkHyZ1j4A5w5fA==", + "dev": true, + "license": "MIT", + "dependencies": { + "open": "^8.4.0", + "picomatch": "^4.0.2", + "source-map": "^0.7.4", + "yargs": "^17.5.1" + }, + "bin": { + "rollup-plugin-visualizer": "dist/bin/cli.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "rolldown": "1.x", + "rollup": "2.x || 3.x || 4.x" + }, + "peerDependenciesMeta": { + "rolldown": { + "optional": true + }, + "rollup": { + "optional": true + } + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/run-async": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", + "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true, + "license": "ISC" + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sirv": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/smob": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", + "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", + "dev": true, + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stylehacks": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.6.tgz", + "integrity": "sha512-iitguKivmsueOmTO0wmxURXBP8uqOO+zikLGZ7Mm9e/94R4w5T999Js2taS/KBOnQ/wdC3jN3vNSrkGDrlnqQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.25.1", + "postcss-selector-parser": "^7.1.0" + }, + "engines": { + "node": "^18.12.0 || ^20.9.0 || >=22.0" + }, + "peerDependencies": { + "postcss": "^8.4.32" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svelte": { + "version": "5.38.10", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.38.10.tgz", + "integrity": "sha512-UY+OhrWK7WI22bCZ00P/M3HtyWgwJPi9IxSRkoAE2MeAy6kl7ZlZWJZ8RaB+X4KD/G+wjis+cGVnVYaoqbzBqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "@jridgewell/sourcemap-codec": "^1.5.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/estree": "^1.0.5", + "acorn": "^8.12.1", + "aria-query": "^5.3.1", + "axobject-query": "^4.1.0", + "clsx": "^2.1.1", + "esm-env": "^1.2.1", + "esrap": "^2.1.0", + "is-reference": "^3.0.3", + "locate-character": "^3.0.0", + "magic-string": "^0.30.11", + "zimmerframe": "^1.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/svelte-check": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.3.1.tgz", + "integrity": "sha512-lkh8gff5gpHLjxIV+IaApMxQhTGnir2pNUAqcNgeKkvK5bT/30Ey/nzBxNLDlkztCH4dP7PixkMt9SWEKFPBWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "chokidar": "^4.0.1", + "fdir": "^6.2.0", + "picocolors": "^1.0.0", + "sade": "^1.7.4" + }, + "bin": { + "svelte-check": "bin/svelte-check" + }, + "engines": { + "node": ">= 18.0.0" + }, + "peerDependencies": { + "svelte": "^4.0.0 || ^5.0.0-next.0", + "typescript": ">=5.0.0" + } + }, + "node_modules/svelte-standalone": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/svelte-standalone/-/svelte-standalone-2.2.0.tgz", + "integrity": "sha512-mP+fUl77Pw8X8fED6UBvMbxzQnEdFXW6J91bxoyzHVYuPCIn105HVChOtPGb61/AflFLKeQvYXco7BHzO7ucRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@fullhuman/postcss-purgecss": "^7.0.2", + "@inquirer/prompts": "^7.2.1", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-strip": "^3.0.4", + "@rollup/plugin-terser": "^0.4.4", + "@tailwindcss/vite": "^4.0.6", + "commander": "^12.1.0", + "cssnano": "^7.0.6", + "find-up": "^7.0.0", + "glob": "^11.0.1", + "node-plop": "^0.32.0", + "rollup-plugin-visualizer": "^5.12.0", + "vite-plugin-lib-inject-css": "^2.1.1" + }, + "bin": { + "standalone": "dist/cli/cli.js" + } + }, + "node_modules/svgo": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.0.tgz", + "integrity": "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.4.1" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.13.tgz", + "integrity": "sha512-i+zidfmTqtwquj4hMEwdjshYYgMbOrPzb9a0M3ZgNa0JMoZeFC6bxZvO8yr8ozS6ix2SDz0+mvryPeBs2TFE+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.3.tgz", + "integrity": "sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/terser": { + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.0.tgz", + "integrity": "sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/title-case": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-4.3.2.tgz", + "integrity": "sha512-I/nkcBo73mO42Idfv08jhInV61IMb61OdIFxk+B4Gu1oBjWBPOLmhZdsli+oJCVaD+86pYQA93cJfFt224ZFAA==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", + "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/undici-types": { + "version": "7.12.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.12.0.tgz", + "integrity": "sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.5.tgz", + "integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-plugin-lib-inject-css": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/vite-plugin-lib-inject-css/-/vite-plugin-lib-inject-css-2.2.2.tgz", + "integrity": "sha512-NF30p0GwtfSAmVlxo2NgPXM2rEdtgV7LFi4lkzajKD7P3Ru/ZAFmI533M0Z5qyMZpvNMxVGkewzpjD0HOWtbDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ast-grep/napi": "^0.36.2", + "magic-string": "^0.30.17", + "picocolors": "^1.1.1" + }, + "peerDependencies": { + "vite": "*" + } + }, + "node_modules/vitefu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz", + "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==", + "dev": true, + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", + "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zimmerframe": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.4.tgz", + "integrity": "sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==", + "dev": true, + "license": "MIT" + } + } +} diff --git a/assets/widgets/package.json b/assets/widgets/package.json new file mode 100644 index 0000000..73d8af4 --- /dev/null +++ b/assets/widgets/package.json @@ -0,0 +1,24 @@ +{ + "name": "widgets", + "private": true, + "version": "0.0.1", + "type": "module", + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "prepare": "svelte-kit sync || echo ''", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch" + }, + "devDependencies": { + "@sveltejs/adapter-auto": "^6.0.0", + "@sveltejs/kit": "^2.22.0", + "@sveltejs/vite-plugin-svelte": "^6.0.0", + "svelte": "^5.0.0", + "svelte-check": "^4.0.0", + "svelte-standalone": "^2.2.0", + "typescript": "^5.0.0", + "vite": "^7.0.4" + } +} diff --git a/assets/widgets/src/_standalone/ProcessOverview/config.ts b/assets/widgets/src/_standalone/ProcessOverview/config.ts new file mode 100644 index 0000000..3ba12f9 --- /dev/null +++ b/assets/widgets/src/_standalone/ProcessOverview/config.ts @@ -0,0 +1,7 @@ +import ProcessOverview from './index.svelte'; + +import type { TargetEmbeddedWindow } from 'svelte-standalone'; + +declare global { + interface Window extends TargetEmbeddedWindow {} +} \ No newline at end of file diff --git a/assets/widgets/src/_standalone/ProcessOverview/embed.ts b/assets/widgets/src/_standalone/ProcessOverview/embed.ts new file mode 100644 index 0000000..0bd9d72 --- /dev/null +++ b/assets/widgets/src/_standalone/ProcessOverview/embed.ts @@ -0,0 +1,5 @@ +import { autoEmbedWithTarget } from 'svelte-standalone' + +import ProcessOverview from './index.svelte' + +autoEmbedWithTarget(ProcessOverview, 'ProcessOverview') diff --git a/assets/widgets/src/_standalone/ProcessOverview/index.svelte b/assets/widgets/src/_standalone/ProcessOverview/index.svelte new file mode 100644 index 0000000..4a12d2e --- /dev/null +++ b/assets/widgets/src/_standalone/ProcessOverview/index.svelte @@ -0,0 +1,95 @@ + + +{#if null === data} +
Fetching data …
+{:else if 0 === data.length} +
No data
+{:else} + + + + {#each data.columns as column} + + {/each} + + + + {#each data.rows as row} + + {#each row as cell} + + {/each} + + {/each} + +
{column.label}
+ {cell.value ?? cell.status ?? '--'} +
+ + + +
+ Data + +
{JSON.stringify(data, null, 2)}
+
+{/if} + diff --git a/assets/widgets/src/app.d.ts b/assets/widgets/src/app.d.ts new file mode 100644 index 0000000..da08e6d --- /dev/null +++ b/assets/widgets/src/app.d.ts @@ -0,0 +1,13 @@ +// See https://svelte.dev/docs/kit/types#app.d.ts +// for information about these interfaces +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface PageState {} + // interface Platform {} + } +} + +export {}; diff --git a/assets/widgets/src/app.html b/assets/widgets/src/app.html new file mode 100644 index 0000000..f273cc5 --- /dev/null +++ b/assets/widgets/src/app.html @@ -0,0 +1,11 @@ + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/assets/widgets/src/lib/assets/favicon.svg b/assets/widgets/src/lib/assets/favicon.svg new file mode 100644 index 0000000..cc5dc66 --- /dev/null +++ b/assets/widgets/src/lib/assets/favicon.svg @@ -0,0 +1 @@ +svelte-logo \ No newline at end of file diff --git a/assets/widgets/src/lib/index.ts b/assets/widgets/src/lib/index.ts new file mode 100644 index 0000000..856f2b6 --- /dev/null +++ b/assets/widgets/src/lib/index.ts @@ -0,0 +1 @@ +// place files you want to import through the `$lib` alias in this folder. diff --git a/assets/widgets/src/routes/+layout.svelte b/assets/widgets/src/routes/+layout.svelte new file mode 100644 index 0000000..20f8d04 --- /dev/null +++ b/assets/widgets/src/routes/+layout.svelte @@ -0,0 +1,11 @@ + + + + + + +{@render children?.()} diff --git a/assets/widgets/src/routes/+page.svelte b/assets/widgets/src/routes/+page.svelte new file mode 100644 index 0000000..cc88df0 --- /dev/null +++ b/assets/widgets/src/routes/+page.svelte @@ -0,0 +1,2 @@ +

Welcome to SvelteKit

+

Visit svelte.dev/docs/kit to read the documentation

diff --git a/assets/widgets/src/routes/ProcessOverview/+page.svelte b/assets/widgets/src/routes/ProcessOverview/+page.svelte new file mode 100644 index 0000000..e35ce95 --- /dev/null +++ b/assets/widgets/src/routes/ProcessOverview/+page.svelte @@ -0,0 +1,27 @@ + + +
+ + diff --git a/assets/widgets/static/api/v1/data.json b/assets/widgets/static/api/v1/data.json new file mode 100644 index 0000000..c626faf --- /dev/null +++ b/assets/widgets/static/api/v1/data.json @@ -0,0 +1 @@ +{"rows":[[{"type":"text","value":"0101011234"},{"type":"text","value":"Anna Hansen"},{"id":"1","name":"Digital Post udsendt","status":"SUCCESS","started_at":"2025-09-15T10:00:00Z","finished_at":"2025-09-15T10:05:00Z","failure":null,"type":"step"},{"id":"2","name":"Formular indsendt","status":"FAILED","started_at":"2025-09-15T10:05:10Z","finished_at":"2025-09-15T10:10:00Z","failure":{"code":"Fejlkode","message":"Fejlbesked","retryable":true,"occurred_at":"2025-09-15T10:10:00Z"},"type":"step"},{"id":"3","name":"Tandklinik registreret i Solteq","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"4","name":"Formular journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"5","name":"Borger fyldt 22 \u00e5r","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"6","name":"Udskrivning godkendt","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"7","name":"Journal og r\u00f8ntgen afleveret og journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"8","name":"Journal arkiveret","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"}],[{"type":"text","value":null},{"type":"text","value":"Peter Nielsen"},{"id":"1","name":"Digital Post udsendt","status":"SUCCESS","started_at":"2025-09-14T09:30:00Z","finished_at":"2025-09-14T09:35:00Z","failure":null,"type":"step"},{"id":"2","name":"Formular indsendt","status":"SUCCESS","started_at":"2025-09-14T09:35:10Z","finished_at":"2025-09-14T09:40:00Z","failure":null,"type":"step"},{"id":"3","name":"Tandklinik registreret i Solteq","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"4","name":"Formular journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"5","name":"Borger fyldt 22 \u00e5r","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"6","name":"Udskrivning godkendt","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"7","name":"Journal og r\u00f8ntgen afleveret og journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"8","name":"Journal arkiveret","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"}]],"columns":[{"label":"Borger","data":"metadata.cpr","type":"text"},{"label":"Name","data":"metadata.name","type":"text"},{"label":"Digital Post udsendt","type":"step"},{"label":"Formular indsendt","type":"step"},{"label":"Tandklinik registreret i Solteq","type":"step"},{"label":"Formular journaliseret","type":"step"},{"label":"Borger fyldt 22 \u00e5r","type":"step"},{"label":"Udskrivning godkendt","type":"step"},{"label":"Journal og r\u00f8ntgen afleveret og journaliseret","type":"step"},{"label":"Journal arkiveret","type":"step"}],"data":[{"process_id":"1","person":{"cpr":"0101011234","name":"Anna Hansen"},"metadata":{"cpr":"0101011234","name":"Anna Hansen"},"steps":[{"id":"1","name":"Digital Post udsendt","status":"SUCCESS","started_at":"2025-09-15T10:00:00Z","finished_at":"2025-09-15T10:05:00Z","failure":null},{"id":"2","name":"Formular indsendt","status":"FAILED","started_at":"2025-09-15T10:05:10Z","finished_at":"2025-09-15T10:10:00Z","failure":{"code":"Fejlkode","message":"Fejlbesked","retryable":true,"occurred_at":"2025-09-15T10:10:00Z"}},{"id":"3","name":"Tandklinik registreret i Solteq","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"4","name":"Formular journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"5","name":"Borger fyldt 22 \u00e5r","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"6","name":"Udskrivning godkendt","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"7","name":"Journal og r\u00f8ntgen afleveret og journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"8","name":"Journal arkiveret","status":"PENDING","started_at":null,"finished_at":null,"failure":null}],"updated_at":"2025-09-15T10:10:00Z"},{"process_id":"2","person":{"cpr_masked":"0202025678","name":"Peter Nielsen"},"metadata":{"cpr_masked":"0202025678","name":"Peter Nielsen"},"steps":[{"id":"1","name":"Digital Post udsendt","status":"SUCCESS","started_at":"2025-09-14T09:30:00Z","finished_at":"2025-09-14T09:35:00Z","failure":null},{"id":"2","name":"Formular indsendt","status":"SUCCESS","started_at":"2025-09-14T09:35:10Z","finished_at":"2025-09-14T09:40:00Z","failure":null},{"id":"3","name":"Tandklinik registreret i Solteq","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"4","name":"Formular journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"5","name":"Borger fyldt 22 \u00e5r","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"6","name":"Udskrivning godkendt","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"7","name":"Journal og r\u00f8ntgen afleveret og journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"8","name":"Journal arkiveret","status":"PENDING","started_at":null,"finished_at":null,"failure":null}],"updated_at":"2025-09-14T09:40:00Z"}]} diff --git a/assets/widgets/svelte.config.js b/assets/widgets/svelte.config.js new file mode 100644 index 0000000..1295460 --- /dev/null +++ b/assets/widgets/svelte.config.js @@ -0,0 +1,18 @@ +import adapter from '@sveltejs/adapter-auto'; +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; + +/** @type {import('@sveltejs/kit').Config} */ +const config = { + // Consult https://svelte.dev/docs/kit/integrations + // for more information about preprocessors + preprocess: vitePreprocess(), + + kit: { + // adapter-auto only supports some environments, see https://svelte.dev/docs/kit/adapter-auto for a list. + // If your environment is not supported, or you settled on a specific environment, switch out the adapter. + // See https://svelte.dev/docs/kit/adapters for more information about adapters. + adapter: adapter() + } +}; + +export default config; diff --git a/assets/widgets/tsconfig.json b/assets/widgets/tsconfig.json new file mode 100644 index 0000000..a5567ee --- /dev/null +++ b/assets/widgets/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "moduleResolution": "bundler" + } + // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias + // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files + // + // To make changes to top-level options such as include and exclude, we recommend extending + // the generated config; see https://svelte.dev/docs/kit/configuration#typescript +} diff --git a/assets/widgets/vite.config.ts b/assets/widgets/vite.config.ts new file mode 100644 index 0000000..f82b4af --- /dev/null +++ b/assets/widgets/vite.config.ts @@ -0,0 +1,21 @@ +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + plugins: [sveltekit()], + // Houston, we have a problem (https://en.wikipedia.org/wiki/Houston,_we_have_a_problem) + // + // Error during handleBuild: [vite]: Rollup failed to resolve import "$app/navigation" from "/app/assets/widgets/src/_standalone/ProcessOverview/index.svelte". + // This is most likely unintended because it can break your application at runtime. + // If you do want to externalize this module explicitly add it to + // `build.rollupOptions.external` + // + // https://rollupjs.org/configuration-options/#external + build: { + rollupOptions: { + external: [ + '$app/state', + ] + } + } +}); diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 0618562..c49aebb 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -20,3 +20,11 @@ services: - ./mocks:/app/mocks ports: - "3030" + + node: + image: node:24 + profiles: + - dev + working_dir: /app + volumes: + - .:/app diff --git a/templates/process_overview/show.html.twig b/templates/process_overview/show.html.twig index fa911ff..d234780 100644 --- a/templates/process_overview/show.html.twig +++ b/templates/process_overview/show.html.twig @@ -2,24 +2,13 @@ {% block title %}{{ 'Overview {label}'|trans({label: overview.label}) }}{% endblock %} -{% block javascripts %} - {{ parent() }} - -{% endblock %} - {% block content %} {{ include('_partials/group_header.html.twig', {group: overview.group, overview: overview}) }} + {# https://standalone.brenoliradev.com/embed.html#auto-embed-with-target #} +
+ +
{{ 'Loading data …'|trans }}
From 5fff920fac7dacf665d4fe18b9366b28e3b3172b Mon Sep 17 00:00:00 2001 From: Mikkel Ricky Date: Wed, 17 Sep 2025 15:59:44 +0200 Subject: [PATCH 02/47] Cleaned up --- Taskfile.yml | 37 +- assets/widgets/.editorconfig | 18 + assets/widgets/.gitignore | 1 + assets/widgets/.prettierignore | 9 + assets/widgets/.prettierrc | 11 + assets/widgets/README.md | 2 +- assets/widgets/Taskfile.yml | 74 ++++ assets/widgets/compose.yaml | 38 ++ assets/widgets/package-lock.json | 33 +- assets/widgets/package.json | 8 +- .../src/_standalone/ProcessOverview/config.ts | 4 +- .../src/_standalone/ProcessOverview/embed.ts | 6 +- .../_standalone/ProcessOverview/index.svelte | 158 +++++---- assets/widgets/src/routes/+layout.svelte | 10 +- assets/widgets/src/routes/+page.svelte | 8 +- .../src/routes/ProcessOverview/+page.svelte | 26 +- assets/widgets/static/api/v1/data.json | 325 +++++++++++++++++- assets/widgets/vite.config.ts | 17 +- docker-compose.override.yml | 25 ++ public/widgets/ProcessOverview.min.js | 1 + 20 files changed, 669 insertions(+), 142 deletions(-) create mode 100644 assets/widgets/.editorconfig create mode 100644 assets/widgets/.prettierignore create mode 100644 assets/widgets/.prettierrc create mode 100644 assets/widgets/Taskfile.yml create mode 100644 assets/widgets/compose.yaml create mode 100644 public/widgets/ProcessOverview.min.js diff --git a/Taskfile.yml b/Taskfile.yml index fe3d608..6bbf5c9 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -11,6 +11,10 @@ vars: includes: coding-standards: ./task/Taskfile.coding-standards.yml + widgets: + # https://taskfile.dev/usage/#directory-of-included-taskfile + taskfile: ./assets/widgets/Taskfile.yml + dir: ./assets/widgets tasks: default: @@ -96,29 +100,16 @@ tasks: - gsed --in-place='' 's/__/__/' translations/*.da.*xlf silent: true - widgets:build: - desc: Build widgets for production + build:widgets: + desc: Build widgets for production and copy to public folder cmds: - # Build the widgets - - task: compose - vars: - TASK_ARGS: run --rm node npm --prefix assets/widgets/ install - - rm -fr assets/widgets/static/dist/ && mkdir -p assets/widgets/static/dist/ - - task: compose - vars: - # https://standalone.brenoliradev.com/cli.html - # Using `--prefix` here does not work. - TASK_ARGS: run --rm node sh -c 'cd assets/widgets/ && npx standalone build --all --production' - - find assets/widgets/static/dist -type f + - task widgets:build # Copy result into public folder - # - rm -fr public/widgets - # Rsync is weird when it comes to including and excluding files … - - rsync -azv assets/widgets/static/dist/ --include '*/' --include '**/*.css' --include '**/*.js' --exclude '*' --delete public/widgets - - find public/widgets -type f - - widget:dev: - desc: Start widget dev server - cmds: - - echo http://localhost:3000/ProcessOverview - - docker compose run --rm --publish 3000:3000 node npm --prefix assets/widgets run dev -- --port 3000 --host + - rm -fr {{.PUBLIC_DIR}} + # rsync is weird when it comes to including and excluding files … + - rsync -azv {{.BUILD_DIR}} --include '*/' --include '**/*.css' --include '**/*.js' --exclude '*' --delete {{.PUBLIC_DIR}} + - find {{.PUBLIC_DIR}} -type f + vars: + BUILD_DIR: assets/widgets/static/dist/ + PUBLIC_DIR: public/widgets diff --git a/assets/widgets/.editorconfig b/assets/widgets/.editorconfig new file mode 100644 index 0000000..6737632 --- /dev/null +++ b/assets/widgets/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true +indent_style = tab +indent_size = 2 +charset = utf-8 +trim_trailing_whitespace = true + +[test/**/expected.css] +insert_final_newline = false + +[package.json] +indent_style = space + +[{Taskfile.yml,compose.yaml}] +indent_style = space diff --git a/assets/widgets/.gitignore b/assets/widgets/.gitignore index 3b462cb..df48057 100644 --- a/assets/widgets/.gitignore +++ b/assets/widgets/.gitignore @@ -1,4 +1,5 @@ node_modules +static/dist # Output .output diff --git a/assets/widgets/.prettierignore b/assets/widgets/.prettierignore new file mode 100644 index 0000000..f71f624 --- /dev/null +++ b/assets/widgets/.prettierignore @@ -0,0 +1,9 @@ +# Package Managers +package-lock.json +pnpm-lock.yaml +yarn.lock +bun.lock +bun.lockb + +# Miscellaneous +/static/dist/ diff --git a/assets/widgets/.prettierrc b/assets/widgets/.prettierrc new file mode 100644 index 0000000..b82528f --- /dev/null +++ b/assets/widgets/.prettierrc @@ -0,0 +1,11 @@ +useTabs: true +singleQuote: true +trailingComma: none +printWidth: 100 +# prettier-plugin-svelte is installed in our custom prettier docker image (cf. ../compose.yaml) +# plugins: +# - prettier-plugin-svelte +overrides: + - files: '*.svelte' + options: + parser: svelte diff --git a/assets/widgets/README.md b/assets/widgets/README.md index 218a5a7..e12ac8c 100644 --- a/assets/widgets/README.md +++ b/assets/widgets/README.md @@ -3,5 +3,5 @@ ``` shell -npx standalone build --all +task ``` diff --git a/assets/widgets/Taskfile.yml b/assets/widgets/Taskfile.yml new file mode 100644 index 0000000..7addad1 --- /dev/null +++ b/assets/widgets/Taskfile.yml @@ -0,0 +1,74 @@ +# https://taskfile.dev + +version: '3' + +vars: + APP_PORT: 3000 + BASE_PATH: tidy_feedback + WIDGET_URL: 'http://localhost:{{.APP_PORT}}/{{.BASE_PATH}}' + + DOCKER_COMPOSE: '{{.TASK_DOCKER_COMPOSE | default "docker compose" }}' + +tasks: + build: + desc: Build widget for production + deps: [install] + cmds: + - rm -fr static/dist && mkdir -p static/dist + - docker compose run --rm node npx standalone build --all --production + + build:dev: + desc: Build widget for develoment + deps: [install] + cmds: + - docker compose run --rm node npx standalone build --all + + dev: + desc: 'Open widget dev site and start Vite dev server' + deps: [install] + cmds: + # https://stackoverflow.com/a/73821896 + # - docker compose run --env ORIGIN=http://localhost:3000 --rm --publish '{{.APP_PORT}}:{{.APP_PORT}}' node npm run dev -- --port {{.APP_PORT}} --host + - docker compose run --name tidy-feedback-widget --rm --publish '{{.APP_PORT}}:{{.APP_PORT}}' node npm run dev -- --port {{.APP_PORT}} --host + + open: + desc: 'Open widget dev site' + cmds: + - open "{{.WIDGET_URL}}" + + install: + cmds: + - COMPOSE_PROFILES='*' docker compose pull + - task npm -- install + internal: true + + npm: + desc: 'Run npm command. Example: task {{.TASK}} -- install' + cmds: + - docker compose run --rm node npm {{.CLI_ARGS}} + + coding-standards:apply: + desc: 'Apply coding standards' + cmds: + - task: compose + vars: + TASK_ARGS: run --rm prettier . --write + + coding-standards:check: + desc: 'Apply and check coding standards' + cmds: + - task: coding-standards:apply + - task: compose + vars: + TASK_ARGS: run --rm prettier . --check + + compose: + desc: Run docker compose + cmds: + - '{{.DOCKER_COMPOSE}} {{.TASK_ARGS}} {{.CLI_ARGS}}' + internal: true + + default: + cmds: + - task --list + silent: true diff --git a/assets/widgets/compose.yaml b/assets/widgets/compose.yaml new file mode 100644 index 0000000..d93634f --- /dev/null +++ b/assets/widgets/compose.yaml @@ -0,0 +1,38 @@ +services: + node: + image: node:24 + # https://github.com/nodejs/docker-node/blob/main/docs/BestPractices.md#handling-kernel-signals + # https://docs.docker.com/reference/compose-file/services/#init + init: true + working_dir: /app + volumes: + - .:/app + profiles: + - dev + ports: + - '3000:3000' + + prettier: + # Prettier does not (yet, fcf. + # https://github.com/prettier/prettier/issues/15206) have an official + # docker image. + # https://hub.docker.com/r/jauderho/prettier is good candidate (cf. https://hub.docker.com/search?q=prettier&sort=updated_at&order=desc) + # image: jauderho/prettier + build: + # Custom image to include https://github.com/sveltejs/prettier-plugin-svelte + dockerfile_inline: | + # https://github.com/jauderho/dockerfiles/blob/main/prettier/Dockerfile + FROM node:24 + + RUN npm install --global prettier prettier-plugin-svelte + + WORKDIR /work + + # Help prettier find our globally installed plugin + # (cf. https://github.com/prettier/prettier/issues/15141#issuecomment-2624767782) + ENTRYPOINT ["prettier", "--plugin", "/usr/local/lib/node_modules/prettier-plugin-svelte/plugin.js"] + CMD ["--help"] + volumes: + - ./:/work + profiles: + - dev diff --git a/assets/widgets/package-lock.json b/assets/widgets/package-lock.json index a8b3c62..3e67434 100644 --- a/assets/widgets/package-lock.json +++ b/assets/widgets/package-lock.json @@ -1,16 +1,18 @@ { - "name": "widgets", + "name": "rpa-project-overview-widgets", "version": "0.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "widgets", + "name": "rpa-project-overview-widgets", "version": "0.0.1", "devDependencies": { "@sveltejs/adapter-auto": "^6.0.0", "@sveltejs/kit": "^2.22.0", "@sveltejs/vite-plugin-svelte": "^6.0.0", + "prettier": "^3.6.2", + "prettier-plugin-svelte": "^3.4.0", "svelte": "^5.0.0", "svelte-check": "^4.0.0", "svelte-standalone": "^2.2.0", @@ -4826,6 +4828,33 @@ "dev": true, "license": "MIT" }, + "node_modules/prettier": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-svelte": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.4.0.tgz", + "integrity": "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "prettier": "^3.0.0", + "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" + } + }, "node_modules/purgecss": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-7.0.2.tgz", diff --git a/assets/widgets/package.json b/assets/widgets/package.json index 73d8af4..4268f91 100644 --- a/assets/widgets/package.json +++ b/assets/widgets/package.json @@ -1,5 +1,5 @@ { - "name": "widgets", + "name": "rpa-project-overview-widgets", "private": true, "version": "0.0.1", "type": "module", @@ -9,12 +9,16 @@ "preview": "vite preview", "prepare": "svelte-kit sync || echo ''", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch" + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "format": "prettier --write .", + "lint": "prettier --check ." }, "devDependencies": { "@sveltejs/adapter-auto": "^6.0.0", "@sveltejs/kit": "^2.22.0", "@sveltejs/vite-plugin-svelte": "^6.0.0", + "prettier": "^3.6.2", + "prettier-plugin-svelte": "^3.4.0", "svelte": "^5.0.0", "svelte-check": "^4.0.0", "svelte-standalone": "^2.2.0", diff --git a/assets/widgets/src/_standalone/ProcessOverview/config.ts b/assets/widgets/src/_standalone/ProcessOverview/config.ts index 3ba12f9..77c8932 100644 --- a/assets/widgets/src/_standalone/ProcessOverview/config.ts +++ b/assets/widgets/src/_standalone/ProcessOverview/config.ts @@ -3,5 +3,5 @@ import ProcessOverview from './index.svelte'; import type { TargetEmbeddedWindow } from 'svelte-standalone'; declare global { - interface Window extends TargetEmbeddedWindow {} -} \ No newline at end of file + interface Window extends TargetEmbeddedWindow {} +} diff --git a/assets/widgets/src/_standalone/ProcessOverview/embed.ts b/assets/widgets/src/_standalone/ProcessOverview/embed.ts index 0bd9d72..5a1d613 100644 --- a/assets/widgets/src/_standalone/ProcessOverview/embed.ts +++ b/assets/widgets/src/_standalone/ProcessOverview/embed.ts @@ -1,5 +1,5 @@ -import { autoEmbedWithTarget } from 'svelte-standalone' +import { autoEmbedWithTarget } from 'svelte-standalone'; -import ProcessOverview from './index.svelte' +import ProcessOverview from './index.svelte'; -autoEmbedWithTarget(ProcessOverview, 'ProcessOverview') +autoEmbedWithTarget(ProcessOverview, 'ProcessOverview'); diff --git a/assets/widgets/src/_standalone/ProcessOverview/index.svelte b/assets/widgets/src/_standalone/ProcessOverview/index.svelte index 4a12d2e..7e5de32 100644 --- a/assets/widgets/src/_standalone/ProcessOverview/index.svelte +++ b/assets/widgets/src/_standalone/ProcessOverview/index.svelte @@ -1,95 +1,101 @@ {#if null === data} -
Fetching data …
+
Fetching data …
{:else if 0 === data.length} -
No data
+
No data
{:else} - - - - {#each data.columns as column} - - {/each} - - - - {#each data.rows as row} - - {#each row as cell} - - {/each} - - {/each} - -
{column.label}
- {cell.value ?? cell.status ?? '--'} -
+ + + + {#each data.columns as column} + + {/each} + + + + {#each data.rows as row} + + {#each row as cell} + + {/each} + + {/each} + +
{column.label}
+ {cell.value ?? cell.status ?? '👻'} +
- + -
- Data +
+ Data -
{JSON.stringify(data, null, 2)}
-
-{/if} + {dataUrl} +
{JSON.stringify(data, null, 2)}
+
+{/if} diff --git a/assets/widgets/src/routes/+layout.svelte b/assets/widgets/src/routes/+layout.svelte index 20f8d04..183b04f 100644 --- a/assets/widgets/src/routes/+layout.svelte +++ b/assets/widgets/src/routes/+layout.svelte @@ -6,6 +6,14 @@ + -{@render children?.()} +
+ {@render children?.()} +
diff --git a/assets/widgets/src/routes/+page.svelte b/assets/widgets/src/routes/+page.svelte index cc88df0..84e4695 100644 --- a/assets/widgets/src/routes/+page.svelte +++ b/assets/widgets/src/routes/+page.svelte @@ -1,2 +1,6 @@ -

Welcome to SvelteKit

-

Visit svelte.dev/docs/kit to read the documentation

+

RPA Process Overview – the widgets

+ +

+ ProcessOverview + ProcessOverview (page 2) +

diff --git a/assets/widgets/src/routes/ProcessOverview/+page.svelte b/assets/widgets/src/routes/ProcessOverview/+page.svelte index e35ce95..ae011b4 100644 --- a/assets/widgets/src/routes/ProcessOverview/+page.svelte +++ b/assets/widgets/src/routes/ProcessOverview/+page.svelte @@ -2,26 +2,26 @@ import { onMount } from 'svelte'; onMount(() => { - const script = document.createElement('script'); - script.src = '/src/_standalone/ProcessOverview/embed.ts'; - script.async = true; - script.type = 'module'; + const script = document.createElement('script'); + script.src = '/src/_standalone/ProcessOverview/embed.ts'; + script.async = true; + script.type = 'module'; - document.head.appendChild(script); + document.head.appendChild(script); - return () => { - document.head.removeChild(script); - window.ProcessOverview.stop(); - }; + return () => { + document.head.removeChild(script); + window.ProcessOverview.stop(); + }; }); - const config = { - data_url: "/api/v1/data.json" - }; + const config = { + data_url: '/api/v1/data.json' + };
diff --git a/assets/widgets/static/api/v1/data.json b/assets/widgets/static/api/v1/data.json index c626faf..7deb4e9 100644 --- a/assets/widgets/static/api/v1/data.json +++ b/assets/widgets/static/api/v1/data.json @@ -1 +1,324 @@ -{"rows":[[{"type":"text","value":"0101011234"},{"type":"text","value":"Anna Hansen"},{"id":"1","name":"Digital Post udsendt","status":"SUCCESS","started_at":"2025-09-15T10:00:00Z","finished_at":"2025-09-15T10:05:00Z","failure":null,"type":"step"},{"id":"2","name":"Formular indsendt","status":"FAILED","started_at":"2025-09-15T10:05:10Z","finished_at":"2025-09-15T10:10:00Z","failure":{"code":"Fejlkode","message":"Fejlbesked","retryable":true,"occurred_at":"2025-09-15T10:10:00Z"},"type":"step"},{"id":"3","name":"Tandklinik registreret i Solteq","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"4","name":"Formular journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"5","name":"Borger fyldt 22 \u00e5r","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"6","name":"Udskrivning godkendt","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"7","name":"Journal og r\u00f8ntgen afleveret og journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"8","name":"Journal arkiveret","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"}],[{"type":"text","value":null},{"type":"text","value":"Peter Nielsen"},{"id":"1","name":"Digital Post udsendt","status":"SUCCESS","started_at":"2025-09-14T09:30:00Z","finished_at":"2025-09-14T09:35:00Z","failure":null,"type":"step"},{"id":"2","name":"Formular indsendt","status":"SUCCESS","started_at":"2025-09-14T09:35:10Z","finished_at":"2025-09-14T09:40:00Z","failure":null,"type":"step"},{"id":"3","name":"Tandklinik registreret i Solteq","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"4","name":"Formular journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"5","name":"Borger fyldt 22 \u00e5r","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"6","name":"Udskrivning godkendt","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"7","name":"Journal og r\u00f8ntgen afleveret og journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"},{"id":"8","name":"Journal arkiveret","status":"PENDING","started_at":null,"finished_at":null,"failure":null,"type":"step"}]],"columns":[{"label":"Borger","data":"metadata.cpr","type":"text"},{"label":"Name","data":"metadata.name","type":"text"},{"label":"Digital Post udsendt","type":"step"},{"label":"Formular indsendt","type":"step"},{"label":"Tandklinik registreret i Solteq","type":"step"},{"label":"Formular journaliseret","type":"step"},{"label":"Borger fyldt 22 \u00e5r","type":"step"},{"label":"Udskrivning godkendt","type":"step"},{"label":"Journal og r\u00f8ntgen afleveret og journaliseret","type":"step"},{"label":"Journal arkiveret","type":"step"}],"data":[{"process_id":"1","person":{"cpr":"0101011234","name":"Anna Hansen"},"metadata":{"cpr":"0101011234","name":"Anna Hansen"},"steps":[{"id":"1","name":"Digital Post udsendt","status":"SUCCESS","started_at":"2025-09-15T10:00:00Z","finished_at":"2025-09-15T10:05:00Z","failure":null},{"id":"2","name":"Formular indsendt","status":"FAILED","started_at":"2025-09-15T10:05:10Z","finished_at":"2025-09-15T10:10:00Z","failure":{"code":"Fejlkode","message":"Fejlbesked","retryable":true,"occurred_at":"2025-09-15T10:10:00Z"}},{"id":"3","name":"Tandklinik registreret i Solteq","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"4","name":"Formular journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"5","name":"Borger fyldt 22 \u00e5r","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"6","name":"Udskrivning godkendt","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"7","name":"Journal og r\u00f8ntgen afleveret og journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"8","name":"Journal arkiveret","status":"PENDING","started_at":null,"finished_at":null,"failure":null}],"updated_at":"2025-09-15T10:10:00Z"},{"process_id":"2","person":{"cpr_masked":"0202025678","name":"Peter Nielsen"},"metadata":{"cpr_masked":"0202025678","name":"Peter Nielsen"},"steps":[{"id":"1","name":"Digital Post udsendt","status":"SUCCESS","started_at":"2025-09-14T09:30:00Z","finished_at":"2025-09-14T09:35:00Z","failure":null},{"id":"2","name":"Formular indsendt","status":"SUCCESS","started_at":"2025-09-14T09:35:10Z","finished_at":"2025-09-14T09:40:00Z","failure":null},{"id":"3","name":"Tandklinik registreret i Solteq","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"4","name":"Formular journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"5","name":"Borger fyldt 22 \u00e5r","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"6","name":"Udskrivning godkendt","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"7","name":"Journal og r\u00f8ntgen afleveret og journaliseret","status":"PENDING","started_at":null,"finished_at":null,"failure":null},{"id":"8","name":"Journal arkiveret","status":"PENDING","started_at":null,"finished_at":null,"failure":null}],"updated_at":"2025-09-14T09:40:00Z"}]} +{ + "rows": [ + [ + { "type": "text", "value": "0101011234" }, + { "type": "text", "value": "Anna Hansen" }, + { + "id": "1", + "name": "Digital Post udsendt", + "status": "SUCCESS", + "started_at": "2025-09-15T10:00:00Z", + "finished_at": "2025-09-15T10:05:00Z", + "failure": null, + "type": "step" + }, + { + "id": "2", + "name": "Formular indsendt", + "status": "FAILED", + "started_at": "2025-09-15T10:05:10Z", + "finished_at": "2025-09-15T10:10:00Z", + "failure": { + "code": "Fejlkode", + "message": "Fejlbesked", + "retryable": true, + "occurred_at": "2025-09-15T10:10:00Z" + }, + "type": "step" + }, + { + "id": "3", + "name": "Tandklinik registreret i Solteq", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null, + "type": "step" + }, + { + "id": "4", + "name": "Formular journaliseret", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null, + "type": "step" + }, + { + "id": "5", + "name": "Borger fyldt 22 \u00e5r", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null, + "type": "step" + }, + { + "id": "6", + "name": "Udskrivning godkendt", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null, + "type": "step" + }, + { + "id": "7", + "name": "Journal og r\u00f8ntgen afleveret og journaliseret", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null, + "type": "step" + }, + { + "id": "8", + "name": "Journal arkiveret", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null, + "type": "step" + } + ], + [ + { "type": "text", "value": null }, + { "type": "text", "value": "Peter Nielsen" }, + { + "id": "1", + "name": "Digital Post udsendt", + "status": "SUCCESS", + "started_at": "2025-09-14T09:30:00Z", + "finished_at": "2025-09-14T09:35:00Z", + "failure": null, + "type": "step" + }, + { + "id": "2", + "name": "Formular indsendt", + "status": "SUCCESS", + "started_at": "2025-09-14T09:35:10Z", + "finished_at": "2025-09-14T09:40:00Z", + "failure": null, + "type": "step" + }, + { + "id": "3", + "name": "Tandklinik registreret i Solteq", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null, + "type": "step" + }, + { + "id": "4", + "name": "Formular journaliseret", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null, + "type": "step" + }, + { + "id": "5", + "name": "Borger fyldt 22 \u00e5r", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null, + "type": "step" + }, + { + "id": "6", + "name": "Udskrivning godkendt", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null, + "type": "step" + }, + { + "id": "7", + "name": "Journal og r\u00f8ntgen afleveret og journaliseret", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null, + "type": "step" + }, + { + "id": "8", + "name": "Journal arkiveret", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null, + "type": "step" + } + ] + ], + "columns": [ + { "label": "Borger", "data": "metadata.cpr", "type": "text" }, + { "label": "Name", "data": "metadata.name", "type": "text" }, + { "label": "Digital Post udsendt", "type": "step" }, + { "label": "Formular indsendt", "type": "step" }, + { "label": "Tandklinik registreret i Solteq", "type": "step" }, + { "label": "Formular journaliseret", "type": "step" }, + { "label": "Borger fyldt 22 \u00e5r", "type": "step" }, + { "label": "Udskrivning godkendt", "type": "step" }, + { "label": "Journal og r\u00f8ntgen afleveret og journaliseret", "type": "step" }, + { "label": "Journal arkiveret", "type": "step" } + ], + "data": [ + { + "process_id": "1", + "person": { "cpr": "0101011234", "name": "Anna Hansen" }, + "metadata": { "cpr": "0101011234", "name": "Anna Hansen" }, + "steps": [ + { + "id": "1", + "name": "Digital Post udsendt", + "status": "SUCCESS", + "started_at": "2025-09-15T10:00:00Z", + "finished_at": "2025-09-15T10:05:00Z", + "failure": null + }, + { + "id": "2", + "name": "Formular indsendt", + "status": "FAILED", + "started_at": "2025-09-15T10:05:10Z", + "finished_at": "2025-09-15T10:10:00Z", + "failure": { + "code": "Fejlkode", + "message": "Fejlbesked", + "retryable": true, + "occurred_at": "2025-09-15T10:10:00Z" + } + }, + { + "id": "3", + "name": "Tandklinik registreret i Solteq", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null + }, + { + "id": "4", + "name": "Formular journaliseret", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null + }, + { + "id": "5", + "name": "Borger fyldt 22 \u00e5r", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null + }, + { + "id": "6", + "name": "Udskrivning godkendt", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null + }, + { + "id": "7", + "name": "Journal og r\u00f8ntgen afleveret og journaliseret", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null + }, + { + "id": "8", + "name": "Journal arkiveret", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null + } + ], + "updated_at": "2025-09-15T10:10:00Z" + }, + { + "process_id": "2", + "person": { "cpr_masked": "0202025678", "name": "Peter Nielsen" }, + "metadata": { "cpr_masked": "0202025678", "name": "Peter Nielsen" }, + "steps": [ + { + "id": "1", + "name": "Digital Post udsendt", + "status": "SUCCESS", + "started_at": "2025-09-14T09:30:00Z", + "finished_at": "2025-09-14T09:35:00Z", + "failure": null + }, + { + "id": "2", + "name": "Formular indsendt", + "status": "SUCCESS", + "started_at": "2025-09-14T09:35:10Z", + "finished_at": "2025-09-14T09:40:00Z", + "failure": null + }, + { + "id": "3", + "name": "Tandklinik registreret i Solteq", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null + }, + { + "id": "4", + "name": "Formular journaliseret", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null + }, + { + "id": "5", + "name": "Borger fyldt 22 \u00e5r", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null + }, + { + "id": "6", + "name": "Udskrivning godkendt", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null + }, + { + "id": "7", + "name": "Journal og r\u00f8ntgen afleveret og journaliseret", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null + }, + { + "id": "8", + "name": "Journal arkiveret", + "status": "PENDING", + "started_at": null, + "finished_at": null, + "failure": null + } + ], + "updated_at": "2025-09-14T09:40:00Z" + } + ] +} diff --git a/assets/widgets/vite.config.ts b/assets/widgets/vite.config.ts index f82b4af..bbf8c7d 100644 --- a/assets/widgets/vite.config.ts +++ b/assets/widgets/vite.config.ts @@ -2,20 +2,5 @@ import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; export default defineConfig({ - plugins: [sveltekit()], - // Houston, we have a problem (https://en.wikipedia.org/wiki/Houston,_we_have_a_problem) - // - // Error during handleBuild: [vite]: Rollup failed to resolve import "$app/navigation" from "/app/assets/widgets/src/_standalone/ProcessOverview/index.svelte". - // This is most likely unintended because it can break your application at runtime. - // If you do want to externalize this module explicitly add it to - // `build.rollupOptions.external` - // - // https://rollupjs.org/configuration-options/#external - build: { - rollupOptions: { - external: [ - '$app/state', - ] - } - } + plugins: [sveltekit()] }); diff --git a/docker-compose.override.yml b/docker-compose.override.yml index c49aebb..409325d 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -28,3 +28,28 @@ services: working_dir: /app volumes: - .:/app + + prettier: !reset + # Prettier does not (yet, fcf. + # https://github.com/prettier/prettier/issues/15206) have an official + # docker image. + # https://hub.docker.com/r/jauderho/prettier is good candidate (cf. https://hub.docker.com/search?q=prettier&sort=updated_at&order=desc) + # image: jauderho/prettier + build: + # Custom image to include https://github.com/sveltejs/prettier-plugin-svelte + dockerfile_inline: | + # https://github.com/jauderho/dockerfiles/blob/main/prettier/Dockerfile + FROM node:24 + + RUN npm install --global prettier prettier-plugin-svelte + + WORKDIR /work + + # Help prettier find our globally installed plugin + # (cf. https://github.com/prettier/prettier/issues/15141#issuecomment-2624767782) + ENTRYPOINT ["prettier", "--plugin", "/usr/local/lib/node_modules/prettier-plugin-svelte/plugin.js"] + CMD ["--help"] + volumes: + - ./:/work + profiles: + - dev diff --git a/public/widgets/ProcessOverview.min.js b/public/widgets/ProcessOverview.min.js new file mode 100644 index 0000000..91c0fc0 --- /dev/null +++ b/public/widgets/ProcessOverview.min.js @@ -0,0 +1 @@ +(function(Yt){typeof define=="function"&&define.amd?define(Yt):Yt()})(function(){"use strict";var Zt=Array.isArray,be=Array.prototype.indexOf,tn=Array.from,nn=Object.defineProperty,xt=Object.getOwnPropertyDescriptor,xe=Object.getOwnPropertyDescriptors,Pe=Object.prototype,Se=Array.prototype,kn=Object.getPrototypeOf,jn=Object.isExtensible;const Pt=16,Rt=32,qn=64,C=256,en=512,E=1024,G=2048,ut=4096,W=8192,St=16384,rn=32768,ln=65536,Ee=1<<17,Dn=1<<19,un=1<<21,Oe=1<<22,it=1<<23,on=Symbol("$state"),an=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},S=Symbol(),Ne="http://www.w3.org/1999/xhtml";function Rn(t){return t===this.v}function Cn(t){return e=t,n=this.v,!(e!=e?n==n:e!==n||e!==null&&typeof e=="object"||typeof e=="function");var e,n}let L=null;function Ct(t){L=t}function Ln(t,e=!1,n){L={p:L,c:null,e:null,s:t,x:null,l:null}}function Tn(t){var e=L,n=e.e;if(n!==null)for(var r of(e.e=null,n))Xn(r);return L=e.p,{}}const Ae=new WeakMap;function sn(t,e){for(;e!==null;){if(128&e.f)try{return void e.b.error(t)}catch(n){t=n}e=e.parent}throw t instanceof Error&&Fn(t),t}function Fn(t){const e=Ae.get(t);e&&(nn(t,"message",{value:e.message}),nn(t,"stack",{value:e.stack}))}let vt=[];function Me(t){if(vt.length===0){var e=vt;queueMicrotask(()=>{e===vt&&(function(){var n=vt;vt=[],(function(r){for(var l=0;l{try{var i=t();o&&Promise.resolve(i).catch(()=>{})}catch(s){i=Promise.reject(s)}var a=()=>i;l=o?.then(a,a)??Promise.resolve(i),o=l;var c=O,p=r.is_pending();f&&(r.update_pending_count(1),p||c.increment());const h=(s,d=void 0)=>{o=null,p||c.activate(),d?d!==an&&(u.f|=it,Lt(u,d)):((u.f&it)!==0&&(u.f^=it),Lt(u,s)),f&&(r.update_pending_count(-1),p||c.decrement()),Wn()};if(l.then(h,s=>h(null,s||"unknown")),c)return()=>{queueMicrotask(()=>c.neuter())}}),new Promise(i=>{(function a(c){function p(){c===l?i(u):a(l)}c.then(p,p)})(l)})}function Un(t){var e=t.effects;if(e!==null){t.effects=null;for(var n=0;nje(h))).then(h=>{i?.activate(),c();try{n([...t.map(r),...h])}catch(s){(a.f&St)===0&&sn(s,a)}i?.deactivate(),Wn()}).catch(h=>{p.error(h)})}else n(t.map(r))}function Wn(){et(null),$(null),Ct(null)}const cn=new Set;let O=null,$n=new Set,Et=[],vn=null,dn=!1;class dt{current=new Map;#a=new Map;#l=new Set;#t=0;#s=null;#f=!1;#e=[];#u=[];#r=[];#n=[];#i=[];#c=[];#v=[];skipped_effects=new Set;process(e){Et=[];for(const l of e)this.#h(l);if(this.#e.length===0&&this.#t===0){this.#d();var n=this.#r,r=this.#n;this.#r=[],this.#n=[],this.#i=[],O=null,Jn(n),Jn(r),O===null?O=this:cn.delete(this),this.#s?.resolve()}else this.#o(this.#r),this.#o(this.#n),this.#o(this.#i);for(const l of this.#e)yt(l);for(const l of this.#u)yt(l);this.#e=[],this.#u=[]}#h(e){e.f^=E;for(var n=e.first;n!==null;){var r=n.f,l=!!(96&r);if(!(l&&(r&E)!==0||(r&W)!==0||this.skipped_effects.has(n))&&n.fn!==null){l?n.f^=E:4&r?this.#n.push(n):(r&E)===0&&((r&Oe)!==0?(n.b?.is_pending()?this.#u:this.#e).push(n):Bt(n)&&((n.f&Pt)!==0&&this.#i.push(n),yt(n)));var u=n.first;if(u!==null){n=u;continue}}var o=n.parent;for(n=n.next;n===null&&o!==null;)n=o.next,o=o.parent}}#o(e){for(const n of e)((n.f&G)!==0?this.#c:this.#v).push(n),j(n,E);e.length=0}capture(e,n){this.#a.has(e)||this.#a.set(e,n),this.current.set(e,e.v)}activate(){O=this}deactivate(){O=null;for(const e of $n)if($n.delete(e),e(),O!==null)break}neuter(){this.#f=!0}flush(){Et.length>0?(function(){var e=wt;dn=!0;try{var n=0;for(le(!0);Et.length>0;){var r=dt.ensure();n++>1e3&&De(),r.process(Et),nt.clear()}}finally{dn=!1,le(e),vn=null}})():this.#d(),O===this&&(this.#t===0&&cn.delete(this),this.deactivate())}#d(){if(!this.#f)for(const e of this.#l)e();this.#l.clear()}increment(){this.#t+=1}decrement(){if(this.#t-=1,this.#t===0){for(const e of this.#c)j(e,G),ht(e);for(const e of this.#v)j(e,ut),ht(e);this.#r=[],this.#n=[],this.flush()}else this.deactivate()}add_callback(e){this.#l.add(e)}settled(){return(this.#s??={promise:new Promise((r,l)=>{e=r,n=l}),resolve:e,reject:n}).promise;var e,n}static ensure(){if(O===null){const e=O=new dt;cn.add(O),dt.enqueue(()=>{O===e&&e.flush()})}return O}static enqueue(e){Me(e)}}function De(){try{(function(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")})()}catch(t){sn(t,vn)}}let ot=null;function Jn(t){var e=t.length;if(e!==0){for(var n=0;n0)){nt.clear();for(const l of ot)yt(l);ot=[]}}ot=null}}function ht(t){for(var e=vn=t;e.parent!==null;){var n=(e=e.parent).f;if(dn&&e===w&&(n&Pt)!==0)return;if(96&n){if((n&E)===0)return;e.f^=E}}Et.push(e)}const nt=new Map;function Ot(t,e){return{f:0,v:t,reactions:null,equals:Rn,rv:0,wv:0}}function T(t,e){const n=Ot(t);var r;return r=n,g!==null&&(X===null?X=[r]:X.push(r)),n}function F(t,e,n=!1){return g===null||at&&(g.f&Ee)===0||!(4325394&g.f)||X?.includes(t)||(function(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")})(),Lt(t,n?pt(e):e)}function Lt(t,e){if(!t.equals(e)){var n=t.v;mt?nt.set(t,e):nt.set(t,n),t.v=e,dt.ensure().capture(t,n),2&t.f&&((t.f&G)!==0&&fn(t),j(t,(t.f&C)===0?E:ut)),t.wv=ae(),Kn(t,G),w===null||(w.f&E)===0||96&w.f||(q===null?(function(r){q=r})([t]):q.push(t))}return e}function hn(t){F(t,t.v+1)}function Kn(t,e){var n=t.reactions;if(n!==null)for(var r=n.length,l=0;l{if(st===u)return f();var i=g,a=st;$(null),oe(u);var c=f();return $(i),oe(a),c};return r&&n.set("length",T(t.length)),new Proxy(t,{defineProperty(f,i,a){"value"in a&&a.configurable!==!1&&a.enumerable!==!1&&a.writable!==!1||(function(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")})();var c=n.get(i);return c===void 0?c=o(()=>{var p=T(a.value);return n.set(i,p),p}):F(c,a.value,!0),!0},deleteProperty(f,i){var a=n.get(i);if(a===void 0){if(i in f){const c=o(()=>T(S));n.set(i,c),hn(l)}}else F(a,S),hn(l);return!0},get(f,i,a){if(i===on)return t;var c=n.get(i),p=i in f;if(c!==void 0||p&&!xt(f,i)?.writable||(c=o(()=>T(pt(p?f[i]:S))),n.set(i,c)),c!==void 0){var h=b(c);return h===S?void 0:h}return Reflect.get(f,i,a)},getOwnPropertyDescriptor(f,i){var a=Reflect.getOwnPropertyDescriptor(f,i);if(a&&"value"in a){var c=n.get(i);c&&(a.value=b(c))}else if(a===void 0){var p=n.get(i),h=p?.v;if(p!==void 0&&h!==S)return{enumerable:!0,configurable:!0,value:h,writable:!0}}return a},has(f,i){if(i===on)return!0;var a=n.get(i),c=a!==void 0&&a.v!==S||Reflect.has(f,i);return(a!==void 0||w!==null&&(!c||xt(f,i)?.writable))&&(a===void 0&&(a=o(()=>T(c?pt(f[i]):S)),n.set(i,a)),b(a)===S)?!1:c},set(f,i,a,c){var p=n.get(i),h=i in f;if(r&&i==="length")for(var s=a;sT(S)),n.set(s+"",d))}p===void 0?h&&!xt(f,i)?.writable||(F(p=o(()=>T(void 0)),pt(a)),n.set(i,p)):(h=p.v!==S,F(p,o(()=>pt(a))));var v=Reflect.getOwnPropertyDescriptor(f,i);if(v?.set&&v.set.call(c,a),!h){if(r&&typeof i=="string"){var y=n.get("length"),_=Number(i);Number.isInteger(_)&&_>=y.v&&F(y,_+1)}hn(l)}return!0},ownKeys(f){b(l);var i=Reflect.ownKeys(f).filter(p=>{var h=n.get(p);return h===void 0||h.v!==S});for(var[a,c]of n)c.v===S||a in f||i.push(a);return i},setPrototypeOf(){(function(){throw new Error("https://svelte.dev/e/state_prototype_fixed")})()}})}var Vn,Hn,zn,Gn;function Tt(t=""){return document.createTextNode(t)}function Ft(t){return zn.call(t)}function It(t){return Gn.call(t)}function I(t,e){return Ft(t)}function pn(t,e){var n=Ft(t);return n instanceof Comment&&n.data===""?It(n):n}function Nt(t,e=1,n=!1){let r=t;for(;e--;)r=It(r);return r}function Qn(t){var e=g,n=w;$(null),et(null);try{return t()}finally{$(e),et(n)}}function Re(t){w===null&&g===null&&(function(){throw new Error("https://svelte.dev/e/effect_orphan")})(),g!==null&&(g.f&C)!==0&&w===null&&(function(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")})(),mt&&(function(){throw new Error("https://svelte.dev/e/effect_in_teardown")})()}function gt(t,e,n,r=!0){var l=w;l!==null&&(l.f&W)!==0&&(t|=W);var u={ctx:L,deps:null,nodes_start:null,nodes_end:null,f:t|G,first:null,fn:e,last:null,next:null,parent:l,b:l&&l.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(n)try{yt(u),u.f|=rn}catch(i){throw Q(u),i}else e!==null&&ht(u);if(r){var o=u;if(n&&o.deps===null&&o.teardown===null&&o.nodes_start===null&&o.first===o.last&&(o.f&Dn)===0&&(o=o.first),o!==null&&(o.parent=l,l!==null&&(function(i,a){var c=a.last;c===null?a.last=a.first=i:(c.next=i,i.prev=c,a.last=i)})(o,l),g!==null&&2&g.f&&(t&qn)===0)){var f=g;(f.effects??=[]).push(o)}}return u}function Xn(t){return gt(1048580,t,!1)}function Ut(t,e=[],n=[]){qe(e,n,r=>{gt(8,()=>t(...r.map(b)),!0)})}function Yn(t,e=0){return gt(Pt|e,t,!0)}function At(t,e=!0){return gt(524320,t,!0,e)}function Zn(t){var e=t.teardown;if(e!==null){const n=mt,r=g;ue(!0),$(null);try{e.call(null)}finally{ue(n),$(r)}}}function te(t,e=!1){var n=t.first;for(t.first=t.last=null;n!==null;){const l=n.ac;l!==null&&Qn(()=>{l.abort(an)});var r=n.next;(n.f&qn)!==0?n.parent=null:Q(n,e),n=r}}function Q(t,e=!0){var n=!1;(e||262144&t.f)&&t.nodes_start!==null&&t.nodes_end!==null&&((function(u,o){for(;u!==null;){var f=u===o?null:It(u);u.remove(),u=f}})(t.nodes_start,t.nodes_end),n=!0),te(t,e&&!n),Wt(t,0),j(t,St);var r=t.transitions;if(r!==null)for(const u of r)u.stop();Zn(t);var l=t.parent;l!==null&&l.first!==null&&ne(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes_start=t.nodes_end=t.ac=null}function ne(t){var e=t.parent,n=t.prev,r=t.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),e!==null&&(e.first===t&&(e.first=r),e.last===t&&(e.last=n))}function gn(t,e){var n=[];wn(t,n,!0),ee(n,()=>{Q(t),e&&e()})}function ee(t,e){var n=t.length;if(n>0){var r=()=>--n||e();for(var l of t)l.out(r)}else e()}function wn(t,e,n){if((t.f&W)===0){if(t.f^=W,t.transitions!==null)for(const u of t.transitions)(u.is_global||n)&&e.push(u);for(var r=t.first;r!==null;){var l=r.next;wn(r,e,((r.f&ln)!==0||(r.f&Rt)!==0)&&n),r=l}}}function mn(t){re(t,!0)}function re(t,e){if((t.f&W)!==0){t.f^=W,(t.f&E)===0&&(j(t,G),ht(t));for(var n=t.first;n!==null;){var r=n.next;re(n,((n.f&ln)!==0||(n.f&Rt)!==0)&&e),n=r}if(t.transitions!==null)for(const l of t.transitions)(l.is_global||e)&&l.in()}}let wt=!1;function le(t){wt=t}let mt=!1;function ue(t){mt=t}let g=null,at=!1;function $(t){g=t}let w=null;function et(t){w=t}let X=null,N=null,k=0,q=null,ie=1,Mt=0,st=Mt;function oe(t){st=t}let rt=!1;function ae(){return++ie}function Bt(t){var e=t.f;if((e&G)!==0)return!0;if((e&ut)!==0){var n=t.deps,r=(e&C)!==0;if(n!==null){var l,u,o=(e&en)!==0,f=r&&w!==null&&!rt,i=n.length;if((o||f)&&(w===null||(w.f&St)===0)){var a=t,c=a.parent;for(l=0;lt.wv)return!0}r&&(w===null||rt)||j(t,E)}return!1}function se(t,e,n=!0){var r=t.reactions;if(r!==null&&!X?.includes(t))for(var l=0;l{t.ac.abort(an)}),t.ac=null);try{t.f|=un;var p=(0,t.fn)(),h=t.deps;if(N!==null){var s;if(Wt(t,k),h!==null&&k>0)for(h.length=k+N.length,s=0;su||n});var c=g,p=w;$(null),et(null);try{for(var h,s=[];u!==null;){var d=u.assignedSlot||u.parentNode||u.host||null;try{var v=u["__"+r];if(v!=null&&(!u.disabled||t.target===u))if(Zt(v)){var[y,..._]=v;y.apply(u,[t,..._])}else v.call(u,t)}catch(U){h?s.push(U):h=U}if(t.cancelBubble||d===e||d===null)break;u=d}if(h){for(let U of s)queueMicrotask(()=>{throw U});throw h}}finally{t.__root=e,delete t.currentTarget,$(c),et(p)}}}function _n(t,e){var n=w;n.nodes_start===null&&(n.nodes_start=t,n.nodes_end=e)}function ft(t,e){var n,r=!!(1&e),l=!!(2&e),u=!t.startsWith("");return()=>{var o,f;n===void 0&&(o=u?t:""+t,(f=document.createElement("template")).innerHTML=o.replaceAll("",""),n=f.content,r||(n=Ft(n)));var i=l||Hn?document.importNode(n,!0):n.cloneNode(!0);return r?_n(Ft(i),i.lastChild):_n(i,i),i}}function he(){var t=document.createDocumentFragment(),e=document.createComment(""),n=Tt();return t.append(e,n),_n(e,n),t}function Y(t,e){t!==null&&t.before(e)}function kt(t,e){var n=e==null?"":typeof e=="object"?e+"":e;n!==(t.__t??=t.nodeValue)&&(t.__t=n,t.nodeValue=n+"")}function Ie(t,e){return(function(n,{target:r,anchor:l,props:u={},events:o,context:f,intro:i=!0}){(function(){if(Vn===void 0){Vn=window,Hn=/Firefox/.test(navigator.userAgent);var s=Element.prototype,d=Node.prototype,v=Text.prototype;zn=xt(d,"firstChild").get,Gn=xt(d,"nextSibling").get,jn(s)&&(s.__click=void 0,s.__className=void 0,s.__attributes=null,s.__style=void 0,s.__e=void 0),jn(v)&&(v.__t=void 0)}})();var a=new Set,c=s=>{for(var d=0;dnew Promise(y=>{v.outro?gn(d,()=>{Q(d),y(void 0)}):(Q(d),y(void 0))})})(()=>{var s=l??r.appendChild(Tt());return At(()=>{f&&(Ln({}),L.c=f),o&&(u.$$events=o),p=n(s,u)||{},f&&Tn()}),()=>{for(var d of a){r.removeEventListener(d,$t);var v=_t.get(d);--v===0?(document.removeEventListener(d,$t),_t.delete(d)):_t.set(d,v)}yn.delete(c),s!==l&&s.parentNode?.removeChild(s)}});return bn.set(p,h),p})(t,e)}const _t=new Map;let bn=new WeakMap;function pe(t,e,n=!1){var r=t,l=null,u=null,o=S,f=!1;const i=(h,s=!0)=>{f=!0,p(s,h)};var a=null;function c(){a!==null&&(a.lastChild.remove(),r.before(a),a=null);var h=o?l:u,s=o?u:l;h&&mn(h),s&&gn(s,()=>{o?u=null:l=null})}const p=(h,s)=>{if(o!==(o=h)){var d=!1,v=r;o?l??=s&&At(()=>s(v)):u??=s&&At(()=>s(v)),c()}};Yn(()=>{f=!1,e(i),f||p(null,null)},n?ln:0)}function Jt(t,e){return e}function Kt(t,e,n,r,l,u=null){var o,f={flags:e,items:new Map,first:null};o=t.appendChild(Tt());var i,a,c=null,p=!1,h=new Map,s=(function(v){const y=In(v);return y.equals=Cn,y})(()=>{var v=n();return Zt(v)?v:v==null?[]:tn(v)});function d(){(function(v,y,_,U,D,Vt,Ht,zt,Gt){var K,ct,V,P,H,z=y.length,R=_.items,B=_.first,m=B,x=null,A=[],M=[];for(H=0;H0&&(function(Sn,Dt,En){for(var ye=Sn.items,On=[],Qt=Dt.length,Nn=0;Nn0&&On.length===0&&En!==null;if(An){var _e=En.parentNode;_e.textContent="",_e.append(En),ye.clear(),J(Sn,Dt[0].prev,Dt[Qt-1].next)}ee(On,()=>{for(var Mn=0;Mnu(o)):c!==null&&gn(c,()=>{c=null}))}Yn(()=>{a??=w;var v=(i=b(s)).length;p&&v===0||(p=v===0,d(),b(s))})}function Ue(t,e,n,r){Lt(t.v,e),t.i=n}function Be(t,e,n,r,l,u,o,f,i,a,c){var p=1&i?16&i?Ot(l):(function(d,v=!1){const y=Ot(d);return v||(y.equals=Cn),y})(l,!1,!1):l,h=2&i?Ot(o):o,s={i:h,v:p,k:u,a:null,e:null,prev:n,next:r};try{return t===null&&document.createDocumentFragment().append(t=Tt()),s.e=At(()=>f(t,p,h,a),!1),s.e.prev=n&&n.e,s.e.next=r&&r.e,n===null?c||(e.first=s):(n.next=s,n.e.next=s.e),r!==null&&(r.prev=s,r.e.prev=s.e),s}finally{}}function xn(t,e,n){for(var r=t.next?t.next.e.nodes_start:n,l=e?e.e.nodes_start:n,u=t.e.nodes_start;u!==null&&u!==r;){var o=It(u);l.before(u),u=o}}function J(t,e,n){e===null?t.first=n:(e.next=n,e.e.next=n&&n.e),n!==null&&(n.prev=e,n.e.prev=e&&e.e)}function ge(t){var e,n,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var l=t.length;for(e=0;eFetching data …'),Ve=ft('
No data
'),He=ft(' '),ze=ft(" "),Ge=ft(""),Qe=(t,e,n)=>e(b(n),t),Xe=ft('
  • '),Ye=ft('
    Data
     
    ',1);(function(t){for(var e=0;e(function(l,u){const o=bn.get(l);return o?(bn.delete(l),o(u)):Promise.resolve()})(r)}})(function(t,e){Ln(e,!0);const n=(()=>{try{return JSON.parse(document.getElementById("ProcessOverview")?.dataset.config||"{}")}catch{return{}}})(),r=new URL(document.location.href);let l=T(pt((()=>{const d=parseInt(r.searchParams.get("page")??"1",10);return isNaN(d)?1:d})()));const u=[1,2,3],o=(d,v)=>{v.preventDefault(),F(l,d,!0),history.replaceState({},"",f(b(l)))},f=d=>(r.searchParams.set("page",d.toFixed()),r.toString());let i=T(null),a=T(null);(function(d){Re();var v=w.f;if(g||(v&Rt)===0||(v&rn)!==0)return Xn(d);var y=L;(y.e??=[]).push(d)})(()=>{const d=new URL(n.data_url,document.location.href);d.searchParams.set("page",b(l).toString()),F(i,d.toString(),!0),F(a,null),fetch(b(i)).then(v=>v.json()).then(v=>F(a,v,!0))});var c=he(),p=pn(c),h=d=>{Y(d,Ke())},s=d=>{var v=he(),y=pn(v),_=D=>{Y(D,Ve())},U=D=>{var Vt=Ye(),Ht=pn(Vt),zt=I(Ht);Kt(I(zt),21,()=>b(a).columns,Jt,(z,R)=>{var B=He(),m=I(B);Ut(()=>kt(m,b(R).label)),Y(z,B)}),Kt(Nt(zt),21,()=>b(a).rows,Jt,(z,R)=>{var B=Ge();Kt(B,21,()=>b(R),Jt,(m,x)=>{var A=ze(),M=I(A);Ut(()=>kt(M,b(x).value??b(x).status??"👻")),Y(m,A)}),Y(z,B)});var Gt=Nt(Ht,2);Kt(I(Gt),21,()=>u,Jt,(z,R)=>{var B=Xe(),m=I(B);m.__click=[Qe,o,R];var x=I(m);Ut(A=>{(function(M,Z,lt){var jt=M.__className;if(jt!==lt||jt===void 0){var bt=(function(tt){var qt=tt==null?"":""+tt;return qt===""?null:qt})(lt);bt==null?M.removeAttribute("class"):M.className=bt,M.__className=lt}})(B,0,We(["page-item",{stuff:!0,active:b(R)===b(l)}])),we(m,"href",A),kt(x,b(R))},[()=>f(b(R))]),Y(z,B)});var K=Nt(Gt,2),ct=Nt(I(K),2),V=I(ct),P=I(Nt(ct,2)),H=I(P);Ut(z=>{we(ct,"href",b(i)),kt(V,b(i)),kt(H,z)},[()=>JSON.stringify(b(a),null,2)]),Y(D,Vt)};pe(y,D=>{b(a).length===0?D(_):D(U,!1)},!0),Y(d,v)};pe(p,d=>{b(a)===null?d(h):d(s,!1)}),Y(t,c),Tn()},"ProcessOverview")}); From 9298e1aaa697b3596e574b16725e02e229d3e12a Mon Sep 17 00:00:00 2001 From: Mikkel Ricky Date: Wed, 17 Sep 2025 16:00:35 +0200 Subject: [PATCH 03/47] Moved widgets # Conflicts: # .gitignore --- .gitignore | 1 + .prettierignore | 2 +- Taskfile.yml | 6 +- assets/widgets/.idea/workspace.xml | 97 +++++++++++++++++++ docker-compose.override.yml | 2 +- {assets/widgets => widgets}/.editorconfig | 0 {assets/widgets => widgets}/.gitignore | 0 {assets/widgets => widgets}/.npmrc | 0 {assets/widgets => widgets}/.prettierignore | 0 {assets/widgets => widgets}/.prettierrc | 0 {assets/widgets => widgets}/README.md | 0 {assets/widgets => widgets}/Taskfile.yml | 0 {assets/widgets => widgets}/compose.yaml | 0 {assets/widgets => widgets}/package-lock.json | 0 {assets/widgets => widgets}/package.json | 0 .../src/_standalone/ProcessOverview/config.ts | 0 .../src/_standalone/ProcessOverview/embed.ts | 0 .../_standalone/ProcessOverview/index.svelte | 0 {assets/widgets => widgets}/src/app.d.ts | 0 {assets/widgets => widgets}/src/app.html | 0 .../src/lib/assets/favicon.svg | 0 {assets/widgets => widgets}/src/lib/index.ts | 0 .../src/routes/+layout.svelte | 0 .../src/routes/+page.svelte | 0 .../src/routes/ProcessOverview/+page.svelte | 0 .../static/api/v1/data.json | 0 {assets/widgets => widgets}/svelte.config.js | 0 {assets/widgets => widgets}/tsconfig.json | 0 {assets/widgets => widgets}/vite.config.ts | 0 29 files changed, 103 insertions(+), 5 deletions(-) create mode 100644 assets/widgets/.idea/workspace.xml rename {assets/widgets => widgets}/.editorconfig (100%) rename {assets/widgets => widgets}/.gitignore (100%) rename {assets/widgets => widgets}/.npmrc (100%) rename {assets/widgets => widgets}/.prettierignore (100%) rename {assets/widgets => widgets}/.prettierrc (100%) rename {assets/widgets => widgets}/README.md (100%) rename {assets/widgets => widgets}/Taskfile.yml (100%) rename {assets/widgets => widgets}/compose.yaml (100%) rename {assets/widgets => widgets}/package-lock.json (100%) rename {assets/widgets => widgets}/package.json (100%) rename {assets/widgets => widgets}/src/_standalone/ProcessOverview/config.ts (100%) rename {assets/widgets => widgets}/src/_standalone/ProcessOverview/embed.ts (100%) rename {assets/widgets => widgets}/src/_standalone/ProcessOverview/index.svelte (100%) rename {assets/widgets => widgets}/src/app.d.ts (100%) rename {assets/widgets => widgets}/src/app.html (100%) rename {assets/widgets => widgets}/src/lib/assets/favicon.svg (100%) rename {assets/widgets => widgets}/src/lib/index.ts (100%) rename {assets/widgets => widgets}/src/routes/+layout.svelte (100%) rename {assets/widgets => widgets}/src/routes/+page.svelte (100%) rename {assets/widgets => widgets}/src/routes/ProcessOverview/+page.svelte (100%) rename {assets/widgets => widgets}/static/api/v1/data.json (100%) rename {assets/widgets => widgets}/svelte.config.js (100%) rename {assets/widgets => widgets}/tsconfig.json (100%) rename {assets/widgets => widgets}/vite.config.ts (100%) diff --git a/.gitignore b/.gitignore index ca51fd0..1c43129 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,4 @@ /assets/vendor/ ###< symfony/asset-mapper ### *.local +.idea diff --git a/.prettierignore b/.prettierignore index fbdc709..38411bb 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,2 +1,2 @@ # The Svelte standalone widgets have a life of their own … -assets/widgets/ +widgets/ diff --git a/Taskfile.yml b/Taskfile.yml index 6bbf5c9..18d5805 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -13,8 +13,8 @@ includes: coding-standards: ./task/Taskfile.coding-standards.yml widgets: # https://taskfile.dev/usage/#directory-of-included-taskfile - taskfile: ./assets/widgets/Taskfile.yml - dir: ./assets/widgets + taskfile: ./widgets/Taskfile.yml + dir: ./widgets tasks: default: @@ -111,5 +111,5 @@ tasks: - rsync -azv {{.BUILD_DIR}} --include '*/' --include '**/*.css' --include '**/*.js' --exclude '*' --delete {{.PUBLIC_DIR}} - find {{.PUBLIC_DIR}} -type f vars: - BUILD_DIR: assets/widgets/static/dist/ + BUILD_DIR: widgets/static/dist/ PUBLIC_DIR: public/widgets diff --git a/assets/widgets/.idea/workspace.xml b/assets/widgets/.idea/workspace.xml new file mode 100644 index 0000000..bfaebf0 --- /dev/null +++ b/assets/widgets/.idea/workspace.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { + "associatedIndex": 6 +} + + + + + + + { + "keyToString": { + "ModuleVcsDetector.initialDetectionPerformed": "true", + "RunOnceActivity.ShowReadmeOnStart": "true", + "RunOnceActivity.git.unshallow": "true", + "git-widget-placeholder": "feature/svelte", + "node.js.detected.package.eslint": "true", + "node.js.selected.package.eslint": "(autodetect)", + "nodejs_package_manager_path": "npm", + "ts.external.directory.path": "/Users/rimi/ITK/github/itk-dev/rpa-process-overview/assets/widgets/node_modules/typescript/lib", + "vue.rearranger.settings.migration": "true" + } +} + + + + + + + + + + + + + + + 1758104430353 + + + + + + \ No newline at end of file diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 409325d..b867c56 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -29,7 +29,7 @@ services: volumes: - .:/app - prettier: !reset + prettier: # Prettier does not (yet, fcf. # https://github.com/prettier/prettier/issues/15206) have an official # docker image. diff --git a/assets/widgets/.editorconfig b/widgets/.editorconfig similarity index 100% rename from assets/widgets/.editorconfig rename to widgets/.editorconfig diff --git a/assets/widgets/.gitignore b/widgets/.gitignore similarity index 100% rename from assets/widgets/.gitignore rename to widgets/.gitignore diff --git a/assets/widgets/.npmrc b/widgets/.npmrc similarity index 100% rename from assets/widgets/.npmrc rename to widgets/.npmrc diff --git a/assets/widgets/.prettierignore b/widgets/.prettierignore similarity index 100% rename from assets/widgets/.prettierignore rename to widgets/.prettierignore diff --git a/assets/widgets/.prettierrc b/widgets/.prettierrc similarity index 100% rename from assets/widgets/.prettierrc rename to widgets/.prettierrc diff --git a/assets/widgets/README.md b/widgets/README.md similarity index 100% rename from assets/widgets/README.md rename to widgets/README.md diff --git a/assets/widgets/Taskfile.yml b/widgets/Taskfile.yml similarity index 100% rename from assets/widgets/Taskfile.yml rename to widgets/Taskfile.yml diff --git a/assets/widgets/compose.yaml b/widgets/compose.yaml similarity index 100% rename from assets/widgets/compose.yaml rename to widgets/compose.yaml diff --git a/assets/widgets/package-lock.json b/widgets/package-lock.json similarity index 100% rename from assets/widgets/package-lock.json rename to widgets/package-lock.json diff --git a/assets/widgets/package.json b/widgets/package.json similarity index 100% rename from assets/widgets/package.json rename to widgets/package.json diff --git a/assets/widgets/src/_standalone/ProcessOverview/config.ts b/widgets/src/_standalone/ProcessOverview/config.ts similarity index 100% rename from assets/widgets/src/_standalone/ProcessOverview/config.ts rename to widgets/src/_standalone/ProcessOverview/config.ts diff --git a/assets/widgets/src/_standalone/ProcessOverview/embed.ts b/widgets/src/_standalone/ProcessOverview/embed.ts similarity index 100% rename from assets/widgets/src/_standalone/ProcessOverview/embed.ts rename to widgets/src/_standalone/ProcessOverview/embed.ts diff --git a/assets/widgets/src/_standalone/ProcessOverview/index.svelte b/widgets/src/_standalone/ProcessOverview/index.svelte similarity index 100% rename from assets/widgets/src/_standalone/ProcessOverview/index.svelte rename to widgets/src/_standalone/ProcessOverview/index.svelte diff --git a/assets/widgets/src/app.d.ts b/widgets/src/app.d.ts similarity index 100% rename from assets/widgets/src/app.d.ts rename to widgets/src/app.d.ts diff --git a/assets/widgets/src/app.html b/widgets/src/app.html similarity index 100% rename from assets/widgets/src/app.html rename to widgets/src/app.html diff --git a/assets/widgets/src/lib/assets/favicon.svg b/widgets/src/lib/assets/favicon.svg similarity index 100% rename from assets/widgets/src/lib/assets/favicon.svg rename to widgets/src/lib/assets/favicon.svg diff --git a/assets/widgets/src/lib/index.ts b/widgets/src/lib/index.ts similarity index 100% rename from assets/widgets/src/lib/index.ts rename to widgets/src/lib/index.ts diff --git a/assets/widgets/src/routes/+layout.svelte b/widgets/src/routes/+layout.svelte similarity index 100% rename from assets/widgets/src/routes/+layout.svelte rename to widgets/src/routes/+layout.svelte diff --git a/assets/widgets/src/routes/+page.svelte b/widgets/src/routes/+page.svelte similarity index 100% rename from assets/widgets/src/routes/+page.svelte rename to widgets/src/routes/+page.svelte diff --git a/assets/widgets/src/routes/ProcessOverview/+page.svelte b/widgets/src/routes/ProcessOverview/+page.svelte similarity index 100% rename from assets/widgets/src/routes/ProcessOverview/+page.svelte rename to widgets/src/routes/ProcessOverview/+page.svelte diff --git a/assets/widgets/static/api/v1/data.json b/widgets/static/api/v1/data.json similarity index 100% rename from assets/widgets/static/api/v1/data.json rename to widgets/static/api/v1/data.json diff --git a/assets/widgets/svelte.config.js b/widgets/svelte.config.js similarity index 100% rename from assets/widgets/svelte.config.js rename to widgets/svelte.config.js diff --git a/assets/widgets/tsconfig.json b/widgets/tsconfig.json similarity index 100% rename from assets/widgets/tsconfig.json rename to widgets/tsconfig.json diff --git a/assets/widgets/vite.config.ts b/widgets/vite.config.ts similarity index 100% rename from assets/widgets/vite.config.ts rename to widgets/vite.config.ts From d4f1d7e57b50394515cc0cbc907b3f43199ea983 Mon Sep 17 00:00:00 2001 From: Mikkel Ricky Date: Thu, 18 Sep 2025 09:10:23 +0200 Subject: [PATCH 04/47] Added search widget --- public/widgets/ProcessOverview.min.js | 2 +- public/widgets/ProcessSearch.min.js | 1 + src/Controller/ProcessOverviewController.php | 12 + templates/process_overview/show.html.twig | 6 +- widgets/README.md | 2 +- .../_standalone/ProcessOverview/index.svelte | 129 +++++-- .../src/_standalone/ProcessSearch/config.ts | 7 + .../src/_standalone/ProcessSearch/embed.ts | 5 + .../_standalone/ProcessSearch/index.svelte | 63 ++++ widgets/src/routes/+page.svelte | 4 + .../src/routes/ProcessOverview/+page.svelte | 6 +- widgets/src/routes/ProcessSearch/+page.svelte | 23 ++ widgets/src/routes/api/data/+server.js | 345 ++++++++++++++++++ widgets/src/routes/api/search/+server.js | 342 +++++++++++++++++ widgets/static/api/v1/data.json | 324 ---------------- 15 files changed, 897 insertions(+), 374 deletions(-) create mode 100644 public/widgets/ProcessSearch.min.js create mode 100644 widgets/src/_standalone/ProcessSearch/config.ts create mode 100644 widgets/src/_standalone/ProcessSearch/embed.ts create mode 100644 widgets/src/_standalone/ProcessSearch/index.svelte create mode 100644 widgets/src/routes/ProcessSearch/+page.svelte create mode 100644 widgets/src/routes/api/data/+server.js create mode 100644 widgets/src/routes/api/search/+server.js delete mode 100644 widgets/static/api/v1/data.json diff --git a/public/widgets/ProcessOverview.min.js b/public/widgets/ProcessOverview.min.js index 91c0fc0..c29a2fb 100644 --- a/public/widgets/ProcessOverview.min.js +++ b/public/widgets/ProcessOverview.min.js @@ -1 +1 @@ -(function(Yt){typeof define=="function"&&define.amd?define(Yt):Yt()})(function(){"use strict";var Zt=Array.isArray,be=Array.prototype.indexOf,tn=Array.from,nn=Object.defineProperty,xt=Object.getOwnPropertyDescriptor,xe=Object.getOwnPropertyDescriptors,Pe=Object.prototype,Se=Array.prototype,kn=Object.getPrototypeOf,jn=Object.isExtensible;const Pt=16,Rt=32,qn=64,C=256,en=512,E=1024,G=2048,ut=4096,W=8192,St=16384,rn=32768,ln=65536,Ee=1<<17,Dn=1<<19,un=1<<21,Oe=1<<22,it=1<<23,on=Symbol("$state"),an=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},S=Symbol(),Ne="http://www.w3.org/1999/xhtml";function Rn(t){return t===this.v}function Cn(t){return e=t,n=this.v,!(e!=e?n==n:e!==n||e!==null&&typeof e=="object"||typeof e=="function");var e,n}let L=null;function Ct(t){L=t}function Ln(t,e=!1,n){L={p:L,c:null,e:null,s:t,x:null,l:null}}function Tn(t){var e=L,n=e.e;if(n!==null)for(var r of(e.e=null,n))Xn(r);return L=e.p,{}}const Ae=new WeakMap;function sn(t,e){for(;e!==null;){if(128&e.f)try{return void e.b.error(t)}catch(n){t=n}e=e.parent}throw t instanceof Error&&Fn(t),t}function Fn(t){const e=Ae.get(t);e&&(nn(t,"message",{value:e.message}),nn(t,"stack",{value:e.stack}))}let vt=[];function Me(t){if(vt.length===0){var e=vt;queueMicrotask(()=>{e===vt&&(function(){var n=vt;vt=[],(function(r){for(var l=0;l{try{var i=t();o&&Promise.resolve(i).catch(()=>{})}catch(s){i=Promise.reject(s)}var a=()=>i;l=o?.then(a,a)??Promise.resolve(i),o=l;var c=O,p=r.is_pending();f&&(r.update_pending_count(1),p||c.increment());const h=(s,d=void 0)=>{o=null,p||c.activate(),d?d!==an&&(u.f|=it,Lt(u,d)):((u.f&it)!==0&&(u.f^=it),Lt(u,s)),f&&(r.update_pending_count(-1),p||c.decrement()),Wn()};if(l.then(h,s=>h(null,s||"unknown")),c)return()=>{queueMicrotask(()=>c.neuter())}}),new Promise(i=>{(function a(c){function p(){c===l?i(u):a(l)}c.then(p,p)})(l)})}function Un(t){var e=t.effects;if(e!==null){t.effects=null;for(var n=0;nje(h))).then(h=>{i?.activate(),c();try{n([...t.map(r),...h])}catch(s){(a.f&St)===0&&sn(s,a)}i?.deactivate(),Wn()}).catch(h=>{p.error(h)})}else n(t.map(r))}function Wn(){et(null),$(null),Ct(null)}const cn=new Set;let O=null,$n=new Set,Et=[],vn=null,dn=!1;class dt{current=new Map;#a=new Map;#l=new Set;#t=0;#s=null;#f=!1;#e=[];#u=[];#r=[];#n=[];#i=[];#c=[];#v=[];skipped_effects=new Set;process(e){Et=[];for(const l of e)this.#h(l);if(this.#e.length===0&&this.#t===0){this.#d();var n=this.#r,r=this.#n;this.#r=[],this.#n=[],this.#i=[],O=null,Jn(n),Jn(r),O===null?O=this:cn.delete(this),this.#s?.resolve()}else this.#o(this.#r),this.#o(this.#n),this.#o(this.#i);for(const l of this.#e)yt(l);for(const l of this.#u)yt(l);this.#e=[],this.#u=[]}#h(e){e.f^=E;for(var n=e.first;n!==null;){var r=n.f,l=!!(96&r);if(!(l&&(r&E)!==0||(r&W)!==0||this.skipped_effects.has(n))&&n.fn!==null){l?n.f^=E:4&r?this.#n.push(n):(r&E)===0&&((r&Oe)!==0?(n.b?.is_pending()?this.#u:this.#e).push(n):Bt(n)&&((n.f&Pt)!==0&&this.#i.push(n),yt(n)));var u=n.first;if(u!==null){n=u;continue}}var o=n.parent;for(n=n.next;n===null&&o!==null;)n=o.next,o=o.parent}}#o(e){for(const n of e)((n.f&G)!==0?this.#c:this.#v).push(n),j(n,E);e.length=0}capture(e,n){this.#a.has(e)||this.#a.set(e,n),this.current.set(e,e.v)}activate(){O=this}deactivate(){O=null;for(const e of $n)if($n.delete(e),e(),O!==null)break}neuter(){this.#f=!0}flush(){Et.length>0?(function(){var e=wt;dn=!0;try{var n=0;for(le(!0);Et.length>0;){var r=dt.ensure();n++>1e3&&De(),r.process(Et),nt.clear()}}finally{dn=!1,le(e),vn=null}})():this.#d(),O===this&&(this.#t===0&&cn.delete(this),this.deactivate())}#d(){if(!this.#f)for(const e of this.#l)e();this.#l.clear()}increment(){this.#t+=1}decrement(){if(this.#t-=1,this.#t===0){for(const e of this.#c)j(e,G),ht(e);for(const e of this.#v)j(e,ut),ht(e);this.#r=[],this.#n=[],this.flush()}else this.deactivate()}add_callback(e){this.#l.add(e)}settled(){return(this.#s??={promise:new Promise((r,l)=>{e=r,n=l}),resolve:e,reject:n}).promise;var e,n}static ensure(){if(O===null){const e=O=new dt;cn.add(O),dt.enqueue(()=>{O===e&&e.flush()})}return O}static enqueue(e){Me(e)}}function De(){try{(function(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")})()}catch(t){sn(t,vn)}}let ot=null;function Jn(t){var e=t.length;if(e!==0){for(var n=0;n0)){nt.clear();for(const l of ot)yt(l);ot=[]}}ot=null}}function ht(t){for(var e=vn=t;e.parent!==null;){var n=(e=e.parent).f;if(dn&&e===w&&(n&Pt)!==0)return;if(96&n){if((n&E)===0)return;e.f^=E}}Et.push(e)}const nt=new Map;function Ot(t,e){return{f:0,v:t,reactions:null,equals:Rn,rv:0,wv:0}}function T(t,e){const n=Ot(t);var r;return r=n,g!==null&&(X===null?X=[r]:X.push(r)),n}function F(t,e,n=!1){return g===null||at&&(g.f&Ee)===0||!(4325394&g.f)||X?.includes(t)||(function(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")})(),Lt(t,n?pt(e):e)}function Lt(t,e){if(!t.equals(e)){var n=t.v;mt?nt.set(t,e):nt.set(t,n),t.v=e,dt.ensure().capture(t,n),2&t.f&&((t.f&G)!==0&&fn(t),j(t,(t.f&C)===0?E:ut)),t.wv=ae(),Kn(t,G),w===null||(w.f&E)===0||96&w.f||(q===null?(function(r){q=r})([t]):q.push(t))}return e}function hn(t){F(t,t.v+1)}function Kn(t,e){var n=t.reactions;if(n!==null)for(var r=n.length,l=0;l{if(st===u)return f();var i=g,a=st;$(null),oe(u);var c=f();return $(i),oe(a),c};return r&&n.set("length",T(t.length)),new Proxy(t,{defineProperty(f,i,a){"value"in a&&a.configurable!==!1&&a.enumerable!==!1&&a.writable!==!1||(function(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")})();var c=n.get(i);return c===void 0?c=o(()=>{var p=T(a.value);return n.set(i,p),p}):F(c,a.value,!0),!0},deleteProperty(f,i){var a=n.get(i);if(a===void 0){if(i in f){const c=o(()=>T(S));n.set(i,c),hn(l)}}else F(a,S),hn(l);return!0},get(f,i,a){if(i===on)return t;var c=n.get(i),p=i in f;if(c!==void 0||p&&!xt(f,i)?.writable||(c=o(()=>T(pt(p?f[i]:S))),n.set(i,c)),c!==void 0){var h=b(c);return h===S?void 0:h}return Reflect.get(f,i,a)},getOwnPropertyDescriptor(f,i){var a=Reflect.getOwnPropertyDescriptor(f,i);if(a&&"value"in a){var c=n.get(i);c&&(a.value=b(c))}else if(a===void 0){var p=n.get(i),h=p?.v;if(p!==void 0&&h!==S)return{enumerable:!0,configurable:!0,value:h,writable:!0}}return a},has(f,i){if(i===on)return!0;var a=n.get(i),c=a!==void 0&&a.v!==S||Reflect.has(f,i);return(a!==void 0||w!==null&&(!c||xt(f,i)?.writable))&&(a===void 0&&(a=o(()=>T(c?pt(f[i]):S)),n.set(i,a)),b(a)===S)?!1:c},set(f,i,a,c){var p=n.get(i),h=i in f;if(r&&i==="length")for(var s=a;sT(S)),n.set(s+"",d))}p===void 0?h&&!xt(f,i)?.writable||(F(p=o(()=>T(void 0)),pt(a)),n.set(i,p)):(h=p.v!==S,F(p,o(()=>pt(a))));var v=Reflect.getOwnPropertyDescriptor(f,i);if(v?.set&&v.set.call(c,a),!h){if(r&&typeof i=="string"){var y=n.get("length"),_=Number(i);Number.isInteger(_)&&_>=y.v&&F(y,_+1)}hn(l)}return!0},ownKeys(f){b(l);var i=Reflect.ownKeys(f).filter(p=>{var h=n.get(p);return h===void 0||h.v!==S});for(var[a,c]of n)c.v===S||a in f||i.push(a);return i},setPrototypeOf(){(function(){throw new Error("https://svelte.dev/e/state_prototype_fixed")})()}})}var Vn,Hn,zn,Gn;function Tt(t=""){return document.createTextNode(t)}function Ft(t){return zn.call(t)}function It(t){return Gn.call(t)}function I(t,e){return Ft(t)}function pn(t,e){var n=Ft(t);return n instanceof Comment&&n.data===""?It(n):n}function Nt(t,e=1,n=!1){let r=t;for(;e--;)r=It(r);return r}function Qn(t){var e=g,n=w;$(null),et(null);try{return t()}finally{$(e),et(n)}}function Re(t){w===null&&g===null&&(function(){throw new Error("https://svelte.dev/e/effect_orphan")})(),g!==null&&(g.f&C)!==0&&w===null&&(function(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")})(),mt&&(function(){throw new Error("https://svelte.dev/e/effect_in_teardown")})()}function gt(t,e,n,r=!0){var l=w;l!==null&&(l.f&W)!==0&&(t|=W);var u={ctx:L,deps:null,nodes_start:null,nodes_end:null,f:t|G,first:null,fn:e,last:null,next:null,parent:l,b:l&&l.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(n)try{yt(u),u.f|=rn}catch(i){throw Q(u),i}else e!==null&&ht(u);if(r){var o=u;if(n&&o.deps===null&&o.teardown===null&&o.nodes_start===null&&o.first===o.last&&(o.f&Dn)===0&&(o=o.first),o!==null&&(o.parent=l,l!==null&&(function(i,a){var c=a.last;c===null?a.last=a.first=i:(c.next=i,i.prev=c,a.last=i)})(o,l),g!==null&&2&g.f&&(t&qn)===0)){var f=g;(f.effects??=[]).push(o)}}return u}function Xn(t){return gt(1048580,t,!1)}function Ut(t,e=[],n=[]){qe(e,n,r=>{gt(8,()=>t(...r.map(b)),!0)})}function Yn(t,e=0){return gt(Pt|e,t,!0)}function At(t,e=!0){return gt(524320,t,!0,e)}function Zn(t){var e=t.teardown;if(e!==null){const n=mt,r=g;ue(!0),$(null);try{e.call(null)}finally{ue(n),$(r)}}}function te(t,e=!1){var n=t.first;for(t.first=t.last=null;n!==null;){const l=n.ac;l!==null&&Qn(()=>{l.abort(an)});var r=n.next;(n.f&qn)!==0?n.parent=null:Q(n,e),n=r}}function Q(t,e=!0){var n=!1;(e||262144&t.f)&&t.nodes_start!==null&&t.nodes_end!==null&&((function(u,o){for(;u!==null;){var f=u===o?null:It(u);u.remove(),u=f}})(t.nodes_start,t.nodes_end),n=!0),te(t,e&&!n),Wt(t,0),j(t,St);var r=t.transitions;if(r!==null)for(const u of r)u.stop();Zn(t);var l=t.parent;l!==null&&l.first!==null&&ne(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes_start=t.nodes_end=t.ac=null}function ne(t){var e=t.parent,n=t.prev,r=t.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),e!==null&&(e.first===t&&(e.first=r),e.last===t&&(e.last=n))}function gn(t,e){var n=[];wn(t,n,!0),ee(n,()=>{Q(t),e&&e()})}function ee(t,e){var n=t.length;if(n>0){var r=()=>--n||e();for(var l of t)l.out(r)}else e()}function wn(t,e,n){if((t.f&W)===0){if(t.f^=W,t.transitions!==null)for(const u of t.transitions)(u.is_global||n)&&e.push(u);for(var r=t.first;r!==null;){var l=r.next;wn(r,e,((r.f&ln)!==0||(r.f&Rt)!==0)&&n),r=l}}}function mn(t){re(t,!0)}function re(t,e){if((t.f&W)!==0){t.f^=W,(t.f&E)===0&&(j(t,G),ht(t));for(var n=t.first;n!==null;){var r=n.next;re(n,((n.f&ln)!==0||(n.f&Rt)!==0)&&e),n=r}if(t.transitions!==null)for(const l of t.transitions)(l.is_global||e)&&l.in()}}let wt=!1;function le(t){wt=t}let mt=!1;function ue(t){mt=t}let g=null,at=!1;function $(t){g=t}let w=null;function et(t){w=t}let X=null,N=null,k=0,q=null,ie=1,Mt=0,st=Mt;function oe(t){st=t}let rt=!1;function ae(){return++ie}function Bt(t){var e=t.f;if((e&G)!==0)return!0;if((e&ut)!==0){var n=t.deps,r=(e&C)!==0;if(n!==null){var l,u,o=(e&en)!==0,f=r&&w!==null&&!rt,i=n.length;if((o||f)&&(w===null||(w.f&St)===0)){var a=t,c=a.parent;for(l=0;lt.wv)return!0}r&&(w===null||rt)||j(t,E)}return!1}function se(t,e,n=!0){var r=t.reactions;if(r!==null&&!X?.includes(t))for(var l=0;l{t.ac.abort(an)}),t.ac=null);try{t.f|=un;var p=(0,t.fn)(),h=t.deps;if(N!==null){var s;if(Wt(t,k),h!==null&&k>0)for(h.length=k+N.length,s=0;su||n});var c=g,p=w;$(null),et(null);try{for(var h,s=[];u!==null;){var d=u.assignedSlot||u.parentNode||u.host||null;try{var v=u["__"+r];if(v!=null&&(!u.disabled||t.target===u))if(Zt(v)){var[y,..._]=v;y.apply(u,[t,..._])}else v.call(u,t)}catch(U){h?s.push(U):h=U}if(t.cancelBubble||d===e||d===null)break;u=d}if(h){for(let U of s)queueMicrotask(()=>{throw U});throw h}}finally{t.__root=e,delete t.currentTarget,$(c),et(p)}}}function _n(t,e){var n=w;n.nodes_start===null&&(n.nodes_start=t,n.nodes_end=e)}function ft(t,e){var n,r=!!(1&e),l=!!(2&e),u=!t.startsWith("");return()=>{var o,f;n===void 0&&(o=u?t:""+t,(f=document.createElement("template")).innerHTML=o.replaceAll("",""),n=f.content,r||(n=Ft(n)));var i=l||Hn?document.importNode(n,!0):n.cloneNode(!0);return r?_n(Ft(i),i.lastChild):_n(i,i),i}}function he(){var t=document.createDocumentFragment(),e=document.createComment(""),n=Tt();return t.append(e,n),_n(e,n),t}function Y(t,e){t!==null&&t.before(e)}function kt(t,e){var n=e==null?"":typeof e=="object"?e+"":e;n!==(t.__t??=t.nodeValue)&&(t.__t=n,t.nodeValue=n+"")}function Ie(t,e){return(function(n,{target:r,anchor:l,props:u={},events:o,context:f,intro:i=!0}){(function(){if(Vn===void 0){Vn=window,Hn=/Firefox/.test(navigator.userAgent);var s=Element.prototype,d=Node.prototype,v=Text.prototype;zn=xt(d,"firstChild").get,Gn=xt(d,"nextSibling").get,jn(s)&&(s.__click=void 0,s.__className=void 0,s.__attributes=null,s.__style=void 0,s.__e=void 0),jn(v)&&(v.__t=void 0)}})();var a=new Set,c=s=>{for(var d=0;dnew Promise(y=>{v.outro?gn(d,()=>{Q(d),y(void 0)}):(Q(d),y(void 0))})})(()=>{var s=l??r.appendChild(Tt());return At(()=>{f&&(Ln({}),L.c=f),o&&(u.$$events=o),p=n(s,u)||{},f&&Tn()}),()=>{for(var d of a){r.removeEventListener(d,$t);var v=_t.get(d);--v===0?(document.removeEventListener(d,$t),_t.delete(d)):_t.set(d,v)}yn.delete(c),s!==l&&s.parentNode?.removeChild(s)}});return bn.set(p,h),p})(t,e)}const _t=new Map;let bn=new WeakMap;function pe(t,e,n=!1){var r=t,l=null,u=null,o=S,f=!1;const i=(h,s=!0)=>{f=!0,p(s,h)};var a=null;function c(){a!==null&&(a.lastChild.remove(),r.before(a),a=null);var h=o?l:u,s=o?u:l;h&&mn(h),s&&gn(s,()=>{o?u=null:l=null})}const p=(h,s)=>{if(o!==(o=h)){var d=!1,v=r;o?l??=s&&At(()=>s(v)):u??=s&&At(()=>s(v)),c()}};Yn(()=>{f=!1,e(i),f||p(null,null)},n?ln:0)}function Jt(t,e){return e}function Kt(t,e,n,r,l,u=null){var o,f={flags:e,items:new Map,first:null};o=t.appendChild(Tt());var i,a,c=null,p=!1,h=new Map,s=(function(v){const y=In(v);return y.equals=Cn,y})(()=>{var v=n();return Zt(v)?v:v==null?[]:tn(v)});function d(){(function(v,y,_,U,D,Vt,Ht,zt,Gt){var K,ct,V,P,H,z=y.length,R=_.items,B=_.first,m=B,x=null,A=[],M=[];for(H=0;H0&&(function(Sn,Dt,En){for(var ye=Sn.items,On=[],Qt=Dt.length,Nn=0;Nn0&&On.length===0&&En!==null;if(An){var _e=En.parentNode;_e.textContent="",_e.append(En),ye.clear(),J(Sn,Dt[0].prev,Dt[Qt-1].next)}ee(On,()=>{for(var Mn=0;Mnu(o)):c!==null&&gn(c,()=>{c=null}))}Yn(()=>{a??=w;var v=(i=b(s)).length;p&&v===0||(p=v===0,d(),b(s))})}function Ue(t,e,n,r){Lt(t.v,e),t.i=n}function Be(t,e,n,r,l,u,o,f,i,a,c){var p=1&i?16&i?Ot(l):(function(d,v=!1){const y=Ot(d);return v||(y.equals=Cn),y})(l,!1,!1):l,h=2&i?Ot(o):o,s={i:h,v:p,k:u,a:null,e:null,prev:n,next:r};try{return t===null&&document.createDocumentFragment().append(t=Tt()),s.e=At(()=>f(t,p,h,a),!1),s.e.prev=n&&n.e,s.e.next=r&&r.e,n===null?c||(e.first=s):(n.next=s,n.e.next=s.e),r!==null&&(r.prev=s,r.e.prev=s.e),s}finally{}}function xn(t,e,n){for(var r=t.next?t.next.e.nodes_start:n,l=e?e.e.nodes_start:n,u=t.e.nodes_start;u!==null&&u!==r;){var o=It(u);l.before(u),u=o}}function J(t,e,n){e===null?t.first=n:(e.next=n,e.e.next=n&&n.e),n!==null&&(n.prev=e,n.e.prev=e&&e.e)}function ge(t){var e,n,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var l=t.length;for(e=0;eFetching data …'),Ve=ft('
    No data
    '),He=ft(' '),ze=ft(" "),Ge=ft(""),Qe=(t,e,n)=>e(b(n),t),Xe=ft('
  • '),Ye=ft('
    Data
     
    ',1);(function(t){for(var e=0;e(function(l,u){const o=bn.get(l);return o?(bn.delete(l),o(u)):Promise.resolve()})(r)}})(function(t,e){Ln(e,!0);const n=(()=>{try{return JSON.parse(document.getElementById("ProcessOverview")?.dataset.config||"{}")}catch{return{}}})(),r=new URL(document.location.href);let l=T(pt((()=>{const d=parseInt(r.searchParams.get("page")??"1",10);return isNaN(d)?1:d})()));const u=[1,2,3],o=(d,v)=>{v.preventDefault(),F(l,d,!0),history.replaceState({},"",f(b(l)))},f=d=>(r.searchParams.set("page",d.toFixed()),r.toString());let i=T(null),a=T(null);(function(d){Re();var v=w.f;if(g||(v&Rt)===0||(v&rn)!==0)return Xn(d);var y=L;(y.e??=[]).push(d)})(()=>{const d=new URL(n.data_url,document.location.href);d.searchParams.set("page",b(l).toString()),F(i,d.toString(),!0),F(a,null),fetch(b(i)).then(v=>v.json()).then(v=>F(a,v,!0))});var c=he(),p=pn(c),h=d=>{Y(d,Ke())},s=d=>{var v=he(),y=pn(v),_=D=>{Y(D,Ve())},U=D=>{var Vt=Ye(),Ht=pn(Vt),zt=I(Ht);Kt(I(zt),21,()=>b(a).columns,Jt,(z,R)=>{var B=He(),m=I(B);Ut(()=>kt(m,b(R).label)),Y(z,B)}),Kt(Nt(zt),21,()=>b(a).rows,Jt,(z,R)=>{var B=Ge();Kt(B,21,()=>b(R),Jt,(m,x)=>{var A=ze(),M=I(A);Ut(()=>kt(M,b(x).value??b(x).status??"👻")),Y(m,A)}),Y(z,B)});var Gt=Nt(Ht,2);Kt(I(Gt),21,()=>u,Jt,(z,R)=>{var B=Xe(),m=I(B);m.__click=[Qe,o,R];var x=I(m);Ut(A=>{(function(M,Z,lt){var jt=M.__className;if(jt!==lt||jt===void 0){var bt=(function(tt){var qt=tt==null?"":""+tt;return qt===""?null:qt})(lt);bt==null?M.removeAttribute("class"):M.className=bt,M.__className=lt}})(B,0,We(["page-item",{stuff:!0,active:b(R)===b(l)}])),we(m,"href",A),kt(x,b(R))},[()=>f(b(R))]),Y(z,B)});var K=Nt(Gt,2),ct=Nt(I(K),2),V=I(ct),P=I(Nt(ct,2)),H=I(P);Ut(z=>{we(ct,"href",b(i)),kt(V,b(i)),kt(H,z)},[()=>JSON.stringify(b(a),null,2)]),Y(D,Vt)};pe(y,D=>{b(a).length===0?D(_):D(U,!1)},!0),Y(d,v)};pe(p,d=>{b(a)===null?d(h):d(s,!1)}),Y(t,c),Tn()},"ProcessOverview")}); +(function(Qt){typeof define=="function"&&define.amd?define(Qt):Qt()})(function(){"use strict";var Xt=Array.isArray,ye=Array.prototype.indexOf,Yt=Array.from,Zt=Object.defineProperty,xt=Object.getOwnPropertyDescriptor,_e=Object.getOwnPropertyDescriptors,be=Object.prototype,xe=Array.prototype,kn=Object.getPrototypeOf,jn=Object.isExtensible;const Pt=16,Ct=32,qn=64,D=256,tn=512,O=1024,G=2048,ot=4096,B=8192,St=16384,nn=32768,en=65536,Pe=1<<17,Cn=1<<19,rn=1<<21,Se=1<<22,at=1<<23,ln=Symbol("$state"),un=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},E=Symbol(),Ee="http://www.w3.org/1999/xhtml";function Rn(t){return t===this.v}function Dn(t){return e=t,n=this.v,!(e!=e?n==n:e!==n||e!==null&&typeof e=="object"||typeof e=="function");var e,n}let L=null;function Rt(t){L=t}function Ln(t,e=!1,n){L={p:L,c:null,e:null,s:t,x:null,l:null}}function Tn(t){var e=L,n=e.e;if(n!==null)for(var r of(e.e=null,n))Xn(r);return L=e.p,{}}const Oe=new WeakMap;function on(t,e){for(;e!==null;){if(128&e.f)try{return void e.b.error(t)}catch(n){t=n}e=e.parent}throw t instanceof Error&&Fn(t),t}function Fn(t){const e=Oe.get(t);e&&(Zt(t,"message",{value:e.message}),Zt(t,"stack",{value:e.stack}))}let vt=[];function Ne(t){if(vt.length===0){var e=vt;queueMicrotask(()=>{e===vt&&(function(){var n=vt;vt=[],(function(r){for(var l=0;l{try{var i=t();o&&Promise.resolve(i).catch(()=>{})}catch(s){i=Promise.reject(s)}var a=()=>i;l=o?.then(a,a)??Promise.resolve(i),o=l;var c=N,h=r.is_pending();f&&(r.update_pending_count(1),h||c.increment());const v=(s,g=void 0)=>{o=null,h||c.activate(),g?g!==un&&(u.f|=at,Dt(u,g)):((u.f&at)!==0&&(u.f^=at),Dt(u,s)),f&&(r.update_pending_count(-1),h||c.decrement()),Wn()};if(l.then(v,s=>v(null,s||"unknown")),c)return()=>{queueMicrotask(()=>c.neuter())}}),new Promise(i=>{(function a(c){function h(){c===l?i(u):a(l)}c.then(h,h)})(l)})}function Un(t){var e=t.effects;if(e!==null){t.effects=null;for(var n=0;nMe(v))).then(v=>{i?.activate(),c();try{n([...t.map(r),...v])}catch(s){(a.f&St)===0&&on(s,a)}i?.deactivate(),Wn()}).catch(v=>{h.error(v)})}else n(t.map(r))}function Wn(){et(null),K(null),Rt(null)}const sn=new Set;let N=null,$n=new Set,Et=[],fn=null,cn=!1;class dt{current=new Map;#a=new Map;#l=new Set;#t=0;#s=null;#f=!1;#e=[];#u=[];#r=[];#n=[];#i=[];#c=[];#v=[];skipped_effects=new Set;process(e){Et=[];for(const l of e)this.#h(l);if(this.#e.length===0&&this.#t===0){this.#d();var n=this.#r,r=this.#n;this.#r=[],this.#n=[],this.#i=[],N=null,Jn(n),Jn(r),N===null?N=this:sn.delete(this),this.#s?.resolve()}else this.#o(this.#r),this.#o(this.#n),this.#o(this.#i);for(const l of this.#e)yt(l);for(const l of this.#u)yt(l);this.#e=[],this.#u=[]}#h(e){e.f^=O;for(var n=e.first;n!==null;){var r=n.f,l=!!(96&r);if(!(l&&(r&O)!==0||(r&B)!==0||this.skipped_effects.has(n))&&n.fn!==null){l?n.f^=O:4&r?this.#n.push(n):(r&O)===0&&((r&Se)!==0?(n.b?.is_pending()?this.#u:this.#e).push(n):Bt(n)&&((n.f&Pt)!==0&&this.#i.push(n),yt(n)));var u=n.first;if(u!==null){n=u;continue}}var o=n.parent;for(n=n.next;n===null&&o!==null;)n=o.next,o=o.parent}}#o(e){for(const n of e)((n.f&G)!==0?this.#c:this.#v).push(n),q(n,O);e.length=0}capture(e,n){this.#a.has(e)||this.#a.set(e,n),this.current.set(e,e.v)}activate(){N=this}deactivate(){N=null;for(const e of $n)if($n.delete(e),e(),N!==null)break}neuter(){this.#f=!0}flush(){Et.length>0?(function(){var e=wt;cn=!0;try{var n=0;for(le(!0);Et.length>0;){var r=dt.ensure();n++>1e3&&je(),r.process(Et),nt.clear()}}finally{cn=!1,le(e),fn=null}})():this.#d(),N===this&&(this.#t===0&&sn.delete(this),this.deactivate())}#d(){if(!this.#f)for(const e of this.#l)e();this.#l.clear()}increment(){this.#t+=1}decrement(){if(this.#t-=1,this.#t===0){for(const e of this.#c)q(e,G),ht(e);for(const e of this.#v)q(e,ot),ht(e);this.#r=[],this.#n=[],this.flush()}else this.deactivate()}add_callback(e){this.#l.add(e)}settled(){return(this.#s??={promise:new Promise((r,l)=>{e=r,n=l}),resolve:e,reject:n}).promise;var e,n}static ensure(){if(N===null){const e=N=new dt;sn.add(N),dt.enqueue(()=>{N===e&&e.flush()})}return N}static enqueue(e){Ne(e)}}function je(){try{(function(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")})()}catch(t){on(t,fn)}}let st=null;function Jn(t){var e=t.length;if(e!==0){for(var n=0;n0)){nt.clear();for(const l of st)yt(l);st=[]}}st=null}}function ht(t){for(var e=fn=t;e.parent!==null;){var n=(e=e.parent).f;if(cn&&e===m&&(n&Pt)!==0)return;if(96&n){if((n&O)===0)return;e.f^=O}}Et.push(e)}const nt=new Map;function Ot(t,e){return{f:0,v:t,reactions:null,equals:Rn,rv:0,wv:0}}function W(t,e){const n=Ot(t);var r;return r=n,w!==null&&(X===null?X=[r]:X.push(r)),n}function $(t,e,n=!1){return w===null||ft&&(w.f&Pe)===0||!(4325394&w.f)||X?.includes(t)||(function(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")})(),Dt(t,n?pt(e):e)}function Dt(t,e){if(!t.equals(e)){var n=t.v;mt?nt.set(t,e):nt.set(t,n),t.v=e,dt.ensure().capture(t,n),2&t.f&&((t.f&G)!==0&&an(t),q(t,(t.f&D)===0?O:ot)),t.wv=ae(),Kn(t,G),m===null||(m.f&O)===0||96&m.f||(C===null?(function(r){C=r})([t]):C.push(t))}return e}function vn(t){$(t,t.v+1)}function Kn(t,e){var n=t.reactions;if(n!==null)for(var r=n.length,l=0;l{if(ct===u)return f();var i=w,a=ct;K(null),oe(u);var c=f();return K(i),oe(a),c};return r&&n.set("length",W(t.length)),new Proxy(t,{defineProperty(f,i,a){"value"in a&&a.configurable!==!1&&a.enumerable!==!1&&a.writable!==!1||(function(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")})();var c=n.get(i);return c===void 0?c=o(()=>{var h=W(a.value);return n.set(i,h),h}):$(c,a.value,!0),!0},deleteProperty(f,i){var a=n.get(i);if(a===void 0){if(i in f){const c=o(()=>W(E));n.set(i,c),vn(l)}}else $(a,E),vn(l);return!0},get(f,i,a){if(i===ln)return t;var c=n.get(i),h=i in f;if(c!==void 0||h&&!xt(f,i)?.writable||(c=o(()=>W(pt(h?f[i]:E))),n.set(i,c)),c!==void 0){var v=x(c);return v===E?void 0:v}return Reflect.get(f,i,a)},getOwnPropertyDescriptor(f,i){var a=Reflect.getOwnPropertyDescriptor(f,i);if(a&&"value"in a){var c=n.get(i);c&&(a.value=x(c))}else if(a===void 0){var h=n.get(i),v=h?.v;if(h!==void 0&&v!==E)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return a},has(f,i){if(i===ln)return!0;var a=n.get(i),c=a!==void 0&&a.v!==E||Reflect.has(f,i);return(a!==void 0||m!==null&&(!c||xt(f,i)?.writable))&&(a===void 0&&(a=o(()=>W(c?pt(f[i]):E)),n.set(i,a)),x(a)===E)?!1:c},set(f,i,a,c){var h=n.get(i),v=i in f;if(r&&i==="length")for(var s=a;sW(E)),n.set(s+"",g))}h===void 0?v&&!xt(f,i)?.writable||($(h=o(()=>W(void 0)),pt(a)),n.set(i,h)):(v=h.v!==E,$(h,o(()=>pt(a))));var d=Reflect.getOwnPropertyDescriptor(f,i);if(d?.set&&d.set.call(c,a),!v){if(r&&typeof i=="string"){var _=n.get("length"),p=Number(i);Number.isInteger(p)&&p>=_.v&&$(_,p+1)}vn(l)}return!0},ownKeys(f){x(l);var i=Reflect.ownKeys(f).filter(h=>{var v=n.get(h);return v===void 0||v.v!==E});for(var[a,c]of n)c.v===E||a in f||i.push(a);return i},setPrototypeOf(){(function(){throw new Error("https://svelte.dev/e/state_prototype_fixed")})()}})}var Vn,Hn,zn,Gn;function Lt(t=""){return document.createTextNode(t)}function Tt(t){return zn.call(t)}function Ft(t){return Gn.call(t)}function J(t,e){return Tt(t)}function dn(t,e){var n=Tt(t);return n instanceof Comment&&n.data===""?Ft(n):n}function It(t,e=1,n=!1){let r=t;for(;e--;)r=Ft(r);return r}function Qn(t){var e=w,n=m;K(null),et(null);try{return t()}finally{K(e),et(n)}}function qe(t){m===null&&w===null&&(function(){throw new Error("https://svelte.dev/e/effect_orphan")})(),w!==null&&(w.f&D)!==0&&m===null&&(function(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")})(),mt&&(function(){throw new Error("https://svelte.dev/e/effect_in_teardown")})()}function gt(t,e,n,r=!0){var l=m;l!==null&&(l.f&B)!==0&&(t|=B);var u={ctx:L,deps:null,nodes_start:null,nodes_end:null,f:t|G,first:null,fn:e,last:null,next:null,parent:l,b:l&&l.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(n)try{yt(u),u.f|=nn}catch(i){throw Q(u),i}else e!==null&&ht(u);if(r){var o=u;if(n&&o.deps===null&&o.teardown===null&&o.nodes_start===null&&o.first===o.last&&(o.f&Cn)===0&&(o=o.first),o!==null&&(o.parent=l,l!==null&&(function(i,a){var c=a.last;c===null?a.last=a.first=i:(c.next=i,i.prev=c,a.last=i)})(o,l),w!==null&&2&w.f&&(t&qn)===0)){var f=w;(f.effects??=[]).push(o)}}return u}function Xn(t){return gt(1048580,t,!1)}function Ut(t,e=[],n=[]){ke(e,n,r=>{gt(8,()=>t(...r.map(x)),!0)})}function Yn(t,e=0){return gt(Pt|e,t,!0)}function Nt(t,e=!0){return gt(524320,t,!0,e)}function Zn(t){var e=t.teardown;if(e!==null){const n=mt,r=w;ue(!0),K(null);try{e.call(null)}finally{ue(n),K(r)}}}function te(t,e=!1){var n=t.first;for(t.first=t.last=null;n!==null;){const l=n.ac;l!==null&&Qn(()=>{l.abort(un)});var r=n.next;(n.f&qn)!==0?n.parent=null:Q(n,e),n=r}}function Q(t,e=!0){var n=!1;(e||262144&t.f)&&t.nodes_start!==null&&t.nodes_end!==null&&((function(u,o){for(;u!==null;){var f=u===o?null:Ft(u);u.remove(),u=f}})(t.nodes_start,t.nodes_end),n=!0),te(t,e&&!n),Wt(t,0),q(t,St);var r=t.transitions;if(r!==null)for(const u of r)u.stop();Zn(t);var l=t.parent;l!==null&&l.first!==null&&ne(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes_start=t.nodes_end=t.ac=null}function ne(t){var e=t.parent,n=t.prev,r=t.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),e!==null&&(e.first===t&&(e.first=r),e.last===t&&(e.last=n))}function hn(t,e){var n=[];pn(t,n,!0),ee(n,()=>{Q(t),e&&e()})}function ee(t,e){var n=t.length;if(n>0){var r=()=>--n||e();for(var l of t)l.out(r)}else e()}function pn(t,e,n){if((t.f&B)===0){if(t.f^=B,t.transitions!==null)for(const u of t.transitions)(u.is_global||n)&&e.push(u);for(var r=t.first;r!==null;){var l=r.next;pn(r,e,((r.f&en)!==0||(r.f&Ct)!==0)&&n),r=l}}}function gn(t){re(t,!0)}function re(t,e){if((t.f&B)!==0){t.f^=B,(t.f&O)===0&&(q(t,G),ht(t));for(var n=t.first;n!==null;){var r=n.next;re(n,((n.f&en)!==0||(n.f&Ct)!==0)&&e),n=r}if(t.transitions!==null)for(const l of t.transitions)(l.is_global||e)&&l.in()}}let wt=!1;function le(t){wt=t}let mt=!1;function ue(t){mt=t}let w=null,ft=!1;function K(t){w=t}let m=null;function et(t){m=t}let X=null,A=null,j=0,C=null,ie=1,At=0,ct=At;function oe(t){ct=t}let rt=!1;function ae(){return++ie}function Bt(t){var e=t.f;if((e&G)!==0)return!0;if((e&ot)!==0){var n=t.deps,r=(e&D)!==0;if(n!==null){var l,u,o=(e&tn)!==0,f=r&&m!==null&&!rt,i=n.length;if((o||f)&&(m===null||(m.f&St)===0)){var a=t,c=a.parent;for(l=0;lt.wv)return!0}r&&(m===null||rt)||q(t,O)}return!1}function se(t,e,n=!0){var r=t.reactions;if(r!==null&&!X?.includes(t))for(var l=0;l{t.ac.abort(un)}),t.ac=null);try{t.f|=rn;var h=(0,t.fn)(),v=t.deps;if(A!==null){var s;if(Wt(t,j),v!==null&&j>0)for(v.length=j+A.length,s=0;su||n});var c=w,h=m;K(null),et(null);try{for(var v,s=[];u!==null;){var g=u.assignedSlot||u.parentNode||u.host||null;try{var d=u["__"+r];if(d!=null&&(!u.disabled||t.target===u))if(Xt(d)){var[_,...p]=d;_.apply(u,[t,...p])}else d.call(u,t)}catch(P){v?s.push(P):v=P}if(t.cancelBubble||g===e||g===null)break;u=g}if(v){for(let P of s)queueMicrotask(()=>{throw P});throw v}}finally{t.__root=e,delete t.currentTarget,K(c),et(h)}}}function mn(t,e){var n=m;n.nodes_start===null&&(n.nodes_start=t,n.nodes_end=e)}function lt(t,e){var n,r=!!(1&e),l=!!(2&e),u=!t.startsWith("");return()=>{var o,f;n===void 0&&(o=u?t:""+t,(f=document.createElement("template")).innerHTML=o.replaceAll("",""),n=f.content,r||(n=Tt(n)));var i=l||Hn?document.importNode(n,!0):n.cloneNode(!0);return r?mn(Tt(i),i.lastChild):mn(i,i),i}}function Y(t,e){t!==null&&t.before(e)}function Jt(t,e){var n=e==null?"":typeof e=="object"?e+"":e;n!==(t.__t??=t.nodeValue)&&(t.__t=n,t.nodeValue=n+"")}function Te(t,e){return(function(n,{target:r,anchor:l,props:u={},events:o,context:f,intro:i=!0}){(function(){if(Vn===void 0){Vn=window,Hn=/Firefox/.test(navigator.userAgent);var s=Element.prototype,g=Node.prototype,d=Text.prototype;zn=xt(g,"firstChild").get,Gn=xt(g,"nextSibling").get,jn(s)&&(s.__click=void 0,s.__className=void 0,s.__attributes=null,s.__style=void 0,s.__e=void 0),jn(d)&&(d.__t=void 0)}})();var a=new Set,c=s=>{for(var g=0;gnew Promise(_=>{d.outro?hn(g,()=>{Q(g),_(void 0)}):(Q(g),_(void 0))})})(()=>{var s=l??r.appendChild(Lt());return Nt(()=>{f&&(Ln({}),L.c=f),o&&(u.$$events=o),h=n(s,u)||{},f&&Tn()}),()=>{for(var g of a){r.removeEventListener(g,$t);var d=_t.get(g);--d===0?(document.removeEventListener(g,$t),_t.delete(g)):_t.set(g,d)}wn.delete(c),s!==l&&s.parentNode?.removeChild(s)}});return yn.set(h,v),h})(t,e)}const _t=new Map;let yn=new WeakMap;function he(t,e,n=!1){var r=t,l=null,u=null,o=E,f=!1;const i=(v,s=!0)=>{f=!0,h(s,v)};var a=null;function c(){a!==null&&(a.lastChild.remove(),r.before(a),a=null);var v=o?l:u,s=o?u:l;v&&gn(v),s&&hn(s,()=>{o?u=null:l=null})}const h=(v,s)=>{if(o!==(o=v)){var g=!1,d=r;o?l??=s&&Nt(()=>s(d)):u??=s&&Nt(()=>s(d)),c()}};Yn(()=>{f=!1,e(i),f||h(null,null)},n?en:0)}function Kt(t,e){return e}function Vt(t,e,n,r,l,u=null){var o,f={flags:e,items:new Map,first:null};o=t.appendChild(Lt());var i,a,c=null,h=!1,v=new Map,s=(function(d){const _=In(d);return _.equals=Dn,_})(()=>{var d=n();return Xt(d)?d:d==null?[]:Yt(d)});function g(){(function(d,_,p,P,T,Mt,Ht,bn,xn){var H,z,F,S,I,ut=_.length,R=p.items,U=p.first,y=U,b=null,M=[],k=[];for(I=0;I0&&(function(Sn,qt,En){for(var we=Sn.items,On=[],zt=qt.length,Nn=0;Nn0&&On.length===0&&En!==null;if(An){var me=En.parentNode;me.textContent="",me.append(En),we.clear(),V(Sn,qt[0].prev,qt[zt-1].next)}ee(On,()=>{for(var Mn=0;Mnu(o)):c!==null&&hn(c,()=>{c=null}))}Yn(()=>{a??=m;var d=(i=x(s)).length;h&&d===0||(h=d===0,g(),x(s))})}function Fe(t,e,n,r){Dt(t.v,e),t.i=n}function Ie(t,e,n,r,l,u,o,f,i,a,c){var h=1&i?16&i?Ot(l):(function(g,d=!1){const _=Ot(g);return d||(_.equals=Dn),_})(l,!1,!1):l,v=2&i?Ot(o):o,s={i:v,v:h,k:u,a:null,e:null,prev:n,next:r};try{return t===null&&document.createDocumentFragment().append(t=Lt()),s.e=Nt(()=>f(t,h,v,a),!1),s.e.prev=n&&n.e,s.e.next=r&&r.e,n===null?c||(e.first=s):(n.next=s,n.e.next=s.e),r!==null&&(r.prev=s,r.e.prev=s.e),s}finally{}}function _n(t,e,n){for(var r=t.next?t.next.e.nodes_start:n,l=e?e.e.nodes_start:n,u=t.e.nodes_start;u!==null&&u!==r;){var o=Ft(u);l.before(u),u=o}}function V(t,e,n){e===null?t.first=n:(e.next=n,e.e.next=n&&n.e),n!==null&&(n.prev=e,n.e.prev=e&&e.e)}function pe(t){var e,n,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var l=t.length;for(e=0;eFetching data …'),Ke=lt('
    No data
    '),Ve=lt(' '),He=lt(" "),ze=lt(""),Ge=(t,e,n)=>e(x(n),t),Qe=lt('
  • '),Xe=lt('
    ',1),Ye=lt("
    Config and data
     
    ",1);(function(t){for(var e=0;e(function(l,u){const o=yn.get(l);return o?(yn.delete(l),o(u)):Promise.resolve()})(r)}})(function(t,e){Ln(e,!0);const n=(()=>{try{return JSON.parse(document.getElementById("ProcessOverview")?.dataset.config||"{}")}catch{return{}}})(),r=new URL(document.location.href);let l=W(pt((()=>{const p=parseInt(r.searchParams.get("page")??"1",10);return isNaN(p)?1:p})()));const u=[1,2,3],o=(p,P)=>{P.preventDefault(),$(l,p,!0),history.replaceState({},"",f(x(l)))},f=p=>(r.searchParams.set("page",p.toFixed()),r.toString());let i=W(null);(function(p){qe();var P=m.f;if(w||(P&Ct)===0||(P&nn)!==0)return Xn(p);var T=L;(T.e??=[]).push(p)})(()=>{const p=new URL(n.data_url,document.location.href);p.searchParams.set("page",x(l).toString()),$(i,null),fetch(p.toString()).then(P=>P.json()).then(P=>$(i,P,!0))});var a=Ye(),c=dn(a),h=p=>{Y(p,Je())},v=p=>{var P,T,Mt,Ht=(P=document.createDocumentFragment(),T=document.createComment(""),Mt=Lt(),P.append(T,Mt),mn(T,Mt),P),bn=dn(Ht),xn=z=>{Y(z,Ke())},H=z=>{var F=Xe(),S=dn(F),I=J(S);Vt(J(I),21,()=>x(i).columns,Kt,(ut,R)=>{var U=Ve(),y=J(U);Ut(()=>Jt(y,x(R).label)),Y(ut,U)}),Vt(It(I),21,()=>x(i).rows,Kt,(ut,R)=>{var U=ze();Vt(U,21,()=>x(R),Kt,(y,b)=>{var M=He(),k=J(M);Ut(()=>Jt(k,x(b).value??x(b).status??"👻")),Y(y,M)}),Y(ut,U)}),Vt(J(It(S,2)),21,()=>u,Kt,(ut,R)=>{var U=Qe(),y=J(U);y.__click=[Ge,o,R];var b=J(y);Ut(M=>{(function(k,Z,it){var kt=k.__className;if(kt!==it||kt===void 0){var bt=(function(tt){var jt=tt==null?"":""+tt;return jt===""?null:jt})(it);bt==null?k.removeAttribute("class"):k.className=bt,k.__className=it}})(U,0,Ue(["page-item",{stuff:!0,active:x(R)===x(l)}])),$e(y,"href",M),Jt(b,x(R))},[()=>f(x(R))]),Y(ut,U)}),Y(z,F)};he(bn,z=>{x(i).length===0?z(xn):z(H,!1)},!0),Y(p,Ht)};he(c,p=>{x(i)===null?p(h):p(v,!1)});var s=It(c,2),g=It(J(s),2),d=J(g),_=J(d);Ut(p=>Jt(_,p),[()=>JSON.stringify({config:n,data:x(i)},null,2)]),Y(t,a),Tn()},"ProcessOverview")}); diff --git a/public/widgets/ProcessSearch.min.js b/public/widgets/ProcessSearch.min.js new file mode 100644 index 0000000..2536740 --- /dev/null +++ b/public/widgets/ProcessSearch.min.js @@ -0,0 +1 @@ +(function(_n){typeof define=="function"&&define.amd?define(_n):_n()})(function(){"use strict";var Vn=Array.isArray,Lt=Array.prototype.indexOf,Rt=Array.from,bn=Object.defineProperty,rn=Object.getOwnPropertyDescriptor,At=Object.prototype,Ct=Array.prototype,Tt=Object.getPrototypeOf,$n=Object.isExtensible;function Kn(n){for(var t=0;t0||dn.length>0}function Jt(){var n;W.length>0&&Yn(),dn.length>0&&(n=dn,dn=[],Kn(n))}function Ut(){const n=w.b;return n===null&&(function(){throw new Error("https://svelte.dev/e/await_outside_boundary")})(),n}function Vt(n){var t=2050,e=g!==null&&2&g.f?g:null;return w===null||e!==null&&(e.f&M)!==0?t|=M:w.f|=Hn,{ctx:N,deps:null,effects:null,equals:zn,f:t,fn:n,reactions:null,rv:0,v:b,wv:0,parent:e??w,ac:null}}function $t(n,t){let e=w;e===null&&(function(){throw new Error("https://svelte.dev/e/async_derived_orphan")})();var r=e.b,l=void 0,o=ot(b),u=null,f=!g;return(function(i){z(4718592,i,!0)})(()=>{try{var i=n();u&&Promise.resolve(i).catch(()=>{})}catch(s){i=Promise.reject(s)}var a=()=>i;l=u?.then(a,a)??Promise.resolve(i),u=l;var c=y,d=r.is_pending();f&&(r.update_pending_count(1),d||c.increment());const v=(s,p=void 0)=>{u=null,d||c.activate(),p?p!==kn&&(o.f|=K,Ln(o,p)):((o.f&K)!==0&&(o.f^=K),Ln(o,s)),f&&(r.update_pending_count(-1),d||c.decrement()),tt()};if(l.then(v,s=>v(null,s||"unknown")),c)return()=>{queueMicrotask(()=>c.neuter())}}),new Promise(i=>{(function a(c){function d(){c===l?i(o):a(l)}c.then(d,d)})(l)})}function Zn(n){var t=n.effects;if(t!==null){n.effects=null;for(var e=0;e$t(i))).then(i=>{l?.activate(),u();try{e([...n.map(r),...i])}catch(a){(o.f&on)===0&&qn(a,o)}l?.deactivate(),tt()}).catch(i=>{f.error(i)})}else e(n.map(r))}function tt(){I(null),A(null),vn(null)}const Nn=new Set;let y=null,hn=null,et=new Set,F=[],pn=null,jn=!1,un=!1;class X{current=new Map;#a=new Map;#l=new Set;#n=0;#f=null;#s=!1;#e=[];#o=[];#r=[];#t=[];#i=[];#c=[];#v=[];skipped_effects=new Set;process(t){F=[],hn=null;for(const l of t)this.#h(l);if(this.#e.length===0&&this.#n===0){this.#d();var e=this.#r,r=this.#t;this.#r=[],this.#t=[],this.#i=[],hn=y,y=null,lt(e),lt(r),y===null?y=this:Nn.delete(this),this.#f?.resolve()}else this.#u(this.#r),this.#u(this.#t),this.#u(this.#i);for(const l of this.#e)tn(l);for(const l of this.#o)tn(l);this.#e=[],this.#o=[]}#h(t){t.f^=x;for(var e=t.first;e!==null;){var r=e.f,l=!!(96&r);if(!(l&&(r&x)!==0||(r&$)!==0||this.skipped_effects.has(e))&&e.fn!==null){l?e.f^=x:4&r?this.#t.push(e):(r&x)===0&&((r&Wt)!==0?(e.b?.is_pending()?this.#o:this.#e).push(e):wn(e)&&((e.f&ln)!==0&&this.#i.push(e),tn(e)));var o=e.first;if(o!==null){e=o;continue}}var u=e.parent;for(e=e.next;e===null&&u!==null;)e=u.next,u=u.parent}}#u(t){for(const e of t)((e.f&C)!==0?this.#c:this.#v).push(e),O(e,x);t.length=0}capture(t,e){this.#a.has(t)||this.#a.set(t,e),this.current.set(t,t.v)}activate(){y=this}deactivate(){y=null,hn=null;for(const t of et)if(et.delete(t),t(),y!==null)break}neuter(){this.#s=!0}flush(){F.length>0?rt():this.#d(),y===this&&(this.#n===0&&Nn.delete(this),this.deactivate())}#d(){if(!this.#s)for(const t of this.#l)t();this.#l.clear()}increment(){this.#n+=1}decrement(){if(this.#n-=1,this.#n===0){for(const t of this.#c)O(t,C),Y(t);for(const t of this.#v)O(t,V),Y(t);this.#r=[],this.#t=[],this.flush()}else this.deactivate()}add_callback(t){this.#l.add(t)}settled(){return(this.#f??={promise:new Promise((r,l)=>{t=r,e=l}),resolve:t,reject:e}).promise;var t,e}static ensure(){if(y===null){const t=y=new X;Nn.add(y),un||X.enqueue(()=>{y===t&&t.flush()})}return y}static enqueue(t){(function(e){if(W.length===0&&!un){var r=W;queueMicrotask(()=>{r===W&&Yn()})}W.push(e)})(t)}}function rt(){var n=Z;jn=!0;try{var t=0;for(bt(!0);F.length>0;){var e=X.ensure();t++>1e3&&Ft(),e.process(F),B.clear()}}finally{jn=!1,bt(n),pn=null}}function Ft(){try{(function(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")})()}catch(n){qn(n,pn)}}let H=null;function lt(n){var t=n.length;if(t!==0){for(var e=0;e0)){B.clear();for(const l of H)tn(l);H=[]}}H=null}}function Y(n){for(var t=pn=n;t.parent!==null;){var e=(t=t.parent).f;if(jn&&t===w&&(e&ln)!==0)return;if(96&e){if((e&x)===0)return;t.f^=x}}F.push(t)}const B=new Map;function ot(n,t){return{f:0,v:n,reactions:null,equals:zn,rv:0,wv:0}}function j(n,t){const e=ot(n);var r;return r=e,g!==null&&(D===null?D=[r]:D.push(r)),e}function L(n,t,e=!1){return g===null||R&&(g.f&Dt)===0||!(4325394&g.f)||D?.includes(n)||(function(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")})(),Ln(n,e?an(t):t)}function Ln(n,t){if(!n.equals(t)){var e=n.v;nn?B.set(n,t):B.set(n,e),n.v=t,X.ensure().capture(n,e),2&n.f&&((n.f&C)!==0&&Mn(n),O(n,(n.f&M)===0?x:V)),n.wv=St(),it(n,C),w===null||(w.f&x)===0||96&w.f||(q===null?(function(r){q=r})([n]):q.push(n))}return t}function Rn(n){L(n,n.v+1)}function it(n,t){var e=n.reactions;if(e!==null)for(var r=e.length,l=0;l{if(Q===o)return f();var i=g,a=Q;A(null),Pt(o);var c=f();return A(i),Pt(a),c};return r&&e.set("length",j(n.length)),new Proxy(n,{defineProperty(f,i,a){"value"in a&&a.configurable!==!1&&a.enumerable!==!1&&a.writable!==!1||(function(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")})();var c=e.get(i);return c===void 0?c=u(()=>{var d=j(a.value);return e.set(i,d),d}):L(c,a.value,!0),!0},deleteProperty(f,i){var a=e.get(i);if(a===void 0){if(i in f){const c=u(()=>j(b));e.set(i,c),Rn(l)}}else L(a,b),Rn(l);return!0},get(f,i,a){if(i===On)return n;var c=e.get(i),d=i in f;if(c!==void 0||d&&!rn(f,i)?.writable||(c=u(()=>j(an(d?f[i]:b))),e.set(i,c)),c!==void 0){var v=P(c);return v===b?void 0:v}return Reflect.get(f,i,a)},getOwnPropertyDescriptor(f,i){var a=Reflect.getOwnPropertyDescriptor(f,i);if(a&&"value"in a){var c=e.get(i);c&&(a.value=P(c))}else if(a===void 0){var d=e.get(i),v=d?.v;if(d!==void 0&&v!==b)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return a},has(f,i){if(i===On)return!0;var a=e.get(i),c=a!==void 0&&a.v!==b||Reflect.has(f,i);return(a!==void 0||w!==null&&(!c||rn(f,i)?.writable))&&(a===void 0&&(a=u(()=>j(c?an(f[i]):b)),e.set(i,a)),P(a)===b)?!1:c},set(f,i,a,c){var d=e.get(i),v=i in f;if(r&&i==="length")for(var s=a;sj(b)),e.set(s+"",p))}d===void 0?v&&!rn(f,i)?.writable||(L(d=u(()=>j(void 0)),an(a)),e.set(i,d)):(v=d.v!==b,L(d,u(()=>an(a))));var h=Reflect.getOwnPropertyDescriptor(f,i);if(h?.set&&h.set.call(c,a),!v){if(r&&typeof i=="string"){var _=e.get("length"),m=Number(i);Number.isInteger(m)&&m>=_.v&&L(_,m+1)}Rn(l)}return!0},ownKeys(f){P(l);var i=Reflect.ownKeys(f).filter(d=>{var v=e.get(d);return v===void 0||v.v!==b});for(var[a,c]of e)c.v===b||a in f||i.push(a);return i},setPrototypeOf(){(function(){throw new Error("https://svelte.dev/e/state_prototype_fixed")})()}})}var ut,at,ft,st;function Ht(n=""){return document.createTextNode(n)}function gn(n){return ft.call(n)}function An(n){return st.call(n)}function T(n,t){return gn(n)}function ct(n,t){var e=gn(n);return e instanceof Comment&&e.data===""?An(e):e}function fn(n,t=1,e=!1){let r=n;for(;t--;)r=An(r);return r}let vt=!1;function Cn(n){var t=g,e=w;A(null),I(null);try{return n()}finally{A(t),I(e)}}function zt(n,t,e,r=e){n.addEventListener(t,()=>Cn(e));const l=n.__on_r;n.__on_r=l?()=>{l(),r(!0)}:()=>r(!0),vt||(vt=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{if(!o.defaultPrevented)for(const u of o.target.elements)u.__on_r?.()})},{capture:!0}))}function Gt(n){w===null&&g===null&&(function(){throw new Error("https://svelte.dev/e/effect_orphan")})(),g!==null&&(g.f&M)!==0&&w===null&&(function(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")})(),nn&&(function(){throw new Error("https://svelte.dev/e/effect_in_teardown")})()}function z(n,t,e,r=!0){var l=w;l!==null&&(l.f&$)!==0&&(n|=$);var o={ctx:N,deps:null,nodes_start:null,nodes_end:null,f:n|C,first:null,fn:t,last:null,next:null,parent:l,b:l&&l.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(e)try{tn(o),o.f|=En}catch(i){throw G(o),i}else t!==null&&Y(o);if(r){var u=o;if(e&&u.deps===null&&u.teardown===null&&u.nodes_start===null&&u.first===u.last&&(u.f&Hn)===0&&(u=u.first),u!==null&&(u.parent=l,l!==null&&(function(i,a){var c=a.last;c===null?a.last=a.first=i:(c.next=i,i.prev=c,a.last=i)})(u,l),g!==null&&2&g.f&&(n&Fn)===0)){var f=g;(f.effects??=[]).push(u)}}return o}function dt(n){return z(1048580,n,!1)}function ht(n,t=[],e=[]){Kt(t,e,r=>{z(8,()=>n(...r.map(P)),!0)})}function Tn(n,t=!0){return z(524320,n,!0,t)}function pt(n){var t=n.teardown;if(t!==null){const e=nn,r=g;xt(!0),A(null);try{t.call(null)}finally{xt(e),A(r)}}}function gt(n,t=!1){var e=n.first;for(n.first=n.last=null;e!==null;){const l=e.ac;l!==null&&Cn(()=>{l.abort(kn)});var r=e.next;(e.f&Fn)!==0?e.parent=null:G(e,t),e=r}}function G(n,t=!0){var e=!1;(t||262144&n.f)&&n.nodes_start!==null&&n.nodes_end!==null&&((function(o,u){for(;o!==null;){var f=o===u?null:An(o);o.remove(),o=f}})(n.nodes_start,n.nodes_end),e=!0),gt(n,t&&!e),mn(n,0),O(n,on);var r=n.transitions;if(r!==null)for(const o of r)o.stop();pt(n);var l=n.parent;l!==null&&l.first!==null&&wt(n),n.next=n.prev=n.teardown=n.ctx=n.deps=n.fn=n.nodes_start=n.nodes_end=n.ac=null}function wt(n){var t=n.parent,e=n.prev,r=n.next;e!==null&&(e.next=r),r!==null&&(r.prev=e),t!==null&&(t.first===n&&(t.first=r),t.last===n&&(t.last=e))}function mt(n,t){var e=[];yt(n,e,!0),(function(r,l){var o=r.length;if(o>0){var u=()=>--o||l();for(var f of r)f.out(u)}else l()})(e,()=>{G(n),t&&t()})}function yt(n,t,e){if((n.f&$)===0){if(n.f^=$,n.transitions!==null)for(const o of n.transitions)(o.is_global||e)&&t.push(o);for(var r=n.first;r!==null;){var l=r.next;yt(r,t,((r.f&Pn)!==0||(r.f&cn)!==0)&&e),r=l}}}function Qt(n){_t(n,!0)}function _t(n,t){if((n.f&$)!==0){n.f^=$,(n.f&x)===0&&(O(n,C),Y(n));for(var e=n.first;e!==null;){var r=e.next;_t(e,((e.f&Pn)!==0||(e.f&cn)!==0)&&t),e=r}if(n.transitions!==null)for(const l of n.transitions)(l.is_global||t)&&l.in()}}let Z=!1;function bt(n){Z=n}let nn=!1;function xt(n){nn=n}let g=null,R=!1;function A(n){g=n}let w=null;function I(n){w=n}let D=null,E=null,S=0,q=null,Et=1,sn=0,Q=sn;function Pt(n){Q=n}let J=!1;function St(){return++Et}function wn(n){var t=n.f;if((t&C)!==0)return!0;if((t&V)!==0){var e=n.deps,r=(t&M)!==0;if(e!==null){var l,o,u=(t&xn)!==0,f=r&&w!==null&&!J,i=e.length;if((u||f)&&(w===null||(w.f&on)===0)){var a=n,c=a.parent;for(l=0;ln.wv)return!0}r&&(w===null||J)||O(n,x)}return!1}function Ot(n,t,e=!0){var r=n.reactions;if(r!==null&&!D?.includes(n))for(var l=0;l{n.ac.abort(kn)}),n.ac=null);try{n.f|=Sn;var d=(0,n.fn)(),v=n.deps;if(E!==null){var s;if(mn(n,S),v!==null&&S>0)for(v.length=S+E.length,s=0;so||e});var c=g,d=w;A(null),I(null);try{for(var v,s=[];o!==null;){var p=o.assignedSlot||o.parentNode||o.host||null;try{var h=o["__"+r];if(h!=null&&(!o.disabled||n.target===o))if(Vn(h)){var[_,...m]=h;_.apply(o,[n,...m])}else h.call(o,n)}catch(k){v?s.push(k):v=k}if(n.cancelBubble||p===t||p===null)break;o=p}if(v){for(let k of s)queueMicrotask(()=>{throw k});throw v}}finally{n.__root=t,delete n.currentTarget,A(c),I(d)}}}function jt(n,t){var e=w;e.nodes_start===null&&(e.nodes_start=n,e.nodes_end=t)}function Dn(n,t){var e,r=!!(1&t),l=!!(2&t),o=!n.startsWith("");return()=>{var u,f;e===void 0&&(u=o?n:""+n,(f=document.createElement("template")).innerHTML=u.replaceAll("",""),e=f.content,r||(e=gn(e)));var i=l||at?document.importNode(e,!0):e.cloneNode(!0);return r?jt(gn(i),i.lastChild):jt(i,i),i}}function Wn(n,t){n!==null&&n.before(t)}function Bn(n,t){var e=t==null?"":typeof t=="object"?t+"":t;e!==(n.__t??=n.nodeValue)&&(n.__t=e,n.nodeValue=e+"")}function re(n,t){return(function(e,{target:r,anchor:l,props:o={},events:u,context:f,intro:i=!0}){(function(){if(ut===void 0){ut=window,at=/Firefox/.test(navigator.userAgent);var s=Element.prototype,p=Node.prototype,h=Text.prototype;ft=rn(p,"firstChild").get,st=rn(p,"nextSibling").get,$n(s)&&(s.__click=void 0,s.__className=void 0,s.__attributes=null,s.__style=void 0,s.__e=void 0),$n(h)&&(h.__t=void 0)}})();var a=new Set,c=s=>{for(var p=0;pnew Promise(_=>{h.outro?mt(p,()=>{G(p),_(void 0)}):(G(p),_(void 0))})})(()=>{var s=l??r.appendChild(Ht());return Tn(()=>{f&&(Gn({}),N.c=f),u&&(o.$$events=u),d=e(s,o)||{},f&&Qn()}),()=>{for(var p of a){r.removeEventListener(p,yn);var h=en.get(p);--h===0?(document.removeEventListener(p,yn),en.delete(p)):en.set(p,h)}Mt.delete(c),s!==l&&s.parentNode?.removeChild(s)}});return In.set(d,v),d})(n,t)}const en=new Map;let In=new WeakMap;function le(n,t,e=!1){var r=n,l=null,o=null,u=b,f=!1;const i=(v,s=!0)=>{f=!0,d(s,v)};var a=null;function c(){a!==null&&(a.lastChild.remove(),r.before(a),a=null);var v=u?l:o,s=u?o:l;v&&Qt(v),s&&mt(s,()=>{u?o=null:l=null})}const d=(v,s)=>{if(u!==(u=v)){var p=!1,h=r;u?l??=s&&Tn(()=>s(h)):o??=s&&Tn(()=>s(h)),c()}};(function(v,s=0){z(ln|s,v,!0)})(()=>{f=!1,t(i),f||d(null,null)},e?Pn:0)}function oe(n,t,e=t){var r=new WeakSet;zt(n,"input",async l=>{var o=l?n.defaultValue:n.value;if(o=Jn(n)?Un(o):o,e(o),y!==null&&r.add(y),await Yt(),o!==(o=t())){var u=n.selectionStart,f=n.selectionEnd;n.value=o??"",f!==null&&(n.selectionStart=u,n.selectionEnd=Math.min(f,n.value.length))}}),(function(l){var o=R;try{return R=!0,l()}finally{R=o}})(t)==null&&n.value&&(e(Jn(n)?Un(n.value):n.value),y!==null&&r.add(y)),(function(l,o=0){z(8|o,l,!0)})(()=>{var l=t();if(n===document.activeElement){var o=hn??y;if(r.has(o))return}Jn(n)&&l===Un(n.value)||(n.type!=="date"||l||n.value)&&l!==n.value&&(n.value=l??"")})}function Jn(n){var t=n.type;return t==="number"||t==="range"}function Un(n){return n===""?null:+n}typeof window<"u"&&((window.__svelte??={}).v??=new Set).add("5");var ie=Dn('

    Results matching

     
    ',1),ue=Dn("

    Enter a non-empty query.

    "),ae=Dn('
    Config and data
     
    ',1);(function(n,t){const e=new URLSearchParams(window.location.search).get("target")??t,r=re(n,{target:document.getElementById(e)??document.body});window[e]={stop:()=>(function(l,o){const u=In.get(l);return u?(In.delete(l),u(o)):Promise.resolve()})(r)}})(function(n,t){Gn(t,!0);const e=(()=>{try{return JSON.parse(document.getElementById("ProcessSearch")?.dataset.config||"{}")}catch{return{}}})();let r=j(""),l=j(""),o=j(null);(function(m){Gt();var k=w.f;if(g||(k&cn)===0||(k&En)!==0)return dt(m);var U=N;(U.e??=[]).push(m)})(()=>{if(L(l,P(r).trim(),!0),P(l)){const m=new URL(document.location.href);m.searchParams.set("q",P(l)),history.replaceState({},"",m);const k=new URL(e.search_url,document.location.href);k.searchParams.set("q",P(l)),L(o,null),fetch(k.toString()).then(U=>U.json()).then(U=>L(o,U,!0))}});var u=ae(),f=ct(u),i=T(f),a=T(i),c=fn(f,2),d=m=>{var k=ie(),U=ct(k),fe=fn(T(U)),se=T(fe),ce=T(fn(U,2)),ve=T(ce);ht(de=>{Bn(se,P(l)),Bn(ve,de)},[()=>JSON.stringify(P(o),null,2)]),Wn(m,k)},v=m=>{Wn(m,ue())};le(c,m=>{P(l)?m(d):m(v,!1)});var s=fn(c,2),p=fn(T(s),2),h=T(p),_=T(h);ht(m=>Bn(_,m),[()=>JSON.stringify({config:e,data:P(o)},null,2)]),oe(a,()=>P(r),m=>L(r,m)),Wn(n,u),Qn()},"ProcessSearch")}); diff --git a/src/Controller/ProcessOverviewController.php b/src/Controller/ProcessOverviewController.php index 1518411..0a7232c 100644 --- a/src/Controller/ProcessOverviewController.php +++ b/src/Controller/ProcessOverviewController.php @@ -27,6 +27,10 @@ public function show(ProcessOverviewGroup $group, ProcessOverview $overview): Re 'group' => $group->getId(), 'overview' => $overview->getId(), ]), + 'search_url' => $this->generateUrl('process_overview_search', [ + 'group' => $group->getId(), + 'overview' => $overview->getId(), + ]), ]); } @@ -37,4 +41,12 @@ public function data(ProcessOverview $overview, ProcessOverviewHelper $helper): return new JsonResponse($data); } + + #[Route('/{overview}/search', name: 'search')] + public function search(ProcessOverview $overview, ProcessOverviewHelper $helper): Response + { + $data = $helper->getData($overview); + + return new JsonResponse($data); + } } diff --git a/templates/process_overview/show.html.twig b/templates/process_overview/show.html.twig index d234780..7cad2ed 100644 --- a/templates/process_overview/show.html.twig +++ b/templates/process_overview/show.html.twig @@ -9,8 +9,6 @@
    -
    {{ 'Loading data …'|trans }}
    - - - {{ data_url }} +
    + {% endblock %} diff --git a/widgets/README.md b/widgets/README.md index e12ac8c..86bb768 100644 --- a/widgets/README.md +++ b/widgets/README.md @@ -2,6 +2,6 @@ -``` shell +```shell task ``` diff --git a/widgets/src/_standalone/ProcessOverview/index.svelte b/widgets/src/_standalone/ProcessOverview/index.svelte index 7e5de32..7d4ac2f 100644 --- a/widgets/src/_standalone/ProcessOverview/index.svelte +++ b/widgets/src/_standalone/ProcessOverview/index.svelte @@ -7,6 +7,8 @@ } })(); + const t = (text) => text; + const url = new URL(document.location.href); let currentPage = $state( (() => { @@ -15,17 +17,20 @@ })() ); - const pages = [ - 1, 2, 3 - // @todo Handle "prev" and "next" - // 'next', - ]; + // let maxCurrentPage = currentPage; + let pages = $state({ length: currentPage }); + // $effect(() => { + // maxCurrentPage = Math.max(maxCurrentPage, currentPage); + // }); const setPage = (page: number, event: Event): void => { // @todo Is this really necessary? event.preventDefault(); currentPage = page; + // maxCurrentPage = + pages = { length: Math.max(pages.length, currentPage) }; + // Update page URL without adding history entry. history.replaceState({}, '', getPageUrl(currentPage)); }; @@ -36,20 +41,35 @@ return url.toString(); }; - let dataUrl: string | null = $state(null); let data: any[] | null = $state(null); + let fetching = $state(true); + let header: any[] = $state(null); - // goto('?page=87') + const buildHeader = () => { + if (null === header) { + header = data.columns.map((cell) => cell); + } + }; $effect(() => { + const pageUrl = new URL(document.location.href); + pageUrl.searchParams.set('page', currentPage.toString()); + history.replaceState({}, '', pageUrl); + const url = new URL(config.data_url, document.location.href); url.searchParams.set('page', currentPage.toString()); - console.log(url.toString()); - dataUrl = url.toString(); - data = null; - fetch(dataUrl) - .then((response) => response.json()) - .then((result) => (data = result)); + + fetching = true; + //data = null; + setTimeout(() => { + fetch(url.toString()) + .then((response) => response.json()) + .then((result) => { + data = result; + buildHeader(); + fetching = false; + }); + }, 1000); }); @@ -59,43 +79,74 @@
    No data
    {:else} - - - {#each data.columns as column} - - {/each} - - - - {#each data.rows as row} + {#if header} + - {#each row as cell} - + {#each header as column} + {/each} - {/each} - + + {/if} + {#if data} + + {#if data.rows.length > 0} + {#each data.rows as row} + + {#each row as cell} + + {/each} + + {/each} + {:else} + + + + {/if} + + {/if}
    {column.label}
    - {cell.value ?? cell.status ?? '👻'} - {column.label}
    + {cell.value ?? cell.status ?? '👻'} +
    empty
    -