@oxvo/ai-live-assist 7.4.23 → 7.4.24

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.
@@ -38,7 +38,7 @@ export declare const resolveAiGuideProtocolVersion: (bootstrap: Pick<BootstrapCo
38
38
  export default class AiLiveAssist {
39
39
  private readonly app;
40
40
  private readonly options;
41
- readonly version = "7.4.23";
41
+ readonly version = "7.4.24";
42
42
  private readonly siteKey;
43
43
  private tabId;
44
44
  private readonly windowId;
package/cjs/index.js CHANGED
@@ -18,8 +18,8 @@ function aiLiveAssist(options = {}) {
18
18
  if (document.querySelector('[data-oxvo-ai-live-assist-root]')) {
19
19
  return undefined;
20
20
  }
21
- if (!app.checkRequiredVersion?.('7.4.23')) {
22
- console.warn('OXVO AI Guide requires @oxvo/browser version 7.4.23 or newer.');
21
+ if (!app.checkRequiredVersion?.('7.4.24')) {
22
+ console.warn('OXVO AI Guide requires @oxvo/browser version 7.4.24 or newer.');
23
23
  return undefined;
24
24
  }
25
25
  const instance = new AiLiveAssist_js_1.default(app, options);
package/cjs/preview.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { AiGuidePreviewBridge, AiGuidePreviewController, AiGuidePreviewCont
2
2
  export declare const AI_GUIDE_PREVIEW_PARENT_SOURCE = "oxvo-ai-guide-settings-preview";
3
3
  export declare const AI_GUIDE_PREVIEW_WIDGET_SOURCE = "oxvo-ai-guide-widget-preview";
4
4
  export declare const AI_GUIDE_PREVIEW_PROTOCOL_VERSION = 1;
5
- export declare const AI_GUIDE_PREVIEW_RENDERER_VERSION = "1.0.27";
5
+ export declare const AI_GUIDE_PREVIEW_RENDERER_VERSION = "1.0.28";
6
6
  export declare const buildAiGuidePreviewBootstrap: (draft: unknown) => BootstrapConfig;
7
7
  export declare class AiGuidePreviewControllerImpl implements AiGuidePreviewController {
8
8
  private readonly port;
package/cjs/preview.js CHANGED
@@ -6,7 +6,7 @@ const voicePresenceUi_js_1 = require("./voicePresenceUi.js");
6
6
  exports.AI_GUIDE_PREVIEW_PARENT_SOURCE = "oxvo-ai-guide-settings-preview";
7
7
  exports.AI_GUIDE_PREVIEW_WIDGET_SOURCE = "oxvo-ai-guide-widget-preview";
8
8
  exports.AI_GUIDE_PREVIEW_PROTOCOL_VERSION = 1;
9
- exports.AI_GUIDE_PREVIEW_RENDERER_VERSION = "1.0.27";
9
+ exports.AI_GUIDE_PREVIEW_RENDERER_VERSION = "1.0.28";
10
10
  const DEFAULT_COMPANION = {
11
11
  enabled: true,
12
12
  title: "AI Guide",
package/cjs/ui.js CHANGED
@@ -18,13 +18,16 @@ const AMBIENT_IDLE_GRACE_MS = 700;
18
18
  const OMAGO_SOURCE_CONTENT_FADE_MS = 16;
19
19
  const OMAGO_BOX_IN_HOLD_MS = 130;
20
20
  const OMAGO_BOX_IN_GEOMETRY_MS = 550;
21
- const OMAGO_BOX_IN_SETTLE_MS = OMAGO_BOX_IN_HOLD_MS + OMAGO_BOX_IN_GEOMETRY_MS;
21
+ const OMAGO_BOX_IN_CONTENT_FADE_MS = 560;
22
+ const OMAGO_BOX_IN_REVEAL_MS = OMAGO_BOX_IN_HOLD_MS + OMAGO_BOX_IN_GEOMETRY_MS;
23
+ const OMAGO_BOX_IN_SETTLE_MS = 920;
22
24
  const COMPANION_TRANSFER_MORPH_SETUP_MARGIN_MS = 250;
23
- const COMPANION_TRANSFER_MORPH_BUDGET_MS = OMAGO_BOX_IN_SETTLE_MS + 240 + COMPANION_TRANSFER_MORPH_SETUP_MARGIN_MS;
25
+ const COMPANION_TRANSFER_MORPH_BUDGET_MS = OMAGO_BOX_IN_SETTLE_MS + COMPANION_TRANSFER_MORPH_SETUP_MARGIN_MS;
24
26
  const OMAGO_BOX_OUT_HOLD_MS = 130;
25
27
  const OMAGO_BOX_OUT_GEOMETRY_MS = 420;
26
- const OMAGO_BOX_OUT_LAND_MS = OMAGO_BOX_OUT_HOLD_MS + OMAGO_BOX_OUT_GEOMETRY_MS;
27
- const OMAGO_BOX_OUT_FADE_MS = 590;
28
+ const OMAGO_BOX_OUT_CONTENT_FADE_MS = 430;
29
+ const OMAGO_BOX_OUT_REVEAL_MS = OMAGO_BOX_OUT_HOLD_MS + OMAGO_BOX_OUT_GEOMETRY_MS;
30
+ const OMAGO_BOX_OUT_LAND_MS = OMAGO_BOX_OUT_REVEAL_MS;
28
31
  const OMAGO_BOX_OUT_SETTLE_MS = 860;
29
32
  const INITIAL_QUESTION_MAX_LENGTH = 300;
30
33
  const VOICE_ENTRY_LABEL = "Voice";
@@ -220,6 +223,7 @@ const style = `
220
223
  display: grid !important;
221
224
  opacity: 1;
222
225
  visibility: visible !important;
226
+ overflow: hidden !important;
223
227
  pointer-events: none !important;
224
228
  transition: none !important;
225
229
  will-change: left, top, width, height, opacity;
@@ -251,7 +255,7 @@ const style = `
251
255
  .panel.panel-transition-compact-clone .header > * {
252
256
  transition: opacity .1s ease;
253
257
  }
254
- .panel.panel-transition-compact-clone.morph .header > * {
258
+ .panel.panel-transition-compact-clone.primary-surface-content-fade .header > * {
255
259
  opacity: 0;
256
260
  }
257
261
  .panel.panel-transition-compact-clone .voice-card-fx {
@@ -280,11 +284,11 @@ const style = `
280
284
  .panel.panel-transition-compact-clone:not(.voice-session) .compact-chat-actions {
281
285
  transition: opacity .1s ease;
282
286
  }
283
- .panel.panel-transition-compact-clone:not(.voice-session).morph .compact-chat-card::before,
284
- .panel.panel-transition-compact-clone:not(.voice-session).morph .compact-chat-actions {
287
+ .panel.panel-transition-compact-clone:not(.voice-session).primary-surface-content-fade .compact-chat-card::before,
288
+ .panel.panel-transition-compact-clone:not(.voice-session).primary-surface-content-fade .compact-chat-actions {
285
289
  opacity: 0;
286
290
  }
287
- .panel.panel-transition-compact-clone:not(.voice-session).morph .compact-chat-action {
291
+ .panel.panel-transition-compact-clone:not(.voice-session).primary-surface-content-fade .compact-chat-action {
288
292
  opacity: 0;
289
293
  }
290
294
  .panel.panel-transition-compact-clone:not(.voice-session) .compact-chat-action {
@@ -304,6 +308,7 @@ const style = `
304
308
  margin: 0 !important;
305
309
  opacity: 1;
306
310
  visibility: visible !important;
311
+ overflow: hidden !important;
307
312
  pointer-events: none !important;
308
313
  transition: opacity .16s ease !important;
309
314
  will-change: opacity;
@@ -329,7 +334,7 @@ const style = `
329
334
  z-index: 3 !important;
330
335
  display: block !important;
331
336
  margin: 0 !important;
332
- overflow: visible !important;
337
+ overflow: hidden !important;
333
338
  opacity: 1;
334
339
  visibility: visible !important;
335
340
  pointer-events: none !important;
@@ -351,7 +356,7 @@ const style = `
351
356
  .intro-composer-frame.omago-transition-source.primary-surface-inner-track {
352
357
  z-index: 4 !important;
353
358
  }
354
- .intro-composer-frame.omago-transition-source.morph > .compact-chat-actions {
359
+ .intro-composer-frame.omago-transition-source.primary-surface-content-fade > .compact-chat-actions {
355
360
  opacity: 0;
356
361
  pointer-events: none;
357
362
  }
@@ -363,8 +368,8 @@ const style = `
363
368
  height .42s cubic-bezier(.2, .8, .3, 1),
364
369
  opacity .24s ease !important;
365
370
  }
366
- .intro-composer-frame.omago-transition-source.morph .intro-composer > *,
367
- .intro-composer-frame.omago-transition-source.morph .compact-chat-action {
371
+ .intro-composer-frame.omago-transition-source.primary-surface-content-fade .intro-composer > *,
372
+ .intro-composer-frame.omago-transition-source.primary-surface-content-fade .compact-chat-action {
368
373
  opacity: 0;
369
374
  transition: opacity .1s ease;
370
375
  }
@@ -377,6 +382,7 @@ const style = `
377
382
  max-height: none !important;
378
383
  opacity: 1;
379
384
  visibility: visible !important;
385
+ overflow: hidden !important;
380
386
  pointer-events: none !important;
381
387
  transition: none !important;
382
388
  will-change: left, top, width, height, opacity;
@@ -389,7 +395,7 @@ const style = `
389
395
  from { opacity: 1; }
390
396
  to { opacity: 0; }
391
397
  }
392
- .panel.primary-surface-transition-clone:not(.compact):not(.voice-session):not(.starting-voice).morph {
398
+ .panel.primary-surface-transition-clone:not(.compact):not(.voice-session):not(.starting-voice).primary-surface-content-fade {
393
399
  animation: text-panel-shell-fade .1s ease forwards !important;
394
400
  }
395
401
  .panel.primary-surface-transition-clone.omago-box-out {
@@ -408,11 +414,11 @@ const style = `
408
414
  height .55s cubic-bezier(.2, .8, .3, 1),
409
415
  opacity .24s ease !important;
410
416
  }
411
- .panel.primary-surface-transition-clone:not(.compact).morph > .header,
412
- .panel.primary-surface-transition-clone:not(.compact).morph > .body,
413
- .panel.primary-surface-transition-clone:not(.compact).morph > .controls,
414
- .panel.primary-surface-transition-clone.compact.morph > .header > *,
415
- .panel.primary-surface-transition-clone.compact.morph .compact-chat-action {
417
+ .panel.primary-surface-transition-clone:not(.compact).primary-surface-content-fade > .header,
418
+ .panel.primary-surface-transition-clone:not(.compact).primary-surface-content-fade > .body,
419
+ .panel.primary-surface-transition-clone:not(.compact).primary-surface-content-fade > .controls,
420
+ .panel.primary-surface-transition-clone.compact.primary-surface-content-fade > .header > *,
421
+ .panel.primary-surface-transition-clone.compact.primary-surface-content-fade .compact-chat-action {
416
422
  opacity: 0;
417
423
  transition: opacity .1s ease;
418
424
  }
@@ -425,7 +431,7 @@ const style = `
425
431
  min-width: 0 !important;
426
432
  margin: 0 !important;
427
433
  isolation: isolate;
428
- overflow: visible;
434
+ overflow: hidden !important;
429
435
  background: transparent;
430
436
  border: 0;
431
437
  border-radius: 12px;
@@ -451,11 +457,11 @@ const style = `
451
457
  .panel-transition-inner-clone .chatbox {
452
458
  transition: opacity .1s ease;
453
459
  }
454
- .panel-transition-inner-clone.morph::before,
455
- .panel-transition-inner-clone.morph .chatbox {
460
+ .panel-transition-inner-clone.primary-surface-content-fade::before,
461
+ .panel-transition-inner-clone.primary-surface-content-fade .chatbox {
456
462
  opacity: 0;
457
463
  }
458
- .panel-transition-inner-clone.morph .chatbox > * {
464
+ .panel-transition-inner-clone.primary-surface-content-fade .chatbox > * {
459
465
  opacity: 0;
460
466
  transition: opacity .1s ease;
461
467
  }
@@ -7227,7 +7233,7 @@ class WidgetView {
7227
7233
  return;
7228
7234
  }
7229
7235
  const clone = sourceClone ?? this.createPrimarySurfaceTransitionClone(source, true);
7230
- clone.classList.remove("primary-surface-transition-clone", "primary-surface-inner-track", "panel-transition-compact-clone", "omago-box-in", "omago-box-out", "omago-source-fade", "morph");
7236
+ clone.classList.remove("primary-surface-transition-clone", "primary-surface-inner-track", "panel-transition-compact-clone", "omago-box-in", "omago-box-out", "omago-source-fade", "primary-surface-content-fade", "morph");
7231
7237
  clone.classList.add("panel-transition-source-clone");
7232
7238
  clone.style.opacity = "1";
7233
7239
  this.panelTransitionClone = clone;
@@ -7812,7 +7818,7 @@ class WidgetView {
7812
7818
  this.setTransitionRect(clone, rect);
7813
7819
  }
7814
7820
  this.prepareSessionTransitionClone(clone);
7815
- clone.classList.remove("omago-awaiting", "omago-destination-reveal", "omago-panel-min", "omago-source-content-fade", "panel-entry-measuring", "panel-transition-swap");
7821
+ clone.classList.remove("omago-awaiting", "omago-destination-reveal", "omago-panel-min", "omago-source-content-fade", "primary-surface-content-fade", "panel-entry-measuring", "panel-transition-swap");
7816
7822
  clone.classList.add("primary-surface-transition-clone");
7817
7823
  clone.setAttribute("aria-hidden", "true");
7818
7824
  clone.setAttribute("role", "presentation");
@@ -7860,10 +7866,12 @@ class WidgetView {
7860
7866
  const direction = options.direction ?? "out";
7861
7867
  const inner = options.inner ?? null;
7862
7868
  const transitionClass = direction === "in" ? "omago-box-in" : "omago-box-out";
7863
- const revealAt = direction === "in" ? OMAGO_BOX_IN_SETTLE_MS : OMAGO_BOX_OUT_FADE_MS;
7864
- const settleAt = direction === "in"
7865
- ? OMAGO_BOX_IN_SETTLE_MS + 240
7866
- : OMAGO_BOX_OUT_SETTLE_MS;
7869
+ const geometryAt = direction === "in" ? OMAGO_BOX_IN_HOLD_MS : OMAGO_BOX_OUT_HOLD_MS;
7870
+ const contentFadeAt = direction === "in"
7871
+ ? OMAGO_BOX_IN_CONTENT_FADE_MS
7872
+ : OMAGO_BOX_OUT_CONTENT_FADE_MS;
7873
+ const revealAt = direction === "in" ? OMAGO_BOX_IN_REVEAL_MS : OMAGO_BOX_OUT_REVEAL_MS;
7874
+ const settleAt = direction === "in" ? OMAGO_BOX_IN_SETTLE_MS : OMAGO_BOX_OUT_SETTLE_MS;
7867
7875
  let revealed = false;
7868
7876
  const revealOnce = () => {
7869
7877
  if (revealed)
@@ -7884,11 +7892,11 @@ class WidgetView {
7884
7892
  finalize();
7885
7893
  return;
7886
7894
  }
7887
- clone.classList.remove("omago-box-in", "omago-box-out");
7895
+ clone.classList.remove("omago-box-in", "omago-box-out", "primary-surface-content-fade", "morph");
7888
7896
  clone.style.opacity = "1";
7889
7897
  this.panelTransitionClone = clone;
7890
7898
  if (inner) {
7891
- inner.clone.classList.remove("omago-box-in", "omago-box-out");
7899
+ inner.clone.classList.remove("omago-box-in", "omago-box-out", "primary-surface-content-fade", "morph");
7892
7900
  inner.clone.classList.add("primary-surface-inner-track");
7893
7901
  inner.clone.classList.toggle("primary-fixed-voice-card", inner.fixed === true);
7894
7902
  inner.clone.style.opacity = "1";
@@ -7906,25 +7914,26 @@ class WidgetView {
7906
7914
  this.schedulePanelTransition(() => {
7907
7915
  if (this.panelTransitionClone !== clone)
7908
7916
  return;
7909
- clone.classList.add("morph");
7917
+ clone.classList.add("morph", transitionClass);
7918
+ this.setTransitionRect(clone, target);
7910
7919
  if (this.panelTransitionInnerClone === inner?.clone) {
7911
7920
  inner.clone.classList.add("morph");
7912
7921
  if (inner.fadeDuringHold)
7913
7922
  inner.clone.style.opacity = "0";
7923
+ if (!inner.fixed) {
7924
+ inner.clone.classList.add(transitionClass);
7925
+ this.setTransitionRect(inner.clone, inner.target);
7926
+ }
7914
7927
  }
7915
- }, OMAGO_SOURCE_CONTENT_FADE_MS);
7928
+ }, geometryAt);
7916
7929
  this.schedulePanelTransition(() => {
7917
7930
  if (this.panelTransitionClone !== clone)
7918
7931
  return;
7919
- clone.classList.add(transitionClass);
7920
- this.setTransitionRect(clone, target);
7932
+ clone.classList.add("primary-surface-content-fade");
7921
7933
  if (this.panelTransitionInnerClone === inner?.clone) {
7922
- if (!inner.fixed) {
7923
- inner.clone.classList.add(transitionClass);
7924
- this.setTransitionRect(inner.clone, inner.target);
7925
- }
7934
+ inner.clone.classList.add("primary-surface-content-fade");
7926
7935
  }
7927
- }, OMAGO_BOX_OUT_HOLD_MS);
7936
+ }, contentFadeAt);
7928
7937
  this.schedulePanelTransition(() => {
7929
7938
  if (this.panelTransitionClone !== clone)
7930
7939
  return;
package/cjs/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "7.4.23";
1
+ export declare const VERSION = "7.4.24";
package/cjs/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '7.4.23';
4
+ exports.VERSION = '7.4.24';
@@ -38,7 +38,7 @@ export declare const resolveAiGuideProtocolVersion: (bootstrap: Pick<BootstrapCo
38
38
  export default class AiLiveAssist {
39
39
  private readonly app;
40
40
  private readonly options;
41
- readonly version = "7.4.23";
41
+ readonly version = "7.4.24";
42
42
  private readonly siteKey;
43
43
  private tabId;
44
44
  private readonly windowId;
package/lib/index.js CHANGED
@@ -12,8 +12,8 @@ export default function aiLiveAssist(options = {}) {
12
12
  if (document.querySelector('[data-oxvo-ai-live-assist-root]')) {
13
13
  return undefined;
14
14
  }
15
- if (!app.checkRequiredVersion?.('7.4.23')) {
16
- console.warn('OXVO AI Guide requires @oxvo/browser version 7.4.23 or newer.');
15
+ if (!app.checkRequiredVersion?.('7.4.24')) {
16
+ console.warn('OXVO AI Guide requires @oxvo/browser version 7.4.24 or newer.');
17
17
  return undefined;
18
18
  }
19
19
  const instance = new AiLiveAssist(app, options);
package/lib/preview.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { AiGuidePreviewBridge, AiGuidePreviewController, AiGuidePreviewCont
2
2
  export declare const AI_GUIDE_PREVIEW_PARENT_SOURCE = "oxvo-ai-guide-settings-preview";
3
3
  export declare const AI_GUIDE_PREVIEW_WIDGET_SOURCE = "oxvo-ai-guide-widget-preview";
4
4
  export declare const AI_GUIDE_PREVIEW_PROTOCOL_VERSION = 1;
5
- export declare const AI_GUIDE_PREVIEW_RENDERER_VERSION = "1.0.27";
5
+ export declare const AI_GUIDE_PREVIEW_RENDERER_VERSION = "1.0.28";
6
6
  export declare const buildAiGuidePreviewBootstrap: (draft: unknown) => BootstrapConfig;
7
7
  export declare class AiGuidePreviewControllerImpl implements AiGuidePreviewController {
8
8
  private readonly port;
package/lib/preview.js CHANGED
@@ -3,7 +3,7 @@ import { VoicePresenceView } from "./voicePresenceUi.js";
3
3
  export const AI_GUIDE_PREVIEW_PARENT_SOURCE = "oxvo-ai-guide-settings-preview";
4
4
  export const AI_GUIDE_PREVIEW_WIDGET_SOURCE = "oxvo-ai-guide-widget-preview";
5
5
  export const AI_GUIDE_PREVIEW_PROTOCOL_VERSION = 1;
6
- export const AI_GUIDE_PREVIEW_RENDERER_VERSION = "1.0.27";
6
+ export const AI_GUIDE_PREVIEW_RENDERER_VERSION = "1.0.28";
7
7
  const DEFAULT_COMPANION = {
8
8
  enabled: true,
9
9
  title: "AI Guide",
package/lib/ui.js CHANGED
@@ -15,13 +15,16 @@ const AMBIENT_IDLE_GRACE_MS = 700;
15
15
  const OMAGO_SOURCE_CONTENT_FADE_MS = 16;
16
16
  const OMAGO_BOX_IN_HOLD_MS = 130;
17
17
  const OMAGO_BOX_IN_GEOMETRY_MS = 550;
18
- const OMAGO_BOX_IN_SETTLE_MS = OMAGO_BOX_IN_HOLD_MS + OMAGO_BOX_IN_GEOMETRY_MS;
18
+ const OMAGO_BOX_IN_CONTENT_FADE_MS = 560;
19
+ const OMAGO_BOX_IN_REVEAL_MS = OMAGO_BOX_IN_HOLD_MS + OMAGO_BOX_IN_GEOMETRY_MS;
20
+ const OMAGO_BOX_IN_SETTLE_MS = 920;
19
21
  const COMPANION_TRANSFER_MORPH_SETUP_MARGIN_MS = 250;
20
- const COMPANION_TRANSFER_MORPH_BUDGET_MS = OMAGO_BOX_IN_SETTLE_MS + 240 + COMPANION_TRANSFER_MORPH_SETUP_MARGIN_MS;
22
+ const COMPANION_TRANSFER_MORPH_BUDGET_MS = OMAGO_BOX_IN_SETTLE_MS + COMPANION_TRANSFER_MORPH_SETUP_MARGIN_MS;
21
23
  const OMAGO_BOX_OUT_HOLD_MS = 130;
22
24
  const OMAGO_BOX_OUT_GEOMETRY_MS = 420;
23
- const OMAGO_BOX_OUT_LAND_MS = OMAGO_BOX_OUT_HOLD_MS + OMAGO_BOX_OUT_GEOMETRY_MS;
24
- const OMAGO_BOX_OUT_FADE_MS = 590;
25
+ const OMAGO_BOX_OUT_CONTENT_FADE_MS = 430;
26
+ const OMAGO_BOX_OUT_REVEAL_MS = OMAGO_BOX_OUT_HOLD_MS + OMAGO_BOX_OUT_GEOMETRY_MS;
27
+ const OMAGO_BOX_OUT_LAND_MS = OMAGO_BOX_OUT_REVEAL_MS;
25
28
  const OMAGO_BOX_OUT_SETTLE_MS = 860;
26
29
  const INITIAL_QUESTION_MAX_LENGTH = 300;
27
30
  const VOICE_ENTRY_LABEL = "Voice";
@@ -217,6 +220,7 @@ const style = `
217
220
  display: grid !important;
218
221
  opacity: 1;
219
222
  visibility: visible !important;
223
+ overflow: hidden !important;
220
224
  pointer-events: none !important;
221
225
  transition: none !important;
222
226
  will-change: left, top, width, height, opacity;
@@ -248,7 +252,7 @@ const style = `
248
252
  .panel.panel-transition-compact-clone .header > * {
249
253
  transition: opacity .1s ease;
250
254
  }
251
- .panel.panel-transition-compact-clone.morph .header > * {
255
+ .panel.panel-transition-compact-clone.primary-surface-content-fade .header > * {
252
256
  opacity: 0;
253
257
  }
254
258
  .panel.panel-transition-compact-clone .voice-card-fx {
@@ -277,11 +281,11 @@ const style = `
277
281
  .panel.panel-transition-compact-clone:not(.voice-session) .compact-chat-actions {
278
282
  transition: opacity .1s ease;
279
283
  }
280
- .panel.panel-transition-compact-clone:not(.voice-session).morph .compact-chat-card::before,
281
- .panel.panel-transition-compact-clone:not(.voice-session).morph .compact-chat-actions {
284
+ .panel.panel-transition-compact-clone:not(.voice-session).primary-surface-content-fade .compact-chat-card::before,
285
+ .panel.panel-transition-compact-clone:not(.voice-session).primary-surface-content-fade .compact-chat-actions {
282
286
  opacity: 0;
283
287
  }
284
- .panel.panel-transition-compact-clone:not(.voice-session).morph .compact-chat-action {
288
+ .panel.panel-transition-compact-clone:not(.voice-session).primary-surface-content-fade .compact-chat-action {
285
289
  opacity: 0;
286
290
  }
287
291
  .panel.panel-transition-compact-clone:not(.voice-session) .compact-chat-action {
@@ -301,6 +305,7 @@ const style = `
301
305
  margin: 0 !important;
302
306
  opacity: 1;
303
307
  visibility: visible !important;
308
+ overflow: hidden !important;
304
309
  pointer-events: none !important;
305
310
  transition: opacity .16s ease !important;
306
311
  will-change: opacity;
@@ -326,7 +331,7 @@ const style = `
326
331
  z-index: 3 !important;
327
332
  display: block !important;
328
333
  margin: 0 !important;
329
- overflow: visible !important;
334
+ overflow: hidden !important;
330
335
  opacity: 1;
331
336
  visibility: visible !important;
332
337
  pointer-events: none !important;
@@ -348,7 +353,7 @@ const style = `
348
353
  .intro-composer-frame.omago-transition-source.primary-surface-inner-track {
349
354
  z-index: 4 !important;
350
355
  }
351
- .intro-composer-frame.omago-transition-source.morph > .compact-chat-actions {
356
+ .intro-composer-frame.omago-transition-source.primary-surface-content-fade > .compact-chat-actions {
352
357
  opacity: 0;
353
358
  pointer-events: none;
354
359
  }
@@ -360,8 +365,8 @@ const style = `
360
365
  height .42s cubic-bezier(.2, .8, .3, 1),
361
366
  opacity .24s ease !important;
362
367
  }
363
- .intro-composer-frame.omago-transition-source.morph .intro-composer > *,
364
- .intro-composer-frame.omago-transition-source.morph .compact-chat-action {
368
+ .intro-composer-frame.omago-transition-source.primary-surface-content-fade .intro-composer > *,
369
+ .intro-composer-frame.omago-transition-source.primary-surface-content-fade .compact-chat-action {
365
370
  opacity: 0;
366
371
  transition: opacity .1s ease;
367
372
  }
@@ -374,6 +379,7 @@ const style = `
374
379
  max-height: none !important;
375
380
  opacity: 1;
376
381
  visibility: visible !important;
382
+ overflow: hidden !important;
377
383
  pointer-events: none !important;
378
384
  transition: none !important;
379
385
  will-change: left, top, width, height, opacity;
@@ -386,7 +392,7 @@ const style = `
386
392
  from { opacity: 1; }
387
393
  to { opacity: 0; }
388
394
  }
389
- .panel.primary-surface-transition-clone:not(.compact):not(.voice-session):not(.starting-voice).morph {
395
+ .panel.primary-surface-transition-clone:not(.compact):not(.voice-session):not(.starting-voice).primary-surface-content-fade {
390
396
  animation: text-panel-shell-fade .1s ease forwards !important;
391
397
  }
392
398
  .panel.primary-surface-transition-clone.omago-box-out {
@@ -405,11 +411,11 @@ const style = `
405
411
  height .55s cubic-bezier(.2, .8, .3, 1),
406
412
  opacity .24s ease !important;
407
413
  }
408
- .panel.primary-surface-transition-clone:not(.compact).morph > .header,
409
- .panel.primary-surface-transition-clone:not(.compact).morph > .body,
410
- .panel.primary-surface-transition-clone:not(.compact).morph > .controls,
411
- .panel.primary-surface-transition-clone.compact.morph > .header > *,
412
- .panel.primary-surface-transition-clone.compact.morph .compact-chat-action {
414
+ .panel.primary-surface-transition-clone:not(.compact).primary-surface-content-fade > .header,
415
+ .panel.primary-surface-transition-clone:not(.compact).primary-surface-content-fade > .body,
416
+ .panel.primary-surface-transition-clone:not(.compact).primary-surface-content-fade > .controls,
417
+ .panel.primary-surface-transition-clone.compact.primary-surface-content-fade > .header > *,
418
+ .panel.primary-surface-transition-clone.compact.primary-surface-content-fade .compact-chat-action {
413
419
  opacity: 0;
414
420
  transition: opacity .1s ease;
415
421
  }
@@ -422,7 +428,7 @@ const style = `
422
428
  min-width: 0 !important;
423
429
  margin: 0 !important;
424
430
  isolation: isolate;
425
- overflow: visible;
431
+ overflow: hidden !important;
426
432
  background: transparent;
427
433
  border: 0;
428
434
  border-radius: 12px;
@@ -448,11 +454,11 @@ const style = `
448
454
  .panel-transition-inner-clone .chatbox {
449
455
  transition: opacity .1s ease;
450
456
  }
451
- .panel-transition-inner-clone.morph::before,
452
- .panel-transition-inner-clone.morph .chatbox {
457
+ .panel-transition-inner-clone.primary-surface-content-fade::before,
458
+ .panel-transition-inner-clone.primary-surface-content-fade .chatbox {
453
459
  opacity: 0;
454
460
  }
455
- .panel-transition-inner-clone.morph .chatbox > * {
461
+ .panel-transition-inner-clone.primary-surface-content-fade .chatbox > * {
456
462
  opacity: 0;
457
463
  transition: opacity .1s ease;
458
464
  }
@@ -7224,7 +7230,7 @@ export class WidgetView {
7224
7230
  return;
7225
7231
  }
7226
7232
  const clone = sourceClone ?? this.createPrimarySurfaceTransitionClone(source, true);
7227
- clone.classList.remove("primary-surface-transition-clone", "primary-surface-inner-track", "panel-transition-compact-clone", "omago-box-in", "omago-box-out", "omago-source-fade", "morph");
7233
+ clone.classList.remove("primary-surface-transition-clone", "primary-surface-inner-track", "panel-transition-compact-clone", "omago-box-in", "omago-box-out", "omago-source-fade", "primary-surface-content-fade", "morph");
7228
7234
  clone.classList.add("panel-transition-source-clone");
7229
7235
  clone.style.opacity = "1";
7230
7236
  this.panelTransitionClone = clone;
@@ -7809,7 +7815,7 @@ export class WidgetView {
7809
7815
  this.setTransitionRect(clone, rect);
7810
7816
  }
7811
7817
  this.prepareSessionTransitionClone(clone);
7812
- clone.classList.remove("omago-awaiting", "omago-destination-reveal", "omago-panel-min", "omago-source-content-fade", "panel-entry-measuring", "panel-transition-swap");
7818
+ clone.classList.remove("omago-awaiting", "omago-destination-reveal", "omago-panel-min", "omago-source-content-fade", "primary-surface-content-fade", "panel-entry-measuring", "panel-transition-swap");
7813
7819
  clone.classList.add("primary-surface-transition-clone");
7814
7820
  clone.setAttribute("aria-hidden", "true");
7815
7821
  clone.setAttribute("role", "presentation");
@@ -7857,10 +7863,12 @@ export class WidgetView {
7857
7863
  const direction = options.direction ?? "out";
7858
7864
  const inner = options.inner ?? null;
7859
7865
  const transitionClass = direction === "in" ? "omago-box-in" : "omago-box-out";
7860
- const revealAt = direction === "in" ? OMAGO_BOX_IN_SETTLE_MS : OMAGO_BOX_OUT_FADE_MS;
7861
- const settleAt = direction === "in"
7862
- ? OMAGO_BOX_IN_SETTLE_MS + 240
7863
- : OMAGO_BOX_OUT_SETTLE_MS;
7866
+ const geometryAt = direction === "in" ? OMAGO_BOX_IN_HOLD_MS : OMAGO_BOX_OUT_HOLD_MS;
7867
+ const contentFadeAt = direction === "in"
7868
+ ? OMAGO_BOX_IN_CONTENT_FADE_MS
7869
+ : OMAGO_BOX_OUT_CONTENT_FADE_MS;
7870
+ const revealAt = direction === "in" ? OMAGO_BOX_IN_REVEAL_MS : OMAGO_BOX_OUT_REVEAL_MS;
7871
+ const settleAt = direction === "in" ? OMAGO_BOX_IN_SETTLE_MS : OMAGO_BOX_OUT_SETTLE_MS;
7864
7872
  let revealed = false;
7865
7873
  const revealOnce = () => {
7866
7874
  if (revealed)
@@ -7881,11 +7889,11 @@ export class WidgetView {
7881
7889
  finalize();
7882
7890
  return;
7883
7891
  }
7884
- clone.classList.remove("omago-box-in", "omago-box-out");
7892
+ clone.classList.remove("omago-box-in", "omago-box-out", "primary-surface-content-fade", "morph");
7885
7893
  clone.style.opacity = "1";
7886
7894
  this.panelTransitionClone = clone;
7887
7895
  if (inner) {
7888
- inner.clone.classList.remove("omago-box-in", "omago-box-out");
7896
+ inner.clone.classList.remove("omago-box-in", "omago-box-out", "primary-surface-content-fade", "morph");
7889
7897
  inner.clone.classList.add("primary-surface-inner-track");
7890
7898
  inner.clone.classList.toggle("primary-fixed-voice-card", inner.fixed === true);
7891
7899
  inner.clone.style.opacity = "1";
@@ -7903,25 +7911,26 @@ export class WidgetView {
7903
7911
  this.schedulePanelTransition(() => {
7904
7912
  if (this.panelTransitionClone !== clone)
7905
7913
  return;
7906
- clone.classList.add("morph");
7914
+ clone.classList.add("morph", transitionClass);
7915
+ this.setTransitionRect(clone, target);
7907
7916
  if (this.panelTransitionInnerClone === inner?.clone) {
7908
7917
  inner.clone.classList.add("morph");
7909
7918
  if (inner.fadeDuringHold)
7910
7919
  inner.clone.style.opacity = "0";
7920
+ if (!inner.fixed) {
7921
+ inner.clone.classList.add(transitionClass);
7922
+ this.setTransitionRect(inner.clone, inner.target);
7923
+ }
7911
7924
  }
7912
- }, OMAGO_SOURCE_CONTENT_FADE_MS);
7925
+ }, geometryAt);
7913
7926
  this.schedulePanelTransition(() => {
7914
7927
  if (this.panelTransitionClone !== clone)
7915
7928
  return;
7916
- clone.classList.add(transitionClass);
7917
- this.setTransitionRect(clone, target);
7929
+ clone.classList.add("primary-surface-content-fade");
7918
7930
  if (this.panelTransitionInnerClone === inner?.clone) {
7919
- if (!inner.fixed) {
7920
- inner.clone.classList.add(transitionClass);
7921
- this.setTransitionRect(inner.clone, inner.target);
7922
- }
7931
+ inner.clone.classList.add("primary-surface-content-fade");
7923
7932
  }
7924
- }, OMAGO_BOX_OUT_HOLD_MS);
7933
+ }, contentFadeAt);
7925
7934
  this.schedulePanelTransition(() => {
7926
7935
  if (this.panelTransitionClone !== clone)
7927
7936
  return;
package/lib/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "7.4.23";
1
+ export declare const VERSION = "7.4.24";
package/lib/version.js CHANGED
@@ -1 +1 @@
1
- export const VERSION = '7.4.23';
1
+ export const VERSION = '7.4.24';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@oxvo/ai-live-assist",
3
3
  "description": "Secure AI Guide browser plugin for OXVO Sessions.",
4
- "version": "7.4.23",
4
+ "version": "7.4.24",
5
5
  "keywords": [
6
6
  "ai-live-assist",
7
7
  "webrtc",
@@ -41,7 +41,7 @@
41
41
  "prepublishOnly": "bun run test && bun run build"
42
42
  },
43
43
  "peerDependencies": {
44
- "@oxvo/browser": ">=7.4.23"
44
+ "@oxvo/browser": ">=7.4.24"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@oxvo/browser": "workspace:*",