/** * Inline SVG icons (Lucide-style strokes, compatible with https://lucide.dev — ISC license). * Use stroke="currentColor" so buttons inherit foreground for monochrome UI. */ var VSC_ICON_SIZE_DEFAULT = 18; /** Inner SVG markup only (paths / shapes inside ). */ var vscUiIconPaths = { rewind: '', advance: '', reset: '', slower: '', faster: '', display: '', fast: '', settings: '', pause: '', muted: '', mark: '', jump: '', nudge: '', /** Lucide check — subtitle nudge on */ subtitleNudgeOn: '', /** Lucide x — subtitle nudge off */ subtitleNudgeOff: '' }; /** * @param {number} [size] - width/height in px * @returns {string} full */ function vscIconSvgString(action, size) { var inner = vscUiIconPaths[action]; if (!inner) return ""; var s = size != null ? size : VSC_ICON_SIZE_DEFAULT; return ( '" ); } /** * @param {Document} doc * @param {string} action * @returns {HTMLElement|null} wrapper span containing svg, or null if no icon */ function vscIconWrap(doc, action, size) { var html = vscIconSvgString(action, size); if (!html) return null; var span = doc.createElement("span"); span.className = "vsc-btn-icon"; span.innerHTML = html; return span; }