@vocalstack/player 0.1.0-alpha.28 → 0.1.0-alpha.29
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 +946 -946
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2,14 +2,14 @@ var da = Object.defineProperty;
|
|
|
2
2
|
var ha = (t, e, n) => e in t ? da(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
|
|
3
3
|
var Me = (t, e, n) => ha(t, typeof e != "symbol" ? e + "" : e, n);
|
|
4
4
|
import { jsx as i, jsxs as h, Fragment as xe } from "react/jsx-runtime";
|
|
5
|
-
import { useState as z, useRef as
|
|
5
|
+
import { useState as z, useRef as k, useEffect as U, useLayoutEffect as Bt, createContext as ni, useMemo as Ie, useContext as Ma, useCallback as Ke, Fragment as ga, forwardRef as fa, useImperativeHandle as pa } from "react";
|
|
6
6
|
import { createPortal as Na } from "react-dom";
|
|
7
7
|
import { VocalStackError as ri, VocalStack as si } from "@vocalstack/js-sdk";
|
|
8
8
|
const ii = "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==";
|
|
9
9
|
function La({ size: t = 16, sw: e = 1.5, children: n, style: r, ...s }) {
|
|
10
10
|
return /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: t, height: t, fill: "none", stroke: "currentColor", strokeWidth: e, strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", style: { flex: "none", ...r }, ...s, children: n });
|
|
11
11
|
}
|
|
12
|
-
const
|
|
12
|
+
const ee = {
|
|
13
13
|
plus: "M12 4.5v15m7.5-7.5h-15",
|
|
14
14
|
check: "M4.5 12.75l6 6 9-13.5",
|
|
15
15
|
downloaded: "M12 21a9 9 0 100-18 9 9 0 000 18zM12 6.75v10.5m0 0l3.75-3.75M12 17.25l-3.75-3.75",
|
|
@@ -100,7 +100,7 @@ function Nt({ checked: t, onChange: e, label: n, disabled: r }) {
|
|
|
100
100
|
return /* @__PURE__ */ i("button", { type: "button", role: "switch", "aria-checked": t, "aria-label": n, className: "vs-toggle", disabled: r, onClick: () => e(!t), children: /* @__PURE__ */ i("span", { className: "vs-toggle__knob" }) });
|
|
101
101
|
}
|
|
102
102
|
function hr({ value: t, onChange: e, options: n, size: r, bordered: s = !0, fill: a }) {
|
|
103
|
-
const o =
|
|
103
|
+
const o = k(null), [l, c] = z(null), u = Math.max(0, n.findIndex((d) => d.value === t));
|
|
104
104
|
return Bt(() => {
|
|
105
105
|
const d = o.current;
|
|
106
106
|
if (!d) return;
|
|
@@ -132,7 +132,7 @@ function zn({ flag: t, code: e, label: n, onClick: r, variant: s, block: a, bord
|
|
|
132
132
|
return /* @__PURE__ */ h("button", { type: "button", className: `vs-lang-chip${s ? ` vs-lang-chip--${s}` : ""}${a ? " vs-lang-chip--block" : ""}${a && !d ? " vs-lang-chip--bare" : ""}${o ? "" : " vs-lang-chip--borderless"}${l === "sm" ? " vs-lang-chip--sm" : ""}`, onClick: r, "aria-label": n ? e ? `${n} (${e})` : n : e, style: c, children: [
|
|
133
133
|
t ? /* @__PURE__ */ i("span", { className: "vs-lang-chip__flag", children: t }) : null,
|
|
134
134
|
d ? /* @__PURE__ */ i("span", { className: "vs-lang-chip__name", children: n ?? e }) : a ? null : /* @__PURE__ */ i("span", { className: "vs-lang-chip__code", children: e }),
|
|
135
|
-
/* @__PURE__ */ i(oe, { d:
|
|
135
|
+
/* @__PURE__ */ i(oe, { d: ee.chevronDown, size: 13, className: "vs-lang-chip__chevron", style: { color: s === "primary" ? "currentColor" : "var(--vs-text-muted)" } })
|
|
136
136
|
] });
|
|
137
137
|
}
|
|
138
138
|
function za({ value: t, label: e = "Copy", onCopied: n }) {
|
|
@@ -155,7 +155,7 @@ function za({ value: t, label: e = "Copy", onCopied: n }) {
|
|
|
155
155
|
},
|
|
156
156
|
children: [
|
|
157
157
|
/* @__PURE__ */ i("span", { className: "vs-sr", "aria-live": "polite", children: r ? `Copied${e.replace(/^Copy\b/, "")}` : "" }),
|
|
158
|
-
r ? /* @__PURE__ */ i(oe, { d:
|
|
158
|
+
r ? /* @__PURE__ */ i(oe, { d: ee.check, size: 13, sw: 2.2 }) : /* @__PURE__ */ i("svg", { viewBox: "0 0 24 24", width: "13", height: "13", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ i("path", { d: "M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75" }) })
|
|
159
159
|
]
|
|
160
160
|
}
|
|
161
161
|
);
|
|
@@ -178,7 +178,7 @@ function Ia(t, e) {
|
|
|
178
178
|
}, [t, e]);
|
|
179
179
|
}
|
|
180
180
|
function Mr({ children: t, ms: e = 220 }) {
|
|
181
|
-
const n =
|
|
181
|
+
const n = k(null), r = k(null), [s, a] = z(null);
|
|
182
182
|
return Bt(() => {
|
|
183
183
|
const o = r.current, l = n.current;
|
|
184
184
|
if (!o || !l) return;
|
|
@@ -198,7 +198,7 @@ function Mr({ children: t, ms: e = 220 }) {
|
|
|
198
198
|
}, [e]), /* @__PURE__ */ i("div", { ref: n, style: { height: s ?? void 0, overflow: "clip", transition: s == null ? void 0 : `height ${e}ms cubic-bezier(.32,.72,0,1)` }, children: /* @__PURE__ */ i("div", { ref: r, children: t }) });
|
|
199
199
|
}
|
|
200
200
|
function Vt({ open: t, onClose: e, title: n, titleNode: r, note: s, doneLabel: a = "Done", children: o, drawer: l = !1, header: c, kind: u, sticky: d = !1 }) {
|
|
201
|
-
const g =
|
|
201
|
+
const g = k(null);
|
|
202
202
|
return Ia(g, t), U(() => {
|
|
203
203
|
if (!t) return;
|
|
204
204
|
const M = (N) => {
|
|
@@ -973,71 +973,71 @@ function Or({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPl
|
|
|
973
973
|
t && (N(""), y(!1), m(null));
|
|
974
974
|
}, [t]);
|
|
975
975
|
const f = Ie(() => {
|
|
976
|
-
const
|
|
977
|
-
return [...
|
|
978
|
-
const
|
|
979
|
-
return
|
|
976
|
+
const S = M.trim().toLowerCase();
|
|
977
|
+
return [...S ? s.filter((O) => O.label.toLowerCase().includes(S) || O.native.toLowerCase().includes(S) || O.code.toLowerCase().includes(S)) : s].sort((O, te) => {
|
|
978
|
+
const K = l.indexOf(O.code), v = l.indexOf(te.code);
|
|
979
|
+
return K !== -1 || v !== -1 ? (K === -1 ? 999 : K) - (v === -1 ? 999 : v) : O.label.localeCompare(te.label);
|
|
980
980
|
});
|
|
981
981
|
}, [s, M, l]), I = Ie(
|
|
982
|
-
() => M ? [] : c.map((
|
|
982
|
+
() => M ? [] : c.map((S) => f.find((T) => T.code === S)).filter((S) => !!S).sort((S, T) => S.label.localeCompare(T.label)),
|
|
983
983
|
[c, f, M]
|
|
984
|
-
),
|
|
985
|
-
const
|
|
984
|
+
), C = Ie(() => I.length ? f.filter((S) => !I.some((T) => T.code === S.code)) : f, [f, I]), D = p || M ? C.length : 12, B = C, _ = C.length - Math.min(D, C.length), X = (S, T = !1, E = !1) => {
|
|
985
|
+
const O = !!u && !S.voice;
|
|
986
986
|
return /* @__PURE__ */ h(
|
|
987
987
|
"button",
|
|
988
988
|
{
|
|
989
989
|
type: "button",
|
|
990
|
-
className: `vs-picker__row${
|
|
991
|
-
"aria-selected": n ===
|
|
990
|
+
className: `vs-picker__row${O ? " vs-picker__row--off" : ""}${E ? " vs-picker__row--extra" : ""}`,
|
|
991
|
+
"aria-selected": n === S.code,
|
|
992
992
|
onClick: () => {
|
|
993
|
-
if (
|
|
994
|
-
m(
|
|
993
|
+
if (O) {
|
|
994
|
+
m(S.code);
|
|
995
995
|
return;
|
|
996
996
|
}
|
|
997
|
-
r(
|
|
997
|
+
r(S.code), d || e();
|
|
998
998
|
},
|
|
999
999
|
children: [
|
|
1000
|
-
/* @__PURE__ */ i("span", { className: "vs-picker__flag", children:
|
|
1000
|
+
/* @__PURE__ */ i("span", { className: "vs-picker__flag", children: S.flag }),
|
|
1001
1001
|
/* @__PURE__ */ h("span", { style: { flex: 1, minWidth: 0 }, children: [
|
|
1002
|
-
/* @__PURE__ */ i("div", { className: "vs-picker__label", children:
|
|
1003
|
-
/* @__PURE__ */ i("div", { className: "vs-picker__native", children:
|
|
1002
|
+
/* @__PURE__ */ i("div", { className: "vs-picker__label", children: S.label }),
|
|
1003
|
+
/* @__PURE__ */ i("div", { className: "vs-picker__native", children: S.native })
|
|
1004
1004
|
] }),
|
|
1005
|
-
/* @__PURE__ */ i("span", { className: "vs-picker__slot", children:
|
|
1006
|
-
|
|
1007
|
-
}, onKeyDown: (
|
|
1008
|
-
(
|
|
1009
|
-
}, children: /* @__PURE__ */ i(oe, { d:
|
|
1010
|
-
/* @__PURE__ */ i("span", { className: `vs-picker__slot${
|
|
1011
|
-
/* @__PURE__ */ i("span", { className: "vs-picker__check", children: n ===
|
|
1005
|
+
/* @__PURE__ */ i("span", { className: "vs-picker__slot", children: T && /* @__PURE__ */ i("span", { className: "vs-picker__forget", role: "button", tabIndex: 0, title: `Remove ${S.label} from recent`, "aria-label": `Remove ${S.label} from recent`, onClick: (te) => {
|
|
1006
|
+
te.stopPropagation(), Ys(S.code);
|
|
1007
|
+
}, onKeyDown: (te) => {
|
|
1008
|
+
(te.key === "Enter" || te.key === " ") && (te.preventDefault(), te.stopPropagation(), Ys(S.code));
|
|
1009
|
+
}, children: /* @__PURE__ */ i(oe, { d: ee.close, size: 16 }) }) }),
|
|
1010
|
+
/* @__PURE__ */ i("span", { className: `vs-picker__slot${O ? " vs-picker__slot--wide" : ""}`, title: S.voice ? "Voice available" : O ? "No voice speaks this language yet" : void 0, children: O ? L === S.code && /* @__PURE__ */ i("span", { className: "vs-picker__off", children: "UNAVAILABLE" }) : S.voice && /* @__PURE__ */ i(oe, { d: ee.headphones, size: 16 }) }),
|
|
1011
|
+
/* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === S.code && (g === S.code ? /* @__PURE__ */ i(at, { size: 15, color: "var(--vs-link-hover)", track: "var(--vs-border)" }) : /* @__PURE__ */ i(oe, { d: ee.check, size: 16, sw: 2.2 })) })
|
|
1012
1012
|
]
|
|
1013
1013
|
},
|
|
1014
|
-
|
|
1014
|
+
S.code
|
|
1015
1015
|
);
|
|
1016
|
-
},
|
|
1017
|
-
/* @__PURE__ */ i(oe, { d:
|
|
1018
|
-
/* @__PURE__ */ i("input", { value: M, onChange: (
|
|
1019
|
-
] }),
|
|
1016
|
+
}, j = /* @__PURE__ */ h("div", { className: "vs-picker__search", children: [
|
|
1017
|
+
/* @__PURE__ */ i(oe, { d: ee.search, size: 16, sw: 1.7, style: { color: "var(--vs-text-muted)" } }),
|
|
1018
|
+
/* @__PURE__ */ i("input", { value: M, onChange: (S) => N(S.target.value), placeholder: a, "aria-label": a })
|
|
1019
|
+
] }), F = /* @__PURE__ */ h("div", { className: "vs-picker__list", children: [
|
|
1020
1020
|
o && !M && /* @__PURE__ */ h("button", { type: "button", className: "vs-picker__row", "data-vs-original": "", "aria-selected": n === null, onClick: () => {
|
|
1021
1021
|
r(null), d || e();
|
|
1022
1022
|
}, children: [
|
|
1023
|
-
/* @__PURE__ */ i("span", { className: "vs-picker__flag", children: /* @__PURE__ */ i(oe, { d:
|
|
1023
|
+
/* @__PURE__ */ i("span", { className: "vs-picker__flag", children: /* @__PURE__ */ i(oe, { d: ee.mic, size: 19, sw: 1.6, style: { color: "var(--vs-text-muted)" } }) }),
|
|
1024
1024
|
/* @__PURE__ */ h("span", { style: { flex: 1, minWidth: 0 }, children: [
|
|
1025
1025
|
/* @__PURE__ */ i("div", { className: "vs-picker__label", children: o }),
|
|
1026
1026
|
/* @__PURE__ */ i("div", { className: "vs-picker__native", children: "As spoken · no translation" })
|
|
1027
1027
|
] }),
|
|
1028
1028
|
/* @__PURE__ */ i("span", { className: "vs-picker__slot" }),
|
|
1029
1029
|
/* @__PURE__ */ i("span", { className: "vs-picker__slot" }),
|
|
1030
|
-
/* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === null && /* @__PURE__ */ i(oe, { d:
|
|
1030
|
+
/* @__PURE__ */ i("span", { className: "vs-picker__check", children: n === null && /* @__PURE__ */ i(oe, { d: ee.check, size: 16, sw: 2.2 }) })
|
|
1031
1031
|
] }),
|
|
1032
1032
|
I.length > 0 && /* @__PURE__ */ h(xe, { children: [
|
|
1033
1033
|
/* @__PURE__ */ i("div", { className: "vs-picker__head", children: "RECENT" }),
|
|
1034
|
-
I.map((
|
|
1034
|
+
I.map((S) => X(S, !0)),
|
|
1035
1035
|
/* @__PURE__ */ i("div", { className: "vs-picker__rule" })
|
|
1036
1036
|
] }),
|
|
1037
|
-
|
|
1038
|
-
|
|
1037
|
+
B.map((S, T) => X(S, !1, T >= D)),
|
|
1038
|
+
_ > 0 && /* @__PURE__ */ h("button", { type: "button", className: "vs-picker__more vs-picker__more--btn", style: { background: "none", border: 0, cursor: "pointer", width: "100%", textAlign: "left" }, onClick: () => y(!0), children: [
|
|
1039
1039
|
"+ ",
|
|
1040
|
-
|
|
1040
|
+
_,
|
|
1041
1041
|
" MORE LANGUAGES"
|
|
1042
1042
|
] }),
|
|
1043
1043
|
f.length === 0 && /* @__PURE__ */ h("div", { className: "vs-picker__more", children: [
|
|
@@ -1046,7 +1046,7 @@ function Or({ open: t, onClose: e, value: n, onSelect: r, languages: s, searchPl
|
|
|
1046
1046
|
"”"
|
|
1047
1047
|
] })
|
|
1048
1048
|
] });
|
|
1049
|
-
return { search:
|
|
1049
|
+
return { search: j, list: F };
|
|
1050
1050
|
}
|
|
1051
1051
|
function $a({ open: t, onClose: e, title: n, note: r, sticky: s, ...a }) {
|
|
1052
1052
|
const { search: o, list: l } = Or({ ...a, open: t, onClose: e });
|
|
@@ -1119,7 +1119,7 @@ function rr(t) {
|
|
|
1119
1119
|
t && (t.pause(), t.removeAttribute("src"), t.load());
|
|
1120
1120
|
}
|
|
1121
1121
|
function pi(t, e) {
|
|
1122
|
-
const [n, r] = z("off"), [s, a] = z([]), [o, l] = z(!1), c =
|
|
1122
|
+
const [n, r] = z("off"), [s, a] = z([]), [o, l] = z(!1), c = k(null), u = k([null, null]), d = k([NaN, NaN]), g = k(0);
|
|
1123
1123
|
return U(() => {
|
|
1124
1124
|
if (a([]), l(!1), !t) {
|
|
1125
1125
|
r("off");
|
|
@@ -1222,7 +1222,7 @@ function lo(t) {
|
|
|
1222
1222
|
const c = /* @__PURE__ */ new Map();
|
|
1223
1223
|
for (const u of t.clips) c.set(u.sentenceId, [...c.get(u.sentenceId) ?? [], u]);
|
|
1224
1224
|
return c;
|
|
1225
|
-
}, [t.clips]), n =
|
|
1225
|
+
}, [t.clips]), n = k(/* @__PURE__ */ new Map()), r = k(null), [s, a] = z({ missing: null, sid: null }), o = (c) => {
|
|
1226
1226
|
let u = n.current.get(c);
|
|
1227
1227
|
return u || (u = new Audio(), u.preload = "auto", u.src = c, n.current.set(c, u)), u;
|
|
1228
1228
|
}, l = () => {
|
|
@@ -1310,7 +1310,7 @@ function uo(t, e) {
|
|
|
1310
1310
|
};
|
|
1311
1311
|
}
|
|
1312
1312
|
function ho(t, e) {
|
|
1313
|
-
const n =
|
|
1313
|
+
const n = k(t);
|
|
1314
1314
|
n.current = t;
|
|
1315
1315
|
const r = !!t;
|
|
1316
1316
|
U(() => {
|
|
@@ -1744,7 +1744,7 @@ function xo(t) {
|
|
|
1744
1744
|
return bo.test(t);
|
|
1745
1745
|
}
|
|
1746
1746
|
function wi(t) {
|
|
1747
|
-
const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, r = !e && !n && !!t.token && (!t.id || xo(t.id)), s = (t.baseUrl ?? Ti).replace(/\/$/, ""), a =
|
|
1747
|
+
const e = t.listen ?? null, n = e ? null : t.listenerToken ?? null, r = !e && !n && !!t.token && (!t.id || xo(t.id)), s = (t.baseUrl ?? Ti).replace(/\/$/, ""), a = k(t.token);
|
|
1748
1748
|
a.current = t.token;
|
|
1749
1749
|
const o = !!t.token, l = Ie(() => async () => {
|
|
1750
1750
|
const d = a.current;
|
|
@@ -1854,53 +1854,53 @@ function vi(t, e) {
|
|
|
1854
1854
|
}
|
|
1855
1855
|
const _o = (t) => new Promise((e) => setTimeout(e, t)), Yo = 2500, Uo = 72;
|
|
1856
1856
|
function Ro(t, e) {
|
|
1857
|
-
const n = Et(), r =
|
|
1857
|
+
const n = Et(), r = k(n);
|
|
1858
1858
|
r.current = n;
|
|
1859
|
-
const [s, a] = z($t), o =
|
|
1860
|
-
const
|
|
1861
|
-
a({ ...
|
|
1862
|
-
}, []), L =
|
|
1859
|
+
const [s, a] = z($t), o = k($t()), l = k(null), c = k(e.lang ?? null), [u, d] = z(!1), [g, M] = z(null), [N, p] = z(!1), y = Ke(() => {
|
|
1860
|
+
const S = o.current;
|
|
1861
|
+
a({ ...S });
|
|
1862
|
+
}, []), L = k(e);
|
|
1863
1863
|
L.current = e, U(() => {
|
|
1864
1864
|
if (!t) return;
|
|
1865
|
-
let
|
|
1865
|
+
let S = !0, T = 0;
|
|
1866
1866
|
o.current = $t(), a($t()), p(!1);
|
|
1867
|
-
const
|
|
1868
|
-
let
|
|
1869
|
-
const
|
|
1870
|
-
var
|
|
1867
|
+
const E = n.client;
|
|
1868
|
+
let O = o.current.state;
|
|
1869
|
+
const te = () => {
|
|
1870
|
+
var v, ae;
|
|
1871
1871
|
const K = o.current.state;
|
|
1872
|
-
K !==
|
|
1872
|
+
K !== O && (O = K, (ae = (v = L.current).onState) == null || ae.call(v, K));
|
|
1873
1873
|
};
|
|
1874
1874
|
return (async () => {
|
|
1875
|
-
var K,
|
|
1876
|
-
for (;
|
|
1875
|
+
var K, v, ae, ne;
|
|
1876
|
+
for (; S; ) {
|
|
1877
1877
|
let G = null;
|
|
1878
1878
|
try {
|
|
1879
1879
|
const pe = c.current;
|
|
1880
|
-
if (G = await
|
|
1880
|
+
if (G = await E.recordings.subscribe(t, { lang: pe ?? void 0, ...n.readAs, asOwner: n.owner, voice: e.voice ?? void 0 }), !S) {
|
|
1881
1881
|
G.close();
|
|
1882
1882
|
return;
|
|
1883
1883
|
}
|
|
1884
|
-
T = 0, l.current = G, c.current !== pe && G.setLanguage(c.current), d(!0), M(null), o.current = sr(G.snapshot, o.current), y(),
|
|
1884
|
+
T = 0, l.current = G, c.current !== pe && G.setLanguage(c.current), d(!0), M(null), o.current = sr(G.snapshot, o.current), y(), te();
|
|
1885
1885
|
for await (const le of G) {
|
|
1886
|
-
if (!
|
|
1886
|
+
if (!S) break;
|
|
1887
1887
|
if (le.type === "snapshot")
|
|
1888
|
-
o.current = sr(le.snapshot, le.reason === "gap" ? o.current : $t()), y(),
|
|
1888
|
+
o.current = sr(le.snapshot, le.reason === "gap" ? o.current : $t()), y(), te();
|
|
1889
1889
|
else if (le.type === "frame") {
|
|
1890
1890
|
fo(o.current, le.frame);
|
|
1891
1891
|
const Te = le.frame;
|
|
1892
|
-
Te.type === "recording.state" && (
|
|
1892
|
+
Te.type === "recording.state" && (O = o.current.state, (v = (K = L.current).onState) == null || v.call(K, Te.state, Te.reason)), (ne = (ae = L.current).onFrame) == null || ne.call(ae, Te), y();
|
|
1893
1893
|
} else le.type === "closed" && d(!1);
|
|
1894
1894
|
}
|
|
1895
1895
|
} catch (pe) {
|
|
1896
|
-
if (!
|
|
1896
|
+
if (!S) return;
|
|
1897
1897
|
const le = Tt(pe);
|
|
1898
1898
|
if (le.code === "not_found" || le.status === 404) {
|
|
1899
1899
|
p(!0), M(le);
|
|
1900
1900
|
return;
|
|
1901
1901
|
}
|
|
1902
1902
|
try {
|
|
1903
|
-
await
|
|
1903
|
+
await E.recordings.get(t, n.readAs);
|
|
1904
1904
|
} catch (Te) {
|
|
1905
1905
|
const je = Tt(Te);
|
|
1906
1906
|
if (je.code === "not_found" || je.status === 404) {
|
|
@@ -1921,40 +1921,40 @@ function Ro(t, e) {
|
|
|
1921
1921
|
l.current === G && (l.current = null), d(!1);
|
|
1922
1922
|
}
|
|
1923
1923
|
const J = o.current.state;
|
|
1924
|
-
if (!
|
|
1924
|
+
if (!S || J === "ended" || J === "finalized" || J === "processing") return;
|
|
1925
1925
|
T += 1, await _o(Math.min(15e3, 1e3 * 2 ** Math.min(T, 4)));
|
|
1926
1926
|
}
|
|
1927
1927
|
})(), () => {
|
|
1928
1928
|
var K;
|
|
1929
|
-
|
|
1929
|
+
S = !1, (K = l.current) == null || K.close(), l.current = null, d(!1);
|
|
1930
1930
|
};
|
|
1931
1931
|
}, [t, n, e.voice]);
|
|
1932
|
-
const [m, f] = z(!1), [I,
|
|
1933
|
-
var
|
|
1934
|
-
if (c.current =
|
|
1935
|
-
const T = r.current.client,
|
|
1936
|
-
f(!0),
|
|
1937
|
-
const
|
|
1938
|
-
|
|
1939
|
-
|
|
1932
|
+
const [m, f] = z(!1), [I, C] = z(null), D = k(0), [B, _] = z(null), X = Ke((S) => {
|
|
1933
|
+
var te;
|
|
1934
|
+
if (c.current = S, (te = l.current) == null || te.setLanguage(S), !t) return;
|
|
1935
|
+
const T = r.current.client, E = ++D.current;
|
|
1936
|
+
f(!0), C(null);
|
|
1937
|
+
const O = (K) => T.recordings.transcript(t, { lang: S ?? void 0, ...r.current.readAs, asListener: !r.current.owner }).then((v) => {
|
|
1938
|
+
E === D.current && (o.current = sr(v, o.current), _(S), y(), v.translationPending && K > 0 && window.setTimeout(() => {
|
|
1939
|
+
E === D.current && O(K - 1).catch(() => {
|
|
1940
1940
|
});
|
|
1941
1941
|
}, Yo));
|
|
1942
1942
|
});
|
|
1943
|
-
|
|
1944
|
-
|
|
1943
|
+
O(Uo).catch(() => {
|
|
1944
|
+
E === D.current && S && C(S);
|
|
1945
1945
|
}).finally(() => {
|
|
1946
|
-
|
|
1946
|
+
E === D.current && f(!1);
|
|
1947
1947
|
});
|
|
1948
|
-
}, [y, t]), j = Ke((
|
|
1949
|
-
const
|
|
1950
|
-
let
|
|
1951
|
-
for (const [
|
|
1952
|
-
const
|
|
1953
|
-
|
|
1948
|
+
}, [y, t]), j = Ke((S, T) => {
|
|
1949
|
+
const E = o.current;
|
|
1950
|
+
let O = !1;
|
|
1951
|
+
for (const [te, K] of Object.entries(T)) {
|
|
1952
|
+
const v = E.sentences.get(Number(te));
|
|
1953
|
+
v && (v.translations = { ...v.translations, [S]: K }, O = !0);
|
|
1954
1954
|
}
|
|
1955
|
-
|
|
1956
|
-
}, [y]),
|
|
1957
|
-
return { model: s, connected: u, error: g, notFound: N, clearError:
|
|
1955
|
+
O && y();
|
|
1956
|
+
}, [y]), F = Ke(() => M(null), []);
|
|
1957
|
+
return { model: s, connected: u, error: g, notFound: N, clearError: F, setLanguage: X, mergeTranslations: j, translating: m, translateFailed: I, shownLang: B };
|
|
1958
1958
|
}
|
|
1959
1959
|
const Vs = {
|
|
1960
1960
|
English: { vcFor: "Voice for", vcMute: "Mute", vcUnmute: "Unmute", vcMuted: "MUTED", vcShared: "Also used by", vcUsedBy: "Used by", vcUnknownSpk: "Unknown", vcUse: "Use this voice", vcGetting: "Downloading…", vcSample: "Here’s how it sounds.", vcPreview: "PREVIEW", vcMale: "Male", vcFemale: "Female", vcSynth: "SYNTHETIC", origAudio: "ORIGINAL AUDIO", vcCloned: "VOICES", vcBadge: "CLONED", vcNone: "TEXT ONLY", vcNoVoice: "No voice for ", vcSheet: "VOICE", vcNeutral: "SYNTHETIC VOICE", vcWarm: "SYNTHETIC VOICE", searchPlaceholder: "Search this broadcast", noise: "Audio unclear", newLines: "new", live: "LIVE", ended: "ENDED", waiting: "WAITING", corrected: "CORRECTED", hostLine: "Hosted by Marcus Reed · 4 speakers", langLabel: "LANGUAGE", langCount: "100+ languages", read: "Read", listen: "Listen", watch: "Watch", waitTitle: "The broadcast hasn’t started yet", waitBody: "The transcript appears here as soon as the host starts speaking.", english: "ENGLISH", playing: "Playing the live audio", ready: "Tap to start audio", readyNote: "Set your volume first", voiceMeta: "ORIGINAL AUDIO", voice: "Voice", sheetTitle: "APP LANGUAGE", done: "Done", search: "Search 100+ languages", sheetNote: "Follow along in your language.", moreLangs: "more", confTitle: "Some words weren't heard clearly", confBody: "The transcript marks words the model is unsure about with a dashed underline. The words keep their colour, so only the underline tells you where to look.", confMid: "Slightly unsure — probably right", confHigh: "Low confidence — may be wrong", settings: "BROADCAST", setOrig: "Show original language", setTheme: "Appearance", light: "Light", dark: "Dark", setConf: "Show uncertain words", setConfHint1: "Colours words the model is unsure about — ", setConfMid: "amber", setConfSep: " or ", setConfLow: "red", setConfHint2: "", behindLive: "TRANSLATION LATENCY", behindNote: "How far the translation trails the speaker right now.", shareLabel: "LIVE TRANSLATION LINK", copy: "Copy", copied: "Copied" },
|
|
@@ -2070,7 +2070,7 @@ function lr(t) {
|
|
|
2070
2070
|
};
|
|
2071
2071
|
}
|
|
2072
2072
|
function qo(t, e, n = 0) {
|
|
2073
|
-
const r =
|
|
2073
|
+
const r = k(() => {
|
|
2074
2074
|
});
|
|
2075
2075
|
U(() => {
|
|
2076
2076
|
r.current();
|
|
@@ -2079,25 +2079,25 @@ function qo(t, e, n = 0) {
|
|
|
2079
2079
|
if (!s || !a) return;
|
|
2080
2080
|
const o = () => {
|
|
2081
2081
|
let _ = s.parentElement;
|
|
2082
|
-
for (let
|
|
2082
|
+
for (let X = 0; X < 4 && _; X++) {
|
|
2083
2083
|
const j = _.querySelector("[data-transport]");
|
|
2084
2084
|
if (j) return j;
|
|
2085
2085
|
_ = _.parentElement;
|
|
2086
2086
|
}
|
|
2087
2087
|
return null;
|
|
2088
2088
|
}, l = () => {
|
|
2089
|
-
const _ = o(),
|
|
2090
|
-
return { vis: j, max:
|
|
2089
|
+
const _ = o(), X = _ ? _.offsetHeight : 0, j = s.clientHeight - X - 36, F = s.scrollHeight - s.clientHeight, S = j > 0 ? Math.max(30, Math.round(j * (s.clientHeight - X) / s.scrollHeight)) : 0;
|
|
2090
|
+
return { vis: j, max: F, size: S };
|
|
2091
2091
|
};
|
|
2092
2092
|
let c = -1, u = null, d = !1, g = 0, M = 0;
|
|
2093
2093
|
const N = () => {
|
|
2094
2094
|
const _ = o();
|
|
2095
2095
|
if (!_) return;
|
|
2096
|
-
const
|
|
2096
|
+
const X = parseFloat(s.dataset.glassExtra || "0") || 0, j = _.offsetHeight + 14 + X;
|
|
2097
2097
|
if (j === c) return;
|
|
2098
2098
|
c = j;
|
|
2099
|
-
const
|
|
2100
|
-
s.style.paddingBottom = j + "px",
|
|
2099
|
+
const F = s.scrollHeight - s.scrollTop - s.clientHeight < 40;
|
|
2100
|
+
s.style.paddingBottom = j + "px", F && (s.scrollTop = s.scrollHeight);
|
|
2101
2101
|
}, p = () => {
|
|
2102
2102
|
a.style.opacity = "1", clearTimeout(u), u = setTimeout(() => {
|
|
2103
2103
|
d || (a.style.opacity = "0");
|
|
@@ -2106,8 +2106,8 @@ function qo(t, e, n = 0) {
|
|
|
2106
2106
|
let y = null, L = null;
|
|
2107
2107
|
const m = (_) => {
|
|
2108
2108
|
N();
|
|
2109
|
-
const
|
|
2110
|
-
|
|
2109
|
+
const X = o();
|
|
2110
|
+
X && X !== L && y && (L = X, y.observe(X));
|
|
2111
2111
|
const j = l();
|
|
2112
2112
|
if (j.vis < 60 || j.max < 6) {
|
|
2113
2113
|
a.style.opacity = "0", a.style.pointerEvents = "none";
|
|
@@ -2116,19 +2116,19 @@ function qo(t, e, n = 0) {
|
|
|
2116
2116
|
a.style.pointerEvents = "auto", a.style.height = j.size + "px", a.style.transform = "translateY(" + Math.round(s.scrollTop / j.max * (j.vis - j.size)) + "px)", _ && p();
|
|
2117
2117
|
}, f = parseFloat(getComputedStyle(s).paddingRight) || 0;
|
|
2118
2118
|
a.style.right = (f >= 12 ? -(f - 6) : 2) + "px";
|
|
2119
|
-
const I = () => m(!0),
|
|
2120
|
-
const
|
|
2121
|
-
|
|
2119
|
+
const I = () => m(!0), C = (_) => {
|
|
2120
|
+
const X = l();
|
|
2121
|
+
X.vis - X.size <= 0 || (_.preventDefault(), _.stopPropagation(), a.setPointerCapture(_.pointerId), d = !0, g = _.clientY, M = s.scrollTop, a.style.cursor = "grabbing", p());
|
|
2122
2122
|
}, D = (_) => {
|
|
2123
2123
|
if (!d) return;
|
|
2124
|
-
const
|
|
2125
|
-
s.scrollTop = M + (_.clientY - g) / (
|
|
2126
|
-
},
|
|
2124
|
+
const X = l();
|
|
2125
|
+
s.scrollTop = M + (_.clientY - g) / (X.vis - X.size) * X.max, p();
|
|
2126
|
+
}, B = () => {
|
|
2127
2127
|
d && (d = !1, a.style.cursor = "grab", p());
|
|
2128
2128
|
};
|
|
2129
|
-
return s.addEventListener("scroll", I, { passive: !0 }), a.addEventListener("pointerdown",
|
|
2129
|
+
return s.addEventListener("scroll", I, { passive: !0 }), a.addEventListener("pointerdown", C), a.addEventListener("pointermove", D), a.addEventListener("pointerup", B), a.addEventListener("pointercancel", B), typeof ResizeObserver < "u" && (y = new ResizeObserver(() => m()), y.observe(s)), r.current = () => m(), m(), () => {
|
|
2130
2130
|
r.current = () => {
|
|
2131
|
-
}, s.removeEventListener("scroll", I), a.removeEventListener("pointerdown",
|
|
2131
|
+
}, s.removeEventListener("scroll", I), a.removeEventListener("pointerdown", C), a.removeEventListener("pointermove", D), a.removeEventListener("pointerup", B), a.removeEventListener("pointercancel", B), y == null || y.disconnect(), clearTimeout(u);
|
|
2132
2132
|
};
|
|
2133
2133
|
}, []);
|
|
2134
2134
|
}
|
|
@@ -2136,7 +2136,7 @@ function Ko({ thumbRef: t }) {
|
|
|
2136
2136
|
return /* @__PURE__ */ i("div", { className: "feedbar", "aria-hidden": "true", children: /* @__PURE__ */ i("div", { ref: t, className: "feedbar__thumb" }) });
|
|
2137
2137
|
}
|
|
2138
2138
|
function Jo({ error: t, onClose: e }) {
|
|
2139
|
-
const n =
|
|
2139
|
+
const n = k(e);
|
|
2140
2140
|
if (n.current = e, U(() => {
|
|
2141
2141
|
if (!t) return;
|
|
2142
2142
|
const s = setTimeout(() => n.current(), 8e3);
|
|
@@ -2144,7 +2144,7 @@ function Jo({ error: t, onClose: e }) {
|
|
|
2144
2144
|
}, [t]), !t) return null;
|
|
2145
2145
|
const r = t.code === "insufficient_credit" || t.code === "quota_exceeded" || t.status === 402;
|
|
2146
2146
|
return /* @__PURE__ */ h("div", { className: "toast", role: "alert", children: [
|
|
2147
|
-
/* @__PURE__ */ i(oe, { d:
|
|
2147
|
+
/* @__PURE__ */ i(oe, { d: ee.warn, size: 16, style: { color: "var(--conf-low)", flex: "none" } }),
|
|
2148
2148
|
/* @__PURE__ */ h("span", { style: { flex: 1 }, children: [
|
|
2149
2149
|
t.message,
|
|
2150
2150
|
r && /* @__PURE__ */ h(xe, { children: [
|
|
@@ -2152,11 +2152,11 @@ function Jo({ error: t, onClose: e }) {
|
|
|
2152
2152
|
/* @__PURE__ */ i("a", { href: "https://app.vocalstack.com/billing", target: "_blank", rel: "noopener", className: "dev-link", style: { fontSize: "inherit", fontWeight: 600, whiteSpace: "nowrap" }, children: "Add credit" })
|
|
2153
2153
|
] })
|
|
2154
2154
|
] }),
|
|
2155
|
-
/* @__PURE__ */ i("button", { type: "button", onClick: e, "aria-label": "Dismiss", children: /* @__PURE__ */ i(oe, { d:
|
|
2155
|
+
/* @__PURE__ */ i("button", { type: "button", onClick: e, "aria-label": "Dismiss", children: /* @__PURE__ */ i(oe, { d: ee.close, size: 14 }) })
|
|
2156
2156
|
] });
|
|
2157
2157
|
}
|
|
2158
2158
|
function Oi({ color: t }) {
|
|
2159
|
-
return /* @__PURE__ */ i("span", { title: "Cloned voice", style: { flex: "none", display: "inline-flex" }, children: /* @__PURE__ */ i(oe, { d:
|
|
2159
|
+
return /* @__PURE__ */ i("span", { title: "Cloned voice", style: { flex: "none", display: "inline-flex" }, children: /* @__PURE__ */ i(oe, { d: ee.voiceClone, size: 13, sw: 1.7, stroke: t }) });
|
|
2160
2160
|
}
|
|
2161
2161
|
function Zc({ chip: t, note: e, scrub: n, mute: r, voice: s, prev: a, play: o, next: l }) {
|
|
2162
2162
|
return /* @__PURE__ */ h("div", { className: "vs-tt", children: [
|
|
@@ -2176,18 +2176,18 @@ function Zc({ chip: t, note: e, scrub: n, mute: r, voice: s, prev: a, play: o, n
|
|
|
2176
2176
|
] });
|
|
2177
2177
|
}
|
|
2178
2178
|
function Xo({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek: a, onSeekFrac: o, onScrubStart: l, onScrubEnd: c, frac: u, glideMs: d = 260 }) {
|
|
2179
|
-
const g =
|
|
2179
|
+
const g = k(null), M = k(!1), [N, p] = z(null), y = Math.max(1, e), L = N ?? u, m = L != null ? Math.min(100, Math.max(0, L * 100)) : t / Math.max(1, y - 1) * 100, f = u != null && d > 0 && N == null ? `width ${d}ms linear, left ${d}ms linear` : "none", I = (D) => {
|
|
2180
2180
|
var j;
|
|
2181
|
-
const
|
|
2182
|
-
if (!
|
|
2183
|
-
const _ = Math.min(1, Math.max(0, (D.clientX -
|
|
2181
|
+
const B = (j = g.current) == null ? void 0 : j.getBoundingClientRect();
|
|
2182
|
+
if (!B) return;
|
|
2183
|
+
const _ = Math.min(1, Math.max(0, (D.clientX - B.left) / Math.max(1, B.width)));
|
|
2184
2184
|
if (o) {
|
|
2185
2185
|
p(_), o(_);
|
|
2186
2186
|
return;
|
|
2187
2187
|
}
|
|
2188
|
-
const
|
|
2189
|
-
|
|
2190
|
-
},
|
|
2188
|
+
const X = Math.round(_ * (y - 1));
|
|
2189
|
+
X !== t && a(X);
|
|
2190
|
+
}, C = () => {
|
|
2191
2191
|
M.current && (M.current = !1, p(null), c == null || c());
|
|
2192
2192
|
};
|
|
2193
2193
|
return /* @__PURE__ */ h("div", { className: "rscrub", children: [
|
|
@@ -2197,14 +2197,14 @@ function Xo({ index: t, total: e, atLabel: n, durLabel: r, stepLabel: s, onSeek:
|
|
|
2197
2197
|
ref: g,
|
|
2198
2198
|
className: "rscrub__track",
|
|
2199
2199
|
onPointerDown: (D) => {
|
|
2200
|
-
var
|
|
2201
|
-
M.current = !0, (
|
|
2200
|
+
var B;
|
|
2201
|
+
M.current = !0, (B = g.current) == null || B.setPointerCapture(D.pointerId), l == null || l(), I(D), D.preventDefault();
|
|
2202
2202
|
},
|
|
2203
2203
|
onPointerMove: (D) => {
|
|
2204
2204
|
M.current && I(D);
|
|
2205
2205
|
},
|
|
2206
|
-
onPointerUp:
|
|
2207
|
-
onPointerCancel:
|
|
2206
|
+
onPointerUp: C,
|
|
2207
|
+
onPointerCancel: C,
|
|
2208
2208
|
children: [
|
|
2209
2209
|
/* @__PURE__ */ i("div", { className: "rscrub__rail" }),
|
|
2210
2210
|
/* @__PURE__ */ i("div", { className: "rscrub__fill", style: { width: `${m}%`, transition: f } }),
|
|
@@ -2231,7 +2231,7 @@ function tl({ f: t, desk: e, onOpen: n }) {
|
|
|
2231
2231
|
const r = (s, a, o) => /* @__PURE__ */ h("span", { role: "button", title: "Open this line in Fix", className: "badge badge--fix", style: { marginLeft: o ? "auto" : 0 }, onClick: (l) => {
|
|
2232
2232
|
l.stopPropagation(), n == null || n();
|
|
2233
2233
|
}, children: [
|
|
2234
|
-
/* @__PURE__ */ i(oe, { d:
|
|
2234
|
+
/* @__PURE__ */ i(oe, { d: ee.pencilFix, size: e ? 10 : 9, sw: 2 }),
|
|
2235
2235
|
s,
|
|
2236
2236
|
a > 0 && /* @__PURE__ */ i("span", { className: "badge__n", children: a })
|
|
2237
2237
|
] }, s);
|
|
@@ -2245,12 +2245,12 @@ function nl({ onOpen: t, alone: e }) {
|
|
|
2245
2245
|
return /* @__PURE__ */ h("span", { role: "button", title: "Fix this line", className: `badge badge--pen${n ? " is-over" : ""}`, style: { marginLeft: e ? "auto" : 0 }, onMouseEnter: () => r(!0), onMouseLeave: () => r(!1), onClick: (s) => {
|
|
2246
2246
|
s.stopPropagation(), t();
|
|
2247
2247
|
}, children: [
|
|
2248
|
-
/* @__PURE__ */ i(oe, { d:
|
|
2248
|
+
/* @__PURE__ */ i(oe, { d: ee.pencilFix, size: 11, sw: 2 }),
|
|
2249
2249
|
n && "FIX"
|
|
2250
2250
|
] });
|
|
2251
2251
|
}
|
|
2252
2252
|
function rl(t, e, n, r) {
|
|
2253
|
-
const s = Et(), [a, o] = z([]), [l, c] = z(0), u =
|
|
2253
|
+
const s = Et(), [a, o] = z([]), [l, c] = z(0), u = k(/* @__PURE__ */ new Set()), d = k(!1), g = Ie(() => new Map(n.filter((N) => N.sentenceId != null).map((N) => [N.sentenceId, N])), [n]);
|
|
2254
2254
|
U(() => {
|
|
2255
2255
|
u.current = /* @__PURE__ */ new Set();
|
|
2256
2256
|
}, [t, e]);
|
|
@@ -2367,7 +2367,7 @@ function ol({ roster: t, selected: e, onSelect: n, noClone: r, building: s, shor
|
|
|
2367
2367
|
/* @__PURE__ */ i("span", { style: { fontSize: 12.5, fontWeight: 500, color: g ? "var(--ink-96)" : "var(--ink-62)", whiteSpace: "nowrap" }, children: d.name }),
|
|
2368
2368
|
d.hasVoice && !M && /* @__PURE__ */ i(Oi, { color: d.fg ?? (g ? "var(--ink-62)" : "var(--ink-45)") }),
|
|
2369
2369
|
M && /* @__PURE__ */ i("span", { title: M, "aria-label": M, style: { flex: "none", width: 15, height: 15, marginRight: -2, borderRadius: "50%", background: "#c27c00", color: "#fff", font: "900 10.5px/1 system-ui, sans-serif", display: "flex", alignItems: "center", justifyContent: "center" }, children: "!" }),
|
|
2370
|
-
y && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color: g ? "var(--ink-45)" : "var(--ink-35)" }, children: /* @__PURE__ */ i(oe, { d:
|
|
2370
|
+
y && /* @__PURE__ */ i("span", { title: "Not enough audio to clone", "aria-label": "Not enough audio to clone", style: { flex: "none", display: "flex", marginRight: -2, color: g ? "var(--ink-45)" : "var(--ink-35)" }, children: /* @__PURE__ */ i(oe, { d: ee.micOff, size: 13, sw: 1.7 }) }),
|
|
2371
2371
|
(p || N) && /* @__PURE__ */ i("span", { title: N ? "Cloning this voice…" : "No voice clone yet", "aria-label": N ? "Cloning this voice" : "No voice clone yet", style: { flex: "none", width: 10, height: 10, marginRight: -2, display: "flex", alignItems: "center", justifyContent: "center" }, children: N ? /* @__PURE__ */ i(at, { size: 10, color: "var(--brand)", track: "var(--fill-10)", sw: 1.6 }) : /* @__PURE__ */ i("span", { style: { width: 7, height: 7, borderRadius: "50%", background: "var(--brand)" } }) })
|
|
2372
2372
|
]
|
|
2373
2373
|
},
|
|
@@ -2382,12 +2382,12 @@ function ll({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
|
|
|
2382
2382
|
}, [d, g]);
|
|
2383
2383
|
const f = (D) => D === p.vcMale.toUpperCase() || D === p.vcFemale.toUpperCase(), I = (D) => {
|
|
2384
2384
|
if (D === p.vcSheet) return !0;
|
|
2385
|
-
const
|
|
2386
|
-
return
|
|
2387
|
-
},
|
|
2385
|
+
const B = L[D];
|
|
2386
|
+
return B != null ? !B : !g || !f(D) ? !0 : D === (g === "female" ? p.vcFemale : p.vcMale).toUpperCase();
|
|
2387
|
+
}, C = !!r && r !== n;
|
|
2388
2388
|
return /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
2389
2389
|
M && /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "flex-start", gap: 9, padding: "10px 11px", marginBottom: 10, borderRadius: 11, background: "var(--conf-low-soft)" }, children: [
|
|
2390
|
-
/* @__PURE__ */ i(oe, { d:
|
|
2390
|
+
/* @__PURE__ */ i(oe, { d: ee.warnTri, size: 15, sw: 1.7, style: { flex: "none", marginTop: 1, color: "var(--conf-low)" } }),
|
|
2391
2391
|
/* @__PURE__ */ i("span", { style: { flex: 1, minWidth: 0, fontSize: 12.5, fontWeight: 300, lineHeight: 1.45, color: "var(--ink-80)", textWrap: "pretty" }, children: M }),
|
|
2392
2392
|
/* @__PURE__ */ i("span", { style: { flex: "none", marginTop: -1 }, children: /* @__PURE__ */ i(za, { value: M, label: "Copy this error" }) })
|
|
2393
2393
|
] }),
|
|
@@ -2397,31 +2397,31 @@ function ll({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
|
|
|
2397
2397
|
/* @__PURE__ */ h("div", { role: N.action ? "button" : "status", tabIndex: N.action ? 0 : void 0, title: N.tip, onClick: N.action, onKeyDown: N.action ? (D) => {
|
|
2398
2398
|
(D.key === "Enter" || D.key === " ") && (D.preventDefault(), N.action());
|
|
2399
2399
|
} : void 0, style: { display: "flex", alignItems: "center", gap: 11, padding: "11px 8px", margin: "0 -6px", borderRadius: 10, cursor: N.action ? "pointer" : "default" }, children: [
|
|
2400
|
-
/* @__PURE__ */ i("span", { style: { flex: "none", width: 32, height: 32, boxSizing: "border-box", borderRadius: "50%", border: N.busy ? 0 : N.action ? "1.5px solid var(--brand)" : "1.5px dashed var(--fill-20)", display: "flex", alignItems: "center", justifyContent: "center" }, children: N.busy ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : /* @__PURE__ */ i(oe, { d: N.action ?
|
|
2400
|
+
/* @__PURE__ */ i("span", { style: { flex: "none", width: 32, height: 32, boxSizing: "border-box", borderRadius: "50%", border: N.busy ? 0 : N.action ? "1.5px solid var(--brand)" : "1.5px dashed var(--fill-20)", display: "flex", alignItems: "center", justifyContent: "center" }, children: N.busy ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : /* @__PURE__ */ i(oe, { d: N.action ? ee.plus : ee.mic, size: 15, sw: N.action ? 2 : 1.6, style: { color: N.action ? "var(--brand)" : "var(--ink-45)" } }) }),
|
|
2401
2401
|
/* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
2402
2402
|
/* @__PURE__ */ i("div", { style: { fontSize: 14.5, fontWeight: N.action ? 500 : 400, color: N.action ? "var(--brand)" : "var(--ink-62)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: N.title }),
|
|
2403
2403
|
/* @__PURE__ */ i("div", { style: { fontSize: 12, fontWeight: 300, color: "var(--ink-62)", marginTop: 2, whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: N.sub })
|
|
2404
2404
|
] })
|
|
2405
2405
|
] })
|
|
2406
2406
|
] }),
|
|
2407
|
-
y.map(({ v: D, headOn:
|
|
2408
|
-
const
|
|
2407
|
+
y.map(({ v: D, headOn: B, head: _, headCount: X, rule: j }, F) => {
|
|
2408
|
+
const S = sl(D), T = a === D.id, E = I(_), O = (u == null ? void 0 : u(D)) ?? null;
|
|
2409
2409
|
return /* @__PURE__ */ h(ga, { children: [
|
|
2410
|
-
|
|
2411
|
-
|
|
2410
|
+
B && _ === p.vcSheet && /* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", padding: "14px 2px 6px", borderTop: F === 0 && !N ? "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: _ }) }),
|
|
2411
|
+
B && _ !== p.vcSheet && /* @__PURE__ */ h(
|
|
2412
2412
|
"button",
|
|
2413
2413
|
{
|
|
2414
2414
|
type: "button",
|
|
2415
|
-
onClick: (
|
|
2416
|
-
|
|
2415
|
+
onClick: (te) => {
|
|
2416
|
+
te.stopPropagation(), m((K) => ({ ...K, [_]: I(_) }));
|
|
2417
2417
|
},
|
|
2418
|
-
title: `${
|
|
2419
|
-
"aria-expanded":
|
|
2420
|
-
style: { width: "100%", textAlign: "left", font: "inherit", display: "flex", alignItems: "center", gap: 7, padding:
|
|
2418
|
+
title: `${E ? "Hide " : "Show "}${_.toLowerCase()} voices`,
|
|
2419
|
+
"aria-expanded": E,
|
|
2420
|
+
style: { width: "100%", textAlign: "left", font: "inherit", display: "flex", alignItems: "center", gap: 7, padding: E ? "14px 2px 6px" : "14px 2px 14px", border: 0, borderTop: F === 0 && !N ? "0" : "1px solid var(--hair)", background: "transparent", cursor: "pointer", userSelect: "none" },
|
|
2421
2421
|
children: [
|
|
2422
|
-
/* @__PURE__ */ i(oe, { d:
|
|
2422
|
+
/* @__PURE__ */ i(oe, { d: ee.chevronDown, size: 12, sw: 2.4, style: { flex: "none", color: "var(--ink-45)", transform: `rotate(${E ? "0deg" : "-90deg"})`, transition: "transform .18s ease" } }),
|
|
2423
2423
|
/* @__PURE__ */ i("span", { style: { font: "600 9px var(--vs-font-mono)", letterSpacing: ".13em", color: "var(--ink-62)" }, children: _ }),
|
|
2424
|
-
/* @__PURE__ */ i("span", { style: { font: "600 9px var(--vs-font-mono)", color: "var(--ink-62)" }, children:
|
|
2424
|
+
/* @__PURE__ */ i("span", { style: { font: "600 9px var(--vs-font-mono)", color: "var(--ink-62)" }, children: X })
|
|
2425
2425
|
]
|
|
2426
2426
|
}
|
|
2427
2427
|
),
|
|
@@ -2430,31 +2430,31 @@ function ll({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
|
|
|
2430
2430
|
{
|
|
2431
2431
|
type: "button",
|
|
2432
2432
|
"aria-selected": D.id === n,
|
|
2433
|
-
"aria-hidden": !
|
|
2434
|
-
tabIndex:
|
|
2433
|
+
"aria-hidden": !E,
|
|
2434
|
+
tabIndex: E ? void 0 : -1,
|
|
2435
2435
|
onClick: () => o(D),
|
|
2436
|
-
style: { width: "100%", textAlign: "left", font: "inherit", border: 0, borderTop:
|
|
2436
|
+
style: { width: "100%", textAlign: "left", font: "inherit", border: 0, borderTop: E ? j : "0", display: "flex", alignItems: "center", gap: 11, padding: E ? "11px 8px" : "0px 8px", margin: "0 -6px", borderRadius: 10, background: r === D.id ? "var(--brand-tint)" : "transparent", cursor: "pointer", opacity: E ? 1 : 0, maxHeight: E ? 120 : 0, overflow: "hidden", transition: "max-height 280ms cubic-bezier(.32,.72,0,1),padding 280ms cubic-bezier(.32,.72,0,1),opacity 200ms ease" },
|
|
2437
2437
|
children: [
|
|
2438
2438
|
/* @__PURE__ */ i("span", { title: T ? "Downloading this voice" : void 0, style: { flex: "none", width: 32, height: 32, borderRadius: "50%", background: T ? "transparent" : D.cloned ? "var(--brand-soft)" : "var(--fill-06)", display: "flex", alignItems: "center", justifyContent: "center" }, children: T ? /* @__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" } }) : s === D.id ? /* @__PURE__ */ h("span", { className: "vcplay", children: [
|
|
2439
2439
|
/* @__PURE__ */ i("span", { className: "vcplay__eq", children: /* @__PURE__ */ i(cl, { height: 13, width: 2.5 }) }),
|
|
2440
2440
|
/* @__PURE__ */ i("span", { className: "vcplay__stop", children: /* @__PURE__ */ i(va, { size: 11 }) })
|
|
2441
|
-
] }) : /* @__PURE__ */ i(oe, { d: D.cloned ?
|
|
2441
|
+
] }) : /* @__PURE__ */ i(oe, { d: D.cloned ? ee.voiceClone : D.gender === "female" ? ee.venus : D.gender === "male" ? ee.mars : ee.mic, size: 15, sw: 1.6, style: { color: D.cloned ? "var(--brand)" : "var(--ink-55)" } }) }),
|
|
2442
2442
|
/* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
2443
2443
|
/* @__PURE__ */ i("div", { style: { display: "flex", alignItems: "center", gap: 7, minWidth: 0 }, children: /* @__PURE__ */ i("span", { style: { minWidth: 0, fontSize: 14.5, fontWeight: D.id === n ? 600 : 400, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: D.name }) }),
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
/* @__PURE__ */ i(oe, { d:
|
|
2447
|
-
/* @__PURE__ */ i("span", { style: { minWidth: 0, fontSize: 11, fontWeight: 300, color: "var(--conf-mid)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: `${p.vcShared} ${
|
|
2448
|
-
] }) : /* @__PURE__ */ i("div", { style: { marginTop: 2, minWidth: 0, fontSize: 12, fontWeight: 300, color: "var(--ink-50)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: `${p.vcUsedBy} ${
|
|
2444
|
+
S && /* @__PURE__ */ i("div", { style: { fontSize: 12, fontWeight: 300, color: "var(--ink-62)", marginTop: 2, whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: S }),
|
|
2445
|
+
O && (D.id === n ? /* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "center", gap: 5, marginTop: 3, minWidth: 0 }, children: [
|
|
2446
|
+
/* @__PURE__ */ i(oe, { d: ee.notice, size: 12, sw: 1.7, style: { flex: "none", color: "var(--conf-mid)" } }),
|
|
2447
|
+
/* @__PURE__ */ i("span", { style: { minWidth: 0, fontSize: 11, fontWeight: 300, color: "var(--conf-mid)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: `${p.vcShared} ${O}` })
|
|
2448
|
+
] }) : /* @__PURE__ */ i("div", { style: { marginTop: 2, minWidth: 0, fontSize: 12, fontWeight: 300, color: "var(--ink-50)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: `${p.vcUsedBy} ${O}` }))
|
|
2449
2449
|
] }),
|
|
2450
2450
|
/* @__PURE__ */ h("div", { style: { flex: "none", width: D.live ? D.id === n ? 18 : 0 : 42, overflow: "hidden", display: "flex", alignItems: "center", justifyContent: "flex-end", gap: 6 }, children: [
|
|
2451
2451
|
/* @__PURE__ */ i("span", { style: { flex: "none", width: 18, height: 18 } }),
|
|
2452
|
-
/* @__PURE__ */ i("span", { style: { flex: "none", width: 18, height: 18, display: "flex", alignItems: "center", justifyContent: "center" }, children: D.id === n && /* @__PURE__ */ i(oe, { d:
|
|
2452
|
+
/* @__PURE__ */ i("span", { style: { flex: "none", width: 18, height: 18, display: "flex", alignItems: "center", justifyContent: "center" }, children: D.id === n && /* @__PURE__ */ i(oe, { d: ee.check, size: 17, sw: 2.2, style: { flex: "none", color: "var(--brand)" } }) })
|
|
2453
2453
|
] }),
|
|
2454
|
-
(D.live || D.cloned && D.library === !1 && !D.auto && !!l) && /* @__PURE__ */ h("span", { className: "gvadd", role: "button", title: D.live ? `Save ${D.name}’s voice from this session` : `Add ${D.name} to My voices`, onClick: l ? (
|
|
2455
|
-
|
|
2454
|
+
(D.live || D.cloned && D.library === !1 && !D.auto && !!l) && /* @__PURE__ */ h("span", { className: "gvadd", role: "button", title: D.live ? `Save ${D.name}’s voice from this session` : `Add ${D.name} to My voices`, onClick: l ? (te) => {
|
|
2455
|
+
te.stopPropagation(), l(D);
|
|
2456
2456
|
} : void 0, children: [
|
|
2457
|
-
/* @__PURE__ */ i(oe, { d:
|
|
2457
|
+
/* @__PURE__ */ i(oe, { d: ee.plus, size: 14, sw: 2 }),
|
|
2458
2458
|
"Add"
|
|
2459
2459
|
] })
|
|
2460
2460
|
]
|
|
@@ -2462,7 +2462,7 @@ function ll({ cast: t, voices: e, currentId: n, armedId: r = null, sampleId: s =
|
|
|
2462
2462
|
)
|
|
2463
2463
|
] }, D.id);
|
|
2464
2464
|
}),
|
|
2465
|
-
|
|
2465
|
+
C && /* @__PURE__ */ i("div", { style: { position: "sticky", bottom: 0, zIndex: 3, marginTop: 6, padding: "11px 0 3px", animation: "vs-slide-up .18s ease-out" }, children: /* @__PURE__ */ i("button", { type: "button", className: "vcuse", title: "Apply this voice", onClick: () => r && c(r), children: /* @__PURE__ */ i("span", { children: p.vcUse }) }) })
|
|
2466
2466
|
] });
|
|
2467
2467
|
}
|
|
2468
2468
|
function cl({ height: t, width: e = 2 }) {
|
|
@@ -2474,8 +2474,8 @@ function cl({ height: t, width: e = 2 }) {
|
|
|
2474
2474
|
] });
|
|
2475
2475
|
}
|
|
2476
2476
|
const ul = /* @__PURE__ */ h("span", { style: { display: "inline-flex", alignItems: "center", gap: 3 }, children: [
|
|
2477
|
-
/* @__PURE__ */ i(oe, { d:
|
|
2478
|
-
/* @__PURE__ */ i(oe, { d:
|
|
2477
|
+
/* @__PURE__ */ i(oe, { d: ee.langAuto, size: 19, sw: 1.7, style: { color: "var(--ink-62)", display: "block" } }),
|
|
2478
|
+
/* @__PURE__ */ i(oe, { d: ee.globe, size: 18, sw: 1.6, style: { color: "var(--ink-62)", display: "block" } })
|
|
2479
2479
|
] });
|
|
2480
2480
|
function wr(t, e) {
|
|
2481
2481
|
const n = e ? t == null ? void 0 : t.languages.find((r) => r.code === e) : null;
|
|
@@ -2499,13 +2499,13 @@ function Ml({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
|
|
|
2499
2499
|
const o = Et(), { data: l, reload: c } = vi(async () => {
|
|
2500
2500
|
if (!t || !e) return null;
|
|
2501
2501
|
const K = await o.client.recordings.voice(t, e, o.readAs).catch(() => []);
|
|
2502
|
-
return { recordingId: t, lang: e, rows: K.filter((
|
|
2502
|
+
return { recordingId: t, lang: e, rows: K.filter((v) => v.lang === e) };
|
|
2503
2503
|
}, [t, e, o, n]), u = Ie(
|
|
2504
2504
|
() => l && l.lang === e && l.recordingId === t ? l.rows : [],
|
|
2505
2505
|
[l, e, t]
|
|
2506
|
-
), d = Ie(() => di(u, s), [u, s]), g = d ? d.voiceKey || null : s, [M, N] = z(null), [p, y] = z(null), L =
|
|
2506
|
+
), d = Ie(() => di(u, s), [u, s]), g = d ? d.voiceKey || null : s, [M, N] = z(null), [p, y] = z(null), L = k(/* @__PURE__ */ new Set()), m = `${t ?? ""}|${e ?? ""}|${g ?? ""}`, f = Ke(async (K, v) => {
|
|
2507
2507
|
if (!t || !e || !n) return;
|
|
2508
|
-
const ae =
|
|
2508
|
+
const ae = v != null && v.size ? null : Fs(K), ne = v != null && v.size ? v : ae, G = ne && ne.size ? Object.fromEntries([...ne].map(([Te, je]) => [String(Te), je])) : null, J = `${t}|${e}|${G ? JSON.stringify(G) : K ?? ""}`;
|
|
2509
2509
|
if (L.current.has(J)) return;
|
|
2510
2510
|
L.current.add(J), N(J), y(null);
|
|
2511
2511
|
const pe = { langs: [e] };
|
|
@@ -2520,40 +2520,40 @@ function Ml({ recordingId: t, lang: e, ended: n, cred: r, pickedVoice: s, senten
|
|
|
2520
2520
|
c();
|
|
2521
2521
|
}, [t, e, n, o, c]), I = Ke(() => {
|
|
2522
2522
|
const K = `${t ?? ""}|${e ?? ""}|`;
|
|
2523
|
-
for (const
|
|
2523
|
+
for (const v of [...L.current]) v.startsWith(K) && L.current.delete(v);
|
|
2524
2524
|
y(null);
|
|
2525
|
-
}, [t, e]),
|
|
2525
|
+
}, [t, e]), C = !!d && (d.state === "queued" || d.state === "running") || M === m, D = (d == null ? void 0 : d.state) === "failed" ? d.error || "the render failed" : p, B = (a == null ? void 0 : a.join(",")) ?? "", [_, X] = z(null), j = Ie(() => new Set((d == null ? void 0 : d.clips) ?? []), [d]), F = Ie(() => n && B ? B.split(",").map(Number).filter((K) => !j.has(K)) : [], [n, B, j]), S = k(null);
|
|
2526
2526
|
U(() => {
|
|
2527
|
-
if (!n || !t || !e || !
|
|
2528
|
-
const K = _ ??
|
|
2529
|
-
if (
|
|
2530
|
-
|
|
2531
|
-
const G = Fs(g), J = { langs: [e], near:
|
|
2527
|
+
if (!n || !t || !e || !F.length) return;
|
|
2528
|
+
const K = _ ?? F[0], v = F.find((pe) => pe >= K) ?? F[0], ae = `${t}|${e}|${g ?? ""}`, ne = S.current;
|
|
2529
|
+
if (ne && ne.key === ae && Math.abs(ne.near - v) < 12 && Date.now() - ne.at < 6e4) return;
|
|
2530
|
+
S.current = { key: ae, near: v, at: Date.now() };
|
|
2531
|
+
const G = Fs(g), J = { langs: [e], near: v };
|
|
2532
2532
|
G && G.size ? J.voiceBySpeaker = Object.fromEntries([...G].map(([pe, le]) => [String(pe), le])) : g && (J.voice = g), Bs(o, `/v1/recordings/${t}/voice`, { method: "POST", body: J }).then((pe) => {
|
|
2533
|
-
pe.ok || (
|
|
2533
|
+
pe.ok || (S.current = null);
|
|
2534
2534
|
}).catch(() => {
|
|
2535
|
-
|
|
2535
|
+
S.current = null;
|
|
2536
2536
|
});
|
|
2537
|
-
}, [n, t, e, g, _,
|
|
2538
|
-
const T =
|
|
2537
|
+
}, [n, t, e, g, _, F, o]);
|
|
2538
|
+
const T = F.length > 0, E = k({ n: -1, at: 0 });
|
|
2539
2539
|
U(() => {
|
|
2540
2540
|
if (!T) return;
|
|
2541
2541
|
const K = setInterval(() => {
|
|
2542
|
-
const
|
|
2543
|
-
|
|
2542
|
+
const v = j.size;
|
|
2543
|
+
v !== E.current.n && (E.current = { n: v, at: Date.now() }), !(Date.now() - E.current.at > 10 * 6e4) && c();
|
|
2544
2544
|
}, 3e3);
|
|
2545
2545
|
return () => clearInterval(K);
|
|
2546
2546
|
}, [T, c, j]);
|
|
2547
|
-
const
|
|
2547
|
+
const O = Ie(() => {
|
|
2548
2548
|
if (!t) return [];
|
|
2549
|
-
const K =
|
|
2550
|
-
return Ya(
|
|
2551
|
-
}, [d, t, o, r,
|
|
2552
|
-
return { listed: l, rows: u, track: d, renderVoiceId: g, rendering:
|
|
2549
|
+
const K = B ? B.split(",").map(Number).filter((ae) => !n || j.has(ae)) : void 0, v = d ?? (K != null && K.length && e ? { lang: e, voiceKey: s ?? "", clips: [], voice: null } : null);
|
|
2550
|
+
return Ya(v, t, o.origin, r, K);
|
|
2551
|
+
}, [d, t, o, r, B, e, s, n, j]), te = Ie(() => new Set(F), [F]);
|
|
2552
|
+
return { listed: l, rows: u, track: d, renderVoiceId: g, rendering: C, failed: D, clips: O, requestRender: f, forget: I, reload: c, setNear: X, missing: F.length, coming: te };
|
|
2553
2553
|
}
|
|
2554
|
-
const gl = { share:
|
|
2554
|
+
const gl = { share: ee.share, delay: ee.tabGauge, video: ee.video, source: ee.tabSources, script: ee.tabScript, fix: ee.tabFix, ending: ee.tabEnding, summary: ee.tabSummary, export: ee.tabExport, settings: ee.tabSettings, sources: ee.tabSources, recs: ee.mic };
|
|
2555
2555
|
function Ci({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s }) {
|
|
2556
|
-
const o = s && t.length <= 3, l = t.some((L) => L.key === e), [c, u] = z(null), d =
|
|
2556
|
+
const o = s && t.length <= 3, l = t.some((L) => L.key === e), [c, u] = z(null), d = k(null), [g, M] = z(0);
|
|
2557
2557
|
U(() => {
|
|
2558
2558
|
d.current && M(d.current.offsetWidth);
|
|
2559
2559
|
}, [c == null ? void 0 : c.k]);
|
|
@@ -2564,8 +2564,8 @@ function Ci({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s
|
|
|
2564
2564
|
return;
|
|
2565
2565
|
}
|
|
2566
2566
|
if ((c == null ? void 0 : c.k) === m.key) return;
|
|
2567
|
-
const I = L.currentTarget.getBoundingClientRect(),
|
|
2568
|
-
u({ k: m.key, label: m.label, x: I.left + I.width / 2, y:
|
|
2567
|
+
const I = L.currentTarget.getBoundingClientRect(), C = L.currentTarget.parentElement.getBoundingClientRect();
|
|
2568
|
+
u({ k: m.key, label: m.label, x: I.left + I.width / 2, y: C.top });
|
|
2569
2569
|
}, p = () => u(null);
|
|
2570
2570
|
let y = null;
|
|
2571
2571
|
if (c) {
|
|
@@ -2580,15 +2580,15 @@ function Ci({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s
|
|
|
2580
2580
|
}
|
|
2581
2581
|
return /* @__PURE__ */ h("div", { role: "tablist", className: `tabbar tabbar--icons${s ? "" : " tabbar--desk"}`, "data-desk-tabs": a ? "" : void 0, "data-tab-n": a ? t.length : void 0, style: { marginBottom: r ? 12 : 0 }, onMouseLeave: p, children: [
|
|
2582
2582
|
t.map((L) => {
|
|
2583
|
-
const m = e === L.key, f = o || m, I = o ? "1 1 0" : m ? "1 1 auto" : s && !l ? "1 1 0" : "0 0 auto",
|
|
2583
|
+
const m = e === L.key, f = o || m, I = o ? "1 1 0" : m ? "1 1 auto" : s && !l ? "1 1 0" : "0 0 auto", C = L.icon ?? gl[L.key], D = () => {
|
|
2584
2584
|
p(), n(s && m ? "none" : L.key);
|
|
2585
2585
|
};
|
|
2586
2586
|
return s ? /* @__PURE__ */ h("button", { type: "button", role: "tab", "aria-selected": m, title: L.label, className: `tabbar__tab${m ? " is-on" : ""}`, style: { flex: I }, onClick: D, children: [
|
|
2587
|
-
|
|
2587
|
+
C && /* @__PURE__ */ i(oe, { d: C, size: 15, sw: L.sw ?? 2, style: { flex: "none" } }),
|
|
2588
2588
|
f && /* @__PURE__ */ i("span", { className: "tabbar__label", children: L.label })
|
|
2589
|
-
] }, L.key) : /* @__PURE__ */ i("div", { className: "tabbar__slot", "data-tab-cell": "", style: { flex: I }, onMouseEnter: (
|
|
2590
|
-
|
|
2591
|
-
/* @__PURE__ */ i("span", { className: "tabbar__grow", "data-tab-lw": "", style: { gridTemplateColumns: f ? "1fr" : "0fr", marginLeft: f &&
|
|
2589
|
+
] }, L.key) : /* @__PURE__ */ i("div", { className: "tabbar__slot", "data-tab-cell": "", style: { flex: I }, onMouseEnter: (B) => N(B, L), onMouseMove: (B) => N(B, L), onClick: D, children: /* @__PURE__ */ h("button", { type: "button", role: "tab", "aria-selected": m, "aria-label": L.label, className: `tabbar__tab${m ? " is-on" : ""}${(c == null ? void 0 : c.k) === L.key ? " is-tip" : ""}`, children: [
|
|
2590
|
+
C && /* @__PURE__ */ i(oe, { d: C, size: 15, sw: L.sw ?? 2, className: "tabbar__icon", style: { flex: "none", transform: m && !o ? "scale(1.12)" : "none" } }),
|
|
2591
|
+
/* @__PURE__ */ i("span", { className: "tabbar__grow", "data-tab-lw": "", style: { gridTemplateColumns: f ? "1fr" : "0fr", marginLeft: f && C ? 6 : 0 }, children: /* @__PURE__ */ i("span", { className: "tabbar__label", "data-tab-l": "", style: { opacity: f ? 1 : 0, transform: f ? "none" : "translateX(-6px)" }, children: L.label }) })
|
|
2592
2592
|
] }) }, L.key);
|
|
2593
2593
|
}),
|
|
2594
2594
|
y
|
|
@@ -2596,7 +2596,7 @@ function Ci({ tabs: t, current: e, onPick: n, gap: r, fold: s = !0, side: a = !s
|
|
|
2596
2596
|
}
|
|
2597
2597
|
const fl = "M3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5M16.5 12 12 16.5m0 0L7.5 12m4.5 4.5V3", pl = "m9 9 10.5-3m0 6.553v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 1 1-.99-3.467l2.31-.66a2.25 2.25 0 0 0 1.632-2.163Zm0 0V2.25L9 5.25v10.303m0 0v3.75a2.25 2.25 0 0 1-1.632 2.163l-1.32.377a1.803 1.803 0 0 1-.99-3.467l2.31-.66A2.25 2.25 0 0 0 9 15.553Z";
|
|
2598
2598
|
function Nl({ audio: t, video: e, formats: n, onExport: r }) {
|
|
2599
|
-
const [s, a] = z(null), [o, l] = z(null), c =
|
|
2599
|
+
const [s, a] = z(null), [o, l] = z(null), c = k(void 0), u = k(!0);
|
|
2600
2600
|
U(() => (u.current = !0, () => {
|
|
2601
2601
|
u.current = !1, window.clearTimeout(c.current);
|
|
2602
2602
|
}), []);
|
|
@@ -2624,16 +2624,16 @@ function Nl({ audio: t, video: e, formats: n, onExport: r }) {
|
|
|
2624
2624
|
/* @__PURE__ */ i("span", { style: { fontSize: 13, fontWeight: 500, color: "var(--ink-96)", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: y.name }),
|
|
2625
2625
|
/* @__PURE__ */ i("span", { style: { font: "500 9.5px var(--vs-font-mono)", color: "var(--ink-40)", letterSpacing: ".04em" }, children: y.meta })
|
|
2626
2626
|
] }),
|
|
2627
|
-
/* @__PURE__ */ i(oe, { d: s === p ?
|
|
2627
|
+
/* @__PURE__ */ i(oe, { d: s === p ? ee.check : fl, size: 17, sw: 1.6, style: { flex: "none", color: s === p ? "var(--brand)" : "var(--ink-62)" } })
|
|
2628
2628
|
] })
|
|
2629
2629
|
] });
|
|
2630
2630
|
return /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column", gap: 10 }, children: [
|
|
2631
2631
|
t && N("audio", t, pl, "DOWNLOAD AUDIO"),
|
|
2632
|
-
e && N("video", e,
|
|
2632
|
+
e && N("video", e, ee.video, "DOWNLOAD VIDEO"),
|
|
2633
2633
|
n !== !1 && /* @__PURE__ */ h(xe, { children: [
|
|
2634
2634
|
/* @__PURE__ */ i(gr, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "EXPORT AS" }),
|
|
2635
2635
|
/* @__PURE__ */ i("div", { className: "fmtgrid", children: Tr.map((p) => /* @__PURE__ */ h("button", { type: "button", className: "fmtgrid__cell", title: o === p.key ? `Building the ${p.name}…` : p.note, disabled: o != null, "aria-busy": o === p.key || void 0, onClick: () => g(p.key), style: o && o !== p.key ? { opacity: 0.45 } : void 0, children: [
|
|
2636
|
-
o === p.key ? /* @__PURE__ */ i(at, { size: 16, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(oe, { d: s === p.key ?
|
|
2636
|
+
o === p.key ? /* @__PURE__ */ i(at, { size: 16, color: "var(--brand)", track: "var(--fill-12)" }) : /* @__PURE__ */ i(oe, { d: s === p.key ? ee.check : p.icon, size: 16, sw: 1.6, style: { color: s === p.key ? "var(--brand)" : "var(--ink-62)" } }),
|
|
2637
2637
|
/* @__PURE__ */ i("span", { children: p.name })
|
|
2638
2638
|
] }, p.key)) })
|
|
2639
2639
|
] })
|
|
@@ -2676,7 +2676,7 @@ function yl(t) {
|
|
|
2676
2676
|
} };
|
|
2677
2677
|
}
|
|
2678
2678
|
function Tl({ s: t }) {
|
|
2679
|
-
const [e, n] = z(!1), r =
|
|
2679
|
+
const [e, n] = z(!1), r = k(void 0);
|
|
2680
2680
|
U(() => () => window.clearTimeout(r.current), []);
|
|
2681
2681
|
const s = t.title ?? "", a = t.summary ?? "", o = () => {
|
|
2682
2682
|
var c;
|
|
@@ -2692,7 +2692,7 @@ ${a}`).catch(() => {
|
|
|
2692
2692
|
/* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", gap: 8, minHeight: 24 }, children: [
|
|
2693
2693
|
/* @__PURE__ */ i(gr, { style: { letterSpacing: ".12em", color: "var(--ink-35)" }, children: "SUMMARY" }),
|
|
2694
2694
|
t.state === "ready" && /* @__PURE__ */ h("button", { type: "button", className: "sumcopy", title: "Copy title and summary", style: { color: e ? "var(--brand)" : "var(--ink-70)" }, onClick: o, children: [
|
|
2695
|
-
/* @__PURE__ */ i(oe, { d: e ?
|
|
2695
|
+
/* @__PURE__ */ i(oe, { d: e ? ee.check : vl, size: 13, sw: 1.6 }),
|
|
2696
2696
|
e ? "Copied" : "Copy"
|
|
2697
2697
|
] })
|
|
2698
2698
|
] }),
|
|
@@ -2714,7 +2714,7 @@ function wl({ ytId: t, title: e, timeLabel: n, radius: r, style: s, large: a, ch
|
|
|
2714
2714
|
] });
|
|
2715
2715
|
}
|
|
2716
2716
|
function Ll(t = !0, e) {
|
|
2717
|
-
const n =
|
|
2717
|
+
const n = k(null), r = e ?? n;
|
|
2718
2718
|
return U(() => {
|
|
2719
2719
|
const s = r.current;
|
|
2720
2720
|
if (!s || !t) return;
|
|
@@ -2746,28 +2746,28 @@ function kl(t, e) {
|
|
|
2746
2746
|
l = l.filter((I) => I !== `!${f}`), s.includes(f) && !l.includes(f) && (l = [f, ...l]);
|
|
2747
2747
|
});
|
|
2748
2748
|
const u = (f) => (e.forcePin ?? []).includes(f) && !c.includes(f), d = a ? l.filter((f) => s.includes(f) && o.includes(f)) : [], g = s.filter((f) => !d.includes(f)), M = e.cur && e.cur !== "none" && g.includes(e.cur) ? e.cur : e.pref && g.includes(e.pref) ? e.pref : g[0] ?? null, N = (f) => {
|
|
2749
|
-
const I = g.filter((
|
|
2749
|
+
const I = g.filter((C) => C !== f);
|
|
2750
2750
|
return I[g.indexOf(f)] ?? I[I.length - 1] ?? null;
|
|
2751
2751
|
}, p = (f, I) => {
|
|
2752
2752
|
if (!o.includes(f)) return;
|
|
2753
|
-
const
|
|
2754
|
-
if (
|
|
2753
|
+
const C = d.filter((D) => D !== f);
|
|
2754
|
+
if (C.splice(I ?? C.length, 0, f), M === f) {
|
|
2755
2755
|
const D = N(f);
|
|
2756
2756
|
D && e.onPick(D);
|
|
2757
2757
|
}
|
|
2758
|
-
r([...
|
|
2758
|
+
r([...C.filter((D) => !u(D) || D === f), ...c.filter((D) => !C.includes(D) && D !== `!${f}`)]);
|
|
2759
2759
|
}, y = (f) => {
|
|
2760
2760
|
r([...c.filter((I) => I !== f && I !== `!${f}`), ...(e.autoPin ?? []).includes(f) ? [`!${f}`] : []]), e.onPick(f);
|
|
2761
2761
|
}, L = (f) => {
|
|
2762
2762
|
var I;
|
|
2763
|
-
return ((I = e.tabs.find((
|
|
2763
|
+
return ((I = e.tabs.find((C) => C.key === f)) == null ? void 0 : I.label) ?? f;
|
|
2764
2764
|
}, m = (f) => {
|
|
2765
|
-
const I = d.includes(f),
|
|
2765
|
+
const I = d.includes(f), C = s.includes(f);
|
|
2766
2766
|
return {
|
|
2767
|
-
show:
|
|
2767
|
+
show: C && (!a || I || M === f),
|
|
2768
2768
|
pinned: I,
|
|
2769
2769
|
order: I ? d.indexOf(f) + 1 : 1e3,
|
|
2770
|
-
pill: a &&
|
|
2770
|
+
pill: a && C && o.includes(f) && g.length > 0 && (I || g.length > 1),
|
|
2771
2771
|
title: I ? `Unpin — return ${L(f)} to the tabs` : `Pin ${L(f)} open above the tabs`,
|
|
2772
2772
|
toggle: () => I ? y(f) : p(f)
|
|
2773
2773
|
};
|
|
@@ -2782,7 +2782,7 @@ function jl({ col: t, order: e, render: n, grip: r, onPick: s, wrapClass: a }) {
|
|
|
2782
2782
|
const c = n(o);
|
|
2783
2783
|
return c ? /* @__PURE__ */ h("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": `${(r == null ? void 0 : r[o]) ?? 30}px` }, children: [
|
|
2784
2784
|
c,
|
|
2785
|
-
l.pill && /* @__PURE__ */ i("button", { type: "button", "data-pin-pill": "", className: `pinpill${l.pinned ? " is-on" : ""}`, title: l.title, "aria-label": l.title, "aria-pressed": l.pinned, onClick: l.toggle, children: /* @__PURE__ */ i(oe, { d:
|
|
2785
|
+
l.pill && /* @__PURE__ */ i("button", { type: "button", "data-pin-pill": "", className: `pinpill${l.pinned ? " is-on" : ""}`, title: l.title, "aria-label": l.title, "aria-pressed": l.pinned, onClick: l.toggle, children: /* @__PURE__ */ i(oe, { d: ee.pin, size: 12, sw: 2 }) })
|
|
2786
2786
|
] }, o) : null;
|
|
2787
2787
|
}),
|
|
2788
2788
|
t.tabbed && t.cur && /* @__PURE__ */ i("div", { className: "deskstrip", style: { order: 999 }, children: /* @__PURE__ */ i(Ci, { tabs: t.stripTabs, current: t.cur, onPick: (o) => {
|
|
@@ -2792,7 +2792,7 @@ function jl({ col: t, order: e, render: n, grip: r, onPick: s, wrapClass: a }) {
|
|
|
2792
2792
|
] });
|
|
2793
2793
|
}
|
|
2794
2794
|
function zl(t) {
|
|
2795
|
-
const e =
|
|
2795
|
+
const e = k(t);
|
|
2796
2796
|
e.current = t;
|
|
2797
2797
|
const n = t.id;
|
|
2798
2798
|
U(() => {
|
|
@@ -2800,61 +2800,61 @@ function zl(t) {
|
|
|
2800
2800
|
const a = (m) => {
|
|
2801
2801
|
r !== m && (r && r.removeAttribute("data-grip-hot"), r = m, m && m.setAttribute("data-grip-hot", ""));
|
|
2802
2802
|
}, o = (m) => m.col.querySelector("[data-desk-tabs]"), l = (m) => {
|
|
2803
|
-
var
|
|
2803
|
+
var X;
|
|
2804
2804
|
const f = m.el.getBoundingClientRect(), I = m.el.cloneNode(!0);
|
|
2805
2805
|
I.querySelectorAll("*").forEach((j) => {
|
|
2806
2806
|
j.style.animation = "none", j.style.transition = "none";
|
|
2807
2807
|
}), I.querySelectorAll("iframe,video").forEach((j) => {
|
|
2808
|
-
const
|
|
2809
|
-
|
|
2808
|
+
const F = document.createElement("div");
|
|
2809
|
+
F.style.cssText = "width:100%;height:100%;background:#000", j.replaceWith(F);
|
|
2810
2810
|
}), I.removeAttribute("data-panel-key"), I.querySelectorAll("[data-panel-key],[data-pin-pill]").forEach((j) => j.hasAttribute("data-pin-pill") ? j.remove() : j.removeAttribute("data-panel-key")), Object.assign(I.style, { position: "fixed", left: `${f.left}px`, top: `${f.top}px`, width: `${f.width}px`, height: `${f.height}px`, margin: "0", zIndex: "1000", pointerEvents: "none", opacity: ".95", borderRadius: "14px", boxShadow: "0 14px 36px rgba(0,0,0,.3)", animation: "none", transition: "none", cursor: "move", willChange: "transform", contain: "layout paint", overflow: "hidden" });
|
|
2811
|
-
const
|
|
2812
|
-
for (let j = 0; j <
|
|
2813
|
-
const
|
|
2814
|
-
|
|
2811
|
+
const C = getComputedStyle(m.el);
|
|
2812
|
+
for (let j = 0; j < C.length; j++) {
|
|
2813
|
+
const F = C[j];
|
|
2814
|
+
F.startsWith("--") && I.style.setProperty(F, C.getPropertyValue(F));
|
|
2815
2815
|
}
|
|
2816
|
-
I.style.fontFamily =
|
|
2817
|
-
let D = m.el.parentElement,
|
|
2818
|
-
for (; D && !
|
|
2816
|
+
I.style.fontFamily = C.fontFamily, I.style.color = C.color;
|
|
2817
|
+
let D = m.el.parentElement, B = "";
|
|
2818
|
+
for (; D && !B; ) {
|
|
2819
2819
|
const j = getComputedStyle(D).backgroundColor;
|
|
2820
|
-
j && !/rgba?\(0, 0, 0, 0\)|transparent/.test(j) && !/\/ 0\.|, 0\.\d+\)$/.test(j) && (
|
|
2820
|
+
j && !/rgba?\(0, 0, 0, 0\)|transparent/.test(j) && !/\/ 0\.|, 0\.\d+\)$/.test(j) && (B = j), D = D.parentElement;
|
|
2821
2821
|
}
|
|
2822
|
-
I.style.background =
|
|
2822
|
+
I.style.background = B || getComputedStyle(document.body).backgroundColor, document.body.appendChild(I), m.orig = [...m.col.querySelectorAll("[data-panel-key]")].map((j) => [j, j.style.order]), m.snap = {}, m.orig.forEach(([j]) => {
|
|
2823
2823
|
m.snap[j.getAttribute("data-panel-key")] = j.getBoundingClientRect();
|
|
2824
|
-
}), m.tabsSnap = ((
|
|
2824
|
+
}), m.tabsSnap = ((X = o(m)) == null ? void 0 : X.getBoundingClientRect()) ?? null;
|
|
2825
2825
|
const _ = m.col.querySelector("[data-panel-grid]");
|
|
2826
2826
|
m.grid = !!_ && getComputedStyle(_).display === "grid", m.el.classList.add("is-dragging"), document.documentElement.style.cursor = "move", document.body.style.userSelect = "none", document.body.style.webkitUserSelect = "none", Object.assign(m, { on: !0, clone: I }), a(null);
|
|
2827
2827
|
}, c = () => {
|
|
2828
2828
|
const m = s;
|
|
2829
2829
|
if (!m || !m.on || m.px == null || m.py == null) return;
|
|
2830
2830
|
m.raf = 0, m.clone.style.transform = `translate3d(${m.px - m.x0}px,${m.py - m.y0}px,0)`;
|
|
2831
|
-
const f = e.current, I = m.key,
|
|
2831
|
+
const f = e.current, I = m.key, C = o(m), D = f.seq.includes(I), B = D || f.tabKeys.length > 1, _ = C && m.tabsSnap, X = !_ || m.py < _.top + _.height / 2 ? B ? "pin" : null : "tabs";
|
|
2832
2832
|
let j = null;
|
|
2833
|
-
if (
|
|
2834
|
-
const
|
|
2835
|
-
D && f.seq.indexOf(I) === T || (j = { zone:
|
|
2836
|
-
} else
|
|
2837
|
-
const
|
|
2838
|
-
if (
|
|
2839
|
-
if (m.sig =
|
|
2840
|
-
|
|
2833
|
+
if (X === "pin") {
|
|
2834
|
+
const S = f.seq.filter((E) => E !== I).map((E) => m.snap[E]).filter(Boolean), T = m.grid ? S.filter((E) => E.bottom < m.py || E.top <= m.py && E.left + E.width / 2 < m.px).length : S.filter((E) => E.top + E.height / 2 < m.py).length;
|
|
2835
|
+
D && f.seq.indexOf(I) === T || (j = { zone: X, idx: T });
|
|
2836
|
+
} else X === "tabs" && D && (j = { zone: X });
|
|
2837
|
+
const F = j ? j.zone + (j.idx ?? "") : "";
|
|
2838
|
+
if (F !== m.sig) {
|
|
2839
|
+
if (m.sig = F, m.target = j, m.orig.forEach(([S, T]) => {
|
|
2840
|
+
S.style.order = T;
|
|
2841
2841
|
}), (j == null ? void 0 : j.zone) === "pin") {
|
|
2842
|
-
const
|
|
2843
|
-
|
|
2844
|
-
const
|
|
2845
|
-
|
|
2842
|
+
const S = f.seq.filter((T) => T !== I);
|
|
2843
|
+
S.splice(j.idx, 0, I), S.forEach((T, E) => {
|
|
2844
|
+
const O = m.col.querySelector(`[data-panel-key="${T}"]`);
|
|
2845
|
+
O && (O.style.order = String(E + 1));
|
|
2846
2846
|
});
|
|
2847
2847
|
} else (j == null ? void 0 : j.zone) === "tabs" && (m.el.style.order = "998");
|
|
2848
|
-
|
|
2848
|
+
C && ((j == null ? void 0 : j.zone) === "tabs" ? C.setAttribute("data-drop-hot", "") : C.removeAttribute("data-drop-hot"));
|
|
2849
2849
|
}
|
|
2850
2850
|
}, u = (m) => {
|
|
2851
2851
|
var I;
|
|
2852
2852
|
const f = s;
|
|
2853
|
-
if (s = null, !(!f || !f.on) && (f.raf && cancelAnimationFrame(f.raf), f.clone.remove(), f.orig.forEach(([
|
|
2854
|
-
|
|
2853
|
+
if (s = null, !(!f || !f.on) && (f.raf && cancelAnimationFrame(f.raf), f.clone.remove(), f.orig.forEach(([C, D]) => {
|
|
2854
|
+
C.style.order = D;
|
|
2855
2855
|
}), f.el.classList.remove("is-dragging"), document.documentElement.style.cursor = "", document.body.style.userSelect = "", document.body.style.webkitUserSelect = "", (I = o(f)) == null || I.removeAttribute("data-drop-hot"), m && f.target)) {
|
|
2856
|
-
const
|
|
2857
|
-
f.target.zone === "tabs" ?
|
|
2856
|
+
const C = e.current;
|
|
2857
|
+
f.target.zone === "tabs" ? C.seq.includes(f.key) && C.unpin(f.key) : C.pin(f.key, f.target.idx);
|
|
2858
2858
|
}
|
|
2859
2859
|
}, d = (m) => {
|
|
2860
2860
|
const f = m instanceof Element ? m.closest("[data-tab-col]") : null;
|
|
@@ -2874,10 +2874,10 @@ function zl(t) {
|
|
|
2874
2874
|
r && ((_ = r.closest("[data-tab-col]")) == null ? void 0 : _.getAttribute("data-tab-col")) === n && a(null);
|
|
2875
2875
|
return;
|
|
2876
2876
|
}
|
|
2877
|
-
const I = f.closest("[data-panel-key]"),
|
|
2878
|
-
if (!I || !
|
|
2879
|
-
const D =
|
|
2880
|
-
a(m.clientY >= D.top && m.clientY <= D.top +
|
|
2877
|
+
const I = f.closest("[data-panel-key]"), C = I == null ? void 0 : I.firstElementChild;
|
|
2878
|
+
if (!I || !C || !e.current.tabbed || !e.current.pinnable.includes(I.getAttribute("data-panel-key")) || f.closest("[role=button],[role=tab],button,a,input,textarea,select,iframe,[data-pin-pill],[contenteditable=true]")) return a(null);
|
|
2879
|
+
const D = C.getBoundingClientRect(), B = parseFloat(getComputedStyle(I).getPropertyValue("--grip-h")) || 30;
|
|
2880
|
+
a(m.clientY >= D.top && m.clientY <= D.top + B ? I : null);
|
|
2881
2881
|
}, M = (m) => {
|
|
2882
2882
|
if (!r || m.button !== 0) return;
|
|
2883
2883
|
const f = d(r);
|
|
@@ -2893,7 +2893,7 @@ function zl(t) {
|
|
|
2893
2893
|
}, [n]);
|
|
2894
2894
|
}
|
|
2895
2895
|
function Il({ id: t, className: e, gap: n, hidden: r, plain: s, children: a }) {
|
|
2896
|
-
const [o, l] = Qa(t), c =
|
|
2896
|
+
const [o, l] = Qa(t), c = k(null), u = k(null);
|
|
2897
2897
|
Ol(u), U(() => {
|
|
2898
2898
|
document.documentElement.style.setProperty("--colw", `${o}px`);
|
|
2899
2899
|
}, [o]);
|
|
@@ -2901,17 +2901,17 @@ function Il({ id: t, className: e, gap: n, hidden: r, plain: s, children: a }) {
|
|
|
2901
2901
|
const N = c.current, p = N == null ? void 0 : N.parentElement;
|
|
2902
2902
|
if (M.button !== 0 || !N || !p) return;
|
|
2903
2903
|
M.preventDefault();
|
|
2904
|
-
const y = M.currentTarget, L = getComputedStyle(p), m = p.clientWidth - parseFloat(L.paddingLeft) - parseFloat(L.paddingRight) - (parseFloat(L.columnGap) || 0), f = 320, I = 320,
|
|
2905
|
-
let _ =
|
|
2904
|
+
const y = M.currentTarget, L = getComputedStyle(p), m = p.clientWidth - parseFloat(L.paddingLeft) - parseFloat(L.paddingRight) - (parseFloat(L.columnGap) || 0), f = 320, I = 320, C = Math.max(f, m - I), D = M.clientX, B = N.getBoundingClientRect().width;
|
|
2905
|
+
let _ = B;
|
|
2906
2906
|
y.classList.add("is-on");
|
|
2907
|
-
const
|
|
2907
|
+
const X = { cur: document.body.style.cursor, sel: document.body.style.userSelect };
|
|
2908
2908
|
document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
|
|
2909
|
-
const j = (
|
|
2910
|
-
_ = Math.round(Math.min(
|
|
2911
|
-
},
|
|
2912
|
-
window.removeEventListener("pointermove", j), window.removeEventListener("pointerup",
|
|
2909
|
+
const j = (S) => {
|
|
2910
|
+
_ = Math.round(Math.min(C, Math.max(f, B + (D - S.clientX)))), N.style.flexBasis = `${_}px`, document.documentElement.style.setProperty("--colw", `${_}px`);
|
|
2911
|
+
}, F = () => {
|
|
2912
|
+
window.removeEventListener("pointermove", j), window.removeEventListener("pointerup", F), window.removeEventListener("pointercancel", F), document.body.style.cursor = X.cur, document.body.style.userSelect = X.sel, y.classList.remove("is-on"), l(_);
|
|
2913
2913
|
};
|
|
2914
|
-
window.addEventListener("pointermove", j), window.addEventListener("pointerup",
|
|
2914
|
+
window.addEventListener("pointermove", j), window.addEventListener("pointerup", F), window.addEventListener("pointercancel", F);
|
|
2915
2915
|
}, g = r ? { display: "none" } : void 0;
|
|
2916
2916
|
return /* @__PURE__ */ h(xe, { children: [
|
|
2917
2917
|
/* @__PURE__ */ i("div", { "aria-hidden": "true", className: "colgrip", style: { marginRight: -n, ...g }, children: /* @__PURE__ */ i("div", { className: "colgrip__bar", style: { left: -(n / 2 + 6) }, title: "Drag to resize · double-click to reset", onPointerDown: d, onDoubleClick: () => l(null) }) }),
|
|
@@ -2951,7 +2951,7 @@ function Cl(t) {
|
|
|
2951
2951
|
}
|
|
2952
2952
|
const bl = 1500, xl = 3e5;
|
|
2953
2953
|
function Dl(t) {
|
|
2954
|
-
const e = Et(), [n, r] = z(null), [s, a] = z(null), [o, l] = z(null), [c, u] = z(null), d =
|
|
2954
|
+
const e = Et(), [n, r] = z(null), [s, a] = z(null), [o, l] = z(null), [c, u] = z(null), d = k(null), g = k(null), M = k(null), N = k(0), p = Ke(() => {
|
|
2955
2955
|
M.current && (clearTimeout(M.current), M.current = null), d.current && (d.current.pause(), d.current.removeAttribute("src"), d.current.load(), d.current = null), g.current && (URL.revokeObjectURL(g.current), g.current = null);
|
|
2956
2956
|
}, []), y = Ke(() => {
|
|
2957
2957
|
N.current += 1, p(), a(null), l(null);
|
|
@@ -2965,19 +2965,19 @@ function Dl(t) {
|
|
|
2965
2965
|
N.current += 1;
|
|
2966
2966
|
const I = N.current;
|
|
2967
2967
|
if (p(), r(f.id), a(null), l(null), u(null), !t) return;
|
|
2968
|
-
let
|
|
2969
|
-
xn() === "caf" && (
|
|
2968
|
+
let C = f.previewUrl ? `${e.origin}${f.previewUrl}` : `${e.origin}/v1/voices/preview?voice=${encodeURIComponent(f.id)}&lang=${encodeURIComponent(t)}`;
|
|
2969
|
+
xn() === "caf" && (C += `${C.includes("?") ? "&" : "?"}format=caf`);
|
|
2970
2970
|
const D = Date.now();
|
|
2971
|
-
e.shareCode &&
|
|
2972
|
-
const
|
|
2971
|
+
e.shareCode && C.includes("recording=") && (C += `&shareCode=${encodeURIComponent(e.shareCode)}`);
|
|
2972
|
+
const B = async () => {
|
|
2973
2973
|
if (N.current !== I) return;
|
|
2974
2974
|
let _;
|
|
2975
2975
|
try {
|
|
2976
|
-
const
|
|
2977
|
-
_ = await fetch(
|
|
2978
|
-
} catch (
|
|
2976
|
+
const S = e.owner ? await e.bearer() : void 0;
|
|
2977
|
+
_ = await fetch(C, { headers: S ? { Authorization: `Bearer ${S}` } : {} });
|
|
2978
|
+
} catch (S) {
|
|
2979
2979
|
if (N.current !== I) return;
|
|
2980
|
-
l(null), u(Tt(
|
|
2980
|
+
l(null), u(Tt(S));
|
|
2981
2981
|
return;
|
|
2982
2982
|
}
|
|
2983
2983
|
if (N.current !== I) return;
|
|
@@ -2987,29 +2987,29 @@ function Dl(t) {
|
|
|
2987
2987
|
return;
|
|
2988
2988
|
}
|
|
2989
2989
|
l(f.id), M.current = setTimeout(() => {
|
|
2990
|
-
|
|
2990
|
+
B();
|
|
2991
2991
|
}, bl);
|
|
2992
2992
|
return;
|
|
2993
2993
|
}
|
|
2994
2994
|
if (!_.ok) {
|
|
2995
2995
|
l(null);
|
|
2996
|
-
const
|
|
2997
|
-
u((
|
|
2996
|
+
const S = await _.json().catch(() => null);
|
|
2997
|
+
u((S == null ? void 0 : S.code) === "language_unavailable" ? { message: "No voice can speak this language yet.", status: _.status } : { message: `This voice could not be previewed (${_.status}).`, status: _.status });
|
|
2998
2998
|
return;
|
|
2999
2999
|
}
|
|
3000
|
-
const
|
|
3000
|
+
const X = await _.blob();
|
|
3001
3001
|
if (N.current !== I) return;
|
|
3002
|
-
l(null), g.current = URL.createObjectURL(
|
|
3002
|
+
l(null), g.current = URL.createObjectURL(X);
|
|
3003
3003
|
const j = new Audio(g.current);
|
|
3004
3004
|
j.playsInline = !0;
|
|
3005
|
-
const
|
|
3005
|
+
const F = () => {
|
|
3006
3006
|
N.current === I && (p(), a(null));
|
|
3007
3007
|
};
|
|
3008
|
-
j.onended =
|
|
3008
|
+
j.onended = F, j.onerror = F, d.current = j, j.play().then(() => {
|
|
3009
3009
|
N.current === I && a(f.id);
|
|
3010
|
-
}).catch(
|
|
3010
|
+
}).catch(F);
|
|
3011
3011
|
};
|
|
3012
|
-
|
|
3012
|
+
B();
|
|
3013
3013
|
}, [t, p, e]);
|
|
3014
3014
|
return { armId: n, sampleId: s, dlId: o, error: c, clearError: () => u(null), arm: m, stop: y, reset: L };
|
|
3015
3015
|
}
|
|
@@ -3064,74 +3064,74 @@ function At(t, e, n) {
|
|
|
3064
3064
|
return r != null && r > e ? r : (t == null ? void 0 : t.end) != null && t.end > e ? t.end : n > e ? n : e + 4;
|
|
3065
3065
|
}
|
|
3066
3066
|
function Al({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd: o, endT: l, onGone: c, onKnown: u, lead: d, onTime: g, waiting: M = !1 }) {
|
|
3067
|
-
const N =
|
|
3067
|
+
const N = k(null), [p, y] = z(!1);
|
|
3068
3068
|
U(() => {
|
|
3069
3069
|
if (!M) {
|
|
3070
3070
|
y(!1);
|
|
3071
3071
|
return;
|
|
3072
3072
|
}
|
|
3073
|
-
const
|
|
3074
|
-
return () => clearTimeout(
|
|
3073
|
+
const W = setTimeout(() => y(!0), 300);
|
|
3074
|
+
return () => clearTimeout(W);
|
|
3075
3075
|
}, [M]);
|
|
3076
|
-
const L = r && !p, m =
|
|
3076
|
+
const L = r && !p, m = k(!1), [f, I] = z(!1), C = (W, me = []) => {
|
|
3077
3077
|
var Z, ve;
|
|
3078
|
-
if (!(m.current && (
|
|
3078
|
+
if (!(m.current && (W === "pauseVideo" || W === "seekTo" || W === "setPlaybackRate")))
|
|
3079
3079
|
try {
|
|
3080
|
-
(ve = (Z = N.current) == null ? void 0 : Z.contentWindow) == null || ve.postMessage(JSON.stringify({ event: "command", func:
|
|
3080
|
+
(ve = (Z = N.current) == null ? void 0 : Z.contentWindow) == null || ve.postMessage(JSON.stringify({ event: "command", func: W, args: me }), "*");
|
|
3081
3081
|
} catch {
|
|
3082
3082
|
}
|
|
3083
|
-
}, D =
|
|
3083
|
+
}, D = k(null), B = k(!1), _ = k(!1), X = k(!1), j = k(a);
|
|
3084
3084
|
j.current = a;
|
|
3085
|
-
const
|
|
3086
|
-
|
|
3087
|
-
const
|
|
3088
|
-
|
|
3089
|
-
const T =
|
|
3085
|
+
const F = k(d);
|
|
3086
|
+
F.current = d;
|
|
3087
|
+
const S = k(o);
|
|
3088
|
+
S.current = o;
|
|
3089
|
+
const T = k(!1), E = () => {
|
|
3090
3090
|
var me, Z;
|
|
3091
|
-
const
|
|
3092
|
-
if (
|
|
3093
|
-
if (m.current =
|
|
3094
|
-
if (
|
|
3091
|
+
const W = _.current || X.current;
|
|
3092
|
+
if (W !== m.current)
|
|
3093
|
+
if (m.current = W, I(W), (me = S.current) == null || me.call(S, W), W) {
|
|
3094
|
+
if (C("playVideo"), F.current) return;
|
|
3095
3095
|
we.current && j.current && (T.current = !0, j.current());
|
|
3096
|
-
} else T.current && !
|
|
3097
|
-
},
|
|
3098
|
-
|
|
3099
|
-
const
|
|
3100
|
-
|
|
3101
|
-
const K =
|
|
3102
|
-
|
|
3103
|
-
}, le =
|
|
3104
|
-
pe(), le.current.forEach(clearTimeout), le.current = [400, 1200, 2500, 5e3].map((
|
|
3096
|
+
} else T.current && !F.current && (T.current = !1, we.current || (Z = j.current) == null || Z.call(j));
|
|
3097
|
+
}, O = k(n);
|
|
3098
|
+
O.current = n;
|
|
3099
|
+
const te = k(g);
|
|
3100
|
+
te.current = g;
|
|
3101
|
+
const K = k(null), v = k(null), [ae, ne] = z(!0), [G, J] = z(!1), pe = () => {
|
|
3102
|
+
C("unloadModule", ["captions"]), C("unloadModule", ["cc"]);
|
|
3103
|
+
}, le = k([]), Te = () => {
|
|
3104
|
+
pe(), le.current.forEach(clearTimeout), le.current = [400, 1200, 2500, 5e3].map((W) => window.setTimeout(pe, W));
|
|
3105
3105
|
};
|
|
3106
3106
|
U(() => () => le.current.forEach(clearTimeout), []);
|
|
3107
3107
|
const je = () => {
|
|
3108
|
-
var
|
|
3108
|
+
var W, me;
|
|
3109
3109
|
try {
|
|
3110
|
-
(me = (
|
|
3110
|
+
(me = (W = N.current) == null ? void 0 : W.contentWindow) == null || me.postMessage(JSON.stringify({ event: "listening", id: "reader" }), "*");
|
|
3111
3111
|
} catch {
|
|
3112
3112
|
}
|
|
3113
|
-
(!
|
|
3113
|
+
(!F.current || F.current.muted) && C("mute"), J(!0);
|
|
3114
3114
|
};
|
|
3115
|
-
U(() => (d == null || d.bind(
|
|
3116
|
-
!d && G &&
|
|
3115
|
+
U(() => (d == null || d.bind(C), () => d == null ? void 0 : d.bind(null)), [!!d]), U(() => {
|
|
3116
|
+
!d && G && C("mute");
|
|
3117
3117
|
}, [!!d]);
|
|
3118
|
-
const Ee =
|
|
3118
|
+
const Ee = k(null), Le = k(l);
|
|
3119
3119
|
Le.current = l;
|
|
3120
|
-
const we =
|
|
3120
|
+
const we = k(L);
|
|
3121
3121
|
we.current = L;
|
|
3122
|
-
const _e =
|
|
3122
|
+
const _e = k(!1), Pe = k(c);
|
|
3123
3123
|
Pe.current = c;
|
|
3124
|
-
const Se =
|
|
3124
|
+
const Se = k(u);
|
|
3125
3125
|
Se.current = u;
|
|
3126
|
-
const
|
|
3126
|
+
const $ = k(!1), [H, A] = z(!1), b = (W) => {
|
|
3127
3127
|
const me = Ee.current;
|
|
3128
|
-
return !!me && (
|
|
3129
|
-
},
|
|
3130
|
-
|
|
3128
|
+
return !!me && (W < me.start - 1 || W > me.end + 5);
|
|
3129
|
+
}, V = () => {
|
|
3130
|
+
b(O.current) || C("seekTo", [O.current, !0]);
|
|
3131
3131
|
}, ce = () => K.current;
|
|
3132
3132
|
return U(() => {
|
|
3133
|
-
const
|
|
3134
|
-
var Ge, Ae, ge, Ye, Ve,
|
|
3133
|
+
const W = (me) => {
|
|
3134
|
+
var Ge, Ae, ge, Ye, Ve, Q, he, ue, ie, fe, Ue, Y, R, q, re, de;
|
|
3135
3135
|
if (me.source !== ((Ge = N.current) == null ? void 0 : Ge.contentWindow) || typeof me.data != "string") return;
|
|
3136
3136
|
let Z = null;
|
|
3137
3137
|
try {
|
|
@@ -3139,53 +3139,53 @@ function Al({ ytId: t, title: e, t: n, playing: r, seekN: s, onToggle: a, onAd:
|
|
|
3139
3139
|
} catch {
|
|
3140
3140
|
return;
|
|
3141
3141
|
}
|
|
3142
|
-
(ge = (Ae = Z == null ? void 0 : Z.info) == null ? void 0 : Ae.videoData) != null && ge.isLive && (
|
|
3142
|
+
(ge = (Ae = Z == null ? void 0 : Z.info) == null ? void 0 : Ae.videoData) != null && ge.isLive && (B.current = !0);
|
|
3143
3143
|
const ve = (Ye = Z == null ? void 0 : Z.info) == null ? void 0 : Ye.duration;
|
|
3144
|
-
typeof ve == "number" && ve > 0 && !
|
|
3144
|
+
typeof ve == "number" && ve > 0 && !B.current && (D.current == null ? D.current = ve : (_.current = Math.abs(ve - D.current) > 1.5, E())), (Z == null ? void 0 : Z.event) === "onReady" && ((!F.current || F.current.muted) && C("mute"), Te(), (Ve = F.current) == null || Ve.onInfo({ ready: !0 })), typeof ((Q = Z == null ? void 0 : Z.info) == null ? void 0 : Q.playerState) == "number" && (Z.info.playerState !== v.current && (Z.info.playerState === 1 || Z.info.playerState === 2) && Te(), v.current = Z.info.playerState, ne(Z.info.playerState !== 1 && Z.info.playerState !== 3), (he = F.current) == null || he.onInfo({ state: Z.info.playerState }));
|
|
3145
3145
|
const ze = (ue = Z == null ? void 0 : Z.info) == null ? void 0 : ue.progressState;
|
|
3146
3146
|
if (ze && typeof ze.seekableStart == "number" && typeof ze.seekableEnd == "number" && ze.seekableEnd > ze.seekableStart) {
|
|
3147
3147
|
const Oe = Ee.current == null;
|
|
3148
|
-
if (Ee.current = { start: ze.seekableStart, end: ze.seekableEnd }, Oe && !we.current && (
|
|
3149
|
-
|
|
3148
|
+
if (Ee.current = { start: ze.seekableStart, end: ze.seekableEnd }, Oe && !we.current && (C("pauseVideo"), b(O.current) || C("seekTo", [O.current, !0])), !$.current && Le.current != null) {
|
|
3149
|
+
$.current = !0;
|
|
3150
3150
|
const ye = Le.current < ze.seekableStart - 1;
|
|
3151
3151
|
(ie = Se.current) == null || ie.call(Se, ye), ye && ((fe = Pe.current) == null || fe.call(Pe));
|
|
3152
3152
|
}
|
|
3153
3153
|
}
|
|
3154
|
-
typeof ((Ue = Z == null ? void 0 : Z.info) == null ? void 0 : Ue.currentTime) == "number" && (K.current = Z.info.currentTime, (Y =
|
|
3154
|
+
typeof ((Ue = Z == null ? void 0 : Z.info) == null ? void 0 : Ue.currentTime) == "number" && (K.current = Z.info.currentTime, (Y = F.current) == null || Y.onInfo({ t: Z.info.currentTime }), !m.current && v.current === 1 && ((R = te.current) == null || R.call(te, Z.info.currentTime))), ((q = Z == null ? void 0 : Z.info) == null ? void 0 : q.muted) === !1 && !F.current && C("mute"), typeof ((re = Z == null ? void 0 : Z.info) == null ? void 0 : re.muted) == "boolean" && ((de = F.current) == null || de.onInfo({ muted: Z.info.muted }));
|
|
3155
3155
|
};
|
|
3156
|
-
return window.addEventListener("message",
|
|
3156
|
+
return window.addEventListener("message", W), () => window.removeEventListener("message", W);
|
|
3157
3157
|
}, []), U(() => {
|
|
3158
3158
|
if (d) return;
|
|
3159
|
-
const
|
|
3160
|
-
|
|
3159
|
+
const W = b(n);
|
|
3160
|
+
W !== H && (A(W), W ? C("pauseVideo") : G && (C("seekTo", [n, !0]), L && C("playVideo")));
|
|
3161
3161
|
}), U(() => {
|
|
3162
|
-
if (!G ||
|
|
3162
|
+
if (!G || H || d) return;
|
|
3163
3163
|
if (!L && Ee.current == null && !_e.current) {
|
|
3164
|
-
_e.current = !0,
|
|
3164
|
+
_e.current = !0, C("seekTo", [O.current, !0]), C("playVideo");
|
|
3165
3165
|
return;
|
|
3166
3166
|
}
|
|
3167
|
-
const
|
|
3168
|
-
L && (
|
|
3169
|
-
}, [L, G,
|
|
3170
|
-
if (!G || s === 0 ||
|
|
3171
|
-
const
|
|
3172
|
-
(
|
|
3167
|
+
const W = ce();
|
|
3168
|
+
L && (W == null || Math.abs(W - O.current) > 1.5) && V(), C(L ? "playVideo" : "pauseVideo");
|
|
3169
|
+
}, [L, G, H]), U(() => {
|
|
3170
|
+
if (!G || s === 0 || H || d) return;
|
|
3171
|
+
const W = ce();
|
|
3172
|
+
(W == null || Math.abs(W - O.current) > 0.5) && V(), L || C("pauseVideo");
|
|
3173
3173
|
}, [s, G]), U(() => {
|
|
3174
3174
|
if (!G) return;
|
|
3175
|
-
let
|
|
3175
|
+
let W = null, me = 0;
|
|
3176
3176
|
const Z = setInterval(() => {
|
|
3177
3177
|
const ve = K.current;
|
|
3178
|
-
me =
|
|
3178
|
+
me = v.current === 1 && ve != null && W != null && Math.abs(ve - W) < 0.05 ? me + 1 : 0, W = ve;
|
|
3179
3179
|
const ze = me >= 3;
|
|
3180
|
-
ze !==
|
|
3180
|
+
ze !== X.current && (X.current = ze, E());
|
|
3181
3181
|
}, 1e3);
|
|
3182
3182
|
return () => clearInterval(Z);
|
|
3183
3183
|
}, [G]), /* @__PURE__ */ h("div", { className: `txyt${f ? " txyt--ad" : ""}`, children: [
|
|
3184
3184
|
/* @__PURE__ */ i("iframe", { ref: N, onLoad: je, referrerPolicy: "strict-origin-when-cross-origin", src: `https://www.youtube-nocookie.com/embed/${t}?enablejsapi=1&mute=1&controls=0&rel=0&modestbranding=1&playsinline=1&iv_load_policy=3`, title: e, allow: "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" }),
|
|
3185
3185
|
!f && /* @__PURE__ */ i("div", { "aria-hidden": "true", className: "txyt__tap", onClick: a, style: { cursor: a ? "pointer" : "default" } }),
|
|
3186
|
-
/* @__PURE__ */ i("div", { className: `txyt__paused${ae && !f && !
|
|
3186
|
+
/* @__PURE__ */ i("div", { className: `txyt__paused${ae && !f && !H ? " txyt__paused--on" : ""}`, "aria-hidden": "true", children: /* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(jr, { size: 44 }) }) }),
|
|
3187
3187
|
f && /* @__PURE__ */ i("div", { className: "txyt__ad", "aria-live": "polite", children: "Ad on YouTube · the transcript carries on after it" }),
|
|
3188
|
-
|
|
3188
|
+
H && /* @__PURE__ */ h("div", { className: "txyt__gone", children: [
|
|
3189
3189
|
/* @__PURE__ */ i("span", { children: "YouTube no longer has this part of the broadcast" }),
|
|
3190
3190
|
/* @__PURE__ */ i("small", { children: "A live stream can be rewound only 12 hours" })
|
|
3191
3191
|
] })
|
|
@@ -3197,19 +3197,19 @@ const El = /* @__PURE__ */ h(xe, { children: [
|
|
|
3197
3197
|
] }), _l = /* @__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" });
|
|
3198
3198
|
function Yl({ player: t, size: e }) {
|
|
3199
3199
|
const n = t.muted ? "Unmute" : "Mute";
|
|
3200
|
-
return /* @__PURE__ */ i("button", { type: "button", className: `mutebtn${e < 36 ? " mutebtn--sm" : e > 36 ? " mutebtn--lg" : ""}`, "aria-label": n, title: n, "aria-pressed": t.muted, onClick: t.toggleMute, children: /* @__PURE__ */ i(oe, { d: t.muted ?
|
|
3200
|
+
return /* @__PURE__ */ i("button", { type: "button", className: `mutebtn${e < 36 ? " mutebtn--sm" : e > 36 ? " mutebtn--lg" : ""}`, "aria-label": n, title: n, "aria-pressed": t.muted, onClick: t.toggleMute, children: /* @__PURE__ */ i(oe, { d: t.muted ? ee.volumeOff : ee.volume, size: 17, sw: 1.6, style: { color: t.muted ? "var(--ink-38)" : "var(--ink-70)" } }) });
|
|
3201
3201
|
}
|
|
3202
3202
|
function Ul() {
|
|
3203
|
-
const [t, e] = z(""), n =
|
|
3203
|
+
const [t, e] = z(""), n = k(null), r = Ke((s) => {
|
|
3204
3204
|
clearTimeout(n.current), e(s), n.current = setTimeout(() => e(""), 3e3);
|
|
3205
3205
|
}, []);
|
|
3206
3206
|
return U(() => () => clearTimeout(n.current), []), [t, r];
|
|
3207
3207
|
}
|
|
3208
3208
|
const Rl = 0.2, Pl = 140, Ql = 320;
|
|
3209
3209
|
function $l(t, e) {
|
|
3210
|
-
const n =
|
|
3210
|
+
const n = k(t);
|
|
3211
3211
|
n.current = t;
|
|
3212
|
-
const r =
|
|
3212
|
+
const r = k(0), s = k(1), a = Ke((o, l) => {
|
|
3213
3213
|
cancelAnimationFrame(r.current);
|
|
3214
3214
|
const c = s.current, u = performance.now(), d = () => {
|
|
3215
3215
|
const g = l > 0 ? Math.min(1, (performance.now() - u) / l) : 1;
|
|
@@ -3228,60 +3228,60 @@ function $l(t, e) {
|
|
|
3228
3228
|
}
|
|
3229
3229
|
function Bl(t, e, n, r) {
|
|
3230
3230
|
var Se;
|
|
3231
|
-
const s =
|
|
3231
|
+
const s = k(null), a = k(!1), o = k(!1), [l, c] = z(null), [u, d] = z(!0), g = k(!0), M = k(!1), [N, p] = z(0), y = k(0);
|
|
3232
3232
|
y.current = N;
|
|
3233
|
-
const L =
|
|
3233
|
+
const L = k({ t: 0, at: 0 }), m = k(n);
|
|
3234
3234
|
m.current = n;
|
|
3235
|
-
const f =
|
|
3235
|
+
const f = k(r);
|
|
3236
3236
|
f.current = r;
|
|
3237
|
-
const [I,
|
|
3238
|
-
D.current =
|
|
3239
|
-
}, _ = (
|
|
3237
|
+
const [I, C] = z(!1), D = k(!1), B = ($) => {
|
|
3238
|
+
D.current = $, C($);
|
|
3239
|
+
}, _ = ($, H) => {
|
|
3240
3240
|
var A;
|
|
3241
|
-
return (A = s.current) == null ? void 0 : A.call(s,
|
|
3242
|
-
},
|
|
3241
|
+
return (A = s.current) == null ? void 0 : A.call(s, $, H);
|
|
3242
|
+
}, X = l === 1 || l === 3, j = k(null), F = k(null), S = Ie(() => ({
|
|
3243
3243
|
muted: !0,
|
|
3244
|
-
bind: (
|
|
3245
|
-
s.current =
|
|
3244
|
+
bind: ($) => {
|
|
3245
|
+
s.current = $, $ || (a.current = !1);
|
|
3246
3246
|
},
|
|
3247
|
-
onInfo: (
|
|
3248
|
-
if (
|
|
3249
|
-
const
|
|
3250
|
-
L.current = { t:
|
|
3247
|
+
onInfo: ($) => {
|
|
3248
|
+
if ($.ready && !a.current && (a.current = !0, o.current && (o.current = !1, _("playVideo"))), typeof $.state == "number" && (j.current = $.state, c($.state)), typeof $.muted == "boolean" && (F.current = $.muted), typeof $.t == "number") {
|
|
3249
|
+
const H = $.t - m.current;
|
|
3250
|
+
L.current = { t: H, at: performance.now() }, H < y.current && y.current - H < 0.35 || p(Math.max(0, H));
|
|
3251
3251
|
}
|
|
3252
3252
|
}
|
|
3253
3253
|
}), []);
|
|
3254
|
-
|
|
3254
|
+
S.muted = g.current || M.current, U(() => {
|
|
3255
3255
|
if (l !== 1) return;
|
|
3256
|
-
let
|
|
3257
|
-
const
|
|
3258
|
-
const A = L.current,
|
|
3259
|
-
if (f.current != null &&
|
|
3260
|
-
|
|
3256
|
+
let $ = 0;
|
|
3257
|
+
const H = () => {
|
|
3258
|
+
const A = L.current, b = A.t + Math.min(1.2, (performance.now() - A.at) / 1e3);
|
|
3259
|
+
if (f.current != null && b >= f.current) {
|
|
3260
|
+
B(!0), _("pauseVideo"), p(b);
|
|
3261
3261
|
return;
|
|
3262
3262
|
}
|
|
3263
|
-
|
|
3263
|
+
b > y.current && p(b), $ = requestAnimationFrame(H);
|
|
3264
3264
|
};
|
|
3265
|
-
return
|
|
3265
|
+
return $ = requestAnimationFrame(H), () => cancelAnimationFrame($);
|
|
3266
3266
|
}, [l]), U(() => {
|
|
3267
|
-
!I || r == null || r < N + 1.5 || (
|
|
3267
|
+
!I || r == null || r < N + 1.5 || (B(!1), _("playVideo"));
|
|
3268
3268
|
}, [I, r, N]), U(() => {
|
|
3269
|
-
r == null && D.current && (
|
|
3269
|
+
r == null && D.current && (B(!1), _("playVideo"));
|
|
3270
3270
|
}, [r]);
|
|
3271
|
-
const T = t.length ? ((Se = t[t.length - 1].words[t[t.length - 1].words.length - 1]) == null ? void 0 : Se.end) ?? t[t.length - 1].start + 4 : 0,
|
|
3271
|
+
const T = t.length ? ((Se = t[t.length - 1].words[t[t.length - 1].words.length - 1]) == null ? void 0 : Se.end) ?? t[t.length - 1].start + 4 : 0, E = e || T || 1, O = Ie(() => {
|
|
3272
3272
|
if (!t.length) return 0;
|
|
3273
|
-
let
|
|
3274
|
-
for (let
|
|
3275
|
-
return
|
|
3276
|
-
}, [t, N]), [
|
|
3277
|
-
const
|
|
3278
|
-
_("seekTo", [
|
|
3279
|
-
}, ae =
|
|
3280
|
-
window.clearTimeout(
|
|
3281
|
-
!ae.current ||
|
|
3273
|
+
let $ = 0;
|
|
3274
|
+
for (let H = 0; H < t.length; H++) t[H].start <= N + 0.05 && ($ = H);
|
|
3275
|
+
return $;
|
|
3276
|
+
}, [t, N]), [te, K] = z(0), v = ($) => {
|
|
3277
|
+
const H = Math.max(0, f.current != null ? Math.min($, Math.max(0, f.current - 0.5)) : $);
|
|
3278
|
+
_("seekTo", [H + m.current, !0]), L.current = { t: H, at: performance.now() }, p(H), K((A) => A + 1);
|
|
3279
|
+
}, ae = k(!1), ne = k(void 0), G = ($) => {
|
|
3280
|
+
window.clearTimeout(ne.current), ne.current = window.setTimeout(() => {
|
|
3281
|
+
!ae.current || $ <= 0 || j.current === 1 || j.current === 3 || (_("playVideo"), G($ - 1));
|
|
3282
3282
|
}, 1200);
|
|
3283
3283
|
};
|
|
3284
|
-
U(() => () => window.clearTimeout(
|
|
3284
|
+
U(() => () => window.clearTimeout(ne.current), []);
|
|
3285
3285
|
const J = () => {
|
|
3286
3286
|
if (ae.current = !0, !a.current) {
|
|
3287
3287
|
o.current = !0;
|
|
@@ -3289,72 +3289,72 @@ function Bl(t, e, n, r) {
|
|
|
3289
3289
|
}
|
|
3290
3290
|
_("playVideo"), G(3);
|
|
3291
3291
|
}, pe = () => {
|
|
3292
|
-
ae.current = !1, window.clearTimeout(
|
|
3292
|
+
ae.current = !1, window.clearTimeout(ne.current), o.current = !1, B(!1), _("pauseVideo");
|
|
3293
3293
|
}, le = () => {
|
|
3294
3294
|
if (!a.current) {
|
|
3295
3295
|
o.current = !0;
|
|
3296
3296
|
return;
|
|
3297
3297
|
}
|
|
3298
|
-
if (
|
|
3298
|
+
if (X) {
|
|
3299
3299
|
pe();
|
|
3300
3300
|
return;
|
|
3301
3301
|
}
|
|
3302
3302
|
if (D.current) {
|
|
3303
|
-
|
|
3303
|
+
B(!1);
|
|
3304
3304
|
return;
|
|
3305
3305
|
}
|
|
3306
|
-
N >=
|
|
3307
|
-
}, Te = (
|
|
3308
|
-
const
|
|
3309
|
-
|
|
3310
|
-
}, je =
|
|
3311
|
-
const
|
|
3312
|
-
|
|
3313
|
-
}, Le = (
|
|
3314
|
-
g.current =
|
|
3315
|
-
}, we = (
|
|
3316
|
-
M.current !==
|
|
3306
|
+
N >= E - 0.25 && v(0), J();
|
|
3307
|
+
}, Te = ($) => {
|
|
3308
|
+
const H = t[Math.max(0, Math.min(t.length - 1, $))];
|
|
3309
|
+
H && v(H.start);
|
|
3310
|
+
}, je = k(!1), Ee = () => {
|
|
3311
|
+
const $ = g.current || M.current;
|
|
3312
|
+
S.muted = $, _($ ? "mute" : "unMute");
|
|
3313
|
+
}, Le = ($) => {
|
|
3314
|
+
g.current = $, d($), Ee();
|
|
3315
|
+
}, we = ($) => {
|
|
3316
|
+
M.current !== !$ && (M.current = !$, Ee());
|
|
3317
3317
|
};
|
|
3318
3318
|
return { player: {
|
|
3319
3319
|
autoplay: async () => {
|
|
3320
|
-
const
|
|
3321
|
-
for (let
|
|
3320
|
+
const $ = (A) => new Promise((b) => setTimeout(b, A)), H = async (A, b) => {
|
|
3321
|
+
for (let V = 0; V < b / 250 && !A(); V++) await $(250);
|
|
3322
3322
|
return A();
|
|
3323
3323
|
};
|
|
3324
|
-
if (!await
|
|
3324
|
+
if (!await H(() => a.current, 1e4)) return null;
|
|
3325
3325
|
Le(!0);
|
|
3326
3326
|
for (let A = 0; A < 5 && j.current !== 1; A++)
|
|
3327
|
-
_("playVideo"), await
|
|
3328
|
-
return j.current !== 1 ? null : M.current ? (Le(!0), !1) : (Le(!1), await
|
|
3327
|
+
_("playVideo"), await H(() => j.current === 1, 1500);
|
|
3328
|
+
return j.current !== 1 ? null : M.current ? (Le(!0), !1) : (Le(!1), await $(1200), j.current === 1 && F.current === !1 ? !0 : (Le(!0), _("playVideo"), !1));
|
|
3329
3329
|
},
|
|
3330
|
-
playing:
|
|
3330
|
+
playing: X,
|
|
3331
3331
|
ended: l === 0,
|
|
3332
3332
|
t: N,
|
|
3333
|
-
idx:
|
|
3334
|
-
dur:
|
|
3333
|
+
idx: O,
|
|
3334
|
+
dur: E,
|
|
3335
3335
|
muted: u,
|
|
3336
|
-
seekN:
|
|
3336
|
+
seekN: te,
|
|
3337
3337
|
toggle: le,
|
|
3338
3338
|
seekRow: Te,
|
|
3339
3339
|
toggleMute: () => {
|
|
3340
|
-
const
|
|
3341
|
-
Le(
|
|
3340
|
+
const $ = !g.current;
|
|
3341
|
+
Le($), !$ && !M.current && j.current === 1 && setTimeout(() => {
|
|
3342
3342
|
j.current === 2 && !g.current && (Le(!0), _("playVideo"));
|
|
3343
3343
|
}, 900);
|
|
3344
3344
|
},
|
|
3345
|
-
seekFrac: (
|
|
3346
|
-
seekWord: (
|
|
3347
|
-
playRow: (
|
|
3348
|
-
Te(
|
|
3345
|
+
seekFrac: ($) => v(Math.max(0, Math.min(1, $)) * E),
|
|
3346
|
+
seekWord: ($) => v($.start),
|
|
3347
|
+
playRow: ($) => {
|
|
3348
|
+
Te($), X || J();
|
|
3349
3349
|
},
|
|
3350
3350
|
stop: () => {
|
|
3351
|
-
pe(),
|
|
3351
|
+
pe(), v(0);
|
|
3352
3352
|
},
|
|
3353
|
-
engaged:
|
|
3354
|
-
prev: () => Te(
|
|
3355
|
-
next: () => Te(
|
|
3353
|
+
engaged: X || N > 0,
|
|
3354
|
+
prev: () => Te(O - 1),
|
|
3355
|
+
next: () => Te(O + 1),
|
|
3356
3356
|
hold: () => {
|
|
3357
|
-
|
|
3357
|
+
X && (_("pauseVideo"), je.current = !0);
|
|
3358
3358
|
},
|
|
3359
3359
|
release: () => {
|
|
3360
3360
|
je.current && (je.current = !1, J());
|
|
@@ -3366,161 +3366,161 @@ function Bl(t, e, n, r) {
|
|
|
3366
3366
|
edgeWait: I,
|
|
3367
3367
|
wordSync: !0,
|
|
3368
3368
|
pause: pe,
|
|
3369
|
-
setVolume: (
|
|
3370
|
-
}, lead:
|
|
3369
|
+
setVolume: ($) => _("setVolume", [Math.round($ * 100)])
|
|
3370
|
+
}, lead: S, setVideoSound: we };
|
|
3371
3371
|
}
|
|
3372
3372
|
function Vl(t, e, n, r, s = 0, a = null) {
|
|
3373
3373
|
var A;
|
|
3374
|
-
const o =
|
|
3374
|
+
const o = k(null), [l, c] = z(!1), [u, d] = z(0), [g, M] = z(!1), N = k(g);
|
|
3375
3375
|
N.current = g;
|
|
3376
|
-
const p =
|
|
3376
|
+
const p = k(!1), [y, L] = z(null), [m, f] = z(!1), I = k(s);
|
|
3377
3377
|
I.current = s;
|
|
3378
|
-
const
|
|
3378
|
+
const C = k(null), [D, B] = z(0);
|
|
3379
3379
|
U(() => {
|
|
3380
3380
|
f(!1);
|
|
3381
|
-
const
|
|
3382
|
-
if (
|
|
3381
|
+
const b = C.current;
|
|
3382
|
+
if (C.current = null, b || d(0), !t) {
|
|
3383
3383
|
c(!1), o.current = null;
|
|
3384
3384
|
return;
|
|
3385
3385
|
}
|
|
3386
|
-
const
|
|
3387
|
-
return
|
|
3388
|
-
f(!0),
|
|
3389
|
-
|
|
3386
|
+
const V = ci(t), ce = I.current;
|
|
3387
|
+
return V.preload = "metadata", V.muted = N.current || p.current, V.onplay = () => c(!0), V.onpause = () => c(!1), V.onended = () => c(!1), V.onloadedmetadata = () => {
|
|
3388
|
+
f(!0), V.currentTime = ((b == null ? void 0 : b.t) ?? 0) + ce, b != null && b.playing && V.play().catch((W) => {
|
|
3389
|
+
b.asked && (W == null ? void 0 : W.name) === "NotAllowedError" || L(Tt(W));
|
|
3390
3390
|
});
|
|
3391
|
-
},
|
|
3391
|
+
}, V.onerror = () => {
|
|
3392
3392
|
c(!1);
|
|
3393
|
-
const
|
|
3393
|
+
const W = V.error, me = Sa(W, !1);
|
|
3394
3394
|
Ca(t).then((Z) => {
|
|
3395
|
-
Cl(Z == null ? void 0 : Z.message) || oi(
|
|
3395
|
+
Cl(Z == null ? void 0 : Z.message) || oi(W), o.current === V && (L({ message: (Z == null ? void 0 : Z.message) ?? me }), Z != null && Z.permanent || (o.current = null));
|
|
3396
3396
|
});
|
|
3397
|
-
}, o.current =
|
|
3398
|
-
|
|
3397
|
+
}, o.current = V, () => {
|
|
3398
|
+
C.current = { t: Math.max(0, V.currentTime - ce), playing: !V.paused && !V.ended }, V.pause(), V.onplay = V.onpause = V.onended = V.onloadedmetadata = V.onerror = null, o.current = null;
|
|
3399
3399
|
};
|
|
3400
3400
|
}, [t, D]), U(() => () => {
|
|
3401
|
-
|
|
3401
|
+
C.current = null;
|
|
3402
3402
|
}, []);
|
|
3403
|
-
const _ = n.length ? ((A = n[n.length - 1].words[n[n.length - 1].words.length - 1]) == null ? void 0 : A.end) ?? n[n.length - 1].start + 4 : 0,
|
|
3404
|
-
|
|
3405
|
-
const
|
|
3406
|
-
|
|
3407
|
-
const T =
|
|
3403
|
+
const _ = n.length ? ((A = n[n.length - 1].words[n[n.length - 1].words.length - 1]) == null ? void 0 : A.end) ?? n[n.length - 1].start + 4 : 0, X = s > 0 || r != null && m && o.current != null && Number.isFinite(o.current.duration) && o.current.duration > r + 1, j = !X && m && o.current && Number.isFinite(o.current.duration) && o.current.duration || r || _ || 1, F = k(j);
|
|
3404
|
+
F.current = j;
|
|
3405
|
+
const S = k(X);
|
|
3406
|
+
S.current = X;
|
|
3407
|
+
const T = k(a);
|
|
3408
3408
|
T.current = a;
|
|
3409
|
-
const [
|
|
3410
|
-
|
|
3409
|
+
const [E, O] = z(!1), te = k(!1), K = (b) => {
|
|
3410
|
+
te.current = b, O(b);
|
|
3411
3411
|
};
|
|
3412
3412
|
U(() => {
|
|
3413
|
-
var
|
|
3414
|
-
a == null &&
|
|
3413
|
+
var b;
|
|
3414
|
+
a == null && te.current && (K(!1), (b = o.current) == null || b.play().catch(() => {
|
|
3415
3415
|
}));
|
|
3416
3416
|
}, [a]), U(() => {
|
|
3417
|
-
var
|
|
3418
|
-
!
|
|
3417
|
+
var b;
|
|
3418
|
+
!E || a == null || a < u + 1.5 || (K(!1), (b = o.current) == null || b.play().catch(() => {
|
|
3419
3419
|
}));
|
|
3420
|
-
}, [
|
|
3420
|
+
}, [E, a, u]), U(() => {
|
|
3421
3421
|
if (!l) return;
|
|
3422
|
-
let
|
|
3423
|
-
const
|
|
3422
|
+
let b = 0;
|
|
3423
|
+
const V = () => {
|
|
3424
3424
|
const ce = o.current;
|
|
3425
3425
|
if (ce) {
|
|
3426
|
-
const
|
|
3427
|
-
if (
|
|
3428
|
-
ce.pause(), d(
|
|
3426
|
+
const W = ce.currentTime - I.current;
|
|
3427
|
+
if (S.current && W >= F.current) {
|
|
3428
|
+
ce.pause(), d(F.current);
|
|
3429
3429
|
return;
|
|
3430
3430
|
}
|
|
3431
|
-
if (T.current != null &&
|
|
3432
|
-
K(!0), ce.pause(), d(
|
|
3431
|
+
if (T.current != null && W >= T.current) {
|
|
3432
|
+
K(!0), ce.pause(), d(W);
|
|
3433
3433
|
return;
|
|
3434
3434
|
}
|
|
3435
|
-
d(
|
|
3435
|
+
d(W);
|
|
3436
3436
|
}
|
|
3437
|
-
|
|
3437
|
+
b = requestAnimationFrame(V);
|
|
3438
3438
|
};
|
|
3439
|
-
return
|
|
3439
|
+
return b = requestAnimationFrame(V), () => cancelAnimationFrame(b);
|
|
3440
3440
|
}, [l]);
|
|
3441
|
-
const
|
|
3441
|
+
const v = Ie(() => {
|
|
3442
3442
|
if (!n.length) return 0;
|
|
3443
|
-
let
|
|
3444
|
-
for (let
|
|
3445
|
-
return
|
|
3446
|
-
}, [n, u]), [ae,
|
|
3447
|
-
const
|
|
3448
|
-
d(
|
|
3449
|
-
}, J = (
|
|
3450
|
-
(
|
|
3443
|
+
let b = 0;
|
|
3444
|
+
for (let V = 0; V < n.length; V++) n[V].start <= u + 0.05 && (b = V);
|
|
3445
|
+
return b;
|
|
3446
|
+
}, [n, u]), [ae, ne] = z(0), G = (b) => {
|
|
3447
|
+
const V = T.current != null ? Math.min(b, Math.max(0, T.current - 0.5)) : b, ce = o.current;
|
|
3448
|
+
d(V), ce && (ce.currentTime = V + I.current), ne((W) => W + 1);
|
|
3449
|
+
}, J = (b) => {
|
|
3450
|
+
(b == null ? void 0 : b.name) !== "AbortError" && L(Tt(b));
|
|
3451
3451
|
}, pe = () => {
|
|
3452
|
-
var
|
|
3453
|
-
const
|
|
3454
|
-
if (!
|
|
3452
|
+
var V;
|
|
3453
|
+
const b = o.current;
|
|
3454
|
+
if (!b) {
|
|
3455
3455
|
if (!t && e) {
|
|
3456
|
-
|
|
3456
|
+
C.current = (V = C.current) != null && V.asked ? null : { t: u, playing: !0, asked: !0 };
|
|
3457
3457
|
return;
|
|
3458
3458
|
}
|
|
3459
|
-
t &&
|
|
3459
|
+
t && B((ce) => ce + 1), L({ message: e ? "The audio player is not ready yet — try again in a moment." : "There is no audio for this transcription." });
|
|
3460
3460
|
return;
|
|
3461
3461
|
}
|
|
3462
3462
|
if (l) {
|
|
3463
|
-
|
|
3463
|
+
b.pause();
|
|
3464
3464
|
return;
|
|
3465
3465
|
}
|
|
3466
|
-
if (
|
|
3466
|
+
if (te.current) {
|
|
3467
3467
|
K(!1);
|
|
3468
3468
|
return;
|
|
3469
3469
|
}
|
|
3470
|
-
|
|
3471
|
-
}, le = (
|
|
3472
|
-
const
|
|
3473
|
-
|
|
3474
|
-
}, Te = (
|
|
3475
|
-
const
|
|
3476
|
-
G(
|
|
3470
|
+
b.currentTime < I.current && (b.currentTime = I.current), u >= j - 0.25 && G(0), b.play().catch(J);
|
|
3471
|
+
}, le = (b) => {
|
|
3472
|
+
const V = n[Math.max(0, Math.min(n.length - 1, b))];
|
|
3473
|
+
V && G(V.start);
|
|
3474
|
+
}, Te = (b) => G(Math.max(0, Math.min(1, b)) * j), je = (b) => {
|
|
3475
|
+
const V = Ln(b, n, j);
|
|
3476
|
+
G(V.t);
|
|
3477
3477
|
const ce = o.current;
|
|
3478
3478
|
if (ce) {
|
|
3479
|
-
if (!
|
|
3479
|
+
if (!V.playing) {
|
|
3480
3480
|
ce.pause();
|
|
3481
3481
|
return;
|
|
3482
3482
|
}
|
|
3483
3483
|
K(!1), ce.play().catch(J);
|
|
3484
3484
|
}
|
|
3485
|
-
}, Ee = (
|
|
3486
|
-
le(
|
|
3487
|
-
const
|
|
3488
|
-
|
|
3489
|
-
}, we =
|
|
3490
|
-
var
|
|
3491
|
-
l && ((
|
|
3485
|
+
}, Ee = (b) => G(b.start), Le = (b) => {
|
|
3486
|
+
le(b);
|
|
3487
|
+
const V = o.current;
|
|
3488
|
+
V && V.paused && V.play().catch(J);
|
|
3489
|
+
}, we = k(!1), _e = k(0), Pe = () => {
|
|
3490
|
+
var b;
|
|
3491
|
+
l && ((b = o.current) == null || b.pause(), we.current = !0);
|
|
3492
3492
|
}, Se = () => {
|
|
3493
|
-
var
|
|
3494
|
-
we.current && (we.current = !1, (
|
|
3493
|
+
var b;
|
|
3494
|
+
we.current && (we.current = !1, (b = o.current) == null || b.play().catch(J));
|
|
3495
3495
|
};
|
|
3496
3496
|
return {
|
|
3497
3497
|
autoplay: async () => {
|
|
3498
|
-
const
|
|
3499
|
-
if (!
|
|
3500
|
-
|
|
3501
|
-
const
|
|
3502
|
-
N.current = ce,
|
|
3498
|
+
const b = o.current;
|
|
3499
|
+
if (!b) return null;
|
|
3500
|
+
b.currentTime < I.current && (b.currentTime = I.current);
|
|
3501
|
+
const V = (ce) => {
|
|
3502
|
+
N.current = ce, b.muted = ce || p.current, M(ce);
|
|
3503
3503
|
};
|
|
3504
3504
|
try {
|
|
3505
|
-
return
|
|
3505
|
+
return V(!1), await b.play(), !0;
|
|
3506
3506
|
} catch (ce) {
|
|
3507
3507
|
if ((ce == null ? void 0 : ce.name) !== "NotAllowedError")
|
|
3508
|
-
return
|
|
3508
|
+
return V(!0), null;
|
|
3509
3509
|
}
|
|
3510
3510
|
try {
|
|
3511
|
-
return
|
|
3511
|
+
return V(!0), await b.play(), !1;
|
|
3512
3512
|
} catch {
|
|
3513
3513
|
return null;
|
|
3514
3514
|
}
|
|
3515
3515
|
},
|
|
3516
3516
|
playing: l,
|
|
3517
3517
|
t: u,
|
|
3518
|
-
idx:
|
|
3518
|
+
idx: v,
|
|
3519
3519
|
dur: j,
|
|
3520
3520
|
muted: g,
|
|
3521
3521
|
toggleMute: () => {
|
|
3522
|
-
const
|
|
3523
|
-
N.current =
|
|
3522
|
+
const b = !N.current;
|
|
3523
|
+
N.current = b, o.current && (o.current.muted = b || p.current), M(b);
|
|
3524
3524
|
},
|
|
3525
3525
|
toggle: pe,
|
|
3526
3526
|
seekRow: le,
|
|
@@ -3530,150 +3530,150 @@ function Vl(t, e, n, r, s = 0, a = null) {
|
|
|
3530
3530
|
playRow: Le,
|
|
3531
3531
|
seekN: ae,
|
|
3532
3532
|
stop: () => {
|
|
3533
|
-
const
|
|
3534
|
-
|
|
3533
|
+
const b = o.current;
|
|
3534
|
+
b && (b.pause(), b.currentTime = I.current), d(0);
|
|
3535
3535
|
},
|
|
3536
|
-
videoAt: (
|
|
3537
|
-
const
|
|
3538
|
-
if (!
|
|
3539
|
-
const ce =
|
|
3540
|
-
Math.abs(
|
|
3536
|
+
videoAt: (b) => {
|
|
3537
|
+
const V = o.current;
|
|
3538
|
+
if (!V || V.paused || V.ended || we.current || Date.now() - _e.current < 3e3) return;
|
|
3539
|
+
const ce = b + I.current;
|
|
3540
|
+
Math.abs(V.currentTime - ce) <= 0.2 || (_e.current = Date.now(), V.currentTime = ce);
|
|
3541
3541
|
},
|
|
3542
3542
|
engaged: l || u > 0,
|
|
3543
|
-
prev: () => le(
|
|
3544
|
-
next: () => le(
|
|
3543
|
+
prev: () => le(v - 1),
|
|
3544
|
+
next: () => le(v + 1),
|
|
3545
3545
|
hold: Pe,
|
|
3546
3546
|
release: Se,
|
|
3547
3547
|
error: y,
|
|
3548
3548
|
clearError: () => L(null),
|
|
3549
3549
|
has: e,
|
|
3550
|
-
edgeWait:
|
|
3550
|
+
edgeWait: E,
|
|
3551
3551
|
wordSync: !0,
|
|
3552
3552
|
pause: () => {
|
|
3553
|
-
var
|
|
3554
|
-
K(!1), (
|
|
3553
|
+
var b;
|
|
3554
|
+
K(!1), (b = o.current) == null || b.pause();
|
|
3555
3555
|
},
|
|
3556
|
-
setVolume: (
|
|
3557
|
-
o.current && (o.current.volume =
|
|
3556
|
+
setVolume: (b) => {
|
|
3557
|
+
o.current && (o.current.volume = b);
|
|
3558
3558
|
},
|
|
3559
|
-
silence: (
|
|
3560
|
-
p.current =
|
|
3559
|
+
silence: (b) => {
|
|
3560
|
+
p.current = b, o.current && (o.current.muted = N.current || b);
|
|
3561
3561
|
}
|
|
3562
3562
|
};
|
|
3563
3563
|
}
|
|
3564
3564
|
function Hl(t, e, n, r, s, a, o = !1, l) {
|
|
3565
|
-
const c =
|
|
3565
|
+
const c = k(/* @__PURE__ */ new Set());
|
|
3566
3566
|
c.current = l ?? c.current;
|
|
3567
|
-
const u =
|
|
3567
|
+
const u = k(null), [d, g] = z(!1), [M, N] = z(0), [p, y] = z(0), [L, m] = z(!1), f = k(L);
|
|
3568
3568
|
f.current = L;
|
|
3569
|
-
const [I,
|
|
3570
|
-
|
|
3571
|
-
const [T,
|
|
3569
|
+
const [I, C] = z(null), [D, B] = z(null), [_, X] = z(null), [j, F] = z(null), S = k(j);
|
|
3570
|
+
S.current = j;
|
|
3571
|
+
const [T, E] = z(null), [O, te] = z(null), [K, v] = z(null), [ae, ne] = z(!1), G = k(e);
|
|
3572
3572
|
G.current = e;
|
|
3573
|
-
const J =
|
|
3573
|
+
const J = k(o), pe = k([]);
|
|
3574
3574
|
J.current = o, u.current && (u.current.flow = o);
|
|
3575
|
-
const le =
|
|
3575
|
+
const le = k(null), Te = k(s);
|
|
3576
3576
|
Te.current = s;
|
|
3577
|
-
const je =
|
|
3577
|
+
const je = k(a);
|
|
3578
3578
|
je.current = a;
|
|
3579
3579
|
const Ee = Ke((Y) => {
|
|
3580
|
-
Y.finite = !0, Y.coming = (R) => c.current.has(R), Y.readAhead = 6, Y.readAheadS = 45, Y.onWaiting = (R) =>
|
|
3580
|
+
Y.finite = !0, Y.coming = (R) => c.current.has(R), Y.readAhead = 6, Y.readAheadS = 45, Y.onWaiting = (R) => B(R), Y.onStarting = (R) => X(R), Y.onSentence = (R) => {
|
|
3581
3581
|
if (g(Y.playing), R == null) return;
|
|
3582
|
-
const q = G.current.findIndex((
|
|
3582
|
+
const q = G.current.findIndex((re) => re.sentenceId === R);
|
|
3583
3583
|
q >= 0 && N(q);
|
|
3584
3584
|
}, Y.onError = (R) => {
|
|
3585
|
-
g(Y.playing),
|
|
3585
|
+
g(Y.playing), C(R 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." });
|
|
3586
3586
|
}, Y.gapBefore = (R, q) => {
|
|
3587
3587
|
if (!J.current) return 0;
|
|
3588
|
-
const
|
|
3588
|
+
const re = G.current, de = re.find((Ce) => Ce.sentenceId === R), Oe = re.find((Ce) => Ce.sentenceId === q);
|
|
3589
3589
|
if (!Oe) return 0;
|
|
3590
|
-
const ye =
|
|
3590
|
+
const ye = S.current;
|
|
3591
3591
|
if (R == null) return ye && ye.sid === q ? Math.max(0, Oe.start - ye.t) : 0;
|
|
3592
3592
|
const ke = le.current;
|
|
3593
3593
|
return ke && Date.now() - ke.at < 2e3 ? Math.max(0, Oe.start - (ke.t + (Date.now() - ke.at) / 1e3 * Y.rate)) : !de || Oe.start <= de.start ? 0 : Math.max(0, Oe.start - At(de, de.start, de.start + 4));
|
|
3594
3594
|
}, Y.flow = J.current, Y.silentSpan = (R) => {
|
|
3595
3595
|
var $e;
|
|
3596
|
-
const q = G.current,
|
|
3596
|
+
const q = G.current, re = q.findIndex((ot) => ot.sentenceId === R), de = q[re];
|
|
3597
3597
|
if (!de) return null;
|
|
3598
|
-
const Oe = (($e = q[
|
|
3598
|
+
const Oe = (($e = q[re + 1]) == null ? void 0 : $e.start) ?? At(de, de.start, de.start + 4), ye = Math.max(0, Oe - de.start), ke = le.current, Ce = ke && Date.now() - ke.at < 2e3 ? ke.t + (Date.now() - ke.at) / 1e3 * (Y.rate || 1) : de.start, Ze = Math.max(0, Math.min(ye, Ce - de.start));
|
|
3599
3599
|
return { fromS: Ze, ms: (ye - Ze) * 1e3 / (Y.rate || 1) };
|
|
3600
3600
|
}, Y.speakable = (R) => {
|
|
3601
3601
|
const q = Te.current;
|
|
3602
3602
|
if (!q || !q.size) return !0;
|
|
3603
|
-
const
|
|
3604
|
-
return !
|
|
3603
|
+
const re = G.current.find((de) => de.sentenceId === R);
|
|
3604
|
+
return !re || !q.has(re.speaker);
|
|
3605
3605
|
};
|
|
3606
|
-
}, []), Le =
|
|
3607
|
-
}),
|
|
3606
|
+
}, []), Le = k(null), we = k(null), _e = k(null), [Pe, Se] = z(!1), $ = k(() => {
|
|
3607
|
+
}), H = (Y) => {
|
|
3608
3608
|
if (_e.current = Y, Se(!!(Y != null && Y.playing)), !Y) return;
|
|
3609
3609
|
const R = Ln(Y, G.current, ze).index;
|
|
3610
3610
|
N(R), Ae.current = R;
|
|
3611
3611
|
}, A = () => {
|
|
3612
|
-
_e.current &&
|
|
3612
|
+
_e.current && H(null);
|
|
3613
3613
|
};
|
|
3614
3614
|
U(() => {
|
|
3615
3615
|
var q;
|
|
3616
3616
|
if (Le.current !== r) {
|
|
3617
|
-
const
|
|
3618
|
-
Le.current = r, (q = u.current) == null || q.stop(), u.current = new fr(), Ee(u.current), u.current.setSequence(pe.current), g(!1), N(0),
|
|
3617
|
+
const re = Le.current != null ? we.current : null;
|
|
3618
|
+
Le.current = r, (q = u.current) == null || q.stop(), u.current = new fr(), Ee(u.current), u.current.setSequence(pe.current), g(!1), N(0), C(null), X(null), F(null), H(re && (re.playing || re.t > 0) ? re : null);
|
|
3619
3619
|
}
|
|
3620
3620
|
const Y = u.current;
|
|
3621
3621
|
Y.setMuted(f.current);
|
|
3622
|
-
for (const
|
|
3622
|
+
for (const re of t) Y.add(re);
|
|
3623
3623
|
const R = _e.current;
|
|
3624
|
-
R && (J.current || t.some((
|
|
3624
|
+
R && (J.current || t.some((re) => re.sentenceId >= (R.sentenceId ?? 0))) && (H(null), $.current(R));
|
|
3625
3625
|
}, [r, t]);
|
|
3626
|
-
const
|
|
3627
|
-
pe.current =
|
|
3626
|
+
const b = Ie(() => o ? e.map((Y) => Y.sentenceId).filter((Y) => Y != null) : [], [e, o]);
|
|
3627
|
+
pe.current = b, U(() => {
|
|
3628
3628
|
var Y;
|
|
3629
|
-
(Y = u.current) == null || Y.setSequence(
|
|
3630
|
-
}, [
|
|
3629
|
+
(Y = u.current) == null || Y.setSequence(b);
|
|
3630
|
+
}, [b, r]), U(() => () => {
|
|
3631
3631
|
var Y;
|
|
3632
3632
|
(Y = u.current) == null || Y.stop(), u.current = null, Le.current = null;
|
|
3633
3633
|
}, []);
|
|
3634
|
-
const
|
|
3634
|
+
const V = T != null || O != null;
|
|
3635
3635
|
U(() => {
|
|
3636
|
-
if (!d && !
|
|
3637
|
-
|
|
3636
|
+
if (!d && !V) {
|
|
3637
|
+
E(null), te(null);
|
|
3638
3638
|
return;
|
|
3639
3639
|
}
|
|
3640
3640
|
const Y = () => {
|
|
3641
3641
|
var ye, ke;
|
|
3642
3642
|
const q = ((ye = u.current) == null ? void 0 : ye.resting()) ?? null;
|
|
3643
|
-
|
|
3644
|
-
const
|
|
3645
|
-
q == null ?
|
|
3643
|
+
ne(!!(q != null && q.silent)), q != null && q.silent && S.current && (S.current = null, F(null)), te((Ce) => q == null ? null : Ce != null && Math.abs(Ce - q.s) < 0.05 ? Ce : q.s);
|
|
3644
|
+
const re = S.current;
|
|
3645
|
+
q == null ? v(null) : re && re.sid === q.sentenceId && (v(re.t), S.current = null, F(null));
|
|
3646
3646
|
const de = ((ke = u.current) == null ? void 0 : ke.position()) ?? null, Oe = de && je.current ? je.current[String(de.sentenceId)] ?? null : null;
|
|
3647
|
-
|
|
3647
|
+
re && de && de.sentenceId === re.sid && de.t > 0.1 && F(null), E((Ce) => de ? Ce && Math.abs(Ce.t - de.t) < 0.05 && Ce.dur === de.dur && Ce.words === Oe ? Ce : { t: de.t, dur: de.dur, words: Oe } : Ce == null ? Ce : null);
|
|
3648
3648
|
};
|
|
3649
3649
|
Y();
|
|
3650
3650
|
const R = setInterval(Y, 100);
|
|
3651
3651
|
return () => clearInterval(R);
|
|
3652
|
-
}, [d,
|
|
3653
|
-
const ce = Ie(() => new Set(t.map((Y) => Y.sentenceId)), [t]),
|
|
3652
|
+
}, [d, V]);
|
|
3653
|
+
const ce = Ie(() => new Set(t.map((Y) => Y.sentenceId)), [t]), W = (Y) => {
|
|
3654
3654
|
var q;
|
|
3655
3655
|
const R = (q = e[Y]) == null ? void 0 : q.sentenceId;
|
|
3656
3656
|
return R != null && ce.has(R);
|
|
3657
3657
|
}, me = (Y, R) => {
|
|
3658
|
-
for (let q = Y; q >= 0 && q < e.length; q += R) if (
|
|
3658
|
+
for (let q = Y; q >= 0 && q < e.length; q += R) if (W(q)) return q;
|
|
3659
3659
|
return null;
|
|
3660
|
-
}, Z = Math.max(0, Math.min(M, Math.max(0, e.length - 1))), ve = e.length ? e[e.length - 1].start + 4 : 0, ze = n || ve || 1, Ge =
|
|
3660
|
+
}, Z = Math.max(0, Math.min(M, Math.max(0, e.length - 1))), ve = e.length ? e[e.length - 1].start + 4 : 0, ze = n || ve || 1, Ge = k(!1), Ae = k(M);
|
|
3661
3661
|
Ae.current = M;
|
|
3662
3662
|
const ge = (Y) => {
|
|
3663
|
-
var R, q,
|
|
3664
|
-
(q = u.current) == null || q.play(((R = e[Y]) == null ? void 0 : R.sentenceId) ?? null), g(!!((
|
|
3663
|
+
var R, q, re;
|
|
3664
|
+
(q = u.current) == null || q.play(((R = e[Y]) == null ? void 0 : R.sentenceId) ?? null), g(!!((re = u.current) != null && re.playing));
|
|
3665
3665
|
}, Ye = (Y) => {
|
|
3666
|
-
var q,
|
|
3666
|
+
var q, re, de;
|
|
3667
3667
|
const R = Math.max(0, Math.min(Math.max(0, e.length - 1), Y));
|
|
3668
|
-
N(R), Ae.current = R, y((Oe) => Oe + 1), (
|
|
3668
|
+
N(R), Ae.current = R, y((Oe) => Oe + 1), (re = u.current) == null || re.seek(((q = e[R]) == null ? void 0 : q.sentenceId) ?? null), g(!!((de = u.current) != null && de.playing));
|
|
3669
3669
|
}, Ve = (Y) => {
|
|
3670
3670
|
var R;
|
|
3671
|
-
A(),
|
|
3672
|
-
},
|
|
3671
|
+
A(), F(null), (R = u.current) == null || R.startWithin(-1, 0), Ye(Y);
|
|
3672
|
+
}, Q = (Y) => {
|
|
3673
3673
|
var de;
|
|
3674
|
-
const R = e[Y], q = (R == null ? void 0 : R.start) ?? 0,
|
|
3675
|
-
return { from: q, span: Math.max(0,
|
|
3676
|
-
}, he =
|
|
3674
|
+
const R = e[Y], q = (R == null ? void 0 : R.start) ?? 0, re = ((de = e[Y + 1]) == null ? void 0 : de.start) ?? At(R, q, ze);
|
|
3675
|
+
return { from: q, span: Math.max(0, re - q) };
|
|
3676
|
+
}, he = Q(Z), ue = Math.max(0, Math.min(he.span, At(e[Z], he.from, he.from + 4) - he.from)), ie = j ? j.t : o ? O != null && ae ? he.from + Math.min(he.span, O) : O != null ? K != null ? Math.min(he.from, K + O) : he.from + Math.min(he.span, ue + O) : T && T.dur > 0 ? he.from + Math.min(ue, T.t / T.dur * ue) : he.from : T && T.dur > 0 ? he.from + Math.min(he.span, T.t / T.dur * he.span) : he.from;
|
|
3677
3677
|
U(() => {
|
|
3678
3678
|
we.current = _e.current ?? Sl(e, ie, d, ze);
|
|
3679
3679
|
});
|
|
@@ -3702,7 +3702,7 @@ function Hl(t, e, n, r, s, a, o = !1, l) {
|
|
|
3702
3702
|
f.current = Y, (R = u.current) == null || R.setMuted(Y), m(Y);
|
|
3703
3703
|
},
|
|
3704
3704
|
toggle: () => {
|
|
3705
|
-
var R, q,
|
|
3705
|
+
var R, q, re;
|
|
3706
3706
|
if (Pe) {
|
|
3707
3707
|
A();
|
|
3708
3708
|
return;
|
|
@@ -3711,9 +3711,9 @@ function Hl(t, e, n, r, s, a, o = !1, l) {
|
|
|
3711
3711
|
(R = u.current) == null || R.pause(), g(!1);
|
|
3712
3712
|
return;
|
|
3713
3713
|
}
|
|
3714
|
-
|
|
3714
|
+
C(null);
|
|
3715
3715
|
const Y = Ae.current;
|
|
3716
|
-
if (!
|
|
3716
|
+
if (!S.current && ((re = u.current) != null && re.resume(((q = e[Y]) == null ? void 0 : q.sentenceId) ?? null))) {
|
|
3717
3717
|
g(!0);
|
|
3718
3718
|
return;
|
|
3719
3719
|
}
|
|
@@ -3725,11 +3725,11 @@ function Hl(t, e, n, r, s, a, o = !1, l) {
|
|
|
3725
3725
|
},
|
|
3726
3726
|
stop: () => {
|
|
3727
3727
|
var Y, R, q;
|
|
3728
|
-
A(), (Y = u.current) == null || Y.pause(), g(!1), N(0),
|
|
3728
|
+
A(), (Y = u.current) == null || Y.pause(), g(!1), N(0), E(null), (q = u.current) == null || q.seek(((R = e[0]) == null ? void 0 : R.sentenceId) ?? null);
|
|
3729
3729
|
},
|
|
3730
3730
|
seekRow: Ve,
|
|
3731
3731
|
resumeAt: (Y) => {
|
|
3732
|
-
|
|
3732
|
+
H(Y), t.some((R) => R.sentenceId >= (Y.sentenceId ?? 0)) && (H(null), $.current(Y));
|
|
3733
3733
|
},
|
|
3734
3734
|
seekFrac: (Y) => {
|
|
3735
3735
|
var ot, rt, gt;
|
|
@@ -3737,37 +3737,37 @@ function Hl(t, e, n, r, s, a, o = !1, l) {
|
|
|
3737
3737
|
const R = Math.max(0, Math.min(1, Y)) * ze;
|
|
3738
3738
|
let q = 0;
|
|
3739
3739
|
for (let be = 0; be < e.length; be++) e[be].start <= R && (q = be);
|
|
3740
|
-
const
|
|
3741
|
-
if (o &&
|
|
3740
|
+
const re = e[q], de = o && re && R < re.start - 0.05;
|
|
3741
|
+
if (o && re && (de || e[q + 1] && R >= At(re, re.start, re.start + 4))) {
|
|
3742
3742
|
const be = de ? q : q + 1, st = e[be];
|
|
3743
3743
|
(ot = u.current) == null || ot.startWithin(-1, 0);
|
|
3744
3744
|
const He = { t: R, sid: st.sentenceId ?? null };
|
|
3745
|
-
|
|
3745
|
+
S.current = He, F(He), Ye(be);
|
|
3746
3746
|
return;
|
|
3747
3747
|
}
|
|
3748
|
-
const Oe = (
|
|
3748
|
+
const Oe = (re == null ? void 0 : re.sentenceId) ?? null, { from: ye, span: ke } = Q(q);
|
|
3749
3749
|
let Ce = ke > 0 ? Math.max(0, Math.min(1, (R - ye) / ke)) : 0;
|
|
3750
3750
|
const Ze = Oe != null ? (rt = je.current) == null ? void 0 : rt[String(Oe)] : void 0, $e = Ze != null && Ze.length ? Ze[Ze.length - 1][1] : 0;
|
|
3751
|
-
if (
|
|
3751
|
+
if (re && Ze && Ze.length === re.words.length && $e > 0) {
|
|
3752
3752
|
let be = 0;
|
|
3753
|
-
for (let it = 0; it <
|
|
3754
|
-
const st =
|
|
3753
|
+
for (let it = 0; it < re.words.length; it++) re.words[it].start <= R && (be = it);
|
|
3754
|
+
const st = re.words[be], He = st.end > st.start ? Math.max(0, Math.min(1, (R - st.start) / (st.end - st.start))) : 0;
|
|
3755
3755
|
Ce = Math.min(1, (Ze[be][0] + He * (Ze[be][1] - Ze[be][0])) / $e);
|
|
3756
3756
|
}
|
|
3757
|
-
Oe != null && ((gt = u.current) == null || gt.startWithin(Oe, Ce)),
|
|
3757
|
+
Oe != null && ((gt = u.current) == null || gt.startWithin(Oe, Ce)), F(Ce > 0.01 ? { t: R, sid: Oe } : null), Ye(q);
|
|
3758
3758
|
},
|
|
3759
3759
|
seekWord: a ? (Y) => {
|
|
3760
3760
|
var de, Oe, ye, ke;
|
|
3761
3761
|
const R = e[Z];
|
|
3762
3762
|
if (!R || R.sentenceId == null) return;
|
|
3763
|
-
const q = R.words.findIndex((Ce) => Ce.seq === Y.seq && Ce.idx === Y.idx),
|
|
3764
|
-
|
|
3763
|
+
const q = R.words.findIndex((Ce) => Ce.seq === Y.seq && Ce.idx === Y.idx), re = q >= 0 ? (ye = (Oe = (de = je.current) == null ? void 0 : de[String(R.sentenceId)]) == null ? void 0 : Oe[q]) == null ? void 0 : ye[0] : void 0;
|
|
3764
|
+
re != null && ((ke = u.current) == null || ke.seekWithin(re));
|
|
3765
3765
|
} : void 0,
|
|
3766
3766
|
playRow: (Y) => {
|
|
3767
3767
|
var q;
|
|
3768
3768
|
A();
|
|
3769
3769
|
const R = Math.max(0, Math.min(Math.max(0, e.length - 1), Y));
|
|
3770
|
-
|
|
3770
|
+
F(null), (q = u.current) == null || q.startWithin(-1, 0), N(R), Ae.current = R, y((re) => re + 1), ge(R);
|
|
3771
3771
|
},
|
|
3772
3772
|
prev: () => {
|
|
3773
3773
|
const Y = me(Z - 1, -1);
|
|
@@ -3784,23 +3784,23 @@ function Hl(t, e, n, r, s, a, o = !1, l) {
|
|
|
3784
3784
|
release: () => {
|
|
3785
3785
|
Ge.current && (Ge.current = !1, ge(Ae.current));
|
|
3786
3786
|
},
|
|
3787
|
-
clearError: () =>
|
|
3787
|
+
clearError: () => C(null),
|
|
3788
3788
|
setVolume: (Y) => {
|
|
3789
3789
|
var R;
|
|
3790
3790
|
return (R = u.current) == null ? void 0 : R.setVolume(Y);
|
|
3791
3791
|
}
|
|
3792
3792
|
};
|
|
3793
3793
|
function Ue(Y) {
|
|
3794
|
-
var
|
|
3795
|
-
const R = (
|
|
3794
|
+
var re, de, Oe, ye;
|
|
3795
|
+
const R = (re = e[Y]) == null ? void 0 : re.sentenceId;
|
|
3796
3796
|
if (R == null) return;
|
|
3797
|
-
N(Y), Ae.current = Y,
|
|
3797
|
+
N(Y), Ae.current = Y, F(null), S.current = null, (de = u.current) == null || de.joinSilently(R);
|
|
3798
3798
|
const q = ((Oe = u.current) == null ? void 0 : Oe.resting()) ?? null;
|
|
3799
|
-
|
|
3799
|
+
te((q == null ? void 0 : q.s) ?? null), ne(!!(q != null && q.silent)), g(!!((ye = u.current) != null && ye.playing));
|
|
3800
3800
|
}
|
|
3801
3801
|
return fe.joinAt = o ? (Y) => {
|
|
3802
3802
|
A(), Ue(Ln({ t: Y, playing: !0, sentenceId: null, offset: 0, ended: !1 }, e, ze).index);
|
|
3803
|
-
} : void 0,
|
|
3803
|
+
} : void 0, $.current = (Y) => {
|
|
3804
3804
|
var q;
|
|
3805
3805
|
const R = Ln(Y, e, ze);
|
|
3806
3806
|
if (J.current) {
|
|
@@ -3814,27 +3814,27 @@ const Wl = () => {
|
|
|
3814
3814
|
}, Fl = "The language this recording is read aloud in.", Gl = { title: "READ IN", note: "The transcript and its voice switch to this language." };
|
|
3815
3815
|
function Zl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, langs: o, srcLang: l, canTranslate: c, pickedLang: u, setPickedLang: d, side: g, hearOriginal: M = !1, timed: N = !1, stockVoices: p = !1, stickyPicker: y = !1, pickerBusy: L = null, voiceSheet: m, forcedVoice: f = null }) {
|
|
3816
3816
|
var on, Gt, Zt, qt;
|
|
3817
|
-
const { onAddVoice: I, onPickVoice:
|
|
3817
|
+
const { onAddVoice: I, onPickVoice: C, onSelectSpeaker: D, noCloneFor: B, castNoClone: _, castShort: X, castBuilding: j, castWarn: F, badge: S, titleNode: T } = m ?? {}, E = !!m, O = !!(m != null && m.pendingClones), [te, K] = gi(), [v, ae] = z(null), [ne, G] = z(!1), [J, pe] = z(!1), [le, Te] = z(!1), [je, Ee] = z(!1), Le = u ?? l, we = u === null, _e = u != null || v != null, Se = ((P) => !!P && !!(o != null && o.voice.includes(P)))(we ? l : Le) ? we ? l : Le : "en", $ = Dl(Se), H = (m == null ? void 0 : m.cloneOn) ?? !0, [A, b] = z(0), V = k(H);
|
|
3818
3818
|
U(() => {
|
|
3819
|
-
|
|
3820
|
-
}, [
|
|
3821
|
-
const ce = dl(Se, _e || s || J, hl(e) * 1e3 + A, { id: t ?? null, shareCode: a.shareCode ?? null }),
|
|
3822
|
-
const P = Gs(
|
|
3819
|
+
V.current !== H && (V.current = H, b((P) => P + 1));
|
|
3820
|
+
}, [H]);
|
|
3821
|
+
const ce = dl(Se, _e || s || J, hl(e) * 1e3 + A, { id: t ?? null, shareCode: a.shareCode ?? null }), W = Ie(() => ((ce == null ? void 0 : ce.voices) ?? []).filter((P) => E || !P.cloned || P.speaker != null), [ce, E]), me = W.length > 1, Z = wr(o, Le), ve = ki(), ze = Ie(() => fi(o, "translation"), [o]), [Ge, Ae] = z(null), [ge] = z(() => /* @__PURE__ */ new Set()), [Ye, Ve] = z({}), Q = Ie(() => al(n, e, ve.vcUnknownSpk), [n, e, ve]), he = me && Q.filter((P) => P.key >= 0).length > 1, ue = Ge != null && Q.some((P) => P.key === Ge) ? Ge : ((on = Q[0]) == null ? void 0 : on.key) ?? null, ie = Ie(() => {
|
|
3822
|
+
const P = Gs(Q, W, H);
|
|
3823
3823
|
for (const [De, Be] of Object.entries(Ye[Se ?? ""] ?? {})) P.set(Number(De), Be);
|
|
3824
3824
|
return P;
|
|
3825
|
-
}, [
|
|
3825
|
+
}, [Q, W, Ye, Se, H]), fe = he && Object.keys(Ye[Se ?? ""] ?? {}).length > 0, Ue = Ie(() => p && !fe ? Gs(Q, W, !1) : null, [p, fe, Q, W]), Y = Ie(() => fe ? Ws(ie) || null : Ue && Ws(Ue) || null, [fe, ie, Ue]), R = fe ? ie : Ue, q = W.some((P) => P.cloned && P.consent !== "pending"), re = !!Le && !!(o != null && o.voice.includes(Le)), de = re && !M, Oe = Ie(
|
|
3826
3826
|
() => n.filter((P) => !P.suppressed && !P.unclear).map((P) => P.sentenceId).filter((P) => P != null),
|
|
3827
3827
|
[n]
|
|
3828
|
-
), ye = Ml({ recordingId: t, lang: Le, ended: s, cred: a, pickedVoice: f || (Y ??
|
|
3828
|
+
), ye = Ml({ recordingId: t, lang: Le, ended: s, cred: a, pickedVoice: f || (Y ?? v), sentenceIds: s && de ? Oe : void 0 }), ke = W.find((P) => P.id === v) ?? W.find((P) => {
|
|
3829
3829
|
var De;
|
|
3830
3830
|
return P.id === ((De = ye.track) == null ? void 0 : De.voice);
|
|
3831
|
-
}) ??
|
|
3831
|
+
}) ?? W.find((P) => P.default) ?? W[0] ?? null, Ce = (ke == null ? void 0 : ke.id) ?? null;
|
|
3832
3832
|
U(() => {
|
|
3833
3833
|
if (!ye.rendering) return;
|
|
3834
3834
|
const P = setInterval(ye.reload, 4e3);
|
|
3835
3835
|
return () => clearInterval(P);
|
|
3836
3836
|
}, [ye.rendering, ye.reload]);
|
|
3837
|
-
const Ze = `${t ?? ""}|${Le ?? ""}|${f || (Y ??
|
|
3837
|
+
const Ze = `${t ?? ""}|${Le ?? ""}|${f || (Y ?? v ?? ((Gt = ye.track) == null ? void 0 : Gt.voiceKey) ?? "default")}`, $e = Hl(ye.clips, n, r, Ze, ge, (Zt = ye.track) == null ? void 0 : Zt.wordTimes, N, ye.coming);
|
|
3838
3838
|
U(() => {
|
|
3839
3839
|
var De;
|
|
3840
3840
|
const P = (De = n[$e.idx]) == null ? void 0 : De.sentenceId;
|
|
@@ -3860,45 +3860,45 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
|
|
|
3860
3860
|
lt();
|
|
3861
3861
|
return;
|
|
3862
3862
|
}
|
|
3863
|
-
|
|
3863
|
+
$.reset(), G(!1), pe(!1), Te(!1);
|
|
3864
3864
|
}
|
|
3865
3865
|
}, se = () => {
|
|
3866
|
-
|
|
3866
|
+
$.reset(), pe(!0);
|
|
3867
3867
|
}, Wt = () => {
|
|
3868
|
-
|
|
3869
|
-
}, x =
|
|
3868
|
+
$.reset(), pe(!1);
|
|
3869
|
+
}, x = ne && !le, wt = J || ne && le, Lt = () => {
|
|
3870
3870
|
if (x) {
|
|
3871
3871
|
G(!1);
|
|
3872
3872
|
return;
|
|
3873
3873
|
}
|
|
3874
|
-
|
|
3874
|
+
$.reset(), pe(!1), Te(!1), G(!0);
|
|
3875
3875
|
}, Ot = () => {
|
|
3876
|
-
if (
|
|
3876
|
+
if ($.reset(), wt) {
|
|
3877
3877
|
pe(!1), G(!1), Te(!1);
|
|
3878
3878
|
return;
|
|
3879
3879
|
}
|
|
3880
3880
|
G(!1), Te(!1), pe(!0);
|
|
3881
3881
|
}, Ct = (P) => {
|
|
3882
|
-
if (
|
|
3882
|
+
if ($.reset(), pe(he), (Le !== Se || we) && d(Se), ye.forget(), Ee(!0), he && ue != null && Se) {
|
|
3883
3883
|
const De = new Map(ie);
|
|
3884
3884
|
De.set(ue, P), Ve((Be) => ({ ...Be, [Se]: Object.fromEntries(De) })), ae(null);
|
|
3885
3885
|
return;
|
|
3886
3886
|
}
|
|
3887
3887
|
ae(P);
|
|
3888
|
-
}, ct = we ? { ...wr(o, null), flag: /* @__PURE__ */ i(oe, { d:
|
|
3889
|
-
const P =
|
|
3888
|
+
}, ct = we ? { ...wr(o, null), flag: /* @__PURE__ */ i(oe, { d: ee.langAuto, size: 21, sw: 1.7, style: { color: "currentColor", display: "block" } }) } : Z, nn = c ? g ? /* @__PURE__ */ i("span", { className: "barchip", style: x ? { background: "var(--brand-tint)", boxShadow: "0 0 0 1.5px var(--brand)" } : void 0, children: /* @__PURE__ */ i(zn, { flag: ct.flag, code: ct.code, bordered: !1, onClick: Lt, flagOnly: !0, label: ct.label }) }) : /* @__PURE__ */ i(zn, { flag: ct.flag, code: ct.code, bordered: !1, onClick: it, flagOnly: !0, label: ct.label }) : null, Je = ee.voiceClone, ut = _e && (!!ye.track || ot), Ft = rt ? "var(--conf-low)" : ut || g && wt ? "var(--brand)" : "var(--ink-55)", dt = ot || !!$e.preparing && _e, vt = $e.preparing ? `Speaking this line in ${(ke == null ? void 0 : ke.name) ?? "this voice"}…` : ot ? `Preparing this recording in ${(ke == null ? void 0 : ke.name) ?? "this voice"} — it will play as soon as it is ready` : rt ? `This voice could not be prepared: ${rt}` : re ? me ? "Choose a voice" : ke ? ke.name : ve.vcNoVoice + Z.label : `${ve.vcNoVoice}${Z.label}`, rn = /* @__PURE__ */ i($a, { open: ne, onClose: lt, keepOpen: (!!g || y) && !le, value: we ? null : Le, onSelect: Ht, languages: ze, title: (g == null ? void 0 : g.title) ?? "SPOKEN LANGUAGE", note: (g == null ? void 0 : g.note) ?? Fl, searchPlaceholder: ve.search, none: "Original", pinned: (we ? l : Le) ? [we ? l : Le] : [], recent: te, requireVoice: le, sticky: y, busy: L }), bt = Ie(() => W.filter((P) => P.cloned && !P.auto), [W]), _t = (P) => P.voiceId ? bt.find((De) => De.id === `clone:${P.voiceId}`) ?? null : null, ht = Ie(() => Q.filter((P) => P.key >= 0), [Q]), Yt = Ie(() => {
|
|
3889
|
+
const P = W.filter((Be) => !Be.cloned);
|
|
3890
3890
|
if (!he) return [...P, ...s && ht.length === 1 ? bt.filter((Be) => Be.id === `clone:${ht[0].voiceId}`) : []];
|
|
3891
3891
|
const De = [];
|
|
3892
3892
|
for (const Be of ht) {
|
|
3893
3893
|
if (_t(Be)) continue;
|
|
3894
|
-
const zt =
|
|
3895
|
-
!zt || zt.ready === !1 || zt.consent === "pending" && !
|
|
3894
|
+
const zt = W.find((Kt) => Kt.cloned && Kt.auto && Kt.speaker === Be.key);
|
|
3895
|
+
!zt || zt.ready === !1 || zt.consent === "pending" && !O || De.push({ id: zt.id, name: Be.name, cloned: !0, default: !1, live: !0, auto: !0, gender: Be.sex ?? zt.gender ?? null, speaker: Be.key, consent: zt.consent ?? null });
|
|
3896
3896
|
}
|
|
3897
3897
|
return [...P, ...bt, ...De];
|
|
3898
|
-
}, [
|
|
3898
|
+
}, [W, bt, he, ht, O, s]), Xe = he ? ht.find((P) => P.key === ue) ?? null : null, qe = (P) => {
|
|
3899
3899
|
var De;
|
|
3900
|
-
return P ? ((De =
|
|
3901
|
-
}, Ut = Xe ? Xe.sex ?? qe(ie.get(Xe.key)) : null, sn = Ie(() => Xe ? Yt.filter((P) => P.cloned ? P.live ? P.speaker === Xe.key : P.id === `clone:${Xe.voiceId}` : !0) : Yt, [Yt, Xe, Ut, ht]), Rt = (P) =>
|
|
3900
|
+
return P ? ((De = W.find((Be) => Be.id === P)) == null ? void 0 : De.gender) ?? null : null;
|
|
3901
|
+
}, Ut = Xe ? Xe.sex ?? qe(ie.get(Xe.key)) : null, sn = Ie(() => Xe ? Yt.filter((P) => P.cloned ? P.live ? P.speaker === Xe.key : P.id === `clone:${Xe.voiceId}` : !0) : Yt, [Yt, Xe, Ut, ht]), Rt = (P) => W.find((De) => De.cloned && De.auto && De.speaker === P) ?? null, We = { people: ht, gvList: W, autoOf: Rt, savedFor: _t }, xt = (S == null ? void 0 : S(We)) ?? 0, kt = F ? ht.map((P) => F(P, We)).filter((P) => !!P) : [], Dn = /* @__PURE__ */ h("button", { type: "button", className: "txvoice", "aria-label": "Voice", "aria-pressed": g ? wt : void 0, title: dt || rt ? vt : void 0, style: { cursor: "pointer", background: ut || dt || g && wt ? "var(--brand-tint)" : "var(--fill-06)", boxShadow: g && wt ? "inset 0 0 0 1.5px var(--brand)" : void 0 }, onClick: g ? Ot : se, children: [
|
|
3902
3902
|
dt ? /* @__PURE__ */ i("span", { style: { width: 16, height: 16, borderRadius: "50%", border: "2px solid var(--fill-10)", borderTopColor: "var(--brand)", animation: "vs-spin .7s linear infinite" } }) : /* @__PURE__ */ i(oe, { d: Je, size: 17, sw: 1.6, style: { color: Ft } }),
|
|
3903
3903
|
kt.length > 0 ? /* @__PURE__ */ i("span", { className: "txvoice__warn", title: kt.join(" · "), children: "!" }) : !!xt && /* @__PURE__ */ i("span", { className: "txvoice__n", title: `${xt} speaker${xt === 1 ? "" : "s"} can get a cloned voice`, children: xt })
|
|
3904
3904
|
] }), an = /* @__PURE__ */ i(Vt, { open: J, onClose: Wt, title: ve.vcSheet, titleNode: T, doneLabel: ve.done, children: /* @__PURE__ */ i(
|
|
@@ -3909,53 +3909,53 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
|
|
|
3909
3909
|
ol,
|
|
3910
3910
|
{
|
|
3911
3911
|
t: ve,
|
|
3912
|
-
roster:
|
|
3912
|
+
roster: Q,
|
|
3913
3913
|
selected: ue,
|
|
3914
3914
|
onSelect: (P) => {
|
|
3915
|
-
|
|
3915
|
+
$.reset(), Ae(P), D == null || D(P);
|
|
3916
3916
|
},
|
|
3917
3917
|
noClone: (P) => !!(_ != null && _(P, We)),
|
|
3918
|
-
short: (P) => !!(
|
|
3919
|
-
warn: (P) => (
|
|
3920
|
-
building: (P) => !_t(P) && (
|
|
3918
|
+
short: (P) => !!(X != null && X(P, We)),
|
|
3919
|
+
warn: (P) => (F == null ? void 0 : F(P, We)) ?? null,
|
|
3920
|
+
building: (P) => !_t(P) && (W.some((De) => De.cloned && De.speaker === P.key && De.ready === !1) || !!(j != null && j(P, We))),
|
|
3921
3921
|
sexOf: (P) => P.sex ?? qe(ie.get(P.key))
|
|
3922
3922
|
}
|
|
3923
3923
|
),
|
|
3924
3924
|
voices: sn,
|
|
3925
3925
|
onAdd: (P) => {
|
|
3926
|
-
|
|
3926
|
+
$.reset(), I == null || I(P);
|
|
3927
3927
|
},
|
|
3928
|
-
noClone: Xe && !sn.some((P) => P.cloned) ? (
|
|
3928
|
+
noClone: Xe && !sn.some((P) => P.cloned) ? (B == null ? void 0 : B(Xe, Rt(Xe.key), We)) ?? null : null,
|
|
3929
3929
|
usedBy: he && ue != null ? (P) => {
|
|
3930
|
-
const De =
|
|
3930
|
+
const De = Q.filter((Be) => Be.key !== ue && ie.get(Be.key) === P.id);
|
|
3931
3931
|
return De.length ? De.map((Be) => Be.name).join(", ") : null;
|
|
3932
3932
|
} : void 0,
|
|
3933
3933
|
foldKey: ue,
|
|
3934
3934
|
foldFor: Ut,
|
|
3935
3935
|
currentId: he && ue != null ? ie.get(ue) ?? null : Ce,
|
|
3936
|
-
armedId:
|
|
3937
|
-
sampleId:
|
|
3938
|
-
dlId:
|
|
3936
|
+
armedId: $.armId,
|
|
3937
|
+
sampleId: $.sampleId,
|
|
3938
|
+
dlId: $.dlId,
|
|
3939
3939
|
onPick: (P) => {
|
|
3940
|
-
if (
|
|
3941
|
-
|
|
3940
|
+
if ($.sampleId === P.id || $.dlId === P.id) {
|
|
3941
|
+
$.stop();
|
|
3942
3942
|
return;
|
|
3943
3943
|
}
|
|
3944
|
-
if ((
|
|
3945
|
-
|
|
3944
|
+
if ((C == null ? void 0 : C(P)) === !1) {
|
|
3945
|
+
$.reset();
|
|
3946
3946
|
return;
|
|
3947
3947
|
}
|
|
3948
|
-
|
|
3948
|
+
$.arm(P);
|
|
3949
3949
|
},
|
|
3950
3950
|
onUse: Ct
|
|
3951
3951
|
}
|
|
3952
3952
|
) }), jt = g ? null : /* @__PURE__ */ h(xe, { children: [
|
|
3953
3953
|
rn,
|
|
3954
3954
|
an
|
|
3955
|
-
] }), Sn = g && (
|
|
3955
|
+
] }), Sn = g && (ne || J) ? /* @__PURE__ */ i("div", { className: "vs-side", children: ne ? rn : an }) : null, An = be && rt ? `This voice could not be prepared: ${rt}` : null, En = gt;
|
|
3956
3956
|
return {
|
|
3957
3957
|
barChip: { flag: ct.flag, code: ct.code, label: ct.label, onClick: g || y ? Lt : it, active: !!((g || y) && x), can: c },
|
|
3958
|
-
sheetsOpen:
|
|
3958
|
+
sheetsOpen: ne || J,
|
|
3959
3959
|
on: be,
|
|
3960
3960
|
player: He,
|
|
3961
3961
|
chip: nn,
|
|
@@ -3964,89 +3964,89 @@ function Zl({ recordingId: t, model: e, rows: n, lenS: r, ended: s, cred: a, lan
|
|
|
3964
3964
|
sidePanel: Sn,
|
|
3965
3965
|
voicesMine: wt,
|
|
3966
3966
|
toggleVoices: Ot,
|
|
3967
|
-
cloningOn:
|
|
3967
|
+
cloningOn: H,
|
|
3968
3968
|
playTitle: An,
|
|
3969
3969
|
noVoice: gt,
|
|
3970
3970
|
noVoiceNote: En,
|
|
3971
3971
|
relang: st,
|
|
3972
|
-
sampling:
|
|
3973
|
-
error:
|
|
3974
|
-
clearError: () =>
|
|
3972
|
+
sampling: $.sampleId != null,
|
|
3973
|
+
error: $.error,
|
|
3974
|
+
clearError: () => $.clearError(),
|
|
3975
3975
|
openVoices: se,
|
|
3976
3976
|
openPicker: it,
|
|
3977
3977
|
original: we,
|
|
3978
|
-
reloadVoices: () =>
|
|
3978
|
+
reloadVoices: () => b((P) => P + 1),
|
|
3979
3979
|
voicesVer: A,
|
|
3980
3980
|
people: ht,
|
|
3981
|
-
gvList:
|
|
3981
|
+
gvList: W,
|
|
3982
3982
|
autoOf: Rt,
|
|
3983
3983
|
savedFor: _t,
|
|
3984
3984
|
closeVoices: Wt,
|
|
3985
3985
|
setSheet: pe,
|
|
3986
3986
|
selectedSpeaker: Xe,
|
|
3987
|
-
armVoice:
|
|
3988
|
-
resetPreview:
|
|
3989
|
-
armedId:
|
|
3987
|
+
armVoice: $.arm,
|
|
3988
|
+
resetPreview: $.reset,
|
|
3989
|
+
armedId: $.armId,
|
|
3990
3990
|
resetCast: () => Ve((P) => ({ ...P, [Se ?? ""]: {} })),
|
|
3991
3991
|
readLang: typeof u == "string" && u !== l ? u : null,
|
|
3992
|
-
readVoiceKey: f || (Y ??
|
|
3993
|
-
pickedVoiceKey: Y ??
|
|
3992
|
+
readVoiceKey: f || (Y ?? v ?? ((qt = ye.track) == null ? void 0 : qt.voiceKey) ?? ""),
|
|
3993
|
+
pickedVoiceKey: Y ?? v ?? null,
|
|
3994
3994
|
readVoiceName: (ke == null ? void 0 : ke.name) ?? null,
|
|
3995
|
-
canSpeak:
|
|
3996
|
-
requestTrack: () => ye.requestRender(Y ??
|
|
3995
|
+
canSpeak: re,
|
|
3996
|
+
requestTrack: () => ye.requestRender(Y ?? v, Y ? R : null),
|
|
3997
3997
|
hasClone: q,
|
|
3998
3998
|
clips: ye.clips,
|
|
3999
3999
|
setNear: ye.setNear,
|
|
4000
4000
|
closePicker: () => {
|
|
4001
4001
|
x && lt();
|
|
4002
4002
|
},
|
|
4003
|
-
langList: { value: we ? null : Le, onSelect: Ht, languages: ze, searchPlaceholder: ve.search, none: "Original", pinned: (we ? l : Le) ? [we ? l : Le] : [], recent:
|
|
4003
|
+
langList: { value: we ? null : Le, onSelect: Ht, languages: ze, searchPlaceholder: ve.search, none: "Original", pinned: (we ? l : Le) ? [we ? l : Le] : [], recent: te }
|
|
4004
4004
|
};
|
|
4005
4005
|
}
|
|
4006
|
-
function ql({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: u, marks: d = !0, fixBadges: g = !0, tail: M, tailFg: N, running: p, desk: y, feedRef: L, listener: m, showLabels: f, find: I, findOpen:
|
|
4007
|
-
const { playing: j, engaged:
|
|
4006
|
+
function ql({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a, onWord: o, onFix: l, fixMode: c, fixingId: u, marks: d = !0, fixBadges: g = !0, tail: M, tailFg: N, running: p, desk: y, feedRef: L, listener: m, showLabels: f, find: I, findOpen: C, lang: D, warm: B, onVisible: _, wordHl: X = !0 }) {
|
|
4007
|
+
const { playing: j, engaged: F, t: S, idx: T, seekN: E, wordSync: O, clipPos: te } = n;
|
|
4008
4008
|
Ll(!0, L);
|
|
4009
|
-
const K =
|
|
4009
|
+
const K = k(null);
|
|
4010
4010
|
qo(L, K);
|
|
4011
|
-
const [
|
|
4011
|
+
const [v, ae] = z(null), ne = (I ?? "").trim().toLowerCase(), [G, J] = z(0), pe = k(0), le = k(null), Te = k(T), je = (H) => {
|
|
4012
4012
|
var A;
|
|
4013
|
-
return ((A = L.current) == null ? void 0 : A.querySelector(`[data-tx-row="${
|
|
4014
|
-
}, Ee =
|
|
4013
|
+
return ((A = L.current) == null ? void 0 : A.querySelector(`[data-tx-row="${H}"]`)) ?? null;
|
|
4014
|
+
}, Ee = k("");
|
|
4015
4015
|
U(() => {
|
|
4016
|
-
const
|
|
4017
|
-
if (!
|
|
4016
|
+
const H = L.current;
|
|
4017
|
+
if (!H || !_) return;
|
|
4018
4018
|
const A = () => {
|
|
4019
|
-
const
|
|
4020
|
-
for (const ve of Array.from(
|
|
4019
|
+
const W = H.getBoundingClientRect(), me = [];
|
|
4020
|
+
for (const ve of Array.from(H.querySelectorAll("[data-sentence]"))) {
|
|
4021
4021
|
const ze = ve.getBoundingClientRect();
|
|
4022
|
-
ze.bottom >
|
|
4022
|
+
ze.bottom > W.top && ze.top < W.bottom && me.push(Number(ve.dataset.sentence));
|
|
4023
4023
|
}
|
|
4024
4024
|
const Z = me.join(",");
|
|
4025
4025
|
Z !== Ee.current && (Ee.current = Z, _(me));
|
|
4026
|
-
},
|
|
4027
|
-
let
|
|
4026
|
+
}, b = window.setTimeout(A, 120);
|
|
4027
|
+
let V;
|
|
4028
4028
|
const ce = () => {
|
|
4029
|
-
window.clearTimeout(
|
|
4029
|
+
window.clearTimeout(V), V = window.setTimeout(A, 120);
|
|
4030
4030
|
};
|
|
4031
|
-
return
|
|
4032
|
-
window.clearTimeout(
|
|
4031
|
+
return H.addEventListener("scroll", ce, { passive: !0 }), () => {
|
|
4032
|
+
window.clearTimeout(b), window.clearTimeout(V), H.removeEventListener("scroll", ce);
|
|
4033
4033
|
};
|
|
4034
4034
|
}, [e, _, L]);
|
|
4035
|
-
const Le = (
|
|
4036
|
-
const A = L.current,
|
|
4037
|
-
if (!A || !
|
|
4038
|
-
const
|
|
4039
|
-
A.scrollTop = Math.max(0, Math.min(ce,
|
|
4040
|
-
}, we = (
|
|
4041
|
-
const A = L.current,
|
|
4042
|
-
if (!A || !A.clientHeight || !A.offsetParent || !
|
|
4043
|
-
const
|
|
4044
|
-
return
|
|
4045
|
-
}, _e = (
|
|
4035
|
+
const Le = (H) => {
|
|
4036
|
+
const A = L.current, b = je(H);
|
|
4037
|
+
if (!A || !b) return;
|
|
4038
|
+
const V = b.getBoundingClientRect().top - A.getBoundingClientRect().top + A.scrollTop, ce = A.scrollHeight - A.clientHeight, W = lr(A), me = Math.max(80, A.clientHeight - W.top - W.bottom), Z = b.offsetHeight > me ? 8 : (me - b.offsetHeight) / 2;
|
|
4039
|
+
A.scrollTop = Math.max(0, Math.min(ce, V - W.top - Z));
|
|
4040
|
+
}, we = (H) => {
|
|
4041
|
+
const A = L.current, b = je(H);
|
|
4042
|
+
if (!A || !A.clientHeight || !A.offsetParent || !b) return 0;
|
|
4043
|
+
const V = b.getBoundingClientRect(), ce = A.getBoundingClientRect(), W = lr(A), me = ce.top + W.top, Z = ce.bottom - W.bottom;
|
|
4044
|
+
return V.height > Z - me ? V.top < me - 4 ? -1 : V.top > Z - 60 ? 1 : 0 : V.bottom < me + 10 ? -1 : V.bottom > Z - 4 ? 1 : 0;
|
|
4045
|
+
}, _e = (H) => {
|
|
4046
4046
|
pe.current = performance.now() + 420;
|
|
4047
|
-
const A = L.current,
|
|
4048
|
-
if (!A || !A.clientHeight || !
|
|
4049
|
-
const
|
|
4047
|
+
const A = L.current, b = je(H);
|
|
4048
|
+
if (!A || !A.clientHeight || !b) return;
|
|
4049
|
+
const V = b.getBoundingClientRect(), ce = A.getBoundingClientRect(), W = A.scrollHeight - A.clientHeight, me = A.scrollTop, Z = lr(A), ve = Math.max(80, A.clientHeight - Z.top - Z.bottom), ze = V.height > ve ? 8 : (ve - V.height) / 2, Ge = Math.max(0, Math.min(W, me + (V.top - ce.top) - Z.top - ze));
|
|
4050
4050
|
if (le.current && cancelAnimationFrame(le.current), Math.abs(Ge - me) < 2) {
|
|
4051
4051
|
A.scrollTop = Ge, le.current = null;
|
|
4052
4052
|
return;
|
|
@@ -4060,90 +4060,90 @@ function ql({ model: t, rows: e, player: n, fixed: r, applied: s, onFixOpen: a,
|
|
|
4060
4060
|
U(() => () => {
|
|
4061
4061
|
le.current && cancelAnimationFrame(le.current);
|
|
4062
4062
|
}, []);
|
|
4063
|
-
const Pe =
|
|
4063
|
+
const Pe = k(0);
|
|
4064
4064
|
U(() => {
|
|
4065
4065
|
if (!j) {
|
|
4066
4066
|
Te.current = T, Pe.current = 0, J(0);
|
|
4067
4067
|
return;
|
|
4068
4068
|
}
|
|
4069
|
-
const
|
|
4070
|
-
const
|
|
4069
|
+
const H = () => {
|
|
4070
|
+
const b = T !== Te.current;
|
|
4071
4071
|
Te.current = T;
|
|
4072
|
-
let
|
|
4073
|
-
|
|
4072
|
+
let V = performance.now() < pe.current ? 0 : we(T);
|
|
4073
|
+
b && V && !Pe.current && (Le(T), V = 0), Pe.current = V, J(V);
|
|
4074
4074
|
};
|
|
4075
|
-
|
|
4076
|
-
const A = setInterval(
|
|
4075
|
+
H();
|
|
4076
|
+
const A = setInterval(H, 200);
|
|
4077
4077
|
return () => clearInterval(A);
|
|
4078
4078
|
}, [T, j]), U(() => {
|
|
4079
|
-
|
|
4080
|
-
}, [
|
|
4079
|
+
E && _e(T);
|
|
4080
|
+
}, [E]);
|
|
4081
4081
|
const Se = () => {
|
|
4082
4082
|
_e(T), Pe.current = 0, J(0);
|
|
4083
|
-
},
|
|
4084
|
-
/* @__PURE__ */ i(oe, { d:
|
|
4083
|
+
}, $ = (H) => /* @__PURE__ */ i("div", { className: `txfollow txfollow--${H}`, children: /* @__PURE__ */ h("button", { type: "button", className: "txfollow__pill", title: "Jump to the line playing now", onClick: Se, children: [
|
|
4084
|
+
/* @__PURE__ */ i(oe, { d: H === "up" ? "m4.5 15.75 7.5-7.5 7.5 7.5" : "m19.5 8.25-7.5 7.5-7.5-7.5", size: 15, sw: 2 }),
|
|
4085
4085
|
"Now playing"
|
|
4086
4086
|
] }) });
|
|
4087
|
-
return /* @__PURE__ */ h("div", { ref: L, "data-tx-feed": "1", className: `txfeed${y ? " txfeed--desk" : ""}${
|
|
4087
|
+
return /* @__PURE__ */ h("div", { ref: L, "data-tx-feed": "1", className: `txfeed${y ? " txfeed--desk" : ""}${C && !p ? " is-find" : ""}`, children: [
|
|
4088
4088
|
/* @__PURE__ */ i(Ko, { thumbRef: K }),
|
|
4089
|
-
j && G === -1 &&
|
|
4090
|
-
e.map((
|
|
4089
|
+
j && G === -1 && $("up"),
|
|
4090
|
+
e.map((H, A) => {
|
|
4091
4091
|
var he;
|
|
4092
|
-
const
|
|
4093
|
-
j && !
|
|
4094
|
-
} : j &&
|
|
4095
|
-
return /* @__PURE__ */ h("div", { "data-tx-row": A, "data-sentence":
|
|
4092
|
+
const b = j && A === T, V = F && A === T, ce = !!u && u === H.id, W = ne && !H.text.toLowerCase().includes(ne) && !(D && ((he = H.translations[D]) != null && he.toLowerCase().includes(ne))) ? 0.22 : !F || A <= T || ce ? 1 : 0.38, me = m ? () => n.playRow(A) : c && l ? () => {
|
|
4093
|
+
j && !b && n.seekRow(A), l(H);
|
|
4094
|
+
} : j && b ? void 0 : () => n.playRow(A), Z = m ? null : el(H, s, r), ve = !!Z && (Z.script > 0 || Z.manual), ze = y && !!a && v === H.id && !!Z && !ve, Ge = br(t, H.speaker), Ae = xr(t, H.speaker), ge = Ae.lane, Ye = D && H.translations[D] && H.language !== D ? H.translations[D] : null, Ve = xi(e, A, D), Q = V && !O && te ? hi(Ve.map((ue) => ({ t: ue.text, sp: " " })), te) : null;
|
|
4095
|
+
return /* @__PURE__ */ h("div", { "data-tx-row": A, "data-sentence": H.sentenceId, className: `txline${B ? " txline--warm" : ""}${ce ? " txline--fixing" : ""}`, "aria-current": ce || void 0, style: { opacity: W }, onClick: me, onMouseEnter: y && a ? () => ae(H.id) : void 0, onMouseLeave: y && a ? () => ae(null) : void 0, children: [
|
|
4096
4096
|
/* @__PURE__ */ h("div", { className: "txline__meta", children: [
|
|
4097
|
-
/* @__PURE__ */ i("span", { className: "txline__at", children: yt(
|
|
4098
|
-
f &&
|
|
4099
|
-
/* @__PURE__ */ i("div", { className: `lanechip bg-lane-${ge}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: mi(t,
|
|
4097
|
+
/* @__PURE__ */ i("span", { className: "txline__at", children: yt(H.start) }),
|
|
4098
|
+
f && H.speaker >= 0 && /* @__PURE__ */ h(xe, { children: [
|
|
4099
|
+
/* @__PURE__ */ i("div", { className: `lanechip bg-lane-${ge}`, style: Ae.soft ? { background: Ae.soft, color: Ae.fg } : void 0, children: mi(t, H.speaker) }),
|
|
4100
4100
|
/* @__PURE__ */ i("span", { className: `txline__who lane-${ge}`, style: Ae.fg ? { color: Ae.fg } : void 0, children: Ge }),
|
|
4101
4101
|
Ae.hasVoice && /* @__PURE__ */ i(Oi, { color: Ae.fg ?? `var(--lane-${ge})` })
|
|
4102
4102
|
] }),
|
|
4103
|
-
|
|
4104
|
-
Z && g && /* @__PURE__ */ i(tl, { f: Z, desk: y, onOpen: a ? () => a(
|
|
4105
|
-
ze && /* @__PURE__ */ i(nl, { alone: !0, onOpen: () => a == null ? void 0 : a(
|
|
4103
|
+
b && /* @__PURE__ */ i("span", { title: "Playing", style: { flex: "none", display: "inline-flex", alignItems: "center" }, children: /* @__PURE__ */ i(oe, { d: ee.headphones, size: y ? 15 : 14, sw: 1.6, stroke: f && H.speaker >= 0 ? Ae.fg ?? `var(--lane-${ge})` : "var(--ink-45)" }) }),
|
|
4104
|
+
Z && g && /* @__PURE__ */ i(tl, { f: Z, desk: y, onOpen: a ? () => a(H, !0) : void 0 }),
|
|
4105
|
+
ze && /* @__PURE__ */ i(nl, { alone: !0, onOpen: () => a == null ? void 0 : a(H, !1) })
|
|
4106
4106
|
] }),
|
|
4107
4107
|
/* @__PURE__ */ i("div", { className: "txline__text", children: Ve.map((ue, ie) => {
|
|
4108
|
-
const fe = `${ue.seq}:${ue.idx}`, Ue = wo(ue.prob), Y =
|
|
4108
|
+
const fe = `${ue.seq}:${ue.idx}`, Ue = wo(ue.prob), Y = V && X, R = Y && (O ? S >= ue.start && (S < ue.end || ie === Ve.length - 1 || S < Ve[ie + 1].start) : ie === Q), q = Y && !R && (O ? ue.start > S : Q != null && ie > Q), re = !Ye && !m && (!!(r != null && r.has(fe)) || !!ue.script), de = !Ye && !m && d && !!Ue && !re, Oe = de ? Ue === "low" ? "var(--conf-low-half)" : "var(--conf-mid-half)" : null, ye = re ? "var(--brand)" : q ? "var(--ink-40)" : Oe ?? "var(--ink-96)";
|
|
4109
4109
|
return /* @__PURE__ */ h("span", { children: [
|
|
4110
4110
|
/* @__PURE__ */ i(
|
|
4111
4111
|
"span",
|
|
4112
4112
|
{
|
|
4113
4113
|
className: "txw",
|
|
4114
|
-
title: o && !Ye ? c ? "Correct this word" :
|
|
4114
|
+
title: o && !Ye ? c ? "Correct this word" : b && j && n.seekWord ? "Play from this word" : "Play from this line" : b ? "" : "Play from this line",
|
|
4115
4115
|
onClick: o && !Ye ? (ke) => {
|
|
4116
4116
|
var Ce;
|
|
4117
4117
|
if (ke.stopPropagation(), c) {
|
|
4118
|
-
o(
|
|
4118
|
+
o(H, ue);
|
|
4119
4119
|
return;
|
|
4120
4120
|
}
|
|
4121
|
-
if (j &&
|
|
4121
|
+
if (j && b) {
|
|
4122
4122
|
(Ce = n.seekWord) == null || Ce.call(n, ue);
|
|
4123
4123
|
return;
|
|
4124
4124
|
}
|
|
4125
4125
|
n.playRow(A);
|
|
4126
4126
|
} : void 0,
|
|
4127
|
-
style: { color: ye, opacity: q ? 0.45 : 1, fontWeight: 300, cursor: o && !Ye ? c || !
|
|
4127
|
+
style: { color: ye, opacity: q ? 0.45 : 1, fontWeight: 300, cursor: o && !Ye ? c || !b || !j || n.seekWord ? "pointer" : "default" : b ? "default" : "pointer", textShadow: R ? "0 0 2px currentColor, 0 0 4px currentColor" : "none", textDecorationLine: de || re ? "underline" : "none", textDecorationStyle: re ? "solid" : "dotted", textDecorationColor: re ? "var(--brand)" : Oe ?? "currentColor", textDecorationThickness: de || re ? "1.5px" : void 0, textUnderlineOffset: de || re ? "3px" : void 0 },
|
|
4128
4128
|
children: ue.text
|
|
4129
4129
|
}
|
|
4130
4130
|
),
|
|
4131
4131
|
/* @__PURE__ */ i("span", { style: { whiteSpace: "pre-wrap" }, children: " " })
|
|
4132
4132
|
] }, fe + ie);
|
|
4133
4133
|
}) })
|
|
4134
|
-
] },
|
|
4134
|
+
] }, H.id);
|
|
4135
4135
|
}),
|
|
4136
4136
|
p ? /* @__PURE__ */ i("div", { className: "txtail txtail--wave", title: "Still transcribing", children: /* @__PURE__ */ h("span", { className: "eq3", "aria-hidden": "true", children: [
|
|
4137
4137
|
/* @__PURE__ */ i("span", {}),
|
|
4138
4138
|
/* @__PURE__ */ i("span", {}),
|
|
4139
4139
|
/* @__PURE__ */ i("span", {})
|
|
4140
4140
|
] }) }) : /* @__PURE__ */ i("div", { className: "txtail", style: { color: N }, children: M }),
|
|
4141
|
-
j && G === 1 &&
|
|
4141
|
+
j && G === 1 && $("down")
|
|
4142
4142
|
] });
|
|
4143
4143
|
}
|
|
4144
4144
|
function Kl({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: a, inline: o, flash: l }) {
|
|
4145
4145
|
return /* @__PURE__ */ i("div", { className: o ? "searchbar searchbar--inline" : `searchbar searchbar--float${a ? " searchbar--desk" : ""}${t ? "" : " is-hidden"}`, children: /* @__PURE__ */ h("div", { children: [
|
|
4146
|
-
/* @__PURE__ */ i(oe, { d:
|
|
4146
|
+
/* @__PURE__ */ i(oe, { d: ee.search, size: 16, sw: 1.7, style: { color: "var(--ink-45)", flex: "none" } }),
|
|
4147
4147
|
/* @__PURE__ */ i("input", { value: e, onChange: (c) => n(c.target.value), onKeyDown: (c) => {
|
|
4148
4148
|
c.key === "Escape" && (c.stopPropagation(), e ? n("") : r());
|
|
4149
4149
|
}, placeholder: "Search this transcript" }),
|
|
@@ -4152,13 +4152,13 @@ function Kl({ open: t, q: e, onQ: n, onClose: r, hits: s, desk: a, inline: o, fl
|
|
|
4152
4152
|
s,
|
|
4153
4153
|
" found"
|
|
4154
4154
|
] }),
|
|
4155
|
-
e.trim() && /* @__PURE__ */ i("button", { type: "button", className: "searchbar__x", onClick: () => n(""), "aria-label": "Clear", title: "Clear", children: /* @__PURE__ */ i(oe, { d:
|
|
4155
|
+
e.trim() && /* @__PURE__ */ i("button", { type: "button", className: "searchbar__x", onClick: () => n(""), "aria-label": "Clear", title: "Clear", children: /* @__PURE__ */ i(oe, { d: ee.close, size: 15, sw: 1.7 }) })
|
|
4156
4156
|
] }) });
|
|
4157
4157
|
}
|
|
4158
4158
|
function Jl(t, e, n, r, s) {
|
|
4159
|
-
const a =
|
|
4159
|
+
const a = k(n);
|
|
4160
4160
|
a.current = n;
|
|
4161
|
-
const o =
|
|
4161
|
+
const o = k(r);
|
|
4162
4162
|
o.current = r;
|
|
4163
4163
|
const [l, c] = z(0), u = r.trim().toLowerCase();
|
|
4164
4164
|
return U(() => {
|
|
@@ -4232,124 +4232,124 @@ function nc(t) {
|
|
|
4232
4232
|
for (; n <= 40 && !(4 + (n <= 9 ? 8 : 16) + e.length * 8 <= qs(n) * 8); n++)
|
|
4233
4233
|
;
|
|
4234
4234
|
if (n > 40) throw new Error("Text too long for a QR code");
|
|
4235
|
-
const r = n * 4 + 17, s = qs(n) * 8, a = [], o = (T,
|
|
4236
|
-
for (let
|
|
4235
|
+
const r = n * 4 + 17, s = qs(n) * 8, a = [], o = (T, E) => {
|
|
4236
|
+
for (let O = E - 1; O >= 0; O--) a.push(T >>> O & 1);
|
|
4237
4237
|
};
|
|
4238
4238
|
o(4, 4), o(e.length, n <= 9 ? 8 : 16);
|
|
4239
4239
|
for (const T of e) o(T, 8);
|
|
4240
4240
|
for (o(0, Math.min(4, s - a.length)); a.length % 8; ) a.push(0);
|
|
4241
4241
|
for (let T = 236; a.length < s; T ^= 253) o(T, 8);
|
|
4242
4242
|
const l = [];
|
|
4243
|
-
for (let T = 0; T < a.length; T += 8) l.push(a.slice(T, T + 8).reduce((
|
|
4243
|
+
for (let T = 0; T < a.length; T += 8) l.push(a.slice(T, T + 8).reduce((E, O) => E << 1 | O, 0));
|
|
4244
4244
|
const c = tn.blocks[n], u = tn.perBlock[n], d = Math.floor(Di(n) / 8), g = c - d % c, M = Math.floor(d / c), N = [], p = Xl(u);
|
|
4245
|
-
for (let T = 0,
|
|
4246
|
-
const
|
|
4247
|
-
|
|
4248
|
-
const
|
|
4249
|
-
T < g &&
|
|
4245
|
+
for (let T = 0, E = 0; T < c; T++) {
|
|
4246
|
+
const O = l.slice(E, E + M - u + (T < g ? 0 : 1));
|
|
4247
|
+
E += O.length;
|
|
4248
|
+
const te = ec(O, p);
|
|
4249
|
+
T < g && O.push(0), N.push(O.concat(te));
|
|
4250
4250
|
}
|
|
4251
4251
|
const y = [];
|
|
4252
|
-
for (let T = 0; T < N[0].length; T++) N.forEach((
|
|
4253
|
-
(T !== M - u ||
|
|
4252
|
+
for (let T = 0; T < N[0].length; T++) N.forEach((E, O) => {
|
|
4253
|
+
(T !== M - u || O >= g) && y.push(E[T]);
|
|
4254
4254
|
});
|
|
4255
|
-
const L = Array.from({ length: r }, () => new Array(r).fill(!1)), m = Array.from({ length: r }, () => new Array(r).fill(!1)), f = (T,
|
|
4256
|
-
L[
|
|
4255
|
+
const L = Array.from({ length: r }, () => new Array(r).fill(!1)), m = Array.from({ length: r }, () => new Array(r).fill(!1)), f = (T, E, O) => {
|
|
4256
|
+
L[E][T] = O, m[E][T] = !0;
|
|
4257
4257
|
};
|
|
4258
4258
|
for (let T = 0; T < r; T++)
|
|
4259
4259
|
f(6, T, T % 2 === 0), f(T, 6, T % 2 === 0);
|
|
4260
|
-
const I = (T,
|
|
4261
|
-
for (let
|
|
4262
|
-
const K = Math.max(Math.abs(
|
|
4263
|
-
|
|
4260
|
+
const I = (T, E) => {
|
|
4261
|
+
for (let O = -4; O <= 4; O++) for (let te = -4; te <= 4; te++) {
|
|
4262
|
+
const K = Math.max(Math.abs(te), Math.abs(O)), v = T + te, ae = E + O;
|
|
4263
|
+
v >= 0 && v < r && ae >= 0 && ae < r && f(v, ae, K !== 2 && K !== 4);
|
|
4264
4264
|
}
|
|
4265
4265
|
};
|
|
4266
4266
|
I(3, 3), I(r - 4, 3), I(3, r - 4);
|
|
4267
|
-
const
|
|
4268
|
-
for (let T = 0; T <
|
|
4269
|
-
if (!(T === 0 &&
|
|
4270
|
-
for (let
|
|
4267
|
+
const C = tc(n);
|
|
4268
|
+
for (let T = 0; T < C.length; T++) for (let E = 0; E < C.length; E++)
|
|
4269
|
+
if (!(T === 0 && E === 0 || T === 0 && E === C.length - 1 || T === C.length - 1 && E === 0))
|
|
4270
|
+
for (let O = -2; O <= 2; O++) for (let te = -2; te <= 2; te++) f(C[T] + te, C[E] + O, Math.max(Math.abs(te), Math.abs(O)) !== 1);
|
|
4271
4271
|
const D = (T) => {
|
|
4272
|
-
const
|
|
4273
|
-
let
|
|
4274
|
-
for (let
|
|
4275
|
-
const
|
|
4276
|
-
for (let
|
|
4272
|
+
const E = tn.formatBits << 3 | T;
|
|
4273
|
+
let O = E;
|
|
4274
|
+
for (let v = 0; v < 10; v++) O = O << 1 ^ (O >>> 9) * 1335;
|
|
4275
|
+
const te = (E << 10 | O) ^ 21522, K = (v) => (te >>> v & 1) !== 0;
|
|
4276
|
+
for (let v = 0; v <= 5; v++) f(8, v, K(v));
|
|
4277
4277
|
f(8, 7, K(6)), f(8, 8, K(7)), f(7, 8, K(8));
|
|
4278
|
-
for (let
|
|
4279
|
-
for (let
|
|
4280
|
-
for (let
|
|
4278
|
+
for (let v = 9; v < 15; v++) f(14 - v, 8, K(v));
|
|
4279
|
+
for (let v = 0; v < 8; v++) f(r - 1 - v, 8, K(v));
|
|
4280
|
+
for (let v = 8; v < 15; v++) f(8, r - 15 + v, K(v));
|
|
4281
4281
|
f(8, r - 8, !0);
|
|
4282
4282
|
};
|
|
4283
4283
|
if (D(0), n >= 7) {
|
|
4284
4284
|
let T = n;
|
|
4285
|
-
for (let
|
|
4286
|
-
const
|
|
4287
|
-
for (let
|
|
4288
|
-
const
|
|
4289
|
-
f(K,
|
|
4285
|
+
for (let O = 0; O < 12; O++) T = T << 1 ^ (T >>> 11) * 7973;
|
|
4286
|
+
const E = n << 12 | T;
|
|
4287
|
+
for (let O = 0; O < 18; O++) {
|
|
4288
|
+
const te = (E >>> O & 1) !== 0, K = r - 11 + O % 3, v = Math.floor(O / 3);
|
|
4289
|
+
f(K, v, te), f(v, K, te);
|
|
4290
4290
|
}
|
|
4291
4291
|
}
|
|
4292
|
-
let
|
|
4292
|
+
let B = 0;
|
|
4293
4293
|
for (let T = r - 1; T >= 1; T -= 2) {
|
|
4294
4294
|
T === 6 && (T = 5);
|
|
4295
|
-
for (let
|
|
4296
|
-
const
|
|
4297
|
-
!m[K][
|
|
4295
|
+
for (let E = 0; E < r; E++) for (let O = 0; O < 2; O++) {
|
|
4296
|
+
const te = T - O, K = T + 1 & 2 ? E : r - 1 - E;
|
|
4297
|
+
!m[K][te] && B < y.length * 8 && (L[K][te] = (y[B >>> 3] >>> 7 - (B & 7) & 1) !== 0, B++);
|
|
4298
4298
|
}
|
|
4299
4299
|
}
|
|
4300
|
-
const _ = (T,
|
|
4300
|
+
const _ = (T, E, O) => {
|
|
4301
4301
|
switch (T) {
|
|
4302
4302
|
case 0:
|
|
4303
|
-
return (
|
|
4303
|
+
return (E + O) % 2 === 0;
|
|
4304
4304
|
case 1:
|
|
4305
|
-
return
|
|
4305
|
+
return O % 2 === 0;
|
|
4306
4306
|
case 2:
|
|
4307
|
-
return
|
|
4307
|
+
return E % 3 === 0;
|
|
4308
4308
|
case 3:
|
|
4309
|
-
return (
|
|
4309
|
+
return (E + O) % 3 === 0;
|
|
4310
4310
|
case 4:
|
|
4311
|
-
return (Math.floor(
|
|
4311
|
+
return (Math.floor(E / 3) + Math.floor(O / 2)) % 2 === 0;
|
|
4312
4312
|
case 5:
|
|
4313
|
-
return
|
|
4313
|
+
return E * O % 2 + E * O % 3 === 0;
|
|
4314
4314
|
case 6:
|
|
4315
|
-
return (
|
|
4315
|
+
return (E * O % 2 + E * O % 3) % 2 === 0;
|
|
4316
4316
|
default:
|
|
4317
|
-
return ((
|
|
4317
|
+
return ((E + O) % 2 + E * O % 3) % 2 === 0;
|
|
4318
4318
|
}
|
|
4319
|
-
},
|
|
4320
|
-
for (let
|
|
4319
|
+
}, X = (T) => {
|
|
4320
|
+
for (let E = 0; E < r; E++) for (let O = 0; O < r; O++) !m[E][O] && _(T, O, E) && (L[E][O] = !L[E][O]);
|
|
4321
4321
|
}, j = () => {
|
|
4322
4322
|
let T = 0;
|
|
4323
|
-
const
|
|
4324
|
-
const G =
|
|
4325
|
-
return (J &&
|
|
4326
|
-
},
|
|
4327
|
-
|
|
4328
|
-
},
|
|
4323
|
+
const E = (ne) => {
|
|
4324
|
+
const G = ne[1], J = G > 0 && ne[2] === G && ne[3] === G * 3 && ne[4] === G && ne[5] === G;
|
|
4325
|
+
return (J && ne[0] >= G * 4 && ne[6] >= G ? 1 : 0) + (J && ne[6] >= G * 4 && ne[0] >= G ? 1 : 0);
|
|
4326
|
+
}, O = (ne, G) => {
|
|
4327
|
+
ne[0] === 0 && (G += r), ne.pop(), ne.unshift(G);
|
|
4328
|
+
}, te = (ne, G, J) => (G && (O(ne, J), J = 0), O(ne, J + r), E(ne)), K = (ne) => {
|
|
4329
4329
|
let G = !1, J = 0;
|
|
4330
4330
|
const pe = [0, 0, 0, 0, 0, 0, 0];
|
|
4331
4331
|
for (let le = 0; le < r; le++)
|
|
4332
|
-
|
|
4333
|
-
T +=
|
|
4332
|
+
ne(le) === G ? (J++, J === 5 ? T += 3 : J > 5 && T++) : (O(pe, J), G || (T += E(pe) * 40), G = ne(le), J = 1);
|
|
4333
|
+
T += te(pe, G, J) * 40;
|
|
4334
4334
|
};
|
|
4335
|
-
for (let
|
|
4336
|
-
for (let
|
|
4337
|
-
for (let
|
|
4338
|
-
const J = L[
|
|
4339
|
-
J === L[
|
|
4335
|
+
for (let ne = 0; ne < r; ne++) K((G) => L[ne][G]);
|
|
4336
|
+
for (let ne = 0; ne < r; ne++) K((G) => L[G][ne]);
|
|
4337
|
+
for (let ne = 0; ne < r - 1; ne++) for (let G = 0; G < r - 1; G++) {
|
|
4338
|
+
const J = L[ne][G];
|
|
4339
|
+
J === L[ne][G + 1] && J === L[ne + 1][G] && J === L[ne + 1][G + 1] && (T += 3);
|
|
4340
4340
|
}
|
|
4341
|
-
let
|
|
4342
|
-
for (const
|
|
4341
|
+
let v = 0;
|
|
4342
|
+
for (const ne of L) for (const G of ne) G && v++;
|
|
4343
4343
|
const ae = r * r;
|
|
4344
|
-
return T += (Math.ceil(Math.abs(
|
|
4344
|
+
return T += (Math.ceil(Math.abs(v * 20 - ae * 10) / ae) - 1) * 10, T;
|
|
4345
4345
|
};
|
|
4346
|
-
let
|
|
4346
|
+
let F = 0, S = 1 / 0;
|
|
4347
4347
|
for (let T = 0; T < 8; T++) {
|
|
4348
|
-
|
|
4349
|
-
const
|
|
4350
|
-
|
|
4348
|
+
X(T), D(T);
|
|
4349
|
+
const E = j();
|
|
4350
|
+
E < S && (S = E, F = T), X(T);
|
|
4351
4351
|
}
|
|
4352
|
-
return
|
|
4352
|
+
return X(F), D(F), L;
|
|
4353
4353
|
}
|
|
4354
4354
|
function rc(t) {
|
|
4355
4355
|
const e = nc(t), n = e.length, r = 2;
|
|
@@ -4487,7 +4487,7 @@ function qc({ pos: t }) {
|
|
|
4487
4487
|
}
|
|
4488
4488
|
function jn({ t, mini: e }) {
|
|
4489
4489
|
return /* @__PURE__ */ h("div", { className: "gfull__transport", children: [
|
|
4490
|
-
/* @__PURE__ */ i("button", { type: "button", className: "gfull__step", "aria-label": "Previous line", title: "Previous line", style: { opacity: t.prevOn ? 1 : 0.3 }, onClick: t.onPrev, children: /* @__PURE__ */ i(oe, { d:
|
|
4490
|
+
/* @__PURE__ */ i("button", { type: "button", className: "gfull__step", "aria-label": "Previous line", title: "Previous line", style: { opacity: t.prevOn ? 1 : 0.3 }, onClick: t.onPrev, children: /* @__PURE__ */ i(oe, { d: ee.chevronLeft, size: e ? 13 : 16, sw: e ? 1.8 : 1.9 }) }),
|
|
4491
4491
|
/* @__PURE__ */ i(
|
|
4492
4492
|
"button",
|
|
4493
4493
|
{
|
|
@@ -4501,7 +4501,7 @@ function jn({ t, mini: e }) {
|
|
|
4501
4501
|
children: t.busy ? /* @__PURE__ */ i("span", { className: "gfull__spin", "aria-hidden": "true" }) : t.playing ? /* @__PURE__ */ i(ka, { size: e ? 14 : 18 }) : /* @__PURE__ */ i(jr, { size: e ? 15 : 19 })
|
|
4502
4502
|
}
|
|
4503
4503
|
),
|
|
4504
|
-
/* @__PURE__ */ i("button", { type: "button", className: "gfull__step", "aria-label": "Next line", title: "Next line", style: { opacity: t.nextOn ? 1 : 0.3 }, onClick: t.onNext, children: /* @__PURE__ */ i(oe, { d:
|
|
4504
|
+
/* @__PURE__ */ i("button", { type: "button", className: "gfull__step", "aria-label": "Next line", title: "Next line", style: { opacity: t.nextOn ? 1 : 0.3 }, onClick: t.onNext, children: /* @__PURE__ */ i(oe, { d: ee.chevronRight, size: e ? 13 : 16, sw: e ? 1.8 : 1.9 }) })
|
|
4505
4505
|
] });
|
|
4506
4506
|
}
|
|
4507
4507
|
function kr({ live: t, mini: e, desk: n, pct: r, mark: s }) {
|
|
@@ -4515,7 +4515,7 @@ function kr({ live: t, mini: e, desk: n, pct: r, mark: s }) {
|
|
|
4515
4515
|
] });
|
|
4516
4516
|
}
|
|
4517
4517
|
function Ai({ v: t, size: e }) {
|
|
4518
|
-
return /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Voices", title: t.title, disabled: !t.on, style: { opacity: t.on ? 1 : 0.45, cursor: t.on ? "pointer" : "default" }, onClick: t.on ? t.onClick : void 0, children: /* @__PURE__ */ i(oe, { d:
|
|
4518
|
+
return /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Voices", title: t.title, disabled: !t.on, style: { opacity: t.on ? 1 : 0.45, cursor: t.on ? "pointer" : "default" }, onClick: t.on ? t.onClick : void 0, children: /* @__PURE__ */ i(oe, { d: ee.headphones, size: e, sw: 1.6 }) });
|
|
4519
4519
|
}
|
|
4520
4520
|
function oc({ pos: t, transport: e, chip: n, voices: r, onShare: s, onFull: a, copied: o }) {
|
|
4521
4521
|
return /* @__PURE__ */ h("div", { className: "gmini", "data-theme": "dark", children: [
|
|
@@ -4530,7 +4530,7 @@ function oc({ pos: t, transport: e, chip: n, voices: r, onShare: s, onFull: a, c
|
|
|
4530
4530
|
/* @__PURE__ */ i(Ai, { v: r, size: 14 }),
|
|
4531
4531
|
s && /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Share", title: "Share", onClick: (l) => {
|
|
4532
4532
|
l.stopPropagation(), s();
|
|
4533
|
-
}, children: /* @__PURE__ */ i(oe, { d:
|
|
4533
|
+
}, children: /* @__PURE__ */ i(oe, { d: ee.share, size: 13, sw: 1.8 }) }),
|
|
4534
4534
|
/* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": "Full screen", title: "Full screen", onClick: a, children: /* @__PURE__ */ i(oe, { d: Si, size: 14, sw: 1.8 }) })
|
|
4535
4535
|
] })
|
|
4536
4536
|
] }),
|
|
@@ -4538,40 +4538,40 @@ function oc({ pos: t, transport: e, chip: n, voices: r, onShare: s, onFull: a, c
|
|
|
4538
4538
|
] });
|
|
4539
4539
|
}
|
|
4540
4540
|
const lc = { color: "rgba(255,255,255,.4)" };
|
|
4541
|
-
function Ei({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title: s, desk: a, pos: o, sub: l, wait: c, pct: u, mute: d, cc: g, ad: M, chip: N, transport: p, picker: y, sheet: L, voices: m, voicesBtn: f, sheetOpen: I, onShare:
|
|
4542
|
-
const [
|
|
4541
|
+
function Ei({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title: s, desk: a, pos: o, sub: l, wait: c, pct: u, mute: d, cc: g, ad: M, chip: N, transport: p, picker: y, sheet: L, voices: m, voicesBtn: f, sheetOpen: I, onShare: C, onSettings: D, paused: B, copied: _, onTouch: X, onClose: j }) {
|
|
4542
|
+
const [F, S] = z(() => !!ur());
|
|
4543
4543
|
U(() => {
|
|
4544
|
-
const
|
|
4545
|
-
return document.addEventListener("fullscreenchange",
|
|
4546
|
-
document.removeEventListener("fullscreenchange",
|
|
4544
|
+
const Q = () => S(!!ur());
|
|
4545
|
+
return document.addEventListener("fullscreenchange", Q), document.addEventListener("webkitfullscreenchange", Q), () => {
|
|
4546
|
+
document.removeEventListener("fullscreenchange", Q), document.removeEventListener("webkitfullscreenchange", Q);
|
|
4547
4547
|
};
|
|
4548
4548
|
}, []);
|
|
4549
|
-
const T =
|
|
4549
|
+
const T = k(j);
|
|
4550
4550
|
T.current = j;
|
|
4551
|
-
const
|
|
4552
|
-
|
|
4553
|
-
const [
|
|
4551
|
+
const E = k(p.playable ? p.onPlay : void 0);
|
|
4552
|
+
E.current = p.playable ? p.onPlay : void 0;
|
|
4553
|
+
const [O, te] = z(!1), [K, v] = z(0), ae = k(!1);
|
|
4554
4554
|
U(() => () => vn(!1), []), U(() => {
|
|
4555
4555
|
if (!n) return;
|
|
4556
|
-
const
|
|
4557
|
-
|
|
4556
|
+
const Q = [document.documentElement, document.body], he = Q.map((fe) => fe.style.background);
|
|
4557
|
+
Q.forEach((fe) => {
|
|
4558
4558
|
fe.style.background = "#050507";
|
|
4559
4559
|
});
|
|
4560
4560
|
const ue = document.querySelector('meta[name="theme-color"]'), ie = ue == null ? void 0 : ue.content;
|
|
4561
4561
|
return ue && (ue.content = "#050507"), () => {
|
|
4562
|
-
|
|
4562
|
+
Q.forEach((fe, Ue) => {
|
|
4563
4563
|
fe.style.background = he[Ue];
|
|
4564
4564
|
}), ue && ie && (ue.content = ie);
|
|
4565
4565
|
};
|
|
4566
4566
|
}, []);
|
|
4567
|
-
const
|
|
4567
|
+
const ne = Ie(() => n && ic(), [n]), [G, J] = z(ne);
|
|
4568
4568
|
U(() => {
|
|
4569
4569
|
if (!n) return;
|
|
4570
|
-
const
|
|
4571
|
-
if (!
|
|
4572
|
-
return
|
|
4570
|
+
const Q = [document.documentElement, document.body], he = Q.map((fe) => [fe.style.overflow, fe.style.overscrollBehavior]);
|
|
4571
|
+
if (!ne)
|
|
4572
|
+
return Q.forEach((fe) => {
|
|
4573
4573
|
fe.style.overflow = "hidden", fe.style.overscrollBehavior = "none";
|
|
4574
|
-
}), () =>
|
|
4574
|
+
}), () => Q.forEach((fe, Ue) => {
|
|
4575
4575
|
fe.style.overflow = he[Ue][0], fe.style.overscrollBehavior = he[Ue][1];
|
|
4576
4576
|
});
|
|
4577
4577
|
const ue = document.createElement("div");
|
|
@@ -4582,120 +4582,120 @@ function Ei({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
|
|
|
4582
4582
|
return window.addEventListener("scroll", ie, { passive: !0 }), () => {
|
|
4583
4583
|
window.removeEventListener("scroll", ie), ue.remove(), document.documentElement.style.overscrollBehavior = he[0][1], window.scrollTo(0, 0);
|
|
4584
4584
|
};
|
|
4585
|
-
}, [
|
|
4586
|
-
const pe =
|
|
4585
|
+
}, [ne, n]);
|
|
4586
|
+
const pe = k(I);
|
|
4587
4587
|
pe.current = I, U(() => {
|
|
4588
|
-
const
|
|
4588
|
+
const Q = (ie) => ie instanceof HTMLElement && (ie.isContentEditable || /^(INPUT|TEXTAREA|SELECT)$/.test(ie.tagName)), he = (ie) => {
|
|
4589
4589
|
var fe;
|
|
4590
|
-
ie.key === "Escape" && !pe.current && T.current && (ie.stopPropagation(), T.current()), ie.key === " " && !pe.current &&
|
|
4590
|
+
ie.key === "Escape" && !pe.current && T.current && (ie.stopPropagation(), T.current()), ie.key === " " && !pe.current && !Q(ie.target) && (ie.preventDefault(), ie.stopPropagation(), ie.repeat || (fe = E.current) == null || fe.call(E)), (ie.key === "f" || ie.key === "F") && !ie.metaKey && !ie.ctrlKey && !ie.altKey && !pe.current && !Q(ie.target) && Js() && (ie.preventDefault(), ie.repeat || vn(!ur()));
|
|
4591
4591
|
}, ue = (ie) => {
|
|
4592
|
-
ie.key === " " && !pe.current &&
|
|
4592
|
+
ie.key === " " && !pe.current && !Q(ie.target) && ie.preventDefault();
|
|
4593
4593
|
};
|
|
4594
4594
|
return window.addEventListener("keydown", he, !0), window.addEventListener("keyup", ue, !0), () => {
|
|
4595
4595
|
window.removeEventListener("keydown", he, !0), window.removeEventListener("keyup", ue, !0);
|
|
4596
4596
|
};
|
|
4597
4597
|
}, []);
|
|
4598
|
-
const le = ac("(orientation: landscape) and (max-height: 540px)"), Te =
|
|
4598
|
+
const le = ac("(orientation: landscape) and (max-height: 540px)"), Te = k(null), [je, Ee] = z(null);
|
|
4599
4599
|
Bt(() => {
|
|
4600
|
-
const
|
|
4601
|
-
if (
|
|
4600
|
+
const Q = Te.current;
|
|
4601
|
+
if (!Q || (Ee(Q.getBoundingClientRect().width), typeof ResizeObserver > "u")) return;
|
|
4602
4602
|
const he = new ResizeObserver(([ue]) => Ee(ue.contentRect.width));
|
|
4603
|
-
return he.observe(
|
|
4603
|
+
return he.observe(Q), () => he.disconnect();
|
|
4604
4604
|
}, []);
|
|
4605
|
-
const Le = t && !
|
|
4605
|
+
const Le = t && !F, we = !Le && a && !le && (je == null || je >= 880), _e = !we;
|
|
4606
4606
|
U(() => {
|
|
4607
|
-
if (
|
|
4608
|
-
const
|
|
4609
|
-
return () => clearTimeout(
|
|
4607
|
+
if (te(!1), !p.playing || I) return;
|
|
4608
|
+
const Q = setTimeout(() => te(!0), 3e3);
|
|
4609
|
+
return () => clearTimeout(Q);
|
|
4610
4610
|
}, [p.playing, I, K]);
|
|
4611
|
-
const Pe =
|
|
4612
|
-
Pe.current =
|
|
4613
|
-
const Se =
|
|
4614
|
-
if (
|
|
4611
|
+
const Pe = k(O);
|
|
4612
|
+
Pe.current = O;
|
|
4613
|
+
const Se = k(0), $ = (Q) => {
|
|
4614
|
+
if (Q.pointerType !== "mouse") return;
|
|
4615
4615
|
const he = Date.now();
|
|
4616
|
-
!Pe.current && he - Se.current < 1e3 || (Se.current = he,
|
|
4617
|
-
},
|
|
4616
|
+
!Pe.current && he - Se.current < 1e3 || (Se.current = he, v((ue) => ue + 1));
|
|
4617
|
+
}, H = !we && le, A = k(null), b = l ? l.words.map((Q) => Q.dim ? 0 : 1).join("") + l.words.length + ":" + (l.cursor ?? "") : "";
|
|
4618
4618
|
Bt(() => {
|
|
4619
|
-
const
|
|
4620
|
-
if (
|
|
4621
|
-
const he = !!(l != null && l.words.some((de) => de.dim)) || (l == null ? void 0 : l.cursor) != null, ue =
|
|
4619
|
+
const Q = A.current;
|
|
4620
|
+
if (!Q) return;
|
|
4621
|
+
const he = !!(l != null && l.words.some((de) => de.dim)) || (l == null ? void 0 : l.cursor) != null, ue = Q.querySelectorAll((l == null ? void 0 : l.cursor) != null && !l.words.some((de) => de.dim) ? "[data-at]" : "[data-said]"), ie = parseFloat(getComputedStyle(Q).lineHeight) || 24, fe = Math.round(Q.scrollHeight / ie) - Math.round(Q.clientHeight / ie), Ue = Math.max(0, fe) * ie;
|
|
4622
4622
|
if (Ue <= 0) {
|
|
4623
|
-
|
|
4623
|
+
Q.scrollTop && Q.scrollTo({ top: 0 });
|
|
4624
4624
|
return;
|
|
4625
4625
|
}
|
|
4626
|
-
const Y = (de) => Math.round((de.getBoundingClientRect().top -
|
|
4627
|
-
Math.abs(
|
|
4628
|
-
}, [
|
|
4629
|
-
const [
|
|
4626
|
+
const Y = (de) => Math.round((de.getBoundingClientRect().top - Q.getBoundingClientRect().top + Q.scrollTop) / ie), R = Math.max(1, Math.round(Q.clientHeight / ie)), q = he ? ue.length ? Math.floor(Y(ue[ue.length - 1]) / R) * R * ie : 0 : Ue, re = Math.max(0, Math.min(Ue, q));
|
|
4627
|
+
Math.abs(re - Q.scrollTop) > 1 && (Q.scrollTop = re);
|
|
4628
|
+
}, [b, H]);
|
|
4629
|
+
const [V, ce] = z(!0), [W, me] = z(!1), Z = k(void 0);
|
|
4630
4630
|
U(() => () => window.clearTimeout(Z.current), []);
|
|
4631
|
-
const ve =
|
|
4632
|
-
var
|
|
4633
|
-
(
|
|
4631
|
+
const ve = B != null && B.share ? B.share.url(V && B.share.at >= 1 ? Math.floor(B.share.at) : null) : "", ze = Ie(() => we && ve && !p.playing ? rc(ve) : "", [we, ve, p.playing]), Ge = () => {
|
|
4632
|
+
var Q;
|
|
4633
|
+
(Q = navigator.clipboard) == null || Q.writeText(ve).then(() => {
|
|
4634
4634
|
me(!0), window.clearTimeout(Z.current), Z.current = window.setTimeout(() => me(!1), 1800);
|
|
4635
4635
|
}, () => {
|
|
4636
4636
|
});
|
|
4637
|
-
}, Ae = we && (
|
|
4637
|
+
}, Ae = we && (B == null ? void 0 : B.share) && /* @__PURE__ */ h("div", { className: "gfull__sharecard", onPointerDown: (Q) => Q.stopPropagation(), onClick: (Q) => Q.stopPropagation(), children: [
|
|
4638
4638
|
ze && /* @__PURE__ */ i("div", { className: "gfull__shareqr", role: "img", "aria-label": "QR code for this link", style: { backgroundImage: `url("${ze}")` } }),
|
|
4639
4639
|
/* @__PURE__ */ h("div", { className: "gfull__sharebody", children: [
|
|
4640
4640
|
/* @__PURE__ */ i("div", { className: "gfull__shareeyebrow", children: "SHARE THIS MOMENT" }),
|
|
4641
4641
|
/* @__PURE__ */ h("label", { className: "gfull__shareat", children: [
|
|
4642
|
-
/* @__PURE__ */ i("input", { type: "checkbox", checked:
|
|
4642
|
+
/* @__PURE__ */ i("input", { type: "checkbox", checked: V, onChange: (Q) => ce(Q.target.checked), disabled: B.share.at < 1 }),
|
|
4643
4643
|
"Start at ",
|
|
4644
|
-
yt(Math.floor(
|
|
4644
|
+
yt(Math.floor(B.share.at))
|
|
4645
4645
|
] }),
|
|
4646
4646
|
/* @__PURE__ */ i("div", { className: "gfull__shareurl", children: /* @__PURE__ */ i("span", { children: ve.replace(/^https?:\/\//, "") }) }),
|
|
4647
4647
|
/* @__PURE__ */ h("div", { className: "gfull__shareacts", children: [
|
|
4648
4648
|
/* @__PURE__ */ h("button", { type: "button", className: "gfull__sharebtn gfull__sharebtn--main", onClick: Ge, children: [
|
|
4649
|
-
/* @__PURE__ */ i(oe, { d:
|
|
4650
|
-
|
|
4649
|
+
/* @__PURE__ */ i(oe, { d: W ? ee.check : ee.copy, size: 14, sw: 1.8 }),
|
|
4650
|
+
W ? "Copied" : "Copy link"
|
|
4651
4651
|
] }),
|
|
4652
4652
|
/* @__PURE__ */ h("button", { type: "button", className: "gfull__sharebtn", onClick: () => Ar(ve, s), children: [
|
|
4653
|
-
/* @__PURE__ */ i(oe, { d:
|
|
4653
|
+
/* @__PURE__ */ i(oe, { d: ee.share, size: 14, sw: 1.6 }),
|
|
4654
4654
|
"Share"
|
|
4655
4655
|
] })
|
|
4656
4656
|
] })
|
|
4657
4657
|
] })
|
|
4658
|
-
] }), ge = (
|
|
4658
|
+
] }), ge = (Q, he, ue, ie, fe, Ue = 0) => /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", title: Q, "aria-label": Q, onClick: ie, children: /* @__PURE__ */ i(oe, { d: he, size: (we ? 20 : _e ? 15 : 18) + Ue, sw: ue, style: fe }) }), Ye = /* @__PURE__ */ h("div", { className: "gfull__acts", children: [
|
|
4659
4659
|
f && /* @__PURE__ */ i(Ai, { v: f, size: we ? 20 : _e ? 15 : 18 }),
|
|
4660
|
-
|
|
4661
|
-
Js() && !e && ge(
|
|
4662
|
-
j && ge("Close player",
|
|
4660
|
+
C && ge("Share", ee.share, 1.6, C),
|
|
4661
|
+
Js() && !e && ge(F ? "Exit full screen" : "Full screen", F ? sc : Si, 1.7, () => vn(!F)),
|
|
4662
|
+
j && ge("Close player", ee.close, 1.7, j)
|
|
4663
4663
|
] }), Ve = (d || g || D) && /* @__PURE__ */ h("div", { className: "gfull__top", children: [
|
|
4664
|
-
d && ge(d.muted ? "Unmute" : "Mute", d.muted ?
|
|
4665
|
-
g && ge(g.on ? "Hide subtitles" : "Show subtitles", g.on ?
|
|
4666
|
-
D && ge("Settings",
|
|
4664
|
+
d && ge(d.muted ? "Unmute" : "Mute", d.muted ? ee.volumeOff : ee.volume, 1.6, d.onToggle),
|
|
4665
|
+
g && ge(g.on ? "Hide subtitles" : "Show subtitles", g.on ? ee.cc : ee.ccOff, 1.7, g.onToggle, void 0, 4),
|
|
4666
|
+
D && ge("Settings", ee.cog, 1.6, D)
|
|
4667
4667
|
] });
|
|
4668
4668
|
return /* @__PURE__ */ h(
|
|
4669
4669
|
"div",
|
|
4670
4670
|
{
|
|
4671
4671
|
ref: Te,
|
|
4672
|
-
className: `gfull${we ? " gfull--desk" : ""}${_e ? " gfull--mini" : ""}${Le ? " gfull--small" : ""}${
|
|
4672
|
+
className: `gfull${we ? " gfull--desk" : ""}${_e ? " gfull--mini" : ""}${Le ? " gfull--small" : ""}${ne ? " gfull--swipe" : ""}${M ? " gfull--ad" : ""}${O ? " gfull--calm" : ""}`,
|
|
4673
4673
|
"data-theme": "dark",
|
|
4674
4674
|
role: "dialog",
|
|
4675
4675
|
"aria-label": s,
|
|
4676
|
-
onPointerMove:
|
|
4677
|
-
onPointerDownCapture: (
|
|
4676
|
+
onPointerMove: $,
|
|
4677
|
+
onPointerDownCapture: (Q) => {
|
|
4678
4678
|
var he, ue;
|
|
4679
|
-
|
|
4679
|
+
O && (ae.current = !0), v((ie) => ie + 1), (ue = (he = Q.target).closest) != null && ue.call(he, '[aria-label="Exit full screen"], [aria-label="Full screen"], [aria-label="Close player"]') || X();
|
|
4680
4680
|
},
|
|
4681
|
-
onClickCapture: (
|
|
4682
|
-
ae.current && (ae.current = !1,
|
|
4681
|
+
onClickCapture: (Q) => {
|
|
4682
|
+
ae.current && (ae.current = !1, Q.stopPropagation(), Q.preventDefault());
|
|
4683
4683
|
},
|
|
4684
4684
|
children: [
|
|
4685
|
-
|
|
4685
|
+
ne && G && /* @__PURE__ */ h("div", { className: "gfull__swipe", "aria-live": "polite", children: [
|
|
4686
4686
|
/* @__PURE__ */ i(oe, { d: "m4.5 15.75 7.5-7.5 7.5 7.5", size: 14, sw: 2 }),
|
|
4687
4687
|
"Swipe up for full screen"
|
|
4688
4688
|
] }),
|
|
4689
|
-
/* @__PURE__ */ h("div", { className: `gfull__frame${
|
|
4689
|
+
/* @__PURE__ */ h("div", { className: `gfull__frame${H ? " gfull__frame--land" : ""}`, children: [
|
|
4690
4690
|
r,
|
|
4691
4691
|
/* @__PURE__ */ i("div", { className: "gfull__shade", "aria-hidden": "true" }),
|
|
4692
|
-
|
|
4692
|
+
B && !M && /* @__PURE__ */ h("div", { className: `gfull__pausedinfo${p.playing ? "" : " gfull__pausedinfo--on"}`, "aria-hidden": p.playing, children: [
|
|
4693
4693
|
/* @__PURE__ */ h("div", { className: "gfull__pausedtext", children: [
|
|
4694
4694
|
/* @__PURE__ */ h("div", { className: "gfull__pausedhead", children: [
|
|
4695
4695
|
(_e || Le) && /* @__PURE__ */ i("span", { className: "gfull__pausedmark", "aria-hidden": "true", children: /* @__PURE__ */ i(zr, { dark: !0, size: 20 }) }),
|
|
4696
|
-
/* @__PURE__ */ i("div", { className: "gfull__pausedtitle", children:
|
|
4696
|
+
/* @__PURE__ */ i("div", { className: "gfull__pausedtitle", children: B.title })
|
|
4697
4697
|
] }),
|
|
4698
|
-
|
|
4698
|
+
B.summary && /* @__PURE__ */ i("div", { className: "gfull__pausedsum", children: B.summary })
|
|
4699
4699
|
] }),
|
|
4700
4700
|
Ae
|
|
4701
4701
|
] }),
|
|
@@ -4713,7 +4713,7 @@ function Ei({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
|
|
|
4713
4713
|
] }),
|
|
4714
4714
|
" "
|
|
4715
4715
|
] }),
|
|
4716
|
-
l.words.map((
|
|
4716
|
+
l.words.map((Q) => Q.t + Q.sp).join("")
|
|
4717
4717
|
] }) }),
|
|
4718
4718
|
/* @__PURE__ */ h("span", { children: [
|
|
4719
4719
|
l.who && /* @__PURE__ */ h(xe, { children: [
|
|
@@ -4723,9 +4723,9 @@ function Ei({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
|
|
|
4723
4723
|
] }),
|
|
4724
4724
|
" "
|
|
4725
4725
|
] }),
|
|
4726
|
-
l.words.map((
|
|
4727
|
-
|
|
4728
|
-
|
|
4726
|
+
l.words.map((Q, he) => /* @__PURE__ */ h("span", { "data-said": Q.dim ? void 0 : "", "data-at": l.cursor != null && he <= l.cursor ? "" : void 0, style: Q.dim ? lc : void 0, children: [
|
|
4727
|
+
Q.t,
|
|
4728
|
+
Q.sp
|
|
4729
4729
|
] }, he))
|
|
4730
4730
|
] })
|
|
4731
4731
|
] }) }),
|
|
@@ -4762,7 +4762,7 @@ function Ei({ compact: t = !1, noFull: e = !1, page: n = !0, picture: r, title:
|
|
|
4762
4762
|
}
|
|
4763
4763
|
function cc({ dark: t, back: e, home: n, live: r, title: s, badge: a, subline: o, onOptions: l, optionsActive: c }) {
|
|
4764
4764
|
return /* @__PURE__ */ h("div", { className: "ghead", children: [
|
|
4765
|
-
e && /* @__PURE__ */ i("button", { type: "button", className: "ghead__back", "aria-label": "Back", title: "Back", onClick: e, children: /* @__PURE__ */ i(oe, { d:
|
|
4765
|
+
e && /* @__PURE__ */ i("button", { type: "button", className: "ghead__back", "aria-label": "Back", title: "Back", onClick: e, children: /* @__PURE__ */ i(oe, { d: ee.chevronLeft, size: 19, sw: 1.7 }) }),
|
|
4766
4766
|
r && /* @__PURE__ */ i("span", { className: "mark", children: /* @__PURE__ */ i(zr, { dark: t, size: 30 }) }),
|
|
4767
4767
|
/* @__PURE__ */ i("div", { style: { flex: 1, minWidth: 0, display: "flex" }, children: n ? /* @__PURE__ */ i("div", { className: "ghead__logo", children: /* @__PURE__ */ i(bn, { dark: t, height: 22 }) }) : /* @__PURE__ */ h("div", { className: "ghead__title", onClick: e, title: e ? "Back" : void 0, style: { cursor: e ? "pointer" : "default" }, children: [
|
|
4768
4768
|
/* @__PURE__ */ h("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
|
|
@@ -4778,7 +4778,7 @@ function cc({ dark: t, back: e, home: n, live: r, title: s, badge: a, subline: o
|
|
|
4778
4778
|
] }) })
|
|
4779
4779
|
] });
|
|
4780
4780
|
}
|
|
4781
|
-
const uc = "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", dc = (t, e = !1) => [{ value: "read", label: t.read, icon: /* @__PURE__ */ i(oe, { d:
|
|
4781
|
+
const uc = "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", dc = (t, e = !1) => [{ value: "read", label: t.read, icon: /* @__PURE__ */ i(oe, { d: ee.book, size: 17 }) }, { value: "listen", label: /* @__PURE__ */ i("span", { style: { display: "inline-block", minWidth: 52, textAlign: "center" }, children: e ? t.watch : t.listen }), icon: /* @__PURE__ */ i(oe, { d: e ? uc : ee.headphones, size: 19, sw: 1.5 }) }];
|
|
4782
4782
|
function hc(t) {
|
|
4783
4783
|
if (!t.lang) return null;
|
|
4784
4784
|
const e = t.langName;
|
|
@@ -4829,7 +4829,7 @@ function fc({ state: t, line: e, onRetry: n, onOriginal: r }) {
|
|
|
4829
4829
|
onPointerDown: (d) => d.stopPropagation(),
|
|
4830
4830
|
children: [
|
|
4831
4831
|
/* @__PURE__ */ h("div", { className: "pwait__head", children: [
|
|
4832
|
-
l ? /* @__PURE__ */ i("div", { className: "pwait__mark", "aria-hidden": "true", children: /* @__PURE__ */ i(oe, { d:
|
|
4832
|
+
l ? /* @__PURE__ */ i("div", { className: "pwait__mark", "aria-hidden": "true", children: /* @__PURE__ */ i(oe, { d: ee.warnCircle, size: 18, sw: 1.8 }) }) : /* @__PURE__ */ i("div", { className: "pwait__spin", "aria-hidden": "true" }),
|
|
4833
4833
|
/* @__PURE__ */ i("div", { className: "pwait__t", children: c }),
|
|
4834
4834
|
!l && o != null && o >= 3 && /* @__PURE__ */ i("div", { className: "pwait__clock", "aria-label": `${o} seconds`, children: gc(o) })
|
|
4835
4835
|
] }),
|
|
@@ -4940,7 +4940,7 @@ function vc({ options: t, onStarted: e, onReplay: n, onClose: r }) {
|
|
|
4940
4940
|
return /* @__PURE__ */ i("div", { className: "vsp-end", role: "dialog", "aria-label": "Transcribe another video", onPointerDown: (y) => y.stopPropagation(), onClick: (y) => {
|
|
4941
4941
|
y.stopPropagation(), y.target === y.currentTarget && r();
|
|
4942
4942
|
}, children: /* @__PURE__ */ h("div", { className: "vsp-end__card", children: [
|
|
4943
|
-
/* @__PURE__ */ i("button", { type: "button", className: "vsp-end__close", "aria-label": "Close", title: "Close", onClick: r, children: /* @__PURE__ */ i(oe, { d:
|
|
4943
|
+
/* @__PURE__ */ i("button", { type: "button", className: "vsp-end__close", "aria-label": "Close", title: "Close", onClick: r, children: /* @__PURE__ */ i(oe, { d: ee.close, size: 16, sw: 1.8 }) }),
|
|
4944
4944
|
/* @__PURE__ */ i("div", { className: "vsp-end__brand", children: /* @__PURE__ */ i(bn, { dark: !0, link: !1, height: 16 }) }),
|
|
4945
4945
|
/* @__PURE__ */ i("div", { className: "vsp-end__title", children: t.title ?? "Transcribe and translate any video" }),
|
|
4946
4946
|
/* @__PURE__ */ i("div", { className: "vsp-end__note", children: t.note ?? "Paste a link from YouTube, Vimeo or any page with a video. It plays right here with subtitles and spoken translations." }),
|
|
@@ -4957,7 +4957,7 @@ function vc({ options: t, onStarted: e, onReplay: n, onClose: r }) {
|
|
|
4957
4957
|
/* @__PURE__ */ h("div", { className: "vsp-end__foot", children: [
|
|
4958
4958
|
/* @__PURE__ */ i("span", { children: "Uses your VocalStack account. You'll be asked to sign in if you're not." }),
|
|
4959
4959
|
/* @__PURE__ */ h("button", { type: "button", className: "vsp-end__replay", onClick: n, children: [
|
|
4960
|
-
/* @__PURE__ */ i(oe, { d:
|
|
4960
|
+
/* @__PURE__ */ i(oe, { d: ee.uturn, size: 14, sw: 1.8 }),
|
|
4961
4961
|
"Replay"
|
|
4962
4962
|
] })
|
|
4963
4963
|
] })
|
|
@@ -4977,24 +4977,24 @@ function jc(t, e) {
|
|
|
4977
4977
|
e({ lang: _ }), s(_);
|
|
4978
4978
|
}, M = Or({ open: a === "lang" || a === "settings" && l === "lang", onClose: () => a === "lang" ? o(null) : c("main"), value: t.lang, onSelect: g, languages: d, none: "As spoken", pinned: t.lang ? [t.lang] : [], recent: r, keepOpen: !0 }), N = () => {
|
|
4979
4979
|
o(null), c("main");
|
|
4980
|
-
}, p = t.lang ? /* @__PURE__ */ i("span", { style: { fontSize: 19, lineHeight: 1 }, children: u.flag }) : /* @__PURE__ */ i(oe, { d:
|
|
4981
|
-
_.stopPropagation(), c("main"), o((
|
|
4982
|
-
}, children: p }), L = /* @__PURE__ */ i(oe, { d:
|
|
4980
|
+
}, p = t.lang ? /* @__PURE__ */ i("span", { style: { fontSize: 19, lineHeight: 1 }, children: u.flag }) : /* @__PURE__ */ i(oe, { d: ee.langAuto, size: 19, sw: 1.7 }), y = /* @__PURE__ */ i("button", { type: "button", className: "gfull__btn", "aria-label": `Language: ${t.lang ? u.label : "As spoken"}`, title: t.lang ? u.label : "As spoken", onClick: (_) => {
|
|
4981
|
+
_.stopPropagation(), c("main"), o((X) => X === "lang" ? null : "lang");
|
|
4982
|
+
}, children: p }), L = /* @__PURE__ */ i(oe, { d: ee.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), m = /* @__PURE__ */ h("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
|
|
4983
4983
|
" ",
|
|
4984
4984
|
/* @__PURE__ */ h("button", { type: "button", onClick: () => c("main"), "aria-label": "Back", className: "vsp-idlesheet__back", children: [
|
|
4985
|
-
/* @__PURE__ */ i(oe, { d:
|
|
4985
|
+
/* @__PURE__ */ i(oe, { d: ee.chevronLeft, size: 18, sw: 1.8 }),
|
|
4986
4986
|
"Back"
|
|
4987
4987
|
] })
|
|
4988
|
-
] }), f = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, I = (_,
|
|
4988
|
+
] }), f = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, I = (_, X, j) => /* @__PURE__ */ h("div", { className: "srow", children: [
|
|
4989
4989
|
/* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
4990
4990
|
/* @__PURE__ */ i("div", { className: "srow__t", children: _ }),
|
|
4991
|
-
/* @__PURE__ */ i("div", { className: "srow__s", children:
|
|
4991
|
+
/* @__PURE__ */ i("div", { className: "srow__s", children: X })
|
|
4992
4992
|
] }),
|
|
4993
4993
|
j
|
|
4994
|
-
] }),
|
|
4994
|
+
] }), C = /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
4995
4995
|
/* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: M.search }),
|
|
4996
4996
|
M.list
|
|
4997
|
-
] }), D = l === "lang" ?
|
|
4997
|
+
] }), D = l === "lang" ? C : l === "subs" ? /* @__PURE__ */ h("div", { style: f, children: [
|
|
4998
4998
|
I("Show subtitles", "Captions over the video", /* @__PURE__ */ i(Nt, { checked: t.subtitles, onChange: (_) => e({ subtitles: _ }), label: "Show subtitles" })),
|
|
4999
4999
|
I("Show speaker labels", "Who is speaking, before each line", /* @__PURE__ */ i(Nt, { checked: t.speakerLabels, onChange: (_) => e({ speakerLabels: _ }), label: "Show speaker labels" })),
|
|
5000
5000
|
I("Highlight words", "Follow each word as it is spoken", /* @__PURE__ */ i(Nt, { checked: t.wordHighlight, onChange: (_) => e({ wordHighlight: _ }), label: "Highlight words" }))
|
|
@@ -5027,13 +5027,13 @@ function jc(t, e) {
|
|
|
5027
5027
|
] }),
|
|
5028
5028
|
L
|
|
5029
5029
|
] })
|
|
5030
|
-
] }),
|
|
5030
|
+
] }), B = /* @__PURE__ */ h(xe, { children: [
|
|
5031
5031
|
/* @__PURE__ */ i(Vt, { open: a === "lang", onClose: N, title: "LANGUAGE", kind: "picker", header: M.search, sticky: !0, children: /* @__PURE__ */ i(Mr, { children: M.list }) }),
|
|
5032
5032
|
/* @__PURE__ */ i(Vt, { open: a === "settings", onClose: N, 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(Mr, { children: D }) })
|
|
5033
5033
|
] });
|
|
5034
5034
|
return {
|
|
5035
5035
|
chip: y,
|
|
5036
|
-
sheets:
|
|
5036
|
+
sheets: B,
|
|
5037
5037
|
sheetOpen: a != null,
|
|
5038
5038
|
openSettings: () => {
|
|
5039
5039
|
c("main"), o((_) => _ === "settings" ? null : "settings");
|
|
@@ -5103,7 +5103,7 @@ function Cc({ t }) {
|
|
|
5103
5103
|
] });
|
|
5104
5104
|
}
|
|
5105
5105
|
function bc() {
|
|
5106
|
-
const t =
|
|
5106
|
+
const t = k(null), [e, n] = z(!0), [r, s] = z(() => typeof document > "u" || !document.hidden);
|
|
5107
5107
|
return U(() => {
|
|
5108
5108
|
const a = () => s(!document.hidden);
|
|
5109
5109
|
document.addEventListener("visibilitychange", a);
|
|
@@ -5163,7 +5163,7 @@ function Sc({ poster: t, src: e }) {
|
|
|
5163
5163
|
const Ac = { live: !1, atEdge: !1, edgeFrac: null, pct: 0, atLabel: "0:00", labelAt: () => "0:00", endLabel: "0:00", onSeek: () => {
|
|
5164
5164
|
} };
|
|
5165
5165
|
function Cn({ idle: t, poster: e, src: n, title: r, page: s, onAct: a, children: o }) {
|
|
5166
|
-
const l = jc(t.prefs, t.set), c = Ui(), u =
|
|
5166
|
+
const l = jc(t.prefs, t.set), c = Ui(), u = k(null), [d, g] = z(!1);
|
|
5167
5167
|
Bt(() => {
|
|
5168
5168
|
var L;
|
|
5169
5169
|
const N = (L = u.current) == null ? void 0 : L.parentElement;
|
|
@@ -5185,7 +5185,7 @@ function Cn({ idle: t, poster: e, src: n, title: r, page: s, onAct: a, children:
|
|
|
5185
5185
|
function Pi({ connect: t, onClick: e, label: n }) {
|
|
5186
5186
|
return /* @__PURE__ */ h(xe, { children: [
|
|
5187
5187
|
/* @__PURE__ */ h("button", { type: "button", className: "vsp-idle__connect", onClick: e, disabled: t.busy, children: [
|
|
5188
|
-
t.busy ? /* @__PURE__ */ i(at, { size: 18, color: "#050507", track: "rgba(5,5,7,.2)" }) : /* @__PURE__ */ i(oe, { d:
|
|
5188
|
+
t.busy ? /* @__PURE__ */ i(at, { size: 18, color: "#050507", track: "rgba(5,5,7,.2)" }) : /* @__PURE__ */ i(oe, { d: ee.link, size: 18, sw: 1.8 }),
|
|
5189
5189
|
/* @__PURE__ */ i("span", { children: t.busy ? "Waiting for VocalStack…" : n })
|
|
5190
5190
|
] }),
|
|
5191
5191
|
t.busy && /* @__PURE__ */ i("div", { className: "vsp-idle__note", role: "status", children: Ri[t.status ?? "checking"] }),
|
|
@@ -5201,7 +5201,7 @@ function Ec({ idle: t, src: e, ask: n, connect: r, page: s, poster: a = null, on
|
|
|
5201
5201
|
] });
|
|
5202
5202
|
}
|
|
5203
5203
|
function _c({ idle: t, connect: e, page: n, poster: r = null, onPick: s }) {
|
|
5204
|
-
const [a, o] = z(""), l =
|
|
5204
|
+
const [a, o] = z(""), l = k(null), c = k(null), u = a.trim(), d = ei.test(u), g = () => {
|
|
5205
5205
|
if (!d || e.busy) return;
|
|
5206
5206
|
const p = /^https?:\/\//i.test(u) ? u : `https://${u}`;
|
|
5207
5207
|
s(p), e.start(p, !1);
|
|
@@ -5225,7 +5225,7 @@ function _c({ idle: t, connect: e, page: n, poster: r = null, onPick: s }) {
|
|
|
5225
5225
|
/* @__PURE__ */ i("form", { className: "vsp-idle__form", onSubmit: (p) => {
|
|
5226
5226
|
p.preventDefault(), g();
|
|
5227
5227
|
}, children: /* @__PURE__ */ h("span", { className: "vsp-idle__field", children: [
|
|
5228
|
-
/* @__PURE__ */ i(oe, { d:
|
|
5228
|
+
/* @__PURE__ */ i(oe, { d: ee.link, size: 16, sw: 1.8 }),
|
|
5229
5229
|
/* @__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: (p) => o(p.target.value), onPaste: (p) => {
|
|
5230
5230
|
const y = p.clipboardData.getData("text");
|
|
5231
5231
|
y && (o(y.trim()), N(y), p.preventDefault());
|
|
@@ -5239,11 +5239,11 @@ function _c({ idle: t, connect: e, page: n, poster: r = null, onPick: s }) {
|
|
|
5239
5239
|
function Yc({ idle: t, message: e, onRetry: n, page: r }) {
|
|
5240
5240
|
return /* @__PURE__ */ h(Cn, { idle: t, poster: null, src: null, title: "VocalStack", page: r, onAct: n, children: [
|
|
5241
5241
|
/* @__PURE__ */ h("div", { className: "vsp-idle__err", role: "alert", children: [
|
|
5242
|
-
/* @__PURE__ */ i(oe, { d:
|
|
5242
|
+
/* @__PURE__ */ i(oe, { d: ee.warn, size: 16, sw: 1.8 }),
|
|
5243
5243
|
e
|
|
5244
5244
|
] }),
|
|
5245
5245
|
/* @__PURE__ */ h("button", { type: "button", className: "vsp-idle__connect", onClick: n, children: [
|
|
5246
|
-
/* @__PURE__ */ i(oe, { d:
|
|
5246
|
+
/* @__PURE__ */ i(oe, { d: ee.uturn, size: 18, sw: 1.8 }),
|
|
5247
5247
|
/* @__PURE__ */ i("span", { children: "Try again" })
|
|
5248
5248
|
] })
|
|
5249
5249
|
] });
|
|
@@ -5291,27 +5291,27 @@ function Pc(t) {
|
|
|
5291
5291
|
}
|
|
5292
5292
|
const Kc = fa(function(e, n) {
|
|
5293
5293
|
var K;
|
|
5294
|
-
const r =
|
|
5294
|
+
const r = k(null);
|
|
5295
5295
|
pa(n, () => ({
|
|
5296
|
-
seek: (
|
|
5296
|
+
seek: (v) => {
|
|
5297
5297
|
var ae;
|
|
5298
|
-
return (ae = r.current) == null ? void 0 : ae.seek(
|
|
5298
|
+
return (ae = r.current) == null ? void 0 : ae.seek(v);
|
|
5299
5299
|
},
|
|
5300
5300
|
play: () => {
|
|
5301
|
-
var
|
|
5302
|
-
return (
|
|
5301
|
+
var v;
|
|
5302
|
+
return (v = r.current) == null ? void 0 : v.play();
|
|
5303
5303
|
},
|
|
5304
5304
|
toggleMute: () => {
|
|
5305
|
-
var
|
|
5306
|
-
return (
|
|
5305
|
+
var v;
|
|
5306
|
+
return (v = r.current) == null ? void 0 : v.toggleMute();
|
|
5307
5307
|
},
|
|
5308
5308
|
pause: () => {
|
|
5309
|
-
var
|
|
5310
|
-
return (
|
|
5309
|
+
var v;
|
|
5310
|
+
return (v = r.current) == null ? void 0 : v.pause();
|
|
5311
5311
|
},
|
|
5312
5312
|
toggle: () => {
|
|
5313
|
-
var
|
|
5314
|
-
return (
|
|
5313
|
+
var v;
|
|
5314
|
+
return (v = r.current) == null ? void 0 : v.toggle();
|
|
5315
5315
|
}
|
|
5316
5316
|
}), []);
|
|
5317
5317
|
const [s, a] = z({ id: e.id ?? "", token: e.token });
|
|
@@ -5322,22 +5322,22 @@ const Kc = fa(function(e, n) {
|
|
|
5322
5322
|
U(() => {
|
|
5323
5323
|
o != null && o.id && a({ id: o.id, token: e.token });
|
|
5324
5324
|
}, [o == null ? void 0 : o.id]);
|
|
5325
|
-
const [l, c] = z(null), [u, d] = z(() => ({ ...kc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([,
|
|
5326
|
-
d((ae) => ({ ...ae, ...
|
|
5325
|
+
const [l, c] = z(null), [u, d] = z(() => ({ ...kc, ...Object.fromEntries(Object.entries({ ...e.initial ?? {}, ...e.settings ?? {} }).filter(([, v]) => v !== void 0)) })), [g, M] = z({}), N = { prefs: u, set: (v) => {
|
|
5326
|
+
d((ae) => ({ ...ae, ...v })), M((ae) => ({ ...ae, ...v }));
|
|
5327
5327
|
}, shareUrl: (K = e.shareUrl) == null ? void 0 : K.call(e, null) }, { muted: p, ...y } = g;
|
|
5328
5328
|
U(() => {
|
|
5329
5329
|
c(null);
|
|
5330
5330
|
}, [e.id, e.src]);
|
|
5331
|
-
const L = e.src ?? l, m = !s.id && !!L && (l != null || o !== void 0), f = !s.id && !e.src && !l, I = wi({ id: s.id, token: s.token, baseUrl: e.baseUrl, listen: s.listen }), { source:
|
|
5331
|
+
const L = e.src ?? l, m = !s.id && !!L && (l != null || o !== void 0), f = !s.id && !e.src && !l, I = wi({ id: s.id, token: s.token, baseUrl: e.baseUrl, listen: s.listen }), { source: C, gone: D, error: B, reload: _ } = Ao(I, s.id), X = Eo(I, (C == null ? void 0 : C.recording.id) ?? null), j = Ie(() => Do(I, X), [I, X]);
|
|
5332
5332
|
U(() => {
|
|
5333
|
-
var
|
|
5334
|
-
|
|
5335
|
-
}, [
|
|
5336
|
-
var
|
|
5337
|
-
|
|
5338
|
-
}, [
|
|
5339
|
-
const
|
|
5340
|
-
return U(() => (Ks(
|
|
5333
|
+
var v;
|
|
5334
|
+
C && ((v = e.onSource) == null || v.call(e, C));
|
|
5335
|
+
}, [C]), U(() => {
|
|
5336
|
+
var v;
|
|
5337
|
+
B && ((v = e.onError) == null || v.call(e, B));
|
|
5338
|
+
}, [B]);
|
|
5339
|
+
const F = Ui(e.desk), S = (e.layout ?? "embed") === "embed", T = e.appUrl ?? (e.endCard ? e.endCard.appUrl : void 0), E = Ke((v) => a({ id: v.transcriptionId, token: null, listen: { transcriptionId: v.transcriptionId, recordingId: v.recordingId, token: v.token } }), []), O = xc(T, E), te = k(null);
|
|
5340
|
+
return U(() => (Ks(S ? te.current : null), () => Ks(null)), [S]), /* @__PURE__ */ i(Oo, { value: j, children: /* @__PURE__ */ i("div", { ref: te, className: `vsp${S ? " 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(_c, { idle: N, connect: O, page: !S, poster: e.poster ?? null, onPick: c }) : m ? /* @__PURE__ */ i(Ec, { idle: N, src: L, ask: !l, connect: O, page: !S, poster: e.poster ?? null, onClear: l ? () => c(null) : void 0 }) : s.id ? B && !C ? /* @__PURE__ */ i(Yc, { idle: N, message: B.message, onRetry: _, page: !S }) : /* @__PURE__ */ i(Qc, { ...e, initial: { ...e.initial ?? {}, ...y }, startMuted: p === !0, handle: r, id: s.id, api: j, shared: C, gone: D, loadError: B, reread: _, desk: F, dark: (e.mode ?? "video") === "video" || !!e.dark, onStarted: (v) => a({ id: v.transcriptionId, token: null, listen: { transcriptionId: v.transcriptionId, recordingId: v.recordingId, token: v.token } }) }, s.id) : /* @__PURE__ */ i("div", { className: "vsp-gate", "data-theme": "dark", children: /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) }) }) });
|
|
5341
5341
|
});
|
|
5342
5342
|
function Qc(t) {
|
|
5343
5343
|
var Ms, gs, fs, ps, Ns, ms, ys, Ts, ws, Ls, vs, ks, js, zs, Is, Os, Cs, bs, xs, Ds, Ss, As;
|
|
@@ -5345,14 +5345,14 @@ function Qc(t) {
|
|
|
5345
5345
|
U(() => {
|
|
5346
5346
|
t.loadError && g(t.loadError);
|
|
5347
5347
|
}, [t.loadError]);
|
|
5348
|
-
const [M, N] = z("none"), [p, y] = z(!1), [L, m] = z(""), [f, I] = Ul(), [
|
|
5348
|
+
const [M, N] = z("none"), [p, y] = z(!1), [L, m] = z(""), [f, I] = Ul(), [C, D] = z(null), [B, _] = z(u ? "listen" : "read"), [X, j] = z(!1), F = k(null), S = k(/* @__PURE__ */ new Map()), [T, E] = z("main"), O = (w) => {
|
|
5349
5349
|
const Ne = document.querySelector(".vs-sheet--settings"), Qe = Ne == null ? void 0 : Ne.parentElement;
|
|
5350
|
-
Ne && Qe && T === "main" && w !== "main" && Qe.style.setProperty("--vs-sheet-top", `${Math.round(Ne.getBoundingClientRect().top - Qe.getBoundingClientRect().top)}px`),
|
|
5350
|
+
Ne && Qe && T === "main" && w !== "main" && Qe.style.setProperty("--vs-sheet-top", `${Math.round(Ne.getBoundingClientRect().top - Qe.getBoundingClientRect().top)}px`), E(w);
|
|
5351
5351
|
};
|
|
5352
5352
|
U(() => {
|
|
5353
|
-
|
|
5354
|
-
}, [
|
|
5355
|
-
const [
|
|
5353
|
+
X || O("main");
|
|
5354
|
+
}, [X]);
|
|
5355
|
+
const [te, K] = z(u), v = (n == null ? void 0 : n.recording) ?? null, ae = (v == null ? void 0 : v.id) ?? null, [ne, G] = z(l.lang), J = typeof ne == "string" ? ne : null, [pe, le] = z(l.labels), [Te, je] = z(l.words), [Ee, Le] = z(l.cc), [we, _e] = z(l.translateAudio), [Pe, Se] = z(l.clonedVoices), [$, H] = z(l.removeBackground), A = t.settings;
|
|
5356
5356
|
U(() => {
|
|
5357
5357
|
(A == null ? void 0 : A.lang) !== void 0 && G(A.lang);
|
|
5358
5358
|
}, [A == null ? void 0 : A.lang]), U(() => {
|
|
@@ -5366,26 +5366,26 @@ function Qc(t) {
|
|
|
5366
5366
|
}, [A == null ? void 0 : A.translateAudio]), U(() => {
|
|
5367
5367
|
(A == null ? void 0 : A.voices) !== void 0 && Se(A.voices === "cloned");
|
|
5368
5368
|
}, [A == null ? void 0 : A.voices]), U(() => {
|
|
5369
|
-
(A == null ? void 0 : A.removeBackground) !== void 0 &&
|
|
5369
|
+
(A == null ? void 0 : A.removeBackground) !== void 0 && H(A.removeBackground);
|
|
5370
5370
|
}, [A == null ? void 0 : A.removeBackground]);
|
|
5371
|
-
const
|
|
5371
|
+
const b = { language: !0, subtitles: !0, audio: !0, export: !0, share: !0, fullscreen: !0, settings: !0, ...t.controls ?? {} }, V = u && !we;
|
|
5372
5372
|
U(() => {
|
|
5373
5373
|
if (!t.syncUrl) return;
|
|
5374
5374
|
const w = new URL(window.location.href);
|
|
5375
|
-
J ? w.searchParams.set("lang", J) : w.searchParams.delete("lang"), pe ? w.searchParams.set("labels", pe) : w.searchParams.delete("labels"), Te ? w.searchParams.set("words", Te) : w.searchParams.delete("words"), Ee ? w.searchParams.delete("cc") : w.searchParams.set("cc", "off"), we ? w.searchParams.delete("audio") : w.searchParams.set("audio", "original"), Pe ? w.searchParams.delete("voices") : w.searchParams.set("voices", "stock"), Za(w,
|
|
5376
|
-
}, [J, pe, Te, Ee, we, Pe,
|
|
5375
|
+
J ? w.searchParams.set("lang", J) : w.searchParams.delete("lang"), pe ? w.searchParams.set("labels", pe) : w.searchParams.delete("labels"), Te ? w.searchParams.set("words", Te) : w.searchParams.delete("words"), Ee ? w.searchParams.delete("cc") : w.searchParams.set("cc", "off"), we ? w.searchParams.delete("audio") : w.searchParams.set("audio", "original"), Pe ? w.searchParams.delete("voices") : w.searchParams.set("voices", "stock"), Za(w, $), w.href !== window.location.href && window.history.replaceState(window.history.state, "", w);
|
|
5376
|
+
}, [J, pe, Te, Ee, we, Pe, $]), U(() => {
|
|
5377
5377
|
n && !n.allowTranslate && J && G(null);
|
|
5378
5378
|
}, [n, J]);
|
|
5379
|
-
const { model: ce, error:
|
|
5379
|
+
const { model: ce, error: W, clearError: me, setLanguage: Z, mergeTranslations: ve, translating: ze, translateFailed: Ge, shownLang: Ae } = Ro(ae, {
|
|
5380
5380
|
lang: null,
|
|
5381
5381
|
onFrame: (w) => {
|
|
5382
5382
|
w.type === "job.progress" && D({ state: w.state, processedS: w.processedS ?? 0, totalS: w.totalS ?? null, segmentsDone: w.segmentsDone ?? 0, segmentsTotal: w.segmentsTotal ?? null, pct: w.pct ?? 0, error: w.error ?? null });
|
|
5383
5383
|
}
|
|
5384
|
-
}), ge = Ie(() => po(ce).filter((w) => !w.suppressed), [ce]), Ye = Po((n == null ? void 0 : n.job) ?? null), Ve = ["done", "failed", "stopped"].includes(or((Ye == null ? void 0 : Ye.state) ?? ((Ms = n == null ? void 0 : n.job) == null ? void 0 : Ms.state))),
|
|
5384
|
+
}), ge = Ie(() => po(ce).filter((w) => !w.suppressed), [ce]), Ye = Po((n == null ? void 0 : n.job) ?? null), Ve = ["done", "failed", "stopped"].includes(or((Ye == null ? void 0 : Ye.state) ?? ((Ms = n == null ? void 0 : n.job) == null ? void 0 : Ms.state))), Q = Ve ? Ye : C ?? Ye, he = !!C && !["done", "failed", "stopped"].includes(or(C.state)), ue = k(0);
|
|
5385
5385
|
U(() => {
|
|
5386
5386
|
!Ve || !he || Date.now() - ue.current < 1e4 || (ue.current = Date.now(), t.reread());
|
|
5387
|
-
}, [Ve, he,
|
|
5388
|
-
const ie = or((
|
|
5387
|
+
}, [Ve, he, C == null ? void 0 : C.state, C == null ? void 0 : C.processedS, o]);
|
|
5388
|
+
const ie = or((Q == null ? void 0 : Q.state) ?? ((gs = n == null ? void 0 : n.job) == null ? void 0 : gs.state)), fe = !!ae && (ie === "transcribing" || ie === "queued"), Ue = u && !r && (!n || (fe || ie === "cropping") && ge.length === 0), Y = fe ? (Q == null ? void 0 : Q.pct) ?? 0 : 100, R = $o(n == null ? void 0 : n.job, Q) ?? (v == null ? void 0 : v.mediaDurationS) ?? null, q = ((fs = ce.segments.values().next().value) == null ? void 0 : fs.language) ?? (v == null ? void 0 : v.spokenLanguage) ?? null, re = n != null && n.sharedBy ? `Shared by ${n.sharedBy}` : "", de = ((ms = (Ns = (ps = n == null ? void 0 : n.job) == null ? void 0 : ps.source) == null ? void 0 : Ns.name) == null ? void 0 : ms.trim()) || null, Oe = n ? ((ys = n.name) == null ? void 0 : ys.trim()) || de : null, ye = !!((Ts = n == null ? void 0 : n.job) != null && Ts.hasAudio), ke = (ws = n == null ? void 0 : n.job) == null ? void 0 : ws.source, Ce = !ye && !!ke && (ke.kind !== "url" || ke.bytes != null) && (ie === "transcribing" || ie === "queued" || ie === "done"), Ze = ae && (n != null && n.allowDownload) && ye ? ba(e.origin, ae, e.cred) : ae && (n != null && n.allowDownload) && Ce ? nr(e.origin, ae, "source", e.cred) : null, $e = ge[ge.length - 1], ot = $e ? ((Ls = $e.words[$e.words.length - 1]) == null ? void 0 : Ls.end) ?? $e.start : 0, rt = u && fe ? Math.max(ot, (Q == null ? void 0 : Q.processedS) ?? 0) : null, gt = Vl(Ze, (ye || Ce) && !!(n != null && n.allowDownload), ge, R, Ce ? ((ks = (vs = n == null ? void 0 : n.job) == null ? void 0 : vs.crop) == null ? void 0 : ks.startS) ?? 0 : 0, rt), be = ((zs = (js = n == null ? void 0 : n.job) == null ? void 0 : js.source) == null ? void 0 : zs.kind) === "url" ? zi(n.job.source.url) : null, st = Bl(ge, R, ((Os = (Is = n == null ? void 0 : n.job) == null ? void 0 : Is.crop) == null ? void 0 : Os.startS) ?? 0, rt), He = !!be, it = He ? st.player : gt, lt = Li(), Ht = k(null), se = Zl({ forcedVoice: t.voice ?? null, recordingId: ae, model: ce, rows: ge, lenS: R, ended: !!ae && !fe, cred: e.cred, langs: lt, srcLang: q, canTranslate: !!(n != null && n.allowTranslate), pickedLang: ne, setPickedLang: G, side: s && !te ? Gl : void 0, hearOriginal: V, timed: !!be, stockVoices: u && !Pe, stickyPicker: u, pickerBusy: Ht.current }), Wt = k(null);
|
|
5389
5389
|
U(() => {
|
|
5390
5390
|
!ae || Wt.current === J || (Wt.current = J, Z(J));
|
|
5391
5391
|
}, [J, ae]);
|
|
@@ -5404,7 +5404,7 @@ function Qc(t) {
|
|
|
5404
5404
|
Ht.current = Ot ? J : null, U(() => {
|
|
5405
5405
|
He && se.on && Lt.sid != null && se.setNear(Lt.sid);
|
|
5406
5406
|
}, [Lt.sid, He, se.on]), $l([it, se.player], se.sampling);
|
|
5407
|
-
const Ct =
|
|
5407
|
+
const Ct = k(null);
|
|
5408
5408
|
U(() => {
|
|
5409
5409
|
fe && !x.playing && Ct.current && (Ct.current.scrollTop = Ct.current.scrollHeight);
|
|
5410
5410
|
}, [fe, ge.length]);
|
|
@@ -5429,9 +5429,9 @@ function Qc(t) {
|
|
|
5429
5429
|
return Vo(e, ae, w, { lang: dt }).then(() => I(fe ? `${Ne} exported${Qe} for the first ${ge.length} segments — the rest is still transcribing.` : `${Ne} exported${Qe}.`)).catch((Fe) => {
|
|
5430
5430
|
throw g(Tt(Fe)), Fe;
|
|
5431
5431
|
});
|
|
5432
|
-
}, _t = fe ? "MORE TO COME…" : "END OF TRANSCRIPT", ht = fe ? "var(--brand)" : "var(--ink-28)", Yt = Qo(
|
|
5432
|
+
}, _t = fe ? "MORE TO COME…" : "END OF TRANSCRIPT", ht = fe ? "var(--brand)" : "var(--ink-28)", Yt = Qo(Q, ge.length), Xe = x.has && (!se.relang || !!be), qe = k(x);
|
|
5433
5433
|
qe.current = x;
|
|
5434
|
-
const Ut = `${J ?? ""}|${se.on ? "voice" : "source"}`, sn =
|
|
5434
|
+
const Ut = `${J ?? ""}|${se.on ? "voice" : "source"}`, sn = k({ key: Ut, idx: 0, t: 0, playing: !1, until: 0 });
|
|
5435
5435
|
U(() => {
|
|
5436
5436
|
const w = sn.current;
|
|
5437
5437
|
if (w.key !== Ut && (w.key = Ut, w.until = Date.now() + 15e3), !He) {
|
|
@@ -5446,11 +5446,11 @@ function Qc(t) {
|
|
|
5446
5446
|
!x.has || se.relang || (w.until = 0, Math.abs(x.t - w.t) > 0.5 && (x.seekFrac && x.dur > 0 ? x.seekFrac(w.t / x.dur) : x.seekRow(w.idx)), w.playing && !x.playing && (We.current = !0, x.toggle()));
|
|
5447
5447
|
}
|
|
5448
5448
|
});
|
|
5449
|
-
const Rt =
|
|
5449
|
+
const Rt = k(!1), We = k(!1);
|
|
5450
5450
|
u && (li.video = !0);
|
|
5451
5451
|
const [xt, kt] = z(!1), [Dn, an] = z(!1);
|
|
5452
5452
|
U(() => {
|
|
5453
|
-
if (!u || Rt.current || !Xe || !
|
|
5453
|
+
if (!u || Rt.current || !Xe || !te || Ue || t.autoplay === !1) return;
|
|
5454
5454
|
Rt.current = !0;
|
|
5455
5455
|
const w = (Fe) => {
|
|
5456
5456
|
qe.current.playing || We.current || (qe.current.toggle(), Fe > 0 && setTimeout(() => w(Fe - 1), 1500));
|
|
@@ -5464,8 +5464,8 @@ function Qc(t) {
|
|
|
5464
5464
|
Qe.autoplay().then((Fe) => {
|
|
5465
5465
|
Fe === !1 ? kt(!0) : Fe == null && !We.current && Ne();
|
|
5466
5466
|
});
|
|
5467
|
-
}, [u, Xe,
|
|
5468
|
-
const jt =
|
|
5467
|
+
}, [u, Xe, te, Ue]);
|
|
5468
|
+
const jt = k(!1), Sn = () => {
|
|
5469
5469
|
xt && (kt(!1), jt.current = !0, setTimeout(() => {
|
|
5470
5470
|
jt.current = !1;
|
|
5471
5471
|
}, 500), qe.current.muted && qe.current.toggleMute());
|
|
@@ -5490,9 +5490,9 @@ function Qc(t) {
|
|
|
5490
5490
|
const w = setTimeout(() => qt(!0), 180);
|
|
5491
5491
|
return () => clearTimeout(w);
|
|
5492
5492
|
}, [ze]);
|
|
5493
|
-
const P = Zt ? Ae : J, De = rl(ae, J, ge, ve), Be = ml(yl(
|
|
5494
|
-
it.pause(), se.player.pause(), _(w), w === "read" &&
|
|
5495
|
-
}, Re = se.barChip, Pt = ki(Re.label), Yr = /* @__PURE__ */ i(hr, { value:
|
|
5493
|
+
const P = Zt ? Ae : J, De = rl(ae, J, ge, ve), Be = ml(yl(v), ae, se.readLang), zt = ut || Ft, Kt = (((xs = (bs = n == null ? void 0 : n.job) == null ? void 0 : bs.crop) == null ? void 0 : xs.startS) ?? 0) + cr(x, ge), _n = B === "listen", Dt = _n && (!!be || u), Qi = (w) => {
|
|
5494
|
+
it.pause(), se.player.pause(), _(w), w === "read" && te && (Xt(!1), K(!1));
|
|
5495
|
+
}, Re = se.barChip, Pt = ki(Re.label), Yr = /* @__PURE__ */ i(hr, { value: B, onChange: Qi, bordered: !1, options: dc(Pt, !!be) }), Qt = [...Gt ? [{ key: "summary", label: "Summary" }] : [], ...zt ? [{ key: "export", label: "Export" }] : []], Ur = (w) => /* @__PURE__ */ h(xe, { children: [
|
|
5496
5496
|
w === "summary" && Gt && /* @__PURE__ */ i(Tl, { s: Be }),
|
|
5497
5497
|
w === "export" && /* @__PURE__ */ i(Nl, { audio: ut ? { name: Je, meta: dt && se.canSpeak || ye ? `MP3${R ? ` · ${yt(R)}` : ""}` : "ORIGINAL AUDIO", onClick: rn } : null, formats: Ft, onExport: bt })
|
|
5498
5498
|
] }), $i = (w) => /* @__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: yt(x.t), durLabel: yt(x.dur), stepLabel: w ? `${x.idx + 1} / ${ge.length}` : "", onSeek: se.relang ? Wl : x.seekRow, onSeekFrac: se.relang ? void 0 : x.seekFrac, onScrubStart: x.hold, onScrubEnd: x.release }), Rr = {
|
|
@@ -5508,12 +5508,12 @@ function Qc(t) {
|
|
|
5508
5508
|
var Ne;
|
|
5509
5509
|
se.relang || (Ne = x.seekFrac) == null || Ne.call(x, w);
|
|
5510
5510
|
}
|
|
5511
|
-
}, [Bi, Vi] = Mc(se.on && !!x.preparing && x.playing, 1500), Yn = se.on && ((Ds = x.error) == null ? void 0 : Ds.code) === "voice_not_started", Un = se.canSpeak && !se.error && !Yn, ln = J ? ((Ss = lt == null ? void 0 : lt.languages.find((w) => w.code === J)) == null ? void 0 : Ss.name) ?? Re.label : "", tt =
|
|
5511
|
+
}, [Bi, Vi] = Mc(se.on && !!x.preparing && x.playing, 1500), Yn = se.on && ((Ds = x.error) == null ? void 0 : Ds.code) === "voice_not_started", Un = se.canSpeak && !se.error && !Yn, ln = J ? ((Ss = lt == null ? void 0 : lt.languages.find((w) => w.code === J)) == null ? void 0 : Ss.name) ?? Re.label : "", tt = te ? hc({ lang: J, langName: ln, translating: ze && !!J, translateFailed: Ge, voiceFailed: Yn, relang: se.relang, starting: se.on ? x.starting : null, slowLine: Bi, lineSince: Vi }) : null, Rn = !!be && !!tt && (tt.kind === "translating" || tt.kind === "voice" && se.relang), Pr = !Rn || !tt ? null : tt.kind === "translating" ? `Translating into ${ln || "the new language"}…` : `Preparing the ${ln || "translated"} voice…`, cn = !Rn && ((tt == null ? void 0 : tt.kind) === "voice" || (tt == null ? void 0 : tt.kind) === "starting"), Qr = Or({ ...se.langList, keepOpen: !0, open: T === "lang", onClose: () => O("main") }), $r = Fa($, se.on), Hi = u && $r.bed && ut && ae && (!fe || Ze) ? _s(e.origin, ae, e.cred) : null, Br = no(Hi, { t: cr(x, ge), playing: x.playing && !cn && !(x.timed && x.preparing), muted: x.muted }), Wi = u && $r.speech && ut && ae && (!fe || Ze) ? _s(e.origin, ae, e.cred, "speech") : null, Pn = pi(Wi, { t: cr(x, ge), playing: !se.on && x.playing, muted: x.muted }), Qn = !se.on && Pn.on;
|
|
5512
5512
|
U(() => {
|
|
5513
5513
|
var w;
|
|
5514
5514
|
st.setVideoSound(!(He && (se.on || Qn))), (w = gt.silence) == null || w.call(gt, !He && Qn);
|
|
5515
5515
|
}, [He, se.on, Qn, Ze]);
|
|
5516
|
-
const $n = ut ? se.on ? Br : Pn.state : "unavailable", Bn = we && Un && !!J, Fi = Bn ? [`Translated${se.hasClone ? Pe ? ", cloned voices" : ", synthetic voices" : ""}`,
|
|
5516
|
+
const $n = ut ? se.on ? Br : Pn.state : "unavailable", Bn = we && Un && !!J, Fi = Bn ? [`Translated${se.hasClone ? Pe ? ", cloned voices" : ", synthetic voices" : ""}`, !$ && ut && Br !== "unavailable" ? "with background sound" : null].filter(Boolean).join(" ") : $ && $n !== "unavailable" ? "Original speech, background removed" : "Original sound", Gi = () => {
|
|
5517
5517
|
if ((tt == null ? void 0 : tt.kind) === "translateFailed") {
|
|
5518
5518
|
Z(J);
|
|
5519
5519
|
return;
|
|
@@ -5528,7 +5528,7 @@ function Qc(t) {
|
|
|
5528
5528
|
ho(Xe ? { playing: x.playing, toggle: () => {
|
|
5529
5529
|
We.current = !0, x.toggle();
|
|
5530
5530
|
}, next: x.next, prev: x.prev } : null, Oe);
|
|
5531
|
-
const Vn = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, Hn = (w, Ne) => !Re.can || !
|
|
5531
|
+
const Vn = { background: "transparent", color: "#eef0f8", width: 74, justifyContent: "center", boxSizing: "border-box" }, Hn = (w, Ne) => !Re.can || !b.language ? null : u ? /* @__PURE__ */ h("button", { type: "button", className: "gfull__btn", title: Ot ? `${Re.label ?? Re.code}: still being prepared` : Re.label ?? Re.code, "aria-label": `Language: ${Re.label ?? Re.code}`, "aria-busy": Ot || void 0, onClick: () => {
|
|
5532
5532
|
j(!1), Re.onClick();
|
|
5533
5533
|
}, style: { position: "relative" }, children: [
|
|
5534
5534
|
/* @__PURE__ */ i("span", { style: { fontSize: Ne === "sm" ? 17 : 21, lineHeight: 1 }, children: Re.flag }),
|
|
@@ -5547,26 +5547,26 @@ function Qc(t) {
|
|
|
5547
5547
|
/* @__PURE__ */ i("div", { className: "vsp-poster__img", style: { backgroundImage: `url(https://i.ytimg.com/vi/${be}/hqdefault.jpg)` } }),
|
|
5548
5548
|
/* @__PURE__ */ i("span", { className: "txyt__pausedplay", children: /* @__PURE__ */ i(jr, { size: 44 }) })
|
|
5549
5549
|
] })
|
|
5550
|
-
] }) : u ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic vsp-idle__pic--brand" }) : null, Fr = Dt && be && !
|
|
5550
|
+
] }) : u ? /* @__PURE__ */ i("div", { className: "vsp-idle__pic vsp-idle__pic--brand" }) : null, Fr = Dt && be && !te ? /* @__PURE__ */ i(wl, { ytId: be, title: Je, radius: 14, large: !0, style: s ? void 0 : { margin: "8px 20px 2px" }, picture: Wr, children: /* @__PURE__ */ i(oc, { pos: Rr, transport: Vr, chip: Hn({ ...Vn, width: 64, height: 28, minHeight: 28, padding: "0 8px" }, "sm"), voices: Hr, onFull: () => {
|
|
5551
5551
|
Xt(!0), K(!0);
|
|
5552
5552
|
}, copied: null }) }) : null, et = x.wordSync ? Go(ge, x.idx, x.t) ? ge[x.idx] : void 0 : ge[x.idx];
|
|
5553
|
-
for (const w of ge) for (const [Ne, Qe] of Object.entries(w.translations)) Qe &&
|
|
5554
|
-
const Gr = (w, Ne) => w.translations[Ne] ||
|
|
5555
|
-
et && Wn(et, mt) && (
|
|
5556
|
-
const Zr = et && mt && et.language !== mt ? Gr(et, mt) : null, Ji = et && Zr && mt && !et.translations[mt] ? Object.assign([...ge], { [x.idx]: { ...et, translations: { ...et.translations, [mt]: Zr } } }) : ge, un = et ? xi(Ji, x.idx, mt) : [], dn = Te ? Te === "on" : !u || se.on || !P || P === q, qr = dn ? Zs(x, x.idx, un) : null, Kr = un.map((w, Ne) => ({ t: w.text, sp: Ne < un.length - 1 ? " " : "", dim: qr != null && Ne > qr })), hn = pe ? pe === "on" : u ? !1 : zo(ce, ge,
|
|
5553
|
+
for (const w of ge) for (const [Ne, Qe] of Object.entries(w.translations)) Qe && S.current.set(`${w.sentenceId ?? w.start}|${Ne}`, Qe);
|
|
5554
|
+
const Gr = (w, Ne) => w.translations[Ne] || S.current.get(`${w.sentenceId ?? w.start}|${Ne}`) || null, Wn = (w, Ne) => !w || !Ne || w.language === Ne || !!Gr(w, Ne), mt = Wn(et, J) ? J : Wn(et, F.current) ? F.current : J;
|
|
5555
|
+
et && Wn(et, mt) && (F.current = mt);
|
|
5556
|
+
const Zr = et && mt && et.language !== mt ? Gr(et, mt) : null, Ji = et && Zr && mt && !et.translations[mt] ? Object.assign([...ge], { [x.idx]: { ...et, translations: { ...et.translations, [mt]: Zr } } }) : ge, un = et ? xi(Ji, x.idx, mt) : [], dn = Te ? Te === "on" : !u || se.on || !P || P === q, qr = dn ? Zs(x, x.idx, un) : null, Kr = un.map((w, Ne) => ({ t: w.text, sp: Ne < un.length - 1 ? " " : "", dim: qr != null && Ne > qr })), hn = pe ? pe === "on" : u ? !1 : zo(ce, ge, v == null ? void 0 : v.settings), Jr = { lang: J, subtitles: Ee, speakerLabels: hn, wordHighlight: dn, translateAudio: we, voices: Pe ? "cloned" : "synthetic", removeBackground: $ }, Xi = JSON.stringify(Jr), Mn = k(t.onSettingsChange);
|
|
5557
5557
|
Mn.current = t.onSettingsChange, U(() => {
|
|
5558
5558
|
var w;
|
|
5559
5559
|
(w = Mn.current) == null || w.call(Mn, Jr);
|
|
5560
5560
|
}, [Xi]);
|
|
5561
|
-
const gn = et && et.speaker >= 0 && hn ? xr(ce, et.speaker) : null, [ea, Xr] = z(!1), [Fn, es] = z(null), [ta, ts] = z(null), Gn =
|
|
5561
|
+
const gn = et && et.speaker >= 0 && hn ? xr(ce, et.speaker) : null, [ea, Xr] = z(!1), [Fn, es] = z(null), [ta, ts] = z(null), Gn = k(void 0);
|
|
5562
5562
|
U(() => () => window.clearTimeout(Gn.current), []);
|
|
5563
|
-
const Zn =
|
|
5563
|
+
const Zn = k(void 0);
|
|
5564
5564
|
U(() => () => window.clearTimeout(Zn.current), []);
|
|
5565
5565
|
const ns = (w) => {
|
|
5566
5566
|
if (t.shareUrl) return t.shareUrl(w);
|
|
5567
5567
|
const Ne = new URL(window.location.href);
|
|
5568
5568
|
return w != null && w > 0 ? Ne.searchParams.set("t", String(w)) : Ne.searchParams.delete("t"), Ne.href;
|
|
5569
|
-
}, fn =
|
|
5569
|
+
}, fn = k(l.startAt), qn = (w) => {
|
|
5570
5570
|
if (x.seekFrac && x.dur > 0) {
|
|
5571
5571
|
x.seekFrac(Math.min(1, w / x.dur));
|
|
5572
5572
|
return;
|
|
@@ -5574,7 +5574,7 @@ function Qc(t) {
|
|
|
5574
5574
|
let Ne = 0;
|
|
5575
5575
|
for (let Qe = 0; Qe < ge.length; Qe++) ge[Qe].start <= w && (Ne = Qe);
|
|
5576
5576
|
x.seekRow(Ne);
|
|
5577
|
-
}, rs =
|
|
5577
|
+
}, rs = k(!1);
|
|
5578
5578
|
U(() => {
|
|
5579
5579
|
const w = fn.current;
|
|
5580
5580
|
w == null || rs.current || !x.has || ge.length === 0 || (rs.current = !0, qn(w));
|
|
@@ -5602,9 +5602,9 @@ function Qc(t) {
|
|
|
5602
5602
|
}, U(() => () => {
|
|
5603
5603
|
t.handle.current = null;
|
|
5604
5604
|
}, []);
|
|
5605
|
-
const ss =
|
|
5605
|
+
const ss = k(t.onPlayback);
|
|
5606
5606
|
ss.current = t.onPlayback;
|
|
5607
|
-
const is =
|
|
5607
|
+
const is = k(J);
|
|
5608
5608
|
is.current = J, U(() => {
|
|
5609
5609
|
let w = "";
|
|
5610
5610
|
const Ne = () => {
|
|
@@ -5632,15 +5632,15 @@ function Qc(t) {
|
|
|
5632
5632
|
/* @__PURE__ */ i("div", { className: "srow__t", children: Ne }),
|
|
5633
5633
|
/* @__PURE__ */ i("div", { className: "srow__s", children: Qe })
|
|
5634
5634
|
] }),
|
|
5635
|
-
/* @__PURE__ */ i(oe, { d: Mt ?
|
|
5635
|
+
/* @__PURE__ */ i(oe, { d: Mt ? ee.check : ee.downloaded, size: 17, sw: 1.6, style: { flex: "none", color: Mt ? "var(--brand)" : "var(--ink-62)" } })
|
|
5636
5636
|
] });
|
|
5637
5637
|
}, sa = /* @__PURE__ */ h("span", { className: "vs-sheet__title", style: { position: "relative" }, children: [
|
|
5638
5638
|
" ",
|
|
5639
|
-
/* @__PURE__ */ h("button", { type: "button", onClick: () =>
|
|
5640
|
-
/* @__PURE__ */ i(oe, { d:
|
|
5639
|
+
/* @__PURE__ */ h("button", { type: "button", onClick: () => O("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: [
|
|
5640
|
+
/* @__PURE__ */ i(oe, { d: ee.chevronLeft, size: 18, sw: 1.8 }),
|
|
5641
5641
|
"Back"
|
|
5642
5642
|
] })
|
|
5643
|
-
] }), pn = /* @__PURE__ */ i(oe, { d:
|
|
5643
|
+
] }), pn = /* @__PURE__ */ i(oe, { d: ee.chevronRight, size: 17, sw: 1.6, style: { flex: "none", color: "var(--ink-45)" } }), ia = { main: "SETTINGS", lang: "LANGUAGE", subs: "SUBTITLES", audio: "AUDIO", export: "EXPORT" }[T], Nn = { display: "flex", flexDirection: "column", gap: 2, paddingBottom: 14 }, Kn = u ? /* @__PURE__ */ i(Vt, { open: X, onClose: () => j(!1), title: ia, titleNode: T === "main" ? void 0 : sa, doneLabel: Pt.done, kind: T === "main" ? "settings" : "settings vs-sheet--page", sticky: !0, children: /* @__PURE__ */ i(Mr, { children: T === "lang" ? /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column" }, children: [
|
|
5644
5644
|
/* @__PURE__ */ i("div", { style: { position: "sticky", top: 0, zIndex: 1, padding: "4px 14px 10px", background: "var(--vs-surface-raised)" }, children: Qr.search }),
|
|
5645
5645
|
Qr.list
|
|
5646
5646
|
] }) : T === "subs" ? /* @__PURE__ */ h("div", { style: Nn, children: [
|
|
@@ -5683,15 +5683,15 @@ function Qc(t) {
|
|
|
5683
5683
|
/* @__PURE__ */ h("div", { className: "srow", children: [
|
|
5684
5684
|
/* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5685
5685
|
/* @__PURE__ */ i("div", { className: "srow__t", children: In }),
|
|
5686
|
-
/* @__PURE__ */ i("div", { className: "srow__s", children: Wa(
|
|
5686
|
+
/* @__PURE__ */ i("div", { className: "srow__s", children: Wa($, $n, "video", se.on ? 0 : Pn.untilS) })
|
|
5687
5687
|
] }),
|
|
5688
|
-
/* @__PURE__ */ i(Nt, { checked:
|
|
5688
|
+
/* @__PURE__ */ i(Nt, { checked: $ && ut, onChange: H, label: In, disabled: !ut || $n === "unavailable" && !$ })
|
|
5689
5689
|
] })
|
|
5690
5690
|
] }) : T === "export" ? /* @__PURE__ */ h("div", { style: Nn, children: [
|
|
5691
5691
|
as("srt", "Subtitles", "SRT / VTT caption cues, ready for a video editor or a player"),
|
|
5692
5692
|
as("pdf", "PDF", "Formatted transcript in paragraphs, with timestamps and speaker labels")
|
|
5693
5693
|
] }) : /* @__PURE__ */ i("div", { style: Nn, children: [
|
|
5694
|
-
Re.can &&
|
|
5694
|
+
Re.can && b.language && /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => O("lang"), children: [
|
|
5695
5695
|
/* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5696
5696
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Language" }),
|
|
5697
5697
|
/* @__PURE__ */ i("div", { className: "srow__s", children: J ? `Translated to ${Re.label ?? J.toUpperCase()}` : "Original language" })
|
|
@@ -5699,21 +5699,21 @@ function Qc(t) {
|
|
|
5699
5699
|
/* @__PURE__ */ i("span", { style: { fontSize: 18, lineHeight: 1 }, children: Re.flag }),
|
|
5700
5700
|
pn
|
|
5701
5701
|
] }, "lang"),
|
|
5702
|
-
|
|
5702
|
+
b.subtitles && /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => O("subs"), children: [
|
|
5703
5703
|
/* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5704
5704
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Subtitles" }),
|
|
5705
5705
|
/* @__PURE__ */ i("div", { className: "srow__s", children: Ee ? "On · speaker labels and word highlighting" : "Off" })
|
|
5706
5706
|
] }),
|
|
5707
5707
|
pn
|
|
5708
5708
|
] }, "subs"),
|
|
5709
|
-
|
|
5709
|
+
b.audio && /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => O("audio"), children: [
|
|
5710
5710
|
/* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5711
5711
|
/* @__PURE__ */ i("div", { className: "srow__t", children: "Audio" }),
|
|
5712
5712
|
/* @__PURE__ */ i("div", { className: "srow__s", children: Fi })
|
|
5713
5713
|
] }),
|
|
5714
5714
|
pn
|
|
5715
5715
|
] }, "audio"),
|
|
5716
|
-
|
|
5716
|
+
b.export && Ft && !!ae && /* @__PURE__ */ h("div", { className: "srow srow--tap", role: "button", onClick: () => O("export"), children: [
|
|
5717
5717
|
/* @__PURE__ */ h("div", { style: { flex: 1, minWidth: 0 }, children: [
|
|
5718
5718
|
/* @__PURE__ */ h("div", { className: "srow__t", children: [
|
|
5719
5719
|
"Export",
|
|
@@ -5723,7 +5723,7 @@ function Qc(t) {
|
|
|
5723
5723
|
] }),
|
|
5724
5724
|
pn
|
|
5725
5725
|
] }, "export")
|
|
5726
|
-
].filter(Boolean).flatMap((w, Ne) => Ne ? [/* @__PURE__ */ i("div", { className: "sdiv" }, `d${Ne}`), w] : [w]) }) }) }) : /* @__PURE__ */ i(Vt, { open:
|
|
5726
|
+
].filter(Boolean).flatMap((w, Ne) => Ne ? [/* @__PURE__ */ i("div", { className: "sdiv" }, `d${Ne}`), w] : [w]) }) }) }) : /* @__PURE__ */ i(Vt, { open: X, onClose: () => j(!1), title: Pt.settings, doneLabel: Pt.done, drawer: s, children: /* @__PURE__ */ h("div", { style: { display: "flex", flexDirection: "column", gap: 2 }, children: [
|
|
5727
5727
|
Re.can && /* @__PURE__ */ h(xe, { children: [
|
|
5728
5728
|
/* @__PURE__ */ h("div", { className: "srow srow--tap", onClick: () => {
|
|
5729
5729
|
j(!1), Re.onClick();
|
|
@@ -5734,12 +5734,12 @@ function Qc(t) {
|
|
|
5734
5734
|
] }),
|
|
5735
5735
|
/* @__PURE__ */ i("span", { style: { fontSize: 18, lineHeight: 1 }, children: Re.flag }),
|
|
5736
5736
|
se.original ? null : /* @__PURE__ */ i("span", { style: { fontSize: 14, fontWeight: 600, color: "var(--ink-96)" }, children: Re.label }),
|
|
5737
|
-
/* @__PURE__ */ i(oe, { d:
|
|
5737
|
+
/* @__PURE__ */ i(oe, { d: ee.chevronRight, size: 15, style: { color: "var(--ink-45)" } })
|
|
5738
5738
|
] }),
|
|
5739
5739
|
/* @__PURE__ */ i("div", { className: "sdiv" })
|
|
5740
5740
|
] }),
|
|
5741
5741
|
t.settingsExtra
|
|
5742
|
-
] }) }), It =
|
|
5742
|
+
] }) }), It = te && Dt && (!!be || u) && /* @__PURE__ */ i(
|
|
5743
5743
|
Ei,
|
|
5744
5744
|
{
|
|
5745
5745
|
page: (t.layout ?? "embed") === "page",
|
|
@@ -5748,8 +5748,8 @@ function Qc(t) {
|
|
|
5748
5748
|
desk: s,
|
|
5749
5749
|
pos: Rr,
|
|
5750
5750
|
mute: { muted: x.muted, onToggle: An },
|
|
5751
|
-
cc:
|
|
5752
|
-
noFull: !
|
|
5751
|
+
cc: b.subtitles ? { on: Ee, onToggle: () => Le((w) => !w) } : void 0,
|
|
5752
|
+
noFull: !b.fullscreen,
|
|
5753
5753
|
ad: Dn,
|
|
5754
5754
|
wait: tt && !Rn ? /* @__PURE__ */ i(fc, { state: tt, line: cn ? Kr.map((w) => w.t + w.sp).join("") : null, onRetry: Gi, onOriginal: Zi }) : x.edgeWait ? `Transcribing ${Math.round(Y)}% — it plays on as more is written` : null,
|
|
5755
5755
|
pct: fe ? Math.round(Y) : null,
|
|
@@ -5760,18 +5760,18 @@ function Qc(t) {
|
|
|
5760
5760
|
sheet: u ? Kn : null,
|
|
5761
5761
|
voices: null,
|
|
5762
5762
|
voicesBtn: u ? null : Hr,
|
|
5763
|
-
sheetOpen: se.sheetsOpen ||
|
|
5764
|
-
onShare: u &&
|
|
5765
|
-
onSettings: u &&
|
|
5763
|
+
sheetOpen: se.sheetsOpen || X,
|
|
5764
|
+
onShare: u && b.share ? ra : void 0,
|
|
5765
|
+
onSettings: u && b.settings ? () => {
|
|
5766
5766
|
se.closePicker(), j((w) => !w);
|
|
5767
5767
|
} : void 0,
|
|
5768
5768
|
compact: !!t.compact,
|
|
5769
|
-
paused: { title: Je, summary: Be.state === "ready" ? Be.summary ?? null : null, share:
|
|
5769
|
+
paused: { title: Je, summary: Be.state === "ready" ? Be.summary ?? null : null, share: b.share && (t.shareUrl || !t.onShare) ? { url: ns, at: x.t } : null },
|
|
5770
5770
|
copied: ea ? /* @__PURE__ */ h("div", { className: "gfull__toast", "aria-live": "polite", children: [
|
|
5771
|
-
/* @__PURE__ */ i(oe, { d:
|
|
5771
|
+
/* @__PURE__ */ i(oe, { d: ee.check, size: 13, sw: 2 }),
|
|
5772
5772
|
"Link copied"
|
|
5773
5773
|
] }) : xt ? /* @__PURE__ */ h("div", { className: "gfull__toast gfull__soundtip", "aria-live": "polite", children: [
|
|
5774
|
-
/* @__PURE__ */ i(oe, { d:
|
|
5774
|
+
/* @__PURE__ */ i(oe, { d: ee.volumeOff, size: 14, sw: 1.8 }),
|
|
5775
5775
|
"Tap for sound"
|
|
5776
5776
|
] }) : Pr ? /* @__PURE__ */ h("div", { className: "gfull__toast", role: "status", "aria-live": "polite", children: [
|
|
5777
5777
|
/* @__PURE__ */ i(at, { size: 13, color: "#eef0f8", track: "rgba(255,255,255,.25)" }),
|
|
@@ -5789,8 +5789,8 @@ function Qc(t) {
|
|
|
5789
5789
|
}
|
|
5790
5790
|
);
|
|
5791
5791
|
U(() => {
|
|
5792
|
-
!u &&
|
|
5793
|
-
}, [u,
|
|
5792
|
+
!u && te && !Dt && (Xt(!1), K(!1));
|
|
5793
|
+
}, [u, te, Dt]);
|
|
5794
5794
|
const os = fe && /* @__PURE__ */ h("div", { className: `pubprog${s ? " pubprog--desk" : ""}${p ? " pubprog--find" : ""}`, children: [
|
|
5795
5795
|
/* @__PURE__ */ h("div", { className: "pubprog__row", children: [
|
|
5796
5796
|
/* @__PURE__ */ i("span", { className: "l", children: `TRANSCRIBING ${Y}%` }),
|
|
@@ -5799,15 +5799,15 @@ function Qc(t) {
|
|
|
5799
5799
|
/* @__PURE__ */ i("span", { className: "s", children: Yt })
|
|
5800
5800
|
] }),
|
|
5801
5801
|
!s && /* @__PURE__ */ i("div", { className: "pubprog__bar", style: { marginTop: 8 }, children: /* @__PURE__ */ i("div", { style: { width: `${Y}%` } }) })
|
|
5802
|
-
] }), Jn = r && /* @__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." }), ls = /* @__PURE__ */ i(ql, { model: ce, rows: ge, player: x, tail: _t, tailFg: ht, running: fe, desk: s, feedRef: Ct, listener: !0, showLabels: hn, find: L, findOpen: !s && p, lang: P, warm: Zt, onVisible: De, wordHl: dn }), Xn = /* @__PURE__ */ i(Jo, { error: d ??
|
|
5802
|
+
] }), Jn = r && /* @__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." }), ls = /* @__PURE__ */ i(ql, { model: ce, rows: ge, player: x, tail: _t, tailFg: ht, running: fe, desk: s, feedRef: Ct, listener: !0, showLabels: hn, find: L, findOpen: !s && p, lang: P, warm: Zt, onVisible: De, wordHl: dn }), Xn = /* @__PURE__ */ i(Jo, { error: d ?? W ?? (Yn && te ? null : x.error) ?? se.error, onClose: () => {
|
|
5803
5803
|
g(null), me(), x.clearError(), se.clearError();
|
|
5804
|
-
} }), cs = [R ? yt(R) : null, q ? q.toUpperCase() : null,
|
|
5804
|
+
} }), cs = [R ? yt(R) : null, q ? q.toUpperCase() : null, re || "Read-only copy"].filter(Boolean).join(" · "), us = (w) => /* @__PURE__ */ i("div", { className: "ctrans", children: se.noVoice ? se.noVoiceNote : /* @__PURE__ */ h(xe, { children: [
|
|
5805
5805
|
/* @__PURE__ */ h("div", { className: "ctrans__row", children: [
|
|
5806
5806
|
/* @__PURE__ */ i("span", { className: "ctrans__sp", "aria-hidden": "true" }),
|
|
5807
5807
|
/* @__PURE__ */ h("div", { className: "ctrans__mid", children: [
|
|
5808
|
-
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Previous segment", title: "Previous segment", style: { opacity: x.idx <= 0 ? 0.3 : 1 }, onClick: x.prev, children: /* @__PURE__ */ i(oe, { d:
|
|
5808
|
+
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Previous segment", title: "Previous segment", style: { opacity: x.idx <= 0 ? 0.3 : 1 }, onClick: x.prev, children: /* @__PURE__ */ i(oe, { d: ee.chevronLeft, size: 16, sw: 1.8 }) }),
|
|
5809
5809
|
/* @__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: !Xe, 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 : _l }) }),
|
|
5810
|
-
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: x.idx >= ge.length - 1 ? 0.3 : 1 }, onClick: x.next, children: /* @__PURE__ */ i(oe, { d:
|
|
5810
|
+
/* @__PURE__ */ i("button", { type: "button", className: "ctrans__step", "aria-label": "Next segment", title: "Next segment", style: { opacity: x.idx >= ge.length - 1 ? 0.3 : 1 }, onClick: x.next, children: /* @__PURE__ */ i(oe, { d: ee.chevronRight, size: 16, sw: 1.8 }) })
|
|
5811
5811
|
] }),
|
|
5812
5812
|
/* @__PURE__ */ i("span", { className: "ctrans__mute", children: on(36) })
|
|
5813
5813
|
] }),
|
|
@@ -5820,11 +5820,11 @@ function Qc(t) {
|
|
|
5820
5820
|
/* @__PURE__ */ i("div", { className: "gfull__holdbar", children: /* @__PURE__ */ i("div", { style: { width: `${ie === "transcribing" ? ds : 0}%` } }) }),
|
|
5821
5821
|
/* @__PURE__ */ h("div", { className: "gfull__holds", children: [
|
|
5822
5822
|
ie === "transcribing" ? "Transcribing" : ie === "cropping" ? "Preparing the video" : "Waiting to start",
|
|
5823
|
-
ie === "transcribing" && (
|
|
5823
|
+
ie === "transcribing" && (Q != null && Q.segmentsDone) ? ` · ${Yt.toLowerCase()}` : ""
|
|
5824
5824
|
] }),
|
|
5825
5825
|
/* @__PURE__ */ i("div", { className: "gfull__holdn", children: "The video starts as soon as the first lines are transcribed." })
|
|
5826
5826
|
] }) : /* @__PURE__ */ i("span", { className: "gfull__spin gfull__holdspin", "aria-label": "Loading" }) })
|
|
5827
|
-
] }), hs = u && n && (fe || ie === "cropping") ? Math.max(0, Math.min(100, Math.round(Y))) : null, mn =
|
|
5827
|
+
] }), hs = u && n && (fe || ie === "cropping") ? Math.max(0, Math.min(100, Math.round(Y))) : null, mn = k(t.onProgress);
|
|
5828
5828
|
mn.current = t.onProgress, U(() => {
|
|
5829
5829
|
var w;
|
|
5830
5830
|
(w = mn.current) == null || w.call(mn, hs);
|
|
@@ -5884,7 +5884,7 @@ function Qc(t) {
|
|
|
5884
5884
|
M !== "none" && Ur(M)
|
|
5885
5885
|
] }) });
|
|
5886
5886
|
return /* @__PURE__ */ h(xe, { children: [
|
|
5887
|
-
/* @__PURE__ */ i(cc, { dark: a, title: n ? Je : "", subline: n ? cs : "", onOptions: () => j(!0), optionsActive:
|
|
5887
|
+
/* @__PURE__ */ i(cc, { dark: a, title: n ? Je : "", subline: n ? cs : "", onOptions: () => j(!0), optionsActive: X }),
|
|
5888
5888
|
Jn,
|
|
5889
5889
|
os,
|
|
5890
5890
|
!r && ua,
|