@munsonlabs/video-player 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +139 -25
- package/dist/elements/controls.css +1 -0
- package/dist/elements/controls.d.mts +103 -0
- package/dist/elements/controls.mjs +1 -0
- package/dist/elements/core.css +1 -0
- package/dist/{element.d.mts → elements/core.d.mts} +3 -1
- package/dist/elements/core.mjs +5 -0
- package/dist/elements/index.d.mts +168 -0
- package/dist/elements/index.mjs +5 -0
- package/dist/elements/style.css +1 -0
- package/dist/index.d.mts +425 -31
- package/dist/index.mjs +5 -3
- package/dist/style.css +1 -1
- package/package.json +22 -4
- package/dist/element.mjs +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:where(.mvp-play-button[data-v-218255bd]){all:unset;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}:where(.mvp-play-button svg[data-v-218255bd]){width:1em;height:1em}@keyframes spin-259be2b2{to{transform:rotate(360deg)}}.spinner[data-v-259be2b2]{border-style:solid;border-color:#fffc #ffffff26 #ffffff26;border-radius:50%;animation:.75s linear infinite spin-259be2b2}:where(.mvp-buffering[data-v-454fec7f]){justify-content:center;align-items:center;display:inline-flex}.ppbtn{backdrop-filter:blur(12px);will-change:backdrop-filter;color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.ppbtn:hover{background:#fff3;transform:scale(1.08)}.ppbtn--lg{background:var(--mvp-btn-bg,#ffffff1a);width:clamp(48px,20cqw,64px);height:clamp(48px,20cqw,64px);color:var(--mvp-btn-color,#fff)}.ppbtn--lg svg{width:clamp(20px,9cqw,28px);height:clamp(20px,9cqw,28px)}.ppbtn--lg:hover{background:var(--mvp-btn-bg,#fff3);filter:brightness(1.12)}.ppbtn--sm{color:#ffffffbf;background:0 0;border:none;border-radius:8px;width:30px;height:30px}.ppbtn--sm svg{width:16px;height:16px}.ppbtn--sm:hover{color:#fff;background:#ffffff1a;transform:none}.hud[data-v-a6d118e7]{align-items:center;gap:clamp(12px,5cqw,20px);display:flex}.hud__play-wrap[data-v-a6d118e7]{display:flex;position:relative}.hud__buf-spinner[data-v-a6d118e7]{margin-top:8px;position:absolute;top:100%;left:calc(50% - 7px)}.hud__spacer[data-v-a6d118e7]{flex-shrink:0;width:clamp(36px,14cqw,44px);height:clamp(36px,14cqw,44px)}.hud__btn[data-v-a6d118e7]{background:var(--mvp-btn-bg,#ffffff1a);backdrop-filter:blur(12px);will-change:backdrop-filter;width:clamp(36px,14cqw,44px);height:clamp(36px,14cqw,44px);color:var(--mvp-btn-color,#fff);cursor:pointer;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.hud__btn svg[data-v-a6d118e7]{width:clamp(16px,6cqw,18px);height:clamp(16px,6cqw,18px)}.hud__btn[data-v-a6d118e7]:hover{background:var(--mvp-btn-bg,#fff3);filter:brightness(1.12);transform:scale(1.08)}.hud__btn--active[data-v-a6d118e7]{border-color:var(--mvp-accent,#3b82f6);background:color-mix(in srgb, var(--mvp-accent,#3b82f6) 30%, var(--mvp-btn-bg,#ffffff1a));color:var(--mvp-btn-color,#fff)}.hud__btn--active[data-v-a6d118e7]:hover{background:color-mix(in srgb, var(--mvp-accent,#3b82f6) 45%, var(--mvp-btn-bg,#fff3))}:where(.mvp-fullscreen-button[data-v-b93a5017]){all:unset;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}:where(.mvp-fullscreen-button svg[data-v-b93a5017]){width:1em;height:1em}:where(.mvp-pip-button[data-v-f654d93e]){all:unset;cursor:pointer;opacity:.6;justify-content:center;align-items:center;display:inline-flex}:where(.mvp-pip-button--active[data-v-f654d93e]){opacity:1}:where(.mvp-pip-button svg[data-v-f654d93e]){width:1em;height:1em}.mvp-scrubber-wrap[data-v-043f1bc8]{width:100%;position:relative}:where(.mvp-scrubber[data-v-043f1bc8]){cursor:pointer;accent-color:currentColor;width:100%}.mvp-scrubber__preview[data-v-043f1bc8]{font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap;margin-bottom:.4rem;font-size:.75rem;position:absolute;bottom:100%;transform:translate(-50%)}:where(.mvp-time-display[data-v-0285c811]){font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;display:inline-flex}:where(.mvp-time-display__dot[data-v-0285c811]){background:currentColor;border-radius:50%;width:6px;height:6px}.mvp-volume-wrap[data-v-fbb2c86c]{align-items:center;gap:.75rem;width:100%;display:flex}:where(.mvp-volume-slider[data-v-fbb2c86c]){cursor:pointer;accent-color:currentColor;flex:1}:where(.mvp-volume-pct[data-v-fbb2c86c]){font-variant-numeric:tabular-nums;text-align:right;min-width:2rem}.controls__vol-slider{-webkit-appearance:none;appearance:none;cursor:pointer;background:linear-gradient(to right, #fff 0%, #fff var(--v), #ffffff26 var(--v), #ffffff26 100%);outline:none;flex:1;height:5px;transition:height .15s}.controls__vol-slider:hover{height:7px}.controls__vol-slider::-webkit-slider-runnable-track{background:0 0;height:5px}.controls__vol-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;margin-top:-5.5px;transition:transform .15s;box-shadow:0 0 0 3px #fff3}.controls__vol-slider:hover::-webkit-slider-thumb{transform:scale(1.2)}.controls__vol-slider::-moz-range-track{background:#ffffff26;height:5px}.controls__vol-slider::-moz-range-progress{background:#fff;height:5px}.controls__vol-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 3px #fff3}.controls__vol-header[data-v-10b0ae67]{align-items:center;gap:4px;display:flex}.controls__vol-label[data-v-10b0ae67]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__vol-body[data-v-10b0ae67]{align-items:center;gap:12px;padding:6px 0 4px;display:flex}.controls__vol-pct[data-v-10b0ae67]{font-variant-numeric:tabular-nums;color:#fff9;text-align:right;min-width:32px;font-size:.75rem;font-weight:600}.controls__more-row[data-v-47ca5bfc]{color:#ffffffd9;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:8px 4px;font-size:.8rem;font-weight:500;transition:background .15s;display:flex}.controls__more-row[data-v-47ca5bfc]:hover{background:#ffffff14}.controls__more-row-label[data-v-47ca5bfc]{align-items:center;gap:8px;display:flex}.controls__more-row-icon[data-v-47ca5bfc]{flex-shrink:0;width:16px;height:16px}.controls__more-value[data-v-47ca5bfc]{font-variant-numeric:tabular-nums;color:#ffffff80;font-size:.7rem;font-weight:600}.controls__more-row--active .controls__more-value[data-v-47ca5bfc]{color:var(--mvp-accent,#3b82f6)}.controls__more-header[data-v-e89a8208]{flex-shrink:0;align-items:center;gap:4px;display:flex}.controls__more-label[data-v-e89a8208]{color:#ffffffe6;flex:1;padding:0 4px;font-size:.8rem;font-weight:600}.controls__more-body[data-v-e89a8208]{flex-direction:column;min-height:0;padding:2px 0;display:flex;overflow-y:auto}::view-transition-old(controls-popup),::view-transition-new(controls-popup){animation-duration:.22s;animation-timing-function:ease-in-out}.controls__btn{color:#ffffffbf;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:flex}.controls__btn svg{width:16px;height:16px}.controls__btn:hover{color:#fff;background:#ffffff1a}.controls--compact .controls__seek,.controls--compact .mvp-scrubber-wrap,.controls--compact .controls__btn--more,.controls--compact .controls__btn--pip,.controls--compact .controls__fs-wrap{display:none}@container player-shell (width<=300px){.controls__seek,.mvp-scrubber-wrap,.controls__btn--more,.controls__btn--pip,.controls__fs-wrap{display:none}}.controls__seek{-webkit-appearance:none;appearance:none;cursor:pointer;box-sizing:border-box;background:padding-box content-box;background-image:linear-gradient(to right, var(--mvp-accent,#3b82f6) 0%, var(--mvp-accent,#3b82f6) var(--p), #ffffff4d var(--p), #ffffff4d var(--b), #ffffff1a var(--b), #ffffff1a 100%);outline:none;width:100%;height:20px;padding:8px 0}.controls__seek::-webkit-slider-runnable-track{background:0 0;height:4px}.controls__seek::-webkit-slider-thumb{-webkit-appearance:none;background:var(--mvp-accent,#3b82f6);width:14px;height:14px;box-shadow:0 0 0 3px color-mix(in srgb, var(--mvp-accent,#3b82f6) 30%, transparent);cursor:pointer;border-radius:50%;margin-top:-5px;transition:transform .15s}.controls__seek:hover::-webkit-slider-thumb{transform:scale(1.25)}.controls__seek::-moz-range-track{background:#ffffff1a;height:4px}.controls__seek::-moz-range-progress{background:var(--mvp-accent,#3b82f6);height:4px}.controls__seek::-moz-range-thumb{background:var(--mvp-accent,#3b82f6);width:14px;height:14px;box-shadow:0 0 0 3px color-mix(in srgb, var(--mvp-accent,#3b82f6) 30%, transparent);cursor:pointer;border:none;border-radius:50%}.controls[data-v-5712aad4]{-webkit-backdrop-filter:blur(20px);background:#0a0a0e;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;gap:10px;width:min(340px,100% - 32px);max-height:100%;padding:14px 16px 12px;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000080}.controls--fs[data-v-5712aad4]{width:100%}.controls__row[data-v-5712aad4]{align-items:center;gap:4px;display:flex}.controls__time-display[data-v-5712aad4]{color:#fff9;letter-spacing:.02em;flex:1;padding:0 4px;font-size:.7rem;font-weight:500}.controls__time-display.mvp-time-display--live[data-v-5712aad4]{letter-spacing:.04em;text-transform:uppercase;color:#f87171;font-weight:700}.controls__play-wrap[data-v-5712aad4]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.controls__btn--active[data-v-5712aad4],.controls__btn--pip.mvp-pip-button--active[data-v-5712aad4]{color:var(--mvp-accent,#3b82f6)}.controls__btn--active[data-v-5712aad4]:hover,.controls__btn--pip.mvp-pip-button--active[data-v-5712aad4]:hover{color:var(--mvp-accent,#60a5fa)}.controls__fs-wrap[data-v-5712aad4]{flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.overlay__spinner[data-v-f3307b98]{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fade-enter-active[data-v-f3307b98],.fade-leave-active[data-v-f3307b98]{transition:opacity .25s}.fade-enter-from[data-v-f3307b98],.fade-leave-to[data-v-f3307b98]{opacity:0}.overlay__error[data-v-f3307b98]{z-index:6;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex;position:absolute;inset:0}.overlay__error p[data-v-f3307b98]{color:#ffffffb3;text-align:center;max-width:260px;font-size:.875rem;line-height:1.5}.overlay__retry[data-v-f3307b98]{pointer-events:auto;color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;transition:background .15s}.overlay__retry[data-v-f3307b98]:hover{background:#fff3}.overlay__hud[data-v-f3307b98]{z-index:4;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.overlay__hud--visible[data-v-f3307b98]{opacity:1;pointer-events:all}.overlay__popup[data-v-f3307b98]{z-index:5;align-items:var(--mvp-popup-align,center);pointer-events:none;justify-content:center;padding:16px;display:flex;position:absolute;inset:0}.overlay__popup[data-v-f3307b98] .controls{pointer-events:auto}.overlay__popup--fs[data-v-f3307b98]{align-items:flex-end}.popup-enter-active[data-v-f3307b98],.popup-leave-active[data-v-f3307b98]{transition:opacity .2s,transform .2s}.popup-enter-from[data-v-f3307b98],.popup-leave-to[data-v-f3307b98]{opacity:0;transform:scale(.95)}.ad-overlay[data-v-23efcc8b]{z-index:21;pointer-events:none;position:absolute;inset:0}.ad-overlay__bar[data-v-23efcc8b]{align-items:center;gap:6px;display:flex;position:absolute;bottom:10px;left:10px}.ad-overlay__badge[data-v-23efcc8b]{color:#fff;text-transform:uppercase;letter-spacing:.06em;background:#0009;border-radius:4px;align-items:center;gap:6px;padding:3px 8px;font-size:.65rem;font-weight:700;display:flex}.ad-overlay__countdown[data-v-23efcc8b]{font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:.02em;opacity:.8;font-weight:500}.ad-overlay__btn[data-v-23efcc8b]{color:#fff;cursor:pointer;pointer-events:auto;background:#0009;border:none;border-radius:4px;justify-content:center;align-items:center;padding:3px;transition:background .15s;display:flex}.ad-overlay__btn[data-v-23efcc8b]:hover{background:#000c}.ad-overlay__btn svg[data-v-23efcc8b]{width:11px;height:11px}.player[data-v-4ab3cf75]{user-select:none;-webkit-tap-highlight-color:transparent;width:100%;max-width:800px;margin:0 auto}[data-mvp-player][data-v-4ab3cf75]{position:absolute;inset:0}.player__shell[data-v-4ab3cf75]{border-radius:var(--mvp-radius,12px);cursor:pointer;background:#000;position:relative;overflow:hidden;container:player-shell/inline-size}.mvp-video--hidden[data-v-4ab3cf75]{opacity:0}.overlay__tap-capture[data-v-4ab3cf75]{z-index:2;position:absolute;inset:0}.player__shell--portrait[data-v-4ab3cf75]{width:auto;max-width:100%;max-height:75dvh;margin:0 auto}.player__native-play[data-v-4ab3cf75]{z-index:3;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.player__native-play[data-v-4ab3cf75]>*{pointer-events:auto}.player__shell[data-v-4ab3cf75]:fullscreen{border-radius:0;width:100vw;height:100dvh}.player__shell:fullscreen .mvp-video[data-v-4ab3cf75],.player__shell:fullscreen [data-mvp-player][data-v-4ab3cf75]{width:100%!important;height:100%!important}.mvp-video{border-radius:var(--mvp-radius,12px);object-fit:cover;background:#000;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.mvp-dailymotion .mvp-tech>*,.mvp-dailymotion .dailymotion-player-root,.mvp-dailymotion iframe{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.mvp-vimeo .mvp-tech>div{width:100%!important;height:100%!important;padding:0!important;position:absolute!important;top:0!important;left:0!important}.mvp-vimeo iframe{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}[data-mvp-player] .ima-ad-container{pointer-events:none;z-index:20!important;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.mvp-ad-playing .ima-ad-container{pointer-events:auto}.mvp-ad-playing .overlay__hud,.mvp-ad-playing .overlay__spinner{display:none!important}.stage-wrapper[data-v-fb8c86cf]{width:100%;max-width:800px;margin:0 auto}.stage[data-v-fb8c86cf]{width:100%}.stage__dismiss[data-v-fb8c86cf],.stage__scroll-to[data-v-fb8c86cf]{z-index:10;backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex;position:absolute;top:.4rem}.stage__dismiss[data-v-fb8c86cf]:hover,.stage__scroll-to[data-v-fb8c86cf]:hover{background:#000000d9}.stage__dismiss svg[data-v-fb8c86cf],.stage__scroll-to svg[data-v-fb8c86cf]{width:14px;height:14px}.stage__dismiss[data-v-fb8c86cf]{right:.4rem}.stage__scroll-to[data-v-fb8c86cf]{left:.4rem}.stage--minified[data-v-fb8c86cf]{z-index:100;margin:0;position:fixed;overflow:hidden;box-shadow:0 8px 32px #0009}.stage--pin-bottom-right[data-v-fb8c86cf],.stage--pin-bottom-left[data-v-fb8c86cf],.stage--pin-top-right[data-v-fb8c86cf],.stage--pin-top-left[data-v-fb8c86cf]{border-radius:var(--mvp-radius,12px);width:360px;max-width:360px;@media (width<=740px){max-width:300px}}.stage--pin-bottom-right[data-v-fb8c86cf]{bottom:1.25rem;right:1.25rem}.stage--pin-bottom-left[data-v-fb8c86cf]{bottom:1.25rem;left:1.25rem}.stage--pin-top-right[data-v-fb8c86cf]{top:1.25rem;right:1.25rem}.stage--pin-top-left[data-v-fb8c86cf]{top:1.25rem;left:1.25rem}.stage--pin-full-width[data-v-fb8c86cf]{width:100%;max-width:100%;box-shadow:none;border-radius:0;top:0;left:0;right:0}.stage__idle[data-v-fb8c86cf]{border-radius:var(--mvp-radius,12px);cursor:pointer;background:#111;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.stage__idle-poster[data-v-fb8c86cf]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage__idle-scrim[data-v-fb8c86cf]{background:#00000073;transition:background .15s;position:absolute;inset:0}.stage__idle:hover .stage__idle-scrim[data-v-fb8c86cf]{background:#0000004d}.stage__idle-body[data-v-fb8c86cf]{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;display:flex;position:relative}.stage__idle-btn[data-v-fb8c86cf]{backdrop-filter:blur(4px);color:#fff;background:#0009;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .15s,background .15s;display:flex}.stage__idle:hover .stage__idle-btn[data-v-fb8c86cf]{background:#000c;transform:scale(1.1)}.stage__idle-btn svg[data-v-fb8c86cf]{width:32px;height:32px}.stage__idle-title[data-v-fb8c86cf]{color:#f1f5f9;text-shadow:0 1px 4px #000c;font-size:1rem;font-weight:600}.stage__idle-empty[data-v-fb8c86cf]{color:#64748b;font-size:.95rem}.placeholder[data-v-dbcb4f82]{width:100%}.placeholder__shell[data-v-dbcb4f82]{border-radius:var(--mvp-radius,12px);cursor:pointer;background:#111;position:relative;overflow:hidden}.placeholder__shell--portrait[data-v-dbcb4f82]{width:auto;max-height:75dvh;margin:0 auto}.placeholder__poster[data-v-dbcb4f82]{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.placeholder__scrim[data-v-dbcb4f82]{background:#00000059;transition:background .15s;position:absolute;inset:0}.placeholder__shell:hover .placeholder__scrim[data-v-dbcb4f82]{background:#00000026}.placeholder__btn-wrap[data-v-dbcb4f82]{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.placeholder__btn-wrap[data-v-dbcb4f82]>*{pointer-events:auto}.placeholder__footer[data-v-dbcb4f82]{pointer-events:none;background:linear-gradient(#0000 0%,#000c 100%);padding:1.5rem .75rem .6rem;position:absolute;bottom:0;left:0;right:0}.placeholder__title[data-v-dbcb4f82]{color:#f1f5f9;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 3px #0009;font-size:.8rem;font-weight:600;overflow:hidden}:where(.mvp-mute-button[data-v-1940b598]){all:unset;cursor:pointer;justify-content:center;align-items:center;display:inline-flex}:where(.mvp-mute-button svg[data-v-1940b598]){width:1em;height:1em}:where(.mvp-loop-button[data-v-e32eda25]){all:unset;cursor:pointer;opacity:.6;justify-content:center;align-items:center;display:inline-flex}:where(.mvp-loop-button--active[data-v-e32eda25]){opacity:1}:where(.mvp-loop-button svg[data-v-e32eda25]){width:1em;height:1em}:where(.mvp-captions-button[data-v-2572c4f2]){all:unset;cursor:pointer;opacity:.6;justify-content:center;align-items:center;display:inline-flex}:where(.mvp-captions-button--active[data-v-2572c4f2]){opacity:1}:where(.mvp-captions-button svg[data-v-2572c4f2]){width:1em;height:1em}:where(.mvp-quality-button[data-v-d1352878]){all:unset;cursor:pointer;opacity:.6;justify-content:center;align-items:center;display:inline-flex}:where(.mvp-quality-button--active[data-v-d1352878]){opacity:1}:where(.mvp-quality-button svg[data-v-d1352878]){width:1em;height:1em}:where(.mvp-playback-rate-button[data-v-646c9bc1]){all:unset;cursor:pointer;font-variant-numeric:tabular-nums;opacity:.6;justify-content:center;align-items:center;display:inline-flex}:where(.mvp-playback-rate-button--active[data-v-646c9bc1]){opacity:1}
|
package/dist/index.d.mts
CHANGED
|
@@ -20,7 +20,7 @@ interface CustomAction {
|
|
|
20
20
|
onClick: () => void;
|
|
21
21
|
}
|
|
22
22
|
type PlayerAction = BuiltinAction | CustomAction;
|
|
23
|
-
type StateChangeType = 'play' | 'pause' | 'ended' | 'seeked' | 'error' | 'adstart' | 'adend' | 'volumechange' | 'ratechange' | 'captionchange' | 'qualitychange' | 'pipchange' | 'loopchange' | 'firstQuartile' | 'midpoint' | 'thirdQuartile' | 'controlsopen' | 'controlsclose' | 'bufferstart' | 'bufferend';
|
|
23
|
+
type StateChangeType = 'play' | 'pause' | 'ended' | 'seeked' | 'error' | 'adstart' | 'adend' | 'volumechange' | 'ratechange' | 'captionchange' | 'qualitychange' | 'pipchange' | 'loopchange' | 'firstQuartile' | 'midpoint' | 'thirdQuartile' | 'controlsopen' | 'controlsclose' | 'bufferstart' | 'bufferend' | 'timeupdate' | 'tap';
|
|
24
24
|
interface StateChangeEvent {
|
|
25
25
|
type: StateChangeType;
|
|
26
26
|
currentTime: number;
|
|
@@ -79,6 +79,8 @@ interface PlayerProps {
|
|
|
79
79
|
payload?: Record<string, unknown>;
|
|
80
80
|
action?: PlayerAction | null;
|
|
81
81
|
disableTapCapture?: boolean;
|
|
82
|
+
controls?: boolean;
|
|
83
|
+
playWhenInView?: boolean;
|
|
82
84
|
}
|
|
83
85
|
type VideoSelectDetail = PlayerProps;
|
|
84
86
|
interface VideoStateDetail {
|
|
@@ -89,15 +91,52 @@ interface VideoToggleDetail {
|
|
|
89
91
|
videoUrl: string;
|
|
90
92
|
}
|
|
91
93
|
type VideoEntry = PlayerProps;
|
|
94
|
+
interface PlayerHandle {
|
|
95
|
+
isPlaying: boolean;
|
|
96
|
+
togglePlay(): void;
|
|
97
|
+
hasEnded: boolean;
|
|
98
|
+
isError: boolean;
|
|
99
|
+
retry(): void;
|
|
100
|
+
isMuted: boolean;
|
|
101
|
+
toggleMute(): void;
|
|
102
|
+
isAudible: boolean;
|
|
103
|
+
isFullscreen: boolean;
|
|
104
|
+
toggleFullscreen(): void;
|
|
105
|
+
current: number;
|
|
106
|
+
total: number;
|
|
107
|
+
seek(percent: number): void;
|
|
108
|
+
bufferedDisplay: number;
|
|
109
|
+
isBuffering: boolean;
|
|
110
|
+
isLive: boolean;
|
|
111
|
+
vol: number;
|
|
112
|
+
setVolume(vol: number): void;
|
|
113
|
+
isLooping: boolean;
|
|
114
|
+
toggleLoop(): void;
|
|
115
|
+
supportsPip: boolean;
|
|
116
|
+
isPipActive: boolean;
|
|
117
|
+
togglePip(): void;
|
|
118
|
+
supportsCaptions: boolean;
|
|
119
|
+
captionTracks: CaptionTrackInfo[];
|
|
120
|
+
activeCaptionIndex: number | null;
|
|
121
|
+
setCaptionTrack(index: number | null): void;
|
|
122
|
+
supportsQuality: boolean;
|
|
123
|
+
qualityLevels: QualityLevelInfo[];
|
|
124
|
+
currentQualityIndex: number | null;
|
|
125
|
+
isAutoQuality: boolean;
|
|
126
|
+
setQuality(index: number | null): void;
|
|
127
|
+
supportsPlaybackRate: boolean;
|
|
128
|
+
playbackRate: number;
|
|
129
|
+
setPlaybackRate(rate: number): void;
|
|
130
|
+
}
|
|
92
131
|
//#endregion
|
|
93
132
|
//#region src/components/VideoPlayer.vue.d.ts
|
|
94
|
-
type __VLS_Props$
|
|
133
|
+
type __VLS_Props$13 = PlayerProps & {
|
|
95
134
|
hasPlaylist?: boolean;
|
|
96
135
|
hasNext?: boolean;
|
|
97
136
|
hasPrevious?: boolean;
|
|
98
137
|
autoAdvance?: boolean;
|
|
99
138
|
};
|
|
100
|
-
declare const __VLS_export$
|
|
139
|
+
declare const __VLS_export$15: import("vue").DefineComponent<__VLS_Props$13, {
|
|
101
140
|
isPlaying: boolean;
|
|
102
141
|
hasEnded: boolean;
|
|
103
142
|
isReady: boolean;
|
|
@@ -111,6 +150,7 @@ declare const __VLS_export$3: import("vue").DefineComponent<__VLS_Props$1, {
|
|
|
111
150
|
total: number;
|
|
112
151
|
vol: number;
|
|
113
152
|
isMuted: boolean;
|
|
153
|
+
isAudible: boolean;
|
|
114
154
|
isLooping: boolean;
|
|
115
155
|
playbackRate: number;
|
|
116
156
|
hasStarted: boolean;
|
|
@@ -151,82 +191,120 @@ declare const __VLS_export$3: import("vue").DefineComponent<__VLS_Props$1, {
|
|
|
151
191
|
"play-next": () => any;
|
|
152
192
|
"play-previous": () => any;
|
|
153
193
|
"toggle-auto-advance": () => any;
|
|
154
|
-
}, string, import("vue").PublicProps, Readonly<__VLS_Props$
|
|
194
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props$13> & Readonly<{
|
|
155
195
|
"onState-change"?: ((event: StateChangeEvent) => any) | undefined;
|
|
156
196
|
"onPlay-next"?: (() => any) | undefined;
|
|
157
197
|
"onPlay-previous"?: (() => any) | undefined;
|
|
158
198
|
"onToggle-auto-advance"?: (() => any) | undefined;
|
|
159
199
|
}>, {
|
|
160
|
-
nativeUi: boolean;
|
|
161
|
-
autoplay: boolean;
|
|
162
200
|
title: string;
|
|
163
201
|
poster: string;
|
|
164
202
|
aspectRatio: string;
|
|
165
203
|
adTagUrl: string;
|
|
166
204
|
tracks: CaptionTrackDef[];
|
|
205
|
+
autoplay: boolean;
|
|
167
206
|
muted: boolean;
|
|
207
|
+
nativeUi: boolean;
|
|
168
208
|
autoStage: boolean;
|
|
169
209
|
lazy: boolean;
|
|
170
210
|
payload: Record<string, unknown>;
|
|
171
211
|
action: PlayerAction | null;
|
|
172
212
|
disableTapCapture: boolean;
|
|
213
|
+
controls: boolean;
|
|
214
|
+
playWhenInView: boolean;
|
|
173
215
|
hasPlaylist: boolean;
|
|
174
216
|
hasNext: boolean;
|
|
175
217
|
hasPrevious: boolean;
|
|
176
218
|
autoAdvance: boolean;
|
|
177
219
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
178
|
-
declare const _default$
|
|
220
|
+
declare const _default$13: typeof __VLS_export$15;
|
|
179
221
|
//#endregion
|
|
180
222
|
//#region src/components/VideoStage.vue.d.ts
|
|
181
|
-
type __VLS_Props = {
|
|
223
|
+
type __VLS_Props$12 = {
|
|
182
224
|
pinPosition?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left' | 'full-width';
|
|
183
225
|
playlist?: VideoEntry[];
|
|
184
226
|
};
|
|
185
227
|
declare function playNext(): void;
|
|
186
228
|
declare function playPrevious(): void;
|
|
187
|
-
declare const __VLS_export$
|
|
229
|
+
declare const __VLS_export$14: import("vue").DefineComponent<__VLS_Props$12, {
|
|
230
|
+
retry: () => Promise<void>;
|
|
231
|
+
togglePlay: () => Promise<void>;
|
|
232
|
+
seek: (val: number) => Promise<void>;
|
|
233
|
+
toggleMute: () => Promise<void>;
|
|
234
|
+
setVolume: (val: number) => Promise<void>;
|
|
235
|
+
toggleFullscreen: () => Promise<void>;
|
|
236
|
+
markFullscreenPending: () => Promise<void>;
|
|
237
|
+
toggleLoop: () => Promise<void>;
|
|
238
|
+
toggleAdMute: () => Promise<void>;
|
|
239
|
+
setPlaybackRate: (rate: number) => Promise<void>;
|
|
240
|
+
setCaptionTrack: (index: number | null) => Promise<void>;
|
|
241
|
+
setQuality: (index: number | null) => Promise<void>;
|
|
242
|
+
togglePip: () => Promise<void>;
|
|
243
|
+
playbackRate: import("vue").ComputedRef<number>;
|
|
244
|
+
nativeUi: import("vue").ComputedRef<boolean>;
|
|
245
|
+
isPlaying: import("vue").ComputedRef<boolean>;
|
|
246
|
+
hasEnded: import("vue").ComputedRef<boolean>;
|
|
247
|
+
isReady: import("vue").ComputedRef<boolean>;
|
|
248
|
+
isAdPlaying: import("vue").ComputedRef<boolean>;
|
|
249
|
+
isAdPaused: import("vue").ComputedRef<boolean>;
|
|
250
|
+
isAdMuted: import("vue").ComputedRef<boolean>;
|
|
251
|
+
adRemainingTime: import("vue").ComputedRef<number>;
|
|
252
|
+
isLive: import("vue").ComputedRef<boolean>;
|
|
253
|
+
isBuffering: import("vue").ComputedRef<boolean>;
|
|
254
|
+
current: import("vue").ComputedRef<number>;
|
|
255
|
+
total: import("vue").ComputedRef<number>;
|
|
256
|
+
vol: import("vue").ComputedRef<number>;
|
|
257
|
+
isMuted: import("vue").ComputedRef<boolean>;
|
|
258
|
+
isAudible: import("vue").ComputedRef<boolean>;
|
|
259
|
+
isLooping: import("vue").ComputedRef<boolean>;
|
|
260
|
+
hasStarted: import("vue").ComputedRef<boolean>;
|
|
261
|
+
isError: import("vue").ComputedRef<boolean>;
|
|
262
|
+
errorMessage: import("vue").ComputedRef<string>;
|
|
263
|
+
progress: import("vue").ComputedRef<number>;
|
|
264
|
+
bufferedDisplay: import("vue").ComputedRef<number>;
|
|
265
|
+
isFullscreen: import("vue").ComputedRef<boolean>;
|
|
266
|
+
isFullscreenPending: import("vue").ComputedRef<boolean>;
|
|
267
|
+
supportsPlaybackRate: import("vue").ComputedRef<boolean>;
|
|
268
|
+
supportsCaptions: import("vue").ComputedRef<boolean>;
|
|
269
|
+
captionTracks: import("vue").ComputedRef<CaptionTrackInfo[]>;
|
|
270
|
+
activeCaptionIndex: import("vue").ComputedRef<number | null>;
|
|
271
|
+
supportsQuality: import("vue").ComputedRef<boolean>;
|
|
272
|
+
qualityLevels: import("vue").ComputedRef<QualityLevelInfo[]>;
|
|
273
|
+
currentQualityIndex: import("vue").ComputedRef<number | null>;
|
|
274
|
+
isAutoQuality: import("vue").ComputedRef<boolean>;
|
|
275
|
+
supportsPip: import("vue").ComputedRef<boolean>;
|
|
276
|
+
isPipActive: import("vue").ComputedRef<boolean>;
|
|
188
277
|
playNext: typeof playNext;
|
|
189
278
|
playPrevious: typeof playPrevious;
|
|
190
279
|
hasNext: import("vue").ComputedRef<boolean>;
|
|
191
280
|
hasPrevious: import("vue").ComputedRef<boolean>;
|
|
192
281
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
193
282
|
"state-change": (event: StateChangeEvent) => any;
|
|
194
|
-
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
283
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props$12> & Readonly<{
|
|
195
284
|
"onState-change"?: ((event: StateChangeEvent) => any) | undefined;
|
|
196
285
|
}>, {
|
|
197
286
|
pinPosition: "bottom-right" | "bottom-left" | "top-right" | "top-left" | "full-width";
|
|
198
287
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
199
|
-
declare const _default$
|
|
288
|
+
declare const _default$14: typeof __VLS_export$14;
|
|
200
289
|
//#endregion
|
|
201
290
|
//#region src/components/VideoPlaceholder.vue.d.ts
|
|
202
|
-
declare const __VLS_export$
|
|
203
|
-
|
|
204
|
-
|
|
291
|
+
declare const __VLS_export$13: import("vue").DefineComponent<PlayerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
292
|
+
"enter-view": () => any;
|
|
293
|
+
}, string, import("vue").PublicProps, Readonly<PlayerProps> & Readonly<{
|
|
294
|
+
"onEnter-view"?: (() => any) | undefined;
|
|
295
|
+
}>, {
|
|
205
296
|
title: string;
|
|
206
297
|
poster: string;
|
|
207
298
|
aspectRatio: string;
|
|
208
299
|
adTagUrl: string;
|
|
300
|
+
autoplay: boolean;
|
|
209
301
|
muted: boolean;
|
|
302
|
+
nativeUi: boolean;
|
|
210
303
|
autoStage: boolean;
|
|
211
304
|
payload: Record<string, unknown>;
|
|
212
305
|
action: PlayerAction | null;
|
|
213
306
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
214
|
-
declare const _default$
|
|
215
|
-
//#endregion
|
|
216
|
-
//#region src/components/VideoItem.vue.d.ts
|
|
217
|
-
declare const __VLS_export: import("vue").DefineComponent<PlayerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
218
|
-
"state-change": (event: StateChangeEvent) => any;
|
|
219
|
-
}, string, import("vue").PublicProps, Readonly<PlayerProps> & Readonly<{
|
|
220
|
-
"onState-change"?: ((event: StateChangeEvent) => any) | undefined;
|
|
221
|
-
}>, {
|
|
222
|
-
muted: boolean;
|
|
223
|
-
lazy: boolean;
|
|
224
|
-
action: PlayerAction | null;
|
|
225
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
226
|
-
declare const _default: typeof __VLS_export;
|
|
227
|
-
//#endregion
|
|
228
|
-
//#region src/adapters/index.d.ts
|
|
229
|
-
declare function getPlatform(url: string): string;
|
|
307
|
+
declare const _default$12: typeof __VLS_export$13;
|
|
230
308
|
//#endregion
|
|
231
309
|
//#region src/composables/player/usePlayer.d.ts
|
|
232
310
|
interface UsePlayerReturn {
|
|
@@ -243,6 +321,7 @@ interface UsePlayerReturn {
|
|
|
243
321
|
total: Ref<number>;
|
|
244
322
|
vol: Ref<number>;
|
|
245
323
|
isMuted: Ref<boolean>;
|
|
324
|
+
isAudible: ComputedRef<boolean>;
|
|
246
325
|
isLooping: Ref<boolean>;
|
|
247
326
|
playbackRate: Ref<number>;
|
|
248
327
|
hasStarted: Ref<boolean>;
|
|
@@ -314,7 +393,322 @@ interface PlaylistContext {
|
|
|
314
393
|
declare const PlaylistKey: InjectionKey<PlaylistContext>;
|
|
315
394
|
declare function injectStrict<T>(key: InjectionKey<T>): T;
|
|
316
395
|
//#endregion
|
|
396
|
+
//#region src/composables/useForwardedPlayer.d.ts
|
|
397
|
+
declare const METHOD_KEYS: readonly ["retry", "togglePlay", "seek", "toggleMute", "setVolume", "toggleFullscreen", "markFullscreenPending", "toggleLoop", "toggleAdMute", "setPlaybackRate", "setCaptionTrack", "setQuality", "togglePip"];
|
|
398
|
+
declare const STATE_KEYS: readonly ["isPlaying", "hasEnded", "isReady", "isAdPlaying", "isAdPaused", "isAdMuted", "adRemainingTime", "isLive", "isBuffering", "current", "total", "vol", "isMuted", "isAudible", "isLooping", "playbackRate", "hasStarted", "isError", "errorMessage", "progress", "bufferedDisplay", "isFullscreen", "isFullscreenPending", "supportsPlaybackRate", "supportsCaptions", "captionTracks", "activeCaptionIndex", "supportsQuality", "qualityLevels", "currentQualityIndex", "isAutoQuality", "supportsPip", "isPipActive", "nativeUi"];
|
|
399
|
+
type MethodKey = (typeof METHOD_KEYS)[number];
|
|
400
|
+
type StateKey = (typeof STATE_KEYS)[number];
|
|
401
|
+
type ForwardedPlayer = { [K in MethodKey]: (...args: Parameters<PlayerContext[K]>) => Promise<void>; } & { [K in StateKey]: ComputedRef<PlayerContext[K]>; };
|
|
402
|
+
interface UseForwardedPlayerReturn {
|
|
403
|
+
playerRef: Ref<PlayerContext | null>;
|
|
404
|
+
forwarded: ForwardedPlayer;
|
|
405
|
+
}
|
|
406
|
+
declare function useForwardedPlayer(guard?: (key: MethodKey) => boolean | Promise<boolean>): UseForwardedPlayerReturn;
|
|
407
|
+
//#endregion
|
|
408
|
+
//#region src/components/VideoItem.vue.d.ts
|
|
409
|
+
declare const __VLS_export$12: import("vue").DefineComponent<PlayerProps, ForwardedPlayer, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
410
|
+
"state-change": (event: StateChangeEvent) => any;
|
|
411
|
+
}, string, import("vue").PublicProps, Readonly<PlayerProps> & Readonly<{
|
|
412
|
+
"onState-change"?: ((event: StateChangeEvent) => any) | undefined;
|
|
413
|
+
}>, {
|
|
414
|
+
muted: boolean;
|
|
415
|
+
lazy: boolean;
|
|
416
|
+
action: PlayerAction | null;
|
|
417
|
+
controls: boolean;
|
|
418
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
419
|
+
declare const _default$11: typeof __VLS_export$12;
|
|
420
|
+
//#endregion
|
|
421
|
+
//#region src/components/controls/Scrubber.vue.d.ts
|
|
422
|
+
type __VLS_Props$11 = {
|
|
423
|
+
player?: PlayerHandle | null;
|
|
424
|
+
for?: string;
|
|
425
|
+
};
|
|
426
|
+
declare var __VLS_1$11: {
|
|
427
|
+
scrubbing: boolean;
|
|
428
|
+
percent: number;
|
|
429
|
+
previewSeconds: number;
|
|
430
|
+
formatTime: (seconds: number) => string;
|
|
431
|
+
};
|
|
432
|
+
type __VLS_Slots$11 = {} & {
|
|
433
|
+
preview?: (props: typeof __VLS_1$11) => any;
|
|
434
|
+
};
|
|
435
|
+
declare const __VLS_base$11: import("vue").DefineComponent<__VLS_Props$11, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props$11> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
436
|
+
declare const __VLS_export$11: __VLS_WithSlots$11<typeof __VLS_base$11, __VLS_Slots$11>;
|
|
437
|
+
declare const _default$9: typeof __VLS_export$11;
|
|
438
|
+
type __VLS_WithSlots$11<T, S> = T & {
|
|
439
|
+
new (): {
|
|
440
|
+
$slots: S;
|
|
441
|
+
};
|
|
442
|
+
};
|
|
443
|
+
//#endregion
|
|
444
|
+
//#region src/components/controls/PlayButton.vue.d.ts
|
|
445
|
+
type __VLS_Props$10 = {
|
|
446
|
+
player?: PlayerHandle | null;
|
|
447
|
+
for?: string;
|
|
448
|
+
};
|
|
449
|
+
declare var __VLS_1$10: {
|
|
450
|
+
isPlaying: boolean;
|
|
451
|
+
hasEnded: boolean;
|
|
452
|
+
isError: boolean;
|
|
453
|
+
};
|
|
454
|
+
type __VLS_Slots$10 = {} & {
|
|
455
|
+
default?: (props: typeof __VLS_1$10) => any;
|
|
456
|
+
};
|
|
457
|
+
declare const __VLS_base$10: import("vue").DefineComponent<__VLS_Props$10, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props$10> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
458
|
+
declare const __VLS_export$10: __VLS_WithSlots$10<typeof __VLS_base$10, __VLS_Slots$10>;
|
|
459
|
+
declare const _default$6: typeof __VLS_export$10;
|
|
460
|
+
type __VLS_WithSlots$10<T, S> = T & {
|
|
461
|
+
new (): {
|
|
462
|
+
$slots: S;
|
|
463
|
+
};
|
|
464
|
+
};
|
|
465
|
+
//#endregion
|
|
466
|
+
//#region src/components/controls/MuteButton.vue.d.ts
|
|
467
|
+
type __VLS_Props$9 = {
|
|
468
|
+
player?: PlayerHandle | null;
|
|
469
|
+
for?: string;
|
|
470
|
+
};
|
|
471
|
+
declare var __VLS_1$9: {
|
|
472
|
+
isMuted: boolean;
|
|
473
|
+
};
|
|
474
|
+
type __VLS_Slots$9 = {} & {
|
|
475
|
+
default?: (props: typeof __VLS_1$9) => any;
|
|
476
|
+
};
|
|
477
|
+
declare const __VLS_base$9: import("vue").DefineComponent<__VLS_Props$9, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props$9> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
478
|
+
declare const __VLS_export$9: __VLS_WithSlots$9<typeof __VLS_base$9, __VLS_Slots$9>;
|
|
479
|
+
declare const _default$4: typeof __VLS_export$9;
|
|
480
|
+
type __VLS_WithSlots$9<T, S> = T & {
|
|
481
|
+
new (): {
|
|
482
|
+
$slots: S;
|
|
483
|
+
};
|
|
484
|
+
};
|
|
485
|
+
//#endregion
|
|
486
|
+
//#region src/components/controls/FullscreenButton.vue.d.ts
|
|
487
|
+
type __VLS_Props$8 = {
|
|
488
|
+
player?: PlayerHandle | null;
|
|
489
|
+
for?: string;
|
|
490
|
+
};
|
|
491
|
+
declare var __VLS_1$8: {
|
|
492
|
+
isFullscreen: boolean;
|
|
493
|
+
};
|
|
494
|
+
type __VLS_Slots$8 = {} & {
|
|
495
|
+
default?: (props: typeof __VLS_1$8) => any;
|
|
496
|
+
};
|
|
497
|
+
declare const __VLS_base$8: import("vue").DefineComponent<__VLS_Props$8, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props$8> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
498
|
+
declare const __VLS_export$8: __VLS_WithSlots$8<typeof __VLS_base$8, __VLS_Slots$8>;
|
|
499
|
+
declare const _default$2: typeof __VLS_export$8;
|
|
500
|
+
type __VLS_WithSlots$8<T, S> = T & {
|
|
501
|
+
new (): {
|
|
502
|
+
$slots: S;
|
|
503
|
+
};
|
|
504
|
+
};
|
|
505
|
+
//#endregion
|
|
506
|
+
//#region src/components/controls/Buffering.vue.d.ts
|
|
507
|
+
type __VLS_Props$7 = {
|
|
508
|
+
player?: PlayerHandle | null;
|
|
509
|
+
for?: string;
|
|
510
|
+
};
|
|
511
|
+
declare var __VLS_1$7: {};
|
|
512
|
+
type __VLS_Slots$7 = {} & {
|
|
513
|
+
default?: (props: typeof __VLS_1$7) => any;
|
|
514
|
+
};
|
|
515
|
+
declare const __VLS_base$7: import("vue").DefineComponent<__VLS_Props$7, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props$7> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
516
|
+
declare const __VLS_export$7: __VLS_WithSlots$7<typeof __VLS_base$7, __VLS_Slots$7>;
|
|
517
|
+
declare const _default: typeof __VLS_export$7;
|
|
518
|
+
type __VLS_WithSlots$7<T, S> = T & {
|
|
519
|
+
new (): {
|
|
520
|
+
$slots: S;
|
|
521
|
+
};
|
|
522
|
+
};
|
|
523
|
+
//#endregion
|
|
524
|
+
//#region src/components/controls/LoopButton.vue.d.ts
|
|
525
|
+
type __VLS_Props$6 = {
|
|
526
|
+
player?: PlayerHandle | null;
|
|
527
|
+
for?: string;
|
|
528
|
+
};
|
|
529
|
+
declare var __VLS_1$6: {
|
|
530
|
+
isLooping: boolean;
|
|
531
|
+
};
|
|
532
|
+
type __VLS_Slots$6 = {} & {
|
|
533
|
+
default?: (props: typeof __VLS_1$6) => any;
|
|
534
|
+
};
|
|
535
|
+
declare const __VLS_base$6: import("vue").DefineComponent<__VLS_Props$6, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props$6> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
536
|
+
declare const __VLS_export$6: __VLS_WithSlots$6<typeof __VLS_base$6, __VLS_Slots$6>;
|
|
537
|
+
declare const _default$3: typeof __VLS_export$6;
|
|
538
|
+
type __VLS_WithSlots$6<T, S> = T & {
|
|
539
|
+
new (): {
|
|
540
|
+
$slots: S;
|
|
541
|
+
};
|
|
542
|
+
};
|
|
543
|
+
//#endregion
|
|
544
|
+
//#region src/components/controls/PipButton.vue.d.ts
|
|
545
|
+
type __VLS_Props$5 = {
|
|
546
|
+
player?: PlayerHandle | null;
|
|
547
|
+
for?: string;
|
|
548
|
+
};
|
|
549
|
+
declare var __VLS_1$5: {
|
|
550
|
+
isPipActive: boolean;
|
|
551
|
+
};
|
|
552
|
+
type __VLS_Slots$5 = {} & {
|
|
553
|
+
default?: (props: typeof __VLS_1$5) => any;
|
|
554
|
+
};
|
|
555
|
+
declare const __VLS_base$5: import("vue").DefineComponent<__VLS_Props$5, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props$5> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
556
|
+
declare const __VLS_export$5: __VLS_WithSlots$5<typeof __VLS_base$5, __VLS_Slots$5>;
|
|
557
|
+
declare const _default$5: typeof __VLS_export$5;
|
|
558
|
+
type __VLS_WithSlots$5<T, S> = T & {
|
|
559
|
+
new (): {
|
|
560
|
+
$slots: S;
|
|
561
|
+
};
|
|
562
|
+
};
|
|
563
|
+
//#endregion
|
|
564
|
+
//#region src/components/controls/CaptionsButton.vue.d.ts
|
|
565
|
+
type __VLS_Props$4 = {
|
|
566
|
+
player?: PlayerHandle | null;
|
|
567
|
+
for?: string;
|
|
568
|
+
};
|
|
569
|
+
declare var __VLS_1$4: {
|
|
570
|
+
currentLabel: string;
|
|
571
|
+
tracks: CaptionTrackInfo[];
|
|
572
|
+
activeIndex: number | null;
|
|
573
|
+
};
|
|
574
|
+
type __VLS_Slots$4 = {} & {
|
|
575
|
+
default?: (props: typeof __VLS_1$4) => any;
|
|
576
|
+
};
|
|
577
|
+
declare const __VLS_base$4: import("vue").DefineComponent<__VLS_Props$4, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props$4> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
578
|
+
declare const __VLS_export$4: __VLS_WithSlots$4<typeof __VLS_base$4, __VLS_Slots$4>;
|
|
579
|
+
declare const _default$1: typeof __VLS_export$4;
|
|
580
|
+
type __VLS_WithSlots$4<T, S> = T & {
|
|
581
|
+
new (): {
|
|
582
|
+
$slots: S;
|
|
583
|
+
};
|
|
584
|
+
};
|
|
585
|
+
//#endregion
|
|
586
|
+
//#region src/components/controls/QualityButton.vue.d.ts
|
|
587
|
+
type __VLS_Props$3 = {
|
|
588
|
+
player?: PlayerHandle | null;
|
|
589
|
+
for?: string;
|
|
590
|
+
};
|
|
591
|
+
declare var __VLS_1$3: {
|
|
592
|
+
currentLabel: string;
|
|
593
|
+
levels: QualityLevelInfo[];
|
|
594
|
+
currentIndex: number | null;
|
|
595
|
+
isAuto: boolean;
|
|
596
|
+
};
|
|
597
|
+
type __VLS_Slots$3 = {} & {
|
|
598
|
+
default?: (props: typeof __VLS_1$3) => any;
|
|
599
|
+
};
|
|
600
|
+
declare const __VLS_base$3: import("vue").DefineComponent<__VLS_Props$3, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props$3> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
601
|
+
declare const __VLS_export$3: __VLS_WithSlots$3<typeof __VLS_base$3, __VLS_Slots$3>;
|
|
602
|
+
declare const _default$8: typeof __VLS_export$3;
|
|
603
|
+
type __VLS_WithSlots$3<T, S> = T & {
|
|
604
|
+
new (): {
|
|
605
|
+
$slots: S;
|
|
606
|
+
};
|
|
607
|
+
};
|
|
608
|
+
//#endregion
|
|
609
|
+
//#region src/components/controls/PlaybackRateButton.vue.d.ts
|
|
610
|
+
type __VLS_Props$2 = {
|
|
611
|
+
player?: PlayerHandle | null;
|
|
612
|
+
for?: string;
|
|
613
|
+
};
|
|
614
|
+
declare var __VLS_1$2: {
|
|
615
|
+
currentLabel: string;
|
|
616
|
+
rate: number;
|
|
617
|
+
rates: number[];
|
|
618
|
+
};
|
|
619
|
+
type __VLS_Slots$2 = {} & {
|
|
620
|
+
default?: (props: typeof __VLS_1$2) => any;
|
|
621
|
+
};
|
|
622
|
+
declare const __VLS_base$2: import("vue").DefineComponent<__VLS_Props$2, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props$2> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
623
|
+
declare const __VLS_export$2: __VLS_WithSlots$2<typeof __VLS_base$2, __VLS_Slots$2>;
|
|
624
|
+
declare const _default$7: typeof __VLS_export$2;
|
|
625
|
+
type __VLS_WithSlots$2<T, S> = T & {
|
|
626
|
+
new (): {
|
|
627
|
+
$slots: S;
|
|
628
|
+
};
|
|
629
|
+
};
|
|
630
|
+
//#endregion
|
|
631
|
+
//#region src/components/controls/VolumeSlider.vue.d.ts
|
|
632
|
+
type __VLS_Props$1 = {
|
|
633
|
+
player?: PlayerHandle | null;
|
|
634
|
+
for?: string;
|
|
635
|
+
};
|
|
636
|
+
declare var __VLS_1$1: {
|
|
637
|
+
percent: number;
|
|
638
|
+
};
|
|
639
|
+
type __VLS_Slots$1 = {} & {
|
|
640
|
+
default?: (props: typeof __VLS_1$1) => any;
|
|
641
|
+
};
|
|
642
|
+
declare const __VLS_base$1: import("vue").DefineComponent<__VLS_Props$1, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props$1> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
643
|
+
declare const __VLS_export$1: __VLS_WithSlots$1<typeof __VLS_base$1, __VLS_Slots$1>;
|
|
644
|
+
declare const _default$15: typeof __VLS_export$1;
|
|
645
|
+
type __VLS_WithSlots$1<T, S> = T & {
|
|
646
|
+
new (): {
|
|
647
|
+
$slots: S;
|
|
648
|
+
};
|
|
649
|
+
};
|
|
650
|
+
//#endregion
|
|
651
|
+
//#region src/utils/tech.d.ts
|
|
652
|
+
declare function fmtTime(s: number, round?: boolean): string;
|
|
653
|
+
//#endregion
|
|
654
|
+
//#region src/components/controls/TimeDisplay.vue.d.ts
|
|
655
|
+
type __VLS_Props = {
|
|
656
|
+
player?: PlayerHandle | null;
|
|
657
|
+
for?: string;
|
|
658
|
+
};
|
|
659
|
+
declare var __VLS_1: {
|
|
660
|
+
isLive: boolean;
|
|
661
|
+
current: number;
|
|
662
|
+
total: number;
|
|
663
|
+
formatTime: typeof fmtTime;
|
|
664
|
+
};
|
|
665
|
+
type __VLS_Slots = {} & {
|
|
666
|
+
default?: (props: typeof __VLS_1) => any;
|
|
667
|
+
};
|
|
668
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
669
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
670
|
+
declare const _default$10: typeof __VLS_export;
|
|
671
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
672
|
+
new (): {
|
|
673
|
+
$slots: S;
|
|
674
|
+
};
|
|
675
|
+
};
|
|
676
|
+
//#endregion
|
|
677
|
+
//#region src/adapters/index.d.ts
|
|
678
|
+
declare function getPlatform(url: string): string;
|
|
679
|
+
//#endregion
|
|
680
|
+
//#region src/composables/controls/useScrubber.d.ts
|
|
681
|
+
interface UseScrubberReturn {
|
|
682
|
+
scrubbing: ComputedRef<boolean>;
|
|
683
|
+
displayPercent: ComputedRef<number>;
|
|
684
|
+
previewSeconds: ComputedRef<number>;
|
|
685
|
+
onInput: (e: Event) => void;
|
|
686
|
+
onChange: (e: Event) => void;
|
|
687
|
+
}
|
|
688
|
+
declare function useScrubber(player: Ref<PlayerHandle | null | undefined>): UseScrubberReturn;
|
|
689
|
+
//#endregion
|
|
690
|
+
//#region src/composables/overlay/useCaptions.d.ts
|
|
691
|
+
interface UseCaptionsReturn {
|
|
692
|
+
cycleCaptionTrack: () => void;
|
|
693
|
+
currentCaptionLabel: () => string;
|
|
694
|
+
}
|
|
695
|
+
declare function useCaptions(player: PlayerHandle): UseCaptionsReturn;
|
|
696
|
+
//#endregion
|
|
697
|
+
//#region src/composables/overlay/useQuality.d.ts
|
|
698
|
+
interface UseQualityReturn {
|
|
699
|
+
cycleQuality: () => void;
|
|
700
|
+
currentQualityLabel: () => string;
|
|
701
|
+
}
|
|
702
|
+
declare function useQuality(player: PlayerHandle): UseQualityReturn;
|
|
703
|
+
//#endregion
|
|
704
|
+
//#region src/composables/overlay/usePlaybackRate.d.ts
|
|
705
|
+
interface UsePlaybackRateReturn {
|
|
706
|
+
cycleRate: () => void;
|
|
707
|
+
fmtRate: (rate: number) => string;
|
|
708
|
+
}
|
|
709
|
+
declare function usePlaybackRate(player: PlayerHandle): UsePlaybackRateReturn;
|
|
710
|
+
//#endregion
|
|
317
711
|
//#region src/index.d.ts
|
|
318
712
|
declare const VideoPlayerPlugin: Plugin;
|
|
319
713
|
//#endregion
|
|
320
|
-
export { ActionKey, BuiltinAction, CaptionTrackDef, CompactKey, CustomAction, HeaderBiddingAdUnit, HeaderBiddingConfig, HudContext, HudKey, PlayerAction, PlayerContext, PlayerKey, PlayerProps, PlaylistContext, PlaylistKey, StateChangeEvent, StateChangeType, VideoEntry, _default as VideoItem, _default$
|
|
714
|
+
export { ActionKey, _default as Buffering, BuiltinAction, CaptionTrackDef, type CaptionTrackInfo, _default$1 as CaptionsButton, CompactKey, CustomAction, type ForwardedPlayer, _default$2 as FullscreenButton, HeaderBiddingAdUnit, HeaderBiddingConfig, HudContext, HudKey, _default$3 as LoopButton, type MethodKey, _default$4 as MuteButton, _default$5 as PipButton, _default$6 as PlayButton, _default$7 as PlaybackRateButton, PlayerAction, PlayerContext, PlayerHandle, PlayerKey, PlayerProps, PlaylistContext, PlaylistKey, _default$8 as QualityButton, type QualityLevelInfo, _default$9 as Scrubber, StateChangeEvent, StateChangeType, _default$10 as TimeDisplay, type UseForwardedPlayerReturn, VideoEntry, _default$11 as VideoItem, _default$12 as VideoPlaceholder, _default$13 as VideoPlayer, VideoPlayerPlugin, VideoPlayerPlugin as default, VideoSelectDetail, _default$14 as VideoStage, VideoStateDetail, VideoToggleDetail, _default$15 as VolumeSlider, getPlatform, injectStrict, useCaptions, useForwardedPlayer, usePlaybackRate, useQuality, useScrubber };
|