@vocalstack/player 0.1.0-alpha.15 → 0.1.0-alpha.16
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 +478 -478
- package/dist/index.js.map +1 -1
- package/dist/ui/VocalStackPlayer.d.ts +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var da = Object.defineProperty;
|
|
2
2
|
var Ma = (t, e, n) => e in t ? da(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
|
|
3
3
|
var de = (t, e, n) => Ma(t, typeof e != "symbol" ? e + "" : e, n);
|
|
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
|
|
4
|
+
import { jsx as i, jsxs as g, Fragment as Ue } 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 ha, useCallback as Xe, Fragment as ga, forwardRef as fa, useImperativeHandle as Na } from "react";
|
|
6
6
|
import { createPortal as pa } from "react-dom";
|
|
7
7
|
import { VocalStackError as ni, VocalStack as si } from "@vocalstack/js-sdk";
|
|
8
8
|
const ri = "https://vocalstack.com", ma = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzU1YWJlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZmZmZmZmIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", ya = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDUxLjY5MDciIGhlaWdodD0iMTU1LjMwNjQxIiB2aWV3Qm94PSIwIDAgMTA1MS42OTA2IDE1NS4zMDY0MSI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODczNDc3MSwwLDAsMC44OTExODY4MiwtNDIuNzE2NjMsLTEyMy44NTM4OCkiPjxwYXRoIHN0eWxlPSJmaWxsOiMyNDVCOEY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDE2NS43NDM2OSwzMTIuMzQ1MTQgYyAtMy42NTkwNCwtMC45NTg2MSAtNi44OTEzMSwtMy4zNTM0OCAtOS4yMTQ5NCwtNi44Mjc1OSAtMS45MTIyNiwtMi44NTkwOCAtMi4zOTcwNSwtNC41Njk3MSAtMi4zOTcwNSwtOC40NTgzNiAwLC0zLjk5MjU0IDAuMDgyNCwtNC4yNzU3IDQuMjMwMTIsLTE0LjU0NTUzIDQuMDA5MjMsLTkuOTI2ODEgMTEuNzQ1OTcsLTI5LjYwODA0IDE0LjE3MjU0LC0zNi4wNTMwMiAxLjA1NTUsLTIuODAzNDQgNC42MzU3OSwtMTIuMDkwMiA3Ljk1NjE5LC0yMC42MzcyNSAzLjMyMDQsLTguNTQ3MDYgOS40NzI2NSwtMjQuNDkxMiAxMy42NzE2OCwtMzUuNDMxNDMgOS40MTE2MywtMjQuNTIxMjUgMTIuMTUxMjQsLTMxLjM5NjE0IDE0LjE5MjIyLC0zNS42MTQ1NSAxLjMzMjI5LC0yLjc1MzY0IDEuODc4NjcsLTMuNTkyNTggMy4zNDU0NiwtNS4xMzY3MiAxLjk2ODIyLC0yLjA3MjAzIDQuMDk4NCwtMy41NjI1MyA2LjQ2Njg3LC00LjUyNDkzIDEuMjcxMzgsLTAuNTE2NiAyLjI1NzYzLC0wLjY5MzAyIDQuODI2NzksLTAuODYzNCA1LjIxODMsLTAuMzQ2MDcgMjQuNTc0NjIsLTAuNTU0NTggMjQuOTg1MDgsLTAuMjY5MTQgMC40Mzc5NywwLjMwNDU2IDEuMTMxMzEsLTEuNTAwMjEgLTE1LjE1NDEyLDM5LjQ0Njc4IC0yMC42ODg0Miw1Mi4wMTc1NyAtMjguOTYxODUsNzIuOTgyNjUgLTM2Ljc1MTgxLDkzLjEzMDA0IC04LjQwMzU2LDIxLjczNDM0IC05LjM5NDk1LDI0LjIwNzY0IC0xMC43NjMxNiwyNi44NTE2NSAtMi4zNTQ1LDQuNTUgLTYuMzgyNCw3Ljc4MzMxIC0xMS4yNzY2MSw5LjA1MjA3IC0yLjA3MjU5LDAuNTM3MjkgLTYuMDAwMTUsMC40ODEwOSAtOC4yODkyNiwtMC4xMTg2MiB6Ii8+PHBhdGggc3R5bGU9ImZpbGw6IzI0NUI4RjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4zNzI5NjIiIGQ9Im0gMTIyLjQ5MjIsMzEyLjU4OTE2IGMgLTQuMDc5NTYsLTAuNzMyNTggLTguNjUxMjMsLTMuOTM0MSAtMTEuMjMyNTgsLTcuODY2MTYgLTAuNzMwMDQsLTEuMTEyMDMgLTEuODU0NTksLTMuNDgzMjYgLTIuODQzMDksLTUuOTk0OTYgLTAuODk5NDMsLTIuMjg1NCAtNC43NjI4NywtMTIuMTU1MyAtOC41ODU0MDksLTIxLjkzMzEzIC0zLjgyMjU0LC05Ljc3NzgzIC04LjQ3OTA3MiwtMjEuNjM4MDMgLTEwLjM0Nzg1MiwtMjYuMzU2MDEgLTEuODY4NzgsLTQuNzE3OTcgLTcuNDA0OTY4LC0xOC44MTU5NSAtMTIuMzAyNjQ2LC0zMS4zMjg4NCAtNC44OTc2ODEsLTEyLjUxMjg4IC0xMC44NjE5MjMsLTI3LjcyOTc1IC0xMy4yNTM4NzYsLTMzLjgxNTI1IC0yLjM5MTk1MywtNi4wODU1IC01LjY2NTIxNiwtMTQuNDc3MTUgLTcuMjczOTE4LC0xOC42NDgxMSAtMS42MDg2OTgsLTQuMTcwOTcgLTQuMjM1OTUsLTEwLjg0ODI2IC01LjgzODMzNCwtMTQuODM4NDMgLTIuMDcyNzc5LC01LjE2MTUzIC0yLjgzNjUwOSwtNy4zMzE3NyAtMi42NDY4NjksLTcuNTIxNCAwLjM0NzkwMywtMC4zNDc5MSAyMC44Mjg4ODcsLTAuMzU5MTcgMjQuNzMyODc0LC0wLjAxMzYgNC42NDkyNTYsMC40MTE1NCA3LjAxMjg0OCwxLjUyODExIDEwLjUxNzU0Niw0Ljk2ODUyIDEuNDUwODE5LDEuNDI0MjEgMi4zOTgsMi42MDIxMyAyLjkwNDM3NSwzLjYxMTkgMS43OTg2OTMsMy41ODY3OCA4LjQxODEwMywyMC4wMjg2OSAxOC42NjYyNzksNDYuMzY1MDYgMy42OTgzOSw5LjUwNDMyIDExLjE2MDY3LDI4LjQxMzUxIDE2LjU4Mjg1LDQyLjAyMDQyIDE0LjYzNDMzLDM2LjcyNDY3IDE4Ljc0NzUzLDQ3LjEzNzY1IDE5LjUzOTc1LDQ5LjQ2Njg3IDIuMjI5ODEsNi41NTU4OSAxLjA1NTMzLDEyLjcwMjE0IC0zLjMwNDI2LDE3LjI5MTc2IC0zLjEwMzU5LDMuMjY3MzYgLTYuMjIwNDMsNC42MDg0NSAtMTEuMDIxNzgsNC43NDI0IC0xLjY0MzMxLDAuMDQ1OCAtMy41NzUxOCwtMC4wMjIxIC00LjI5MzA2LC0wLjE1MTAzIHoiLz48cmVjdCBzdHlsZT0iZmlsbDojZWM2MzRkIiB3aWR0aD0iMTEuMjY5NTQiIGhlaWdodD0iNDIuMDk3NjIyIiB4PSIxNjQuODgwMTQiIHk9IjE3Ni4yNTkwOSIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjYyMTU2IiBoZWlnaHQ9Ijg3LjAzODYwNSIgeD0iMTQyLjE1ODY4IiB5PSIxNTMuNzg4NiIgcnk9IjUuNjEwNDk2Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2VjNjM0ZCIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTE5Ljc4OTI0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjwvZz48cGF0aCBzdHlsZT0iZmlsbDojZWM2MzRkIiBkPSJtIDIyMi4yNTEzMiw2OC40Nzk4OTcgcSAtMTIuNzk5OTgsMCAtMjEuNzU5OTcsOC45NTk5ODYgLTguOTU5OTgsOC45NTk5ODYgLTguOTU5OTgsMjEuNzU5OTY1IDAsMTIuNTg2NjQyIDguOTU5OTgsMjEuNTQ2NjMyIDQuMjY2NjYsNC40Nzk5OSA5LjgxMzMyLDYuODI2NjYgNS43NTk5OSwyLjEzMzMzIDExLjk0NjY1LDIuMTMzMzMgNi4xODY2NiwwIDExLjczMzMxLC0yLjEzMzMzIDUuNTQ2NjYsLTIuMzQ2NjcgMTAuMDI2NjUsLTYuODI2NjYgOC45NTk5OSwtOC45NTk5OSA4Ljk1OTk5LC0yMS41NDY2MzIgMCwtMTIuNzk5OTc5IC04Ljk1OTk5LC0yMS43NTk5NjUgLTkuMzg2NjUsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgeiBtIDAsLTI1LjU5OTk1OSBxIDExLjczMzMxLDAgMjEuOTczMyw0LjQ3OTk5MyAxMC4yMzk5OCw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCA3LjY3OTk5LDcuNjc5OTg3IDExLjk0NjY1LDE3LjkxOTk3MSA0LjQ3OTk5LDEwLjIzOTk4NCA0LjQ3OTk5LDIxLjk3MzI5OCAwLDExLjUxOTk4MiAtNC40Nzk5OSwyMS43NTk5NjIgLTQuMjY2NjYsMTAuMjM5OTkgLTExLjk0NjY1LDE3LjkxOTk3IC03LjY3OTk5LDcuNjc5OTkgLTE3LjkxOTk3LDEyLjE1OTk5IC0xMC4yMzk5OSw0LjI2NjY2IC0yMS45NzMzLDQuMjY2NjYgLTExLjczMzMyLDAgLTIxLjk3MzMsLTQuMjY2NjYgLTEwLjIzOTk4LC00LjQ4IC0xNy45MTk5NywtMTIuMTU5OTkgLTcuNjc5OTksLTcuNjc5OTggLTEyLjE1OTk4LC0xNy45MTk5NyAtNC4yNjY2NiwtMTAuMjM5OTggLTQuMjY2NjYsLTIxLjc1OTk2MiAwLC0xMS43MzMzMTQgNC4yNjY2NiwtMjEuOTczMjk4IDQuNDc5OTksLTEwLjIzOTk4NCAxMi4xNTk5OCwtMTcuOTE5OTcxIDcuNjc5OTksLTcuNjc5OTg4IDE3LjkxOTk3LC0xMS45NDY2NDggMTAuMjM5OTgsLTQuNDc5OTkzIDIxLjk3MzMsLTQuNDc5OTkzIHogTSAzODMuMzE3OSwxMzguODc5NzggcSAtNy42Nzk5OSw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTksNC4yNjY2NiAtMjEuOTczMyw0LjI2NjY2IC0xMS43MzMzMiwwIC0yMS45NzMzLC00LjI2NjY2IC0xMC4yMzk5OCwtNC40OCAtMTcuOTE5OTcsLTEyLjE1OTk5IC03LjY3OTk5LC03LjY3OTk4IC0xMi4xNTk5OCwtMTcuOTE5OTcgLTQuMjY2NjYsLTEwLjIzOTk4IC00LjI2NjY2LC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMjY2NjYsLTIxLjk3MzI5OCA0LjQ3OTk5LC0xMC4yMzk5ODQgMTIuMTU5OTgsLTE3LjkxOTk3MSA3LjY3OTk5LC03LjY3OTk4OCAxNy45MTk5NywtMTEuOTQ2NjQ4IDEwLjIzOTk4LC00LjQ3OTk5MyAyMS45NzMzLC00LjQ3OTk5MyAxMS43MzMzMSwwIDIxLjk3MzMsNC40Nzk5OTMgMTAuMjM5OTgsNC4yNjY2NiAxNy45MTk5NywxMS45NDY2NDggbCAtMTguMTMzMzEsMTguMTMzMzA0IHEgLTguOTU5OTgsLTguOTU5OTg2IC0yMS43NTk5NiwtOC45NTk5ODYgLTEyLjM3MzMyLDAgLTIxLjc1OTk3LDguOTU5OTg2IC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjQ4LDQuNDc5OTkgMTAuMDI2NjUsNi44MjY2NiA1LjU0NjY2LDIuMTMzMzMgMTEuNzMzMzIsMi4xMzMzMyAxMy4wMTMzMSwwIDIxLjc1OTk2LC04Ljk1OTk5IHogTSA0OTguMDkxMTQsNDUuNjUzMjY3IFYgMTUyLjUzMzEgSCA0NzIuNDkxMTggViA5OS4xOTk4NDggcSAwLC0xMi43OTk5NzkgLTguOTU5OTgsLTIxLjc1OTk2NSAtOC45NTk5OSwtOC45NTk5ODYgLTIxLjc1OTk3LC04Ljk1OTk4NiAtNi4xODY2NiwwIC0xMS45NDY2NSwyLjM0NjY2MyAtNS41NDY2NSwyLjM0NjY2MyAtOS44MTMzMSw2LjYxMzMyMyAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC4yNjY2Niw0LjQ3OTk5IDkuODEzMzEsNi44MjY2NiA1Ljc1OTk5LDIuMTMzMzMgMTEuOTQ2NjUsMi4xMzMzMyA2LjM5OTk5LDAgMTEuNTE5OTgsLTIuMTMzMzMgbCA5LjE3MzMyLDIyLjgyNjYzIHEgLTkuODEzMzIsNC45MDY2NiAtMjIuODI2NjMsNC45MDY2NiAtMTEuNzMzMzEsMCAtMjEuNzU5OTYsLTQuMjY2NjYgLTkuODEzMzIsLTQuNDggLTE3LjA2NjY0LC0xMi4xNTk5OSAtNy4yNTMzMiwtNy42Nzk5OCAtMTEuMzA2NjUsLTE3LjkxOTk3IC00LjA1MzMzLC0xMC4yMzk5OCAtNC4wNTMzMywtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjA1MzMzLC0yMS45NzMyOTggNC4wNTMzMywtMTAuMjM5OTg0IDExLjMwNjY1LC0xNy45MTk5NzEgNy4yNTMzMiwtNy42Nzk5ODggMTcuMDY2NjQsLTExLjk0NjY0OCAxMC4wMjY2NSwtNC40Nzk5OTMgMjEuNzU5OTYsLTQuNDc5OTkzIDEwLjQ1MzMyLDAgMTguNTU5OTcsMy4xOTk5OTUgOC4xMDY2NiwzLjE5OTk5NSAxNC4yOTMzMSw4LjEwNjY1NCB2IC04LjUzMzMyIHogTSA1MzguNjI0NDYsMTUyLjUzMzEgSCA1MTMuMDI0NSBWIDMuMjAwMDAxNSBoIDI1LjU5OTk2IFYgMTUyLjUzMzEgWiBtIDEyMC4xMDY1OSwtNDIuNjY2NiBxIDAsMTAuNDUzMzEgLTMuNDEzMzMsMTguOTg2NjMgLTMuNDEzMzIsOC4zMTk5OSAtOS44MTMzMSwxNC4yOTMzMSAtNi4xODY2Niw1Ljc2IC0xNS4xNDY2NSw4Ljk1OTk5IC04Ljk1OTk4LDMuMiAtMjAuMDUzMywzLjIgLTE3LjcwNjY0LDAgLTMxLjU3MzI4LC01LjU0NjY2IC0xMy44NjY2NCwtNS43NTk5OSAtMjIuODI2NjMsLTEzLjAxMzMyIGwgMTcuNzA2NjQsLTE3LjcwNjYzIHEgNy4wMzk5OSw2LjM5OTk5IDE1Ljc4NjY0LDkuODEzMzEgNS4zMzMzMiwyLjEzMzMzIDEwLjAyNjY1LDIuNzczMzMgNC42OTMzMywwLjY0IDcuNjc5OTksMC42NCA1LjU0NjY2LDAgMTAuMDI2NjUsLTEuMjggNC42OTMzMiwtMS40OTMzMyA4LjEwNjY1LC0zLjgzOTk5IDcuMjUzMzIsLTUuMzMzMzIgNy4yNTMzMiwtMTQuMDc5OTggMCwtNS4zMzMzMiAtMy44Mzk5OSwtOS41OTk5OCAtMi45ODY2NiwtMy40MTMzMyAtNy42Nzk5OSwtNS41NDY2NiAtMy44Mzk5OSwtMi4xMzMzMyAtOC4xMDY2NSwtMy40MTMzMjggLTQuMjY2NjYsLTEuMjc5OTk4IC03LjY3OTk5LC0yLjM0NjY2MyAtMS4wNjY2NiwtMC40MjY2NjYgLTEuOTIsLTAuNDI2NjY2IC0wLjg1MzMzLC0wLjIxMzMzMyAtMS40OTMzMywtMC42Mzk5OTkgLTAuNDI2NjYsMCAtMS4yNzk5OSwtMC40MjY2NjYgLTQuNDgsLTEuMjc5OTk3IC0xMy4wMTMzMiwtNC40Nzk5OTIgLTguMzE5OTgsLTMuMTk5OTk1IC0xNi42Mzk5NywtOC43NDY2NTMgLTE5LjQxMzMsLTEzLjAxMzMxMyAtMTkuNDEzMywtMzEuOTk5OTQ5IDAsLTEyLjU4NjY0NyA0LjI2NjY2LC0yMS4xMTk5NjYgNC40Nzk5OSwtOC43NDY2NTMgMTEuNTE5OTgsLTE0LjA3OTk3OCA3LjAzOTk5LC01LjU0NjY1NzUgMTUuNTczMzEsLTcuODkzMzIwNCBRIDU5MS41MzExNiw2LjYzNzU3MzNlLTYgNTk5Ljg1MTE1LDYuNjM3NTczM2UtNiBxIDE1LjM1OTk3LDAgMjUuODEzMjksMy42MjY2NjA4NjI0MjY3IDEwLjQ1MzMyLDMuNjI2NjYwOSAxNi42Mzk5Nyw3LjI1MzMyMTUgMy4yLDEuOTE5OTk3IDUuMzMzMzMsMy44Mzk5OTQgMi4zNDY2NiwxLjcwNjY2NCA0LjA1MzMyLDMuMTk5OTk1IGwgLTE4LjEzMzMsMTguMzQ2NjM3IHEgLTUuNzU5OTksLTUuNzU5OTkgLTExLjczMzMyLC04Ljc0NjY1MiAtOC45NTk5OCwtNC4yNjY2NiAtMTguNzczMywtNC4yNjY2NiAtNC4yNjY2NiwwIC04LjUzMzMyLDEuMDY2NjY1IC00LjI2NjY2LDEuMDY2NjY1IC03LjQ2NjY1LDIuNzczMzI5IC05LjM4NjY1LDUuNzU5OTkgLTkuMzg2NjUsMTUuMTQ2NjQyIDAsNS43NTk5OTEgMy44Mzk5OSw5LjgxMzMxOCAyLjc3MzMzLDMuMTk5OTk1IDcuNjc5OTksNS43NTk5OTEgNC4wNTMzMiwyLjEzMzMzIDguNTMzMzIsMy40MTMzMjggNC40Nzk5OSwxLjI3OTk5NyA4LjMxOTk4LDIuMzQ2NjYyIGwgMi41NiwwLjYzOTk5OSBxIDEuMDY2NjYsMC40MjY2NjYgNC4wNTMzMywxLjI3OTk5OCAyLjk4NjY2LDAuODUzMzMyIDcuMDM5OTgsMi41NTk5OTYgNC4wNTMzMywxLjcwNjY2NCA4Ljc0NjY2LDQuMDUzMzI3IDQuOTA2NjYsMi4zNDY2NjMgOS41OTk5OCw1LjU0NjY1OCAyMC42OTMzLDEzLjY1MzMxMSAyMC42OTMzLDMyLjIxMzI4NCB6IG0gNjkuMTE5NzcsNDIuNjY2NiBoIC0yMy40NjY2MyBxIC03LjI1MzMyLDAgLTEzLjY1MzMxLC0yLjc3MzMzIC02LjM5OTk5LC0yLjc3MzMzIC0xMS4wOTMzMiwtNy40NjY2NiAtNC42OTMzMiwtNC45MDY2NiAtNy40NjY2NSwtMTEuMzA2NjUgLTIuNzczMzMsLTYuMzk5OTkgLTIuNzczMzMsLTEzLjY1MzMxIFYgMjQuMzE5OTY4IGwgMjUuNTk5OTYsLTYuMzk5OTkgViA1OC42NjY1OCBoIDE0LjkzMzMxIGwgNi4zOTk5OSwyNS41OTk5NTkgaCAtMjEuMzMzMyB2IDMzLjA2NjYxMSBxIDAsNC4wNTMzMyAyLjc3MzMzLDYuODI2NjYgMi43NzMzMywyLjc3MzMzIDYuNjEzMzIsMi43NzMzMyBoIDE3LjA2NjY0IHogbSAxMTEuMzYsLTEwNi44Nzk4MzMgViAxNTIuNTMzMSBIIDgxMy42MTA4NiBWIDk5LjE5OTg0OCBxIDAsLTEyLjc5OTk3OSAtOC45NTk5OSwtMjEuNzU5OTY1IC04Ljk1OTk4LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC02LjE4NjY2LDAgLTExLjk0NjY1LDIuMzQ2NjYzIC01LjU0NjY2LDIuMzQ2NjYzIC05LjgxMzMyLDYuNjEzMzIzIC04Ljk1OTk4LDguOTU5OTg2IC04Ljk1OTk4LDIxLjc1OTk2NSAwLDEyLjU4NjY0MiA4Ljk1OTk4LDIxLjU0NjYzMiA0LjI2NjY2LDQuNDc5OTkgOS44MTMzMiw2LjgyNjY2IDUuNzU5OTksMi4xMzMzMyAxMS45NDY2NSwyLjEzMzMzIDYuMzk5OTksMCAxMS41MTk5OCwtMi4xMzMzMyBsIDkuMTczMzIsMjIuODI2NjMgcSAtOS44MTMzMiw0LjkwNjY2IC0yMi44MjY2Myw0LjkwNjY2IC0xMS43MzMzMiwwIC0yMS43NTk5NywtNC4yNjY2NiAtOS44MTMzMiwtNC40OCAtMTcuMDY2NjQsLTEyLjE1OTk5IC03LjI1MzMyLC03LjY3OTk4IC0xMS4zMDY2NSwtMTcuOTE5OTcgLTQuMDUzMzIsLTEwLjIzOTk4IC00LjA1MzMyLC0yMS43NTk5NjIgMCwtMTEuNzMzMzE0IDQuMDUzMzIsLTIxLjk3MzI5OCA0LjA1MzMzLC0xMC4yMzk5ODQgMTEuMzA2NjUsLTE3LjkxOTk3MSA3LjI1MzMyLC03LjY3OTk4OCAxNy4wNjY2NCwtMTEuOTQ2NjQ4IDEwLjAyNjY1LC00LjQ3OTk5MyAyMS43NTk5NywtNC40Nzk5OTMgMTAuNDUzMzEsMCAxOC41NTk5NywzLjE5OTk5NSA4LjEwNjY1LDMuMTk5OTk1IDE0LjI5MzMxLDguMTA2NjU0IHYgLTguNTMzMzIgeiBtIDEwNy45NDY1Miw5My4yMjY1MTMgcSAtNy42Nzk5OCw3LjY3OTk5IC0xNy45MTk5NywxMi4xNTk5OSAtMTAuMjM5OTgsNC4yNjY2NiAtMjEuOTczMjksNC4yNjY2NiAtMTEuNzMzMzIsMCAtMjEuOTczMywtNC4yNjY2NiAtMTAuMjM5OTksLTQuNDggLTE3LjkxOTk3LC0xMi4xNTk5OSAtNy42Nzk5OSwtNy42Nzk5OCAtMTIuMTU5OTgsLTE3LjkxOTk3IC00LjI2NjY2LC0xMC4yMzk5OCAtNC4yNjY2NiwtMjEuNzU5OTYyIDAsLTExLjczMzMxNCA0LjI2NjY2LC0yMS45NzMyOTggNC40Nzk5OSwtMTAuMjM5OTg0IDEyLjE1OTk4LC0xNy45MTk5NzEgNy42Nzk5OCwtNy42Nzk5ODggMTcuOTE5OTcsLTExLjk0NjY0OCAxMC4yMzk5OCwtNC40Nzk5OTMgMjEuOTczMywtNC40Nzk5OTMgMTEuNzMzMzEsMCAyMS45NzMyOSw0LjQ3OTk5MyAxMC4yMzk5OSw0LjI2NjY2IDE3LjkxOTk3LDExLjk0NjY0OCBsIC0xOC4xMzMzLDE4LjEzMzMwNCBxIC04Ljk1OTk5LC04Ljk1OTk4NiAtMjEuNzU5OTYsLTguOTU5OTg2IC0xMi4zNzMzMiwwIC0yMS43NTk5Nyw4Ljk1OTk4NiAtOC45NTk5OSw4Ljk1OTk4NiAtOC45NTk5OSwyMS43NTk5NjUgMCwxMi41ODY2NDIgOC45NTk5OSwyMS41NDY2MzIgNC40Nzk5OSw0LjQ3OTk5IDEwLjAyNjY1LDYuODI2NjYgNS41NDY2NiwyLjEzMzMzIDExLjczMzMyLDIuMTMzMzMgMTMuMDEzMzEsMCAyMS43NTk5NiwtOC45NTk5OSB6IE0gMTA1MS42OTA3LDQ1Ljg2NjYgOTk4LjM1NzQsOTkuMTk5ODQ4IDEwNTEuNjkwNywxNTIuNTMzMSBoIC0zNi4wNTMzIEwgOTgwLjIyNDEsMTE3LjExOTgyIFYgMTUyLjUzMzEgSCA5NTQuNjI0MTQgViAzLjIwMDAwMTUgSCA5ODAuMjI0MSBWIDgxLjA2NjU0NCBMIDEwMTUuNDI0LDQ1Ljg2NjYgaCAzNi4yNjY3IHoiLz48L3N2Zz4=", Ta = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0Ni45NTU0ODJtbSIgaGVpZ2h0PSIzOS44NDUzMW1tIiB2aWV3Qm94PSIwIDAgNDYuOTU1NDgyIDM5Ljg0NTMxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODAuOTYyNSwtMTI4LjU4NzUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjIzNDc3NzQxLDAsMCwwLjIzNTc5MzE4LDY5LjY2MDM5Miw5NC42Njg4MzgpIj48cGF0aCBzdHlsZT0iZmlsbDojNTVhYmU1O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjM3Mjk2MiIgZD0ibSAxNjUuNzQzNjksMzEyLjM0NTE0IGMgLTMuNjU5MDQsLTAuOTU4NjEgLTYuODkxMzEsLTMuMzUzNDggLTkuMjE0OTQsLTYuODI3NTkgLTEuOTEyMjYsLTIuODU5MDggLTIuMzk3MDUsLTQuNTY5NzEgLTIuMzk3MDUsLTguNDU4MzYgMCwtMy45OTI1NCAwLjA4MjQsLTQuMjc1NyA0LjIzMDEyLC0xNC41NDU1MyA0LjAwOTIzLC05LjkyNjgxIDExLjc0NTk3LC0yOS42MDgwNCAxNC4xNzI1NCwtMzYuMDUzMDIgMS4wNTU1LC0yLjgwMzQ0IDQuNjM1NzksLTEyLjA5MDIgNy45NTYxOSwtMjAuNjM3MjUgMy4zMjA0LC04LjU0NzA2IDkuNDcyNjUsLTI0LjQ5MTIgMTMuNjcxNjgsLTM1LjQzMTQzIDkuNDExNjMsLTI0LjUyMTI1IDEyLjE1MTI0LC0zMS4zOTYxNCAxNC4xOTIyMiwtMzUuNjE0NTUgMS4zMzIyOSwtMi43NTM2NCAxLjg3ODY3LC0zLjU5MjU4IDMuMzQ1NDYsLTUuMTM2NzIgMS45NjgyMiwtMi4wNzIwMyA0LjA5ODQsLTMuNTYyNTMgNi40NjY4NywtNC41MjQ5MyAxLjI3MTM4LC0wLjUxNjYgMi4yNTc2MywtMC42OTMwMiA0LjgyNjc5LC0wLjg2MzQgNS4yMTgzLC0wLjM0NjA3IDI0LjU3NDYyLC0wLjU1NDU4IDI0Ljk4NTA4LC0wLjI2OTE0IDAuNDM3OTcsMC4zMDQ1NiAxLjEzMTMxLC0xLjUwMDIxIC0xNS4xNTQxMiwzOS40NDY3OCAtMjAuNjg4NDIsNTIuMDE3NTcgLTI4Ljk2MTg1LDcyLjk4MjY1IC0zNi43NTE4MSw5My4xMzAwNCAtOC40MDM1NiwyMS43MzQzNCAtOS4zOTQ5NSwyNC4yMDc2NCAtMTAuNzYzMTYsMjYuODUxNjUgLTIuMzU0NSw0LjU1IC02LjM4MjQsNy43ODMzMSAtMTEuMjc2NjEsOS4wNTIwNyAtMi4wNzI1OSwwLjUzNzI5IC02LjAwMDE1LDAuNDgxMDkgLTguMjg5MjYsLTAuMTE4NjIgeiIvPjxwYXRoIHN0eWxlPSJmaWxsOiM1NWFiZTU7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuMzcyOTYyIiBkPSJtIDEyMi40OTIyLDMxMi41ODkxNiBjIC00LjA3OTU2LC0wLjczMjU4IC04LjY1MTIzLC0zLjkzNDEgLTExLjIzMjU4LC03Ljg2NjE2IC0wLjczMDA0LC0xLjExMjAzIC0xLjg1NDU5LC0zLjQ4MzI2IC0yLjg0MzA5LC01Ljk5NDk2IC0wLjg5OTQzLC0yLjI4NTQgLTQuNzYyODcsLTEyLjE1NTMgLTguNTg1NDA5LC0yMS45MzMxMyAtMy44MjI1NCwtOS43Nzc4MyAtOC40NzkwNzIsLTIxLjYzODAzIC0xMC4zNDc4NTIsLTI2LjM1NjAxIC0xLjg2ODc4LC00LjcxNzk3IC03LjQwNDk2OCwtMTguODE1OTUgLTEyLjMwMjY0NiwtMzEuMzI4ODQgLTQuODk3NjgxLC0xMi41MTI4OCAtMTAuODYxOTIzLC0yNy43Mjk3NSAtMTMuMjUzODc2LC0zMy44MTUyNSAtMi4zOTE5NTMsLTYuMDg1NSAtNS42NjUyMTYsLTE0LjQ3NzE1IC03LjI3MzkxOCwtMTguNjQ4MTEgLTEuNjA4Njk4LC00LjE3MDk3IC00LjIzNTk1LC0xMC44NDgyNiAtNS44MzgzMzQsLTE0LjgzODQzIC0yLjA3Mjc3OSwtNS4xNjE1MyAtMi44MzY1MDksLTcuMzMxNzcgLTIuNjQ2ODY5LC03LjUyMTQgMC4zNDc5MDMsLTAuMzQ3OTEgMjAuODI4ODg3LC0wLjM1OTE3IDI0LjczMjg3NCwtMC4wMTM2IDQuNjQ5MjU2LDAuNDExNTQgNy4wMTI4NDgsMS41MjgxMSAxMC41MTc1NDYsNC45Njg1MiAxLjQ1MDgxOSwxLjQyNDIxIDIuMzk4LDIuNjAyMTMgMi45MDQzNzUsMy42MTE5IDEuNzk4NjkzLDMuNTg2NzggOC40MTgxMDMsMjAuMDI4NjkgMTguNjY2Mjc5LDQ2LjM2NTA2IDMuNjk4MzksOS41MDQzMiAxMS4xNjA2NywyOC40MTM1MSAxNi41ODI4NSw0Mi4wMjA0MiAxNC42MzQzMywzNi43MjQ2NyAxOC43NDc1Myw0Ny4xMzc2NSAxOS41Mzk3NSw0OS40NjY4NyAyLjIyOTgxLDYuNTU1ODkgMS4wNTUzMywxMi43MDIxNCAtMy4zMDQyNiwxNy4yOTE3NiAtMy4xMDM1OSwzLjI2NzM2IC02LjIyMDQzLDQuNjA4NDUgLTExLjAyMTc4LDQuNzQyNCAtMS42NDMzMSwwLjA0NTggLTMuNTc1MTgsLTAuMDIyMSAtNC4yOTMwNiwtMC4xNTEwMyB6Ii8+PHJlY3Qgc3R5bGU9ImZpbGw6I2Y3ODQ3MiIgd2lkdGg9IjExLjI2OTU0IiBoZWlnaHQ9IjQyLjA5NzYyMiIgeD0iMTY0Ljg4MDE0IiB5PSIxNzYuMjU5MDkiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS42MjE1NiIgaGVpZ2h0PSI4Ny4wMzg2MDUiIHg9IjE0Mi4xNTg2OCIgeT0iMTUzLjc4ODYiIHJ5PSI1LjYxMDQ5NiIvPjxyZWN0IHN0eWxlPSJmaWxsOiNmNzg0NzIiIHdpZHRoPSIxMS4yNjk1NCIgaGVpZ2h0PSI0Mi4wOTc2MjIiIHg9IjExOS43ODkyNCIgeT0iMTc2LjI1OTA5IiByeT0iNS42MTA0OTYiLz48L2c+PC9nPjwvc3ZnPg==", wa = "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 va({ 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 os({ 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,7 +127,7 @@ function ja({ children: t, onClick: e, label: n, size: s, variant: r, bordered:
|
|
|
127
127
|
}
|
|
128
128
|
function Ln({ flag: t, code: e, label: n, onClick: s, variant: r, block: a, bordered: o = !0, size: l, style: c }) {
|
|
129
129
|
const d = a && !!e;
|
|
130
|
-
return /* @__PURE__ */
|
|
130
|
+
return /* @__PURE__ */ g("button", { type: "button", className: `vs-lang-chip${r ? ` vs-lang-chip--${r}` : ""}${a ? " vs-lang-chip--block" : ""}${a && !d ? " 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: [
|
|
131
131
|
t ? /* @__PURE__ */ i("span", { className: "vs-lang-chip__flag", children: t }) : null,
|
|
132
132
|
d ? /* @__PURE__ */ i("span", { className: "vs-lang-chip__name", children: n ?? e }) : a ? null : /* @__PURE__ */ i("span", { className: "vs-lang-chip__code", children: e }),
|
|
133
133
|
/* @__PURE__ */ i(le, { d: X.chevronDown, size: 13, className: "vs-lang-chip__chevron", style: { color: r === "primary" ? "currentColor" : "var(--vs-text-muted)" } })
|
|
@@ -140,7 +140,7 @@ function za({ value: t, label: e = "Copy", onCopied: n }) {
|
|
|
140
140
|
} catch {
|
|
141
141
|
}
|
|
142
142
|
};
|
|
143
|
-
return /* @__PURE__ */
|
|
143
|
+
return /* @__PURE__ */ g(
|
|
144
144
|
"button",
|
|
145
145
|
{
|
|
146
146
|
type: "button",
|
|
@@ -189,23 +189,23 @@ function ls({ children: t, ms: e = 220 }) {
|
|
|
189
189
|
clearTimeout(c), a(Math.min(M, d())), M > d() && (c = setTimeout(() => a(M), e));
|
|
190
190
|
};
|
|
191
191
|
if (u(), typeof ResizeObserver > "u") return () => clearTimeout(c);
|
|
192
|
-
const
|
|
193
|
-
return
|
|
194
|
-
|
|
192
|
+
const h = new ResizeObserver(u);
|
|
193
|
+
return h.observe(o), () => {
|
|
194
|
+
h.disconnect(), clearTimeout(c);
|
|
195
195
|
};
|
|
196
196
|
}, [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 }) });
|
|
197
197
|
}
|
|
198
198
|
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 }) {
|
|
199
|
-
const
|
|
200
|
-
return Ia(
|
|
199
|
+
const h = v(null);
|
|
200
|
+
return Ia(h, t), _(() => {
|
|
201
201
|
if (!t) return;
|
|
202
202
|
const M = (p) => {
|
|
203
203
|
p.key === "Escape" && e();
|
|
204
204
|
};
|
|
205
205
|
return window.addEventListener("keydown", M), () => window.removeEventListener("keydown", M);
|
|
206
|
-
}, [t, e]), t ? /* @__PURE__ */ i("div", { ref:
|
|
206
|
+
}, [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: [
|
|
207
207
|
/* @__PURE__ */ i("div", { className: "vs-sheet__grip" }),
|
|
208
|
-
/* @__PURE__ */
|
|
208
|
+
/* @__PURE__ */ g("div", { className: "vs-sheet__head", children: [
|
|
209
209
|
s ?? /* @__PURE__ */ i("span", { className: "vs-sheet__title", children: n }),
|
|
210
210
|
/* @__PURE__ */ i("button", { type: "button", className: "vs-sheet__done", onClick: e, children: a })
|
|
211
211
|
] }),
|
|
@@ -695,16 +695,16 @@ const nt = class nt {
|
|
|
695
695
|
let o = 0;
|
|
696
696
|
if (a)
|
|
697
697
|
if (this.within = null, s.total > 1) {
|
|
698
|
-
const c = Array.from({ length: s.total }, (u,
|
|
698
|
+
const c = Array.from({ length: s.total }, (u, h) => {
|
|
699
699
|
var M;
|
|
700
|
-
return ((M = s.got.get(
|
|
701
|
-
}), d = c.reduce((u,
|
|
700
|
+
return ((M = s.got.get(h)) == null ? void 0 : M.durationS) ?? 0;
|
|
701
|
+
}), d = c.reduce((u, h) => u + h, 0);
|
|
702
702
|
if (d > 0 && c.every((u) => u > 0)) {
|
|
703
703
|
const u = a.frac * d;
|
|
704
|
-
let
|
|
705
|
-
for (;
|
|
706
|
-
if (o = -(u - M),
|
|
707
|
-
this.partBase = M, this.startPartAt(e,
|
|
704
|
+
let h = 0, M = 0;
|
|
705
|
+
for (; h < c.length - 1 && M + c[h] <= u; ) M += c[h++];
|
|
706
|
+
if (o = -(u - M), h !== n) {
|
|
707
|
+
this.partBase = M, this.startPartAt(e, h, u - M);
|
|
708
708
|
return;
|
|
709
709
|
}
|
|
710
710
|
}
|
|
@@ -737,9 +737,9 @@ const nt = class nt {
|
|
|
737
737
|
if (this.rank(c) <= l || !this.speakable(c)) continue;
|
|
738
738
|
const d = this.clips.get(c);
|
|
739
739
|
if (d)
|
|
740
|
-
for (const u of [...d.got.keys()].sort((
|
|
741
|
-
const
|
|
742
|
-
s.push(
|
|
740
|
+
for (const u of [...d.got.keys()].sort((h, M) => h - M)) {
|
|
741
|
+
const h = d.got.get(u);
|
|
742
|
+
s.push(h), r += h.durationS || 0;
|
|
743
743
|
}
|
|
744
744
|
}
|
|
745
745
|
return s;
|
|
@@ -880,18 +880,18 @@ function _a(t, e, n, s = {}, r) {
|
|
|
880
880
|
const o = Oa(s), l = o ? `&${o}` : "", c = t.voiceKey ? `&voice=${encodeURIComponent(t.voiceKey)}` : "";
|
|
881
881
|
return a.flatMap((d) => {
|
|
882
882
|
var M, p;
|
|
883
|
-
const u = (M = t.clipRev) == null ? void 0 : M[String(d)],
|
|
884
|
-
return Array.from({ length:
|
|
883
|
+
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);
|
|
884
|
+
return Array.from({ length: h }, (N, w) => {
|
|
885
885
|
var k;
|
|
886
886
|
return {
|
|
887
887
|
sentenceId: d,
|
|
888
888
|
lang: t.lang,
|
|
889
889
|
src: `${n}/v1/recordings/${e}/voice/${d}?lang=${encodeURIComponent(t.lang)}${c}&format=${zn()}${w > 0 ? `&part=${w}` : ""}${u ? `&v=${encodeURIComponent(u)}` : ""}${l}`,
|
|
890
|
-
durationS:
|
|
890
|
+
durationS: h === 1 ? ((k = t.clipDur) == null ? void 0 : k[String(d)]) ?? 0 : 0,
|
|
891
891
|
voice: t.voice ?? null,
|
|
892
892
|
cloned: !1,
|
|
893
893
|
part: w,
|
|
894
|
-
parts:
|
|
894
|
+
parts: h
|
|
895
895
|
};
|
|
896
896
|
});
|
|
897
897
|
});
|
|
@@ -915,7 +915,7 @@ function Ua(t, e, n) {
|
|
|
915
915
|
return t.length - 1;
|
|
916
916
|
}
|
|
917
917
|
const ds = "vs.recentLangs", Ms = /* @__PURE__ */ new Set();
|
|
918
|
-
function
|
|
918
|
+
function hs(t, e) {
|
|
919
919
|
try {
|
|
920
920
|
const n = localStorage.getItem(t);
|
|
921
921
|
return n === null ? e : JSON.parse(n);
|
|
@@ -923,7 +923,7 @@ function gs(t, e) {
|
|
|
923
923
|
return e;
|
|
924
924
|
}
|
|
925
925
|
}
|
|
926
|
-
function
|
|
926
|
+
function hi(t, e) {
|
|
927
927
|
try {
|
|
928
928
|
e == null ? localStorage.removeItem(t) : localStorage.setItem(t, JSON.stringify(e));
|
|
929
929
|
} catch {
|
|
@@ -931,21 +931,21 @@ function gi(t, e) {
|
|
|
931
931
|
for (const n of Ms) n();
|
|
932
932
|
}
|
|
933
933
|
function js(t, e) {
|
|
934
|
-
const [n, s] = I(() =>
|
|
934
|
+
const [n, s] = I(() => hs(t, e));
|
|
935
935
|
return _(() => {
|
|
936
|
-
const r = () => s(
|
|
936
|
+
const r = () => s(hs(t, e));
|
|
937
937
|
return Ms.add(r), window.addEventListener("storage", r), () => {
|
|
938
938
|
Ms.delete(r), window.removeEventListener("storage", r);
|
|
939
939
|
};
|
|
940
940
|
}, [t]), [n, (r) => {
|
|
941
|
-
s(r),
|
|
941
|
+
s(r), hi(t, r);
|
|
942
942
|
}];
|
|
943
943
|
}
|
|
944
944
|
function _r(t) {
|
|
945
|
-
const e =
|
|
946
|
-
|
|
945
|
+
const e = hs(ds, []);
|
|
946
|
+
hi(ds, Array.isArray(e) ? e.filter((n) => n !== t) : []);
|
|
947
947
|
}
|
|
948
|
-
function
|
|
948
|
+
function gi() {
|
|
949
949
|
const [t, e] = js(ds, []), n = Array.isArray(t) ? t : [];
|
|
950
950
|
return [n, (s) => {
|
|
951
951
|
s && e([s, ...n.filter((r) => r !== s)].slice(0, 3));
|
|
@@ -965,7 +965,7 @@ function Qa(t) {
|
|
|
965
965
|
const [e, n] = js(t === "ga" ? "vs.colW.ga" : "vs.colW", null);
|
|
966
966
|
return [typeof e == "number" && e > 0 ? e : t === "ga" ? 560 : Pa, n];
|
|
967
967
|
}
|
|
968
|
-
function zs({ 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:
|
|
968
|
+
function zs({ 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 }) {
|
|
969
969
|
const [M, p] = I(""), [N, w] = I(!1), [k, m] = I(null);
|
|
970
970
|
_(() => {
|
|
971
971
|
t && (p(""), w(!1), m(null));
|
|
@@ -981,7 +981,7 @@ function zs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
|
|
|
981
981
|
[c, f, M]
|
|
982
982
|
), 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) => {
|
|
983
983
|
const L = !!d && !S.voice;
|
|
984
|
-
return /* @__PURE__ */
|
|
984
|
+
return /* @__PURE__ */ g(
|
|
985
985
|
"button",
|
|
986
986
|
{
|
|
987
987
|
type: "button",
|
|
@@ -996,7 +996,7 @@ function zs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
|
|
|
996
996
|
},
|
|
997
997
|
children: [
|
|
998
998
|
/* @__PURE__ */ i("span", { className: "vs-picker__flag", children: S.flag }),
|
|
999
|
-
/* @__PURE__ */
|
|
999
|
+
/* @__PURE__ */ g("span", { style: { flex: 1, minWidth: 0 }, children: [
|
|
1000
1000
|
/* @__PURE__ */ i("div", { className: "vs-picker__label", children: S.label }),
|
|
1001
1001
|
/* @__PURE__ */ i("div", { className: "vs-picker__native", children: S.native })
|
|
1002
1002
|
] }),
|
|
@@ -1006,20 +1006,20 @@ function zs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
|
|
|
1006
1006
|
(z.key === "Enter" || z.key === " ") && (z.preventDefault(), z.stopPropagation(), _r(S.code));
|
|
1007
1007
|
}, children: /* @__PURE__ */ i(le, { d: X.close, size: 16 }) }) }),
|
|
1008
1008
|
/* @__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(le, { d: X.headphones, size: 16 }) }),
|
|
1009
|
-
/* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === S.code && (
|
|
1009
|
+
/* @__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(le, { d: X.check, size: 16, sw: 2.2 })) })
|
|
1010
1010
|
]
|
|
1011
1011
|
},
|
|
1012
1012
|
S.code
|
|
1013
1013
|
);
|
|
1014
|
-
}, ee = /* @__PURE__ */
|
|
1014
|
+
}, ee = /* @__PURE__ */ g("div", { className: "vs-picker__search", children: [
|
|
1015
1015
|
/* @__PURE__ */ i(le, { d: X.search, size: 16, sw: 1.7, style: { color: "var(--vs-text-muted)" } }),
|
|
1016
1016
|
/* @__PURE__ */ i("input", { value: M, onChange: (S) => p(S.target.value), placeholder: a, "aria-label": a })
|
|
1017
|
-
] }), j = /* @__PURE__ */
|
|
1018
|
-
o && !M && /* @__PURE__ */
|
|
1017
|
+
] }), j = /* @__PURE__ */ g("div", { className: "vs-picker__list", children: [
|
|
1018
|
+
o && !M && /* @__PURE__ */ g("button", { type: "button", className: "vs-picker__row", "data-vs-original": "", "aria-selected": n === null, onClick: () => {
|
|
1019
1019
|
s(null), u || e();
|
|
1020
1020
|
}, children: [
|
|
1021
1021
|
/* @__PURE__ */ i("span", { className: "vs-picker__flag", children: /* @__PURE__ */ i(le, { d: X.mic, size: 19, sw: 1.6, style: { color: "var(--vs-text-muted)" } }) }),
|
|
1022
|
-
/* @__PURE__ */
|
|
1022
|
+
/* @__PURE__ */ g("span", { style: { flex: 1, minWidth: 0 }, children: [
|
|
1023
1023
|
/* @__PURE__ */ i("div", { className: "vs-picker__label", children: o }),
|
|
1024
1024
|
/* @__PURE__ */ i("div", { className: "vs-picker__native", children: "As spoken · no translation" })
|
|
1025
1025
|
] }),
|
|
@@ -1027,18 +1027,18 @@ function zs({ open: t, onClose: e, value: n, onSelect: s, languages: r, searchPl
|
|
|
1027
1027
|
/* @__PURE__ */ i("span", { className: "vs-picker__slot" }),
|
|
1028
1028
|
/* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === null && /* @__PURE__ */ i(le, { d: X.check, size: 16, sw: 2.2 }) })
|
|
1029
1029
|
] }),
|
|
1030
|
-
O.length > 0 && /* @__PURE__ */
|
|
1030
|
+
O.length > 0 && /* @__PURE__ */ g(Ue, { children: [
|
|
1031
1031
|
/* @__PURE__ */ i("div", { className: "vs-picker__head", children: "RECENT" }),
|
|
1032
1032
|
O.map((S) => A(S, !0)),
|
|
1033
1033
|
/* @__PURE__ */ i("div", { className: "vs-picker__rule" })
|
|
1034
1034
|
] }),
|
|
1035
1035
|
b.map((S) => A(S)),
|
|
1036
|
-
W > 0 && /* @__PURE__ */
|
|
1036
|
+
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: [
|
|
1037
1037
|
"+ ",
|
|
1038
1038
|
W,
|
|
1039
1039
|
" MORE LANGUAGES"
|
|
1040
1040
|
] }),
|
|
1041
|
-
f.length === 0 && /* @__PURE__ */
|
|
1041
|
+
f.length === 0 && /* @__PURE__ */ g("div", { className: "vs-picker__more", children: [
|
|
1042
1042
|
"No match for “",
|
|
1043
1043
|
M,
|
|
1044
1044
|
"”"
|
|
@@ -1117,7 +1117,7 @@ function Jn(t) {
|
|
|
1117
1117
|
t && (t.pause(), t.removeAttribute("src"), t.load());
|
|
1118
1118
|
}
|
|
1119
1119
|
function Ni(t, e) {
|
|
1120
|
-
const [n, s] = I("off"), [r, a] = I([]), [o, l] = I(!1), c = v(null), d = v([null, null]), u = v([NaN, NaN]),
|
|
1120
|
+
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);
|
|
1121
1121
|
return _(() => {
|
|
1122
1122
|
if (a([]), l(!1), !t) {
|
|
1123
1123
|
s("off");
|
|
@@ -1163,12 +1163,12 @@ function Ni(t, e) {
|
|
|
1163
1163
|
M(), l(!1);
|
|
1164
1164
|
return;
|
|
1165
1165
|
}
|
|
1166
|
-
const N = eo(r, p, u.current,
|
|
1166
|
+
const N = eo(r, p, u.current, h.current);
|
|
1167
1167
|
for (const [m, f] of N.load) {
|
|
1168
1168
|
let O = d.current[m];
|
|
1169
1169
|
O || (O = new Audio(), O.preload = "auto", d.current[m] = O), O.pause(), O.src = r[f].url, u.current[m] = r[f].startS;
|
|
1170
1170
|
}
|
|
1171
|
-
|
|
1171
|
+
h.current = N.play;
|
|
1172
1172
|
const w = d.current[N.play], k = d.current[1 - N.play];
|
|
1173
1173
|
k && !k.paused && k.pause(), Ur(w, { ...e, t: e.t - r[p].startS }), l(!e.playing || w.readyState >= 3);
|
|
1174
1174
|
}, [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 };
|
|
@@ -1192,7 +1192,7 @@ function io(t, e, n) {
|
|
|
1192
1192
|
const o = Math.max(1, ...a.map((c) => c.parts));
|
|
1193
1193
|
let l = Math.max(0, n - r.start);
|
|
1194
1194
|
for (let c = 0; c < o; c++) {
|
|
1195
|
-
const d = a.find((
|
|
1195
|
+
const d = a.find((h) => h.part === c);
|
|
1196
1196
|
if (!d) return { kind: "missing", sid: r.sid };
|
|
1197
1197
|
const u = d.durationS && d.durationS > 0 ? d.durationS : 1 / 0;
|
|
1198
1198
|
if (l < u) return { kind: "play", sid: r.sid, src: d.src, offset: l };
|
|
@@ -1238,11 +1238,11 @@ function lo(t) {
|
|
|
1238
1238
|
}
|
|
1239
1239
|
const c = io(t.lines, e, t.t), d = c.kind === "missing" ? c.sid : null, u = c.kind === "none" ? null : c.sid;
|
|
1240
1240
|
a((N) => N.missing === d && N.sid === u ? N : { missing: d, sid: u });
|
|
1241
|
-
const
|
|
1242
|
-
for (const N of
|
|
1241
|
+
const h = new Set(oo(t.lines, e, t.t));
|
|
1242
|
+
for (const N of h) o(N);
|
|
1243
1243
|
const M = s.current;
|
|
1244
|
-
M &&
|
|
1245
|
-
for (const [N, w] of n.current) !
|
|
1244
|
+
M && h.add(M.src);
|
|
1245
|
+
for (const [N, w] of n.current) !h.has(N) && (!M || M.el !== w) && (w.pause(), n.current.delete(N));
|
|
1246
1246
|
if (!t.playing) {
|
|
1247
1247
|
M == null || M.el.pause();
|
|
1248
1248
|
return;
|
|
@@ -1346,7 +1346,7 @@ function Pt() {
|
|
|
1346
1346
|
spans: []
|
|
1347
1347
|
};
|
|
1348
1348
|
}
|
|
1349
|
-
function
|
|
1349
|
+
function ho(t, e) {
|
|
1350
1350
|
for (const s of t.spans) {
|
|
1351
1351
|
const r = s.mediaEnd ?? 1 / 0;
|
|
1352
1352
|
if (e < r || s.mediaEnd == null) return s.wallStart + Math.max(0, e - s.mediaStart);
|
|
@@ -1423,7 +1423,7 @@ function Pr(t, e) {
|
|
|
1423
1423
|
const n = e ?? {};
|
|
1424
1424
|
return !t || !Object.keys(t).length ? n : Object.keys(n).length ? { ...t, ...n } : t;
|
|
1425
1425
|
}
|
|
1426
|
-
function
|
|
1426
|
+
function go(t, e) {
|
|
1427
1427
|
const n = e.tail;
|
|
1428
1428
|
if (!n || !Array.isArray(n.words) || n.replaced !== t.length || n.words.length !== t.length) return !1;
|
|
1429
1429
|
let s = !1;
|
|
@@ -1481,7 +1481,7 @@ function fo(t, e) {
|
|
|
1481
1481
|
}
|
|
1482
1482
|
case "transcript.amended": {
|
|
1483
1483
|
const s = t.segments.get(e.seq);
|
|
1484
|
-
if (s && s.corrected &&
|
|
1484
|
+
if (s && s.corrected && go(s.words, e)) {
|
|
1485
1485
|
s.text = e.text, s.words = Jt(e.seq, e.tail.words);
|
|
1486
1486
|
break;
|
|
1487
1487
|
}
|
|
@@ -1495,7 +1495,7 @@ function fo(t, e) {
|
|
|
1495
1495
|
if ((n = e.scriptWords) != null && n.length) {
|
|
1496
1496
|
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) => {
|
|
1497
1497
|
var d, u;
|
|
1498
|
-
return c.recognized ?? ((u = (d = o.find((
|
|
1498
|
+
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());
|
|
1499
1499
|
};
|
|
1500
1500
|
s.words = s.words.map((c, d) => {
|
|
1501
1501
|
if (!e.scriptWords.includes(d)) return c;
|
|
@@ -1529,7 +1529,7 @@ function fo(t, e) {
|
|
|
1529
1529
|
seqs: s.seqs,
|
|
1530
1530
|
speaker: s.speaker,
|
|
1531
1531
|
start: s.start,
|
|
1532
|
-
wallStart:
|
|
1532
|
+
wallStart: ho(t, s.start),
|
|
1533
1533
|
text: a ? r.text : s.text,
|
|
1534
1534
|
status: s.status === "open" ? "open" : "closed",
|
|
1535
1535
|
settled: !!s.settled,
|
|
@@ -1712,7 +1712,7 @@ const Io = /* @__PURE__ */ new Set([
|
|
|
1712
1712
|
engine_lost: "The transcription engine stopped. Please try again.",
|
|
1713
1713
|
capacity_exceeded: "Every transcription engine is busy right now. Please try again in a moment.",
|
|
1714
1714
|
timeout: "That took too long. Please try again."
|
|
1715
|
-
},
|
|
1715
|
+
}, gs = yi.internal, es = "Can't reach VocalStack. Check your connection.", $r = {
|
|
1716
1716
|
NotAllowedError: "The browser blocked this. Allow it for this site, then try again.",
|
|
1717
1717
|
NotSupportedError: "This browser cannot play this.",
|
|
1718
1718
|
AbortError: "It was cancelled."
|
|
@@ -1720,13 +1720,13 @@ const Io = /* @__PURE__ */ new Set([
|
|
|
1720
1720
|
function kt(t) {
|
|
1721
1721
|
const e = t, n = typeof (e == null ? void 0 : e.code) == "string" ? e.code : void 0, s = typeof (e == null ? void 0 : e.status) == "number" ? e.status : void 0, r = e == null ? void 0 : e.details;
|
|
1722
1722
|
if (n || s && s >= 400)
|
|
1723
|
-
return n && Io.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: s, details: r } : n === "unavailable" && s === void 0 ? { message: es, code: n, details: r } : s === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : es, code: n, status: s, details: r } : { message: n && yi[n] ||
|
|
1723
|
+
return n && Io.has(n) && typeof (e == null ? void 0 : e.message) == "string" ? { message: e.message, code: n, status: s, details: r } : n === "unavailable" && s === void 0 ? { message: es, code: n, details: r } : s === 0 ? { message: typeof (e == null ? void 0 : e.message) == "string" ? e.message : es, code: n, status: s, details: r } : { message: n && yi[n] || gs, code: n, status: s, details: r };
|
|
1724
1724
|
const a = (e == null ? void 0 : e.name) ?? "";
|
|
1725
|
-
return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && ai(t instanceof Error ? t : new Error(String(t))), { message: es }) : $r[a] ? { message: $r[a] } : t instanceof Error && a === "Error" && !(t instanceof ni) ? { message: t.message } : { message:
|
|
1725
|
+
return a === "TypeError" && /fetch|network|load failed/i.test(String((e == null ? void 0 : e.message) ?? "")) ? (typeof navigator < "u" && navigator.onLine !== !1 && ai(t instanceof Error ? t : new Error(String(t))), { message: es }) : $r[a] ? { message: $r[a] } : t instanceof Error && a === "Error" && !(t instanceof ni) ? { message: t.message } : { message: gs };
|
|
1726
1726
|
}
|
|
1727
1727
|
const Ti = "https://api.vocalstack.com", bs = ti(null);
|
|
1728
1728
|
function At() {
|
|
1729
|
-
const t =
|
|
1729
|
+
const t = ha(bs);
|
|
1730
1730
|
if (!t) throw new Error("VocalStack player hooks must be used inside <VocalStackPlayer> or <PlayerApiProvider>");
|
|
1731
1731
|
return t;
|
|
1732
1732
|
}
|
|
@@ -1787,11 +1787,11 @@ function Ao(t, e) {
|
|
|
1787
1787
|
const [n, s] = I(null), [r, a] = I(!1), [o, l] = I(null), [c, d] = I(0);
|
|
1788
1788
|
return _(() => {
|
|
1789
1789
|
let u = !0;
|
|
1790
|
-
return So(t, e).then((
|
|
1791
|
-
u && (s(
|
|
1792
|
-
}).catch((
|
|
1790
|
+
return So(t, e).then((h) => {
|
|
1791
|
+
u && (s(h), a(!1), l(null));
|
|
1792
|
+
}).catch((h) => {
|
|
1793
1793
|
if (!u) return;
|
|
1794
|
-
const M = kt(
|
|
1794
|
+
const M = kt(h);
|
|
1795
1795
|
M.code === "not_found" || M.status === 404 ? a(!0) : l(M);
|
|
1796
1796
|
}), () => {
|
|
1797
1797
|
u = !1;
|
|
@@ -1854,7 +1854,7 @@ const Yo = (t) => new Promise((e) => setTimeout(e, t)), _o = 2500, Uo = 72;
|
|
|
1854
1854
|
function Ro(t, e) {
|
|
1855
1855
|
const n = At(), s = v(n);
|
|
1856
1856
|
s.current = n;
|
|
1857
|
-
const [r, a] = I(Pt), o = v(Pt()), l = v(null), c = v(e.lang ?? null), [d, u] = I(!1), [
|
|
1857
|
+
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(() => {
|
|
1858
1858
|
const $ = o.current;
|
|
1859
1859
|
a({ ...$ });
|
|
1860
1860
|
}, []), k = v(e);
|
|
@@ -1952,7 +1952,7 @@ function Ro(t, e) {
|
|
|
1952
1952
|
}
|
|
1953
1953
|
E && w();
|
|
1954
1954
|
}, [w]), S = Xe(() => M(null), []);
|
|
1955
|
-
return { model: r, connected: d, error:
|
|
1955
|
+
return { model: r, connected: d, error: h, notFound: p, clearError: S, setLanguage: ee, mergeTranslations: j, translating: m, translateFailed: O, shownLang: W };
|
|
1956
1956
|
}
|
|
1957
1957
|
const Hr = {
|
|
1958
1958
|
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" },
|
|
@@ -1968,7 +1968,7 @@ function vi(t) {
|
|
|
1968
1968
|
async function ji(t) {
|
|
1969
1969
|
var r, a, o, l, c;
|
|
1970
1970
|
const e = await t.json().catch(() => null), n = ((r = e == null ? void 0 : e.error) == null ? void 0 : r.code) ?? (e == null ? void 0 : e.code), s = ((a = e == null ? void 0 : e.error) == null ? void 0 : a.message) ?? (e == null ? void 0 : e.message);
|
|
1971
|
-
return new ni(typeof n == "string" ? n : "internal", typeof s == "string" ? s :
|
|
1971
|
+
return new ni(typeof n == "string" ? n : "internal", typeof s == "string" ? s : gs, { status: t.status, details: ((l = (o = e == null ? void 0 : e.error) == null ? void 0 : o.data) == null ? void 0 : l.details) ?? ((c = e == null ? void 0 : e.data) == null ? void 0 : c.details) });
|
|
1972
1972
|
}
|
|
1973
1973
|
function ns(t) {
|
|
1974
1974
|
switch (t) {
|
|
@@ -2021,11 +2021,11 @@ async function Ho(t, e, n, s = {}) {
|
|
|
2021
2021
|
var M, p;
|
|
2022
2022
|
const r = await t.client.recordings.export(e, n, { lang: s.lang ?? void 0, ...t.readAs });
|
|
2023
2023
|
if (!r.ok) throw await ji(r);
|
|
2024
|
-
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),
|
|
2025
|
-
|
|
2024
|
+
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");
|
|
2025
|
+
h.href = u, h.download = d, h.style.display = "none", document.body.appendChild(h), h.click(), h.remove(), window.setTimeout(() => URL.revokeObjectURL(u), 6e4);
|
|
2026
2026
|
}
|
|
2027
2027
|
async function Vo(t, e) {
|
|
2028
|
-
const { recordingId: n, lang: s, voiceKey: r, cred: a } = e, o = async () => (await t.client.recordings.voice(n, s, t.readAs)).filter((
|
|
2028
|
+
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) => di(u, r);
|
|
2029
2029
|
let c = l(await o());
|
|
2030
2030
|
(!c || c.state === "clips" || c.state === "failed") && await e.request();
|
|
2031
2031
|
const d = Date.now() + (e.timeoutMs ?? 10 * 6e4);
|
|
@@ -2087,7 +2087,7 @@ function qo(t, e, n = 0) {
|
|
|
2087
2087
|
const A = o(), ee = A ? A.offsetHeight : 0, j = r.clientHeight - ee - 36, S = r.scrollHeight - r.clientHeight, $ = j > 0 ? Math.max(30, Math.round(j * (r.clientHeight - ee) / r.scrollHeight)) : 0;
|
|
2088
2088
|
return { vis: j, max: S, size: $ };
|
|
2089
2089
|
};
|
|
2090
|
-
let c = -1, d = null, u = !1,
|
|
2090
|
+
let c = -1, d = null, u = !1, h = 0, M = 0;
|
|
2091
2091
|
const p = () => {
|
|
2092
2092
|
const A = o();
|
|
2093
2093
|
if (!A) return;
|
|
@@ -2116,11 +2116,11 @@ function qo(t, e, n = 0) {
|
|
|
2116
2116
|
a.style.right = (f >= 12 ? -(f - 6) : 2) + "px";
|
|
2117
2117
|
const O = () => m(!0), D = (A) => {
|
|
2118
2118
|
const ee = l();
|
|
2119
|
-
ee.vis - ee.size <= 0 || (A.preventDefault(), A.stopPropagation(), a.setPointerCapture(A.pointerId), u = !0,
|
|
2119
|
+
ee.vis - ee.size <= 0 || (A.preventDefault(), A.stopPropagation(), a.setPointerCapture(A.pointerId), u = !0, h = A.clientY, M = r.scrollTop, a.style.cursor = "grabbing", N());
|
|
2120
2120
|
}, b = (A) => {
|
|
2121
2121
|
if (!u) return;
|
|
2122
2122
|
const ee = l();
|
|
2123
|
-
r.scrollTop = M + (A.clientY -
|
|
2123
|
+
r.scrollTop = M + (A.clientY - h) / (ee.vis - ee.size) * ee.max, N();
|
|
2124
2124
|
}, W = () => {
|
|
2125
2125
|
u && (u = !1, a.style.cursor = "grab", N());
|
|
2126
2126
|
};
|
|
@@ -2141,11 +2141,11 @@ function Jo({ error: t, onClose: e }) {
|
|
|
2141
2141
|
return () => clearTimeout(r);
|
|
2142
2142
|
}, [t]), !t) return null;
|
|
2143
2143
|
const s = t.code === "insufficient_credit" || t.code === "quota_exceeded" || t.status === 402;
|
|
2144
|
-
return /* @__PURE__ */
|
|
2144
|
+
return /* @__PURE__ */ g("div", { className: "toast", role: "alert", children: [
|
|
2145
2145
|
/* @__PURE__ */ i(le, { d: X.warn, size: 16, style: { color: "var(--conf-low)", flex: "none" } }),
|
|
2146
|
-
/* @__PURE__ */
|
|
2146
|
+
/* @__PURE__ */ g("span", { style: { flex: 1 }, children: [
|
|
2147
2147
|
t.message,
|
|
2148
|
-
s && /* @__PURE__ */
|
|
2148
|
+
s && /* @__PURE__ */ g(Ue, { children: [
|
|
2149
2149
|
" ",
|
|
2150
2150
|
/* @__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" })
|
|
2151
2151
|
] })
|
|
@@ -2157,16 +2157,16 @@ function Ii({ color: t }) {
|
|
|
2157
2157
|
return /* @__PURE__ */ i("span", { title: "Cloned voice", style: { flex: "none", display: "inline-flex" }, children: /* @__PURE__ */ i(le, { d: X.voiceClone, size: 13, sw: 1.7, stroke: t }) });
|
|
2158
2158
|
}
|
|
2159
2159
|
function Hc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, next: l }) {
|
|
2160
|
-
return /* @__PURE__ */
|
|
2161
|
-
/* @__PURE__ */
|
|
2160
|
+
return /* @__PURE__ */ g("div", { className: "vs-tt", children: [
|
|
2161
|
+
/* @__PURE__ */ g("div", { className: "vs-tt__r1", children: [
|
|
2162
2162
|
/* @__PURE__ */ i("div", { className: "vs-tt__chip", children: t }),
|
|
2163
|
-
e ? /* @__PURE__ */ i("div", { className: "vs-tt__scrub", children: e }) : /* @__PURE__ */
|
|
2163
|
+
e ? /* @__PURE__ */ i("div", { className: "vs-tt__scrub", children: e }) : /* @__PURE__ */ g(Ue, { children: [
|
|
2164
2164
|
/* @__PURE__ */ i("div", { className: "vs-tt__scrub", children: n }),
|
|
2165
2165
|
/* @__PURE__ */ i("div", { className: "vs-tt__spk", children: s }),
|
|
2166
2166
|
/* @__PURE__ */ i("div", { className: "vs-tt__voice", children: r })
|
|
2167
2167
|
] })
|
|
2168
2168
|
] }),
|
|
2169
|
-
!e && /* @__PURE__ */
|
|
2169
|
+
!e && /* @__PURE__ */ g("div", { className: "vs-tt__r2", children: [
|
|
2170
2170
|
/* @__PURE__ */ i("div", { className: "vs-tt__side", style: { justifyContent: "flex-end" }, children: /* @__PURE__ */ i("div", { className: "vs-tt__prev", children: a }) }),
|
|
2171
2171
|
/* @__PURE__ */ i("div", { className: "vs-tt__play", children: o }),
|
|
2172
2172
|
/* @__PURE__ */ i("div", { className: "vs-tt__side", style: { justifyContent: "flex-start" }, children: /* @__PURE__ */ i("div", { className: "vs-tt__next", children: l }) })
|
|
@@ -2174,9 +2174,9 @@ function Hc({ chip: t, note: e, scrub: n, mute: s, voice: r, prev: a, play: o, n
|
|
|
2174
2174
|
] });
|
|
2175
2175
|
}
|
|
2176
2176
|
function Xo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: d, glideMs: u = 260 }) {
|
|
2177
|
-
const
|
|
2177
|
+
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) => {
|
|
2178
2178
|
var j;
|
|
2179
|
-
const W = (j =
|
|
2179
|
+
const W = (j = h.current) == null ? void 0 : j.getBoundingClientRect();
|
|
2180
2180
|
if (!W) return;
|
|
2181
2181
|
const A = Math.min(1, Math.max(0, (b.clientX - W.left) / Math.max(1, W.width)));
|
|
2182
2182
|
if (o) {
|
|
@@ -2188,15 +2188,15 @@ function Xo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek:
|
|
|
2188
2188
|
}, D = () => {
|
|
2189
2189
|
M.current && (M.current = !1, N(null), c == null || c());
|
|
2190
2190
|
};
|
|
2191
|
-
return /* @__PURE__ */
|
|
2192
|
-
/* @__PURE__ */
|
|
2191
|
+
return /* @__PURE__ */ g("div", { className: "rscrub", children: [
|
|
2192
|
+
/* @__PURE__ */ g(
|
|
2193
2193
|
"div",
|
|
2194
2194
|
{
|
|
2195
|
-
ref:
|
|
2195
|
+
ref: h,
|
|
2196
2196
|
className: "rscrub__track",
|
|
2197
2197
|
onPointerDown: (b) => {
|
|
2198
2198
|
var W;
|
|
2199
|
-
M.current = !0, (W =
|
|
2199
|
+
M.current = !0, (W = h.current) == null || W.setPointerCapture(b.pointerId), l == null || l(), O(b), b.preventDefault();
|
|
2200
2200
|
},
|
|
2201
2201
|
onPointerMove: (b) => {
|
|
2202
2202
|
M.current && O(b);
|
|
@@ -2210,7 +2210,7 @@ function Xo({ index: t, total: e, atLabel: n, durLabel: s, stepLabel: r, onSeek:
|
|
|
2210
2210
|
]
|
|
2211
2211
|
}
|
|
2212
2212
|
),
|
|
2213
|
-
/* @__PURE__ */
|
|
2213
|
+
/* @__PURE__ */ g("div", { className: "rscrub__labels", children: [
|
|
2214
2214
|
/* @__PURE__ */ i("span", { className: "at", children: n }),
|
|
2215
2215
|
/* @__PURE__ */ i("span", { className: "step", children: r }),
|
|
2216
2216
|
/* @__PURE__ */ i("span", { className: "dur", children: s })
|
|
@@ -2226,21 +2226,21 @@ function el(t, e, n) {
|
|
|
2226
2226
|
};
|
|
2227
2227
|
}
|
|
2228
2228
|
function tl({ f: t, desk: e, onOpen: n }) {
|
|
2229
|
-
const s = (r, a, o) => /* @__PURE__ */
|
|
2229
|
+
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) => {
|
|
2230
2230
|
l.stopPropagation(), n == null || n();
|
|
2231
2231
|
}, children: [
|
|
2232
2232
|
/* @__PURE__ */ i(le, { d: X.pencilFix, size: e ? 10 : 9, sw: 2 }),
|
|
2233
2233
|
r,
|
|
2234
2234
|
a > 0 && /* @__PURE__ */ i("span", { className: "badge__n", children: a })
|
|
2235
2235
|
] }, r);
|
|
2236
|
-
return /* @__PURE__ */
|
|
2236
|
+
return /* @__PURE__ */ g(Ue, { children: [
|
|
2237
2237
|
t.script > 0 && s(e ? "SCRIPT FIX" : "SCRIPT", t.script, !0),
|
|
2238
2238
|
t.manual && s(e ? "MANUAL FIX" : "MANUAL", t.manualCount, t.script === 0)
|
|
2239
2239
|
] });
|
|
2240
2240
|
}
|
|
2241
2241
|
function nl({ onOpen: t, alone: e }) {
|
|
2242
2242
|
const [n, s] = I(!1);
|
|
2243
|
-
return /* @__PURE__ */
|
|
2243
|
+
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) => {
|
|
2244
2244
|
r.stopPropagation(), t();
|
|
2245
2245
|
}, children: [
|
|
2246
2246
|
/* @__PURE__ */ i(le, { d: X.pencilFix, size: 11, sw: 2 }),
|
|
@@ -2248,7 +2248,7 @@ function nl({ onOpen: t, alone: e }) {
|
|
|
2248
2248
|
] });
|
|
2249
2249
|
}
|
|
2250
2250
|
function sl(t, e, n, s) {
|
|
2251
|
-
const r = At(), [a, o] = I([]), [l, c] = I(0), d = v(/* @__PURE__ */ new Set()), u = v(!1),
|
|
2251
|
+
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]);
|
|
2252
2252
|
_(() => {
|
|
2253
2253
|
d.current = /* @__PURE__ */ new Set();
|
|
2254
2254
|
}, [t, e]);
|
|
@@ -2256,7 +2256,7 @@ function sl(t, e, n, s) {
|
|
|
2256
2256
|
return _(() => {
|
|
2257
2257
|
if (!t || !e || !a.length || u.current) return;
|
|
2258
2258
|
const p = a.filter((N) => {
|
|
2259
|
-
const w =
|
|
2259
|
+
const w = h.get(N);
|
|
2260
2260
|
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}`);
|
|
2261
2261
|
}).slice(0, 40);
|
|
2262
2262
|
if (p.length) {
|
|
@@ -2272,7 +2272,7 @@ function sl(t, e, n, s) {
|
|
|
2272
2272
|
u.current = !1, c((N) => N + 1);
|
|
2273
2273
|
});
|
|
2274
2274
|
}
|
|
2275
|
-
}, [t, e, a, l,
|
|
2275
|
+
}, [t, e, a, l, h, s]), M;
|
|
2276
2276
|
}
|
|
2277
2277
|
function rl(t) {
|
|
2278
2278
|
return t.live || t.auto ? "From this session" : t.cloned ? t.library === !1 ? "This transcription only" : "Saved in Voices" : "";
|
|
@@ -2336,23 +2336,23 @@ function Gr(t, e, n = !0) {
|
|
|
2336
2336
|
a.set(o.key, c.id), r.add(c.id);
|
|
2337
2337
|
continue;
|
|
2338
2338
|
}
|
|
2339
|
-
const d = s.filter((M) => !r.has(M.id)),
|
|
2340
|
-
|
|
2339
|
+
const d = s.filter((M) => !r.has(M.id)), h = (o.sex ? d.filter((M) => M.gender === o.sex) : [])[0] ?? d[0] ?? s[0];
|
|
2340
|
+
h && (a.set(o.key, h.id), r.add(h.id));
|
|
2341
2341
|
}
|
|
2342
2342
|
return a;
|
|
2343
2343
|
}
|
|
2344
2344
|
function ol({ roster: t, selected: e, onSelect: n, noClone: s, building: r, short: a, warn: o, sexOf: l, t: c }) {
|
|
2345
2345
|
const d = t.find((u) => u.key === e) ?? t[0] ?? null;
|
|
2346
2346
|
return d ? /* @__PURE__ */ i("div", { style: { display: "flex", flexWrap: "wrap", gap: 6, padding: "0 2px 9px", margin: "0 -2px" }, children: t.map((u) => {
|
|
2347
|
-
const
|
|
2348
|
-
return /* @__PURE__ */
|
|
2347
|
+
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));
|
|
2348
|
+
return /* @__PURE__ */ g(
|
|
2349
2349
|
"button",
|
|
2350
2350
|
{
|
|
2351
2351
|
type: "button",
|
|
2352
|
-
"aria-selected":
|
|
2352
|
+
"aria-selected": h,
|
|
2353
2353
|
onClick: () => n(u.key),
|
|
2354
2354
|
title: u.name,
|
|
2355
|
-
style: { flex: "none", boxSizing: "border-box", display: "flex", alignItems: "center", gap: 7, minHeight: 34, padding: "5px 11px", borderRadius: 9, font: "inherit", background:
|
|
2355
|
+
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" },
|
|
2356
2356
|
children: [
|
|
2357
2357
|
/* @__PURE__ */ i(
|
|
2358
2358
|
"span",
|
|
@@ -2362,10 +2362,10 @@ function ol({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
|
|
|
2362
2362
|
children: u.initial
|
|
2363
2363
|
}
|
|
2364
2364
|
),
|
|
2365
|
-
/* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color:
|
|
2366
|
-
u.hasVoice && !M && /* @__PURE__ */ i(Ii, { color: u.fg ?? (
|
|
2365
|
+
/* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: h ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: u.name }),
|
|
2366
|
+
u.hasVoice && !M && /* @__PURE__ */ i(Ii, { color: u.fg ?? (h ? "var(--ink-62)" : "var(--ink-45)") }),
|
|
2367
2367
|
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: "!" }),
|
|
2368
|
-
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:
|
|
2368
|
+
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(le, { d: X.micOff, size: 13, sw: 1.7 }) }),
|
|
2369
2369
|
(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)" } }) })
|
|
2370
2370
|
]
|
|
2371
2371
|
},
|
|
@@ -2373,30 +2373,30 @@ function ol({ roster: t, selected: e, onSelect: n, noClone: s, building: r, shor
|
|
|
2373
2373
|
);
|
|
2374
2374
|
}) }) : null;
|
|
2375
2375
|
}
|
|
2376
|
-
function ll({ 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:
|
|
2376
|
+
function ll({ 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 }) {
|
|
2377
2377
|
const w = Ie(() => il(e, N), [e, N]), [k, m] = I({});
|
|
2378
2378
|
_(() => {
|
|
2379
2379
|
m({});
|
|
2380
|
-
}, [u,
|
|
2380
|
+
}, [u, h]);
|
|
2381
2381
|
const f = (b) => b === N.vcMale.toUpperCase() || b === N.vcFemale.toUpperCase(), O = (b) => {
|
|
2382
2382
|
if (b === N.vcSheet) return !0;
|
|
2383
2383
|
const W = k[b];
|
|
2384
|
-
return W != null ? !W : !
|
|
2384
|
+
return W != null ? !W : !h || !f(b) ? !0 : b === (h === "female" ? N.vcFemale : N.vcMale).toUpperCase();
|
|
2385
2385
|
}, D = !!s && s !== n;
|
|
2386
|
-
return /* @__PURE__ */
|
|
2387
|
-
M && /* @__PURE__ */
|
|
2386
|
+
return /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
2387
|
+
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: [
|
|
2388
2388
|
/* @__PURE__ */ i(le, { d: X.warnTri, size: 15, sw: 1.7, style: { flex: "none", marginTop: 1, color: "var(--conf-low)" } }),
|
|
2389
2389
|
/* @__PURE__ */ i("span", { style: { flex: 1, minWidth: 0, fontSize: 12.5, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-80)", textWrap: "pretty" }, children: M }),
|
|
2390
2390
|
/* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(za, { value: M, label: "Copy this error" }) })
|
|
2391
2391
|
] }),
|
|
2392
2392
|
t,
|
|
2393
|
-
p && /* @__PURE__ */
|
|
2393
|
+
p && /* @__PURE__ */ g(Ue, { children: [
|
|
2394
2394
|
/* @__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 }) }),
|
|
2395
|
-
/* @__PURE__ */
|
|
2395
|
+
/* @__PURE__ */ g("div", { role: p.action ? "button" : "status", tabIndex: p.action ? 0 : void 0, title: p.tip, onClick: p.action, onKeyDown: p.action ? (b) => {
|
|
2396
2396
|
(b.key === "Enter" || b.key === " ") && (b.preventDefault(), p.action());
|
|
2397
2397
|
} : void 0, style: { display: "flex", alignItems: "center", gap: 11, padding: "11px 8px", margin: "0 -6px", borderRadius: 10, cursor: p.action ? "pointer" : "default" }, children: [
|
|
2398
2398
|
/* @__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(le, { d: p.action ? X.plus : X.mic, size: 15, sw: p.action ? 2 : 1.6, style: { color: p.action ? "var(--brand)" : "var(--ink-45)" } }) }),
|
|
2399
|
-
/* @__PURE__ */
|
|
2399
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
2400
2400
|
/* @__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 }),
|
|
2401
2401
|
/* @__PURE__ */ i("div", { style: { fontSize: 12, fontWeight: 300, color: "var(--ink-62)", marginTop: 2, whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: p.sub })
|
|
2402
2402
|
] })
|
|
@@ -2404,9 +2404,9 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
|
|
|
2404
2404
|
] }),
|
|
2405
2405
|
w.map(({ v: b, headOn: W, head: A, headCount: ee, rule: j }, S) => {
|
|
2406
2406
|
const $ = rl(b), L = a === b.id, z = O(A), E = (d == null ? void 0 : d(b)) ?? null;
|
|
2407
|
-
return /* @__PURE__ */
|
|
2407
|
+
return /* @__PURE__ */ g(ga, { children: [
|
|
2408
2408
|
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 }) }),
|
|
2409
|
-
W && A !== N.vcSheet && /* @__PURE__ */
|
|
2409
|
+
W && A !== N.vcSheet && /* @__PURE__ */ g(
|
|
2410
2410
|
"button",
|
|
2411
2411
|
{
|
|
2412
2412
|
type: "button",
|
|
@@ -2423,7 +2423,7 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
|
|
|
2423
2423
|
]
|
|
2424
2424
|
}
|
|
2425
2425
|
),
|
|
2426
|
-
/* @__PURE__ */
|
|
2426
|
+
/* @__PURE__ */ g(
|
|
2427
2427
|
"button",
|
|
2428
2428
|
{
|
|
2429
2429
|
type: "button",
|
|
@@ -2433,23 +2433,23 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
|
|
|
2433
2433
|
onClick: () => o(b),
|
|
2434
2434
|
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" },
|
|
2435
2435
|
children: [
|
|
2436
|
-
/* @__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__ */
|
|
2436
|
+
/* @__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: [
|
|
2437
2437
|
/* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(cl, { height: 13, width: 2.5 }) }),
|
|
2438
2438
|
/* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(ka, { size: 11 }) })
|
|
2439
2439
|
] }) : /* @__PURE__ */ i(le, { d: b.cloned ? X.voiceClone : b.gender === "female" ? X.venus : b.gender === "male" ? X.mars : X.mic, size: 15, sw: 1.6, style: { color: b.cloned ? "var(--brand)" : "var(--ink-55)" } }) }),
|
|
2440
|
-
/* @__PURE__ */
|
|
2440
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
2441
2441
|
/* @__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 }) }),
|
|
2442
2442
|
$ && /* @__PURE__ */ i("div", { style: { fontSize: 12, fontWeight: 300, color: "var(--ink-62)", marginTop: 2, whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: $ }),
|
|
2443
|
-
E && (b.id === n ? /* @__PURE__ */
|
|
2443
|
+
E && (b.id === n ? /* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", gap: 5, marginTop: 3, minWidth: 0 }, children: [
|
|
2444
2444
|
/* @__PURE__ */ i(le, { d: X.notice, size: 12, sw: 1.7, style: { flex: "none", color: "var(--conf-mid)" } }),
|
|
2445
2445
|
/* @__PURE__ */ i("span", { style: { minWidth: 0, fontSize: 11, fontWeight: 300, color: "var(--conf-mid)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: `${N.vcShared} ${E}` })
|
|
2446
2446
|
] }) : /* @__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}` }))
|
|
2447
2447
|
] }),
|
|
2448
|
-
/* @__PURE__ */
|
|
2448
|
+
/* @__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: [
|
|
2449
2449
|
/* @__PURE__ */ i("span", { style: { flex: "none", width: 18, height: 18 } }),
|
|
2450
2450
|
/* @__PURE__ */ i("span", { style: { flex: "none", width: 18, height: 18, display: "flex", alignItems: "center", justifyContent: "center" }, children: b.id === n && /* @__PURE__ */ i(le, { d: X.check, size: 17, sw: 2.2, style: { flex: "none", color: "var(--brand)" } }) })
|
|
2451
2451
|
] }),
|
|
2452
|
-
(b.live || b.cloned && b.library === !1 && !b.auto && !!l) && /* @__PURE__ */
|
|
2452
|
+
(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 ? (ie) => {
|
|
2453
2453
|
ie.stopPropagation(), l(b);
|
|
2454
2454
|
} : void 0, children: [
|
|
2455
2455
|
/* @__PURE__ */ i(le, { d: X.plus, size: 14, sw: 2 }),
|
|
@@ -2465,13 +2465,13 @@ function ll({ cast: t, voices: e, currentId: n, armedId: s = null, sampleId: r =
|
|
|
2465
2465
|
}
|
|
2466
2466
|
function cl({ height: t, width: e = 2 }) {
|
|
2467
2467
|
const n = { width: e, height: "100%", borderRadius: 1, background: "var(--brand)" };
|
|
2468
|
-
return /* @__PURE__ */
|
|
2468
|
+
return /* @__PURE__ */ g("span", { style: { flex: "none", display: "flex", alignItems: "flex-end", gap: 2, height: t }, children: [
|
|
2469
2469
|
/* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out infinite" } }),
|
|
2470
2470
|
/* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out .2s infinite" } }),
|
|
2471
2471
|
/* @__PURE__ */ i("span", { style: { ...n, animation: "vs-eq .62s ease-in-out .38s infinite" } })
|
|
2472
2472
|
] });
|
|
2473
2473
|
}
|
|
2474
|
-
const ul = /* @__PURE__ */
|
|
2474
|
+
const ul = /* @__PURE__ */ g("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
|
|
2475
2475
|
/* @__PURE__ */ i(le, { d: X.langAuto, size: 19, sw: 1.7, style: { color: "var(--ink-62)", display: "block" } }),
|
|
2476
2476
|
/* @__PURE__ */ i(le, { d: X.globe, size: 18, sw: 1.6, style: { color: "var(--ink-62)", display: "block" } })
|
|
2477
2477
|
] });
|
|
@@ -2494,7 +2494,7 @@ function dl(t, e, n = 0, s) {
|
|
|
2494
2494
|
function Ml(t) {
|
|
2495
2495
|
return (/* @__PURE__ */ new Set([...Object.keys(t.speakers), ...Object.keys(t.speakerIds)])).size;
|
|
2496
2496
|
}
|
|
2497
|
-
function
|
|
2497
|
+
function hl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, sentenceIds: a }) {
|
|
2498
2498
|
const o = At(), { data: l, reload: c } = ki(async () => {
|
|
2499
2499
|
if (!t || !e) return null;
|
|
2500
2500
|
const V = await o.client.recordings.voice(t, e, o.readAs).catch(() => []);
|
|
@@ -2502,7 +2502,7 @@ function gl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
|
|
|
2502
2502
|
}, [t, e, o, n]), d = Ie(
|
|
2503
2503
|
() => l && l.lang === e && l.recordingId === t ? l.rows : [],
|
|
2504
2504
|
[l, e, t]
|
|
2505
|
-
), u = Ie(() => di(d, r), [d, r]),
|
|
2505
|
+
), u = Ie(() => di(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) => {
|
|
2506
2506
|
if (!t || !e || !n) return;
|
|
2507
2507
|
const ue = C != null && C.size ? null : Fr(V), P = C != null && C.size ? C : ue, q = P && P.size ? Object.fromEntries([...P].map(([we, ke]) => [String(we), ke])) : null, ce = `${t}|${e}|${q ? JSON.stringify(q) : V ?? ""}`;
|
|
2508
2508
|
if (k.current.has(ce)) return;
|
|
@@ -2524,16 +2524,16 @@ function gl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
|
|
|
2524
2524
|
}, [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, ee] = 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);
|
|
2525
2525
|
_(() => {
|
|
2526
2526
|
if (!n || !t || !e || !S.length) return;
|
|
2527
|
-
const V = A ?? S[0], C = S.find((ne) => ne >= V) ?? S[0], ue = `${t}|${e}|${
|
|
2527
|
+
const V = A ?? S[0], C = S.find((ne) => ne >= V) ?? S[0], ue = `${t}|${e}|${h ?? ""}`, P = $.current;
|
|
2528
2528
|
if (P && P.key === ue && Math.abs(P.near - C) < 12 && Date.now() - P.at < 6e4) return;
|
|
2529
2529
|
$.current = { key: ue, near: C, at: Date.now() };
|
|
2530
|
-
const q = Fr(
|
|
2531
|
-
q && q.size ? ce.voiceBySpeaker = Object.fromEntries([...q].map(([ne, oe]) => [String(ne), oe])) :
|
|
2530
|
+
const q = Fr(h), ce = { langs: [e], near: C };
|
|
2531
|
+
q && q.size ? ce.voiceBySpeaker = Object.fromEntries([...q].map(([ne, oe]) => [String(ne), oe])) : h && (ce.voice = h), Br(o, `/v1/recordings/${t}/voice`, { method: "POST", body: ce }).then((ne) => {
|
|
2532
2532
|
ne.ok || ($.current = null);
|
|
2533
2533
|
}).catch(() => {
|
|
2534
2534
|
$.current = null;
|
|
2535
2535
|
});
|
|
2536
|
-
}, [n, t, e,
|
|
2536
|
+
}, [n, t, e, h, A, S, o]);
|
|
2537
2537
|
const L = S.length > 0, z = v({ n: -1, at: 0 });
|
|
2538
2538
|
_(() => {
|
|
2539
2539
|
if (!L) return;
|
|
@@ -2548,11 +2548,11 @@ function gl({ recordingId: t, lang: e, ended: n, cred: s, pickedVoice: r, senten
|
|
|
2548
2548
|
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);
|
|
2549
2549
|
return _a(C, t, o.origin, s, V);
|
|
2550
2550
|
}, [u, t, o, s, W, e, r, n, j]), ie = Ie(() => new Set(S), [S]);
|
|
2551
|
-
return { listed: l, rows: d, track: u, renderVoiceId:
|
|
2551
|
+
return { listed: l, rows: d, track: u, renderVoiceId: h, rendering: D, failed: b, clips: E, requestRender: f, forget: O, reload: c, setNear: ee, missing: S.length, coming: ie };
|
|
2552
2552
|
}
|
|
2553
|
-
const
|
|
2553
|
+
const gl = { share: X.share, delay: X.tabGauge, video: X.video, source: X.tabSources, script: X.tabScript, fix: X.tabFix, ending: X.tabEnding, summary: X.tabSummary, export: X.tabExport, settings: X.tabSettings, sources: X.tabSources, recs: X.mic };
|
|
2554
2554
|
function Oi({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r }) {
|
|
2555
|
-
const o = r && t.length <= 3, l = t.some((k) => k.key === e), [c, d] = I(null), u = v(null), [
|
|
2555
|
+
const o = r && t.length <= 3, l = t.some((k) => k.key === e), [c, d] = I(null), u = v(null), [h, M] = I(0);
|
|
2556
2556
|
_(() => {
|
|
2557
2557
|
u.current && M(u.current.offsetWidth);
|
|
2558
2558
|
}, [c == null ? void 0 : c.k]);
|
|
@@ -2568,24 +2568,24 @@ function Oi({ tabs: t, current: e, onPick: n, gap: s, fold: r = !0, side: a = !r
|
|
|
2568
2568
|
}, N = () => d(null);
|
|
2569
2569
|
let w = null;
|
|
2570
2570
|
if (c) {
|
|
2571
|
-
const k = { l: 0, r: typeof window < "u" ? window.innerWidth : 0 }, m =
|
|
2571
|
+
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));
|
|
2572
2572
|
w = pa(
|
|
2573
|
-
/* @__PURE__ */ i("div", { className: "vsp vsp-portal", "data-theme": "dark", children: /* @__PURE__ */
|
|
2573
|
+
/* @__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: [
|
|
2574
2574
|
/* @__PURE__ */ i("span", { className: "vs-tip__row", children: /* @__PURE__ */ i("span", { className: "vs-tip__copy", children: c.label }) }),
|
|
2575
2575
|
/* @__PURE__ */ i("span", { className: "vs-tip__arrow", style: { left: Math.round(Math.max(8, Math.min(m - 19, c.x - f - 5.5))) } })
|
|
2576
2576
|
] }) }),
|
|
2577
2577
|
document.body
|
|
2578
2578
|
);
|
|
2579
2579
|
}
|
|
2580
|
-
return /* @__PURE__ */
|
|
2580
|
+
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: [
|
|
2581
2581
|
t.map((k) => {
|
|
2582
|
-
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 ??
|
|
2582
|
+
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 ?? gl[k.key], b = () => {
|
|
2583
2583
|
N(), n(r && m ? "none" : k.key);
|
|
2584
2584
|
};
|
|
2585
|
-
return r ? /* @__PURE__ */
|
|
2585
|
+
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: [
|
|
2586
2586
|
D && /* @__PURE__ */ i(le, { d: D, size: 15, sw: k.sw ?? 2, style: { flex: "none" } }),
|
|
2587
2587
|
f && /* @__PURE__ */ i("span", { className: "tabbar__label", children: k.label })
|
|
2588
|
-
] }, 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__ */
|
|
2588
|
+
] }, 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: [
|
|
2589
2589
|
D && /* @__PURE__ */ i(le, { d: D, size: 15, sw: k.sw ?? 2, className: "tabbar__icon", style: { flex: "none", transform: m && !o ? "scale(1.12)" : "none" } }),
|
|
2590
2590
|
/* @__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 }) })
|
|
2591
2591
|
] }) }, k.key);
|
|
@@ -2601,7 +2601,7 @@ function pl({ audio: t, video: e, formats: n, onExport: s }) {
|
|
|
2601
2601
|
}), []);
|
|
2602
2602
|
const u = (N) => {
|
|
2603
2603
|
window.clearTimeout(c.current), a(N), c.current = window.setTimeout(() => a(null), 1600);
|
|
2604
|
-
},
|
|
2604
|
+
}, h = (N) => {
|
|
2605
2605
|
o || (l(N), Promise.resolve().then(() => s(N)).then(() => {
|
|
2606
2606
|
d.current && u(N);
|
|
2607
2607
|
}).catch(() => {
|
|
@@ -2615,23 +2615,23 @@ function pl({ audio: t, video: e, formats: n, onExport: s }) {
|
|
|
2615
2615
|
}).finally(() => {
|
|
2616
2616
|
d.current && l(null);
|
|
2617
2617
|
}));
|
|
2618
|
-
}, p = (N, w, k, m) => /* @__PURE__ */
|
|
2618
|
+
}, p = (N, w, k, m) => /* @__PURE__ */ g(Ue, { children: [
|
|
2619
2619
|
/* @__PURE__ */ i(cs, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: m }),
|
|
2620
|
-
/* @__PURE__ */
|
|
2620
|
+
/* @__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: [
|
|
2621
2621
|
o === N ? /* @__PURE__ */ i(at, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(le, { d: k, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
|
|
2622
|
-
/* @__PURE__ */
|
|
2622
|
+
/* @__PURE__ */ g("span", { style: { flex: 1, minWidth: 0, display: "flex", flexDirection: "column", gap: 1, textAlign: "left" }, children: [
|
|
2623
2623
|
/* @__PURE__ */ i("span", { style: { fontSize: 13, fontWeight: 500, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: w.name }),
|
|
2624
2624
|
/* @__PURE__ */ i("span", { style: { font: "500 9.5px var(--vs-font-mono)", color: "var(--ink-40)", letterSpacing: ".04em" }, children: w.meta })
|
|
2625
2625
|
] }),
|
|
2626
2626
|
/* @__PURE__ */ i(le, { d: r === N ? X.check : fl, size: 17, sw: 1.6, style: { flex: "none", color: r === N ? "var(--brand)" : "var(--ink-62)" } })
|
|
2627
2627
|
] })
|
|
2628
2628
|
] });
|
|
2629
|
-
return /* @__PURE__ */
|
|
2629
|
+
return /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
|
|
2630
2630
|
t && p("audio", t, Nl, "DOWNLOAD AUDIO"),
|
|
2631
2631
|
e && p("video", e, X.video, "DOWNLOAD VIDEO"),
|
|
2632
|
-
n !== !1 && /* @__PURE__ */
|
|
2632
|
+
n !== !1 && /* @__PURE__ */ g(Ue, { children: [
|
|
2633
2633
|
/* @__PURE__ */ i(cs, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "EXPORT AS" }),
|
|
2634
|
-
/* @__PURE__ */ i("div", { className: "fmtgrid", children: fs.map((N) => /* @__PURE__ */
|
|
2634
|
+
/* @__PURE__ */ i("div", { className: "fmtgrid", children: fs.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: [
|
|
2635
2635
|
o === N.key ? /* @__PURE__ */ i(at, { size: 16, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(le, { d: r === N.key ? X.check : N.icon, size: 16, sw: 1.6, style: { color: r === N.key ? "var(--brand)" : "var(--ink-62)" } }),
|
|
2636
2636
|
/* @__PURE__ */ i("span", { children: N.name })
|
|
2637
2637
|
] }, N.key)) })
|
|
@@ -2683,29 +2683,29 @@ function Tl({ s: t }) {
|
|
|
2683
2683
|
|
|
2684
2684
|
${a}`).catch(() => {
|
|
2685
2685
|
}), window.clearTimeout(s.current), n(!0), s.current = window.setTimeout(() => n(!1), 1600);
|
|
2686
|
-
}, l = (c, d) => /* @__PURE__ */
|
|
2686
|
+
}, 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: [
|
|
2687
2687
|
/* @__PURE__ */ i("span", { style: { flex: 1 }, children: c }),
|
|
2688
2688
|
d && /* @__PURE__ */ i("button", { type: "button", className: "txlinks__manage", onClick: d.onClick, children: d.label })
|
|
2689
2689
|
] });
|
|
2690
|
-
return /* @__PURE__ */
|
|
2691
|
-
/* @__PURE__ */
|
|
2690
|
+
return /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column", gap: 8 }, children: [
|
|
2691
|
+
/* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, minHeight: 24 }, children: [
|
|
2692
2692
|
/* @__PURE__ */ i(cs, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "SUMMARY" }),
|
|
2693
|
-
t.state === "ready" && /* @__PURE__ */
|
|
2693
|
+
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: [
|
|
2694
2694
|
/* @__PURE__ */ i(le, { d: e ? X.check : kl, size: 13, sw: 1.6 }),
|
|
2695
2695
|
e ? "Copied" : "Copy"
|
|
2696
2696
|
] })
|
|
2697
2697
|
] }),
|
|
2698
|
-
t.state === "ready" ? /* @__PURE__ */
|
|
2698
|
+
t.state === "ready" ? /* @__PURE__ */ g(Ue, { children: [
|
|
2699
2699
|
/* @__PURE__ */ i("div", { style: { fontSize: 15, fontWeight: 600, lineHeight: 1.3, letterSpacing: "-.15px", color: "var(--ink-96)", textWrap: "pretty" }, children: r }),
|
|
2700
2700
|
/* @__PURE__ */ i("div", { style: { fontSize: 13, fontWeight: 300, lineHeight: 1.55, color: "var(--ink-80)", textWrap: "pretty", whiteSpace: "pre-line" }, children: a })
|
|
2701
|
-
] }) : 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__ */
|
|
2701
|
+
] }) : 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: [
|
|
2702
2702
|
/* @__PURE__ */ i(at, { size: 14, color: "var(--brand)", track: "var(--fill-12)" }),
|
|
2703
2703
|
t.slow ? "Still writing the summary…" : "Writing the summary…"
|
|
2704
2704
|
] })
|
|
2705
2705
|
] });
|
|
2706
2706
|
}
|
|
2707
2707
|
function wl({ ytId: t, title: e, timeLabel: n, radius: s, style: r, large: a, children: o, picture: l }) {
|
|
2708
|
-
return /* @__PURE__ */
|
|
2708
|
+
return /* @__PURE__ */ g("div", { className: "livevid", style: { ...s != null ? { borderRadius: s } : null, ...r }, children: [
|
|
2709
2709
|
/* @__PURE__ */ i(le, { 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 }),
|
|
2710
2710
|
l ?? /* @__PURE__ */ i("iframe", { src: Wo(t), title: e, referrerPolicy: "strict-origin-when-cross-origin", allow: "autoplay; encrypted-media; picture-in-picture" }),
|
|
2711
2711
|
n && /* @__PURE__ */ i("span", { className: "livevid__t", style: a ? { bottom: 10, right: 10 } : void 0, children: n }),
|
|
@@ -2718,13 +2718,13 @@ function Ll(t = !0, e) {
|
|
|
2718
2718
|
const r = s.current;
|
|
2719
2719
|
if (!r || !t) return;
|
|
2720
2720
|
let a = 0, o = 0, l = !1;
|
|
2721
|
-
const c = (
|
|
2722
|
-
|
|
2723
|
-
}, d = (
|
|
2721
|
+
const c = (h) => {
|
|
2722
|
+
h.button !== 0 || h.target.closest("button,a,input,textarea,select") || (l = !0, a = h.clientY, o = r.scrollTop, r.classList.add("is-dragging"));
|
|
2723
|
+
}, d = (h) => {
|
|
2724
2724
|
var p;
|
|
2725
2725
|
if (!l) return;
|
|
2726
|
-
const M =
|
|
2727
|
-
Math.abs(M) > 2 && ((p = r.setPointerCapture) == null || p.call(r,
|
|
2726
|
+
const M = h.clientY - a;
|
|
2727
|
+
Math.abs(M) > 2 && ((p = r.setPointerCapture) == null || p.call(r, h.pointerId)), r.scrollTop = o - M;
|
|
2728
2728
|
}, u = () => {
|
|
2729
2729
|
l = !1, r.classList.remove("is-dragging");
|
|
2730
2730
|
};
|
|
@@ -2744,9 +2744,9 @@ function vl(t, e) {
|
|
|
2744
2744
|
(e.forcePin ?? []).forEach((f) => {
|
|
2745
2745
|
l = l.filter((O) => O !== `!${f}`), r.includes(f) && !l.includes(f) && (l = [f, ...l]);
|
|
2746
2746
|
});
|
|
2747
|
-
const d = (f) => (e.forcePin ?? []).includes(f) && !c.includes(f), u = a ? l.filter((f) => r.includes(f) && o.includes(f)) : [],
|
|
2748
|
-
const O =
|
|
2749
|
-
return O[
|
|
2747
|
+
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) => {
|
|
2748
|
+
const O = h.filter((D) => D !== f);
|
|
2749
|
+
return O[h.indexOf(f)] ?? O[O.length - 1] ?? null;
|
|
2750
2750
|
}, N = (f, O) => {
|
|
2751
2751
|
if (!o.includes(f)) return;
|
|
2752
2752
|
const D = u.filter((b) => b !== f);
|
|
@@ -2766,20 +2766,20 @@ function vl(t, e) {
|
|
|
2766
2766
|
show: D && (!a || O || M === f),
|
|
2767
2767
|
pinned: O,
|
|
2768
2768
|
order: O ? u.indexOf(f) + 1 : 1e3,
|
|
2769
|
-
pill: a && D && o.includes(f) &&
|
|
2769
|
+
pill: a && D && o.includes(f) && h.length > 0 && (O || h.length > 1),
|
|
2770
2770
|
title: O ? `Unpin — return ${k(f)} to the tabs` : `Pin ${k(f)} open above the tabs`,
|
|
2771
2771
|
toggle: () => O ? w(f) : N(f)
|
|
2772
2772
|
};
|
|
2773
2773
|
};
|
|
2774
|
-
return { id: t, tabbed: a &&
|
|
2774
|
+
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 };
|
|
2775
2775
|
}
|
|
2776
2776
|
function jl({ col: t, order: e, render: n, grip: s, onPick: r, wrapClass: a }) {
|
|
2777
|
-
return zl(t), /* @__PURE__ */
|
|
2777
|
+
return zl(t), /* @__PURE__ */ g(Ue, { children: [
|
|
2778
2778
|
e.map((o) => {
|
|
2779
2779
|
const l = t.panel(o);
|
|
2780
2780
|
if (!l.show) return null;
|
|
2781
2781
|
const c = n(o);
|
|
2782
|
-
return c ? /* @__PURE__ */
|
|
2782
|
+
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: [
|
|
2783
2783
|
c,
|
|
2784
2784
|
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(le, { d: X.pin, size: 12, sw: 2 }) })
|
|
2785
2785
|
] }, o) : null;
|
|
@@ -2858,7 +2858,7 @@ function zl(t) {
|
|
|
2858
2858
|
}, u = (m) => {
|
|
2859
2859
|
const f = m instanceof Element ? m.closest("[data-tab-col]") : null;
|
|
2860
2860
|
return f && f.getAttribute("data-tab-col") === n ? f : null;
|
|
2861
|
-
},
|
|
2861
|
+
}, h = (m) => {
|
|
2862
2862
|
var A;
|
|
2863
2863
|
if (r) {
|
|
2864
2864
|
if (!r.on) {
|
|
@@ -2886,8 +2886,8 @@ function zl(t) {
|
|
|
2886
2886
|
}, k = () => {
|
|
2887
2887
|
r || a(null);
|
|
2888
2888
|
};
|
|
2889
|
-
return document.addEventListener("pointermove",
|
|
2890
|
-
d(!1), a(null), document.removeEventListener("pointermove",
|
|
2889
|
+
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), () => {
|
|
2890
|
+
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);
|
|
2891
2891
|
};
|
|
2892
2892
|
}, [n]);
|
|
2893
2893
|
}
|
|
@@ -2911,10 +2911,10 @@ function Il({ id: t, className: e, gap: n, hidden: s, plain: r, children: a }) {
|
|
|
2911
2911
|
window.removeEventListener("pointermove", j), window.removeEventListener("pointerup", S), window.removeEventListener("pointercancel", S), document.body.style.cursor = ee.cur, document.body.style.userSelect = ee.sel, w.classList.remove("is-on"), l(A);
|
|
2912
2912
|
};
|
|
2913
2913
|
window.addEventListener("pointermove", j), window.addEventListener("pointerup", S), window.addEventListener("pointercancel", S);
|
|
2914
|
-
},
|
|
2915
|
-
return /* @__PURE__ */
|
|
2916
|
-
/* @__PURE__ */ i("div", { "aria-hidden": "true", className: "colgrip", style: { marginRight: -n, ...
|
|
2917
|
-
/* @__PURE__ */ i("div", { ref: c, "data-tab-col": t, className: `${e} sidecol`, style: { flex: `0 0 ${o}px`, ...
|
|
2914
|
+
}, h = s ? { display: "none" } : void 0;
|
|
2915
|
+
return /* @__PURE__ */ g(Ue, { children: [
|
|
2916
|
+
/* @__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) }) }),
|
|
2917
|
+
/* @__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 }) })
|
|
2918
2918
|
] });
|
|
2919
2919
|
}
|
|
2920
2920
|
function Ol(t) {
|
|
@@ -2927,13 +2927,13 @@ function Ol(t) {
|
|
|
2927
2927
|
s = 0;
|
|
2928
2928
|
const d = getComputedStyle(e).display === "grid";
|
|
2929
2929
|
[...e.children].forEach((u) => {
|
|
2930
|
-
const
|
|
2930
|
+
const h = u;
|
|
2931
2931
|
if (!d) {
|
|
2932
|
-
|
|
2932
|
+
h.style.gridRowEnd && (h.style.gridRowEnd = "");
|
|
2933
2933
|
return;
|
|
2934
2934
|
}
|
|
2935
|
-
const M =
|
|
2936
|
-
|
|
2935
|
+
const M = h.getBoundingClientRect().height, p = M > 0 ? `span ${Math.ceil(M + n)}` : "span 1";
|
|
2936
|
+
h.style.gridRowEnd !== p && (h.style.gridRowEnd = p);
|
|
2937
2937
|
});
|
|
2938
2938
|
}, a = () => {
|
|
2939
2939
|
s || (s = requestAnimationFrame(r));
|
|
@@ -2950,8 +2950,8 @@ function Cl(t) {
|
|
|
2950
2950
|
}
|
|
2951
2951
|
const bl = 1500, xl = 3e5;
|
|
2952
2952
|
function Dl(t) {
|
|
2953
|
-
const e = At(), [n, s] = I(null), [r, a] = I(null), [o, l] = I(null), [c, d] = I(null), u = v(null),
|
|
2954
|
-
M.current && (clearTimeout(M.current), M.current = null), u.current && (u.current.pause(), u.current.removeAttribute("src"), u.current.load(), u.current = null),
|
|
2953
|
+
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(() => {
|
|
2954
|
+
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);
|
|
2955
2955
|
}, []), w = Xe(() => {
|
|
2956
2956
|
p.current += 1, N(), a(null), l(null);
|
|
2957
2957
|
}, [N]), k = Xe(() => {
|
|
@@ -2998,8 +2998,8 @@ function Dl(t) {
|
|
|
2998
2998
|
}
|
|
2999
2999
|
const ee = await A.blob();
|
|
3000
3000
|
if (p.current !== O) return;
|
|
3001
|
-
l(null),
|
|
3002
|
-
const j = new Audio(
|
|
3001
|
+
l(null), h.current = URL.createObjectURL(ee);
|
|
3002
|
+
const j = new Audio(h.current);
|
|
3003
3003
|
j.playsInline = !0;
|
|
3004
3004
|
const S = () => {
|
|
3005
3005
|
p.current === O && (N(), a(null));
|
|
@@ -3062,7 +3062,7 @@ function St(t, e, n) {
|
|
|
3062
3062
|
const s = (r = t == null ? void 0 : t.words[t.words.length - 1]) == null ? void 0 : r.end;
|
|
3063
3063
|
return s != null && s > e ? s : (t == null ? void 0 : t.end) != null && t.end > e ? t.end : n > e ? n : e + 4;
|
|
3064
3064
|
}
|
|
3065
|
-
function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: d, lead: u, onTime:
|
|
3065
|
+
function Al({ 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 }) {
|
|
3066
3066
|
const p = v(null), [N, w] = I(!1);
|
|
3067
3067
|
_(() => {
|
|
3068
3068
|
if (!M) {
|
|
@@ -3095,8 +3095,8 @@ function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
|
|
|
3095
3095
|
} else L.current && !S.current && (L.current = !1, Le.current || (Z = j.current) == null || Z.call(j));
|
|
3096
3096
|
}, E = v(n);
|
|
3097
3097
|
E.current = n;
|
|
3098
|
-
const ie = v(
|
|
3099
|
-
ie.current =
|
|
3098
|
+
const ie = v(h);
|
|
3099
|
+
ie.current = h;
|
|
3100
3100
|
const V = v(null), C = v(null), [ue, P] = I(!0), [q, ce] = I(!1), ne = () => {
|
|
3101
3101
|
D("unloadModule", ["captions"]), D("unloadModule", ["cc"]);
|
|
3102
3102
|
}, oe = v([]), we = () => {
|
|
@@ -3130,7 +3130,7 @@ function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
|
|
|
3130
3130
|
}, Me = () => V.current;
|
|
3131
3131
|
return _(() => {
|
|
3132
3132
|
const H = (Ne) => {
|
|
3133
|
-
var Be, Oe, Fe,
|
|
3133
|
+
var Be, Oe, Fe, ge, K, pe, re, ae, Te, ve, Ae, Y, U, F, J, he;
|
|
3134
3134
|
if (Ne.source !== ((Be = p.current) == null ? void 0 : Be.contentWindow) || typeof Ne.data != "string") return;
|
|
3135
3135
|
let Z = null;
|
|
3136
3136
|
try {
|
|
@@ -3139,7 +3139,7 @@ function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
|
|
|
3139
3139
|
return;
|
|
3140
3140
|
}
|
|
3141
3141
|
(Fe = (Oe = Z == null ? void 0 : Z.info) == null ? void 0 : Oe.videoData) != null && Fe.isLive && (W.current = !0);
|
|
3142
|
-
const ze = (
|
|
3142
|
+
const ze = (ge = Z == null ? void 0 : Z.info) == null ? void 0 : ge.duration;
|
|
3143
3143
|
typeof ze == "number" && ze > 0 && !W.current && (b.current == null ? b.current = ze : (A.current = Math.abs(ze - b.current) > 1.5, z())), (Z == null ? void 0 : Z.event) === "onReady" && ((!S.current || S.current.muted) && D("mute"), we(), (K = S.current) == null || K.onInfo({ ready: !0 })), typeof ((pe = Z == null ? void 0 : Z.info) == null ? void 0 : pe.playerState) == "number" && (Z.info.playerState !== C.current && (Z.info.playerState === 1 || Z.info.playerState === 2) && we(), C.current = Z.info.playerState, P(Z.info.playerState !== 1 && Z.info.playerState !== 3), (re = S.current) == null || re.onInfo({ state: Z.info.playerState }));
|
|
3144
3144
|
const be = (ae = Z == null ? void 0 : Z.info) == null ? void 0 : ae.progressState;
|
|
3145
3145
|
if (be && typeof be.seekableStart == "number" && typeof be.seekableEnd == "number" && be.seekableEnd > be.seekableStart) {
|
|
@@ -3150,7 +3150,7 @@ function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
|
|
|
3150
3150
|
(Te = Ce.current) == null || Te.call(Ce, ye), ye && ((ve = $e.current) == null || ve.call($e));
|
|
3151
3151
|
}
|
|
3152
3152
|
}
|
|
3153
|
-
typeof ((Ae = Z == null ? void 0 : Z.info) == null ? void 0 : Ae.currentTime) == "number" && (V.current = Z.info.currentTime, (Y = S.current) == null || Y.onInfo({ t: Z.info.currentTime }), !m.current && C.current === 1 && ((U = ie.current) == null || U.call(ie, Z.info.currentTime))), ((F = Z == null ? void 0 : Z.info) == null ? void 0 : F.muted) === !1 && !S.current && D("mute"), typeof ((J = Z == null ? void 0 : Z.info) == null ? void 0 : J.muted) == "boolean" && ((
|
|
3153
|
+
typeof ((Ae = Z == null ? void 0 : Z.info) == null ? void 0 : Ae.currentTime) == "number" && (V.current = Z.info.currentTime, (Y = S.current) == null || Y.onInfo({ t: Z.info.currentTime }), !m.current && C.current === 1 && ((U = ie.current) == null || U.call(ie, Z.info.currentTime))), ((F = Z == null ? void 0 : Z.info) == null ? void 0 : F.muted) === !1 && !S.current && D("mute"), typeof ((J = Z == null ? void 0 : Z.info) == null ? void 0 : J.muted) == "boolean" && ((he = S.current) == null || he.onInfo({ muted: Z.info.muted }));
|
|
3154
3154
|
};
|
|
3155
3155
|
return window.addEventListener("message", H), () => window.removeEventListener("message", H);
|
|
3156
3156
|
}, []), _(() => {
|
|
@@ -3179,18 +3179,18 @@ function Al({ ytId: t, title: e, t: n, playing: s, seekN: r, onToggle: a, onAd:
|
|
|
3179
3179
|
be !== ee.current && (ee.current = be, z());
|
|
3180
3180
|
}, 1e3);
|
|
3181
3181
|
return () => clearInterval(Z);
|
|
3182
|
-
}, [q]), /* @__PURE__ */
|
|
3182
|
+
}, [q]), /* @__PURE__ */ g("div", { className: `txyt${f ? " txyt--ad" : ""}`, children: [
|
|
3183
3183
|
/* @__PURE__ */ i("iframe", { ref: p, onLoad: ke, 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" }),
|
|
3184
3184
|
!f && /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "txyt__tap", onClick: a, style: { cursor: a ? "pointer" : "default" } }),
|
|
3185
3185
|
/* @__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 }) }) }),
|
|
3186
3186
|
f && /* @__PURE__ */ i("div", { className: "txyt__ad", "aria-live": "polite", children: "Ad on YouTube · the transcript carries on after it" }),
|
|
3187
|
-
B && /* @__PURE__ */
|
|
3187
|
+
B && /* @__PURE__ */ g("div", { className: "txyt__gone", children: [
|
|
3188
3188
|
/* @__PURE__ */ i("span", { children: "YouTube no longer has this part of the broadcast" }),
|
|
3189
3189
|
/* @__PURE__ */ i("small", { children: "A live stream can be rewound only 12 hours" })
|
|
3190
3190
|
] })
|
|
3191
3191
|
] });
|
|
3192
3192
|
}
|
|
3193
|
-
const El = /* @__PURE__ */
|
|
3193
|
+
const El = /* @__PURE__ */ g(Ue, { children: [
|
|
3194
3194
|
/* @__PURE__ */ i("rect", { x: "6.5", y: "5", width: "3.75", height: "14", rx: "1.2" }),
|
|
3195
3195
|
/* @__PURE__ */ i("rect", { x: "13.75", y: "5", width: "3.75", height: "14", rx: "1.2" })
|
|
3196
3196
|
] }), Yl = /* @__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" });
|
|
@@ -3211,10 +3211,10 @@ function $l(t, e) {
|
|
|
3211
3211
|
const s = v(0), r = v(1), a = Xe((o, l) => {
|
|
3212
3212
|
cancelAnimationFrame(s.current);
|
|
3213
3213
|
const c = r.current, d = performance.now(), u = () => {
|
|
3214
|
-
const
|
|
3215
|
-
r.current = c + (o - c) *
|
|
3214
|
+
const h = l > 0 ? Math.min(1, (performance.now() - d) / l) : 1;
|
|
3215
|
+
r.current = c + (o - c) * h;
|
|
3216
3216
|
for (const M of n.current) M.setVolume(r.current);
|
|
3217
|
-
|
|
3217
|
+
h < 1 && (s.current = requestAnimationFrame(u));
|
|
3218
3218
|
};
|
|
3219
3219
|
u();
|
|
3220
3220
|
}, []);
|
|
@@ -3227,7 +3227,7 @@ function $l(t, e) {
|
|
|
3227
3227
|
}
|
|
3228
3228
|
function Bl(t, e, n, s) {
|
|
3229
3229
|
var Ce;
|
|
3230
|
-
const r = v(null), a = v(!1), o = v(!1), [l, c] = I(null), [d, u] = I(!0),
|
|
3230
|
+
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);
|
|
3231
3231
|
w.current = p;
|
|
3232
3232
|
const k = v({ t: 0, at: 0 }), m = v(n);
|
|
3233
3233
|
m.current = n;
|
|
@@ -3250,7 +3250,7 @@ function Bl(t, e, n, s) {
|
|
|
3250
3250
|
}
|
|
3251
3251
|
}
|
|
3252
3252
|
}), []);
|
|
3253
|
-
$.muted =
|
|
3253
|
+
$.muted = h.current || M.current, _(() => {
|
|
3254
3254
|
if (l !== 1) return;
|
|
3255
3255
|
let G = 0;
|
|
3256
3256
|
const B = () => {
|
|
@@ -3307,10 +3307,10 @@ function Bl(t, e, n, s) {
|
|
|
3307
3307
|
const B = t[Math.max(0, Math.min(t.length - 1, G))];
|
|
3308
3308
|
B && C(B.start);
|
|
3309
3309
|
}, ke = v(!1), Pe = () => {
|
|
3310
|
-
const G =
|
|
3310
|
+
const G = h.current || M.current;
|
|
3311
3311
|
$.muted = G, A(G ? "mute" : "unMute");
|
|
3312
3312
|
}, me = (G) => {
|
|
3313
|
-
|
|
3313
|
+
h.current = G, u(G), Pe();
|
|
3314
3314
|
}, Le = (G) => {
|
|
3315
3315
|
M.current !== !G && (M.current = !G, Pe());
|
|
3316
3316
|
};
|
|
@@ -3336,9 +3336,9 @@ function Bl(t, e, n, s) {
|
|
|
3336
3336
|
toggle: oe,
|
|
3337
3337
|
seekRow: we,
|
|
3338
3338
|
toggleMute: () => {
|
|
3339
|
-
const G = !
|
|
3339
|
+
const G = !h.current;
|
|
3340
3340
|
me(G), !G && !M.current && j.current === 1 && setTimeout(() => {
|
|
3341
|
-
j.current === 2 && !
|
|
3341
|
+
j.current === 2 && !h.current && (me(!0), A("playVideo"));
|
|
3342
3342
|
}, 900);
|
|
3343
3343
|
},
|
|
3344
3344
|
seekFrac: (G) => C(Math.max(0, Math.min(1, G)) * z),
|
|
@@ -3370,8 +3370,8 @@ function Bl(t, e, n, s) {
|
|
|
3370
3370
|
}
|
|
3371
3371
|
function Hl(t, e, n, s, r = 0, a = null) {
|
|
3372
3372
|
var te;
|
|
3373
|
-
const o = v(null), [l, c] = I(!1), [d, u] = I(0), [
|
|
3374
|
-
p.current =
|
|
3373
|
+
const o = v(null), [l, c] = I(!1), [d, u] = I(0), [h, M] = I(!1), p = v(h);
|
|
3374
|
+
p.current = h;
|
|
3375
3375
|
const N = v(!1), [w, k] = I(null), [m, f] = I(!1), O = v(r);
|
|
3376
3376
|
O.current = r;
|
|
3377
3377
|
const D = v(null), [b, W] = I(0);
|
|
@@ -3516,7 +3516,7 @@ function Hl(t, e, n, s, r = 0, a = null) {
|
|
|
3516
3516
|
t: d,
|
|
3517
3517
|
idx: C,
|
|
3518
3518
|
dur: j,
|
|
3519
|
-
muted:
|
|
3519
|
+
muted: h,
|
|
3520
3520
|
toggleMute: () => {
|
|
3521
3521
|
const y = !p.current;
|
|
3522
3522
|
p.current = y, o.current && (o.current.muted = y || N.current), M(y);
|
|
@@ -3563,7 +3563,7 @@ function Hl(t, e, n, s, r = 0, a = null) {
|
|
|
3563
3563
|
function Vl(t, e, n, s, r, a, o = !1, l) {
|
|
3564
3564
|
const c = v(/* @__PURE__ */ new Set());
|
|
3565
3565
|
c.current = l ?? c.current;
|
|
3566
|
-
const d = v(null), [u,
|
|
3566
|
+
const d = v(null), [u, h] = I(!1), [M, p] = I(0), [N, w] = I(0), [k, m] = I(!1), f = v(k);
|
|
3567
3567
|
f.current = k;
|
|
3568
3568
|
const [O, D] = I(null), [b, W] = I(null), [A, ee] = I(null), [j, S] = I(null), $ = v(j);
|
|
3569
3569
|
$.current = j;
|
|
@@ -3577,29 +3577,29 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3577
3577
|
ke.current = a;
|
|
3578
3578
|
const Pe = Xe((Y) => {
|
|
3579
3579
|
Y.finite = !0, Y.coming = (U) => c.current.has(U), Y.readAhead = 6, Y.readAheadS = 45, Y.onWaiting = (U) => W(U), Y.onStarting = (U) => ee(U), Y.onSentence = (U) => {
|
|
3580
|
-
if (
|
|
3580
|
+
if (h(Y.playing), U == null) return;
|
|
3581
3581
|
const F = q.current.findIndex((J) => J.sentenceId === U);
|
|
3582
3582
|
F >= 0 && p(F);
|
|
3583
3583
|
}, Y.onError = (U) => {
|
|
3584
|
-
|
|
3584
|
+
h(Y.playing), D(U instanceof ui ? { 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." });
|
|
3585
3585
|
}, Y.gapBefore = (U, F) => {
|
|
3586
3586
|
if (!ce.current) return 0;
|
|
3587
|
-
const J = q.current,
|
|
3587
|
+
const J = q.current, he = J.find((De) => De.sentenceId === U), xe = J.find((De) => De.sentenceId === F);
|
|
3588
3588
|
if (!xe) return 0;
|
|
3589
3589
|
const ye = $.current;
|
|
3590
3590
|
if (U == null) return ye && ye.sid === F ? Math.max(0, xe.start - ye.t) : 0;
|
|
3591
3591
|
const je = oe.current;
|
|
3592
|
-
return je && Date.now() - je.at < 2e3 ? Math.max(0, xe.start - (je.t + (Date.now() - je.at) / 1e3 * Y.rate)) : !
|
|
3592
|
+
return je && Date.now() - je.at < 2e3 ? Math.max(0, xe.start - (je.t + (Date.now() - je.at) / 1e3 * Y.rate)) : !he || xe.start <= he.start ? 0 : Math.max(0, xe.start - St(he, he.start, he.start + 4));
|
|
3593
3593
|
}, Y.flow = ce.current, Y.silentSpan = (U) => {
|
|
3594
3594
|
var Qe;
|
|
3595
|
-
const F = q.current, J = F.findIndex((st) => st.sentenceId === U),
|
|
3596
|
-
if (!
|
|
3597
|
-
const xe = ((Qe = F[J + 1]) == null ? void 0 : Qe.start) ?? St(
|
|
3595
|
+
const F = q.current, J = F.findIndex((st) => st.sentenceId === U), he = F[J];
|
|
3596
|
+
if (!he) return null;
|
|
3597
|
+
const xe = ((Qe = F[J + 1]) == null ? void 0 : Qe.start) ?? St(he, he.start, he.start + 4), ye = Math.max(0, xe - he.start), je = oe.current, De = je && Date.now() - je.at < 2e3 ? je.t + (Date.now() - je.at) / 1e3 * (Y.rate || 1) : he.start, Ze = Math.max(0, Math.min(ye, De - he.start));
|
|
3598
3598
|
return { fromS: Ze, ms: (ye - Ze) * 1e3 / (Y.rate || 1) };
|
|
3599
3599
|
}, Y.speakable = (U) => {
|
|
3600
3600
|
const F = we.current;
|
|
3601
3601
|
if (!F || !F.size) return !0;
|
|
3602
|
-
const J = q.current.find((
|
|
3602
|
+
const J = q.current.find((he) => he.sentenceId === U);
|
|
3603
3603
|
return !J || !F.has(J.speaker);
|
|
3604
3604
|
};
|
|
3605
3605
|
}, []), me = v(null), Le = v(null), Ee = v(null), [$e, Ce] = I(!1), G = v(() => {
|
|
@@ -3614,7 +3614,7 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3614
3614
|
var F;
|
|
3615
3615
|
if (me.current !== s) {
|
|
3616
3616
|
const J = me.current != null ? Le.current : null;
|
|
3617
|
-
me.current = s, (F = d.current) == null || F.stop(), d.current = new us(), Pe(d.current), d.current.setSequence(ne.current),
|
|
3617
|
+
me.current = s, (F = d.current) == null || F.stop(), d.current = new us(), Pe(d.current), d.current.setSequence(ne.current), h(!1), p(0), D(null), ee(null), S(null), B(J && (J.playing || J.t > 0) ? J : null);
|
|
3618
3618
|
}
|
|
3619
3619
|
const Y = d.current;
|
|
3620
3620
|
Y.setMuted(f.current);
|
|
@@ -3642,8 +3642,8 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3642
3642
|
P(!!(F != null && F.silent)), F != null && F.silent && $.current && ($.current = null, S(null)), ie((De) => F == null ? null : De != null && Math.abs(De - F.s) < 0.05 ? De : F.s);
|
|
3643
3643
|
const J = $.current;
|
|
3644
3644
|
F == null ? C(null) : J && J.sid === F.sentenceId && (C(J.t), $.current = null, S(null));
|
|
3645
|
-
const
|
|
3646
|
-
J &&
|
|
3645
|
+
const he = ((je = d.current) == null ? void 0 : je.position()) ?? null, xe = he && ke.current ? ke.current[String(he.sentenceId)] ?? null : null;
|
|
3646
|
+
J && he && he.sentenceId === J.sid && he.t > 0.1 && S(null), z((De) => he ? De && Math.abs(De.t - he.t) < 0.05 && De.dur === he.dur && De.words === xe ? De : { t: he.t, dur: he.dur, words: xe } : De == null ? De : null);
|
|
3647
3647
|
};
|
|
3648
3648
|
Y();
|
|
3649
3649
|
const U = setInterval(Y, 100);
|
|
@@ -3660,17 +3660,17 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3660
3660
|
Oe.current = M;
|
|
3661
3661
|
const Fe = (Y) => {
|
|
3662
3662
|
var U, F, J;
|
|
3663
|
-
(F = d.current) == null || F.play(((U = e[Y]) == null ? void 0 : U.sentenceId) ?? null),
|
|
3664
|
-
},
|
|
3665
|
-
var F, J,
|
|
3663
|
+
(F = d.current) == null || F.play(((U = e[Y]) == null ? void 0 : U.sentenceId) ?? null), h(!!((J = d.current) != null && J.playing));
|
|
3664
|
+
}, ge = (Y) => {
|
|
3665
|
+
var F, J, he;
|
|
3666
3666
|
const U = Math.max(0, Math.min(Math.max(0, e.length - 1), Y));
|
|
3667
|
-
p(U), Oe.current = U, w((xe) => xe + 1), (J = d.current) == null || J.seek(((F = e[U]) == null ? void 0 : F.sentenceId) ?? null),
|
|
3667
|
+
p(U), Oe.current = U, w((xe) => xe + 1), (J = d.current) == null || J.seek(((F = e[U]) == null ? void 0 : F.sentenceId) ?? null), h(!!((he = d.current) != null && he.playing));
|
|
3668
3668
|
}, K = (Y) => {
|
|
3669
3669
|
var U;
|
|
3670
|
-
te(), S(null), (U = d.current) == null || U.startWithin(-1, 0),
|
|
3670
|
+
te(), S(null), (U = d.current) == null || U.startWithin(-1, 0), ge(Y);
|
|
3671
3671
|
}, pe = (Y) => {
|
|
3672
|
-
var
|
|
3673
|
-
const U = e[Y], F = (U == null ? void 0 : U.start) ?? 0, J = ((
|
|
3672
|
+
var he;
|
|
3673
|
+
const U = e[Y], F = (U == null ? void 0 : U.start) ?? 0, J = ((he = e[Y + 1]) == null ? void 0 : he.start) ?? St(U, F, be);
|
|
3674
3674
|
return { from: F, span: Math.max(0, J - F) };
|
|
3675
3675
|
}, re = pe(Z), ae = Math.max(0, Math.min(re.span, St(e[Z], re.from, re.from + 4) - re.from)), Te = j ? j.t : o ? E != null && ue ? re.from + Math.min(re.span, E) : E != null ? V != null ? Math.min(re.from, V + E) : re.from + Math.min(re.span, ae + E) : L && L.dur > 0 ? re.from + Math.min(ae, L.t / L.dur * ae) : re.from : L && L.dur > 0 ? re.from + Math.min(re.span, L.t / L.dur * re.span) : re.from;
|
|
3676
3676
|
_(() => {
|
|
@@ -3707,24 +3707,24 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3707
3707
|
return;
|
|
3708
3708
|
}
|
|
3709
3709
|
if (te(), u) {
|
|
3710
|
-
(U = d.current) == null || U.pause(),
|
|
3710
|
+
(U = d.current) == null || U.pause(), h(!1);
|
|
3711
3711
|
return;
|
|
3712
3712
|
}
|
|
3713
3713
|
D(null);
|
|
3714
3714
|
const Y = Oe.current;
|
|
3715
3715
|
if (!$.current && ((J = d.current) != null && J.resume(((F = e[Y]) == null ? void 0 : F.sentenceId) ?? null))) {
|
|
3716
|
-
|
|
3716
|
+
h(!0);
|
|
3717
3717
|
return;
|
|
3718
3718
|
}
|
|
3719
3719
|
Fe(Y);
|
|
3720
3720
|
},
|
|
3721
3721
|
pause: () => {
|
|
3722
3722
|
var Y;
|
|
3723
|
-
te(), (Y = d.current) == null || Y.pause(),
|
|
3723
|
+
te(), (Y = d.current) == null || Y.pause(), h(!1);
|
|
3724
3724
|
},
|
|
3725
3725
|
stop: () => {
|
|
3726
3726
|
var Y, U, F;
|
|
3727
|
-
te(), (Y = d.current) == null || Y.pause(),
|
|
3727
|
+
te(), (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);
|
|
3728
3728
|
},
|
|
3729
3729
|
seekRow: K,
|
|
3730
3730
|
resumeAt: (Y) => {
|
|
@@ -3736,12 +3736,12 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3736
3736
|
const U = Math.max(0, Math.min(1, Y)) * be;
|
|
3737
3737
|
let F = 0;
|
|
3738
3738
|
for (let Ve = 0; Ve < e.length; Ve++) e[Ve].start <= U && (F = Ve);
|
|
3739
|
-
const J = e[F],
|
|
3740
|
-
if (o && J && (
|
|
3741
|
-
const Ve =
|
|
3739
|
+
const J = e[F], he = o && J && U < J.start - 0.05;
|
|
3740
|
+
if (o && J && (he || e[F + 1] && U >= St(J, J.start, J.start + 4))) {
|
|
3741
|
+
const Ve = he ? F : F + 1, Re = e[Ve];
|
|
3742
3742
|
(st = d.current) == null || st.startWithin(-1, 0);
|
|
3743
3743
|
const lt = { t: U, sid: Re.sentenceId ?? null };
|
|
3744
|
-
$.current = lt, S(lt),
|
|
3744
|
+
$.current = lt, S(lt), ge(Ve);
|
|
3745
3745
|
return;
|
|
3746
3746
|
}
|
|
3747
3747
|
const xe = (J == null ? void 0 : J.sentenceId) ?? null, { from: ye, span: je } = pe(F);
|
|
@@ -3753,13 +3753,13 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3753
3753
|
const Re = J.words[Ve], lt = Re.end > Re.start ? Math.max(0, Math.min(1, (U - Re.start) / (Re.end - Re.start))) : 0;
|
|
3754
3754
|
De = Math.min(1, (Ze[Ve][0] + lt * (Ze[Ve][1] - Ze[Ve][0])) / Qe);
|
|
3755
3755
|
}
|
|
3756
|
-
xe != null && ((dt = d.current) == null || dt.startWithin(xe, De)), S(De > 0.01 ? { t: U, sid: xe } : null),
|
|
3756
|
+
xe != null && ((dt = d.current) == null || dt.startWithin(xe, De)), S(De > 0.01 ? { t: U, sid: xe } : null), ge(F);
|
|
3757
3757
|
},
|
|
3758
3758
|
seekWord: a ? (Y) => {
|
|
3759
|
-
var
|
|
3759
|
+
var he, xe, ye, je;
|
|
3760
3760
|
const U = e[Z];
|
|
3761
3761
|
if (!U || U.sentenceId == null) return;
|
|
3762
|
-
const F = U.words.findIndex((De) => De.seq === Y.seq && De.idx === Y.idx), J = F >= 0 ? (ye = (xe = (
|
|
3762
|
+
const F = U.words.findIndex((De) => De.seq === Y.seq && De.idx === Y.idx), J = F >= 0 ? (ye = (xe = (he = ke.current) == null ? void 0 : he[String(U.sentenceId)]) == null ? void 0 : xe[F]) == null ? void 0 : ye[0] : void 0;
|
|
3763
3763
|
J != null && ((je = d.current) == null || je.seekWithin(J));
|
|
3764
3764
|
} : void 0,
|
|
3765
3765
|
playRow: (Y) => {
|
|
@@ -3790,12 +3790,12 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3790
3790
|
}
|
|
3791
3791
|
};
|
|
3792
3792
|
function Ae(Y) {
|
|
3793
|
-
var J,
|
|
3793
|
+
var J, he, xe, ye;
|
|
3794
3794
|
const U = (J = e[Y]) == null ? void 0 : J.sentenceId;
|
|
3795
3795
|
if (U == null) return;
|
|
3796
|
-
p(Y), Oe.current = Y, S(null), $.current = null, (
|
|
3796
|
+
p(Y), Oe.current = Y, S(null), $.current = null, (he = d.current) == null || he.joinSilently(U);
|
|
3797
3797
|
const F = ((xe = d.current) == null ? void 0 : xe.resting()) ?? null;
|
|
3798
|
-
ie((F == null ? void 0 : F.s) ?? null), P(!!(F != null && F.silent)),
|
|
3798
|
+
ie((F == null ? void 0 : F.s) ?? null), P(!!(F != null && F.silent)), h(!!((ye = d.current) != null && ye.playing));
|
|
3799
3799
|
}
|
|
3800
3800
|
return ve.joinAt = o ? (Y) => {
|
|
3801
3801
|
te(), Ae(Tn({ t: Y, playing: !0, sentenceId: null, offset: 0, ended: !1 }, e, be).index);
|
|
@@ -3811,20 +3811,20 @@ function Vl(t, e, n, s, r, a, o = !1, l) {
|
|
|
3811
3811
|
}
|
|
3812
3812
|
const Wl = () => {
|
|
3813
3813
|
}, Fl = "The language this recording is read aloud in.", Gl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
|
|
3814
|
-
function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: d, setPickedLang: u, side:
|
|
3814
|
+
function Zl({ 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 }) {
|
|
3815
3815
|
var sn, rn, Ft, Gt;
|
|
3816
|
-
const { onAddVoice: O, onPickVoice: D, onSelectSpeaker: b, noCloneFor: W, castNoClone: A, castShort: ee, castBuilding: j, castWarn: S, badge: $, titleNode: L } = m ?? {}, z = !!m, E = !!(m != null && m.pendingClones), [ie, V] =
|
|
3816
|
+
const { onAddVoice: O, onPickVoice: D, onSelectSpeaker: b, noCloneFor: W, castNoClone: A, castShort: ee, castBuilding: j, castWarn: S, badge: $, titleNode: L } = m ?? {}, z = !!m, E = !!(m != null && m.pendingClones), [ie, V] = gi(), [C, ue] = I(null), [P, q] = I(!1), [ce, ne] = I(!1), [oe, we] = I(!1), [ke, Pe] = I(!1), me = d ?? l, Le = d === null, Ee = d != null || C != null, Ce = ((Q) => !!Q && !!(o != null && o.voice.includes(Q)))(Le ? l : me) ? Le ? l : me : "en", G = Dl(Ce), B = (m == null ? void 0 : m.cloneOn) ?? !0, [te, y] = I(0), R = v(B);
|
|
3817
3817
|
_(() => {
|
|
3818
3818
|
R.current !== B && (R.current = B, y((Q) => Q + 1));
|
|
3819
3819
|
}, [B]);
|
|
3820
|
-
const Me = dl(Ce, Ee || r || ce, Ml(e) * 1e3 + te, { id: t ?? null, shareCode: a.shareCode ?? null }), H = Ie(() => ((Me == null ? void 0 : Me.voices) ?? []).filter((Q) => z || !Q.cloned || Q.speaker != null), [Me, z]), Ne = H.length > 1, Z = ps(o, me), ze = vi(), be = Ie(() => fi(o, "translation"), [o]), [Be, Oe] = I(null), [Fe] = I(() => /* @__PURE__ */ new Set()), [
|
|
3820
|
+
const Me = dl(Ce, Ee || r || ce, Ml(e) * 1e3 + te, { id: t ?? null, shareCode: a.shareCode ?? null }), H = Ie(() => ((Me == null ? void 0 : Me.voices) ?? []).filter((Q) => z || !Q.cloned || Q.speaker != null), [Me, z]), Ne = H.length > 1, Z = ps(o, me), ze = vi(), be = Ie(() => fi(o, "translation"), [o]), [Be, Oe] = I(null), [Fe] = I(() => /* @__PURE__ */ new Set()), [ge, K] = I({}), pe = Ie(() => al(n, e, ze.vcUnknownSpk), [n, e, ze]), re = Ne && pe.filter((Q) => Q.key >= 0).length > 1, ae = Be != null && pe.some((Q) => Q.key === Be) ? Be : ((sn = pe[0]) == null ? void 0 : sn.key) ?? null, Te = Ie(() => {
|
|
3821
3821
|
const Q = Gr(pe, H, B);
|
|
3822
|
-
for (const [Se, We] of Object.entries(
|
|
3822
|
+
for (const [Se, We] of Object.entries(ge[Ce ?? ""] ?? {})) Q.set(Number(Se), We);
|
|
3823
3823
|
return Q;
|
|
3824
|
-
}, [pe, H,
|
|
3824
|
+
}, [pe, H, ge, Ce, B]), ve = re && Object.keys(ge[Ce ?? ""] ?? {}).length > 0, Ae = Ie(() => N && !ve ? Gr(pe, H, !1) : null, [N, ve, pe, H]), Y = Ie(() => ve ? Wr(Te) || null : Ae && Wr(Ae) || null, [ve, Te, Ae]), U = ve ? Te : Ae, F = H.some((Q) => Q.cloned && Q.consent !== "pending"), J = !!me && !!(o != null && o.voice.includes(me)), he = J && !M, xe = Ie(
|
|
3825
3825
|
() => n.filter((Q) => !Q.suppressed && !Q.unclear).map((Q) => Q.sentenceId).filter((Q) => Q != null),
|
|
3826
3826
|
[n]
|
|
3827
|
-
), ye =
|
|
3827
|
+
), ye = hl({ recordingId: t, lang: me, ended: r, cred: a, pickedVoice: f || (Y ?? C), sentenceIds: r && he ? xe : void 0 }), je = H.find((Q) => Q.id === C) ?? H.find((Q) => {
|
|
3828
3828
|
var Se;
|
|
3829
3829
|
return Q.id === ((Se = ye.track) == null ? void 0 : Se.voice);
|
|
3830
3830
|
}) ?? H.find((Q) => Q.default) ?? H[0] ?? null, De = (je == null ? void 0 : je.id) ?? null;
|
|
@@ -3841,7 +3841,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3841
3841
|
}, [Qe.idx]), _(() => {
|
|
3842
3842
|
!ke || !Qe.has || (Pe(!1), Qe.playing || Qe.toggle());
|
|
3843
3843
|
}, [ke, Qe.has]);
|
|
3844
|
-
const st = ye.rendering, ot = st ? null : ye.failed ?? null, dt = !1, Ve = Ee &&
|
|
3844
|
+
const st = ye.rendering, ot = st ? null : ye.failed ?? null, dt = !1, Ve = Ee && he, Re = Ee && !Le && he && !(ye.listed && ye.listed.lang === me && ye.listed.recordingId === t), lt = {
|
|
3845
3845
|
...Qe,
|
|
3846
3846
|
has: Qe.has || Ve && r,
|
|
3847
3847
|
toggle: () => {
|
|
@@ -3854,7 +3854,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3854
3854
|
}, He = () => q(!0), mt = () => {
|
|
3855
3855
|
q(!1), ne(oe), we(!1);
|
|
3856
3856
|
}, Mt = (Q) => {
|
|
3857
|
-
if (u(Q), V(Q), !((
|
|
3857
|
+
if (u(Q), V(Q), !((h || w) && !oe)) {
|
|
3858
3858
|
if (Q != null) {
|
|
3859
3859
|
mt();
|
|
3860
3860
|
return;
|
|
@@ -3884,7 +3884,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3884
3884
|
return;
|
|
3885
3885
|
}
|
|
3886
3886
|
ue(Q);
|
|
3887
|
-
}, it = Le ? { ...ps(o, null), flag: /* @__PURE__ */ i(le, { d: X.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : Z, In = c ?
|
|
3887
|
+
}, it = Le ? { ...ps(o, null), flag: /* @__PURE__ */ i(le, { d: X.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : Z, In = 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(Ln, { flag: it.flag, code: it.code, bordered: !1, onClick: en, style: Zr }) }) : /* @__PURE__ */ i(Ln, { flag: it.flag, code: it.code, bordered: !1, onClick: He, style: Zr }) : null, tn = X.voiceClone, Ke = Ee && (!!ye.track || st), ht = ot ? "var(--conf-low)" : Ke || h && x ? "var(--brand)" : "var(--ink-55)", Ct = st || !!Qe.preparing && Ee, yt = Qe.preparing ? `Speaking this line in ${(je == null ? void 0 : je.name) ?? "this voice"}…` : st ? `Preparing this recording in ${(je == null ? void 0 : je.name) ?? "this voice"} — it will play as soon as it is ready` : ot ? `This voice could not be prepared: ${ot}` : J ? Ne ? "Choose a voice" : je ? je.name : ze.vcNoVoice + Z.label : `${ze.vcNoVoice}${Z.label}`, Tt = /* @__PURE__ */ i($a, { open: P, onClose: mt, keepOpen: (!!h || w) && !oe, value: Le ? null : me, onSelect: Mt, languages: be, title: (h == null ? void 0 : h.title) ?? "SPOKEN LANGUAGE", note: (h == null ? void 0 : h.note) ?? Fl, searchPlaceholder: ze.search, none: "Original", pinned: (Le ? l : me) ? [Le ? l : me] : [], recent: ie, requireVoice: oe, sticky: w, busy: k }), Yt = Ie(() => H.filter((Q) => Q.cloned && !Q.auto), [H]), bt = (Q) => Q.voiceId ? Yt.find((Se) => Se.id === `clone:${Q.voiceId}`) ?? null : null, ct = Ie(() => pe.filter((Q) => Q.key >= 0), [pe]), Ht = Ie(() => {
|
|
3888
3888
|
const Q = H.filter((We) => !We.cloned);
|
|
3889
3889
|
if (!re) return [...Q, ...r && ct.length === 1 ? Yt.filter((We) => We.id === `clone:${ct[0].voiceId}`) : []];
|
|
3890
3890
|
const Se = [];
|
|
@@ -3897,8 +3897,8 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3897
3897
|
}, [H, Yt, re, ct, E, r]), rt = re ? ct.find((Q) => Q.key === ae) ?? null : null, jt = (Q) => {
|
|
3898
3898
|
var Se;
|
|
3899
3899
|
return Q ? ((Se = H.find((We) => We.id === Q)) == null ? void 0 : Se.gender) ?? null : null;
|
|
3900
|
-
}, qe = rt ? rt.sex ?? jt(Te.get(rt.key)) : null, _t = Ie(() => rt ? Ht.filter((Q) => Q.cloned ? Q.live ? Q.speaker === rt.key : Q.id === `clone:${rt.voiceId}` : !0) : Ht, [Ht, rt, qe, ct]), Vt = (Q) => H.find((Se) => Se.cloned && Se.auto && Se.speaker === Q) ?? null,
|
|
3901
|
-
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(le, { d: tn, size: 17, sw: 1.6, style: { color:
|
|
3900
|
+
}, qe = rt ? rt.sex ?? jt(Te.get(rt.key)) : null, _t = Ie(() => rt ? Ht.filter((Q) => Q.cloned ? Q.live ? Q.speaker === rt.key : Q.id === `clone:${rt.voiceId}` : !0) : Ht, [Ht, rt, qe, ct]), Vt = (Q) => H.find((Se) => Se.cloned && Se.auto && Se.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: [
|
|
3901
|
+
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(le, { d: tn, size: 17, sw: 1.6, style: { color: ht } }),
|
|
3902
3902
|
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 })
|
|
3903
3903
|
] }), nn = /* @__PURE__ */ i($t, { open: ce, onClose: se, title: ze.vcSheet, titleNode: L, doneLabel: ze.done, children: /* @__PURE__ */ i(
|
|
3904
3904
|
ll,
|
|
@@ -3913,10 +3913,10 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3913
3913
|
onSelect: (Q) => {
|
|
3914
3914
|
G.reset(), Oe(Q), b == null || b(Q);
|
|
3915
3915
|
},
|
|
3916
|
-
noClone: (Q) => !!(A != null && A(Q,
|
|
3917
|
-
short: (Q) => !!(ee != null && ee(Q,
|
|
3918
|
-
warn: (Q) => (S == null ? void 0 : S(Q,
|
|
3919
|
-
building: (Q) => !bt(Q) && (H.some((Se) => Se.cloned && Se.speaker === Q.key && Se.ready === !1) || !!(j != null && j(Q,
|
|
3916
|
+
noClone: (Q) => !!(A != null && A(Q, gt)),
|
|
3917
|
+
short: (Q) => !!(ee != null && ee(Q, gt)),
|
|
3918
|
+
warn: (Q) => (S == null ? void 0 : S(Q, gt)) ?? null,
|
|
3919
|
+
building: (Q) => !bt(Q) && (H.some((Se) => Se.cloned && Se.speaker === Q.key && Se.ready === !1) || !!(j != null && j(Q, gt))),
|
|
3920
3920
|
sexOf: (Q) => Q.sex ?? jt(Te.get(Q.key))
|
|
3921
3921
|
}
|
|
3922
3922
|
),
|
|
@@ -3924,7 +3924,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3924
3924
|
onAdd: (Q) => {
|
|
3925
3925
|
G.reset(), O == null || O(Q);
|
|
3926
3926
|
},
|
|
3927
|
-
noClone: rt && !_t.some((Q) => Q.cloned) ? (W == null ? void 0 : W(rt, Vt(rt.key),
|
|
3927
|
+
noClone: rt && !_t.some((Q) => Q.cloned) ? (W == null ? void 0 : W(rt, Vt(rt.key), gt)) ?? null : null,
|
|
3928
3928
|
usedBy: re && ae != null ? (Q) => {
|
|
3929
3929
|
const Se = pe.filter((We) => We.key !== ae && Te.get(We.key) === Q.id);
|
|
3930
3930
|
return Se.length ? Se.map((We) => We.name).join(", ") : null;
|
|
@@ -3948,12 +3948,12 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
3948
3948
|
},
|
|
3949
3949
|
onUse: Et
|
|
3950
3950
|
}
|
|
3951
|
-
) }), On =
|
|
3951
|
+
) }), On = h ? null : /* @__PURE__ */ g(Ue, { children: [
|
|
3952
3952
|
Tt,
|
|
3953
3953
|
nn
|
|
3954
|
-
] }), zt =
|
|
3954
|
+
] }), zt = h && (P || ce) ? /* @__PURE__ */ i("div", { className: "vs-side", children: P ? Tt : nn }) : null, Cn = Ve && ot ? `This voice could not be prepared: ${ot}` : null, bn = dt;
|
|
3955
3955
|
return {
|
|
3956
|
-
barChip: { flag: it.flag, code: it.code, label: it.label, onClick:
|
|
3956
|
+
barChip: { flag: it.flag, code: it.code, label: it.label, onClick: h || w ? en : He, active: !!((h || w) && Ot), can: c },
|
|
3957
3957
|
sheetsOpen: P || ce,
|
|
3958
3958
|
on: Ve,
|
|
3959
3959
|
player: lt,
|
|
@@ -4002,7 +4002,7 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: s, ended: r, cred: a, lan
|
|
|
4002
4002
|
langList: { value: Le ? null : me, onSelect: Mt, languages: be, searchPlaceholder: ze.search, none: "Original", pinned: (Le ? l : me) ? [Le ? l : me] : [], recent: ie }
|
|
4003
4003
|
};
|
|
4004
4004
|
}
|
|
4005
|
-
function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: d, marks: u = !0, fixBadges:
|
|
4005
|
+
function ql({ 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: ee = !0 }) {
|
|
4006
4006
|
const { playing: j, engaged: S, t: $, idx: L, seekN: z, wordSync: E, clipPos: ie } = n;
|
|
4007
4007
|
Ll(!0, k);
|
|
4008
4008
|
const V = v(null);
|
|
@@ -4050,11 +4050,11 @@ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
|
|
|
4050
4050
|
te.scrollTop = Be, oe.current = null;
|
|
4051
4051
|
return;
|
|
4052
4052
|
}
|
|
4053
|
-
const Oe = performance.now(), Fe = 360,
|
|
4053
|
+
const Oe = performance.now(), Fe = 360, ge = () => {
|
|
4054
4054
|
const K = Math.min(1, (performance.now() - Oe) / Fe);
|
|
4055
|
-
te.scrollTop = Ne + (Be - Ne) * (1 - Math.pow(1 - K, 3)), oe.current = K < 1 ? requestAnimationFrame(
|
|
4055
|
+
te.scrollTop = Ne + (Be - Ne) * (1 - Math.pow(1 - K, 3)), oe.current = K < 1 ? requestAnimationFrame(ge) : null;
|
|
4056
4056
|
};
|
|
4057
|
-
oe.current = requestAnimationFrame(
|
|
4057
|
+
oe.current = requestAnimationFrame(ge);
|
|
4058
4058
|
};
|
|
4059
4059
|
_(() => () => {
|
|
4060
4060
|
oe.current && cancelAnimationFrame(oe.current);
|
|
@@ -4079,39 +4079,39 @@ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
|
|
|
4079
4079
|
}, [z]);
|
|
4080
4080
|
const Ce = () => {
|
|
4081
4081
|
Ee(L), $e.current = 0, ce(0);
|
|
4082
|
-
}, G = (B) => /* @__PURE__ */ i("div", { className: `txfollow txfollow--${B}`, children: /* @__PURE__ */
|
|
4082
|
+
}, 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: Ce, children: [
|
|
4083
4083
|
/* @__PURE__ */ i(le, { 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 }),
|
|
4084
4084
|
"Now playing"
|
|
4085
4085
|
] }) });
|
|
4086
|
-
return /* @__PURE__ */
|
|
4086
|
+
return /* @__PURE__ */ g("div", { ref: k, "data-tx-feed": "1", className: `txfeed${w ? " txfeed--desk" : ""}${D && !N ? " is-find" : ""}`, children: [
|
|
4087
4087
|
/* @__PURE__ */ i(Ko, { thumbRef: V }),
|
|
4088
4088
|
j && q === -1 && G("up"),
|
|
4089
4089
|
e.map((B, te) => {
|
|
4090
4090
|
var re;
|
|
4091
4091
|
const y = j && te === L, R = S && te === L, Me = !!d && d === B.id, H = P && !B.text.toLowerCase().includes(P) && !(b && ((re = B.translations[b]) != null && re.toLowerCase().includes(P))) ? 0.22 : !S || te <= L || Me ? 1 : 0.38, Ne = m ? () => n.playRow(te) : c && l ? () => {
|
|
4092
4092
|
j && !y && n.seekRow(te), l(B);
|
|
4093
|
-
} : j && y ? void 0 : () => n.playRow(te), Z = m ? null : el(B, r, s), ze = !!Z && (Z.script > 0 || Z.manual), be = w && !!a && C === B.id && !!Z && !ze, Be = Os(t, B.speaker), Oe = Cs(t, B.speaker), Fe = Oe.lane,
|
|
4094
|
-
return /* @__PURE__ */
|
|
4095
|
-
/* @__PURE__ */
|
|
4093
|
+
} : j && y ? void 0 : () => n.playRow(te), Z = m ? null : el(B, r, s), ze = !!Z && (Z.script > 0 || Z.manual), be = w && !!a && C === B.id && !!Z && !ze, Be = Os(t, B.speaker), Oe = Cs(t, B.speaker), Fe = Oe.lane, ge = b && B.translations[b] && B.language !== b ? B.translations[b] : null, K = bi(e, te, b), pe = R && !E && ie ? Mi(K.map((ae) => ({ t: ae.text, sp: " " })), ie) : null;
|
|
4094
|
+
return /* @__PURE__ */ g("div", { "data-tx-row": te, "data-sentence": B.sentenceId, className: `txline${W ? " txline--warm" : ""}${Me ? " txline--fixing" : ""}`, "aria-current": Me || void 0, style: { opacity: H }, onClick: Ne, onMouseEnter: w && a ? () => ue(B.id) : void 0, onMouseLeave: w && a ? () => ue(null) : void 0, children: [
|
|
4095
|
+
/* @__PURE__ */ g("div", { className: "txline__meta", children: [
|
|
4096
4096
|
/* @__PURE__ */ i("span", { className: "txline__at", children: Lt(B.start) }),
|
|
4097
|
-
f && B.speaker >= 0 && /* @__PURE__ */
|
|
4097
|
+
f && B.speaker >= 0 && /* @__PURE__ */ g(Ue, { children: [
|
|
4098
4098
|
/* @__PURE__ */ i("div", { className: `lanechip bg-lane-${Fe}`, style: Oe.soft ? { background: Oe.soft, color: Oe.fg } : void 0, children: mi(t, B.speaker) }),
|
|
4099
4099
|
/* @__PURE__ */ i("span", { className: `txline__who lane-${Fe}`, style: Oe.fg ? { color: Oe.fg } : void 0, children: Be }),
|
|
4100
4100
|
Oe.hasVoice && /* @__PURE__ */ i(Ii, { color: Oe.fg ?? `var(--lane-${Fe})` })
|
|
4101
4101
|
] }),
|
|
4102
4102
|
y && /* @__PURE__ */ i("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ i(le, { d: X.headphones, size: w ? 15 : 14, sw: 1.6, stroke: f && B.speaker >= 0 ? Oe.fg ?? `var(--lane-${Fe})` : "var(--ink-45)" }) }),
|
|
4103
|
-
Z &&
|
|
4103
|
+
Z && h && /* @__PURE__ */ i(tl, { f: Z, desk: w, onOpen: a ? () => a(B, !0) : void 0 }),
|
|
4104
4104
|
be && /* @__PURE__ */ i(nl, { alone: !0, onOpen: () => a == null ? void 0 : a(B, !1) })
|
|
4105
4105
|
] }),
|
|
4106
4106
|
/* @__PURE__ */ i("div", { className: "txline__text", children: K.map((ae, Te) => {
|
|
4107
|
-
const ve = `${ae.seq}:${ae.idx}`, Ae = wo(ae.prob), Y = R && ee, U = Y && (E ? $ >= ae.start && ($ < ae.end || Te === K.length - 1 || $ < K[Te + 1].start) : Te === pe), F = Y && !U && (E ? ae.start > $ : pe != null && Te > pe), J = !
|
|
4108
|
-
return /* @__PURE__ */
|
|
4107
|
+
const ve = `${ae.seq}:${ae.idx}`, Ae = wo(ae.prob), Y = R && ee, U = Y && (E ? $ >= ae.start && ($ < ae.end || Te === K.length - 1 || $ < K[Te + 1].start) : Te === pe), F = Y && !U && (E ? ae.start > $ : pe != null && Te > pe), J = !ge && !m && (!!(s != null && s.has(ve)) || !!ae.script), he = !ge && !m && u && !!Ae && !J, xe = he ? Ae === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, ye = J ? "var(--brand)" : F ? "var(--ink-40)" : xe ?? "var(--ink-96)";
|
|
4108
|
+
return /* @__PURE__ */ g("span", { children: [
|
|
4109
4109
|
/* @__PURE__ */ i(
|
|
4110
4110
|
"span",
|
|
4111
4111
|
{
|
|
4112
4112
|
className: "txw",
|
|
4113
|
-
title: o && !
|
|
4114
|
-
onClick: o && !
|
|
4113
|
+
title: o && !ge ? c ? "Correct this word" : y && j && n.seekWord ? "Play from this word" : "Play from this line" : y ? "" : "Play from this line",
|
|
4114
|
+
onClick: o && !ge ? (je) => {
|
|
4115
4115
|
var De;
|
|
4116
4116
|
if (je.stopPropagation(), c) {
|
|
4117
4117
|
o(B, ae);
|
|
@@ -4123,7 +4123,7 @@ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
|
|
|
4123
4123
|
}
|
|
4124
4124
|
n.playRow(te);
|
|
4125
4125
|
} : void 0,
|
|
4126
|
-
style: { color: ye, opacity: F ? 0.45 : 1, fontWeight: 300, cursor: o && !
|
|
4126
|
+
style: { color: ye, 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: he || J ? "underline" : "none", textDecorationStyle: J ? "solid" : "dotted", textDecorationColor: J ? "var(--brand)" : xe ?? "currentColor", textDecorationThickness: he || J ? "1.5px" : void 0, textUnderlineOffset: he || J ? "3px" : void 0 },
|
|
4127
4127
|
children: ae.text
|
|
4128
4128
|
}
|
|
4129
4129
|
),
|
|
@@ -4132,7 +4132,7 @@ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
|
|
|
4132
4132
|
}) })
|
|
4133
4133
|
] }, B.id);
|
|
4134
4134
|
}),
|
|
4135
|
-
N ? /* @__PURE__ */ i("div", { className: "txtail txtail--wave", title: "Still transcribing", children: /* @__PURE__ */
|
|
4135
|
+
N ? /* @__PURE__ */ i("div", { className: "txtail txtail--wave", title: "Still transcribing", children: /* @__PURE__ */ g("span", { className: "eq3", "aria-hidden": "true", children: [
|
|
4136
4136
|
/* @__PURE__ */ i("span", {}),
|
|
4137
4137
|
/* @__PURE__ */ i("span", {}),
|
|
4138
4138
|
/* @__PURE__ */ i("span", {})
|
|
@@ -4141,13 +4141,13 @@ function ql({ model: t, rows: e, player: n, fixed: s, applied: r, onFixOpen: a,
|
|
|
4141
4141
|
] });
|
|
4142
4142
|
}
|
|
4143
4143
|
function Kl({ open: t, q: e, onQ: n, onClose: s, hits: r, desk: a, inline: o, flash: l }) {
|
|
4144
|
-
return /* @__PURE__ */ i("div", { className: o ? "searchbar searchbar--inline" : `searchbar searchbar--float${a ? " searchbar--desk" : ""}${t ? "" : " is-hidden"}`, children: /* @__PURE__ */
|
|
4144
|
+
return /* @__PURE__ */ i("div", { className: o ? "searchbar searchbar--inline" : `searchbar searchbar--float${a ? " searchbar--desk" : ""}${t ? "" : " is-hidden"}`, children: /* @__PURE__ */ g("div", { children: [
|
|
4145
4145
|
/* @__PURE__ */ i(le, { d: X.search, size: 16, sw: 1.7, style: { color: "var(--ink-45)", flex: "none" } }),
|
|
4146
4146
|
/* @__PURE__ */ i("input", { value: e, onChange: (c) => n(c.target.value), onKeyDown: (c) => {
|
|
4147
4147
|
c.key === "Escape" && (c.stopPropagation(), e ? n("") : s());
|
|
4148
4148
|
}, placeholder: "Search this transcript" }),
|
|
4149
4149
|
o && l && /* @__PURE__ */ i("span", { className: "searchbar__flash", children: l }),
|
|
4150
|
-
e.trim() && /* @__PURE__ */
|
|
4150
|
+
e.trim() && /* @__PURE__ */ g("span", { className: "count", children: [
|
|
4151
4151
|
r,
|
|
4152
4152
|
" found"
|
|
4153
4153
|
] }),
|
|
@@ -4165,14 +4165,14 @@ function Jl(t, e, n, s, r) {
|
|
|
4165
4165
|
}, [e, d]), _(() => {
|
|
4166
4166
|
const u = t.current;
|
|
4167
4167
|
if (!u) return;
|
|
4168
|
-
let
|
|
4168
|
+
let h = u.scrollTop, M = 0, p = 0;
|
|
4169
4169
|
const N = () => {
|
|
4170
4170
|
p = Date.now() + 1500;
|
|
4171
4171
|
}, w = (m) => {
|
|
4172
4172
|
m.buttons && N();
|
|
4173
4173
|
}, k = () => {
|
|
4174
|
-
const m = u.scrollTop, f = m -
|
|
4175
|
-
if (
|
|
4174
|
+
const m = u.scrollTop, f = m - h;
|
|
4175
|
+
if (h = m, Date.now() > p) {
|
|
4176
4176
|
M = 0;
|
|
4177
4177
|
return;
|
|
4178
4178
|
}
|
|
@@ -4240,16 +4240,16 @@ function nc(t) {
|
|
|
4240
4240
|
for (let L = 236; a.length < r; L ^= 253) o(L, 8);
|
|
4241
4241
|
const l = [];
|
|
4242
4242
|
for (let L = 0; L < a.length; L += 8) l.push(a.slice(L, L + 8).reduce((z, E) => z << 1 | E, 0));
|
|
4243
|
-
const c = Xt.blocks[n], d = Xt.perBlock[n], u = Math.floor(xi(n) / 8),
|
|
4243
|
+
const c = Xt.blocks[n], d = Xt.perBlock[n], u = Math.floor(xi(n) / 8), h = c - u % c, M = Math.floor(u / c), p = [], N = Xl(d);
|
|
4244
4244
|
for (let L = 0, z = 0; L < c; L++) {
|
|
4245
|
-
const E = l.slice(z, z + M - d + (L <
|
|
4245
|
+
const E = l.slice(z, z + M - d + (L < h ? 0 : 1));
|
|
4246
4246
|
z += E.length;
|
|
4247
4247
|
const ie = ec(E, N);
|
|
4248
|
-
L <
|
|
4248
|
+
L < h && E.push(0), p.push(E.concat(ie));
|
|
4249
4249
|
}
|
|
4250
4250
|
const w = [];
|
|
4251
4251
|
for (let L = 0; L < p[0].length; L++) p.forEach((z, E) => {
|
|
4252
|
-
(L !== M - d || E >=
|
|
4252
|
+
(L !== M - d || E >= h) && w.push(z[L]);
|
|
4253
4253
|
});
|
|
4254
4254
|
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) => {
|
|
4255
4255
|
k[z][L] = E, m[z][L] = !0;
|
|
@@ -4413,7 +4413,7 @@ function Ts({ pos: t, interactive: e, axis: n = "x" }) {
|
|
|
4413
4413
|
const d = a(c);
|
|
4414
4414
|
r(null), t.onSeek(d);
|
|
4415
4415
|
}, l = s != null ? s * 100 : t.pct;
|
|
4416
|
-
return /* @__PURE__ */
|
|
4416
|
+
return /* @__PURE__ */ g(Ue, { children: [
|
|
4417
4417
|
/* @__PURE__ */ i("span", { className: `gfull__t${e ? " gfull__t--at" : ""}`, children: s != null ? t.labelAt(s) : t.atLabel }),
|
|
4418
4418
|
/* @__PURE__ */ i(
|
|
4419
4419
|
"div",
|
|
@@ -4433,7 +4433,7 @@ function Ts({ pos: t, interactive: e, axis: n = "x" }) {
|
|
|
4433
4433
|
} : void 0,
|
|
4434
4434
|
onPointerUp: e ? o : void 0,
|
|
4435
4435
|
onPointerCancel: e ? () => r(null) : void 0,
|
|
4436
|
-
children: /* @__PURE__ */
|
|
4436
|
+
children: /* @__PURE__ */ g("div", { className: `gfull__track${t.readyFrac != null ? " gfull__track--part" : ""}`, children: [
|
|
4437
4437
|
t.readyFrac != null && /* @__PURE__ */ i("div", { className: "gfull__ready", style: { width: `${Math.min(100, t.readyFrac * 100)}%` } }),
|
|
4438
4438
|
/* @__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 } }),
|
|
4439
4439
|
/* @__PURE__ */ i("i", { style: { left: `${l}%`, transition: s != null ? "none" : void 0 } })
|
|
@@ -4452,8 +4452,8 @@ function Vc({ pos: t }) {
|
|
|
4452
4452
|
const c = s(l);
|
|
4453
4453
|
n(null), t.onSeek(c);
|
|
4454
4454
|
}, a = e != null ? e * 100 : t.pct, o = e != null ? "none" : void 0;
|
|
4455
|
-
return /* @__PURE__ */
|
|
4456
|
-
/* @__PURE__ */
|
|
4455
|
+
return /* @__PURE__ */ g("div", { className: "gaseek", children: [
|
|
4456
|
+
/* @__PURE__ */ g(
|
|
4457
4457
|
"div",
|
|
4458
4458
|
{
|
|
4459
4459
|
className: "gaseek__bar",
|
|
@@ -4478,14 +4478,14 @@ function Vc({ pos: t }) {
|
|
|
4478
4478
|
]
|
|
4479
4479
|
}
|
|
4480
4480
|
),
|
|
4481
|
-
/* @__PURE__ */
|
|
4481
|
+
/* @__PURE__ */ g("div", { className: "gaseek__labels", children: [
|
|
4482
4482
|
/* @__PURE__ */ i("span", { className: "gaseek__t", children: e != null ? t.labelAt(e) : t.atLabel }),
|
|
4483
4483
|
/* @__PURE__ */ i("span", { className: "gaseek__t gaseek__end", children: t.endLabel })
|
|
4484
4484
|
] })
|
|
4485
4485
|
] });
|
|
4486
4486
|
}
|
|
4487
4487
|
function ws({ t, mini: e }) {
|
|
4488
|
-
return /* @__PURE__ */
|
|
4488
|
+
return /* @__PURE__ */ g("div", { className: "gfull__transport", children: [
|
|
4489
4489
|
/* @__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(le, { d: X.chevronLeft, size: e ? 13 : 16, sw: e ? 1.8 : 1.9 }) }),
|
|
4490
4490
|
/* @__PURE__ */ i(
|
|
4491
4491
|
"button",
|
|
@@ -4504,9 +4504,9 @@ function ws({ t, mini: e }) {
|
|
|
4504
4504
|
] });
|
|
4505
4505
|
}
|
|
4506
4506
|
function Ls({ live: t, mini: e, desk: n, pct: s, mark: r }) {
|
|
4507
|
-
return /* @__PURE__ */
|
|
4507
|
+
return /* @__PURE__ */ g("div", { className: `gfull__brand${r ? " gfull__brand--mark" : ""}`, children: [
|
|
4508
4508
|
/* @__PURE__ */ i("a", { href: ri, target: "_blank", rel: "noopener", style: { display: "block", lineHeight: 0 }, "aria-label": "VocalStack", title: "VocalStack", children: r ? /* @__PURE__ */ i(ii, { dark: !0, size: 22 }) : /* @__PURE__ */ i(jn, { dark: !0, link: !1, height: e ? 11 : n ? 18 : 15 }) }),
|
|
4509
|
-
t && /* @__PURE__ */
|
|
4509
|
+
t && /* @__PURE__ */ g("span", { className: "gfull__live", children: [
|
|
4510
4510
|
/* @__PURE__ */ i("i", {}),
|
|
4511
4511
|
"LIVE"
|
|
4512
4512
|
] }),
|
|
@@ -4517,12 +4517,12 @@ function Si({ v: t, size: e }) {
|
|
|
4517
4517
|
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(le, { d: X.headphones, size: e, sw: 1.6 }) });
|
|
4518
4518
|
}
|
|
4519
4519
|
function oc({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, copied: o }) {
|
|
4520
|
-
return /* @__PURE__ */
|
|
4520
|
+
return /* @__PURE__ */ g("div", { className: "gmini", "data-theme": "dark", children: [
|
|
4521
4521
|
/* @__PURE__ */ i("div", { className: "gmini__shade", "aria-hidden": "true" }),
|
|
4522
4522
|
/* @__PURE__ */ i("div", { className: "gmini__top", children: /* @__PURE__ */ i(Ls, { live: t.live, mini: !0 }) }),
|
|
4523
|
-
/* @__PURE__ */
|
|
4523
|
+
/* @__PURE__ */ g("div", { className: "gmini__foot", children: [
|
|
4524
4524
|
/* @__PURE__ */ i("div", { className: "gmini__row", children: /* @__PURE__ */ i(Ts, { pos: t, interactive: !0 }) }),
|
|
4525
|
-
/* @__PURE__ */
|
|
4525
|
+
/* @__PURE__ */ g("div", { className: "gmini__row gmini__row--ctl", children: [
|
|
4526
4526
|
/* @__PURE__ */ i(ws, { t: e, mini: !0 }),
|
|
4527
4527
|
/* @__PURE__ */ i("span", { style: { flex: 1 } }),
|
|
4528
4528
|
/* @__PURE__ */ i("div", { className: "gfull__chip", children: n }),
|
|
@@ -4537,7 +4537,7 @@ function oc({ pos: t, transport: e, chip: n, voices: s, onShare: r, onFull: a, c
|
|
|
4537
4537
|
] });
|
|
4538
4538
|
}
|
|
4539
4539
|
const lc = { color: "rgba(255,255,255,.4)" };
|
|
4540
|
-
function Ai({ 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:
|
|
4540
|
+
function Ai({ 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: ee, onClose: j }) {
|
|
4541
4541
|
const [S, $] = I(() => !!is());
|
|
4542
4542
|
_(() => {
|
|
4543
4543
|
const K = () => $(!!is());
|
|
@@ -4633,38 +4633,38 @@ function Ai({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
|
|
|
4633
4633
|
H(!0), window.clearTimeout(Ne.current), Ne.current = window.setTimeout(() => H(!1), 1800);
|
|
4634
4634
|
}, () => {
|
|
4635
4635
|
});
|
|
4636
|
-
}, Be = Le && (W == null ? void 0 : W.share) && /* @__PURE__ */
|
|
4636
|
+
}, Be = Le && (W == null ? void 0 : W.share) && /* @__PURE__ */ g("div", { className: "gfull__sharecard", onPointerDown: (K) => K.stopPropagation(), onClick: (K) => K.stopPropagation(), children: [
|
|
4637
4637
|
ze && /* @__PURE__ */ i("div", { className: "gfull__shareqr", role: "img", "aria-label": "QR code for this link", style: { backgroundImage: `url("${ze}")` } }),
|
|
4638
|
-
/* @__PURE__ */
|
|
4638
|
+
/* @__PURE__ */ g("div", { className: "gfull__sharebody", children: [
|
|
4639
4639
|
/* @__PURE__ */ i("div", { className: "gfull__shareeyebrow", children: "SHARE THIS MOMENT" }),
|
|
4640
|
-
/* @__PURE__ */
|
|
4640
|
+
/* @__PURE__ */ g("label", { className: "gfull__shareat", children: [
|
|
4641
4641
|
/* @__PURE__ */ i("input", { type: "checkbox", checked: y, onChange: (K) => R(K.target.checked), disabled: W.share.at < 1 }),
|
|
4642
4642
|
"Start at ",
|
|
4643
4643
|
Lt(Math.floor(W.share.at))
|
|
4644
4644
|
] }),
|
|
4645
4645
|
/* @__PURE__ */ i("div", { className: "gfull__shareurl", children: /* @__PURE__ */ i("span", { children: Z.replace(/^https?:\/\//, "") }) }),
|
|
4646
|
-
/* @__PURE__ */
|
|
4647
|
-
/* @__PURE__ */
|
|
4646
|
+
/* @__PURE__ */ g("div", { className: "gfull__shareacts", children: [
|
|
4647
|
+
/* @__PURE__ */ g("button", { type: "button", className: "gfull__sharebtn gfull__sharebtn--main", onClick: be, children: [
|
|
4648
4648
|
/* @__PURE__ */ i(le, { d: Me ? X.check : X.copy, size: 14, sw: 1.8 }),
|
|
4649
4649
|
Me ? "Copied" : "Copy link"
|
|
4650
4650
|
] }),
|
|
4651
|
-
/* @__PURE__ */
|
|
4651
|
+
/* @__PURE__ */ g("button", { type: "button", className: "gfull__sharebtn", onClick: () => Ds(Z, r), children: [
|
|
4652
4652
|
/* @__PURE__ */ i(le, { d: X.share, size: 14, sw: 1.6 }),
|
|
4653
4653
|
"Share"
|
|
4654
4654
|
] })
|
|
4655
4655
|
] })
|
|
4656
4656
|
] })
|
|
4657
|
-
] }), Oe = (K, pe, re, ae, Te, ve = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: K, "aria-label": K, onClick: ae, children: /* @__PURE__ */ i(le, { d: pe, size: (Le ? 20 : 18) + ve, sw: re, style: Te }) }), Fe = /* @__PURE__ */
|
|
4657
|
+
] }), Oe = (K, pe, re, ae, Te, ve = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: K, "aria-label": K, onClick: ae, children: /* @__PURE__ */ i(le, { d: pe, size: (Le ? 20 : 18) + ve, sw: re, style: Te }) }), Fe = /* @__PURE__ */ g("div", { className: "gfull__acts", children: [
|
|
4658
4658
|
f && /* @__PURE__ */ i(Si, { v: f, size: Le ? 20 : 18 }),
|
|
4659
4659
|
D && Oe("Share", X.share, 1.6, D),
|
|
4660
4660
|
Xr() && !e && Oe(S ? "Exit full screen" : "Full screen", S ? rc : Di, 1.7, () => wn(!S)),
|
|
4661
4661
|
j && Oe("Close player", X.close, 1.7, j)
|
|
4662
|
-
] }),
|
|
4662
|
+
] }), ge = (u || h || b) && /* @__PURE__ */ g("div", { className: "gfull__top", children: [
|
|
4663
4663
|
u && Oe(u.muted ? "Unmute" : "Mute", u.muted ? X.volumeOff : X.volume, 1.6, u.onToggle),
|
|
4664
|
-
|
|
4664
|
+
h && Oe(h.on ? "Hide subtitles" : "Show subtitles", h.on ? X.cc : X.ccOff, 1.7, h.onToggle, void 0, 4),
|
|
4665
4665
|
b && Oe("Settings", X.cog, 1.6, b)
|
|
4666
4666
|
] });
|
|
4667
|
-
return /* @__PURE__ */
|
|
4667
|
+
return /* @__PURE__ */ g(
|
|
4668
4668
|
"div",
|
|
4669
4669
|
{
|
|
4670
4670
|
ref: we,
|
|
@@ -4681,29 +4681,29 @@ function Ai({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
|
|
|
4681
4681
|
ue.current && (ue.current = !1, K.stopPropagation(), K.preventDefault());
|
|
4682
4682
|
},
|
|
4683
4683
|
children: [
|
|
4684
|
-
P && q && /* @__PURE__ */
|
|
4684
|
+
P && q && /* @__PURE__ */ g("div", { className: "gfull__swipe", "aria-live": "polite", children: [
|
|
4685
4685
|
/* @__PURE__ */ i(le, { d: "m4.5 15.75 7.5-7.5 7.5 7.5", size: 14, sw: 2 }),
|
|
4686
4686
|
"Swipe up for full screen"
|
|
4687
4687
|
] }),
|
|
4688
|
-
/* @__PURE__ */
|
|
4688
|
+
/* @__PURE__ */ g("div", { className: `gfull__frame${G ? " gfull__frame--land" : ""}`, children: [
|
|
4689
4689
|
s,
|
|
4690
4690
|
/* @__PURE__ */ i("div", { className: "gfull__shade", "aria-hidden": "true" }),
|
|
4691
|
-
W && !M && !me && /* @__PURE__ */
|
|
4692
|
-
/* @__PURE__ */
|
|
4691
|
+
W && !M && !me && /* @__PURE__ */ g("div", { className: `gfull__pausedinfo${N.playing ? "" : " gfull__pausedinfo--on"}`, "aria-hidden": N.playing, children: [
|
|
4692
|
+
/* @__PURE__ */ g("div", { className: "gfull__pausedtext", children: [
|
|
4693
4693
|
/* @__PURE__ */ i("div", { className: "gfull__pausedtitle", children: W.title }),
|
|
4694
4694
|
W.summary && /* @__PURE__ */ i("div", { className: "gfull__pausedsum", children: W.summary })
|
|
4695
4695
|
] }),
|
|
4696
4696
|
Be
|
|
4697
4697
|
] }),
|
|
4698
|
-
|
|
4698
|
+
ge,
|
|
4699
4699
|
A,
|
|
4700
|
-
c ? typeof c == "string" ? /* @__PURE__ */ i("div", { className: "gfull__sub", "aria-live": "polite", children: /* @__PURE__ */
|
|
4700
|
+
c ? typeof c == "string" ? /* @__PURE__ */ i("div", { className: "gfull__sub", "aria-live": "polite", children: /* @__PURE__ */ g("div", { className: "gfull__wait", children: [
|
|
4701
4701
|
/* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }),
|
|
4702
4702
|
c
|
|
4703
|
-
] }) }) : /* @__PURE__ */ i("div", { className: "gfull__sub", children: c }) : l && /* @__PURE__ */ i("div", { className: "gfull__sub", children: /* @__PURE__ */
|
|
4704
|
-
/* @__PURE__ */ i("div", { className: "gfull__subback", "aria-hidden": "true", children: /* @__PURE__ */
|
|
4705
|
-
l.who && /* @__PURE__ */
|
|
4706
|
-
/* @__PURE__ */
|
|
4703
|
+
] }) }) : /* @__PURE__ */ i("div", { className: "gfull__sub", children: c }) : l && /* @__PURE__ */ i("div", { className: "gfull__sub", children: /* @__PURE__ */ g("div", { ref: B, children: [
|
|
4704
|
+
/* @__PURE__ */ i("div", { className: "gfull__subback", "aria-hidden": "true", children: /* @__PURE__ */ g("span", { children: [
|
|
4705
|
+
l.who && /* @__PURE__ */ g(Ue, { children: [
|
|
4706
|
+
/* @__PURE__ */ g("b", { children: [
|
|
4707
4707
|
l.who,
|
|
4708
4708
|
":"
|
|
4709
4709
|
] }),
|
|
@@ -4711,32 +4711,32 @@ function Ai({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
|
|
|
4711
4711
|
] }),
|
|
4712
4712
|
l.words.map((K) => K.t + K.sp).join("")
|
|
4713
4713
|
] }) }),
|
|
4714
|
-
/* @__PURE__ */
|
|
4715
|
-
l.who && /* @__PURE__ */
|
|
4716
|
-
/* @__PURE__ */
|
|
4714
|
+
/* @__PURE__ */ g("span", { children: [
|
|
4715
|
+
l.who && /* @__PURE__ */ g(Ue, { children: [
|
|
4716
|
+
/* @__PURE__ */ g("b", { style: { color: l.color }, children: [
|
|
4717
4717
|
l.who,
|
|
4718
4718
|
":"
|
|
4719
4719
|
] }),
|
|
4720
4720
|
" "
|
|
4721
4721
|
] }),
|
|
4722
|
-
l.words.map((K, pe) => /* @__PURE__ */
|
|
4722
|
+
l.words.map((K, pe) => /* @__PURE__ */ g("span", { "data-said": K.dim ? void 0 : "", "data-at": l.cursor != null && pe <= l.cursor ? "" : void 0, style: K.dim ? lc : void 0, children: [
|
|
4723
4723
|
K.t,
|
|
4724
4724
|
K.sp
|
|
4725
4725
|
] }, pe))
|
|
4726
4726
|
] })
|
|
4727
4727
|
] }) }),
|
|
4728
|
-
/* @__PURE__ */ i("div", { className: `gfull__prog${Le ? "" : " gfull__prog--two"}`, children: Le ? /* @__PURE__ */
|
|
4728
|
+
/* @__PURE__ */ i("div", { className: `gfull__prog${Le ? "" : " gfull__prog--two"}`, children: Le ? /* @__PURE__ */ g(Ue, { children: [
|
|
4729
4729
|
/* @__PURE__ */ i(Ls, { live: o.live, desk: !0, pct: d }),
|
|
4730
4730
|
/* @__PURE__ */ i(ws, { t: N }),
|
|
4731
4731
|
/* @__PURE__ */ i(Ts, { pos: o, interactive: !0 }),
|
|
4732
4732
|
/* @__PURE__ */ i("div", { className: "gfull__chip", children: p }),
|
|
4733
4733
|
Fe
|
|
4734
|
-
] }) : /* @__PURE__ */
|
|
4735
|
-
/* @__PURE__ */
|
|
4734
|
+
] }) : /* @__PURE__ */ g(Ue, { children: [
|
|
4735
|
+
/* @__PURE__ */ g("div", { className: "gfull__row", children: [
|
|
4736
4736
|
/* @__PURE__ */ i(Ls, { live: o.live, pct: d, mark: !0 }),
|
|
4737
4737
|
/* @__PURE__ */ i(Ts, { pos: o, interactive: !0 })
|
|
4738
4738
|
] }),
|
|
4739
|
-
/* @__PURE__ */
|
|
4739
|
+
/* @__PURE__ */ g("div", { className: "gfull__row", children: [
|
|
4740
4740
|
/* @__PURE__ */ i(ws, { t: N }),
|
|
4741
4741
|
/* @__PURE__ */ i("span", { style: { flex: 1 } }),
|
|
4742
4742
|
/* @__PURE__ */ i("div", { className: "gfull__chip", children: p }),
|
|
@@ -4752,17 +4752,17 @@ function Ai({ compact: t = !1, noFull: e = !1, page: n = !0, picture: s, title:
|
|
|
4752
4752
|
);
|
|
4753
4753
|
}
|
|
4754
4754
|
function cc({ dark: t, back: e, home: n, live: s, title: r, badge: a, subline: o, onOptions: l, optionsActive: c }) {
|
|
4755
|
-
return /* @__PURE__ */
|
|
4755
|
+
return /* @__PURE__ */ g("div", { className: "ghead", children: [
|
|
4756
4756
|
e && /* @__PURE__ */ i("button", { type: "button", className: "ghead__back", "aria-label": "Back", title: "Back", onClick: e, children: /* @__PURE__ */ i(le, { d: X.chevronLeft, size: 19, sw: 1.7 }) }),
|
|
4757
4757
|
s && /* @__PURE__ */ i("span", { className: "mark", children: /* @__PURE__ */ i(ii, { dark: t, size: 30 }) }),
|
|
4758
|
-
/* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0, display: "flex" }, children: n ? /* @__PURE__ */ i("div", { className: "ghead__logo", children: /* @__PURE__ */ i(jn, { dark: t, height: 22 }) }) : /* @__PURE__ */
|
|
4759
|
-
/* @__PURE__ */
|
|
4758
|
+
/* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0, display: "flex" }, children: n ? /* @__PURE__ */ i("div", { className: "ghead__logo", children: /* @__PURE__ */ i(jn, { dark: t, height: 22 }) }) : /* @__PURE__ */ g("div", { className: "ghead__title", onClick: e, title: e ? "Back" : void 0, style: { cursor: e ? "pointer" : "default" }, children: [
|
|
4759
|
+
/* @__PURE__ */ g("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
|
|
4760
4760
|
/* @__PURE__ */ i("span", { className: "ghead__name", children: r }),
|
|
4761
4761
|
a
|
|
4762
4762
|
] }),
|
|
4763
4763
|
o && /* @__PURE__ */ i("div", { className: "ghead__sub", children: o })
|
|
4764
4764
|
] }) }),
|
|
4765
|
-
/* @__PURE__ */ i(ja, { size: "sm", bordered: !1, variant: c ? "primary" : void 0, onClick: l, label: "Options", children: /* @__PURE__ */
|
|
4765
|
+
/* @__PURE__ */ i(ja, { 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: [
|
|
4766
4766
|
/* @__PURE__ */ i("circle", { cx: "12", cy: "5.5", r: "1.85" }),
|
|
4767
4767
|
/* @__PURE__ */ i("circle", { cx: "12", cy: "12", r: "1.85" }),
|
|
4768
4768
|
/* @__PURE__ */ i("circle", { cx: "12", cy: "18.5", r: "1.85" })
|
|
@@ -4775,7 +4775,7 @@ function Mc(t) {
|
|
|
4775
4775
|
const e = t.langName;
|
|
4776
4776
|
return t.translateFailed === t.lang ? { kind: "translateFailed", lang: e } : t.voiceFailed ? { kind: "voiceFailed", lang: e } : t.translating ? { kind: "translating", lang: e } : t.starting != null ? { kind: "starting", lang: e, since: t.starting } : t.relang || t.slowLine ? { kind: "voice", lang: e, since: t.lineSince } : null;
|
|
4777
4777
|
}
|
|
4778
|
-
function
|
|
4778
|
+
function hc(t, e) {
|
|
4779
4779
|
const [n, s] = I(null), [r, a] = I(!1);
|
|
4780
4780
|
return _(() => {
|
|
4781
4781
|
if (!t) {
|
|
@@ -4788,7 +4788,7 @@ function gc(t, e) {
|
|
|
4788
4788
|
return () => clearTimeout(l);
|
|
4789
4789
|
}, [t, e]), [r, n];
|
|
4790
4790
|
}
|
|
4791
|
-
const
|
|
4791
|
+
const gc = (t) => `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
4792
4792
|
function fc({ state: t, line: e, onRetry: n, onOriginal: s }) {
|
|
4793
4793
|
const [r, a] = I(() => Date.now());
|
|
4794
4794
|
_(() => {
|
|
@@ -4809,7 +4809,7 @@ function fc({ state: t, line: e, onRetry: n, onOriginal: s }) {
|
|
|
4809
4809
|
translateFailed: "Something went wrong on our side. Try again, or watch with the original sound.",
|
|
4810
4810
|
voiceFailed: "It took too long to start. Try again, or watch with the original sound."
|
|
4811
4811
|
}[t.kind];
|
|
4812
|
-
return /* @__PURE__ */
|
|
4812
|
+
return /* @__PURE__ */ g(
|
|
4813
4813
|
"div",
|
|
4814
4814
|
{
|
|
4815
4815
|
className: `pwait${l ? " pwait--failed" : ""}`,
|
|
@@ -4819,14 +4819,14 @@ function fc({ state: t, line: e, onRetry: n, onOriginal: s }) {
|
|
|
4819
4819
|
onClick: (u) => u.stopPropagation(),
|
|
4820
4820
|
onPointerDown: (u) => u.stopPropagation(),
|
|
4821
4821
|
children: [
|
|
4822
|
-
/* @__PURE__ */
|
|
4822
|
+
/* @__PURE__ */ g("div", { className: "pwait__head", children: [
|
|
4823
4823
|
l ? /* @__PURE__ */ i("div", { className: "pwait__mark", "aria-hidden": "true", children: /* @__PURE__ */ i(le, { d: X.warnCircle, size: 18, sw: 1.8 }) }) : /* @__PURE__ */ i("div", { className: "pwait__spin", "aria-hidden": "true" }),
|
|
4824
4824
|
/* @__PURE__ */ i("div", { className: "pwait__t", children: c }),
|
|
4825
|
-
!l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children:
|
|
4825
|
+
!l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: gc(o) })
|
|
4826
4826
|
] }),
|
|
4827
4827
|
/* @__PURE__ */ i("div", { className: "pwait__note", children: d }),
|
|
4828
4828
|
!l && /* @__PURE__ */ i("div", { className: "pwait__bar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", {}) }),
|
|
4829
|
-
l && /* @__PURE__ */
|
|
4829
|
+
l && /* @__PURE__ */ g("div", { className: "pwait__acts", children: [
|
|
4830
4830
|
/* @__PURE__ */ i("button", { type: "button", className: "vs-btn vs-btn--primary vs-btn--sm", onClick: n, children: "Try again" }),
|
|
4831
4831
|
/* @__PURE__ */ i("button", { type: "button", className: "vs-btn vs-btn--ghost vs-btn--sm", onClick: s, children: "Watch in the original" })
|
|
4832
4832
|
] }),
|
|
@@ -4844,7 +4844,7 @@ function Ei(t, e, n) {
|
|
|
4844
4844
|
const s = new URL(t ?? As), r = pc(), a = new URL(Nc, s);
|
|
4845
4845
|
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);
|
|
4846
4846
|
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)}`);
|
|
4847
|
-
return u ? new Promise((
|
|
4847
|
+
return u ? new Promise((h, M) => {
|
|
4848
4848
|
let p = !1;
|
|
4849
4849
|
const N = (m) => {
|
|
4850
4850
|
p || (p = !0, window.removeEventListener("message", w), clearInterval(k), m());
|
|
@@ -4861,15 +4861,15 @@ function Ei(t, e, n) {
|
|
|
4861
4861
|
return;
|
|
4862
4862
|
}
|
|
4863
4863
|
if (f.type === "vocalstack:started" || f.type === "vocalstack:token" || f.type === "vocalstack:found") {
|
|
4864
|
-
N(() =>
|
|
4864
|
+
N(() => h({ transcriptionId: String(f.transcriptionId), recordingId: String(f.recordingId), token: String(f.token), expiresAt: f.expiresAt ?? null }));
|
|
4865
4865
|
return;
|
|
4866
4866
|
}
|
|
4867
4867
|
if (f.type === "vocalstack:connected") {
|
|
4868
|
-
N(() =>
|
|
4868
|
+
N(() => h("connected"));
|
|
4869
4869
|
return;
|
|
4870
4870
|
}
|
|
4871
4871
|
if (f.type === "vocalstack:declined") {
|
|
4872
|
-
N(() =>
|
|
4872
|
+
N(() => h(null));
|
|
4873
4873
|
return;
|
|
4874
4874
|
}
|
|
4875
4875
|
f.type === "vocalstack:error" && N(() => M(new Error(typeof f.message == "string" && f.message ? f.message : "VocalStack could not start this transcription.")));
|
|
@@ -4877,7 +4877,7 @@ function Ei(t, e, n) {
|
|
|
4877
4877
|
};
|
|
4878
4878
|
window.addEventListener("message", w);
|
|
4879
4879
|
const k = setInterval(() => {
|
|
4880
|
-
u.closed && N(() =>
|
|
4880
|
+
u.closed && N(() => h(null));
|
|
4881
4881
|
}, 500);
|
|
4882
4882
|
}) : Promise.reject(new Error("Your browser blocked the VocalStack window. Allow pop-ups for this site and try again."));
|
|
4883
4883
|
}
|
|
@@ -4908,7 +4908,7 @@ const wc = {
|
|
|
4908
4908
|
starting: "Starting the transcription…"
|
|
4909
4909
|
}, Lc = /^(https?:\/\/)?([\w-]+\.)+[a-z]{2,}(\/\S*)?$/i;
|
|
4910
4910
|
function kc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
|
|
4911
|
-
const [r, a] = I(""), [o, l] = I(!1), [c, d] = I(null), [u,
|
|
4911
|
+
const [r, a] = I(""), [o, l] = I(!1), [c, d] = I(null), [u, h] = I(null);
|
|
4912
4912
|
_(() => {
|
|
4913
4913
|
const w = (k) => {
|
|
4914
4914
|
k.key === "Escape" && s();
|
|
@@ -4919,23 +4919,23 @@ function kc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
|
|
|
4919
4919
|
if (!(!p || o)) {
|
|
4920
4920
|
l(!0), d(null);
|
|
4921
4921
|
try {
|
|
4922
|
-
const w = await mc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`,
|
|
4922
|
+
const w = await mc(t.appUrl, /^https?:\/\//i.test(M) ? M : `https://${M}`, h);
|
|
4923
4923
|
w && e(w);
|
|
4924
4924
|
} catch (w) {
|
|
4925
4925
|
d(w instanceof Error ? w.message : "Something went wrong. Please try again.");
|
|
4926
4926
|
} finally {
|
|
4927
|
-
l(!1),
|
|
4927
|
+
l(!1), h(null);
|
|
4928
4928
|
}
|
|
4929
4929
|
}
|
|
4930
4930
|
};
|
|
4931
4931
|
return /* @__PURE__ */ i("div", { className: "vsp-end", role: "dialog", "aria-label": "Transcribe another video", onPointerDown: (w) => w.stopPropagation(), onClick: (w) => {
|
|
4932
4932
|
w.stopPropagation(), w.target === w.currentTarget && s();
|
|
4933
|
-
}, children: /* @__PURE__ */
|
|
4933
|
+
}, children: /* @__PURE__ */ g("div", { className: "vsp-end__card", children: [
|
|
4934
4934
|
/* @__PURE__ */ i("button", { type: "button", className: "vsp-end__close", "aria-label": "Close", title: "Close", onClick: s, children: /* @__PURE__ */ i(le, { d: X.close, size: 16, sw: 1.8 }) }),
|
|
4935
4935
|
/* @__PURE__ */ i("div", { className: "vsp-end__brand", children: /* @__PURE__ */ i(jn, { dark: !0, link: !1, height: 16 }) }),
|
|
4936
4936
|
/* @__PURE__ */ i("div", { className: "vsp-end__title", children: t.title ?? "Transcribe and translate any video" }),
|
|
4937
4937
|
/* @__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." }),
|
|
4938
|
-
/* @__PURE__ */
|
|
4938
|
+
/* @__PURE__ */ g("form", { className: "vsp-end__row", onSubmit: (w) => {
|
|
4939
4939
|
w.preventDefault(), N();
|
|
4940
4940
|
}, children: [
|
|
4941
4941
|
/* @__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) => {
|
|
@@ -4945,9 +4945,9 @@ function kc({ options: t, onStarted: e, onReplay: n, onClose: s }) {
|
|
|
4945
4945
|
] }),
|
|
4946
4946
|
o && /* @__PURE__ */ i("div", { className: "vsp-end__note", role: "status", children: wc[u ?? "checking"] }),
|
|
4947
4947
|
c && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: c }),
|
|
4948
|
-
/* @__PURE__ */
|
|
4948
|
+
/* @__PURE__ */ g("div", { className: "vsp-end__foot", children: [
|
|
4949
4949
|
/* @__PURE__ */ i("span", { children: "Uses your VocalStack account. You'll be asked to sign in if you're not." }),
|
|
4950
|
-
/* @__PURE__ */
|
|
4950
|
+
/* @__PURE__ */ g("button", { type: "button", className: "vsp-end__replay", onClick: n, children: [
|
|
4951
4951
|
/* @__PURE__ */ i(le, { d: X.uturn, size: 14, sw: 1.8 }),
|
|
4952
4952
|
"Replay"
|
|
4953
4953
|
] })
|
|
@@ -4964,38 +4964,38 @@ function _i(t) {
|
|
|
4964
4964
|
}
|
|
4965
4965
|
const vc = { lang: null, subtitles: !0, speakerLabels: !1, wordHighlight: !0, translateAudio: !0, voices: "cloned", removeBackground: !1, muted: !1 };
|
|
4966
4966
|
function jc(t, e) {
|
|
4967
|
-
const n = Li(), [s, r] =
|
|
4967
|
+
const n = Li(), [s, r] = gi(), [a, o] = I(null), [l, c] = I("main"), d = ps(n, t.lang), u = Ie(() => fi(n, "translation"), [n]), h = (A) => {
|
|
4968
4968
|
e({ lang: A }), r(A);
|
|
4969
|
-
}, M = zs({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect:
|
|
4969
|
+
}, M = zs({ 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 = () => {
|
|
4970
4970
|
o(null), c("main");
|
|
4971
4971
|
}, N = t.lang ? /* @__PURE__ */ i("span", { style: { fontSize: 19, lineHeight: 1 }, children: d.flag }) : /* @__PURE__ */ i(le, { d: X.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) => {
|
|
4972
4972
|
A.stopPropagation(), c("main"), o((ee) => ee === "lang" ? null : "lang");
|
|
4973
|
-
}, children: N }), k = /* @__PURE__ */ i(le, { d: X.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), m = /* @__PURE__ */
|
|
4973
|
+
}, children: N }), k = /* @__PURE__ */ i(le, { d: X.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: [
|
|
4974
4974
|
" ",
|
|
4975
|
-
/* @__PURE__ */
|
|
4975
|
+
/* @__PURE__ */ g("button", { type: "button", onClick: () => c("main"), "aria-label": "Back", className: "vsp-idlesheet__back", children: [
|
|
4976
4976
|
/* @__PURE__ */ i(le, { d: X.chevronLeft, size: 18, sw: 1.8 }),
|
|
4977
4977
|
"Back"
|
|
4978
4978
|
] })
|
|
4979
|
-
] }), f = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, O = (A, ee, j) => /* @__PURE__ */
|
|
4980
|
-
/* @__PURE__ */
|
|
4979
|
+
] }), f = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, O = (A, ee, j) => /* @__PURE__ */ g("div", { className: "srow", children: [
|
|
4980
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
4981
4981
|
/* @__PURE__ */ i("div", { className: "srow__t", children: A }),
|
|
4982
4982
|
/* @__PURE__ */ i("div", { className: "srow__s", children: ee })
|
|
4983
4983
|
] }),
|
|
4984
4984
|
j
|
|
4985
|
-
] }), D = /* @__PURE__ */
|
|
4985
|
+
] }), D = /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
4986
4986
|
/* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: M.search }),
|
|
4987
4987
|
M.list
|
|
4988
|
-
] }), b = l === "lang" ? D : l === "subs" ? /* @__PURE__ */
|
|
4988
|
+
] }), b = l === "lang" ? D : l === "subs" ? /* @__PURE__ */ g("div", { style: f, children: [
|
|
4989
4989
|
O("Show subtitles", "Captions over the video", /* @__PURE__ */ i(pt, { checked: t.subtitles, onChange: (A) => e({ subtitles: A }), label: "Show subtitles" })),
|
|
4990
4990
|
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" })),
|
|
4991
4991
|
O("Highlight words", "Follow each word as it is spoken", /* @__PURE__ */ i(pt, { checked: t.wordHighlight, onChange: (A) => e({ wordHighlight: A }), label: "Highlight words" }))
|
|
4992
|
-
] }) : l === "audio" ? /* @__PURE__ */
|
|
4992
|
+
] }) : l === "audio" ? /* @__PURE__ */ g("div", { style: f, children: [
|
|
4993
4993
|
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 })),
|
|
4994
4994
|
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(os, { value: t.voices, onChange: (A) => e({ voices: A }), size: "sm", options: [{ value: "synthetic", label: "Synthetic" }, { value: "cloned", label: "Cloned" }] })),
|
|
4995
4995
|
O(kn, "Takes out everything that isn't speech: music, ambience and noise.", /* @__PURE__ */ i(pt, { checked: t.removeBackground, onChange: (A) => e({ removeBackground: A }), label: kn }))
|
|
4996
|
-
] }) : /* @__PURE__ */
|
|
4997
|
-
/* @__PURE__ */
|
|
4998
|
-
/* @__PURE__ */
|
|
4996
|
+
] }) : /* @__PURE__ */ g("div", { style: f, children: [
|
|
4997
|
+
/* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => c("lang"), children: [
|
|
4998
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
4999
4999
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Language" }),
|
|
5000
5000
|
/* @__PURE__ */ i("div", { className: "srow__s", children: t.lang ? `Translated to ${d.label}` : "Original language" })
|
|
5001
5001
|
] }),
|
|
@@ -5003,22 +5003,22 @@ function jc(t, e) {
|
|
|
5003
5003
|
k
|
|
5004
5004
|
] }),
|
|
5005
5005
|
/* @__PURE__ */ i("div", { className: "sdiv" }),
|
|
5006
|
-
/* @__PURE__ */
|
|
5007
|
-
/* @__PURE__ */
|
|
5006
|
+
/* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => c("subs"), children: [
|
|
5007
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5008
5008
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Subtitles" }),
|
|
5009
5009
|
/* @__PURE__ */ i("div", { className: "srow__s", children: t.subtitles ? "On · speaker labels and word highlighting" : "Off" })
|
|
5010
5010
|
] }),
|
|
5011
5011
|
k
|
|
5012
5012
|
] }),
|
|
5013
5013
|
/* @__PURE__ */ i("div", { className: "sdiv" }),
|
|
5014
|
-
/* @__PURE__ */
|
|
5015
|
-
/* @__PURE__ */
|
|
5014
|
+
/* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => c("audio"), children: [
|
|
5015
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5016
5016
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
|
|
5017
5017
|
/* @__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" })
|
|
5018
5018
|
] }),
|
|
5019
5019
|
k
|
|
5020
5020
|
] })
|
|
5021
|
-
] }), W = /* @__PURE__ */
|
|
5021
|
+
] }), W = /* @__PURE__ */ g(Ue, { children: [
|
|
5022
5022
|
/* @__PURE__ */ i($t, { open: a === "lang", onClose: p, title: "LANGUAGE", kind: "picker", sticky: !0, children: /* @__PURE__ */ i(ls, { children: D }) }),
|
|
5023
5023
|
/* @__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(ls, { children: b }) })
|
|
5024
5024
|
] });
|
|
@@ -5061,8 +5061,8 @@ function Ic(t, e) {
|
|
|
5061
5061
|
}).catch((w) => l(w instanceof Error ? w.message : "Something went wrong. Please try again.")).finally(() => {
|
|
5062
5062
|
s(!1), a(null);
|
|
5063
5063
|
});
|
|
5064
|
-
}, [t, n, e]),
|
|
5065
|
-
return { busy: n, status: r, err: o, connected: c, connect:
|
|
5064
|
+
}, [t, n, e]), h = Xe(() => u({ connect: !0 }), [u]), M = Xe((p, N) => u({ url: p, ask: N }), [u]);
|
|
5065
|
+
return { busy: n, status: r, err: o, connected: c, connect: h, start: M };
|
|
5066
5066
|
}
|
|
5067
5067
|
function Oc(t) {
|
|
5068
5068
|
return /\.(mp4|webm|mov|m4v|ogv|mkv)(\?|#|$)/i.test(t);
|
|
@@ -5074,12 +5074,12 @@ function Cc({ poster: t, src: e }) {
|
|
|
5074
5074
|
const bc = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
|
|
5075
5075
|
} };
|
|
5076
5076
|
function ks({ idle: t, poster: e, src: n, title: s, page: r, onAct: a, children: o }) {
|
|
5077
|
-
const l = jc(t.prefs, t.set), c = _i(), d = v(null), [u,
|
|
5077
|
+
const l = jc(t.prefs, t.set), c = _i(), d = v(null), [u, h] = I(!1);
|
|
5078
5078
|
Qt(() => {
|
|
5079
5079
|
var k;
|
|
5080
5080
|
const p = (k = d.current) == null ? void 0 : k.parentElement;
|
|
5081
5081
|
if (!p) return;
|
|
5082
|
-
const N = () =>
|
|
5082
|
+
const N = () => h(p.getBoundingClientRect().width < 560);
|
|
5083
5083
|
if (N(), typeof ResizeObserver > "u") return;
|
|
5084
5084
|
const w = new ResizeObserver(N);
|
|
5085
5085
|
return w.observe(p), () => w.disconnect();
|
|
@@ -5087,15 +5087,15 @@ function ks({ idle: t, poster: e, src: n, title: s, page: r, onAct: a, children:
|
|
|
5087
5087
|
const M = { prevOn: !1, nextOn: !1, onPrev: () => {
|
|
5088
5088
|
}, onNext: () => {
|
|
5089
5089
|
}, playing: !1, playable: !0, playTitle: "Connect to play", onPlay: a };
|
|
5090
|
-
return /* @__PURE__ */
|
|
5090
|
+
return /* @__PURE__ */ g("div", { ref: d, className: `vsp-idleroot${u ? " vsp-idleroot--small" : ""}`, children: [
|
|
5091
5091
|
/* @__PURE__ */ i(Ai, { page: r, picture: /* @__PURE__ */ i(Cc, { poster: e, src: n }), title: s, desk: c, pos: bc, 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: () => Ds(t.shareUrl ?? window.location.href, s), copied: null, onTouch: () => {
|
|
5092
5092
|
} }),
|
|
5093
5093
|
!l.sheetOpen && /* @__PURE__ */ i("div", { className: "vsp-idle", "data-theme": "dark", children: /* @__PURE__ */ i("div", { className: "vsp-idle__box", children: o }) })
|
|
5094
5094
|
] });
|
|
5095
5095
|
}
|
|
5096
5096
|
function Ri({ connect: t, onClick: e, label: n }) {
|
|
5097
|
-
return /* @__PURE__ */
|
|
5098
|
-
/* @__PURE__ */
|
|
5097
|
+
return /* @__PURE__ */ g(Ue, { children: [
|
|
5098
|
+
/* @__PURE__ */ g("button", { type: "button", className: "vsp-idle__connect", onClick: e, disabled: t.busy, children: [
|
|
5099
5099
|
t.busy ? /* @__PURE__ */ i(at, { size: 18, color: "#050507", track: "rgba(5,5,7,.2)" }) : /* @__PURE__ */ i(le, { d: X.link, size: 18, sw: 1.8 }),
|
|
5100
5100
|
/* @__PURE__ */ i("span", { children: t.busy ? "Waiting for VocalStack…" : n })
|
|
5101
5101
|
] }),
|
|
@@ -5105,7 +5105,7 @@ function Ri({ connect: t, onClick: e, label: n }) {
|
|
|
5105
5105
|
}
|
|
5106
5106
|
function xc({ idle: t, src: e, ask: n, connect: s, page: r, poster: a = null, onClear: o }) {
|
|
5107
5107
|
const l = () => s.start(e, n);
|
|
5108
|
-
return /* @__PURE__ */
|
|
5108
|
+
return /* @__PURE__ */ g(ks, { idle: t, poster: a, src: e, title: as(e), page: r, onAct: l, children: [
|
|
5109
5109
|
/* @__PURE__ */ i(Ri, { connect: s, onClick: l, label: s.connected ? "Play with VocalStack" : "Connect to VocalStack" }),
|
|
5110
5110
|
!s.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: s.connected ? `Plays ${as(e)} with subtitles and spoken translations.` : `Connect to play ${as(e)} with subtitles and spoken translations.` }),
|
|
5111
5111
|
o && !s.busy && /* @__PURE__ */ i("button", { type: "button", className: "vsp-idle__other", onClick: o, children: "Choose another video" })
|
|
@@ -5117,20 +5117,20 @@ function Dc({ idle: t, connect: e, page: n, poster: s = null, onPick: r }) {
|
|
|
5117
5117
|
const M = /^https?:\/\//i.test(c) ? c : `https://${c}`;
|
|
5118
5118
|
r(M), e.start(M, !1);
|
|
5119
5119
|
};
|
|
5120
|
-
return e.connected ? /* @__PURE__ */
|
|
5120
|
+
return e.connected ? /* @__PURE__ */ g(ks, { idle: t, poster: s, src: null, title: "VocalStack", page: n, onAct: () => {
|
|
5121
5121
|
var M;
|
|
5122
5122
|
d ? u() : (M = l.current) == null || M.focus();
|
|
5123
5123
|
}, children: [
|
|
5124
5124
|
/* @__PURE__ */ i("form", { className: "vsp-idle__form", onSubmit: (M) => {
|
|
5125
5125
|
M.preventDefault(), u();
|
|
5126
|
-
}, children: /* @__PURE__ */
|
|
5126
|
+
}, children: /* @__PURE__ */ g("span", { className: "vsp-idle__field", children: [
|
|
5127
5127
|
/* @__PURE__ */ i(le, { d: X.link, size: 16, sw: 1.8 }),
|
|
5128
5128
|
/* @__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 }),
|
|
5129
5129
|
e.busy && /* @__PURE__ */ i(at, { size: 15, color: "#eef0f8", track: "rgba(255,255,255,.2)" })
|
|
5130
5130
|
] }) }),
|
|
5131
5131
|
e.busy ? /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Ui[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." }),
|
|
5132
5132
|
e.err && /* @__PURE__ */ i("div", { className: "vsp-end__err", role: "alert", children: e.err })
|
|
5133
|
-
] }) : /* @__PURE__ */
|
|
5133
|
+
] }) : /* @__PURE__ */ g(ks, { idle: t, poster: s, src: null, title: "VocalStack", page: n, onAct: e.connect, children: [
|
|
5134
5134
|
/* @__PURE__ */ i(Ri, { connect: e, onClick: e.connect, label: "Connect to VocalStack" }),
|
|
5135
5135
|
!e.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", children: "Connect your VocalStack account to watch any video with subtitles and spoken translations." })
|
|
5136
5136
|
] });
|
|
@@ -5209,9 +5209,9 @@ const Wc = fa(function(e, n) {
|
|
|
5209
5209
|
_(() => {
|
|
5210
5210
|
o != null && o.id && a({ id: o.id, token: e.token });
|
|
5211
5211
|
}, [o == null ? void 0 : o.id]);
|
|
5212
|
-
const [l, c] = I(null), [d, u] = I(() => ({ ...vc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, C]) => C !== void 0)) })), [
|
|
5212
|
+
const [l, c] = I(null), [d, u] = I(() => ({ ...vc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, C]) => C !== void 0)) })), [h, M] = I({}), p = { prefs: d, set: (C) => {
|
|
5213
5213
|
u((ue) => ({ ...ue, ...C })), M((ue) => ({ ...ue, ...C }));
|
|
5214
|
-
}, shareUrl: (V = e.shareUrl) == null ? void 0 : V.call(e, null) }, { muted: N, ...w } =
|
|
5214
|
+
}, shareUrl: (V = e.shareUrl) == null ? void 0 : V.call(e, null) }, { muted: N, ...w } = h;
|
|
5215
5215
|
_(() => {
|
|
5216
5216
|
c(null);
|
|
5217
5217
|
}, [e.id, e.src]);
|
|
@@ -5227,8 +5227,8 @@ const Wc = fa(function(e, n) {
|
|
|
5227
5227
|
return _(() => (Jr($ ? ie.current : null), () => Jr(null)), [$]), /* @__PURE__ */ i(Oo, { value: j, children: /* @__PURE__ */ i("div", { ref: ie, 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(Dc, { idle: p, connect: E, page: !$, poster: e.poster ?? null, onPick: c }) : m ? /* @__PURE__ */ i(xc, { idle: p, src: k, ask: !l, connect: E, page: !$, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : r.id ? /* @__PURE__ */ i(Yc, { ...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" }) }) }) });
|
|
5228
5228
|
});
|
|
5229
5229
|
function Yc(t) {
|
|
5230
|
-
var dr, Mr,
|
|
5231
|
-
const { api: e, shared: n, gone: s, desk: r, dark: a } = t, o = t.id ?? "", l = Ie(() => Ec(t), []), c = (t.mode ?? "video") === "video", d = ((Mr = (dr = n == null ? void 0 : n.job) == null ? void 0 : dr.source) == null ? void 0 : Mr.kind) === "url" ? Ns(n.job.source.url) : null, u = c && !(n && !d), [
|
|
5230
|
+
var dr, Mr, hr, gr, fr, Nr, pr, mr, yr, Tr, wr, Lr, kr, vr, jr, zr, Ir, Or, Cr, br, xr, Dr, Sr, Ar;
|
|
5231
|
+
const { api: e, shared: n, gone: s, desk: r, dark: a } = t, o = t.id ?? "", l = Ie(() => Ec(t), []), c = (t.mode ?? "video") === "video", d = ((Mr = (dr = n == null ? void 0 : n.job) == null ? void 0 : dr.source) == null ? void 0 : Mr.kind) === "url" ? Ns(n.job.source.url) : null, u = c && !(n && !d), [h, M] = I(t.loadError);
|
|
5232
5232
|
_(() => {
|
|
5233
5233
|
t.loadError && M(t.loadError);
|
|
5234
5234
|
}, [t.loadError]);
|
|
@@ -5268,11 +5268,11 @@ function Yc(t) {
|
|
|
5268
5268
|
onFrame: (T) => {
|
|
5269
5269
|
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 });
|
|
5270
5270
|
}
|
|
5271
|
-
}),
|
|
5271
|
+
}), ge = Ie(() => No(H).filter((T) => !T.suppressed), [H]), K = Po((n == null ? void 0 : n.job) ?? null), pe = ["done", "failed", "stopped"].includes(ns((K == null ? void 0 : K.state) ?? ((hr = n == null ? void 0 : n.job) == null ? void 0 : hr.state))), re = pe ? K : b ?? K, ae = !!b && !["done", "failed", "stopped"].includes(ns(b.state)), Te = v(0);
|
|
5272
5272
|
_(() => {
|
|
5273
5273
|
!pe || !ae || Date.now() - Te.current < 1e4 || (Te.current = Date.now(), t.reread());
|
|
5274
5274
|
}, [pe, ae, b == null ? void 0 : b.state, b == null ? void 0 : b.processedS, o]);
|
|
5275
|
-
const ve = ns((re == null ? void 0 : re.state) ?? ((
|
|
5275
|
+
const ve = ns((re == null ? void 0 : re.state) ?? ((gr = n == null ? void 0 : n.job) == null ? void 0 : gr.state)), Ae = !!P && (ve === "transcribing" || ve === "queued"), Y = u && !s && (!n || (Ae || ve === "cropping") && ge.length === 0), U = Ae ? (re == null ? void 0 : re.pct) ?? 0 : 100, F = $o(n == null ? void 0 : n.job, re) ?? (ue == null ? void 0 : ue.mediaDurationS) ?? null, J = ((fr = H.segments.values().next().value) == null ? void 0 : fr.language) ?? (ue == null ? void 0 : ue.spokenLanguage) ?? null, he = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", xe = ((mr = (pr = (Nr = n == null ? void 0 : n.job) == null ? void 0 : Nr.source) == null ? void 0 : pr.name) == null ? void 0 : mr.trim()) || null, ye = n ? ((yr = n.name) == null ? void 0 : yr.trim()) || xe : null, je = !!((Tr = n == null ? void 0 : n.job) != null && Tr.hasAudio), De = (wr = n == null ? void 0 : n.job) == null ? void 0 : wr.source, Ze = !je && !!De && (De.kind !== "url" || De.bytes != null) && (ve === "transcribing" || ve === "queued" || ve === "done"), Qe = P && (n != null && n.allowDownload) && je ? ba(e.origin, P, e.cred) : P && (n != null && n.allowDownload) && Ze ? Kn(e.origin, P, "source", e.cred) : null, st = ge[ge.length - 1], ot = st ? ((Lr = st.words[st.words.length - 1]) == null ? void 0 : Lr.end) ?? st.start : 0, dt = u && Ae ? Math.max(ot, (re == null ? void 0 : re.processedS) ?? 0) : null, Ve = Hl(Qe, (je || Ze) && !!(n != null && n.allowDownload), ge, F, Ze ? ((vr = (kr = n == null ? void 0 : n.job) == null ? void 0 : kr.crop) == null ? void 0 : vr.startS) ?? 0 : 0, dt), Re = ((zr = (jr = n == null ? void 0 : n.job) == null ? void 0 : jr.source) == null ? void 0 : zr.kind) === "url" ? Ns(n.job.source.url) : null, lt = Bl(ge, F, ((Or = (Ir = n == null ? void 0 : n.job) == null ? void 0 : Ir.crop) == null ? void 0 : Or.startS) ?? 0, dt), He = !!Re, mt = He ? lt.player : Ve, Mt = Li(), Bt = v(null), se = Zl({ forcedVoice: t.voice ?? null, recordingId: P, model: H, rows: ge, lenS: F, ended: !!P && !Ae, cred: e.cred, langs: Mt, srcLang: J, canTranslate: !!(n != null && n.allowTranslate), pickedLang: q, setPickedLang: ce, side: r && !V ? Gl : void 0, hearOriginal: Me, timed: !!Re, stockVoices: u && !Ce, stickyPicker: u, pickerBusy: Bt.current }), Ot = v(null);
|
|
5276
5276
|
_(() => {
|
|
5277
5277
|
!P || Ot.current === ne || (Ot.current = ne, ze(ne));
|
|
5278
5278
|
}, [ne, P]);
|
|
@@ -5284,18 +5284,18 @@ function Yc(t) {
|
|
|
5284
5284
|
}
|
|
5285
5285
|
(se.on ? mt : se.player).pause();
|
|
5286
5286
|
}, [se.on, He]);
|
|
5287
|
-
const en = Ie(() =>
|
|
5287
|
+
const en = Ie(() => ge.filter((T) => T.sentenceId != null).map((T, fe, _e) => {
|
|
5288
5288
|
var Ge;
|
|
5289
5289
|
return { sid: T.sentenceId, start: T.start, end: ((Ge = _e[fe + 1]) == null ? void 0 : Ge.start) ?? St(T, T.start, T.start + 4) };
|
|
5290
|
-
}), [
|
|
5290
|
+
}), [ge]), vt = lo({ on: He && se.on, lines: en, clips: se.clips, t: x.t, playing: x.playing, muted: x.muted }), Et = !!ne && (Be || se.relang || se.on && vt.missing != null);
|
|
5291
5291
|
Bt.current = Et ? ne : null, _(() => {
|
|
5292
5292
|
He && se.on && vt.sid != null && se.setNear(vt.sid);
|
|
5293
5293
|
}, [vt.sid, He, se.on]), $l([mt, se.player], se.sampling);
|
|
5294
5294
|
const it = v(null);
|
|
5295
5295
|
_(() => {
|
|
5296
5296
|
Ae && !x.playing && it.current && (it.current.scrollTop = it.current.scrollHeight);
|
|
5297
|
-
}, [Ae,
|
|
5298
|
-
const In = Jl(it,
|
|
5297
|
+
}, [Ae, ge.length]);
|
|
5298
|
+
const In = Jl(it, ge, w, m, k), tn = /* @__PURE__ */ i(Kl, { open: w, q: m, onQ: f, onClose: () => k(!1), hits: In, 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 ? ((Cr = Mt == null ? void 0 : Mt.languages.find((T) => T.code === yt)) == null ? void 0 : Cr.name) ?? yt.toUpperCase() : null, Yt = async () => {
|
|
5299
5299
|
if (P)
|
|
5300
5300
|
try {
|
|
5301
5301
|
if (yt && se.canSpeak) {
|
|
@@ -5313,10 +5313,10 @@ function Yc(t) {
|
|
|
5313
5313
|
}, bt = (T) => {
|
|
5314
5314
|
if (!P) return;
|
|
5315
5315
|
const fe = fs.find((Ge) => Ge.key === T).name, _e = Tt ? ` in ${Tt}` : "";
|
|
5316
|
-
return Ho(e, P, T, { lang: yt }).then(() => D(Ae ? `${fe} exported${_e} for the first ${
|
|
5316
|
+
return Ho(e, P, T, { lang: yt }).then(() => D(Ae ? `${fe} exported${_e} for the first ${ge.length} segments — the rest is still transcribing.` : `${fe} exported${_e}.`)).catch((Ge) => {
|
|
5317
5317
|
throw M(kt(Ge)), Ge;
|
|
5318
5318
|
});
|
|
5319
|
-
}, ct = Ae ? "MORE TO COME…" : "END OF TRANSCRIPT", Ht = Ae ? "var(--brand)" : "var(--ink-28)", rt = Qo(re,
|
|
5319
|
+
}, ct = Ae ? "MORE TO COME…" : "END OF TRANSCRIPT", Ht = Ae ? "var(--brand)" : "var(--ink-28)", rt = Qo(re, ge.length), jt = x.has && (!se.relang || !!Re), qe = v(x);
|
|
5320
5320
|
qe.current = x;
|
|
5321
5321
|
const _t = `${ne ?? ""}|${se.on ? "voice" : "source"}`, Vt = v({ key: _t, idx: 0, t: 0, playing: !1, until: 0 });
|
|
5322
5322
|
_(() => {
|
|
@@ -5333,12 +5333,12 @@ function Yc(t) {
|
|
|
5333
5333
|
!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()));
|
|
5334
5334
|
}
|
|
5335
5335
|
});
|
|
5336
|
-
const
|
|
5336
|
+
const gt = v(!1), Je = v(!1);
|
|
5337
5337
|
u && (li.video = !0);
|
|
5338
5338
|
const [Wt, xt] = I(!1), [nn, On] = I(!1);
|
|
5339
5339
|
_(() => {
|
|
5340
|
-
if (!u ||
|
|
5341
|
-
|
|
5340
|
+
if (!u || gt.current || !jt || !V || Y || t.autoplay === !1) return;
|
|
5341
|
+
gt.current = !0;
|
|
5342
5342
|
const T = (Ge) => {
|
|
5343
5343
|
qe.current.playing || Je.current || (qe.current.toggle(), Ge > 0 && setTimeout(() => T(Ge - 1), 1500));
|
|
5344
5344
|
}, fe = () => {
|
|
@@ -5377,12 +5377,12 @@ function Yc(t) {
|
|
|
5377
5377
|
const T = setTimeout(() => Q(!0), 180);
|
|
5378
5378
|
return () => clearTimeout(T);
|
|
5379
5379
|
}, [Be]);
|
|
5380
|
-
const Se = Gt ? Fe : ne, We = sl(P, ne,
|
|
5380
|
+
const Se = Gt ? Fe : ne, We = sl(P, ne, ge, be), ft = ml(yl(ue), P, se.readLang), Zt = ht || Ct, Pi = (((xr = (br = n == null ? void 0 : n.job) == null ? void 0 : br.crop) == null ? void 0 : xr.startS) ?? 0) + rs(x, ge), xn = A === "listen", Dt = xn && !!Re, Qi = (T) => {
|
|
5381
5381
|
mt.pause(), se.player.pause(), ee(T), T === "read" && V && (Kt(!1), C(!1));
|
|
5382
|
-
}, Ye = se.barChip, Ut = vi(Ye.label), Es = /* @__PURE__ */ i(os, { value: A, onChange: Qi, bordered: !1, options: dc(Ut, !!Re) }), Rt = [...Ft ? [{ key: "summary", label: "Summary" }] : [], ...Zt ? [{ key: "export", label: "Export" }] : []], Ys = (T) => /* @__PURE__ */
|
|
5382
|
+
}, Ye = se.barChip, Ut = vi(Ye.label), Es = /* @__PURE__ */ i(os, { value: A, onChange: Qi, bordered: !1, options: dc(Ut, !!Re) }), Rt = [...Ft ? [{ key: "summary", label: "Summary" }] : [], ...Zt ? [{ key: "export", label: "Export" }] : []], Ys = (T) => /* @__PURE__ */ g(Ue, { children: [
|
|
5383
5383
|
T === "summary" && Ft && /* @__PURE__ */ i(Tl, { s: ft }),
|
|
5384
|
-
T === "export" && /* @__PURE__ */ i(pl, { audio:
|
|
5385
|
-
] }), $i = (T) => /* @__PURE__ */ i(Xo, { index: x.idx, total: Math.max(1,
|
|
5384
|
+
T === "export" && /* @__PURE__ */ i(pl, { audio: ht ? { name: Ke, meta: yt && se.canSpeak || je ? `MP3${F ? ` · ${Lt(F)}` : ""}` : "ORIGINAL AUDIO", onClick: Yt } : null, formats: Ct, onExport: bt })
|
|
5385
|
+
] }), $i = (T) => /* @__PURE__ */ i(Xo, { 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 ? Wl : x.seekRow, onSeekFrac: se.relang ? void 0 : x.seekFrac, onScrubStart: x.hold, onScrubEnd: x.release }), _s = {
|
|
5386
5386
|
live: !1,
|
|
5387
5387
|
atEdge: !1,
|
|
5388
5388
|
edgeFrac: null,
|
|
@@ -5395,12 +5395,12 @@ function Yc(t) {
|
|
|
5395
5395
|
var fe;
|
|
5396
5396
|
se.relang || (fe = x.seekFrac) == null || fe.call(x, T);
|
|
5397
5397
|
}
|
|
5398
|
-
}, [Bi, Hi] =
|
|
5398
|
+
}, [Bi, Hi] = hc(se.on && !!x.preparing && x.playing, 1500), Dn = se.on && ((Dr = x.error) == null ? void 0 : Dr.code) === "voice_not_started", Sn = se.canSpeak && !se.error && !Dn, an = ne ? ((Sr = Mt == null ? void 0 : Mt.languages.find((T) => T.code === ne)) == null ? void 0 : Sr.name) ?? Ye.label : "", tt = V ? Mc({ lang: ne, langName: an, translating: Be && !!ne, translateFailed: Oe, voiceFailed: Dn, relang: se.relang, starting: se.on ? x.starting : null, slowLine: Bi, lineSince: Hi }) : null, An = !!Re && !!tt && (tt.kind === "translating" || tt.kind === "voice" && se.relang), Us = !An || !tt ? null : tt.kind === "translating" ? `Translating into ${an || "the new language"}…` : `Preparing the ${an || "translated"} voice…`, on = !An && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), Rs = zs({ ...se.langList, keepOpen: !0, open: z === "lang", onClose: () => ie("main") }), Ps = Fa(B, se.on), Vi = u && Ps.bed && ht && P && (!Ae || Qe) ? Yr(e.origin, P, e.cred) : null, Qs = no(Vi, { t: rs(x, ge), playing: x.playing && !on && !(x.timed && x.preparing), muted: x.muted }), Wi = u && Ps.speech && ht && P && (!Ae || Qe) ? Yr(e.origin, P, e.cred, "speech") : null, En = Ni(Wi, { t: rs(x, ge), playing: !se.on && x.playing, muted: x.muted }), Yn = !se.on && En.on;
|
|
5399
5399
|
_(() => {
|
|
5400
5400
|
var T;
|
|
5401
5401
|
lt.setVideoSound(!(He && (se.on || Yn))), (T = Ve.silence) == null || T.call(Ve, !He && Yn);
|
|
5402
5402
|
}, [He, se.on, Yn, Qe]);
|
|
5403
|
-
const _n =
|
|
5403
|
+
const _n = ht ? se.on ? Qs : En.state : "unavailable", Un = Ee && Sn && !!ne, Fi = Un ? [`Translated${se.hasClone ? Ce ? ", cloned voices" : ", synthetic voices" : ""}`, !B && ht && Qs !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : B && _n !== "unavailable" ? "Original speech, background removed" : "Original sound", Gi = () => {
|
|
5404
5404
|
if ((tt == null ? void 0 : tt.kind) === "translateFailed") {
|
|
5405
5405
|
ze(ne);
|
|
5406
5406
|
return;
|
|
@@ -5409,13 +5409,13 @@ function Yc(t) {
|
|
|
5409
5409
|
}, Zi = () => {
|
|
5410
5410
|
const T = x.idx;
|
|
5411
5411
|
x.pause(), ce(null), Je.current = !0, mt.playRow(T);
|
|
5412
|
-
}, $s = { prevOn: x.idx > 0, nextOn: x.idx <
|
|
5412
|
+
}, $s = { 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: () => {
|
|
5413
5413
|
Je.current = !0, x.toggle();
|
|
5414
5414
|
}, busy: se.relang && !Re || on };
|
|
5415
5415
|
Mo(jt ? { playing: x.playing, toggle: () => {
|
|
5416
5416
|
Je.current = !0, x.toggle();
|
|
5417
5417
|
}, next: x.next, prev: x.prev } : null, ye);
|
|
5418
|
-
const Rn = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, Pn = (T, fe) => !Ye.can || !R.language ? null : u ? /* @__PURE__ */
|
|
5418
|
+
const Rn = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, Pn = (T, fe) => !Ye.can || !R.language ? null : u ? /* @__PURE__ */ g("button", { type: "button", className: "gfull__btn", title: Et ? `${Ye.label ?? Ye.code}: still being prepared` : Ye.label ?? Ye.code, "aria-label": `Language: ${Ye.label ?? Ye.code}`, "aria-busy": Et || void 0, onClick: () => {
|
|
5419
5419
|
S(!1), Ye.onClick();
|
|
5420
5420
|
}, style: { position: "relative" }, children: [
|
|
5421
5421
|
/* @__PURE__ */ i("span", { style: { fontSize: fe === "sm" ? 17 : 21, lineHeight: 1 }, children: Ye.flag }),
|
|
@@ -5425,22 +5425,22 @@ function Yc(t) {
|
|
|
5425
5425
|
_(() => {
|
|
5426
5426
|
x.t > 0.3 && Ki(!0);
|
|
5427
5427
|
}, [x.t]);
|
|
5428
|
-
const Hs = Re && /* @__PURE__ */
|
|
5428
|
+
const Hs = Re && /* @__PURE__ */ g(Ue, { children: [
|
|
5429
5429
|
/* @__PURE__ */ i(Al, { ytId: Re, title: Ke, t: Pi, playing: x.playing && !on, waiting: se.on && !!x.timed && !!x.preparing, seekN: x.seekN, onTime: (T) => {
|
|
5430
5430
|
var fe, _e, Ge;
|
|
5431
5431
|
return (Ge = x.videoAt) == null ? void 0 : Ge.call(x, T - (((_e = (fe = n == null ? void 0 : n.job) == null ? void 0 : fe.crop) == null ? void 0 : _e.startS) ?? 0));
|
|
5432
5432
|
}, onToggle: x.has ? sn : void 0, onAd: On, lead: He ? lt.lead : void 0 }),
|
|
5433
|
-
/* @__PURE__ */
|
|
5433
|
+
/* @__PURE__ */ g("div", { className: "vsp-poster", "aria-hidden": "true", style: { opacity: qi ? 0 : 1 }, children: [
|
|
5434
5434
|
/* @__PURE__ */ i("div", { className: "vsp-poster__img", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Re}/hqdefault.jpg)` } }),
|
|
5435
5435
|
/* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(vs, { size: 44 }) })
|
|
5436
5436
|
] })
|
|
5437
5437
|
] }), Vs = Dt && Re && !V ? /* @__PURE__ */ i(wl, { ytId: Re, title: Ke, radius: 14, large: !0, style: r ? void 0 : { margin: "8px 20px 2px" }, picture: Hs, children: /* @__PURE__ */ i(oc, { pos: _s, transport: $s, chip: Pn({ ...Rn, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Bs, onFull: () => {
|
|
5438
5438
|
Kt(!0), C(!0);
|
|
5439
|
-
}, copied: null }) }) : null, et = x.wordSync ? Go(
|
|
5440
|
-
for (const T of
|
|
5439
|
+
}, copied: null }) }) : null, et = x.wordSync ? Go(ge, x.idx, x.t) ? ge[x.idx] : void 0 : ge[x.idx];
|
|
5440
|
+
for (const T of ge) for (const [fe, _e] of Object.entries(T.translations)) _e && L.current.set(`${T.sentenceId ?? T.start}|${fe}`, _e);
|
|
5441
5441
|
const Ws = (T, fe) => T.translations[fe] || L.current.get(`${T.sentenceId ?? T.start}|${fe}`) || null, Qn = (T, fe) => !T || !fe || T.language === fe || !!Ws(T, fe), wt = Qn(et, ne) ? ne : Qn(et, $.current) ? $.current : ne;
|
|
5442
5442
|
et && Qn(et, wt) && ($.current = wt);
|
|
5443
|
-
const Fs = et && wt && et.language !== wt ? Ws(et, wt) : null, Ji = et && Fs && wt && !et.translations[wt] ? Object.assign([...
|
|
5443
|
+
const Fs = et && wt && et.language !== wt ? Ws(et, wt) : null, Ji = et && Fs && wt && !et.translations[wt] ? Object.assign([...ge], { [x.idx]: { ...et, translations: { ...et.translations, [wt]: Fs } } }) : ge, ln = et ? bi(Ji, x.idx, wt) : [], cn = ke ? ke === "on" : !u || se.on || !Se || Se === J, Gs = cn ? qr(x, x.idx, ln) : null, Zs = ln.map((T, fe) => ({ t: T.text, sp: fe < ln.length - 1 ? " " : "", dim: Gs != null && fe > Gs })), un = oe ? oe === "on" : u ? !1 : zo(H, ge, ue == null ? void 0 : ue.settings), qs = { lang: ne, subtitles: me, speakerLabels: un, wordHighlight: cn, translateAudio: Ee, voices: Ce ? "cloned" : "synthetic", removeBackground: B }, Xi = JSON.stringify(qs), dn = v(t.onSettingsChange);
|
|
5444
5444
|
dn.current = t.onSettingsChange, _(() => {
|
|
5445
5445
|
var T;
|
|
5446
5446
|
(T = dn.current) == null || T.call(dn, qs);
|
|
@@ -5453,24 +5453,24 @@ function Yc(t) {
|
|
|
5453
5453
|
if (t.shareUrl) return t.shareUrl(T);
|
|
5454
5454
|
const fe = new URL(window.location.href);
|
|
5455
5455
|
return T != null && T > 0 ? fe.searchParams.set("t", String(T)) : fe.searchParams.delete("t"), fe.href;
|
|
5456
|
-
},
|
|
5456
|
+
}, hn = v(l.startAt), Vn = (T) => {
|
|
5457
5457
|
if (x.seekFrac && x.dur > 0) {
|
|
5458
5458
|
x.seekFrac(Math.min(1, T / x.dur));
|
|
5459
5459
|
return;
|
|
5460
5460
|
}
|
|
5461
5461
|
let fe = 0;
|
|
5462
|
-
for (let _e = 0; _e <
|
|
5462
|
+
for (let _e = 0; _e < ge.length; _e++) ge[_e].start <= T && (fe = _e);
|
|
5463
5463
|
x.seekRow(fe);
|
|
5464
5464
|
}, tr = v(!1);
|
|
5465
5465
|
_(() => {
|
|
5466
|
-
const T =
|
|
5467
|
-
T == null || tr.current || !x.has ||
|
|
5468
|
-
}, [x.has,
|
|
5469
|
-
const T =
|
|
5470
|
-
T == null || !x.playing || (
|
|
5466
|
+
const T = hn.current;
|
|
5467
|
+
T == null || tr.current || !x.has || ge.length === 0 || (tr.current = !0, Vn(T));
|
|
5468
|
+
}, [x.has, ge.length]), _(() => {
|
|
5469
|
+
const T = hn.current;
|
|
5470
|
+
T == null || !x.playing || (hn.current = null, Math.abs(x.t - T) > 2 && Vn(T));
|
|
5471
5471
|
}, [x.playing]);
|
|
5472
5472
|
const na = (T) => {
|
|
5473
|
-
Je.current = !0,
|
|
5473
|
+
Je.current = !0, hn.current = null, Vn(Math.max(0, T));
|
|
5474
5474
|
};
|
|
5475
5475
|
t.handle.current = {
|
|
5476
5476
|
seek: (T) => na(T),
|
|
@@ -5504,118 +5504,118 @@ function Yc(t) {
|
|
|
5504
5504
|
const _e = window.setInterval(fe, Ac);
|
|
5505
5505
|
return () => window.clearInterval(_e);
|
|
5506
5506
|
}, []);
|
|
5507
|
-
const sa = () => Ds(er(null), Ke, () => {
|
|
5507
|
+
const sa = () => t.onShare ? t.onShare() : Ds(er(null), Ke, () => {
|
|
5508
5508
|
window.clearTimeout(Hn.current), Ks(!0), Hn.current = window.setTimeout(() => Ks(!1), 2200);
|
|
5509
5509
|
}), rr = (T, fe, _e) => {
|
|
5510
5510
|
const Ge = fs.find((pn) => pn.key === T), Nt = $n === T, ut = ta === T;
|
|
5511
|
-
return /* @__PURE__ */
|
|
5511
|
+
return /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", "aria-busy": Nt || void 0, style: $n && !Nt ? { opacity: 0.45, pointerEvents: "none" } : void 0, onClick: () => {
|
|
5512
5512
|
$n || (Js(T), Promise.resolve().then(() => bt(T)).then(() => {
|
|
5513
5513
|
Xs(T), window.clearTimeout(Bn.current), Bn.current = window.setTimeout(() => Xs(null), 1600);
|
|
5514
5514
|
}).catch(() => {
|
|
5515
5515
|
}).finally(() => Js(null)));
|
|
5516
5516
|
}, children: [
|
|
5517
5517
|
Nt ? /* @__PURE__ */ i(at, { size: 17, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(le, { d: Ge.icon, size: 17, sw: 1.5, style: { flex: "none", color: "var(--ink-70)" } }),
|
|
5518
|
-
/* @__PURE__ */
|
|
5518
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5519
5519
|
/* @__PURE__ */ i("div", { className: "srow__t", children: fe }),
|
|
5520
5520
|
/* @__PURE__ */ i("div", { className: "srow__s", children: _e })
|
|
5521
5521
|
] }),
|
|
5522
5522
|
/* @__PURE__ */ i(le, { d: ut ? X.check : X.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: ut ? "var(--brand)" : "var(--ink-62)" } })
|
|
5523
5523
|
] });
|
|
5524
|
-
}, ra = /* @__PURE__ */
|
|
5524
|
+
}, ra = /* @__PURE__ */ g("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
|
|
5525
5525
|
" ",
|
|
5526
|
-
/* @__PURE__ */
|
|
5526
|
+
/* @__PURE__ */ g("button", { type: "button", onClick: () => ie("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: [
|
|
5527
5527
|
/* @__PURE__ */ i(le, { d: X.chevronLeft, size: 18, sw: 1.8 }),
|
|
5528
5528
|
"Back"
|
|
5529
5529
|
] })
|
|
5530
|
-
] }),
|
|
5530
|
+
] }), gn = /* @__PURE__ */ i(le, { d: X.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), ia = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[z], fn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Wn = u ? /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: ia, titleNode: z === "main" ? void 0 : ra, doneLabel: Ut.done, kind: z === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(ls, { children: z === "lang" ? /* @__PURE__ */ g("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
5531
5531
|
/* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: Rs.search }),
|
|
5532
5532
|
Rs.list
|
|
5533
|
-
] }) : z === "subs" ? /* @__PURE__ */
|
|
5534
|
-
/* @__PURE__ */
|
|
5535
|
-
/* @__PURE__ */
|
|
5533
|
+
] }) : z === "subs" ? /* @__PURE__ */ g("div", { style: fn, children: [
|
|
5534
|
+
/* @__PURE__ */ g("div", { className: "srow", children: [
|
|
5535
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5536
5536
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Show subtitles" }),
|
|
5537
5537
|
/* @__PURE__ */ i("div", { className: "srow__s", children: "Captions over the video" })
|
|
5538
5538
|
] }),
|
|
5539
5539
|
/* @__PURE__ */ i(pt, { checked: me, onChange: Le, label: "Show subtitles" })
|
|
5540
5540
|
] }),
|
|
5541
|
-
/* @__PURE__ */
|
|
5542
|
-
/* @__PURE__ */
|
|
5541
|
+
/* @__PURE__ */ g("div", { className: "srow", children: [
|
|
5542
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5543
5543
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Show speaker labels" }),
|
|
5544
5544
|
/* @__PURE__ */ i("div", { className: "srow__s", children: "Who is speaking, before each line" })
|
|
5545
5545
|
] }),
|
|
5546
5546
|
/* @__PURE__ */ i(pt, { checked: un, onChange: (T) => we(T ? "on" : "off"), label: "Show speaker labels" })
|
|
5547
5547
|
] }),
|
|
5548
|
-
/* @__PURE__ */
|
|
5549
|
-
/* @__PURE__ */
|
|
5548
|
+
/* @__PURE__ */ g("div", { className: "srow", children: [
|
|
5549
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5550
5550
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Highlight words" }),
|
|
5551
5551
|
/* @__PURE__ */ i("div", { className: "srow__s", children: "Follow each word as it is spoken" })
|
|
5552
5552
|
] }),
|
|
5553
5553
|
/* @__PURE__ */ i(pt, { checked: cn, onChange: (T) => Pe(T ? "on" : "off"), label: "Highlight words" })
|
|
5554
5554
|
] })
|
|
5555
|
-
] }) : z === "audio" ? /* @__PURE__ */
|
|
5556
|
-
/* @__PURE__ */
|
|
5557
|
-
/* @__PURE__ */
|
|
5555
|
+
] }) : z === "audio" ? /* @__PURE__ */ g("div", { style: fn, children: [
|
|
5556
|
+
/* @__PURE__ */ g("div", { className: "srow", children: [
|
|
5557
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5558
5558
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Translate audio" }),
|
|
5559
5559
|
/* @__PURE__ */ i("div", { className: "srow__s", children: ne ? Sn ? "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" })
|
|
5560
5560
|
] }),
|
|
5561
5561
|
/* @__PURE__ */ i(pt, { checked: Un, onChange: $e, label: "Translate audio", disabled: !Sn || !ne })
|
|
5562
5562
|
] }),
|
|
5563
|
-
Un && se.hasClone && /* @__PURE__ */
|
|
5564
|
-
/* @__PURE__ */
|
|
5563
|
+
Un && se.hasClone && /* @__PURE__ */ g("div", { className: "srow", children: [
|
|
5564
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5565
5565
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Voices" }),
|
|
5566
5566
|
/* @__PURE__ */ i("div", { className: "srow__s", children: Ce ? "Each speaker in their own cloned voice" : "Synthetic voices matched to each speaker" })
|
|
5567
5567
|
] }),
|
|
5568
5568
|
/* @__PURE__ */ i(os, { value: Ce ? "clone" : "stock", onChange: (T) => G(T === "clone"), size: "sm", options: [{ value: "stock", label: "Synthetic" }, { value: "clone", label: "Cloned" }] })
|
|
5569
5569
|
] }),
|
|
5570
|
-
/* @__PURE__ */
|
|
5571
|
-
/* @__PURE__ */
|
|
5570
|
+
/* @__PURE__ */ g("div", { className: "srow", children: [
|
|
5571
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5572
5572
|
/* @__PURE__ */ i("div", { className: "srow__t", children: kn }),
|
|
5573
5573
|
/* @__PURE__ */ i("div", { className: "srow__s", children: Wa(B, _n, "video", se.on ? 0 : En.untilS) })
|
|
5574
5574
|
] }),
|
|
5575
|
-
/* @__PURE__ */ i(pt, { checked: B &&
|
|
5575
|
+
/* @__PURE__ */ i(pt, { checked: B && ht, onChange: te, label: kn, disabled: !ht || _n === "unavailable" && !B })
|
|
5576
5576
|
] })
|
|
5577
|
-
] }) : z === "export" ? /* @__PURE__ */
|
|
5577
|
+
] }) : z === "export" ? /* @__PURE__ */ g("div", { style: fn, children: [
|
|
5578
5578
|
rr("srt", "Subtitles", "SRT / VTT caption cues, ready for a video editor or a player"),
|
|
5579
5579
|
rr("pdf", "PDF", "Formatted transcript in paragraphs, with timestamps and speaker labels")
|
|
5580
5580
|
] }) : /* @__PURE__ */ i("div", { style: fn, children: [
|
|
5581
|
-
Ye.can && R.language && /* @__PURE__ */
|
|
5582
|
-
/* @__PURE__ */
|
|
5581
|
+
Ye.can && R.language && /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => ie("lang"), children: [
|
|
5582
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5583
5583
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Language" }),
|
|
5584
5584
|
/* @__PURE__ */ i("div", { className: "srow__s", children: ne ? `Translated to ${Ye.label ?? ne.toUpperCase()}` : "Original language" })
|
|
5585
5585
|
] }),
|
|
5586
5586
|
/* @__PURE__ */ i("span", { style: { fontSize: 18, lineHeight: 1 }, children: Ye.flag }),
|
|
5587
|
-
|
|
5587
|
+
gn
|
|
5588
5588
|
] }, "lang"),
|
|
5589
|
-
R.subtitles && /* @__PURE__ */
|
|
5590
|
-
/* @__PURE__ */
|
|
5589
|
+
R.subtitles && /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => ie("subs"), children: [
|
|
5590
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5591
5591
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Subtitles" }),
|
|
5592
5592
|
/* @__PURE__ */ i("div", { className: "srow__s", children: me ? "On · speaker labels and word highlighting" : "Off" })
|
|
5593
5593
|
] }),
|
|
5594
|
-
|
|
5594
|
+
gn
|
|
5595
5595
|
] }, "subs"),
|
|
5596
|
-
R.audio && /* @__PURE__ */
|
|
5597
|
-
/* @__PURE__ */
|
|
5596
|
+
R.audio && /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => ie("audio"), children: [
|
|
5597
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5598
5598
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
|
|
5599
5599
|
/* @__PURE__ */ i("div", { className: "srow__s", children: Fi })
|
|
5600
5600
|
] }),
|
|
5601
|
-
|
|
5601
|
+
gn
|
|
5602
5602
|
] }, "audio"),
|
|
5603
|
-
R.export && Ct && !!P && /* @__PURE__ */
|
|
5604
|
-
/* @__PURE__ */
|
|
5605
|
-
/* @__PURE__ */
|
|
5603
|
+
R.export && Ct && !!P && /* @__PURE__ */ g("div", { className: "srow srow--tap", role: "button", onClick: () => ie("export"), children: [
|
|
5604
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5605
|
+
/* @__PURE__ */ g("div", { className: "srow__t", children: [
|
|
5606
5606
|
"Export",
|
|
5607
5607
|
Tt ? ` in ${Tt}` : ""
|
|
5608
5608
|
] }),
|
|
5609
5609
|
/* @__PURE__ */ i("div", { className: "srow__s", children: "Subtitles (SRT / VTT) or a PDF of the transcript" })
|
|
5610
5610
|
] }),
|
|
5611
|
-
|
|
5611
|
+
gn
|
|
5612
5612
|
] }, "export")
|
|
5613
|
-
].filter(Boolean).flatMap((T, fe) => fe ? [/* @__PURE__ */ i("div", { className: "sdiv" }, `d${fe}`), T] : [T]) }) }) }) : /* @__PURE__ */ i($t, { open: j, onClose: () => S(!1), title: Ut.settings, doneLabel: Ut.done, drawer: r, children: /* @__PURE__ */
|
|
5614
|
-
Ye.can && /* @__PURE__ */
|
|
5615
|
-
/* @__PURE__ */
|
|
5613
|
+
].filter(Boolean).flatMap((T, fe) => fe ? [/* @__PURE__ */ i("div", { className: "sdiv" }, `d${fe}`), 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: [
|
|
5614
|
+
Ye.can && /* @__PURE__ */ g(Ue, { children: [
|
|
5615
|
+
/* @__PURE__ */ g("div", { className: "srow srow--tap", onClick: () => {
|
|
5616
5616
|
S(!1), Ye.onClick();
|
|
5617
5617
|
}, children: [
|
|
5618
|
-
/* @__PURE__ */
|
|
5618
|
+
/* @__PURE__ */ g("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5619
5619
|
/* @__PURE__ */ i("div", { className: "srow__t", children: Ut.langLabel }),
|
|
5620
5620
|
/* @__PURE__ */ i("div", { className: "srow__s", children: Ut.langCount })
|
|
5621
5621
|
] }),
|
|
@@ -5653,17 +5653,17 @@ function Yc(t) {
|
|
|
5653
5653
|
se.closePicker(), S((T) => !T);
|
|
5654
5654
|
} : void 0,
|
|
5655
5655
|
compact: !!t.compact,
|
|
5656
|
-
paused: { title: Ke, summary: ft.state === "ready" ? ft.summary ?? null : null, share: R.share ? { url: er, at: x.t } : null },
|
|
5657
|
-
copied: ea ? /* @__PURE__ */
|
|
5656
|
+
paused: { title: Ke, summary: ft.state === "ready" ? ft.summary ?? null : null, share: R.share && (t.shareUrl || !t.onShare) ? { url: er, at: x.t } : null },
|
|
5657
|
+
copied: ea ? /* @__PURE__ */ g("div", { className: "gfull__toast", "aria-live": "polite", children: [
|
|
5658
5658
|
/* @__PURE__ */ i(le, { d: X.check, size: 13, sw: 2 }),
|
|
5659
5659
|
"Link copied"
|
|
5660
|
-
] }) : Wt ? /* @__PURE__ */
|
|
5660
|
+
] }) : Wt ? /* @__PURE__ */ g("div", { className: "gfull__toast gfull__soundtip", "aria-live": "polite", children: [
|
|
5661
5661
|
/* @__PURE__ */ i(le, { d: X.volumeOff, size: 14, sw: 1.8 }),
|
|
5662
5662
|
"Tap for sound"
|
|
5663
|
-
] }) : Us ? /* @__PURE__ */
|
|
5663
|
+
] }) : Us ? /* @__PURE__ */ g("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
|
|
5664
5664
|
/* @__PURE__ */ i(at, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
|
|
5665
5665
|
Us
|
|
5666
|
-
] }) : se.on && (He ? vt.missing != null : x.silent) ? /* @__PURE__ */
|
|
5666
|
+
] }) : se.on && (He ? vt.missing != null : x.silent) ? /* @__PURE__ */ g("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
|
|
5667
5667
|
/* @__PURE__ */ i(at, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
|
|
5668
5668
|
`${an || "Translated"} voice is still being prepared · playing with subtitles`
|
|
5669
5669
|
] }) : null,
|
|
@@ -5678,34 +5678,34 @@ function Yc(t) {
|
|
|
5678
5678
|
_(() => {
|
|
5679
5679
|
!u && V && !Dt && (Kt(!1), C(!1));
|
|
5680
5680
|
}, [u, V, Dt]);
|
|
5681
|
-
const ir = Ae && /* @__PURE__ */
|
|
5682
|
-
/* @__PURE__ */
|
|
5681
|
+
const ir = Ae && /* @__PURE__ */ g("div", { className: `pubprog${r ? " pubprog--desk" : ""}${w ? " pubprog--find" : ""}`, children: [
|
|
5682
|
+
/* @__PURE__ */ g("div", { className: "pubprog__row", children: [
|
|
5683
5683
|
/* @__PURE__ */ i("span", { className: "l", children: `TRANSCRIBING ${U}%` }),
|
|
5684
5684
|
!r && /* @__PURE__ */ i("div", { style: { flex: 1 } }),
|
|
5685
5685
|
r && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { flex: 1 }, children: /* @__PURE__ */ i("div", { style: { width: `${U}%` } }) }),
|
|
5686
5686
|
/* @__PURE__ */ i("span", { className: "s", children: rt })
|
|
5687
5687
|
] }),
|
|
5688
5688
|
!r && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { marginTop: 8 }, children: /* @__PURE__ */ i("div", { style: { width: `${U}%` } }) })
|
|
5689
|
-
] }), Fn = 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." }), ar = /* @__PURE__ */ i(ql, { model: H, rows:
|
|
5689
|
+
] }), Fn = 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." }), ar = /* @__PURE__ */ i(ql, { model: H, rows: ge, player: x, tail: ct, tailFg: Ht, running: Ae, desk: r, feedRef: it, listener: !0, showLabels: un, find: m, findOpen: !r && w, lang: Se, warm: Gt, onVisible: We, wordHl: cn }), Gn = /* @__PURE__ */ i(Jo, { error: h ?? Ne ?? (Dn && V ? null : x.error) ?? se.error, onClose: () => {
|
|
5690
5690
|
M(null), Z(), x.clearError(), se.clearError();
|
|
5691
|
-
} }), or = [F ? Lt(F) : null, J ? J.toUpperCase() : null,
|
|
5692
|
-
/* @__PURE__ */
|
|
5691
|
+
} }), or = [F ? Lt(F) : null, J ? J.toUpperCase() : null, he || "Read-only copy"].filter(Boolean).join(" · "), lr = (T) => /* @__PURE__ */ i("div", { className: "ctrans", children: se.noVoice ? se.noVoiceNote : /* @__PURE__ */ g(Ue, { children: [
|
|
5692
|
+
/* @__PURE__ */ g("div", { className: "ctrans__row", children: [
|
|
5693
5693
|
/* @__PURE__ */ i("span", { className: "ctrans__sp", "aria-hidden": "true" }),
|
|
5694
|
-
/* @__PURE__ */
|
|
5694
|
+
/* @__PURE__ */ g("div", { className: "ctrans__mid", children: [
|
|
5695
5695
|
/* @__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(le, { d: X.chevronLeft, size: 16, sw: 1.8 }) }),
|
|
5696
5696
|
/* @__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 ? El : Yl }) }),
|
|
5697
|
-
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: x.idx >=
|
|
5697
|
+
/* @__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(le, { d: X.chevronRight, size: 16, sw: 1.8 }) })
|
|
5698
5698
|
] }),
|
|
5699
5699
|
/* @__PURE__ */ i("span", { className: "ctrans__mute", children: rn(36) })
|
|
5700
5700
|
] }),
|
|
5701
5701
|
/* @__PURE__ */ i("div", { className: "ctrans__scrub", children: $i(T) })
|
|
5702
|
-
] }) }), aa = vl("ga", { tabs: Rt, cur: p, pref: (Ar = Rt[0]) == null ? void 0 : Ar.key, onPick: N }), cr = Math.max(0, Math.min(100, Math.round(U))), oa = Y && /* @__PURE__ */
|
|
5702
|
+
] }) }), aa = vl("ga", { tabs: Rt, cur: p, pref: (Ar = Rt[0]) == null ? void 0 : Ar.key, onPick: N }), cr = Math.max(0, Math.min(100, Math.round(U))), oa = Y && /* @__PURE__ */ g("div", { className: "gfull gfull--hold", "data-theme": "dark", role: "status", "aria-live": "polite", children: [
|
|
5703
5703
|
Re && /* @__PURE__ */ i("div", { className: "gfull__holdbg", style: { backgroundImage: `url(https://i.ytimg.com/vi/${Re}/hqdefault.jpg)` } }),
|
|
5704
|
-
/* @__PURE__ */ i("div", { className: "gfull__hold", children: n ? /* @__PURE__ */
|
|
5704
|
+
/* @__PURE__ */ i("div", { className: "gfull__hold", children: n ? /* @__PURE__ */ g(Ue, { children: [
|
|
5705
5705
|
Ke && /* @__PURE__ */ i("div", { className: "gfull__holdt", children: Ke }),
|
|
5706
5706
|
/* @__PURE__ */ i("div", { className: "gfull__holdpct", children: ve === "transcribing" ? `${cr}%` : /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin" }) }),
|
|
5707
5707
|
/* @__PURE__ */ i("div", { className: "gfull__holdbar", children: /* @__PURE__ */ i("div", { style: { width: `${ve === "transcribing" ? cr : 0}%` } }) }),
|
|
5708
|
-
/* @__PURE__ */
|
|
5708
|
+
/* @__PURE__ */ g("div", { className: "gfull__holds", children: [
|
|
5709
5709
|
ve === "transcribing" ? "Transcribing" : ve === "cropping" ? "Preparing the video" : "Waiting to start",
|
|
5710
5710
|
ve === "transcribing" && (re != null && re.segmentsDone) ? ` · ${rt.toLowerCase()}` : ""
|
|
5711
5711
|
] }),
|
|
@@ -5723,37 +5723,37 @@ function Yc(t) {
|
|
|
5723
5723
|
const ca = t.endCard !== !1 && qn && !la && /* @__PURE__ */ i(kc, { options: { appUrl: t.appUrl, ...t.endCard || {} }, onStarted: t.onStarted, onClose: () => Zn(!0), onReplay: () => {
|
|
5724
5724
|
Zn(!0), Je.current = !0, x.seekFrac ? x.seekFrac(0) : x.seekRow(0), x.playing || x.toggle();
|
|
5725
5725
|
} });
|
|
5726
|
-
if (u) return /* @__PURE__ */
|
|
5726
|
+
if (u) return /* @__PURE__ */ g(Ue, { children: [
|
|
5727
5727
|
s ? /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark", children: Fn }) : oa || It || /* @__PURE__ */ i("div", { className: "gfull", "data-theme": "dark" }),
|
|
5728
5728
|
ca,
|
|
5729
5729
|
Gn
|
|
5730
5730
|
] });
|
|
5731
5731
|
if (r) {
|
|
5732
5732
|
const T = xn && !Dt && !s && /* @__PURE__ */ i("div", { className: "pubdeskctl", children: lr(!0) }), fe = !s && (Rt.length > 0 || Dt || !!se.sidePanel || !!T);
|
|
5733
|
-
return /* @__PURE__ */
|
|
5734
|
-
/* @__PURE__ */ i("div", { className: "dhead dhead--listener dhead--cols", children: /* @__PURE__ */
|
|
5735
|
-
/* @__PURE__ */ i("div", { className: "gcolhead__main", children: /* @__PURE__ */
|
|
5733
|
+
return /* @__PURE__ */ g(Ue, { children: [
|
|
5734
|
+
/* @__PURE__ */ i("div", { className: "dhead dhead--listener dhead--cols", children: /* @__PURE__ */ g("div", { className: "gcolhead", children: [
|
|
5735
|
+
/* @__PURE__ */ i("div", { className: "gcolhead__main", children: /* @__PURE__ */ g("div", { className: "gcolhead__col", children: [
|
|
5736
5736
|
/* @__PURE__ */ i("div", { style: { flex: "none" }, children: /* @__PURE__ */ i(jn, { dark: a, height: 20.38 }) }),
|
|
5737
|
-
!s && /* @__PURE__ */
|
|
5737
|
+
!s && /* @__PURE__ */ g("div", { className: "dhead__session", children: [
|
|
5738
5738
|
/* @__PURE__ */ i("span", { className: "t", children: n ? Ke : "" }),
|
|
5739
5739
|
/* @__PURE__ */ i("span", { className: "s", children: n ? or : "" })
|
|
5740
5740
|
] })
|
|
5741
5741
|
] }) }),
|
|
5742
5742
|
fe && /* @__PURE__ */ i("div", { className: "gcolhead__side" })
|
|
5743
5743
|
] }) }),
|
|
5744
|
-
/* @__PURE__ */
|
|
5745
|
-
/* @__PURE__ */
|
|
5744
|
+
/* @__PURE__ */ g("div", { className: "listenerlive listenerlive--cols listenerlive--pub", children: [
|
|
5745
|
+
/* @__PURE__ */ g("div", { className: "listenerlive__main", children: [
|
|
5746
5746
|
Fn,
|
|
5747
5747
|
!s && tn,
|
|
5748
5748
|
ir,
|
|
5749
5749
|
O && /* @__PURE__ */ i("div", { className: "pubflash", children: O }),
|
|
5750
5750
|
!s && /* @__PURE__ */ i("div", { className: "listenerlive__inner", style: { flex: 1, minHeight: 0, display: "flex", flexDirection: "column", marginTop: 6 }, children: ar }),
|
|
5751
|
-
!s && /* @__PURE__ */
|
|
5751
|
+
!s && /* @__PURE__ */ g("div", { className: "listenerlive__inner gdeskbar", "data-transport": "1", children: [
|
|
5752
5752
|
Ye.can && /* @__PURE__ */ i("span", { className: "barchip", style: Ye.active ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)", borderRadius: 12 } : void 0, children: /* @__PURE__ */ i(Ln, { flag: Ye.flag, code: Ye.code, label: Ye.label, bordered: !1, onClick: Ye.onClick }) }),
|
|
5753
5753
|
Es
|
|
5754
5754
|
] })
|
|
5755
5755
|
] }),
|
|
5756
|
-
fe && /* @__PURE__ */
|
|
5756
|
+
fe && /* @__PURE__ */ g(Il, { id: "ga", className: "listenerside", gap: 20, plain: !0, children: [
|
|
5757
5757
|
!se.sidePanel && T,
|
|
5758
5758
|
!se.sidePanel && Vs,
|
|
5759
5759
|
!se.sidePanel && Rt.length > 0 && /* @__PURE__ */ i("div", { "data-panel-grid": "", className: "listenerside__panels", children: /* @__PURE__ */ i(jl, { col: aa, order: ["summary", "export"], onPick: N, grip: { summary: 40, export: 28 }, render: (_e) => /* @__PURE__ */ i(Er, { panel: !0, children: Ys(_e) }) }) }),
|
|
@@ -5766,24 +5766,24 @@ function Yc(t) {
|
|
|
5766
5766
|
Gn
|
|
5767
5767
|
] });
|
|
5768
5768
|
}
|
|
5769
|
-
const ua = Rt.length > 0 && !w && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */
|
|
5769
|
+
const ua = Rt.length > 0 && !w && /* @__PURE__ */ i("div", { className: "txwidget", children: /* @__PURE__ */ g(Er, { panel: !0, children: [
|
|
5770
5770
|
/* @__PURE__ */ i(Oi, { tabs: Rt, current: p, onPick: N, gap: p !== "none" }),
|
|
5771
5771
|
p !== "none" && Ys(p)
|
|
5772
5772
|
] }) });
|
|
5773
|
-
return /* @__PURE__ */
|
|
5773
|
+
return /* @__PURE__ */ g(Ue, { children: [
|
|
5774
5774
|
/* @__PURE__ */ i(cc, { dark: a, title: n ? Ke : "", subline: n ? or : "", onOptions: () => S(!0), optionsActive: j }),
|
|
5775
5775
|
Fn,
|
|
5776
5776
|
ir,
|
|
5777
5777
|
!s && ua,
|
|
5778
5778
|
!s && Vs,
|
|
5779
|
-
!s && /* @__PURE__ */
|
|
5779
|
+
!s && /* @__PURE__ */ g("div", { style: { position: "relative", flex: 1, minHeight: 0, display: "flex", flexDirection: "column" }, children: [
|
|
5780
5780
|
tn,
|
|
5781
5781
|
ar,
|
|
5782
5782
|
O && /* @__PURE__ */ i("div", { className: "txflash", children: O })
|
|
5783
5783
|
] }),
|
|
5784
|
-
!s && /* @__PURE__ */
|
|
5784
|
+
!s && /* @__PURE__ */ g("div", { className: "gbottom", "data-transport": "1", children: [
|
|
5785
5785
|
xn && !Dt && /* @__PURE__ */ i("div", { className: "pubctl", children: lr(!1) }),
|
|
5786
|
-
/* @__PURE__ */
|
|
5786
|
+
/* @__PURE__ */ g("div", { className: "gbottom__bar", children: [
|
|
5787
5787
|
Ye.can && /* @__PURE__ */ i("div", { style: { flex: "none" }, children: Pn({ width: 87 }, void 0) }),
|
|
5788
5788
|
/* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0 }, children: Es })
|
|
5789
5789
|
] })
|
|
@@ -5829,7 +5829,7 @@ export {
|
|
|
5829
5829
|
qr as spokenWordOf,
|
|
5830
5830
|
Fa as trackPlan,
|
|
5831
5831
|
wi as useApi,
|
|
5832
|
-
|
|
5832
|
+
hl as useArchiveVoice,
|
|
5833
5833
|
no as useBackgroundBed,
|
|
5834
5834
|
$l as useDuck,
|
|
5835
5835
|
Jl as useFindPull,
|