unified-video-framework 1.4.332 → 1.4.333

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unified-video-framework",
3
- "version": "1.4.332",
3
+ "version": "1.4.333",
4
4
  "description": "Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more",
5
5
  "main": "packages/core/dist/index.js",
6
6
  "types": "packages/core/dist/index.d.ts",
@@ -1 +1 @@
1
- {"version":3,"file":"ProductBadge.d.ts","sourceRoot":"","sources":["../../../../src/react/components/commerce/ProductBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEjF,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,qBA8GxE"}
1
+ {"version":3,"file":"ProductBadge.d.ts","sourceRoot":"","sources":["../../../../src/react/components/commerce/ProductBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEjF,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,qBAuGxE"}
@@ -9,44 +9,36 @@ export default function ProductBadge({ product, overlay, onClick }) {
9
9
  const checkPauseState = () => {
10
10
  const video = document.querySelector('.uvf-video');
11
11
  if (video) {
12
- setIsPaused(video.paused);
13
- console.log('[COMMERCE] Pause state changed:', video.paused);
12
+ const newPausedState = video.paused;
13
+ setIsPaused(newPausedState);
14
+ console.log('[COMMERCE] Video paused state:', newPausedState, 'video element:', !!video);
14
15
  }
15
16
  };
16
17
  const checkControlsVisible = () => {
17
18
  const wrapper = document.querySelector('.uvf-player-wrapper');
18
19
  const visible = wrapper?.classList.contains('controls-visible') ?? false;
19
20
  setControlsVisible(visible);
20
- console.log('[COMMERCE] Controls visible changed:', visible);
21
+ console.log('[COMMERCE] Controls visible:', visible);
21
22
  };
22
23
  const video = document.querySelector('.uvf-video');
23
24
  const wrapper = document.querySelector('.uvf-player-wrapper');
24
- if (video) {
25
- video.addEventListener('play', checkPauseState);
26
- video.addEventListener('pause', checkPauseState);
27
- checkPauseState();
28
- }
25
+ console.log('[COMMERCE] Setup - video element found:', !!video, 'wrapper found:', !!wrapper);
26
+ const pausePollInterval = setInterval(checkPauseState, 100);
27
+ let observer = null;
29
28
  if (wrapper) {
30
- const observer = new MutationObserver(checkControlsVisible);
29
+ observer = new MutationObserver(checkControlsVisible);
31
30
  observer.observe(wrapper, { attributes: true, attributeFilter: ['class'] });
32
31
  checkControlsVisible();
33
- return () => {
34
- if (video) {
35
- video.removeEventListener('play', checkPauseState);
36
- video.removeEventListener('pause', checkPauseState);
37
- }
38
- observer.disconnect();
39
- };
40
- }
41
- if (video) {
42
- return () => {
43
- video.removeEventListener('play', checkPauseState);
44
- video.removeEventListener('pause', checkPauseState);
45
- };
46
32
  }
47
- return undefined;
33
+ checkPauseState();
34
+ return () => {
35
+ clearInterval(pausePollInterval);
36
+ if (observer) {
37
+ observer.disconnect();
38
+ }
39
+ };
48
40
  }, []);
49
- console.log('[COMMERCE] Badge state - paused:', isPaused, 'controls:', controlsVisible);
41
+ console.log('[COMMERCE] Rendering - isPaused:', isPaused, 'controlsVisible:', controlsVisible);
50
42
  const placementMode = overlay.placement?.mode ?? "dock";
51
43
  const placementEdge = overlay.placement?.mode === "dock" ? (overlay.placement?.edge ?? "bottom") : undefined;
52
44
  const base = {
@@ -1 +1 @@
1
- {"version":3,"file":"ProductBadge.js","sourceRoot":"","sources":["../../../../src/react/components/commerce/ProductBadge.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProductBadge.js","sourceRoot":"","sources":["../../../../src/react/components/commerce/ProductBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASnD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAS;IACvE,OAAO,CAAC,GAAG,CAAC,uCAAuC,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAChF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,KAAK,KAAK,CAAC;IAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,KAAK,KAAK,CAAC;IAG5D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,eAAe,GAAG,GAAG,EAAE;YAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAqB,CAAC;YACvE,IAAI,KAAK,EAAE;gBACT,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;gBACpC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;aAC1F;QACH,CAAC,CAAC;QAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAuB,CAAC;YACpF,MAAM,OAAO,GAAG,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC;YACzE,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAqB,CAAC;QACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAuB,CAAC;QAEpF,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAG7F,MAAM,iBAAiB,GAAG,WAAW,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAG5D,IAAI,QAAQ,GAA4B,IAAI,CAAC;QAC7C,IAAI,OAAO,EAAE;YACX,QAAQ,GAAG,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;YACtD,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5E,oBAAoB,EAAE,CAAC;SACxB;QAGD,eAAe,EAAE,CAAC;QAElB,OAAO,GAAG,EAAE;YACV,aAAa,CAAC,iBAAiB,CAAC,CAAC;YACjC,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,UAAU,EAAE,CAAC;aACvB;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAG/F,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,IAAI,MAAM,CAAC;IACxD,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7G,MAAM,IAAI,GAAwB;QAChC,QAAQ,EAAE,OAAO;QAEjB,MAAM,EAAE,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,QAAQ;YAC5D,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,CAAC,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzE,CAAC,CAAC,SAAS;QACb,GAAG,EAAE,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACzE,IAAI,EAAE,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/G,KAAK,EAAE,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QAC7E,UAAU,EAAE,iBAAiB;QAC7B,cAAc,EAAE,WAAW;QAC3B,MAAM,EAAE,iCAAiC;QACzC,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,CAAC;QACN,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,MAAM;QACrB,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG;QACvC,UAAU,EAAE,kBAAkB;KAC/B,CAAC;IAGF,IAAI,aAAa,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,IAAI,GAAG,IAAI,OAAO,CAAC,SAAS,IAAI,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE;QAC3G,IAAI,CAAC,IAAI,GAAG,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,GAAG,GAAG,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;KACnD;IAED,OAAO,CACL,6BAAK,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAc,QAAQ,OAAO,CAAC,KAAK,EAAE;QACnF,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CACzC,6BAAK,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAC,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAI,CACtH;QACD,6BAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE;YACrC,6BAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,IAAG,OAAO,CAAC,KAAK,CAAO;YACnG,SAAS,IAAI,CACZ,6BAAK,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,IAC3C,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CACjF,CACP,CACG,CACF,CACP,CAAC;AACJ,CAAC"}
@@ -19,8 +19,9 @@ export default function ProductBadge({ product, overlay, onClick }: Props) {
19
19
  const checkPauseState = () => {
20
20
  const video = document.querySelector('.uvf-video') as HTMLVideoElement;
21
21
  if (video) {
22
- setIsPaused(video.paused);
23
- console.log('[COMMERCE] Pause state changed:', video.paused);
22
+ const newPausedState = video.paused;
23
+ setIsPaused(newPausedState);
24
+ console.log('[COMMERCE] Video paused state:', newPausedState, 'video element:', !!video);
24
25
  }
25
26
  };
26
27
 
@@ -28,45 +29,37 @@ export default function ProductBadge({ product, overlay, onClick }: Props) {
28
29
  const wrapper = document.querySelector('.uvf-player-wrapper') as HTMLElement | null;
29
30
  const visible = wrapper?.classList.contains('controls-visible') ?? false;
30
31
  setControlsVisible(visible);
31
- console.log('[COMMERCE] Controls visible changed:', visible);
32
+ console.log('[COMMERCE] Controls visible:', visible);
32
33
  };
33
34
 
34
- // Check on mount and whenever video events occur
35
35
  const video = document.querySelector('.uvf-video') as HTMLVideoElement;
36
36
  const wrapper = document.querySelector('.uvf-player-wrapper') as HTMLElement | null;
37
37
 
38
- if (video) {
39
- video.addEventListener('play', checkPauseState);
40
- video.addEventListener('pause', checkPauseState);
41
- checkPauseState();
42
- }
38
+ console.log('[COMMERCE] Setup - video element found:', !!video, 'wrapper found:', !!wrapper);
39
+
40
+ // Poll pause state every 100ms instead of relying on events
41
+ const pausePollInterval = setInterval(checkPauseState, 100);
43
42
 
44
- // Monitor controls visibility changes
43
+ // Monitor controls visibility with mutation observer
44
+ let observer: MutationObserver | null = null;
45
45
  if (wrapper) {
46
- const observer = new MutationObserver(checkControlsVisible);
46
+ observer = new MutationObserver(checkControlsVisible);
47
47
  observer.observe(wrapper, { attributes: true, attributeFilter: ['class'] });
48
48
  checkControlsVisible();
49
-
50
- return () => {
51
- if (video) {
52
- video.removeEventListener('play', checkPauseState);
53
- video.removeEventListener('pause', checkPauseState);
54
- }
55
- observer.disconnect();
56
- };
57
49
  }
58
50
 
59
- if (video) {
60
- return () => {
61
- video.removeEventListener('play', checkPauseState);
62
- video.removeEventListener('pause', checkPauseState);
63
- };
64
- }
51
+ // Also check on mount
52
+ checkPauseState();
65
53
 
66
- return undefined;
54
+ return () => {
55
+ clearInterval(pausePollInterval);
56
+ if (observer) {
57
+ observer.disconnect();
58
+ }
59
+ };
67
60
  }, []);
68
61
 
69
- console.log('[COMMERCE] Badge state - paused:', isPaused, 'controls:', controlsVisible);
62
+ console.log('[COMMERCE] Rendering - isPaused:', isPaused, 'controlsVisible:', controlsVisible);
70
63
 
71
64
  // Default to dock-bottom if no placement specified
72
65
  const placementMode = overlay.placement?.mode ?? "dock";