@vocalstack/player 0.1.0-alpha.20 → 0.1.0-alpha.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +560 -560
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var ua = Object.defineProperty;
|
|
2
2
|
var da = (t, e, n) => e in t ? ua(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
|
|
3
|
-
var
|
|
4
|
-
import { jsx as i, jsxs as
|
|
5
|
-
import { useState as I, useRef as v, useEffect as _, useLayoutEffect as Qt, createContext as ti, useMemo as Ie, useContext as Ma, useCallback as Xe, Fragment as
|
|
3
|
+
var he = (t, e, n) => da(t, typeof e != "symbol" ? e + "" : e, n);
|
|
4
|
+
import { jsx as i, jsxs as g, Fragment as _e } from "react/jsx-runtime";
|
|
5
|
+
import { useState as I, useRef as v, useEffect as _, useLayoutEffect as Qt, createContext as ti, useMemo as Ie, useContext as Ma, useCallback as Xe, Fragment as ha, forwardRef as ga, useImperativeHandle as fa } from "react";
|
|
6
6
|
import { createPortal as Na } from "react-dom";
|
|
7
7
|
import { VocalStackError as ni, VocalStack as si } from "@vocalstack/js-sdk";
|
|
8
8
|
const ri = "https://vocalstack.com", pa = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ma = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ya = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", Ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojMjQ1YjhmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDViOGY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNlYzYzNGQiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==";
|
|
@@ -81,7 +81,7 @@ function at({ size: t = 15, color: e = "currentColor", track: n = "rgba(127,127,
|
|
|
81
81
|
);
|
|
82
82
|
}
|
|
83
83
|
function ka({ size: t = 12 }) {
|
|
84
|
-
return /* @__PURE__ */
|
|
84
|
+
return /* @__PURE__ */ g("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "currentColor", "aria-hidden": "true", children: [
|
|
85
85
|
/* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
|
|
86
86
|
/* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
|
|
87
87
|
] });
|
|
@@ -104,19 +104,19 @@ function cs({ value: t, onChange: e, options: n, size: s, bordered: r = !0, fill
|
|
|
104
104
|
return Qt(() => {
|
|
105
105
|
const u = o.current;
|
|
106
106
|
if (!u) return;
|
|
107
|
-
const
|
|
108
|
-
|
|
107
|
+
const h = u.querySelectorAll(".vs-switch__opt")[d];
|
|
108
|
+
h && c({ left: h.offsetLeft, width: h.offsetWidth });
|
|
109
109
|
}, [d, n.length]), _(() => {
|
|
110
110
|
const u = o.current;
|
|
111
111
|
if (!u || typeof ResizeObserver > "u") return;
|
|
112
|
-
const
|
|
112
|
+
const h = new ResizeObserver(() => {
|
|
113
113
|
const M = u.querySelectorAll(".vs-switch__opt")[d];
|
|
114
114
|
M && c({ left: M.offsetLeft, width: M.offsetWidth });
|
|
115
115
|
});
|
|
116
|
-
return
|
|
117
|
-
}, [d]), /* @__PURE__ */
|
|
116
|
+
return h.observe(u), () => h.disconnect();
|
|
117
|
+
}, [d]), /* @__PURE__ */ g("div", { ref: o, role: "tablist", className: `vs-switch${s === "sm" ? " vs-switch--sm" : ""}${r ? "" : " vs-switch--borderless"}${a ? " vs-switch--fill" : ""}`, children: [
|
|
118
118
|
l && /* @__PURE__ */ i("span", { className: "vs-switch__thumb", style: { left: l.left, width: l.width }, "aria-hidden": "true" }),
|
|
119
|
-
n.map((u) => /* @__PURE__ */
|
|
119
|
+
n.map((u) => /* @__PURE__ */ g("button", { type: "button", role: "tab", "aria-selected": u.value === t, className: "vs-switch__opt", onClick: () => e(u.value), children: [
|
|
120
120
|
u.icon,
|
|
121
121
|
u.label
|
|
122
122
|
] }, u.value))
|
|
@@ -127,9 +127,9 @@ function va({ children: t, onClick: e, label: n, size: s, variant: r, bordered:
|
|
|
127
127
|
}
|
|
128
128
|
function vn({ flag: t, code: e, label: n, onClick: s, variant: r, block: a, bordered: o = !0, size: l, style: c, flagOnly: d }) {
|
|
129
129
|
if (d)
|
|
130
|
-
return /* @__PURE__ */ i("button", { type: "button", className: "
|
|
130
|
+
return /* @__PURE__ */ i("button", { type: "button", className: "mutebtn vs-flagbtn", onClick: s, "aria-label": n ? e ? `${n} (${e})` : n : e || "Language", title: n ?? e, style: c, children: /* @__PURE__ */ i("span", { style: { fontSize: 20, lineHeight: 1, display: "flex" }, children: t }) });
|
|
131
131
|
const u = a && !!e;
|
|
132
|
-
return /* @__PURE__ */
|
|
132
|
+
return /* @__PURE__ */ g("button", { type: "button", className: `vs-lang-chip${r ? ` vs-lang-chip--${r}` : ""}${a ? " vs-lang-chip--block" : ""}${a && !u ? " vs-lang-chip--bare" : ""}${o ? "" : " vs-lang-chip--borderless"}${l === "sm" ? " vs-lang-chip--sm" : ""}`, onClick: s, "aria-label": n ? e ? `${n} (${e})` : n : e, style: c, children: [
|
|
133
133
|
t ? /* @__PURE__ */ i("span", { className: "vs-lang-chip__flag", children: t }) : null,
|
|
134
134
|
u ? /* @__PURE__ */ i("span", { className: "vs-lang-chip__name", children: n ?? e }) : a ? null : /* @__PURE__ */ i("span", { className: "vs-lang-chip__code", children: e }),
|
|
135
135
|
/* @__PURE__ */ i(oe, { d: J.chevronDown, size: 13, className: "vs-lang-chip__chevron", style: { color: r === "primary" ? "currentColor" : "var(--vs-text-muted)" } })
|
|
@@ -142,7 +142,7 @@ function ja({ value: t, label: e = "Copy", onCopied: n }) {
|
|
|
142
142
|
} catch {
|
|
143
143
|
}
|
|
144
144
|
};
|
|
145
|
-
return /* @__PURE__ */
|
|
145
|
+
return /* @__PURE__ */ g(
|
|
146
146
|
"button",
|
|
147
147
|
{
|
|
148
148
|
type: "button",
|
|
@@ -191,23 +191,23 @@ function us({ children: t, ms: e = 220 }) {
|
|
|
191
191
|
clearTimeout(c), a(Math.min(M, d())), M > d() && (c = setTimeout(() => a(M), e));
|
|
192
192
|
};
|
|
193
193
|
if (u(), typeof ResizeObserver > "u") return () => clearTimeout(c);
|
|
194
|
-
const
|
|
195
|
-
return
|
|
196
|
-
|
|
194
|
+
const h = new ResizeObserver(u);
|
|
195
|
+
return h.observe(o), () => {
|
|
196
|
+
h.disconnect(), clearTimeout(c);
|
|
197
197
|
};
|
|
198
198
|
}, [e]), /* @__PURE__ */ i("div", { ref: n, style: { height: r ?? void 0, overflow: "clip", transition: r == null ? void 0 : `height ${e}ms cubic-bezier(.32,.72,0,1)` }, children: /* @__PURE__ */ i("div", { ref: s, children: t }) });
|
|
199
199
|
}
|
|
200
200
|
function $t({ open: t, onClose: e, title: n, titleNode: s, note: r, doneLabel: a = "Done", children: o, drawer: l = !1, header: c, kind: d, sticky: u = !1 }) {
|
|
201
|
-
const
|
|
202
|
-
return za(
|
|
201
|
+
const h = v(null);
|
|
202
|
+
return za(h, t), _(() => {
|
|
203
203
|
if (!t) return;
|
|
204
204
|
const M = (p) => {
|
|
205
205
|
p.key === "Escape" && e();
|
|
206
206
|
};
|
|
207
207
|
return window.addEventListener("keydown", M), () => window.removeEventListener("keydown", M);
|
|
208
|
-
}, [t, e]), t ? /* @__PURE__ */ i("div", { ref:
|
|
208
|
+
}, [t, e]), t ? /* @__PURE__ */ i("div", { ref: h, className: `vs-sheet-scrim${l ? " drawer" : ""}${u ? " vs-sheet-scrim--sticky" : ""}`, onClick: u ? void 0 : e, children: /* @__PURE__ */ g("div", { className: `vs-sheet${d ? ` vs-sheet--${d}` : ""}`, role: "dialog", "aria-modal": "true", "aria-label": n, onClick: (M) => M.stopPropagation(), children: [
|
|
209
209
|
/* @__PURE__ */ i("div", { className: "vs-sheet__grip" }),
|
|
210
|
-
/* @__PURE__ */
|
|
210
|
+
/* @__PURE__ */ g("div", { className: "vs-sheet__head", children: [
|
|
211
211
|
s ?? /* @__PURE__ */ i("span", { className: "vs-sheet__title", children: n }),
|
|
212
212
|
/* @__PURE__ */ i("button", { type: "button", className: "vs-sheet__done", onClick: e, children: a })
|
|
213
213
|
] }),
|
|
@@ -290,17 +290,17 @@ function Aa(t, e, n) {
|
|
|
290
290
|
}
|
|
291
291
|
class Ea {
|
|
292
292
|
constructor(e = {}) {
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
293
|
+
he(this, "entries", /* @__PURE__ */ new Map());
|
|
294
|
+
he(this, "wanted", []);
|
|
295
|
+
he(this, "used", []);
|
|
296
|
+
he(this, "fetcher");
|
|
297
|
+
he(this, "concurrency");
|
|
298
|
+
he(this, "keep");
|
|
299
|
+
he(this, "retryMs");
|
|
300
|
+
he(this, "now");
|
|
301
|
+
he(this, "toUrl");
|
|
302
|
+
he(this, "revoke");
|
|
303
|
+
he(this, "onReady", () => {
|
|
304
304
|
});
|
|
305
305
|
this.fetcher = e.fetcher ?? (typeof fetch == "function" ? (n, s) => fetch(n, { signal: s }) : null), this.concurrency = Math.max(1, e.concurrency ?? 2), this.keep = Math.max(2, e.keep ?? 24), this.retryMs = e.retryMs ?? 4e3, this.now = e.now ?? (() => Date.now()), this.toUrl = e.toUrl ?? ((n) => URL.createObjectURL(n)), this.revoke = e.revoke ?? ((n) => {
|
|
306
306
|
try {
|
|
@@ -394,50 +394,50 @@ class ci extends Error {
|
|
|
394
394
|
}
|
|
395
395
|
const nt = class nt {
|
|
396
396
|
constructor() {
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
397
|
+
he(this, "el", null);
|
|
398
|
+
he(this, "clips", /* @__PURE__ */ new Map());
|
|
399
|
+
he(this, "order", []);
|
|
400
|
+
he(this, "current", null);
|
|
401
|
+
he(this, "currentPart", 0);
|
|
402
|
+
he(this, "partBase", 0);
|
|
403
|
+
he(this, "within", null);
|
|
404
|
+
he(this, "playing", !1);
|
|
405
|
+
he(this, "muted", !1);
|
|
406
|
+
he(this, "rate", 1);
|
|
407
|
+
he(this, "volume", 1);
|
|
408
|
+
he(this, "finite", !1);
|
|
409
|
+
he(this, "onSentence", () => {
|
|
410
410
|
});
|
|
411
|
-
|
|
411
|
+
he(this, "onWaiting", () => {
|
|
412
412
|
});
|
|
413
|
-
|
|
413
|
+
he(this, "onStarting", () => {
|
|
414
414
|
});
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
415
|
+
he(this, "speakable", () => !0);
|
|
416
|
+
he(this, "coming", () => !1);
|
|
417
|
+
he(this, "gapBefore", () => 0);
|
|
418
|
+
he(this, "flow", !1);
|
|
419
|
+
he(this, "silentSpan", () => null);
|
|
420
|
+
he(this, "lastDone", null);
|
|
421
|
+
he(this, "rested", !1);
|
|
422
|
+
he(this, "rest", null);
|
|
423
|
+
he(this, "sequence", []);
|
|
424
|
+
he(this, "seqAt", /* @__PURE__ */ new Map());
|
|
425
|
+
he(this, "spoken", /* @__PURE__ */ new Set());
|
|
426
|
+
he(this, "lastRead", null);
|
|
427
|
+
he(this, "started", !1);
|
|
428
|
+
he(this, "awaiting", null);
|
|
429
|
+
he(this, "waitTimer", null);
|
|
430
|
+
he(this, "onError", () => {
|
|
431
431
|
});
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
432
|
+
he(this, "floor", 0);
|
|
433
|
+
he(this, "loading", null);
|
|
434
|
+
he(this, "readAhead", 0);
|
|
435
|
+
he(this, "readAheadS", 0);
|
|
436
|
+
he(this, "prefetch", new Ea());
|
|
437
|
+
he(this, "warmed", /* @__PURE__ */ new Set());
|
|
438
|
+
he(this, "startingSince", /* @__PURE__ */ new Map());
|
|
439
|
+
he(this, "retries", /* @__PURE__ */ new Map());
|
|
440
|
+
he(this, "retryTimer", null);
|
|
441
441
|
}
|
|
442
442
|
setSequence(e) {
|
|
443
443
|
e.length === this.sequence.length && e.every((n, s) => this.sequence[s] === n) || (this.sequence = e, this.seqAt = new Map(e.map((n, s) => [n, s])), this.order.sort((n, s) => this.rank(n) - this.rank(s)));
|
|
@@ -697,16 +697,16 @@ const nt = class nt {
|
|
|
697
697
|
let o = 0;
|
|
698
698
|
if (a)
|
|
699
699
|
if (this.within = null, s.total > 1) {
|
|
700
|
-
const c = Array.from({ length: s.total }, (u,
|
|
700
|
+
const c = Array.from({ length: s.total }, (u, h) => {
|
|
701
701
|
var M;
|
|
702
|
-
return ((M = s.got.get(
|
|
703
|
-
}), d = c.reduce((u,
|
|
702
|
+
return ((M = s.got.get(h)) == null ? void 0 : M.durationS) ?? 0;
|
|
703
|
+
}), d = c.reduce((u, h) => u + h, 0);
|
|
704
704
|
if (d > 0 && c.every((u) => u > 0)) {
|
|
705
705
|
const u = a.frac * d;
|
|
706
|
-
let
|
|
707
|
-
for (;
|
|
708
|
-
if (o = -(u - M),
|
|
709
|
-
this.partBase = M, this.startPartAt(e,
|
|
706
|
+
let h = 0, M = 0;
|
|
707
|
+
for (; h < c.length - 1 && M + c[h] <= u; ) M += c[h++];
|
|
708
|
+
if (o = -(u - M), h !== n) {
|
|
709
|
+
this.partBase = M, this.startPartAt(e, h, u - M);
|
|
710
710
|
return;
|
|
711
711
|
}
|
|
712
712
|
}
|
|
@@ -739,9 +739,9 @@ const nt = class nt {
|
|
|
739
739
|
if (this.rank(c) <= l || !this.speakable(c)) continue;
|
|
740
740
|
const d = this.clips.get(c);
|
|
741
741
|
if (d)
|
|
742
|
-
for (const u of [...d.got.keys()].sort((
|
|
743
|
-
const
|
|
744
|
-
s.push(
|
|
742
|
+
for (const u of [...d.got.keys()].sort((h, M) => h - M)) {
|
|
743
|
+
const h = d.got.get(u);
|
|
744
|
+
s.push(h), r += h.durationS || 0;
|
|
745
745
|
}
|
|
746
746
|
}
|
|
747
747
|
return s;
|
|
@@ -870,7 +870,7 @@ const nt = class nt {
|
|
|
870
870
|
this.onWaiting(null), this.onStarting(null), this.playing = !1, this.current = null, this.currentPart = 0, this.partBase = 0, this.loading = null, this.floor = 0, this.lastRead = null, this.started = !1, this.stopWaiting(), this.spoken.clear(), this.retryTimer && (clearTimeout(this.retryTimer), this.retryTimer = null), this.retries.clear(), this.prefetch.clear(), e && (e.pause(), e.removeAttribute("src"), e.load()), this.el = null;
|
|
871
871
|
}
|
|
872
872
|
};
|
|
873
|
-
|
|
873
|
+
he(nt, "WAIT_MS", 15e3), he(nt, "START_WAIT_MS", 4e3), he(nt, "COMING_MS", 12e4), he(nt, "SKEW_LINES", 3), he(nt, "RETRIES", 4), he(nt, "RETRY_MS", 1200), he(nt, "STARTING_MS", 3e5);
|
|
874
874
|
let Ms = nt;
|
|
875
875
|
function ui(t, e) {
|
|
876
876
|
return e == null ? t.find((n) => !n.voiceKey) ?? null : t.find((n) => n.voiceKey === e) ?? t.find((n) => !n.voiceKey && n.voice === e) ?? null;
|
|
@@ -882,18 +882,18 @@ function Ya(t, e, n, s = {}, r) {
|
|
|
882
882
|
const o = Ia(s), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
|
|
883
883
|
return a.flatMap((d) => {
|
|
884
884
|
var M, p;
|
|
885
|
-
const u = (M = t.clipRev) == null ? void 0 : M[String(d)],
|
|
886
|
-
return Array.from({ length:
|
|
885
|
+
const u = (M = t.clipRev) == null ? void 0 : M[String(d)], h = Math.max(1, ((p = t.clipParts) == null ? void 0 : p[String(d)]) ?? 1);
|
|
886
|
+
return Array.from({ length: h }, (N, w) => {
|
|
887
887
|
var k;
|
|
888
888
|
return {
|
|
889
889
|
sentenceId: d,
|
|
890
890
|
lang: t.lang,
|
|
891
891
|
src: `${n}/v1/recordings/${e}/voice/${d}?lang=${encodeURIComponent(t.lang)}${c}&format=${On()}${w > 0 ? `&part=${w}` : ""}${u ? `&v=${encodeURIComponent(u)}` : ""}${l}`,
|
|
892
|
-
durationS:
|
|
892
|
+
durationS: h === 1 ? ((k = t.clipDur) == null ? void 0 : k[String(d)]) ?? 0 : 0,
|
|
893
893
|
voice: t.voice ?? null,
|
|
894
894
|
cloned: !1,
|
|
895
895
|
part: w,
|
|
896
|
-
parts:
|
|
896
|
+
parts: h
|
|
897
897
|
};
|
|
898
898
|
});
|
|
899
899
|
});
|
|
@@ -916,7 +916,7 @@ function _a(t, e, n) {
|
|
|
916
916
|
if (a += s[l], o < a) return l;
|
|
917
917
|
return t.length - 1;
|
|
918
918
|
}
|
|
919
|
-
const
|
|
919
|
+
const hs = "vs.recentLangs", gs = /* @__PURE__ */ new Set();
|
|
920
920
|
function fs(t, e) {
|
|
921
921
|
try {
|
|
922
922
|
const n = localStorage.getItem(t);
|
|
@@ -930,30 +930,30 @@ function Mi(t, e) {
|
|
|
930
930
|
e == null ? localStorage.removeItem(t) : localStorage.setItem(t, JSON.stringify(e));
|
|
931
931
|
} catch {
|
|
932
932
|
}
|
|
933
|
-
for (const n of
|
|
933
|
+
for (const n of gs) n();
|
|
934
934
|
}
|
|
935
935
|
function zs(t, e) {
|
|
936
936
|
const [n, s] = I(() => fs(t, e));
|
|
937
937
|
return _(() => {
|
|
938
938
|
const r = () => s(fs(t, e));
|
|
939
|
-
return
|
|
940
|
-
|
|
939
|
+
return gs.add(r), window.addEventListener("storage", r), () => {
|
|
940
|
+
gs.delete(r), window.removeEventListener("storage", r);
|
|
941
941
|
};
|
|
942
942
|
}, [t]), [n, (r) => {
|
|
943
943
|
s(r), Mi(t, r);
|
|
944
944
|
}];
|
|
945
945
|
}
|
|
946
946
|
function Ur(t) {
|
|
947
|
-
const e = fs(
|
|
948
|
-
Mi(
|
|
947
|
+
const e = fs(hs, []);
|
|
948
|
+
Mi(hs, Array.isArray(e) ? e.filter((n) => n !== t) : []);
|
|
949
949
|
}
|
|
950
|
-
function
|
|
951
|
-
const [t, e] = zs(
|
|
950
|
+
function hi() {
|
|
951
|
+
const [t, e] = zs(hs, []), n = Array.isArray(t) ? t : [];
|
|
952
952
|
return [n, (s) => {
|
|
953
953
|
s && e([s, ...n.filter((r) => r !== s)].slice(0, 3));
|
|
954
954
|
}];
|
|
955
955
|
}
|
|
956
|
-
function
|
|
956
|
+
function gi(t, e) {
|
|
957
957
|
if (!t) return [];
|
|
958
958
|
const n = new Set(t[e]);
|
|
959
959
|
return t.languages.filter((s) => n.has(s.code)).map((s) => ({ code: s.code, label: s.name, native: s.native, flag: s.flag ?? "🌐", voice: !!s.voice }));
|
|
@@ -967,7 +967,7 @@ function Pa(t) {
|
|
|
967
967
|
const [e, n] = zs(t === "ga" ? "vs.colW.ga" : "vs.colW", null);
|
|
968
968
|
return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : Ra, n];
|
|
969
969
|
}
|
|
970
|
-
function Is({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPlaceholder: a = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: d, keepOpen: u, busy:
|
|
970
|
+
function Is({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPlaceholder: a = "Search languages", none: o, pinned: l = [], recent: c = [], requireVoice: d, keepOpen: u, busy: h }) {
|
|
971
971
|
const [M, p] = I(""), [N, w] = I(!1), [k, m] = I(null);
|
|
972
972
|
_(() => {
|
|
973
973
|
t && (p(""), w(!1), m(null));
|
|
@@ -983,7 +983,7 @@ function Is({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
|
|
|
983
983
|
[c, f, M]
|
|
984
984
|
), D = Ie(() => O.length ? f.filter((S) => !O.some(($) => $.code === S.code)) : f, [f, O]), b = N || M ? D : D.slice(0, 12), W = D.length - b.length, A = (S, $ = !1) => {
|
|
985
985
|
const L = !!d && !S.voice;
|
|
986
|
-
return /* @__PURE__ */
|
|
986
|
+
return /* @__PURE__ */ g(
|
|
987
987
|
"button",
|
|
988
988
|
{
|
|
989
989
|
type: "button",
|
|
@@ -998,7 +998,7 @@ function Is({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
|
|
|
998
998
|
},
|
|
999
999
|
children: [
|
|
1000
1000
|
/* @__PURE__ */ i("span", { className: "vs-picker__flag", children: S.flag }),
|
|
1001
|
-
/* @__PURE__ */
|
|
1001
|
+
/* @__PURE__ */ g("span", { style: { flex: 1, minWidth: 0 }, children: [
|
|
1002
1002
|
/* @__PURE__ */ i("div", { className: "vs-picker__label", children: S.label }),
|
|
1003
1003
|
/* @__PURE__ */ i("div", { className: "vs-picker__native", children: S.native })
|
|
1004
1004
|
] }),
|
|
@@ -1008,20 +1008,20 @@ function Is({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
|
|
|
1008
1008
|
(z.key === "Enter" || z.key === " ") && (z.preventDefault(), z.stopPropagation(), Ur(S.code));
|
|
1009
1009
|
}, children: /* @__PURE__ */ i(oe, { d: J.close, size: 16 }) }) }),
|
|
1010
1010
|
/* @__PURE__ */ i("span", { className: `vs-picker__slot${L ? " vs-picker__slot--wide" : ""}`, title: S.voice ? "Voice available" : L ? "No voice speaks this language yet" : void 0, children: L ? k === S.code && /* @__PURE__ */ i("span", { className: "vs-picker__off", children: "UNAVAILABLE" }) : S.voice && /* @__PURE__ */ i(oe, { d: J.headphones, size: 16 }) }),
|
|
1011
|
-
/* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === S.code && (
|
|
1011
|
+
/* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === S.code && (h === S.code ? /* @__PURE__ */ i(at, { size: 15, color: "var(--vs-link-hover)", track: "var(--vs-border)" }) : /* @__PURE__ */ i(oe, { d: J.check, size: 16, sw: 2.2 })) })
|
|
1012
1012
|
]
|
|
1013
1013
|
},
|
|
1014
1014
|
S.code
|
|
1015
1015
|
);
|
|
1016
|
-
}, te = /* @__PURE__ */
|
|
1016
|
+
}, te = /* @__PURE__ */ g("div", { className: "vs-picker__search", children: [
|
|
1017
1017
|
/* @__PURE__ */ i(oe, { d: J.search, size: 16, sw: 1.7, style: { color: "var(--vs-text-muted)" } }),
|
|
1018
1018
|
/* @__PURE__ */ i("input", { value: M, onChange: (S) => p(S.target.value), placeholder: a, "aria-label": a })
|
|
1019
|
-
] }), j = /* @__PURE__ */
|
|
1020
|
-
o && !M && /* @__PURE__ */
|
|
1019
|
+
] }), j = /* @__PURE__ */ g("div", { className: "vs-picker__list", children: [
|
|
1020
|
+
o && !M && /* @__PURE__ */ g("button", { type: "button", className: "vs-picker__row", "data-vs-original": "", "aria-selected": n === null, onClick: () => {
|
|
1021
1021
|
s(null), u || e();
|
|
1022
1022
|
}, children: [
|
|
1023
1023
|
/* @__PURE__ */ i("span", { className: "vs-picker__flag", children: /* @__PURE__ */ i(oe, { d: J.mic, size: 19, sw: 1.6, style: { color: "var(--vs-text-muted)" } }) }),
|
|
1024
|
-
/* @__PURE__ */
|
|
1024
|
+
/* @__PURE__ */ g("span", { style: { flex: 1, minWidth: 0 }, children: [
|
|
1025
1025
|
/* @__PURE__ */ i("div", { className: "vs-picker__label", children: o }),
|
|
1026
1026
|
/* @__PURE__ */ i("div", { className: "vs-picker__native", children: "As spoken · no translation" })
|
|
1027
1027
|
] }),
|
|
@@ -1029,18 +1029,18 @@ function Is({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
|
|
|
1029
1029
|
/* @__PURE__ */ i("span", { className: "vs-picker__slot" }),
|
|
1030
1030
|
/* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === null && /* @__PURE__ */ i(oe, { d: J.check, size: 16, sw: 2.2 }) })
|
|
1031
1031
|
] }),
|
|
1032
|
-
O.length > 0 && /* @__PURE__ */
|
|
1032
|
+
O.length > 0 && /* @__PURE__ */ g(_e, { children: [
|
|
1033
1033
|
/* @__PURE__ */ i("div", { className: "vs-picker__head", children: "RECENT" }),
|
|
1034
1034
|
O.map((S) => A(S, !0)),
|
|
1035
1035
|
/* @__PURE__ */ i("div", { className: "vs-picker__rule" })
|
|
1036
1036
|
] }),
|
|
1037
1037
|
b.map((S) => A(S)),
|
|
1038
|
-
W > 0 && /* @__PURE__ */
|
|
1038
|
+
W > 0 && /* @__PURE__ */ g("button", { type: "button", className: "vs-picker__more", style: { background: "none", border: 0, cursor: "pointer", width: "100%", textAlign: "left" }, onClick: () => w(!0), children: [
|
|
1039
1039
|
"+ ",
|
|
1040
1040
|
W,
|
|
1041
1041
|
" MORE LANGUAGES"
|
|
1042
1042
|
] }),
|
|
1043
|
-
f.length === 0 && /* @__PURE__ */
|
|
1043
|
+
f.length === 0 && /* @__PURE__ */ g("div", { className: "vs-picker__more", children: [
|
|
1044
1044
|
"No match for “",
|
|
1045
1045
|
M,
|
|
1046
1046
|
"”"
|
|
@@ -1119,7 +1119,7 @@ function es(t) {
|
|
|
1119
1119
|
t && (t.pause(), t.removeAttribute("src"), t.load());
|
|
1120
1120
|
}
|
|
1121
1121
|
function fi(t, e) {
|
|
1122
|
-
const [n, s] = I("off"), [r, a] = I([]), [o, l] = I(!1), c = v(null), d = v([null, null]), u = v([NaN, NaN]),
|
|
1122
|
+
const [n, s] = I("off"), [r, a] = I([]), [o, l] = I(!1), c = v(null), d = v([null, null]), u = v([NaN, NaN]), h = v(0);
|
|
1123
1123
|
return _(() => {
|
|
1124
1124
|
if (a([]), l(!1), !t) {
|
|
1125
1125
|
s("off");
|
|
@@ -1165,12 +1165,12 @@ function fi(t, e) {
|
|
|
1165
1165
|
M(), l(!1);
|
|
1166
1166
|
return;
|
|
1167
1167
|
}
|
|
1168
|
-
const N = Xa(r, p, u.current,
|
|
1168
|
+
const N = Xa(r, p, u.current, h.current);
|
|
1169
1169
|
for (const [m, f] of N.load) {
|
|
1170
1170
|
let O = d.current[m];
|
|
1171
1171
|
O || (O = new Audio(), O.preload = "auto", d.current[m] = O), O.pause(), O.src = r[f].url, u.current[m] = r[f].startS;
|
|
1172
1172
|
}
|
|
1173
|
-
|
|
1173
|
+
h.current = N.play;
|
|
1174
1174
|
const w = d.current[N.play], k = d.current[1 - N.play];
|
|
1175
1175
|
k && !k.paused && k.pause(), Rr(w, { ...e, t: e.t - r[p].startS }), l(!e.playing || w.readyState >= 3);
|
|
1176
1176
|
}, [n, r, e.t, e.playing, e.muted]), { state: n, on: o, untilS: n === "ready" ? 1 / 0 : r.length ? r[r.length - 1].endS : 0 };
|
|
@@ -1194,7 +1194,7 @@ function ro(t, e, n) {
|
|
|
1194
1194
|
const o = Math.max(1, ...a.map((c) => c.parts));
|
|
1195
1195
|
let l = Math.max(0, n - r.start);
|
|
1196
1196
|
for (let c = 0; c < o; c++) {
|
|
1197
|
-
const d = a.find((
|
|
1197
|
+
const d = a.find((h) => h.part === c);
|
|
1198
1198
|
if (!d) return { kind: "missing", sid: r.sid };
|
|
1199
1199
|
const u = d.durationS && d.durationS > 0 ? d.durationS : 1 / 0;
|
|
1200
1200
|
if (l < u) return { kind: "play", sid: r.sid, src: d.src, offset: l };
|
|
@@ -1240,11 +1240,11 @@ function oo(t) {
|
|
|
1240
1240
|
}
|
|
1241
1241
|
const c = ro(t.lines, e, t.t), d = c.kind === "missing" ? c.sid : null, u = c.kind === "none" ? null : c.sid;
|
|
1242
1242
|
a((N) => N.missing === d && N.sid === u ? N : { missing: d, sid: u });
|
|
1243
|
-
const
|
|
1244
|
-
for (const N of
|
|
1243
|
+
const h = new Set(ao(t.lines, e, t.t));
|
|
1244
|
+
for (const N of h) o(N);
|
|
1245
1245
|
const M = s.current;
|
|
1246
|
-
M &&
|
|
1247
|
-
for (const [N, w] of n.current) !
|
|
1246
|
+
M && h.add(M.src);
|
|
1247
|
+
for (const [N, w] of n.current) !h.has(N) && (!M || M.el !== w) && (w.pause(), n.current.delete(N));
|
|
1248
1248
|
if (!t.playing) {
|
|
1249
1249
|
M == null || M.el.pause();
|
|
1250
1250
|
return;
|
|
@@ -1425,7 +1425,7 @@ function Qr(t, e) {
|
|
|
1425
1425
|
const n = e ?? {};
|
|
1426
1426
|
return !t || !Object.keys(t).length ? n : Object.keys(n).length ? { ...t, ...n } : t;
|
|
1427
1427
|
}
|
|
1428
|
-
function
|
|
1428
|
+
function ho(t, e) {
|
|
1429
1429
|
const n = e.tail;
|
|
1430
1430
|
if (!n || !Array.isArray(n.words) || n.replaced !== t.length || n.words.length !== t.length) return !1;
|
|
1431
1431
|
let s = !1;
|
|
@@ -1442,7 +1442,7 @@ function go(t, e) {
|
|
|
1442
1442
|
}
|
|
1443
1443
|
return s;
|
|
1444
1444
|
}
|
|
1445
|
-
function
|
|
1445
|
+
function go(t, e) {
|
|
1446
1446
|
var n;
|
|
1447
1447
|
switch (delete t.numbers, e.type) {
|
|
1448
1448
|
case "transcript.committed": {
|
|
@@ -1483,7 +1483,7 @@ function ho(t, e) {
|
|
|
1483
1483
|
}
|
|
1484
1484
|
case "transcript.amended": {
|
|
1485
1485
|
const s = t.segments.get(e.seq);
|
|
1486
|
-
if (s && s.corrected &&
|
|
1486
|
+
if (s && s.corrected && ho(s.words, e)) {
|
|
1487
1487
|
s.text = e.text, s.words = Jt(e.seq, e.tail.words);
|
|
1488
1488
|
break;
|
|
1489
1489
|
}
|
|
@@ -1497,7 +1497,7 @@ function ho(t, e) {
|
|
|
1497
1497
|
if ((n = e.scriptWords) != null && n.length) {
|
|
1498
1498
|
const a = (c) => c.toLowerCase().replace(/[^\p{L}\p{N}]/gu, ""), o = (e.fixes ?? []).filter((c) => String(c.kind ?? "").endsWith("script") && String(c.orig ?? "").trim()), l = (c) => {
|
|
1499
1499
|
var d, u;
|
|
1500
|
-
return c.recognized ?? ((u = (d = o.find((
|
|
1500
|
+
return c.recognized ?? ((u = (d = o.find((h) => String(h.repl ?? "").split(/\s+/).map(a).includes(a(c.text)))) == null ? void 0 : d.orig) == null ? void 0 : u.trim());
|
|
1501
1501
|
};
|
|
1502
1502
|
s.words = s.words.map((c, d) => {
|
|
1503
1503
|
if (!e.scriptWords.includes(d)) return c;
|
|
@@ -1789,11 +1789,11 @@ function So(t, e) {
|
|
|
1789
1789
|
const [n, s] = I(null), [r, a] = I(!1), [o, l] = I(null), [c, d] = I(0);
|
|
1790
1790
|
return _(() => {
|
|
1791
1791
|
let u = !0;
|
|
1792
|
-
return Do(t, e).then((
|
|
1793
|
-
u && (s(
|
|
1794
|
-
}).catch((
|
|
1792
|
+
return Do(t, e).then((h) => {
|
|
1793
|
+
u && (s(h), a(!1), l(null));
|
|
1794
|
+
}).catch((h) => {
|
|
1795
1795
|
if (!u) return;
|
|
1796
|
-
const M = kt(
|
|
1796
|
+
const M = kt(h);
|
|
1797
1797
|
M.code === "not_found" || M.status === 404 ? a(!0) : l(M);
|
|
1798
1798
|
}), () => {
|
|
1799
1799
|
u = !1;
|
|
@@ -1856,7 +1856,7 @@ const Eo = (t) => new Promise((e) => setTimeout(e, t)), Yo = 2500, _o = 72;
|
|
|
1856
1856
|
function Uo(t, e) {
|
|
1857
1857
|
const n = At(), s = v(n);
|
|
1858
1858
|
s.current = n;
|
|
1859
|
-
const [r, a] = I(Pt), o = v(Pt()), l = v(null), c = v(e.lang ?? null), [d, u] = I(!1), [
|
|
1859
|
+
const [r, a] = I(Pt), o = v(Pt()), l = v(null), c = v(e.lang ?? null), [d, u] = I(!1), [h, M] = I(null), [p, N] = I(!1), w = Xe(() => {
|
|
1860
1860
|
const $ = o.current;
|
|
1861
1861
|
a({ ...$ });
|
|
1862
1862
|
}, []), k = v(e);
|
|
@@ -1887,7 +1887,7 @@ function Uo(t, e) {
|
|
|
1887
1887
|
if (ae.type === "snapshot")
|
|
1888
1888
|
o.current = ts(ae.snapshot, ae.reason === "gap" ? o.current : Pt()), w(), re();
|
|
1889
1889
|
else if (ae.type === "frame") {
|
|
1890
|
-
|
|
1890
|
+
go(o.current, ae.frame);
|
|
1891
1891
|
const we = ae.frame;
|
|
1892
1892
|
we.type === "recording.state" && (E = o.current.state, (C = (V = k.current).onState) == null || C.call(V, we.state, we.reason)), (P = (ue = k.current).onFrame) == null || P.call(ue, we), w();
|
|
1893
1893
|
} else ae.type === "closed" && u(!1);
|
|
@@ -1902,13 +1902,13 @@ function Uo(t, e) {
|
|
|
1902
1902
|
try {
|
|
1903
1903
|
await z.recordings.get(t, n.readAs);
|
|
1904
1904
|
} catch (we) {
|
|
1905
|
-
const
|
|
1906
|
-
if (
|
|
1907
|
-
N(!0), M(
|
|
1905
|
+
const ve = kt(we);
|
|
1906
|
+
if (ve.code === "not_found" || ve.status === 404) {
|
|
1907
|
+
N(!0), M(ve);
|
|
1908
1908
|
return;
|
|
1909
1909
|
}
|
|
1910
|
-
if (
|
|
1911
|
-
M(
|
|
1910
|
+
if (ve.code === "forbidden" || ve.code === "invalid_token" || ve.code === "password_required" || ve.status === 401 || ve.status === 403) {
|
|
1911
|
+
M(ve);
|
|
1912
1912
|
return;
|
|
1913
1913
|
}
|
|
1914
1914
|
}
|
|
@@ -1954,7 +1954,7 @@ function Uo(t, e) {
|
|
|
1954
1954
|
}
|
|
1955
1955
|
E && w();
|
|
1956
1956
|
}, [w]), S = Xe(() => M(null), []);
|
|
1957
|
-
return { model: r, connected: d, error:
|
|
1957
|
+
return { model: r, connected: d, error: h, notFound: p, clearError: S, setLanguage: te, mergeTranslations: j, translating: m, translateFailed: O, shownLang: W };
|
|
1958
1958
|
}
|
|
1959
1959
|
const Vr = {
|
|
1960
1960
|
English: { vcFor: "Voice for", vcMute: "Mute", vcUnmute: "Unmute", vcMuted: "MUTED", vcShared: "Also used by", vcUsedBy: "Used by", vcUnknownSpk: "Unknown", vcUse: "Use this voice", vcGetting: "Downloading…", vcSample: "Here’s how it sounds.", vcPreview: "PREVIEW", vcMale: "Male", vcFemale: "Female", vcSynth: "SYNTHETIC", origAudio: "ORIGINAL AUDIO", vcCloned: "VOICES", vcBadge: "CLONED", vcNone: "TEXT ONLY", vcNoVoice: "No voice for ", vcSheet: "VOICE", vcNeutral: "SYNTHETIC VOICE", vcWarm: "SYNTHETIC VOICE", searchPlaceholder: "Search this broadcast", noise: "Audio unclear", newLines: "new", live: "LIVE", ended: "ENDED", waiting: "WAITING", corrected: "CORRECTED", hostLine: "Hosted by Marcus Reed · 4 speakers", langLabel: "LANGUAGE", langCount: "100+ languages", read: "Read", listen: "Listen", watch: "Watch", waitTitle: "The broadcast hasn’t started yet", waitBody: "The transcript appears here as soon as the host starts speaking.", english: "ENGLISH", playing: "Playing the live audio", ready: "Tap to start audio", readyNote: "Set your volume first", voiceMeta: "ORIGINAL AUDIO", voice: "Voice", sheetTitle: "APP LANGUAGE", done: "Done", search: "Search 100+ languages", sheetNote: "Follow along in your language.", moreLangs: "more", confTitle: "Some words weren't heard clearly", confBody: "The transcript marks words the model is unsure about with a dashed underline. The words keep their colour, so only the underline tells you where to look.", confMid: "Slightly unsure — probably right", confHigh: "Low confidence — may be wrong", settings: "BROADCAST", setOrig: "Show original language", setTheme: "Appearance", light: "Light", dark: "Dark", setConf: "Show uncertain words", setConfHint1: "Colours words the model is unsure about — ", setConfMid: "amber", setConfSep: " or ", setConfLow: "red", setConfHint2: "", behindLive: "TRANSLATION LATENCY", behindNote: "How far the translation trails the speaker right now.", shareLabel: "LIVE TRANSLATION LINK", copy: "Copy", copied: "Copied" },
|
|
@@ -2023,11 +2023,11 @@ async function Bo(t, e, n, s = {}) {
|
|
|
2023
2023
|
var M, p;
|
|
2024
2024
|
const r = await t.client.recordings.export(e, n, { lang: s.lang ?? void 0, ...t.readAs });
|
|
2025
2025
|
if (!r.ok) throw await vi(r);
|
|
2026
|
-
const a = await r.blob(), o = r.headers.get("content-disposition") ?? "", l = (M = /filename\*=UTF-8''([^;]+)/i.exec(o)) == null ? void 0 : M[1], c = (p = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : p[1], d = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, u = URL.createObjectURL(a),
|
|
2027
|
-
|
|
2026
|
+
const a = await r.blob(), o = r.headers.get("content-disposition") ?? "", l = (M = /filename\*=UTF-8''([^;]+)/i.exec(o)) == null ? void 0 : M[1], c = (p = /filename="([^"]+)"/i.exec(o)) == null ? void 0 : p[1], d = l ? decodeURIComponent(l) : c ?? `transcript.${n}`, u = URL.createObjectURL(a), h = document.createElement("a");
|
|
2027
|
+
h.href = u, h.download = d, h.style.display = "none", document.body.appendChild(h), h.click(), h.remove(), window.setTimeout(() => URL.revokeObjectURL(u), 6e4);
|
|
2028
2028
|
}
|
|
2029
2029
|
async function Ho(t, e) {
|
|
2030
|
-
const { recordingId: n, lang: s, voiceKey: r, cred: a } = e, o = async () => (await t.client.recordings.voice(n, s, t.readAs)).filter((
|
|
2030
|
+
const { recordingId: n, lang: s, voiceKey: r, cred: a } = e, o = async () => (await t.client.recordings.voice(n, s, t.readAs)).filter((h) => h.lang === s), l = (u) => ui(u, r);
|
|
2031
2031
|
let c = l(await o());
|
|
2032
2032
|
(!c || c.state === "clips" || c.state === "failed") && await e.request();
|
|
2033
2033
|
const d = Date.now() + (e.timeoutMs ?? 10 * 6e4);
|
|
@@ -2089,7 +2089,7 @@ function Zo(t, e, n = 0) {
|
|
|
2089
2089
|
const A = o(), te = A ? A.offsetHeight : 0, j = r.clientHeight - te - 36, S = r.scrollHeight - r.clientHeight, $ = j > 0 ? Math.max(30, Math.round(j * (r.clientHeight - te) / r.scrollHeight)) : 0;
|
|
2090
2090
|
return { vis: j, max: S, size: $ };
|
|
2091
2091
|
};
|
|
2092
|
-
let c = -1, d = null, u = !1,
|
|
2092
|
+
let c = -1, d = null, u = !1, h = 0, M = 0;
|
|
2093
2093
|
const p = () => {
|
|
2094
2094
|
const A = o();
|
|
2095
2095
|
if (!A) return;
|
|
@@ -2118,11 +2118,11 @@ function Zo(t, e, n = 0) {
|
|
|
2118
2118
|
a.style.right = (f >= 12 ? -(f - 6) : 2) + "px";
|
|
2119
2119
|
const O = () => m(!0), D = (A) => {
|
|
2120
2120
|
const te = l();
|
|
2121
|
-
te.vis - te.size <= 0 || (A.preventDefault(), A.stopPropagation(), a.setPointerCapture(A.pointerId), u = !0,
|
|
2121
|
+
te.vis - te.size <= 0 || (A.preventDefault(), A.stopPropagation(), a.setPointerCapture(A.pointerId), u = !0, h = A.clientY, M = r.scrollTop, a.style.cursor = "grabbing", N());
|
|
2122
2122
|
}, b = (A) => {
|
|
2123
2123
|
if (!u) return;
|
|
2124
2124
|
const te = l();
|
|
2125
|
-
r.scrollTop = M + (A.clientY -
|
|
2125
|
+
r.scrollTop = M + (A.clientY - h) / (te.vis - te.size) * te.max, N();
|
|
2126
2126
|
}, W = () => {
|
|
2127
2127
|
u && (u = !1, a.style.cursor = "grab", N());
|
|
2128
2128
|
};
|
|
@@ -2143,11 +2143,11 @@ function Ko({ error: t, onClose: e }) {
|
|
|
2143
2143
|
return () => clearTimeout(r);
|
|
2144
2144
|
}, [t]), !t) return null;
|
|
2145
2145
|
const s = t.code === "insufficient_credit" || t.code === "quota_exceeded" || t.status === 402;
|
|
2146
|
-
return /* @__PURE__ */
|
|
2146
|
+
return /* @__PURE__ */ g("div", { className: "toast", role: "alert", children: [
|
|
2147
2147
|
/* @__PURE__ */ i(oe, { d: J.warn, size: 16, style: { color: "var(--conf-low)", flex: "none" } }),
|
|
2148
|
-
/* @__PURE__ */
|
|
2148
|
+
/* @__PURE__ */ g("span", { style: { flex: 1 }, children: [
|
|
2149
2149
|
t.message,
|
|
2150
|
-
s && /* @__PURE__ */
|
|
2150
|
+
s && /* @__PURE__ */ g(_e, { children: [
|
|
2151
2151
|
" ",
|
|
2152
2152
|
/* @__PURE__ */ i("a", { href: "https://app.vocalstack.com/billing", target: "_blank", rel: "noopener", className: "dev-link", style: { fontSize: "inherit", fontWeight: 600, whiteSpace: "nowrap" }, children: "Add credit" })
|
|
2153
2153
|
] })
|
|
@@ -2159,16 +2159,16 @@ function zi({ color: t }) {
|
|
|
2159
2159
|
return /* @__PURE__ */ i("span", { title: "Cloned voice", style: { flex: "none", display: "inline-flex" }, children: /* @__PURE__ */ i(oe, { d: J.voiceClone, size: 13, sw: 1.7, stroke: t }) });
|
|
2160
2160
|
}
|
|
2161
2161
|
function Bc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, next: l }) {
|
|
2162
|
-
return /* @__PURE__ */
|
|
2163
|
-
/* @__PURE__ */
|
|
2162
|
+
return /* @__PURE__ */ g("div", { className: "vs-tt", children: [
|
|
2163
|
+
/* @__PURE__ */ g("div", { className: "vs-tt__r1", children: [
|
|
2164
2164
|
/* @__PURE__ */ i("div", { className: "vs-tt__chip", children: t }),
|
|
2165
|
-
e ? /* @__PURE__ */ i("div", { className: "vs-tt__scrub", children: e }) : /* @__PURE__ */
|
|
2165
|
+
e ? /* @__PURE__ */ i("div", { className: "vs-tt__scrub", children: e }) : /* @__PURE__ */ g(_e, { children: [
|
|
2166
2166
|
/* @__PURE__ */ i("div", { className: "vs-tt__scrub", children: n }),
|
|
2167
2167
|
/* @__PURE__ */ i("div", { className: "vs-tt__spk", children: s }),
|
|
2168
2168
|
/* @__PURE__ */ i("div", { className: "vs-tt__voice", children: r })
|
|
2169
2169
|
] })
|
|
2170
2170
|
] }),
|
|
2171
|
-
!e && /* @__PURE__ */
|
|
2171
|
+
!e && /* @__PURE__ */ g("div", { className: "vs-tt__r2", children: [
|
|
2172
2172
|
/* @__PURE__ */ i("div", { className: "vs-tt__side", style: { justifyContent: "flex-end" }, children: /* @__PURE__ */ i("div", { className: "vs-tt__prev", children: a }) }),
|
|
2173
2173
|
/* @__PURE__ */ i("div", { className: "vs-tt__play", children: o }),
|
|
2174
2174
|
/* @__PURE__ */ i("div", { className: "vs-tt__side", style: { justifyContent: "flex-start" }, children: /* @__PURE__ */ i("div", { className: "vs-tt__next", children: l }) })
|
|
@@ -2176,9 +2176,9 @@ function Bc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, n
|
|
|
2176
2176
|
] });
|
|
2177
2177
|
}
|
|
2178
2178
|
function Jo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: d, glideMs: u = 260 }) {
|
|
2179
|
-
const
|
|
2179
|
+
const h = v(null), M = v(!1), [p, N] = I(null), w = Math.max(1, e), k = p ?? d, m = k != null ? Math.min(100, Math.max(0, k * 100)) : t / Math.max(1, w - 1) * 100, f = d != null && u > 0 && p == null ? `width ${u}ms linear, left ${u}ms linear` : "none", O = (b) => {
|
|
2180
2180
|
var j;
|
|
2181
|
-
const W = (j =
|
|
2181
|
+
const W = (j = h.current) == null ? void 0 : j.getBoundingClientRect();
|
|
2182
2182
|
if (!W) return;
|
|
2183
2183
|
const A = Math.min(1, Math.max(0, (b.clientX - W.left) / Math.max(1, W.width)));
|
|
2184
2184
|
if (o) {
|
|
@@ -2190,15 +2190,15 @@ function Jo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek:
|
|
|
2190
2190
|
}, D = () => {
|
|
2191
2191
|
M.current && (M.current = !1, N(null), c == null || c());
|
|
2192
2192
|
};
|
|
2193
|
-
return /* @__PURE__ */
|
|
2194
|
-
/* @__PURE__ */
|
|
2193
|
+
return /* @__PURE__ */ g("div", { className: "rscrub", children: [
|
|
2194
|
+
/* @__PURE__ */ g(
|
|
2195
2195
|
"div",
|
|
2196
2196
|
{
|
|
2197
|
-
ref:
|
|
2197
|
+
ref: h,
|
|
2198
2198
|
className: "rscrub__track",
|
|
2199
2199
|
onPointerDown: (b) => {
|
|
2200
2200
|
var W;
|
|
2201
|
-
M.current = !0, (W =
|
|
2201
|
+
M.current = !0, (W = h.current) == null || W.setPointerCapture(b.pointerId), l == null || l(), O(b), b.preventDefault();
|
|
2202
2202
|
},
|
|
2203
2203
|
onPointerMove: (b) => {
|
|
2204
2204
|
M.current && O(b);
|
|
@@ -2212,7 +2212,7 @@ function Jo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek:
|
|
|
2212
2212
|
]
|
|
2213
2213
|
}
|
|
2214
2214
|
),
|
|
2215
|
-
/* @__PURE__ */
|
|
2215
|
+
/* @__PURE__ */ g("div", { className: "rscrub__labels", children: [
|
|
2216
2216
|
/* @__PURE__ */ i("span", { className: "at", children: n }),
|
|
2217
2217
|
/* @__PURE__ */ i("span", { className: "step", children: r }),
|
|
2218
2218
|
/* @__PURE__ */ i("span", { className: "dur", children: s })
|
|
@@ -2228,21 +2228,21 @@ function Xo(t, e, n) {
|
|
|
2228
2228
|
};
|
|
2229
2229
|
}
|
|
2230
2230
|
function el({ f: t, desk: e, onOpen: n }) {
|
|
2231
|
-
const s = (r, a, o) => /* @__PURE__ */
|
|
2231
|
+
const s = (r, a, o) => /* @__PURE__ */ g("span", { role: "button", title: "Open this line in Fix", className: "badge badge--fix", style: { marginLeft: o ? "auto" : 0 }, onClick: (l) => {
|
|
2232
2232
|
l.stopPropagation(), n == null || n();
|
|
2233
2233
|
}, children: [
|
|
2234
2234
|
/* @__PURE__ */ i(oe, { d: J.pencilFix, size: e ? 10 : 9, sw: 2 }),
|
|
2235
2235
|
r,
|
|
2236
2236
|
a > 0 && /* @__PURE__ */ i("span", { className: "badge__n", children: a })
|
|
2237
2237
|
] }, r);
|
|
2238
|
-
return /* @__PURE__ */
|
|
2238
|
+
return /* @__PURE__ */ g(_e, { children: [
|
|
2239
2239
|
t.script > 0 && s(e ? "SCRIPT FIX" : "SCRIPT", t.script, !0),
|
|
2240
2240
|
t.manual && s(e ? "MANUAL FIX" : "MANUAL", t.manualCount, t.script === 0)
|
|
2241
2241
|
] });
|
|
2242
2242
|
}
|
|
2243
2243
|
function tl({ onOpen: t, alone: e }) {
|
|
2244
2244
|
const [n, s] = I(!1);
|
|
2245
|
-
return /* @__PURE__ */
|
|
2245
|
+
return /* @__PURE__ */ g("span", { role: "button", title: "Fix this line", className: `badge badge--pen${n ? " is-over" : ""}`, style: { marginLeft: e ? "auto" : 0 }, onMouseEnter: () => s(!0), onMouseLeave: () => s(!1), onClick: (r) => {
|
|
2246
2246
|
r.stopPropagation(), t();
|
|
2247
2247
|
}, children: [
|
|
2248
2248
|
/* @__PURE__ */ i(oe, { d: J.pencilFix, size: 11, sw: 2 }),
|
|
@@ -2250,7 +2250,7 @@ function tl({ onOpen: t, alone: e }) {
|
|
|
2250
2250
|
] });
|
|
2251
2251
|
}
|
|
2252
2252
|
function nl(t, e, n, s) {
|
|
2253
|
-
const r = At(), [a, o] = I([]), [l, c] = I(0), d = v(/* @__PURE__ */ new Set()), u = v(!1),
|
|
2253
|
+
const r = At(), [a, o] = I([]), [l, c] = I(0), d = v(/* @__PURE__ */ new Set()), u = v(!1), h = Ie(() => new Map(n.filter((p) => p.sentenceId != null).map((p) => [p.sentenceId, p])), [n]);
|
|
2254
2254
|
_(() => {
|
|
2255
2255
|
d.current = /* @__PURE__ */ new Set();
|
|
2256
2256
|
}, [t, e]);
|
|
@@ -2258,7 +2258,7 @@ function nl(t, e, n, s) {
|
|
|
2258
2258
|
return _(() => {
|
|
2259
2259
|
if (!t || !e || !a.length || u.current) return;
|
|
2260
2260
|
const p = a.filter((N) => {
|
|
2261
|
-
const w =
|
|
2261
|
+
const w = h.get(N);
|
|
2262
2262
|
return !w || !w.text.trim() || !w.settled || w.translations[e] || w.language && w.language.slice(0, 2).toLowerCase() === e.slice(0, 2).toLowerCase() ? !1 : !d.current.has(`${e}:${N}`);
|
|
2263
2263
|
}).slice(0, 40);
|
|
2264
2264
|
if (p.length) {
|
|
@@ -2274,7 +2274,7 @@ function nl(t, e, n, s) {
|
|
|
2274
2274
|
u.current = !1, c((N) => N + 1);
|
|
2275
2275
|
});
|
|
2276
2276
|
}
|
|
2277
|
-
}, [t, e, a, l,
|
|
2277
|
+
}, [t, e, a, l, h, s]), M;
|
|
2278
2278
|
}
|
|
2279
2279
|
function sl(t) {
|
|
2280
2280
|
return t.live || t.auto ? "From this session" : t.cloned ? t.library === !1 ? "This transcription only" : "Saved in Voices" : "";
|
|
@@ -2338,23 +2338,23 @@ function Zr(t, e, n = !0) {
|
|
|
2338
2338
|
a.set(o.key, c.id), r.add(c.id);
|
|
2339
2339
|
continue;
|
|
2340
2340
|
}
|
|
2341
|
-
const d = s.filter((M) => !r.has(M.id)),
|
|
2342
|
-
|
|
2341
|
+
const d = s.filter((M) => !r.has(M.id)), h = (o.sex ? d.filter((M) => M.gender === o.sex) : [])[0] ?? d[0] ?? s[0];
|
|
2342
|
+
h && (a.set(o.key, h.id), r.add(h.id));
|
|
2343
2343
|
}
|
|
2344
2344
|
return a;
|
|
2345
2345
|
}
|
|
2346
2346
|
function al({ roster: t, selected: e, onSelect: n, noClone: s, building: r, short: a, warn: o, sexOf: l, t: c }) {
|
|
2347
2347
|
const d = t.find((u) => u.key === e) ?? t[0] ?? null;
|
|
2348
2348
|
return d ? /* @__PURE__ */ i("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, padding: "0 2px 9px", margin: "0 -2px" }, children: t.map((u) => {
|
|
2349
|
-
const
|
|
2350
|
-
return /* @__PURE__ */
|
|
2349
|
+
const h = u.key === d.key, M = u.key >= 0 ? (o == null ? void 0 : o(u)) ?? null : null, p = u.key >= 0 && !M && !!(r != null && r(u)), N = u.key >= 0 && !M && !p && s(u), w = u.key >= 0 && !M && !p && !N && !u.hasVoice && !!(a != null && a(u));
|
|
2350
|
+
return /* @__PURE__ */ g(
|
|
2351
2351
|
"button",
|
|
2352
2352
|
{
|
|
2353
2353
|
type: "button",
|
|
2354
|
-
"aria-selected":
|
|
2354
|
+
"aria-selected": h,
|
|
2355
2355
|
onClick: () => n(u.key),
|
|
2356
2356
|
title: u.name,
|
|
2357
|
-
style: { flex: "none", boxSizing: "border-box", display: "flex", alignItems: "center", gap: 7, minHeight: 34, padding: "5px 11px", borderRadius: 9, font: "inherit", background:
|
|
2357
|
+
style: { flex: "none", boxSizing: "border-box", display: "flex", alignItems: "center", gap: 7, minHeight: 34, padding: "5px 11px", borderRadius: 9, font: "inherit", background: h ? "var(--brand-tint)" : "var(--fill-05)", border: `1px solid ${h ? "var(--brand-line)" : "transparent"}`, cursor: "pointer" },
|
|
2358
2358
|
children: [
|
|
2359
2359
|
/* @__PURE__ */ i(
|
|
2360
2360
|
"span",
|
|
@@ -2364,10 +2364,10 @@ function al({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
|
|
|
2364
2364
|
children: u.initial
|
|
2365
2365
|
}
|
|
2366
2366
|
),
|
|
2367
|
-
/* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color:
|
|
2368
|
-
u.hasVoice && !M && /* @__PURE__ */ i(zi, { color: u.fg ?? (
|
|
2367
|
+
/* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: h ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: u.name }),
|
|
2368
|
+
u.hasVoice && !M && /* @__PURE__ */ i(zi, { color: u.fg ?? (h ? "var(--ink-62)" : "var(--ink-45)") }),
|
|
2369
2369
|
M && /* @__PURE__ */ i("span", { title: M, "aria-label": M, style: { flex: "none", width: 15, height: 15, marginRight: -2, borderRadius: "50%", background: "#c27c00", color: "#fff", font: "900 10.5px/1 system-ui, sans-serif", display: "flex", alignItems: "center", justifyContent: "center" }, children: "!" }),
|
|
2370
|
-
w && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color:
|
|
2370
|
+
w && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color: h ? "var(--ink-45)" : "var(--ink-35)" }, children: /* @__PURE__ */ i(oe, { d: J.micOff, size: 13, sw: 1.7 }) }),
|
|
2371
2371
|
(N || p) && /* @__PURE__ */ i("span", { title: p ? "Cloning this voice…" : "No voice clone yet", "aria-label": p ? "Cloning this voice" : "No voice clone yet", style: { flex: "none", width: 10, height: 10, marginRight: -2, display: "flex", alignItems: "center", justifyContent: "center" }, children: p ? /* @__PURE__ */ i(at, { size: 10, color: "var(--brand)", track: "var(--fill-10)", sw: 1.6 }) : /* @__PURE__ */ i("span", { style: { width: 7, height: 7, borderRadius: "50%", background: "var(--brand)" } }) })
|
|
2372
2372
|
]
|
|
2373
2373
|
},
|
|
@@ -2375,30 +2375,30 @@ function al({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
|
|
|
2375
2375
|
);
|
|
2376
2376
|
}) }) : null;
|
|
2377
2377
|
}
|
|
2378
|
-
function ol({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: d, foldKey: u, foldFor:
|
|
2378
|
+
function ol({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r = null, dlId: a = null, onPick: o, onAdd: l, onUse: c, usedBy: d, foldKey: u, foldFor: h = null, problem: M, noClone: p = null, t: N }) {
|
|
2379
2379
|
const w = Ie(() => rl(e, N), [e, N]), [k, m] = I({});
|
|
2380
2380
|
_(() => {
|
|
2381
2381
|
m({});
|
|
2382
|
-
}, [u,
|
|
2382
|
+
}, [u, h]);
|
|
2383
2383
|
const f = (b) => b === N.vcMale.toUpperCase() || b === N.vcFemale.toUpperCase(), O = (b) => {
|
|
2384
2384
|
if (b === N.vcSheet) return !0;
|
|
2385
2385
|
const W = k[b];
|
|
2386
|
-
return W != null ? !W : !
|
|
2386
|
+
return W != null ? !W : !h || !f(b) ? !0 : b === (h === "female" ? N.vcFemale : N.vcMale).toUpperCase();
|
|
2387
2387
|
}, D = !!s && s !== n;
|
|
2388
|
-
return /* @__PURE__ */
|
|
2389
|
-
M && /* @__PURE__ */
|
|
2388
|
+
return /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
2389
|
+
M && /* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "flex-start", gap: 9, padding: "10px 11px", marginBottom: 10, borderRadius: 11, background: "var(--conf-low-soft)" }, children: [
|
|
2390
2390
|
/* @__PURE__ */ i(oe, { d: J.warnTri, size: 15, sw: 1.7, style: { flex: "none", marginTop: 1, color: "var(--conf-low)" } }),
|
|
2391
2391
|
/* @__PURE__ */ i("span", { style: { flex: 1, minWidth: 0, fontSize: 12.5, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-80)", textWrap: "pretty" }, children: M }),
|
|
2392
2392
|
/* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(ja, { value: M, label: "Copy this error" }) })
|
|
2393
2393
|
] }),
|
|
2394
2394
|
t,
|
|
2395
|
-
p && /* @__PURE__ */
|
|
2395
|
+
p && /* @__PURE__ */ g(_e, { children: [
|
|
2396
2396
|
/* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", gap: 7, padding: "14px 2px 6px", userSelect: "none" }, children: /* @__PURE__ */ i("span", { style: { font: "600 9px var(--vs-font-mono)", letterSpacing: ".13em", color: "var(--ink-62)" }, children: N.vcSheet }) }),
|
|
2397
|
-
/* @__PURE__ */
|
|
2397
|
+
/* @__PURE__ */ g("div", { role: p.action ? "button" : "status", tabIndex: p.action ? 0 : void 0, title: p.tip, onClick: p.action, onKeyDown: p.action ? (b) => {
|
|
2398
2398
|
(b.key === "Enter" || b.key === " ") && (b.preventDefault(), p.action());
|
|
2399
2399
|
} : void 0, style: { display: "flex", alignItems: "center", gap: 11, padding: "11px 8px", margin: "0 -6px", borderRadius: 10, cursor: p.action ? "pointer" : "default" }, children: [
|
|
2400
2400
|
/* @__PURE__ */ i("span", { style: { flex: "none", width: 32, height: 32, boxSizing: "border-box", borderRadius: "50%", border: p.busy ? 0 : p.action ? "1.5px solid var(--brand)" : "1.5px dashed var(--fill-20)", display: "flex", alignItems: "center", justifyContent: "center" }, children: p.busy ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : /* @__PURE__ */ i(oe, { d: p.action ? J.plus : J.mic, size: 15, sw: p.action ? 2 : 1.6, style: { color: p.action ? "var(--brand)" : "var(--ink-45)" } }) }),
|
|
2401
|
-
/* @__PURE__ */
|
|
2401
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
2402
2402
|
/* @__PURE__ */ i("div", { style: { fontSize: 14.5, fontWeight: p.action ? 500 : 400, color: p.action ? "var(--brand)" : "var(--ink-62)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: p.title }),
|
|
2403
2403
|
/* @__PURE__ */ i("div", { style: { fontSize: 12, fontWeight: 300, color: "var(--ink-62)", marginTop: 2, whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: p.sub })
|
|
2404
2404
|
] })
|
|
@@ -2406,9 +2406,9 @@ function ol({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
|
|
|
2406
2406
|
] }),
|
|
2407
2407
|
w.map(({ v: b, headOn: W, head: A, headCount: te, rule: j }, S) => {
|
|
2408
2408
|
const $ = sl(b), L = a === b.id, z = O(A), E = (d == null ? void 0 : d(b)) ?? null;
|
|
2409
|
-
return /* @__PURE__ */
|
|
2409
|
+
return /* @__PURE__ */ g(ha, { children: [
|
|
2410
2410
|
W && A === N.vcSheet && /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", padding: "14px 2px 6px", borderTop: S === 0 && !p ? "0" : "1px solid var(--hair)", userSelect: "none" }, children: /* @__PURE__ */ i("span", { style: { font: "600 9px var(--vs-font-mono)", letterSpacing: ".13em", color: "var(--ink-62)" }, children: A }) }),
|
|
2411
|
-
W && A !== N.vcSheet && /* @__PURE__ */
|
|
2411
|
+
W && A !== N.vcSheet && /* @__PURE__ */ g(
|
|
2412
2412
|
"button",
|
|
2413
2413
|
{
|
|
2414
2414
|
type: "button",
|
|
@@ -2425,7 +2425,7 @@ function ol({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
|
|
|
2425
2425
|
]
|
|
2426
2426
|
}
|
|
2427
2427
|
),
|
|
2428
|
-
/* @__PURE__ */
|
|
2428
|
+
/* @__PURE__ */ g(
|
|
2429
2429
|
"button",
|
|
2430
2430
|
{
|
|
2431
2431
|
type: "button",
|
|
@@ -2435,23 +2435,23 @@ function ol({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
|
|
|
2435
2435
|
onClick: () => o(b),
|
|
2436
2436
|
style: { width: "100%", textAlign: "left", font: "inherit", border: 0, borderTop: z ? j : "0", display: "flex", alignItems: "center", gap: 11, padding: z ? "11px 8px" : "0px 8px", margin: "0 -6px", borderRadius: 10, background: s === b.id ? "var(--brand-tint)" : "transparent", cursor: "pointer", opacity: z ? 1 : 0, maxHeight: z ? 120 : 0, overflow: "hidden", transition: "max-height 280ms cubic-bezier(.32,.72,0,1),padding 280ms cubic-bezier(.32,.72,0,1),opacity 200ms ease" },
|
|
2437
2437
|
children: [
|
|
2438
|
-
/* @__PURE__ */ i("span", { title: L ? "Downloading this voice" : void 0, style: { flex: "none", width: 32, height: 32, borderRadius: "50%", background: L ? "transparent" : b.cloned ? "var(--brand-soft)" : "var(--fill-06)", display: "flex", alignItems: "center", justifyContent: "center" }, children: L ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : r === b.id ? /* @__PURE__ */
|
|
2438
|
+
/* @__PURE__ */ i("span", { title: L ? "Downloading this voice" : void 0, style: { flex: "none", width: 32, height: 32, borderRadius: "50%", background: L ? "transparent" : b.cloned ? "var(--brand-soft)" : "var(--fill-06)", display: "flex", alignItems: "center", justifyContent: "center" }, children: L ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : r === b.id ? /* @__PURE__ */ g("span", { className: "vcplay", children: [
|
|
2439
2439
|
/* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(ll, { height: 13, width: 2.5 }) }),
|
|
2440
2440
|
/* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(La, { size: 11 }) })
|
|
2441
2441
|
] }) : /* @__PURE__ */ i(oe, { d: b.cloned ? J.voiceClone : b.gender === "female" ? J.venus : b.gender === "male" ? J.mars : J.mic, size: 15, sw: 1.6, style: { color: b.cloned ? "var(--brand)" : "var(--ink-55)" } }) }),
|
|
2442
|
-
/* @__PURE__ */
|
|
2442
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
2443
2443
|
/* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", gap: 7, minWidth: 0 }, children: /* @__PURE__ */ i("span", { style: { minWidth: 0, fontSize: 14.5, fontWeight: b.id === n ? 600 : 400, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: b.name }) }),
|
|
2444
2444
|
$ && /* @__PURE__ */ i("div", { style: { fontSize: 12, fontWeight: 300, color: "var(--ink-62)", marginTop: 2, whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: $ }),
|
|
2445
|
-
E && (b.id === n ? /* @__PURE__ */
|
|
2445
|
+
E && (b.id === n ? /* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", gap: 5, marginTop: 3, minWidth: 0 }, children: [
|
|
2446
2446
|
/* @__PURE__ */ i(oe, { d: J.notice, size: 12, sw: 1.7, style: { flex: "none", color: "var(--conf-mid)" } }),
|
|
2447
2447
|
/* @__PURE__ */ i("span", { style: { minWidth: 0, fontSize: 11, fontWeight: 300, color: "var(--conf-mid)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: `${N.vcShared} ${E}` })
|
|
2448
2448
|
] }) : /* @__PURE__ */ i("div", { style: { marginTop: 2, minWidth: 0, fontSize: 12, fontWeight: 300, color: "var(--ink-50)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: `${N.vcUsedBy} ${E}` }))
|
|
2449
2449
|
] }),
|
|
2450
|
-
/* @__PURE__ */
|
|
2450
|
+
/* @__PURE__ */ g("div", { style: { flex: "none", width: b.live ? b.id === n ? 18 : 0 : 42, overflow: "hidden", display: "flex", alignItems: "center", justifyContent: "flex-end", gap: 6 }, children: [
|
|
2451
2451
|
/* @__PURE__ */ i("span", { style: { flex: "none", width: 18, height: 18 } }),
|
|
2452
2452
|
/* @__PURE__ */ i("span", { style: { flex: "none", width: 18, height: 18, display: "flex", alignItems: "center", justifyContent: "center" }, children: b.id === n && /* @__PURE__ */ i(oe, { d: J.check, size: 17, sw: 2.2, style: { flex: "none", color: "var(--brand)" } }) })
|
|
2453
2453
|
] }),
|
|
2454
|
-
(b.live || b.cloned && b.library === !1 && !b.auto && !!l) && /* @__PURE__ */
|
|
2454
|
+
(b.live || b.cloned && b.library === !1 && !b.auto && !!l) && /* @__PURE__ */ g("span", { className: "gvadd", role: "button", title: b.live ? `Save ${b.name}’s voice from this session` : `Add ${b.name} to My voices`, onClick: l ? (re) => {
|
|
2455
2455
|
re.stopPropagation(), l(b);
|
|
2456
2456
|
} : void 0, children: [
|
|
2457
2457
|
/* @__PURE__ */ i(oe, { d: J.plus, size: 14, sw: 2 }),
|
|
@@ -2467,13 +2467,13 @@ function ol({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
|
|
|
2467
2467
|
}
|
|
2468
2468
|
function ll({ height: t, width: e = 2 }) {
|
|
2469
2469
|
const n = { width: e, height: "100%", borderRadius: 1, background: "var(--brand)" };
|
|
2470
|
-
return /* @__PURE__ */
|
|
2470
|
+
return /* @__PURE__ */ g("span", { style: { flex: "none", display: "flex", alignItems: "flex-end", gap: 2, height: t }, children: [
|
|
2471
2471
|
/* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out infinite" } }),
|
|
2472
2472
|
/* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out .2s infinite" } }),
|
|
2473
2473
|
/* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out .38s infinite" } })
|
|
2474
2474
|
] });
|
|
2475
2475
|
}
|
|
2476
|
-
const cl = /* @__PURE__ */
|
|
2476
|
+
const cl = /* @__PURE__ */ g("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
|
|
2477
2477
|
/* @__PURE__ */ i(oe, { d: J.langAuto, size: 19, sw: 1.7, style: { color: "var(--ink-62)", display: "block" } }),
|
|
2478
2478
|
/* @__PURE__ */ i(oe, { d: J.globe, size: 18, sw: 1.6, style: { color: "var(--ink-62)", display: "block" } })
|
|
2479
2479
|
] });
|
|
@@ -2503,9 +2503,9 @@ function Ml({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
|
|
|
2503
2503
|
}, [t, e, o, n]), d = Ie(
|
|
2504
2504
|
() => l && l.lang === e && l.recordingId === t ? l.rows : [],
|
|
2505
2505
|
[l, e, t]
|
|
2506
|
-
), u = Ie(() => ui(d, r), [d, r]),
|
|
2506
|
+
), u = Ie(() => ui(d, r), [d, r]), h = u ? u.voiceKey || null : r, [M, p] = I(null), [N, w] = I(null), k = v(/* @__PURE__ */ new Set()), m = `${t ?? ""}|${e ?? ""}|${h ?? ""}`, f = Xe(async (V, C) => {
|
|
2507
2507
|
if (!t || !e || !n) return;
|
|
2508
|
-
const ue = C != null && C.size ? null : Gr(V), P = C != null && C.size ? C : ue, Z = P && P.size ? Object.fromEntries([...P].map(([we,
|
|
2508
|
+
const ue = C != null && C.size ? null : Gr(V), P = C != null && C.size ? C : ue, Z = P && P.size ? Object.fromEntries([...P].map(([we, ve]) => [String(we), ve])) : null, le = `${t}|${e}|${Z ? JSON.stringify(Z) : V ?? ""}`;
|
|
2509
2509
|
if (k.current.has(le)) return;
|
|
2510
2510
|
k.current.add(le), p(le), w(null);
|
|
2511
2511
|
const ne = { langs: [e] };
|
|
@@ -2525,16 +2525,16 @@ function Ml({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
|
|
|
2525
2525
|
}, [t, e]), D = !!u && (u.state === "queued" || u.state === "running") || M === m, b = (u == null ? void 0 : u.state) === "failed" ? u.error || "the render failed" : N, W = (a == null ? void 0 : a.join(",")) ?? "", [A, te] = I(null), j = Ie(() => new Set((u == null ? void 0 : u.clips) ?? []), [u]), S = Ie(() => n && W ? W.split(",").map(Number).filter((V) => !j.has(V)) : [], [n, W, j]), $ = v(null);
|
|
2526
2526
|
_(() => {
|
|
2527
2527
|
if (!n || !t || !e || !S.length) return;
|
|
2528
|
-
const V = A ?? S[0], C = S.find((ne) => ne >= V) ?? S[0], ue = `${t}|${e}|${
|
|
2528
|
+
const V = A ?? S[0], C = S.find((ne) => ne >= V) ?? S[0], ue = `${t}|${e}|${h ?? ""}`, P = $.current;
|
|
2529
2529
|
if (P && P.key === ue && Math.abs(P.near - C) < 12 && Date.now() - P.at < 6e4) return;
|
|
2530
2530
|
$.current = { key: ue, near: C, at: Date.now() };
|
|
2531
|
-
const Z = Gr(
|
|
2532
|
-
Z && Z.size ? le.voiceBySpeaker = Object.fromEntries([...Z].map(([ne, ae]) => [String(ne), ae])) :
|
|
2531
|
+
const Z = Gr(h), le = { langs: [e], near: C };
|
|
2532
|
+
Z && Z.size ? le.voiceBySpeaker = Object.fromEntries([...Z].map(([ne, ae]) => [String(ne), ae])) : h && (le.voice = h), Hr(o, `/v1/recordings/${t}/voice`, { method: "POST", body: le }).then((ne) => {
|
|
2533
2533
|
ne.ok || ($.current = null);
|
|
2534
2534
|
}).catch(() => {
|
|
2535
2535
|
$.current = null;
|
|
2536
2536
|
});
|
|
2537
|
-
}, [n, t, e,
|
|
2537
|
+
}, [n, t, e, h, A, S, o]);
|
|
2538
2538
|
const L = S.length > 0, z = v({ n: -1, at: 0 });
|
|
2539
2539
|
_(() => {
|
|
2540
2540
|
if (!L) return;
|
|
@@ -2549,11 +2549,11 @@ function Ml({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
|
|
|
2549
2549
|
const V = W ? W.split(",").map(Number).filter((ue) => !n || j.has(ue)) : void 0, C = u ?? (V != null && V.length && e ? { lang: e, voiceKey: r ?? "", clips: [], voice: null } : null);
|
|
2550
2550
|
return Ya(C, t, o.origin, s, V);
|
|
2551
2551
|
}, [u, t, o, s, W, e, r, n, j]), re = Ie(() => new Set(S), [S]);
|
|
2552
|
-
return { listed: l, rows: d, track: u, renderVoiceId:
|
|
2552
|
+
return { listed: l, rows: d, track: u, renderVoiceId: h, rendering: D, failed: b, clips: E, requestRender: f, forget: O, reload: c, setNear: te, missing: S.length, coming: re };
|
|
2553
2553
|
}
|
|
2554
|
-
const
|
|
2554
|
+
const hl = { share: J.share, delay: J.tabGauge, video: J.video, source: J.tabSources, script: J.tabScript, fix: J.tabFix, ending: J.tabEnding, summary: J.tabSummary, export: J.tabExport, settings: J.tabSettings, sources: J.tabSources, recs: J.mic };
|
|
2555
2555
|
function Ii({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r }) {
|
|
2556
|
-
const o = r && t.length <= 3, l = t.some((k) => k.key === e), [c, d] = I(null), u = v(null), [
|
|
2556
|
+
const o = r && t.length <= 3, l = t.some((k) => k.key === e), [c, d] = I(null), u = v(null), [h, M] = I(0);
|
|
2557
2557
|
_(() => {
|
|
2558
2558
|
u.current && M(u.current.offsetWidth);
|
|
2559
2559
|
}, [c == null ? void 0 : c.k]);
|
|
@@ -2569,24 +2569,24 @@ function Ii({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r
|
|
|
2569
2569
|
}, N = () => d(null);
|
|
2570
2570
|
let w = null;
|
|
2571
2571
|
if (c) {
|
|
2572
|
-
const k = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, m =
|
|
2572
|
+
const k = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, m = h || 80, f = Math.max(k.l + 8, Math.min(k.r - m - 8, c.x - m / 2));
|
|
2573
2573
|
w = Na(
|
|
2574
|
-
/* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */
|
|
2574
|
+
/* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */ g("div", { ref: u, "data-theme": "dark", className: "vs-tip__bubble vs-tip__bubble--top tabtip", style: { position: "fixed", left: f, top: c.y - 8, bottom: "auto", width: "auto", whiteSpace: "nowrap", transform: "translateY(-100%)", zIndex: 2147483e3, pointerEvents: "none" }, children: [
|
|
2575
2575
|
/* @__PURE__ */ i("span", { className: "vs-tip__row", children: /* @__PURE__ */ i("span", { className: "vs-tip__copy", children: c.label }) }),
|
|
2576
2576
|
/* @__PURE__ */ i("span", { className: "vs-tip__arrow", style: { left: Math.round(Math.max(8, Math.min(m - 19, c.x - f - 5.5))) } })
|
|
2577
2577
|
] }) }),
|
|
2578
2578
|
document.body
|
|
2579
2579
|
);
|
|
2580
2580
|
}
|
|
2581
|
-
return /* @__PURE__ */
|
|
2581
|
+
return /* @__PURE__ */ g("div", { role: "tablist", className: `tabbar tabbar--icons${r ? "" : " tabbar--desk"}`, "data-desk-tabs": a ? "" : void 0, "data-tab-n": a ? t.length : void 0, style: { marginBottom: s ? 12 : 0 }, onMouseLeave: N, children: [
|
|
2582
2582
|
t.map((k) => {
|
|
2583
|
-
const m = e === k.key, f = o || m, O = o ? "1 1 0" : m ? "1 1 auto" : r && !l ? "1 1 0" : "0 0 auto", D = k.icon ??
|
|
2583
|
+
const m = e === k.key, f = o || m, O = o ? "1 1 0" : m ? "1 1 auto" : r && !l ? "1 1 0" : "0 0 auto", D = k.icon ?? hl[k.key], b = () => {
|
|
2584
2584
|
N(), n(r && m ? "none" : k.key);
|
|
2585
2585
|
};
|
|
2586
|
-
return r ? /* @__PURE__ */
|
|
2586
|
+
return r ? /* @__PURE__ */ g("button", { type: "button", role: "tab", "aria-selected": m, title: k.label, className: `tabbar__tab${m ? " is-on" : ""}`, style: { flex: O }, onClick: b, children: [
|
|
2587
2587
|
D && /* @__PURE__ */ i(oe, { d: D, size: 15, sw: k.sw ?? 2, style: { flex: "none" } }),
|
|
2588
2588
|
f && /* @__PURE__ */ i("span", { className: "tabbar__label", children: k.label })
|
|
2589
|
-
] }, k.key) : /* @__PURE__ */ i("div", { className: "tabbar__slot", "data-tab-cell": "", style: { flex: O }, onMouseEnter: (W) => p(W, k), onMouseMove: (W) => p(W, k), onClick: b, children: /* @__PURE__ */
|
|
2589
|
+
] }, k.key) : /* @__PURE__ */ i("div", { className: "tabbar__slot", "data-tab-cell": "", style: { flex: O }, onMouseEnter: (W) => p(W, k), onMouseMove: (W) => p(W, k), onClick: b, children: /* @__PURE__ */ g("button", { type: "button", role: "tab", "aria-selected": m, "aria-label": k.label, className: `tabbar__tab${m ? " is-on" : ""}${(c == null ? void 0 : c.k) === k.key ? " is-tip" : ""}`, children: [
|
|
2590
2590
|
D && /* @__PURE__ */ i(oe, { d: D, size: 15, sw: k.sw ?? 2, className: "tabbar__icon", style: { flex: "none", transform: m && !o ? "scale(1.12)" : "none" } }),
|
|
2591
2591
|
/* @__PURE__ */ i("span", { className: "tabbar__grow", "data-tab-lw": "", style: { gridTemplateColumns: f ? "1fr" : "0fr", marginLeft: f && D ? 6 : 0 }, children: /* @__PURE__ */ i("span", { className: "tabbar__label", "data-tab-l": "", style: { opacity: f ? 1 : 0, transform: f ? "none" : "translateX(-6px)" }, children: k.label }) })
|
|
2592
2592
|
] }) }, k.key);
|
|
@@ -2594,7 +2594,7 @@ function Ii({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r
|
|
|
2594
2594
|
w
|
|
2595
2595
|
] });
|
|
2596
2596
|
}
|
|
2597
|
-
const
|
|
2597
|
+
const gl = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", fl = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
|
|
2598
2598
|
function Nl({ audio: t, video: e, formats: n, onExport: s }) {
|
|
2599
2599
|
const [r, a] = I(null), [o, l] = I(null), c = v(void 0), d = v(!0);
|
|
2600
2600
|
_(() => (d.current = !0, () => {
|
|
@@ -2602,7 +2602,7 @@ function Nl({ audio: t, video: e, formats: n, onExport: s }) {
|
|
|
2602
2602
|
}), []);
|
|
2603
2603
|
const u = (N) => {
|
|
2604
2604
|
window.clearTimeout(c.current), a(N), c.current = window.setTimeout(() => a(null), 1600);
|
|
2605
|
-
},
|
|
2605
|
+
}, h = (N) => {
|
|
2606
2606
|
o || (l(N), Promise.resolve().then(() => s(N)).then(() => {
|
|
2607
2607
|
d.current && u(N);
|
|
2608
2608
|
}).catch(() => {
|
|
@@ -2616,23 +2616,23 @@ function Nl({ audio: t, video: e, formats: n, onExport: s }) {
|
|
|
2616
2616
|
}).finally(() => {
|
|
2617
2617
|
d.current && l(null);
|
|
2618
2618
|
}));
|
|
2619
|
-
}, p = (N, w, k, m) => /* @__PURE__ */
|
|
2619
|
+
}, p = (N, w, k, m) => /* @__PURE__ */ g(_e, { children: [
|
|
2620
2620
|
/* @__PURE__ */ i(ds, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: m }),
|
|
2621
|
-
/* @__PURE__ */
|
|
2621
|
+
/* @__PURE__ */ g("button", { type: "button", className: "dlrow", disabled: o != null, "aria-busy": o === N || void 0, onClick: () => M(N, w), style: o && o !== N ? { opacity: 0.45 } : void 0, children: [
|
|
2622
2622
|
o === N ? /* @__PURE__ */ i(at, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(oe, { d: k, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
|
|
2623
|
-
/* @__PURE__ */
|
|
2623
|
+
/* @__PURE__ */ g("span", { style: { flex: 1, minWidth: 0, display: "flex", flexDirection: "column", gap: 1, textAlign: "left" }, children: [
|
|
2624
2624
|
/* @__PURE__ */ i("span", { style: { fontSize: 13, fontWeight: 500, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: w.name }),
|
|
2625
2625
|
/* @__PURE__ */ i("span", { style: { font: "500 9.5px var(--vs-font-mono)", color: "var(--ink-40)", letterSpacing: ".04em" }, children: w.meta })
|
|
2626
2626
|
] }),
|
|
2627
|
-
/* @__PURE__ */ i(oe, { d: r === N ? J.check :
|
|
2627
|
+
/* @__PURE__ */ i(oe, { d: r === N ? J.check : gl, size: 17, sw: 1.6, style: { flex: "none", color: r === N ? "var(--brand)" : "var(--ink-62)" } })
|
|
2628
2628
|
] })
|
|
2629
2629
|
] });
|
|
2630
|
-
return /* @__PURE__ */
|
|
2630
|
+
return /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
|
|
2631
2631
|
t && p("audio", t, fl, "DOWNLOAD AUDIO"),
|
|
2632
2632
|
e && p("video", e, J.video, "DOWNLOAD VIDEO"),
|
|
2633
|
-
n !== !1 && /* @__PURE__ */
|
|
2633
|
+
n !== !1 && /* @__PURE__ */ g(_e, { children: [
|
|
2634
2634
|
/* @__PURE__ */ i(ds, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "EXPORT AS" }),
|
|
2635
|
-
/* @__PURE__ */ i("div", { className: "fmtgrid", children: ps.map((N) => /* @__PURE__ */
|
|
2635
|
+
/* @__PURE__ */ i("div", { className: "fmtgrid", children: ps.map((N) => /* @__PURE__ */ g("button", { type: "button", className: "fmtgrid__cell", title: o === N.key ? `Building the ${N.name}…` : N.note, disabled: o != null, "aria-busy": o === N.key || void 0, onClick: () => h(N.key), style: o && o !== N.key ? { opacity: 0.45 } : void 0, children: [
|
|
2636
2636
|
o === N.key ? /* @__PURE__ */ i(at, { size: 16, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(oe, { d: r === N.key ? J.check : N.icon, size: 16, sw: 1.6, style: { color: r === N.key ? "var(--brand)" : "var(--ink-62)" } }),
|
|
2637
2637
|
/* @__PURE__ */ i("span", { children: N.name })
|
|
2638
2638
|
] }, N.key)) })
|
|
@@ -2684,29 +2684,29 @@ function yl({ s: t }) {
|
|
|
2684
2684
|
|
|
2685
2685
|
${a}`).catch(() => {
|
|
2686
2686
|
}), window.clearTimeout(s.current), n(!0), s.current = window.setTimeout(() => n(!1), 1600);
|
|
2687
|
-
}, l = (c, d) => /* @__PURE__ */
|
|
2687
|
+
}, l = (c, d) => /* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", gap: 10, fontSize: 13, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-45)" }, children: [
|
|
2688
2688
|
/* @__PURE__ */ i("span", { style: { flex: 1 }, children: c }),
|
|
2689
2689
|
d && /* @__PURE__ */ i("button", { type: "button", className: "txlinks__manage", onClick: d.onClick, children: d.label })
|
|
2690
2690
|
] });
|
|
2691
|
-
return /* @__PURE__ */
|
|
2692
|
-
/* @__PURE__ */
|
|
2691
|
+
return /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
|
|
2692
|
+
/* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, minHeight: 24 }, children: [
|
|
2693
2693
|
/* @__PURE__ */ i(ds, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "SUMMARY" }),
|
|
2694
|
-
t.state === "ready" && /* @__PURE__ */
|
|
2694
|
+
t.state === "ready" && /* @__PURE__ */ g("button", { type: "button", className: "sumcopy", title: "Copy title and summary", style: { color: e ? "var(--brand)" : "var(--ink-70)" }, onClick: o, children: [
|
|
2695
2695
|
/* @__PURE__ */ i(oe, { d: e ? J.check : Ll, size: 13, sw: 1.6 }),
|
|
2696
2696
|
e ? "Copied" : "Copy"
|
|
2697
2697
|
] })
|
|
2698
2698
|
] }),
|
|
2699
|
-
t.state === "ready" ? /* @__PURE__ */
|
|
2699
|
+
t.state === "ready" ? /* @__PURE__ */ g(_e, { children: [
|
|
2700
2700
|
/* @__PURE__ */ i("div", { style: { fontSize: 15, fontWeight: 600, lineHeight: 1.3, letterSpacing: "-.15px", color: "var(--ink-96)", textWrap: "pretty" }, children: r }),
|
|
2701
2701
|
/* @__PURE__ */ i("div", { style: { fontSize: 13, fontWeight: 300, lineHeight: 1.55, color: "var(--ink-80)", textWrap: "pretty", whiteSpace: "pre-line" }, children: a })
|
|
2702
|
-
] }) : t.state === "unavailable" ? l("No summary for this recording.") : t.state === "not_requested" ? t.request ? l("This recording was made without a summary.", { label: "Summarize", onClick: t.request }) : l("Recordings under a minute and files of a batch are not summarised.") : /* @__PURE__ */
|
|
2702
|
+
] }) : t.state === "unavailable" ? l("No summary for this recording.") : t.state === "not_requested" ? t.request ? l("This recording was made without a summary.", { label: "Summarize", onClick: t.request }) : l("Recordings under a minute and files of a batch are not summarised.") : /* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", gap: 10, fontSize: 13, fontWeight: 300, color: "var(--ink-45)" }, children: [
|
|
2703
2703
|
/* @__PURE__ */ i(at, { size: 14, color: "var(--brand)", track: "var(--fill-12)" }),
|
|
2704
2704
|
t.slow ? "Still writing the summary…" : "Writing the summary…"
|
|
2705
2705
|
] })
|
|
2706
2706
|
] });
|
|
2707
2707
|
}
|
|
2708
2708
|
function Tl({ ytId: t, title: e, timeLabel: n, radius: s, style: r, large: a, children: o, picture: l }) {
|
|
2709
|
-
return /* @__PURE__ */
|
|
2709
|
+
return /* @__PURE__ */ g("div", { className: "livevid", style: { ...s != null ? { borderRadius: s } : null, ...r }, children: [
|
|
2710
2710
|
/* @__PURE__ */ i(oe, { d: "m15.75 10.5 4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25Z", size: a ? 34 : 30, sw: 1.2 }),
|
|
2711
2711
|
l ?? /* @__PURE__ */ i("iframe", { src: Vo(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
|
|
2712
2712
|
n && /* @__PURE__ */ i("span", { className: "livevid__t", style: a ? { bottom: 10, right: 10 } : void 0, children: n }),
|
|
@@ -2719,13 +2719,13 @@ function wl(t = !0, e) {
|
|
|
2719
2719
|
const r = s.current;
|
|
2720
2720
|
if (!r || !t) return;
|
|
2721
2721
|
let a = 0, o = 0, l = !1;
|
|
2722
|
-
const c = (
|
|
2723
|
-
|
|
2724
|
-
}, d = (
|
|
2722
|
+
const c = (h) => {
|
|
2723
|
+
h.button !== 0 || h.target.closest("button,a,input,textarea,select") || (l = !0, a = h.clientY, o = r.scrollTop, r.classList.add("is-dragging"));
|
|
2724
|
+
}, d = (h) => {
|
|
2725
2725
|
var p;
|
|
2726
2726
|
if (!l) return;
|
|
2727
|
-
const M =
|
|
2728
|
-
Math.abs(M) > 2 && ((p = r.setPointerCapture) == null || p.call(r,
|
|
2727
|
+
const M = h.clientY - a;
|
|
2728
|
+
Math.abs(M) > 2 && ((p = r.setPointerCapture) == null || p.call(r, h.pointerId)), r.scrollTop = o - M;
|
|
2729
2729
|
}, u = () => {
|
|
2730
2730
|
l = !1, r.classList.remove("is-dragging");
|
|
2731
2731
|
};
|
|
@@ -2745,9 +2745,9 @@ function kl(t, e) {
|
|
|
2745
2745
|
(e.forcePin ?? []).forEach((f) => {
|
|
2746
2746
|
l = l.filter((O) => O !== `!${f}`), r.includes(f) && !l.includes(f) && (l = [f, ...l]);
|
|
2747
2747
|
});
|
|
2748
|
-
const d = (f) => (e.forcePin ?? []).includes(f) && !c.includes(f), u = a ? l.filter((f) => r.includes(f) && o.includes(f)) : [],
|
|
2749
|
-
const O =
|
|
2750
|
-
return O[
|
|
2748
|
+
const d = (f) => (e.forcePin ?? []).includes(f) && !c.includes(f), u = a ? l.filter((f) => r.includes(f) && o.includes(f)) : [], h = r.filter((f) => !u.includes(f)), M = e.cur && e.cur !== "none" && h.includes(e.cur) ? e.cur : e.pref && h.includes(e.pref) ? e.pref : h[0] ?? null, p = (f) => {
|
|
2749
|
+
const O = h.filter((D) => D !== f);
|
|
2750
|
+
return O[h.indexOf(f)] ?? O[O.length - 1] ?? null;
|
|
2751
2751
|
}, N = (f, O) => {
|
|
2752
2752
|
if (!o.includes(f)) return;
|
|
2753
2753
|
const D = u.filter((b) => b !== f);
|
|
@@ -2767,20 +2767,20 @@ function kl(t, e) {
|
|
|
2767
2767
|
show: D && (!a || O || M === f),
|
|
2768
2768
|
pinned: O,
|
|
2769
2769
|
order: O ? u.indexOf(f) + 1 : 1e3,
|
|
2770
|
-
pill: a && D && o.includes(f) &&
|
|
2770
|
+
pill: a && D && o.includes(f) && h.length > 0 && (O || h.length > 1),
|
|
2771
2771
|
title: O ? `Unpin — return ${k(f)} to the tabs` : `Pin ${k(f)} open above the tabs`,
|
|
2772
2772
|
toggle: () => O ? w(f) : N(f)
|
|
2773
2773
|
};
|
|
2774
2774
|
};
|
|
2775
|
-
return { id: t, tabbed: a &&
|
|
2775
|
+
return { id: t, tabbed: a && h.length > 1, cur: M, seq: u, pinnable: o, tabKeys: h, stripTabs: e.tabs.filter((f) => h.includes(f.key)), panel: m, pin: N, unpin: w };
|
|
2776
2776
|
}
|
|
2777
2777
|
function vl({ col: t, order: e, render: n, grip: s, onPick: r, wrapClass: a }) {
|
|
2778
|
-
return jl(t), /* @__PURE__ */
|
|
2778
|
+
return jl(t), /* @__PURE__ */ g(_e, { children: [
|
|
2779
2779
|
e.map((o) => {
|
|
2780
2780
|
const l = t.panel(o);
|
|
2781
2781
|
if (!l.show) return null;
|
|
2782
2782
|
const c = n(o);
|
|
2783
|
-
return c ? /* @__PURE__ */
|
|
2783
|
+
return c ? /* @__PURE__ */ g("div", { "data-panel-key": o, "data-pinned": l.pinned ? "true" : "false", className: `pinwrap sidepanel ${(a == null ? void 0 : a(o, l.pinned)) ?? ""}`, style: { order: l.order, "--grip-h": `${(s == null ? void 0 : s[o]) ?? 30}px` }, children: [
|
|
2784
2784
|
c,
|
|
2785
2785
|
l.pill && /* @__PURE__ */ i("button", { type: "button", "data-pin-pill": "", className: `pinpill${l.pinned ? " is-on" : ""}`, title: l.title, "aria-label": l.title, "aria-pressed": l.pinned, onClick: l.toggle, children: /* @__PURE__ */ i(oe, { d: J.pin, size: 12, sw: 2 }) })
|
|
2786
2786
|
] }, o) : null;
|
|
@@ -2859,7 +2859,7 @@ function jl(t) {
|
|
|
2859
2859
|
}, u = (m) => {
|
|
2860
2860
|
const f = m instanceof Element ? m.closest("[data-tab-col]") : null;
|
|
2861
2861
|
return f && f.getAttribute("data-tab-col") === n ? f : null;
|
|
2862
|
-
},
|
|
2862
|
+
}, h = (m) => {
|
|
2863
2863
|
var A;
|
|
2864
2864
|
if (r) {
|
|
2865
2865
|
if (!r.on) {
|
|
@@ -2887,8 +2887,8 @@ function jl(t) {
|
|
|
2887
2887
|
}, k = () => {
|
|
2888
2888
|
r || a(null);
|
|
2889
2889
|
};
|
|
2890
|
-
return document.addEventListener("pointermove",
|
|
2891
|
-
d(!1), a(null), document.removeEventListener("pointermove",
|
|
2890
|
+
return document.addEventListener("pointermove", h, !0), document.addEventListener("pointerdown", M, !0), window.addEventListener("pointerup", p), window.addEventListener("pointercancel", N), window.addEventListener("keydown", w, !0), document.addEventListener("pointerleave", k), () => {
|
|
2891
|
+
d(!1), a(null), document.removeEventListener("pointermove", h, !0), document.removeEventListener("pointerdown", M, !0), window.removeEventListener("pointerup", p), window.removeEventListener("pointercancel", N), window.removeEventListener("keydown", w, !0), document.removeEventListener("pointerleave", k);
|
|
2892
2892
|
};
|
|
2893
2893
|
}, [n]);
|
|
2894
2894
|
}
|
|
@@ -2912,10 +2912,10 @@ function zl({ id: t, className: e, gap: n, hidden: s, plain: r, children: a }) {
|
|
|
2912
2912
|
window.removeEventListener("pointermove", j), window.removeEventListener("pointerup", S), window.removeEventListener("pointercancel", S), document.body.style.cursor = te.cur, document.body.style.userSelect = te.sel, w.classList.remove("is-on"), l(A);
|
|
2913
2913
|
};
|
|
2914
2914
|
window.addEventListener("pointermove", j), window.addEventListener("pointerup", S), window.addEventListener("pointercancel", S);
|
|
2915
|
-
},
|
|
2916
|
-
return /* @__PURE__ */
|
|
2917
|
-
/* @__PURE__ */ i("div", { "aria-hidden": "true", className: "colgrip", style: { marginRight: -n, ...
|
|
2918
|
-
/* @__PURE__ */ i("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...
|
|
2915
|
+
}, h = s ? { display: "none" } : void 0;
|
|
2916
|
+
return /* @__PURE__ */ g(_e, { children: [
|
|
2917
|
+
/* @__PURE__ */ i("div", { "aria-hidden": "true", className: "colgrip", style: { marginRight: -n, ...h }, children: /* @__PURE__ */ i("div", { className: "colgrip__bar", style: { left: -(n / 2 + 6) }, title: "Drag to resize · double-click to reset", onPointerDown: u, onDoubleClick: () => l(null) }) }),
|
|
2918
|
+
/* @__PURE__ */ i("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...h }, children: r ? a : /* @__PURE__ */ i("div", { ref: d, "data-panel-grid": "", className: "panelgrid", children: a }) })
|
|
2919
2919
|
] });
|
|
2920
2920
|
}
|
|
2921
2921
|
function Il(t) {
|
|
@@ -2928,13 +2928,13 @@ function Il(t) {
|
|
|
2928
2928
|
s = 0;
|
|
2929
2929
|
const d = getComputedStyle(e).display === "grid";
|
|
2930
2930
|
[...e.children].forEach((u) => {
|
|
2931
|
-
const
|
|
2931
|
+
const h = u;
|
|
2932
2932
|
if (!d) {
|
|
2933
|
-
|
|
2933
|
+
h.style.gridRowEnd && (h.style.gridRowEnd = "");
|
|
2934
2934
|
return;
|
|
2935
2935
|
}
|
|
2936
|
-
const M =
|
|
2937
|
-
|
|
2936
|
+
const M = h.getBoundingClientRect().height, p = M > 0 ? `span ${Math.ceil(M + n)}` : "span 1";
|
|
2937
|
+
h.style.gridRowEnd !== p && (h.style.gridRowEnd = p);
|
|
2938
2938
|
});
|
|
2939
2939
|
}, a = () => {
|
|
2940
2940
|
s || (s = requestAnimationFrame(r));
|
|
@@ -2951,8 +2951,8 @@ function Ol(t) {
|
|
|
2951
2951
|
}
|
|
2952
2952
|
const Cl = 1500, bl = 3e5;
|
|
2953
2953
|
function xl(t) {
|
|
2954
|
-
const e = At(), [n, s] = I(null), [r, a] = I(null), [o, l] = I(null), [c, d] = I(null), u = v(null),
|
|
2955
|
-
M.current && (clearTimeout(M.current), M.current = null), u.current && (u.current.pause(), u.current.removeAttribute("src"), u.current.load(), u.current = null),
|
|
2954
|
+
const e = At(), [n, s] = I(null), [r, a] = I(null), [o, l] = I(null), [c, d] = I(null), u = v(null), h = v(null), M = v(null), p = v(0), N = Xe(() => {
|
|
2955
|
+
M.current && (clearTimeout(M.current), M.current = null), u.current && (u.current.pause(), u.current.removeAttribute("src"), u.current.load(), u.current = null), h.current && (URL.revokeObjectURL(h.current), h.current = null);
|
|
2956
2956
|
}, []), w = Xe(() => {
|
|
2957
2957
|
p.current += 1, N(), a(null), l(null);
|
|
2958
2958
|
}, [N]), k = Xe(() => {
|
|
@@ -2999,8 +2999,8 @@ function xl(t) {
|
|
|
2999
2999
|
}
|
|
3000
3000
|
const te = await A.blob();
|
|
3001
3001
|
if (p.current !== O) return;
|
|
3002
|
-
l(null),
|
|
3003
|
-
const j = new Audio(
|
|
3002
|
+
l(null), h.current = URL.createObjectURL(te);
|
|
3003
|
+
const j = new Audio(h.current);
|
|
3004
3004
|
j.playsInline = !0;
|
|
3005
3005
|
const S = () => {
|
|
3006
3006
|
p.current === O && (N(), a(null));
|
|
@@ -3063,7 +3063,7 @@ function St(t, e, n) {
|
|
|
3063
3063
|
const s = (r = t == null ? void 0 : t.words[t.words.length - 1]) == null ? void 0 : r.end;
|
|
3064
3064
|
return s != null && s > e ? s : (t == null ? void 0 : t.end) != null && t.end > e ? t.end : n > e ? n : e + 4;
|
|
3065
3065
|
}
|
|
3066
|
-
function Sl({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: d, lead: u, onTime:
|
|
3066
|
+
function Sl({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: d, lead: u, onTime: h, waiting: M = !1 }) {
|
|
3067
3067
|
const p = v(null), [N, w] = I(!1);
|
|
3068
3068
|
_(() => {
|
|
3069
3069
|
if (!M) {
|
|
@@ -3074,10 +3074,10 @@ function Sl({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
|
|
|
3074
3074
|
return () => clearTimeout(H);
|
|
3075
3075
|
}, [M]);
|
|
3076
3076
|
const k = s && !N, m = v(!1), [f, O] = I(!1), D = (H, me = []) => {
|
|
3077
|
-
var q,
|
|
3077
|
+
var q, ke;
|
|
3078
3078
|
if (!(m.current && (H === "pauseVideo" || H === "seekTo" || H === "setPlaybackRate")))
|
|
3079
3079
|
try {
|
|
3080
|
-
(
|
|
3080
|
+
(ke = (q = p.current) == null ? void 0 : q.contentWindow) == null || ke.postMessage(JSON.stringify({ event: "command", func: H, args: me }), "*");
|
|
3081
3081
|
} catch {
|
|
3082
3082
|
}
|
|
3083
3083
|
}, b = v(null), W = v(!1), A = v(!1), te = v(!1), j = v(a);
|
|
@@ -3096,15 +3096,15 @@ function Sl({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
|
|
|
3096
3096
|
} else L.current && !S.current && (L.current = !1, Le.current || (q = j.current) == null || q.call(j));
|
|
3097
3097
|
}, E = v(n);
|
|
3098
3098
|
E.current = n;
|
|
3099
|
-
const re = v(
|
|
3100
|
-
re.current =
|
|
3099
|
+
const re = v(h);
|
|
3100
|
+
re.current = h;
|
|
3101
3101
|
const V = v(null), C = v(null), [ue, P] = I(!0), [Z, le] = I(!1), ne = () => {
|
|
3102
3102
|
D("unloadModule", ["captions"]), D("unloadModule", ["cc"]);
|
|
3103
3103
|
}, ae = v([]), we = () => {
|
|
3104
3104
|
ne(), ae.current.forEach(clearTimeout), ae.current = [400, 1200, 2500, 5e3].map((H) => window.setTimeout(ne, H));
|
|
3105
3105
|
};
|
|
3106
3106
|
_(() => () => ae.current.forEach(clearTimeout), []);
|
|
3107
|
-
const
|
|
3107
|
+
const ve = () => {
|
|
3108
3108
|
var H, me;
|
|
3109
3109
|
try {
|
|
3110
3110
|
(me = (H = p.current) == null ? void 0 : H.contentWindow) == null || me.postMessage(JSON.stringify({ event: "listening", id: "reader" }), "*");
|
|
@@ -3131,7 +3131,7 @@ function Sl({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
|
|
|
3131
3131
|
}, fe = () => V.current;
|
|
3132
3132
|
return _(() => {
|
|
3133
3133
|
const H = (me) => {
|
|
3134
|
-
var He, Ae, Ue,
|
|
3134
|
+
var He, Ae, Ue, ge, Re, K, ie, de, ce, Ne, je, Y, U, F, ee, Me;
|
|
3135
3135
|
if (me.source !== ((He = p.current) == null ? void 0 : He.contentWindow) || typeof me.data != "string") return;
|
|
3136
3136
|
let q = null;
|
|
3137
3137
|
try {
|
|
@@ -3140,8 +3140,8 @@ function Sl({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
|
|
|
3140
3140
|
return;
|
|
3141
3141
|
}
|
|
3142
3142
|
(Ue = (Ae = q == null ? void 0 : q.info) == null ? void 0 : Ae.videoData) != null && Ue.isLive && (W.current = !0);
|
|
3143
|
-
const
|
|
3144
|
-
typeof
|
|
3143
|
+
const ke = (ge = q == null ? void 0 : q.info) == null ? void 0 : ge.duration;
|
|
3144
|
+
typeof ke == "number" && ke > 0 && !W.current && (b.current == null ? b.current = ke : (A.current = Math.abs(ke - b.current) > 1.5, z())), (q == null ? void 0 : q.event) === "onReady" && ((!S.current || S.current.muted) && D("mute"), we(), (Re = S.current) == null || Re.onInfo({ ready: !0 })), typeof ((K = q == null ? void 0 : q.info) == null ? void 0 : K.playerState) == "number" && (q.info.playerState !== C.current && (q.info.playerState === 1 || q.info.playerState === 2) && we(), C.current = q.info.playerState, P(q.info.playerState !== 1 && q.info.playerState !== 3), (ie = S.current) == null || ie.onInfo({ state: q.info.playerState }));
|
|
3145
3145
|
const Ce = (de = q == null ? void 0 : q.info) == null ? void 0 : de.progressState;
|
|
3146
3146
|
if (Ce && typeof Ce.seekableStart == "number" && typeof Ce.seekableEnd == "number" && Ce.seekableEnd > Ce.seekableStart) {
|
|
3147
3147
|
const be = Qe.current == null;
|
|
@@ -3174,24 +3174,24 @@ function Sl({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
|
|
|
3174
3174
|
if (!Z) return;
|
|
3175
3175
|
let H = null, me = 0;
|
|
3176
3176
|
const q = setInterval(() => {
|
|
3177
|
-
const
|
|
3178
|
-
me = C.current === 1 &&
|
|
3177
|
+
const ke = V.current;
|
|
3178
|
+
me = C.current === 1 && ke != null && H != null && Math.abs(ke - H) < 0.05 ? me + 1 : 0, H = ke;
|
|
3179
3179
|
const Ce = me >= 3;
|
|
3180
3180
|
Ce !== te.current && (te.current = Ce, z());
|
|
3181
3181
|
}, 1e3);
|
|
3182
3182
|
return () => clearInterval(q);
|
|
3183
|
-
}, [Z]), /* @__PURE__ */
|
|
3184
|
-
/* @__PURE__ */ i("iframe", { ref: p, onLoad:
|
|
3183
|
+
}, [Z]), /* @__PURE__ */ g("div", { className: `txyt${f ? " txyt--ad" : ""}`, children: [
|
|
3184
|
+
/* @__PURE__ */ i("iframe", { ref: p, onLoad: ve, referrerPolicy: "strict-origin-when-cross-origin", src: `https://www.youtube-nocookie.com/embed/${t}?enablejsapi=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, title: e, allow: "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" }),
|
|
3185
3185
|
!f && /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "txyt__tap", onClick: a, style: { cursor: a ? "pointer" : "default" } }),
|
|
3186
3186
|
/* @__PURE__ */ i("div", { className: `txyt__paused${ue && !f && !B ? " txyt__paused--on" : ""}`, "aria-hidden": "true", children: /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(vs, { size: 44 }) }) }),
|
|
3187
3187
|
f && /* @__PURE__ */ i("div", { className: "txyt__ad", "aria-live": "polite", children: "Ad on YouTube · the transcript carries on after it" }),
|
|
3188
|
-
B && /* @__PURE__ */
|
|
3188
|
+
B && /* @__PURE__ */ g("div", { className: "txyt__gone", children: [
|
|
3189
3189
|
/* @__PURE__ */ i("span", { children: "YouTube no longer has this part of the broadcast" }),
|
|
3190
3190
|
/* @__PURE__ */ i("small", { children: "A live stream can be rewound only 12 hours" })
|
|
3191
3191
|
] })
|
|
3192
3192
|
] });
|
|
3193
3193
|
}
|
|
3194
|
-
const Al = /* @__PURE__ */
|
|
3194
|
+
const Al = /* @__PURE__ */ g(_e, { children: [
|
|
3195
3195
|
/* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
|
|
3196
3196
|
/* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
|
|
3197
3197
|
] }), El = /* @__PURE__ */ i("path", { d: "M7.5 5.6a1 1 0 0 1 1.52-.85l9.1 5.55a1 1 0 0 1 0 1.7l-9.1 5.55a1 1 0 0 1-1.52-.85V5.6Z" });
|
|
@@ -3212,10 +3212,10 @@ function Ql(t, e) {
|
|
|
3212
3212
|
const s = v(0), r = v(1), a = Xe((o, l) => {
|
|
3213
3213
|
cancelAnimationFrame(s.current);
|
|
3214
3214
|
const c = r.current, d = performance.now(), u = () => {
|
|
3215
|
-
const
|
|
3216
|
-
r.current = c + (o - c) *
|
|
3215
|
+
const h = l > 0 ? Math.min(1, (performance.now() - d) / l) : 1;
|
|
3216
|
+
r.current = c + (o - c) * h;
|
|
3217
3217
|
for (const M of n.current) M.setVolume(r.current);
|
|
3218
|
-
|
|
3218
|
+
h < 1 && (s.current = requestAnimationFrame(u));
|
|
3219
3219
|
};
|
|
3220
3220
|
u();
|
|
3221
3221
|
}, []);
|
|
@@ -3228,7 +3228,7 @@ function Ql(t, e) {
|
|
|
3228
3228
|
}
|
|
3229
3229
|
function $l(t, e, n, s) {
|
|
3230
3230
|
var Oe;
|
|
3231
|
-
const r = v(null), a = v(!1), o = v(!1), [l, c] = I(null), [d, u] = I(!0),
|
|
3231
|
+
const r = v(null), a = v(!1), o = v(!1), [l, c] = I(null), [d, u] = I(!0), h = v(!0), M = v(!1), [p, N] = I(0), w = v(0);
|
|
3232
3232
|
w.current = p;
|
|
3233
3233
|
const k = v({ t: 0, at: 0 }), m = v(n);
|
|
3234
3234
|
m.current = n;
|
|
@@ -3251,7 +3251,7 @@ function $l(t, e, n, s) {
|
|
|
3251
3251
|
}
|
|
3252
3252
|
}
|
|
3253
3253
|
}), []);
|
|
3254
|
-
$.muted =
|
|
3254
|
+
$.muted = h.current || M.current, _(() => {
|
|
3255
3255
|
if (l !== 1) return;
|
|
3256
3256
|
let G = 0;
|
|
3257
3257
|
const B = () => {
|
|
@@ -3307,11 +3307,11 @@ function $l(t, e, n, s) {
|
|
|
3307
3307
|
}, we = (G) => {
|
|
3308
3308
|
const B = t[Math.max(0, Math.min(t.length - 1, G))];
|
|
3309
3309
|
B && C(B.start);
|
|
3310
|
-
},
|
|
3311
|
-
const G =
|
|
3310
|
+
}, ve = v(!1), Qe = () => {
|
|
3311
|
+
const G = h.current || M.current;
|
|
3312
3312
|
$.muted = G, A(G ? "mute" : "unMute");
|
|
3313
3313
|
}, ye = (G) => {
|
|
3314
|
-
|
|
3314
|
+
h.current = G, u(G), Qe();
|
|
3315
3315
|
}, Le = (G) => {
|
|
3316
3316
|
M.current !== !G && (M.current = !G, Qe());
|
|
3317
3317
|
};
|
|
@@ -3337,9 +3337,9 @@ function $l(t, e, n, s) {
|
|
|
3337
3337
|
toggle: ae,
|
|
3338
3338
|
seekRow: we,
|
|
3339
3339
|
toggleMute: () => {
|
|
3340
|
-
const G = !
|
|
3340
|
+
const G = !h.current;
|
|
3341
3341
|
ye(G), !G && !M.current && j.current === 1 && setTimeout(() => {
|
|
3342
|
-
j.current === 2 && !
|
|
3342
|
+
j.current === 2 && !h.current && (ye(!0), A("playVideo"));
|
|
3343
3343
|
}, 900);
|
|
3344
3344
|
},
|
|
3345
3345
|
seekFrac: (G) => C(Math.max(0, Math.min(1, G)) * z),
|
|
@@ -3354,10 +3354,10 @@ function $l(t, e, n, s) {
|
|
|
3354
3354
|
prev: () => we(E - 1),
|
|
3355
3355
|
next: () => we(E + 1),
|
|
3356
3356
|
hold: () => {
|
|
3357
|
-
te && (A("pauseVideo"),
|
|
3357
|
+
te && (A("pauseVideo"), ve.current = !0);
|
|
3358
3358
|
},
|
|
3359
3359
|
release: () => {
|
|
3360
|
-
|
|
3360
|
+
ve.current && (ve.current = !1, le());
|
|
3361
3361
|
},
|
|
3362
3362
|
error: null,
|
|
3363
3363
|
clearError: () => {
|
|
@@ -3371,8 +3371,8 @@ function $l(t, e, n, s) {
|
|
|
3371
3371
|
}
|
|
3372
3372
|
function Bl(t, e, n, s, r = 0, a = null) {
|
|
3373
3373
|
var X;
|
|
3374
|
-
const o = v(null), [l, c] = I(!1), [d, u] = I(0), [
|
|
3375
|
-
p.current =
|
|
3374
|
+
const o = v(null), [l, c] = I(!1), [d, u] = I(0), [h, M] = I(!1), p = v(h);
|
|
3375
|
+
p.current = h;
|
|
3376
3376
|
const N = v(!1), [w, k] = I(null), [m, f] = I(!1), O = v(r);
|
|
3377
3377
|
O.current = r;
|
|
3378
3378
|
const D = v(null), [b, W] = I(0);
|
|
@@ -3471,7 +3471,7 @@ function Bl(t, e, n, s, r = 0, a = null) {
|
|
|
3471
3471
|
}, ae = (y) => {
|
|
3472
3472
|
const R = n[Math.max(0, Math.min(n.length - 1, y))];
|
|
3473
3473
|
R && Z(R.start);
|
|
3474
|
-
}, we = (y) => Z(Math.max(0, Math.min(1, y)) * j),
|
|
3474
|
+
}, we = (y) => Z(Math.max(0, Math.min(1, y)) * j), ve = (y) => {
|
|
3475
3475
|
const R = Tn(y, n, j);
|
|
3476
3476
|
Z(R.t);
|
|
3477
3477
|
const fe = o.current;
|
|
@@ -3517,7 +3517,7 @@ function Bl(t, e, n, s, r = 0, a = null) {
|
|
|
3517
3517
|
t: d,
|
|
3518
3518
|
idx: C,
|
|
3519
3519
|
dur: j,
|
|
3520
|
-
muted:
|
|
3520
|
+
muted: h,
|
|
3521
3521
|
toggleMute: () => {
|
|
3522
3522
|
const y = !p.current;
|
|
3523
3523
|
p.current = y, o.current && (o.current.muted = y || N.current), M(y);
|
|
@@ -3525,7 +3525,7 @@ function Bl(t, e, n, s, r = 0, a = null) {
|
|
|
3525
3525
|
toggle: ne,
|
|
3526
3526
|
seekRow: ae,
|
|
3527
3527
|
seekFrac: we,
|
|
3528
|
-
resumeAt:
|
|
3528
|
+
resumeAt: ve,
|
|
3529
3529
|
seekWord: Qe,
|
|
3530
3530
|
playRow: ye,
|
|
3531
3531
|
seekN: ue,
|
|
@@ -3564,7 +3564,7 @@ function Bl(t, e, n, s, r = 0, a = null) {
|
|
|
3564
3564
|
function Hl(t, e, n, s, r, a, o = !1, l) {
|
|
3565
3565
|
const c = v(/* @__PURE__ */ new Set());
|
|
3566
3566
|
c.current = l ?? c.current;
|
|
3567
|
-
const d = v(null), [u,
|
|
3567
|
+
const d = v(null), [u, h] = I(!1), [M, p] = I(0), [N, w] = I(0), [k, m] = I(!1), f = v(k);
|
|
3568
3568
|
f.current = k;
|
|
3569
3569
|
const [O, D] = I(null), [b, W] = I(null), [A, te] = I(null), [j, S] = I(null), $ = v(j);
|
|
3570
3570
|
$.current = j;
|
|
@@ -3574,15 +3574,15 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3574
3574
|
le.current = o, d.current && (d.current.flow = o);
|
|
3575
3575
|
const ae = v(null), we = v(r);
|
|
3576
3576
|
we.current = r;
|
|
3577
|
-
const
|
|
3578
|
-
|
|
3577
|
+
const ve = v(a);
|
|
3578
|
+
ve.current = a;
|
|
3579
3579
|
const Qe = Xe((Y) => {
|
|
3580
3580
|
Y.finite = !0, Y.coming = (U) => c.current.has(U), Y.readAhead = 6, Y.readAheadS = 45, Y.onWaiting = (U) => W(U), Y.onStarting = (U) => te(U), Y.onSentence = (U) => {
|
|
3581
|
-
if (
|
|
3581
|
+
if (h(Y.playing), U == null) return;
|
|
3582
3582
|
const F = Z.current.findIndex((ee) => ee.sentenceId === U);
|
|
3583
3583
|
F >= 0 && p(F);
|
|
3584
3584
|
}, Y.onError = (U) => {
|
|
3585
|
-
|
|
3585
|
+
h(Y.playing), D(U instanceof ci ? { message: "The voice could not be started. Press Play to try again.", code: "voice_not_started" } : { message: "A line of this reading could not be played." });
|
|
3586
3586
|
}, Y.gapBefore = (U, F) => {
|
|
3587
3587
|
if (!le.current) return 0;
|
|
3588
3588
|
const ee = Z.current, Me = ee.find((xe) => xe.sentenceId === U), be = ee.find((xe) => xe.sentenceId === F);
|
|
@@ -3615,7 +3615,7 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3615
3615
|
var F;
|
|
3616
3616
|
if (ye.current !== s) {
|
|
3617
3617
|
const ee = ye.current != null ? Le.current : null;
|
|
3618
|
-
ye.current = s, (F = d.current) == null || F.stop(), d.current = new Ms(), Qe(d.current), d.current.setSequence(ne.current),
|
|
3618
|
+
ye.current = s, (F = d.current) == null || F.stop(), d.current = new Ms(), Qe(d.current), d.current.setSequence(ne.current), h(!1), p(0), D(null), te(null), S(null), B(ee && (ee.playing || ee.t > 0) ? ee : null);
|
|
3619
3619
|
}
|
|
3620
3620
|
const Y = d.current;
|
|
3621
3621
|
Y.setMuted(f.current);
|
|
@@ -3643,7 +3643,7 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3643
3643
|
P(!!(F != null && F.silent)), F != null && F.silent && $.current && ($.current = null, S(null)), re((xe) => F == null ? null : xe != null && Math.abs(xe - F.s) < 0.05 ? xe : F.s);
|
|
3644
3644
|
const ee = $.current;
|
|
3645
3645
|
F == null ? C(null) : ee && ee.sid === F.sentenceId && (C(ee.t), $.current = null, S(null));
|
|
3646
|
-
const Me = ((ze = d.current) == null ? void 0 : ze.position()) ?? null, be = Me &&
|
|
3646
|
+
const Me = ((ze = d.current) == null ? void 0 : ze.position()) ?? null, be = Me && ve.current ? ve.current[String(Me.sentenceId)] ?? null : null;
|
|
3647
3647
|
ee && Me && Me.sentenceId === ee.sid && Me.t > 0.1 && S(null), z((xe) => Me ? xe && Math.abs(xe.t - Me.t) < 0.05 && xe.dur === Me.dur && xe.words === be ? xe : { t: Me.t, dur: Me.dur, words: be } : xe == null ? xe : null);
|
|
3648
3648
|
};
|
|
3649
3649
|
Y();
|
|
@@ -3657,18 +3657,18 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3657
3657
|
}, me = (Y, U) => {
|
|
3658
3658
|
for (let F = Y; F >= 0 && F < e.length; F += U) if (H(F)) return F;
|
|
3659
3659
|
return null;
|
|
3660
|
-
}, q = Math.max(0, Math.min(M, Math.max(0, e.length - 1))),
|
|
3660
|
+
}, q = Math.max(0, Math.min(M, Math.max(0, e.length - 1))), ke = e.length ? e[e.length - 1].start + 4 : 0, Ce = n || ke || 1, He = v(!1), Ae = v(M);
|
|
3661
3661
|
Ae.current = M;
|
|
3662
3662
|
const Ue = (Y) => {
|
|
3663
3663
|
var U, F, ee;
|
|
3664
|
-
(F = d.current) == null || F.play(((U = e[Y]) == null ? void 0 : U.sentenceId) ?? null),
|
|
3665
|
-
},
|
|
3664
|
+
(F = d.current) == null || F.play(((U = e[Y]) == null ? void 0 : U.sentenceId) ?? null), h(!!((ee = d.current) != null && ee.playing));
|
|
3665
|
+
}, ge = (Y) => {
|
|
3666
3666
|
var F, ee, Me;
|
|
3667
3667
|
const U = Math.max(0, Math.min(Math.max(0, e.length - 1), Y));
|
|
3668
|
-
p(U), Ae.current = U, w((be) => be + 1), (ee = d.current) == null || ee.seek(((F = e[U]) == null ? void 0 : F.sentenceId) ?? null),
|
|
3668
|
+
p(U), Ae.current = U, w((be) => be + 1), (ee = d.current) == null || ee.seek(((F = e[U]) == null ? void 0 : F.sentenceId) ?? null), h(!!((Me = d.current) != null && Me.playing));
|
|
3669
3669
|
}, Re = (Y) => {
|
|
3670
3670
|
var U;
|
|
3671
|
-
X(), S(null), (U = d.current) == null || U.startWithin(-1, 0),
|
|
3671
|
+
X(), S(null), (U = d.current) == null || U.startWithin(-1, 0), ge(Y);
|
|
3672
3672
|
}, K = (Y) => {
|
|
3673
3673
|
var Me;
|
|
3674
3674
|
const U = e[Y], F = (U == null ? void 0 : U.start) ?? 0, ee = ((Me = e[Y + 1]) == null ? void 0 : Me.start) ?? St(U, F, Ce);
|
|
@@ -3708,24 +3708,24 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3708
3708
|
return;
|
|
3709
3709
|
}
|
|
3710
3710
|
if (X(), u) {
|
|
3711
|
-
(U = d.current) == null || U.pause(),
|
|
3711
|
+
(U = d.current) == null || U.pause(), h(!1);
|
|
3712
3712
|
return;
|
|
3713
3713
|
}
|
|
3714
3714
|
D(null);
|
|
3715
3715
|
const Y = Ae.current;
|
|
3716
3716
|
if (!$.current && ((ee = d.current) != null && ee.resume(((F = e[Y]) == null ? void 0 : F.sentenceId) ?? null))) {
|
|
3717
|
-
|
|
3717
|
+
h(!0);
|
|
3718
3718
|
return;
|
|
3719
3719
|
}
|
|
3720
3720
|
Ue(Y);
|
|
3721
3721
|
},
|
|
3722
3722
|
pause: () => {
|
|
3723
3723
|
var Y;
|
|
3724
|
-
X(), (Y = d.current) == null || Y.pause(),
|
|
3724
|
+
X(), (Y = d.current) == null || Y.pause(), h(!1);
|
|
3725
3725
|
},
|
|
3726
3726
|
stop: () => {
|
|
3727
3727
|
var Y, U, F;
|
|
3728
|
-
X(), (Y = d.current) == null || Y.pause(),
|
|
3728
|
+
X(), (Y = d.current) == null || Y.pause(), h(!1), p(0), z(null), (F = d.current) == null || F.seek(((U = e[0]) == null ? void 0 : U.sentenceId) ?? null);
|
|
3729
3729
|
},
|
|
3730
3730
|
seekRow: Re,
|
|
3731
3731
|
resumeAt: (Y) => {
|
|
@@ -3742,25 +3742,25 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3742
3742
|
const We = Me ? F : F + 1, Pe = e[We];
|
|
3743
3743
|
(rt = d.current) == null || rt.startWithin(-1, 0);
|
|
3744
3744
|
const lt = { t: U, sid: Pe.sentenceId ?? null };
|
|
3745
|
-
$.current = lt, S(lt),
|
|
3745
|
+
$.current = lt, S(lt), ge(We);
|
|
3746
3746
|
return;
|
|
3747
3747
|
}
|
|
3748
3748
|
const be = (ee == null ? void 0 : ee.sentenceId) ?? null, { from: Te, span: ze } = K(F);
|
|
3749
3749
|
let xe = ze > 0 ? Math.max(0, Math.min(1, (U - Te) / ze)) : 0;
|
|
3750
|
-
const Ze = be != null ? (ot =
|
|
3750
|
+
const Ze = be != null ? (ot = ve.current) == null ? void 0 : ot[String(be)] : void 0, $e = Ze != null && Ze.length ? Ze[Ze.length - 1][1] : 0;
|
|
3751
3751
|
if (ee && Ze && Ze.length === ee.words.length && $e > 0) {
|
|
3752
3752
|
let We = 0;
|
|
3753
3753
|
for (let Ve = 0; Ve < ee.words.length; Ve++) ee.words[Ve].start <= U && (We = Ve);
|
|
3754
3754
|
const Pe = ee.words[We], lt = Pe.end > Pe.start ? Math.max(0, Math.min(1, (U - Pe.start) / (Pe.end - Pe.start))) : 0;
|
|
3755
3755
|
xe = Math.min(1, (Ze[We][0] + lt * (Ze[We][1] - Ze[We][0])) / $e);
|
|
3756
3756
|
}
|
|
3757
|
-
be != null && ((dt = d.current) == null || dt.startWithin(be, xe)), S(xe > 0.01 ? { t: U, sid: be } : null),
|
|
3757
|
+
be != null && ((dt = d.current) == null || dt.startWithin(be, xe)), S(xe > 0.01 ? { t: U, sid: be } : null), ge(F);
|
|
3758
3758
|
},
|
|
3759
3759
|
seekWord: a ? (Y) => {
|
|
3760
3760
|
var Me, be, Te, ze;
|
|
3761
3761
|
const U = e[q];
|
|
3762
3762
|
if (!U || U.sentenceId == null) return;
|
|
3763
|
-
const F = U.words.findIndex((xe) => xe.seq === Y.seq && xe.idx === Y.idx), ee = F >= 0 ? (Te = (be = (Me =
|
|
3763
|
+
const F = U.words.findIndex((xe) => xe.seq === Y.seq && xe.idx === Y.idx), ee = F >= 0 ? (Te = (be = (Me = ve.current) == null ? void 0 : Me[String(U.sentenceId)]) == null ? void 0 : be[F]) == null ? void 0 : Te[0] : void 0;
|
|
3764
3764
|
ee != null && ((ze = d.current) == null || ze.seekWithin(ee));
|
|
3765
3765
|
} : void 0,
|
|
3766
3766
|
playRow: (Y) => {
|
|
@@ -3796,7 +3796,7 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3796
3796
|
if (U == null) return;
|
|
3797
3797
|
p(Y), Ae.current = Y, S(null), $.current = null, (Me = d.current) == null || Me.joinSilently(U);
|
|
3798
3798
|
const F = ((be = d.current) == null ? void 0 : be.resting()) ?? null;
|
|
3799
|
-
re((F == null ? void 0 : F.s) ?? null), P(!!(F != null && F.silent)),
|
|
3799
|
+
re((F == null ? void 0 : F.s) ?? null), P(!!(F != null && F.silent)), h(!!((Te = d.current) != null && Te.playing));
|
|
3800
3800
|
}
|
|
3801
3801
|
return Ne.joinAt = o ? (Y) => {
|
|
3802
3802
|
X(), je(Tn({ t: Y, playing: !0, sentenceId: null, offset: 0, ended: !1 }, e, Ce).index);
|
|
@@ -3812,17 +3812,17 @@ function Hl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3812
3812
|
}
|
|
3813
3813
|
const Vl = () => {
|
|
3814
3814
|
}, Wl = "The language this recording is read aloud in.", Fl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
|
|
3815
|
-
function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: d, setPickedLang: u, side:
|
|
3815
|
+
function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: d, setPickedLang: u, side: h, hearOriginal: M = !1, timed: p = !1, stockVoices: N = !1, stickyPicker: w = !1, pickerBusy: k = null, voiceSheet: m, forcedVoice: f = null }) {
|
|
3816
3816
|
var sn, rn, Ft, Gt;
|
|
3817
|
-
const { onAddVoice: O, onPickVoice: D, onSelectSpeaker: b, noCloneFor: W, castNoClone: A, castShort: te, castBuilding: j, castWarn: S, badge: $, titleNode: L } = m ?? {}, z = !!m, E = !!(m != null && m.pendingClones), [re, V] =
|
|
3817
|
+
const { onAddVoice: O, onPickVoice: D, onSelectSpeaker: b, noCloneFor: W, castNoClone: A, castShort: te, castBuilding: j, castWarn: S, badge: $, titleNode: L } = m ?? {}, z = !!m, E = !!(m != null && m.pendingClones), [re, V] = hi(), [C, ue] = I(null), [P, Z] = I(!1), [le, ne] = I(!1), [ae, we] = I(!1), [ve, Qe] = I(!1), ye = d ?? l, Le = d === null, Se = d != null || C != null, Oe = ((Q) => !!Q && !!(o != null && o.voice.includes(Q)))(Le ? l : ye) ? Le ? l : ye : "en", G = xl(Oe), B = (m == null ? void 0 : m.cloneOn) ?? !0, [X, y] = I(0), R = v(B);
|
|
3818
3818
|
_(() => {
|
|
3819
3819
|
R.current !== B && (R.current = B, y((Q) => Q + 1));
|
|
3820
3820
|
}, [B]);
|
|
3821
|
-
const fe = ul(Oe, Se || r || le, dl(e) * 1e3 + X, { id: t ?? null, shareCode: a.shareCode ?? null }), H = Ie(() => ((fe == null ? void 0 : fe.voices) ?? []).filter((Q) => z || !Q.cloned || Q.speaker != null), [fe, z]), me = H.length > 1, q = ys(o, ye),
|
|
3821
|
+
const fe = ul(Oe, Se || r || le, dl(e) * 1e3 + X, { id: t ?? null, shareCode: a.shareCode ?? null }), H = Ie(() => ((fe == null ? void 0 : fe.voices) ?? []).filter((Q) => z || !Q.cloned || Q.speaker != null), [fe, z]), me = H.length > 1, q = ys(o, ye), ke = ki(), Ce = Ie(() => gi(o, "translation"), [o]), [He, Ae] = I(null), [Ue] = I(() => /* @__PURE__ */ new Set()), [ge, Re] = I({}), K = Ie(() => il(n, e, ke.vcUnknownSpk), [n, e, ke]), ie = me && K.filter((Q) => Q.key >= 0).length > 1, de = He != null && K.some((Q) => Q.key === He) ? He : ((sn = K[0]) == null ? void 0 : sn.key) ?? null, ce = Ie(() => {
|
|
3822
3822
|
const Q = Zr(K, H, B);
|
|
3823
|
-
for (const [De, Fe] of Object.entries(
|
|
3823
|
+
for (const [De, Fe] of Object.entries(ge[Oe ?? ""] ?? {})) Q.set(Number(De), Fe);
|
|
3824
3824
|
return Q;
|
|
3825
|
-
}, [K, H,
|
|
3825
|
+
}, [K, H, ge, Oe, B]), Ne = ie && Object.keys(ge[Oe ?? ""] ?? {}).length > 0, je = Ie(() => N && !Ne ? Zr(K, H, !1) : null, [N, Ne, K, H]), Y = Ie(() => Ne ? Fr(ce) || null : je && Fr(je) || null, [Ne, ce, je]), U = Ne ? ce : je, F = H.some((Q) => Q.cloned && Q.consent !== "pending"), ee = !!ye && !!(o != null && o.voice.includes(ye)), Me = ee && !M, be = Ie(
|
|
3826
3826
|
() => n.filter((Q) => !Q.suppressed && !Q.unclear).map((Q) => Q.sentenceId).filter((Q) => Q != null),
|
|
3827
3827
|
[n]
|
|
3828
3828
|
), Te = Ml({ recordingId: t, lang: ye, ended: r, cred: a, pickedVoice: f || (Y ?? C), sentenceIds: r && Me ? be : void 0 }), ze = H.find((Q) => Q.id === C) ?? H.find((Q) => {
|
|
@@ -3840,8 +3840,8 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3840
3840
|
const Q = (De = n[$e.idx]) == null ? void 0 : De.sentenceId;
|
|
3841
3841
|
Q != null && Te.setNear(Q);
|
|
3842
3842
|
}, [$e.idx]), _(() => {
|
|
3843
|
-
!
|
|
3844
|
-
}, [
|
|
3843
|
+
!ve || !$e.has || (Qe(!1), $e.playing || $e.toggle());
|
|
3844
|
+
}, [ve, $e.has]);
|
|
3845
3845
|
const rt = Te.rendering, ot = rt ? null : Te.failed ?? null, dt = !1, We = Se && Me, Pe = Se && !Le && Me && !(Te.listed && Te.listed.lang === ye && Te.listed.recordingId === t), lt = {
|
|
3846
3846
|
...$e,
|
|
3847
3847
|
has: $e.has || We && r,
|
|
@@ -3855,7 +3855,7 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3855
3855
|
}, Ve = () => Z(!0), mt = () => {
|
|
3856
3856
|
Z(!1), ne(ae), we(!1);
|
|
3857
3857
|
}, Mt = (Q) => {
|
|
3858
|
-
if (u(Q), V(Q), !((
|
|
3858
|
+
if (u(Q), V(Q), !((h || w) && !ae)) {
|
|
3859
3859
|
if (Q != null) {
|
|
3860
3860
|
mt();
|
|
3861
3861
|
return;
|
|
@@ -3885,7 +3885,7 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3885
3885
|
return;
|
|
3886
3886
|
}
|
|
3887
3887
|
ue(Q);
|
|
3888
|
-
}, st = Le ? { ...ys(o, null), flag: /* @__PURE__ */ i(oe, { d: J.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : q, Cn = c ?
|
|
3888
|
+
}, st = Le ? { ...ys(o, null), flag: /* @__PURE__ */ i(oe, { d: J.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : q, Cn = c ? h ? /* @__PURE__ */ i("span", { className: "barchip", style: Ot ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(vn, { flag: st.flag, code: st.code, bordered: !1, onClick: en, flagOnly: !0, label: st.label }) }) : /* @__PURE__ */ i(vn, { flag: st.flag, code: st.code, bordered: !1, onClick: Ve, flagOnly: !0, label: st.label }) : null, tn = J.voiceClone, Ke = Se && (!!Te.track || rt), ht = ot ? "var(--conf-low)" : Ke || h && x ? "var(--brand)" : "var(--ink-55)", Ct = rt || !!$e.preparing && Se, yt = $e.preparing ? `Speaking this line in ${(ze == null ? void 0 : ze.name) ?? "this voice"}…` : rt ? `Preparing this recording in ${(ze == null ? void 0 : ze.name) ?? "this voice"} — it will play as soon as it is ready` : ot ? `This voice could not be prepared: ${ot}` : ee ? me ? "Choose a voice" : ze ? ze.name : ke.vcNoVoice + q.label : `${ke.vcNoVoice}${q.label}`, Tt = /* @__PURE__ */ i(Qa, { open: P, onClose: mt, keepOpen: (!!h || w) && !ae, value: Le ? null : ye, onSelect: Mt, languages: Ce, title: (h == null ? void 0 : h.title) ?? "SPOKEN LANGUAGE", note: (h == null ? void 0 : h.note) ?? Wl, searchPlaceholder: ke.search, none: "Original", pinned: (Le ? l : ye) ? [Le ? l : ye] : [], recent: re, requireVoice: ae, sticky: w, busy: k }), Yt = Ie(() => H.filter((Q) => Q.cloned && !Q.auto), [H]), bt = (Q) => Q.voiceId ? Yt.find((De) => De.id === `clone:${Q.voiceId}`) ?? null : null, ct = Ie(() => K.filter((Q) => Q.key >= 0), [K]), Ht = Ie(() => {
|
|
3889
3889
|
const Q = H.filter((Fe) => !Fe.cloned);
|
|
3890
3890
|
if (!ie) return [...Q, ...r && ct.length === 1 ? Yt.filter((Fe) => Fe.id === `clone:${ct[0].voiceId}`) : []];
|
|
3891
3891
|
const De = [];
|
|
@@ -3898,26 +3898,26 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3898
3898
|
}, [H, Yt, ie, ct, E, r]), it = ie ? ct.find((Q) => Q.key === de) ?? null : null, jt = (Q) => {
|
|
3899
3899
|
var De;
|
|
3900
3900
|
return Q ? ((De = H.find((Fe) => Fe.id === Q)) == null ? void 0 : De.gender) ?? null : null;
|
|
3901
|
-
}, qe = it ? it.sex ?? jt(ce.get(it.key)) : null, _t = Ie(() => it ? Ht.filter((Q) => Q.cloned ? Q.live ? Q.speaker === it.key : Q.id === `clone:${it.voiceId}` : !0) : Ht, [Ht, it, qe, ct]), Vt = (Q) => H.find((De) => De.cloned && De.auto && De.speaker === Q) ?? null,
|
|
3902
|
-
Ct ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : /* @__PURE__ */ i(oe, { d: tn, size: 17, sw: 1.6, style: { color:
|
|
3901
|
+
}, qe = it ? it.sex ?? jt(ce.get(it.key)) : null, _t = Ie(() => it ? Ht.filter((Q) => Q.cloned ? Q.live ? Q.speaker === it.key : Q.id === `clone:${it.voiceId}` : !0) : Ht, [Ht, it, qe, ct]), Vt = (Q) => H.find((De) => De.cloned && De.auto && De.speaker === Q) ?? null, gt = { people: ct, gvList: H, autoOf: Vt, savedFor: bt }, Je = ($ == null ? void 0 : $(gt)) ?? 0, Wt = S ? ct.map((Q) => S(Q, gt)).filter((Q) => !!Q) : [], xt = /* @__PURE__ */ g("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": h ? x : void 0, title: Ct || ot ? yt : void 0, style: { cursor: "pointer", background: Ke || Ct || h && x ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: h && x ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: h ? vt : Bt, children: [
|
|
3902
|
+
Ct ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : /* @__PURE__ */ i(oe, { d: tn, size: 17, sw: 1.6, style: { color: ht } }),
|
|
3903
3903
|
Wt.length > 0 ? /* @__PURE__ */ i("span", { className: "txvoice__warn", title: Wt.join(" · "), children: "!" }) : !!Je && /* @__PURE__ */ i("span", { className: "txvoice__n", title: `${Je} speaker${Je === 1 ? "" : "s"} can get a cloned voice`, children: Je })
|
|
3904
|
-
] }), nn = /* @__PURE__ */ i($t, { open: le, onClose: se, title:
|
|
3904
|
+
] }), nn = /* @__PURE__ */ i($t, { open: le, onClose: se, title: ke.vcSheet, titleNode: L, doneLabel: ke.done, children: /* @__PURE__ */ i(
|
|
3905
3905
|
ol,
|
|
3906
3906
|
{
|
|
3907
|
-
t:
|
|
3907
|
+
t: ke,
|
|
3908
3908
|
cast: ie && /* @__PURE__ */ i(
|
|
3909
3909
|
al,
|
|
3910
3910
|
{
|
|
3911
|
-
t:
|
|
3911
|
+
t: ke,
|
|
3912
3912
|
roster: K,
|
|
3913
3913
|
selected: de,
|
|
3914
3914
|
onSelect: (Q) => {
|
|
3915
3915
|
G.reset(), Ae(Q), b == null || b(Q);
|
|
3916
3916
|
},
|
|
3917
|
-
noClone: (Q) => !!(A != null && A(Q,
|
|
3918
|
-
short: (Q) => !!(te != null && te(Q,
|
|
3919
|
-
warn: (Q) => (S == null ? void 0 : S(Q,
|
|
3920
|
-
building: (Q) => !bt(Q) && (H.some((De) => De.cloned && De.speaker === Q.key && De.ready === !1) || !!(j != null && j(Q,
|
|
3917
|
+
noClone: (Q) => !!(A != null && A(Q, gt)),
|
|
3918
|
+
short: (Q) => !!(te != null && te(Q, gt)),
|
|
3919
|
+
warn: (Q) => (S == null ? void 0 : S(Q, gt)) ?? null,
|
|
3920
|
+
building: (Q) => !bt(Q) && (H.some((De) => De.cloned && De.speaker === Q.key && De.ready === !1) || !!(j != null && j(Q, gt))),
|
|
3921
3921
|
sexOf: (Q) => Q.sex ?? jt(ce.get(Q.key))
|
|
3922
3922
|
}
|
|
3923
3923
|
),
|
|
@@ -3925,7 +3925,7 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3925
3925
|
onAdd: (Q) => {
|
|
3926
3926
|
G.reset(), O == null || O(Q);
|
|
3927
3927
|
},
|
|
3928
|
-
noClone: it && !_t.some((Q) => Q.cloned) ? (W == null ? void 0 : W(it, Vt(it.key),
|
|
3928
|
+
noClone: it && !_t.some((Q) => Q.cloned) ? (W == null ? void 0 : W(it, Vt(it.key), gt)) ?? null : null,
|
|
3929
3929
|
usedBy: ie && de != null ? (Q) => {
|
|
3930
3930
|
const De = K.filter((Fe) => Fe.key !== de && ce.get(Fe.key) === Q.id);
|
|
3931
3931
|
return De.length ? De.map((Fe) => Fe.name).join(", ") : null;
|
|
@@ -3949,12 +3949,12 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3949
3949
|
},
|
|
3950
3950
|
onUse: Et
|
|
3951
3951
|
}
|
|
3952
|
-
) }), bn =
|
|
3952
|
+
) }), bn = h ? null : /* @__PURE__ */ g(_e, { children: [
|
|
3953
3953
|
Tt,
|
|
3954
3954
|
nn
|
|
3955
|
-
] }), zt =
|
|
3955
|
+
] }), zt = h && (P || le) ? /* @__PURE__ */ i("div", { className: "vs-side", children: P ? Tt : nn }) : null, xn = We && ot ? `This voice could not be prepared: ${ot}` : null, Dn = dt;
|
|
3956
3956
|
return {
|
|
3957
|
-
barChip: { flag: st.flag, code: st.code, label: st.label, onClick:
|
|
3957
|
+
barChip: { flag: st.flag, code: st.code, label: st.label, onClick: h || w ? en : Ve, active: !!((h || w) && Ot), can: c },
|
|
3958
3958
|
sheetsOpen: P || le,
|
|
3959
3959
|
on: We,
|
|
3960
3960
|
player: lt,
|
|
@@ -4000,15 +4000,15 @@ function Gl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
4000
4000
|
closePicker: () => {
|
|
4001
4001
|
Ot && mt();
|
|
4002
4002
|
},
|
|
4003
|
-
langList: { value: Le ? null : ye, onSelect: Mt, languages: Ce, searchPlaceholder:
|
|
4003
|
+
langList: { value: Le ? null : ye, onSelect: Mt, languages: Ce, searchPlaceholder: ke.search, none: "Original", pinned: (Le ? l : ye) ? [Le ? l : ye] : [], recent: re }
|
|
4004
4004
|
};
|
|
4005
4005
|
}
|
|
4006
|
-
function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: d, marks: u = !0, fixBadges:
|
|
4006
|
+
function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: d, marks: u = !0, fixBadges: h = !0, tail: M, tailFg: p, running: N, desk: w, feedRef: k, listener: m, showLabels: f, find: O, findOpen: D, lang: b, warm: W, onVisible: A, wordHl: te = !0 }) {
|
|
4007
4007
|
const { playing: j, engaged: S, t: $, idx: L, seekN: z, wordSync: E, clipPos: re } = n;
|
|
4008
4008
|
wl(!0, k);
|
|
4009
4009
|
const V = v(null);
|
|
4010
4010
|
Zo(k, V);
|
|
4011
|
-
const [C, ue] = I(null), P = (O ?? "").trim().toLowerCase(), [Z, le] = I(0), ne = v(0), ae = v(null), we = v(L),
|
|
4011
|
+
const [C, ue] = I(null), P = (O ?? "").trim().toLowerCase(), [Z, le] = I(0), ne = v(0), ae = v(null), we = v(L), ve = (B) => {
|
|
4012
4012
|
var X;
|
|
4013
4013
|
return ((X = k.current) == null ? void 0 : X.querySelector(`[data-tx-row="${B}"]`)) ?? null;
|
|
4014
4014
|
}, Qe = v("");
|
|
@@ -4017,9 +4017,9 @@ function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
|
|
|
4017
4017
|
if (!B || !A) return;
|
|
4018
4018
|
const X = () => {
|
|
4019
4019
|
const H = B.getBoundingClientRect(), me = [];
|
|
4020
|
-
for (const
|
|
4021
|
-
const Ce =
|
|
4022
|
-
Ce.bottom > H.top && Ce.top < H.bottom && me.push(Number(
|
|
4020
|
+
for (const ke of Array.from(B.querySelectorAll("[data-sentence]"))) {
|
|
4021
|
+
const Ce = ke.getBoundingClientRect();
|
|
4022
|
+
Ce.bottom > H.top && Ce.top < H.bottom && me.push(Number(ke.dataset.sentence));
|
|
4023
4023
|
}
|
|
4024
4024
|
const q = me.join(",");
|
|
4025
4025
|
q !== Qe.current && (Qe.current = q, A(me));
|
|
@@ -4033,29 +4033,29 @@ function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
|
|
|
4033
4033
|
};
|
|
4034
4034
|
}, [e, A, k]);
|
|
4035
4035
|
const ye = (B) => {
|
|
4036
|
-
const X = k.current, y =
|
|
4036
|
+
const X = k.current, y = ve(B);
|
|
4037
4037
|
if (!X || !y) return;
|
|
4038
4038
|
const R = y.getBoundingClientRect().top - X.getBoundingClientRect().top + X.scrollTop, fe = X.scrollHeight - X.clientHeight, H = is(X), me = Math.max(80, X.clientHeight - H.top - H.bottom), q = y.offsetHeight > me ? 8 : (me - y.offsetHeight) / 2;
|
|
4039
4039
|
X.scrollTop = Math.max(0, Math.min(fe, R - H.top - q));
|
|
4040
4040
|
}, Le = (B) => {
|
|
4041
|
-
const X = k.current, y =
|
|
4041
|
+
const X = k.current, y = ve(B);
|
|
4042
4042
|
if (!X || !X.clientHeight || !X.offsetParent || !y) return 0;
|
|
4043
4043
|
const R = y.getBoundingClientRect(), fe = X.getBoundingClientRect(), H = is(X), me = fe.top + H.top, q = fe.bottom - H.bottom;
|
|
4044
4044
|
return R.height > q - me ? R.top < me - 4 ? -1 : R.top > q - 60 ? 1 : 0 : R.bottom < me + 10 ? -1 : R.bottom > q - 4 ? 1 : 0;
|
|
4045
4045
|
}, Se = (B) => {
|
|
4046
4046
|
ne.current = performance.now() + 420;
|
|
4047
|
-
const X = k.current, y =
|
|
4047
|
+
const X = k.current, y = ve(B);
|
|
4048
4048
|
if (!X || !X.clientHeight || !y) return;
|
|
4049
|
-
const R = y.getBoundingClientRect(), fe = X.getBoundingClientRect(), H = X.scrollHeight - X.clientHeight, me = X.scrollTop, q = is(X),
|
|
4049
|
+
const R = y.getBoundingClientRect(), fe = X.getBoundingClientRect(), H = X.scrollHeight - X.clientHeight, me = X.scrollTop, q = is(X), ke = Math.max(80, X.clientHeight - q.top - q.bottom), Ce = R.height > ke ? 8 : (ke - R.height) / 2, He = Math.max(0, Math.min(H, me + (R.top - fe.top) - q.top - Ce));
|
|
4050
4050
|
if (ae.current && cancelAnimationFrame(ae.current), Math.abs(He - me) < 2) {
|
|
4051
4051
|
X.scrollTop = He, ae.current = null;
|
|
4052
4052
|
return;
|
|
4053
4053
|
}
|
|
4054
|
-
const Ae = performance.now(), Ue = 360,
|
|
4054
|
+
const Ae = performance.now(), Ue = 360, ge = () => {
|
|
4055
4055
|
const Re = Math.min(1, (performance.now() - Ae) / Ue);
|
|
4056
|
-
X.scrollTop = me + (He - me) * (1 - Math.pow(1 - Re, 3)), ae.current = Re < 1 ? requestAnimationFrame(
|
|
4056
|
+
X.scrollTop = me + (He - me) * (1 - Math.pow(1 - Re, 3)), ae.current = Re < 1 ? requestAnimationFrame(ge) : null;
|
|
4057
4057
|
};
|
|
4058
|
-
ae.current = requestAnimationFrame(
|
|
4058
|
+
ae.current = requestAnimationFrame(ge);
|
|
4059
4059
|
};
|
|
4060
4060
|
_(() => () => {
|
|
4061
4061
|
ae.current && cancelAnimationFrame(ae.current);
|
|
@@ -4080,39 +4080,39 @@ function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
|
|
|
4080
4080
|
}, [z]);
|
|
4081
4081
|
const Oe = () => {
|
|
4082
4082
|
Se(L), Be.current = 0, le(0);
|
|
4083
|
-
}, G = (B) => /* @__PURE__ */ i("div", { className: `txfollow txfollow--${B}`, children: /* @__PURE__ */
|
|
4083
|
+
}, G = (B) => /* @__PURE__ */ i("div", { className: `txfollow txfollow--${B}`, children: /* @__PURE__ */ g("button", { type: "button", className: "txfollow__pill", title: "Jump to the line playing now", onClick: Oe, children: [
|
|
4084
4084
|
/* @__PURE__ */ i(oe, { d: B === "up" ? "m4.5 15.75 7.5-7.5 7.5 7.5" : "m19.5 8.25-7.5 7.5-7.5-7.5", size: 15, sw: 2 }),
|
|
4085
4085
|
"Now playing"
|
|
4086
4086
|
] }) });
|
|
4087
|
-
return /* @__PURE__ */
|
|
4087
|
+
return /* @__PURE__ */ g("div", { ref: k, "data-tx-feed": "1", className: `txfeed${w ? " txfeed--desk" : ""}${D && !N ? " is-find" : ""}`, children: [
|
|
4088
4088
|
/* @__PURE__ */ i(qo, { thumbRef: V }),
|
|
4089
4089
|
j && Z === -1 && G("up"),
|
|
4090
4090
|
e.map((B, X) => {
|
|
4091
4091
|
var ie;
|
|
4092
4092
|
const y = j && X === L, R = S && X === L, fe = !!d && d === B.id, H = P && !B.text.toLowerCase().includes(P) && !(b && ((ie = B.translations[b]) != null && ie.toLowerCase().includes(P))) ? 0.22 : !S || X <= L || fe ? 1 : 0.38, me = m ? () => n.playRow(X) : c && l ? () => {
|
|
4093
4093
|
j && !y && n.seekRow(X), l(B);
|
|
4094
|
-
} : j && y ? void 0 : () => n.playRow(X), q = m ? null : Xo(B, r, s),
|
|
4095
|
-
return /* @__PURE__ */
|
|
4096
|
-
/* @__PURE__ */
|
|
4094
|
+
} : j && y ? void 0 : () => n.playRow(X), q = m ? null : Xo(B, r, s), ke = !!q && (q.script > 0 || q.manual), Ce = w && !!a && C === B.id && !!q && !ke, He = Cs(t, B.speaker), Ae = bs(t, B.speaker), Ue = Ae.lane, ge = b && B.translations[b] && B.language !== b ? B.translations[b] : null, Re = Ci(e, X, b), K = R && !E && re ? di(Re.map((de) => ({ t: de.text, sp: " " })), re) : null;
|
|
4095
|
+
return /* @__PURE__ */ g("div", { "data-tx-row": X, "data-sentence": B.sentenceId, className: `txline${W ? " txline--warm" : ""}${fe ? " txline--fixing" : ""}`, "aria-current": fe || void 0, style: { opacity: H }, onClick: me, onMouseEnter: w && a ? () => ue(B.id) : void 0, onMouseLeave: w && a ? () => ue(null) : void 0, children: [
|
|
4096
|
+
/* @__PURE__ */ g("div", { className: "txline__meta", children: [
|
|
4097
4097
|
/* @__PURE__ */ i("span", { className: "txline__at", children: Lt(B.start) }),
|
|
4098
|
-
f && B.speaker >= 0 && /* @__PURE__ */
|
|
4098
|
+
f && B.speaker >= 0 && /* @__PURE__ */ g(_e, { children: [
|
|
4099
4099
|
/* @__PURE__ */ i("div", { className: `lanechip bg-lane-${Ue}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: pi(t, B.speaker) }),
|
|
4100
4100
|
/* @__PURE__ */ i("span", { className: `txline__who lane-${Ue}`, style: Ae.fg ? { color: Ae.fg } : void 0, children: He }),
|
|
4101
4101
|
Ae.hasVoice && /* @__PURE__ */ i(zi, { color: Ae.fg ?? `var(--lane-${Ue})` })
|
|
4102
4102
|
] }),
|
|
4103
4103
|
y && /* @__PURE__ */ i("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ i(oe, { d: J.headphones, size: w ? 15 : 14, sw: 1.6, stroke: f && B.speaker >= 0 ? Ae.fg ?? `var(--lane-${Ue})` : "var(--ink-45)" }) }),
|
|
4104
|
-
q &&
|
|
4104
|
+
q && h && /* @__PURE__ */ i(el, { f: q, desk: w, onOpen: a ? () => a(B, !0) : void 0 }),
|
|
4105
4105
|
Ce && /* @__PURE__ */ i(tl, { alone: !0, onOpen: () => a == null ? void 0 : a(B, !1) })
|
|
4106
4106
|
] }),
|
|
4107
4107
|
/* @__PURE__ */ i("div", { className: "txline__text", children: Re.map((de, ce) => {
|
|
4108
|
-
const Ne = `${de.seq}:${de.idx}`, je = To(de.prob), Y = R && te, U = Y && (E ? $ >= de.start && ($ < de.end || ce === Re.length - 1 || $ < Re[ce + 1].start) : ce === K), F = Y && !U && (E ? de.start > $ : K != null && ce > K), ee = !
|
|
4109
|
-
return /* @__PURE__ */
|
|
4108
|
+
const Ne = `${de.seq}:${de.idx}`, je = To(de.prob), Y = R && te, U = Y && (E ? $ >= de.start && ($ < de.end || ce === Re.length - 1 || $ < Re[ce + 1].start) : ce === K), F = Y && !U && (E ? de.start > $ : K != null && ce > K), ee = !ge && !m && (!!(s != null && s.has(Ne)) || !!de.script), Me = !ge && !m && u && !!je && !ee, be = Me ? je === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, Te = ee ? "var(--brand)" : F ? "var(--ink-40)" : be ?? "var(--ink-96)";
|
|
4109
|
+
return /* @__PURE__ */ g("span", { children: [
|
|
4110
4110
|
/* @__PURE__ */ i(
|
|
4111
4111
|
"span",
|
|
4112
4112
|
{
|
|
4113
4113
|
className: "txw",
|
|
4114
|
-
title: o && !
|
|
4115
|
-
onClick: o && !
|
|
4114
|
+
title: o && !ge ? c ? "Correct this word" : y && j && n.seekWord ? "Play from this word" : "Play from this line" : y ? "" : "Play from this line",
|
|
4115
|
+
onClick: o && !ge ? (ze) => {
|
|
4116
4116
|
var xe;
|
|
4117
4117
|
if (ze.stopPropagation(), c) {
|
|
4118
4118
|
o(B, de);
|
|
@@ -4124,7 +4124,7 @@ function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
|
|
|
4124
4124
|
}
|
|
4125
4125
|
n.playRow(X);
|
|
4126
4126
|
} : void 0,
|
|
4127
|
-
style: { color: Te, opacity: F ? 0.45 : 1, fontWeight: 300, cursor: o && !
|
|
4127
|
+
style: { color: Te, opacity: F ? 0.45 : 1, fontWeight: 300, cursor: o && !ge ? c || !y || !j || n.seekWord ? "pointer" : "default" : y ? "default" : "pointer", textShadow: U ? "0 0 2px currentColor, 0 0 4px currentColor" : "none", textDecorationLine: Me || ee ? "underline" : "none", textDecorationStyle: ee ? "solid" : "dotted", textDecorationColor: ee ? "var(--brand)" : be ?? "currentColor", textDecorationThickness: Me || ee ? "1.5px" : void 0, textUnderlineOffset: Me || ee ? "3px" : void 0 },
|
|
4128
4128
|
children: de.text
|
|
4129
4129
|
}
|
|
4130
4130
|
),
|
|
@@ -4133,7 +4133,7 @@ function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
|
|
|
4133
4133
|
}) })
|
|
4134
4134
|
] }, B.id);
|
|
4135
4135
|
}),
|
|
4136
|
-
N ? /* @__PURE__ */ i("div", { className: "txtail txtail--wave", title: "Still transcribing", children: /* @__PURE__ */
|
|
4136
|
+
N ? /* @__PURE__ */ i("div", { className: "txtail txtail--wave", title: "Still transcribing", children: /* @__PURE__ */ g("span", { className: "eq3", "aria-hidden": "true", children: [
|
|
4137
4137
|
/* @__PURE__ */ i("span", {}),
|
|
4138
4138
|
/* @__PURE__ */ i("span", {}),
|
|
4139
4139
|
/* @__PURE__ */ i("span", {})
|
|
@@ -4142,13 +4142,13 @@ function Zl({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
|
|
|
4142
4142
|
] });
|
|
4143
4143
|
}
|
|
4144
4144
|
function ql({ open: t, q: e, onQ: n, onClose: s, hits: r, desk: a, inline: o, flash: l }) {
|
|
4145
|
-
return /* @__PURE__ */ i("div", { className: o ? "searchbar searchbar--inline" : `searchbar searchbar--float${a ? " searchbar--desk" : ""}${t ? "" : " is-hidden"}`, children: /* @__PURE__ */
|
|
4145
|
+
return /* @__PURE__ */ i("div", { className: o ? "searchbar searchbar--inline" : `searchbar searchbar--float${a ? " searchbar--desk" : ""}${t ? "" : " is-hidden"}`, children: /* @__PURE__ */ g("div", { children: [
|
|
4146
4146
|
/* @__PURE__ */ i(oe, { d: J.search, size: 16, sw: 1.7, style: { color: "var(--ink-45)", flex: "none" } }),
|
|
4147
4147
|
/* @__PURE__ */ i("input", { value: e, onChange: (c) => n(c.target.value), onKeyDown: (c) => {
|
|
4148
4148
|
c.key === "Escape" && (c.stopPropagation(), e ? n("") : s());
|
|
4149
4149
|
}, placeholder: "Search this transcript" }),
|
|
4150
4150
|
o && l && /* @__PURE__ */ i("span", { className: "searchbar__flash", children: l }),
|
|
4151
|
-
e.trim() && /* @__PURE__ */
|
|
4151
|
+
e.trim() && /* @__PURE__ */ g("span", { className: "count", children: [
|
|
4152
4152
|
r,
|
|
4153
4153
|
" found"
|
|
4154
4154
|
] }),
|
|
@@ -4166,14 +4166,14 @@ function Kl(t, e, n, s, r) {
|
|
|
4166
4166
|
}, [e, d]), _(() => {
|
|
4167
4167
|
const u = t.current;
|
|
4168
4168
|
if (!u) return;
|
|
4169
|
-
let
|
|
4169
|
+
let h = u.scrollTop, M = 0, p = 0;
|
|
4170
4170
|
const N = () => {
|
|
4171
4171
|
p = Date.now() + 1500;
|
|
4172
4172
|
}, w = (m) => {
|
|
4173
4173
|
m.buttons && N();
|
|
4174
4174
|
}, k = () => {
|
|
4175
|
-
const m = u.scrollTop, f = m -
|
|
4176
|
-
if (
|
|
4175
|
+
const m = u.scrollTop, f = m - h;
|
|
4176
|
+
if (h = m, Date.now() > p) {
|
|
4177
4177
|
M = 0;
|
|
4178
4178
|
return;
|
|
4179
4179
|
}
|
|
@@ -4241,16 +4241,16 @@ function tc(t) {
|
|
|
4241
4241
|
for (let L = 236; a.length < r; L ^= 253) o(L, 8);
|
|
4242
4242
|
const l = [];
|
|
4243
4243
|
for (let L = 0; L < a.length; L += 8) l.push(a.slice(L, L + 8).reduce((z, E) => z << 1 | E, 0));
|
|
4244
|
-
const c = Xt.blocks[n], d = Xt.perBlock[n], u = Math.floor(bi(n) / 8),
|
|
4244
|
+
const c = Xt.blocks[n], d = Xt.perBlock[n], u = Math.floor(bi(n) / 8), h = c - u % c, M = Math.floor(u / c), p = [], N = Jl(d);
|
|
4245
4245
|
for (let L = 0, z = 0; L < c; L++) {
|
|
4246
|
-
const E = l.slice(z, z + M - d + (L <
|
|
4246
|
+
const E = l.slice(z, z + M - d + (L < h ? 0 : 1));
|
|
4247
4247
|
z += E.length;
|
|
4248
4248
|
const re = Xl(E, N);
|
|
4249
|
-
L <
|
|
4249
|
+
L < h && E.push(0), p.push(E.concat(re));
|
|
4250
4250
|
}
|
|
4251
4251
|
const w = [];
|
|
4252
4252
|
for (let L = 0; L < p[0].length; L++) p.forEach((z, E) => {
|
|
4253
|
-
(L !== M - d || E >=
|
|
4253
|
+
(L !== M - d || E >= h) && w.push(z[L]);
|
|
4254
4254
|
});
|
|
4255
4255
|
const k = Array.from({ length: s }, () => new Array(s).fill(!1)), m = Array.from({ length: s }, () => new Array(s).fill(!1)), f = (L, z, E) => {
|
|
4256
4256
|
k[z][L] = E, m[z][L] = !0;
|
|
@@ -4414,7 +4414,7 @@ function Ln({ pos: t, interactive: e, axis: n = "x" }) {
|
|
|
4414
4414
|
const d = a(c);
|
|
4415
4415
|
r(null), t.onSeek(d);
|
|
4416
4416
|
}, l = s != null ? s * 100 : t.pct;
|
|
4417
|
-
return /* @__PURE__ */
|
|
4417
|
+
return /* @__PURE__ */ g(_e, { children: [
|
|
4418
4418
|
/* @__PURE__ */ i("span", { className: `gfull__t${e ? " gfull__t--at" : ""}`, children: s != null ? t.labelAt(s) : t.atLabel }),
|
|
4419
4419
|
/* @__PURE__ */ i(
|
|
4420
4420
|
"div",
|
|
@@ -4434,7 +4434,7 @@ function Ln({ pos: t, interactive: e, axis: n = "x" }) {
|
|
|
4434
4434
|
} : void 0,
|
|
4435
4435
|
onPointerUp: e ? o : void 0,
|
|
4436
4436
|
onPointerCancel: e ? () => r(null) : void 0,
|
|
4437
|
-
children: /* @__PURE__ */
|
|
4437
|
+
children: /* @__PURE__ */ g("div", { className: `gfull__track${t.readyFrac != null ? " gfull__track--part" : ""}`, children: [
|
|
4438
4438
|
t.readyFrac != null && /* @__PURE__ */ i("div", { className: "gfull__ready", style: { width: `${Math.min(100, t.readyFrac * 100)}%` } }),
|
|
4439
4439
|
/* @__PURE__ */ i("div", { style: { width: `${l}%`, background: (s == null ? t.atEdge : t.edgeFrac != null && s >= t.edgeFrac) ? "#ec634d" : "#55abe5", transition: s != null ? "none" : void 0 } }),
|
|
4440
4440
|
/* @__PURE__ */ i("i", { style: { left: `${l}%`, transition: s != null ? "none" : void 0 } })
|
|
@@ -4453,8 +4453,8 @@ function Hc({ pos: t }) {
|
|
|
4453
4453
|
const c = s(l);
|
|
4454
4454
|
n(null), t.onSeek(c);
|
|
4455
4455
|
}, a = e != null ? e * 100 : t.pct, o = e != null ? "none" : void 0;
|
|
4456
|
-
return /* @__PURE__ */
|
|
4457
|
-
/* @__PURE__ */
|
|
4456
|
+
return /* @__PURE__ */ g("div", { className: "gaseek", children: [
|
|
4457
|
+
/* @__PURE__ */ g(
|
|
4458
4458
|
"div",
|
|
4459
4459
|
{
|
|
4460
4460
|
className: "gaseek__bar",
|
|
@@ -4479,14 +4479,14 @@ function Hc({ pos: t }) {
|
|
|
4479
4479
|
]
|
|
4480
4480
|
}
|
|
4481
4481
|
),
|
|
4482
|
-
/* @__PURE__ */
|
|
4482
|
+
/* @__PURE__ */ g("div", { className: "gaseek__labels", children: [
|
|
4483
4483
|
/* @__PURE__ */ i("span", { className: "gaseek__t", children: e != null ? t.labelAt(e) : t.atLabel }),
|
|
4484
4484
|
/* @__PURE__ */ i("span", { className: "gaseek__t gaseek__end", children: t.endLabel })
|
|
4485
4485
|
] })
|
|
4486
4486
|
] });
|
|
4487
4487
|
}
|
|
4488
4488
|
function kn({ t, mini: e }) {
|
|
4489
|
-
return /* @__PURE__ */
|
|
4489
|
+
return /* @__PURE__ */ g("div", { className: "gfull__transport", children: [
|
|
4490
4490
|
/* @__PURE__ */ i("button", { type: "button", className: "gfull__step", "aria-label": "Previous line", title: "Previous line", style: { opacity: t.prevOn ? 1 : 0.3 }, onClick: t.onPrev, children: /* @__PURE__ */ i(oe, { d: J.chevronLeft, size: e ? 13 : 16, sw: e ? 1.8 : 1.9 }) }),
|
|
4491
4491
|
/* @__PURE__ */ i(
|
|
4492
4492
|
"button",
|
|
@@ -4505,9 +4505,9 @@ function kn({ t, mini: e }) {
|
|
|
4505
4505
|
] });
|
|
4506
4506
|
}
|
|
4507
4507
|
function Ls({ live: t, mini: e, desk: n, pct: s, mark: r }) {
|
|
4508
|
-
return /* @__PURE__ */
|
|
4508
|
+
return /* @__PURE__ */ g("div", { className: `gfull__brand${r ? " gfull__brand--mark" : ""}`, children: [
|
|
4509
4509
|
/* @__PURE__ */ i("a", { href: ri, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: r ? /* @__PURE__ */ i(js, { dark: !0, size: 22 }) : /* @__PURE__ */ i(In, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
|
|
4510
|
-
t && /* @__PURE__ */
|
|
4510
|
+
t && /* @__PURE__ */ g("span", { className: "gfull__live", children: [
|
|
4511
4511
|
/* @__PURE__ */ i("i", {}),
|
|
4512
4512
|
"LIVE"
|
|
4513
4513
|
] }),
|
|
@@ -4518,12 +4518,12 @@ function Di({ v: t, size: e }) {
|
|
|
4518
4518
|
return /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Voices", title: t.title, disabled: !t.on, style: { opacity: t.on ? 1 : 0.45, cursor: t.on ? "pointer" : "default" }, onClick: t.on ? t.onClick : void 0, children: /* @__PURE__ */ i(oe, { d: J.headphones, size: e, sw: 1.6 }) });
|
|
4519
4519
|
}
|
|
4520
4520
|
function ac({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, copied: o }) {
|
|
4521
|
-
return /* @__PURE__ */
|
|
4521
|
+
return /* @__PURE__ */ g("div", { className: "gmini", "data-theme": "dark", children: [
|
|
4522
4522
|
/* @__PURE__ */ i("div", { className: "gmini__shade", "aria-hidden": "true" }),
|
|
4523
4523
|
/* @__PURE__ */ i("div", { className: "gmini__top", children: /* @__PURE__ */ i(Ls, { live: t.live, mini: !0 }) }),
|
|
4524
|
-
/* @__PURE__ */
|
|
4524
|
+
/* @__PURE__ */ g("div", { className: "gmini__foot", children: [
|
|
4525
4525
|
/* @__PURE__ */ i("div", { className: "gmini__row", children: /* @__PURE__ */ i(Ln, { pos: t, interactive: !0 }) }),
|
|
4526
|
-
/* @__PURE__ */
|
|
4526
|
+
/* @__PURE__ */ g("div", { className: "gmini__row gmini__row--ctl", children: [
|
|
4527
4527
|
/* @__PURE__ */ i(kn, { t: e, mini: !0 }),
|
|
4528
4528
|
/* @__PURE__ */ i("span", { style: { flex: 1 } }),
|
|
4529
4529
|
/* @__PURE__ */ i("div", { className: "gfull__chip", children: n }),
|
|
@@ -4538,7 +4538,7 @@ function ac({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, c
|
|
|
4538
4538
|
] });
|
|
4539
4539
|
}
|
|
4540
4540
|
const oc = { color: "rgba(255,255,255,.4)" };
|
|
4541
|
-
function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title: r, desk: a, pos: o, sub: l, wait: c, pct: d, mute: u, cc:
|
|
4541
|
+
function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title: r, desk: a, pos: o, sub: l, wait: c, pct: d, mute: u, cc: h, ad: M, chip: p, transport: N, picker: w, sheet: k, voices: m, voicesBtn: f, sheetOpen: O, onShare: D, onSettings: b, paused: W, copied: A, onTouch: te, onClose: j }) {
|
|
4542
4542
|
const [S, $] = I(() => !!os());
|
|
4543
4543
|
_(() => {
|
|
4544
4544
|
const K = () => $(!!os());
|
|
@@ -4595,14 +4595,14 @@ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
|
|
|
4595
4595
|
window.removeEventListener("keydown", ie, !0), window.removeEventListener("keyup", de, !0);
|
|
4596
4596
|
};
|
|
4597
4597
|
}, []);
|
|
4598
|
-
const ae = ic("(orientation: landscape) and (max-height: 540px)"), we = v(null), [
|
|
4598
|
+
const ae = ic("(orientation: landscape) and (max-height: 540px)"), we = v(null), [ve, Qe] = I(null);
|
|
4599
4599
|
Qt(() => {
|
|
4600
4600
|
const K = we.current;
|
|
4601
4601
|
if (!K || (Qe(K.getBoundingClientRect().width), typeof ResizeObserver > "u")) return;
|
|
4602
4602
|
const ie = new ResizeObserver(([de]) => Qe(de.contentRect.width));
|
|
4603
4603
|
return ie.observe(K), () => ie.disconnect();
|
|
4604
4604
|
}, []);
|
|
4605
|
-
const ye = t && !S, Le = !ye && a && !ae && (
|
|
4605
|
+
const ye = t && !S, Le = !ye && a && !ae && (ve == null || ve >= 880), Se = !Le;
|
|
4606
4606
|
_(() => {
|
|
4607
4607
|
if (re(!1), !N.playing || O) return;
|
|
4608
4608
|
const K = setTimeout(() => re(!0), 3e3);
|
|
@@ -4628,44 +4628,44 @@ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
|
|
|
4628
4628
|
}, [y, B]);
|
|
4629
4629
|
const [R, fe] = I(!0), [H, me] = I(!1), q = v(void 0);
|
|
4630
4630
|
_(() => () => window.clearTimeout(q.current), []);
|
|
4631
|
-
const
|
|
4631
|
+
const ke = W != null && W.share ? W.share.url(R && W.share.at >= 1 ? Math.floor(W.share.at) : null) : "", Ce = Ie(() => Le && ke && !N.playing ? nc(ke) : "", [Le, ke, N.playing]), He = () => {
|
|
4632
4632
|
var K;
|
|
4633
|
-
(K = navigator.clipboard) == null || K.writeText(
|
|
4633
|
+
(K = navigator.clipboard) == null || K.writeText(ke).then(() => {
|
|
4634
4634
|
me(!0), window.clearTimeout(q.current), q.current = window.setTimeout(() => me(!1), 1800);
|
|
4635
4635
|
}, () => {
|
|
4636
4636
|
});
|
|
4637
|
-
}, Ae = Le && (W == null ? void 0 : W.share) && /* @__PURE__ */
|
|
4637
|
+
}, Ae = Le && (W == null ? void 0 : W.share) && /* @__PURE__ */ g("div", { className: "gfull__sharecard", onPointerDown: (K) => K.stopPropagation(), onClick: (K) => K.stopPropagation(), children: [
|
|
4638
4638
|
Ce && /* @__PURE__ */ i("div", { className: "gfull__shareqr", role: "img", "aria-label": "QR code for this link", style: { backgroundImage: `url("${Ce}")` } }),
|
|
4639
|
-
/* @__PURE__ */
|
|
4639
|
+
/* @__PURE__ */ g("div", { className: "gfull__sharebody", children: [
|
|
4640
4640
|
/* @__PURE__ */ i("div", { className: "gfull__shareeyebrow", children: "SHARE THIS MOMENT" }),
|
|
4641
|
-
/* @__PURE__ */
|
|
4641
|
+
/* @__PURE__ */ g("label", { className: "gfull__shareat", children: [
|
|
4642
4642
|
/* @__PURE__ */ i("input", { type: "checkbox", checked: R, onChange: (K) => fe(K.target.checked), disabled: W.share.at < 1 }),
|
|
4643
4643
|
"Start at ",
|
|
4644
4644
|
Lt(Math.floor(W.share.at))
|
|
4645
4645
|
] }),
|
|
4646
|
-
/* @__PURE__ */ i("div", { className: "gfull__shareurl", children: /* @__PURE__ */ i("span", { children:
|
|
4647
|
-
/* @__PURE__ */
|
|
4648
|
-
/* @__PURE__ */
|
|
4646
|
+
/* @__PURE__ */ i("div", { className: "gfull__shareurl", children: /* @__PURE__ */ i("span", { children: ke.replace(/^https?:\/\//, "") }) }),
|
|
4647
|
+
/* @__PURE__ */ g("div", { className: "gfull__shareacts", children: [
|
|
4648
|
+
/* @__PURE__ */ g("button", { type: "button", className: "gfull__sharebtn gfull__sharebtn--main", onClick: He, children: [
|
|
4649
4649
|
/* @__PURE__ */ i(oe, { d: H ? J.check : J.copy, size: 14, sw: 1.8 }),
|
|
4650
4650
|
H ? "Copied" : "Copy link"
|
|
4651
4651
|
] }),
|
|
4652
|
-
/* @__PURE__ */
|
|
4652
|
+
/* @__PURE__ */ g("button", { type: "button", className: "gfull__sharebtn", onClick: () => Ss(ke, r), children: [
|
|
4653
4653
|
/* @__PURE__ */ i(oe, { d: J.share, size: 14, sw: 1.6 }),
|
|
4654
4654
|
"Share"
|
|
4655
4655
|
] })
|
|
4656
4656
|
] })
|
|
4657
4657
|
] })
|
|
4658
|
-
] }), Ue = (K, ie, de, ce, Ne, je = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: K, "aria-label": K, onClick: ce, children: /* @__PURE__ */ i(oe, { d: ie, size: (Le ? 20 : Se ? 15 : 18) + je, sw: de, style: Ne }) }),
|
|
4658
|
+
] }), Ue = (K, ie, de, ce, Ne, je = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: K, "aria-label": K, onClick: ce, children: /* @__PURE__ */ i(oe, { d: ie, size: (Le ? 20 : Se ? 15 : 18) + je, sw: de, style: Ne }) }), ge = /* @__PURE__ */ g("div", { className: "gfull__acts", children: [
|
|
4659
4659
|
f && /* @__PURE__ */ i(Di, { v: f, size: Le ? 20 : Se ? 15 : 18 }),
|
|
4660
4660
|
D && Ue("Share", J.share, 1.6, D),
|
|
4661
4661
|
Xr() && !e && Ue(S ? "Exit full screen" : "Full screen", S ? sc : xi, 1.7, () => wn(!S)),
|
|
4662
4662
|
j && Ue("Close player", J.close, 1.7, j)
|
|
4663
|
-
] }), Re = (u ||
|
|
4663
|
+
] }), Re = (u || h || b) && /* @__PURE__ */ g("div", { className: "gfull__top", children: [
|
|
4664
4664
|
u && Ue(u.muted ? "Unmute" : "Mute", u.muted ? J.volumeOff : J.volume, 1.6, u.onToggle),
|
|
4665
|
-
|
|
4665
|
+
h && Ue(h.on ? "Hide subtitles" : "Show subtitles", h.on ? J.cc : J.ccOff, 1.7, h.onToggle, void 0, 4),
|
|
4666
4666
|
b && Ue("Settings", J.cog, 1.6, b)
|
|
4667
4667
|
] });
|
|
4668
|
-
return /* @__PURE__ */
|
|
4668
|
+
return /* @__PURE__ */ g(
|
|
4669
4669
|
"div",
|
|
4670
4670
|
{
|
|
4671
4671
|
ref: we,
|
|
@@ -4682,16 +4682,16 @@ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
|
|
|
4682
4682
|
ue.current && (ue.current = !1, K.stopPropagation(), K.preventDefault());
|
|
4683
4683
|
},
|
|
4684
4684
|
children: [
|
|
4685
|
-
P && Z && /* @__PURE__ */
|
|
4685
|
+
P && Z && /* @__PURE__ */ g("div", { className: "gfull__swipe", "aria-live": "polite", children: [
|
|
4686
4686
|
/* @__PURE__ */ i(oe, { d: "m4.5 15.75 7.5-7.5 7.5 7.5", size: 14, sw: 2 }),
|
|
4687
4687
|
"Swipe up for full screen"
|
|
4688
4688
|
] }),
|
|
4689
|
-
/* @__PURE__ */
|
|
4689
|
+
/* @__PURE__ */ g("div", { className: `gfull__frame${B ? " gfull__frame--land" : ""}`, children: [
|
|
4690
4690
|
s,
|
|
4691
4691
|
/* @__PURE__ */ i("div", { className: "gfull__shade", "aria-hidden": "true" }),
|
|
4692
|
-
W && !M && /* @__PURE__ */
|
|
4693
|
-
/* @__PURE__ */
|
|
4694
|
-
/* @__PURE__ */
|
|
4692
|
+
W && !M && /* @__PURE__ */ g("div", { className: `gfull__pausedinfo${N.playing ? "" : " gfull__pausedinfo--on"}`, "aria-hidden": N.playing, children: [
|
|
4693
|
+
/* @__PURE__ */ g("div", { className: "gfull__pausedtext", children: [
|
|
4694
|
+
/* @__PURE__ */ g("div", { className: "gfull__pausedhead", children: [
|
|
4695
4695
|
(Se || ye) && /* @__PURE__ */ i("span", { className: "gfull__pausedmark", "aria-hidden": "true", children: /* @__PURE__ */ i(js, { dark: !0, size: 20 }) }),
|
|
4696
4696
|
/* @__PURE__ */ i("div", { className: "gfull__pausedtitle", children: W.title })
|
|
4697
4697
|
] }),
|
|
@@ -4701,13 +4701,13 @@ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
|
|
|
4701
4701
|
] }),
|
|
4702
4702
|
Re,
|
|
4703
4703
|
A,
|
|
4704
|
-
c ? typeof c == "string" ? /* @__PURE__ */ i("div", { className: "gfull__sub", "aria-live": "polite", children: /* @__PURE__ */
|
|
4704
|
+
c ? typeof c == "string" ? /* @__PURE__ */ i("div", { className: "gfull__sub", "aria-live": "polite", children: /* @__PURE__ */ g("div", { className: "gfull__wait", children: [
|
|
4705
4705
|
/* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }),
|
|
4706
4706
|
c
|
|
4707
|
-
] }) }) : /* @__PURE__ */ i("div", { className: "gfull__sub", children: c }) : l && /* @__PURE__ */ i("div", { className: "gfull__sub", children: /* @__PURE__ */
|
|
4708
|
-
/* @__PURE__ */ i("div", { className: "gfull__subback", "aria-hidden": "true", children: /* @__PURE__ */
|
|
4709
|
-
l.who && /* @__PURE__ */
|
|
4710
|
-
/* @__PURE__ */
|
|
4707
|
+
] }) }) : /* @__PURE__ */ i("div", { className: "gfull__sub", children: c }) : l && /* @__PURE__ */ i("div", { className: "gfull__sub", children: /* @__PURE__ */ g("div", { ref: X, children: [
|
|
4708
|
+
/* @__PURE__ */ i("div", { className: "gfull__subback", "aria-hidden": "true", children: /* @__PURE__ */ g("span", { children: [
|
|
4709
|
+
l.who && /* @__PURE__ */ g(_e, { children: [
|
|
4710
|
+
/* @__PURE__ */ g("b", { children: [
|
|
4711
4711
|
l.who,
|
|
4712
4712
|
":"
|
|
4713
4713
|
] }),
|
|
@@ -4715,41 +4715,41 @@ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
|
|
|
4715
4715
|
] }),
|
|
4716
4716
|
l.words.map((K) => K.t + K.sp).join("")
|
|
4717
4717
|
] }) }),
|
|
4718
|
-
/* @__PURE__ */
|
|
4719
|
-
l.who && /* @__PURE__ */
|
|
4720
|
-
/* @__PURE__ */
|
|
4718
|
+
/* @__PURE__ */ g("span", { children: [
|
|
4719
|
+
l.who && /* @__PURE__ */ g(_e, { children: [
|
|
4720
|
+
/* @__PURE__ */ g("b", { style: { color: l.color }, children: [
|
|
4721
4721
|
l.who,
|
|
4722
4722
|
":"
|
|
4723
4723
|
] }),
|
|
4724
4724
|
" "
|
|
4725
4725
|
] }),
|
|
4726
|
-
l.words.map((K, ie) => /* @__PURE__ */
|
|
4726
|
+
l.words.map((K, ie) => /* @__PURE__ */ g("span", { "data-said": K.dim ? void 0 : "", "data-at": l.cursor != null && ie <= l.cursor ? "" : void 0, style: K.dim ? oc : void 0, children: [
|
|
4727
4727
|
K.t,
|
|
4728
4728
|
K.sp
|
|
4729
4729
|
] }, ie))
|
|
4730
4730
|
] })
|
|
4731
4731
|
] }) }),
|
|
4732
|
-
/* @__PURE__ */ i("div", { className: `gfull__prog${Le ? "" : " gfull__prog--two"}`, children: Le ? /* @__PURE__ */
|
|
4732
|
+
/* @__PURE__ */ i("div", { className: `gfull__prog${Le ? "" : " gfull__prog--two"}`, children: Le ? /* @__PURE__ */ g(_e, { children: [
|
|
4733
4733
|
/* @__PURE__ */ i(Ls, { live: o.live, desk: !0, pct: d }),
|
|
4734
4734
|
/* @__PURE__ */ i(kn, { t: N }),
|
|
4735
4735
|
/* @__PURE__ */ i(Ln, { pos: o, interactive: !0 }),
|
|
4736
4736
|
/* @__PURE__ */ i("div", { className: "gfull__chip", children: p }),
|
|
4737
|
-
|
|
4738
|
-
] }) : Se ? /* @__PURE__ */
|
|
4737
|
+
ge
|
|
4738
|
+
] }) : Se ? /* @__PURE__ */ g("div", { className: "gfull__row", children: [
|
|
4739
4739
|
/* @__PURE__ */ i(kn, { t: N, mini: !0 }),
|
|
4740
4740
|
/* @__PURE__ */ i(Ln, { pos: o, interactive: !0 }),
|
|
4741
4741
|
/* @__PURE__ */ i("div", { className: "gfull__chip", children: p }),
|
|
4742
|
-
|
|
4743
|
-
] }) : /* @__PURE__ */
|
|
4744
|
-
/* @__PURE__ */
|
|
4742
|
+
ge
|
|
4743
|
+
] }) : /* @__PURE__ */ g(_e, { children: [
|
|
4744
|
+
/* @__PURE__ */ g("div", { className: "gfull__row", children: [
|
|
4745
4745
|
/* @__PURE__ */ i(Ls, { live: o.live, pct: d, mark: !0 }),
|
|
4746
4746
|
/* @__PURE__ */ i(Ln, { pos: o, interactive: !0 })
|
|
4747
4747
|
] }),
|
|
4748
|
-
/* @__PURE__ */
|
|
4748
|
+
/* @__PURE__ */ g("div", { className: "gfull__row", children: [
|
|
4749
4749
|
/* @__PURE__ */ i(kn, { t: N }),
|
|
4750
4750
|
/* @__PURE__ */ i("span", { style: { flex: 1 } }),
|
|
4751
4751
|
/* @__PURE__ */ i("div", { className: "gfull__chip", children: p }),
|
|
4752
|
-
|
|
4752
|
+
ge
|
|
4753
4753
|
] })
|
|
4754
4754
|
] }) }),
|
|
4755
4755
|
w,
|
|
@@ -4761,17 +4761,17 @@ function Si({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
|
|
|
4761
4761
|
);
|
|
4762
4762
|
}
|
|
4763
4763
|
function lc({ dark: t, back: e, home: n, live: s, title: r, badge: a, subline: o, onOptions: l, optionsActive: c }) {
|
|
4764
|
-
return /* @__PURE__ */
|
|
4764
|
+
return /* @__PURE__ */ g("div", { className: "ghead", children: [
|
|
4765
4765
|
e && /* @__PURE__ */ i("button", { type: "button", className: "ghead__back", "aria-label": "Back", title: "Back", onClick: e, children: /* @__PURE__ */ i(oe, { d: J.chevronLeft, size: 19, sw: 1.7 }) }),
|
|
4766
4766
|
s && /* @__PURE__ */ i("span", { className: "mark", children: /* @__PURE__ */ i(js, { dark: t, size: 30 }) }),
|
|
4767
|
-
/* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0, display: "flex" }, children: n ? /* @__PURE__ */ i("div", { className: "ghead__logo", children: /* @__PURE__ */ i(In, { dark: t, height: 22 }) }) : /* @__PURE__ */
|
|
4768
|
-
/* @__PURE__ */
|
|
4767
|
+
/* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0, display: "flex" }, children: n ? /* @__PURE__ */ i("div", { className: "ghead__logo", children: /* @__PURE__ */ i(In, { dark: t, height: 22 }) }) : /* @__PURE__ */ g("div", { className: "ghead__title", onClick: e, title: e ? "Back" : void 0, style: { cursor: e ? "pointer" : "default" }, children: [
|
|
4768
|
+
/* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
|
|
4769
4769
|
/* @__PURE__ */ i("span", { className: "ghead__name", children: r }),
|
|
4770
4770
|
a
|
|
4771
4771
|
] }),
|
|
4772
4772
|
o && /* @__PURE__ */ i("div", { className: "ghead__sub", children: o })
|
|
4773
4773
|
] }) }),
|
|
4774
|
-
/* @__PURE__ */ i(va, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */
|
|
4774
|
+
/* @__PURE__ */ i(va, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */ g("svg", { viewBox: "0 0 24 24", width: "19", height: "19", fill: "currentColor", "aria-hidden": "true", children: [
|
|
4775
4775
|
/* @__PURE__ */ i("circle", { cx: "12", cy: "5.5", r: "1.85" }),
|
|
4776
4776
|
/* @__PURE__ */ i("circle", { cx: "12", cy: "12", r: "1.85" }),
|
|
4777
4777
|
/* @__PURE__ */ i("circle", { cx: "12", cy: "18.5", r: "1.85" })
|
|
@@ -4797,8 +4797,8 @@ function Mc(t, e) {
|
|
|
4797
4797
|
return () => clearTimeout(l);
|
|
4798
4798
|
}, [t, e]), [r, n];
|
|
4799
4799
|
}
|
|
4800
|
-
const
|
|
4801
|
-
function
|
|
4800
|
+
const hc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
4801
|
+
function gc({ state: t, line: e, onRetry: n, onOriginal: s }) {
|
|
4802
4802
|
const [r, a] = I(() => Date.now());
|
|
4803
4803
|
_(() => {
|
|
4804
4804
|
if (t.since == null) return;
|
|
@@ -4818,7 +4818,7 @@ function hc({ state: t, line: e, onRetry: n, onOriginal: s }) {
|
|
|
4818
4818
|
translateFailed: "Something went wrong on our side. Try again, or watch with the original sound.",
|
|
4819
4819
|
voiceFailed: "It took too long to start. Try again, or watch with the original sound."
|
|
4820
4820
|
}[t.kind];
|
|
4821
|
-
return /* @__PURE__ */
|
|
4821
|
+
return /* @__PURE__ */ g(
|
|
4822
4822
|
"div",
|
|
4823
4823
|
{
|
|
4824
4824
|
className: `pwait${l ? " pwait--failed" : ""}`,
|
|
@@ -4828,14 +4828,14 @@ function hc({ state: t, line: e, onRetry: n, onOriginal: s }) {
|
|
|
4828
4828
|
onClick: (u) => u.stopPropagation(),
|
|
4829
4829
|
onPointerDown: (u) => u.stopPropagation(),
|
|
4830
4830
|
children: [
|
|
4831
|
-
/* @__PURE__ */
|
|
4831
|
+
/* @__PURE__ */ g("div", { className: "pwait__head", children: [
|
|
4832
4832
|
l ? /* @__PURE__ */ i("div", { className: "pwait__mark", "aria-hidden": "true", children: /* @__PURE__ */ i(oe, { d: J.warnCircle, size: 18, sw: 1.8 }) }) : /* @__PURE__ */ i("div", { className: "pwait__spin", "aria-hidden": "true" }),
|
|
4833
4833
|
/* @__PURE__ */ i("div", { className: "pwait__t", children: c }),
|
|
4834
|
-
!l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children:
|
|
4834
|
+
!l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: hc(o) })
|
|
4835
4835
|
] }),
|
|
4836
4836
|
/* @__PURE__ */ i("div", { className: "pwait__note", children: d }),
|
|
4837
4837
|
!l && /* @__PURE__ */ i("div", { className: "pwait__bar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", {}) }),
|
|
4838
|
-
l && /* @__PURE__ */
|
|
4838
|
+
l && /* @__PURE__ */ g("div", { className: "pwait__acts", children: [
|
|
4839
4839
|
/* @__PURE__ */ i("button", { type: "button", className: "vs-btn vs-btn--primary vs-btn--sm", onClick: n, children: "Try again" }),
|
|
4840
4840
|
/* @__PURE__ */ i("button", { type: "button", className: "vs-btn vs-btn--ghost vs-btn--sm", onClick: s, children: "Watch in the original" })
|
|
4841
4841
|
] }),
|
|
@@ -4853,7 +4853,7 @@ function Ai(t, e, n) {
|
|
|
4853
4853
|
const s = new URL(t ?? Es), r = Nc(), a = new URL(fc, s);
|
|
4854
4854
|
e.url && a.searchParams.set("url", e.url), e.transcription && a.searchParams.set("transcription", e.transcription), e.ask && a.searchParams.set("ask", "1"), e.connect && a.searchParams.set("connect", "1"), a.searchParams.set("origin", window.location.origin), a.searchParams.set("nonce", r);
|
|
4855
4855
|
const o = 480, l = 640, c = Math.max(0, (window.screenX ?? 0) + ((window.outerWidth ?? o) - o) / 2), d = Math.max(0, (window.screenY ?? 0) + ((window.outerHeight ?? l) - l) / 2), u = window.open(a.toString(), "vocalstack-connect", `popup=yes,width=${o},height=${l},left=${Math.round(c)},top=${Math.round(d)}`);
|
|
4856
|
-
return u ? new Promise((
|
|
4856
|
+
return u ? new Promise((h, M) => {
|
|
4857
4857
|
let p = !1;
|
|
4858
4858
|
const N = (m) => {
|
|
4859
4859
|
p || (p = !0, window.removeEventListener("message", w), clearInterval(k), m());
|
|
@@ -4870,15 +4870,15 @@ function Ai(t, e, n) {
|
|
|
4870
4870
|
return;
|
|
4871
4871
|
}
|
|
4872
4872
|
if (f.type === "vocalstack:started" || f.type === "vocalstack:token" || f.type === "vocalstack:found") {
|
|
4873
|
-
N(() =>
|
|
4873
|
+
N(() => h({ transcriptionId: String(f.transcriptionId), recordingId: String(f.recordingId), token: String(f.token), expiresAt: f.expiresAt ?? null }));
|
|
4874
4874
|
return;
|
|
4875
4875
|
}
|
|
4876
4876
|
if (f.type === "vocalstack:connected") {
|
|
4877
|
-
N(() =>
|
|
4877
|
+
N(() => h("connected"));
|
|
4878
4878
|
return;
|
|
4879
4879
|
}
|
|
4880
4880
|
if (f.type === "vocalstack:declined") {
|
|
4881
|
-
N(() =>
|
|
4881
|
+
N(() => h(null));
|
|
4882
4882
|
return;
|
|
4883
4883
|
}
|
|
4884
4884
|
f.type === "vocalstack:error" && N(() => M(new Error(typeof f.message == "string" && f.message ? f.message : "VocalStack could not start this transcription.")));
|
|
@@ -4886,7 +4886,7 @@ function Ai(t, e, n) {
|
|
|
4886
4886
|
};
|
|
4887
4887
|
window.addEventListener("message", w);
|
|
4888
4888
|
const k = setInterval(() => {
|
|
4889
|
-
u.closed && N(() =>
|
|
4889
|
+
u.closed && N(() => h(null));
|
|
4890
4890
|
}, 500);
|
|
4891
4891
|
}) : Promise.reject(new Error("Your browser blocked the VocalStack window. Allow pop-ups for this site and try again."));
|
|
4892
4892
|
}
|
|
@@ -4917,7 +4917,7 @@ const Tc = {
|
|
|
4917
4917
|
starting: "Starting the transcription…"
|
|
4918
4918
|
}, wc = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
|
|
4919
4919
|
function Lc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
|
|
4920
|
-
const [r, a] = I(""), [o, l] = I(!1), [c, d] = I(null), [u,
|
|
4920
|
+
const [r, a] = I(""), [o, l] = I(!1), [c, d] = I(null), [u, h] = I(null);
|
|
4921
4921
|
_(() => {
|
|
4922
4922
|
const w = (k) => {
|
|
4923
4923
|
k.key === "Escape" && s();
|
|
@@ -4928,23 +4928,23 @@ function Lc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
|
|
|
4928
4928
|
if (!(!p || o)) {
|
|
4929
4929
|
l(!0), d(null);
|
|
4930
4930
|
try {
|
|
4931
|
-
const w = await pc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`,
|
|
4931
|
+
const w = await pc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, h);
|
|
4932
4932
|
w && e(w);
|
|
4933
4933
|
} catch (w) {
|
|
4934
4934
|
d(w instanceof Error ? w.message : "Something went wrong. Please try again.");
|
|
4935
4935
|
} finally {
|
|
4936
|
-
l(!1),
|
|
4936
|
+
l(!1), h(null);
|
|
4937
4937
|
}
|
|
4938
4938
|
}
|
|
4939
4939
|
};
|
|
4940
4940
|
return /* @__PURE__ */ i("div", { className: "vsp-end", role: "dialog", "aria-label": "Transcribe another video", onPointerDown: (w) => w.stopPropagation(), onClick: (w) => {
|
|
4941
4941
|
w.stopPropagation(), w.target === w.currentTarget && s();
|
|
4942
|
-
}, children: /* @__PURE__ */
|
|
4942
|
+
}, children: /* @__PURE__ */ g("div", { className: "vsp-end__card", children: [
|
|
4943
4943
|
/* @__PURE__ */ i("button", { type: "button", className: "vsp-end__close", "aria-label": "Close", title: "Close", onClick: s, children: /* @__PURE__ */ i(oe, { d: J.close, size: 16, sw: 1.8 }) }),
|
|
4944
4944
|
/* @__PURE__ */ i("div", { className: "vsp-end__brand", children: /* @__PURE__ */ i(In, { dark: !0, link: !1, height: 16 }) }),
|
|
4945
4945
|
/* @__PURE__ */ i("div", { className: "vsp-end__title", children: t.title ?? "Transcribe and translate any video" }),
|
|
4946
4946
|
/* @__PURE__ */ i("div", { className: "vsp-end__note", children: t.note ?? "Paste a link from YouTube, Vimeo or any page with a video. It plays right here with subtitles and spoken translations." }),
|
|
4947
|
-
/* @__PURE__ */
|
|
4947
|
+
/* @__PURE__ */ g("form", { className: "vsp-end__row", onSubmit: (w) => {
|
|
4948
4948
|
w.preventDefault(), N();
|
|
4949
4949
|
}, children: [
|
|
4950
4950
|
/* @__PURE__ */ i("input", { className: "vsp-end__input", type: "url", inputMode: "url", autoComplete: "off", spellCheck: !1, placeholder: "https://youtube.com/watch?v=…", value: r, onChange: (w) => {
|
|
@@ -4954,9 +4954,9 @@ function Lc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
|
|
|
4954
4954
|
] }),
|
|
4955
4955
|
o && /* @__PURE__ */ i("div", { className: "vsp-end__note", role: "status", children: Tc[u ?? "checking"] }),
|
|
4956
4956
|
c && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: c }),
|
|
4957
|
-
/* @__PURE__ */
|
|
4957
|
+
/* @__PURE__ */ g("div", { className: "vsp-end__foot", children: [
|
|
4958
4958
|
/* @__PURE__ */ i("span", { children: "Uses your VocalStack account. You'll be asked to sign in if you're not." }),
|
|
4959
|
-
/* @__PURE__ */
|
|
4959
|
+
/* @__PURE__ */ g("button", { type: "button", className: "vsp-end__replay", onClick: n, children: [
|
|
4960
4960
|
/* @__PURE__ */ i(oe, { d: J.uturn, size: 14, sw: 1.8 }),
|
|
4961
4961
|
"Replay"
|
|
4962
4962
|
] })
|
|
@@ -4973,38 +4973,38 @@ function Yi(t) {
|
|
|
4973
4973
|
}
|
|
4974
4974
|
const kc = { lang: null, subtitles: !0, speakerLabels: !1, wordHighlight: !0, translateAudio: !0, voices: "cloned", removeBackground: !1, muted: !1 };
|
|
4975
4975
|
function vc(t, e) {
|
|
4976
|
-
const n = wi(), [s, r] =
|
|
4976
|
+
const n = wi(), [s, r] = hi(), [a, o] = I(null), [l, c] = I("main"), d = ys(n, t.lang), u = Ie(() => gi(n, "translation"), [n]), h = (A) => {
|
|
4977
4977
|
e({ lang: A }), r(A);
|
|
4978
|
-
}, M = Is({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect:
|
|
4978
|
+
}, M = Is({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect: h, languages: u, none: "As spoken", pinned: t.lang ? [t.lang] : [], recent: s, keepOpen: !0 }), p = () => {
|
|
4979
4979
|
o(null), c("main");
|
|
4980
4980
|
}, N = t.lang ? /* @__PURE__ */ i("span", { style: { fontSize: 19, lineHeight: 1 }, children: d.flag }) : /* @__PURE__ */ i(oe, { d: J.langAuto, size: 19, sw: 1.7 }), w = /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": `Language: ${t.lang ? d.label : "As spoken"}`, title: t.lang ? d.label : "As spoken", onClick: (A) => {
|
|
4981
4981
|
A.stopPropagation(), c("main"), o((te) => te === "lang" ? null : "lang");
|
|
4982
|
-
}, children: N }), k = /* @__PURE__ */ i(oe, { d: J.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), m = /* @__PURE__ */
|
|
4982
|
+
}, children: N }), k = /* @__PURE__ */ i(oe, { d: J.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), m = /* @__PURE__ */ g("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
|
|
4983
4983
|
" ",
|
|
4984
|
-
/* @__PURE__ */
|
|
4984
|
+
/* @__PURE__ */ g("button", { type: "button", onClick: () => c("main"), "aria-label": "Back", className: "vsp-idlesheet__back", children: [
|
|
4985
4985
|
/* @__PURE__ */ i(oe, { d: J.chevronLeft, size: 18, sw: 1.8 }),
|
|
4986
4986
|
"Back"
|
|
4987
4987
|
] })
|
|
4988
|
-
] }), f = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, O = (A, te, j) => /* @__PURE__ */
|
|
4989
|
-
/* @__PURE__ */
|
|
4988
|
+
] }), f = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, O = (A, te, j) => /* @__PURE__ */ g("div", { className: "srow", children: [
|
|
4989
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
4990
4990
|
/* @__PURE__ */ i("div", { className: "srow__t", children: A }),
|
|
4991
4991
|
/* @__PURE__ */ i("div", { className: "srow__s", children: te })
|
|
4992
4992
|
] }),
|
|
4993
4993
|
j
|
|
4994
|
-
] }), D = /* @__PURE__ */
|
|
4994
|
+
] }), D = /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
4995
4995
|
/* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: M.search }),
|
|
4996
4996
|
M.list
|
|
4997
|
-
] }), b = l === "lang" ? D : l === "subs" ? /* @__PURE__ */
|
|
4997
|
+
] }), b = l === "lang" ? D : l === "subs" ? /* @__PURE__ */ g("div", { style: f, children: [
|
|
4998
4998
|
O("Show subtitles", "Captions over the video", /* @__PURE__ */ i(pt, { checked: t.subtitles, onChange: (A) => e({ subtitles: A }), label: "Show subtitles" })),
|
|
4999
4999
|
O("Show speaker labels", "Who is speaking, before each line", /* @__PURE__ */ i(pt, { checked: t.speakerLabels, onChange: (A) => e({ speakerLabels: A }), label: "Show speaker labels" })),
|
|
5000
5000
|
O("Highlight words", "Follow each word as it is spoken", /* @__PURE__ */ i(pt, { checked: t.wordHighlight, onChange: (A) => e({ wordHighlight: A }), label: "Highlight words" }))
|
|
5001
|
-
] }) : l === "audio" ? /* @__PURE__ */
|
|
5001
|
+
] }) : l === "audio" ? /* @__PURE__ */ g("div", { style: f, children: [
|
|
5002
5002
|
O("Translate audio", t.lang ? "Hear the translation read aloud instead of the original speech" : "Pick a language to hear the translation read aloud", /* @__PURE__ */ i(pt, { checked: t.translateAudio && !!t.lang, onChange: (A) => e({ translateAudio: A }), label: "Translate audio", disabled: !t.lang })),
|
|
5003
5003
|
O("Voices", t.voices === "cloned" ? "Each speaker in their own cloned voice, where they agreed to it" : "Synthetic voices matched to each speaker", /* @__PURE__ */ i(cs, { value: t.voices, onChange: (A) => e({ voices: A }), size: "sm", options: [{ value: "synthetic", label: "Synthetic" }, { value: "cloned", label: "Cloned" }] })),
|
|
5004
5004
|
O(jn, "Takes out everything that isn't speech: music, ambience and noise.", /* @__PURE__ */ i(pt, { checked: t.removeBackground, onChange: (A) => e({ removeBackground: A }), label: jn }))
|
|
5005
|
-
] }) : /* @__PURE__ */
|
|
5006
|
-
/* @__PURE__ */
|
|
5007
|
-
/* @__PURE__ */
|
|
5005
|
+
] }) : /* @__PURE__ */ g("div", { style: f, children: [
|
|
5006
|
+
/* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => c("lang"), children: [
|
|
5007
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5008
5008
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Language" }),
|
|
5009
5009
|
/* @__PURE__ */ i("div", { className: "srow__s", children: t.lang ? `Translated to ${d.label}` : "Original language" })
|
|
5010
5010
|
] }),
|
|
@@ -5012,22 +5012,22 @@ function vc(t, e) {
|
|
|
5012
5012
|
k
|
|
5013
5013
|
] }),
|
|
5014
5014
|
/* @__PURE__ */ i("div", { className: "sdiv" }),
|
|
5015
|
-
/* @__PURE__ */
|
|
5016
|
-
/* @__PURE__ */
|
|
5015
|
+
/* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => c("subs"), children: [
|
|
5016
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5017
5017
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Subtitles" }),
|
|
5018
5018
|
/* @__PURE__ */ i("div", { className: "srow__s", children: t.subtitles ? "On · speaker labels and word highlighting" : "Off" })
|
|
5019
5019
|
] }),
|
|
5020
5020
|
k
|
|
5021
5021
|
] }),
|
|
5022
5022
|
/* @__PURE__ */ i("div", { className: "sdiv" }),
|
|
5023
|
-
/* @__PURE__ */
|
|
5024
|
-
/* @__PURE__ */
|
|
5023
|
+
/* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => c("audio"), children: [
|
|
5024
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5025
5025
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
|
|
5026
5026
|
/* @__PURE__ */ i("div", { className: "srow__s", children: t.lang && t.translateAudio ? `Translated, ${t.voices === "cloned" ? "cloned voices" : "synthetic voices"}` : t.removeBackground ? "Original speech, background removed" : "Original sound" })
|
|
5027
5027
|
] }),
|
|
5028
5028
|
k
|
|
5029
5029
|
] })
|
|
5030
|
-
] }), W = /* @__PURE__ */
|
|
5030
|
+
] }), W = /* @__PURE__ */ g(_e, { children: [
|
|
5031
5031
|
/* @__PURE__ */ i($t, { open: a === "lang", onClose: p, title: "LANGUAGE", kind: "picker", sticky: !0, children: /* @__PURE__ */ i(us, { children: D }) }),
|
|
5032
5032
|
/* @__PURE__ */ i($t, { open: a === "settings", onClose: p, title: { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO" }[l], titleNode: l === "main" ? void 0 : m, kind: l === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(us, { children: b }) })
|
|
5033
5033
|
] });
|
|
@@ -5070,8 +5070,8 @@ function zc(t, e) {
|
|
|
5070
5070
|
}).catch((w) => l(w instanceof Error ? w.message : "Something went wrong. Please try again.")).finally(() => {
|
|
5071
5071
|
s(!1), a(null);
|
|
5072
5072
|
});
|
|
5073
|
-
}, [t, n, e]),
|
|
5074
|
-
return { busy: n, status: r, err: o, connected: c, connect:
|
|
5073
|
+
}, [t, n, e]), h = Xe(() => u({ connect: !0 }), [u]), M = Xe((p, N) => u({ url: p, ask: N }), [u]);
|
|
5074
|
+
return { busy: n, status: r, err: o, connected: c, connect: h, start: M };
|
|
5075
5075
|
}
|
|
5076
5076
|
function Ic(t) {
|
|
5077
5077
|
return /\.(mp4|webm|mov|m4v|ogv|mkv)(\?|#|$)/i.test(t);
|
|
@@ -5083,12 +5083,12 @@ function Oc({ poster: t, src: e }) {
|
|
|
5083
5083
|
const Cc = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
|
|
5084
5084
|
} };
|
|
5085
5085
|
function ks({ idle: t, poster: e, src: n, title: s, page: r, onAct: a, children: o }) {
|
|
5086
|
-
const l = vc(t.prefs, t.set), c = Yi(), d = v(null), [u,
|
|
5086
|
+
const l = vc(t.prefs, t.set), c = Yi(), d = v(null), [u, h] = I(!1);
|
|
5087
5087
|
Qt(() => {
|
|
5088
5088
|
var k;
|
|
5089
5089
|
const p = (k = d.current) == null ? void 0 : k.parentElement;
|
|
5090
5090
|
if (!p) return;
|
|
5091
|
-
const N = () =>
|
|
5091
|
+
const N = () => h(p.getBoundingClientRect().width < 560);
|
|
5092
5092
|
if (N(), typeof ResizeObserver > "u") return;
|
|
5093
5093
|
const w = new ResizeObserver(N);
|
|
5094
5094
|
return w.observe(p), () => w.disconnect();
|
|
@@ -5096,15 +5096,15 @@ function ks({ idle: t, poster: e, src: n, title: s, page: r, onAct: a, children:
|
|
|
5096
5096
|
const M = { prevOn: !1, nextOn: !1, onPrev: () => {
|
|
5097
5097
|
}, onNext: () => {
|
|
5098
5098
|
}, playing: !1, playable: !0, playTitle: "Connect to play", onPlay: a };
|
|
5099
|
-
return /* @__PURE__ */
|
|
5099
|
+
return /* @__PURE__ */ g("div", { ref: d, className: `vsp-idleroot${u ? " vsp-idleroot--small" : ""}`, children: [
|
|
5100
5100
|
/* @__PURE__ */ i(Si, { page: r, picture: /* @__PURE__ */ i(Oc, { poster: e, src: n }), title: s, desk: c, pos: Cc, sub: null, mute: { muted: t.prefs.muted, onToggle: () => t.set({ muted: !t.prefs.muted }) }, cc: { on: t.prefs.subtitles, onToggle: () => t.set({ subtitles: !t.prefs.subtitles }) }, chip: l.chip, transport: M, picker: l.sheets, sheet: null, voices: null, voicesBtn: null, sheetOpen: l.sheetOpen, onSettings: l.openSettings, onShare: () => Ss(t.shareUrl ?? window.location.href, s), copied: null, onTouch: () => {
|
|
5101
5101
|
} }),
|
|
5102
5102
|
!l.sheetOpen && /* @__PURE__ */ i("div", { className: "vsp-idle", "data-theme": "dark", children: /* @__PURE__ */ i("div", { className: "vsp-idle__box", children: o }) })
|
|
5103
5103
|
] });
|
|
5104
5104
|
}
|
|
5105
5105
|
function Ui({ connect: t, onClick: e, label: n }) {
|
|
5106
|
-
return /* @__PURE__ */
|
|
5107
|
-
/* @__PURE__ */
|
|
5106
|
+
return /* @__PURE__ */ g(_e, { children: [
|
|
5107
|
+
/* @__PURE__ */ g("button", { type: "button", className: "vsp-idle__connect", onClick: e, disabled: t.busy, children: [
|
|
5108
5108
|
t.busy ? /* @__PURE__ */ i(at, { size: 18, color: "#050507", track: "rgba(5,5,7,.2)" }) : /* @__PURE__ */ i(oe, { d: J.link, size: 18, sw: 1.8 }),
|
|
5109
5109
|
/* @__PURE__ */ i("span", { children: t.busy ? "Waiting for VocalStack…" : n })
|
|
5110
5110
|
] }),
|
|
@@ -5114,7 +5114,7 @@ function Ui({ connect: t, onClick: e, label: n }) {
|
|
|
5114
5114
|
}
|
|
5115
5115
|
function bc({ idle: t, src: e, ask: n, connect: s, page: r, poster: a = null, onClear: o }) {
|
|
5116
5116
|
const l = () => s.start(e, n);
|
|
5117
|
-
return /* @__PURE__ */
|
|
5117
|
+
return /* @__PURE__ */ g(ks, { idle: t, poster: a, src: e, title: ls(e), page: r, onAct: l, children: [
|
|
5118
5118
|
/* @__PURE__ */ i(Ui, { connect: s, onClick: l, label: s.connected ? "Play with VocalStack" : "Connect to VocalStack" }),
|
|
5119
5119
|
!s.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: s.connected ? `Plays ${ls(e)} with subtitles and spoken translations.` : `Connect to play ${ls(e)} with subtitles and spoken translations.` }),
|
|
5120
5120
|
o && !s.busy && /* @__PURE__ */ i("button", { type: "button", className: "vsp-idle__other", onClick: o, children: "Choose another video" })
|
|
@@ -5126,20 +5126,20 @@ function xc({ idle: t, connect: e, page: n, poster: s = null, onPick: r }) {
|
|
|
5126
5126
|
const M = /^https?:\/\//i.test(c) ? c : `https://${c}`;
|
|
5127
5127
|
r(M), e.start(M, !1);
|
|
5128
5128
|
};
|
|
5129
|
-
return e.connected ? /* @__PURE__ */
|
|
5129
|
+
return e.connected ? /* @__PURE__ */ g(ks, { idle: t, poster: s, src: null, title: "VocalStack", page: n, onAct: () => {
|
|
5130
5130
|
var M;
|
|
5131
5131
|
d ? u() : (M = l.current) == null || M.focus();
|
|
5132
5132
|
}, children: [
|
|
5133
5133
|
/* @__PURE__ */ i("form", { className: "vsp-idle__form", onSubmit: (M) => {
|
|
5134
5134
|
M.preventDefault(), u();
|
|
5135
|
-
}, children: /* @__PURE__ */
|
|
5135
|
+
}, children: /* @__PURE__ */ g("span", { className: "vsp-idle__field", children: [
|
|
5136
5136
|
/* @__PURE__ */ i(oe, { d: J.link, size: 16, sw: 1.8 }),
|
|
5137
5137
|
/* @__PURE__ */ i("input", { ref: l, className: "vsp-idle__input", type: "url", inputMode: "url", enterKeyHint: "go", autoComplete: "off", spellCheck: !1, placeholder: "Paste a video link", value: a, onChange: (M) => o(M.target.value), "aria-label": "Video link", autoFocus: !0 }),
|
|
5138
5138
|
e.busy && /* @__PURE__ */ i(at, { size: 15, color: "#eef0f8", track: "rgba(255,255,255,.2)" })
|
|
5139
5139
|
] }) }),
|
|
5140
5140
|
e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: _i[e.status ?? "checking"] }) : /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "YouTube, Vimeo, an mp3 or any video link. Press Enter or ▶ to play it here with subtitles and spoken translations." }),
|
|
5141
5141
|
e.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: e.err })
|
|
5142
|
-
] }) : /* @__PURE__ */
|
|
5142
|
+
] }) : /* @__PURE__ */ g(ks, { idle: t, poster: s, src: null, title: "VocalStack", page: n, onAct: e.connect, children: [
|
|
5143
5143
|
/* @__PURE__ */ i(Ui, { connect: e, onClick: e.connect, label: "Connect to VocalStack" }),
|
|
5144
5144
|
!e.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "Connect your VocalStack account to watch any video with subtitles and spoken translations." })
|
|
5145
5145
|
] });
|
|
@@ -5185,7 +5185,7 @@ function Ac(t) {
|
|
|
5185
5185
|
startAt: Number.isFinite(r) && r > 0 ? r : t.startAt ?? null
|
|
5186
5186
|
};
|
|
5187
5187
|
}
|
|
5188
|
-
const Vc =
|
|
5188
|
+
const Vc = ga(function(e, n) {
|
|
5189
5189
|
var V;
|
|
5190
5190
|
const s = v(null);
|
|
5191
5191
|
fa(n, () => ({
|
|
@@ -5218,9 +5218,9 @@ const Vc = ha(function(e, n) {
|
|
|
5218
5218
|
_(() => {
|
|
5219
5219
|
o != null && o.id && a({ id: o.id, token: e.token });
|
|
5220
5220
|
}, [o == null ? void 0 : o.id]);
|
|
5221
|
-
const [l, c] = I(null), [d, u] = I(() => ({ ...kc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, C]) => C !== void 0)) })), [
|
|
5221
|
+
const [l, c] = I(null), [d, u] = I(() => ({ ...kc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, C]) => C !== void 0)) })), [h, M] = I({}), p = { prefs: d, set: (C) => {
|
|
5222
5222
|
u((ue) => ({ ...ue, ...C })), M((ue) => ({ ...ue, ...C }));
|
|
5223
|
-
}, shareUrl: (V = e.shareUrl) == null ? void 0 : V.call(e, null) }, { muted: N, ...w } =
|
|
5223
|
+
}, shareUrl: (V = e.shareUrl) == null ? void 0 : V.call(e, null) }, { muted: N, ...w } = h;
|
|
5224
5224
|
_(() => {
|
|
5225
5225
|
c(null);
|
|
5226
5226
|
}, [e.id, e.src]);
|
|
@@ -5236,8 +5236,8 @@ const Vc = ha(function(e, n) {
|
|
|
5236
5236
|
return _(() => (Jr($ ? re.current : null), () => Jr(null)), [$]), /* @__PURE__ */ i(Io, { value: j, children: /* @__PURE__ */ i("div", { ref: re, className: `vsp${$ ? " vsp--embed" : ""}${e.className ? ` ${e.className}` : ""}`, "data-theme": (e.mode ?? "video") === "video" || e.dark ? "dark" : "light", "data-mode": (e.mode ?? "video") === "video" ? "video" : "transcript", children: f ? /* @__PURE__ */ i(xc, { idle: p, connect: E, page: !$, poster: e.poster ?? null, onPick: c }) : m ? /* @__PURE__ */ i(bc, { idle: p, src: k, ask: !l, connect: E, page: !$, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : r.id ? /* @__PURE__ */ i(Ec, { ...e, initial: { ...e.initial ?? {}, ...w }, startMuted: N === !0, handle: s, id: r.id, api: j, shared: D, gone: b, loadError: W, reread: A, desk: S, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (C) => a({ id: C.transcriptionId, token: null, listen: { transcriptionId: C.transcriptionId, recordingId: C.recordingId, token: C.token } }) }, r.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
|
|
5237
5237
|
});
|
|
5238
5238
|
function Ec(t) {
|
|
5239
|
-
var Mr,
|
|
5240
|
-
const { api: e, shared: n, gone: s, desk: r, dark: a } = t, o = t.id ?? "", l = Ie(() => Ac(t), []), c = (t.mode ?? "video") === "video", d = ((
|
|
5239
|
+
var Mr, hr, gr, fr, Nr, pr, mr, yr, Tr, wr, Lr, kr, vr, jr, zr, Ir, Or, Cr, br, xr, Dr, Sr, Ar, Er;
|
|
5240
|
+
const { api: e, shared: n, gone: s, desk: r, dark: a } = t, o = t.id ?? "", l = Ie(() => Ac(t), []), c = (t.mode ?? "video") === "video", d = ((hr = (Mr = n == null ? void 0 : n.job) == null ? void 0 : Mr.source) == null ? void 0 : hr.kind) === "url" ? ms(n.job.source.url) : null, u = c && !(n && !d), [h, M] = I(t.loadError);
|
|
5241
5241
|
_(() => {
|
|
5242
5242
|
t.loadError && M(t.loadError);
|
|
5243
5243
|
}, [t.loadError]);
|
|
@@ -5248,7 +5248,7 @@ function Ec(t) {
|
|
|
5248
5248
|
_(() => {
|
|
5249
5249
|
j || re("main");
|
|
5250
5250
|
}, [j]);
|
|
5251
|
-
const [V, C] = I(u), ue = (n == null ? void 0 : n.recording) ?? null, P = (ue == null ? void 0 : ue.id) ?? null, [Z, le] = I(l.lang), ne = typeof Z == "string" ? Z : null, [ae, we] = I(l.labels), [
|
|
5251
|
+
const [V, C] = I(u), ue = (n == null ? void 0 : n.recording) ?? null, P = (ue == null ? void 0 : ue.id) ?? null, [Z, le] = I(l.lang), ne = typeof Z == "string" ? Z : null, [ae, we] = I(l.labels), [ve, Qe] = I(l.words), [ye, Le] = I(l.cc), [Se, Be] = I(l.translateAudio), [Oe, G] = I(l.clonedVoices), [B, X] = I(l.removeBackground), y = t.settings;
|
|
5252
5252
|
_(() => {
|
|
5253
5253
|
(y == null ? void 0 : y.lang) !== void 0 && le(y.lang);
|
|
5254
5254
|
}, [y == null ? void 0 : y.lang]), _(() => {
|
|
@@ -5268,22 +5268,22 @@ function Ec(t) {
|
|
|
5268
5268
|
_(() => {
|
|
5269
5269
|
if (!t.syncUrl) return;
|
|
5270
5270
|
const T = new URL(window.location.href);
|
|
5271
|
-
ne ? T.searchParams.set("lang", ne) : T.searchParams.delete("lang"), ae ? T.searchParams.set("labels", ae) : T.searchParams.delete("labels"),
|
|
5272
|
-
}, [ne, ae,
|
|
5271
|
+
ne ? T.searchParams.set("lang", ne) : T.searchParams.delete("lang"), ae ? T.searchParams.set("labels", ae) : T.searchParams.delete("labels"), ve ? T.searchParams.set("words", ve) : T.searchParams.delete("words"), ye ? T.searchParams.delete("cc") : T.searchParams.set("cc", "off"), Se ? T.searchParams.delete("audio") : T.searchParams.set("audio", "original"), Oe ? T.searchParams.delete("voices") : T.searchParams.set("voices", "stock"), Ga(T, B), T.href !== window.location.href && window.history.replaceState(window.history.state, "", T);
|
|
5272
|
+
}, [ne, ae, ve, ye, Se, Oe, B]), _(() => {
|
|
5273
5273
|
n && !n.allowTranslate && ne && le(null);
|
|
5274
5274
|
}, [n, ne]);
|
|
5275
|
-
const { model: H, error: me, clearError: q, setLanguage:
|
|
5275
|
+
const { model: H, error: me, clearError: q, setLanguage: ke, mergeTranslations: Ce, translating: He, translateFailed: Ae, shownLang: Ue } = Uo(P, {
|
|
5276
5276
|
lang: null,
|
|
5277
5277
|
onFrame: (T) => {
|
|
5278
5278
|
T.type === "job.progress" && W({ state: T.state, processedS: T.processedS ?? 0, totalS: T.totalS ?? null, segmentsDone: T.segmentsDone ?? 0, segmentsTotal: T.segmentsTotal ?? null, pct: T.pct ?? 0, error: T.error ?? null });
|
|
5279
5279
|
}
|
|
5280
|
-
}),
|
|
5280
|
+
}), ge = Ie(() => fo(H).filter((T) => !T.suppressed), [H]), Re = Ro((n == null ? void 0 : n.job) ?? null), K = ["done", "failed", "stopped"].includes(rs((Re == null ? void 0 : Re.state) ?? ((gr = n == null ? void 0 : n.job) == null ? void 0 : gr.state))), ie = K ? Re : b ?? Re, de = !!b && !["done", "failed", "stopped"].includes(rs(b.state)), ce = v(0);
|
|
5281
5281
|
_(() => {
|
|
5282
5282
|
!K || !de || Date.now() - ce.current < 1e4 || (ce.current = Date.now(), t.reread());
|
|
5283
5283
|
}, [K, de, b == null ? void 0 : b.state, b == null ? void 0 : b.processedS, o]);
|
|
5284
|
-
const Ne = rs((ie == null ? void 0 : ie.state) ?? ((fr = n == null ? void 0 : n.job) == null ? void 0 : fr.state)), je = !!P && (Ne === "transcribing" || Ne === "queued"), Y = u && !s && (!n || (je || Ne === "cropping") &&
|
|
5284
|
+
const Ne = rs((ie == null ? void 0 : ie.state) ?? ((fr = n == null ? void 0 : n.job) == null ? void 0 : fr.state)), je = !!P && (Ne === "transcribing" || Ne === "queued"), Y = u && !s && (!n || (je || Ne === "cropping") && ge.length === 0), U = je ? (ie == null ? void 0 : ie.pct) ?? 0 : 100, F = Qo(n == null ? void 0 : n.job, ie) ?? (ue == null ? void 0 : ue.mediaDurationS) ?? null, ee = ((Nr = H.segments.values().next().value) == null ? void 0 : Nr.language) ?? (ue == null ? void 0 : ue.spokenLanguage) ?? null, Me = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", be = ((yr = (mr = (pr = n == null ? void 0 : n.job) == null ? void 0 : pr.source) == null ? void 0 : mr.name) == null ? void 0 : yr.trim()) || null, Te = n ? ((Tr = n.name) == null ? void 0 : Tr.trim()) || be : null, ze = !!((wr = n == null ? void 0 : n.job) != null && wr.hasAudio), xe = (Lr = n == null ? void 0 : n.job) == null ? void 0 : Lr.source, Ze = !ze && !!xe && (xe.kind !== "url" || xe.bytes != null) && (Ne === "transcribing" || Ne === "queued" || Ne === "done"), $e = P && (n != null && n.allowDownload) && ze ? Ca(e.origin, P, e.cred) : P && (n != null && n.allowDownload) && Ze ? Xn(e.origin, P, "source", e.cred) : null, rt = ge[ge.length - 1], ot = rt ? ((kr = rt.words[rt.words.length - 1]) == null ? void 0 : kr.end) ?? rt.start : 0, dt = u && je ? Math.max(ot, (ie == null ? void 0 : ie.processedS) ?? 0) : null, We = Bl($e, (ze || Ze) && !!(n != null && n.allowDownload), ge, F, Ze ? ((jr = (vr = n == null ? void 0 : n.job) == null ? void 0 : vr.crop) == null ? void 0 : jr.startS) ?? 0 : 0, dt), Pe = ((Ir = (zr = n == null ? void 0 : n.job) == null ? void 0 : zr.source) == null ? void 0 : Ir.kind) === "url" ? ms(n.job.source.url) : null, lt = $l(ge, F, ((Cr = (Or = n == null ? void 0 : n.job) == null ? void 0 : Or.crop) == null ? void 0 : Cr.startS) ?? 0, dt), Ve = !!Pe, mt = Ve ? lt.player : We, Mt = wi(), Bt = v(null), se = Gl({ forcedVoice: t.voice ?? null, recordingId: P, model: H, rows: ge, lenS: F, ended: !!P && !je, cred: e.cred, langs: Mt, srcLang: ee, canTranslate: !!(n != null && n.allowTranslate), pickedLang: Z, setPickedLang: le, side: r && !V ? Fl : void 0, hearOriginal: fe, timed: !!Pe, stockVoices: u && !Oe, stickyPicker: u, pickerBusy: Bt.current }), Ot = v(null);
|
|
5285
5285
|
_(() => {
|
|
5286
|
-
!P || Ot.current === ne || (Ot.current = ne,
|
|
5286
|
+
!P || Ot.current === ne || (Ot.current = ne, ke(ne));
|
|
5287
5287
|
}, [ne, P]);
|
|
5288
5288
|
const x = Ve ? lt.player : se.on ? se.player : mt;
|
|
5289
5289
|
_(() => {
|
|
@@ -5293,18 +5293,18 @@ function Ec(t) {
|
|
|
5293
5293
|
}
|
|
5294
5294
|
(se.on ? mt : se.player).pause();
|
|
5295
5295
|
}, [se.on, Ve]);
|
|
5296
|
-
const en = Ie(() =>
|
|
5296
|
+
const en = Ie(() => ge.filter((T) => T.sentenceId != null).map((T, pe, Ye) => {
|
|
5297
5297
|
var Ge;
|
|
5298
5298
|
return { sid: T.sentenceId, start: T.start, end: ((Ge = Ye[pe + 1]) == null ? void 0 : Ge.start) ?? St(T, T.start, T.start + 4) };
|
|
5299
|
-
}), [
|
|
5299
|
+
}), [ge]), vt = oo({ on: Ve && se.on, lines: en, clips: se.clips, t: x.t, playing: x.playing, muted: x.muted }), Et = !!ne && (He || se.relang || se.on && vt.missing != null);
|
|
5300
5300
|
Bt.current = Et ? ne : null, _(() => {
|
|
5301
5301
|
Ve && se.on && vt.sid != null && se.setNear(vt.sid);
|
|
5302
5302
|
}, [vt.sid, Ve, se.on]), Ql([mt, se.player], se.sampling);
|
|
5303
5303
|
const st = v(null);
|
|
5304
5304
|
_(() => {
|
|
5305
5305
|
je && !x.playing && st.current && (st.current.scrollTop = st.current.scrollHeight);
|
|
5306
|
-
}, [je,
|
|
5307
|
-
const Cn = Kl(st,
|
|
5306
|
+
}, [je, ge.length]);
|
|
5307
|
+
const Cn = Kl(st, ge, w, m, k), tn = /* @__PURE__ */ i(ql, { open: w, q: m, onQ: f, onClose: () => k(!1), hits: Cn, desk: r, inline: r }), Ke = (n == null ? void 0 : n.name) || t.src || o, ht = !!(n != null && n.allowDownload), Ct = !!(n != null && n.allowExport), yt = se.readLang, Tt = yt ? ((br = Mt == null ? void 0 : Mt.languages.find((T) => T.code === yt)) == null ? void 0 : br.name) ?? yt.toUpperCase() : null, Yt = async () => {
|
|
5308
5308
|
if (P)
|
|
5309
5309
|
try {
|
|
5310
5310
|
if (yt && se.canSpeak) {
|
|
@@ -5322,10 +5322,10 @@ function Ec(t) {
|
|
|
5322
5322
|
}, bt = (T) => {
|
|
5323
5323
|
if (!P) return;
|
|
5324
5324
|
const pe = ps.find((Ge) => Ge.key === T).name, Ye = Tt ? ` in ${Tt}` : "";
|
|
5325
|
-
return Bo(e, P, T, { lang: yt }).then(() => D(je ? `${pe} exported${Ye} for the first ${
|
|
5325
|
+
return Bo(e, P, T, { lang: yt }).then(() => D(je ? `${pe} exported${Ye} for the first ${ge.length} segments — the rest is still transcribing.` : `${pe} exported${Ye}.`)).catch((Ge) => {
|
|
5326
5326
|
throw M(kt(Ge)), Ge;
|
|
5327
5327
|
});
|
|
5328
|
-
}, ct = je ? "MORE TO COME…" : "END OF TRANSCRIPT", Ht = je ? "var(--brand)" : "var(--ink-28)", it = Po(ie,
|
|
5328
|
+
}, ct = je ? "MORE TO COME…" : "END OF TRANSCRIPT", Ht = je ? "var(--brand)" : "var(--ink-28)", it = Po(ie, ge.length), jt = x.has && (!se.relang || !!Pe), qe = v(x);
|
|
5329
5329
|
qe.current = x;
|
|
5330
5330
|
const _t = `${ne ?? ""}|${se.on ? "voice" : "source"}`, Vt = v({ key: _t, idx: 0, t: 0, playing: !1, until: 0 });
|
|
5331
5331
|
_(() => {
|
|
@@ -5342,12 +5342,12 @@ function Ec(t) {
|
|
|
5342
5342
|
!x.has || se.relang || (T.until = 0, Math.abs(x.t - T.t) > 0.5 && (x.seekFrac && x.dur > 0 ? x.seekFrac(T.t / x.dur) : x.seekRow(T.idx)), T.playing && !x.playing && (Je.current = !0, x.toggle()));
|
|
5343
5343
|
}
|
|
5344
5344
|
});
|
|
5345
|
-
const
|
|
5345
|
+
const gt = v(!1), Je = v(!1);
|
|
5346
5346
|
u && (oi.video = !0);
|
|
5347
5347
|
const [Wt, xt] = I(!1), [nn, bn] = I(!1);
|
|
5348
5348
|
_(() => {
|
|
5349
|
-
if (!u ||
|
|
5350
|
-
|
|
5349
|
+
if (!u || gt.current || !jt || !V || Y || t.autoplay === !1) return;
|
|
5350
|
+
gt.current = !0;
|
|
5351
5351
|
const T = (Ge) => {
|
|
5352
5352
|
qe.current.playing || Je.current || (qe.current.toggle(), Ge > 0 && setTimeout(() => T(Ge - 1), 1500));
|
|
5353
5353
|
}, pe = () => {
|
|
@@ -5386,12 +5386,12 @@ function Ec(t) {
|
|
|
5386
5386
|
const T = setTimeout(() => Q(!0), 180);
|
|
5387
5387
|
return () => clearTimeout(T);
|
|
5388
5388
|
}, [He]);
|
|
5389
|
-
const De = Gt ? Ue : ne, Fe = nl(P, ne,
|
|
5389
|
+
const De = Gt ? Ue : ne, Fe = nl(P, ne, ge, Ce), ft = pl(ml(ue), P, se.readLang), Zt = ht || Ct, Ri = (((Dr = (xr = n == null ? void 0 : n.job) == null ? void 0 : xr.crop) == null ? void 0 : Dr.startS) ?? 0) + as(x, ge), Sn = A === "listen", Dt = Sn && !!Pe, Pi = (T) => {
|
|
5390
5390
|
mt.pause(), se.player.pause(), te(T), T === "read" && V && (Kt(!1), C(!1));
|
|
5391
|
-
}, Ee = se.barChip, Ut = ki(Ee.label), Ys = /* @__PURE__ */ i(cs, { value: A, onChange: Pi, bordered: !1, options: uc(Ut, !!Pe) }), Rt = [...Ft ? [{ key: "summary", label: "Summary" }] : [], ...Zt ? [{ key: "export", label: "Export" }] : []], _s = (T) => /* @__PURE__ */
|
|
5391
|
+
}, Ee = se.barChip, Ut = ki(Ee.label), Ys = /* @__PURE__ */ i(cs, { value: A, onChange: Pi, bordered: !1, options: uc(Ut, !!Pe) }), Rt = [...Ft ? [{ key: "summary", label: "Summary" }] : [], ...Zt ? [{ key: "export", label: "Export" }] : []], _s = (T) => /* @__PURE__ */ g(_e, { children: [
|
|
5392
5392
|
T === "summary" && Ft && /* @__PURE__ */ i(yl, { s: ft }),
|
|
5393
|
-
T === "export" && /* @__PURE__ */ i(Nl, { audio:
|
|
5394
|
-
] }), Qi = (T) => /* @__PURE__ */ i(Jo, { index: x.idx, total: Math.max(1,
|
|
5393
|
+
T === "export" && /* @__PURE__ */ i(Nl, { audio: ht ? { name: Ke, meta: yt && se.canSpeak || ze ? `MP3${F ? ` · ${Lt(F)}` : ""}` : "ORIGINAL AUDIO", onClick: Yt } : null, formats: Ct, onExport: bt })
|
|
5394
|
+
] }), Qi = (T) => /* @__PURE__ */ i(Jo, { index: x.idx, total: Math.max(1, ge.length), frac: x.dur > 0 ? Math.min(1, x.t / x.dur) : 0, glideMs: x.wordSync ? 0 : 220, atLabel: Lt(x.t), durLabel: Lt(x.dur), stepLabel: T ? `${x.idx + 1} / ${ge.length}` : "", onSeek: se.relang ? Vl : x.seekRow, onSeekFrac: se.relang ? void 0 : x.seekFrac, onScrubStart: x.hold, onScrubEnd: x.release }), Us = {
|
|
5395
5395
|
live: !1,
|
|
5396
5396
|
atEdge: !1,
|
|
5397
5397
|
edgeFrac: null,
|
|
@@ -5404,27 +5404,27 @@ function Ec(t) {
|
|
|
5404
5404
|
var pe;
|
|
5405
5405
|
se.relang || (pe = x.seekFrac) == null || pe.call(x, T);
|
|
5406
5406
|
}
|
|
5407
|
-
}, [$i, Bi] = Mc(se.on && !!x.preparing && x.playing, 1500), An = se.on && ((Sr = x.error) == null ? void 0 : Sr.code) === "voice_not_started", En = se.canSpeak && !se.error && !An, an = ne ? ((Ar = Mt == null ? void 0 : Mt.languages.find((T) => T.code === ne)) == null ? void 0 : Ar.name) ?? Ee.label : "", tt = V ? dc({ lang: ne, langName: an, translating: He && !!ne, translateFailed: Ae, voiceFailed: An, relang: se.relang, starting: se.on ? x.starting : null, slowLine: $i, lineSince: Bi }) : null, Yn = !!Pe && !!tt && (tt.kind === "translating" || tt.kind === "voice" && se.relang), Rs = !Yn || !tt ? null : tt.kind === "translating" ? `Translating into ${an || "the new language"}…` : `Preparing the ${an || "translated"} voice…`, on = !Yn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), Ps = Is({ ...se.langList, keepOpen: !0, open: z === "lang", onClose: () => re("main") }), Qs = Wa(B, se.on), Hi = u && Qs.bed &&
|
|
5407
|
+
}, [$i, Bi] = Mc(se.on && !!x.preparing && x.playing, 1500), An = se.on && ((Sr = x.error) == null ? void 0 : Sr.code) === "voice_not_started", En = se.canSpeak && !se.error && !An, an = ne ? ((Ar = Mt == null ? void 0 : Mt.languages.find((T) => T.code === ne)) == null ? void 0 : Ar.name) ?? Ee.label : "", tt = V ? dc({ lang: ne, langName: an, translating: He && !!ne, translateFailed: Ae, voiceFailed: An, relang: se.relang, starting: se.on ? x.starting : null, slowLine: $i, lineSince: Bi }) : null, Yn = !!Pe && !!tt && (tt.kind === "translating" || tt.kind === "voice" && se.relang), Rs = !Yn || !tt ? null : tt.kind === "translating" ? `Translating into ${an || "the new language"}…` : `Preparing the ${an || "translated"} voice…`, on = !Yn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), Ps = Is({ ...se.langList, keepOpen: !0, open: z === "lang", onClose: () => re("main") }), Qs = Wa(B, se.on), Hi = u && Qs.bed && ht && P && (!je || $e) ? _r(e.origin, P, e.cred) : null, $s = to(Hi, { t: as(x, ge), playing: x.playing && !on && !(x.timed && x.preparing), muted: x.muted }), Vi = u && Qs.speech && ht && P && (!je || $e) ? _r(e.origin, P, e.cred, "speech") : null, _n = fi(Vi, { t: as(x, ge), playing: !se.on && x.playing, muted: x.muted }), Un = !se.on && _n.on;
|
|
5408
5408
|
_(() => {
|
|
5409
5409
|
var T;
|
|
5410
5410
|
lt.setVideoSound(!(Ve && (se.on || Un))), (T = We.silence) == null || T.call(We, !Ve && Un);
|
|
5411
5411
|
}, [Ve, se.on, Un, $e]);
|
|
5412
|
-
const Rn =
|
|
5412
|
+
const Rn = ht ? se.on ? $s : _n.state : "unavailable", Pn = Se && En && !!ne, Wi = Pn ? [`Translated${se.hasClone ? Oe ? ", cloned voices" : ", synthetic voices" : ""}`, !B && ht && $s !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : B && Rn !== "unavailable" ? "Original speech, background removed" : "Original sound", Fi = () => {
|
|
5413
5413
|
if ((tt == null ? void 0 : tt.kind) === "translateFailed") {
|
|
5414
|
-
|
|
5414
|
+
ke(ne);
|
|
5415
5415
|
return;
|
|
5416
5416
|
}
|
|
5417
5417
|
Je.current = !0, x.toggle();
|
|
5418
5418
|
}, Gi = () => {
|
|
5419
5419
|
const T = x.idx;
|
|
5420
5420
|
x.pause(), le(null), Je.current = !0, mt.playRow(T);
|
|
5421
|
-
}, Bs = { prevOn: x.idx > 0, nextOn: x.idx <
|
|
5421
|
+
}, Bs = { prevOn: x.idx > 0, nextOn: x.idx < ge.length - 1, onPrev: x.prev, onNext: x.next, playing: x.playing, playable: jt, playTitle: se.playTitle ?? (x.playing ? "Pause" : "Play"), onPlay: () => {
|
|
5422
5422
|
Je.current = !0, x.toggle();
|
|
5423
5423
|
}, busy: se.relang && !Pe || on };
|
|
5424
5424
|
uo(jt ? { playing: x.playing, toggle: () => {
|
|
5425
5425
|
Je.current = !0, x.toggle();
|
|
5426
5426
|
}, next: x.next, prev: x.prev } : null, Te);
|
|
5427
|
-
const Qn = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, $n = (T, pe) => !Ee.can || !R.language ? null : u ? /* @__PURE__ */
|
|
5427
|
+
const Qn = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, $n = (T, pe) => !Ee.can || !R.language ? null : u ? /* @__PURE__ */ g("button", { type: "button", className: "gfull__btn", title: Et ? `${Ee.label ?? Ee.code}: still being prepared` : Ee.label ?? Ee.code, "aria-label": `Language: ${Ee.label ?? Ee.code}`, "aria-busy": Et || void 0, onClick: () => {
|
|
5428
5428
|
S(!1), Ee.onClick();
|
|
5429
5429
|
}, style: { position: "relative" }, children: [
|
|
5430
5430
|
/* @__PURE__ */ i("span", { style: { fontSize: pe === "sm" ? 17 : 21, lineHeight: 1 }, children: Ee.flag }),
|
|
@@ -5434,22 +5434,22 @@ function Ec(t) {
|
|
|
5434
5434
|
_(() => {
|
|
5435
5435
|
x.t > 0.3 && qi(!0);
|
|
5436
5436
|
}, [x.t]);
|
|
5437
|
-
const Vs = Pe && /* @__PURE__ */
|
|
5437
|
+
const Vs = Pe && /* @__PURE__ */ g(_e, { children: [
|
|
5438
5438
|
/* @__PURE__ */ i(Sl, { ytId: Pe, title: Ke, t: Ri, playing: x.playing && !on, waiting: se.on && !!x.timed && !!x.preparing, seekN: x.seekN, onTime: (T) => {
|
|
5439
5439
|
var pe, Ye, Ge;
|
|
5440
5440
|
return (Ge = x.videoAt) == null ? void 0 : Ge.call(x, T - (((Ye = (pe = n == null ? void 0 : n.job) == null ? void 0 : pe.crop) == null ? void 0 : Ye.startS) ?? 0));
|
|
5441
5441
|
}, onToggle: x.has ? sn : void 0, onAd: bn, lead: Ve ? lt.lead : void 0 }),
|
|
5442
|
-
/* @__PURE__ */
|
|
5442
|
+
/* @__PURE__ */ g("div", { className: "vsp-poster", "aria-hidden": "true", style: { opacity: Zi ? 0 : 1 }, children: [
|
|
5443
5443
|
/* @__PURE__ */ i("div", { className: "vsp-poster__img", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Pe}/hqdefault.jpg)` } }),
|
|
5444
5444
|
/* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(vs, { size: 44 }) })
|
|
5445
5445
|
] })
|
|
5446
5446
|
] }), Ws = Dt && Pe && !V ? /* @__PURE__ */ i(Tl, { ytId: Pe, title: Ke, radius: 14, large: !0, style: r ? void 0 : { margin: "8px 20px 2px" }, picture: Vs, children: /* @__PURE__ */ i(ac, { pos: Us, transport: Bs, chip: $n({ ...Qn, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Hs, onFull: () => {
|
|
5447
5447
|
Kt(!0), C(!0);
|
|
5448
|
-
}, copied: null }) }) : null, et = x.wordSync ? Fo(
|
|
5449
|
-
for (const T of
|
|
5448
|
+
}, copied: null }) }) : null, et = x.wordSync ? Fo(ge, x.idx, x.t) ? ge[x.idx] : void 0 : ge[x.idx];
|
|
5449
|
+
for (const T of ge) for (const [pe, Ye] of Object.entries(T.translations)) Ye && L.current.set(`${T.sentenceId ?? T.start}|${pe}`, Ye);
|
|
5450
5450
|
const Fs = (T, pe) => T.translations[pe] || L.current.get(`${T.sentenceId ?? T.start}|${pe}`) || null, Bn = (T, pe) => !T || !pe || T.language === pe || !!Fs(T, pe), wt = Bn(et, ne) ? ne : Bn(et, $.current) ? $.current : ne;
|
|
5451
5451
|
et && Bn(et, wt) && ($.current = wt);
|
|
5452
|
-
const Gs = et && wt && et.language !== wt ? Fs(et, wt) : null, Ki = et && Gs && wt && !et.translations[wt] ? Object.assign([...
|
|
5452
|
+
const Gs = et && wt && et.language !== wt ? Fs(et, wt) : null, Ki = et && Gs && wt && !et.translations[wt] ? Object.assign([...ge], { [x.idx]: { ...et, translations: { ...et.translations, [wt]: Gs } } }) : ge, ln = et ? Ci(Ki, x.idx, wt) : [], cn = ve ? ve === "on" : !u || se.on || !De || De === ee, Zs = cn ? qr(x, x.idx, ln) : null, qs = ln.map((T, pe) => ({ t: T.text, sp: pe < ln.length - 1 ? " " : "", dim: Zs != null && pe > Zs })), un = ae ? ae === "on" : u ? !1 : jo(H, ge, ue == null ? void 0 : ue.settings), Ks = { lang: ne, subtitles: ye, speakerLabels: un, wordHighlight: cn, translateAudio: Se, voices: Oe ? "cloned" : "synthetic", removeBackground: B }, Ji = JSON.stringify(Ks), dn = v(t.onSettingsChange);
|
|
5453
5453
|
dn.current = t.onSettingsChange, _(() => {
|
|
5454
5454
|
var T;
|
|
5455
5455
|
(T = dn.current) == null || T.call(dn, Ks);
|
|
@@ -5462,24 +5462,24 @@ function Ec(t) {
|
|
|
5462
5462
|
if (t.shareUrl) return t.shareUrl(T);
|
|
5463
5463
|
const pe = new URL(window.location.href);
|
|
5464
5464
|
return T != null && T > 0 ? pe.searchParams.set("t", String(T)) : pe.searchParams.delete("t"), pe.href;
|
|
5465
|
-
},
|
|
5465
|
+
}, hn = v(l.startAt), Fn = (T) => {
|
|
5466
5466
|
if (x.seekFrac && x.dur > 0) {
|
|
5467
5467
|
x.seekFrac(Math.min(1, T / x.dur));
|
|
5468
5468
|
return;
|
|
5469
5469
|
}
|
|
5470
5470
|
let pe = 0;
|
|
5471
|
-
for (let Ye = 0; Ye <
|
|
5471
|
+
for (let Ye = 0; Ye < ge.length; Ye++) ge[Ye].start <= T && (pe = Ye);
|
|
5472
5472
|
x.seekRow(pe);
|
|
5473
5473
|
}, nr = v(!1);
|
|
5474
5474
|
_(() => {
|
|
5475
|
-
const T =
|
|
5476
|
-
T == null || nr.current || !x.has ||
|
|
5477
|
-
}, [x.has,
|
|
5478
|
-
const T =
|
|
5479
|
-
T == null || !x.playing || (
|
|
5475
|
+
const T = hn.current;
|
|
5476
|
+
T == null || nr.current || !x.has || ge.length === 0 || (nr.current = !0, Fn(T));
|
|
5477
|
+
}, [x.has, ge.length]), _(() => {
|
|
5478
|
+
const T = hn.current;
|
|
5479
|
+
T == null || !x.playing || (hn.current = null, Math.abs(x.t - T) > 2 && Fn(T));
|
|
5480
5480
|
}, [x.playing]);
|
|
5481
5481
|
const ta = (T) => {
|
|
5482
|
-
Je.current = !0,
|
|
5482
|
+
Je.current = !0, hn.current = null, Fn(Math.max(0, T));
|
|
5483
5483
|
};
|
|
5484
5484
|
t.handle.current = {
|
|
5485
5485
|
seek: (T) => ta(T),
|
|
@@ -5517,114 +5517,114 @@ function Ec(t) {
|
|
|
5517
5517
|
window.clearTimeout(Wn.current), Js(!0), Wn.current = window.setTimeout(() => Js(!1), 2200);
|
|
5518
5518
|
}), ir = (T, pe, Ye) => {
|
|
5519
5519
|
const Ge = ps.find((pn) => pn.key === T), Nt = Hn === T, ut = ea === T;
|
|
5520
|
-
return /* @__PURE__ */
|
|
5520
|
+
return /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", "aria-busy": Nt || void 0, style: Hn && !Nt ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
|
|
5521
5521
|
Hn || (Xs(T), Promise.resolve().then(() => bt(T)).then(() => {
|
|
5522
5522
|
er(T), window.clearTimeout(Vn.current), Vn.current = window.setTimeout(() => er(null), 1600);
|
|
5523
5523
|
}).catch(() => {
|
|
5524
5524
|
}).finally(() => Xs(null)));
|
|
5525
5525
|
}, children: [
|
|
5526
5526
|
Nt ? /* @__PURE__ */ i(at, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(oe, { d: Ge.icon, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
|
|
5527
|
-
/* @__PURE__ */
|
|
5527
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5528
5528
|
/* @__PURE__ */ i("div", { className: "srow__t", children: pe }),
|
|
5529
5529
|
/* @__PURE__ */ i("div", { className: "srow__s", children: Ye })
|
|
5530
5530
|
] }),
|
|
5531
5531
|
/* @__PURE__ */ i(oe, { d: ut ? J.check : J.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: ut ? "var(--brand)" : "var(--ink-62)" } })
|
|
5532
5532
|
] });
|
|
5533
|
-
}, sa = /* @__PURE__ */
|
|
5533
|
+
}, sa = /* @__PURE__ */ g("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
|
|
5534
5534
|
" ",
|
|
5535
|
-
/* @__PURE__ */
|
|
5535
|
+
/* @__PURE__ */ g("button", { type: "button", onClick: () => re("main"), "aria-label": "Back", style: { position: "absolute", left: -6, top: "50%", transform: "translateY(-50%)", display: "inline-flex", alignItems: "center", gap: 2, padding: "4px 6px 4px 0", border: 0, background: "none", color: "var(--ink-96)", fontFamily: "var(--vs-font-sans)", fontSize: 15, fontWeight: 600, letterSpacing: 0, lineHeight: 1, whiteSpace: "nowrap", cursor: "pointer" }, children: [
|
|
5536
5536
|
/* @__PURE__ */ i(oe, { d: J.chevronLeft, size: 18, sw: 1.8 }),
|
|
5537
5537
|
"Back"
|
|
5538
5538
|
] })
|
|
5539
|
-
] }),
|
|
5539
|
+
] }), gn = /* @__PURE__ */ i(oe, { d: J.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), ra = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[z], fn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Gn = u ? /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: ra, titleNode: z === "main" ? void 0 : sa, doneLabel: Ut.done, kind: z === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(us, { children: z === "lang" ? /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
5540
5540
|
/* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: Ps.search }),
|
|
5541
5541
|
Ps.list
|
|
5542
|
-
] }) : z === "subs" ? /* @__PURE__ */
|
|
5543
|
-
/* @__PURE__ */
|
|
5544
|
-
/* @__PURE__ */
|
|
5542
|
+
] }) : z === "subs" ? /* @__PURE__ */ g("div", { style: fn, children: [
|
|
5543
|
+
/* @__PURE__ */ g("div", { className: "srow", children: [
|
|
5544
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5545
5545
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Show subtitles" }),
|
|
5546
5546
|
/* @__PURE__ */ i("div", { className: "srow__s", children: "Captions over the video" })
|
|
5547
5547
|
] }),
|
|
5548
5548
|
/* @__PURE__ */ i(pt, { checked: ye, onChange: Le, label: "Show subtitles" })
|
|
5549
5549
|
] }),
|
|
5550
|
-
/* @__PURE__ */
|
|
5551
|
-
/* @__PURE__ */
|
|
5550
|
+
/* @__PURE__ */ g("div", { className: "srow", children: [
|
|
5551
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5552
5552
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Show speaker labels" }),
|
|
5553
5553
|
/* @__PURE__ */ i("div", { className: "srow__s", children: "Who is speaking, before each line" })
|
|
5554
5554
|
] }),
|
|
5555
5555
|
/* @__PURE__ */ i(pt, { checked: un, onChange: (T) => we(T ? "on" : "off"), label: "Show speaker labels" })
|
|
5556
5556
|
] }),
|
|
5557
|
-
/* @__PURE__ */
|
|
5558
|
-
/* @__PURE__ */
|
|
5557
|
+
/* @__PURE__ */ g("div", { className: "srow", children: [
|
|
5558
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5559
5559
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Highlight words" }),
|
|
5560
5560
|
/* @__PURE__ */ i("div", { className: "srow__s", children: "Follow each word as it is spoken" })
|
|
5561
5561
|
] }),
|
|
5562
5562
|
/* @__PURE__ */ i(pt, { checked: cn, onChange: (T) => Qe(T ? "on" : "off"), label: "Highlight words" })
|
|
5563
5563
|
] })
|
|
5564
|
-
] }) : z === "audio" ? /* @__PURE__ */
|
|
5565
|
-
/* @__PURE__ */
|
|
5566
|
-
/* @__PURE__ */
|
|
5564
|
+
] }) : z === "audio" ? /* @__PURE__ */ g("div", { style: fn, children: [
|
|
5565
|
+
/* @__PURE__ */ g("div", { className: "srow", children: [
|
|
5566
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5567
5567
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Translate audio" }),
|
|
5568
5568
|
/* @__PURE__ */ i("div", { className: "srow__s", children: ne ? En ? "Hear the translation read aloud instead of the original speech" : se.canSpeak ? "Not available right now" : "Not available in this language" : "Pick a language to hear the translation read aloud" })
|
|
5569
5569
|
] }),
|
|
5570
5570
|
/* @__PURE__ */ i(pt, { checked: Pn, onChange: Be, label: "Translate audio", disabled: !En || !ne })
|
|
5571
5571
|
] }),
|
|
5572
|
-
Pn && se.hasClone && /* @__PURE__ */
|
|
5573
|
-
/* @__PURE__ */
|
|
5572
|
+
Pn && se.hasClone && /* @__PURE__ */ g("div", { className: "srow", children: [
|
|
5573
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5574
5574
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Voices" }),
|
|
5575
5575
|
/* @__PURE__ */ i("div", { className: "srow__s", children: Oe ? "Each speaker in their own cloned voice" : "Synthetic voices matched to each speaker" })
|
|
5576
5576
|
] }),
|
|
5577
5577
|
/* @__PURE__ */ i(cs, { value: Oe ? "clone" : "stock", onChange: (T) => G(T === "clone"), size: "sm", options: [{ value: "stock", label: "Synthetic" }, { value: "clone", label: "Cloned" }] })
|
|
5578
5578
|
] }),
|
|
5579
|
-
/* @__PURE__ */
|
|
5580
|
-
/* @__PURE__ */
|
|
5579
|
+
/* @__PURE__ */ g("div", { className: "srow", children: [
|
|
5580
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5581
5581
|
/* @__PURE__ */ i("div", { className: "srow__t", children: jn }),
|
|
5582
5582
|
/* @__PURE__ */ i("div", { className: "srow__s", children: Va(B, Rn, "video", se.on ? 0 : _n.untilS) })
|
|
5583
5583
|
] }),
|
|
5584
|
-
/* @__PURE__ */ i(pt, { checked: B &&
|
|
5584
|
+
/* @__PURE__ */ i(pt, { checked: B && ht, onChange: X, label: jn, disabled: !ht || Rn === "unavailable" && !B })
|
|
5585
5585
|
] })
|
|
5586
|
-
] }) : z === "export" ? /* @__PURE__ */
|
|
5586
|
+
] }) : z === "export" ? /* @__PURE__ */ g("div", { style: fn, children: [
|
|
5587
5587
|
ir("srt", "Subtitles", "SRT / VTT caption cues, ready for a video editor or a player"),
|
|
5588
5588
|
ir("pdf", "PDF", "Formatted transcript in paragraphs, with timestamps and speaker labels")
|
|
5589
5589
|
] }) : /* @__PURE__ */ i("div", { style: fn, children: [
|
|
5590
|
-
Ee.can && R.language && /* @__PURE__ */
|
|
5591
|
-
/* @__PURE__ */
|
|
5590
|
+
Ee.can && R.language && /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => re("lang"), children: [
|
|
5591
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5592
5592
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Language" }),
|
|
5593
5593
|
/* @__PURE__ */ i("div", { className: "srow__s", children: ne ? `Translated to ${Ee.label ?? ne.toUpperCase()}` : "Original language" })
|
|
5594
5594
|
] }),
|
|
5595
5595
|
/* @__PURE__ */ i("span", { style: { fontSize: 18, lineHeight: 1 }, children: Ee.flag }),
|
|
5596
|
-
|
|
5596
|
+
gn
|
|
5597
5597
|
] }, "lang"),
|
|
5598
|
-
R.subtitles && /* @__PURE__ */
|
|
5599
|
-
/* @__PURE__ */
|
|
5598
|
+
R.subtitles && /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => re("subs"), children: [
|
|
5599
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5600
5600
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Subtitles" }),
|
|
5601
5601
|
/* @__PURE__ */ i("div", { className: "srow__s", children: ye ? "On · speaker labels and word highlighting" : "Off" })
|
|
5602
5602
|
] }),
|
|
5603
|
-
|
|
5603
|
+
gn
|
|
5604
5604
|
] }, "subs"),
|
|
5605
|
-
R.audio && /* @__PURE__ */
|
|
5606
|
-
/* @__PURE__ */
|
|
5605
|
+
R.audio && /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => re("audio"), children: [
|
|
5606
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5607
5607
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
|
|
5608
5608
|
/* @__PURE__ */ i("div", { className: "srow__s", children: Wi })
|
|
5609
5609
|
] }),
|
|
5610
|
-
|
|
5610
|
+
gn
|
|
5611
5611
|
] }, "audio"),
|
|
5612
|
-
R.export && Ct && !!P && /* @__PURE__ */
|
|
5613
|
-
/* @__PURE__ */
|
|
5614
|
-
/* @__PURE__ */
|
|
5612
|
+
R.export && Ct && !!P && /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => re("export"), children: [
|
|
5613
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5614
|
+
/* @__PURE__ */ g("div", { className: "srow__t", children: [
|
|
5615
5615
|
"Export",
|
|
5616
5616
|
Tt ? ` in ${Tt}` : ""
|
|
5617
5617
|
] }),
|
|
5618
5618
|
/* @__PURE__ */ i("div", { className: "srow__s", children: "Subtitles (SRT / VTT) or a PDF of the transcript" })
|
|
5619
5619
|
] }),
|
|
5620
|
-
|
|
5620
|
+
gn
|
|
5621
5621
|
] }, "export")
|
|
5622
|
-
].filter(Boolean).flatMap((T, pe) => pe ? [/* @__PURE__ */ i("div", { className: "sdiv" }, `d${pe}`), T] : [T]) }) }) }) : /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: Ut.settings, doneLabel: Ut.done, drawer: r, children: /* @__PURE__ */
|
|
5623
|
-
Ee.can && /* @__PURE__ */
|
|
5624
|
-
/* @__PURE__ */
|
|
5622
|
+
].filter(Boolean).flatMap((T, pe) => pe ? [/* @__PURE__ */ i("div", { className: "sdiv" }, `d${pe}`), T] : [T]) }) }) }) : /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: Ut.settings, doneLabel: Ut.done, drawer: r, children: /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column", gap: 2 }, children: [
|
|
5623
|
+
Ee.can && /* @__PURE__ */ g(_e, { children: [
|
|
5624
|
+
/* @__PURE__ */ g("div", { className: "srow srow--tap", onClick: () => {
|
|
5625
5625
|
S(!1), Ee.onClick();
|
|
5626
5626
|
}, children: [
|
|
5627
|
-
/* @__PURE__ */
|
|
5627
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5628
5628
|
/* @__PURE__ */ i("div", { className: "srow__t", children: Ut.langLabel }),
|
|
5629
5629
|
/* @__PURE__ */ i("div", { className: "srow__s", children: Ut.langCount })
|
|
5630
5630
|
] }),
|
|
@@ -5647,7 +5647,7 @@ function Ec(t) {
|
|
|
5647
5647
|
cc: R.subtitles ? { on: ye, onToggle: () => Le((T) => !T) } : void 0,
|
|
5648
5648
|
noFull: !R.fullscreen,
|
|
5649
5649
|
ad: nn,
|
|
5650
|
-
wait: tt && !Yn ? /* @__PURE__ */ i(
|
|
5650
|
+
wait: tt && !Yn ? /* @__PURE__ */ i(gc, { state: tt, line: on ? qs.map((T) => T.t + T.sp).join("") : null, onRetry: Fi, onOriginal: Gi }) : x.edgeWait ? `Transcribing ${Math.round(U)}% — it plays on as more is written` : null,
|
|
5651
5651
|
pct: je ? Math.round(U) : null,
|
|
5652
5652
|
sub: ye && et ? { who: Mn ? Cs(H, et.speaker) : null, color: Mn ? Mn.fg ?? `var(--lane-${Mn.lane})` : "#fff", words: qs, cursor: qr(x, x.idx, ln) } : null,
|
|
5653
5653
|
chip: $n(r ? Qn : { ...Qn, width: 64, padding: "0 6px" }, r ? void 0 : "sm"),
|
|
@@ -5663,16 +5663,16 @@ function Ec(t) {
|
|
|
5663
5663
|
} : void 0,
|
|
5664
5664
|
compact: !!t.compact,
|
|
5665
5665
|
paused: { title: Ke, summary: ft.state === "ready" ? ft.summary ?? null : null, share: R.share && (t.shareUrl || !t.onShare) ? { url: tr, at: x.t } : null },
|
|
5666
|
-
copied: Xi ? /* @__PURE__ */
|
|
5666
|
+
copied: Xi ? /* @__PURE__ */ g("div", { className: "gfull__toast", "aria-live": "polite", children: [
|
|
5667
5667
|
/* @__PURE__ */ i(oe, { d: J.check, size: 13, sw: 2 }),
|
|
5668
5668
|
"Link copied"
|
|
5669
|
-
] }) : Wt ? /* @__PURE__ */
|
|
5669
|
+
] }) : Wt ? /* @__PURE__ */ g("div", { className: "gfull__toast gfull__soundtip", "aria-live": "polite", children: [
|
|
5670
5670
|
/* @__PURE__ */ i(oe, { d: J.volumeOff, size: 14, sw: 1.8 }),
|
|
5671
5671
|
"Tap for sound"
|
|
5672
|
-
] }) : Rs ? /* @__PURE__ */
|
|
5672
|
+
] }) : Rs ? /* @__PURE__ */ g("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
|
|
5673
5673
|
/* @__PURE__ */ i(at, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
|
|
5674
5674
|
Rs
|
|
5675
|
-
] }) : se.on && (Ve ? vt.missing != null : x.silent) ? /* @__PURE__ */
|
|
5675
|
+
] }) : se.on && (Ve ? vt.missing != null : x.silent) ? /* @__PURE__ */ g("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
|
|
5676
5676
|
/* @__PURE__ */ i(at, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
|
|
5677
5677
|
`${an || "Translated"} voice is still being prepared · playing with subtitles`
|
|
5678
5678
|
] }) : null,
|
|
@@ -5687,34 +5687,34 @@ function Ec(t) {
|
|
|
5687
5687
|
_(() => {
|
|
5688
5688
|
!u && V && !Dt && (Kt(!1), C(!1));
|
|
5689
5689
|
}, [u, V, Dt]);
|
|
5690
|
-
const ar = je && /* @__PURE__ */
|
|
5691
|
-
/* @__PURE__ */
|
|
5690
|
+
const ar = je && /* @__PURE__ */ g("div", { className: `pubprog${r ? " pubprog--desk" : ""}${w ? " pubprog--find" : ""}`, children: [
|
|
5691
|
+
/* @__PURE__ */ g("div", { className: "pubprog__row", children: [
|
|
5692
5692
|
/* @__PURE__ */ i("span", { className: "l", children: `TRANSCRIBING ${U}%` }),
|
|
5693
5693
|
!r && /* @__PURE__ */ i("div", { style: { flex: 1 } }),
|
|
5694
5694
|
r && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { flex: 1 }, children: /* @__PURE__ */ i("div", { style: { width: `${U}%` } }) }),
|
|
5695
5695
|
/* @__PURE__ */ i("span", { className: "s", children: it })
|
|
5696
5696
|
] }),
|
|
5697
5697
|
!r && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { marginTop: 8 }, children: /* @__PURE__ */ i("div", { style: { width: `${U}%` } }) })
|
|
5698
|
-
] }), Zn = s && /* @__PURE__ */ i("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), or = /* @__PURE__ */ i(Zl, { model: H, rows:
|
|
5698
|
+
] }), Zn = s && /* @__PURE__ */ i("div", { className: "hint", style: { padding: "30px 20px", textAlign: "center", fontSize: 13 }, children: "This link is no longer shared. Ask the person who sent it for a new one." }), or = /* @__PURE__ */ i(Zl, { model: H, rows: ge, player: x, tail: ct, tailFg: Ht, running: je, desk: r, feedRef: st, listener: !0, showLabels: un, find: m, findOpen: !r && w, lang: De, warm: Gt, onVisible: Fe, wordHl: cn }), qn = /* @__PURE__ */ i(Ko, { error: h ?? me ?? (An && V ? null : x.error) ?? se.error, onClose: () => {
|
|
5699
5699
|
M(null), q(), x.clearError(), se.clearError();
|
|
5700
|
-
} }), lr = [F ? Lt(F) : null, ee ? ee.toUpperCase() : null, Me || "Read-only copy"].filter(Boolean).join(" · "), cr = (T) => /* @__PURE__ */ i("div", { className: "ctrans", children: se.noVoice ? se.noVoiceNote : /* @__PURE__ */
|
|
5701
|
-
/* @__PURE__ */
|
|
5700
|
+
} }), lr = [F ? Lt(F) : null, ee ? ee.toUpperCase() : null, Me || "Read-only copy"].filter(Boolean).join(" · "), cr = (T) => /* @__PURE__ */ i("div", { className: "ctrans", children: se.noVoice ? se.noVoiceNote : /* @__PURE__ */ g(_e, { children: [
|
|
5701
|
+
/* @__PURE__ */ g("div", { className: "ctrans__row", children: [
|
|
5702
5702
|
/* @__PURE__ */ i("span", { className: "ctrans__sp", "aria-hidden": "true" }),
|
|
5703
|
-
/* @__PURE__ */
|
|
5703
|
+
/* @__PURE__ */ g("div", { className: "ctrans__mid", children: [
|
|
5704
5704
|
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Previous segment", title: "Previous segment", style: { opacity: x.idx <= 0 ? 0.3 : 1 }, onClick: x.prev, children: /* @__PURE__ */ i(oe, { d: J.chevronLeft, size: 16, sw: 1.8 }) }),
|
|
5705
5705
|
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__play", "aria-label": se.relang ? "Preparing audio" : x.playing ? "Pause" : "Play", title: se.relang ? "Preparing audio…" : se.playTitle ?? (x.playing ? "Pause" : "Play"), disabled: !jt, onClick: x.toggle, children: se.relang ? /* @__PURE__ */ i("span", { className: "ctrans__spin" }) : /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: 16, height: 16, fill: "currentColor", "aria-hidden": "true", style: x.playing ? void 0 : { marginLeft: 2 }, children: x.playing ? Al : El }) }),
|
|
5706
|
-
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: x.idx >=
|
|
5706
|
+
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: x.idx >= ge.length - 1 ? 0.3 : 1 }, onClick: x.next, children: /* @__PURE__ */ i(oe, { d: J.chevronRight, size: 16, sw: 1.8 }) })
|
|
5707
5707
|
] }),
|
|
5708
5708
|
/* @__PURE__ */ i("span", { className: "ctrans__mute", children: rn(36) })
|
|
5709
5709
|
] }),
|
|
5710
5710
|
/* @__PURE__ */ i("div", { className: "ctrans__scrub", children: Qi(T) })
|
|
5711
|
-
] }) }), ia = kl("ga", { tabs: Rt, cur: p, pref: (Er = Rt[0]) == null ? void 0 : Er.key, onPick: N }), ur = Math.max(0, Math.min(100, Math.round(U))), aa = Y && /* @__PURE__ */
|
|
5711
|
+
] }) }), ia = kl("ga", { tabs: Rt, cur: p, pref: (Er = Rt[0]) == null ? void 0 : Er.key, onPick: N }), ur = Math.max(0, Math.min(100, Math.round(U))), aa = Y && /* @__PURE__ */ g("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
|
|
5712
5712
|
Pe && /* @__PURE__ */ i("div", { className: "gfull__holdbg", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Pe}/hqdefault.jpg)` } }),
|
|
5713
|
-
/* @__PURE__ */ i("div", { className: "gfull__hold", children: n ? /* @__PURE__ */
|
|
5713
|
+
/* @__PURE__ */ i("div", { className: "gfull__hold", children: n ? /* @__PURE__ */ g(_e, { children: [
|
|
5714
5714
|
Ke && /* @__PURE__ */ i("div", { className: "gfull__holdt", children: Ke }),
|
|
5715
5715
|
/* @__PURE__ */ i("div", { className: "gfull__holdpct", children: Ne === "transcribing" ? `${ur}%` : /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin" }) }),
|
|
5716
5716
|
/* @__PURE__ */ i("div", { className: "gfull__holdbar", children: /* @__PURE__ */ i("div", { style: { width: `${Ne === "transcribing" ? ur : 0}%` } }) }),
|
|
5717
|
-
/* @__PURE__ */
|
|
5717
|
+
/* @__PURE__ */ g("div", { className: "gfull__holds", children: [
|
|
5718
5718
|
Ne === "transcribing" ? "Transcribing" : Ne === "cropping" ? "Preparing the video" : "Waiting to start",
|
|
5719
5719
|
Ne === "transcribing" && (ie != null && ie.segmentsDone) ? ` · ${it.toLowerCase()}` : ""
|
|
5720
5720
|
] }),
|
|
@@ -5732,37 +5732,37 @@ function Ec(t) {
|
|
|
5732
5732
|
const la = t.endCard !== !1 && Jn && !oa && /* @__PURE__ */ i(Lc, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => Kn(!0), onReplay: () => {
|
|
5733
5733
|
Kn(!0), Je.current = !0, x.seekFrac ? x.seekFrac(0) : x.seekRow(0), x.playing || x.toggle();
|
|
5734
5734
|
} });
|
|
5735
|
-
if (u) return /* @__PURE__ */
|
|
5735
|
+
if (u) return /* @__PURE__ */ g(_e, { children: [
|
|
5736
5736
|
s ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Zn }) : aa || It || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
|
|
5737
5737
|
la,
|
|
5738
5738
|
qn
|
|
5739
5739
|
] });
|
|
5740
5740
|
if (r) {
|
|
5741
5741
|
const T = Sn && !Dt && !s && /* @__PURE__ */ i("div", { className: "pubdeskctl", children: cr(!0) }), pe = !s && (Rt.length > 0 || Dt || !!se.sidePanel || !!T);
|
|
5742
|
-
return /* @__PURE__ */
|
|
5743
|
-
/* @__PURE__ */ i("div", { className: "dhead dhead--listener dhead--cols", children: /* @__PURE__ */
|
|
5744
|
-
/* @__PURE__ */ i("div", { className: "gcolhead__main", children: /* @__PURE__ */
|
|
5742
|
+
return /* @__PURE__ */ g(_e, { children: [
|
|
5743
|
+
/* @__PURE__ */ i("div", { className: "dhead dhead--listener dhead--cols", children: /* @__PURE__ */ g("div", { className: "gcolhead", children: [
|
|
5744
|
+
/* @__PURE__ */ i("div", { className: "gcolhead__main", children: /* @__PURE__ */ g("div", { className: "gcolhead__col", children: [
|
|
5745
5745
|
/* @__PURE__ */ i("div", { style: { flex: "none" }, children: /* @__PURE__ */ i(In, { dark: a, height: 20.38 }) }),
|
|
5746
|
-
!s && /* @__PURE__ */
|
|
5746
|
+
!s && /* @__PURE__ */ g("div", { className: "dhead__session", children: [
|
|
5747
5747
|
/* @__PURE__ */ i("span", { className: "t", children: n ? Ke : "" }),
|
|
5748
5748
|
/* @__PURE__ */ i("span", { className: "s", children: n ? lr : "" })
|
|
5749
5749
|
] })
|
|
5750
5750
|
] }) }),
|
|
5751
5751
|
pe && /* @__PURE__ */ i("div", { className: "gcolhead__side" })
|
|
5752
5752
|
] }) }),
|
|
5753
|
-
/* @__PURE__ */
|
|
5754
|
-
/* @__PURE__ */
|
|
5753
|
+
/* @__PURE__ */ g("div", { className: "listenerlive listenerlive--cols listenerlive--pub", children: [
|
|
5754
|
+
/* @__PURE__ */ g("div", { className: "listenerlive__main", children: [
|
|
5755
5755
|
Zn,
|
|
5756
5756
|
!s && tn,
|
|
5757
5757
|
ar,
|
|
5758
5758
|
O && /* @__PURE__ */ i("div", { className: "pubflash", children: O }),
|
|
5759
5759
|
!s && /* @__PURE__ */ i("div", { className: "listenerlive__inner", style: { flex: 1, minHeight: 0, display: "flex", flexDirection: "column", marginTop: 6 }, children: or }),
|
|
5760
|
-
!s && /* @__PURE__ */
|
|
5760
|
+
!s && /* @__PURE__ */ g("div", { className: "listenerlive__inner gdeskbar", "data-transport": "1", children: [
|
|
5761
5761
|
Ee.can && /* @__PURE__ */ i("span", { className: "barchip", style: Ee.active ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)", borderRadius: 12 } : void 0, children: /* @__PURE__ */ i(vn, { flag: Ee.flag, code: Ee.code, label: Ee.label, bordered: !1, onClick: Ee.onClick }) }),
|
|
5762
5762
|
Ys
|
|
5763
5763
|
] })
|
|
5764
5764
|
] }),
|
|
5765
|
-
pe && /* @__PURE__ */
|
|
5765
|
+
pe && /* @__PURE__ */ g(zl, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
|
|
5766
5766
|
!se.sidePanel && T,
|
|
5767
5767
|
!se.sidePanel && Ws,
|
|
5768
5768
|
!se.sidePanel && Rt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(vl, { col: ia, order: ["summary", "export"], onPick: N, grip: { summary: 40, export: 28 }, render: (Ye) => /* @__PURE__ */ i(Yr, { panel: !0, children: _s(Ye) }) }) }),
|
|
@@ -5775,24 +5775,24 @@ function Ec(t) {
|
|
|
5775
5775
|
qn
|
|
5776
5776
|
] });
|
|
5777
5777
|
}
|
|
5778
|
-
const ca = Rt.length > 0 && !w && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */
|
|
5778
|
+
const ca = Rt.length > 0 && !w && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ g(Yr, { panel: !0, children: [
|
|
5779
5779
|
/* @__PURE__ */ i(Ii, { tabs: Rt, current: p, onPick: N, gap: p !== "none" }),
|
|
5780
5780
|
p !== "none" && _s(p)
|
|
5781
5781
|
] }) });
|
|
5782
|
-
return /* @__PURE__ */
|
|
5782
|
+
return /* @__PURE__ */ g(_e, { children: [
|
|
5783
5783
|
/* @__PURE__ */ i(lc, { dark: a, title: n ? Ke : "", subline: n ? lr : "", onOptions: () => S(!0), optionsActive: j }),
|
|
5784
5784
|
Zn,
|
|
5785
5785
|
ar,
|
|
5786
5786
|
!s && ca,
|
|
5787
5787
|
!s && Ws,
|
|
5788
|
-
!s && /* @__PURE__ */
|
|
5788
|
+
!s && /* @__PURE__ */ g("div", { style: { position: "relative", flex: 1, minHeight: 0, display: "flex", flexDirection: "column" }, children: [
|
|
5789
5789
|
tn,
|
|
5790
5790
|
or,
|
|
5791
5791
|
O && /* @__PURE__ */ i("div", { className: "txflash", children: O })
|
|
5792
5792
|
] }),
|
|
5793
|
-
!s && /* @__PURE__ */
|
|
5793
|
+
!s && /* @__PURE__ */ g("div", { className: "gbottom", "data-transport": "1", children: [
|
|
5794
5794
|
Sn && !Dt && /* @__PURE__ */ i("div", { className: "pubctl", children: cr(!1) }),
|
|
5795
|
-
/* @__PURE__ */
|
|
5795
|
+
/* @__PURE__ */ g("div", { className: "gbottom__bar", children: [
|
|
5796
5796
|
Ee.can && /* @__PURE__ */ i("div", { style: { flex: "none" }, children: $n({ width: 87 }, void 0) }),
|
|
5797
5797
|
/* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0 }, children: Ys })
|
|
5798
5798
|
] })
|