diff --git a/.github/ISSUE_TEMPLATE/do-not-submit-any-issue-here.md b/.github/ISSUE_TEMPLATE/do-not-submit-any-issue-here.md index 16dae38ed..0d77fbaac 100644 --- a/.github/ISSUE_TEMPLATE/do-not-submit-any-issue-here.md +++ b/.github/ISSUE_TEMPLATE/do-not-submit-any-issue-here.md @@ -2,9 +2,6 @@ name: Do not submit any issue here about: Please go to the `OpenList` repo if you have issues to submit. title: Do not submit any issue here -labels: '' -assignees: '' - +labels: "" +assignees: "" --- - - diff --git a/.github/workflows/build_media.yml b/.github/workflows/build_media.yml new file mode 100644 index 000000000..c55d3f117 --- /dev/null +++ b/.github/workflows/build_media.yml @@ -0,0 +1,79 @@ +# This workflow builds a media branch version of the OpenList frontend and publishes it on GitHub. +# +# This will: +# +# - Upload the release assets to GitHub (always git tagged `beta-media`). +# +# This workflow can be triggered on pushes to the `dev-media` branch, or manually via the GitHub Actions UI. + +name: Media Build + +on: + push: + branches: + - dev-media + workflow_dispatch: + inputs: + draft: + description: "Create draft release" + required: false + default: true + type: boolean + +jobs: + media: + name: Media Build + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + fetch-depth: 0 + submodules: recursive + + - name: Setup Node + uses: actions/setup-node@v6 + with: + node-version: "22" + registry-url: "https://registry.npmjs.org" + + - uses: pnpm/action-setup@v4 + name: Install pnpm + id: pnpm-install + with: + run_install: false + + - name: Build Media Pre-release + run: | + chmod +x build.sh + ./build.sh --dev --compress + env: + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} + + - name: Read version and determine tag name + id: version + run: | + version=$(cat dist/VERSION) + echo "version=$version" >> $GITHUB_OUTPUT + echo "tag_name=beta-media" >> $GITHUB_OUTPUT + + - name: Remove the existing pre-release + run: gh release delete ${{ steps.version.outputs.tag_name }} --cleanup-tag --yes || true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Publish media pre-release on GitHub + run: | + gh release create \ + --title "Media Pre-release ${{ steps.version.outputs.version }}" \ + --notes "Media branch pre-release build for ${{ steps.version.outputs.version }}
This is a development build for the media library feature and not intended for production use." \ + --prerelease \ + --draft=${{ github.event_name == 'workflow_dispatch' && github.event.inputs.draft || false }} \ + ${{ steps.version.outputs.tag_name }} \ + dist/openlist-frontend-dist-v*-*.tar.gz + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +permissions: + contents: write diff --git a/package.json b/package.json index e6a9d2894..2ff45a769 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "@types/sha256": "^0.2.2", "@types/streamsaver": "^2.0.5", "@vitejs/plugin-legacy": "^8.0.1", + "baseline-browser-mapping": "^2.10.29", "cross-env": "^10.1.0", "husky": "^9.1.7", "lint-staged": "^16.4.0", @@ -66,6 +67,7 @@ "@embedpdf/snippet": "^2.14.1", "@github/webauthn-json": "^2.1.1", "@hope-ui/solid": "0.6.7", + "@mediabunny/ac3": "^1.40.1", "@jellyfin/libass-wasm": "^4.2.4", "@monaco-editor/loader": "1.7.0", "@solid-primitives/i18n": "^2.2.1", @@ -96,6 +98,7 @@ "libheif-js": "^1.19.8", "lightgallery": "^2.9.0", "mark.js": "^8.11.1", + "mediabunny": "^1.40.1", "mitt": "^3.0.1", "monaco-editor": "0.55.1", "mpegts.js": "^1.8.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2c1c511ea..214bc81a4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,7 +18,7 @@ importers: version: 4.0.0-beta.7 '@embedpdf/snippet': specifier: ^2.14.1 - version: 2.14.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) + version: 2.14.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) '@github/webauthn-json': specifier: ^2.1.1 version: 2.1.1 @@ -28,6 +28,9 @@ importers: '@jellyfin/libass-wasm': specifier: ^4.2.4 version: 4.2.4 + '@mediabunny/ac3': + specifier: ^1.40.1 + version: 1.40.1(mediabunny@1.40.1) '@monaco-editor/loader': specifier: 1.7.0 version: 1.7.0 @@ -66,7 +69,7 @@ importers: version: 3.15.1 axios: specifier: ^1.15.2 - version: 1.15.2 + version: 1.16.1 bencode: specifier: ^4.0.0 version: 4.0.0 @@ -105,7 +108,7 @@ importers: version: 2.2.0 katex: specifier: ^0.16.44 - version: 0.16.44 + version: 0.16.45 libheif-js: specifier: ^1.19.8 version: 1.19.8 @@ -115,6 +118,9 @@ importers: mark.js: specifier: ^8.11.1 version: 8.11.1 + mediabunny: + specifier: ^1.40.1 + version: 1.40.1 mitt: specifier: ^3.0.1 version: 3.0.1 @@ -196,7 +202,10 @@ importers: version: 2.0.5 '@vitejs/plugin-legacy': specifier: ^8.0.1 - version: 8.0.1(terser@5.46.2)(vite@8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3)) + version: 8.0.1(terser@5.47.1)(vite@8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3)) + baseline-browser-mapping: + specifier: ^2.10.29 + version: 2.10.29 cross-env: specifier: ^10.1.0 version: 10.1.0 @@ -223,7 +232,7 @@ importers: version: 11.1.2 terser: specifier: ^5.46.2 - version: 5.46.2 + version: 5.47.1 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -232,16 +241,16 @@ importers: version: 11.0.5 vite: specifier: ^8.0.10 - version: 8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3) + version: 8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3) vite-plugin-dynamic-base: specifier: ^1.3.0 - version: 1.3.0(patch_hash=66b8690f2fc12c4b06543392adc3a5449c39a9224917e837dfb6e32773454c5c)(vite@8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3)) + version: 1.3.0(patch_hash=66b8690f2fc12c4b06543392adc3a5449c39a9224917e837dfb6e32773454c5c)(vite@8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3)) vite-plugin-solid: specifier: ^2.11.12 - version: 2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3)) + version: 2.11.12(solid-js@1.9.12)(vite@8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3)) vite-plugin-static-copy: specifier: ^3.4.0 - version: 3.4.0(vite@8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3)) + version: 3.4.0(vite@8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3)) packages: @@ -251,6 +260,10 @@ packages: '@antfu/utils@9.3.0': resolution: {integrity: sha512-9hFT4RauhcUzqOE4f1+frMKLZrgNog5b06I7VmZQV1BkvwvqrbC8EBZf3L1eEL2AKb6rNKjER0sEvJiSP1FXEA==} + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + '@babel/code-frame@7.29.0': resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} engines: {node: '>=6.9.0'} @@ -263,6 +276,10 @@ packages: resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} engines: {node: '>=6.9.0'} + '@babel/generator@7.28.5': + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} + engines: {node: '>=6.9.0'} + '@babel/generator@7.29.1': resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} engines: {node: '>=6.9.0'} @@ -281,16 +298,17 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-regexp-features-plugin@7.28.5': - resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==} + '@babel/helper-create-regexp-features-plugin@7.27.1': + resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-define-polyfill-provider@0.6.7': - resolution: {integrity: sha512-6Fqi8MtQ/PweQ9xvux65emkLQ83uB+qAVtfHkC9UodyHMIZdxNI01HjLCLUtybElp2KY2XNE0nOgyP1E1vXw9w==} + '@babel/helper-create-regexp-features-plugin@7.28.5': + resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==} + engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/core': ^7.0.0 '@babel/helper-define-polyfill-provider@0.6.8': resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} @@ -301,6 +319,10 @@ packages: resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} engines: {node: '>=6.9.0'} + '@babel/helper-member-expression-to-functions@7.27.1': + resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==} + engines: {node: '>=6.9.0'} + '@babel/helper-member-expression-to-functions@7.28.5': resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} engines: {node: '>=6.9.0'} @@ -309,10 +331,20 @@ packages: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.28.6': resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} engines: {node: '>=6.9.0'} + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-module-transforms@7.28.6': resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} engines: {node: '>=6.9.0'} @@ -323,6 +355,10 @@ packages: resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.27.1': + resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} + engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.28.6': resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} engines: {node: '>=6.9.0'} @@ -333,6 +369,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-replace-supers@7.27.1': + resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-replace-supers@7.28.6': resolution: {integrity: sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==} engines: {node: '>=6.9.0'} @@ -359,8 +401,8 @@ packages: resolution: {integrity: sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.28.6': - resolution: {integrity: sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==} + '@babel/helpers@7.29.2': + resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} engines: {node: '>=6.9.0'} '@babel/parser@7.29.0': @@ -368,16 +410,6 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@7.29.2': - resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/parser@7.29.3': - resolution: {integrity: sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5': resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==} engines: {node: '>=6.9.0'} @@ -759,10 +791,18 @@ packages: resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} + '@babel/template@7.28.6': resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.28.5': + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} + engines: {node: '>=6.9.0'} + '@babel/traverse@7.29.0': resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} engines: {node: '>=6.9.0'} @@ -805,8 +845,8 @@ packages: '@egjs/view360@4.0.0-beta.7': resolution: {integrity: sha512-prVTTxuQ1/k59NM7G0tm58k2vPHGoaExoFr5E7MoJaSGF56Otj4okQHAxxosXH87aQLN0feZMtBlsKz0b/7zEw==} - '@embedpdf/core@2.14.1': - resolution: {integrity: sha512-L0lNn5WGnGDPaI1q2wnavVF6C6haRtvPGbMfqhZrjr7V+e0GExeoTO0VjK1DwH4IIBHOuD6nsQFYI89+nY/sJA==} + '@embedpdf/core@2.14.2': + resolution: {integrity: sha512-82eZ9Z8XzMBclqrfnZZZ79ySsqtzWNU5pHqsm4O+J1XvldTLHLhHjBY2HwfAoedc5pyElvuvpNp9155mOZvnsQ==} peerDependencies: preact: ^10.26.4 react: '>=16.8.0' @@ -814,8 +854,8 @@ packages: svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/engines@2.14.1': - resolution: {integrity: sha512-k+HHuhj7dPKZC+8wUvMbpEUbNfi6F5r96Ky2XbNhBxiMQSWlVljBQVfZWcq9Jy3TLslwn5m2BbrvvHw+UVqe3w==} + '@embedpdf/engines@2.14.2': + resolution: {integrity: sha512-4ecTvOCvZ3nLMXdqh7vLCBp/ruzauu5xmk7N7Um5H/79gYCL8nJdKUAU+DR9RNMUsR2lCxpJrdcsM18vxu9FMg==} peerDependencies: preact: ^10.26.4 react: '>=16.8.0' @@ -844,325 +884,325 @@ packages: '@embedpdf/fonts-tc@1.0.0': resolution: {integrity: sha512-rGZJbVD6DYS5BbXdpEMnWkpVF0Knar+bsiyb2o3+YRx7O8eyFubEBQUSUInirQk69HA6fc3GhYCg7TyC/oD76Q==} - '@embedpdf/models@2.14.1': - resolution: {integrity: sha512-jbuoXKv4jW8F1o8EzCmPIB5U/yVC5DWlWhxL9ZfvBiBgW2HIy68ydcu+AykqOG75eAvCfxqcvF2HzSDsV3+K0A==} + '@embedpdf/models@2.14.2': + resolution: {integrity: sha512-QLelt0pH9Wt6GPAW6LEGRnn9JIx8kKEca+aG5H7nozJ0/iBBnZx8KanAWPR1vTHAGUmYVi0DHSnzVQgMgs4wew==} - '@embedpdf/pdfium@2.14.1': - resolution: {integrity: sha512-4FKhpeb7CYfkZ1k0WyDTq8i2FlIO5MaR0ywIDJ0goxOjenKkYOgHQ4747B5evxRzNEC2H5V3Rk6Dunf7TlIYBQ==} + '@embedpdf/pdfium@2.14.2': + resolution: {integrity: sha512-BAwDrAqKUTQ/hYGC7Rqu5U6UZkyWtF0x5Mab0hCTWVxrbNQV1nSmX5jQXYB9cXeVDnVvwsyFRhWggazBIRvbqA==} - '@embedpdf/plugin-annotation@2.14.1': - resolution: {integrity: sha512-YGe/DLL5r9HsF54QYgNnsc82W4E2jXRaX6D4WzR38argBhiSLf3IhTJmFXVR2WlPK4VwW6DA0p7WqKcEYUOyDg==} + '@embedpdf/plugin-annotation@2.14.2': + resolution: {integrity: sha512-WdJHrefexHQLlRfk7X53dJSRNAJ+n9OhGWTo1beWLketeT9iyfw9WJDg4xPcHgMlu32RdUGqHU33/fB/PNdB0g==} peerDependencies: - '@embedpdf/core': 2.14.1 - '@embedpdf/plugin-history': 2.14.1 - '@embedpdf/plugin-interaction-manager': 2.14.1 - '@embedpdf/plugin-scroll': 2.14.1 - '@embedpdf/plugin-selection': 2.14.1 + '@embedpdf/core': 2.14.2 + '@embedpdf/plugin-history': 2.14.2 + '@embedpdf/plugin-interaction-manager': 2.14.2 + '@embedpdf/plugin-scroll': 2.14.2 + '@embedpdf/plugin-selection': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-attachment@2.14.1': - resolution: {integrity: sha512-RdR43Kp/t15/KcvAiN8VEMxhqJcTfK2ZeU95PbPHr8zZ1rDatRltVGmKQ4fcaBXQMv15VLTEPZNbGFbfRgdF8g==} + '@embedpdf/plugin-attachment@2.14.2': + resolution: {integrity: sha512-bS/lYIJwkXCInY5syCUSGPfOrrXGdMpc6T8TvF/o28WQ+6jXqKVSK81XY0qDU9h5HZxzTv2gtvZ6MvZ7nIYb/w==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-bookmark@2.14.1': - resolution: {integrity: sha512-ur5tEu4OaVec8T6qF9c18W9hfMNqg0g6dkVqcuh+qaLUYznJpyxMSsNTMJmw/h607bsVLfA1QCwk4l2vORwNmQ==} + '@embedpdf/plugin-bookmark@2.14.2': + resolution: {integrity: sha512-EUiCEr5sndPKWE7kK/a8ZlB8KvfA7R86Jjrw9/m5CAjCl/rOHg0d/n2ZHE6HFYA1l4NpPNxU7kjZ0ipGslaRTg==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-capture@2.14.1': - resolution: {integrity: sha512-Rgykj6DANjKACdpS2KIceJlQ9j+oHquiUnIiIFplN7ajMX8CBfe+eAkQZVfIHmFI1cEFJezf1lLWz04gZcTz2g==} + '@embedpdf/plugin-capture@2.14.2': + resolution: {integrity: sha512-KZk2MITAkogdtY3urFsGs5mAzOPC5hBjsd9Ox+Aq2NU4h3+suYEoCXmp/Ncv1JjNR7yRziK0LSXVxFe9Yv9T8A==} peerDependencies: - '@embedpdf/core': 2.14.1 - '@embedpdf/plugin-interaction-manager': 2.14.1 - '@embedpdf/plugin-render': 2.14.1 + '@embedpdf/core': 2.14.2 + '@embedpdf/plugin-interaction-manager': 2.14.2 + '@embedpdf/plugin-render': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-commands@2.14.1': - resolution: {integrity: sha512-3ekSwdn9i8SSi5ywaGe/l8aBlsivF0Dy/L9PZt6ypG64Iu4h6SprEgJcLscmJtRMTYhr5qibLSPLHKDePq5/NQ==} + '@embedpdf/plugin-commands@2.14.2': + resolution: {integrity: sha512-O/r6tbfebRU4GNogTGfZ3yG3UUAx1GI43k4WK3BISnftEpQan+kFhYVoYuNhzvB629Cg104X8eOyk2em3wOosQ==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-document-manager@2.14.1': - resolution: {integrity: sha512-Qdj6Xkmpyt0aLHCkqZbOsOK5xzwI4IjaV8C2ihPiggB/iPDhoyXPklJb3wXmJfxjTIl+aw+FZmmPkmr4IpYn7w==} + '@embedpdf/plugin-document-manager@2.14.2': + resolution: {integrity: sha512-a1yLg+vpnD7nIoegT6Q32Zib7urWi7L/1MI7EhaTjlApH9qJVHeJn3m/10TJoplKPBEaY/c2Ubb+HNQ273CWlQ==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-export@2.14.1': - resolution: {integrity: sha512-O52WPexZD7dbUJQnjp3ikhNg7D3PmGZJowJmXVcmJ2YlTkBabN799LBppC+FYP7nXrtbwy7UmG6vdGWha1b/NQ==} + '@embedpdf/plugin-export@2.14.2': + resolution: {integrity: sha512-vglzw0fjZFWmvZgy88x07LAxa6buK8PzcqV7m5g03JT2vXtR9gMIZ8moCdzTf5alOXya5C2hthI3VjqoAYQY9A==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-form@2.14.1': - resolution: {integrity: sha512-dZTp63433/U8YSzWe+dZFK1+AtSQuDibPCMjNhWipy7zlTku4oX5gPOE9Xt9avTGPUVWEqhAWju3uySLDaSjag==} + '@embedpdf/plugin-form@2.14.2': + resolution: {integrity: sha512-OAXyMNXdOO+BwfoDdIlpFo1MRk8/oQudIP15leiqDkafIt1fgX8C+ckSQkOch27IPv/ubPDUqviUDFM0bVQ0mA==} peerDependencies: - '@embedpdf/core': 2.14.1 - '@embedpdf/plugin-annotation': 2.14.1 - '@embedpdf/plugin-history': 2.14.1 + '@embedpdf/core': 2.14.2 + '@embedpdf/plugin-annotation': 2.14.2 + '@embedpdf/plugin-history': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-fullscreen@2.14.1': - resolution: {integrity: sha512-O8JZc3RnveaoZYVRRj8uOvBZbmXZpOd2Q1WFIiZ5NweYquQCzlYDdfBKC5Bgny81/+Uslglk5/8SPokCkp3NfA==} + '@embedpdf/plugin-fullscreen@2.14.2': + resolution: {integrity: sha512-1aDGbZTeWFsXbd/v31IV3IKOG9JQY2zMKgQ0KWI5qaYlIGForiVDGu1DEdViiozYpQV2Tzh0gf1EjwHj1OO+YQ==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-history@2.14.1': - resolution: {integrity: sha512-mJUKNO69b8Cf0zpE3zJRM5in/AsVRLZq4bRbuAfK9c5+YG2Z59fYEjfRNSwDefxatzFTgy3mlZ5/fSfZsAZz0w==} + '@embedpdf/plugin-history@2.14.2': + resolution: {integrity: sha512-0EBcHSrX8sVdbu9Qx7yvOG6vUzKiHdCPOBrE84Rl4YFHoNLROpE6uphLQK1nAtHTtYPUkCXYH8FHn9/+Cj15gQ==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-i18n@2.14.1': - resolution: {integrity: sha512-CtVEcoY/BQmk4YX06MDuaIbVDsb3553ncXjYLR9UwPmv/eCJXYokcgY2/f7twFR3mg5O4Xgc/0O4DtuJrv87Gw==} + '@embedpdf/plugin-i18n@2.14.2': + resolution: {integrity: sha512-d4gfeybFhqmGoY+34WMYVdWD/s89X0teaB91zHE+jGUDKswRvV4YNwY427sTl6gk2D3pguA9EDgzcBuHq95Kzw==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-interaction-manager@2.14.1': - resolution: {integrity: sha512-eyH45cF3vHeZ5BlcgIjH212EtUhi20FvKSRZeLWZW72noOn6saXRDScLy/XGbtfGFjJoTrzkNA553hvrRpqVKA==} + '@embedpdf/plugin-interaction-manager@2.14.2': + resolution: {integrity: sha512-L5kWL66fgjI41FGtnRaODTZk+1RP4ft7at5q9IE7OAH/5YGvedRtXEOaa1D+v1EKsWsi7d7HxYMX9dLxEbf8oA==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-pan@2.14.1': - resolution: {integrity: sha512-sHc9gjfoWQhfMcJ2JULsTzH9Sg9z6wX76Qvr5cujSPoOVV5bZ4QCB0kF1vgLFFzA1ia7vIBveGtDHIGkQQjsxA==} + '@embedpdf/plugin-pan@2.14.2': + resolution: {integrity: sha512-cqTi7Tun9b9A3AqdNvxzszs/uFo4hJ92NGhpTbUi6/Qkqy9WidWs925laSDTkOfNoAeN7CYe7YzNFZU3evS+rQ==} peerDependencies: - '@embedpdf/core': 2.14.1 - '@embedpdf/plugin-interaction-manager': 2.14.1 - '@embedpdf/plugin-viewport': 2.14.1 + '@embedpdf/core': 2.14.2 + '@embedpdf/plugin-interaction-manager': 2.14.2 + '@embedpdf/plugin-viewport': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-print@2.14.1': - resolution: {integrity: sha512-wYuGuxuBhau7l2BfTlD5oohboRdseOn9/v0uVNGwKDuLHUTrv2WnkpzibBYIjv73gttyMBxTXdB3PZfnWOo8VA==} + '@embedpdf/plugin-print@2.14.2': + resolution: {integrity: sha512-7q2T4wmQvKE2UZPmLjhZzuCfMCgbr1/pGtSSzM1k8q4+0XHWlBbHuBaLF35li+2dka0Yn8/FeTPzPxsl+gr5CQ==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=18.0.0' react-dom: '>=18.0.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-redaction@2.14.1': - resolution: {integrity: sha512-xlcOgYDNqIKp9u7exT95RtfDGCkW1b+knGikpTNZEA5OJgtYO9RxquTkEZ4rdVZbgIWxs0xiMg6b0mhr33z4JQ==} + '@embedpdf/plugin-redaction@2.14.2': + resolution: {integrity: sha512-ktRJVkcQpS7YpLTpcA1jYmu0NCVOCkfOeaauvX0cx490FFsOPZBVCCddv4JAfB7uojDENILCwc0Yys2nxMkDYA==} peerDependencies: - '@embedpdf/core': 2.14.1 - '@embedpdf/plugin-annotation': 2.14.1 - '@embedpdf/plugin-history': 2.14.1 - '@embedpdf/plugin-interaction-manager': 2.14.1 - '@embedpdf/plugin-selection': 2.14.1 + '@embedpdf/core': 2.14.2 + '@embedpdf/plugin-annotation': 2.14.2 + '@embedpdf/plugin-history': 2.14.2 + '@embedpdf/plugin-interaction-manager': 2.14.2 + '@embedpdf/plugin-selection': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-render@2.14.1': - resolution: {integrity: sha512-KRjeSZeQRrg6fuyUgSU43yE6bOrRredpEiAfPI/FUCGgniO9nokTHjnFYg5G3UtVteJdnzdnKwzBl5sY++NQkg==} + '@embedpdf/plugin-render@2.14.2': + resolution: {integrity: sha512-lKTz7oqTJ+fa2Hf5aiovZqKH8YD7i5NebAiWKfL2Tx3Gm9JiQk/9G+G9+sQYC75rPriTGmhMeXmEWDOt/pkdsg==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-rotate@2.14.1': - resolution: {integrity: sha512-ILu0Y6bXzLQg63cj9pAJ0ime5m5HVDOSBOyTT/Nb47hBfDLSbTWQuvAHZXwxPhGOjM5Pn6gHssKWZjW2WiXkBQ==} + '@embedpdf/plugin-rotate@2.14.2': + resolution: {integrity: sha512-G/b5ZBDn0PIamDZ8YKLcHBp/Gk7ZqjFo3xdVaJFzJ1e9VqGuO8Pdly93ZzO7hQc6/a2xLexpplHxyKjJVmlHNA==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-scroll@2.14.1': - resolution: {integrity: sha512-ppnP4t43EVNiXr2coEwybQ7BYucbUEpdTGlcEBm38DhLywgseVVySrcIMx7rHdM7ZylsW7uwS84hCFndTpPezg==} + '@embedpdf/plugin-scroll@2.14.2': + resolution: {integrity: sha512-bFe2fogckXq4BzyJhF3RipyiRDfCXbk1vHq6Z5Ii1S6Qaa9ii4pkKx8NduCG5zYXQ8gLPIXjQfngHqBjYP1POg==} peerDependencies: - '@embedpdf/core': 2.14.1 - '@embedpdf/plugin-viewport': 2.14.1 + '@embedpdf/core': 2.14.2 + '@embedpdf/plugin-viewport': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-search@2.14.1': - resolution: {integrity: sha512-dAX4aIc4WeO+bUImbcHVm4c32UADYelpTeJA0It2eq6agZVND20B25kyDYpJiWKTl9NaVcJbNic+wreudl6vsQ==} + '@embedpdf/plugin-search@2.14.2': + resolution: {integrity: sha512-AroZnn4PDQvDEy/x4qny04N2Op2+jxOXW0RWvfl8j3Ws8h1tuu9YQjkULxPtjjEnNo9FwLurk3wrOVOlS1asEw==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-selection@2.14.1': - resolution: {integrity: sha512-M+omnIDqgME+QgYX3nW3ypjzRvvz2IrSWpx7vP7vUhfd12R4ZJnTkS9AkKbXgHBVwWrxnbibKlZduiiehRLeKg==} + '@embedpdf/plugin-selection@2.14.2': + resolution: {integrity: sha512-Uw+c88ASC90gDHd9wbp+48y8ZJDAe33jwai38OG2pru3fZqwXGRY4BZvmCXxyPBQEPSwZUIt4Hz7oHW3W1l/Vg==} peerDependencies: - '@embedpdf/core': 2.14.1 - '@embedpdf/plugin-interaction-manager': 2.14.1 + '@embedpdf/core': 2.14.2 + '@embedpdf/plugin-interaction-manager': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-signature@2.14.1': - resolution: {integrity: sha512-G2cXSkxbX5YUUWD8nSXoI2qsYKfuLhIL8/bwHWvmJ+SafhCtLmpQ3Q1TRVhleD+Ncl2fTcOPBx9C48aZXPNnQA==} + '@embedpdf/plugin-signature@2.14.2': + resolution: {integrity: sha512-MJeP+YlTM1iocG/qZ3V4+jz158KQ38UVh8u+/kkWVgooFtq1kx8711eZNGpTXsYVr3W4ECUCMtMpLFlNthIB0A==} peerDependencies: - '@embedpdf/core': 2.14.1 - '@embedpdf/plugin-annotation': 2.14.1 + '@embedpdf/core': 2.14.2 + '@embedpdf/plugin-annotation': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-spread@2.14.1': - resolution: {integrity: sha512-MychoG54eYqjB+8/1/ArKYF+4eonULtBuGPqU72MO9t/Nadl8nNThaPrOW/eKQr3zQu1Af3KO7ng6tm6Umz4rA==} + '@embedpdf/plugin-spread@2.14.2': + resolution: {integrity: sha512-Iry6gaUZLd22O8jYtRcT77paa4pVbtjdiUyVPxZN/dW6AI4+NNo3qY2A2eknESaiB8eMWAfmIkQiTu/R59+u3A==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-stamp@2.14.1': - resolution: {integrity: sha512-5g09thywttSWOmWDk6S/6o7IFZp9DdYo2ejg5J46MJz1P6xwsJVAw9k8MzJjnHMBPD+z1yoajfpienC/EqzG0g==} + '@embedpdf/plugin-stamp@2.14.2': + resolution: {integrity: sha512-LQnXoSWzuw2OswLcWzFWMIlcVslhA3rrPH0ADojbz4txwc2cBMEORVO0J4gcMi77gNnpf6fcs1FdIZy6hWcxqw==} peerDependencies: - '@embedpdf/core': 2.14.1 - '@embedpdf/plugin-annotation': 2.14.1 - '@embedpdf/plugin-i18n': 2.14.1 + '@embedpdf/core': 2.14.2 + '@embedpdf/plugin-annotation': 2.14.2 + '@embedpdf/plugin-i18n': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-thumbnail@2.14.1': - resolution: {integrity: sha512-NOaFve83gbD6BUiANSSbiREjUJ1qpNyQrHl2RdMDNLyDaSUARweUu5zC5vfFRd9I+jUf3XGsCa3GNFlzQt+C9A==} + '@embedpdf/plugin-thumbnail@2.14.2': + resolution: {integrity: sha512-JNLY/hoQaqgE3elMc1srxvH+OlrdnSwAWglS9O0ZWyUss8ZZ13vQUAjxHuFTAB7KGzjVzV66VAtfMV2o8V1TFQ==} peerDependencies: - '@embedpdf/core': 2.14.1 - '@embedpdf/plugin-render': 2.14.1 + '@embedpdf/core': 2.14.2 + '@embedpdf/plugin-render': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-tiling@2.14.1': - resolution: {integrity: sha512-tvs3pPT6wVh0MjMN7Dp8R1XeoTjguH30j/ToWz9ziTKkwXADfJXdyjqYGhagiamMMTwQeUF9py+yDTMP23QV7Q==} + '@embedpdf/plugin-tiling@2.14.2': + resolution: {integrity: sha512-vKH+k2xSZKzYczAVBF0FIONl7QjCPeZibA6kicxna3a2b3Qg10OMNI4J+09zYH76x2O4PrF7y6wirgpS7Hx6qA==} peerDependencies: - '@embedpdf/core': 2.14.1 - '@embedpdf/plugin-render': 2.14.1 - '@embedpdf/plugin-scroll': 2.14.1 - '@embedpdf/plugin-viewport': 2.14.1 + '@embedpdf/core': 2.14.2 + '@embedpdf/plugin-render': 2.14.2 + '@embedpdf/plugin-scroll': 2.14.2 + '@embedpdf/plugin-viewport': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-ui@2.14.1': - resolution: {integrity: sha512-aQVJeaLv17fVzTW3LuxUgTiFbz/K3O9II9hBt7sLORUAyuIdlExqhlVru7ANbn4JcLqhe/pYSjD5Jt5KRNqGOQ==} + '@embedpdf/plugin-ui@2.14.2': + resolution: {integrity: sha512-2yxh28EnuUDUzKX11WzpS7hAIDlkC2cz0Uq6cllWpyz53SADUFi+Mg57anutyFlbB3s3kZVHqt8N+4ebjE7QyQ==} peerDependencies: - '@embedpdf/core': 2.14.1 - '@embedpdf/plugin-render': 2.14.1 - '@embedpdf/plugin-scroll': 2.14.1 - '@embedpdf/plugin-viewport': 2.14.1 + '@embedpdf/core': 2.14.2 + '@embedpdf/plugin-render': 2.14.2 + '@embedpdf/plugin-scroll': 2.14.2 + '@embedpdf/plugin-viewport': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-viewport@2.14.1': - resolution: {integrity: sha512-U45B46XoaAFxC3yKnVhBO8Z5Wa+ca17UW7esJC/yWneJ2dNfSnvRAR7309KKP/RpZfDmn/lfJDVOFGCDbR3hvw==} + '@embedpdf/plugin-viewport@2.14.2': + resolution: {integrity: sha512-BV+QAnblCf5oYGfZwcuGr074fN3cYYuAFi5onr1xCD8y09NFoYBAfagfdnF81av7RY0byq86SArD1x9NhsIrFw==} peerDependencies: - '@embedpdf/core': 2.14.1 + '@embedpdf/core': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/plugin-zoom@2.14.1': - resolution: {integrity: sha512-rVah7XgrWiNe9kT7VGRhNp5mCImf3eMk4cGO9kXIidQWka+yFqBANJw6Rj+FJdtWqz6pamZNWXTDZ1jvQkMKZg==} + '@embedpdf/plugin-zoom@2.14.2': + resolution: {integrity: sha512-X4Bmr6eJJjSP+V3WG4UjZi2ia8bCrPZSgfNHcWlugWVzdU4Dm+AVjkYadj2xPDcNBs9OyCliGHpa46FkAMMYog==} peerDependencies: - '@embedpdf/core': 2.14.1 - '@embedpdf/plugin-scroll': 2.14.1 - '@embedpdf/plugin-viewport': 2.14.1 + '@embedpdf/core': 2.14.2 + '@embedpdf/plugin-scroll': 2.14.2 + '@embedpdf/plugin-viewport': 2.14.2 preact: ^10.26.4 react: '>=16.8.0' react-dom: '>=16.8.0' svelte: '>=5 <6' vue: '>=3.2.0' - '@embedpdf/snippet@2.14.1': - resolution: {integrity: sha512-EGWyQmFfOzuVU7y3qQ+89dmN9Jh+Opno5Is4rvB/TGsEVp6MQKB/qSAdPcw+6faIJ0W8LqSQLpBlwSbdnbIHeg==} + '@embedpdf/snippet@2.14.2': + resolution: {integrity: sha512-svdLfQOsEFYHPV+KTz6ekuCbIv/2IMarvrTnc0XEDbxlsOA9YMxkP7gCMp0aMWVqKYKO5UeinBsYfDePkOfOqA==} - '@embedpdf/utils@2.14.1': - resolution: {integrity: sha512-TlJBT+SgRgcSMKH2EX3WBXIm/a/LEtgG2IiZ7hXPhT3t2e1HOeXjkvreJi6wcnvkMt4eYtJh3nocetto5gNclw==} + '@embedpdf/utils@2.14.2': + resolution: {integrity: sha512-AaFopNlDeFxAkZA5fL0U2PYAcaOwuW8u3zY5XAw4ReMSgvsM/O5DlwxKMre34kJtHQa17GpfgtqLm0yaqzLMlA==} peerDependencies: preact: ^10.26.4 react: '>=16.8.0' @@ -1232,6 +1272,11 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@mediabunny/ac3@1.40.1': + resolution: {integrity: sha512-A9aUZnQ1tNia2i9TZjOzAPVi4sOXRsnozXtq3WMsoGbco6yBPgIZLOWPVugwpJMQglVSAPARlgH+chpzNAkHOg==} + peerDependencies: + mediabunny: ^1.0.0 + '@mermaid-js/parser@1.1.0': resolution: {integrity: sha512-gxK9ZX2+Fex5zu8LhRQoMeMPEHbc73UKZ0FQ54YrQtUxE1VVhMwzeNtKRPAu5aXks4FasbMe4xB4bWrmq6Jlxw==} @@ -1274,106 +1319,106 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-project/types@0.127.0': - resolution: {integrity: sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==} + '@oxc-project/types@0.130.0': + resolution: {integrity: sha512-ibD2usx9JRu7f5pu2tMKMI4cpA4NgXJQoYRP4pQ7Pxmn1l6k/53qWtQWZayhYy3X4QZkt90Ot+mJEaeXouio6Q==} - '@rolldown/binding-android-arm64@1.0.0-rc.17': - resolution: {integrity: sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==} + '@rolldown/binding-android-arm64@1.0.1': + resolution: {integrity: sha512-fJI3I0r3C3Oj/zdBCpaCmBRZYf07xpaq4yCfDDoSFm+beWNzbIl26puW8RraUdugoJw/95zerNOn6jasAhzSmg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-rc.17': - resolution: {integrity: sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==} + '@rolldown/binding-darwin-arm64@1.0.1': + resolution: {integrity: sha512-cKnAhWEsV7TPcA/5EAteDp6KcJZBQ2G+BqE7zayMMi7kMvwRsbv7WT9aOnn0WNl4SKEIf43vjS31iUPu80nzXg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-rc.17': - resolution: {integrity: sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==} + '@rolldown/binding-darwin-x64@1.0.1': + resolution: {integrity: sha512-YKrVwQjIRBPo+5G/u03wGjbdy4q7pyzCe93DK9VJ7zkVmeg8LJ7GbgsiHWdR4xSoe4CAXRD7Bcjgbtr64bkXNg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-rc.17': - resolution: {integrity: sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==} + '@rolldown/binding-freebsd-x64@1.0.1': + resolution: {integrity: sha512-z/oBsREo46SsFqBwYtFe0kpJeBijAT48O/WXLI4suiCLBkr03RTtTJMCzSdDd2znlh8VJizL09XVkQgk8IZonw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': - resolution: {integrity: sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.1': + resolution: {integrity: sha512-ik8q7GM11zxvYxFc2PeDcT6TBvhCQMaUxfph/M5l9sKuTs/Sjg3L+Byw0F7w0ZVLBZmx30P+gG0ECzzN+MFcmQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==} + '@rolldown/binding-linux-arm64-gnu@1.0.1': + resolution: {integrity: sha512-QoSx2EkyrrdZ6kcyE8stqZ62t0Yra8Fs5ia9lOxJrh6TMQJK7gQKmscdTHf7pOXKREKrVwOtJcQG3qVSfc866A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': - resolution: {integrity: sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==} + '@rolldown/binding-linux-arm64-musl@1.0.1': + resolution: {integrity: sha512-uwNwFpwKeNiZawfAWBgg0VIztPTV3ihhh1vV334h9ivnNLorxnQMU6Fz8wG1Zb4Qh9LC1/MkcyT3YlDXG3Rsgg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==} + '@rolldown/binding-linux-ppc64-gnu@1.0.1': + resolution: {integrity: sha512-zY1bul7OWr7DFBiJ++wofXvnr8B45ce3QsQUhKrIhXsygAh7bTkwyeM1bi1a2g5C/yC/N8TZyGDEoMfm/l9mpg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==} + '@rolldown/binding-linux-s390x-gnu@1.0.1': + resolution: {integrity: sha512-0frlsT/f4Ft6I7SMESTKnF3cZsdicQn1dCMkF/jT9wDLE+gGoiQfv1nmT9e+s7s/fekvvy6tZM2jHvI2tkbJDQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': - resolution: {integrity: sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==} + '@rolldown/binding-linux-x64-gnu@1.0.1': + resolution: {integrity: sha512-XABVmGp9Tg0WspTVvwduTc4fpqy6JnAUrSQe6OuyqD/03nI7r0O9OWUkMIwFrjKAIqolvqoA4ZrJppgwE0Gxmw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': - resolution: {integrity: sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==} + '@rolldown/binding-linux-x64-musl@1.0.1': + resolution: {integrity: sha512-bV4fzswuzVcKD90o/VM6QqKxnxlDq0g2BISDLNVmxrnhpv1DDbyPhCIjYfvzYLV+MvkKKnQt2Q6AO86SEBULUQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': - resolution: {integrity: sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==} + '@rolldown/binding-openharmony-arm64@1.0.1': + resolution: {integrity: sha512-/Mh0Zhq3OP7fVs0kcQHZP6lZEthMGTaSf8UBQYSFEZDWGXXlEC+nJ6EqenaK2t4LBXMe3A+K/G2BVXXdtOr4PQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.0-rc.17': - resolution: {integrity: sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==} + '@rolldown/binding-wasm32-wasi@1.0.1': + resolution: {integrity: sha512-+1xc9X45l8ufsBAm6Gjvx2qDRIY9lTVt0cgWNcJ+1gdhXvkbxePA60yRTwSTuXL09CMhyJmjpV7E3NoyxbqFQQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': - resolution: {integrity: sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==} + '@rolldown/binding-win32-arm64-msvc@1.0.1': + resolution: {integrity: sha512-1D+UqZdfnuR+Jy1GgMJwi85bD40H21uNmOPRWQhw4oRSuolZ/B5rixZ45DK2KXOTCvmVCecauWgEhbw8bI7tOw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': - resolution: {integrity: sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==} + '@rolldown/binding-win32-x64-msvc@1.0.1': + resolution: {integrity: sha512-INAycaWuhlOK3wk4mRHGsdgwYWmd9cChdPdE9bwWmy6rn9VqVNYNFGhOdXrofXUxwHIncSiPNb8tNm8knDVIeQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-rc.17': - resolution: {integrity: sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==} + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} '@solid-primitives/event-listener@2.4.5': resolution: {integrity: sha512-nwRV558mIabl4yVAhZKY8cb6G+O1F0M6Z75ttTu5hk+SxdOnKSGj+eetDIu7Oax1P138ZdUU01qnBPR8rnxaEA==} @@ -1649,6 +1694,12 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/dom-mediacapture-transform@0.1.11': + resolution: {integrity: sha512-Y2p+nGf1bF2XMttBnsVPHUWzRRZzqUoJAKmiP10b5umnO6DDrWI0BrGDJy1pOHoOULVmGSfFNkQrAlC5dcj6nQ==} + + '@types/dom-webcodecs@0.1.13': + resolution: {integrity: sha512-O5hkiFIcjjszPIYyUSyvScyvrBoV3NOEEZx/pMlsu44TKzWNkLVBBxnxJz42in5n3QIolYOcBYFCPZZ0h8SkwQ==} + '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -1700,10 +1751,6 @@ packages: '@types/webxr@0.5.22': resolution: {integrity: sha512-Vr6Stjv5jPRqH690f5I5GLjVk8GSsoQSYJ2FVd/3jJF7KaqfwPi3ehfBS96mlQ2kPCwZaX6U0rG2+NGHBKkA/A==} - '@typescript-eslint/types@8.58.0': - resolution: {integrity: sha512-O9CjxypDT89fbHxRfETNoAnHj/i6IpRK0CvbVN3qibxlLdo5p5hcLmUuCCrHMpxiWSwKyI8mCP7qRNYuOJ0Uww==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} @@ -1754,6 +1801,10 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + ansi-escapes@7.2.0: resolution: {integrity: sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==} engines: {node: '>=18'} @@ -1797,8 +1848,8 @@ packages: asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - axios@1.15.2: - resolution: {integrity: sha512-wLrXxPtcrPTsNlJmKjkPnNPK2Ihe0hn0wGSaTEiHRPxwjvJwT3hKmXF4dpqxmPO9SoNb2FsYXj/xEo0gHN+D5A==} + axios@1.16.1: + resolution: {integrity: sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -1809,8 +1860,8 @@ packages: peerDependencies: '@babel/core': ^7.20.12 - babel-plugin-polyfill-corejs2@0.4.16: - resolution: {integrity: sha512-xaVwwSfebXf0ooE11BJovZYKhFjIvQo7TsyVpETuIeH2JHv0k/T6Y5j22pPTvqYqmpkxdlPAJlyJ0tfOJAoMxw==} + babel-plugin-polyfill-corejs2@0.4.17: + resolution: {integrity: sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 @@ -1843,8 +1894,8 @@ packages: resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} engines: {node: '>= 0.6.0'} - baseline-browser-mapping@2.10.7: - resolution: {integrity: sha512-1ghYO3HnxGec0TCGBXiDLVns4eCSx4zJpxnHrlqFQajmhfKMQBzUGDdkMK7fUW7PTHTeLf+j87aTuKuuwWzMGw==} + baseline-browser-mapping@2.10.29: + resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} engines: {node: '>=6.0.0'} hasBin: true @@ -1870,8 +1921,8 @@ packages: peerDependencies: browserslist: '*' - browserslist@4.28.1: - resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + browserslist@4.28.2: + resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1889,8 +1940,8 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - caniuse-lite@1.0.30001778: - resolution: {integrity: sha512-PN7uxFL+ExFJO61aVmP1aIEG4i9whQd4eoSCebav62UwDyp5OHh06zN4jqKSMePVgxHifCw1QJxdRkA1Pisekg==} + caniuse-lite@1.0.30001787: + resolution: {integrity: sha512-mNcrMN9KeI68u7muanUpEejSLghOKlVhRqS/Za2IeyGllJ9I9otGpR9g3nsw7n4W378TE/LyIteA0+/FOZm4Kg==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -1996,8 +2047,8 @@ packages: copy-to-clipboard@3.3.3: resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} - core-js-compat@3.48.0: - resolution: {integrity: sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==} + core-js-compat@3.49.0: + resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} core-js@3.49.0: resolution: {integrity: sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==} @@ -2229,8 +2280,8 @@ packages: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} - devalue@5.8.0: - resolution: {integrity: sha512-2zA9pFEsnp7vWBZbXF5JAgAq0fsUIt/1XPbRiAmRV3lp/2C3upzH+sADiyy66aFCihoLEsrQHxNM5w1gIDfsBg==} + devalue@5.6.3: + resolution: {integrity: sha512-nc7XjUU/2Lb+SvEFVGcWLiKkzfw8+qHI7zn8WYXKkLMgfGSHbgCEaR6bJpev8Cm6Rmrb19Gfd/tZvGqx9is3wg==} devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -2254,9 +2305,8 @@ packages: dompurify@3.2.7: resolution: {integrity: sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw==} - dompurify@3.3.2: - resolution: {integrity: sha512-6obghkliLdmKa56xdbLOpUZ43pAR6xFy1uOrxBaIDjT+yaRuuybLjGS9eVBoSR/UPU5fq3OXClEHLJNGvbxKpQ==} - engines: {node: '>=20'} + dompurify@3.3.3: + resolution: {integrity: sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==} domutils@2.8.0: resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} @@ -2265,8 +2315,8 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - electron-to-chromium@1.5.313: - resolution: {integrity: sha512-QBMrTWEf00GXZmJyx2lbYD45jpI3TUFnNIzJ5BBc8piGUDwMPa1GV6HJWTZVvY/eiN3fSopl7NRbgGp9sZ9LTA==} + electron-to-chromium@1.5.334: + resolution: {integrity: sha512-mgjZAz7Jyx1SRCwEpy9wefDS7GvNPazLthHg8eQMJ76wBdGQQDW33TCrUTvQ4wzpmOrv2zrFoD3oNufMdyMpog==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -2319,13 +2369,8 @@ packages: esm-env@1.2.2: resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} - esrap@2.2.6: - resolution: {integrity: sha512-WN0clHt0a4mzC780UBVVBpsj4vSSjOFNRd2WjYtduB9HeKxm1sjHMNUwLEHVjI3FdCQD/Hurgz9ftbKEzP79Ow==} - peerDependencies: - '@typescript-eslint/types': ^8.2.0 - peerDependenciesMeta: - '@typescript-eslint/types': - optional: true + esrap@2.2.3: + resolution: {integrity: sha512-8fOS+GIGCQZl/ZIlhl59htOlms6U8NvX6ZYgYHpRU/b6tVSh3uHkOHZikl3D4cMbYM0JlpBe+p/BkZEi8J9XIQ==} estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} @@ -2516,6 +2561,10 @@ packages: html-void-elements@3.0.0: resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -2598,6 +2647,11 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -2614,8 +2668,8 @@ packages: just-once@2.2.0: resolution: {integrity: sha512-Wo547FgUOUZ98jbrZ1KX8nRezdEdtgIlC2NK1u1RvR1oZ/WoU++FjprP8J8hRbaox776MHyeMZZED4DvhhHVjg==} - katex@0.16.44: - resolution: {integrity: sha512-EkxoDTk8ufHqHlf9QxGwcxeLkWRR3iOuYfRpfORgYfqc8s13bgb+YtRY59NK5ZpRaCwq1kqA6a5lpX8C/eLphQ==} + katex@0.16.45: + resolution: {integrity: sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==} hasBin: true khroma@2.1.0: @@ -2824,6 +2878,9 @@ packages: mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + mediabunny@1.40.1: + resolution: {integrity: sha512-HU/stGzAkdWaJIly6ypbUVgAUvT9kt39DIg0IaErR7/1fwtTmgUYs4i8uEPYcgcjPjbB9gtBmUXOLnXi6J2LDw==} + meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} @@ -2980,11 +3037,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@3.3.12: - resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -3000,8 +3052,8 @@ packages: node-html-parser@5.4.2: resolution: {integrity: sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==} - node-releases@2.0.27: - resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} + node-releases@2.0.37: + resolution: {integrity: sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==} normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -3073,10 +3125,14 @@ packages: picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - picomatch@2.3.2: - resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + picomatch@4.0.4: resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} engines: {node: '>=12'} @@ -3097,14 +3153,14 @@ packages: points-on-path@0.2.1: resolution: {integrity: sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==} - postcss@8.5.12: - resolution: {integrity: sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.5.14: resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.9: + resolution: {integrity: sha512-7a70Nsot+EMX9fFU3064K/kdHWZqGVY+BADLyXc8Dfv+mTLLVl6JzJpPaCZ2kQL9gIJvKXSLMHhqdRRjwQeFtw==} + engines: {node: ^10 || ^12 || >=14} + preact@10.28.2: resolution: {integrity: sha512-lbteaWGzGHdlIuiJ0l2Jq454m6kcpI1zNje6d8MlGAFlYvP2GO4ibnat7P74Esfz4sPTdM6UxtTwh/d3pwM9JA==} @@ -3153,6 +3209,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + regenerate-unicode-properties@10.2.0: + resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==} + engines: {node: '>=4'} + regenerate-unicode-properties@10.2.2: resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} engines: {node: '>=4'} @@ -3163,6 +3223,10 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + regexpu-core@6.2.0: + resolution: {integrity: sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==} + engines: {node: '>=4'} + regexpu-core@6.4.0: resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} engines: {node: '>=4'} @@ -3170,8 +3234,12 @@ packages: regjsgen@0.8.0: resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - regjsparser@0.13.0: - resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} + regjsparser@0.12.0: + resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + hasBin: true + + regjsparser@0.13.1: + resolution: {integrity: sha512-dLsljMd9sqwRkby8zhO1gSg3PnJIBFid8f4CQj/sXx+7cKx+E7u0PKhZ+U4wmhx7EfmtvnA318oVaIkAB1lRJw==} hasBin: true rehype-katex@7.0.1: @@ -3227,8 +3295,8 @@ packages: robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - rolldown@1.0.0-rc.17: - resolution: {integrity: sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==} + rolldown@1.0.1: + resolution: {integrity: sha512-X0KQHljNnEkWNqqiz9zJrGunh1B0HgOxLXvnFpCOcadzcy5qohZ3tqMEUg00vncoRovXuK3ZqCT9KnnKzoInFQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -3416,17 +3484,21 @@ packages: tailwind-merge@3.4.0: resolution: {integrity: sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g==} - tar@7.5.11: - resolution: {integrity: sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==} + tar@7.5.9: + resolution: {integrity: sha512-BTLcK0xsDh2+PUe9F6c2TlRp4zOOBMTkoQHQIWSIzI0R7KG46uEwq4OPk2W7bZcprBMsuaeFsqwYr7pjh6CuHg==} engines: {node: '>=18'} - terser@5.46.2: - resolution: {integrity: sha512-uxfo9fPcSgLDYob/w1FuL0c99MWiJDnv+5qXSQc5+Ki5NjVNsYi66INnMFBjf6uFz6OnX12piJQPF4IpjJTNTw==} + terser@5.47.1: + resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} engines: {node: '>=10'} hasBin: true - tinyexec@1.0.4: - resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==} + tinyexec@1.0.2: + resolution: {integrity: sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==} + engines: {node: '>=18'} + + tinyexec@1.1.1: + resolution: {integrity: sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==} engines: {node: '>=18'} tinyglobby@0.2.15: @@ -3490,6 +3562,10 @@ packages: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} + unicode-match-property-value-ecmascript@2.2.0: + resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==} + engines: {node: '>=4'} + unicode-match-property-value-ecmascript@2.2.1: resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} engines: {node: '>=4'} @@ -3531,8 +3607,8 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - uuid@11.1.1: - resolution: {integrity: sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==} + uuid@11.1.0: + resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} hasBin: true vfile-location@5.0.3: @@ -3568,13 +3644,13 @@ packages: peerDependencies: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 - vite@8.0.10: - resolution: {integrity: sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==} + vite@8.0.13: + resolution: {integrity: sha512-MFtjBYgzmSxmgA4RAfjIyXWpGe1oALnjgUTzzV7QLx/TKxCzjtMH6Fd9/eVK+5Fg1qNoz5VAwsmMs/NofrmJvw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.1.0 + '@vitejs/devtools': ^0.1.18 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 @@ -3702,8 +3778,8 @@ packages: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} engines: {node: '>=8'} - yauzl@3.2.1: - resolution: {integrity: sha512-k1isifdbpNSFEHFJ1ZY4YDewv0IH9FR61lDetaRMD3j2ae3bIXGV+7c+LHCqtQGofSd8PIyV4X6+dHMAnSr60A==} + yauzl@3.2.0: + resolution: {integrity: sha512-Ow9nuGZE+qp1u4JIPvg+uCiUr7xGQWdff7JQSk5VGYTAZMDe2q8lxJ10ygv10qmSj031Ty/6FNJpLO4o1Sgc+w==} engines: {node: '>=12'} zimmerframe@1.1.4: @@ -3717,10 +3793,16 @@ snapshots: '@antfu/install-pkg@1.1.0': dependencies: package-manager-detector: 1.5.0 - tinyexec: 1.0.4 + tinyexec: 1.0.2 '@antfu/utils@9.3.0': {} + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + '@babel/code-frame@7.29.0': dependencies: '@babel/helper-validator-identifier': 7.28.5 @@ -3735,7 +3817,7 @@ snapshots: '@babel/generator': 7.29.1 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) - '@babel/helpers': 7.28.6 + '@babel/helpers': 7.29.2 '@babel/parser': 7.29.0 '@babel/template': 7.28.6 '@babel/traverse': 7.29.0 @@ -3749,6 +3831,14 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/generator@7.28.5': + dependencies: + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + '@babel/generator@7.29.1': dependencies: '@babel/parser': 7.29.0 @@ -3765,7 +3855,7 @@ snapshots: dependencies: '@babel/compat-data': 7.29.0 '@babel/helper-validator-option': 7.27.1 - browserslist: 4.28.1 + browserslist: 4.28.2 lru-cache: 5.1.1 semver: 6.3.1 @@ -3782,23 +3872,19 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.29.0)': + '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 - regexpu-core: 6.4.0 + regexpu-core: 6.2.0 semver: 6.3.1 - '@babel/helper-define-polyfill-provider@0.6.7(@babel/core@7.29.0)': + '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-compilation-targets': 7.28.6 - '@babel/helper-plugin-utils': 7.28.6 - debug: 4.4.3 - lodash.debounce: 4.0.8 - resolve: 1.22.11 - transitivePeerDependencies: - - supports-color + '@babel/helper-annotate-as-pure': 7.27.3 + regexpu-core: 6.4.0 + semver: 6.3.1 '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.0)': dependencies: @@ -3813,6 +3899,13 @@ snapshots: '@babel/helper-globals@7.28.0': {} + '@babel/helper-member-expression-to-functions@7.27.1': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.29.0 + transitivePeerDependencies: + - supports-color + '@babel/helper-member-expression-to-functions@7.28.5': dependencies: '@babel/traverse': 7.29.0 @@ -3824,6 +3917,13 @@ snapshots: dependencies: '@babel/types': 7.29.0 + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.5 + '@babel/types': 7.29.0 + transitivePeerDependencies: + - supports-color + '@babel/helper-module-imports@7.28.6': dependencies: '@babel/traverse': 7.29.0 @@ -3831,6 +3931,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-transforms@7.28.3(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 @@ -3844,6 +3953,8 @@ snapshots: dependencies: '@babel/types': 7.29.0 + '@babel/helper-plugin-utils@7.27.1': {} + '@babel/helper-plugin-utils@7.28.6': {} '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.29.0)': @@ -3855,6 +3966,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-replace-supers@7.27.1(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.28.5 + transitivePeerDependencies: + - supports-color + '@babel/helper-replace-supers@7.28.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 @@ -3866,7 +3986,7 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.29.0 + '@babel/traverse': 7.28.5 '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color @@ -3879,13 +3999,13 @@ snapshots: '@babel/helper-wrap-function@7.27.1': dependencies: - '@babel/template': 7.28.6 + '@babel/template': 7.27.2 '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color - '@babel/helpers@7.28.6': + '@babel/helpers@7.29.2': dependencies: '@babel/template': 7.28.6 '@babel/types': 7.29.0 @@ -3894,19 +4014,11 @@ snapshots: dependencies: '@babel/types': 7.29.0 - '@babel/parser@7.29.2': - dependencies: - '@babel/types': 7.29.0 - - '@babel/parser@7.29.3': - dependencies: - '@babel/types': 7.29.0 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.0 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -3959,7 +4071,7 @@ snapshots: '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.29.0)': @@ -4033,7 +4145,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.0 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -4057,7 +4169,7 @@ snapshots: '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-transform-explicit-resource-management@7.28.6(@babel/core@7.29.0)': dependencies: @@ -4090,7 +4202,7 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.29.0 + '@babel/traverse': 7.28.5 transitivePeerDependencies: - supports-color @@ -4117,7 +4229,7 @@ snapshots: '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -4143,7 +4255,7 @@ snapshots: '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -4184,7 +4296,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.29.0) transitivePeerDependencies: - supports-color @@ -4286,7 +4398,7 @@ snapshots: '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.29.0)': @@ -4363,10 +4475,10 @@ snapshots: '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.29.0) '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.29.0) '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.0) - babel-plugin-polyfill-corejs2: 0.4.16(@babel/core@7.29.0) + babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.0) babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.0) babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.0) - core-js-compat: 3.48.0 + core-js-compat: 3.49.0 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -4380,12 +4492,30 @@ snapshots: '@babel/runtime@7.28.4': {} + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.29.0 + '@babel/types': 7.29.0 + '@babel/template@7.28.6': dependencies: '@babel/code-frame': 7.29.0 '@babel/parser': 7.29.0 '@babel/types': 7.29.0 + '@babel/traverse@7.28.5': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.5 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.29.0 + '@babel/template': 7.27.2 + '@babel/types': 7.29.0 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + '@babel/traverse@7.29.0': dependencies: '@babel/code-frame': 7.29.0 @@ -4431,8 +4561,8 @@ snapshots: command-exists-promise: 2.0.2 node-fetch: 2.7.0 shelljs: 0.10.0 - tar: 7.5.11 - yauzl: 3.2.1 + tar: 7.5.9 + yauzl: 3.2.0 transitivePeerDependencies: - encoding @@ -4450,17 +4580,17 @@ snapshots: '@types/webxr': 0.5.22 gl-matrix: 3.4.3 - '@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/engines': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/engines': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/engines@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/engines@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: '@embedpdf/fonts-arabic': 1.0.0 '@embedpdf/fonts-hebrew': 1.0.0 @@ -4469,12 +4599,12 @@ snapshots: '@embedpdf/fonts-latin': 1.0.0 '@embedpdf/fonts-sc': 1.0.0 '@embedpdf/fonts-tc': 1.0.0 - '@embedpdf/models': 2.14.1 - '@embedpdf/pdfium': 2.14.1 + '@embedpdf/models': 2.14.2 + '@embedpdf/pdfium': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) '@embedpdf/fonts-arabic@1.0.0': {} @@ -4491,356 +4621,356 @@ snapshots: '@embedpdf/fonts-tc@1.0.0': {} - '@embedpdf/models@2.14.1': {} + '@embedpdf/models@2.14.2': {} - '@embedpdf/pdfium@2.14.1': {} + '@embedpdf/pdfium@2.14.2': {} - '@embedpdf/plugin-annotation@2.14.1(3f6d76754288aad72211466211681425)': + '@embedpdf/plugin-annotation@2.14.2(cb94e1250c719f9278d29512496bde49)': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/plugin-history': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-interaction-manager': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-scroll': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-selection': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/utils': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/plugin-history': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-interaction-manager': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-scroll': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-selection': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/utils': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-attachment@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-attachment@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-bookmark@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-bookmark@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-capture@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-render@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-capture@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-render@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/plugin-interaction-manager': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-render': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/plugin-interaction-manager': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-render': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-commands@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-commands@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-document-manager@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-document-manager@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-export@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-export@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-form@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-annotation@2.14.1(3f6d76754288aad72211466211681425))(@embedpdf/plugin-history@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-form@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-annotation@2.14.2(cb94e1250c719f9278d29512496bde49))(@embedpdf/plugin-history@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/plugin-annotation': 2.14.1(3f6d76754288aad72211466211681425) - '@embedpdf/plugin-history': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/utils': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/plugin-annotation': 2.14.2(cb94e1250c719f9278d29512496bde49) + '@embedpdf/plugin-history': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/utils': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-fullscreen@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-fullscreen@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-history@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-history@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-i18n@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-i18n@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-interaction-manager@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-interaction-manager@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-pan@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-pan@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/plugin-interaction-manager': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-viewport': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/plugin-interaction-manager': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-viewport': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-print@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-print@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-redaction@2.14.1(077afef9c6dbc1fab9c2902b2e0776ea)': + '@embedpdf/plugin-redaction@2.14.2(90b2c452e0c19cf97f80d8197834546a)': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/plugin-annotation': 2.14.1(3f6d76754288aad72211466211681425) - '@embedpdf/plugin-history': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-interaction-manager': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-selection': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/utils': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/plugin-annotation': 2.14.2(cb94e1250c719f9278d29512496bde49) + '@embedpdf/plugin-history': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-interaction-manager': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-selection': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/utils': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-render@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-render@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-rotate@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-rotate@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-scroll@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-scroll@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/plugin-viewport': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/plugin-viewport': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-search@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-search@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-selection@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-selection@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/plugin-interaction-manager': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/utils': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/plugin-interaction-manager': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/utils': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-signature@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-annotation@2.14.1(3f6d76754288aad72211466211681425))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-signature@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-annotation@2.14.2(cb94e1250c719f9278d29512496bde49))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/plugin-annotation': 2.14.1(3f6d76754288aad72211466211681425) + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/plugin-annotation': 2.14.2(cb94e1250c719f9278d29512496bde49) preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-spread@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-spread@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-stamp@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-annotation@2.14.1(3f6d76754288aad72211466211681425))(@embedpdf/plugin-i18n@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-stamp@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-annotation@2.14.2(cb94e1250c719f9278d29512496bde49))(@embedpdf/plugin-i18n@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/plugin-annotation': 2.14.1(3f6d76754288aad72211466211681425) - '@embedpdf/plugin-i18n': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/plugin-annotation': 2.14.2(cb94e1250c719f9278d29512496bde49) + '@embedpdf/plugin-i18n': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-thumbnail@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-render@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-thumbnail@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-render@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/plugin-render': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/plugin-render': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-tiling@2.14.1(dcb132218afade4272564189ba3bbd4f)': + '@embedpdf/plugin-tiling@2.14.2(c6025103d7e82161b4aaf00d9492d9ed)': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/plugin-render': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-scroll': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-viewport': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/plugin-render': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-scroll': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-viewport': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-ui@2.14.1(dcb132218afade4272564189ba3bbd4f)': + '@embedpdf/plugin-ui@2.14.2(c6025103d7e82161b4aaf00d9492d9ed)': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/plugin-render': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-scroll': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-viewport': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/plugin-render': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-scroll': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-viewport': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-viewport@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/plugin-viewport@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/plugin-zoom@2.14.1(9104574b1c47b607bac2d12fbcfee2b2)': + '@embedpdf/plugin-zoom@2.14.2(1c198ab45add52d0719d6b1e3b9ea6da)': dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/plugin-scroll': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-viewport': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/plugin-scroll': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-viewport': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) - '@embedpdf/snippet@2.14.1(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': - dependencies: - '@embedpdf/core': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/engines': 2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/models': 2.14.1 - '@embedpdf/pdfium': 2.14.1 - '@embedpdf/plugin-annotation': 2.14.1(3f6d76754288aad72211466211681425) - '@embedpdf/plugin-attachment': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-bookmark': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-capture': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-render@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-commands': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-document-manager': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-export': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-form': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-annotation@2.14.1(3f6d76754288aad72211466211681425))(@embedpdf/plugin-history@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-fullscreen': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-history': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-i18n': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-interaction-manager': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-pan': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-print': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-redaction': 2.14.1(077afef9c6dbc1fab9c2902b2e0776ea) - '@embedpdf/plugin-render': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-rotate': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-scroll': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-search': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-selection': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-signature': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-annotation@2.14.1(3f6d76754288aad72211466211681425))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-spread': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-stamp': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-annotation@2.14.1(3f6d76754288aad72211466211681425))(@embedpdf/plugin-i18n@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-thumbnail': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-render@2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-tiling': 2.14.1(dcb132218afade4272564189ba3bbd4f) - '@embedpdf/plugin-ui': 2.14.1(dcb132218afade4272564189ba3bbd4f) - '@embedpdf/plugin-viewport': 2.14.1(@embedpdf/core@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3)) - '@embedpdf/plugin-zoom': 2.14.1(9104574b1c47b607bac2d12fbcfee2b2) + '@embedpdf/snippet@2.14.2(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': + dependencies: + '@embedpdf/core': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/engines': 2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/models': 2.14.2 + '@embedpdf/pdfium': 2.14.2 + '@embedpdf/plugin-annotation': 2.14.2(cb94e1250c719f9278d29512496bde49) + '@embedpdf/plugin-attachment': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-bookmark': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-capture': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-render@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-commands': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-document-manager': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-export': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-form': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-annotation@2.14.2(cb94e1250c719f9278d29512496bde49))(@embedpdf/plugin-history@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-fullscreen': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-history': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-i18n': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-interaction-manager': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-pan': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-print': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-redaction': 2.14.2(90b2c452e0c19cf97f80d8197834546a) + '@embedpdf/plugin-render': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-rotate': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-scroll': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-viewport@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-search': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-selection': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-interaction-manager@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-signature': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-annotation@2.14.2(cb94e1250c719f9278d29512496bde49))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-spread': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-stamp': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-annotation@2.14.2(cb94e1250c719f9278d29512496bde49))(@embedpdf/plugin-i18n@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-thumbnail': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(@embedpdf/plugin-render@2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-tiling': 2.14.2(c6025103d7e82161b4aaf00d9492d9ed) + '@embedpdf/plugin-ui': 2.14.2(c6025103d7e82161b4aaf00d9492d9ed) + '@embedpdf/plugin-viewport': 2.14.2(@embedpdf/core@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)))(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3)) + '@embedpdf/plugin-zoom': 2.14.2(1c198ab45add52d0719d6b1e3b9ea6da) preact: 10.28.2 tailwind-merge: 3.4.0 transitivePeerDependencies: @@ -4849,12 +4979,12 @@ snapshots: - svelte - vue - '@embedpdf/utils@2.14.1(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1(@typescript-eslint/types@8.58.0))(vue@3.5.26(typescript@5.9.3))': + '@embedpdf/utils@2.14.2(preact@10.28.2)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(svelte@5.46.1)(vue@3.5.26(typescript@5.9.3))': dependencies: preact: 10.28.2 react: 19.2.3 react-dom: 19.2.3(react@19.2.3) - svelte: 5.46.1(@typescript-eslint/types@8.58.0) + svelte: 5.46.1 vue: 3.5.26(typescript@5.9.3) '@emnapi/core@1.10.0': @@ -4939,6 +5069,10 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@mediabunny/ac3@1.40.1(mediabunny@1.40.1)': + dependencies: + mediabunny: 1.40.1 + '@mermaid-js/parser@1.1.0': dependencies: langium: 4.2.1 @@ -5001,58 +5135,58 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@oxc-project/types@0.127.0': {} + '@oxc-project/types@0.130.0': {} - '@rolldown/binding-android-arm64@1.0.0-rc.17': + '@rolldown/binding-android-arm64@1.0.1': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.17': + '@rolldown/binding-darwin-arm64@1.0.1': optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.17': + '@rolldown/binding-darwin-x64@1.0.1': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.17': + '@rolldown/binding-freebsd-x64@1.0.1': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.17': + '@rolldown/binding-linux-arm-gnueabihf@1.0.1': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.17': + '@rolldown/binding-linux-arm64-gnu@1.0.1': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.17': + '@rolldown/binding-linux-arm64-musl@1.0.1': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.17': + '@rolldown/binding-linux-ppc64-gnu@1.0.1': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.17': + '@rolldown/binding-linux-s390x-gnu@1.0.1': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.17': + '@rolldown/binding-linux-x64-gnu@1.0.1': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.17': + '@rolldown/binding-linux-x64-musl@1.0.1': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.17': + '@rolldown/binding-openharmony-arm64@1.0.1': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.17': + '@rolldown/binding-wasm32-wasi@1.0.1': dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.17': + '@rolldown/binding-win32-arm64-msvc@1.0.1': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.17': + '@rolldown/binding-win32-x64-msvc@1.0.1': optional: true - '@rolldown/pluginutils@1.0.0-rc.17': {} + '@rolldown/pluginutils@1.0.1': {} '@solid-primitives/event-listener@2.4.5(solid-js@1.9.12)': dependencies: @@ -5184,7 +5318,7 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.0 '@babel/types': 7.29.0 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 @@ -5196,7 +5330,7 @@ snapshots: '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.0 '@babel/types': 7.29.0 '@types/babel__traverse@7.28.0': @@ -5330,6 +5464,12 @@ snapshots: dependencies: '@types/ms': 2.1.0 + '@types/dom-mediacapture-transform@0.1.11': + dependencies: + '@types/dom-webcodecs': 0.1.13 + + '@types/dom-webcodecs@0.1.13': {} + '@types/estree@1.0.8': {} '@types/geojson@7946.0.16': {} @@ -5379,9 +5519,6 @@ snapshots: '@types/webxr@0.5.22': {} - '@typescript-eslint/types@8.58.0': - optional: true - '@ungap/structured-clone@1.3.0': {} '@upsetjs/venn.js@2.0.0': @@ -5391,7 +5528,7 @@ snapshots: '@viselect/vanilla@3.9.0': {} - '@vitejs/plugin-legacy@8.0.1(terser@5.46.2)(vite@8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3))': + '@vitejs/plugin-legacy@8.0.1(terser@5.47.1)(vite@8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.29.0) @@ -5399,20 +5536,20 @@ snapshots: '@babel/preset-env': 7.29.2(@babel/core@7.29.0) babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.0) babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.0) - browserslist: 4.28.1 - browserslist-to-esbuild: 2.1.1(browserslist@4.28.1) + browserslist: 4.28.2 + browserslist-to-esbuild: 2.1.1(browserslist@4.28.2) core-js: 3.49.0 magic-string: 0.30.21 regenerator-runtime: 0.14.1 systemjs: 6.15.1 - terser: 5.46.2 - vite: 8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3) + terser: 5.47.1 + vite: 8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3) transitivePeerDependencies: - supports-color '@vue/compiler-core@3.5.26': dependencies: - '@babel/parser': 7.29.3 + '@babel/parser': 7.29.0 '@vue/shared': 3.5.26 entities: 7.0.1 estree-walker: 2.0.2 @@ -5425,14 +5562,14 @@ snapshots: '@vue/compiler-sfc@3.5.26': dependencies: - '@babel/parser': 7.29.3 + '@babel/parser': 7.29.0 '@vue/compiler-core': 3.5.26 '@vue/compiler-dom': 3.5.26 '@vue/compiler-ssr': 3.5.26 '@vue/shared': 3.5.26 estree-walker: 2.0.2 magic-string: 0.30.21 - postcss: 8.5.14 + postcss: 8.5.9 source-map-js: 1.2.1 '@vue/compiler-ssr@3.5.26': @@ -5466,6 +5603,12 @@ snapshots: acorn@8.16.0: {} + agent-base@6.0.2: + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + ansi-escapes@7.2.0: dependencies: environment: 1.1.0 @@ -5483,7 +5626,7 @@ snapshots: anymatch@3.1.3: dependencies: normalize-path: 3.0.0 - picomatch: 2.3.2 + picomatch: 2.3.1 aplayer@1.10.1: dependencies: @@ -5507,13 +5650,15 @@ snapshots: asynckit@0.4.0: {} - axios@1.15.2: + axios@1.16.1: dependencies: follow-redirects: 1.16.0 form-data: 4.0.5 + https-proxy-agent: 5.0.1 proxy-from-env: 2.1.0 transitivePeerDependencies: - debug + - supports-color axobject-query@4.1.0: {} @@ -5526,11 +5671,11 @@ snapshots: html-entities: 2.3.3 parse5: 7.3.0 - babel-plugin-polyfill-corejs2@0.4.16(@babel/core@7.29.0): + babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.0): dependencies: '@babel/compat-data': 7.29.0 '@babel/core': 7.29.0 - '@babel/helper-define-polyfill-provider': 0.6.7(@babel/core@7.29.0) + '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.0) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -5539,7 +5684,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.0) - core-js-compat: 3.48.0 + core-js-compat: 3.49.0 transitivePeerDependencies: - supports-color @@ -5563,7 +5708,7 @@ snapshots: base64-arraybuffer@1.0.2: {} - baseline-browser-mapping@2.10.7: {} + baseline-browser-mapping@2.10.29: {} bencode@4.0.0: dependencies: @@ -5577,18 +5722,18 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist-to-esbuild@2.1.1(browserslist@4.28.1): + browserslist-to-esbuild@2.1.1(browserslist@4.28.2): dependencies: - browserslist: 4.28.1 + browserslist: 4.28.2 meow: 13.2.0 - browserslist@4.28.1: + browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.7 - caniuse-lite: 1.0.30001778 - electron-to-chromium: 1.5.313 - node-releases: 2.0.27 - update-browserslist-db: 1.2.3(browserslist@4.28.1) + baseline-browser-mapping: 2.10.29 + caniuse-lite: 1.0.30001787 + electron-to-chromium: 1.5.334 + node-releases: 2.0.37 + update-browserslist-db: 1.2.3(browserslist@4.28.2) buffer-crc32@0.2.13: {} @@ -5601,7 +5746,7 @@ snapshots: camelcase@5.3.1: {} - caniuse-lite@1.0.30001778: {} + caniuse-lite@1.0.30001787: {} ccount@2.0.1: {} @@ -5698,9 +5843,9 @@ snapshots: dependencies: toggle-selection: 1.0.6 - core-js-compat@3.48.0: + core-js-compat@3.49.0: dependencies: - browserslist: 4.28.1 + browserslist: 4.28.2 core-js@3.49.0: {} @@ -5949,7 +6094,7 @@ snapshots: detect-libc@2.1.2: {} - devalue@5.8.0: {} + devalue@5.6.3: {} devlop@1.1.0: dependencies: @@ -5977,7 +6122,7 @@ snapshots: optionalDependencies: '@types/trusted-types': 2.0.7 - dompurify@3.3.2: + dompurify@3.3.3: optionalDependencies: '@types/trusted-types': 2.0.7 @@ -5993,7 +6138,7 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - electron-to-chromium@1.5.313: {} + electron-to-chromium@1.5.334: {} emoji-regex@10.6.0: {} @@ -6030,11 +6175,9 @@ snapshots: esm-env@1.2.2: {} - esrap@2.2.6(@typescript-eslint/types@8.58.0): + esrap@2.2.3: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - optionalDependencies: - '@typescript-eslint/types': 8.58.0 estree-walker@2.0.2: {} @@ -6279,6 +6422,13 @@ snapshots: html-void-elements@3.0.0: {} + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + human-signals@2.1.0: {} husky@9.1.7: {} @@ -6335,6 +6485,8 @@ snapshots: js-tokens@4.0.0: {} + jsesc@3.0.2: {} + jsesc@3.1.0: {} json5@2.2.3: {} @@ -6348,7 +6500,7 @@ snapshots: just-once@2.2.0: {} - katex@0.16.44: + katex@0.16.45: dependencies: commander: 8.3.0 @@ -6431,9 +6583,9 @@ snapshots: dependencies: commander: 14.0.3 listr2: 9.0.5 - picomatch: 4.0.4 + picomatch: 4.0.3 string-argv: 0.3.2 - tinyexec: 1.0.4 + tinyexec: 1.1.1 yaml: 2.8.3 listr2@9.0.5: @@ -6617,6 +6769,11 @@ snapshots: dependencies: '@types/mdast': 4.0.4 + mediabunny@1.40.1: + dependencies: + '@types/dom-mediacapture-transform': 0.1.11 + '@types/dom-webcodecs': 0.1.13 + meow@13.2.0: {} merge-anything@5.1.7: @@ -6641,15 +6798,15 @@ snapshots: d3-sankey: 0.12.3 dagre-d3-es: 7.0.14 dayjs: 1.11.19 - dompurify: 3.3.2 - katex: 0.16.44 + dompurify: 3.3.3 + katex: 0.16.45 khroma: 2.1.0 lodash-es: 4.17.23 marked: 16.4.2 roughjs: 4.6.6 stylis: 4.3.6 ts-dedent: 2.2.0 - uuid: 11.1.1 + uuid: 11.1.0 transitivePeerDependencies: - supports-color @@ -6734,7 +6891,7 @@ snapshots: dependencies: '@types/katex': 0.16.8 devlop: 1.1.0 - katex: 0.16.44 + katex: 0.16.45 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 @@ -6857,7 +7014,7 @@ snapshots: micromatch@4.0.8: dependencies: braces: 3.0.3 - picomatch: 2.3.2 + picomatch: 2.3.1 mime-db@1.52.0: {} @@ -6900,8 +7057,6 @@ snapshots: nanoid@3.3.11: {} - nanoid@3.3.12: {} - neo-async@2.6.2: {} node-fetch@2.7.0: @@ -6913,7 +7068,7 @@ snapshots: css-select: 4.3.0 he: 1.2.0 - node-releases@2.0.27: {} + node-releases@2.0.37: {} normalize-path@3.0.0: {} @@ -6971,7 +7126,9 @@ snapshots: picocolors@1.1.1: {} - picomatch@2.3.2: {} + picomatch@2.3.1: {} + + picomatch@4.0.3: {} picomatch@4.0.4: {} @@ -6996,15 +7153,15 @@ snapshots: path-data-parser: 0.1.0 points-on-curve: 0.2.0 - postcss@8.5.12: + postcss@8.5.14: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.14: + postcss@8.5.9: dependencies: - nanoid: 3.3.12 + nanoid: 3.3.11 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -7049,7 +7206,11 @@ snapshots: readdirp@3.6.0: dependencies: - picomatch: 2.3.2 + picomatch: 2.3.1 + + regenerate-unicode-properties@10.2.0: + dependencies: + regenerate: 1.4.2 regenerate-unicode-properties@10.2.2: dependencies: @@ -7059,18 +7220,31 @@ snapshots: regenerator-runtime@0.14.1: {} + regexpu-core@6.2.0: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.0 + regjsgen: 0.8.0 + regjsparser: 0.12.0 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.0 + regexpu-core@6.4.0: dependencies: regenerate: 1.4.2 regenerate-unicode-properties: 10.2.2 regjsgen: 0.8.0 - regjsparser: 0.13.0 + regjsparser: 0.13.1 unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.2.1 regjsgen@0.8.0: {} - regjsparser@0.13.0: + regjsparser@0.12.0: + dependencies: + jsesc: 3.0.2 + + regjsparser@0.13.1: dependencies: jsesc: 3.1.0 @@ -7080,7 +7254,7 @@ snapshots: '@types/katex': 0.16.8 hast-util-from-html-isomorphic: 2.0.0 hast-util-to-text: 4.0.2 - katex: 0.16.44 + katex: 0.16.45 unist-util-visit-parents: 6.0.2 vfile: 6.0.3 @@ -7165,26 +7339,26 @@ snapshots: robust-predicates@3.0.2: {} - rolldown@1.0.0-rc.17: + rolldown@1.0.1: dependencies: - '@oxc-project/types': 0.127.0 - '@rolldown/pluginutils': 1.0.0-rc.17 + '@oxc-project/types': 0.130.0 + '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.17 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.17 - '@rolldown/binding-darwin-x64': 1.0.0-rc.17 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.17 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.17 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.17 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.17 - '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.17 - '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.17 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.17 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.17 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.17 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.17 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.17 - '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.17 + '@rolldown/binding-android-arm64': 1.0.1 + '@rolldown/binding-darwin-arm64': 1.0.1 + '@rolldown/binding-darwin-x64': 1.0.1 + '@rolldown/binding-freebsd-x64': 1.0.1 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.1 + '@rolldown/binding-linux-arm64-gnu': 1.0.1 + '@rolldown/binding-linux-arm64-musl': 1.0.1 + '@rolldown/binding-linux-ppc64-gnu': 1.0.1 + '@rolldown/binding-linux-s390x-gnu': 1.0.1 + '@rolldown/binding-linux-x64-gnu': 1.0.1 + '@rolldown/binding-linux-x64-musl': 1.0.1 + '@rolldown/binding-openharmony-arm64': 1.0.1 + '@rolldown/binding-wasm32-wasi': 1.0.1 + '@rolldown/binding-win32-arm64-msvc': 1.0.1 + '@rolldown/binding-win32-x64-msvc': 1.0.1 roughjs@4.6.6: dependencies: @@ -7353,7 +7527,7 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte@5.46.1(@typescript-eslint/types@8.58.0): + svelte@5.46.1: dependencies: '@jridgewell/remapping': 2.3.5 '@jridgewell/sourcemap-codec': 1.5.5 @@ -7363,15 +7537,13 @@ snapshots: aria-query: 5.3.2 axobject-query: 4.1.0 clsx: 2.1.1 - devalue: 5.8.0 + devalue: 5.6.3 esm-env: 1.2.2 - esrap: 2.2.6(@typescript-eslint/types@8.58.0) + esrap: 2.2.3 is-reference: 3.0.3 locate-character: 3.0.0 magic-string: 0.30.21 zimmerframe: 1.1.4 - transitivePeerDependencies: - - '@typescript-eslint/types' systemjs@6.15.1: {} @@ -7379,7 +7551,7 @@ snapshots: tailwind-merge@3.4.0: {} - tar@7.5.11: + tar@7.5.9: dependencies: '@isaacs/fs-minipass': 4.0.1 chownr: 3.0.0 @@ -7387,14 +7559,16 @@ snapshots: minizlib: 3.1.0 yallist: 5.0.0 - terser@5.46.2: + terser@5.47.1: dependencies: '@jridgewell/source-map': 0.3.11 acorn: 8.16.0 commander: 2.20.3 source-map-support: 0.5.21 - tinyexec@1.0.4: {} + tinyexec@1.0.2: {} + + tinyexec@1.1.1: {} tinyglobby@0.2.15: dependencies: @@ -7444,6 +7618,8 @@ snapshots: unicode-canonical-property-names-ecmascript: 2.0.1 unicode-property-aliases-ecmascript: 2.1.0 + unicode-match-property-value-ecmascript@2.2.0: {} + unicode-match-property-value-ecmascript@2.2.1: {} unicode-property-aliases-ecmascript@2.1.0: {} @@ -7491,15 +7667,15 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - update-browserslist-db@1.2.3(browserslist@4.28.1): + update-browserslist-db@1.2.3(browserslist@4.28.2): dependencies: - browserslist: 4.28.1 + browserslist: 4.28.2 escalade: 3.2.0 picocolors: 1.1.1 util-deprecate@1.0.2: {} - uuid@11.1.1: {} + uuid@11.1.0: {} vfile-location@5.0.3: dependencies: @@ -7521,15 +7697,15 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-plugin-dynamic-base@1.3.0(patch_hash=66b8690f2fc12c4b06543392adc3a5449c39a9224917e837dfb6e32773454c5c)(vite@8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3)): + vite-plugin-dynamic-base@1.3.0(patch_hash=66b8690f2fc12c4b06543392adc3a5449c39a9224917e837dfb6e32773454c5c)(vite@8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3)): dependencies: '@swc/core': 1.12.14 node-html-parser: 5.4.2 - vite: 8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3) + vite: 8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3) transitivePeerDependencies: - '@swc/helpers' - vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3)): + vite-plugin-solid@2.11.12(solid-js@1.9.12)(vite@8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3)): dependencies: '@babel/core': 7.29.0 '@types/babel__core': 7.20.5 @@ -7537,35 +7713,35 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.12 solid-refresh: 0.6.3(solid-js@1.9.12) - vite: 8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3) - vitefu: 1.1.1(vite@8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3)) + vite: 8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3) + vitefu: 1.1.1(vite@8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3)) transitivePeerDependencies: - supports-color - vite-plugin-static-copy@3.4.0(vite@8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3)): + vite-plugin-static-copy@3.4.0(vite@8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3)): dependencies: chokidar: 3.6.0 p-map: 7.0.4 picocolors: 1.1.1 tinyglobby: 0.2.15 - vite: 8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3) + vite: 8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3) - vite@8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3): + vite@8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 - postcss: 8.5.12 - rolldown: 1.0.0-rc.17 + postcss: 8.5.14 + rolldown: 1.0.1 tinyglobby: 0.2.16 optionalDependencies: '@types/node': 24.12.2 fsevents: 2.3.3 - terser: 5.46.2 + terser: 5.47.1 yaml: 2.8.3 - vitefu@1.1.1(vite@8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3)): + vitefu@1.1.1(vite@8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3)): optionalDependencies: - vite: 8.0.10(@types/node@24.12.2)(terser@5.46.2)(yaml@2.8.3) + vite: 8.0.13(@types/node@24.12.2)(terser@5.47.1)(yaml@2.8.3) vscode-jsonrpc@8.2.0: {} @@ -7652,7 +7828,7 @@ snapshots: y18n: 4.0.3 yargs-parser: 18.1.3 - yauzl@3.2.1: + yauzl@3.2.0: dependencies: buffer-crc32: 0.2.13 pend: 1.2.0 diff --git a/public/streamer/mitm.html b/public/streamer/mitm.html index 1ab15adc7..560e55614 100644 --- a/public/streamer/mitm.html +++ b/public/streamer/mitm.html @@ -58,7 +58,7 @@ sw = swReg.active resolve() } - }) + }), ) }) ) @@ -89,7 +89,7 @@ // pass along version for possible backwards compatibility in sw.js data.streamSaverVersion = new URLSearchParams(location.search).get( - "version" + "version", ) if (data.streamSaverVersion === "1.2.0") { @@ -99,7 +99,7 @@ /** @since v2.0.0 */ if (!data.headers) { console.warn( - "[StreamSaver] pass `data.headers` that you would like to pass along to the service worker\nit should be a 2D array or a key/val object that fetch's Headers api accepts" + "[StreamSaver] pass `data.headers` that you would like to pass along to the service worker\nit should be a 2D array or a key/val object that fetch's Headers api accepts", ) } else { // test if it's correct @@ -110,7 +110,7 @@ /** @since v2.0.0 */ if (typeof data.filename === "string") { console.warn( - "[StreamSaver] You shouldn't send `data.filename` anymore. It should be included in the Content-Disposition header option" + "[StreamSaver] You shouldn't send `data.filename` anymore. It should be included in the Content-Disposition header option", ) // Do what File constructor do with fileNames data.filename = data.filename.replace(/\//g, ":") @@ -119,21 +119,21 @@ /** @since v2.0.0 */ if (data.size) { console.warn( - "[StreamSaver] You shouldn't send `data.size` anymore. It should be included in the content-length header option" + "[StreamSaver] You shouldn't send `data.size` anymore. It should be included in the content-length header option", ) } /** @since v2.0.0 */ if (data.readableStream) { console.warn( - "[StreamSaver] You should send the readableStream in the messageChannel, not through mitm" + "[StreamSaver] You should send the readableStream in the messageChannel, not through mitm", ) } /** @since v2.0.0 */ if (!data.pathname) { console.warn( - "[StreamSaver] Please send `data.pathname` (eg: /pictures/summer.jpg)" + "[StreamSaver] Please send `data.pathname` (eg: /pictures/summer.jpg)", ) data.pathname = Math.random().toString().slice(-6) + "/" + data.filename } diff --git a/public/streamer/sw.js b/public/streamer/sw.js index f9df1600c..f8b8d45da 100644 --- a/public/streamer/sw.js +++ b/public/streamer/sw.js @@ -112,7 +112,7 @@ self.onfetch = (event) => { if (headers.has("Content-Disposition")) { responseHeaders.set( "Content-Disposition", - headers.get("Content-Disposition") + headers.get("Content-Disposition"), ) } @@ -131,7 +131,7 @@ self.onfetch = (event) => { .replace(/\*/g, "%2A") responseHeaders.set( "Content-Disposition", - "attachment; filename*=UTF-8''" + fileName + "attachment; filename*=UTF-8''" + fileName, ) } diff --git a/src/app/App.tsx b/src/app/App.tsx index fcc5b25eb..aa8f5c495 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -19,11 +19,17 @@ import { base_path, bus, handleRespWithoutAuthAndNotify, r } from "~/utils" import { MustUser, UserOrGuest } from "./MustUser" import "./index.css" import { globalStyles } from "./theme" +import { MusicPlayer } from "~/pages/media/music/MusicLibrary" +import { RootLayout } from "./RootLayout" const Home = lazy(() => import("~/pages/home/Layout")) const Manage = lazy(() => import("~/pages/manage")) const Login = lazy(() => import("~/pages/login")) const Test = lazy(() => import("~/pages/test")) +const VideoLibrary = lazy(() => import("~/pages/media/video/VideoLibrary")) +const MusicLibrary = lazy(() => import("~/pages/media/music/MusicLibrary")) +const ImageLibrary = lazy(() => import("~/pages/media/image/ImageLibrary")) +const BookLibrary = lazy(() => import("~/pages/media/book/BookLibrary")) const App: Component = () => { const t = useT() @@ -91,11 +97,58 @@ const App: Component = () => { } /> + {/* 带侧边栏的路由:媒体库各页面 */} + + + + + + + } + /> + + + + + + + } + /> + + + + + + + } + /> + + + + + + + } + /> - + + + } /> @@ -103,7 +156,9 @@ const App: Component = () => { path="*" element={ - + + + } /> diff --git a/src/app/RootLayout.tsx b/src/app/RootLayout.tsx new file mode 100644 index 000000000..5ba45cf6f --- /dev/null +++ b/src/app/RootLayout.tsx @@ -0,0 +1,248 @@ +import { + JSX, + createSignal, + onMount, + onCleanup, + createMemo, + Show, +} from "solid-js" +import { + GlobalSidebar, + sidebarCollapsed, + setSidebarCollapsed, +} from "~/components/GlobalSidebar" +import { useColorMode, Icon } from "@hope-ui/solid" +import { TbChevronLeft, TbChevronRight } from "solid-icons/tb" +import { Nav } from "~/pages/home/Nav" +import { Layout } from "~/pages/home/header/layout" +import { TopBarActions } from "~/pages/home/toolbar/Right" +import { useRouter } from "~/hooks" +import { getSetting, objStore, State } from "~/store" +import { BsSearch } from "solid-icons/bs" +import { bus } from "~/utils" + +interface RootLayoutProps { + children: JSX.Element +} + +// ─── 顶栏组件 ──────────────────────────────────────────────── +const TopBar = () => { + const { colorMode } = useColorMode() + const isDark = createMemo(() => colorMode() === "dark") + const { pathname } = useRouter() + + // 只在文件浏览路由下显示面包屑和文件操作 + const isFileBrowser = createMemo(() => !pathname().startsWith("/@media")) + const isFolder = createMemo(() => objStore.state === State.Folder) + + const bg = createMemo(() => + isDark() ? "rgba(15,20,35,0.95)" : "rgba(250,251,253,0.97)", + ) + const borderColor = createMemo(() => + isDark() ? "rgba(255,255,255,0.07)" : "rgba(0,0,0,0.07)", + ) + const textColor = createMemo(() => (isDark() ? "#e2e8f0" : "#1e293b")) + const mutedColor = createMemo(() => (isDark() ? "#64748b" : "#94a3b8")) + + return ( +
+ {/* 面包屑导航 / 页面标题 */} +
+ + 📺 媒体库 + + } + > +
+ + {/* 右侧工具区 */} +
+ {/* 侧边栏收起/展开按钮 */} + + + {/* 搜索按钮和布局切换(仅文件浏览时显示) */} + + {/* 搜索按钮 */} + + + + + {/* 工具操作按钮 */} + + + {/* 布局切换 */} + + + + +
+
+ ) +} + +// ─── 根布局 ────────────────────────────────────────────────── +export const RootLayout = (props: RootLayoutProps) => { + const [isMobile, setIsMobile] = createSignal( + typeof window !== "undefined" ? window.innerWidth < 768 : false, + ) + + onMount(() => { + const handler = () => setIsMobile(window.innerWidth < 768) + window.addEventListener("resize", handler) + onCleanup(() => window.removeEventListener("resize", handler)) + }) + + // 与 GlobalSidebar 中的 sidebarWidth 保持一致:180px / 56px + const marginLeft = createMemo(() => { + if (isMobile()) return "0px" + return sidebarCollapsed() ? "48px" : "120px" + }) + + return ( +
+ + {/* 右侧内容区:自动填充剩余空间 */} +
+ {/* 顶栏 */} + + {/* 页面内容 */} +
+ {props.children} +
+
+
+ ) +} diff --git a/src/components/GlobalSidebar.tsx b/src/components/GlobalSidebar.tsx new file mode 100644 index 000000000..b39df53fc --- /dev/null +++ b/src/components/GlobalSidebar.tsx @@ -0,0 +1,575 @@ +import { + createSignal, + Show, + createMemo, + onMount, + onCleanup, + For, +} from "solid-js" +import { useLocation } from "@solidjs/router" +import { useColorMode, useColorModeValue, Icon, Image } from "@hope-ui/solid" +import { IconTypes } from "solid-icons" +import { + TbFolder, + TbMusic, + TbChevronLeft, + TbChevronRight, + TbMenu2, + TbLayersIntersect, + TbSettings, + TbAdjustments, +} from "solid-icons/tb" +import { BsPlayCircleFill, BsCardImage } from "solid-icons/bs" +import { BiSolidBookContent } from "solid-icons/bi" +import { FiSun, FiMoon } from "solid-icons/fi" +import { joinBase } from "~/utils" +import { getSetting } from "~/store" + +// ─── 导航项定义 ─────────────────────────────────────────────── +interface NavItem { + label: string + path: string + icon: IconTypes + desc: string +} + +const navItems: NavItem[] = [ + { icon: TbFolder, label: "文件", path: "/", desc: "文件管理" }, + { + icon: BsPlayCircleFill, + label: "影视", + path: "/@media/video", + desc: "电影剧集", + }, + { icon: TbMusic, label: "音乐", path: "/@media/music", desc: "专辑歌曲" }, + { icon: BsCardImage, label: "图片", path: "/@media/image", desc: "相册图库" }, + { + icon: BiSolidBookContent, + label: "书籍", + path: "/@media/books", + desc: "图书文档", + }, +] + +// ─── 全局状态(供 RootLayout 读取宽度) ────────────────────── +export const [sidebarCollapsed, setSidebarCollapsed] = createSignal(false) +export const [sidebarVisible, setSidebarVisible] = createSignal(false) + +// ─── 透明模式持久化 ─────────────────────────────────────────── +const TRANSPARENT_KEY = "sidebar_transparent" +const initTransparent = () => { + try { + return localStorage.getItem(TRANSPARENT_KEY) === "true" + } catch { + return false + } +} +export const [sidebarTransparent, setSidebarTransparent] = + createSignal(initTransparent()) + +// ─── 主组件 ────────────────────────────────────────────────── +export const GlobalSidebar = () => { + const location = useLocation() + const { colorMode, toggleColorMode } = useColorMode() + + // 是否暗色模式 + const isDark = createMemo(() => colorMode() === "dark") + + // 移动端检测 + const [isMobile, setIsMobile] = createSignal( + typeof window !== "undefined" ? window.innerWidth < 768 : false, + ) + onMount(() => { + const handler = () => setIsMobile(window.innerWidth < 768) + window.addEventListener("resize", handler) + onCleanup(() => window.removeEventListener("resize", handler)) + }) + + const isVisible = createMemo(() => !isMobile() || sidebarVisible()) + const sidebarWidth = createMemo(() => (sidebarCollapsed() ? "48px" : "130px")) + + // Logo:从设置读取,支持亮/暗两套(与 Header.tsx 保持完全一致) + const logos = getSetting("logo").split("\n") + const logo = useColorModeValue(logos[0], logos.pop()) + // 站点标题:从数据库设置读取 + const siteTitle = getSetting("site_title") + + // ─── 主题色 token(亮/暗自适应) ───────────────────────── + const bg = createMemo(() => { + if (sidebarTransparent()) { + return isDark() ? "rgba(15,20,35,0.55)" : "rgba(255,255,255,0.55)" + } + return isDark() ? "rgba(18,22,36,0.98)" : "rgba(250,251,253,0.98)" + }) + + const borderColor = createMemo(() => + isDark() ? "rgba(255,255,255,0.07)" : "rgba(0,0,0,0.07)", + ) + + const textPrimary = createMemo(() => (isDark() ? "#e2e8f0" : "#1e293b")) + const textSecondary = createMemo(() => (isDark() ? "#64748b" : "#94a3b8")) + const textMuted = createMemo(() => + isDark() ? "rgba(100,116,139,0.5)" : "rgba(148,163,184,0.7)", + ) + + // 激活态:使用品牌蓝而非紫色 + const activeBg = createMemo(() => + isDark() ? "rgba(59,130,246,0.18)" : "rgba(59,130,246,0.10)", + ) + const activeBorder = createMemo(() => + isDark() ? "rgba(59,130,246,0.35)" : "rgba(59,130,246,0.25)", + ) + const activeText = createMemo(() => (isDark() ? "#93c5fd" : "#2563eb")) + const activeBar = createMemo(() => "#3b82f6") + + const hoverBg = createMemo(() => + isDark() ? "rgba(255,255,255,0.05)" : "rgba(0,0,0,0.04)", + ) + const hoverText = createMemo(() => (isDark() ? "#cbd5e1" : "#475569")) + + const btnBg = createMemo(() => + isDark() ? "rgba(255,255,255,0.06)" : "rgba(0,0,0,0.05)", + ) + const btnBorder = createMemo(() => + isDark() ? "rgba(255,255,255,0.08)" : "rgba(0,0,0,0.08)", + ) + + const shadowStyle = createMemo(() => + sidebarTransparent() + ? `4px 0 24px rgba(0,0,0,${isDark() ? "0.4" : "0.08"}), inset -1px 0 0 ${borderColor()}` + : `2px 0 16px rgba(0,0,0,${isDark() ? "0.3" : "0.06"}), inset -1px 0 0 ${borderColor()}`, + ) + + // ─── 激活判断 ───────────────────────────────────────────── + const isActive = (path: string) => { + const cur = location.pathname + if (path === "/") return !cur.startsWith("/@media") + return cur.startsWith(path) + } + + // ─── 导航跳转 ───────────────────────────────────────────── + const handleNav = (path: string) => { + window.location.href = joinBase(path) + if (isMobile()) setSidebarVisible(false) + } + + // ─── 系统设置跳转 ───────────────────────────────────────── + const handleSettings = () => { + window.location.href = joinBase("/@manage/settings/site") + if (isMobile()) setSidebarVisible(false) + } + + // ─── 透明模式切换 ───────────────────────────────────────── + const toggleTransparent = () => { + const next = !sidebarTransparent() + setSidebarTransparent(next) + try { + localStorage.setItem(TRANSPARENT_KEY, String(next)) + } catch {} + } + + // ─── 渲染 ───────────────────────────────────────────────── + return ( + <> + {/* 移动端遮罩 */} + +
setSidebarVisible(false)} + style={{ + position: "fixed", + inset: "0", + background: "rgba(0,0,0,0.5)", + "z-index": "99", + "backdrop-filter": "blur(3px)", + }} + /> + + + {/* ══════════════ 侧边栏主体 ══════════════ */} +
+ {/* ── Logo / 标题区 ── */} +
+ +
+ {/* Logo 图片(从设置读取,与 Header 保持一致) */} + + } + /> + {/* 站点标题(从数据库设置读取) */} + + + {siteTitle} + + +
+
+
+ + {/* ── 导航菜单 ── */} + + + {/* ── 底部工具栏 ── */} +
+ {/* 亮/暗模式切换 */} + + + {/* 系统设置 */} + + + {/* 透明模式切换 */} + +
+
+ + {/* ══════════════ 移动端汉堡按钮 ══════════════ */} + + + + + ) +} diff --git a/src/components/artplayer-proxy-mediabunny/AudioEngine.js b/src/components/artplayer-proxy-mediabunny/AudioEngine.js new file mode 100644 index 000000000..0e2ae9609 --- /dev/null +++ b/src/components/artplayer-proxy-mediabunny/AudioEngine.js @@ -0,0 +1,404 @@ +/** + * Audio Engine for MediaBunny + * Handles audio playback using Web Audio API + * + * 关键修复: + * 原实现在 runIterator 的每个迭代周期都 new 一个 setInterval(checkStarvation, 100), + * 1) 多个 interval 会并发存在,可能多次调 audioContext.suspend() 锁死播放器。 + * 2) starvation 阈值在某些时刻(迭代器刚启动 / 主线程一次微卡顿)容易误触发。 + * 现在改为单一 wall-clock watchdog(在 RAF 侧已有),AudioEngine 内部仅做必要的调度, + * 不再主动 suspend audioContext —— 避免 starvation 误判导致的"播几秒后卡死"。 + */ +import { + ALL_FORMATS, + AudioBufferSink, + BlobSource, + Input, + ReadableStreamSource, + UrlSource, +} from "mediabunny" +import { TimeStretcher } from "./pitchPreservingTimeStretch.js" + +export default class AudioEngine { + constructor(events) { + this.events = events + + // MediaBunny instances + this.input = null + this.audioSink = null + this.audioIterator = null + + // Web Audio API + this.audioContext = null + this.gainNode = null + + // Playback state + this.audioContextStartTime = 0 + this.playbackTimeAtStart = 0 + this.latestScheduledEndTime = 0 + this.duration = Number.NaN + this.paused = true + + // Audio settings + this.volume = 0.7 + this.muted = false + this.playbackRate = 1 + + // Async control + this.asyncId = 0 + this.queuedNodes = new Set() + + // 变速不变调拉伸器(跨 buffer 有状态、避免接缝爆音) + this.stretcher = null + // 拉伸输出起始位置在媒体时间轴上的锁定点(stretcher 活动期间使用) + // 设为 null 表示尚未锁定(下一个输入 buffer 的 timestamp 会被用作起始点) + this._stretchOriginTs = null + // 拉伸输入的原始总时长累计(秒)—— 用来推算每个输出块的起始 timestamp + this._stretchInputDur = 0 + } + + get currentTime() { + if (this.paused || !this.audioContext) return this.playbackTimeAtStart + + return ( + (this.audioContext.currentTime - this.audioContextStartTime) * + this.playbackRate + + this.playbackTimeAtStart + ) + } + + normalizeSource(src) { + if (typeof src === "string") return new UrlSource(src) + if (src instanceof Blob) return new BlobSource(src) + if ( + typeof ReadableStream !== "undefined" && + src instanceof ReadableStream + ) { + return new ReadableStreamSource(src) + } + return src + } + + ensureAudioContext(sampleRate) { + if (this.audioContext) return + + const AudioContext = window.AudioContext || window.webkitAudioContext + + try { + this.audioContext = new AudioContext({ sampleRate }) + } catch { + this.audioContext = new AudioContext() + } + + this.gainNode = this.audioContext.createGain() + this.gainNode.connect(this.audioContext.destination) + this.updateGain() + } + + updateGain() { + if (!this.gainNode) return + const v = this.muted ? 0 : this.volume + this.gainNode.gain.value = v * v + } + + stopQueuedNodes() { + this.queuedNodes.forEach((node) => { + try { + node.stop() + } catch (_) { + /* ignore */ + } + }) + this.queuedNodes.clear() + } + + async stopIterator() { + await this.audioIterator?.return() + this.audioIterator = null + } + + async load(src, onMetadata) { + const id = ++this.asyncId + + await this.stopIterator() + this.stopQueuedNodes() + // 加载新源前先重置 stretcher 状态(旧实例下面会被新 TimeStretcher 替换, + // 但 flush 一下能避免 _stretchOriginTs 等残留状态影响新流程) + this.stretcher?.flush() + this._stretchOriginTs = null + this._stretchInputDur = 0 + + this.paused = true + this.playbackTimeAtStart = 0 + this.audioContextStartTime = 0 + + const source = this.normalizeSource(src) + if (!source) return + + this.input = new Input({ + source, + formats: ALL_FORMATS, + }) + + this.duration = await this.input.computeDuration() + if (id !== this.asyncId) return + + const audioTrack = await this.input.getPrimaryAudioTrack() + if (!audioTrack) { + this.audioSink = null + this.ensureAudioContext() + onMetadata?.() + return + } + + if (audioTrack.codec === null || !(await audioTrack.canDecode())) { + this.audioSink = null + this.ensureAudioContext() + onMetadata?.() + return + } + + this.ensureAudioContext(audioTrack.sampleRate) + this.audioSink = new AudioBufferSink(audioTrack) + + // 创建 stretcher(带 sampleRate / channels 信息) + this.stretcher = new TimeStretcher( + this.audioContext, + audioTrack.sampleRate, + audioTrack.numberOfChannels || 2, + ) + this.stretcher.setRate(this.playbackRate) + this._stretchOriginTs = null + this._stretchInputDur = 0 + + onMetadata?.() + } + + /** + * 持续从 audio sink 拉 buffer 并 schedule 到 AudioContext。 + * + * 重要变更:去除了原来在每次迭代都 new 一个 setInterval 的实现。 + * - 不再主动调用 audioContext.suspend()。 + * - starvation 检测交给 VideoEngine 的 RAF 侧 watchdog(监听 currentTime 是否前进)。 + * - 当 audioContext.state 意外变为 suspended 时仍会 resume,但绝不主动 suspend。 + */ + async runIterator(localId) { + if (!this.audioSink) return + + await this.stopIterator() + this.audioIterator = this.audioSink.buffers(this.currentTime) + + while (true) { + if (localId !== this.asyncId || this.paused) return + + let result + try { + result = await this.audioIterator.next() + } catch (e) { + console.error("Audio iterator error:", e) + break + } + + if (localId !== this.asyncId || this.paused) return + + // 若 audioContext 意外被 suspend(设备唤醒、用户切回前台),主动 resume + if (this.audioContext.state === "suspended") { + try { + await this.audioContext.resume() + } catch (_) { + /* ignore */ + } + this.events.emit("canplay") + this.events.emit("playing") + } + + if (result.done) break + + const { buffer, timestamp } = result.value + + // 变速不变调路径: + // - rate === 1:原路径不变,用 mediabunny 的 timestamp 调度 buffer + // - rate ≠ 1:推入 stretcher、用起始 timestamp 锁定拉伸输出的原点, + // 后续输出块的 timestamp = origin + 已输入原始时长 / rate。 + // 这样跨 buffer 连续拼接,没有接缝。 + let nodeBuffer = null + let nodeTimestamp = timestamp + + if (this.playbackRate === 1) { + nodeBuffer = buffer + nodeTimestamp = timestamp + } else { + // 锁定输出原点 timestamp(首个 buffer 进来时) + if (this._stretchOriginTs === null) { + this._stretchOriginTs = timestamp + this._stretchInputDur = 0 + } + // 处理:可能返回 null(累积不够) + const out = this.stretcher.process(buffer) + // 记录本轮输出在媒体时间轴上的起点(输入本轮之前累计的原始时长决定) + const outStartMediaTs = this._stretchOriginTs + this._stretchInputDur + // 累计本轮输入的原始时长 + this._stretchInputDur += buffer.duration + + if (!out) { + // 数据不够,暂不调度,等下一个 buffer 累积 + continue + } + nodeBuffer = out + nodeTimestamp = outStartMediaTs + } + + // 调度音频 buffer + const node = this.audioContext.createBufferSource() + node.buffer = nodeBuffer + node.connect(this.gainNode) + // 变速不变调后用原速播放;playbackRate 不再带来 “尖锐化” 副作用 + node.playbackRate.value = 1 + + // 在 audioContext 时间轴上的起始位置: + // nodeTimestamp 是原始媒体时间轴上的位置,进入该位置之后的实际 wall-clock = (nodeTimestamp - playbackTimeAtStart) / rate + const startAt = + this.audioContextStartTime + + (nodeTimestamp - this.playbackTimeAtStart) / this.playbackRate + + // 拉伸后 buffer 以原速播放,wall-clock 时长 = nodeBuffer.duration + const duration = nodeBuffer.duration + const endAt = startAt + duration + + if (endAt > this.latestScheduledEndTime) { + this.latestScheduledEndTime = endAt + } + + try { + if (startAt >= this.audioContext.currentTime) { + node.start(startAt) + } else { + // 起始点已过:偶尔过期补丁,过期太多则丢弃 + const lateBy = this.audioContext.currentTime - startAt + if (lateBy < duration) { + // 拉伸后 buffer 以原速播放,offset 单位为拉伸后的秒数(不需乘 rate) + node.start(this.audioContext.currentTime, lateBy) + } else { + // 过期太多,直接丢 + continue + } + } + } catch (e) { + console.warn("Audio buffer source start failed:", e) + continue + } + + this.queuedNodes.add(node) + node.onended = () => this.queuedNodes.delete(node) + + // 节流:当已 schedule 的时间领先 currentTime 超过 2 秒时,让出主线程一会儿, + // 避免一次性把所有 buffer 都灌进 audioContext(占用过多内存)。 + const ahead = this.latestScheduledEndTime - this.audioContext.currentTime + if (ahead > 2.0) { + // 简单 await 一个 setTimeout,0ms 也行——让 await 把控制权还给事件循环 + await new Promise((resolve) => + setTimeout(resolve, Math.min(500, (ahead - 1.5) * 1000)), + ) + } + } + } + + async play() { + if (!this.paused) return + + if (!this.audioContext) { + this.ensureAudioContext() + } + + if (this.audioContext.state === "suspended") { + await this.audioContext.resume() + } + + this.audioContextStartTime = this.audioContext.currentTime + this.latestScheduledEndTime = this.audioContextStartTime + this.paused = false + + const id = ++this.asyncId + this.runIterator(id) + } + + pause() { + if (this.paused) return + + this.playbackTimeAtStart = this.currentTime + this.paused = true + + this.stopIterator() + this.stopQueuedNodes() + // 重置 stretcher 状态,避免 “恢复播放时用了之前的拉伸状态” 造成接缝不连续 + this.stretcher?.flush() + this._stretchOriginTs = null + this._stretchInputDur = 0 + } + + async seek(time) { + this.playbackTimeAtStart = Math.max(0, time) + if (this.audioContext) { + this.audioContextStartTime = this.audioContext.currentTime + this.latestScheduledEndTime = this.audioContextStartTime + } else { + this.audioContextStartTime = 0 + this.latestScheduledEndTime = 0 + } + + // seek 后原始媒体位置完全变了,stretcher 的跨 buffer 状态不再适用 + this.stretcher?.flush() + this._stretchOriginTs = null + this._stretchInputDur = 0 + + const id = ++this.asyncId + if (!this.paused) { + this.runIterator(id) + } + } + + setVolume(volume, muted) { + this.volume = volume + this.muted = muted + this.updateGain() + } + + setPlaybackRate(rate) { + if (rate === this.playbackRate) return + + if (!this.paused) { + this.playbackTimeAtStart = this.currentTime + this.audioContextStartTime = this.audioContext.currentTime + this.latestScheduledEndTime = this.audioContextStartTime + // 切换速率时,旧的 queuedNodes 仍以旧速率/旧拉伸结果在播,会和新调度的 buffer 叠加。 + // 立即停掉旧节点(runIterator 在下一轮 await 后才会真正退出,间隔期间会出现双轨叠加) + this.stopQueuedNodes() + } + + this.playbackRate = rate + // 拉伸状态的 prevTailRef / prevTailSamples 在新速率下不再适用,重置 + this.stretcher?.setRate(rate) + this.stretcher?.flush() + this._stretchOriginTs = null + this._stretchInputDur = 0 + + if (!this.paused) { + const id = ++this.asyncId + this.runIterator(id) + } + } + + destroy() { + this.asyncId++ + this.pause() + try { + this.audioContext?.close() + } catch (_) { + /* ignore */ + } + this.audioContext = null + this.input = null + this.audioSink = null + this.stretcher = null + } +} diff --git a/src/components/artplayer-proxy-mediabunny/AudioPatch.d.ts b/src/components/artplayer-proxy-mediabunny/AudioPatch.d.ts new file mode 100644 index 000000000..4b9aae375 --- /dev/null +++ b/src/components/artplayer-proxy-mediabunny/AudioPatch.d.ts @@ -0,0 +1,24 @@ +import type Artplayer from "artplayer" + +export interface MediaBunnyAudioPatchOptions { + video: HTMLMediaElement + src: string + /** 漂移超过该值则重新 seek 音频对齐,默认 0.25 秒 */ + driftThreshold?: number + /** 加载或解码失败回调 */ + onError?: (err: Error) => void +} + +export default class MediaBunnyAudioPatch { + constructor(opts: MediaBunnyAudioPatchOptions) + destroy(): void +} + +/** + * 便捷工厂:在 Artplayer 完成 url 装载后给它打上音频补丁 + */ +export function attachMediabunnyAudio( + art: Artplayer, + src: string, + opts?: Partial>, +): MediaBunnyAudioPatch diff --git a/src/components/artplayer-proxy-mediabunny/AudioPatch.js b/src/components/artplayer-proxy-mediabunny/AudioPatch.js new file mode 100644 index 000000000..1e95bc43b --- /dev/null +++ b/src/components/artplayer-proxy-mediabunny/AudioPatch.js @@ -0,0 +1,240 @@ +/** + * MediaBunny Audio Patch + * -------------------------------------------------------- + * 与 proxy 模式不同:本模块**不接管**