@oxyhq/bloom 1.2.2 → 1.4.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.
- package/docs/media-flight.mdx +133 -0
- package/lib/commonjs/media-flight/MediaFlightHost.js +58 -0
- package/lib/commonjs/media-flight/MediaFlightHost.js.map +1 -0
- package/lib/commonjs/media-flight/MediaFlightHost.web.js +87 -0
- package/lib/commonjs/media-flight/MediaFlightHost.web.js.map +1 -0
- package/lib/commonjs/media-flight/MediaFlightLayer.js +4 -2
- package/lib/commonjs/media-flight/MediaFlightLayer.js.map +1 -1
- package/lib/commonjs/media-flight/MediaFlightLayer.web.js +198 -0
- package/lib/commonjs/media-flight/MediaFlightLayer.web.js.map +1 -0
- package/lib/commonjs/media-flight/MediaSurface.js +13 -5
- package/lib/commonjs/media-flight/MediaSurface.js.map +1 -1
- package/lib/commonjs/media-flight/index.js +8 -1
- package/lib/commonjs/media-flight/index.js.map +1 -1
- package/lib/commonjs/media-flight/index.web.js +115 -0
- package/lib/commonjs/media-flight/index.web.js.map +1 -0
- package/lib/commonjs/media-flight/media-node.web.js +314 -0
- package/lib/commonjs/media-flight/media-node.web.js.map +1 -0
- package/lib/commonjs/media-flight/store.js +19 -4
- package/lib/commonjs/media-flight/store.js.map +1 -1
- package/lib/module/media-flight/MediaFlightHost.js +53 -0
- package/lib/module/media-flight/MediaFlightHost.js.map +1 -0
- package/lib/module/media-flight/MediaFlightHost.web.js +82 -0
- package/lib/module/media-flight/MediaFlightHost.web.js.map +1 -0
- package/lib/module/media-flight/MediaFlightLayer.js +4 -2
- package/lib/module/media-flight/MediaFlightLayer.js.map +1 -1
- package/lib/module/media-flight/MediaFlightLayer.web.js +192 -0
- package/lib/module/media-flight/MediaFlightLayer.web.js.map +1 -0
- package/lib/module/media-flight/MediaSurface.js +13 -5
- package/lib/module/media-flight/MediaSurface.js.map +1 -1
- package/lib/module/media-flight/index.js +2 -1
- package/lib/module/media-flight/index.js.map +1 -1
- package/lib/module/media-flight/index.web.js +19 -0
- package/lib/module/media-flight/index.web.js.map +1 -0
- package/lib/module/media-flight/media-node.web.js +304 -0
- package/lib/module/media-flight/media-node.web.js.map +1 -0
- package/lib/module/media-flight/store.js +19 -4
- package/lib/module/media-flight/store.js.map +1 -1
- package/lib/typescript/commonjs/media-flight/MediaFlightHost.d.ts +6 -0
- package/lib/typescript/commonjs/media-flight/MediaFlightHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/media-flight/MediaFlightHost.web.d.ts +6 -0
- package/lib/typescript/commonjs/media-flight/MediaFlightHost.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/media-flight/MediaFlightLayer.web.d.ts +5 -0
- package/lib/typescript/commonjs/media-flight/MediaFlightLayer.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/media-flight/MediaSurface.d.ts +19 -7
- package/lib/typescript/commonjs/media-flight/MediaSurface.d.ts.map +1 -1
- package/lib/typescript/commonjs/media-flight/index.d.ts +2 -1
- package/lib/typescript/commonjs/media-flight/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/media-flight/index.web.d.ts +19 -0
- package/lib/typescript/commonjs/media-flight/index.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/media-flight/media-node.web.d.ts +93 -0
- package/lib/typescript/commonjs/media-flight/media-node.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/media-flight/store.d.ts +19 -4
- package/lib/typescript/commonjs/media-flight/store.d.ts.map +1 -1
- package/lib/typescript/commonjs/media-flight/types.d.ts +93 -0
- package/lib/typescript/commonjs/media-flight/types.d.ts.map +1 -1
- package/lib/typescript/module/media-flight/MediaFlightHost.d.ts +6 -0
- package/lib/typescript/module/media-flight/MediaFlightHost.d.ts.map +1 -0
- package/lib/typescript/module/media-flight/MediaFlightHost.web.d.ts +6 -0
- package/lib/typescript/module/media-flight/MediaFlightHost.web.d.ts.map +1 -0
- package/lib/typescript/module/media-flight/MediaFlightLayer.web.d.ts +5 -0
- package/lib/typescript/module/media-flight/MediaFlightLayer.web.d.ts.map +1 -0
- package/lib/typescript/module/media-flight/MediaSurface.d.ts +19 -7
- package/lib/typescript/module/media-flight/MediaSurface.d.ts.map +1 -1
- package/lib/typescript/module/media-flight/index.d.ts +2 -1
- package/lib/typescript/module/media-flight/index.d.ts.map +1 -1
- package/lib/typescript/module/media-flight/index.web.d.ts +19 -0
- package/lib/typescript/module/media-flight/index.web.d.ts.map +1 -0
- package/lib/typescript/module/media-flight/media-node.web.d.ts +93 -0
- package/lib/typescript/module/media-flight/media-node.web.d.ts.map +1 -0
- package/lib/typescript/module/media-flight/store.d.ts +19 -4
- package/lib/typescript/module/media-flight/store.d.ts.map +1 -1
- package/lib/typescript/module/media-flight/types.d.ts +93 -0
- package/lib/typescript/module/media-flight/types.d.ts.map +1 -1
- package/package.json +6 -1
- package/src/media-flight/MediaFlightHost.tsx +56 -0
- package/src/media-flight/MediaFlightHost.web.tsx +85 -0
- package/src/media-flight/MediaFlightLayer.tsx +4 -2
- package/src/media-flight/MediaFlightLayer.web.tsx +191 -0
- package/src/media-flight/MediaSurface.tsx +36 -12
- package/src/media-flight/index.ts +2 -0
- package/src/media-flight/index.web.ts +45 -0
- package/src/media-flight/media-node.web.ts +373 -0
- package/src/media-flight/store.ts +19 -4
- package/src/media-flight/types.ts +96 -0
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ONE DOM node per media id, for its whole life.
|
|
5
|
+
*
|
|
6
|
+
* ## Why this exists
|
|
7
|
+
*
|
|
8
|
+
* expo-video's web player keeps a SET of mounted `<video>` elements and keeps
|
|
9
|
+
* them in step: `mountVideoView` adds an element and then copies play state and
|
|
10
|
+
* `currentTime` onto it from `[...set][0]`, and `_addListeners` gives every
|
|
11
|
+
* element an `onpause` that pauses all the OTHERS. `unmountVideoView` deletes
|
|
12
|
+
* the element from the set and nothing more — the handlers it installed are
|
|
13
|
+
* never removed by anything in the package.
|
|
14
|
+
*
|
|
15
|
+
* So an element on its way out still governs the player. The browser pauses a
|
|
16
|
+
* `<video>` the moment it leaves the document, that pause runs the dead
|
|
17
|
+
* element's handler, and the handler stops the element the viewer is watching.
|
|
18
|
+
*
|
|
19
|
+
* Measured against the real `VideoPlayerWeb` (expo-video 57.0.2), across every
|
|
20
|
+
* topology a consumer can produce on one shared player:
|
|
21
|
+
*
|
|
22
|
+
* ```
|
|
23
|
+
* origin dies BEFORE the destination mounts ct=0 playing (restarts)
|
|
24
|
+
* origin dies AFTER the destination mounts ct=4.28 paused (freezes)
|
|
25
|
+
* one element, re-parented ct=4.28 playing
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* TWO ELEMENTS GIVE THE POSITION OR THE PLAYBACK, NEVER BOTH. That is not a
|
|
29
|
+
* property of the flight layer — the first two rows have no Bloom surface in
|
|
30
|
+
* them at all — it is a property of two elements sharing one player. The only
|
|
31
|
+
* topology that gives both is one element that is never unmounted and never
|
|
32
|
+
* removed from the document.
|
|
33
|
+
*
|
|
34
|
+
* ## How a node survives its host
|
|
35
|
+
*
|
|
36
|
+
* A `<video>` React renders belongs to React: when the host unmounts, React
|
|
37
|
+
* removes it, and if anything has moved it in the meantime React's
|
|
38
|
+
* `parent.removeChild(node)` throws. So the node cannot be owned by either end.
|
|
39
|
+
*
|
|
40
|
+
* Instead Bloom creates a WRAPPER outside React (`document.createElement`) and
|
|
41
|
+
* the layer renders the media into it with `createPortal`. A portal's container
|
|
42
|
+
* is not part of React's tree — React reconciles the media against the wrapper
|
|
43
|
+
* and never against the document — so moving the wrapper between hosts with
|
|
44
|
+
* `appendChild` is invisible to React. The container's IDENTITY never changes,
|
|
45
|
+
* which is the whole trick: `createPortal` to a container that CHANGES unmounts
|
|
46
|
+
* and remounts, which is exactly what we are avoiding.
|
|
47
|
+
*
|
|
48
|
+
* And a synchronous move does not pause the video. HTML's removal steps for a
|
|
49
|
+
* media element await a stable state and then abort if the element is back in a
|
|
50
|
+
* document — so `appendChild` from one parent to another is not a removal as
|
|
51
|
+
* far as playback is concerned. (This is why re-parenting a `<video>` works and
|
|
52
|
+
* re-parenting an `<iframe>` does not: an iframe reloads.)
|
|
53
|
+
*
|
|
54
|
+
* ## Claims
|
|
55
|
+
*
|
|
56
|
+
* Hosts do not move the node themselves; they CLAIM the id and the registry
|
|
57
|
+
* decides. A flight outranks a host, so the layer keeps the node for the whole
|
|
58
|
+
* leg even though the destination has already mounted and claimed it — and the
|
|
59
|
+
* frame the flight lets go is the frame the destination takes it, with no gap
|
|
60
|
+
* and no second element. With no claim at all the node parks in a holder that
|
|
61
|
+
* is attached to the document but invisible, because a parked node that was
|
|
62
|
+
* DETACHED would pause.
|
|
63
|
+
*/
|
|
64
|
+
import { hasFlight } from "./store.js";
|
|
65
|
+
|
|
66
|
+
/** What the layer paints into a shared node, as its current holder wants it. */
|
|
67
|
+
|
|
68
|
+
/** A flight outranks a host: the layer holds the node until the leg ends. */
|
|
69
|
+
export const HOST_RANK = 0;
|
|
70
|
+
export const FLIGHT_RANK = 1;
|
|
71
|
+
|
|
72
|
+
/** What the layer needs in order to paint one shared node. */
|
|
73
|
+
|
|
74
|
+
function registry() {
|
|
75
|
+
globalThis.__oxyhq_bloom_media_nodes__ ??= {
|
|
76
|
+
nodes: new Map(),
|
|
77
|
+
listeners: new Set(),
|
|
78
|
+
snapshot: [],
|
|
79
|
+
holder: null,
|
|
80
|
+
seq: 0
|
|
81
|
+
};
|
|
82
|
+
return globalThis.__oxyhq_bloom_media_nodes__;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** Where a node with no holder waits: in the document, and not on screen. */
|
|
86
|
+
const HOLDER_ID = 'bloom-media-holder';
|
|
87
|
+
function holder(reg) {
|
|
88
|
+
if (typeof document === 'undefined') return null;
|
|
89
|
+
if (reg.holder !== null && reg.holder.isConnected) return reg.holder;
|
|
90
|
+
const existing = document.getElementById(HOLDER_ID);
|
|
91
|
+
if (existing !== null) {
|
|
92
|
+
reg.holder = existing;
|
|
93
|
+
return existing;
|
|
94
|
+
}
|
|
95
|
+
const created = document.createElement('div');
|
|
96
|
+
created.id = HOLDER_ID;
|
|
97
|
+
// Attached, so nothing pauses; 1x1 and transparent, so nothing shows. NOT
|
|
98
|
+
// `display: none` — a video in a `display: none` subtree keeps playing in
|
|
99
|
+
// every browser that matters, but it also stops presenting frames, and the
|
|
100
|
+
// point of parking is that the media survives untouched.
|
|
101
|
+
created.style.cssText = 'position:fixed;top:0;left:0;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;';
|
|
102
|
+
created.setAttribute('aria-hidden', 'true');
|
|
103
|
+
document.body.appendChild(created);
|
|
104
|
+
reg.holder = created;
|
|
105
|
+
return created;
|
|
106
|
+
}
|
|
107
|
+
function makeWrapper() {
|
|
108
|
+
const wrapper = document.createElement('div');
|
|
109
|
+
// Fills whichever box currently hosts it. `pointer-events: auto` is explicit
|
|
110
|
+
// and load-bearing: a host may sit inside a `pointer-events: none` layer (a
|
|
111
|
+
// poster overlay, a flying surface), and the media inside this wrapper is
|
|
112
|
+
// the one thing in there that a viewer may need to press.
|
|
113
|
+
wrapper.style.cssText = 'position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:auto;';
|
|
114
|
+
wrapper.setAttribute('data-bloom-media-node', '');
|
|
115
|
+
return wrapper;
|
|
116
|
+
}
|
|
117
|
+
function recordFor(id, render) {
|
|
118
|
+
const reg = registry();
|
|
119
|
+
let record = reg.nodes.get(id);
|
|
120
|
+
if (!record) {
|
|
121
|
+
// A position-only claim can be the first one in: a flight can take off
|
|
122
|
+
// before the host it flies from has committed. `EMPTY_RENDER` paints
|
|
123
|
+
// nothing until a host says what, which is the honest state.
|
|
124
|
+
record = {
|
|
125
|
+
wrapper: makeWrapper(),
|
|
126
|
+
claims: [],
|
|
127
|
+
render: render ?? EMPTY_RENDER
|
|
128
|
+
};
|
|
129
|
+
reg.nodes.set(id, record);
|
|
130
|
+
}
|
|
131
|
+
return record;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/** Nothing to paint yet. Replaced by the first host claim that arrives. */
|
|
135
|
+
const EMPTY_RENDER = {
|
|
136
|
+
content: {
|
|
137
|
+
uri: ''
|
|
138
|
+
},
|
|
139
|
+
contentFit: 'cover',
|
|
140
|
+
renderVideo: undefined,
|
|
141
|
+
nativeControls: false,
|
|
142
|
+
accessibilityLabel: undefined,
|
|
143
|
+
flightId: undefined
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
/** The claim that currently holds the node: highest rank, then most recent. */
|
|
147
|
+
function topClaim(record) {
|
|
148
|
+
return pick(record.claims);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/** The highest-ranked claim that says what to PAINT. See `MediaNodeClaim.render`. */
|
|
152
|
+
function topRender(record) {
|
|
153
|
+
return pick(record.claims.filter(claim => claim.render !== undefined));
|
|
154
|
+
}
|
|
155
|
+
function pick(claims) {
|
|
156
|
+
let best = null;
|
|
157
|
+
for (const claim of claims) {
|
|
158
|
+
if (best === null || claim.rank > best.rank || claim.rank === best.rank && claim.seq > best.seq) {
|
|
159
|
+
best = claim;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return best;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Put the wrapper where its top claim says, in ONE synchronous move.
|
|
167
|
+
*
|
|
168
|
+
* The `parentElement` check is not an optimisation: re-appending to the same
|
|
169
|
+
* parent is a remove-then-insert, and doing that per render would put the media
|
|
170
|
+
* through the removal path it exists to avoid.
|
|
171
|
+
*/
|
|
172
|
+
function place(record) {
|
|
173
|
+
const reg = registry();
|
|
174
|
+
const target = topClaim(record)?.el ?? holder(reg);
|
|
175
|
+
if (target === null) return;
|
|
176
|
+
if (record.wrapper.parentElement === target) return;
|
|
177
|
+
target.appendChild(record.wrapper);
|
|
178
|
+
}
|
|
179
|
+
function sameRender(a, b) {
|
|
180
|
+
if (a.contentFit !== b.contentFit) return false;
|
|
181
|
+
if (a.renderVideo !== b.renderVideo) return false;
|
|
182
|
+
if (a.nativeControls !== b.nativeControls) return false;
|
|
183
|
+
if (a.accessibilityLabel !== b.accessibilityLabel) return false;
|
|
184
|
+
if (a.flightId !== b.flightId) return false;
|
|
185
|
+
const x = a.content;
|
|
186
|
+
const y = b.content;
|
|
187
|
+
if (x.kind !== y.kind) return false;
|
|
188
|
+
if (x.kind === 'video' && y.kind === 'video') {
|
|
189
|
+
return x.player === y.player && x.poster === y.poster;
|
|
190
|
+
}
|
|
191
|
+
return x.kind !== 'video' && y.kind !== 'video' && x.uri === y.uri;
|
|
192
|
+
}
|
|
193
|
+
function publish(reg) {
|
|
194
|
+
const next = [];
|
|
195
|
+
for (const [id, record] of reg.nodes) {
|
|
196
|
+
record.render = topRender(record)?.render ?? record.render;
|
|
197
|
+
next.push({
|
|
198
|
+
id,
|
|
199
|
+
wrapper: record.wrapper,
|
|
200
|
+
render: record.render
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
const previous = reg.snapshot;
|
|
204
|
+
const unchanged = previous.length === next.length && previous.every((view, i) => {
|
|
205
|
+
const candidate = next[i];
|
|
206
|
+
return candidate !== undefined && candidate.id === view.id && candidate.wrapper === view.wrapper && sameRender(candidate.render, view.render);
|
|
207
|
+
});
|
|
208
|
+
// Identity is the signal `useSyncExternalStore` reads. Publishing a fresh
|
|
209
|
+
// array for an unchanged set renders the layer forever.
|
|
210
|
+
if (unchanged) {
|
|
211
|
+
for (const listener of reg.listeners) listener();
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
reg.snapshot = next;
|
|
215
|
+
for (const listener of reg.listeners) listener();
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Claim the shared node for `id` into `el`.
|
|
220
|
+
*
|
|
221
|
+
* Idempotent for an unchanged claim: called from a layout effect on every
|
|
222
|
+
* render, it moves the node once and publishes nothing afterwards.
|
|
223
|
+
*/
|
|
224
|
+
export function claimMediaNode(id, el, rank, render) {
|
|
225
|
+
const reg = registry();
|
|
226
|
+
const record = recordFor(id, render);
|
|
227
|
+
const existing = record.claims.find(claim => claim.el === el && claim.rank === rank);
|
|
228
|
+
if (existing !== undefined) {
|
|
229
|
+
const unchanged = existing.render === render || existing.render !== undefined && render !== undefined && sameRender(existing.render, render);
|
|
230
|
+
if (unchanged && record.wrapper.parentElement === topClaim(record)?.el) return;
|
|
231
|
+
existing.render = render;
|
|
232
|
+
} else {
|
|
233
|
+
reg.seq += 1;
|
|
234
|
+
record.claims.push({
|
|
235
|
+
el,
|
|
236
|
+
rank,
|
|
237
|
+
seq: reg.seq,
|
|
238
|
+
render
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
place(record);
|
|
242
|
+
publish(reg);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Drop a claim. The node goes to the next claim, or parks — or is DISPOSED, if
|
|
247
|
+
* nothing is going to want it back.
|
|
248
|
+
*
|
|
249
|
+
* "Nothing is going to want it back" is a fact the registry can read rather
|
|
250
|
+
* than a timeout it has to guess: no claim left AND no flight live for this id.
|
|
251
|
+
* During a navigation there IS a flight live — that is what a flight IS — so
|
|
252
|
+
* the node survives the gap between the origin unmounting and the destination
|
|
253
|
+
* mounting. Without a flight, an unmounted host is just a host that went away.
|
|
254
|
+
*/
|
|
255
|
+
export function releaseMediaNode(id, el, rank) {
|
|
256
|
+
const reg = registry();
|
|
257
|
+
const record = reg.nodes.get(id);
|
|
258
|
+
if (record === undefined) return;
|
|
259
|
+
const before = record.claims.length;
|
|
260
|
+
record.claims = record.claims.filter(claim => !(claim.el === el && claim.rank === rank));
|
|
261
|
+
if (record.claims.length === before) return;
|
|
262
|
+
if (record.claims.length === 0 && !hasFlight(id)) {
|
|
263
|
+
reg.nodes.delete(id);
|
|
264
|
+
record.wrapper.remove();
|
|
265
|
+
publish(reg);
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
place(record);
|
|
269
|
+
publish(reg);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/** Whether anything holds a shared node for this id. */
|
|
273
|
+
export function hasMediaNode(id) {
|
|
274
|
+
const record = registry().nodes.get(id);
|
|
275
|
+
return record !== undefined && record.claims.length > 0;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/** Subscribe to the shared-node set. The layer's `useSyncExternalStore` half. */
|
|
279
|
+
export function subscribeToMediaNodes(listener) {
|
|
280
|
+
const reg = registry();
|
|
281
|
+
reg.listeners.add(listener);
|
|
282
|
+
return () => {
|
|
283
|
+
reg.listeners.delete(listener);
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/** Every shared node that something is currently holding. Stable identity. */
|
|
288
|
+
export function getMediaNodes() {
|
|
289
|
+
return registry().snapshot;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/** Test seam: drop every node and take its wrapper out of the document. */
|
|
293
|
+
export function resetMediaNodes() {
|
|
294
|
+
const reg = registry();
|
|
295
|
+
for (const record of reg.nodes.values()) record.wrapper.remove();
|
|
296
|
+
reg.nodes.clear();
|
|
297
|
+
reg.snapshot = [];
|
|
298
|
+
if (reg.holder !== null) {
|
|
299
|
+
reg.holder.remove();
|
|
300
|
+
reg.holder = null;
|
|
301
|
+
}
|
|
302
|
+
for (const listener of reg.listeners) listener();
|
|
303
|
+
}
|
|
304
|
+
//# sourceMappingURL=media-node.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["hasFlight","HOST_RANK","FLIGHT_RANK","registry","globalThis","__oxyhq_bloom_media_nodes__","nodes","Map","listeners","Set","snapshot","holder","seq","HOLDER_ID","reg","document","isConnected","existing","getElementById","created","createElement","id","style","cssText","setAttribute","body","appendChild","makeWrapper","wrapper","recordFor","render","record","get","claims","EMPTY_RENDER","set","content","uri","contentFit","renderVideo","undefined","nativeControls","accessibilityLabel","flightId","topClaim","pick","topRender","filter","claim","best","rank","place","target","el","parentElement","sameRender","a","b","x","y","kind","player","poster","publish","next","push","previous","unchanged","length","every","view","i","candidate","listener","claimMediaNode","find","releaseMediaNode","before","delete","remove","hasMediaNode","subscribeToMediaNodes","add","getMediaNodes","resetMediaNodes","values","clear"],"sourceRoot":"../../../src","sources":["media-flight/media-node.web.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -355,10 +355,25 @@ export function flyBack(id) {
|
|
|
355
355
|
* nobody having called `pause()`.
|
|
356
356
|
*
|
|
357
357
|
* Rendering `player={null}` for one commit runs expo-video's own `[props.player]`
|
|
358
|
-
* effect while the node is STILL in the DOM
|
|
359
|
-
* `unmountVideoView
|
|
360
|
-
*
|
|
361
|
-
*
|
|
358
|
+
* effect while the node is STILL in the DOM, and the operative part of that is
|
|
359
|
+
* NOT the unbind. `unmountVideoView` takes the element out of `_mountedVideos`
|
|
360
|
+
* and leaves the `onpause` handler `_addListeners` installed, so unbinding
|
|
361
|
+
* alone would still mirror. What saves it is the other half of the same
|
|
362
|
+
* branch: `removeAttribute('src'); load()` (`VideoView.web.js:206`). The media
|
|
363
|
+
* element load algorithm sets `paused` to true WITHOUT firing `pause`, so the
|
|
364
|
+
* element goes quiet, and its later removal fires nothing either because it is
|
|
365
|
+
* already paused.
|
|
366
|
+
*
|
|
367
|
+
* Measured in real Chrome, with controls: a playing element put through
|
|
368
|
+
* `removeAttribute('src') + load()` reports events `["play"]` and nothing more,
|
|
369
|
+
* while the same element paused by hand, or removed from the DOM while
|
|
370
|
+
* playing, reports `["play","pause"]`. Against real builds: without this commit
|
|
371
|
+
* the destination ends STOPPED (5/5), with it PLAYING (6/6) and the position
|
|
372
|
+
* carried.
|
|
373
|
+
*
|
|
374
|
+
* DO NOT replace this with a direct `unmountVideoView` call. It looks
|
|
375
|
+
* equivalent, it is the half that does not matter, and the fix would disappear
|
|
376
|
+
* silently. `MediaFlight.test.tsx` makes that substitution its control.
|
|
362
377
|
*
|
|
363
378
|
* The cost is one frame in which the outgoing surface shows its poster instead
|
|
364
379
|
* of video. It is already on its way out and the destination is live by then —
|
|
@@ -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, renderVideo, 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,WAAW,EACX,cAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,QAAQ,GACT,EAAE,oBAAoB,2CAsBtB;yBAjCe,eAAe"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MediaFlightHostProps } from './types';
|
|
2
|
+
export declare function MediaFlightHost({ id, content, style, contentFit, renderVideo, 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,WAAW,EACX,cAAsB,EACtB,kBAAkB,EAClB,aAAa,EACb,QAAQ,GACT,EAAE,oBAAoB,2CA6CtB;yBAvDe,eAAe"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaFlightLayer.web.d.ts","sourceRoot":"","sources":["../../../../src/media-flight/MediaFlightLayer.web.tsx"],"names":[],"mappings":"AAqDA,wBAAgB,gBAAgB,mDA+B/B;yBA/Be,gBAAgB"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { type ComponentProps } from 'react';
|
|
17
17
|
import { type ImageStyle, type StyleProp, type ViewStyle } from 'react-native';
|
|
18
18
|
import Animated from 'react-native-reanimated';
|
|
19
|
-
import type { MediaSurfaceContent } from './types';
|
|
19
|
+
import type { MediaSurfaceContent, MediaVideoSlot } from './types';
|
|
20
20
|
import { type VideoSurfaceType } from './expo-video-module';
|
|
21
21
|
/**
|
|
22
22
|
* Exactly what `Animated.View` accepts, taken from the component rather than
|
|
@@ -46,6 +46,14 @@ export interface MediaSurfaceProps {
|
|
|
46
46
|
* is every property a flying box relies on.
|
|
47
47
|
*/
|
|
48
48
|
surfaceType?: VideoSurfaceType;
|
|
49
|
+
/**
|
|
50
|
+
* Paint the video yourself, keeping your own `ref` and expo-video props.
|
|
51
|
+
*
|
|
52
|
+
* When this is given, Bloom builds no `VideoView` at all and the optional
|
|
53
|
+
* peer is never loaded on this path — the consumer already imported
|
|
54
|
+
* expo-video to write the slot. See {@link MediaVideoSlot}.
|
|
55
|
+
*/
|
|
56
|
+
renderVideo?: MediaVideoSlot;
|
|
49
57
|
/** Whether the video arm shows expo-video's own controls. Defaults to `false`. */
|
|
50
58
|
nativeControls?: boolean;
|
|
51
59
|
accessibilityLabel?: string;
|
|
@@ -74,12 +82,16 @@ export interface MediaSurfaceProps {
|
|
|
74
82
|
* the element is still in the DOM.
|
|
75
83
|
*
|
|
76
84
|
* 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
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
85
|
+
* a `<video>` removed from the DOM is auto-paused by the browser, so a dying
|
|
86
|
+
* element pauses the one the viewer is watching.
|
|
87
|
+
*
|
|
88
|
+
* Setting this for one commit runs expo-video's own `[props.player]` effect
|
|
89
|
+
* early — and the half that matters is `removeAttribute('src'); load()`
|
|
90
|
+
* (`VideoView.web.js:206`), not the unbind beside it. The media element load
|
|
91
|
+
* algorithm pauses WITHOUT firing `pause` (measured in real Chrome, with
|
|
92
|
+
* controls), so the element goes quiet and its later removal fires nothing.
|
|
93
|
+
* Unbinding alone does not help: `unmountVideoView` never clears the handler
|
|
94
|
+
* it installed. See `releaseFlight`.
|
|
83
95
|
*/
|
|
84
96
|
detached?: boolean;
|
|
85
97
|
}
|
|
@@ -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;
|
|
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,cAAc,EAAE,MAAM,SAAS,CAAC;AACnE,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;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,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,yDA6FvB,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"}
|