diff --git a/README.md b/README.md index 705f342bdc..d1a91c3677 100644 --- a/README.md +++ b/README.md @@ -26,9 +26,9 @@ Presentation slides for developers 🧑‍💻👩‍💻👨‍
-
+
Made possible by my Sponsor Program 💖
- +
diff --git a/docs/guide/video-playback.md b/docs/guide/video-playback.md new file mode 100644 index 0000000000..fa8e29927f --- /dev/null +++ b/docs/guide/video-playback.md @@ -0,0 +1,24 @@ +# SlidevVideo Controlled Playback + +This demo shows how to use the `pause` prop on `` to control playback in steps. + +## Example + +```vue + +``` + +The video will: + +1. Pause at **1s** +2. Pause at **2s** +3. Pause at **3s** +4. Pause at the **end** + +## Usage + +Use `pause` to sync video playback with your slide steps or narration. + +```vue + +``` diff --git a/packages/client/builtin/SlidevVideo.vue b/packages/client/builtin/SlidevVideo.vue index 0be737ffb8..08e081e8bc 100644 --- a/packages/client/builtin/SlidevVideo.vue +++ b/packages/client/builtin/SlidevVideo.vue @@ -1,74 +1,111 @@ diff --git a/packages/client/setup/main.ts b/packages/client/setup/main.ts index 8e2abc73b1..1f79a99e67 100644 --- a/packages/client/setup/main.ts +++ b/packages/client/setup/main.ts @@ -3,12 +3,17 @@ import type { App } from 'vue' import setups from '#slidev/setups/main' import TwoSlashFloatingVue from '@shikijs/vitepress-twoslash/client' import { createHead } from '@unhead/vue/client' -import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router' +import { + createRouter, + createWebHashHistory, + createWebHistory, +} from 'vue-router' import { createVClickDirectives } from '../modules/v-click' import { createVDragDirective } from '../modules/v-drag' import { createVMarkDirective } from '../modules/v-mark' import { createVMotionDirectives } from '../modules/v-motion' import setupRoutes from '../setup/routes' +import 'video.js/dist/video-js.css' import '#slidev/styles' @@ -16,7 +21,10 @@ export default async function setupMain(app: App) { function setMaxHeight() { // disable the mobile navbar scroll // see https://css-tricks.com/the-trick-to-viewport-units-on-mobile/ - document.documentElement.style.setProperty('--vh', `${window.innerHeight * 0.01}px`) + document.documentElement.style.setProperty( + '--vh', + `${window.innerHeight * 0.01}px`, + ) } setMaxHeight() window.addEventListener('resize', setMaxHeight) @@ -41,6 +49,5 @@ export default async function setupMain(app: App) { router, } - for (const setup of setups) - await setup(context) + for (const setup of setups) await setup(context) } diff --git a/playground/slides.md b/playground/slides.md new file mode 100644 index 0000000000..f823c2c1e8 --- /dev/null +++ b/playground/slides.md @@ -0,0 +1,5 @@ +# 渏芌 SlidevVideo + + + + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 462d37276d..c6af3ed679 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -821,6 +821,9 @@ importers: unocss: specifier: catalog:prod version: 66.3.3(postcss@8.5.6)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.8.3)) + video.js: + specifier: ^8.23.3 + version: 8.23.3 vue: specifier: catalog:frontend version: 3.5.18(typescript@5.8.3) @@ -938,7 +941,7 @@ importers: version: 3.7.0 debug: specifier: catalog:prod - version: 4.4.1(supports-color@8.1.1) + version: 4.4.1(supports-color@5.5.0) fast-deep-equal: specifier: catalog:prod version: 3.1.3 @@ -2604,6 +2607,19 @@ packages: peerDependencies: vite: ^7.0.6 + '@videojs/http-streaming@3.17.2': + resolution: {integrity: sha512-VBQ3W4wnKnVKb/limLdtSD2rAd5cmHN70xoMf4OmuDd0t2kfJX04G+sfw6u2j8oOm2BXYM9E1f4acHruqKnM1g==} + engines: {node: '>=8', npm: '>=5'} + peerDependencies: + video.js: ^8.19.0 + + '@videojs/vhs-utils@4.1.1': + resolution: {integrity: sha512-5iLX6sR2ownbv4Mtejw6Ax+naosGvoT9kY+gcuHzANyUZZ+4NpeNdKMUhb6ag0acYej1Y7cmr/F2+4PrggMiVA==} + engines: {node: '>=8', npm: '>=5'} + + '@videojs/xhr@2.7.0': + resolution: {integrity: sha512-giab+EVRanChIupZK7gXjHy90y3nncA2phIOyG3Ne5fvpiMJzvqYwiTOnEVW2S4CoYcuKJkomat7bMXA/UoUZQ==} + '@vitejs/plugin-vue-jsx@5.0.1': resolution: {integrity: sha512-X7qmQMXbdDh+sfHUttXokPD0cjPkMFoae7SgbkF9vi3idGUKmxLcnU2Ug49FHwiKXebfzQRIm5yK3sfCJzNBbg==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2863,6 +2879,10 @@ packages: peerDependencies: vue: ^3.5.0 + '@xmldom/xmldom@0.8.10': + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + engines: {node: '>=10.0.0'} + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -2873,6 +2893,9 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + aes-decrypter@4.0.2: + resolution: {integrity: sha512-lc+/9s6iJvuaRe5qDlMTpCFjnwpkeOXp8qP3oiZ5jsj1MRg+SBVUmmICrhxHvc8OELSmc+fEyyxAuppY6hrWzw==} + agent-base@7.1.1: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} @@ -3652,6 +3675,9 @@ packages: dom-serializer@2.0.0: resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dom-walk@0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + domelementtype@2.3.0: resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} @@ -4282,6 +4308,9 @@ packages: resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} engines: {node: '>=10'} + global@4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} @@ -4535,6 +4564,9 @@ packages: resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} engines: {node: '>=18'} + is-function@1.0.2: + resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -4939,6 +4971,9 @@ packages: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true + m3u8-parser@7.2.0: + resolution: {integrity: sha512-CRatFqpjVtMiMaKXxNvuI3I++vUumIXVVT/JpCpdU/FynV/ceVw1qpPyyBNindL+JlPMSesx+WX1QJaZEJSaMQ==} + magic-string-stack@1.0.0: resolution: {integrity: sha512-oTPJ8IL5FdB4bhiLeBc7HzrK6cbtcHuZeaNK0Uim9wkl/PnVH1gYConD+dmqJTCyMJ5NlsvICHLPD+ItGsJzyA==} @@ -5163,6 +5198,9 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + min-document@2.19.0: + resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} + min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -5221,6 +5259,10 @@ packages: monaco-editor@0.52.2: resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==} + mpd-parser@1.3.1: + resolution: {integrity: sha512-1FuyEWI5k2HcmhS1HkKnUAQV7yFPfXPht2DnRRGtoiiAAW+ESTbtEXIDpRkwdU+XyrQuwrIym7UkoPKsZ0SyFw==} + hasBin: true + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -5241,6 +5283,11 @@ packages: mute-stream@0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + mux.js@7.1.0: + resolution: {integrity: sha512-NTxawK/BBELJrYsZThEulyUMDVlLizKdxyAsMuzoCD1eFj97BVaA8D/CvKsKu6FOLYkFojN5CbM9h++ZTZtknA==} + engines: {node: '>=8', npm: '>=5'} + hasBin: true + nano-spawn@1.0.2: resolution: {integrity: sha512-21t+ozMQDAL/UGgQVBbZ/xXvNO10++ZPuTmKRO8k9V3AClVRht49ahtDjfY8l1q6nSHOrE5ASfthzH3ol6R/hg==} engines: {node: '>=20.17'} @@ -5503,6 +5550,10 @@ packages: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} + pkcs7@1.0.4: + resolution: {integrity: sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==} + hasBin: true + pkg-types@1.3.0: resolution: {integrity: sha512-kS7yWjVFCkIw9hqdJBoMxDdzEngmkr5FXeWZZfQ6GoYacjVnsW6l2CcYW/0ThD0vF4LPJgVYnrg4d0uuhwYQbg==} @@ -6504,6 +6555,21 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + video.js@8.23.3: + resolution: {integrity: sha512-Toe0VLlDZcUhiaWfcePS1OEdT3ATfktm0hk/PELfD7zUoPDHeT+cJf/wZmCy5M5eGVwtGUg25RWPCj1L/1XufA==} + + videojs-contrib-quality-levels@4.1.0: + resolution: {integrity: sha512-TfrXJJg1Bv4t6TOCMEVMwF/CoS8iENYsWNKip8zfhB5kTcegiFYezEA0eHAJPU64ZC8NQbxQgOwAsYU8VXbOWA==} + engines: {node: '>=16', npm: '>=8'} + peerDependencies: + video.js: ^8 + + videojs-font@4.2.0: + resolution: {integrity: sha512-YPq+wiKoGy2/M7ccjmlvwi58z2xsykkkfNMyIg4xb7EZQQNwB71hcSsB3o75CqQV7/y5lXkXhI/rsGAS7jfEmQ==} + + videojs-vtt.js@0.15.5: + resolution: {integrity: sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==} + vite-dev-rpc@1.1.0: resolution: {integrity: sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==} peerDependencies: @@ -7053,7 +7119,7 @@ snapshots: '@babel/traverse': 7.27.7 '@babel/types': 7.28.2 convert-source-map: 2.0.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -7192,7 +7258,7 @@ snapshots: '@babel/parser': 7.28.0 '@babel/template': 7.27.2 '@babel/types': 7.28.2 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -7399,7 +7465,7 @@ snapshots: '@eslint/config-array@0.21.0': dependencies: '@eslint/object-schema': 2.1.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -7413,7 +7479,7 @@ snapshots: '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 @@ -7519,7 +7585,7 @@ snapshots: '@antfu/install-pkg': 1.1.0 '@antfu/utils': 8.1.0 '@iconify/types': 2.0.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) globals: 15.15.0 kolorist: 1.8.0 local-pkg: 1.1.1 @@ -8213,7 +8279,7 @@ snapshots: '@typescript-eslint/types': 8.38.0 '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) '@typescript-eslint/visitor-keys': 8.38.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) eslint: 9.32.0(jiti@2.5.1) typescript: 5.8.3 transitivePeerDependencies: @@ -8223,7 +8289,7 @@ snapshots: dependencies: '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3) '@typescript-eslint/types': 8.38.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -8242,7 +8308,7 @@ snapshots: '@typescript-eslint/types': 8.38.0 '@typescript-eslint/typescript-estree': 8.38.0(typescript@5.8.3) '@typescript-eslint/utils': 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) eslint: 9.32.0(jiti@2.5.1) ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 @@ -8257,7 +8323,7 @@ snapshots: '@typescript-eslint/tsconfig-utils': 8.38.0(typescript@5.8.3) '@typescript-eslint/types': 8.38.0 '@typescript-eslint/visitor-keys': 8.38.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 @@ -8289,7 +8355,7 @@ snapshots: '@typescript/vfs@1.6.1(typescript@5.8.3)': dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) typescript: 5.8.3 transitivePeerDependencies: - supports-color @@ -8456,6 +8522,28 @@ snapshots: transitivePeerDependencies: - vue + '@videojs/http-streaming@3.17.2(video.js@8.23.3)': + dependencies: + '@babel/runtime': 7.27.4 + '@videojs/vhs-utils': 4.1.1 + aes-decrypter: 4.0.2 + global: 4.4.0 + m3u8-parser: 7.2.0 + mpd-parser: 1.3.1 + mux.js: 7.1.0 + video.js: 8.23.3 + + '@videojs/vhs-utils@4.1.1': + dependencies: + '@babel/runtime': 7.27.4 + global: 4.4.0 + + '@videojs/xhr@2.7.0': + dependencies: + '@babel/runtime': 7.27.4 + global: 4.4.0 + is-function: 1.0.2 + '@vitejs/plugin-vue-jsx@5.0.1(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.8.3))': dependencies: '@babel/core': 7.27.7 @@ -8799,15 +8887,24 @@ snapshots: dependencies: vue: 3.5.18(typescript@5.8.3) + '@xmldom/xmldom@0.8.10': {} + acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 acorn@8.15.0: {} + aes-decrypter@4.0.2: + dependencies: + '@babel/runtime': 7.27.4 + '@videojs/vhs-utils': 4.1.1 + global: 4.4.0 + pkcs7: 1.0.4 + agent-base@7.1.1: dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -9657,6 +9754,8 @@ snapshots: domhandler: 5.0.3 entities: 4.5.0 + dom-walk@0.1.2: {} + domelementtype@2.3.0: {} domhandler@5.0.3: @@ -9872,7 +9971,7 @@ snapshots: '@es-joy/jsdoccomment': 0.52.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) escape-string-regexp: 4.0.0 eslint: 9.32.0(jiti@2.5.1) espree: 10.4.0 @@ -9948,7 +10047,7 @@ snapshots: eslint-plugin-toml@0.12.0(eslint@9.32.0(jiti@2.5.1)): dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) eslint: 9.32.0(jiti@2.5.1) eslint-compat-utils: 0.6.5(eslint@9.32.0(jiti@2.5.1)) lodash: 4.17.21 @@ -9999,7 +10098,7 @@ snapshots: eslint-plugin-yml@1.18.0(eslint@9.32.0(jiti@2.5.1)): dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) escape-string-regexp: 4.0.0 eslint: 9.32.0(jiti@2.5.1) eslint-compat-utils: 0.6.5(eslint@9.32.0(jiti@2.5.1)) @@ -10040,7 +10139,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) escape-string-regexp: 4.0.0 eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 @@ -10397,6 +10496,11 @@ snapshots: dependencies: ini: 2.0.0 + global@4.4.0: + dependencies: + min-document: 2.19.0 + process: 0.11.10 + globals@11.12.0: {} globals@14.0.0: {} @@ -10532,7 +10636,7 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -10550,7 +10654,7 @@ snapshots: https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -10633,6 +10737,8 @@ snapshots: dependencies: get-east-asian-width: 1.2.0 + is-function@1.0.2: {} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -10914,7 +11020,7 @@ snapshots: dependencies: chalk: 5.4.1 commander: 14.0.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) lilconfig: 3.1.3 listr2: 8.3.3 micromatch: 4.0.8 @@ -11021,6 +11127,12 @@ snapshots: lz-string@1.5.0: {} + m3u8-parser@7.2.0: + dependencies: + '@babel/runtime': 7.27.4 + '@videojs/vhs-utils': 4.1.1 + global: 4.4.0 + magic-string-stack@1.0.0: dependencies: '@ampproject/remapping': 2.3.0 @@ -11399,7 +11511,7 @@ snapshots: micromark@4.0.0: dependencies: '@types/debug': 4.1.12 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) decode-named-character-reference: 1.1.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 @@ -11446,6 +11558,10 @@ snapshots: mimic-response@4.0.0: {} + min-document@2.19.0: + dependencies: + dom-walk: 0.1.2 + min-indent@1.0.1: {} minimatch@10.0.3: @@ -11501,6 +11617,13 @@ snapshots: monaco-editor@0.52.2: {} + mpd-parser@1.3.1: + dependencies: + '@babel/runtime': 7.27.4 + '@videojs/vhs-utils': 4.1.1 + '@xmldom/xmldom': 0.8.10 + global: 4.4.0 + mri@1.2.0: optional: true @@ -11514,6 +11637,11 @@ snapshots: mute-stream@0.0.8: {} + mux.js@7.1.0: + dependencies: + '@babel/runtime': 7.27.4 + global: 4.4.0 + nano-spawn@1.0.2: {} nanoid@3.3.11: {} @@ -11772,6 +11900,10 @@ snapshots: pify@2.3.0: {} + pkcs7@1.0.4: + dependencies: + '@babel/runtime': 7.27.4 + pkg-types@1.3.0: dependencies: confbox: 0.1.8 @@ -12088,7 +12220,7 @@ snapshots: '@babel/types': 7.28.2 ast-kit: 2.1.1 birpc: 2.5.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) dts-resolver: 2.1.1 get-tsconfig: 4.10.1 rolldown: 1.0.0-beta.11-commit.f051675 @@ -12580,7 +12712,7 @@ snapshots: ansis: 4.1.0 cac: 6.7.14 chokidar: 4.0.3 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) diff: 8.0.2 empathic: 2.0.0 hookable: 5.5.3 @@ -12789,7 +12921,7 @@ snapshots: dependencies: '@antfu/install-pkg': 1.1.0 '@iconify/utils': 2.3.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) local-pkg: 1.1.1 unplugin: 2.3.5 optionalDependencies: @@ -12805,7 +12937,7 @@ snapshots: unplugin-vue-components@28.8.0(@babel/parser@7.28.0)(@nuxt/kit@3.13.0(rollup@4.44.1))(vue@3.5.18(typescript@5.8.3)): dependencies: chokidar: 3.6.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) local-pkg: 1.1.1 magic-string: 0.30.17 mlly: 1.7.4 @@ -12902,6 +13034,32 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 + video.js@8.23.3: + dependencies: + '@babel/runtime': 7.27.4 + '@videojs/http-streaming': 3.17.2(video.js@8.23.3) + '@videojs/vhs-utils': 4.1.1 + '@videojs/xhr': 2.7.0 + aes-decrypter: 4.0.2 + global: 4.4.0 + m3u8-parser: 7.2.0 + mpd-parser: 1.3.1 + mux.js: 7.1.0 + videojs-contrib-quality-levels: 4.1.0(video.js@8.23.3) + videojs-font: 4.2.0 + videojs-vtt.js: 0.15.5 + + videojs-contrib-quality-levels@4.1.0(video.js@8.23.3): + dependencies: + global: 4.4.0 + video.js: 8.23.3 + + videojs-font@4.2.0: {} + + videojs-vtt.js@0.15.5: + dependencies: + global: 4.4.0 + vite-dev-rpc@1.1.0(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: birpc: 2.5.0 @@ -12915,7 +13073,7 @@ snapshots: vite-node@3.2.4(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.8.0): dependencies: cac: 6.7.14 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) es-module-lexer: 1.7.0 pathe: 2.0.3 vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.8.0) @@ -12936,7 +13094,7 @@ snapshots: vite-plugin-inspect@11.3.2(@nuxt/kit@3.13.0(rollup@4.44.1))(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: ansis: 4.1.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) error-stack-parser-es: 1.0.5 ohash: 2.0.11 open: 10.2.0 @@ -12952,7 +13110,7 @@ snapshots: vite-plugin-remote-assets@2.0.0(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.8.0)): dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) magic-string: 0.30.17 node-fetch-native: 1.6.6 ohash: 2.0.11 @@ -12971,7 +13129,7 @@ snapshots: vite-plugin-vue-server-ref@1.0.0(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)(yaml@2.8.0))(vue@3.5.18(typescript@5.8.3)): dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) klona: 2.0.6 mlly: 1.7.4 ufo: 1.5.4 @@ -13086,7 +13244,7 @@ snapshots: '@vitest/spy': 3.2.4 '@vitest/utils': 3.2.4 chai: 5.2.0 - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) expect-type: 1.2.1 magic-string: 0.30.17 pathe: 2.0.3 @@ -13179,7 +13337,7 @@ snapshots: vue-eslint-parser@10.2.0(eslint@9.32.0(jiti@2.5.1)): dependencies: - debug: 4.4.1(supports-color@8.1.1) + debug: 4.4.1(supports-color@5.5.0) eslint: 9.32.0(jiti@2.5.1) eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1