@drawbridge/components 0.0.63 → 0.0.65

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/dist/video.js CHANGED
@@ -141,6 +141,7 @@ var Video = ({
141
141
  const [videoUrl, setVideoUrl] = (0, import_react.useState)(hls ? hls : mp4);
142
142
  const [mountPlayer, setMountPlayer] = (0, import_react.useState)(!defer);
143
143
  const [posterPainted, setPosterPainted] = (0, import_react.useState)(false);
144
+ const [videoPaintable, setVideoPaintable] = (0, import_react.useState)(false);
144
145
  const [failed, setFailed] = (0, import_react.useState)(false);
145
146
  (0, import_react.useEffect)(
146
147
  () => {
@@ -232,7 +233,18 @@ var Video = ({
232
233
  onError();
233
234
  },
234
235
  onReady: (instance) => {
236
+ var _a2;
235
237
  setPlayer(instance.player);
238
+ const element = (_a2 = instance.getInternalPlayer) == null ? void 0 : _a2.call(instance);
239
+ if (!element || typeof element.readyState !== "number") {
240
+ setVideoPaintable(true);
241
+ return;
242
+ }
243
+ if (element.readyState >= 2) {
244
+ setVideoPaintable(true);
245
+ return;
246
+ }
247
+ element.addEventListener("loadeddata", () => setVideoPaintable(true), { once: true });
236
248
  },
237
249
  playing: Boolean(playing),
238
250
  playsinline: true,
@@ -241,7 +253,7 @@ var Video = ({
241
253
  }
242
254
  }
243
255
  ),
244
- !player && poster && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
256
+ !videoPaintable && poster && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
245
257
  "img",
246
258
  {
247
259
  ...{
@@ -262,7 +274,7 @@ var Video = ({
262
274
  }
263
275
  }
264
276
  ),
265
- !player && !poster && !failed && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
277
+ !videoPaintable && !poster && !failed && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
266
278
  "div",
267
279
  {
268
280
  ...{
@@ -270,7 +282,7 @@ var Video = ({
270
282
  // borrows the reserved gallery box's height and collapses to 0
271
283
  // when the video is ready = a ~0.65 CLS. Overlaying it (the box
272
284
  // already reserves its height) means removing it shifts nothing.
273
- className: "absolute inset-0 flex justify-center items-center"
285
+ className: "absolute inset-0 flex justify-center items-center pointer-events-none"
274
286
  },
275
287
  children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
276
288
  loader_default,
@@ -289,7 +301,7 @@ var Video = ({
289
301
  "div",
290
302
  {
291
303
  ...{
292
- className: "absolute inset-0 flex justify-center items-center"
304
+ className: "absolute inset-0 flex justify-center items-center pointer-events-none"
293
305
  },
294
306
  children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
295
307
  warning_default,
@@ -311,7 +323,7 @@ var Video = ({
311
323
  "div",
312
324
  {
313
325
  ...{
314
- className
326
+ className: "relative " + className
315
327
  },
316
328
  children: inner
317
329
  }
package/dist/video.mjs CHANGED
@@ -45,6 +45,7 @@ var Video = ({
45
45
  const [videoUrl, setVideoUrl] = useState(hls ? hls : mp4);
46
46
  const [mountPlayer, setMountPlayer] = useState(!defer);
47
47
  const [posterPainted, setPosterPainted] = useState(false);
48
+ const [videoPaintable, setVideoPaintable] = useState(false);
48
49
  const [failed, setFailed] = useState(false);
49
50
  useEffect(
50
51
  () => {
@@ -136,7 +137,18 @@ var Video = ({
136
137
  onError();
137
138
  },
138
139
  onReady: (instance) => {
140
+ var _a2;
139
141
  setPlayer(instance.player);
142
+ const element = (_a2 = instance.getInternalPlayer) == null ? void 0 : _a2.call(instance);
143
+ if (!element || typeof element.readyState !== "number") {
144
+ setVideoPaintable(true);
145
+ return;
146
+ }
147
+ if (element.readyState >= 2) {
148
+ setVideoPaintable(true);
149
+ return;
150
+ }
151
+ element.addEventListener("loadeddata", () => setVideoPaintable(true), { once: true });
140
152
  },
141
153
  playing: Boolean(playing),
142
154
  playsinline: true,
@@ -145,7 +157,7 @@ var Video = ({
145
157
  }
146
158
  }
147
159
  ),
148
- !player && poster && /* @__PURE__ */ jsx(
160
+ !videoPaintable && poster && /* @__PURE__ */ jsx(
149
161
  "img",
150
162
  {
151
163
  ...{
@@ -166,7 +178,7 @@ var Video = ({
166
178
  }
167
179
  }
168
180
  ),
169
- !player && !poster && !failed && /* @__PURE__ */ jsx(
181
+ !videoPaintable && !poster && !failed && /* @__PURE__ */ jsx(
170
182
  "div",
171
183
  {
172
184
  ...{
@@ -174,7 +186,7 @@ var Video = ({
174
186
  // borrows the reserved gallery box's height and collapses to 0
175
187
  // when the video is ready = a ~0.65 CLS. Overlaying it (the box
176
188
  // already reserves its height) means removing it shifts nothing.
177
- className: "absolute inset-0 flex justify-center items-center"
189
+ className: "absolute inset-0 flex justify-center items-center pointer-events-none"
178
190
  },
179
191
  children: /* @__PURE__ */ jsx(
180
192
  loader_default,
@@ -193,7 +205,7 @@ var Video = ({
193
205
  "div",
194
206
  {
195
207
  ...{
196
- className: "absolute inset-0 flex justify-center items-center"
208
+ className: "absolute inset-0 flex justify-center items-center pointer-events-none"
197
209
  },
198
210
  children: /* @__PURE__ */ jsx(
199
211
  warning_default,
@@ -215,7 +227,7 @@ var Video = ({
215
227
  "div",
216
228
  {
217
229
  ...{
218
- className
230
+ className: "relative " + className
219
231
  },
220
232
  children: inner
221
233
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drawbridge/components",
3
- "version": "0.0.63",
3
+ "version": "0.0.65",
4
4
  "exports": {
5
5
  "./advertisement": {
6
6
  "types": "./types/advertisement.d.ts",
@@ -355,7 +355,7 @@
355
355
  "devDependencies": {
356
356
  "@types/react": "18.0.0",
357
357
  "tsup": "8.5.1",
358
- "@drawbridge/drawbridge-agents": "0.1.16"
358
+ "@drawbridge/drawbridge-agents": "0.1.25"
359
359
  },
360
360
  "dependencies": {
361
361
  "embla-carousel-fade": "8.6.0",