@oxyhq/bloom 1.2.2 → 1.3.0

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.
Files changed (82) hide show
  1. package/docs/media-flight.mdx +87 -0
  2. package/lib/commonjs/media-flight/MediaFlightHost.js +56 -0
  3. package/lib/commonjs/media-flight/MediaFlightHost.js.map +1 -0
  4. package/lib/commonjs/media-flight/MediaFlightHost.web.js +85 -0
  5. package/lib/commonjs/media-flight/MediaFlightHost.web.js.map +1 -0
  6. package/lib/commonjs/media-flight/MediaFlightLayer.js +4 -2
  7. package/lib/commonjs/media-flight/MediaFlightLayer.js.map +1 -1
  8. package/lib/commonjs/media-flight/MediaFlightLayer.web.js +212 -0
  9. package/lib/commonjs/media-flight/MediaFlightLayer.web.js.map +1 -0
  10. package/lib/commonjs/media-flight/MediaSurface.js.map +1 -1
  11. package/lib/commonjs/media-flight/index.js +8 -1
  12. package/lib/commonjs/media-flight/index.js.map +1 -1
  13. package/lib/commonjs/media-flight/index.web.js +115 -0
  14. package/lib/commonjs/media-flight/index.web.js.map +1 -0
  15. package/lib/commonjs/media-flight/media-node.web.js +291 -0
  16. package/lib/commonjs/media-flight/media-node.web.js.map +1 -0
  17. package/lib/commonjs/media-flight/store.js +19 -4
  18. package/lib/commonjs/media-flight/store.js.map +1 -1
  19. package/lib/module/media-flight/MediaFlightHost.js +51 -0
  20. package/lib/module/media-flight/MediaFlightHost.js.map +1 -0
  21. package/lib/module/media-flight/MediaFlightHost.web.js +80 -0
  22. package/lib/module/media-flight/MediaFlightHost.web.js.map +1 -0
  23. package/lib/module/media-flight/MediaFlightLayer.js +4 -2
  24. package/lib/module/media-flight/MediaFlightLayer.js.map +1 -1
  25. package/lib/module/media-flight/MediaFlightLayer.web.js +206 -0
  26. package/lib/module/media-flight/MediaFlightLayer.web.js.map +1 -0
  27. package/lib/module/media-flight/MediaSurface.js.map +1 -1
  28. package/lib/module/media-flight/index.js +2 -1
  29. package/lib/module/media-flight/index.js.map +1 -1
  30. package/lib/module/media-flight/index.web.js +19 -0
  31. package/lib/module/media-flight/index.web.js.map +1 -0
  32. package/lib/module/media-flight/media-node.web.js +281 -0
  33. package/lib/module/media-flight/media-node.web.js.map +1 -0
  34. package/lib/module/media-flight/store.js +19 -4
  35. package/lib/module/media-flight/store.js.map +1 -1
  36. package/lib/typescript/commonjs/media-flight/MediaFlightHost.d.ts +6 -0
  37. package/lib/typescript/commonjs/media-flight/MediaFlightHost.d.ts.map +1 -0
  38. package/lib/typescript/commonjs/media-flight/MediaFlightHost.web.d.ts +6 -0
  39. package/lib/typescript/commonjs/media-flight/MediaFlightHost.web.d.ts.map +1 -0
  40. package/lib/typescript/commonjs/media-flight/MediaFlightLayer.web.d.ts +5 -0
  41. package/lib/typescript/commonjs/media-flight/MediaFlightLayer.web.d.ts.map +1 -0
  42. package/lib/typescript/commonjs/media-flight/MediaSurface.d.ts +10 -6
  43. package/lib/typescript/commonjs/media-flight/MediaSurface.d.ts.map +1 -1
  44. package/lib/typescript/commonjs/media-flight/index.d.ts +2 -1
  45. package/lib/typescript/commonjs/media-flight/index.d.ts.map +1 -1
  46. package/lib/typescript/commonjs/media-flight/index.web.d.ts +19 -0
  47. package/lib/typescript/commonjs/media-flight/index.web.d.ts.map +1 -0
  48. package/lib/typescript/commonjs/media-flight/media-node.web.d.ts +79 -0
  49. package/lib/typescript/commonjs/media-flight/media-node.web.d.ts.map +1 -0
  50. package/lib/typescript/commonjs/media-flight/store.d.ts +19 -4
  51. package/lib/typescript/commonjs/media-flight/store.d.ts.map +1 -1
  52. package/lib/typescript/commonjs/media-flight/types.d.ts +44 -0
  53. package/lib/typescript/commonjs/media-flight/types.d.ts.map +1 -1
  54. package/lib/typescript/module/media-flight/MediaFlightHost.d.ts +6 -0
  55. package/lib/typescript/module/media-flight/MediaFlightHost.d.ts.map +1 -0
  56. package/lib/typescript/module/media-flight/MediaFlightHost.web.d.ts +6 -0
  57. package/lib/typescript/module/media-flight/MediaFlightHost.web.d.ts.map +1 -0
  58. package/lib/typescript/module/media-flight/MediaFlightLayer.web.d.ts +5 -0
  59. package/lib/typescript/module/media-flight/MediaFlightLayer.web.d.ts.map +1 -0
  60. package/lib/typescript/module/media-flight/MediaSurface.d.ts +10 -6
  61. package/lib/typescript/module/media-flight/MediaSurface.d.ts.map +1 -1
  62. package/lib/typescript/module/media-flight/index.d.ts +2 -1
  63. package/lib/typescript/module/media-flight/index.d.ts.map +1 -1
  64. package/lib/typescript/module/media-flight/index.web.d.ts +19 -0
  65. package/lib/typescript/module/media-flight/index.web.d.ts.map +1 -0
  66. package/lib/typescript/module/media-flight/media-node.web.d.ts +79 -0
  67. package/lib/typescript/module/media-flight/media-node.web.d.ts.map +1 -0
  68. package/lib/typescript/module/media-flight/store.d.ts +19 -4
  69. package/lib/typescript/module/media-flight/store.d.ts.map +1 -1
  70. package/lib/typescript/module/media-flight/types.d.ts +44 -0
  71. package/lib/typescript/module/media-flight/types.d.ts.map +1 -1
  72. package/package.json +6 -1
  73. package/src/media-flight/MediaFlightHost.tsx +54 -0
  74. package/src/media-flight/MediaFlightHost.web.tsx +84 -0
  75. package/src/media-flight/MediaFlightLayer.tsx +4 -2
  76. package/src/media-flight/MediaFlightLayer.web.tsx +219 -0
  77. package/src/media-flight/MediaSurface.tsx +10 -6
  78. package/src/media-flight/index.ts +2 -0
  79. package/src/media-flight/index.web.ts +45 -0
  80. package/src/media-flight/media-node.web.ts +335 -0
  81. package/src/media-flight/store.ts +19 -4
  82. package/src/media-flight/types.ts +45 -0
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","Easing","makeMutable","runOnJS","withSpring","withTiming","RADIUS","SURFACE_MOUNT_TIMEOUT_MS","CLOSE_DURATION_WEB","CLOSE_SPRING","OPEN_DURATION_WEB","OPEN_SPRING","DEFAULT_FLIGHT_CORNER_RADIUS","emptyRegistry","anchors","Map","flights","status","listeners","Set","snapshot","progress","statusFor","id","reg","registry","get","mounted","settled","handedOff","mountWaiters","mountTimer","unbindTimer","set","clearTimers","clearTimeout","resolveMountWaiters","waiters","waiter","globalThis","__oxyhq_bloom_media_flight__","publish","values","listener","subscribeToFlights","add","delete","getFlights","flightProgress","registerAnchor","node","measureAnchor","Promise","resolve","measureInWindow","x","y","width","height","hasFlight","has","flyTo","rect","content","options","existing","next","from","interpolateRect","to","value","cornerRadius","contentFit","surfaceType","landing","unbinding","generation","retargeted","animate","awaitSurfaceMount","flight","push","setTimeout","warnNoLayerMounted","notifySurfaceMounted","notifySurfaceSettled","releaseFlight","handOffFlight","flyBack","then","undefined","kind","resetMediaFlight","hasWarnedNoLayer","process","env","NODE_ENV","console","warn","t","clamped","onSettled","finished","OS","duration","easing","in","cubic","out","spring"],"sourceRoot":"../../../src","sources":["media-flight/store.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","Easing","makeMutable","runOnJS","withSpring","withTiming","RADIUS","SURFACE_MOUNT_TIMEOUT_MS","CLOSE_DURATION_WEB","CLOSE_SPRING","OPEN_DURATION_WEB","OPEN_SPRING","DEFAULT_FLIGHT_CORNER_RADIUS","emptyRegistry","anchors","Map","flights","status","listeners","Set","snapshot","progress","statusFor","id","reg","registry","get","mounted","settled","handedOff","mountWaiters","mountTimer","unbindTimer","set","clearTimers","clearTimeout","resolveMountWaiters","waiters","waiter","globalThis","__oxyhq_bloom_media_flight__","publish","values","listener","subscribeToFlights","add","delete","getFlights","flightProgress","registerAnchor","node","measureAnchor","Promise","resolve","measureInWindow","x","y","width","height","hasFlight","has","flyTo","rect","content","options","existing","next","from","interpolateRect","to","value","cornerRadius","contentFit","surfaceType","landing","unbinding","generation","retargeted","animate","awaitSurfaceMount","flight","push","setTimeout","warnNoLayerMounted","notifySurfaceMounted","notifySurfaceSettled","releaseFlight","handOffFlight","flyBack","then","undefined","kind","resetMediaFlight","hasWarnedNoLayer","process","env","NODE_ENV","console","warn","t","clamped","onSettled","finished","OS","duration","easing","in","cubic","out","spring"],"sourceRoot":"../../../src","sources":["media-flight/store.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import type { MediaFlightHostProps } from './types';
2
+ export declare function MediaFlightHost({ id, content, style, contentFit, nativeControls, accessibilityLabel, surfaceType, pointerEvents, flightId, }: MediaFlightHostProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace MediaFlightHost {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=MediaFlightHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaFlightHost.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/MediaFlightHost.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,wBAAgB,eAAe,CAAC,EAC9B,EAAE,EACF,OAAO,EACP,KAAK,EACL,UAAoB,EACpB,cAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,QAAQ,GACT,EAAE,oBAAoB,2CAqBtB;yBA/Be,eAAe"}
@@ -0,0 +1,6 @@
1
+ import type { MediaFlightHostProps } from './types';
2
+ export declare function MediaFlightHost({ id, content, style, contentFit, nativeControls, accessibilityLabel, pointerEvents, flightId, }: MediaFlightHostProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace MediaFlightHost {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=MediaFlightHost.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaFlightHost.web.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/MediaFlightHost.web.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,wBAAgB,eAAe,CAAC,EAC9B,EAAE,EACF,OAAO,EACP,KAAK,EACL,UAAoB,EACpB,cAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,QAAQ,GACT,EAAE,oBAAoB,2CA6CtB;yBAtDe,eAAe"}
@@ -0,0 +1,5 @@
1
+ export declare function MediaFlightLayer(): import("react/jsx-runtime").JSX.Element | null;
2
+ export declare namespace MediaFlightLayer {
3
+ var displayName: string;
4
+ }
5
+ //# sourceMappingURL=MediaFlightLayer.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaFlightLayer.web.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/MediaFlightLayer.web.tsx"],"names":[],"mappings":"AAwDA,wBAAgB,gBAAgB,mDA+B/B;yBA/Be,gBAAgB"}
@@ -74,12 +74,16 @@ export interface MediaSurfaceProps {
74
74
  * the element is still in the DOM.
75
75
  *
76
76
  * expo-video's web player mirrors pause across every element bound to it, and
77
- * a `<video>` removed from the DOM is auto-paused by the browser but
78
- * `unmountVideoView` only runs in a PASSIVE effect cleanup, so it happens
79
- * after removal and after that auto-pause. A dying element therefore pauses
80
- * the one the viewer is watching. Setting this for one commit before unmount
81
- * runs expo-video's own `[props.player]` effect early, whose cleanup unbinds,
82
- * so the later pause reaches nobody.
77
+ * a `<video>` removed from the DOM is auto-paused by the browser, so a dying
78
+ * element pauses the one the viewer is watching.
79
+ *
80
+ * Setting this for one commit runs expo-video's own `[props.player]` effect
81
+ * early and the half that matters is `removeAttribute('src'); load()`
82
+ * (`VideoView.web.js:206`), not the unbind beside it. The media element load
83
+ * algorithm pauses WITHOUT firing `pause` (measured in real Chrome, with
84
+ * controls), so the element goes quiet and its later removal fires nothing.
85
+ * Unbinding alone does not help: `unmountVideoView` never clears the handler
86
+ * it installed. See `releaseFlight`.
83
87
  */
84
88
  detached?: boolean;
85
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MediaSurface.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/MediaSurface.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAG/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;AASjE,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,OAAO,EAAE,mBAAmB,CAAC;IAC7B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,kFAAkF;IAClF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;IAC1D;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,yDAiFvB,CAAC;AAIH;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,UAAoB,EACpB,kBAAkB,GACnB,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,2CAaA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAAE,2CAExE"}
1
+ {"version":3,"file":"MediaSurface.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/MediaSurface.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAG/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;AASjE,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,OAAO,EAAE,mBAAmB,CAAC;IAC7B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,kFAAkF;IAClF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;IAC1D;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,yDAiFvB,CAAC;AAIH;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,UAAoB,EACpB,kBAAkB,GACnB,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,2CAaA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAAE,2CAExE"}
@@ -1,9 +1,10 @@
1
1
  export { MediaFlightLayer } from './MediaFlightLayer';
2
+ export { MediaFlightHost } from './MediaFlightHost';
2
3
  export { MediaSurface, MediaPoster, EmptyMediaSurface } from './MediaSurface';
3
4
  export { useMediaFlight } from './use-media-flight';
4
5
  export { DEFAULT_FLIGHT_CORNER_RADIUS, flightProgress, handOffFlight, hasFlight, releaseFlight, resetMediaFlight, } from './store';
5
6
  export { SURFACE_MOUNT_TIMEOUT_MS } from './constants';
6
7
  export { loadExpoVideo, warnExpoVideoUnavailable, provideExpoVideo, resetExpoVideoModule, type ExpoVideoLike, type VideoPlayerLike, type VideoSurfaceContentFit, type VideoSurfaceType, type VideoViewLikeProps, } from './expo-video-module';
7
- export type { MediaFlight, MediaFlightAnchorNode, MediaFlightController, MediaFlightOptions, MediaSurfaceContent, MediaSurfaceImage, MediaSurfaceVideo, MeasuredRect, } from './types';
8
+ export type { MediaFlight, MediaFlightAnchorNode, MediaFlightController, MediaFlightHostProps, MediaFlightOptions, MediaSurfaceContent, MediaSurfaceImage, MediaSurfaceVideo, MeasuredRect, } from './types';
8
9
  export type { MediaSurfaceProps } from './MediaSurface';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The web barrel, which exists to NAME the `.web` siblings.
3
+ *
4
+ * Export conditions do not apply to relative specifiers, so a bundler that is
5
+ * not Metro reaches `MediaFlightLayer.web.tsx` and `MediaFlightHost.web.tsx`
6
+ * only because this file spells them out. Those two are the whole web fork of
7
+ * this family: the layer that paints each shared media node once, and the host
8
+ * that claims it. Everything else below is the same module on both platforms.
9
+ */
10
+ export { MediaFlightLayer } from './MediaFlightLayer.web';
11
+ export { MediaFlightHost } from './MediaFlightHost.web';
12
+ export { MediaSurface, MediaPoster, EmptyMediaSurface } from './MediaSurface';
13
+ export { useMediaFlight } from './use-media-flight';
14
+ export { DEFAULT_FLIGHT_CORNER_RADIUS, flightProgress, handOffFlight, hasFlight, releaseFlight, resetMediaFlight, } from './store';
15
+ export { SURFACE_MOUNT_TIMEOUT_MS } from './constants';
16
+ export { loadExpoVideo, warnExpoVideoUnavailable, provideExpoVideo, resetExpoVideoModule, type ExpoVideoLike, type VideoPlayerLike, type VideoSurfaceContentFit, type VideoSurfaceType, type VideoViewLikeProps, } from './expo-video-module';
17
+ export type { MediaFlight, MediaFlightAnchorNode, MediaFlightController, MediaFlightHostProps, MediaFlightOptions, MediaSurfaceContent, MediaSurfaceImage, MediaSurfaceVideo, MeasuredRect, } from './types';
18
+ export type { MediaSurfaceProps } from './MediaSurface';
19
+ //# sourceMappingURL=index.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/index.web.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,79 @@
1
+ import type { MediaSurfaceContent } from './types';
2
+ /** What the layer paints into a shared node, as its current holder wants it. */
3
+ export interface MediaNodeRender {
4
+ content: MediaSurfaceContent;
5
+ contentFit: 'contain' | 'cover';
6
+ nativeControls: boolean;
7
+ accessibilityLabel: string | undefined;
8
+ /** Forwarded to the media, so a consumer keeps its own first-frame signal. */
9
+ flightId: string | undefined;
10
+ }
11
+ /** A flight outranks a host: the layer holds the node until the leg ends. */
12
+ export declare const HOST_RANK = 0;
13
+ export declare const FLIGHT_RANK = 1;
14
+ interface MediaNodeClaim {
15
+ el: HTMLElement;
16
+ rank: number;
17
+ /** Registration order, so the most recent host wins among equals. */
18
+ seq: number;
19
+ render: MediaNodeRender;
20
+ }
21
+ interface MediaNodeRecord {
22
+ wrapper: HTMLDivElement;
23
+ claims: MediaNodeClaim[];
24
+ /**
25
+ * How the media is painted right now: the top claim's, or — while the node is
26
+ * PARKED between hosts — the last claim's.
27
+ *
28
+ * Parking has to keep painting. A node the layer stopped rendering would lose
29
+ * its element to React, which is the removal this whole module exists to
30
+ * avoid, and it would lose it exactly in the gap between the origin
31
+ * unmounting and the destination mounting: the moment of the flight.
32
+ */
33
+ render: MediaNodeRender;
34
+ }
35
+ /** What the layer needs in order to paint one shared node. */
36
+ export interface MediaNodeView {
37
+ id: string;
38
+ wrapper: HTMLDivElement;
39
+ render: MediaNodeRender;
40
+ }
41
+ interface NodeRegistry {
42
+ nodes: Map<string, MediaNodeRecord>;
43
+ listeners: Set<() => void>;
44
+ /** Cached for `useSyncExternalStore`, which compares snapshots by identity. */
45
+ snapshot: readonly MediaNodeView[];
46
+ holder: HTMLElement | null;
47
+ seq: number;
48
+ }
49
+ declare global {
50
+ var __oxyhq_bloom_media_nodes__: NodeRegistry | undefined;
51
+ }
52
+ /**
53
+ * Claim the shared node for `id` into `el`.
54
+ *
55
+ * Idempotent for an unchanged claim: called from a layout effect on every
56
+ * render, it moves the node once and publishes nothing afterwards.
57
+ */
58
+ export declare function claimMediaNode(id: string, el: HTMLElement, rank: number, render: MediaNodeRender): void;
59
+ /**
60
+ * Drop a claim. The node goes to the next claim, or parks — or is DISPOSED, if
61
+ * nothing is going to want it back.
62
+ *
63
+ * "Nothing is going to want it back" is a fact the registry can read rather
64
+ * than a timeout it has to guess: no claim left AND no flight live for this id.
65
+ * During a navigation there IS a flight live — that is what a flight IS — so
66
+ * the node survives the gap between the origin unmounting and the destination
67
+ * mounting. Without a flight, an unmounted host is just a host that went away.
68
+ */
69
+ export declare function releaseMediaNode(id: string, el: HTMLElement, rank: number): void;
70
+ /** Whether anything holds a shared node for this id. */
71
+ export declare function hasMediaNode(id: string): boolean;
72
+ /** Subscribe to the shared-node set. The layer's `useSyncExternalStore` half. */
73
+ export declare function subscribeToMediaNodes(listener: () => void): () => void;
74
+ /** Every shared node that something is currently holding. Stable identity. */
75
+ export declare function getMediaNodes(): readonly MediaNodeView[];
76
+ /** Test seam: drop every node and take its wrapper out of the document. */
77
+ export declare function resetMediaNodes(): void;
78
+ export {};
79
+ //# sourceMappingURL=media-node.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-node.web.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/media-node.web.ts"],"names":[],"mappings":"AA8DA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,6EAA6E;AAC7E,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B,UAAU,cAAc;IACtB,EAAE,EAAE,WAAW,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB;;;;;;;;OAQG;IACH,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACpC,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3B,+EAA+E;IAC/E,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,2BAA2B,EAAE,YAAY,GAAG,SAAS,CAAC;CAC3D;AAgID;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,GACtB,IAAI,CAeN;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAehF;AAED,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAGhD;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAMtE;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,IAAI,SAAS,aAAa,EAAE,CAExD;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,IAAI,IAAI,CAUtC"}
@@ -139,10 +139,25 @@ export declare function flyBack(id: string): void;
139
139
  * nobody having called `pause()`.
140
140
  *
141
141
  * Rendering `player={null}` for one commit runs expo-video's own `[props.player]`
142
- * effect while the node is STILL in the DOM: its cleanup calls
143
- * `unmountVideoView`, the element leaves `_mountedVideos`, and its later pause
144
- * reaches nobody. That is the documented mount/unmount pair, not a patch of
145
- * somebody else's module.
142
+ * effect while the node is STILL in the DOM, and the operative part of that is
143
+ * NOT the unbind. `unmountVideoView` takes the element out of `_mountedVideos`
144
+ * and leaves the `onpause` handler `_addListeners` installed, so unbinding
145
+ * alone would still mirror. What saves it is the other half of the same
146
+ * branch: `removeAttribute('src'); load()` (`VideoView.web.js:206`). The media
147
+ * element load algorithm sets `paused` to true WITHOUT firing `pause`, so the
148
+ * element goes quiet, and its later removal fires nothing either because it is
149
+ * already paused.
150
+ *
151
+ * Measured in real Chrome, with controls: a playing element put through
152
+ * `removeAttribute('src') + load()` reports events `["play"]` and nothing more,
153
+ * while the same element paused by hand, or removed from the DOM while
154
+ * playing, reports `["play","pause"]`. Against real builds: without this commit
155
+ * the destination ends STOPPED (5/5), with it PLAYING (6/6) and the position
156
+ * carried.
157
+ *
158
+ * DO NOT replace this with a direct `unmountVideoView` call. It looks
159
+ * equivalent, it is the half that does not matter, and the fix would disappear
160
+ * silently. `MediaFlight.test.tsx` makes that substitution its control.
146
161
  *
147
162
  * The cost is one frame in which the outgoing surface shows its poster instead
148
163
  * of video. It is already on its way out and the destination is live by then —
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/store.ts"],"names":[],"mappings":"AA2BA,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAUjC,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,IAAsB,CAAC;AAEhE;;;;;;;;;GASG;AACH,UAAU,YAAY;IACpB,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,SAAS,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAC;IACjD,uEAAuE;IACvE,WAAW,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAC;CACnD;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC5C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAClC,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,4BAA4B,EAAE,QAAQ,GAAG,SAAS,CAAC;CACxD;AAyDD,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAMnE;AAED,wEAAwE;AACxE,wBAAgB,UAAU,IAAI,SAAS,WAAW,EAAE,CAEnD;AAED,wDAAwD;AACxD,wBAAgB,cAAc,IAAI,WAAW,CAAC,MAAM,CAAC,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI,CAInF;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAWtE;AAED,oDAAoD;AACpD,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,KAAK,CACnB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA4Df;AAuBD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAIrD;AAED,4DAA4D;AAC5D,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAIrD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAQ9C;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAyBxC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CA6B9C;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,IAAI,IAAI,CAOvC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/store.ts"],"names":[],"mappings":"AA2BA,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAUjC,OAAO,KAAK,EACV,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,IAAsB,CAAC;AAEhE;;;;;;;;;GASG;AACH,UAAU,YAAY;IACpB,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,SAAS,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,YAAY,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAC;IACjD,uEAAuE;IACvE,WAAW,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI,CAAC;CACnD;AAED,UAAU,QAAQ;IAChB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC5C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAClC,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,4BAA4B,EAAE,QAAQ,GAAG,SAAS,CAAC;CACxD;AAyDD,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAMnE;AAED,wEAAwE;AACxE,wBAAgB,UAAU,IAAI,SAAS,WAAW,EAAE,CAEnD;AAED,wDAAwD;AACxD,wBAAgB,cAAc,IAAI,WAAW,CAAC,MAAM,CAAC,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,IAAI,GAAG,IAAI,CAInF;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAWtE;AAED,oDAAoD;AACpD,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,KAAK,CACnB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA4Df;AAuBD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAIrD;AAED,4DAA4D;AAC5D,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAIrD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAQ9C;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAyBxC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CA6B9C;AAED,kDAAkD;AAClD,wBAAgB,gBAAgB,IAAI,IAAI,CAOvC"}
@@ -1,3 +1,4 @@
1
+ import type { StyleProp, ViewStyle } from 'react-native';
1
2
  import type { SharedValue } from 'react-native-reanimated';
2
3
  import type { VideoPlayerLike, VideoSurfaceType } from './expo-video-module';
3
4
  /**
@@ -205,4 +206,47 @@ export interface MediaFlightController {
205
206
  */
206
207
  progress: SharedValue<number>;
207
208
  }
209
+ /**
210
+ * A place a media surface may live: the feed row it starts in, the fullscreen
211
+ * player it lands in, and every other end of a flight.
212
+ *
213
+ * A host DECLARES a box; it does not own the media. On web that distinction is
214
+ * the whole feature — the media is ONE DOM node the layer paints once and moves
215
+ * between hosts, so it survives the origin route unmounting mid-flight without
216
+ * ever leaving the document. On native a host renders its media inline, which
217
+ * is what it has always done and what the platform makes correct there.
218
+ */
219
+ export interface MediaFlightHostProps {
220
+ /** The id this host shares with the flight and with the other end. */
221
+ id: string;
222
+ /** What to paint: a still image, or a consumer-owned expo-video player. */
223
+ content: MediaSurfaceContent;
224
+ /** Style of the host BOX. Give it the radius and `overflow: 'hidden'` you want. */
225
+ style?: StyleProp<ViewStyle>;
226
+ /** How the media fills the box. Defaults to `'cover'`. */
227
+ contentFit?: 'contain' | 'cover';
228
+ /** Whether the video arm shows expo-video's own controls. Defaults to `false`. */
229
+ nativeControls?: boolean;
230
+ accessibilityLabel?: string;
231
+ /**
232
+ * Android's rendering surface for the video arm. See `MediaSurfaceProps`.
233
+ * Ignored on web, where there is no such choice.
234
+ */
235
+ surfaceType?: VideoSurfaceType;
236
+ /**
237
+ * Passed through as a PROP, never as a style key — react-native-web resolves
238
+ * `box-none`/`box-only` from the prop path only.
239
+ */
240
+ pointerEvents?: 'auto' | 'none' | 'box-none' | 'box-only';
241
+ /**
242
+ * Set on a DESTINATION host, to the id its flight was started with, when the
243
+ * destination paints its media ITSELF rather than through the shared node —
244
+ * which on native is always. The web host does not need it: a flight there
245
+ * ends when the destination host claims the node, because by then the node it
246
+ * is claiming has been showing the media all along.
247
+ *
248
+ * Leave it unset on an origin host, which would otherwise hand off to itself.
249
+ */
250
+ flightId?: string;
251
+ }
208
252
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { MediaFlightHostProps } from './types';
2
+ export declare function MediaFlightHost({ id, content, style, contentFit, nativeControls, accessibilityLabel, surfaceType, pointerEvents, flightId, }: MediaFlightHostProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace MediaFlightHost {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=MediaFlightHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaFlightHost.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/MediaFlightHost.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,wBAAgB,eAAe,CAAC,EAC9B,EAAE,EACF,OAAO,EACP,KAAK,EACL,UAAoB,EACpB,cAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,QAAQ,GACT,EAAE,oBAAoB,2CAqBtB;yBA/Be,eAAe"}
@@ -0,0 +1,6 @@
1
+ import type { MediaFlightHostProps } from './types';
2
+ export declare function MediaFlightHost({ id, content, style, contentFit, nativeControls, accessibilityLabel, pointerEvents, flightId, }: MediaFlightHostProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare namespace MediaFlightHost {
4
+ var displayName: string;
5
+ }
6
+ //# sourceMappingURL=MediaFlightHost.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaFlightHost.web.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/MediaFlightHost.web.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,wBAAgB,eAAe,CAAC,EAC9B,EAAE,EACF,OAAO,EACP,KAAK,EACL,UAAoB,EACpB,cAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,QAAQ,GACT,EAAE,oBAAoB,2CA6CtB;yBAtDe,eAAe"}
@@ -0,0 +1,5 @@
1
+ export declare function MediaFlightLayer(): import("react/jsx-runtime").JSX.Element | null;
2
+ export declare namespace MediaFlightLayer {
3
+ var displayName: string;
4
+ }
5
+ //# sourceMappingURL=MediaFlightLayer.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaFlightLayer.web.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/MediaFlightLayer.web.tsx"],"names":[],"mappings":"AAwDA,wBAAgB,gBAAgB,mDA+B/B;yBA/Be,gBAAgB"}
@@ -74,12 +74,16 @@ export interface MediaSurfaceProps {
74
74
  * the element is still in the DOM.
75
75
  *
76
76
  * expo-video's web player mirrors pause across every element bound to it, and
77
- * a `<video>` removed from the DOM is auto-paused by the browser but
78
- * `unmountVideoView` only runs in a PASSIVE effect cleanup, so it happens
79
- * after removal and after that auto-pause. A dying element therefore pauses
80
- * the one the viewer is watching. Setting this for one commit before unmount
81
- * runs expo-video's own `[props.player]` effect early, whose cleanup unbinds,
82
- * so the later pause reaches nobody.
77
+ * a `<video>` removed from the DOM is auto-paused by the browser, so a dying
78
+ * element pauses the one the viewer is watching.
79
+ *
80
+ * Setting this for one commit runs expo-video's own `[props.player]` effect
81
+ * early and the half that matters is `removeAttribute('src'); load()`
82
+ * (`VideoView.web.js:206`), not the unbind beside it. The media element load
83
+ * algorithm pauses WITHOUT firing `pause` (measured in real Chrome, with
84
+ * controls), so the element goes quiet and its later removal fires nothing.
85
+ * Unbinding alone does not help: `unmountVideoView` never clears the handler
86
+ * it installed. See `releaseFlight`.
83
87
  */
84
88
  detached?: boolean;
85
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MediaSurface.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/MediaSurface.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAG/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;AASjE,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,OAAO,EAAE,mBAAmB,CAAC;IAC7B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,kFAAkF;IAClF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;IAC1D;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,yDAiFvB,CAAC;AAIH;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,UAAoB,EACpB,kBAAkB,GACnB,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,2CAaA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAAE,2CAExE"}
1
+ {"version":3,"file":"MediaSurface.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/MediaSurface.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAA+B,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAG/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;AASjE,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,OAAO,EAAE,mBAAmB,CAAC;IAC7B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,kFAAkF;IAClF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC;IAC1D;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,yDAiFvB,CAAC;AAIH;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,UAAoB,EACpB,kBAAkB,GACnB,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,2CAaA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,gBAAgB,CAAA;CAAE,2CAExE"}
@@ -1,9 +1,10 @@
1
1
  export { MediaFlightLayer } from './MediaFlightLayer';
2
+ export { MediaFlightHost } from './MediaFlightHost';
2
3
  export { MediaSurface, MediaPoster, EmptyMediaSurface } from './MediaSurface';
3
4
  export { useMediaFlight } from './use-media-flight';
4
5
  export { DEFAULT_FLIGHT_CORNER_RADIUS, flightProgress, handOffFlight, hasFlight, releaseFlight, resetMediaFlight, } from './store';
5
6
  export { SURFACE_MOUNT_TIMEOUT_MS } from './constants';
6
7
  export { loadExpoVideo, warnExpoVideoUnavailable, provideExpoVideo, resetExpoVideoModule, type ExpoVideoLike, type VideoPlayerLike, type VideoSurfaceContentFit, type VideoSurfaceType, type VideoViewLikeProps, } from './expo-video-module';
7
- export type { MediaFlight, MediaFlightAnchorNode, MediaFlightController, MediaFlightOptions, MediaSurfaceContent, MediaSurfaceImage, MediaSurfaceVideo, MeasuredRect, } from './types';
8
+ export type { MediaFlight, MediaFlightAnchorNode, MediaFlightController, MediaFlightHostProps, MediaFlightOptions, MediaSurfaceContent, MediaSurfaceImage, MediaSurfaceVideo, MeasuredRect, } from './types';
8
9
  export type { MediaSurfaceProps } from './MediaSurface';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The web barrel, which exists to NAME the `.web` siblings.
3
+ *
4
+ * Export conditions do not apply to relative specifiers, so a bundler that is
5
+ * not Metro reaches `MediaFlightLayer.web.tsx` and `MediaFlightHost.web.tsx`
6
+ * only because this file spells them out. Those two are the whole web fork of
7
+ * this family: the layer that paints each shared media node once, and the host
8
+ * that claims it. Everything else below is the same module on both platforms.
9
+ */
10
+ export { MediaFlightLayer } from './MediaFlightLayer.web';
11
+ export { MediaFlightHost } from './MediaFlightHost.web';
12
+ export { MediaSurface, MediaPoster, EmptyMediaSurface } from './MediaSurface';
13
+ export { useMediaFlight } from './use-media-flight';
14
+ export { DEFAULT_FLIGHT_CORNER_RADIUS, flightProgress, handOffFlight, hasFlight, releaseFlight, resetMediaFlight, } from './store';
15
+ export { SURFACE_MOUNT_TIMEOUT_MS } from './constants';
16
+ export { loadExpoVideo, warnExpoVideoUnavailable, provideExpoVideo, resetExpoVideoModule, type ExpoVideoLike, type VideoPlayerLike, type VideoSurfaceContentFit, type VideoSurfaceType, type VideoViewLikeProps, } from './expo-video-module';
17
+ export type { MediaFlight, MediaFlightAnchorNode, MediaFlightController, MediaFlightHostProps, MediaFlightOptions, MediaSurfaceContent, MediaSurfaceImage, MediaSurfaceVideo, MeasuredRect, } from './types';
18
+ export type { MediaSurfaceProps } from './MediaSurface';
19
+ //# sourceMappingURL=index.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/index.web.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EACL,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,79 @@
1
+ import type { MediaSurfaceContent } from './types';
2
+ /** What the layer paints into a shared node, as its current holder wants it. */
3
+ export interface MediaNodeRender {
4
+ content: MediaSurfaceContent;
5
+ contentFit: 'contain' | 'cover';
6
+ nativeControls: boolean;
7
+ accessibilityLabel: string | undefined;
8
+ /** Forwarded to the media, so a consumer keeps its own first-frame signal. */
9
+ flightId: string | undefined;
10
+ }
11
+ /** A flight outranks a host: the layer holds the node until the leg ends. */
12
+ export declare const HOST_RANK = 0;
13
+ export declare const FLIGHT_RANK = 1;
14
+ interface MediaNodeClaim {
15
+ el: HTMLElement;
16
+ rank: number;
17
+ /** Registration order, so the most recent host wins among equals. */
18
+ seq: number;
19
+ render: MediaNodeRender;
20
+ }
21
+ interface MediaNodeRecord {
22
+ wrapper: HTMLDivElement;
23
+ claims: MediaNodeClaim[];
24
+ /**
25
+ * How the media is painted right now: the top claim's, or — while the node is
26
+ * PARKED between hosts — the last claim's.
27
+ *
28
+ * Parking has to keep painting. A node the layer stopped rendering would lose
29
+ * its element to React, which is the removal this whole module exists to
30
+ * avoid, and it would lose it exactly in the gap between the origin
31
+ * unmounting and the destination mounting: the moment of the flight.
32
+ */
33
+ render: MediaNodeRender;
34
+ }
35
+ /** What the layer needs in order to paint one shared node. */
36
+ export interface MediaNodeView {
37
+ id: string;
38
+ wrapper: HTMLDivElement;
39
+ render: MediaNodeRender;
40
+ }
41
+ interface NodeRegistry {
42
+ nodes: Map<string, MediaNodeRecord>;
43
+ listeners: Set<() => void>;
44
+ /** Cached for `useSyncExternalStore`, which compares snapshots by identity. */
45
+ snapshot: readonly MediaNodeView[];
46
+ holder: HTMLElement | null;
47
+ seq: number;
48
+ }
49
+ declare global {
50
+ var __oxyhq_bloom_media_nodes__: NodeRegistry | undefined;
51
+ }
52
+ /**
53
+ * Claim the shared node for `id` into `el`.
54
+ *
55
+ * Idempotent for an unchanged claim: called from a layout effect on every
56
+ * render, it moves the node once and publishes nothing afterwards.
57
+ */
58
+ export declare function claimMediaNode(id: string, el: HTMLElement, rank: number, render: MediaNodeRender): void;
59
+ /**
60
+ * Drop a claim. The node goes to the next claim, or parks — or is DISPOSED, if
61
+ * nothing is going to want it back.
62
+ *
63
+ * "Nothing is going to want it back" is a fact the registry can read rather
64
+ * than a timeout it has to guess: no claim left AND no flight live for this id.
65
+ * During a navigation there IS a flight live — that is what a flight IS — so
66
+ * the node survives the gap between the origin unmounting and the destination
67
+ * mounting. Without a flight, an unmounted host is just a host that went away.
68
+ */
69
+ export declare function releaseMediaNode(id: string, el: HTMLElement, rank: number): void;
70
+ /** Whether anything holds a shared node for this id. */
71
+ export declare function hasMediaNode(id: string): boolean;
72
+ /** Subscribe to the shared-node set. The layer's `useSyncExternalStore` half. */
73
+ export declare function subscribeToMediaNodes(listener: () => void): () => void;
74
+ /** Every shared node that something is currently holding. Stable identity. */
75
+ export declare function getMediaNodes(): readonly MediaNodeView[];
76
+ /** Test seam: drop every node and take its wrapper out of the document. */
77
+ export declare function resetMediaNodes(): void;
78
+ export {};
79
+ //# sourceMappingURL=media-node.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-node.web.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/media-node.web.ts"],"names":[],"mappings":"AA8DA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,EAAE,SAAS,GAAG,OAAO,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,6EAA6E;AAC7E,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B,UAAU,cAAc;IACtB,EAAE,EAAE,WAAW,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB;;;;;;;;OAQG;IACH,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACpC,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3B,+EAA+E;IAC/E,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IACnC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,2BAA2B,EAAE,YAAY,GAAG,SAAS,CAAC;CAC3D;AAgID;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,WAAW,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,eAAe,GACtB,IAAI,CAeN;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAehF;AAED,wDAAwD;AACxD,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAGhD;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAMtE;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,IAAI,SAAS,aAAa,EAAE,CAExD;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,IAAI,IAAI,CAUtC"}