boss-web-player-sdk 1.1.3 → 1.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.
@@ -1,2 +1,2 @@
1
- .sdk-player-container{--sdk-theme-color:#6366f1;--sdk-theme-color-rgb:99, 102, 241;--sdk-ad-color:#ff9800;--sdk-ad-color-rgb:255, 152, 0;-webkit-user-select:none;user-select:none;aspect-ratio:16/9;cursor:none;background:#000;border-radius:12px;width:100%;height:100%;font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #000000b3}.sdk-player-container.controls-active{cursor:default}.sdk-watermark-overlay{z-index:4!important;transition:left 4s ease-in-out,top 4s ease-in-out!important}.sdk-ad-countdown{z-index:90;pointer-events:none;-webkit-user-select:none;user-select:none;background:#4b3c00;border:1px solid #ffe000;border-radius:20px;justify-content:center;align-items:center;gap:6px;min-width:88px;padding:6px 2px;display:flex;position:absolute;top:16px;right:16px}.sdk-ad-countdown-label{letter-spacing:.06em;color:#ffe000;font-size:13px;font-weight:500}.sdk-ad-countdown-sep{color:#ffe000;opacity:.5;font-size:13px}.sdk-ad-countdown-time{font-variant-numeric:tabular-nums;color:#ffe000;font-size:13px;font-weight:500}.sdk-skip-ad-btn{z-index:90;text-align:center;color:#ffffff8c;letter-spacing:.03em;cursor:not-allowed;-webkit-user-select:none;user-select:none;pointer-events:all;background:#000000b3;border:1px solid #ffffff59;border-radius:20px;width:92px;padding:8px 0;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s;position:absolute;bottom:84px;right:16px}.sdk-skip-ad-btn--ready{color:#fff;cursor:pointer;border-color:#fffc}.sdk-skip-ad-btn--ready:hover{background:#ffffff2e;border-color:#fff}.sdk-overlay-ad{z-index:85;pointer-events:all;background:#000000d1;border-radius:4px;max-width:calc(100% - 32px);position:absolute;bottom:72px;overflow:visible}.sdk-overlay-ad--bottom_center{animation:.25s sdk-overlay-ad-in-center;left:50%;transform:translate(-50%)}.sdk-overlay-ad--bottom_left{animation:.25s sdk-overlay-ad-in-side;left:16px}.sdk-overlay-ad--bottom_right{animation:.25s sdk-overlay-ad-in-side;right:16px}.sdk-overlay-ad--top_center{animation:.25s sdk-overlay-ad-in-center;top:16px;bottom:auto;left:50%;transform:translate(-50%)}.sdk-overlay-ad--top_left{animation:.25s sdk-overlay-ad-in-side;top:16px;bottom:auto;left:16px}.sdk-overlay-ad--top_right{animation:.25s sdk-overlay-ad-in-side;top:16px;bottom:auto;right:16px}.sdk-overlay-ad-topbar{justify-content:space-between;align-items:center;height:20px;display:flex;position:absolute;top:-20px;left:0;right:0}.sdk-overlay-ad-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;-webkit-user-select:none;user-select:none;background:#000000b8;border-radius:3px 3px 0 0;padding:2px 7px;font-size:10px;font-weight:600;line-height:16px}.sdk-overlay-ad-close{color:#ffffffb3;cursor:pointer;background:#000000b8;border:none;border-radius:3px 3px 0 0;padding:2px 7px;font-size:11px;line-height:16px;transition:color .15s,background .15s}.sdk-overlay-ad-close:hover{color:#fff;background:#282828e6}.sdk-overlay-ad-img{cursor:pointer;border-radius:4px;max-width:100%;height:auto;transition:opacity .15s;display:block}.sdk-overlay-ad-img:hover{opacity:.88}@keyframes sdk-overlay-ad-in-center{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes sdk-overlay-ad-in-side{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sdk-spinner-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:8;pointer-events:none;opacity:0;background:#0f172a73;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.sdk-spinner-overlay.active{opacity:1}.sdk-spinner{border:4px solid rgba(var(--sdk-theme-color-rgb), .1);border-left-color:var(--sdk-theme-color);border-right-color:rgba(var(--sdk-theme-color-rgb), .2);width:60px;height:60px;filter:drop-shadow(0 0 10px rgba(var(--sdk-theme-color-rgb), .5));border-radius:50%;animation:1s linear infinite sdk-spin}@keyframes sdk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sdk-spinner-text{color:#fff;letter-spacing:2px;text-transform:uppercase;text-shadow:0 2px 4px #00000080;margin-top:16px;font-size:13px;font-weight:500;animation:1.5s ease-in-out infinite alternate sdk-pulse}@keyframes sdk-pulse{0%{opacity:.6}to{opacity:1;filter:drop-shadow(0 0 4px var(--sdk-theme-color))}}.sdk-subtitles-overlay{z-index:7;text-align:center;pointer-events:none;justify-content:center;width:80%;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.sdk-subtitles-text{text-shadow:0 1px 3px #000000e6;word-wrap:break-word;border-radius:8px;max-width:100%;padding:8px 16px;font-weight:500;line-height:1.5;transition:font-size .15s,background .15s,color .15s;box-shadow:0 10px 25px -5px #0006}.sdk-cast-bg{z-index:7;pointer-events:none;background:#0000008c;position:absolute;inset:0}.sdk-cast-indicator{color:#3b82f6;white-space:nowrap;letter-spacing:.02em;background:#3b82f626;border:1px solid #3b82f659;border-radius:20px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.sdk-cast-screen{z-index:8;color:#fff;background:radial-gradient(at top,#1e1b4b 0%,#030712 70%);flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:24px;display:flex;position:absolute;inset:0}.sdk-cast-icon-glow{color:#3b82f6;filter:drop-shadow(0 0 12px #3b82f699);flex-shrink:0;animation:2s infinite alternate sdk-pulse}.sdk-cast-header{flex-direction:row;align-items:center;gap:0;display:flex}.sdk-cast-title{margin-bottom:4px;font-size:18px;font-weight:600}.sdk-cast-desc{color:#9ca3af;font-size:13px}.sdk-cast-controls{flex-direction:column;align-items:center;gap:18px;width:100%;max-width:480px;display:flex}.sdk-cast-seekbar-row{align-items:center;gap:10px;width:100%;display:flex}.sdk-cast-time-label{color:#9ca3af;white-space:nowrap;text-align:center;min-width:38px;font-size:12px}.sdk-cast-seekbar{cursor:pointer;background:#fff3;border-radius:2px;flex:1;height:4px;transition:height .15s;position:relative}.sdk-cast-seekbar:hover{height:6px}.sdk-cast-seekbar-fill{pointer-events:none;background:#3b82f6;border-radius:2px;position:absolute;inset:0 auto 0 0}.sdk-cast-seekbar-thumb{pointer-events:none;opacity:0;background:#fff;border-radius:50%;width:12px;height:12px;transition:opacity .15s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px #3b82f699}.sdk-cast-seekbar:hover .sdk-cast-seekbar-thumb{opacity:1}.sdk-cast-playback-row{align-items:center;gap:28px;display:flex}.sdk-cast-ctrl-btn{color:#e2e8f0;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:color .15s,background .15s;display:flex;position:relative}.sdk-cast-ctrl-btn:hover{color:#fff;background:#ffffff1a}.sdk-cast-seek-label{pointer-events:none;font-size:9px;font-weight:700;line-height:1;position:absolute}.sdk-cast-play-pause-btn{color:#fff;cursor:pointer;background:#3b82f633;border:2px solid #3b82f680;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:background .18s,border-color .18s,transform .1s;display:flex}.sdk-cast-play-pause-btn:hover{background:#3b82f680;border-color:#3b82f6;transform:scale(1.06)}.sdk-cast-play-pause-btn:active{transform:scale(.96)}.sdk-cast-volume-row{align-items:center;gap:10px;width:220px;display:flex}.sdk-cast-vol-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex}.sdk-cast-vol-btn:hover{color:#fff}.sdk-cast-volume-slider{appearance:none;cursor:pointer;background:#fff3;border-radius:2px;outline:none;flex:1;height:4px}.sdk-cast-volume-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:14px;height:14px;box-shadow:0 0 4px #0006}.sdk-cast-volume-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:14px;height:14px}.sdk-cast-disconnect-btn{color:#ef4444;cursor:pointer;background:#ef444426;border:1px solid #ef444459;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .2s}.sdk-cast-disconnect-btn:hover{color:#fff;background:#ef4444;box-shadow:0 0 15px #ef444466}.sdk-controls-overlay{z-index:9;opacity:0;background:linear-gradient(#000000a6 0%,#0000 22%),linear-gradient(#0000 58%,#000c 100%);flex-direction:column;justify-content:flex-end;padding:0;transition:opacity .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0}.sdk-player-container.controls-active .sdk-controls-overlay{opacity:1}.sdk-desktop-header{pointer-events:auto;justify-content:space-between;align-items:center;padding:18px 22px;display:flex;position:absolute;top:0;left:0;right:0}.sdk-desktop-header-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.sdk-desktop-header-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.sdk-desktop-back-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:opacity .15s;display:flex}.sdk-desktop-back-btn:hover{opacity:1}.sdk-desktop-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;font-size:16px;font-weight:600;overflow:hidden}.sdk-desktop-hdr-btn{color:#ffffffd9;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:7px;transition:all .18s;display:flex}.sdk-desktop-hdr-btn:hover{color:#fff;background:#ffffff1a}.sdk-desktop-hdr-btn:disabled{opacity:.38;cursor:default}.sdk-desktop-center-controls{align-items:center;gap:36px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sdk-desktop-seek-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;justify-content:center;align-items:center;padding:10px;transition:opacity .15s,transform .12s;display:flex;position:relative}.sdk-desktop-seek-btn:hover{opacity:1;transform:scale(1.12)}.sdk-desktop-seek-btn:active{transform:scale(.9)}.sdk-desktop-seek-btn:disabled{opacity:.35;cursor:default;transform:none!important}.sdk-desktop-seek-label{pointer-events:none;font-family:sans-serif;font-size:8px;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sdk-desktop-play-btn{color:#fff;cursor:pointer;opacity:.95;background:0 0;border:none;justify-content:center;align-items:center;padding:10px;transition:opacity .15s,transform .15s;display:flex}.sdk-desktop-play-btn:hover{opacity:1;transform:scale(1.1)}.sdk-desktop-play-btn:active{transform:scale(.9)}.sdk-desktop-bottom{pointer-events:auto;flex-direction:column;display:flex}.sdk-desktop-chapters-strip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:14px;padding:0 22px 18px;animation:.22s sdkFadeIn;display:flex;overflow-x:auto}.sdk-desktop-chapters-strip::-webkit-scrollbar{display:none}.sdk-desktop-chapter-card{cursor:pointer;scroll-snap-align:start;flex-shrink:0;width:170px;transition:transform .12s}.sdk-desktop-chapter-card:hover{transform:scale(1.04)}.sdk-desktop-chapter-card:active{transform:scale(.97)}.sdk-desktop-chapter-thumb{background:#ffffff12;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:100%;height:100px;transition:border-color .15s;display:flex;overflow:hidden}.sdk-desktop-chapter-card.active .sdk-desktop-chapter-thumb{border-color:#ffffff8c}.sdk-desktop-chapter-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-align:center;margin-top:7px;font-size:12px;font-weight:500;line-height:1.3;overflow:hidden}.sdk-desktop-chapter-time{color:#fff;text-align:center;letter-spacing:.02em;margin-top:3px;font-size:11px;font-weight:600}.sdk-desktop-seekbar{background:#ffffff47;border-radius:0;height:3px;margin:0}.sdk-desktop-seekbar:hover{height:5px}.sdk-desktop-seekbar .sdk-seekbar-buffered{background:#ffffff59}.sdk-desktop-seekbar .sdk-seekbar-progress{box-shadow:none!important;background:#fff!important}.sdk-desktop-seekbar .sdk-seekbar-handle{background:#fff;width:14px;height:14px;right:-7px}.sdk-desktop-chapter-dot{z-index:3;width:2px;display:none;background:#5a5f69e6!important}.sdk-desktop-controls-row{justify-content:space-between;align-items:center;gap:16px;padding:10px 22px 20px;display:flex}.sdk-desktop-left-controls{align-items:center;gap:6px;display:flex}.sdk-volume-control{align-items:center;gap:2px;display:flex}.sdk-volume-slider{appearance:none;cursor:pointer;background:#ffffff47;background-image:linear-gradient(to right, #fff calc(var(--vol-pct,100%) * 1%), #ffffff47 calc(var(--vol-pct,100%) * 1%));border-radius:3px;outline:none;width:80px;height:3px;transition:height .15s}.sdk-volume-slider:hover{height:5px}.sdk-volume-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .12s;box-shadow:0 0 6px #00000080}.sdk-volume-slider:hover::-webkit-slider-thumb{transform:scale(1.2)}.sdk-volume-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:12px;height:12px;box-shadow:0 0 6px #00000080}.sdk-desktop-right-icons{align-items:center;gap:2px;display:flex}.sdk-desktop-icon-btn{color:#ffffffd1;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:7px;transition:all .18s;display:flex}.sdk-desktop-icon-btn:hover{color:#fff;background:#ffffff1a}.sdk-desktop-icon-btn:disabled{opacity:.38;cursor:default;transform:none!important}.sdk-seekbar-container{cursor:pointer;background:#ffffff26;border-radius:3px;align-items:center;width:100%;height:6px;transition:height .15s;display:flex;position:relative}.sdk-seekbar-container:before{content:"";z-index:1;position:absolute;inset:-12px 0}.sdk-seekbar-container:hover{height:8px}.sdk-seekbar-buffered{pointer-events:none;background:#ffffff40;border-radius:3px;position:absolute;top:0;bottom:0;left:0}.sdk-seekbar-progress{background:var(--sdk-theme-color);pointer-events:none;box-shadow:0 0 8px rgba(var(--sdk-theme-color-rgb), .6);border-radius:3px;justify-content:flex-end;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0}.sdk-seekbar-container.sdk-ad-mode,.sdk-seekbar-container.sdk-ad-mode:hover,.sdk-seekbar-container.sdk-ad-mode:active{cursor:default;background:#ffffff26;height:3px!important}.sdk-ad-progress-fill{pointer-events:none;background:#ffe000;border-radius:3px;position:absolute;top:0;bottom:0;left:0}.sdk-seekbar-handle{opacity:0;background:#fff;border-radius:50%;width:12px;height:12px;transition:opacity .15s,transform .15s;position:absolute;right:-6px;transform:scale(.8);box-shadow:0 0 10px #00000080}.sdk-seekbar-container:hover .sdk-seekbar-handle{opacity:1;transform:scale(1)}.sdk-seekbar-adbreak{opacity:.7;pointer-events:none;z-index:3;background:#ffe000;border-radius:1px;width:3px;height:100%;transition:opacity .15s,height .15s,top .15s;position:absolute;top:0}.sdk-seekbar-container:hover .sdk-seekbar-adbreak{opacity:1;height:calc(100% + 4px);top:-2px}.sdk-seekbar-chapter-marker{pointer-events:none;z-index:2;background:#0f172acc;width:2px;position:absolute;top:0;bottom:0}.sdk-thumbnail-tooltip{z-index:10;pointer-events:none;filter:drop-shadow(0 8px 20px #000000a6);flex-direction:column;align-items:center;display:flex;position:absolute;bottom:22px;transform:translate(-50%)}.sdk-thumbnail-preview{background-color:#0c0a09;border:1.5px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:192px;height:108px;display:flex;overflow:hidden}.sdk-thumbnail-chapter-name{color:#fff;white-space:nowrap;text-align:center;letter-spacing:.01em;margin-top:7px;font-size:12px;font-weight:500}.sdk-thumbnail-time-label{color:#fff;text-align:center;letter-spacing:.02em;margin-top:3px;font-size:11px;font-weight:600}.sdk-control-btn{color:#fff;opacity:.85;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.sdk-control-btn[disabled],.sdk-control-btn.disabled{opacity:.45;cursor:default;transform:none!important}.sdk-control-btn:hover{opacity:1;background:#ffffff14}.sdk-control-btn:active{transform:scale(.95)}.sdk-time-display{color:#fff;font-variant-numeric:tabular-nums;opacity:.9;letter-spacing:.01em;font-size:13px;font-weight:500}.sdk-chapter-badge{color:var(--sdk-theme-color);background:rgba(var(--sdk-theme-color-rgb), .12);border:1px solid rgba(var(--sdk-theme-color-rgb), .25);white-space:nowrap;text-overflow:ellipsis;max-width:180px;box-shadow:0 0 10px rgba(var(--sdk-theme-color-rgb), .15);border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;overflow:hidden}.sdk-menu-container{position:relative}.sdk-dropup-menu{-webkit-backdrop-filter:blur(32px)saturate(200%);backdrop-filter:blur(32px)saturate(200%);z-index:12;background:#14141c73;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;min-width:172px;padding:0;animation:.18s cubic-bezier(.16,1,.3,1) sdk-menu-slideup;display:flex;position:absolute;bottom:calc(100% + 24px);left:50%;right:auto;overflow:hidden;transform:translate(-50%);box-shadow:0 20px 40px #000000bf}.sdk-dropup-menu.large{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;min-width:200px;max-height:240px;overflow-y:auto}.sdk-dropup-menu.large::-webkit-scrollbar{width:4px}.sdk-dropup-menu.large::-webkit-scrollbar-track{background:0 0}.sdk-dropup-menu.large::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}@keyframes sdk-menu-slideup{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sdk-dropup-header{color:#fff;letter-spacing:0;border-bottom:1px solid #ffffff1f;padding:14px 16px 12px;font-size:14px;font-weight:700}.sdk-dropup-item{color:#ffffffc7;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;font-size:13px;font-weight:400;transition:background .12s;display:flex}.sdk-dropup-item:hover{color:#fff;background:#ffffff0f}.sdk-dropup-item.active{color:#fff;background:0 0;font-weight:700}.sdk-cast-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:15;background:#030712cc;justify-content:center;align-items:center;animation:.25s sdk-fadein;display:flex;position:absolute;inset:0}@keyframes sdk-fadein{0%{opacity:0}to{opacity:1}}.sdk-cast-modal{background:#0f172a;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:12px;width:280px;padding:16px;display:flex;box-shadow:0 25px 50px -12px #000c}.sdk-cast-modal-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.sdk-cast-modal-title{color:#fff;font-size:14px;font-weight:600}.sdk-cast-device-list{flex-direction:column;gap:6px;display:flex}.sdk-cast-device-item{color:#e5e7eb;cursor:pointer;background:#ffffff05;border:1px solid #ffffff0a;border-radius:6px;align-items:center;gap:10px;padding:10px;font-size:13px;transition:all .15s;display:flex}.sdk-cast-device-item:hover{background:rgba(var(--sdk-theme-color-rgb), .1);border-color:rgba(var(--sdk-theme-color-rgb), .3);color:#fff}.sdk-mobile-only{display:none!important}.sdk-dropup-divider{background:#ffffff1f;height:1px;margin:2px 0}.sdk-mobile-settings-menu{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;min-width:190px;max-height:320px;overflow-y:auto}.sdk-mobile-settings-menu::-webkit-scrollbar{width:4px}.sdk-mobile-settings-menu::-webkit-scrollbar-track{background:0 0}.sdk-mobile-settings-menu::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.sdk-chapters-panel{-webkit-backdrop-filter:blur(28px)saturate(160%);backdrop-filter:blur(28px)saturate(160%);z-index:10;pointer-events:auto;background:#0c0c10c7;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;width:380px;animation:.2s sdkFadeIn;display:flex;position:absolute;top:60px;bottom:80px;right:20px;overflow:hidden}.sdk-chapters-panel-header{border-bottom:1px solid #ffffff1f;flex-shrink:0;padding:16px 18px 14px}.sdk-chapters-panel-title{color:#fff;letter-spacing:.01em;font-size:16px;font-weight:700}.sdk-chapters-panel-list{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;flex:1;padding:6px 0;overflow-y:auto}.sdk-chapters-panel-list::-webkit-scrollbar{width:4px}.sdk-chapters-panel-list::-webkit-scrollbar-track{background:0 0}.sdk-chapters-panel-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.sdk-chapters-panel-item{cursor:pointer;border-bottom:1px solid #ffffff0d;align-items:flex-start;gap:14px;padding:12px 16px;transition:background .15s;display:flex}.sdk-chapters-panel-item:last-child{border-bottom:none}.sdk-chapters-panel-item:hover{background:#ffffff0f}.sdk-chapters-panel-item.active{background:#ffffff17}.sdk-chapters-panel-thumb{color:#ffffff4d;background:#ffffff0f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:128px;height:76px;display:flex;overflow:hidden}.sdk-chapters-panel-info{flex-direction:column;flex:1;gap:4px;min-width:0;padding-top:2px;display:flex}.sdk-chapters-panel-item-title{color:#fff;font-size:14px;font-weight:600;line-height:1.3}.sdk-chapters-panel-item-desc{color:#ffffff7a;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.sdk-chapters-panel-item-time{color:#fff;opacity:.75;margin-top:2px;font-size:12px;font-weight:500}@media (width<=768px){.sdk-desktop-header{padding:14px 16px}.sdk-desktop-controls-row{padding:8px 16px 16px}.sdk-desktop-chapters-strip{padding:0 16px 14px}}@media (width<=480px){.sdk-subtitles-overlay{width:90%;bottom:72px}.sdk-subtitles-text{padding:4px 10px;line-height:1.4;font-size:12px!important}.sdk-seekbar-container:before{top:-16px;bottom:-16px}.sdk-seekbar-handle{opacity:1;width:14px;height:14px;right:-7px;transform:scale(1)}.sdk-dropup-menu{min-width:140px}.sdk-dropup-menu.large{min-width:160px}}@media (width<=360px){.sdk-control-btn{min-width:26px;padding:4px 3px}.sdk-time-display{font-size:9px}}.sdk-mobile-overlay{z-index:9;opacity:0;pointer-events:none;background:linear-gradient(#0000008c 0%,#0000 25% 65%,#000000a6 100%);flex-direction:column;justify-content:space-between;transition:opacity .25s;display:flex;position:absolute;inset:0}.sdk-mobile-overlay.active{opacity:1;pointer-events:auto}.sdk-mobile-header{justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.sdk-mobile-header-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.sdk-mobile-back-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;flex-shrink:0;align-items:center;padding:4px;display:flex}.sdk-mobile-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}@media (orientation:portrait){.sdk-mobile-title{display:none}}.sdk-mobile-header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.sdk-mobile-hdr-btn{color:#fff;opacity:.9;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:44px;min-height:44px;transition:background .15s,opacity .15s;display:flex}.sdk-mobile-hdr-btn:hover,.sdk-mobile-hdr-btn:focus{opacity:1;background:#ffffff1f}.sdk-mobile-hdr-btn:disabled{opacity:.35;cursor:default}.sdk-dropdown-menu{inset:calc(100% + 8px) 0 auto auto}.sdk-mobile-center-controls{justify-content:center;align-items:center;gap:36px;display:flex}.sdk-mobile-seek-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;transition:transform .1s,opacity .12s;display:flex;position:relative}.sdk-mobile-seek-btn:hover{opacity:1}.sdk-mobile-seek-btn:active{transform:scale(.9)}.sdk-mobile-seek-btn:disabled{opacity:.35;cursor:default}.sdk-mobile-seek-label{pointer-events:none;font-family:sans-serif;font-size:8px;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sdk-mobile-play-btn{color:#fff;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:transform .12s;display:flex}.sdk-mobile-play-btn:active{transform:scale(.9)}@keyframes sdk-doubletap-fade{0%{opacity:1}60%{opacity:1}to{opacity:0}}.sdk-mobile-doubletap{pointer-events:none;z-index:20;justify-content:center;align-items:center;width:40%;animation:.7s forwards sdk-doubletap-fade;display:flex;position:absolute;top:0;bottom:0}.sdk-mobile-doubletap.left{background:#ffffff1f;border-radius:0 100% 100% 0/0 50% 50% 0;left:0}.sdk-mobile-doubletap.right{background:#ffffff1f;border-radius:100% 0 0 100%/50% 0 0 50%;right:0}.sdk-mobile-doubletap-icon{color:#fff;filter:drop-shadow(0 1px 4px #00000080);flex-direction:column;align-items:center;gap:4px;display:flex}.sdk-mobile-doubletap-label{letter-spacing:.02em;color:#fff;font-size:11px;font-weight:600;line-height:1}.sdk-mobile-bottom-bar{flex-direction:column;gap:0;display:flex}.sdk-mobile-seekbar{background:#ffffff47;border-radius:0;width:100%;height:3px}.sdk-mobile-seekbar:hover,.sdk-mobile-seekbar:active{height:4px}.sdk-mobile-seekbar .sdk-seekbar-progress{box-shadow:none!important;background:#fff!important}.sdk-mobile-seekbar .sdk-seekbar-handle{background:#fff;width:14px;height:14px;right:-7px;opacity:1!important;transform:scale(1)!important}.sdk-mobile-controls-row{justify-content:space-between;align-items:center;gap:8px;padding:8px 14px 12px;display:flex}.sdk-mobile-bottom-icons .sdk-dropup-menu{border-radius:8px;min-width:130px}.sdk-mobile-bottom-icons .sdk-dropup-header{padding:10px 12px 8px;font-size:12px}.sdk-mobile-bottom-icons .sdk-dropup-item{padding:8px 12px;font-size:12px}.sdk-mobile-bottom-icons{align-items:center;gap:2px;display:flex}.sdk-mobile-icon-btn{color:#ffffffd1;cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;min-width:30px;min-height:30px;padding:6px;transition:color .15s,background .15s;display:flex}.sdk-mobile-icon-btn:hover{color:#fff;background:#ffffff14}.sdk-mobile-icon-btn:disabled{opacity:.35;cursor:default}.sdk-mobile-key-moments-bar{color:#ffffffe6;letter-spacing:.3px;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:4px 0 2px;font-size:13px;font-weight:600;transition:opacity .15s;display:flex}.sdk-mobile-key-moments-bar:hover{opacity:.8}.sdk-mobile-km-star{opacity:.85;font-size:12px}.sdk-mobile-chapters-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:10px;padding:4px 0 2px;animation:.2s sdkFadeIn;display:flex;overflow-x:auto}.sdk-mobile-chapters-scroll::-webkit-scrollbar{display:none}@keyframes sdkFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sdk-mobile-chapter-card{cursor:pointer;scroll-snap-align:start;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:108px;transition:border-color .15s,transform .1s}.sdk-mobile-chapter-card:active{transform:scale(.96)}.sdk-mobile-chapter-card.active{border-color:var(--sdk-theme-color)}.sdk-mobile-chapter-thumb{background:#ffffff0f;border-radius:6px;justify-content:center;align-items:center;width:100%;height:64px;display:flex;position:relative;overflow:hidden}.sdk-mobile-chapter-time-badge{color:#fff;letter-spacing:.3px;background:#000000bf;border-radius:3px;padding:1px 4px;font-size:8px;font-weight:600;position:absolute;bottom:3px;right:4px}.sdk-mobile-chapter-title{color:#fffc;white-space:nowrap;text-overflow:ellipsis;text-align:center;margin-top:5px;padding:0 2px;font-size:10px;font-weight:500;line-height:1.3;overflow:hidden}@media (orientation:landscape) and (height<=500px){.sdk-mobile-header{padding:4px 12px}.sdk-mobile-center-controls{gap:18px}.sdk-mobile-play-circle{width:46px;height:46px}.sdk-mobile-seek-circle{width:38px;height:38px}.sdk-mobile-bottom-bar{gap:4px;padding:0 12px 6px}.sdk-mobile-time{font-size:11px}.sdk-mobile-chapter-thumb{height:48px}.sdk-mobile-chapter-card{width:88px}.sdk-mobile-key-moments-bar{padding:2px 0 0;font-size:12px}.sdk-spinner{width:40px;height:40px}.sdk-subtitles-overlay{bottom:56px}}.sdk-player-container.sdk-fs-simulated .sdk-mobile-header{padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}.sdk-player-container.sdk-fs-simulated .sdk-mobile-bottom-bar{padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right));padding-bottom:max(10px, env(safe-area-inset-bottom))}.sdk-player-container:fullscreen{width:100%!important;height:100%!important;aspect-ratio:unset!important;border-radius:0!important;max-width:none!important;max-height:none!important}.sdk-player-container:fullscreen{width:100%!important;height:100%!important;aspect-ratio:unset!important;border-radius:0!important;max-width:none!important;max-height:none!important}.sdk-player-container.sdk-fs-simulated{width:100vw!important;height:100vh!important;height:100dvh!important;aspect-ratio:unset!important;z-index:9999!important;border-radius:0!important;position:fixed!important;top:0!important;left:0!important;overflow:hidden!important}.sdk-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sdk-player-container :focus:not(:focus-visible){outline:none}.sdk-desktop-icon-btn:focus-visible,.sdk-desktop-play-btn:focus-visible,.sdk-desktop-seek-btn:focus-visible,.sdk-desktop-back-btn:focus-visible,.sdk-desktop-hdr-btn:focus-visible,.sdk-mobile-icon-btn:focus-visible,.sdk-mobile-play-btn:focus-visible,.sdk-mobile-seek-btn:focus-visible,.sdk-mobile-back-btn:focus-visible,.sdk-mobile-hdr-btn:focus-visible{outline-offset:2px;background:#ffffff1f;border-radius:6px;outline:2px solid #fff}.sdk-skip-ad-btn:focus-visible{outline-offset:3px;outline:2px solid #fff}.sdk-seekbar-container:focus-visible,.sdk-volume-slider:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #fff}.sdk-dropup-item:focus-visible{outline-offset:-2px;background:#ffffff24;border-radius:4px;outline:2px solid #fff9}.sdk-desktop-chapter-card:focus-visible,.sdk-chapters-panel-item:focus-visible,.sdk-mobile-chapter-card:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #fff}.sdk-desktop-icon-btn,.sdk-mobile-icon-btn,.sdk-desktop-hdr-btn{min-width:32px;min-height:32px}
1
+ .sdk-player-container{--sdk-theme-color:#6366f1;--sdk-theme-color-rgb:99, 102, 241;--sdk-ad-color:#ff9800;--sdk-ad-color-rgb:255, 152, 0;-webkit-user-select:none;user-select:none;aspect-ratio:16/9;cursor:none;background:#000;border-radius:12px;width:100%;height:100%;font-family:Outfit,Inter,system-ui,-apple-system,sans-serif;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #000000b3}.sdk-player-container.controls-active{cursor:default}.sdk-watermark-overlay{z-index:4!important;transition:left 4s ease-in-out,top 4s ease-in-out!important}.sdk-ad-countdown{z-index:90;pointer-events:none;-webkit-user-select:none;user-select:none;background:#4b3c00;border:1px solid #ffe000;border-radius:20px;justify-content:center;align-items:center;gap:3px;min-width:88px;padding:6px 2px;display:flex;position:absolute;top:16px;right:16px}.sdk-ad-countdown-label{letter-spacing:.06em;color:#ffe000;font-size:13px;font-weight:500}.sdk-ad-countdown-sep{color:#ffe000;opacity:.5;font-size:13px}.sdk-ad-countdown-time{font-variant-numeric:tabular-nums;color:#ffe000;font-size:13px;font-weight:500}.sdk-skip-ad-btn{z-index:90;text-align:center;color:#ffffff8c;letter-spacing:.03em;cursor:not-allowed;-webkit-user-select:none;user-select:none;pointer-events:all;background:#000000b3;border:1px solid #ffffff59;border-radius:20px;width:92px;padding:8px 0;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s;position:absolute;bottom:84px;right:16px}.sdk-skip-ad-btn--ready{color:#fff;cursor:pointer;border-color:#fffc}.sdk-skip-ad-btn--ready:hover{background:#ffffff2e;border-color:#fff}.sdk-overlay-ad{z-index:85;pointer-events:all;background:#000000d1;border-radius:4px;max-width:calc(100% - 32px);position:absolute;bottom:72px;overflow:visible}.sdk-overlay-ad--bottom_center{animation:.25s sdk-overlay-ad-in-center;left:50%;transform:translate(-50%)}.sdk-overlay-ad--bottom_left{animation:.25s sdk-overlay-ad-in-side;left:16px}.sdk-overlay-ad--bottom_right{animation:.25s sdk-overlay-ad-in-side;right:16px}.sdk-overlay-ad--top_center{animation:.25s sdk-overlay-ad-in-center;top:16px;bottom:auto;left:50%;transform:translate(-50%)}.sdk-overlay-ad--top_left{animation:.25s sdk-overlay-ad-in-side;top:16px;bottom:auto;left:16px}.sdk-overlay-ad--top_right{animation:.25s sdk-overlay-ad-in-side;top:16px;bottom:auto;right:16px}.sdk-overlay-ad-topbar{justify-content:space-between;align-items:center;height:20px;display:flex;position:absolute;top:-20px;left:0;right:0}.sdk-overlay-ad-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;-webkit-user-select:none;user-select:none;background:#000000b8;border-radius:3px 3px 0 0;padding:2px 7px;font-size:10px;font-weight:600;line-height:16px}.sdk-overlay-ad-close{color:#ffffffb3;cursor:pointer;background:#000000b8;border:none;border-radius:3px 3px 0 0;padding:2px 7px;font-size:11px;line-height:16px;transition:color .15s,background .15s}.sdk-overlay-ad-close:hover{color:#fff;background:#282828e6}.sdk-overlay-ad-img{cursor:pointer;border-radius:4px;max-width:100%;height:auto;transition:opacity .15s;display:block}.sdk-overlay-ad-img:hover{opacity:.88}@keyframes sdk-overlay-ad-in-center{0%{opacity:0;transform:translate(-50%)translateY(6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes sdk-overlay-ad-in-side{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sdk-spinner-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:8;pointer-events:none;opacity:0;background:#0f172a73;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.sdk-spinner-overlay.active{opacity:1}.sdk-spinner{border:4px solid rgba(var(--sdk-theme-color-rgb), .1);border-left-color:var(--sdk-theme-color);border-right-color:rgba(var(--sdk-theme-color-rgb), .2);width:60px;height:60px;filter:drop-shadow(0 0 10px rgba(var(--sdk-theme-color-rgb), .5));border-radius:50%;animation:1s linear infinite sdk-spin}@keyframes sdk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sdk-spinner-text{color:#fff;letter-spacing:2px;text-transform:uppercase;text-shadow:0 2px 4px #00000080;margin-top:16px;font-size:13px;font-weight:500;animation:1.5s ease-in-out infinite alternate sdk-pulse}@keyframes sdk-pulse{0%{opacity:.6}to{opacity:1;filter:drop-shadow(0 0 4px var(--sdk-theme-color))}}.sdk-subtitles-overlay{z-index:7;text-align:center;pointer-events:none;justify-content:center;width:80%;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.sdk-subtitles-text{text-shadow:0 1px 3px #000000e6;word-wrap:break-word;border-radius:8px;max-width:100%;padding:8px 16px;font-weight:500;line-height:1.5;transition:font-size .15s,background .15s,color .15s;box-shadow:0 10px 25px -5px #0006}.sdk-cast-bg{z-index:7;pointer-events:none;background:#0000008c;position:absolute;inset:0}.sdk-cast-indicator{color:#3b82f6;white-space:nowrap;letter-spacing:.02em;background:#3b82f626;border:1px solid #3b82f659;border-radius:20px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.sdk-cast-screen{z-index:8;color:#fff;background:radial-gradient(at top,#1e1b4b 0%,#030712 70%);flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:24px;display:flex;position:absolute;inset:0}.sdk-cast-icon-glow{color:#3b82f6;filter:drop-shadow(0 0 12px #3b82f699);flex-shrink:0;animation:2s infinite alternate sdk-pulse}.sdk-cast-header{flex-direction:row;align-items:center;gap:0;display:flex}.sdk-cast-title{margin-bottom:4px;font-size:18px;font-weight:600}.sdk-cast-desc{color:#9ca3af;font-size:13px}.sdk-cast-controls{flex-direction:column;align-items:center;gap:18px;width:100%;max-width:480px;display:flex}.sdk-cast-seekbar-row{align-items:center;gap:10px;width:100%;display:flex}.sdk-cast-time-label{color:#9ca3af;white-space:nowrap;text-align:center;min-width:38px;font-size:12px}.sdk-cast-seekbar{cursor:pointer;background:#fff3;border-radius:2px;flex:1;height:4px;transition:height .15s;position:relative}.sdk-cast-seekbar:hover{height:6px}.sdk-cast-seekbar-fill{pointer-events:none;background:#3b82f6;border-radius:2px;position:absolute;inset:0 auto 0 0}.sdk-cast-seekbar-thumb{pointer-events:none;opacity:0;background:#fff;border-radius:50%;width:12px;height:12px;transition:opacity .15s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px #3b82f699}.sdk-cast-seekbar:hover .sdk-cast-seekbar-thumb{opacity:1}.sdk-cast-playback-row{align-items:center;gap:28px;display:flex}.sdk-cast-ctrl-btn{color:#e2e8f0;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;transition:color .15s,background .15s;display:flex;position:relative}.sdk-cast-ctrl-btn:hover{color:#fff;background:#ffffff1a}.sdk-cast-seek-label{pointer-events:none;font-size:9px;font-weight:700;line-height:1;position:absolute}.sdk-cast-play-pause-btn{color:#fff;cursor:pointer;background:#3b82f633;border:2px solid #3b82f680;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:background .18s,border-color .18s,transform .1s;display:flex}.sdk-cast-play-pause-btn:hover{background:#3b82f680;border-color:#3b82f6;transform:scale(1.06)}.sdk-cast-play-pause-btn:active{transform:scale(.96)}.sdk-cast-volume-row{align-items:center;gap:10px;width:220px;display:flex}.sdk-cast-vol-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .15s;display:flex}.sdk-cast-vol-btn:hover{color:#fff}.sdk-cast-volume-slider{appearance:none;cursor:pointer;background:#fff3;border-radius:2px;outline:none;flex:1;height:4px}.sdk-cast-volume-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:14px;height:14px;box-shadow:0 0 4px #0006}.sdk-cast-volume-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:14px;height:14px}.sdk-cast-disconnect-btn{color:#ef4444;cursor:pointer;background:#ef444426;border:1px solid #ef444459;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .2s}.sdk-cast-disconnect-btn:hover{color:#fff;background:#ef4444;box-shadow:0 0 15px #ef444466}.sdk-controls-overlay{z-index:9;opacity:0;background:linear-gradient(#000000a6 0%,#0000 22%),linear-gradient(#0000 58%,#000c 100%);flex-direction:column;justify-content:flex-end;padding:0;transition:opacity .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0}.sdk-player-container.controls-active .sdk-controls-overlay{opacity:1}.sdk-desktop-header{pointer-events:auto;justify-content:space-between;align-items:center;padding:18px 22px;display:flex;position:absolute;top:0;left:0;right:0}.sdk-desktop-header-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.sdk-desktop-header-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.sdk-desktop-back-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:opacity .15s;display:flex}.sdk-desktop-back-btn:hover{opacity:1}.sdk-desktop-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;font-size:16px;font-weight:600;overflow:hidden}.sdk-desktop-hdr-btn{color:#ffffffd9;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:7px;transition:all .18s;display:flex}.sdk-desktop-hdr-btn:hover{color:#fff;background:#ffffff1a}.sdk-desktop-hdr-btn:disabled{opacity:.38;cursor:default}.sdk-desktop-center-controls{align-items:center;gap:36px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sdk-desktop-seek-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;justify-content:center;align-items:center;padding:10px;transition:opacity .15s,transform .12s;display:flex;position:relative}.sdk-desktop-seek-btn:hover{opacity:1;transform:scale(1.12)}.sdk-desktop-seek-btn:active{transform:scale(.9)}.sdk-desktop-seek-btn:disabled{opacity:.35;cursor:default;transform:none!important}.sdk-desktop-seek-label{pointer-events:none;font-family:sans-serif;font-size:8px;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sdk-desktop-play-btn{color:#fff;cursor:pointer;opacity:.95;background:0 0;border:none;justify-content:center;align-items:center;padding:10px;transition:opacity .15s,transform .15s;display:flex}.sdk-desktop-play-btn:hover{opacity:1;transform:scale(1.1)}.sdk-desktop-play-btn:active{transform:scale(.9)}.sdk-desktop-bottom{pointer-events:auto;flex-direction:column;display:flex}.sdk-desktop-chapters-strip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:14px;padding:0 22px 18px;animation:.22s sdkFadeIn;display:flex;overflow-x:auto}.sdk-desktop-chapters-strip::-webkit-scrollbar{display:none}.sdk-desktop-chapter-card{cursor:pointer;scroll-snap-align:start;flex-shrink:0;width:170px;transition:transform .12s}.sdk-desktop-chapter-card:hover{transform:scale(1.04)}.sdk-desktop-chapter-card:active{transform:scale(.97)}.sdk-desktop-chapter-thumb{background:#ffffff12;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:100%;height:100px;transition:border-color .15s;display:flex;overflow:hidden}.sdk-desktop-chapter-card.active .sdk-desktop-chapter-thumb{border-color:#ffffff8c}.sdk-desktop-chapter-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-align:center;margin-top:7px;font-size:12px;font-weight:500;line-height:1.3;overflow:hidden}.sdk-desktop-chapter-time{color:#fff;text-align:center;letter-spacing:.02em;margin-top:3px;font-size:11px;font-weight:600}.sdk-desktop-seekbar{background:#ffffff47;border-radius:0;height:3px;margin:0}.sdk-desktop-seekbar:hover{height:5px}.sdk-desktop-seekbar .sdk-seekbar-buffered{background:#ffffff59}.sdk-desktop-seekbar .sdk-seekbar-progress{box-shadow:none!important;background:#fff!important}.sdk-desktop-seekbar .sdk-seekbar-handle{background:#fff;width:14px;height:14px;right:-7px}.sdk-desktop-chapter-dot{z-index:3;width:2px;display:none;background:#5a5f69e6!important}.sdk-desktop-controls-row{justify-content:space-between;align-items:center;gap:16px;padding:10px 22px 20px;display:flex}.sdk-desktop-left-controls{align-items:center;gap:6px;display:flex}.sdk-volume-control{align-items:center;gap:2px;display:flex}.sdk-volume-slider{appearance:none;cursor:pointer;background:#ffffff47;background-image:linear-gradient(to right, #fff calc(var(--vol-pct,100%) * 1%), #ffffff47 calc(var(--vol-pct,100%) * 1%));border-radius:3px;outline:none;width:80px;height:3px;transition:height .15s}.sdk-volume-slider:hover{height:5px}.sdk-volume-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .12s;box-shadow:0 0 6px #00000080}.sdk-volume-slider:hover::-webkit-slider-thumb{transform:scale(1.2)}.sdk-volume-slider::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:12px;height:12px;box-shadow:0 0 6px #00000080}.sdk-desktop-right-icons{align-items:center;gap:2px;display:flex}.sdk-desktop-icon-btn{color:#ffffffd1;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:7px;transition:all .18s;display:flex}.sdk-desktop-icon-btn:hover{color:#fff;background:#ffffff1a}.sdk-desktop-icon-btn:disabled{opacity:.38;cursor:default;transform:none!important}.sdk-seekbar-container{cursor:pointer;background:#ffffff26;border-radius:3px;align-items:center;width:100%;height:6px;transition:height .15s;display:flex;position:relative}.sdk-seekbar-container:before{content:"";z-index:1;position:absolute;inset:-12px 0}.sdk-seekbar-container:hover{height:8px}.sdk-seekbar-buffered{pointer-events:none;background:#ffffff40;border-radius:3px;position:absolute;top:0;bottom:0;left:0}.sdk-seekbar-progress{background:var(--sdk-theme-color);pointer-events:none;box-shadow:0 0 8px rgba(var(--sdk-theme-color-rgb), .6);border-radius:3px;justify-content:flex-end;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0}.sdk-seekbar-container.sdk-ad-mode,.sdk-seekbar-container.sdk-ad-mode:hover,.sdk-seekbar-container.sdk-ad-mode:active{cursor:default;background:#ffffff26;height:3px!important}.sdk-ad-progress-fill{pointer-events:none;background:#ffe000;border-radius:3px;position:absolute;top:0;bottom:0;left:0}.sdk-seekbar-handle{opacity:0;background:#fff;border-radius:50%;width:12px;height:12px;transition:opacity .15s,transform .15s;position:absolute;right:-6px;transform:scale(.8);box-shadow:0 0 10px #00000080}.sdk-seekbar-container:hover .sdk-seekbar-handle{opacity:1;transform:scale(1)}.sdk-seekbar-adbreak{opacity:.7;pointer-events:none;z-index:3;background:#ffe000;border-radius:1px;width:3px;height:100%;transition:opacity .15s,height .15s,top .15s;position:absolute;top:0}.sdk-seekbar-container:hover .sdk-seekbar-adbreak{opacity:1;height:calc(100% + 4px);top:-2px}.sdk-seekbar-chapter-marker{pointer-events:none;z-index:2;background:#0f172acc;width:2px;position:absolute;top:0;bottom:0}.sdk-thumbnail-tooltip{z-index:10;pointer-events:none;filter:drop-shadow(0 8px 20px #000000a6);flex-direction:column;align-items:center;display:flex;position:absolute;bottom:22px;transform:translate(-50%)}.sdk-thumbnail-preview{background-color:#0c0a09;border:1.5px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:192px;height:108px;display:flex;overflow:hidden}.sdk-thumbnail-chapter-name{color:#fff;white-space:nowrap;text-align:center;letter-spacing:.01em;margin-top:7px;font-size:12px;font-weight:500}.sdk-thumbnail-time-label{color:#fff;text-align:center;letter-spacing:.02em;margin-top:3px;font-size:11px;font-weight:600}.sdk-control-btn{color:#fff;opacity:.85;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.sdk-control-btn[disabled],.sdk-control-btn.disabled{opacity:.45;cursor:default;transform:none!important}.sdk-control-btn:hover{opacity:1;background:#ffffff14}.sdk-control-btn:active{transform:scale(.95)}.sdk-time-display{color:#fff;font-variant-numeric:tabular-nums;opacity:.9;letter-spacing:.01em;font-size:13px;font-weight:500}.sdk-chapter-badge{color:var(--sdk-theme-color);background:rgba(var(--sdk-theme-color-rgb), .12);border:1px solid rgba(var(--sdk-theme-color-rgb), .25);white-space:nowrap;text-overflow:ellipsis;max-width:180px;box-shadow:0 0 10px rgba(var(--sdk-theme-color-rgb), .15);border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600;overflow:hidden}.sdk-menu-container{position:relative}.sdk-dropup-menu{-webkit-backdrop-filter:blur(32px)saturate(200%);backdrop-filter:blur(32px)saturate(200%);z-index:12;background:#14141c73;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;min-width:172px;padding:0;animation:.18s cubic-bezier(.16,1,.3,1) sdk-menu-slideup;display:flex;position:absolute;bottom:calc(100% + 24px);left:50%;right:auto;overflow:hidden;transform:translate(-50%);box-shadow:0 20px 40px #000000bf}.sdk-dropup-menu.large{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;min-width:200px;max-height:240px;overflow-y:auto}.sdk-dropup-menu.large::-webkit-scrollbar{width:4px}.sdk-dropup-menu.large::-webkit-scrollbar-track{background:0 0}.sdk-dropup-menu.large::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}@keyframes sdk-menu-slideup{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sdk-dropup-header{color:#fff;letter-spacing:0;border-bottom:1px solid #ffffff1f;padding:14px 16px 12px;font-size:14px;font-weight:700}.sdk-dropup-item{color:#ffffffc7;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;font-size:13px;font-weight:400;transition:background .12s;display:flex}.sdk-dropup-item:hover{color:#fff;background:#ffffff0f}.sdk-dropup-item.active{color:#fff;background:0 0;font-weight:700}.sdk-cast-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:15;background:#030712cc;justify-content:center;align-items:center;animation:.25s sdk-fadein;display:flex;position:absolute;inset:0}@keyframes sdk-fadein{0%{opacity:0}to{opacity:1}}.sdk-cast-modal{background:#0f172a;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:12px;width:280px;padding:16px;display:flex;box-shadow:0 25px 50px -12px #000c}.sdk-cast-modal-header{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.sdk-cast-modal-title{color:#fff;font-size:14px;font-weight:600}.sdk-cast-device-list{flex-direction:column;gap:6px;display:flex}.sdk-cast-device-item{color:#e5e7eb;cursor:pointer;background:#ffffff05;border:1px solid #ffffff0a;border-radius:6px;align-items:center;gap:10px;padding:10px;font-size:13px;transition:all .15s;display:flex}.sdk-cast-device-item:hover{background:rgba(var(--sdk-theme-color-rgb), .1);border-color:rgba(var(--sdk-theme-color-rgb), .3);color:#fff}.sdk-mobile-only{display:none!important}.sdk-dropup-divider{background:#ffffff1f;height:1px;margin:2px 0}.sdk-mobile-settings-menu{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;min-width:190px;max-height:320px;overflow-y:auto}.sdk-mobile-settings-menu::-webkit-scrollbar{width:4px}.sdk-mobile-settings-menu::-webkit-scrollbar-track{background:0 0}.sdk-mobile-settings-menu::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.sdk-chapters-panel{-webkit-backdrop-filter:blur(28px)saturate(160%);backdrop-filter:blur(28px)saturate(160%);z-index:10;pointer-events:auto;background:#0c0c10c7;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;width:380px;animation:.2s sdkFadeIn;display:flex;position:absolute;top:60px;bottom:80px;right:20px;overflow:hidden}.sdk-chapters-panel-header{border-bottom:1px solid #ffffff1f;flex-shrink:0;padding:16px 18px 14px}.sdk-chapters-panel-title{color:#fff;letter-spacing:.01em;font-size:16px;font-weight:700}.sdk-chapters-panel-list{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent;flex:1;padding:6px 0;overflow-y:auto}.sdk-chapters-panel-list::-webkit-scrollbar{width:4px}.sdk-chapters-panel-list::-webkit-scrollbar-track{background:0 0}.sdk-chapters-panel-list::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.sdk-chapters-panel-item{cursor:pointer;border-bottom:1px solid #ffffff0d;align-items:flex-start;gap:14px;padding:12px 16px;transition:background .15s;display:flex}.sdk-chapters-panel-item:last-child{border-bottom:none}.sdk-chapters-panel-item:hover{background:#ffffff0f}.sdk-chapters-panel-item.active{background:#ffffff17}.sdk-chapters-panel-thumb{color:#ffffff4d;background:#ffffff0f;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:128px;height:76px;display:flex;overflow:hidden}.sdk-chapters-panel-info{flex-direction:column;flex:1;gap:4px;min-width:0;padding-top:2px;display:flex}.sdk-chapters-panel-item-title{color:#fff;font-size:14px;font-weight:600;line-height:1.3}.sdk-chapters-panel-item-desc{color:#ffffff7a;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.sdk-chapters-panel-item-time{color:#fff;opacity:.75;margin-top:2px;font-size:12px;font-weight:500}@media (width<=768px){.sdk-desktop-header{padding:14px 16px}.sdk-desktop-controls-row{padding:8px 16px 16px}.sdk-desktop-chapters-strip{padding:0 16px 14px}}@media (width<=480px){.sdk-subtitles-overlay{width:90%;bottom:72px}.sdk-subtitles-text{padding:4px 10px;line-height:1.4;font-size:12px!important}.sdk-seekbar-container:before{top:-16px;bottom:-16px}.sdk-seekbar-handle{opacity:1;width:14px;height:14px;right:-7px;transform:scale(1)}.sdk-dropup-menu{min-width:140px}.sdk-dropup-menu.large{min-width:160px}}@media (width<=360px){.sdk-control-btn{min-width:26px;padding:4px 3px}.sdk-time-display{font-size:9px}}.sdk-mobile-overlay{z-index:9;opacity:0;pointer-events:none;background:linear-gradient(#0000008c 0%,#0000 25% 65%,#000000a6 100%);flex-direction:column;justify-content:space-between;transition:opacity .25s;display:flex;position:absolute;inset:0}.sdk-mobile-overlay.active{opacity:1;pointer-events:auto}.sdk-mobile-header{justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.sdk-mobile-header-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.sdk-mobile-back-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;flex-shrink:0;align-items:center;padding:4px;display:flex}.sdk-mobile-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}@media (orientation:portrait){.sdk-mobile-title{display:none}}.sdk-mobile-header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.sdk-mobile-hdr-btn{color:#fff;opacity:.9;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:44px;min-height:44px;transition:background .15s,opacity .15s;display:flex}.sdk-mobile-hdr-btn:hover,.sdk-mobile-hdr-btn:focus{opacity:1;background:#ffffff1f}.sdk-mobile-hdr-btn:disabled{opacity:.35;cursor:default}.sdk-dropdown-menu{inset:calc(100% + 8px) 0 auto auto}.sdk-mobile-center-controls{justify-content:center;align-items:center;gap:36px;display:flex}.sdk-mobile-seek-btn{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;transition:transform .1s,opacity .12s;display:flex;position:relative}.sdk-mobile-seek-btn:hover{opacity:1}.sdk-mobile-seek-btn:active{transform:scale(.9)}.sdk-mobile-seek-btn:disabled{opacity:.35;cursor:default}.sdk-mobile-seek-label{pointer-events:none;font-family:sans-serif;font-size:8px;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sdk-mobile-play-btn{color:#fff;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:transform .12s;display:flex}.sdk-mobile-play-btn:active{transform:scale(.9)}@keyframes sdk-doubletap-fade{0%{opacity:1}60%{opacity:1}to{opacity:0}}.sdk-mobile-doubletap{pointer-events:none;z-index:20;justify-content:center;align-items:center;width:40%;animation:.7s forwards sdk-doubletap-fade;display:flex;position:absolute;top:0;bottom:0}.sdk-mobile-doubletap.left{background:#ffffff1f;border-radius:0 100% 100% 0/0 50% 50% 0;left:0}.sdk-mobile-doubletap.right{background:#ffffff1f;border-radius:100% 0 0 100%/50% 0 0 50%;right:0}.sdk-mobile-doubletap-icon{color:#fff;filter:drop-shadow(0 1px 4px #00000080);flex-direction:column;align-items:center;gap:4px;display:flex}.sdk-mobile-doubletap-label{letter-spacing:.02em;color:#fff;font-size:11px;font-weight:600;line-height:1}.sdk-mobile-bottom-bar{flex-direction:column;gap:0;display:flex}.sdk-mobile-seekbar{background:#ffffff47;border-radius:0;width:100%;height:3px}.sdk-mobile-seekbar:hover,.sdk-mobile-seekbar:active{height:4px}.sdk-mobile-seekbar .sdk-seekbar-progress{box-shadow:none!important;background:#fff!important}.sdk-mobile-seekbar .sdk-seekbar-handle{background:#fff;width:14px;height:14px;right:-7px;opacity:1!important;transform:scale(1)!important}.sdk-mobile-controls-row{justify-content:space-between;align-items:center;gap:8px;padding:8px 14px 12px;display:flex}.sdk-mobile-bottom-icons .sdk-dropup-menu{border-radius:8px;min-width:130px}.sdk-mobile-bottom-icons .sdk-dropup-header{padding:10px 12px 8px;font-size:12px}.sdk-mobile-bottom-icons .sdk-dropup-item{padding:8px 12px;font-size:12px}.sdk-mobile-bottom-icons{align-items:center;gap:2px;display:flex}.sdk-mobile-icon-btn{color:#ffffffd1;cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;min-width:30px;min-height:30px;padding:6px;transition:color .15s,background .15s;display:flex}.sdk-mobile-icon-btn:hover{color:#fff;background:#ffffff14}.sdk-mobile-icon-btn:disabled{opacity:.35;cursor:default}.sdk-mobile-key-moments-bar{color:#ffffffe6;letter-spacing:.3px;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:4px 0 2px;font-size:13px;font-weight:600;transition:opacity .15s;display:flex}.sdk-mobile-key-moments-bar:hover{opacity:.8}.sdk-mobile-km-star{opacity:.85;font-size:12px}.sdk-mobile-chapters-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:10px;padding:4px 0 2px;animation:.2s sdkFadeIn;display:flex;overflow-x:auto}.sdk-mobile-chapters-scroll::-webkit-scrollbar{display:none}@keyframes sdkFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sdk-mobile-chapter-card{cursor:pointer;scroll-snap-align:start;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:108px;transition:border-color .15s,transform .1s}.sdk-mobile-chapter-card:active{transform:scale(.96)}.sdk-mobile-chapter-card.active{border-color:var(--sdk-theme-color)}.sdk-mobile-chapter-thumb{background:#ffffff0f;border-radius:6px;justify-content:center;align-items:center;width:100%;height:64px;display:flex;position:relative;overflow:hidden}.sdk-mobile-chapter-time-badge{color:#fff;letter-spacing:.3px;background:#000000bf;border-radius:3px;padding:1px 4px;font-size:8px;font-weight:600;position:absolute;bottom:3px;right:4px}.sdk-mobile-chapter-title{color:#fffc;white-space:nowrap;text-overflow:ellipsis;text-align:center;margin-top:5px;padding:0 2px;font-size:10px;font-weight:500;line-height:1.3;overflow:hidden}@media (orientation:landscape) and (height<=500px){.sdk-mobile-header{padding:4px 12px}.sdk-mobile-center-controls{gap:18px}.sdk-mobile-play-circle{width:46px;height:46px}.sdk-mobile-seek-circle{width:38px;height:38px}.sdk-mobile-bottom-bar{gap:4px;padding:0 12px 6px}.sdk-mobile-time{font-size:11px}.sdk-mobile-chapter-thumb{height:48px}.sdk-mobile-chapter-card{width:88px}.sdk-mobile-key-moments-bar{padding:2px 0 0;font-size:12px}.sdk-spinner{width:40px;height:40px}.sdk-subtitles-overlay{bottom:56px}}.sdk-player-container.sdk-fs-simulated .sdk-mobile-header{padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}.sdk-player-container.sdk-fs-simulated .sdk-mobile-bottom-bar{padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right));padding-bottom:max(10px, env(safe-area-inset-bottom))}.sdk-player-container:fullscreen{width:100%!important;height:100%!important;aspect-ratio:unset!important;border-radius:0!important;max-width:none!important;max-height:none!important}.sdk-player-container:fullscreen{width:100%!important;height:100%!important;aspect-ratio:unset!important;border-radius:0!important;max-width:none!important;max-height:none!important}.sdk-player-container.sdk-fs-simulated{width:100vw!important;height:100vh!important;height:100dvh!important;aspect-ratio:unset!important;z-index:9999!important;border-radius:0!important;position:fixed!important;top:0!important;left:0!important;overflow:hidden!important}.sdk-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sdk-player-container :focus:not(:focus-visible){outline:none}.sdk-desktop-icon-btn:focus-visible,.sdk-desktop-play-btn:focus-visible,.sdk-desktop-seek-btn:focus-visible,.sdk-desktop-back-btn:focus-visible,.sdk-desktop-hdr-btn:focus-visible,.sdk-mobile-icon-btn:focus-visible,.sdk-mobile-play-btn:focus-visible,.sdk-mobile-seek-btn:focus-visible,.sdk-mobile-back-btn:focus-visible,.sdk-mobile-hdr-btn:focus-visible{outline-offset:2px;background:#ffffff1f;border-radius:6px;outline:2px solid #fff}.sdk-skip-ad-btn:focus-visible{outline-offset:3px;outline:2px solid #fff}.sdk-seekbar-container:focus-visible,.sdk-volume-slider:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #fff}.sdk-dropup-item:focus-visible{outline-offset:-2px;background:#ffffff24;border-radius:4px;outline:2px solid #fff9}.sdk-desktop-chapter-card:focus-visible,.sdk-chapters-panel-item:focus-visible,.sdk-mobile-chapter-card:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #fff}.sdk-desktop-icon-btn,.sdk-mobile-icon-btn,.sdk-desktop-hdr-btn{min-width:32px;min-height:32px}
2
2
  /*$vite$:1*/
package/dist/core.cjs CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./src-BRPWpIe_.cjs");var t=class{player;install(e){this.player=e,this.onInstall()}destroy(){this.onDestroy()}onDestroy(){}};exports.AnalyticsModule=e.l,exports.BasePlayerPlugin=t,exports.CastingModule=e.r,exports.ChaptersModule=e.o,exports.DRMModule=e.i,exports.FirebaseAnalyticsProvider=e.c,exports.KeyMomentsModule=e.s,exports.SubtitlesModule=e.a,exports.ThumbnailsModule=e.n,exports.VideoPlayerSDK=e.t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./src-Ddf1d9o2.cjs");var t=class{player;install(e){this.player=e,this.onInstall()}destroy(){this.onDestroy()}onDestroy(){}};exports.AnalyticsModule=e.l,exports.BasePlayerPlugin=t,exports.CastingModule=e.r,exports.ChaptersModule=e.o,exports.DRMModule=e.i,exports.FirebaseAnalyticsProvider=e.c,exports.KeyMomentsModule=e.s,exports.SubtitlesModule=e.a,exports.ThumbnailsModule=e.n,exports.VideoPlayerSDK=e.t;
2
2
  //# sourceMappingURL=core.cjs.map
package/dist/core.d.ts CHANGED
@@ -378,6 +378,12 @@ export declare class VideoPlayerSDK {
378
378
  private networkErrorRetries;
379
379
  private mediaErrorRecovered;
380
380
  private static readonly MAX_NETWORK_RETRIES;
381
+ private static readonly TERMINAL_HTTP_STATUSES;
382
+ private static readonly STALL_TIMEOUT_MS;
383
+ private stallTimer;
384
+ private isBuffering;
385
+ private progressTick;
386
+ private hasFailed;
381
387
  private eventListeners;
382
388
  constructor(options: PlayerSDKOptions);
383
389
  /**
@@ -468,6 +474,21 @@ export declare class VideoPlayerSDK {
468
474
  lang: string;
469
475
  }>;
470
476
  setAudioTrack(id: number): void;
477
+ /**
478
+ * Arms a one-shot timer while buffering. If the timer fires and no data has
479
+ * arrived since it was armed (progressTick unchanged) and we're still
480
+ * buffering, the stream is considered dead. If data did arrive but we're still
481
+ * buffering (slow connection), it re-arms for another window rather than
482
+ * failing — so slow internet never trips it.
483
+ */
484
+ private armStallWatchdog;
485
+ private clearStallWatchdog;
486
+ /**
487
+ * Terminal error path: emit 'error' (which drives the error screen) and tear
488
+ * down the player. Guarded so it runs at most once, no matter how many error
489
+ * events fire during teardown.
490
+ */
491
+ private fail;
471
492
  destroy(): void;
472
493
  }
473
494
 
package/dist/core.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./src-BNOvGEgV.js";
1
+ import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "./src-DxUyqslb.js";
2
2
  //#region ../plugins/src/plugins.ts
3
3
  var l = class {
4
4
  player;
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=require("./src-BRPWpIe_.cjs");let l=require("react");l=s(l,1);let u=require("react/jsx-runtime"),d=require("react-dom/client");function ee({title:e=`Something Went Wrong`,subtitle:t=`We encountered an error while playing this video.
2
- Please try again.`,onRetry:n}){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`div`,{style:{width:80,height:80,borderRadius:`50%`,background:`rgba(255,255,255,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0},children:(0,u.jsxs)(`svg`,{width:`36`,height:`36`,viewBox:`0 0 24 24`,fill:`none`,stroke:`rgba(255,255,255,0.85)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,u.jsx)(`path`,{d:`M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z`}),(0,u.jsx)(`line`,{x1:`12`,y1:`9`,x2:`12`,y2:`13`}),(0,u.jsx)(`line`,{x1:`12`,y1:`17`,x2:`12.01`,y2:`17`})]})}),(0,u.jsxs)(`div`,{style:{textAlign:`center`,padding:`0 24px`},children:[(0,u.jsx)(`p`,{style:{color:`#ffffff`,fontSize:22,fontWeight:700,margin:`0 0 8px`,letterSpacing:`-0.2px`},children:e}),(0,u.jsx)(`p`,{style:{color:`rgba(255,255,255,0.5)`,fontSize:14,margin:0,lineHeight:1.6,whiteSpace:`pre-line`},children:t})]}),(0,u.jsxs)(`button`,{onClick:n,style:{display:`flex`,alignItems:`center`,gap:10,background:`#ffffff`,color:`#09090e`,border:`none`,borderRadius:10,padding:`14px 32px`,fontSize:16,fontWeight:700,cursor:`pointer`,letterSpacing:`-0.1px`},children:[(0,u.jsxs)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,u.jsx)(`polyline`,{points:`1 4 1 10 7 10`}),(0,u.jsx)(`path`,{d:`M3.51 15a9 9 0 1 0 .49-3.51`})]}),`Retry Now`]})]})}var te=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),ne=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),re=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),ie=e=>{let t=re(e);return t.charAt(0).toUpperCase()+t.slice(1)},ae={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},oe=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},se=(0,l.createContext)({}),ce=()=>(0,l.useContext)(se),le=(0,l.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:ee=!1,color:ne=`currentColor`,className:re=``}=ce()??{},ie=r??ee?Number(n??d)*24/Number(t??u):n??d;return(0,l.createElement)(`svg`,{ref:c,...ae,width:t??u??ae.width,height:t??u??ae.height,stroke:e??ne,strokeWidth:ie,className:te(`lucide`,re,i),...!a&&!oe(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,l.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),f=(e,t)=>{let n=(0,l.forwardRef)(({className:n,...r},i)=>(0,l.createElement)(le,{ref:i,iconNode:t,className:te(`lucide-${ne(ie(e))}`,`lucide-${e}`,n),...r}));return n.displayName=ie(e),n},ue=f(`airplay`,[[`path`,{d:`M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1`,key:`ns4c3b`}],[`path`,{d:`m12 15 5 6H7Z`,key:`14qnn2`}]]),de=f(`captions`,[[`rect`,{width:`18`,height:`14`,x:`3`,y:`5`,rx:`2`,ry:`2`,key:`12ruh7`}],[`path`,{d:`M7 15h4M15 15h2M7 11h2M13 11h4`,key:`1ueiar`}]]),fe=f(`cast`,[[`path`,{d:`M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6`,key:`3zrzxg`}],[`path`,{d:`M2 12a9 9 0 0 1 8 8`,key:`g6cvee`}],[`path`,{d:`M2 16a5 5 0 0 1 4 4`,key:`1y1dii`}],[`line`,{x1:`2`,x2:`2.01`,y1:`20`,y2:`20`,key:`xu2jvo`}]]),p=f(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),pe=f(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),me=f(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),he=f(`languages`,[[`path`,{d:`m5 8 6 6`,key:`1wu5hv`}],[`path`,{d:`m4 14 6-6 2-3`,key:`1k1g8d`}],[`path`,{d:`M2 5h12`,key:`or177f`}],[`path`,{d:`M7 2h1`,key:`1t2jsx`}],[`path`,{d:`m22 22-5-10-5 10`,key:`don7ne`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),ge=f(`list-video`,[[`path`,{d:`M21 5H3`,key:`1fi0y6`}],[`path`,{d:`M10 12H3`,key:`1ulcyk`}],[`path`,{d:`M10 19H3`,key:`108z41`}],[`path`,{d:`M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`,key:`ms4nik`}]]),_e=f(`maximize`,[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3`,key:`1dcmit`}],[`path`,{d:`M21 8V5a2 2 0 0 0-2-2h-3`,key:`1e4gt3`}],[`path`,{d:`M3 16v3a2 2 0 0 0 2 2h3`,key:`wsl5sc`}],[`path`,{d:`M16 21h3a2 2 0 0 0 2-2v-3`,key:`18trek`}]]),ve=f(`minimize`,[[`path`,{d:`M8 3v3a2 2 0 0 1-2 2H3`,key:`hohbtr`}],[`path`,{d:`M21 8h-3a2 2 0 0 1-2-2V3`,key:`5jw1f3`}],[`path`,{d:`M3 16h3a2 2 0 0 1 2 2v3`,key:`198tvr`}],[`path`,{d:`M16 21v-3a2 2 0 0 1 2-2h3`,key:`ph8mxp`}]]),ye=f(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),be=f(`picture-in-picture`,[[`path`,{d:`M2 10h6V4`,key:`zwrco`}],[`path`,{d:`m2 4 6 6`,key:`ug085t`}],[`path`,{d:`M21 10V7a2 2 0 0 0-2-2h-7`,key:`git5jr`}],[`path`,{d:`M3 14v2a2 2 0 0 0 2 2h3`,key:`1f7fh3`}],[`rect`,{x:`12`,y:`14`,width:`10`,height:`7`,rx:`1`,key:`1wjs3o`}]]),xe=f(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),Se=f(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Ce=f(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),we=f(`signal`,[[`path`,{d:`M2 20h.01`,key:`4haj6o`}],[`path`,{d:`M7 20v-4`,key:`j294jx`}],[`path`,{d:`M12 20v-8`,key:`i3yub9`}],[`path`,{d:`M17 20V8`,key:`1tkaf5`}],[`path`,{d:`M22 4v16`,key:`sih9yq`}]]),Te=f(`volume-1`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}]]),Ee=f(`volume-2`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`,key:`ijwkga`}]]),De=f(`volume-x`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`line`,{x1:`22`,x2:`16`,y1:`9`,y2:`15`,key:`1ewh16`}],[`line`,{x1:`16`,x2:`22`,y1:`9`,y2:`15`,key:`5ykzw1`}]]),Oe=f(`volume`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}]]),ke=1e4,Ae=!1,m=e=>{let t=e.match(/#EXT-X-TITLE:(.+)/);if(t?.[1]?.trim())return t[1].trim();let n=e.match(/#EXT-X-SESSION-DATA:[^\n]*DATA-ID="[^"]*title[^"]*"[^\n]*VALUE="([^"]+)"/i);return n?.[1]?.trim()?n[1].trim():null},je=e=>{if(!e||e.length<10||e[0]!==73||e[1]!==68||e[2]!==51)return null;let t=e[3],n=(e[6]&127)<<21|(e[7]&127)<<14|(e[8]&127)<<7|e[9]&127,r=Math.min(10+n,e.length),i=10;for(;i+10<=r;){let n=String.fromCharCode(e[i],e[i+1],e[i+2],e[i+3]),a=t>=4?(e[i+4]&127)<<21|(e[i+5]&127)<<14|(e[i+6]&127)<<7|e[i+7]&127:e[i+4]<<24|e[i+5]<<16|e[i+6]<<8|e[i+7];if(a<=0||i+10+a>r)break;if(n===`TIT2`){let t=e[i+10],n=e.slice(i+11,i+10+a),r=(t===1||t===2?new TextDecoder(`utf-16`).decode(n):new TextDecoder(t===3?`utf-8`:`latin1`).decode(n)).replace(/\0/g,``).trim();if(r)return r}i+=10+a}return null},Me=({size:e=20})=>(0,u.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,u.jsx)(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`3`}),(0,u.jsx)(`path`,{d:`M7 9v6M7 12h3M10 9v6`}),(0,u.jsx)(`path`,{d:`M14 9h1.5a3 3 0 0 1 0 6H14z`})]}),h=e=>{let t=e.replace(`#`,``);return t.length===6?`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`:t.length===3?`${parseInt(t[0]+t[0],16)}, ${parseInt(t[1]+t[1],16)}, ${parseInt(t[2]+t[2],16)}`:`99, 102, 241`},Ne={en:`English`,eng:`English`,fr:`French`,fre:`French`,fra:`French`,es:`Spanish`,spa:`Spanish`,de:`German`,ger:`German`,deu:`German`,it:`Italian`,ita:`Italian`,pt:`Portuguese`,por:`Portuguese`,ja:`Japanese`,zh:`Chinese`,ko:`Korean`,ru:`Russian`,ar:`Arabic`,hi:`Hindi`,ta:`Tamil`,tam:`Tamil`},g=e=>{if(!e)return null;let t=e.trim().toLowerCase(),n=t.match(/^(en|eng|fr|fre|fra|es|spa|de|ger|deu|it|ita|pt|por|ja|zh|ko|ru|ar|hi|ta|tam)/);if(n&&Ne[n[0]])return Ne[n[0]];for(let[e,n]of Object.entries(Ne))if(t.includes(e))return n;return/english|anglais|ingles/i.test(t)?`English`:/french|français/i.test(t)?`French`:/spanish|español/i.test(t)?`Spanish`:/german|deutsch/i.test(t)?`German`:/italian|italiano/i.test(t)?`Italian`:/portuguese|português/i.test(t)?`Portuguese`:/japanese|nihongo/i.test(t)?`Japanese`:/chinese|中文/i.test(t)?`Chinese`:/korean|한국어/i.test(t)?`Korean`:/tamil|தமிழ்/i.test(t)?`Tamil`:/russian|русский/i.test(t)?`Russian`:/arabic|العربية/i.test(t)?`Arabic`:/hindi|हिन्दी/i.test(t)?`Hindi`:null},_=e=>{if(e.lang){let t=g(e.lang);if(t)return t}if(e.label){let t=e.label.trim(),n=t.split(/[#\d\.\s\-_/|:]+/).filter(Boolean);for(let e=n.length-1;e>=0;--e){let t=g(n[e]);if(t)return t}let r=t.replace(/^[#\d\.\s]+/,``).trim();return g(r)||r}return`Unknown`},Pe=e=>{let t=new Set;return e.filter(e=>{let n=`${_(e).toLowerCase()}|${(e.lang||``).trim().toLowerCase()}`;return t.has(n)?!1:(t.add(n),!0)})},Fe=e=>{let t=(e??``).split(`:`).map(Number);return(t[0]||0)*3600+(t[1]||0)*60+(t[2]||0)},Ie=({src:e,autoplay:t=!1,muted:n=!1,chapters:r=[],keyMoments:i,subtitles:a=[],watermark:o,themeColor:s=`#6366f1`,drmConfig:d,firebaseConfig:te,onAnalyticsEvent:ne,onAdBreakChange:re,onKeyMomentsLoaded:ie,enableControls:ae=!0,enableChromecast:oe,enableKeyMoments:se,enableSubtitles:ce,enableQuality:le,enablePlaybackSpeed:f,enablePiP:Ne,enableFullscreen:g=!0,autoFullscreen:Ie=!1,watchProgressInterval:Le=30,subtitleStyle:v={},resolvedEntitlement:Re,licenseKey:ze,title:Be,chaptersDisplayMode:Ve=`strip`,volumeControlType:He=`slider`,urlTransformer:Ue,pauseAdOnTabSwitch:We=!0,enableSkipAd:Ge=!1,skipAdAfterSeconds:Ke=5,overlayAdUrl:y,adTrackingUrl:b,sources:x,activeSourceIndex:qe=0,onSourceChange:Je,initialTime:Ye,onTimeUpdate:Xe})=>{let Ze=Ue??(e=>e),S=(0,l.useRef)(null),Qe=(0,l.useRef)(null),$e=(0,l.useRef)(!1),C=(0,l.useRef)(null),et=(0,l.useRef)(0),tt=(0,l.useRef)(null),w=(0,l.useRef)(null),nt=(0,l.useRef)(null),rt=(0,l.useRef)(null),it=(0,l.useRef)(!1),T=(0,l.useRef)(!1),E=(0,l.useRef)(null),D=(0,l.useRef)(null),at=(0,l.useRef)(null),ot=(0,l.useRef)(()=>{}),O=(0,l.useRef)(null),st=(0,l.useRef)(null),ct=(0,l.useRef)(null),lt=(0,l.useRef)(null),ut=(0,l.useRef)(null),k=(0,l.useRef)(null),dt=(0,l.useRef)(null),ft=(0,l.useRef)(x),pt=(0,l.useRef)(Je),mt=(0,l.useRef)(!1),[ht,gt]=(0,l.useState)(!1),_t=(0,l.useRef)(!1),vt=(0,l.useRef)(null),[yt,bt]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(typeof window>`u`||Ae)return;let e=window.requestAnimationFrame(()=>{let e=S.current;if(!e)return;let t=window.getComputedStyle(e);t.overflow!==`hidden`&&t.borderTopLeftRadius===`0px`&&(Ae=!0,console.warn(`[boss-web-player-sdk] Player styles appear to be missing — the player will look broken/unstyled.
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=require("./src-Ddf1d9o2.cjs");let l=require("react");l=s(l,1);let u=require("react/jsx-runtime"),d=require("react-dom/client");function ee({title:e=`Something Went Wrong`,subtitle:t=`We encountered an error while playing this video.
2
+ Please try again.`,onRetry:n}){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`div`,{style:{width:80,height:80,borderRadius:`50%`,background:`rgba(255,255,255,0.08)`,display:`flex`,alignItems:`center`,justifyContent:`center`,flexShrink:0},children:(0,u.jsxs)(`svg`,{width:`36`,height:`36`,viewBox:`0 0 24 24`,fill:`none`,stroke:`rgba(255,255,255,0.85)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,u.jsx)(`path`,{d:`M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z`}),(0,u.jsx)(`line`,{x1:`12`,y1:`9`,x2:`12`,y2:`13`}),(0,u.jsx)(`line`,{x1:`12`,y1:`17`,x2:`12.01`,y2:`17`})]})}),(0,u.jsxs)(`div`,{style:{textAlign:`center`,padding:`0 24px`},children:[(0,u.jsx)(`p`,{style:{color:`#ffffff`,fontSize:22,fontWeight:700,margin:`0 0 8px`,letterSpacing:`-0.2px`},children:e}),(0,u.jsx)(`p`,{style:{color:`rgba(255,255,255,0.5)`,fontSize:14,margin:0,lineHeight:1.6,whiteSpace:`pre-line`},children:t})]}),(0,u.jsxs)(`button`,{onClick:n,style:{display:`flex`,alignItems:`center`,gap:10,background:`#ffffff`,color:`#09090e`,border:`none`,borderRadius:10,padding:`14px 32px`,fontSize:16,fontWeight:700,cursor:`pointer`,letterSpacing:`-0.1px`},children:[(0,u.jsxs)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,u.jsx)(`polyline`,{points:`1 4 1 10 7 10`}),(0,u.jsx)(`path`,{d:`M3.51 15a9 9 0 1 0 .49-3.51`})]}),`Retry Now`]})]})}var te=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),ne=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),re=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),ie=e=>{let t=re(e);return t.charAt(0).toUpperCase()+t.slice(1)},ae={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},oe=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},se=(0,l.createContext)({}),ce=()=>(0,l.useContext)(se),le=(0,l.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:ee=!1,color:ne=`currentColor`,className:re=``}=ce()??{},ie=r??ee?Number(n??d)*24/Number(t??u):n??d;return(0,l.createElement)(`svg`,{ref:c,...ae,width:t??u??ae.width,height:t??u??ae.height,stroke:e??ne,strokeWidth:ie,className:te(`lucide`,re,i),...!a&&!oe(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,l.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),f=(e,t)=>{let n=(0,l.forwardRef)(({className:n,...r},i)=>(0,l.createElement)(le,{ref:i,iconNode:t,className:te(`lucide-${ne(ie(e))}`,`lucide-${e}`,n),...r}));return n.displayName=ie(e),n},ue=f(`airplay`,[[`path`,{d:`M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1`,key:`ns4c3b`}],[`path`,{d:`m12 15 5 6H7Z`,key:`14qnn2`}]]),de=f(`captions`,[[`rect`,{width:`18`,height:`14`,x:`3`,y:`5`,rx:`2`,ry:`2`,key:`12ruh7`}],[`path`,{d:`M7 15h4M15 15h2M7 11h2M13 11h4`,key:`1ueiar`}]]),fe=f(`cast`,[[`path`,{d:`M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6`,key:`3zrzxg`}],[`path`,{d:`M2 12a9 9 0 0 1 8 8`,key:`g6cvee`}],[`path`,{d:`M2 16a5 5 0 0 1 4 4`,key:`1y1dii`}],[`line`,{x1:`2`,x2:`2.01`,y1:`20`,y2:`20`,key:`xu2jvo`}]]),p=f(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),pe=f(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),me=f(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),he=f(`languages`,[[`path`,{d:`m5 8 6 6`,key:`1wu5hv`}],[`path`,{d:`m4 14 6-6 2-3`,key:`1k1g8d`}],[`path`,{d:`M2 5h12`,key:`or177f`}],[`path`,{d:`M7 2h1`,key:`1t2jsx`}],[`path`,{d:`m22 22-5-10-5 10`,key:`don7ne`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),ge=f(`list-video`,[[`path`,{d:`M21 5H3`,key:`1fi0y6`}],[`path`,{d:`M10 12H3`,key:`1ulcyk`}],[`path`,{d:`M10 19H3`,key:`108z41`}],[`path`,{d:`M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z`,key:`ms4nik`}]]),_e=f(`maximize`,[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3`,key:`1dcmit`}],[`path`,{d:`M21 8V5a2 2 0 0 0-2-2h-3`,key:`1e4gt3`}],[`path`,{d:`M3 16v3a2 2 0 0 0 2 2h3`,key:`wsl5sc`}],[`path`,{d:`M16 21h3a2 2 0 0 0 2-2v-3`,key:`18trek`}]]),ve=f(`minimize`,[[`path`,{d:`M8 3v3a2 2 0 0 1-2 2H3`,key:`hohbtr`}],[`path`,{d:`M21 8h-3a2 2 0 0 1-2-2V3`,key:`5jw1f3`}],[`path`,{d:`M3 16h3a2 2 0 0 1 2 2v3`,key:`198tvr`}],[`path`,{d:`M16 21v-3a2 2 0 0 1 2-2h3`,key:`ph8mxp`}]]),ye=f(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),be=f(`picture-in-picture`,[[`path`,{d:`M2 10h6V4`,key:`zwrco`}],[`path`,{d:`m2 4 6 6`,key:`ug085t`}],[`path`,{d:`M21 10V7a2 2 0 0 0-2-2h-7`,key:`git5jr`}],[`path`,{d:`M3 14v2a2 2 0 0 0 2 2h3`,key:`1f7fh3`}],[`rect`,{x:`12`,y:`14`,width:`10`,height:`7`,rx:`1`,key:`1wjs3o`}]]),xe=f(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),Se=f(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Ce=f(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),we=f(`signal`,[[`path`,{d:`M2 20h.01`,key:`4haj6o`}],[`path`,{d:`M7 20v-4`,key:`j294jx`}],[`path`,{d:`M12 20v-8`,key:`i3yub9`}],[`path`,{d:`M17 20V8`,key:`1tkaf5`}],[`path`,{d:`M22 4v16`,key:`sih9yq`}]]),Te=f(`volume-1`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}]]),Ee=f(`volume-2`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`,key:`ijwkga`}]]),De=f(`volume-x`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`line`,{x1:`22`,x2:`16`,y1:`9`,y2:`15`,key:`1ewh16`}],[`line`,{x1:`16`,x2:`22`,y1:`9`,y2:`15`,key:`5ykzw1`}]]),Oe=f(`volume`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}]]),ke=1e4,Ae=!1,je=e=>{let t=e.match(/#EXT-X-TITLE:(.+)/);if(t?.[1]?.trim())return t[1].trim();let n=e.match(/#EXT-X-SESSION-DATA:[^\n]*DATA-ID="[^"]*title[^"]*"[^\n]*VALUE="([^"]+)"/i);return n?.[1]?.trim()?n[1].trim():null},Me=e=>{if(!e||e.length<10||e[0]!==73||e[1]!==68||e[2]!==51)return null;let t=e[3],n=(e[6]&127)<<21|(e[7]&127)<<14|(e[8]&127)<<7|e[9]&127,r=Math.min(10+n,e.length),i=10;for(;i+10<=r;){let n=String.fromCharCode(e[i],e[i+1],e[i+2],e[i+3]),a=t>=4?(e[i+4]&127)<<21|(e[i+5]&127)<<14|(e[i+6]&127)<<7|e[i+7]&127:e[i+4]<<24|e[i+5]<<16|e[i+6]<<8|e[i+7];if(a<=0||i+10+a>r)break;if(n===`TIT2`){let t=e[i+10],n=e.slice(i+11,i+10+a),r=(t===1||t===2?new TextDecoder(`utf-16`).decode(n):new TextDecoder(t===3?`utf-8`:`latin1`).decode(n)).replace(/\0/g,``).trim();if(r)return r}i+=10+a}return null},Ne=({size:e=20})=>(0,u.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,u.jsx)(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`3`}),(0,u.jsx)(`path`,{d:`M7 9v6M7 12h3M10 9v6`}),(0,u.jsx)(`path`,{d:`M14 9h1.5a3 3 0 0 1 0 6H14z`})]}),m=e=>{let t=e.replace(`#`,``);return t.length===6?`${parseInt(t.substring(0,2),16)}, ${parseInt(t.substring(2,4),16)}, ${parseInt(t.substring(4,6),16)}`:t.length===3?`${parseInt(t[0]+t[0],16)}, ${parseInt(t[1]+t[1],16)}, ${parseInt(t[2]+t[2],16)}`:`99, 102, 241`},Pe={en:`English`,eng:`English`,fr:`French`,fre:`French`,fra:`French`,es:`Spanish`,spa:`Spanish`,de:`German`,ger:`German`,deu:`German`,it:`Italian`,ita:`Italian`,pt:`Portuguese`,por:`Portuguese`,ja:`Japanese`,zh:`Chinese`,ko:`Korean`,ru:`Russian`,ar:`Arabic`,hi:`Hindi`,ta:`Tamil`,tam:`Tamil`},h=e=>{if(!e)return null;let t=e.trim().toLowerCase(),n=t.match(/^(en|eng|fr|fre|fra|es|spa|de|ger|deu|it|ita|pt|por|ja|zh|ko|ru|ar|hi|ta|tam)/);if(n&&Pe[n[0]])return Pe[n[0]];for(let[e,n]of Object.entries(Pe))if(t.includes(e))return n;return/english|anglais|ingles/i.test(t)?`English`:/french|français/i.test(t)?`French`:/spanish|español/i.test(t)?`Spanish`:/german|deutsch/i.test(t)?`German`:/italian|italiano/i.test(t)?`Italian`:/portuguese|português/i.test(t)?`Portuguese`:/japanese|nihongo/i.test(t)?`Japanese`:/chinese|中文/i.test(t)?`Chinese`:/korean|한국어/i.test(t)?`Korean`:/tamil|தமிழ்/i.test(t)?`Tamil`:/russian|русский/i.test(t)?`Russian`:/arabic|العربية/i.test(t)?`Arabic`:/hindi|हिन्दी/i.test(t)?`Hindi`:null},g=e=>{if(e.lang){let t=h(e.lang);if(t)return t}if(e.label){let t=e.label.trim(),n=t.split(/[#\d\.\s\-_/|:]+/).filter(Boolean);for(let e=n.length-1;e>=0;--e){let t=h(n[e]);if(t)return t}let r=t.replace(/^[#\d\.\s]+/,``).trim();return h(r)||r}return`Unknown`},Fe=e=>{let t=new Set;return e.filter(e=>{let n=`${g(e).toLowerCase()}|${(e.lang||``).trim().toLowerCase()}`;return t.has(n)?!1:(t.add(n),!0)})},Ie=e=>{let t=(e??``).split(`:`).map(Number);return(t[0]||0)*3600+(t[1]||0)*60+(t[2]||0)},Le=({src:e,autoplay:t=!1,muted:n=!1,chapters:r=[],keyMoments:i,subtitles:a=[],watermark:o,themeColor:s=`#6366f1`,drmConfig:d,firebaseConfig:te,onAnalyticsEvent:ne,onAdBreakChange:re,onKeyMomentsLoaded:ie,enableControls:ae=!0,enableChromecast:oe,enableKeyMoments:se,enableSubtitles:ce,enableQuality:le,enablePlaybackSpeed:f,enablePiP:Pe,enableFullscreen:h=!0,autoFullscreen:Le=!1,watchProgressInterval:Re=30,subtitleStyle:_={},resolvedEntitlement:ze,licenseKey:Be,title:Ve,chaptersDisplayMode:He=`strip`,volumeControlType:Ue=`slider`,urlTransformer:v,pauseAdOnTabSwitch:We=!0,enableSkipAd:Ge=!1,skipAdAfterSeconds:Ke=5,overlayAdUrl:y,adTrackingUrl:b,sources:x,activeSourceIndex:qe=0,onSourceChange:Je,initialTime:Ye,onTimeUpdate:Xe})=>{let Ze=v??(e=>e),S=(0,l.useRef)(null),Qe=(0,l.useRef)(null),$e=(0,l.useRef)(!1),C=(0,l.useRef)(null),et=(0,l.useRef)(0),tt=(0,l.useRef)(null),w=(0,l.useRef)(null),nt=(0,l.useRef)(null),rt=(0,l.useRef)(null),it=(0,l.useRef)(!1),T=(0,l.useRef)(!1),E=(0,l.useRef)(null),D=(0,l.useRef)(null),at=(0,l.useRef)(null),ot=(0,l.useRef)(()=>{}),O=(0,l.useRef)(null),st=(0,l.useRef)(null),ct=(0,l.useRef)(null),lt=(0,l.useRef)(null),ut=(0,l.useRef)(null),k=(0,l.useRef)(null),dt=(0,l.useRef)(null),ft=(0,l.useRef)(x),pt=(0,l.useRef)(Je),mt=(0,l.useRef)(!1),[ht,gt]=(0,l.useState)(!1),_t=(0,l.useRef)(!1),vt=(0,l.useRef)(null),[yt,bt]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(typeof window>`u`||Ae)return;let e=window.requestAnimationFrame(()=>{let e=S.current;if(!e)return;let t=window.getComputedStyle(e);t.overflow!==`hidden`&&t.borderTopLeftRadius===`0px`&&(Ae=!0,console.warn(`[boss-web-player-sdk] Player styles appear to be missing — the player will look broken/unstyled.
3
3
  Import the stylesheet once at your app entry point:
4
- import 'boss-web-player-sdk/css';`))});return()=>window.cancelAnimationFrame(e)},[]),(0,l.useEffect)(()=>{let e=S.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e)gt(t.contentRect.width<=768)});return t.observe(e),gt(e.getBoundingClientRect().width<=768),()=>t.disconnect()},[]);let[A,xt]=(0,l.useState)(null),St=Re??null,j=St!=null,M=St?.features??{},Ct=j?!!(M.drm_protection&&!ze):!1,N={enableSubtitles:j?!!M.subtitle_support:typeof ce==`boolean`?ce:!0,enableChromecast:j?!!M.chromecast:typeof oe==`boolean`?oe:!0,enableKeyMoments:j?!!M.key_moments:typeof se==`boolean`?se:!0,enableQuality:j?!!M.multiple_resolution:typeof le==`boolean`?le:!0,enablePlaybackSpeed:j?!!M.playback_speed:typeof f==`boolean`?f:!0,enablePiP:j?!!M.picture_in_picture:typeof Ne==`boolean`?Ne:!0,allowAirplay:j?!!M.airplay:!1,allowMultipleAudio:j?!!M.multiple_audio:!0,m3u8_playback:j?!!M.m3u8_playback:!0,drm_protection:j?!!M.drm_protection:!1},[wt,Tt]=(0,l.useState)(!1),[Et,Dt]=(0,l.useState)(0),[Ot,kt]=(0,l.useState)(!1),[P,At]=(0,l.useState)(0),[jt,Mt]=(0,l.useState)(0),[Nt,Pt]=(0,l.useState)(1),[Ft,It]=(0,l.useState)(!1),[Lt,Rt]=(0,l.useState)(!1),[zt,Bt]=(0,l.useState)(!1),[F,Vt]=(0,l.useState)(!1),[Ht,Ut]=(0,l.useState)(!1),Wt=ht||(zt||F)&&Ht,[Gt,Kt]=(0,l.useState)(!1),[qt,Jt]=(0,l.useState)(!1),[I,Yt]=(0,l.useState)([]),L=(0,l.useRef)([]),Xt=(0,l.useRef)(new Set),[Zt,Qt]=(0,l.useState)(new Set),[$t,en]=(0,l.useState)(e);$t!==e&&(en(e),Qt(new Set));let tn=(0,l.useRef)(null),nn=(0,l.useRef)(!1),[rn,an]=(0,l.useState)([]),[on,sn]=(0,l.useState)(null),cn=(0,l.useRef)([]),ln=(0,l.useRef)(null),un=(0,l.useRef)(new Set),[dn,fn]=(0,l.useState)([]),pn=(0,l.useRef)([]),mn=(0,l.useMemo)(()=>I.reduce((e,t)=>e+(t.endTime-t.startTime),0),[I]),hn=jt>0?Math.max(0,jt-mn):0,R=I.length>0&&hn>0?hn:jt,z=(0,l.useCallback)(e=>{let t=e;for(let n of I)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);return Math.max(0,t)},[I]),B=(0,l.useCallback)(e=>{let t=e;for(let e of I)t>=e.startTime&&(t+=e.endTime-e.startTime);return t},[I]),[gn,_n]=(0,l.useState)([]),[vn,yn]=(0,l.useState)({id:-1,height:0,width:0,bitrate:0,label:`Auto`}),[bn,xn]=(0,l.useState)(``),[V,Sn]=(0,l.useState)(`off`),[Cn,wn]=(0,l.useState)(Pe(a)),[Tn,En]=(0,l.useState)([]),[Dn,On]=(0,l.useState)(0);(0,l.useEffect)(()=>{if(A){let e=A.subtitles.getTracks();wn(Pe([...a,...e.filter(e=>!a.some(t=>t.id===e.id))]))}else wn(Pe(a))},[a.map(e=>e.id).join(`,`),A]);let[kn,An]=(0,l.useState)({chapter:null,index:-1}),[H,jn]=(0,l.useState)(i||r||[]),[U,W]=(0,l.useState)(`none`),[Mn,Nn]=(0,l.useState)(1),[G,Pn]=(0,l.useState)(!1),[Fn,In]=(0,l.useState)({}),[Ln,K]=(0,l.useState)(``),[Rn,zn]=(0,l.useState)(null),Bn=(0,l.useRef)(!1),Vn=JSON.stringify(H.map(e=>({title:e.title,startTime:e.startTime})));(0,l.useEffect)(()=>{jn(i||r||[])},[(i||r||[]).map(e=>`${e.startTime}:${e.title}`).join(`,`)]),(0,l.useEffect)(()=>{if(!e||!H||H.length===0)return;In({});let t=document.createElement(`video`);t.muted=!0,t.preload=`metadata`,t.crossOrigin=`anonymous`,t.style.cssText=`position:fixed;top:0;left:0;width:10px;height:10px;opacity:0.01;pointer-events:none;z-index:-9999;`,document.body.appendChild(t);let n=null,r=e.includes(`.m3u8`),i=document.createElement(`canvas`);i.width=160,i.height=90;let a=i.getContext(`2d`),o=0,s=!1,l=()=>{if(o>=H.length){te();return}let e=H[o].startTime;t.currentTime=e===0?.01:e},u=()=>{if(a&&t.readyState>=2){a.drawImage(t,0,0,i.width,i.height);let e=i.toDataURL(`image/jpeg`,.8);In(t=>({...t,[o]:e})),o++,l()}else setTimeout(u,100)},ee=()=>{s||(s=!0,l())};t.addEventListener(`seeked`,u),t.addEventListener(`canplay`,ee),r&&c.u.isSupported()?(n=new c.u({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{let n=d?.authToken;try{let r=Ze(t),i=new URL(r,window.location.origin);n&&i.searchParams.set(`token`,n),e.open(`GET`,i.toString(),!0)}catch(e){console.error(`[WebVideoPlayer tempHls] xhrSetup error:`,e)}}}),n.loadSource(Ze(e)),n.attachMedia(t)):t.src=e,t.readyState>=2&&ee();let te=()=>{t.removeEventListener(`seeked`,u),t.removeEventListener(`canplay`,ee),n&&n.destroy(),document.body.contains(t)&&document.body.removeChild(t)};return te},[e,Vn]);let[q,Hn]=(0,l.useState)(null),[Un,Wn]=(0,l.useState)(null),Gn=(0,l.useRef)(!1),[Kn,qn]=(0,l.useState)(!1),[Jn,Yn]=(0,l.useState)(!1),[Xn,Zn]=(0,l.useState)(null),[Qn,$n]=(0,l.useState)(null),[er,tr]=(0,l.useState)(0),[nr,rr]=(0,l.useState)(0),[ir,ar]=(0,l.useState)(null),[or,sr]=(0,l.useState)(null),[J,cr]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(at.current&&!at.current.querySelector(`google-cast-launcher`)){let e=document.createElement(`google-cast-launcher`);e.style.cursor=`pointer`,e.style.width=`100%`,e.style.height=`100%`,e.style.display=`block`,at.current.appendChild(e)}},[]),(0,l.useEffect)(()=>{if(!A){qn(!1),Yn(!1),Zn(null);return}let e=e=>qn(e),t=()=>{let e=A.getVideoElement(),t=!!e?.webkitCurrentPlaybackTargetIsWireless;Yn(t),Zn(t?e.webkitCurrentPlaybackTargetName||`AirPlay device`:null)};e(A.casting.isAirPlayAvailable()),t();let n=A.getVideoElement(),r=t=>{e(t.availability===`available`)},i=()=>{t()};return`webkitShowPlaybackTargetPicker`in n&&(n.addEventListener(`webkitplaybacktargetavailabilitychanged`,r),n.addEventListener(`webkitcurrentplaybacktargetiswirelesschanged`,i)),()=>{`webkitShowPlaybackTargetPicker`in n&&(n.removeEventListener(`webkitplaybacktargetavailabilitychanged`,r),n.removeEventListener(`webkitcurrentplaybacktargetiswirelesschanged`,i))}},[A]);let[lr,ur]=(0,l.useState)(``),[dr,fr]=(0,l.useState)(!0),[Y,pr]=(0,l.useState)(!1),mr=(0,l.useRef)(null),hr=(0,l.useRef)(!1),gr=(0,l.useRef)(!1),_r=(0,l.useRef)(`none`),vr=(0,l.useRef)(a),yr=()=>{fr(!0),mr.current&&window.clearTimeout(mr.current);let e=_t.current?3500:1e4;mr.current=window.setTimeout(()=>{hr.current&&_r.current===`none`&&fr(!1)},e)},br=(0,l.useCallback)(e=>{k.current&&=(clearTimeout(k.current),null);let t=ft.current,n=t?.[e]?.label??`This format`,r=t?.[0]?.label??`default`;dt.current=null,zn(`${n} isn't supported on this device. Switched to ${r}.`),window.setTimeout(()=>zn(null),4e3),pt.current?.(0)},[]);(0,l.useEffect)(()=>{if(!S.current)return;let r=document.createElement(`video`);r.muted=!0,r.preload=`metadata`,r.crossOrigin=`anonymous`,r.style.cssText=`display:none;position:absolute;pointer-events:none;`,document.body.appendChild(r),w.current=r;let i=e.includes(`.m3u8`);if(i&&c.u.isSupported()){let t=new c.u({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{let n=d?.authToken;try{let r=Ze(t),i=new URL(r,window.location.origin);n&&i.searchParams.set(`token`,n),e.open(`GET`,i.toString(),!0)}catch(e){console.error(`[WebVideoPlayer hiddenHls] xhrSetup error:`,e)}}});t.loadSource(Ze(e)),t.attachMedia(r),nt.current=t,t.on(c.u.Events.MANIFEST_LOADED,(e,t)=>{if(Be)return;let n=m(t?.networkDetails?.responseText??``);n&&ur(n)}),t.on(c.u.Events.FRAG_PARSING_METADATA,(e,t)=>{if(!(Be||lr))for(let e of t?.samples??[]){let t=je(e.data);if(t){ur(t);break}}})}else i&&r.canPlayType(`application/vnd.apple.mpegurl`),r.src=e;r.addEventListener(`seeked`,()=>{let e=tt.current;if(!e)return;let t=e.getContext(`2d`);t&&r.readyState>=2&&(t.drawImage(r,0,0,e.width,e.height),ar(e.toDataURL(`image/jpeg`,.82)))});let l;if(te){let e=new c.c(te);Qe.current=e,l=e.createCallback()}if(Ct)return;let u=new c.t({container:S.current,src:e,autoplay:t,muted:n,keyMoments:H,subtitles:a,drm:{watermarkText:o,allowedDomains:[`localhost`,`127.0.0.1`,window.location.hostname],...d},analyticsCallback:e=>{l?.(e),ne&&ne(e)},watchProgressInterval:Le*1e3,themeColor:s,urlTransformer:Ue});u.on(`keymomentsloaded`,e=>{jn(e),ie&&ie(e)}),u.on(`chaptersloaded`,e=>{jn(e),ie&&ie(e)}),u.on(`play`,()=>{kt(!0),Jt(!1)}),u.on(`pause`,()=>kt(!1)),u.on(`ended`,()=>{kt(!1),Jt(!0)});let ee=()=>{O.current&&(O.current.style.opacity=`1`)},ae=()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{O.current&&(O.current.style.opacity=`0`)})})},oe=e=>{T.current=!0;let t=ct.current??e+.5;ct.current=null,E.current=t,ee(),u.seek(t),D.current&&window.clearTimeout(D.current),D.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,ae()},3e3)};if(st.current=oe,u.on(`timeupdate`,e=>{if(!T.current){let t=L.current.find(t=>Xt.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime);if(t){oe(t.endTime);return}}if(T.current&&E.current!==null)if(e>=E.current-2)T.current=!1,E.current=null,D.current&&=(window.clearTimeout(D.current),null),L.current.some(t=>e>=t.startTime&&e<t.endTime)||ae();else return;At(e);let t=u.getDuration();if(Mt(t),!mt.current&&Ye&&Ye>0&&t>0&&Ye<t&&(mt.current=!0,u.seek(Ye)),Xe?.(e),cn.current.length>0)if(ln.current){let t=ln.current;(e>=t.startTimeSeconds+t.durationSeconds||e<t.startTimeSeconds)&&(sn(null),ln.current=null)}else{let t=cn.current.find(t=>e>=t.startTimeSeconds&&e<t.startTimeSeconds+t.durationSeconds&&!un.current.has(t.availId));t&&(sn(t),ln.current=t,t.impressionBeacons.forEach(e=>{fetch(e,{mode:`no-cors`}).catch(()=>{})}))}let n=u.keyMoments.getCurrentMoment(e);if(An({chapter:n.keyMoment,index:n.index}),`mediaSession`in navigator&&navigator.mediaSession.setPositionState){let t=u.getDuration(),n=L.current.find(t=>e>=t.startTime&&e<t.endTime);if(n){let t=n.endTime-n.startTime,r=Math.max(0,e-n.startTime);if(t>0)try{navigator.mediaSession.setPositionState({duration:t,playbackRate:1,position:Math.min(r,t)})}catch{}}else{let n=L.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),r=t>0?Math.max(0,t-n):0,i=e;for(let t of L.current)e>=t.endTime?i-=t.endTime-t.startTime:e>=t.startTime&&(i-=e-t.startTime);i=Math.max(0,i);let a=L.current.length>0&&r>0?r:t;if(a>0)try{navigator.mediaSession.setPositionState({duration:a,playbackRate:1,position:Math.min(i,a)})}catch{}}}}),u.on(`qualitylevels`,e=>{_n(e)}),u.on(`qualitychange`,e=>{yn(e)}),u.on(`buffering`,e=>{if(Rt(e),!e&&(k.current&&=(clearTimeout(k.current),null),dt.current=null,ut.current!==null)){let e=ut.current;ut.current=null,u.seek(e)}}),u.on(`adbreakchange`,e=>{if(u.analytics.setAdBreak(e,u.getVideoElement()),re&&re(e),e){let e=u.getCurrentTime(),t=L.current.find(t=>e>=t.startTime&&e<t.endTime);if(t&&Xt.current.has(t.startTime)){ee(),T.current||oe(t.endTime);return}t&&(tn.current=t.startTime),pr(!0),W(`none`)}else if(tn.current!==null&&(Xt.current.add(tn.current),Qt(new Set(Xt.current)),tn.current=null),pr(!1),ct.current!==null){let e=ct.current;ct.current=null,T.current=!0,E.current=e,u.seek(e),D.current&&window.clearTimeout(D.current),D.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null},3e3)}}),u.on(`adbreaksloaded`,e=>{L.current=e,Yt(e)}),u.on(`volumechange`,e=>{Pt(e.volume),It(e.muted)}),u.on(`pipchange`,e=>{Kt(e)}),u.on(`error`,()=>{Tt(!0),Rt(!1)}),u.on(`unsupportedcodec`,()=>{let e=dt.current;e&&e.targetIdx!==0&&(ft.current?.length??0)>1&&br(e.targetIdx)}),u.subtitles.onSubtitleChange(e=>{xn(e)}),u.on(`subtitlesloaded`,e=>{if(!N.enableSubtitles)return;wn(Pe([...e]));let t=e.find(e=>e.isDefault);t&&(u.subtitles.setActiveTrack(t.id),Sn(t.id))}),u.on(`audiotracksloaded`,e=>{En(e),On(e[0]?.id??0)}),u.on(`audiotrackchange`,e=>{On(e)}),u.casting.onCastStateChange((e,t)=>{if(e){Gn.current=u.isMuted(),u.pause();let e=u.getVideoElement();e.muted=!0,Hn(t)}else{let e=u.casting.getRemoteState();e&&e.currentTime>0&&u.seek(e.currentTime);let t=u.getVideoElement();t.muted=Gn.current,Hn(null),Wn(null)}}),u.casting.onRemoteStateChange(e=>{Wn(e)}),Pt(u.getVolume()),It(u.isMuted()),`mediaSession`in navigator)try{navigator.mediaSession.setActionHandler(`seekto`,e=>{if(e.seekTime==null||gr.current)return;let t=e.seekTime;for(let e of L.current)t>=e.startTime&&(t+=e.endTime-e.startTime);lt.current?.(t)})}catch{}xt(u);let se=dt.current;se&&se.targetIdx!==0&&(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=null,!u.getBufferedRanges().some(e=>e.end>e.start)&&br(se.targetIdx)},ke)),Ie&&S.current&&($e.current=!0,S.current.requestFullscreen().catch(()=>{$e.current=!1}));let ce=()=>{let e=document,t=!!(document.fullscreenElement||e.webkitFullscreenElement);Bt(t),t||Vt(!1);let n=u.getVideoElement();u.analytics.track(t?`fullscreen_enter`:`fullscreen_exit`,n)};document.addEventListener(`fullscreenchange`,ce),document.addEventListener(`webkitfullscreenchange`,ce);let le=e=>{let t=document.activeElement;if(!(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.getAttribute(`contenteditable`)===`true`||t.getAttribute(`role`)===`slider`))){switch(e.key.toLowerCase()){case` `:case`k`:if(e.preventDefault(),u.getVideoElement().paused)u.play();else{u.pause();try{let e=u.getVideoElement();e&&!e.paused&&e.pause()}catch{}if(w.current&&!w.current.paused)try{w.current.pause()}catch{}}break;case`arrowleft`:case`j`:if(e.preventDefault(),!gr.current){let e=u.getCurrentTime(),t=e;for(let n of L.current)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);let n=Math.max(0,t-10);for(let e of L.current)n>=e.startTime&&(n+=e.endTime-e.startTime);u.seek(n)}break;case`arrowright`:case`l`:if(e.preventDefault(),!gr.current){let e=u.getCurrentTime(),t=L.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),n=Math.max(0,u.getDuration()-t),r=e;for(let t of L.current)e>=t.endTime?r-=t.endTime-t.startTime:e>=t.startTime&&(r-=e-t.startTime);let i=Math.min(n,r+10);for(let e of L.current)i>=e.startTime&&(i+=e.endTime-e.startTime);lt.current?.(i)}break;case`arrowup`:e.preventDefault(),u.setVolume(u.getVolume()+.1);break;case`arrowdown`:e.preventDefault(),u.setVolume(u.getVolume()-.1);break;case`m`:e.preventDefault(),u.setMute(!u.isMuted());break;case`f`:e.preventDefault(),ot.current();break;case`p`:e.preventDefault(),gr.current||u.togglePictureInPicture();break;case`c`:if(e.preventDefault(),N.enableSubtitles&&!gr.current)if(u.subtitles.getActiveTrackId()!==`off`)u.subtitles.setActiveTrack(`off`),Sn(`off`);else{let e=vr.current;e&&e.length>0&&(u.subtitles.setActiveTrack(e[0].id),Sn(e[0].id))}break;default:return}yr()}};return document.addEventListener(`keydown`,le),yr(),()=>{if(u.destroy(),Qe.current?.destroy(),Qe.current=null,document.body.style.overflow=``,document.body.style.touchAction=``,document.removeEventListener(`fullscreenchange`,ce),document.removeEventListener(`webkitfullscreenchange`,ce),document.removeEventListener(`keydown`,le),mr.current&&window.clearTimeout(mr.current),D.current&&=(window.clearTimeout(D.current),null),k.current&&=(clearTimeout(k.current),null),O.current&&(O.current.style.opacity=`0`),`mediaSession`in navigator)try{navigator.mediaSession.setActionHandler(`seekto`,null)}catch{}nt.current&&=(nt.current.destroy(),null),w.current&&=(document.body.removeChild(w.current),null),mt.current=!1}},[e,o,Et]),(0,l.useEffect)(()=>{if(A){A.keyMoments.setKeyMoments(H);let e=S.current?.querySelector(`video`);if(e){let t=A.keyMoments.getCurrentMoment(e.currentTime);An({chapter:t.keyMoment,index:t.index})}}},[Vn,A]),(0,l.useEffect)(()=>{let e=e=>{U!==`none`&&(e.target.closest(`.sdk-menu-container`)||W(`none`))};return document.addEventListener(`click`,e),()=>{document.removeEventListener(`click`,e)}},[U]),(0,l.useEffect)(()=>{hr.current=Ot},[Ot]),(0,l.useEffect)(()=>{gr.current=Y},[Y]),(0,l.useEffect)(()=>{_r.current=U},[U]),(0,l.useEffect)(()=>{vr.current=Cn},[Cn]),(0,l.useEffect)(()=>{_t.current=ht},[ht]),(0,l.useEffect)(()=>{L.current=I},[I]),(0,l.useEffect)(()=>{cn.current=rn},[rn]),(0,l.useEffect)(()=>{ln.current=on},[on]),(0,l.useEffect)(()=>{pn.current=dn},[dn]),(0,l.useEffect)(()=>{ft.current=x},[x]),(0,l.useEffect)(()=>{pt.current=Je},[Je]),(0,l.useEffect)(()=>{Xt.current=new Set,tn.current=null,nn.current=!1,ct.current=null,sn(null),ln.current=null,un.current=new Set,Tt(!1)},[e]),(0,l.useEffect)(()=>{an([]),y&&fetch(y).then(e=>e.json()).then(e=>{let t=new Set,n=[];for(let r of e.nonLinearAvails??[]){if(t.has(r.availId))continue;t.add(r.availId);let e=r.nonLinearAdsList?.[0],i=e?.nonLinearAdList?.[0];if(!i?.staticResource)continue;let a=(e?.trackingEvents??[]).filter(e=>e.eventType===`impression`).flatMap(e=>e.beaconUrls??[]),o={};try{o=JSON.parse(i.adParameters??`{}`)}catch{}let s=o.position??`bottom_center`;n.push({availId:r.availId,startTimeSeconds:Fe(r.startTime??``),durationSeconds:Fe(i.minSuggestedDuration??`00:00:15`),imageUrl:i.staticResource,imageWidth:parseInt(i.width??`320`,10),imageHeight:parseInt(i.height??`50`,10),title:i.adTitle??``,clickThrough:i.clickThrough??``,clickTrackingUrl:i.clickTracking??``,impressionBeacons:a,position:s,dismissible:o.dismissible===!0})}an(n)}).catch(()=>{})},[y,e]),(0,l.useEffect)(()=>{fn([]),b&&fetch(b).then(e=>e.json()).then(e=>{fn((e.avails??[]).map(e=>{let t=e.ads?.[0]?.skipOffset??null,n=!!t;return{startTimeSeconds:e.startTimeInSeconds??0,durationSeconds:e.durationInSeconds??0,skippable:n,skipOffsetSeconds:n?Fe(t):0}}))}).catch(()=>{})},[b,e]),(0,l.useEffect)(()=>{if(!A||dn.length===0)return;let e=dn.map(e=>({startTime:e.startTimeSeconds,endTime:e.startTimeSeconds+e.durationSeconds}));A.setAdBreaks(e)},[A,dn]),(0,l.useEffect)(()=>{if(!A)return;let e=()=>{document.hidden?We&&gr.current&&(A.pause(),nn.current=!0):nn.current&&=(A.play(),!1)};return document.addEventListener(`visibilitychange`,e),()=>{document.removeEventListener(`visibilitychange`,e)}},[A,We]);let xr=()=>{yr()},Sr=()=>{Ie&&!$e.current&&S.current&&($e.current=!0,S.current.requestFullscreen().catch(()=>{}))},Cr=()=>{if(A){if(q){A.casting.remotePlayPause(),yr();return}if(qt)X(0),Sr(),A.play(),Jt(!1);else if(Ot){A.pause();try{let e=A.getVideoElement?.();e&&!e.paused&&e.pause()}catch{}if(S.current&&S.current.querySelectorAll(`video`).forEach(e=>{try{e.pause()}catch{}}),w.current&&!w.current.paused)try{w.current.pause()}catch{}}else Sr(),A.play();yr()}},wr=e=>{if(!C.current||!A||R===0)return 0;let t=C.current.getBoundingClientRect();return B(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*R)},Tr=e=>{if(!A||Y)return;it.current=!0,cr(wr(e));let t=e=>{if(!it.current||!C.current)return;let t=C.current.getBoundingClientRect(),n=B(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*R);cr(n),$n(e.clientX-t.left),rr(n),w.current&&(w.current.currentTime=n),yr()},n=e=>{if(it.current=!1,C.current){let t=C.current.getBoundingClientRect();X(B(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*R))}cr(null),$n(null),ar(null),sr(null),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)};document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)},X=e=>{if(!A)return;if(q){A.casting.remoteSeek(e);return}let t=Math.max(0,jt>0?Math.min(e,jt):e),n=A.getCurrentTime();if(t>n&&L.current.length>0){let e=L.current.filter(e=>e.startTime>n&&e.startTime<t&&!Xt.current.has(e.startTime)).sort((e,t)=>e.startTime-t.startTime);if(e.length>0){ct.current=t;let n=e[e.length-1].startTime;T.current=!0,E.current=n,At(n),O.current&&(O.current.style.opacity=`0`),A.seek(n),D.current&&window.clearTimeout(D.current),D.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,O.current&&(O.current.style.opacity=`0`)},3e3);return}}ct.current=null,T.current=!0,E.current=t,At(t),O.current&&(O.current.style.opacity=`0`),A.seek(t),D.current&&window.clearTimeout(D.current),D.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,O.current&&(O.current.style.opacity=`0`)},3e3)};lt.current=X;let Er=()=>{if(!A)return;if(q){A.casting.remoteSetMute(!(Un?.isMuted??!1));return}let e=!Ft;A.setMute(e),It(e)},Dr=e=>{A&&(A.setPlaybackRate(e),Nn(e),W(`none`),K(`Playback speed: ${e===1?`Normal`:`${e}x`}`))},Or=e=>{if(!A)return;A.setQuality(e);let t=gn.find(t=>t.id===e);t&&(yn(t),K(`Quality: ${t.label}`)),W(`none`)},kr=e=>{if(A)if(A.subtitles.setActiveTrack(e),Sn(e),W(`none`),e===`off`)K(`Captions off`);else{let t=Cn.find(t=>t.id===e);K(`Captions: ${t?_(t):`on`}`)}},Ar=e=>{A&&(k.current&&=(clearTimeout(k.current),null),zn(null),dt.current===null&&(ut.current=A.getCurrentTime()),dt.current={targetIdx:e},W(`none`),K(`Source: ${x?.[e]?.label??``}`),Je?.(e))},jr=e=>{X(e),W(`none`)},Mr=()=>{A&&A.togglePictureInPicture()},Nr=()=>{if(!S.current)return;let e=S.current,t=document,n=e,r=!!(document.fullscreenElement||t.webkitFullscreenElement),i=()=>{Vt(!0),Bt(!0),document.body.style.overflow=`hidden`,document.body.style.touchAction=`none`,A?.analytics.track(`fullscreen_enter`,A.getVideoElement())},a=()=>{Vt(!1),Bt(!1),document.body.style.overflow=``,document.body.style.touchAction=``,A?.analytics.track(`fullscreen_exit`,A.getVideoElement())};if(r||F)Ut(!1),document.fullscreenElement?document.exitFullscreen():t.webkitFullscreenElement?t.webkitExitFullscreen?.():a();else{Ut(_t.current);let t=e.requestFullscreen?.bind(e)??n.webkitRequestFullscreen?.bind(n);t?t().catch(i):i()}};(0,l.useEffect)(()=>{ot.current=Nr});let Pr=()=>{if(!Y)return;let e=I.find(e=>P>=e.startTime&&P<e.endTime);e&&st.current?.(e.endTime)},Fr=()=>{ln.current&&un.current.add(ln.current.availId),sn(null),ln.current=null},Ir=e=>{e.clickTrackingUrl&&fetch(e.clickTrackingUrl,{mode:`no-cors`}).catch(()=>{}),e.clickThrough&&window.open(e.clickThrough,`_blank`,`noopener,noreferrer`)},Lr=()=>{A&&(q?A.casting.stopCasting():A.casting.requestSession(e,P))},Rr=()=>{if(!A)return;let e=A.getVideoElement();if(Jn){A.casting.stopAirPlay(e);return}typeof e.webkitShowPlaybackTargetPicker==`function`||A.casting.isAirPlayAvailable()?A.casting.requestAirPlaySession(e):console.warn(`[PlayerSDK AirPlay] AirPlay is not available on this device.`)},zr=e=>{if(!C.current||R===0||!A||Y)return;let t=C.current.getBoundingClientRect();et.current=t.width,tr(Math.max(192/2,Math.min(e.clientX-t.left,t.width-192/2)));let n=B(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*R);$n(e.clientX-t.left),rr(n),rt.current&&window.clearTimeout(rt.current),rt.current=window.setTimeout(()=>{w.current&&(w.current.currentTime=n)},100),sr(A.keyMoments.getCurrentMoment(n).keyMoment)},Br=e=>{if(!C.current||R===0)return 0;let t=C.current.getBoundingClientRect();return B(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*R)},Vr=e=>{if(!A||Y||R===0)return;e.preventDefault(),it.current=!0,cr(Br(e.touches[0]));let t=e=>{if(!it.current||!C.current)return;let t=e.touches[0],n=C.current.getBoundingClientRect(),r=B(Math.max(0,Math.min(1,(t.clientX-n.left)/n.width))*R);cr(r),rr(r),yr()},n=e=>{if(it.current=!1,C.current&&e.changedTouches[0]){let t=e.changedTouches[0],n=C.current.getBoundingClientRect();X(B(Math.max(0,Math.min(1,(t.clientX-n.left)/n.width))*R))}cr(null),document.removeEventListener(`touchmove`,t),document.removeEventListener(`touchend`,n)};document.addEventListener(`touchmove`,t,{passive:!1}),document.addEventListener(`touchend`,n)},Hr=()=>{$n(null),ar(null),sr(null),rt.current&&window.clearTimeout(rt.current)},Z=e=>{if(isNaN(e)||e<0)return`00:00`;let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${a(n)}:${a(r)}:${a(i)}`:`${a(r)}:${a(i)}`};(0,l.useEffect)(()=>{Bn.current&&K(Ot?`Playing`:`Paused`)},[Ot]),(0,l.useEffect)(()=>{Bn.current&&K(Ft?`Muted`:`Unmuted`)},[Ft]),(0,l.useEffect)(()=>{Bn.current=!0},[]),(0,l.useEffect)(()=>{let e=e=>{e.key===`Escape`&&_r.current!==`none`&&(e.preventDefault(),W(`none`))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]);let Ur=q?!(Un?.isPaused??!0):Ot,Q=q?Un?.currentTime??0:P,Wr=q?Un?.duration??0:R,Gr=q?Un?.volumeLevel??1:Nt,Kr=q?Un?.isMuted??!1:Ft,qr=(0,l.useCallback)(e=>{if(Y||e.target.closest(`.sdk-mobile-ctrl`))return;let t=Date.now(),n=S.current?.getBoundingClientRect(),r=e.clientX-(n?.left??0),i=vt.current;if(i&&t-i.time<300){vt.current=null;let e=r<(n?.width??0)/2,t=e?-10:10;X(B(Math.max(0,Math.min(R,z(Q)+t)))),bt(e?`left`:`right`),window.setTimeout(()=>bt(null),700),yr()}else vt.current={time:t,x:r},dr?(fr(!1),mr.current&&window.clearTimeout(mr.current)):yr()},[Y,R,z,Q,B,X,dr]),Jr=()=>Kr||Gr===0?(0,u.jsx)(De,{size:18}):Gr<.3?(0,u.jsx)(Oe,{size:18}):Gr<.7?(0,u.jsx)(Te,{size:18}):(0,u.jsx)(Ee,{size:18}),$=e=>t=>{t.key===`Enter`||t.key===` `?(t.preventDefault(),e()):t.key===`Escape`&&(t.preventDefault(),W(`none`))},Yr=e=>t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())},Xr=e=>{if(!Y)if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let t=e.key===`ArrowLeft`?-5:5;X(B(Math.max(0,Math.min(R,z(Q)+t))))}else e.key===`Home`?(e.preventDefault(),X(B(0))):e.key===`End`&&(e.preventDefault(),X(B(R)))},Zr=e=>{W(U===e?`none`:e)},Qr=(0,l.useCallback)(e=>{if(!e)return;e.style.left=``;let t=S.current;if(!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.right-(r.right-8),a=r.left+8-n.left;i>0?e.style.left=`calc(50% - ${Math.ceil(i)}px)`:a>0&&(e.style.left=`calc(50% + ${Math.ceil(a)}px)`)},[]);return(0,u.jsxs)(`div`,{ref:S,role:`region`,"aria-label":Be||lr?`${Be||lr} video player`:`Video player`,className:`sdk-player-container ${dr?`controls-active`:``} ${F?`sdk-fs-simulated`:``}`,onMouseMove:xr,onTouchStart:Wt?void 0:yr,onMouseLeave:()=>{},style:{border:F?`none`:`1px solid rgba(255, 255, 255, 0.08)`,"--sdk-theme-color":s,"--sdk-theme-color-rgb":h(s)},children:[(0,u.jsx)(`canvas`,{ref:tt,width:160,height:90,style:{display:`none`,position:`absolute`,pointerEvents:`none`},"aria-hidden":`true`}),(0,u.jsx)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`sdk-sr-only`,children:Ln}),(0,u.jsx)(`div`,{ref:O,style:{opacity:0,position:`absolute`,inset:0,background:`#000`,zIndex:100,pointerEvents:`none`,willChange:`opacity`},"aria-hidden":`true`}),(0,u.jsx)(`div`,{className:`sdk-spinner-overlay ${Lt?`active`:``}`,"aria-hidden":`true`,children:(0,u.jsx)(`div`,{className:`sdk-spinner`})}),wt&&(0,u.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:50,background:`rgba(9,9,14,0.96)`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:20,padding:`0 24px`},children:(0,u.jsx)(ee,{onRetry:()=>{Tt(!1),Dt(e=>e+1)}})}),Rn&&(0,u.jsx)(`div`,{style:{position:`absolute`,top:16,left:`50%`,transform:`translateX(-50%)`,background:`rgba(0,0,0,0.82)`,color:`#fff`,fontSize:13,fontWeight:500,padding:`8px 16px`,borderRadius:8,zIndex:80,pointerEvents:`none`,whiteSpace:`nowrap`,backdropFilter:`blur(8px)`,border:`1px solid rgba(255,255,255,0.12)`},children:Rn}),N.enableSubtitles&&bn&&V!==`off`&&(0,u.jsx)(`div`,{className:`sdk-subtitles-overlay`,children:(0,u.jsx)(`span`,{className:`sdk-subtitles-text`,style:{fontSize:v.size===`small`?`14px`:v.size===`large`?`24px`:`18px`,color:v.color??`#ffffff`,background:v.background===`none`?`transparent`:v.background===`solid`?`rgba(0, 0, 0, 0.92)`:`rgba(15, 23, 42, 0.78)`,border:v.background===`none`?`none`:`1px solid rgba(255,255,255,0.08)`,backdropFilter:v.background===`none`?`none`:`blur(8px)`},dangerouslySetInnerHTML:{__html:bn}})}),on&&(0,u.jsxs)(`div`,{className:`sdk-overlay-ad sdk-overlay-ad--${on.position}`,role:`complementary`,"aria-label":`Advertisement`,children:[(0,u.jsxs)(`div`,{className:`sdk-overlay-ad-topbar`,children:[(0,u.jsx)(`span`,{className:`sdk-overlay-ad-label`,children:`Ad`}),on.dismissible&&(0,u.jsx)(`button`,{className:`sdk-overlay-ad-close`,onClick:Fr,"aria-label":`Close advertisement`,children:`✕`})]}),(0,u.jsx)(`img`,{src:on.imageUrl,width:on.imageWidth,height:on.imageHeight,alt:on.title||`Advertisement`,className:`sdk-overlay-ad-img`,onClick:()=>Ir(on)})]}),Y&&(()=>{let e=I.find(e=>P>=e.startTime&&P<e.endTime),t=e?Math.max(0,e.endTime-P):0,n=e?P-e.startTime:0,r=dn.find(e=>P>=e.startTimeSeconds&&P<e.startTimeSeconds+e.durationSeconds),i=r?r.skippable:Ge,a=r?r.skipOffsetSeconds:Ke,o=i&&n>=a,s=Math.ceil(a-n);return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(`div`,{className:`sdk-ad-countdown`,role:`timer`,"aria-label":`Advertisement — ${Z(t)} remaining`,"aria-live":`off`,children:[(0,u.jsx)(`span`,{className:`sdk-ad-countdown-label`,"aria-hidden":`true`,children:`Ad`}),(0,u.jsx)(`span`,{className:`sdk-ad-countdown-sep`,"aria-hidden":`true`,children:`·`}),(0,u.jsx)(`span`,{className:`sdk-ad-countdown-time`,"aria-hidden":`true`,children:Z(t)})]}),i&&(0,u.jsx)(`button`,{className:`sdk-skip-ad-btn ${o?`sdk-skip-ad-btn--ready`:``}`,onClick:o?Pr:void 0,disabled:!o,"aria-label":o?`Skip advertisement`:`Skip advertisement available in ${s} seconds`,"aria-disabled":!o,children:o?`Skip Ad ›`:`Skip in ${s}s`})]})})(),Ct&&(0,u.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`rgba(0,0,0,0.72)`,color:`#fff`,zIndex:60},children:(0,u.jsxs)(`div`,{style:{maxWidth:480,textAlign:`center`,padding:24},children:[(0,u.jsx)(`h3`,{style:{margin:`0 0 8px`},children:`Playback restricted`}),(0,u.jsx)(`p`,{style:{margin:0},children:`Your account is missing a required license key. Please contact your administrator.`})]})}),(q||Jn)&&(0,u.jsx)(`div`,{className:`sdk-cast-bg`}),Wt&&(0,u.jsxs)(`div`,{className:`sdk-mobile-overlay ${dr?`active`:``}`,onClick:qr,children:[yt&&(0,u.jsx)(`div`,{className:`sdk-mobile-doubletap ${yt}`,children:(0,u.jsxs)(`div`,{className:`sdk-mobile-doubletap-icon`,children:[yt===`left`?(0,u.jsx)(Se,{size:26}):(0,u.jsx)(Ce,{size:26}),(0,u.jsx)(`span`,{className:`sdk-mobile-doubletap-label`,children:`10s`})]})}),ae&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(`div`,{className:`sdk-mobile-header sdk-mobile-ctrl`,children:[(0,u.jsxs)(`div`,{className:`sdk-mobile-header-left`,children:[(zt||F)&&(0,u.jsx)(`button`,{className:`sdk-mobile-back-btn`,onClick:Nr,"aria-label":`Exit fullscreen`,children:(0,u.jsx)(pe,{size:22,"aria-hidden":`true`})}),(Be||lr)&&(0,u.jsx)(`div`,{className:`sdk-mobile-title`,children:Be||lr})]}),(0,u.jsxs)(`div`,{className:`sdk-mobile-header-actions`,children:[N.enablePiP&&(0,u.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:()=>{Y||Mr()},style:{color:Gt?s:``},"aria-label":Gt?`Exit picture-in-picture`:`Enter picture-in-picture`,"aria-pressed":Gt,children:(0,u.jsx)(be,{size:20,"aria-hidden":`true`})}),N.enableChromecast&&!Y&&(0,u.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:Lr,title:q?`Casting to ${q} — tap to disconnect`:`Cast to device`,"aria-label":q?`Stop casting to ${q}`:`Cast to device`,"aria-pressed":!!q,style:{color:q?`#3b82f6`:``},children:(0,u.jsx)(fe,{size:20,fill:q?`currentColor`:`none`,"aria-hidden":`true`})}),N.allowAirplay&&Kn&&(0,u.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:Rr,"aria-label":Jn?`Stop AirPlay to ${Xn||`device`}`:`AirPlay to device`,"aria-pressed":Jn,style:{color:Jn?s:``},children:(0,u.jsx)(ue,{size:20,"aria-hidden":`true`})})]})]}),(0,u.jsxs)(`div`,{className:`sdk-mobile-center-controls sdk-mobile-ctrl`,children:[!Y&&(0,u.jsxs)(`button`,{className:`sdk-mobile-seek-btn`,onClick:()=>X(B(Math.max(0,z(Q)-10))),"aria-label":`Rewind 10 seconds`,children:[(0,u.jsx)(Se,{size:22,"aria-hidden":`true`}),(0,u.jsx)(`span`,{className:`sdk-mobile-seek-label`,"aria-hidden":`true`,children:`10`})]}),(0,u.jsx)(`button`,{className:`sdk-mobile-play-btn`,onClick:Cr,"aria-label":qt?`Replay`:Ur?`Pause`:`Play`,children:qt?(0,u.jsx)(Se,{size:38,"aria-hidden":`true`}):Ur?(0,u.jsx)(ye,{size:38,fill:`currentColor`,"aria-hidden":`true`}):(0,u.jsx)(xe,{size:38,fill:`currentColor`,style:{marginLeft:`3px`},"aria-hidden":`true`})}),!Y&&(0,u.jsxs)(`button`,{className:`sdk-mobile-seek-btn`,onClick:()=>X(B(Math.min(R,z(Q)+10))),"aria-label":`Skip forward 10 seconds`,children:[(0,u.jsx)(Ce,{size:22,"aria-hidden":`true`}),(0,u.jsx)(`span`,{className:`sdk-mobile-seek-label`,"aria-hidden":`true`,children:`10`})]})]}),(0,u.jsxs)(`div`,{className:`sdk-mobile-bottom-bar sdk-mobile-ctrl`,children:[N.enableKeyMoments&&G&&H.length>0&&(0,u.jsx)(`div`,{className:`sdk-mobile-chapters-scroll`,children:H.map((e,t)=>{let n=kn.index===t;return(0,u.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-mobile-chapter-card${n?` active`:``}`,style:{borderColor:n?s:void 0},"aria-label":`${e.title}, ${Z(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:()=>{X(e.startTime)},onKeyDown:Yr(()=>X(e.startTime)),children:[(0,u.jsxs)(`div`,{className:`sdk-mobile-chapter-thumb`,children:[Fn[t]||e.thumbnail?(0,u.jsx)(`img`,{src:Fn[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,u.jsx)(ge,{size:16,"aria-hidden":`true`,style:{color:n?s:`rgba(255,255,255,0.3)`}}),(0,u.jsx)(`span`,{className:`sdk-mobile-chapter-time-badge`,"aria-hidden":`true`,children:Z(e.startTime)})]}),(0,u.jsx)(`div`,{className:`sdk-mobile-chapter-title`,style:{color:n?s:void 0},children:e.title})]},t)})}),(0,u.jsx)(`div`,{ref:C,role:Y?void 0:`slider`,"aria-label":Y?void 0:`Seek`,"aria-valuemin":Y?void 0:0,"aria-valuemax":Y?void 0:Math.round(R),"aria-valuenow":Y?void 0:Math.round(z(J===null?P:J)),"aria-valuetext":Y?void 0:`${Z(z(J===null?P:J))} of ${Z(R)}`,tabIndex:Y?void 0:0,className:`sdk-seekbar-container sdk-mobile-seekbar${Y?` sdk-ad-mode`:``}`,onMouseDown:Y?void 0:Tr,onMouseMove:Y?void 0:zr,onMouseLeave:Y?void 0:Hr,onTouchStart:Y?void 0:Vr,onKeyDown:Y?void 0:Xr,style:{pointerEvents:Y?`none`:void 0,touchAction:`none`},children:Y?(0,u.jsx)(`div`,{className:`sdk-ad-progress-fill`,style:{width:(()=>{let e=I.find(e=>P>=e.startTime&&P<e.endTime);return e?`${(P-e.startTime)/(e.endTime-e.startTime)*100}%`:`0%`})()}}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`div`,{className:`sdk-seekbar-buffered`,style:{width:`${jt?(A&&A.getBufferedRanges()[0]?.end||0)/jt*100:0}%`}}),R>0&&I.filter(e=>!Zt.has(e.startTime)).map((e,t)=>(0,u.jsx)(`div`,{className:`sdk-seekbar-adbreak`,style:{left:`${z(e.startTime)/R*100}%`,width:`3px`}},t)),(0,u.jsx)(`div`,{className:`sdk-seekbar-progress`,style:{width:q?`${Wr>0?Q/Wr*100:0}%`:`${R?z(J===null?P:J)/R*100:0}%`,background:`#ffffff`,boxShadow:`none`},children:(0,u.jsx)(`div`,{className:`sdk-seekbar-handle`,style:{opacity:1,transform:`scale(1)`}})}),N.enableKeyMoments&&H.map((e,t)=>R===0?null:(0,u.jsx)(`div`,{className:`sdk-seekbar-chapter-marker sdk-desktop-chapter-dot`,style:{left:`${z(e.startTime)/R*100}%`}},t))]})}),(0,u.jsxs)(`div`,{className:`sdk-mobile-controls-row`,children:[!Y&&(0,u.jsx)(`span`,{className:`sdk-time-display`,children:q?`${Z(Q)} / ${Z(Wr)}`:`${Z(z(J===null?P:J))} / ${Z(R)}`}),(0,u.jsxs)(`div`,{className:`sdk-mobile-bottom-icons`,children:[N.enableKeyMoments&&H.length>0&&!Y&&(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn${G?` active`:``}`,onClick:()=>{Pn(!G)},"aria-label":G?`Hide chapters`:`Show chapters`,"aria-pressed":G,children:(0,u.jsx)(ge,{size:18,"aria-hidden":`true`})}),N.enableSubtitles&&!Y&&Cn.some(e=>!e.isNative)&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn${V===`off`?``:` active`}`,onClick:()=>{Zr(`subtitles`)},"aria-label":`Captions`,"aria-haspopup":`listbox`,"aria-expanded":U===`subtitles`,children:(0,u.jsx)(de,{size:18,"aria-hidden":`true`})}),U===`subtitles`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Captions`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Subtitles`}),(0,u.jsxs)(`div`,{role:`option`,"aria-selected":V===`off`,tabIndex:0,className:`sdk-dropup-item ${V===`off`?`active`:``}`,onClick:()=>kr(`off`),onKeyDown:$(()=>kr(`off`)),children:[(0,u.jsx)(`span`,{children:`Off`}),V===`off`&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]}),Cn.map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":V===e.id,tabIndex:0,className:`sdk-dropup-item ${V===e.id?`active`:``}`,onClick:()=>kr(e.id),onKeyDown:$(()=>kr(e.id)),children:[(0,u.jsx)(`span`,{children:_(e)}),V===e.id&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),N.allowMultipleAudio&&Tn.length>1&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn${U===`audio`?` active`:``}`,onClick:()=>{Zr(`audio`)},"aria-label":`Audio track`,"aria-haspopup":`listbox`,"aria-expanded":U===`audio`,children:(0,u.jsx)(he,{size:18,"aria-hidden":`true`})}),U===`audio`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Audio track`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Audio Track`}),Tn.map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":Dn===e.id,tabIndex:0,className:`sdk-dropup-item ${Dn===e.id?`active`:``}`,onClick:()=>{A?.setAudioTrack(e.id),On(e.id),W(`none`),K(`Audio: ${_(e)}`)},onKeyDown:$(()=>{A?.setAudioTrack(e.id),On(e.id),W(`none`),K(`Audio: ${_(e)}`)}),children:[(0,u.jsx)(`span`,{children:_(e)}),Dn===e.id&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),N.enablePlaybackSpeed&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn${U===`speed`?` active`:``}`,onClick:()=>{Zr(`speed`)},"aria-label":`Playback speed`,"aria-haspopup":`listbox`,"aria-expanded":U===`speed`,children:(0,u.jsx)(me,{size:18,"aria-hidden":`true`})}),U===`speed`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Playback speed`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Speed`}),[.5,.75,1,1.25,1.5,2].map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":Mn===e,tabIndex:0,className:`sdk-dropup-item ${Mn===e?`active`:``}`,onClick:()=>Dr(e),onKeyDown:$(()=>Dr(e)),children:[(0,u.jsx)(`span`,{children:e===1?`Normal`:`${e}x`}),Mn===e&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e))]})]}),N.enableQuality&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn${vn.id===-1?``:` active`}`,onClick:()=>{Zr(`quality`)},"aria-label":`Video quality`,"aria-haspopup":`listbox`,"aria-expanded":U===`quality`,children:(0,u.jsx)(Me,{size:18,"aria-hidden":`true`})}),U===`quality`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu large`,role:`listbox`,"aria-label":`Video quality`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Quality`}),gn.map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":vn.id===e.id,tabIndex:0,className:`sdk-dropup-item ${vn.id===e.id?`active`:``}`,onClick:()=>Or(e.id),onKeyDown:$(()=>Or(e.id)),children:[(0,u.jsx)(`span`,{children:e.label}),vn.id===e.id&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),x&&x.length>1&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn${U===`sources`?` active`:``}`,onClick:()=>{Zr(`sources`)},"aria-label":`Select source`,"aria-haspopup":`listbox`,"aria-expanded":U===`sources`,children:(0,u.jsx)(we,{size:18,"aria-hidden":`true`})}),U===`sources`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Select source`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Source`}),x.map((e,t)=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":qe===t,tabIndex:0,className:`sdk-dropup-item ${qe===t?`active`:``}`,onClick:()=>Ar(t),onKeyDown:$(()=>Ar(t)),children:[(0,u.jsx)(`span`,{children:e.label}),qe===t&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},t))]})]}),(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn`,onClick:Nr,"aria-label":zt||F?`Exit fullscreen`:`Enter fullscreen`,"aria-pressed":zt||F,children:zt?(0,u.jsx)(ve,{size:18,"aria-hidden":`true`}):(0,u.jsx)(_e,{size:18,"aria-hidden":`true`})})]})]})]})]})]}),!Wt&&(0,u.jsxs)(`div`,{className:`sdk-controls-overlay`,onClick:e=>{Y||e.target.closest(`.sdk-desktop-header`)||e.target.closest(`.sdk-desktop-center-controls`)||e.target.closest(`.sdk-desktop-bottom`)||Cr()},children:[(0,u.jsxs)(`div`,{className:`sdk-desktop-header`,children:[(0,u.jsxs)(`div`,{className:`sdk-desktop-header-left`,children:[(zt||F)&&(0,u.jsx)(`button`,{className:`sdk-desktop-back-btn`,onClick:e=>{e.stopPropagation(),Nr()},"aria-label":`Exit fullscreen`,children:(0,u.jsx)(pe,{size:22,"aria-hidden":`true`})}),(Be||lr)&&(0,u.jsx)(`span`,{className:`sdk-desktop-title`,children:Be||lr})]}),(0,u.jsxs)(`div`,{className:`sdk-desktop-header-right`,children:[N.enableChromecast&&!Y&&(0,u.jsx)(`button`,{className:`sdk-desktop-hdr-btn`,onClick:e=>{e.stopPropagation(),Lr()},title:q?`Casting to ${q} — click to disconnect`:`Cast to device`,"aria-label":q?`Stop casting to ${q}`:`Cast to device`,"aria-pressed":!!q,style:{color:q?`#3b82f6`:``},children:(0,u.jsx)(fe,{size:20,fill:q?`currentColor`:`none`,"aria-hidden":`true`})}),q&&(0,u.jsxs)(`span`,{className:`sdk-cast-indicator`,"aria-hidden":`true`,children:[(0,u.jsx)(fe,{size:10,fill:`currentColor`,"aria-hidden":`true`}),q]}),N.allowAirplay&&Kn&&(0,u.jsx)(`button`,{className:`sdk-desktop-hdr-btn`,onClick:e=>{e.stopPropagation(),Rr()},title:Jn?`AirPlay to ${Xn||`device`} — click to disconnect`:`AirPlay to device`,"aria-label":Jn?`Stop AirPlay to ${Xn||`device`}`:`AirPlay to device`,"aria-pressed":Jn,style:{color:Jn?s:``},children:(0,u.jsx)(ue,{size:20,"aria-hidden":`true`})})]})]}),ae&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(`div`,{className:`sdk-desktop-center-controls`,style:{pointerEvents:`none`},children:[!Y&&(0,u.jsx)(`button`,{className:`sdk-desktop-seek-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),X(B(Math.max(0,z(Q)-10)))},title:`Rewind 10s`,"aria-label":`Rewind 10 seconds`,children:(0,u.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,u.jsx)(Se,{size:30,"aria-hidden":`true`}),(0,u.jsx)(`span`,{className:`sdk-desktop-seek-label`,"aria-hidden":`true`,children:`10`})]})}),(0,u.jsx)(`button`,{className:`sdk-desktop-play-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),Cr()},title:qt?`Replay`:Ur?`Pause`:`Play`,"aria-label":qt?`Replay`:Ur?`Pause`:`Play`,children:qt?(0,u.jsx)(Se,{size:38,"aria-hidden":`true`}):Ur?(0,u.jsx)(ye,{size:38,fill:`currentColor`,"aria-hidden":`true`}):(0,u.jsx)(xe,{size:38,fill:`currentColor`,style:{marginLeft:`4px`},"aria-hidden":`true`})}),!Y&&(0,u.jsx)(`button`,{className:`sdk-desktop-seek-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),X(B(Math.min(R,z(Q)+10)))},title:`Forward 10s`,"aria-label":`Skip forward 10 seconds`,children:(0,u.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,u.jsx)(Ce,{size:30,"aria-hidden":`true`}),(0,u.jsx)(`span`,{className:`sdk-desktop-seek-label`,"aria-hidden":`true`,children:`10`})]})})]}),N.enableKeyMoments&&G&&H.length>0&&Ve===`panel`&&(0,u.jsxs)(`div`,{className:`sdk-chapters-panel`,onClick:e=>e.stopPropagation(),children:[(0,u.jsx)(`div`,{className:`sdk-chapters-panel-header`,children:(0,u.jsx)(`span`,{className:`sdk-chapters-panel-title`,children:`Chapters`})}),(0,u.jsx)(`div`,{className:`sdk-chapters-panel-list`,children:H.map((e,t)=>{let n=kn.index===t;return(0,u.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-chapters-panel-item${n?` active`:``}`,"aria-label":`${e.title}, ${Z(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:()=>jr(e.startTime),onKeyDown:Yr(()=>jr(e.startTime)),children:[(0,u.jsx)(`div`,{className:`sdk-chapters-panel-thumb`,children:Fn[t]||e.thumbnail?(0,u.jsx)(`img`,{src:Fn[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,u.jsx)(ge,{size:18,"aria-hidden":`true`,style:{color:`rgba(255,255,255,0.3)`}})}),(0,u.jsxs)(`div`,{className:`sdk-chapters-panel-info`,children:[(0,u.jsx)(`div`,{className:`sdk-chapters-panel-item-title`,children:e.title}),e.description&&(0,u.jsx)(`div`,{className:`sdk-chapters-panel-item-desc`,children:e.description}),(0,u.jsx)(`div`,{className:`sdk-chapters-panel-item-time`,"aria-hidden":`true`,children:Z(e.startTime)})]})]},t)})})]}),(0,u.jsxs)(`div`,{className:`sdk-desktop-bottom`,children:[N.enableKeyMoments&&G&&H.length>0&&Ve===`strip`&&(0,u.jsx)(`div`,{className:`sdk-desktop-chapters-strip`,children:H.map((e,t)=>{let n=kn.index===t;return(0,u.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-desktop-chapter-card${n?` active`:``}`,"aria-label":`${e.title}, ${Z(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:t=>{t.stopPropagation(),jr(e.startTime)},onKeyDown:Yr(()=>jr(e.startTime)),children:[(0,u.jsx)(`div`,{className:`sdk-desktop-chapter-thumb`,children:Fn[t]||e.thumbnail?(0,u.jsx)(`img`,{src:Fn[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,u.jsx)(ge,{size:18,"aria-hidden":`true`,style:{color:`rgba(255,255,255,0.35)`}})}),(0,u.jsx)(`div`,{className:`sdk-desktop-chapter-title`,children:e.title}),(0,u.jsx)(`div`,{className:`sdk-desktop-chapter-time`,"aria-hidden":`true`,children:Z(e.startTime)})]},t)})}),(0,u.jsx)(`div`,{ref:C,role:Y?void 0:`slider`,"aria-label":Y?void 0:`Seek`,"aria-valuemin":Y?void 0:0,"aria-valuemax":Y?void 0:Math.round(R),"aria-valuenow":Y?void 0:Math.round(z(J===null?P:J)),"aria-valuetext":Y?void 0:`${Z(z(J===null?P:J))} of ${Z(R)}`,tabIndex:Y?void 0:0,className:`sdk-seekbar-container sdk-desktop-seekbar${Y?` sdk-ad-mode`:``}`,onMouseDown:Y?void 0:Tr,onMouseMove:Y?void 0:zr,onMouseLeave:Y?void 0:Hr,onTouchStart:Y?void 0:Vr,onKeyDown:Y?void 0:Xr,style:{pointerEvents:Y?`none`:void 0},children:Y?(0,u.jsx)(`div`,{className:`sdk-ad-progress-fill`,style:{width:(()=>{let e=I.find(e=>P>=e.startTime&&P<e.endTime);return e?`${(P-e.startTime)/(e.endTime-e.startTime)*100}%`:`0%`})()}}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`div`,{className:`sdk-seekbar-buffered`,style:{width:`${jt?(A&&A.getBufferedRanges()[0]?.end||0)/jt*100:0}%`}}),R>0&&I.filter(e=>!Zt.has(e.startTime)).map((e,t)=>(0,u.jsx)(`div`,{className:`sdk-seekbar-adbreak`,style:{left:`${z(e.startTime)/R*100}%`,width:`3px`}},t)),(0,u.jsx)(`div`,{className:`sdk-seekbar-progress`,style:{width:q?`${Wr>0?Q/Wr*100:0}%`:`${R?z(J===null?P:J)/R*100:0}%`,background:`#ffffff`,boxShadow:`none`},children:(0,u.jsx)(`div`,{className:`sdk-seekbar-handle`})}),N.enableKeyMoments&&H.map((e,t)=>R===0?null:(0,u.jsx)(`div`,{className:`sdk-seekbar-chapter-marker sdk-desktop-chapter-dot`,style:{left:`${z(e.startTime)/R*100}%`}},t)),Qn!==null&&ir&&(0,u.jsxs)(`div`,{className:`sdk-thumbnail-tooltip`,style:{left:`${er}px`},children:[(0,u.jsx)(`div`,{className:`sdk-thumbnail-preview`,children:(0,u.jsx)(`img`,{src:ir,alt:`preview`,style:{width:`100%`,height:`100%`,objectFit:`cover`,borderRadius:`8px`,display:`block`}})}),or&&(0,u.jsx)(`div`,{className:`sdk-thumbnail-chapter-name`,children:or.title}),(0,u.jsx)(`div`,{className:`sdk-thumbnail-time-label`,children:Z(z(nr))})]})]})}),(0,u.jsxs)(`div`,{className:`sdk-desktop-controls-row`,children:[(0,u.jsxs)(`div`,{className:`sdk-desktop-left-controls`,children:[!Y&&(0,u.jsx)(`div`,{className:`sdk-time-display`,children:q?`${Z(Q)} / ${Z(Wr)}`:`${Z(z(J===null?P:J))} / ${Z(R)}`}),He===`slider`&&(0,u.jsxs)(`div`,{className:`sdk-volume-control`,children:[(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),Er()},title:Kr?`Unmute`:`Mute`,"aria-label":Kr?`Unmute`:`Mute`,"aria-pressed":Kr,children:Jr()}),(0,u.jsx)(`input`,{type:`range`,className:`sdk-volume-slider`,min:0,max:1,step:.02,value:Kr?0:Gr,"aria-label":`Volume`,"aria-valuetext":Kr?`Muted`:`${Math.round(Gr*100)}%`,style:{"--vol-pct":Math.round((Kr?0:Gr)*100)},onChange:e=>{let t=parseFloat(e.target.value);q?(A?.casting.remoteSetVolume(t),t>0&&A?.casting.remoteSetMute(!1)):(A?.setVolume(t),t>0&&Ft&&A?.setMute(!1))},onClick:e=>e.stopPropagation()})]})]}),(0,u.jsxs)(`div`,{className:`sdk-desktop-right-icons`,children:[N.enableKeyMoments&&H.length>0&&!Y&&(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${G?` active`:``}`,onClick:e=>{e.stopPropagation(),Pn(!G)},title:`Key Moments`,"aria-label":G?`Hide chapters`:`Show chapters`,"aria-pressed":G,children:(0,u.jsx)(ge,{size:20,"aria-hidden":`true`})}),N.enableSubtitles&&!Y&&Cn.some(e=>!e.isNative)&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${V===`off`?``:` active`}`,onClick:e=>{e.stopPropagation(),Zr(`subtitles`)},title:`Captions`,"aria-label":`Captions`,"aria-haspopup":`listbox`,"aria-expanded":U===`subtitles`,children:(0,u.jsx)(de,{size:20,"aria-hidden":`true`})}),U===`subtitles`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Captions`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Subtitles`}),(0,u.jsxs)(`div`,{role:`option`,"aria-selected":V===`off`,tabIndex:0,className:`sdk-dropup-item ${V===`off`?`active`:``}`,onClick:()=>kr(`off`),onKeyDown:$(()=>kr(`off`)),children:[(0,u.jsx)(`span`,{children:`Off`}),V===`off`&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]}),Cn.map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":V===e.id,tabIndex:0,className:`sdk-dropup-item ${V===e.id?`active`:``}`,onClick:()=>kr(e.id),onKeyDown:$(()=>kr(e.id)),children:[(0,u.jsx)(`span`,{children:_(e)}),V===e.id&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),N.allowMultipleAudio&&Tn.length>1&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${U===`audio`?` active`:``}`,onClick:e=>{e.stopPropagation(),Zr(`audio`)},title:`Audio Track`,"aria-label":`Audio track`,"aria-haspopup":`listbox`,"aria-expanded":U===`audio`,children:(0,u.jsx)(he,{size:20,"aria-hidden":`true`})}),U===`audio`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Audio track`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Audio Track`}),Tn.map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":Dn===e.id,tabIndex:0,className:`sdk-dropup-item ${Dn===e.id?`active`:``}`,onClick:()=>{A?.setAudioTrack(e.id),On(e.id),W(`none`),K(`Audio: ${_(e)}`)},onKeyDown:$(()=>{A?.setAudioTrack(e.id),On(e.id),W(`none`),K(`Audio: ${_(e)}`)}),children:[(0,u.jsx)(`span`,{children:_(e)}),Dn===e.id&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),N.enablePlaybackSpeed&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${U===`speed`?` active`:``}`,onClick:e=>{e.stopPropagation(),Zr(`speed`)},title:`Playback Speed`,"aria-label":`Playback speed`,"aria-haspopup":`listbox`,"aria-expanded":U===`speed`,children:(0,u.jsx)(me,{size:20,"aria-hidden":`true`})}),U===`speed`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Playback speed`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Speed`}),[.5,.75,1,1.25,1.5,2].map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":Mn===e,tabIndex:0,className:`sdk-dropup-item ${Mn===e?`active`:``}`,onClick:()=>Dr(e),onKeyDown:$(()=>Dr(e)),children:[(0,u.jsx)(`span`,{children:e===1?`Normal`:`${e}x`}),Mn===e&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e))]})]}),N.enableQuality&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${vn.id===-1?``:` active`}`,onClick:e=>{e.stopPropagation(),Zr(`quality`)},title:`Quality`,"aria-label":`Video quality`,"aria-haspopup":`listbox`,"aria-expanded":U===`quality`,children:(0,u.jsx)(Me,{size:20,"aria-hidden":`true`})}),U===`quality`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu large`,role:`listbox`,"aria-label":`Video quality`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Quality`}),gn.map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":vn.id===e.id,tabIndex:0,className:`sdk-dropup-item ${vn.id===e.id?`active`:``}`,onClick:()=>Or(e.id),onKeyDown:$(()=>Or(e.id)),children:[(0,u.jsx)(`span`,{children:e.label}),vn.id===e.id&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),x&&x.length>1&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${U===`sources`?` active`:``}`,onClick:e=>{e.stopPropagation(),Zr(`sources`)},title:`Select Source`,"aria-label":`Select source`,"aria-haspopup":`listbox`,"aria-expanded":U===`sources`,children:(0,u.jsx)(we,{size:20,"aria-hidden":`true`})}),U===`sources`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Select source`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Source`}),x.map((e,t)=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":qe===t,tabIndex:0,className:`sdk-dropup-item ${qe===t?`active`:``}`,onClick:()=>Ar(t),onKeyDown:$(()=>Ar(t)),children:[(0,u.jsx)(`span`,{children:e.label}),qe===t&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},t))]})]}),N.enablePiP&&!Y&&(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${Gt?` active`:``}`,onClick:e=>{e.stopPropagation(),Mr()},title:`Picture-in-Picture`,"aria-label":Gt?`Exit picture-in-picture`:`Enter picture-in-picture`,"aria-pressed":Gt,children:(0,u.jsx)(be,{size:20,"aria-hidden":`true`})}),He===`button`&&(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),Er()},title:Kr?`Unmute`:`Mute`,"aria-label":Kr?`Unmute`:`Mute`,"aria-pressed":Kr,children:Jr()}),g&&(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),Nr()},title:zt||F?`Exit fullscreen`:`Fullscreen`,"aria-label":zt||F?`Exit fullscreen`:`Enter fullscreen`,"aria-pressed":zt||F,children:zt?(0,u.jsx)(ve,{size:20,"aria-hidden":`true`}):(0,u.jsx)(_e,{size:20,"aria-hidden":`true`})})]})]})]})]})]})]})},Le=`https://dev-api.go-boss.com`;function v(e){return{"x-player-key":e,"Content-Type":`application/json`}}async function Re(e,t=Le){let n=await fetch(`${t}/api/player/sdk/init`,{method:`POST`,headers:v(e),body:JSON.stringify({})});if(!n.ok)throw Error(`SDK init failed: ${n.status}`);let r=await n.json();return console.log(`[SDK] Init response:`,r),r}async function ze(e,t,n,r=Le){let i=await fetch(`${r}/api/player/sdk/session/start`,{method:`POST`,headers:v(e),body:JSON.stringify({sessionId:t,videoId:n})});if(!i.ok)throw Error(`Session start failed: ${i.status}`);let a=await i.json().catch(()=>null);console.log(`[SDK] Session start response:`,a)}async function Be(e,t,n,r,i=Le){let a={sessionId:t,currentTime:n,duration:r};console.log(`[SDK] Heartbeat request:`,a);let o=await fetch(`${i}/api/player/sdk/session/heartbeat`,{method:`POST`,headers:v(e),body:JSON.stringify(a)});if(!o.ok)throw Error(`Heartbeat failed: ${o.status}`);let s=await o.json().catch(()=>null);console.log(`[SDK] Heartbeat response:`,s)}async function Ve(e,t,n=Le){let r=await fetch(`${n}/api/player/sdk/session/end`,{method:`POST`,headers:v(e),body:JSON.stringify({sessionId:t})});if(!r.ok)throw Error(`Session end failed: ${r.status}`);let i=await r.json().catch(()=>null);console.log(`[SDK] Session end response:`,i)}function He(e,t,n=Le){fetch(`${n}/api/player/sdk/session/end`,{method:`POST`,headers:v(e),body:JSON.stringify({sessionId:t}),keepalive:!0})}var Ue={subtitles:`subtitle_support`,ads:`ad_support`,chapterMarkers:`key_moments`,playbackSpeed:`playback_speed`,airplay:`airplay`,chromecast:`chromecast`,pictureInPicture:`picture_in_picture`,multipleResolution:`multiple_resolution`,multipleAudio:`multiple_audio`,drmProtection:`drm_protection`,screenRecordingPrevention:`screen_recording_prevention`,signalStrength:`signal_strength`};function We(e){let t={m3u8_playback:!0,subtitle_support:!1,playback_speed:!1,airplay:!1,chromecast:!1,picture_in_picture:!1,multiple_resolution:!1,multiple_audio:!1,key_moments:!1,drm_protection:!1,screen_recording_prevention:!1,signal_strength:!1,ad_support:!1};for(let[n,r]of Object.entries(Ue))n in e&&(t[r]=e[n]);return t}function Ge(e){if(!e)return e=>e;let t=[];for(let n of e.split(`,`)){let[e,r]=n.split(`=`);e?.trim()&&r?.trim()&&t.push({domain:e.trim(),proxyPath:r.trim()})}return e=>{for(let{domain:n,proxyPath:r}of t)if(e.includes(n))try{let t=new URL(e);return`${r}${t.pathname}${t.search}`}catch{return e.replace(`https://${n}`,r)}return e}}var Ke=3e4;function y({playerKey:e,src:t,subtitles:n,licenseKey:r,themeColor:i=`#6366f1`,firebaseConfig:a,proxyDomains:o,apiBaseUrl:s,adTrackingUrl:c,overlayAdUrl:d,title:te,watermark:ne,autoplay:re=!1,muted:ie=!1,autoFullscreen:ae=!1,enableControls:oe=!0,enableSkipAd:se,skipAdAfterSeconds:ce,chaptersDisplayMode:le=`strip`,volumeControlType:f=`slider`,subtitleStyle:ue,drmConfig:de,onAnalyticsEvent:fe,onKeyMomentsLoaded:p,initialTime:pe,onTimeUpdate:me}){let[he,ge]=(0,l.useState)([]),[_e,ve]=(0,l.useState)(0),ye=Array.isArray(t)?t:[{label:`Default`,url:t}],be=ye[_e]?.url??ye[0]?.url??``,[xe,Se]=(0,l.useState)(`loading`),[Ce,we]=(0,l.useState)(null),[Te,Ee]=(0,l.useState)(0),[De,Oe]=(0,l.useState)(`network`),ke=(0,l.useRef)(null),Ae=(0,l.useRef)(!1),m=(0,l.useRef)(``),je=(0,l.useRef)(!1),Me=(0,l.useRef)(!1),h=(0,l.useRef)(null),Ne=(0,l.useRef)(0),g=(0,l.useRef)(null),_=(0,l.useRef)({currentTime:0,duration:0}),Pe=(0,l.useRef)(()=>{}),Fe=be.split(`/`).filter(Boolean),Le=(Fe[Fe.length-1]??``).replace(/\.m3u8.*$/,``)||`video`,v=(0,l.useCallback)(()=>Ge(o),[o])();(0,l.useEffect)(()=>{document.documentElement.style.setProperty(`--accent-indigo`,i);let e=i.replace(`#`,``),t=`99, 102, 241`;e.length===6&&(t=`${parseInt(e.substring(0,2),16)}, ${parseInt(e.substring(2,4),16)}, ${parseInt(e.substring(4,6),16)}`),document.documentElement.style.setProperty(`--accent-indigo-rgb`,t)},[i]),(0,l.useEffect)(()=>{let t=!1;return Re(e,s).then(e=>{if(t)return;ke.current=e;let{features:n,planTier:r}=e.result.data,i={package:r,is_active:!0,features:We(n),limits:{streaming_minutes:0}};console.log(`[SDK] Player key validated. Features:`,i.features),we(i),Se(`ready`)}).catch(e=>{if(t)return;console.error(`[SDK] Player key validation failed:`,e);let n=e.message??``;Oe(/init failed: 4\d\d/.test(n)?`auth`:`network`),Se(`error`)}),()=>{t=!0,h.current&&=(clearTimeout(h.current),null),Ne.current=0,g.current=null,Se(`loading`),we(null),je.current=!1,m.current=``}},[e,s,Te]);let Ue=(0,l.useCallback)(()=>{h.current&&(clearTimeout(h.current),h.current=null,g.current!==null&&(Ne.current+=Date.now()-g.current,g.current=null))},[]),y=(0,l.useCallback)(()=>{h.current&&=(clearTimeout(h.current),null),Ne.current=0,g.current=null},[]),b=(0,l.useCallback)(()=>{if(h.current||!m.current)return;g.current=Date.now();let t=Ke-Ne.current;h.current=setTimeout(()=>{h.current=null,Ne.current=0,g.current=null;let{currentTime:t,duration:n}=_.current;console.log(`[SDK] Heartbeat timer fired — 30s of real content elapsed`),Be(e,m.current,t,n,s).catch(e=>console.warn(`[SDK] Heartbeat failed:`,e.message)),Pe.current()},t)},[e,s]);(0,l.useEffect)(()=>{Pe.current=b},[b]);let x=(0,l.useRef)(!0);(0,l.useEffect)(()=>{if(x.current){x.current=!1;return}Me.current=!0,Ue()},[_e,Ue]),(0,l.useEffect)(()=>{let t=()=>{m.current&&(y(),He(e,m.current,s))};return window.addEventListener(`beforeunload`,t),()=>{window.removeEventListener(`beforeunload`,t),y()}},[e,s,y]);let qe=(0,l.useCallback)(t=>{let n=t;t.currentTime!==void 0&&(_.current={currentTime:t.currentTime,duration:t.duration}),t.eventType===`session_start`&&!je.current&&(je.current=!0,m.current=typeof n.sessionId==`string`?n.sessionId:``,ze(e,m.current,Le,s).catch(e=>console.warn(`[SDK] Session start failed:`,e.message)),Ae.current||b()),t.eventType===`play`&&je.current&&!Ae.current&&!Me.current&&b(),t.eventType===`pause`&&Ue(),t.eventType===`buffering_start`&&Ue(),t.eventType===`buffering_end`&&je.current&&!Ae.current&&(Me.current=!1,b()),t.eventType===`ended`&&(y(),m.current&&Ve(e,m.current).catch(e=>console.warn(`[SDK] Session end failed:`,e.message))),console.log(`[SDK Analytics]`,t),fe?.(t)},[e,s,Le,b,Ue,y,fe]),Je=(0,l.useCallback)(e=>{Ae.current=e,e?(Ue(),console.log(`[SDK] Ad break started — heartbeat timer paused`)):(je.current&&b(),console.log(`[SDK] Ad break ended — heartbeat timer resumed`))},[Ue,b]),Ye=(0,l.useCallback)(e=>{ge(e),p?.(e)},[p]);if(xe===`loading`)return(0,u.jsxs)(`div`,{style:{width:`100%`,aspectRatio:`16 / 9`,background:`#000`,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,u.jsx)(`style`,{children:`@keyframes boss-sdk-spin{to{transform:rotate(360deg)}}`}),(0,u.jsx)(`div`,{style:{width:32,height:32,borderRadius:`50%`,border:`3px solid rgba(255,255,255,0.12)`,borderTopColor:i,animation:`boss-sdk-spin 0.7s linear infinite`}})]});if(xe===`error`){let e=De===`auth`;return(0,u.jsx)(`div`,{style:{width:`100%`,aspectRatio:`16 / 9`,background:`#09090e`,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:20},children:(0,u.jsx)(ee,{title:e?`Invalid Player Key`:`Something Went Wrong`,subtitle:e?`Your player key is invalid or expired.
4
+ import 'boss-web-player-sdk/css';`))});return()=>window.cancelAnimationFrame(e)},[]),(0,l.useEffect)(()=>{let e=S.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e)gt(t.contentRect.width<=768)});return t.observe(e),gt(e.getBoundingClientRect().width<=768),()=>t.disconnect()},[]);let[A,xt]=(0,l.useState)(null),St=ze??null,j=St!=null,M=St?.features??{},Ct=j?!!(M.drm_protection&&!Be):!1,N={enableSubtitles:j?!!M.subtitle_support:typeof ce==`boolean`?ce:!0,enableChromecast:j?!!M.chromecast:typeof oe==`boolean`?oe:!0,enableKeyMoments:j?!!M.key_moments:typeof se==`boolean`?se:!0,enableQuality:j?!!M.multiple_resolution:typeof le==`boolean`?le:!0,enablePlaybackSpeed:j?!!M.playback_speed:typeof f==`boolean`?f:!0,enablePiP:j?!!M.picture_in_picture:typeof Pe==`boolean`?Pe:!0,allowAirplay:j?!!M.airplay:!1,allowMultipleAudio:j?!!M.multiple_audio:!0,m3u8_playback:j?!!M.m3u8_playback:!0,drm_protection:j?!!M.drm_protection:!1},[wt,Tt]=(0,l.useState)(!1),[Et,Dt]=(0,l.useState)(0),[Ot,kt]=(0,l.useState)(!1),[P,At]=(0,l.useState)(0),[jt,Mt]=(0,l.useState)(0),[Nt,Pt]=(0,l.useState)(1),[Ft,It]=(0,l.useState)(!1),[Lt,Rt]=(0,l.useState)(!1),[zt,Bt]=(0,l.useState)(!1),[F,Vt]=(0,l.useState)(!1),[Ht,Ut]=(0,l.useState)(!1),Wt=ht||(zt||F)&&Ht,[Gt,Kt]=(0,l.useState)(!1),[qt,Jt]=(0,l.useState)(!1),[I,Yt]=(0,l.useState)([]),L=(0,l.useRef)([]),Xt=(0,l.useRef)(new Set),[Zt,Qt]=(0,l.useState)(new Set),[$t,en]=(0,l.useState)(e);$t!==e&&(en(e),Qt(new Set));let tn=(0,l.useRef)(null),nn=(0,l.useRef)(!1),[rn,an]=(0,l.useState)([]),[on,sn]=(0,l.useState)(null),cn=(0,l.useRef)([]),ln=(0,l.useRef)(null),un=(0,l.useRef)(new Set),[dn,fn]=(0,l.useState)([]),pn=(0,l.useRef)([]),mn=(0,l.useMemo)(()=>I.reduce((e,t)=>e+(t.endTime-t.startTime),0),[I]),hn=jt>0?Math.max(0,jt-mn):0,R=I.length>0&&hn>0?hn:jt,z=(0,l.useCallback)(e=>{let t=e;for(let n of I)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);return Math.max(0,t)},[I]),B=(0,l.useCallback)(e=>{let t=e;for(let e of I)t>=e.startTime&&(t+=e.endTime-e.startTime);return t},[I]),[gn,_n]=(0,l.useState)([]),[vn,yn]=(0,l.useState)({id:-1,height:0,width:0,bitrate:0,label:`Auto`}),[bn,xn]=(0,l.useState)(``),[V,Sn]=(0,l.useState)(`off`),[Cn,wn]=(0,l.useState)(Fe(a)),[Tn,En]=(0,l.useState)([]),[Dn,On]=(0,l.useState)(0);(0,l.useEffect)(()=>{if(A){let e=A.subtitles.getTracks();wn(Fe([...a,...e.filter(e=>!a.some(t=>t.id===e.id))]))}else wn(Fe(a))},[a.map(e=>e.id).join(`,`),A]);let[kn,An]=(0,l.useState)({chapter:null,index:-1}),[H,jn]=(0,l.useState)(i||r||[]),[U,W]=(0,l.useState)(`none`),[Mn,Nn]=(0,l.useState)(1),[G,Pn]=(0,l.useState)(!1),[Fn,In]=(0,l.useState)({}),[Ln,K]=(0,l.useState)(``),[Rn,zn]=(0,l.useState)(null),Bn=(0,l.useRef)(!1),Vn=JSON.stringify(H.map(e=>({title:e.title,startTime:e.startTime})));(0,l.useEffect)(()=>{jn(i||r||[])},[(i||r||[]).map(e=>`${e.startTime}:${e.title}`).join(`,`)]),(0,l.useEffect)(()=>{if(!e||!H||H.length===0)return;In({});let t=document.createElement(`video`);t.muted=!0,t.preload=`metadata`,t.crossOrigin=`anonymous`,t.style.cssText=`position:fixed;top:0;left:0;width:10px;height:10px;opacity:0.01;pointer-events:none;z-index:-9999;`,document.body.appendChild(t);let n=null,r=e.includes(`.m3u8`),i=document.createElement(`canvas`);i.width=160,i.height=90;let a=i.getContext(`2d`),o=0,s=!1,l=()=>{if(o>=H.length){te();return}let e=H[o].startTime;t.currentTime=e===0?.01:e},u=()=>{if(a&&t.readyState>=2){a.drawImage(t,0,0,i.width,i.height);let e=i.toDataURL(`image/jpeg`,.8);In(t=>({...t,[o]:e})),o++,l()}else setTimeout(u,100)},ee=()=>{s||(s=!0,l())};t.addEventListener(`seeked`,u),t.addEventListener(`canplay`,ee),r&&c.u.isSupported()?(n=new c.u({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{let n=d?.authToken;try{let r=Ze(t),i=new URL(r,window.location.origin);n&&i.searchParams.set(`token`,n),e.open(`GET`,i.toString(),!0)}catch(e){console.error(`[WebVideoPlayer tempHls] xhrSetup error:`,e)}}}),n.loadSource(Ze(e)),n.attachMedia(t)):t.src=e,t.readyState>=2&&ee();let te=()=>{t.removeEventListener(`seeked`,u),t.removeEventListener(`canplay`,ee),n&&n.destroy(),document.body.contains(t)&&document.body.removeChild(t)};return te},[e,Vn]);let[q,Hn]=(0,l.useState)(null),[Un,Wn]=(0,l.useState)(null),Gn=(0,l.useRef)(!1),[Kn,qn]=(0,l.useState)(!1),[Jn,Yn]=(0,l.useState)(!1),[Xn,Zn]=(0,l.useState)(null),[Qn,$n]=(0,l.useState)(null),[er,tr]=(0,l.useState)(0),[nr,rr]=(0,l.useState)(0),[ir,ar]=(0,l.useState)(null),[or,sr]=(0,l.useState)(null),[J,cr]=(0,l.useState)(null);(0,l.useEffect)(()=>{if(at.current&&!at.current.querySelector(`google-cast-launcher`)){let e=document.createElement(`google-cast-launcher`);e.style.cursor=`pointer`,e.style.width=`100%`,e.style.height=`100%`,e.style.display=`block`,at.current.appendChild(e)}},[]),(0,l.useEffect)(()=>{if(!A){qn(!1),Yn(!1),Zn(null);return}let e=e=>qn(e),t=()=>{let e=A.getVideoElement(),t=!!e?.webkitCurrentPlaybackTargetIsWireless;Yn(t),Zn(t?e.webkitCurrentPlaybackTargetName||`AirPlay device`:null)};e(A.casting.isAirPlayAvailable()),t();let n=A.getVideoElement(),r=t=>{e(t.availability===`available`)},i=()=>{t()};return`webkitShowPlaybackTargetPicker`in n&&(n.addEventListener(`webkitplaybacktargetavailabilitychanged`,r),n.addEventListener(`webkitcurrentplaybacktargetiswirelesschanged`,i)),()=>{`webkitShowPlaybackTargetPicker`in n&&(n.removeEventListener(`webkitplaybacktargetavailabilitychanged`,r),n.removeEventListener(`webkitcurrentplaybacktargetiswirelesschanged`,i))}},[A]);let[lr,ur]=(0,l.useState)(``),[dr,fr]=(0,l.useState)(!0),[Y,pr]=(0,l.useState)(!1),mr=(0,l.useRef)(null),hr=(0,l.useRef)(!1),gr=(0,l.useRef)(!1),_r=(0,l.useRef)(`none`),vr=(0,l.useRef)(a),yr=()=>{fr(!0),mr.current&&window.clearTimeout(mr.current);let e=_t.current?3500:1e4;mr.current=window.setTimeout(()=>{hr.current&&_r.current===`none`&&fr(!1)},e)},br=(0,l.useCallback)(e=>{k.current&&=(clearTimeout(k.current),null);let t=ft.current,n=t?.[e]?.label??`This format`,r=t?.[0]?.label??`default`;dt.current=null,zn(`${n} isn't supported on this device. Switched to ${r}.`),window.setTimeout(()=>zn(null),4e3),pt.current?.(0)},[]);(0,l.useEffect)(()=>{if(!S.current)return;let r=document.createElement(`video`);r.muted=!0,r.preload=`metadata`,r.crossOrigin=`anonymous`,r.style.cssText=`display:none;position:absolute;pointer-events:none;`,document.body.appendChild(r),w.current=r;let i=e.includes(`.m3u8`);if(i&&c.u.isSupported()){let t=new c.u({enableWorker:!1,maxBufferLength:5,xhrSetup:(e,t)=>{let n=d?.authToken;try{let r=Ze(t),i=new URL(r,window.location.origin);n&&i.searchParams.set(`token`,n),e.open(`GET`,i.toString(),!0)}catch(e){console.error(`[WebVideoPlayer hiddenHls] xhrSetup error:`,e)}}});t.loadSource(Ze(e)),t.attachMedia(r),nt.current=t,t.on(c.u.Events.MANIFEST_LOADED,(e,t)=>{if(Ve)return;let n=je(t?.networkDetails?.responseText??``);n&&ur(n)}),t.on(c.u.Events.FRAG_PARSING_METADATA,(e,t)=>{if(!(Ve||lr))for(let e of t?.samples??[]){let t=Me(e.data);if(t){ur(t);break}}})}else i&&r.canPlayType(`application/vnd.apple.mpegurl`),r.src=e;r.addEventListener(`seeked`,()=>{let e=tt.current;if(!e)return;let t=e.getContext(`2d`);t&&r.readyState>=2&&(t.drawImage(r,0,0,e.width,e.height),ar(e.toDataURL(`image/jpeg`,.82)))});let l;if(te){let e=new c.c(te);Qe.current=e,l=e.createCallback()}if(Ct)return;let u=new c.t({container:S.current,src:e,autoplay:t,muted:n,keyMoments:H,subtitles:a,drm:{watermarkText:o,allowedDomains:[`localhost`,`127.0.0.1`,window.location.hostname],...d},analyticsCallback:e=>{l?.(e),ne&&ne(e)},watchProgressInterval:Re*1e3,themeColor:s,urlTransformer:v});u.on(`keymomentsloaded`,e=>{jn(e),ie&&ie(e)}),u.on(`chaptersloaded`,e=>{jn(e),ie&&ie(e)}),u.on(`play`,()=>{kt(!0),Jt(!1)}),u.on(`pause`,()=>kt(!1)),u.on(`ended`,()=>{kt(!1),Jt(!0)});let ee=()=>{O.current&&(O.current.style.opacity=`1`)},ae=()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{O.current&&(O.current.style.opacity=`0`)})})},oe=e=>{T.current=!0;let t=ct.current??e+.5;ct.current=null,E.current=t,ee(),u.seek(t),D.current&&window.clearTimeout(D.current),D.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,ae()},3e3)};if(st.current=oe,u.on(`timeupdate`,e=>{if(!T.current){let t=L.current.find(t=>Xt.current.has(t.startTime)&&e>=t.startTime-.5&&e<t.endTime);if(t){oe(t.endTime);return}}if(T.current&&E.current!==null)if(e>=E.current-2)T.current=!1,E.current=null,D.current&&=(window.clearTimeout(D.current),null),L.current.some(t=>e>=t.startTime&&e<t.endTime)||ae();else return;At(e);let t=u.getDuration();if(Mt(t),!mt.current&&Ye&&Ye>0&&t>0&&Ye<t&&(mt.current=!0,u.seek(Ye)),Xe?.(e),cn.current.length>0)if(ln.current){let t=ln.current;(e>=t.startTimeSeconds+t.durationSeconds||e<t.startTimeSeconds)&&(sn(null),ln.current=null)}else{let t=cn.current.find(t=>e>=t.startTimeSeconds&&e<t.startTimeSeconds+t.durationSeconds&&!un.current.has(t.availId));t&&(sn(t),ln.current=t,t.impressionBeacons.forEach(e=>{fetch(e,{mode:`no-cors`}).catch(()=>{})}))}let n=u.keyMoments.getCurrentMoment(e);if(An({chapter:n.keyMoment,index:n.index}),`mediaSession`in navigator&&navigator.mediaSession.setPositionState){let t=u.getDuration(),n=L.current.find(t=>e>=t.startTime&&e<t.endTime);if(n){let t=n.endTime-n.startTime,r=Math.max(0,e-n.startTime);if(t>0)try{navigator.mediaSession.setPositionState({duration:t,playbackRate:1,position:Math.min(r,t)})}catch{}}else{let n=L.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),r=t>0?Math.max(0,t-n):0,i=e;for(let t of L.current)e>=t.endTime?i-=t.endTime-t.startTime:e>=t.startTime&&(i-=e-t.startTime);i=Math.max(0,i);let a=L.current.length>0&&r>0?r:t;if(a>0)try{navigator.mediaSession.setPositionState({duration:a,playbackRate:1,position:Math.min(i,a)})}catch{}}}}),u.on(`qualitylevels`,e=>{_n(e)}),u.on(`qualitychange`,e=>{yn(e)}),u.on(`buffering`,e=>{if(Rt(e),!e&&(k.current&&=(clearTimeout(k.current),null),dt.current=null,ut.current!==null)){let e=ut.current;ut.current=null,u.seek(e)}}),u.on(`adbreakchange`,e=>{if(u.analytics.setAdBreak(e,u.getVideoElement()),re&&re(e),e){let e=u.getCurrentTime(),t=L.current.find(t=>e>=t.startTime&&e<t.endTime);if(t&&Xt.current.has(t.startTime)){ee(),T.current||oe(t.endTime);return}t&&(tn.current=t.startTime),pr(!0),W(`none`)}else if(tn.current!==null&&(Xt.current.add(tn.current),Qt(new Set(Xt.current)),tn.current=null),pr(!1),ct.current!==null){let e=ct.current;ct.current=null,T.current=!0,E.current=e,u.seek(e),D.current&&window.clearTimeout(D.current),D.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null},3e3)}}),u.on(`adbreaksloaded`,e=>{L.current=e,Yt(e)}),u.on(`volumechange`,e=>{Pt(e.volume),It(e.muted)}),u.on(`pipchange`,e=>{Kt(e)}),u.on(`error`,()=>{Tt(!0),Rt(!1)}),u.on(`unsupportedcodec`,()=>{let e=dt.current;e&&e.targetIdx!==0&&(ft.current?.length??0)>1&&br(e.targetIdx)}),u.subtitles.onSubtitleChange(e=>{xn(e)}),u.on(`subtitlesloaded`,e=>{if(!N.enableSubtitles)return;wn(Fe([...e]));let t=e.find(e=>e.isDefault);t&&(u.subtitles.setActiveTrack(t.id),Sn(t.id))}),u.on(`audiotracksloaded`,e=>{En(e),On(e[0]?.id??0)}),u.on(`audiotrackchange`,e=>{On(e)}),u.casting.onCastStateChange((e,t)=>{if(e){Gn.current=u.isMuted(),u.pause();let e=u.getVideoElement();e.muted=!0,Hn(t)}else{let e=u.casting.getRemoteState();e&&e.currentTime>0&&u.seek(e.currentTime);let t=u.getVideoElement();t.muted=Gn.current,Hn(null),Wn(null)}}),u.casting.onRemoteStateChange(e=>{Wn(e)}),Pt(u.getVolume()),It(u.isMuted()),`mediaSession`in navigator)try{navigator.mediaSession.setActionHandler(`seekto`,e=>{if(e.seekTime==null||gr.current)return;let t=e.seekTime;for(let e of L.current)t>=e.startTime&&(t+=e.endTime-e.startTime);lt.current?.(t)})}catch{}xt(u);let se=dt.current;se&&se.targetIdx!==0&&(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{k.current=null,!u.getBufferedRanges().some(e=>e.end>e.start)&&br(se.targetIdx)},ke)),Le&&S.current&&($e.current=!0,S.current.requestFullscreen().catch(()=>{$e.current=!1}));let ce=()=>{let e=document,t=!!(document.fullscreenElement||e.webkitFullscreenElement);Bt(t),t||Vt(!1);let n=u.getVideoElement();u.analytics.track(t?`fullscreen_enter`:`fullscreen_exit`,n)};document.addEventListener(`fullscreenchange`,ce),document.addEventListener(`webkitfullscreenchange`,ce);let le=e=>{let t=document.activeElement;if(!(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.getAttribute(`contenteditable`)===`true`||t.getAttribute(`role`)===`slider`))){switch(e.key.toLowerCase()){case` `:case`k`:if(e.preventDefault(),u.getVideoElement().paused)u.play();else{u.pause();try{let e=u.getVideoElement();e&&!e.paused&&e.pause()}catch{}if(w.current&&!w.current.paused)try{w.current.pause()}catch{}}break;case`arrowleft`:case`j`:if(e.preventDefault(),!gr.current){let e=u.getCurrentTime(),t=e;for(let n of L.current)e>=n.endTime?t-=n.endTime-n.startTime:e>=n.startTime&&(t-=e-n.startTime);let n=Math.max(0,t-10);for(let e of L.current)n>=e.startTime&&(n+=e.endTime-e.startTime);u.seek(n)}break;case`arrowright`:case`l`:if(e.preventDefault(),!gr.current){let e=u.getCurrentTime(),t=L.current.reduce((e,t)=>e+(t.endTime-t.startTime),0),n=Math.max(0,u.getDuration()-t),r=e;for(let t of L.current)e>=t.endTime?r-=t.endTime-t.startTime:e>=t.startTime&&(r-=e-t.startTime);let i=Math.min(n,r+10);for(let e of L.current)i>=e.startTime&&(i+=e.endTime-e.startTime);lt.current?.(i)}break;case`arrowup`:e.preventDefault(),u.setVolume(u.getVolume()+.1);break;case`arrowdown`:e.preventDefault(),u.setVolume(u.getVolume()-.1);break;case`m`:e.preventDefault(),u.setMute(!u.isMuted());break;case`f`:e.preventDefault(),ot.current();break;case`p`:e.preventDefault(),gr.current||u.togglePictureInPicture();break;case`c`:if(e.preventDefault(),N.enableSubtitles&&!gr.current)if(u.subtitles.getActiveTrackId()!==`off`)u.subtitles.setActiveTrack(`off`),Sn(`off`);else{let e=vr.current;e&&e.length>0&&(u.subtitles.setActiveTrack(e[0].id),Sn(e[0].id))}break;default:return}yr()}};return document.addEventListener(`keydown`,le),yr(),()=>{if(u.destroy(),Qe.current?.destroy(),Qe.current=null,document.body.style.overflow=``,document.body.style.touchAction=``,document.removeEventListener(`fullscreenchange`,ce),document.removeEventListener(`webkitfullscreenchange`,ce),document.removeEventListener(`keydown`,le),mr.current&&window.clearTimeout(mr.current),D.current&&=(window.clearTimeout(D.current),null),k.current&&=(clearTimeout(k.current),null),O.current&&(O.current.style.opacity=`0`),`mediaSession`in navigator)try{navigator.mediaSession.setActionHandler(`seekto`,null)}catch{}nt.current&&=(nt.current.destroy(),null),w.current&&=(document.body.removeChild(w.current),null),mt.current=!1}},[e,o,Et]),(0,l.useEffect)(()=>{if(A){A.keyMoments.setKeyMoments(H);let e=S.current?.querySelector(`video`);if(e){let t=A.keyMoments.getCurrentMoment(e.currentTime);An({chapter:t.keyMoment,index:t.index})}}},[Vn,A]),(0,l.useEffect)(()=>{let e=e=>{U!==`none`&&(e.target.closest(`.sdk-menu-container`)||W(`none`))};return document.addEventListener(`click`,e),()=>{document.removeEventListener(`click`,e)}},[U]),(0,l.useEffect)(()=>{hr.current=Ot},[Ot]),(0,l.useEffect)(()=>{gr.current=Y},[Y]),(0,l.useEffect)(()=>{_r.current=U},[U]),(0,l.useEffect)(()=>{if(!Y||!A)return;let e=0,t=A.getCurrentTime(),n=performance.now(),r=()=>{let i=A.getVideoElement?.(),a=A.getCurrentTime(),o=performance.now(),s;if(a!==t)t=a,n=o,s=a;else if(i&&!i.paused&&!i.ended){let e=i.playbackRate||1;s=t+(o-n)/1e3*e}else s=t;let c=L.current.find(e=>a>=e.startTime&&a<e.endTime);if(c){let e=Math.min(s,a+.4,c.endTime),t=Math.min(100,Math.max(0,(e-c.startTime)/(c.endTime-c.startTime)*100));(S.current?.querySelectorAll(`.sdk-ad-progress-fill`))?.forEach(e=>{e.style.width=`${t}%`})}e=requestAnimationFrame(r)};return e=requestAnimationFrame(r),()=>cancelAnimationFrame(e)},[Y,A]),(0,l.useEffect)(()=>{vr.current=Cn},[Cn]),(0,l.useEffect)(()=>{_t.current=ht},[ht]),(0,l.useEffect)(()=>{L.current=I},[I]),(0,l.useEffect)(()=>{cn.current=rn},[rn]),(0,l.useEffect)(()=>{ln.current=on},[on]),(0,l.useEffect)(()=>{pn.current=dn},[dn]),(0,l.useEffect)(()=>{ft.current=x},[x]),(0,l.useEffect)(()=>{pt.current=Je},[Je]),(0,l.useEffect)(()=>{Xt.current=new Set,tn.current=null,nn.current=!1,ct.current=null,sn(null),ln.current=null,un.current=new Set,Tt(!1)},[e]),(0,l.useEffect)(()=>{an([]),y&&fetch(y).then(e=>e.json()).then(e=>{let t=new Set,n=[];for(let r of e.nonLinearAvails??[]){if(t.has(r.availId))continue;t.add(r.availId);let e=r.nonLinearAdsList?.[0],i=e?.nonLinearAdList?.[0];if(!i?.staticResource)continue;let a=(e?.trackingEvents??[]).filter(e=>e.eventType===`impression`).flatMap(e=>e.beaconUrls??[]),o={};try{o=JSON.parse(i.adParameters??`{}`)}catch{}let s=o.position??`bottom_center`;n.push({availId:r.availId,startTimeSeconds:Ie(r.startTime??``),durationSeconds:Ie(i.minSuggestedDuration??`00:00:15`),imageUrl:i.staticResource,imageWidth:parseInt(i.width??`320`,10),imageHeight:parseInt(i.height??`50`,10),title:i.adTitle??``,clickThrough:i.clickThrough??``,clickTrackingUrl:i.clickTracking??``,impressionBeacons:a,position:s,dismissible:o.dismissible===!0})}an(n)}).catch(()=>{})},[y,e]),(0,l.useEffect)(()=>{fn([]),b&&fetch(b).then(e=>e.json()).then(e=>{fn((e.avails??[]).map(e=>{let t=e.ads?.[0]?.skipOffset??null,n=!!t;return{startTimeSeconds:e.startTimeInSeconds??0,durationSeconds:e.durationInSeconds??0,skippable:n,skipOffsetSeconds:n?Ie(t):0}}))}).catch(()=>{})},[b,e]),(0,l.useEffect)(()=>{if(!A||dn.length===0)return;let e=dn.map(e=>({startTime:e.startTimeSeconds,endTime:e.startTimeSeconds+e.durationSeconds}));A.setAdBreaks(e)},[A,dn]),(0,l.useEffect)(()=>{if(!A)return;let e=()=>{document.hidden?We&&gr.current&&(A.pause(),nn.current=!0):nn.current&&=(A.play(),!1)};return document.addEventListener(`visibilitychange`,e),()=>{document.removeEventListener(`visibilitychange`,e)}},[A,We]);let xr=()=>{yr()},Sr=()=>{Le&&!$e.current&&S.current&&($e.current=!0,S.current.requestFullscreen().catch(()=>{}))},Cr=()=>{if(A){if(q){A.casting.remotePlayPause(),yr();return}if(qt)X(0),Sr(),A.play(),Jt(!1);else if(Ot){A.pause();try{let e=A.getVideoElement?.();e&&!e.paused&&e.pause()}catch{}if(S.current&&S.current.querySelectorAll(`video`).forEach(e=>{try{e.pause()}catch{}}),w.current&&!w.current.paused)try{w.current.pause()}catch{}}else Sr(),A.play();yr()}},wr=e=>{if(!C.current||!A||R===0)return 0;let t=C.current.getBoundingClientRect();return B(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*R)},Tr=e=>{if(!A||Y)return;it.current=!0,cr(wr(e));let t=e=>{if(!it.current||!C.current)return;let t=C.current.getBoundingClientRect(),n=B(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*R);cr(n),$n(e.clientX-t.left),rr(n),w.current&&(w.current.currentTime=n),yr()},n=e=>{if(it.current=!1,C.current){let t=C.current.getBoundingClientRect();X(B(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*R))}cr(null),$n(null),ar(null),sr(null),document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)};document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)},X=e=>{if(!A)return;if(q){A.casting.remoteSeek(e);return}let t=Math.max(0,jt>0?Math.min(e,jt):e),n=A.getCurrentTime();if(t>n&&L.current.length>0){let e=L.current.filter(e=>e.startTime>n&&e.startTime<t&&!Xt.current.has(e.startTime)).sort((e,t)=>e.startTime-t.startTime);if(e.length>0){ct.current=t;let n=e[e.length-1].startTime;T.current=!0,E.current=n,At(n),O.current&&(O.current.style.opacity=`0`),A.seek(n),D.current&&window.clearTimeout(D.current),D.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,O.current&&(O.current.style.opacity=`0`)},3e3);return}}ct.current=null,T.current=!0,E.current=t,At(t),O.current&&(O.current.style.opacity=`0`),A.seek(t),D.current&&window.clearTimeout(D.current),D.current=window.setTimeout(()=>{T.current=!1,E.current=null,D.current=null,O.current&&(O.current.style.opacity=`0`)},3e3)};lt.current=X;let Er=()=>{if(!A)return;if(q){A.casting.remoteSetMute(!(Un?.isMuted??!1));return}let e=!Ft;A.setMute(e),It(e)},Dr=e=>{A&&(A.setPlaybackRate(e),Nn(e),W(`none`),K(`Playback speed: ${e===1?`Normal`:`${e}x`}`))},Or=e=>{if(!A)return;A.setQuality(e);let t=gn.find(t=>t.id===e);t&&(yn(t),K(`Quality: ${t.label}`)),W(`none`)},kr=e=>{if(A)if(A.subtitles.setActiveTrack(e),Sn(e),W(`none`),e===`off`)K(`Captions off`);else{let t=Cn.find(t=>t.id===e);K(`Captions: ${t?g(t):`on`}`)}},Ar=e=>{A&&(k.current&&=(clearTimeout(k.current),null),zn(null),dt.current===null&&(ut.current=A.getCurrentTime()),dt.current={targetIdx:e},W(`none`),K(`Source: ${x?.[e]?.label??``}`),Je?.(e))},jr=e=>{X(e),W(`none`)},Mr=()=>{A&&A.togglePictureInPicture()},Nr=()=>{if(!S.current)return;let e=S.current,t=document,n=e,r=!!(document.fullscreenElement||t.webkitFullscreenElement),i=()=>{Vt(!0),Bt(!0),document.body.style.overflow=`hidden`,document.body.style.touchAction=`none`,A?.analytics.track(`fullscreen_enter`,A.getVideoElement())},a=()=>{Vt(!1),Bt(!1),document.body.style.overflow=``,document.body.style.touchAction=``,A?.analytics.track(`fullscreen_exit`,A.getVideoElement())};if(r||F)Ut(!1),document.fullscreenElement?document.exitFullscreen():t.webkitFullscreenElement?t.webkitExitFullscreen?.():a();else{Ut(_t.current);let t=e.requestFullscreen?.bind(e)??n.webkitRequestFullscreen?.bind(n);t?t().catch(i):i()}};(0,l.useEffect)(()=>{ot.current=Nr});let Pr=()=>{if(!Y)return;let e=I.find(e=>P>=e.startTime&&P<e.endTime);e&&st.current?.(e.endTime)},Fr=()=>{ln.current&&un.current.add(ln.current.availId),sn(null),ln.current=null},Ir=e=>{e.clickTrackingUrl&&fetch(e.clickTrackingUrl,{mode:`no-cors`}).catch(()=>{}),e.clickThrough&&window.open(e.clickThrough,`_blank`,`noopener,noreferrer`)},Lr=()=>{A&&(q?A.casting.stopCasting():A.casting.requestSession(e,P))},Rr=()=>{if(!A)return;let e=A.getVideoElement();if(Jn){A.casting.stopAirPlay(e);return}typeof e.webkitShowPlaybackTargetPicker==`function`||A.casting.isAirPlayAvailable()?A.casting.requestAirPlaySession(e):console.warn(`[PlayerSDK AirPlay] AirPlay is not available on this device.`)},zr=e=>{if(!C.current||R===0||!A||Y)return;let t=C.current.getBoundingClientRect();et.current=t.width,tr(Math.max(192/2,Math.min(e.clientX-t.left,t.width-192/2)));let n=B(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*R);$n(e.clientX-t.left),rr(n),rt.current&&window.clearTimeout(rt.current),rt.current=window.setTimeout(()=>{w.current&&(w.current.currentTime=n)},100),sr(A.keyMoments.getCurrentMoment(n).keyMoment)},Br=e=>{if(!C.current||R===0)return 0;let t=C.current.getBoundingClientRect();return B(Math.max(0,Math.min(1,(e.clientX-t.left)/t.width))*R)},Vr=e=>{if(!A||Y||R===0)return;e.preventDefault(),it.current=!0,cr(Br(e.touches[0]));let t=e=>{if(!it.current||!C.current)return;let t=e.touches[0],n=C.current.getBoundingClientRect(),r=B(Math.max(0,Math.min(1,(t.clientX-n.left)/n.width))*R);cr(r),rr(r),yr()},n=e=>{if(it.current=!1,C.current&&e.changedTouches[0]){let t=e.changedTouches[0],n=C.current.getBoundingClientRect();X(B(Math.max(0,Math.min(1,(t.clientX-n.left)/n.width))*R))}cr(null),document.removeEventListener(`touchmove`,t),document.removeEventListener(`touchend`,n)};document.addEventListener(`touchmove`,t,{passive:!1}),document.addEventListener(`touchend`,n)},Hr=()=>{$n(null),ar(null),sr(null),rt.current&&window.clearTimeout(rt.current)},Z=e=>{if(isNaN(e)||e<0)return`00:00`;let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${a(n)}:${a(r)}:${a(i)}`:`${a(r)}:${a(i)}`};(0,l.useEffect)(()=>{Bn.current&&K(Ot?`Playing`:`Paused`)},[Ot]),(0,l.useEffect)(()=>{Bn.current&&K(Ft?`Muted`:`Unmuted`)},[Ft]),(0,l.useEffect)(()=>{Bn.current=!0},[]),(0,l.useEffect)(()=>{let e=e=>{e.key===`Escape`&&_r.current!==`none`&&(e.preventDefault(),W(`none`))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[]);let Ur=q?!(Un?.isPaused??!0):Ot,Q=q?Un?.currentTime??0:P,Wr=q?Un?.duration??0:R,Gr=q?Un?.volumeLevel??1:Nt,Kr=q?Un?.isMuted??!1:Ft,qr=(0,l.useCallback)(e=>{if(Y||e.target.closest(`.sdk-mobile-ctrl`))return;let t=Date.now(),n=S.current?.getBoundingClientRect(),r=e.clientX-(n?.left??0),i=vt.current;if(i&&t-i.time<300){vt.current=null;let e=r<(n?.width??0)/2,t=e?-10:10;X(B(Math.max(0,Math.min(R,z(Q)+t)))),bt(e?`left`:`right`),window.setTimeout(()=>bt(null),700),yr()}else vt.current={time:t,x:r},dr?(fr(!1),mr.current&&window.clearTimeout(mr.current)):yr()},[Y,R,z,Q,B,X,dr]),Jr=()=>Kr||Gr===0?(0,u.jsx)(De,{size:18}):Gr<.3?(0,u.jsx)(Oe,{size:18}):Gr<.7?(0,u.jsx)(Te,{size:18}):(0,u.jsx)(Ee,{size:18}),$=e=>t=>{t.key===`Enter`||t.key===` `?(t.preventDefault(),e()):t.key===`Escape`&&(t.preventDefault(),W(`none`))},Yr=e=>t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),e())},Xr=e=>{if(!Y)if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let t=e.key===`ArrowLeft`?-5:5;X(B(Math.max(0,Math.min(R,z(Q)+t))))}else e.key===`Home`?(e.preventDefault(),X(B(0))):e.key===`End`&&(e.preventDefault(),X(B(R)))},Zr=e=>{W(U===e?`none`:e)},Qr=(0,l.useCallback)(e=>{if(!e)return;e.style.left=``;let t=S.current;if(!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=n.right-(r.right-8),a=r.left+8-n.left;i>0?e.style.left=`calc(50% - ${Math.ceil(i)}px)`:a>0&&(e.style.left=`calc(50% + ${Math.ceil(a)}px)`)},[]);return(0,u.jsxs)(`div`,{ref:S,role:`region`,"aria-label":Ve||lr?`${Ve||lr} video player`:`Video player`,className:`sdk-player-container ${dr?`controls-active`:``} ${F?`sdk-fs-simulated`:``}`,onMouseMove:xr,onTouchStart:Wt?void 0:yr,onMouseLeave:()=>{},style:{border:F?`none`:`1px solid rgba(255, 255, 255, 0.08)`,"--sdk-theme-color":s,"--sdk-theme-color-rgb":m(s)},children:[(0,u.jsx)(`canvas`,{ref:tt,width:160,height:90,style:{display:`none`,position:`absolute`,pointerEvents:`none`},"aria-hidden":`true`}),(0,u.jsx)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`sdk-sr-only`,children:Ln}),(0,u.jsx)(`div`,{ref:O,style:{opacity:0,position:`absolute`,inset:0,background:`#000`,zIndex:100,pointerEvents:`none`,willChange:`opacity`},"aria-hidden":`true`}),(0,u.jsx)(`div`,{className:`sdk-spinner-overlay ${Lt?`active`:``}`,"aria-hidden":`true`,children:(0,u.jsx)(`div`,{className:`sdk-spinner`})}),wt&&(0,u.jsx)(`div`,{style:{position:`absolute`,inset:0,zIndex:50,background:`rgba(9,9,14,0.96)`,display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:20,padding:`0 24px`},children:(0,u.jsx)(ee,{onRetry:()=>{Tt(!1),Dt(e=>e+1)}})}),Rn&&(0,u.jsx)(`div`,{style:{position:`absolute`,top:16,left:`50%`,transform:`translateX(-50%)`,background:`rgba(0,0,0,0.82)`,color:`#fff`,fontSize:13,fontWeight:500,padding:`8px 16px`,borderRadius:8,zIndex:80,pointerEvents:`none`,whiteSpace:`nowrap`,backdropFilter:`blur(8px)`,border:`1px solid rgba(255,255,255,0.12)`},children:Rn}),N.enableSubtitles&&bn&&V!==`off`&&(0,u.jsx)(`div`,{className:`sdk-subtitles-overlay`,children:(0,u.jsx)(`span`,{className:`sdk-subtitles-text`,style:{fontSize:_.size===`small`?`14px`:_.size===`large`?`24px`:`18px`,color:_.color??`#ffffff`,background:_.background===`none`?`transparent`:_.background===`solid`?`rgba(0, 0, 0, 0.92)`:`rgba(15, 23, 42, 0.78)`,border:_.background===`none`?`none`:`1px solid rgba(255,255,255,0.08)`,backdropFilter:_.background===`none`?`none`:`blur(8px)`},dangerouslySetInnerHTML:{__html:bn}})}),on&&(0,u.jsxs)(`div`,{className:`sdk-overlay-ad sdk-overlay-ad--${on.position}`,role:`complementary`,"aria-label":`Advertisement`,children:[(0,u.jsxs)(`div`,{className:`sdk-overlay-ad-topbar`,children:[(0,u.jsx)(`span`,{className:`sdk-overlay-ad-label`,children:`Ad`}),on.dismissible&&(0,u.jsx)(`button`,{className:`sdk-overlay-ad-close`,onClick:Fr,"aria-label":`Close advertisement`,children:`✕`})]}),(0,u.jsx)(`img`,{src:on.imageUrl,width:on.imageWidth,height:on.imageHeight,alt:on.title||`Advertisement`,className:`sdk-overlay-ad-img`,onClick:()=>Ir(on)})]}),Y&&(()=>{let e=I.find(e=>P>=e.startTime&&P<e.endTime),t=e?Math.max(0,e.endTime-P):0,n=e?P-e.startTime:0,r=dn.find(e=>P>=e.startTimeSeconds&&P<e.startTimeSeconds+e.durationSeconds),i=r?r.skippable:Ge,a=r?r.skipOffsetSeconds:Ke,o=i&&n>=a,s=Math.ceil(a-n);return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(`div`,{className:`sdk-ad-countdown`,role:`timer`,"aria-label":`Advertisement — ${Z(t)} remaining`,"aria-live":`off`,children:[(0,u.jsx)(`span`,{className:`sdk-ad-countdown-label`,"aria-hidden":`true`,children:`Ad`}),(0,u.jsx)(`span`,{className:`sdk-ad-countdown-sep`,"aria-hidden":`true`,children:`·`}),(0,u.jsx)(`span`,{className:`sdk-ad-countdown-time`,"aria-hidden":`true`,children:Z(t)})]}),i&&(0,u.jsx)(`button`,{className:`sdk-skip-ad-btn ${o?`sdk-skip-ad-btn--ready`:``}`,onClick:o?Pr:void 0,disabled:!o,"aria-label":o?`Skip advertisement`:`Skip advertisement available in ${s} seconds`,"aria-disabled":!o,children:o?`Skip Ad ›`:`Skip in ${s}s`})]})})(),Ct&&(0,u.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`rgba(0,0,0,0.72)`,color:`#fff`,zIndex:60},children:(0,u.jsxs)(`div`,{style:{maxWidth:480,textAlign:`center`,padding:24},children:[(0,u.jsx)(`h3`,{style:{margin:`0 0 8px`},children:`Playback restricted`}),(0,u.jsx)(`p`,{style:{margin:0},children:`Your account is missing a required license key. Please contact your administrator.`})]})}),(q||Jn)&&(0,u.jsx)(`div`,{className:`sdk-cast-bg`}),Wt&&(0,u.jsxs)(`div`,{className:`sdk-mobile-overlay ${dr?`active`:``}`,onClick:qr,children:[yt&&(0,u.jsx)(`div`,{className:`sdk-mobile-doubletap ${yt}`,children:(0,u.jsxs)(`div`,{className:`sdk-mobile-doubletap-icon`,children:[yt===`left`?(0,u.jsx)(Se,{size:26}):(0,u.jsx)(Ce,{size:26}),(0,u.jsx)(`span`,{className:`sdk-mobile-doubletap-label`,children:`10s`})]})}),ae&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(`div`,{className:`sdk-mobile-header sdk-mobile-ctrl`,children:[(0,u.jsxs)(`div`,{className:`sdk-mobile-header-left`,children:[(zt||F)&&(0,u.jsx)(`button`,{className:`sdk-mobile-back-btn`,onClick:Nr,"aria-label":`Exit fullscreen`,children:(0,u.jsx)(pe,{size:22,"aria-hidden":`true`})}),(Ve||lr)&&(0,u.jsx)(`div`,{className:`sdk-mobile-title`,children:Ve||lr})]}),(0,u.jsxs)(`div`,{className:`sdk-mobile-header-actions`,children:[N.enablePiP&&(0,u.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:()=>{Y||Mr()},style:{color:Gt?s:``},"aria-label":Gt?`Exit picture-in-picture`:`Enter picture-in-picture`,"aria-pressed":Gt,children:(0,u.jsx)(be,{size:20,"aria-hidden":`true`})}),N.enableChromecast&&!Y&&(0,u.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:Lr,title:q?`Casting to ${q} — tap to disconnect`:`Cast to device`,"aria-label":q?`Stop casting to ${q}`:`Cast to device`,"aria-pressed":!!q,style:{color:q?`#3b82f6`:``},children:(0,u.jsx)(fe,{size:20,fill:q?`currentColor`:`none`,"aria-hidden":`true`})}),N.allowAirplay&&Kn&&(0,u.jsx)(`button`,{className:`sdk-mobile-hdr-btn`,onClick:Rr,"aria-label":Jn?`Stop AirPlay to ${Xn||`device`}`:`AirPlay to device`,"aria-pressed":Jn,style:{color:Jn?s:``},children:(0,u.jsx)(ue,{size:20,"aria-hidden":`true`})})]})]}),(0,u.jsxs)(`div`,{className:`sdk-mobile-center-controls sdk-mobile-ctrl`,children:[!Y&&(0,u.jsxs)(`button`,{className:`sdk-mobile-seek-btn`,onClick:()=>X(B(Math.max(0,z(Q)-10))),"aria-label":`Rewind 10 seconds`,children:[(0,u.jsx)(Se,{size:22,"aria-hidden":`true`}),(0,u.jsx)(`span`,{className:`sdk-mobile-seek-label`,"aria-hidden":`true`,children:`10`})]}),(0,u.jsx)(`button`,{className:`sdk-mobile-play-btn`,onClick:Cr,"aria-label":qt?`Replay`:Ur?`Pause`:`Play`,children:qt?(0,u.jsx)(Se,{size:38,"aria-hidden":`true`}):Ur?(0,u.jsx)(ye,{size:38,fill:`currentColor`,"aria-hidden":`true`}):(0,u.jsx)(xe,{size:38,fill:`currentColor`,style:{marginLeft:`3px`},"aria-hidden":`true`})}),!Y&&(0,u.jsxs)(`button`,{className:`sdk-mobile-seek-btn`,onClick:()=>X(B(Math.min(R,z(Q)+10))),"aria-label":`Skip forward 10 seconds`,children:[(0,u.jsx)(Ce,{size:22,"aria-hidden":`true`}),(0,u.jsx)(`span`,{className:`sdk-mobile-seek-label`,"aria-hidden":`true`,children:`10`})]})]}),(0,u.jsxs)(`div`,{className:`sdk-mobile-bottom-bar sdk-mobile-ctrl`,children:[N.enableKeyMoments&&G&&H.length>0&&(0,u.jsx)(`div`,{className:`sdk-mobile-chapters-scroll`,children:H.map((e,t)=>{let n=kn.index===t;return(0,u.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-mobile-chapter-card${n?` active`:``}`,style:{borderColor:n?s:void 0},"aria-label":`${e.title}, ${Z(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:()=>{X(e.startTime)},onKeyDown:Yr(()=>X(e.startTime)),children:[(0,u.jsxs)(`div`,{className:`sdk-mobile-chapter-thumb`,children:[Fn[t]||e.thumbnail?(0,u.jsx)(`img`,{src:Fn[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,u.jsx)(ge,{size:16,"aria-hidden":`true`,style:{color:n?s:`rgba(255,255,255,0.3)`}}),(0,u.jsx)(`span`,{className:`sdk-mobile-chapter-time-badge`,"aria-hidden":`true`,children:Z(e.startTime)})]}),(0,u.jsx)(`div`,{className:`sdk-mobile-chapter-title`,style:{color:n?s:void 0},children:e.title})]},t)})}),(0,u.jsx)(`div`,{ref:C,role:Y?void 0:`slider`,"aria-label":Y?void 0:`Seek`,"aria-valuemin":Y?void 0:0,"aria-valuemax":Y?void 0:Math.round(R),"aria-valuenow":Y?void 0:Math.round(z(J===null?P:J)),"aria-valuetext":Y?void 0:`${Z(z(J===null?P:J))} of ${Z(R)}`,tabIndex:Y?void 0:0,className:`sdk-seekbar-container sdk-mobile-seekbar${Y?` sdk-ad-mode`:``}`,onMouseDown:Y?void 0:Tr,onMouseMove:Y?void 0:zr,onMouseLeave:Y?void 0:Hr,onTouchStart:Y?void 0:Vr,onKeyDown:Y?void 0:Xr,style:{pointerEvents:Y?`none`:void 0,touchAction:`none`},children:Y?(0,u.jsx)(`div`,{className:`sdk-ad-progress-fill`,style:{width:(()=>{let e=A?A.getCurrentTime():P,t=I.find(t=>e>=t.startTime&&e<t.endTime);return t?`${Math.min(100,Math.max(0,(e-t.startTime)/(t.endTime-t.startTime)*100))}%`:`0%`})()}}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`div`,{className:`sdk-seekbar-buffered`,style:{width:`${jt?(A&&A.getBufferedRanges()[0]?.end||0)/jt*100:0}%`}}),R>0&&I.filter(e=>!Zt.has(e.startTime)).map((e,t)=>(0,u.jsx)(`div`,{className:`sdk-seekbar-adbreak`,style:{left:`${z(e.startTime)/R*100}%`,width:`3px`}},t)),(0,u.jsx)(`div`,{className:`sdk-seekbar-progress`,style:{width:q?`${Wr>0?Q/Wr*100:0}%`:`${R?z(J===null?P:J)/R*100:0}%`,background:`#ffffff`,boxShadow:`none`},children:(0,u.jsx)(`div`,{className:`sdk-seekbar-handle`,style:{opacity:1,transform:`scale(1)`}})}),N.enableKeyMoments&&H.map((e,t)=>R===0?null:(0,u.jsx)(`div`,{className:`sdk-seekbar-chapter-marker sdk-desktop-chapter-dot`,style:{left:`${z(e.startTime)/R*100}%`}},t))]})}),(0,u.jsxs)(`div`,{className:`sdk-mobile-controls-row`,children:[!Y&&(0,u.jsx)(`span`,{className:`sdk-time-display`,children:q?`${Z(Q)} / ${Z(Wr)}`:`${Z(z(J===null?P:J))} / ${Z(R)}`}),(0,u.jsxs)(`div`,{className:`sdk-mobile-bottom-icons`,children:[N.enableKeyMoments&&H.length>0&&!Y&&(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn${G?` active`:``}`,onClick:()=>{Pn(!G)},"aria-label":G?`Hide chapters`:`Show chapters`,"aria-pressed":G,children:(0,u.jsx)(ge,{size:18,"aria-hidden":`true`})}),N.enableSubtitles&&!Y&&Cn.some(e=>!e.isNative)&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn${V===`off`?``:` active`}`,onClick:()=>{Zr(`subtitles`)},"aria-label":`Captions`,"aria-haspopup":`listbox`,"aria-expanded":U===`subtitles`,children:(0,u.jsx)(de,{size:18,"aria-hidden":`true`})}),U===`subtitles`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Captions`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Subtitles`}),(0,u.jsxs)(`div`,{role:`option`,"aria-selected":V===`off`,tabIndex:0,className:`sdk-dropup-item ${V===`off`?`active`:``}`,onClick:()=>kr(`off`),onKeyDown:$(()=>kr(`off`)),children:[(0,u.jsx)(`span`,{children:`Off`}),V===`off`&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]}),Cn.map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":V===e.id,tabIndex:0,className:`sdk-dropup-item ${V===e.id?`active`:``}`,onClick:()=>kr(e.id),onKeyDown:$(()=>kr(e.id)),children:[(0,u.jsx)(`span`,{children:g(e)}),V===e.id&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),N.allowMultipleAudio&&Tn.length>1&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn${U===`audio`?` active`:``}`,onClick:()=>{Zr(`audio`)},"aria-label":`Audio track`,"aria-haspopup":`listbox`,"aria-expanded":U===`audio`,children:(0,u.jsx)(he,{size:18,"aria-hidden":`true`})}),U===`audio`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Audio track`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Audio Track`}),Tn.map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":Dn===e.id,tabIndex:0,className:`sdk-dropup-item ${Dn===e.id?`active`:``}`,onClick:()=>{A?.setAudioTrack(e.id),On(e.id),W(`none`),K(`Audio: ${g(e)}`)},onKeyDown:$(()=>{A?.setAudioTrack(e.id),On(e.id),W(`none`),K(`Audio: ${g(e)}`)}),children:[(0,u.jsx)(`span`,{children:g(e)}),Dn===e.id&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),N.enablePlaybackSpeed&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn${U===`speed`?` active`:``}`,onClick:()=>{Zr(`speed`)},"aria-label":`Playback speed`,"aria-haspopup":`listbox`,"aria-expanded":U===`speed`,children:(0,u.jsx)(me,{size:18,"aria-hidden":`true`})}),U===`speed`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Playback speed`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Speed`}),[.5,.75,1,1.25,1.5,2].map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":Mn===e,tabIndex:0,className:`sdk-dropup-item ${Mn===e?`active`:``}`,onClick:()=>Dr(e),onKeyDown:$(()=>Dr(e)),children:[(0,u.jsx)(`span`,{children:e===1?`Normal`:`${e}x`}),Mn===e&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e))]})]}),N.enableQuality&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn${vn.id===-1?``:` active`}`,onClick:()=>{Zr(`quality`)},"aria-label":`Video quality`,"aria-haspopup":`listbox`,"aria-expanded":U===`quality`,children:(0,u.jsx)(Ne,{size:18,"aria-hidden":`true`})}),U===`quality`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu large`,role:`listbox`,"aria-label":`Video quality`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Quality`}),gn.map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":vn.id===e.id,tabIndex:0,className:`sdk-dropup-item ${vn.id===e.id?`active`:``}`,onClick:()=>Or(e.id),onKeyDown:$(()=>Or(e.id)),children:[(0,u.jsx)(`span`,{children:e.label}),vn.id===e.id&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),x&&x.length>1&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn${U===`sources`?` active`:``}`,onClick:()=>{Zr(`sources`)},"aria-label":`Select source`,"aria-haspopup":`listbox`,"aria-expanded":U===`sources`,children:(0,u.jsx)(we,{size:18,"aria-hidden":`true`})}),U===`sources`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Select source`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Source`}),x.map((e,t)=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":qe===t,tabIndex:0,className:`sdk-dropup-item ${qe===t?`active`:``}`,onClick:()=>Ar(t),onKeyDown:$(()=>Ar(t)),children:[(0,u.jsx)(`span`,{children:e.label}),qe===t&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},t))]})]}),(0,u.jsx)(`button`,{className:`sdk-mobile-icon-btn`,onClick:Nr,"aria-label":zt||F?`Exit fullscreen`:`Enter fullscreen`,"aria-pressed":zt||F,children:zt?(0,u.jsx)(ve,{size:18,"aria-hidden":`true`}):(0,u.jsx)(_e,{size:18,"aria-hidden":`true`})})]})]})]})]})]}),!Wt&&(0,u.jsxs)(`div`,{className:`sdk-controls-overlay`,onClick:e=>{Y||e.target.closest(`.sdk-desktop-header`)||e.target.closest(`.sdk-desktop-center-controls`)||e.target.closest(`.sdk-desktop-bottom`)||Cr()},children:[(0,u.jsxs)(`div`,{className:`sdk-desktop-header`,children:[(0,u.jsxs)(`div`,{className:`sdk-desktop-header-left`,children:[(zt||F)&&(0,u.jsx)(`button`,{className:`sdk-desktop-back-btn`,onClick:e=>{e.stopPropagation(),Nr()},"aria-label":`Exit fullscreen`,children:(0,u.jsx)(pe,{size:22,"aria-hidden":`true`})}),(Ve||lr)&&(0,u.jsx)(`span`,{className:`sdk-desktop-title`,children:Ve||lr})]}),(0,u.jsxs)(`div`,{className:`sdk-desktop-header-right`,children:[N.enableChromecast&&!Y&&(0,u.jsx)(`button`,{className:`sdk-desktop-hdr-btn`,onClick:e=>{e.stopPropagation(),Lr()},title:q?`Casting to ${q} — click to disconnect`:`Cast to device`,"aria-label":q?`Stop casting to ${q}`:`Cast to device`,"aria-pressed":!!q,style:{color:q?`#3b82f6`:``},children:(0,u.jsx)(fe,{size:20,fill:q?`currentColor`:`none`,"aria-hidden":`true`})}),q&&(0,u.jsxs)(`span`,{className:`sdk-cast-indicator`,"aria-hidden":`true`,children:[(0,u.jsx)(fe,{size:10,fill:`currentColor`,"aria-hidden":`true`}),q]}),N.allowAirplay&&Kn&&(0,u.jsx)(`button`,{className:`sdk-desktop-hdr-btn`,onClick:e=>{e.stopPropagation(),Rr()},title:Jn?`AirPlay to ${Xn||`device`} — click to disconnect`:`AirPlay to device`,"aria-label":Jn?`Stop AirPlay to ${Xn||`device`}`:`AirPlay to device`,"aria-pressed":Jn,style:{color:Jn?s:``},children:(0,u.jsx)(ue,{size:20,"aria-hidden":`true`})})]})]}),ae&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsxs)(`div`,{className:`sdk-desktop-center-controls`,style:{pointerEvents:`none`},children:[!Y&&(0,u.jsx)(`button`,{className:`sdk-desktop-seek-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),X(B(Math.max(0,z(Q)-10)))},title:`Rewind 10s`,"aria-label":`Rewind 10 seconds`,children:(0,u.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,u.jsx)(Se,{size:30,"aria-hidden":`true`}),(0,u.jsx)(`span`,{className:`sdk-desktop-seek-label`,"aria-hidden":`true`,children:`10`})]})}),(0,u.jsx)(`button`,{className:`sdk-desktop-play-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),Cr()},title:qt?`Replay`:Ur?`Pause`:`Play`,"aria-label":qt?`Replay`:Ur?`Pause`:`Play`,children:qt?(0,u.jsx)(Se,{size:38,"aria-hidden":`true`}):Ur?(0,u.jsx)(ye,{size:38,fill:`currentColor`,"aria-hidden":`true`}):(0,u.jsx)(xe,{size:38,fill:`currentColor`,style:{marginLeft:`4px`},"aria-hidden":`true`})}),!Y&&(0,u.jsx)(`button`,{className:`sdk-desktop-seek-btn`,style:{pointerEvents:`auto`},onClick:e=>{e.stopPropagation(),X(B(Math.min(R,z(Q)+10)))},title:`Forward 10s`,"aria-label":`Skip forward 10 seconds`,children:(0,u.jsxs)(`div`,{style:{position:`relative`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,u.jsx)(Ce,{size:30,"aria-hidden":`true`}),(0,u.jsx)(`span`,{className:`sdk-desktop-seek-label`,"aria-hidden":`true`,children:`10`})]})})]}),N.enableKeyMoments&&G&&H.length>0&&He===`panel`&&(0,u.jsxs)(`div`,{className:`sdk-chapters-panel`,onClick:e=>e.stopPropagation(),children:[(0,u.jsx)(`div`,{className:`sdk-chapters-panel-header`,children:(0,u.jsx)(`span`,{className:`sdk-chapters-panel-title`,children:`Chapters`})}),(0,u.jsx)(`div`,{className:`sdk-chapters-panel-list`,children:H.map((e,t)=>{let n=kn.index===t;return(0,u.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-chapters-panel-item${n?` active`:``}`,"aria-label":`${e.title}, ${Z(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:()=>jr(e.startTime),onKeyDown:Yr(()=>jr(e.startTime)),children:[(0,u.jsx)(`div`,{className:`sdk-chapters-panel-thumb`,children:Fn[t]||e.thumbnail?(0,u.jsx)(`img`,{src:Fn[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,u.jsx)(ge,{size:18,"aria-hidden":`true`,style:{color:`rgba(255,255,255,0.3)`}})}),(0,u.jsxs)(`div`,{className:`sdk-chapters-panel-info`,children:[(0,u.jsx)(`div`,{className:`sdk-chapters-panel-item-title`,children:e.title}),e.description&&(0,u.jsx)(`div`,{className:`sdk-chapters-panel-item-desc`,children:e.description}),(0,u.jsx)(`div`,{className:`sdk-chapters-panel-item-time`,"aria-hidden":`true`,children:Z(e.startTime)})]})]},t)})})]}),(0,u.jsxs)(`div`,{className:`sdk-desktop-bottom`,children:[N.enableKeyMoments&&G&&H.length>0&&He===`strip`&&(0,u.jsx)(`div`,{className:`sdk-desktop-chapters-strip`,children:H.map((e,t)=>{let n=kn.index===t;return(0,u.jsxs)(`div`,{role:`button`,tabIndex:0,className:`sdk-desktop-chapter-card${n?` active`:``}`,"aria-label":`${e.title}, ${Z(e.startTime)}${n?`, current chapter`:``}`,"aria-current":n?`true`:void 0,onClick:t=>{t.stopPropagation(),jr(e.startTime)},onKeyDown:Yr(()=>jr(e.startTime)),children:[(0,u.jsx)(`div`,{className:`sdk-desktop-chapter-thumb`,children:Fn[t]||e.thumbnail?(0,u.jsx)(`img`,{src:Fn[t]||e.thumbnail,alt:``,"aria-hidden":`true`,style:{width:`100%`,height:`100%`,objectFit:`cover`,display:`block`}}):(0,u.jsx)(ge,{size:18,"aria-hidden":`true`,style:{color:`rgba(255,255,255,0.35)`}})}),(0,u.jsx)(`div`,{className:`sdk-desktop-chapter-title`,children:e.title}),(0,u.jsx)(`div`,{className:`sdk-desktop-chapter-time`,"aria-hidden":`true`,children:Z(e.startTime)})]},t)})}),(0,u.jsx)(`div`,{ref:C,role:Y?void 0:`slider`,"aria-label":Y?void 0:`Seek`,"aria-valuemin":Y?void 0:0,"aria-valuemax":Y?void 0:Math.round(R),"aria-valuenow":Y?void 0:Math.round(z(J===null?P:J)),"aria-valuetext":Y?void 0:`${Z(z(J===null?P:J))} of ${Z(R)}`,tabIndex:Y?void 0:0,className:`sdk-seekbar-container sdk-desktop-seekbar${Y?` sdk-ad-mode`:``}`,onMouseDown:Y?void 0:Tr,onMouseMove:Y?void 0:zr,onMouseLeave:Y?void 0:Hr,onTouchStart:Y?void 0:Vr,onKeyDown:Y?void 0:Xr,style:{pointerEvents:Y?`none`:void 0},children:Y?(0,u.jsx)(`div`,{className:`sdk-ad-progress-fill`,style:{width:(()=>{let e=A?A.getCurrentTime():P,t=I.find(t=>e>=t.startTime&&e<t.endTime);return t?`${Math.min(100,Math.max(0,(e-t.startTime)/(t.endTime-t.startTime)*100))}%`:`0%`})()}}):(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`div`,{className:`sdk-seekbar-buffered`,style:{width:`${jt?(A&&A.getBufferedRanges()[0]?.end||0)/jt*100:0}%`}}),R>0&&I.filter(e=>!Zt.has(e.startTime)).map((e,t)=>(0,u.jsx)(`div`,{className:`sdk-seekbar-adbreak`,style:{left:`${z(e.startTime)/R*100}%`,width:`3px`}},t)),(0,u.jsx)(`div`,{className:`sdk-seekbar-progress`,style:{width:q?`${Wr>0?Q/Wr*100:0}%`:`${R?z(J===null?P:J)/R*100:0}%`,background:`#ffffff`,boxShadow:`none`},children:(0,u.jsx)(`div`,{className:`sdk-seekbar-handle`})}),N.enableKeyMoments&&H.map((e,t)=>R===0?null:(0,u.jsx)(`div`,{className:`sdk-seekbar-chapter-marker sdk-desktop-chapter-dot`,style:{left:`${z(e.startTime)/R*100}%`}},t)),Qn!==null&&ir&&(0,u.jsxs)(`div`,{className:`sdk-thumbnail-tooltip`,style:{left:`${er}px`},children:[(0,u.jsx)(`div`,{className:`sdk-thumbnail-preview`,children:(0,u.jsx)(`img`,{src:ir,alt:`preview`,style:{width:`100%`,height:`100%`,objectFit:`cover`,borderRadius:`8px`,display:`block`}})}),or&&(0,u.jsx)(`div`,{className:`sdk-thumbnail-chapter-name`,children:or.title}),(0,u.jsx)(`div`,{className:`sdk-thumbnail-time-label`,children:Z(z(nr))})]})]})}),(0,u.jsxs)(`div`,{className:`sdk-desktop-controls-row`,children:[(0,u.jsxs)(`div`,{className:`sdk-desktop-left-controls`,children:[!Y&&(0,u.jsx)(`div`,{className:`sdk-time-display`,children:q?`${Z(Q)} / ${Z(Wr)}`:`${Z(z(J===null?P:J))} / ${Z(R)}`}),Ue===`slider`&&(0,u.jsxs)(`div`,{className:`sdk-volume-control`,children:[(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),Er()},title:Kr?`Unmute`:`Mute`,"aria-label":Kr?`Unmute`:`Mute`,"aria-pressed":Kr,children:Jr()}),(0,u.jsx)(`input`,{type:`range`,className:`sdk-volume-slider`,min:0,max:1,step:.02,value:Kr?0:Gr,"aria-label":`Volume`,"aria-valuetext":Kr?`Muted`:`${Math.round(Gr*100)}%`,style:{"--vol-pct":Math.round((Kr?0:Gr)*100)},onChange:e=>{let t=parseFloat(e.target.value);q?(A?.casting.remoteSetVolume(t),t>0&&A?.casting.remoteSetMute(!1)):(A?.setVolume(t),t>0&&Ft&&A?.setMute(!1))},onClick:e=>e.stopPropagation()})]})]}),(0,u.jsxs)(`div`,{className:`sdk-desktop-right-icons`,children:[N.enableKeyMoments&&H.length>0&&!Y&&(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${G?` active`:``}`,onClick:e=>{e.stopPropagation(),Pn(!G)},title:`Key Moments`,"aria-label":G?`Hide chapters`:`Show chapters`,"aria-pressed":G,children:(0,u.jsx)(ge,{size:20,"aria-hidden":`true`})}),N.enableSubtitles&&!Y&&Cn.some(e=>!e.isNative)&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${V===`off`?``:` active`}`,onClick:e=>{e.stopPropagation(),Zr(`subtitles`)},title:`Captions`,"aria-label":`Captions`,"aria-haspopup":`listbox`,"aria-expanded":U===`subtitles`,children:(0,u.jsx)(de,{size:20,"aria-hidden":`true`})}),U===`subtitles`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Captions`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Subtitles`}),(0,u.jsxs)(`div`,{role:`option`,"aria-selected":V===`off`,tabIndex:0,className:`sdk-dropup-item ${V===`off`?`active`:``}`,onClick:()=>kr(`off`),onKeyDown:$(()=>kr(`off`)),children:[(0,u.jsx)(`span`,{children:`Off`}),V===`off`&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]}),Cn.map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":V===e.id,tabIndex:0,className:`sdk-dropup-item ${V===e.id?`active`:``}`,onClick:()=>kr(e.id),onKeyDown:$(()=>kr(e.id)),children:[(0,u.jsx)(`span`,{children:g(e)}),V===e.id&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),N.allowMultipleAudio&&Tn.length>1&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${U===`audio`?` active`:``}`,onClick:e=>{e.stopPropagation(),Zr(`audio`)},title:`Audio Track`,"aria-label":`Audio track`,"aria-haspopup":`listbox`,"aria-expanded":U===`audio`,children:(0,u.jsx)(he,{size:20,"aria-hidden":`true`})}),U===`audio`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Audio track`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Audio Track`}),Tn.map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":Dn===e.id,tabIndex:0,className:`sdk-dropup-item ${Dn===e.id?`active`:``}`,onClick:()=>{A?.setAudioTrack(e.id),On(e.id),W(`none`),K(`Audio: ${g(e)}`)},onKeyDown:$(()=>{A?.setAudioTrack(e.id),On(e.id),W(`none`),K(`Audio: ${g(e)}`)}),children:[(0,u.jsx)(`span`,{children:g(e)}),Dn===e.id&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),N.enablePlaybackSpeed&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${U===`speed`?` active`:``}`,onClick:e=>{e.stopPropagation(),Zr(`speed`)},title:`Playback Speed`,"aria-label":`Playback speed`,"aria-haspopup":`listbox`,"aria-expanded":U===`speed`,children:(0,u.jsx)(me,{size:20,"aria-hidden":`true`})}),U===`speed`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Playback speed`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Speed`}),[.5,.75,1,1.25,1.5,2].map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":Mn===e,tabIndex:0,className:`sdk-dropup-item ${Mn===e?`active`:``}`,onClick:()=>Dr(e),onKeyDown:$(()=>Dr(e)),children:[(0,u.jsx)(`span`,{children:e===1?`Normal`:`${e}x`}),Mn===e&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e))]})]}),N.enableQuality&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${vn.id===-1?``:` active`}`,onClick:e=>{e.stopPropagation(),Zr(`quality`)},title:`Quality`,"aria-label":`Video quality`,"aria-haspopup":`listbox`,"aria-expanded":U===`quality`,children:(0,u.jsx)(Ne,{size:20,"aria-hidden":`true`})}),U===`quality`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu large`,role:`listbox`,"aria-label":`Video quality`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Quality`}),gn.map(e=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":vn.id===e.id,tabIndex:0,className:`sdk-dropup-item ${vn.id===e.id?`active`:``}`,onClick:()=>Or(e.id),onKeyDown:$(()=>Or(e.id)),children:[(0,u.jsx)(`span`,{children:e.label}),vn.id===e.id&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},e.id))]})]}),x&&x.length>1&&!Y&&(0,u.jsxs)(`div`,{className:`sdk-menu-container`,children:[(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${U===`sources`?` active`:``}`,onClick:e=>{e.stopPropagation(),Zr(`sources`)},title:`Select Source`,"aria-label":`Select source`,"aria-haspopup":`listbox`,"aria-expanded":U===`sources`,children:(0,u.jsx)(we,{size:20,"aria-hidden":`true`})}),U===`sources`&&(0,u.jsxs)(`div`,{ref:Qr,className:`sdk-dropup-menu`,role:`listbox`,"aria-label":`Select source`,children:[(0,u.jsx)(`div`,{className:`sdk-dropup-header`,"aria-hidden":`true`,children:`Source`}),x.map((e,t)=>(0,u.jsxs)(`div`,{role:`option`,"aria-selected":qe===t,tabIndex:0,className:`sdk-dropup-item ${qe===t?`active`:``}`,onClick:()=>Ar(t),onKeyDown:$(()=>Ar(t)),children:[(0,u.jsx)(`span`,{children:e.label}),qe===t&&(0,u.jsx)(p,{size:12,"aria-hidden":`true`})]},t))]})]}),N.enablePiP&&!Y&&(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn${Gt?` active`:``}`,onClick:e=>{e.stopPropagation(),Mr()},title:`Picture-in-Picture`,"aria-label":Gt?`Exit picture-in-picture`:`Enter picture-in-picture`,"aria-pressed":Gt,children:(0,u.jsx)(be,{size:20,"aria-hidden":`true`})}),Ue===`button`&&(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),Er()},title:Kr?`Unmute`:`Mute`,"aria-label":Kr?`Unmute`:`Mute`,"aria-pressed":Kr,children:Jr()}),h&&(0,u.jsx)(`button`,{className:`sdk-desktop-icon-btn`,onClick:e=>{e.stopPropagation(),Nr()},title:zt||F?`Exit fullscreen`:`Fullscreen`,"aria-label":zt||F?`Exit fullscreen`:`Enter fullscreen`,"aria-pressed":zt||F,children:zt?(0,u.jsx)(ve,{size:20,"aria-hidden":`true`}):(0,u.jsx)(_e,{size:20,"aria-hidden":`true`})})]})]})]})]})]})]})},Re=`https://dev-api.go-boss.com`;function _(e){return{"x-player-key":e,"Content-Type":`application/json`}}async function ze(e,t=Re){let n=await fetch(`${t}/api/player/sdk/init`,{method:`POST`,headers:_(e),body:JSON.stringify({})});if(!n.ok)throw Error(`SDK init failed: ${n.status}`);let r=await n.json();return console.log(`[SDK] Init response:`,r),r}async function Be(e,t,n,r=Re){let i=await fetch(`${r}/api/player/sdk/session/start`,{method:`POST`,headers:_(e),body:JSON.stringify({sessionId:t,videoId:n})});if(!i.ok)throw Error(`Session start failed: ${i.status}`);let a=await i.json().catch(()=>null);console.log(`[SDK] Session start response:`,a)}async function Ve(e,t,n,r,i=Re){let a={sessionId:t,currentTime:n,duration:r};console.log(`[SDK] Heartbeat request:`,a);let o=await fetch(`${i}/api/player/sdk/session/heartbeat`,{method:`POST`,headers:_(e),body:JSON.stringify(a)});if(!o.ok)throw Error(`Heartbeat failed: ${o.status}`);let s=await o.json().catch(()=>null);console.log(`[SDK] Heartbeat response:`,s)}async function He(e,t,n=Re){let r=await fetch(`${n}/api/player/sdk/session/end`,{method:`POST`,headers:_(e),body:JSON.stringify({sessionId:t})});if(!r.ok)throw Error(`Session end failed: ${r.status}`);let i=await r.json().catch(()=>null);console.log(`[SDK] Session end response:`,i)}function Ue(e,t,n=Re){fetch(`${n}/api/player/sdk/session/end`,{method:`POST`,headers:_(e),body:JSON.stringify({sessionId:t}),keepalive:!0})}var v={subtitles:`subtitle_support`,ads:`ad_support`,chapterMarkers:`key_moments`,playbackSpeed:`playback_speed`,airplay:`airplay`,chromecast:`chromecast`,pictureInPicture:`picture_in_picture`,multipleResolution:`multiple_resolution`,multipleAudio:`multiple_audio`,drmProtection:`drm_protection`,screenRecordingPrevention:`screen_recording_prevention`,signalStrength:`signal_strength`};function We(e){let t={m3u8_playback:!0,subtitle_support:!1,playback_speed:!1,airplay:!1,chromecast:!1,picture_in_picture:!1,multiple_resolution:!1,multiple_audio:!1,key_moments:!1,drm_protection:!1,screen_recording_prevention:!1,signal_strength:!1,ad_support:!1};for(let[n,r]of Object.entries(v))n in e&&(t[r]=e[n]);return t}function Ge(e){if(!e)return e=>e;let t=[];for(let n of e.split(`,`)){let[e,r]=n.split(`=`);e?.trim()&&r?.trim()&&t.push({domain:e.trim(),proxyPath:r.trim()})}return e=>{for(let{domain:n,proxyPath:r}of t)if(e.includes(n))try{let t=new URL(e);return`${r}${t.pathname}${t.search}`}catch{return e.replace(`https://${n}`,r)}return e}}var Ke=3e4;function y({playerKey:e,src:t,subtitles:n,licenseKey:r,themeColor:i=`#6366f1`,firebaseConfig:a,proxyDomains:o,apiBaseUrl:s,adTrackingUrl:c,overlayAdUrl:d,title:te,watermark:ne,autoplay:re=!1,muted:ie=!1,autoFullscreen:ae=!1,enableControls:oe=!0,enableSkipAd:se,skipAdAfterSeconds:ce,chaptersDisplayMode:le=`strip`,volumeControlType:f=`slider`,subtitleStyle:ue,drmConfig:de,onAnalyticsEvent:fe,onKeyMomentsLoaded:p,initialTime:pe,onTimeUpdate:me}){let[he,ge]=(0,l.useState)([]),[_e,ve]=(0,l.useState)(0),ye=Array.isArray(t)?t:[{label:`Default`,url:t}],be=ye[_e]?.url??ye[0]?.url??``,[xe,Se]=(0,l.useState)(`loading`),[Ce,we]=(0,l.useState)(null),[Te,Ee]=(0,l.useState)(0),[De,Oe]=(0,l.useState)(`network`),ke=(0,l.useRef)(null),Ae=(0,l.useRef)(!1),je=(0,l.useRef)(``),Me=(0,l.useRef)(!1),Ne=(0,l.useRef)(!1),m=(0,l.useRef)(null),Pe=(0,l.useRef)(0),h=(0,l.useRef)(null),g=(0,l.useRef)({currentTime:0,duration:0}),Fe=(0,l.useRef)(()=>{}),Ie=be.split(`/`).filter(Boolean),Re=(Ie[Ie.length-1]??``).replace(/\.m3u8.*$/,``)||`video`,_=(0,l.useCallback)(()=>Ge(o),[o])();(0,l.useEffect)(()=>{document.documentElement.style.setProperty(`--accent-indigo`,i);let e=i.replace(`#`,``),t=`99, 102, 241`;e.length===6&&(t=`${parseInt(e.substring(0,2),16)}, ${parseInt(e.substring(2,4),16)}, ${parseInt(e.substring(4,6),16)}`),document.documentElement.style.setProperty(`--accent-indigo-rgb`,t)},[i]),(0,l.useEffect)(()=>{let t=!1;return ze(e,s).then(e=>{if(t)return;ke.current=e;let{features:n,planTier:r}=e.result.data,i={package:r,is_active:!0,features:We(n),limits:{streaming_minutes:0}};console.log(`[SDK] Player key validated. Features:`,i.features),we(i),Se(`ready`)}).catch(e=>{if(t)return;console.error(`[SDK] Player key validation failed:`,e);let n=e.message??``;Oe(/init failed: 4\d\d/.test(n)?`auth`:`network`),Se(`error`)}),()=>{t=!0,m.current&&=(clearTimeout(m.current),null),Pe.current=0,h.current=null,Se(`loading`),we(null),Me.current=!1,je.current=``}},[e,s,Te]);let v=(0,l.useCallback)(()=>{m.current&&(clearTimeout(m.current),m.current=null,h.current!==null&&(Pe.current+=Date.now()-h.current,h.current=null))},[]),y=(0,l.useCallback)(()=>{m.current&&=(clearTimeout(m.current),null),Pe.current=0,h.current=null},[]),b=(0,l.useCallback)(()=>{if(m.current||!je.current)return;h.current=Date.now();let t=Ke-Pe.current;m.current=setTimeout(()=>{m.current=null,Pe.current=0,h.current=null;let{currentTime:t,duration:n}=g.current;console.log(`[SDK] Heartbeat timer fired — 30s of real content elapsed`),Ve(e,je.current,t,n,s).catch(e=>console.warn(`[SDK] Heartbeat failed:`,e.message)),Fe.current()},t)},[e,s]);(0,l.useEffect)(()=>{Fe.current=b},[b]);let x=(0,l.useRef)(!0);(0,l.useEffect)(()=>{if(x.current){x.current=!1;return}Ne.current=!0,v()},[_e,v]),(0,l.useEffect)(()=>{let t=()=>{je.current&&(y(),Ue(e,je.current,s))};return window.addEventListener(`beforeunload`,t),()=>{window.removeEventListener(`beforeunload`,t),y()}},[e,s,y]);let qe=(0,l.useCallback)(t=>{let n=t;t.currentTime!==void 0&&(g.current={currentTime:t.currentTime,duration:t.duration}),t.eventType===`session_start`&&!Me.current&&(Me.current=!0,je.current=typeof n.sessionId==`string`?n.sessionId:``,Be(e,je.current,Re,s).catch(e=>console.warn(`[SDK] Session start failed:`,e.message)),Ae.current||b()),t.eventType===`play`&&Me.current&&!Ae.current&&!Ne.current&&b(),t.eventType===`pause`&&v(),t.eventType===`buffering_start`&&v(),t.eventType===`buffering_end`&&Me.current&&!Ae.current&&(Ne.current=!1,b()),t.eventType===`ended`&&(y(),je.current&&He(e,je.current).catch(e=>console.warn(`[SDK] Session end failed:`,e.message))),console.log(`[SDK Analytics]`,t),fe?.(t)},[e,s,Re,b,v,y,fe]),Je=(0,l.useCallback)(e=>{Ae.current=e,e?(v(),console.log(`[SDK] Ad break started — heartbeat timer paused`)):(Me.current&&b(),console.log(`[SDK] Ad break ended — heartbeat timer resumed`))},[v,b]),Ye=(0,l.useCallback)(e=>{ge(e),p?.(e)},[p]);if(xe===`loading`)return(0,u.jsxs)(`div`,{style:{width:`100%`,aspectRatio:`16 / 9`,background:`#000`,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`},children:[(0,u.jsx)(`style`,{children:`@keyframes boss-sdk-spin{to{transform:rotate(360deg)}}`}),(0,u.jsx)(`div`,{style:{width:32,height:32,borderRadius:`50%`,border:`3px solid rgba(255,255,255,0.12)`,borderTopColor:i,animation:`boss-sdk-spin 0.7s linear infinite`}})]});if(xe===`error`){let e=De===`auth`;return(0,u.jsx)(`div`,{style:{width:`100%`,aspectRatio:`16 / 9`,background:`#09090e`,borderRadius:8,display:`flex`,alignItems:`center`,justifyContent:`center`,flexDirection:`column`,gap:20},children:(0,u.jsx)(ee,{title:e?`Invalid Player Key`:`Something Went Wrong`,subtitle:e?`Your player key is invalid or expired.
5
5
  Please check your configuration.`:`We encountered an error while connecting.
6
- Please try again.`,onRetry:()=>Ee(e=>e+1)})})}return(0,u.jsx)(Ie,{src:be,sources:ye,activeSourceIndex:_e,onSourceChange:e=>ve(e),subtitles:n,keyMoments:he,themeColor:i,firebaseConfig:a,resolvedEntitlement:Ce,licenseKey:r,title:te,watermark:ne,autoplay:re,muted:ie,autoFullscreen:ae,enableControls:oe,enableSkipAd:se,skipAdAfterSeconds:ce,chaptersDisplayMode:le,volumeControlType:f,subtitleStyle:ue,drmConfig:de,overlayAdUrl:d,adTrackingUrl:c,urlTransformer:v,onAnalyticsEvent:qe,onAdBreakChange:Je,onKeyMomentsLoaded:Ye,initialTime:pe,onTimeUpdate:me})}function b(e,t){let n=(0,d.createRoot)(e),r=t;return n.render((0,l.createElement)(y,r)),{update(e){r={...r,...e},n.render((0,l.createElement)(y,r))},destroy(){n.unmount()}}}exports.BossVideoPlayer=y,exports.FirebaseAnalyticsProvider=c.c,exports.VideoPlayerSDK=c.t,exports.WebVideoPlayer=Ie,exports.createPlayer=b,exports.endSession=Ve,exports.initSdk=Re,exports.sendHeartbeat=Be,exports.startSession=ze;
6
+ Please try again.`,onRetry:()=>Ee(e=>e+1)})})}return(0,u.jsx)(Le,{src:be,sources:ye,activeSourceIndex:_e,onSourceChange:e=>ve(e),subtitles:n,keyMoments:he,themeColor:i,firebaseConfig:a,resolvedEntitlement:Ce,licenseKey:r,title:te,watermark:ne,autoplay:re,muted:ie,autoFullscreen:ae,enableControls:oe,enableSkipAd:se,skipAdAfterSeconds:ce,chaptersDisplayMode:le,volumeControlType:f,subtitleStyle:ue,drmConfig:de,overlayAdUrl:d,adTrackingUrl:c,urlTransformer:_,onAnalyticsEvent:qe,onAdBreakChange:Je,onKeyMomentsLoaded:Ye,initialTime:pe,onTimeUpdate:me})}function b(e,t){let n=(0,d.createRoot)(e),r=t;return n.render((0,l.createElement)(y,r)),{update(e){r={...r,...e},n.render((0,l.createElement)(y,r))},destroy(){n.unmount()}}}exports.BossVideoPlayer=y,exports.FirebaseAnalyticsProvider=c.c,exports.VideoPlayerSDK=c.t,exports.WebVideoPlayer=Le,exports.createPlayer=b,exports.endSession=He,exports.initSdk=ze,exports.sendHeartbeat=Ve,exports.startSession=Be;
7
7
  //# sourceMappingURL=index.cjs.map