UNPKG

jessibuca

Version:
188 lines (166 loc) 3.48 kB
.hls-player { position: relative; width: 100%; background: #000; border-radius: 8px; overflow: hidden; } .hls-player-video { width: 100%; display: block; background: #000; } .hls-player-controls { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.7) 60%, transparent); padding: 16px; display: flex; align-items: center; gap: 16px; transition: opacity 0.3s; opacity: 0; } .hls-player:hover .hls-player-controls { opacity: 1; } .hls-player-controls button { background: transparent; border: none; color: #fff; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-size: 13px; transition: all 0.2s; min-width: 40px; display: flex; align-items: center; justify-content: center; } .hls-player-controls button:hover { background: rgba(255, 255, 255, 0.1); } .hls-player-controls button.rate-active { background: #18a058; color: #fff; } .hls-player-rate { display: flex; gap: 4px; margin-left: auto; background: rgba(0, 0, 0, 0.5); padding: 4px; border-radius: 4px; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } /* Timeline styles */ .hls-player .timeline-container { flex: 1; margin: 0 8px; height: 20px; display: flex; align-items: center; } .hls-player .canvas-wrapper { width: 100%; background: rgba(255, 255, 255, 0.1); border-radius: 4px; height: 4px !important; transition: all 0.2s; overflow: hidden; } .hls-player-controls:hover .canvas-wrapper { height: 8px !important; background: rgba(255, 255, 255, 0.15); } /* Play/Pause button */ .hls-player-controls button:first-child { background: rgba(255, 255, 255, 0.1); border: none; color: #fff; width: 36px; height: 36px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; padding: 0; min-width: 36px; font-size: 13px; } .hls-player-controls button:first-child:hover { background: rgba(255, 255, 255, 0.2); transform: scale(1.05); } /* Playback rate buttons */ .hls-player-rate button { background: transparent; border: none; color: rgba(255, 255, 255, 0.7); padding: 4px 8px; border-radius: 4px; cursor: pointer; font-size: 12px; transition: all 0.2s; min-width: 36px; } .hls-player-rate button:hover { background: rgba(255, 255, 255, 0.1); color: #fff; } .hls-player-rate button.rate-active { background: #18a058; color: #fff; } .hls-player-debug { margin-top: 16px; padding: 16px; border: 1px solid #eee; border-radius: 4px; background: #fff; } .debug-timeline-container { margin-bottom: 16px; } .debug-label { font-size: 12px; color: #666; margin-bottom: 4px; } .debug-canvas-wrapper { position: relative; height: 24px; width: 100%; background: #f5f5f5; border-radius: 2px; overflow: hidden; } .debug-canvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; } /* Tooltip style */ .hls-player .timeline-tooltip { background: rgba(0, 0, 0, 0.9); color: #fff; padding: 6px 10px; border-radius: 4px; font-size: 12px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } .timeline-tooltip::after { border-top-color: rgba(0, 0, 0, 0.9); }