@arcware-cloud/pixelstreaming-websdk 1.3.12 → 1.3.15
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/README.md +4 -0
- package/index.cjs.js +450 -101
- package/index.esm.js +485 -133
- package/index.umd.js +450 -101
- package/package.json +1 -1
- package/types/lib/ArcwareConfig.d.ts +3 -1
- package/types/lib/ArcwarePixelStreaming.d.ts +2 -0
- package/types/lib/domain/ArcwareSettingsSchema.d.ts +41 -4
- package/types/lib/features/ZWhiteLabel.d.ts +25 -0
- package/types/lib/features/whiteLabelling.d.ts +4 -0
- package/types/lib/styles/ArcwarePixelStreamingApplicationStyles.d.ts +65 -0
- package/types/lib/ui/ArcwareLogoLoader/index.d.ts +8 -0
package/index.cjs.js
CHANGED
|
@@ -23353,10 +23353,13 @@ exports.ArcwareApplication = ArcwareApplication;
|
|
|
23353
23353
|
|
|
23354
23354
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
23355
23355
|
exports.ArcwareConfig = exports.DefaultUrl = void 0;
|
|
23356
|
+
const tslib_1 = __webpack_require__(655);
|
|
23356
23357
|
const zod_1 = __webpack_require__(8754);
|
|
23357
23358
|
const lib_pixelstreamingfrontend_ue5_5_1 = __webpack_require__(693);
|
|
23358
23359
|
const Session_1 = __webpack_require__(2469);
|
|
23359
23360
|
const ArcwareSettingsSchema_1 = __webpack_require__(5602);
|
|
23361
|
+
const whiteLabelling_1 = __webpack_require__(3545);
|
|
23362
|
+
const ZWhiteLabel_1 = __webpack_require__(467);
|
|
23360
23363
|
/** Default arcware signalling endpoint. */
|
|
23361
23364
|
exports.DefaultUrl = `wss://signalling-client.ragnarok.arcware.cloud`;
|
|
23362
23365
|
// The below Logger overrides can likely be removed as PSInfra 5.5 logger supports setting log verbosity
|
|
@@ -23399,7 +23402,7 @@ class ArcwareConfig extends lib_pixelstreamingfrontend_ue5_5_1.Config {
|
|
|
23399
23402
|
};
|
|
23400
23403
|
}
|
|
23401
23404
|
constructor(config) {
|
|
23402
|
-
var _a, _b;
|
|
23405
|
+
var _a, _b, _c;
|
|
23403
23406
|
const dfToken = new URL(window.location.href).search
|
|
23404
23407
|
.slice(1)
|
|
23405
23408
|
.split("&")
|
|
@@ -23420,7 +23423,7 @@ class ArcwareConfig extends lib_pixelstreamingfrontend_ue5_5_1.Config {
|
|
|
23420
23423
|
if (!config.initialSettings.ss)
|
|
23421
23424
|
config.initialSettings.ss = exports.DefaultUrl;
|
|
23422
23425
|
super(config);
|
|
23423
|
-
this.VERSION = "1.3.
|
|
23426
|
+
this.VERSION = "1.3.15";
|
|
23424
23427
|
this.settings = settings;
|
|
23425
23428
|
this.session = new Session_1.Session();
|
|
23426
23429
|
this._initialSettings = config.initialSettings;
|
|
@@ -23429,6 +23432,72 @@ class ArcwareConfig extends lib_pixelstreamingfrontend_ue5_5_1.Config {
|
|
|
23429
23432
|
// IMPORTANT NOTE: The feature BrowserSendOffer is no longer supported in PSInfra 5.5.
|
|
23430
23433
|
// The offer is now expected to come from UE. Ensure that your signalling server supports this behaviour.
|
|
23431
23434
|
//this.setFlagEnabled(Flags.BrowserSendOffer, true);
|
|
23435
|
+
if (this.useUrlParams) {
|
|
23436
|
+
// Get the query string from URL
|
|
23437
|
+
const qs = new URLSearchParams(window.location.search);
|
|
23438
|
+
if (qs.has("wl") && qs.get("wl") !== "") {
|
|
23439
|
+
// Retrieve image loading from there
|
|
23440
|
+
const wlParsed = this.useUrlParams ? (0, whiteLabelling_1.readWhiteLabelFromQuery)(qs) : undefined; // respect useUrlParams
|
|
23441
|
+
if (wlParsed) {
|
|
23442
|
+
this.settings.whiteLabelling = Object.assign(Object.assign({}, ((_c = this.settings.whiteLabelling) !== null && _c !== void 0 ? _c : {})), wlParsed);
|
|
23443
|
+
}
|
|
23444
|
+
}
|
|
23445
|
+
this.settings.infoButton = qs.has("i") || qs.has("info");
|
|
23446
|
+
}
|
|
23447
|
+
}
|
|
23448
|
+
static getWhiteLabelling(ShareId, URL = "https://signalling-client.arcware.cloud/whiteLabel/") {
|
|
23449
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
23450
|
+
const qs = new URLSearchParams(window.location.search);
|
|
23451
|
+
if (qs.has("wl") && qs.get("wl") === "") {
|
|
23452
|
+
// Build final URL safely (trim trailing slashes, encode ShareId)
|
|
23453
|
+
const base = URL.replace(/\/+$/, "");
|
|
23454
|
+
const requestUrl = `${base}/${encodeURIComponent(ShareId)}`;
|
|
23455
|
+
const controller = new AbortController();
|
|
23456
|
+
const timeoutId = setTimeout(() => controller.abort(), 1000);
|
|
23457
|
+
try {
|
|
23458
|
+
const res = yield fetch(requestUrl, {
|
|
23459
|
+
method: "GET",
|
|
23460
|
+
signal: controller.signal,
|
|
23461
|
+
headers: { Accept: "application/json, text/plain" },
|
|
23462
|
+
credentials: "omit"
|
|
23463
|
+
});
|
|
23464
|
+
if (!res.ok) {
|
|
23465
|
+
// Non-2xx: treat as “no white label”
|
|
23466
|
+
return undefined;
|
|
23467
|
+
}
|
|
23468
|
+
// We read as text first to detect empty-string payloads
|
|
23469
|
+
const text = yield res.text();
|
|
23470
|
+
if (!text || text.trim() === "") {
|
|
23471
|
+
return undefined;
|
|
23472
|
+
}
|
|
23473
|
+
// If there is content, try to parse JSON
|
|
23474
|
+
let json;
|
|
23475
|
+
try {
|
|
23476
|
+
json = JSON.parse(text);
|
|
23477
|
+
}
|
|
23478
|
+
catch (_a) {
|
|
23479
|
+
// Not valid JSON → ignore
|
|
23480
|
+
return undefined;
|
|
23481
|
+
}
|
|
23482
|
+
// Validate against the allowlisted schema
|
|
23483
|
+
const parsed = ZWhiteLabel_1.ZWhiteLabel.safeParse(json);
|
|
23484
|
+
if (!parsed.success) {
|
|
23485
|
+
// Optionally log parsed.error for diagnostics
|
|
23486
|
+
return undefined;
|
|
23487
|
+
}
|
|
23488
|
+
return parsed.data;
|
|
23489
|
+
}
|
|
23490
|
+
catch (err) {
|
|
23491
|
+
// Abort or network error → treat as “no white label”
|
|
23492
|
+
// if (err?.name !== "AbortError") console.warn("getWhiteLabelling failed", err);
|
|
23493
|
+
return undefined;
|
|
23494
|
+
}
|
|
23495
|
+
finally {
|
|
23496
|
+
clearTimeout(timeoutId);
|
|
23497
|
+
}
|
|
23498
|
+
}
|
|
23499
|
+
return undefined;
|
|
23500
|
+
});
|
|
23432
23501
|
}
|
|
23433
23502
|
/** Setup connection string. */
|
|
23434
23503
|
get urlFlags() {
|
|
@@ -23536,7 +23605,14 @@ function ArcwareInit({ shareId, projectId }, configuration, forceRefresh = false
|
|
|
23536
23605
|
useUrlParams: (configuration === null || configuration === void 0 ? void 0 : configuration.useUrlParams) === true,
|
|
23537
23606
|
initialSettings: Object.assign({ ss: ArcwareConfig_1.DefaultUrl, AutoConnect: false, StartVideoMuted: true, AutoPlayVideo: true, KeyboardInput: true, MouseInput: true, GamepadInput: true, TouchInput: true, XRControllerInput: true, UseMic: true, SuppressBrowserKeys: true, FakeMouseWithTouches: false, ForceMonoAudio: false, HoveringMouse: true }, configuration === null || configuration === void 0 ? void 0 : configuration.initialSettings),
|
|
23538
23607
|
settings: Object.assign({ shareId,
|
|
23539
|
-
projectId, fullscreenButton: true, audioButton: true, stopButton: false, infoButton: false, micButton: false, settingsButton: false, connectionStrengthIcon: false, connectionIdentifierLoggingDisabled: undefined, errorHandler: undefined, loveLetterHandler: undefined, loveLetterLogging: undefined, queueHandler: undefined, sessionIdHandler: undefined, startHeight: undefined, startWidth: undefined, orientationZoom: undefined
|
|
23608
|
+
projectId, fullscreenButton: true, audioButton: true, stopButton: false, infoButton: false, micButton: false, settingsButton: false, connectionStrengthIcon: false, connectionIdentifierLoggingDisabled: undefined, errorHandler: undefined, loveLetterHandler: undefined, loveLetterLogging: undefined, queueHandler: undefined, sessionIdHandler: undefined, startHeight: undefined, startWidth: undefined, orientationZoom: undefined, whiteLabelling: {
|
|
23609
|
+
splashScreenUrl: undefined,
|
|
23610
|
+
loadingIconFadeMs: undefined,
|
|
23611
|
+
loadingIconUrl: undefined,
|
|
23612
|
+
splashScreenMode: undefined,
|
|
23613
|
+
splashScreenPosition: undefined,
|
|
23614
|
+
splashScreenBgColor: undefined
|
|
23615
|
+
} }, configuration === null || configuration === void 0 ? void 0 : configuration.settings)
|
|
23540
23616
|
});
|
|
23541
23617
|
const PixelStreaming = new ArcwarePixelStreaming_1.ArcwarePixelStreaming(Config);
|
|
23542
23618
|
const Application = new ArcwareApplication_1.ArcwareApplication({ stream: PixelStreaming });
|
|
@@ -23885,6 +23961,7 @@ class ArcwarePixelStreaming extends lib_pixelstreamingfrontend_ue5_5_1.PixelStre
|
|
|
23885
23961
|
});
|
|
23886
23962
|
}
|
|
23887
23963
|
}
|
|
23964
|
+
this.applyBrandingFromSettings();
|
|
23888
23965
|
this.handleMouseLock();
|
|
23889
23966
|
this.injectCustomUI();
|
|
23890
23967
|
}
|
|
@@ -24132,12 +24209,12 @@ class ArcwarePixelStreaming extends lib_pixelstreamingfrontend_ue5_5_1.PixelStre
|
|
|
24132
24209
|
// Zoom level for orientation change if provided
|
|
24133
24210
|
if (orientationZoom) {
|
|
24134
24211
|
if (browserWidth < browserHeight) {
|
|
24135
|
-
if (orientationZoom.hasOwnProperty(
|
|
24212
|
+
if (orientationZoom.hasOwnProperty("portrait"))
|
|
24136
24213
|
(_a = this === null || this === void 0 ? void 0 : this.webRtcController) === null || _a === void 0 ? void 0 : _a.emitUIInteraction({
|
|
24137
24214
|
zoom: orientationZoom.portrait
|
|
24138
24215
|
});
|
|
24139
24216
|
}
|
|
24140
|
-
else if (orientationZoom.hasOwnProperty(
|
|
24217
|
+
else if (orientationZoom.hasOwnProperty("landscape")) {
|
|
24141
24218
|
(_b = this === null || this === void 0 ? void 0 : this.webRtcController) === null || _b === void 0 ? void 0 : _b.emitUIInteraction({
|
|
24142
24219
|
zoom: orientationZoom.landscape
|
|
24143
24220
|
});
|
|
@@ -24207,26 +24284,27 @@ class ArcwarePixelStreaming extends lib_pixelstreamingfrontend_ue5_5_1.PixelStre
|
|
|
24207
24284
|
initLoveLettersContainer() {
|
|
24208
24285
|
var _a;
|
|
24209
24286
|
const logoLoader = new ArcwareLogoLoader_1.ArcwareLogoLoader();
|
|
24287
|
+
this.logoLoader = logoLoader;
|
|
24210
24288
|
if (!this.loveLettersContainer) {
|
|
24211
|
-
const loveLettersContainer = document
|
|
24212
|
-
|
|
24289
|
+
const loveLettersContainer = document.createElement("div");
|
|
24290
|
+
this.loveLettersContainer = loveLettersContainer; // keep the ref
|
|
24291
|
+
const { videoPlayer } = this.webRtcController;
|
|
24213
24292
|
const videoElementParent = videoPlayer.getVideoParentElement();
|
|
24214
|
-
|
|
24215
|
-
videoElementParent
|
|
24216
|
-
const lettersBlock = document
|
|
24293
|
+
loveLettersContainer.classList.add("love-letters-box-root");
|
|
24294
|
+
videoElementParent.appendChild(loveLettersContainer);
|
|
24295
|
+
const lettersBlock = document.createElement("div");
|
|
24217
24296
|
lettersBlock.id = "letters-block";
|
|
24218
|
-
const lettersWrapper = document
|
|
24297
|
+
const lettersWrapper = document.createElement("div");
|
|
24219
24298
|
lettersWrapper.id = "letters-wrapper";
|
|
24220
|
-
|
|
24221
|
-
|
|
24222
|
-
|
|
24223
|
-
|
|
24224
|
-
|
|
24225
|
-
lettersBlock
|
|
24226
|
-
|
|
24227
|
-
|
|
24228
|
-
|
|
24229
|
-
}
|
|
24299
|
+
// append your existing loader root (with SVG) into the lettersBlock
|
|
24300
|
+
const loaderRoot = logoLoader.arcwareLogoLoader; // your existing getter
|
|
24301
|
+
lettersBlock.appendChild(loaderRoot);
|
|
24302
|
+
// ensure the loader knows its host
|
|
24303
|
+
(_a = logoLoader.setHostElement) === null || _a === void 0 ? void 0 : _a.call(logoLoader, loaderRoot);
|
|
24304
|
+
loveLettersContainer.appendChild(lettersBlock);
|
|
24305
|
+
lettersBlock.appendChild(lettersWrapper);
|
|
24306
|
+
// apply current (local) settings immediately
|
|
24307
|
+
this.applyBrandingFromSettings();
|
|
24230
24308
|
}
|
|
24231
24309
|
}
|
|
24232
24310
|
pushLetter(letter) {
|
|
@@ -24332,8 +24410,7 @@ class ArcwarePixelStreaming extends lib_pixelstreamingfrontend_ue5_5_1.PixelStre
|
|
|
24332
24410
|
}
|
|
24333
24411
|
}
|
|
24334
24412
|
injectCustomUI() {
|
|
24335
|
-
(0, common_1.waitForElement)(
|
|
24336
|
-
.then(el => {
|
|
24413
|
+
(0, common_1.waitForElement)("#stream-ui").then((el) => {
|
|
24337
24414
|
var _a;
|
|
24338
24415
|
const videoElementParent = (_a = this === null || this === void 0 ? void 0 : this.videoElementParent) === null || _a === void 0 ? void 0 : _a.parentElement;
|
|
24339
24416
|
if (videoElementParent) {
|
|
@@ -24341,6 +24418,80 @@ class ArcwarePixelStreaming extends lib_pixelstreamingfrontend_ue5_5_1.PixelStre
|
|
|
24341
24418
|
}
|
|
24342
24419
|
});
|
|
24343
24420
|
}
|
|
24421
|
+
applyBrandingFromSettings() {
|
|
24422
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
24423
|
+
const cfg = ((_b = (_a = this === null || this === void 0 ? void 0 : this.config) === null || _a === void 0 ? void 0 : _a.settings.whiteLabelling) !== null && _b !== void 0 ? _b : {});
|
|
24424
|
+
// Loader image + fade
|
|
24425
|
+
try {
|
|
24426
|
+
if (this.logoLoader) {
|
|
24427
|
+
(_d = (_c = this.logoLoader).setImage) === null || _d === void 0 ? void 0 : _d.call(_c, cfg.loadingIconUrl);
|
|
24428
|
+
(_f = (_e = this.logoLoader).setFade) === null || _f === void 0 ? void 0 : _f.call(_e, cfg.loadingIconFadeMs);
|
|
24429
|
+
}
|
|
24430
|
+
}
|
|
24431
|
+
catch (_q) { }
|
|
24432
|
+
// Pick splash host: loveLettersContainer (preferred) or player parent
|
|
24433
|
+
try {
|
|
24434
|
+
const el = (_m = (_g = this.loveLettersContainer) !== null && _g !== void 0 ? _g : (_l = (_k = (_j = (_h = this.webRtcController) === null || _h === void 0 ? void 0 : _h.videoPlayer) === null || _j === void 0 ? void 0 : _j.getVideoParentElement) === null || _k === void 0 ? void 0 : _k.call(_j)) === null || _l === void 0 ? void 0 : _l.parentElement) !== null && _m !== void 0 ? _m : null;
|
|
24435
|
+
if (!el)
|
|
24436
|
+
return;
|
|
24437
|
+
const s = el.style;
|
|
24438
|
+
// Nuke previous inline styles (longhands only; never touch 'background' shorthand here)
|
|
24439
|
+
s.removeProperty("background-image");
|
|
24440
|
+
s.removeProperty("background-size");
|
|
24441
|
+
s.removeProperty("background-repeat");
|
|
24442
|
+
s.removeProperty("background-position");
|
|
24443
|
+
s.removeProperty("background-color");
|
|
24444
|
+
// Also clear any earlier 'background' inline shorthand that might have been set elsewhere
|
|
24445
|
+
// (we set to 'initial' first, then re-apply longhands)
|
|
24446
|
+
s.setProperty("background", "initial");
|
|
24447
|
+
el.classList.remove("aw-splash");
|
|
24448
|
+
// If neither color nor image is provided, nothing to do
|
|
24449
|
+
const haveColor = !!cfg.splashScreenBgColor;
|
|
24450
|
+
const haveImage = !!cfg.splashScreenUrl;
|
|
24451
|
+
if (!haveColor && !haveImage)
|
|
24452
|
+
return;
|
|
24453
|
+
// Always ensure our class is present when we brand
|
|
24454
|
+
el.classList.add("aw-splash");
|
|
24455
|
+
// Apply color with !important so external 'background: ... !important' can't wipe it
|
|
24456
|
+
const bgColor = (_o = cfg.splashScreenBgColor) !== null && _o !== void 0 ? _o : "var(--color0)";
|
|
24457
|
+
s.setProperty("background-color", bgColor, "important");
|
|
24458
|
+
if (haveImage) {
|
|
24459
|
+
// Mode → size/repeat mapping
|
|
24460
|
+
const mode = ((_p = cfg.splashScreenMode) !== null && _p !== void 0 ? _p : "contain");
|
|
24461
|
+
switch (mode) {
|
|
24462
|
+
case "contain":
|
|
24463
|
+
s.backgroundSize = "contain";
|
|
24464
|
+
s.backgroundRepeat = "no-repeat";
|
|
24465
|
+
break;
|
|
24466
|
+
case "cover":
|
|
24467
|
+
s.backgroundSize = "cover";
|
|
24468
|
+
s.backgroundRepeat = "no-repeat";
|
|
24469
|
+
break;
|
|
24470
|
+
case "stretch":
|
|
24471
|
+
s.backgroundSize = "100% 100%";
|
|
24472
|
+
s.backgroundRepeat = "no-repeat";
|
|
24473
|
+
break;
|
|
24474
|
+
case "repeat":
|
|
24475
|
+
s.backgroundSize = "auto"; // intrinsic
|
|
24476
|
+
s.backgroundRepeat = "repeat";
|
|
24477
|
+
break;
|
|
24478
|
+
}
|
|
24479
|
+
// Position
|
|
24480
|
+
s.backgroundPosition = cfg.splashScreenPosition || "center center";
|
|
24481
|
+
// Image last (longhand so it won't reset color)
|
|
24482
|
+
// Use quotes to be safe with URLs containing parentheses/spaces
|
|
24483
|
+
s.backgroundImage = `url("${cfg.splashScreenUrl}")`;
|
|
24484
|
+
}
|
|
24485
|
+
else {
|
|
24486
|
+
// No image → ensure any previous image is cleared
|
|
24487
|
+
s.backgroundImage = "none";
|
|
24488
|
+
s.backgroundRepeat = "no-repeat";
|
|
24489
|
+
s.backgroundPosition = "center center";
|
|
24490
|
+
s.backgroundSize = "auto";
|
|
24491
|
+
}
|
|
24492
|
+
}
|
|
24493
|
+
catch (_r) { }
|
|
24494
|
+
}
|
|
24344
24495
|
}
|
|
24345
24496
|
exports.ArcwarePixelStreaming = ArcwarePixelStreaming;
|
|
24346
24497
|
|
|
@@ -24355,6 +24506,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
24355
24506
|
exports.ArcwareSettingsSchema = void 0;
|
|
24356
24507
|
const zod_1 = __webpack_require__(8754);
|
|
24357
24508
|
const shared_pixelstreaming_websdk_1 = __webpack_require__(7910);
|
|
24509
|
+
const ZWhiteLabel_1 = __webpack_require__(467);
|
|
24358
24510
|
/** Arcware Settings. */
|
|
24359
24511
|
exports.ArcwareSettingsSchema = zod_1.z.object({
|
|
24360
24512
|
/** Overwrites the Session-Tool and uses the provided session instead. */
|
|
@@ -24405,10 +24557,15 @@ exports.ArcwareSettingsSchema = zod_1.z.object({
|
|
|
24405
24557
|
/** Height with which instance should be started */
|
|
24406
24558
|
startHeight: zod_1.z.number().optional(),
|
|
24407
24559
|
/** Zoom functionality */
|
|
24408
|
-
orientationZoom: zod_1.z
|
|
24560
|
+
orientationZoom: zod_1.z
|
|
24561
|
+
.object({
|
|
24409
24562
|
landscape: zod_1.z.number(),
|
|
24410
|
-
portrait: zod_1.z.number()
|
|
24411
|
-
})
|
|
24563
|
+
portrait: zod_1.z.number()
|
|
24564
|
+
})
|
|
24565
|
+
.strict()
|
|
24566
|
+
.optional(),
|
|
24567
|
+
/** Loader customization */
|
|
24568
|
+
whiteLabelling: ZWhiteLabel_1.ZWhiteLabel.optional()
|
|
24412
24569
|
});
|
|
24413
24570
|
|
|
24414
24571
|
|
|
@@ -25199,6 +25356,40 @@ class DiagnosticsCollector {
|
|
|
25199
25356
|
exports.DiagnosticsCollector = DiagnosticsCollector;
|
|
25200
25357
|
|
|
25201
25358
|
|
|
25359
|
+
/***/ }),
|
|
25360
|
+
|
|
25361
|
+
/***/ 467:
|
|
25362
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
25363
|
+
|
|
25364
|
+
|
|
25365
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
25366
|
+
exports.ZWhiteLabel = void 0;
|
|
25367
|
+
const zod_1 = __webpack_require__(8754);
|
|
25368
|
+
/** Absolute HTTPS URL (no http) */
|
|
25369
|
+
const AbsoluteHttpsUrl = zod_1.z
|
|
25370
|
+
.string()
|
|
25371
|
+
.url()
|
|
25372
|
+
.refine((u) => u.startsWith("https://"), { message: "URL must use https://" });
|
|
25373
|
+
/** Relative path (no scheme like http:, data:, javascript:, etc.) */
|
|
25374
|
+
const RelativePath = zod_1.z
|
|
25375
|
+
.string()
|
|
25376
|
+
.min(1)
|
|
25377
|
+
.refine((s) => !/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(s), { message: "Expected a relative path without a URL scheme" });
|
|
25378
|
+
/** Image URL can be absolute (https) or relative (e.g. /assets/logo.png, ./img.png) */
|
|
25379
|
+
const ImageUrl = zod_1.z.union([AbsoluteHttpsUrl, RelativePath]);
|
|
25380
|
+
/** Strict allowlist for white-label brand fields coming from the URL */
|
|
25381
|
+
exports.ZWhiteLabel = zod_1.z
|
|
25382
|
+
.object({
|
|
25383
|
+
loadingIconUrl: ImageUrl.optional(),
|
|
25384
|
+
loadingIconFadeMs: zod_1.z.number().int().positive().optional(),
|
|
25385
|
+
splashScreenUrl: ImageUrl.optional(),
|
|
25386
|
+
splashScreenMode: zod_1.z.enum(["contain", "cover", "stretch", "repeat"]).optional(),
|
|
25387
|
+
splashScreenPosition: zod_1.z.string().optional(),
|
|
25388
|
+
splashScreenBgColor: zod_1.z.string().optional()
|
|
25389
|
+
})
|
|
25390
|
+
.strict();
|
|
25391
|
+
|
|
25392
|
+
|
|
25202
25393
|
/***/ }),
|
|
25203
25394
|
|
|
25204
25395
|
/***/ 2483:
|
|
@@ -25327,6 +25518,46 @@ function waitForElement(selector, { root = document, timeout = 3000 } = {}) {
|
|
|
25327
25518
|
exports.waitForElement = waitForElement;
|
|
25328
25519
|
|
|
25329
25520
|
|
|
25521
|
+
/***/ }),
|
|
25522
|
+
|
|
25523
|
+
/***/ 3545:
|
|
25524
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
25525
|
+
|
|
25526
|
+
|
|
25527
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
25528
|
+
exports.readWhiteLabelFromQuery = void 0;
|
|
25529
|
+
const ZWhiteLabel_1 = __webpack_require__(467);
|
|
25530
|
+
function decodeBase64OrBase64Url(raw) {
|
|
25531
|
+
const normalized = raw.replace(/-/g, "+").replace(/_/g, "/");
|
|
25532
|
+
const padded = normalized + "===".slice((normalized.length + 3) % 4);
|
|
25533
|
+
if (typeof atob === "function")
|
|
25534
|
+
return atob(padded);
|
|
25535
|
+
// @ts-ignore (Node fallback if this runs server-side)
|
|
25536
|
+
return Buffer.from(padded, "base64").toString("utf-8");
|
|
25537
|
+
}
|
|
25538
|
+
/** Parse ?wl=... (or ?whitelabel=...) → validated partial settings */
|
|
25539
|
+
function readWhiteLabelFromQuery(qs) {
|
|
25540
|
+
try {
|
|
25541
|
+
const raw = qs.get("wl");
|
|
25542
|
+
if (!raw)
|
|
25543
|
+
return undefined;
|
|
25544
|
+
const jsonStr = decodeBase64OrBase64Url(raw);
|
|
25545
|
+
const obj = JSON.parse(jsonStr);
|
|
25546
|
+
const parsed = ZWhiteLabel_1.ZWhiteLabel.safeParse(obj);
|
|
25547
|
+
if (!parsed.success) {
|
|
25548
|
+
//console.warn("[ArcwareConfig] Invalid wl payload:", parsed.error?.flatten?.());
|
|
25549
|
+
return undefined;
|
|
25550
|
+
}
|
|
25551
|
+
return parsed.data;
|
|
25552
|
+
}
|
|
25553
|
+
catch (e) {
|
|
25554
|
+
//console.warn("[ArcwareConfig] Failed to parse wl payload:", e);
|
|
25555
|
+
return undefined;
|
|
25556
|
+
}
|
|
25557
|
+
}
|
|
25558
|
+
exports.readWhiteLabelFromQuery = readWhiteLabelFromQuery;
|
|
25559
|
+
|
|
25560
|
+
|
|
25330
25561
|
/***/ }),
|
|
25331
25562
|
|
|
25332
25563
|
/***/ 9399:
|
|
@@ -25367,16 +25598,27 @@ exports.ArcwareStyles = {
|
|
|
25367
25598
|
"--color11": "rgba(65,0,139,1) !important",
|
|
25368
25599
|
"--color12": "#222224 !important",
|
|
25369
25600
|
"--color13": "#f0f0f2 !important",
|
|
25370
|
-
"--colorBoxShadow": "rgba(0, 0, 0, 0.20) !important"
|
|
25601
|
+
"--colorBoxShadow": "rgba(0, 0, 0, 0.20) !important"
|
|
25602
|
+
},
|
|
25603
|
+
".aw-splash": {
|
|
25604
|
+
backgroundRepeat: "no-repeat",
|
|
25605
|
+
backgroundPosition: "center center",
|
|
25606
|
+
backgroundSize: "contain",
|
|
25607
|
+
backgroundColor: "var(--color0)"
|
|
25608
|
+
},
|
|
25609
|
+
"@keyframes aw-loader-fade": {
|
|
25610
|
+
from: { opacity: 0.25 },
|
|
25611
|
+
to: { opacity: 1 }
|
|
25371
25612
|
},
|
|
25613
|
+
/* ---------- /NEW ---------- */
|
|
25372
25614
|
"#playerUI *": {
|
|
25373
|
-
fontFamily: "system-ui"
|
|
25615
|
+
fontFamily: "system-ui"
|
|
25374
25616
|
},
|
|
25375
25617
|
"#shared-stream-container": {
|
|
25376
|
-
boxSizing: "border-box"
|
|
25618
|
+
boxSizing: "border-box"
|
|
25377
25619
|
},
|
|
25378
25620
|
"#shared-stream-container::-webkit-scrollbar": {
|
|
25379
|
-
width: "10px"
|
|
25621
|
+
width: "10px"
|
|
25380
25622
|
},
|
|
25381
25623
|
"#shared-stream-container::-webkit-scrollbar-track": {
|
|
25382
25624
|
background: "var(--color13)",
|
|
@@ -25385,10 +25627,10 @@ exports.ArcwareStyles = {
|
|
|
25385
25627
|
borderTop: "20px solid var(--color0)",
|
|
25386
25628
|
borderRight: "5px solid var(--color0)",
|
|
25387
25629
|
borderBottom: "20px solid var(--color0)",
|
|
25388
|
-
borderLeft: "5px solid var(--color0)"
|
|
25630
|
+
borderLeft: "5px solid var(--color0)"
|
|
25389
25631
|
},
|
|
25390
25632
|
"#shared-stream-container::-webkit-scrollbar-track-piece": {
|
|
25391
|
-
background: "transparent"
|
|
25633
|
+
background: "transparent"
|
|
25392
25634
|
},
|
|
25393
25635
|
"#shared-stream-container::-webkit-scrollbar-thumb": {
|
|
25394
25636
|
background: "var(--color13)",
|
|
@@ -25396,11 +25638,11 @@ exports.ArcwareStyles = {
|
|
|
25396
25638
|
borderRight: "2px solid var(--color0)",
|
|
25397
25639
|
borderLeft: "2px solid var(--color0)",
|
|
25398
25640
|
transition: "all ease-in-out 0.3s",
|
|
25399
|
-
borderRadius: "7px"
|
|
25641
|
+
borderRadius: "7px"
|
|
25400
25642
|
},
|
|
25401
25643
|
"#shared-stream-container::-webkit-scrollbar-thumb:hover": {
|
|
25402
25644
|
transition: "all ease-in-out 0.3s",
|
|
25403
|
-
background: "var(--color3)"
|
|
25645
|
+
background: "var(--color3)"
|
|
25404
25646
|
},
|
|
25405
25647
|
"#playerUI, #videoElementParent": {
|
|
25406
25648
|
position: "absolute",
|
|
@@ -25414,13 +25656,13 @@ exports.ArcwareStyles = {
|
|
|
25414
25656
|
left: 0,
|
|
25415
25657
|
margin: "auto",
|
|
25416
25658
|
boxSizing: "border-box",
|
|
25417
|
-
pointerEvents: "all"
|
|
25659
|
+
pointerEvents: "all"
|
|
25418
25660
|
},
|
|
25419
25661
|
"#streamingVideo": {
|
|
25420
25662
|
maxWidth: "100%",
|
|
25421
25663
|
maxHeight: "100%",
|
|
25422
25664
|
boxSizing: "border-box",
|
|
25423
|
-
background: "#18181A"
|
|
25665
|
+
background: "#18181A"
|
|
25424
25666
|
},
|
|
25425
25667
|
"#uiFeatures #controls": {
|
|
25426
25668
|
top: "auto",
|
|
@@ -25428,13 +25670,13 @@ exports.ArcwareStyles = {
|
|
|
25428
25670
|
bottom: "10px",
|
|
25429
25671
|
right: "20px",
|
|
25430
25672
|
display: "flex",
|
|
25431
|
-
flexDirection: "column-reverse"
|
|
25673
|
+
flexDirection: "column-reverse"
|
|
25432
25674
|
},
|
|
25433
25675
|
"#uiFeatures #connection": {
|
|
25434
25676
|
bottom: "5px",
|
|
25435
25677
|
left: "10px",
|
|
25436
25678
|
width: "2.5rem",
|
|
25437
|
-
heihgt: "2.5rem"
|
|
25679
|
+
heihgt: "2.5rem"
|
|
25438
25680
|
},
|
|
25439
25681
|
"#uiFeatures button": {
|
|
25440
25682
|
backgroundColor: "var(--color12)",
|
|
@@ -25451,23 +25693,23 @@ exports.ArcwareStyles = {
|
|
|
25451
25693
|
alignItems: "center",
|
|
25452
25694
|
boxShadow: "0px 0px 24px 0px var(--colorBoxShadow)",
|
|
25453
25695
|
borderRadius: "3px",
|
|
25454
|
-
outline: "none"
|
|
25696
|
+
outline: "none"
|
|
25455
25697
|
},
|
|
25456
25698
|
"#uiFeatures button:hover, #uiFeatures button:active": {
|
|
25457
25699
|
padding: "0 !important",
|
|
25458
|
-
border: "none"
|
|
25700
|
+
border: "none"
|
|
25459
25701
|
},
|
|
25460
25702
|
"#uiFeatures button #audioIconMuted, #uiFeatures button #audioIconUnmuted, #uiFeatures button #micIconMuted, #uiFeatures button #micIconUnmuted": {
|
|
25461
25703
|
width: "31px",
|
|
25462
|
-
height: "28px"
|
|
25704
|
+
height: "28px"
|
|
25463
25705
|
},
|
|
25464
25706
|
"#uiFeatures button #maximizeIcon, #uiFeatures button #minimizeIcon": {
|
|
25465
25707
|
width: "25px",
|
|
25466
|
-
height: "25px"
|
|
25708
|
+
height: "25px"
|
|
25467
25709
|
},
|
|
25468
25710
|
"#stopIcon, #playIcon": {
|
|
25469
25711
|
width: "30px",
|
|
25470
|
-
height: "30px"
|
|
25712
|
+
height: "30px"
|
|
25471
25713
|
},
|
|
25472
25714
|
"#uiFeatures button .tooltiptext": {
|
|
25473
25715
|
right: "125%",
|
|
@@ -25476,35 +25718,35 @@ exports.ArcwareStyles = {
|
|
|
25476
25718
|
borderRadius: "3px",
|
|
25477
25719
|
backgroundColor: "var(--color12)",
|
|
25478
25720
|
width: "95px",
|
|
25479
|
-
visibility: "hidden!important"
|
|
25721
|
+
visibility: "hidden!important"
|
|
25480
25722
|
},
|
|
25481
25723
|
"@media (hover: hover) and (pointer: fine)": {
|
|
25482
25724
|
"#uiFeatures button:hover .tooltiptext": {
|
|
25483
|
-
visibility: "visible!important"
|
|
25484
|
-
}
|
|
25725
|
+
visibility: "visible!important"
|
|
25726
|
+
}
|
|
25485
25727
|
},
|
|
25486
25728
|
"#controls>*": {
|
|
25487
25729
|
marginBottom: "0.5rem",
|
|
25488
25730
|
display: "block",
|
|
25489
25731
|
lineHeight: "1.75rem",
|
|
25490
25732
|
padding: "0.5rem",
|
|
25491
|
-
backgroundColor: "var(--color12)"
|
|
25733
|
+
backgroundColor: "var(--color12)"
|
|
25492
25734
|
},
|
|
25493
25735
|
"#uiFeatures #settingsIcon, #uiFeatures #statsIcon": {
|
|
25494
25736
|
width: "27px",
|
|
25495
|
-
height: "27px"
|
|
25737
|
+
height: "27px"
|
|
25496
25738
|
},
|
|
25497
25739
|
".svgIcon": {
|
|
25498
|
-
fill: "var(--color13)"
|
|
25740
|
+
fill: "var(--color13)"
|
|
25499
25741
|
},
|
|
25500
25742
|
"#uiFeatures button:hover .svgIcon, #uiFeatures button:active .svgIcon": {
|
|
25501
|
-
fill: "var(--color12)"
|
|
25743
|
+
fill: "var(--color12)"
|
|
25502
25744
|
},
|
|
25503
25745
|
".tgl-switch .tgl-slider, .tgl-flat:checked+.tgl-slider": {
|
|
25504
|
-
border: "3px solid transparent"
|
|
25746
|
+
border: "3px solid transparent"
|
|
25505
25747
|
},
|
|
25506
25748
|
".tgl-switch .tgl-slider": {
|
|
25507
|
-
background: "none"
|
|
25749
|
+
background: "none"
|
|
25508
25750
|
},
|
|
25509
25751
|
".tgl-switch .tgl-slider::before": {
|
|
25510
25752
|
content: "''",
|
|
@@ -25518,18 +25760,18 @@ exports.ArcwareStyles = {
|
|
|
25518
25760
|
top: "0",
|
|
25519
25761
|
bottom: "0",
|
|
25520
25762
|
left: "0",
|
|
25521
|
-
right: "0"
|
|
25763
|
+
right: "0"
|
|
25522
25764
|
},
|
|
25523
25765
|
".tgl-switch .tgl-slider::after": {
|
|
25524
25766
|
height: "13px",
|
|
25525
25767
|
width: "13px",
|
|
25526
25768
|
borderRadius: "50%",
|
|
25527
25769
|
top: "-2px",
|
|
25528
|
-
left: "-1%"
|
|
25770
|
+
left: "-1%"
|
|
25529
25771
|
},
|
|
25530
25772
|
".tgl-flat:checked+.tgl-slider:after": {
|
|
25531
25773
|
left: "62%",
|
|
25532
|
-
background: "var(--color3)"
|
|
25774
|
+
background: "var(--color3)"
|
|
25533
25775
|
},
|
|
25534
25776
|
".form-control": {
|
|
25535
25777
|
backgroundColor: "transparent",
|
|
@@ -25538,7 +25780,7 @@ exports.ArcwareStyles = {
|
|
|
25538
25780
|
color: "var(--color13)",
|
|
25539
25781
|
textAlign: "left",
|
|
25540
25782
|
fontFamily: "inherit",
|
|
25541
|
-
padding: "5px 15px "
|
|
25783
|
+
padding: "5px 15px "
|
|
25542
25784
|
},
|
|
25543
25785
|
".btn-flat": {
|
|
25544
25786
|
background: "var(--color3)",
|
|
@@ -25548,31 +25790,62 @@ exports.ArcwareStyles = {
|
|
|
25548
25790
|
cursor: "pointer",
|
|
25549
25791
|
borderRadius: "4px",
|
|
25550
25792
|
textTransform: "uppercase",
|
|
25551
|
-
minWidth: "175px"
|
|
25793
|
+
minWidth: "175px"
|
|
25552
25794
|
},
|
|
25553
25795
|
".btn-flat:disabled": {
|
|
25554
25796
|
background: "var(--color7)",
|
|
25555
25797
|
borderColor: "var(--color3)",
|
|
25556
25798
|
color: "var(--color3)",
|
|
25557
|
-
cursor: "default"
|
|
25799
|
+
cursor: "default"
|
|
25558
25800
|
},
|
|
25559
25801
|
".btn-flat:focus": {
|
|
25560
|
-
outline: "none"
|
|
25802
|
+
outline: "none"
|
|
25561
25803
|
},
|
|
25562
25804
|
".arcware-logo-loader": {
|
|
25563
25805
|
position: "relative",
|
|
25564
|
-
display: "
|
|
25806
|
+
display: "flex",
|
|
25807
|
+
alignItems: "center",
|
|
25808
|
+
justifyContent: "center",
|
|
25565
25809
|
width: "12.5%",
|
|
25566
25810
|
height: "12.5%",
|
|
25811
|
+
margin: "0 auto",
|
|
25812
|
+
boxSizing: "border-box"
|
|
25813
|
+
},
|
|
25814
|
+
// image rendering + centering inside the box
|
|
25815
|
+
".arcware-logo-loader img": {
|
|
25816
|
+
maxWidth: "40%",
|
|
25817
|
+
maxHeight: "40%",
|
|
25818
|
+
objectFit: "contain",
|
|
25819
|
+
objectPosition: "center center",
|
|
25820
|
+
display: "block",
|
|
25821
|
+
margin: 0,
|
|
25822
|
+
verticalAlign: "middle"
|
|
25823
|
+
},
|
|
25824
|
+
// fade stays the same
|
|
25825
|
+
".arcware-logo-loader.pulse img": {
|
|
25826
|
+
animation: "aw-loader-fade var(--aw-fade,1200ms) ease-in-out infinite alternate"
|
|
25827
|
+
},
|
|
25828
|
+
".arcware-logo-loader.aw-custom-loader": {
|
|
25829
|
+
width: "auto !important",
|
|
25830
|
+
height: "auto !important"
|
|
25831
|
+
},
|
|
25832
|
+
".arcware-logo-loader.aw-custom-loader img": {
|
|
25833
|
+
display: "block",
|
|
25834
|
+
width: "auto",
|
|
25835
|
+
height: "auto",
|
|
25836
|
+
maxWidth: "80%",
|
|
25837
|
+
maxHeight: "80%",
|
|
25838
|
+
objectFit: "contain",
|
|
25839
|
+
margin: "0 auto" // ensure horizontal centering inside the loader
|
|
25567
25840
|
},
|
|
25568
25841
|
"#playOverlay img#playButton": {
|
|
25569
|
-
width: "5%"
|
|
25842
|
+
width: "5%"
|
|
25570
25843
|
},
|
|
25571
25844
|
"#disconnectOverlay, #errorOverlay": {
|
|
25572
25845
|
textTransform: "initial",
|
|
25573
25846
|
textAlign: "center",
|
|
25574
25847
|
fontSize: "20px",
|
|
25575
|
-
lineHeight: 2.5
|
|
25848
|
+
lineHeight: 2.5
|
|
25576
25849
|
},
|
|
25577
25850
|
"#disconnectOverlay .clickableState": {
|
|
25578
25851
|
textTransform: "initial",
|
|
@@ -25582,13 +25855,13 @@ exports.ArcwareStyles = {
|
|
|
25582
25855
|
fontSize: "18px",
|
|
25583
25856
|
border: "1px solid #DAF693",
|
|
25584
25857
|
margin: "25px auto 0",
|
|
25585
|
-
width: "180px"
|
|
25858
|
+
width: "180px"
|
|
25586
25859
|
},
|
|
25587
25860
|
"#afkOverlay": {
|
|
25588
25861
|
background: "none",
|
|
25589
25862
|
transition: "all ease-in-out 0.5s",
|
|
25590
25863
|
opacity: 1,
|
|
25591
|
-
pointerEvents: "initial"
|
|
25864
|
+
pointerEvents: "initial"
|
|
25592
25865
|
},
|
|
25593
25866
|
"#afkOverlayInner": {
|
|
25594
25867
|
textTransform: "initial",
|
|
@@ -25597,18 +25870,18 @@ exports.ArcwareStyles = {
|
|
|
25597
25870
|
fontSize: "18px",
|
|
25598
25871
|
width: "360px",
|
|
25599
25872
|
textAlign: "center",
|
|
25600
|
-
lineHeight: 2.5
|
|
25873
|
+
lineHeight: 2.5
|
|
25601
25874
|
},
|
|
25602
25875
|
"#afkOverlayInner center::first-line": {
|
|
25603
25876
|
textTransform: "uppercase",
|
|
25604
25877
|
color: "#FF8461",
|
|
25605
25878
|
fontWeight: "bold",
|
|
25606
|
-
fontSize: "24px"
|
|
25879
|
+
fontSize: "24px"
|
|
25607
25880
|
},
|
|
25608
25881
|
"#afkOverlayInner #afkCountDownNumber": {
|
|
25609
25882
|
color: "#DAF693",
|
|
25610
25883
|
fontSize: "26px",
|
|
25611
|
-
lineHeight: "22px"
|
|
25884
|
+
lineHeight: "22px"
|
|
25612
25885
|
},
|
|
25613
25886
|
"#afkOverlayInner center .retry-button": {
|
|
25614
25887
|
textTransform: "initial",
|
|
@@ -25618,7 +25891,7 @@ exports.ArcwareStyles = {
|
|
|
25618
25891
|
fontSize: "18px",
|
|
25619
25892
|
border: "1px solid #DAF693",
|
|
25620
25893
|
margin: "25px auto 0",
|
|
25621
|
-
width: "180px"
|
|
25894
|
+
width: "180px"
|
|
25622
25895
|
},
|
|
25623
25896
|
"#connectOverlay #connectButton": {
|
|
25624
25897
|
textTransform: "initial",
|
|
@@ -25628,33 +25901,33 @@ exports.ArcwareStyles = {
|
|
|
25628
25901
|
fontSize: "18px",
|
|
25629
25902
|
border: "1px solid #DAF693",
|
|
25630
25903
|
margin: "25px auto 0",
|
|
25631
|
-
width: "180px"
|
|
25904
|
+
width: "180px"
|
|
25632
25905
|
},
|
|
25633
25906
|
"#connectOverlay .connection-text": {
|
|
25634
25907
|
textTransform: "initial",
|
|
25635
25908
|
textAlign: "center",
|
|
25636
|
-
margin: "25px auto 0"
|
|
25909
|
+
margin: "25px auto 0"
|
|
25637
25910
|
},
|
|
25638
25911
|
"#connectOverlay .connection-text .title": {
|
|
25639
25912
|
color: "#ffffff",
|
|
25640
25913
|
fontSize: "18px",
|
|
25641
|
-
margin: "5px 0"
|
|
25914
|
+
margin: "5px 0"
|
|
25642
25915
|
},
|
|
25643
25916
|
"#connectOverlay .connection-text .subtitle": {
|
|
25644
25917
|
color: "#ffffff",
|
|
25645
25918
|
opacity: 0.5,
|
|
25646
25919
|
fontSize: "12px",
|
|
25647
|
-
margin: "10px 0"
|
|
25920
|
+
margin: "10px 0"
|
|
25648
25921
|
},
|
|
25649
25922
|
"#infoOverlay.hiddenState": {
|
|
25650
|
-
display: "none"
|
|
25923
|
+
display: "none"
|
|
25651
25924
|
},
|
|
25652
25925
|
"#disconnectOverlay, #playOverlay, #errorOverlay, #microphoneOverlay, #connectOverlay": {
|
|
25653
25926
|
background: "#18181A",
|
|
25654
25927
|
display: "flex",
|
|
25655
25928
|
transition: "all ease-in-out 0.5s",
|
|
25656
25929
|
opacity: 1,
|
|
25657
|
-
pointerEvents: "initial"
|
|
25930
|
+
pointerEvents: "initial"
|
|
25658
25931
|
},
|
|
25659
25932
|
"#microphoneOverlay": {
|
|
25660
25933
|
textTransform: "initial",
|
|
@@ -25673,51 +25946,51 @@ exports.ArcwareStyles = {
|
|
|
25673
25946
|
justifyContent: "center",
|
|
25674
25947
|
alignItems: "center",
|
|
25675
25948
|
flexDirection: "column",
|
|
25676
|
-
zIndex: 99999
|
|
25949
|
+
zIndex: 99999
|
|
25677
25950
|
},
|
|
25678
25951
|
"#microphoneOverlay .title": {
|
|
25679
25952
|
fontSize: "24px",
|
|
25680
25953
|
position: "relative",
|
|
25681
25954
|
marginBottom: "20px",
|
|
25682
|
-
color: "#F0F0F2"
|
|
25955
|
+
color: "#F0F0F2"
|
|
25683
25956
|
},
|
|
25684
25957
|
"#microphoneOverlay .title:after": {
|
|
25685
25958
|
content: "''",
|
|
25686
25959
|
display: "inline-block",
|
|
25687
25960
|
animation: "dotty steps(1,end) 1s infinite",
|
|
25688
|
-
position: "absolute"
|
|
25961
|
+
position: "absolute"
|
|
25689
25962
|
},
|
|
25690
25963
|
"#microphoneOverlay p": {
|
|
25691
25964
|
margin: 0,
|
|
25692
|
-
color: "#858588"
|
|
25965
|
+
color: "#858588"
|
|
25693
25966
|
},
|
|
25694
25967
|
"#microphoneOverlay svg": {
|
|
25695
25968
|
height: "65px",
|
|
25696
25969
|
marginBottom: "15px",
|
|
25697
|
-
marginTop: "-5px"
|
|
25970
|
+
marginTop: "-5px"
|
|
25698
25971
|
},
|
|
25699
25972
|
"#microphoneOverlay .svgIcon": {
|
|
25700
|
-
fill: "#DAF693"
|
|
25973
|
+
fill: "#DAF693"
|
|
25701
25974
|
},
|
|
25702
25975
|
"#disconnectOverlay.hiddenState, #playOverlay.hiddenState, #errorOverlay.hiddenState, #afkOverlay.hiddenState, #microphoneOverlay.hiddenState": {
|
|
25703
25976
|
opacity: 0,
|
|
25704
|
-
pointerEvents: "none"
|
|
25977
|
+
pointerEvents: "none"
|
|
25705
25978
|
},
|
|
25706
25979
|
"#disconnectOverlay.mic-overlay-is-visible, #errorOverlay.mic-overlay-is-visible, #infoOverlay.mic-overlay-is-visible": {
|
|
25707
25980
|
opacity: 0,
|
|
25708
|
-
pointerEvents: "none"
|
|
25981
|
+
pointerEvents: "none"
|
|
25709
25982
|
},
|
|
25710
25983
|
"#infoOverlay.hiddenState, #connectOverlay.hiddenState": {
|
|
25711
|
-
display: "none"
|
|
25984
|
+
display: "none"
|
|
25712
25985
|
},
|
|
25713
25986
|
"#connectOverlay": {
|
|
25714
25987
|
display: "flex",
|
|
25715
25988
|
flexDirection: "column-reverse",
|
|
25716
25989
|
alignItems: "center",
|
|
25717
|
-
justifyContent: "center"
|
|
25990
|
+
justifyContent: "center"
|
|
25718
25991
|
},
|
|
25719
25992
|
"#infoOverlay": {
|
|
25720
|
-
display: "none"
|
|
25993
|
+
display: "none"
|
|
25721
25994
|
},
|
|
25722
25995
|
".love-letters-box-root": {
|
|
25723
25996
|
display: "flex",
|
|
@@ -25729,11 +26002,11 @@ exports.ArcwareStyles = {
|
|
|
25729
26002
|
alignItems: "center",
|
|
25730
26003
|
flexDirection: "column",
|
|
25731
26004
|
background: "#18181A",
|
|
25732
|
-
zIndex: 1
|
|
26005
|
+
zIndex: 1
|
|
25733
26006
|
},
|
|
25734
26007
|
".love-letters-box-root.fade-out": {
|
|
25735
26008
|
opacity: 0,
|
|
25736
|
-
transition: "opacity 0.5s"
|
|
26009
|
+
transition: "opacity 0.5s"
|
|
25737
26010
|
},
|
|
25738
26011
|
"#letters-block": {
|
|
25739
26012
|
position: "absolute",
|
|
@@ -25750,7 +26023,7 @@ exports.ArcwareStyles = {
|
|
|
25750
26023
|
alignItems: "center",
|
|
25751
26024
|
fontSize: "16px",
|
|
25752
26025
|
textTransform: "initial",
|
|
25753
|
-
textAlign: "center"
|
|
26026
|
+
textAlign: "center"
|
|
25754
26027
|
},
|
|
25755
26028
|
"#letters-wrapper": {
|
|
25756
26029
|
height: "77px",
|
|
@@ -25761,62 +26034,88 @@ exports.ArcwareStyles = {
|
|
|
25761
26034
|
alignItems: "center",
|
|
25762
26035
|
justifyContent: "flex-end",
|
|
25763
26036
|
marginTop: "10px",
|
|
25764
|
-
paddingBottom: "2px"
|
|
26037
|
+
paddingBottom: "2px"
|
|
25765
26038
|
},
|
|
25766
26039
|
"#letters-wrapper p": {
|
|
25767
26040
|
textAlign: "center",
|
|
25768
26041
|
lineHeight: 1.25,
|
|
25769
|
-
fontSize: "16px"
|
|
26042
|
+
fontSize: "16px"
|
|
25770
26043
|
},
|
|
25771
26044
|
".letter-animation:nth-last-of-type(1)::after": {
|
|
25772
26045
|
display: "inline-block",
|
|
25773
26046
|
animation: "dotty steps(1,end) 1s infinite",
|
|
25774
26047
|
content: "''",
|
|
25775
|
-
position: "absolute"
|
|
26048
|
+
position: "absolute"
|
|
25776
26049
|
},
|
|
25777
26050
|
".letter-animation": {
|
|
25778
26051
|
transition: "all 0.5s ease-in-out",
|
|
25779
26052
|
transformOrigin: "bottom",
|
|
25780
|
-
margin: "0 auto"
|
|
26053
|
+
margin: "0 auto"
|
|
25781
26054
|
},
|
|
25782
26055
|
".letter-animation-enter": {
|
|
25783
|
-
animation: "fadeInUp 0.75s ease-out"
|
|
26056
|
+
animation: "fadeInUp 0.75s ease-out"
|
|
25784
26057
|
},
|
|
25785
26058
|
".letter-animation-exit": {
|
|
25786
26059
|
opacity: 0,
|
|
25787
26060
|
scale: 0.9,
|
|
25788
26061
|
transition: "all ease-in-out 1s",
|
|
25789
|
-
margin: 0
|
|
26062
|
+
margin: 0
|
|
25790
26063
|
},
|
|
25791
26064
|
"@keyframes dotty": {
|
|
25792
26065
|
"0%": { content: "''" },
|
|
25793
26066
|
"25%": { content: "'.'" },
|
|
25794
26067
|
"50%": { content: "'..'" },
|
|
25795
26068
|
"75%": { content: "'...'" },
|
|
25796
|
-
"100%": { content: "''" }
|
|
26069
|
+
"100%": { content: "''" }
|
|
25797
26070
|
},
|
|
25798
26071
|
"@keyframes fadeInUp": {
|
|
25799
26072
|
from: {
|
|
25800
26073
|
opacity: 0,
|
|
25801
26074
|
transform: " translateY(5px)",
|
|
25802
|
-
scale: 0.9
|
|
26075
|
+
scale: 0.9
|
|
25803
26076
|
},
|
|
25804
26077
|
to: {
|
|
25805
26078
|
opacity: 1,
|
|
25806
26079
|
transform: "translateY(0)",
|
|
25807
|
-
scale: 1
|
|
25808
|
-
}
|
|
26080
|
+
scale: 1
|
|
26081
|
+
}
|
|
25809
26082
|
},
|
|
25810
26083
|
".hidden": {
|
|
25811
26084
|
display: "none",
|
|
25812
|
-
opacity: 0
|
|
26085
|
+
opacity: 0
|
|
25813
26086
|
},
|
|
25814
26087
|
".visible": {
|
|
25815
26088
|
display: "block",
|
|
25816
26089
|
opacity: 1,
|
|
25817
|
-
transition: "opacity 1s ease-out"
|
|
26090
|
+
transition: "opacity 1s ease-out"
|
|
25818
26091
|
},
|
|
25819
|
-
|
|
26092
|
+
// Make the host a flex centering box
|
|
26093
|
+
".love-letters-box-root .arcware-logo-loader": {
|
|
26094
|
+
display: "flex",
|
|
26095
|
+
alignItems: "center",
|
|
26096
|
+
justifyContent: "center"
|
|
26097
|
+
},
|
|
26098
|
+
// When a custom image is active, ignore the legacy 12.5% box
|
|
26099
|
+
".love-letters-box-root .arcware-logo-loader.aw-custom-loader": {
|
|
26100
|
+
width: "auto !important",
|
|
26101
|
+
height: "auto !important"
|
|
26102
|
+
},
|
|
26103
|
+
// Size & center the <img> itself (independent of host size)
|
|
26104
|
+
".love-letters-box-root .arcware-logo-loader.aw-custom-loader img": {
|
|
26105
|
+
display: "block",
|
|
26106
|
+
margin: "0 auto",
|
|
26107
|
+
width: "min(40vmin, 40vw)",
|
|
26108
|
+
height: "auto",
|
|
26109
|
+
objectFit: "contain",
|
|
26110
|
+
objectPosition: "center center"
|
|
26111
|
+
},
|
|
26112
|
+
// (optional) If you prefer the old “percentage of container” behavior:
|
|
26113
|
+
".love-letters-box-root .arcware-logo-loader.aw-custom-loader img.alt-40pct": {
|
|
26114
|
+
width: "40%",
|
|
26115
|
+
maxWidth: "100%",
|
|
26116
|
+
height: "auto"
|
|
26117
|
+
}
|
|
26118
|
+
}
|
|
25820
26119
|
};
|
|
25821
26120
|
|
|
25822
26121
|
|
|
@@ -25838,6 +26137,56 @@ class ArcwareLogoLoader {
|
|
|
25838
26137
|
arcwareLogoLoader.innerHTML = this.getSvg();
|
|
25839
26138
|
return arcwareLogoLoader;
|
|
25840
26139
|
}
|
|
26140
|
+
/** Call this once after you create the wrapper/root that contains the SVG */
|
|
26141
|
+
setHostElement(el) {
|
|
26142
|
+
this._hostEl = el;
|
|
26143
|
+
}
|
|
26144
|
+
/** Swap the loader image at runtime; pass undefined to go back to SVG */
|
|
26145
|
+
setImage(url) {
|
|
26146
|
+
var _a, _b;
|
|
26147
|
+
if (!this._hostEl)
|
|
26148
|
+
return;
|
|
26149
|
+
// lazily create <img> once
|
|
26150
|
+
if (!this._imgEl) {
|
|
26151
|
+
const img = document.createElement("img");
|
|
26152
|
+
img.alt = "Loading";
|
|
26153
|
+
img.style.display = "none"; // hidden until we set a URL
|
|
26154
|
+
this._hostEl.appendChild(img);
|
|
26155
|
+
this._imgEl = img;
|
|
26156
|
+
}
|
|
26157
|
+
if (url && url.trim()) {
|
|
26158
|
+
(_a = this._hostEl) === null || _a === void 0 ? void 0 : _a.classList.add("aw-custom-loader");
|
|
26159
|
+
if (this._imgEl.src !== url)
|
|
26160
|
+
this._imgEl.src = url;
|
|
26161
|
+
// show <img>, hide SVG
|
|
26162
|
+
this._imgEl.style.display = "";
|
|
26163
|
+
const svg = this._hostEl.querySelector("svg");
|
|
26164
|
+
if (svg)
|
|
26165
|
+
svg.style.display = "none";
|
|
26166
|
+
}
|
|
26167
|
+
else {
|
|
26168
|
+
// no url → fall back to SVG
|
|
26169
|
+
(_b = this._hostEl) === null || _b === void 0 ? void 0 : _b.classList.remove("aw-custom-loader");
|
|
26170
|
+
this._imgEl.style.display = "none";
|
|
26171
|
+
const svg = this._hostEl.querySelector("svg");
|
|
26172
|
+
if (svg)
|
|
26173
|
+
svg.style.display = "";
|
|
26174
|
+
}
|
|
26175
|
+
}
|
|
26176
|
+
/** Enable/disable pulsing fade in ms; 0 disables */
|
|
26177
|
+
setFade(ms) {
|
|
26178
|
+
if (!this._hostEl)
|
|
26179
|
+
return;
|
|
26180
|
+
const n = Number(ms) || 0;
|
|
26181
|
+
if (n > 0) {
|
|
26182
|
+
this._hostEl.style.setProperty("--aw-fade", `${n}ms`);
|
|
26183
|
+
this._hostEl.classList.add("pulse"); // uses #aw-loader.pulse styles you added
|
|
26184
|
+
}
|
|
26185
|
+
else {
|
|
26186
|
+
this._hostEl.classList.remove("pulse");
|
|
26187
|
+
this._hostEl.style.removeProperty("--aw-fade");
|
|
26188
|
+
}
|
|
26189
|
+
}
|
|
25841
26190
|
getSvg() {
|
|
25842
26191
|
return `
|
|
25843
26192
|
<svg width="42" height="80" viewBox="0 0 42 80" xmlns="http://www.w3.org/2000/svg">
|