cursedbelt 4.5.0 → 4.6.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 (38) hide show
  1. package/dist/react/media/HoverScrubVideoThumb.d.ts +7 -1
  2. package/dist/react/media/HoverScrubVideoThumb.d.ts.map +1 -1
  3. package/dist/react/media/HoverScrubVideoThumb.js +18 -3
  4. package/dist/react/media/HoverScrubVideoThumb.js.map +1 -1
  5. package/dist/react/media/previewGate.d.ts +36 -0
  6. package/dist/react/media/previewGate.d.ts.map +1 -0
  7. package/dist/react/media/previewGate.js +161 -0
  8. package/dist/react/media/previewGate.js.map +1 -0
  9. package/dist/react/media-gallery/GalleryTable.d.ts.map +1 -1
  10. package/dist/react/media-gallery/GalleryTable.js +15 -3
  11. package/dist/react/media-gallery/GalleryTable.js.map +1 -1
  12. package/dist/react/media-gallery/MediaGallery.d.ts.map +1 -1
  13. package/dist/react/media-gallery/MediaGallery.js +3 -1
  14. package/dist/react/media-gallery/MediaGallery.js.map +1 -1
  15. package/dist/react/media-gallery/galleryItemMedia.d.ts +32 -1
  16. package/dist/react/media-gallery/galleryItemMedia.d.ts.map +1 -1
  17. package/dist/react/media-gallery/galleryItemMedia.js +64 -9
  18. package/dist/react/media-gallery/galleryItemMedia.js.map +1 -1
  19. package/dist/react/media-gallery/types.d.ts +8 -1
  20. package/dist/react/media-gallery/types.d.ts.map +1 -1
  21. package/dist/styles-areas/media-gallery.css +1 -1
  22. package/dist/styles-areas/media.css +1 -1
  23. package/package.json +3 -1
  24. package/src/declaredImports.spec.ts +66 -0
  25. package/src/publicSurface.spec.ts +12 -4
  26. package/src/react/media/HoverScrubVideoThumb.spec.tsx +4 -3
  27. package/src/react/media/HoverScrubVideoThumb.tsx +25 -3
  28. package/src/react/media/previewGate.spec.tsx +144 -0
  29. package/src/react/media/previewGate.ts +160 -0
  30. package/src/react/media-gallery/GalleryTable.tsx +14 -1
  31. package/src/react/media-gallery/MediaGallery.spec.tsx +52 -3
  32. package/src/react/media-gallery/MediaGallery.tsx +9 -1
  33. package/src/react/media-gallery/galleryItemMedia.spec.tsx +143 -0
  34. package/src/react/media-gallery/galleryItemMedia.tsx +80 -9
  35. package/src/react/media-gallery/types.ts +8 -1
  36. package/src/styles-areas/media-gallery.css +1 -1
  37. package/src/styles-areas/media.css +1 -1
  38. package/scripts/publicSurface.ts +0 -458
@@ -44,7 +44,13 @@ export interface HoverScrubVideoThumbProps {
44
44
  * - `loop`: plays from the start, muted, looping.
45
45
  */
46
46
  previewMode?: 'scrub' | 'loop';
47
- /** Preview continuously without hover — the watch page's silent side tiles. */
47
+ /**
48
+ * Preview continuously without hover — the watch page's silent side tiles.
49
+ *
50
+ * 🔴 Gated: the preview starts only once the tile is ON SCREEN and has stayed there for
51
+ * `PREVIEW_SETTLE_MS` (`previewGate.ts`), so a grid scrolled past fast never opens a stream
52
+ * per row. Without an `IntersectionObserver` the tile counts as visible.
53
+ */
48
54
  autoPlay?: boolean;
49
55
  /** Small overlay chips (top-left slot) — e.g. a quality badge. */
50
56
  badge?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"HoverScrubVideoThumb.d.ts","sourceRoot":"","sources":["../../../src/react/media/HoverScrubVideoThumb.tsx"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAC;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AA2BzD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC9B,GAAG,EAAE;IAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAAE,EACzC,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACpF,IAAI,CAmBN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAWrC;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AAEH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,MAAM,EACN,WAAqB,EACrB,QAAgB,EAChB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,SAAS,GACV,EAAE,yBAAyB,+BA0L3B"}
1
+ {"version":3,"file":"HoverScrubVideoThumb.d.ts","sourceRoot":"","sources":["../../../src/react/media/HoverScrubVideoThumb.tsx"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAC;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAK3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AA2BzD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC9B,GAAG,EAAE;IAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAAE,EACzC,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACpF,IAAI,CAmBN;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAWrC;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AAEH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,MAAM,EACN,WAAqB,EACrB,QAAgB,EAChB,KAAK,EACL,WAAW,EACX,QAAQ,EACR,SAAS,GACV,EAAE,yBAAyB,+BAyM3B"}
@@ -4,6 +4,7 @@ import { useEffect, useRef, useState } from 'react';
4
4
  import { formatTimecode } from 'cursedbelt-core/media';
5
5
  import { cn } from '../lib/cn.js';
6
6
  import { NO_EDIT, previewTransform, swapsAxes } from './pictureEdit.js';
7
+ import { releaseVideo, useInView, useSettled } from './previewGate.js';
7
8
  /**
8
9
  * The stored turn, as an inline transform for the tile's poster and preview.
9
10
  *
@@ -107,7 +108,11 @@ export function HoverScrubVideoThumb({ video, onOpen, previewMode = 'scrub', aut
107
108
  // On touch devices ignore `autoPlay` — an unrequested video playing under the
108
109
  // finger reads as a bug (and iOS shows a stack of them below the watch player).
109
110
  // Touch-and-hold still triggers `hovering` → a preview on demand.
110
- const previewing = (autoPlay && canHover) || hovering;
111
+ const boxRef = useRef(null);
112
+ const wantsAuto = autoPlay && canHover;
113
+ // A hover is not gated: the pointer on the tile IS the intent the settle exists to infer.
114
+ const autoReady = useSettled(useInView(boxRef, wantsAuto));
115
+ const previewing = autoReady || hovering;
111
116
  const holdTimer = useRef(null);
112
117
  const videoRef = useRef(null);
113
118
  const startHold = () => {
@@ -123,8 +128,15 @@ export function HoverScrubVideoThumb({ video, onOpen, previewMode = 'scrub', aut
123
128
  active: previewing && previewMode === 'scrub',
124
129
  durationSeconds: video.durationSeconds,
125
130
  });
131
+ // A preview that stops closes its connection — an unmounted `<video>` keeps buffering.
132
+ useEffect(() => {
133
+ if (!previewing)
134
+ return;
135
+ const el = videoRef.current;
136
+ return () => releaseVideo(el);
137
+ }, [previewing]);
126
138
  const turned = turnStyle(orientation);
127
- const media = (_jsxs("div", { className: 'relative aspect-video w-full overflow-hidden bg-muted', children: [video.posterUrl && !posterFailed ? (_jsx("img", { src: video.posterUrl, alt: video.name, loading: 'lazy',
139
+ const media = (_jsxs("div", { ref: boxRef, className: 'relative aspect-video w-full overflow-hidden bg-muted', children: [video.posterUrl && !posterFailed ? (_jsx("img", { src: video.posterUrl, alt: video.name, loading: 'lazy', decoding: 'async',
128
140
  /*
129
141
  * 🔴 A poster URL that 404s falls back to the Play mark, and this is
130
142
  * REQUIRED rather than defensive.
@@ -153,7 +165,10 @@ export function HoverScrubVideoThumb({ video, onOpen, previewMode = 'scrub', aut
153
165
  // same gesture, and on a video tile — where the hover preview puts a PLAYING
154
166
  // <video> on top of the poster — the element under the pointer is the one least
155
167
  // likely to yield. Same reason MediaCell sets this.
156
- draggable: false, className: 'absolute inset-0 h-full w-full object-cover', ...(turned ? { style: turned } : {}) })) : (_jsx("div", { className: 'absolute inset-0 flex items-center justify-center text-muted-foreground', children: _jsx(Play, { "aria-hidden": true, className: 'size-6' }) })), !previewing && !posterFailed && video.posterUrl ? (_jsx("span", { className: 'pointer-events-none absolute inset-0 flex items-center justify-center', children: _jsx("span", { className: 'flex size-9 items-center justify-center rounded-full bg-black/55 text-white shadow-sm backdrop-blur-[2px]', children: _jsx(Play, { "aria-hidden": true, className: 'size-4 translate-x-[1px]' }) }) })) : null, previewing ? (_jsx("video", { ref: videoRef, src: video.streamUrl, muted: true, loop: true, autoPlay: true, playsInline: true,
168
+ draggable: false, className: 'absolute inset-0 h-full w-full object-cover', ...(turned ? { style: turned } : {}) })) : (_jsx("div", { className: 'absolute inset-0 flex items-center justify-center text-muted-foreground', children: _jsx(Play, { "aria-hidden": true, className: 'size-6' }) })), !previewing && !posterFailed && video.posterUrl ? (_jsx("span", { className: 'pointer-events-none absolute inset-0 flex items-center justify-center', children: _jsx("span", { className: 'flex size-9 items-center justify-center rounded-full bg-black/55 text-white shadow-sm backdrop-blur-[2px]', children: _jsx(Play, { "aria-hidden": true, className: 'size-4 translate-x-[1px]' }) }) })) : null, previewing ? (_jsx("video", { ref: videoRef, src: video.streamUrl,
169
+ // Only mounted once previewing (settled or hovered), so metadata is the most it may
170
+ // fetch before it plays — never the whole-file `auto` a browser may default to.
171
+ preload: 'metadata', muted: true, loop: true, autoPlay: true, playsInline: true,
157
172
  // See the poster's note — and it matters more here, because this element only
158
173
  // exists while the pointer is over the tile, which is exactly when a drag starts.
159
174
  draggable: false, className: 'absolute inset-0 h-full w-full object-cover', ...(turned ? { style: turned } : {}) })) : null, badge ? _jsx("span", { className: 'absolute top-1 left-1', children: badge }) : null, video.durationSeconds ? (_jsx("span", { className: 'absolute top-1 right-1 rounded bg-black/85 px-1.5 py-0.5 text-caption tabular-nums text-white backdrop-blur-sm', children: formatTimecode(video.durationSeconds) })) : null, video.processingStatus === 'pending' || video.processingStatus === 'processing' ? (_jsx("span", { className: 'absolute bottom-1 left-1 rounded bg-background/80 px-1 text-caption text-muted-foreground', children: "optimizing\u2026" })) : null] }));
@@ -1 +1 @@
1
- {"version":3,"file":"HoverScrubVideoThumb.js","sourceRoot":"","sources":["../../../src/react/media/HoverScrubVideoThumb.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HoverScrubVideoThumb.js","sourceRoot":"","sources":["../../../src/react/media/HoverScrubVideoThumb.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * How long a tile must stay on screen before an automatic preview starts. Long enough that a
3
+ * wheel flick past a row is well under it (a row crosses the viewport in tens of ms at scroll
4
+ * speed), short enough that a grid the viewer stopped on starts moving without a visible wait.
5
+ */
6
+ export declare const PREVIEW_SETTLE_MS = 200;
7
+ /**
8
+ * True while the element intersects the viewport (clipped by its scrolling ancestors, which
9
+ * is what an `IntersectionObserver` with no root measures).
10
+ *
11
+ * 🔴 **No `IntersectionObserver` means VISIBLE**, not hidden. jsdom and old browsers have none,
12
+ * happy-dom has one that never reports (see {@link reportingObserver}), and a gallery whose previews silently never start there is a worse failure than
13
+ * one that loads eagerly — the eager load is the behavior every one of them had before this.
14
+ *
15
+ * `enabled: false` observes nothing and reports false, so a gallery that never asked for
16
+ * automatic previews registers no element at all.
17
+ */
18
+ export declare function useInView(ref: {
19
+ current: Element | null;
20
+ }, enabled: boolean): boolean;
21
+ /**
22
+ * `value`, but it only turns TRUE after holding true for `ms` — and turns false at once.
23
+ *
24
+ * The asymmetry is the point: starting a load is what costs, stopping one is what saves, so a
25
+ * flicker of `true` (a tile crossing the viewport during a scroll) never reaches the load and
26
+ * a `false` is never delayed.
27
+ */
28
+ export declare function useSettled(value: boolean, ms?: number): boolean;
29
+ /**
30
+ * Close a `<video>`'s connection. Removing the element from the DOM does not — it keeps
31
+ * buffering until it is collected — so emptying `src` and calling `load()` is the documented
32
+ * way to make the browser drop the request (WHATWG media "emptied" / load algorithm).
33
+ * Tolerates a missing element and a `load` the environment does not implement.
34
+ */
35
+ export declare function releaseVideo(el: HTMLVideoElement | null): void;
36
+ //# sourceMappingURL=previewGate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previewGate.d.ts","sourceRoot":"","sources":["../../../src/react/media/previewGate.ts"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAiDrC;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE;IAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAiCrF;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,GAAE,MAA0B,GAAG,OAAO,CAWlF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAS9D"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * When a tile is allowed to start a VIDEO load — the gallery's ceiling on byte loads.
3
+ *
4
+ * ── 🔴 Why this exists, from `collections`' 2026-09-22 measurement ──────────────────────
5
+ * One wheel-scroll top to bottom of a 240-row gallery had **176 same-origin requests open at
6
+ * once** (`apps/collections/e2e/mintCeiling.browser.test.ts`), and none of them were `fetch`
7
+ * calls an app-side gate could see: they were the tiles' own `<img>` and `<video>` loads. The
8
+ * `<img>` half is `loading='lazy'` + `decoding='async'` on every tile picture; this file is the
9
+ * `<video>` half. With "Preview all" on, every tile the virtualizer mounted — the visible rows
10
+ * AND its overscan — attached an autoplaying `<video>` the moment it rendered, so a fast
11
+ * scroll opened a stream per row it passed and then abandoned it.
12
+ *
13
+ * So an automatic preview now waits for two things: the tile is actually on screen
14
+ * ({@link useInView}), and it has STAYED there for {@link PREVIEW_SETTLE_MS}
15
+ * ({@link useSettled}). A tile scrolled past faster than that never starts its load at all,
16
+ * and one that leaves before settling cancels the pending start. A deliberate hover is not
17
+ * gated — the pointer being on the tile is the intent the settle exists to infer.
18
+ *
19
+ * {@link releaseVideo} is the other end: a `<video>` React removes keeps downloading until it
20
+ * is garbage-collected, so a tile that stops previewing empties the element's source, which is
21
+ * what actually closes the connection.
22
+ */
23
+ import { useEffect, useState } from 'react';
24
+ /**
25
+ * How long a tile must stay on screen before an automatic preview starts. Long enough that a
26
+ * wheel flick past a row is well under it (a row crosses the viewport in tens of ms at scroll
27
+ * speed), short enough that a grid the viewer stopped on starts moving without a visible wait.
28
+ */
29
+ export const PREVIEW_SETTLE_MS = 200;
30
+ /**
31
+ * ONE observer for every tile, not one per tile — a 400-row gallery is 400 elements and a
32
+ * single `IntersectionObserver` handles that in one callback per frame.
33
+ *
34
+ * Keyed by the constructor it was built with so a replaced global (a spec installing its own
35
+ * fake, a polyfill arriving late) is picked up instead of observing through a stale one.
36
+ */
37
+ let shared = null;
38
+ const listeners = new Map();
39
+ /**
40
+ * The environment's `IntersectionObserver`, but only one that can actually REPORT.
41
+ *
42
+ * 🔴 happy-dom 20 ships an inert stub — `observe()` is an empty method and the callback is
43
+ * never called — so "is it defined" is the wrong test: every tile would wait for a
44
+ * notification that cannot arrive and no preview would ever start, in this repo's specs and in
45
+ * every consumer's. The real interface carries `thresholds` as a readonly attribute on its
46
+ * PROTOTYPE (every engine since 2019); the stub does not. An observer without it is treated as
47
+ * absent, which degrades to the eager behavior every gallery had before this gate.
48
+ */
49
+ function reportingObserver() {
50
+ const ctor = globalThis
51
+ .IntersectionObserver;
52
+ if (typeof ctor !== 'function')
53
+ return null;
54
+ return 'thresholds' in ctor.prototype ? ctor : null;
55
+ }
56
+ function sharedObserver() {
57
+ const ctor = reportingObserver();
58
+ if (!ctor)
59
+ return null;
60
+ if (shared?.ctor === ctor)
61
+ return shared.observer;
62
+ shared?.observer.disconnect();
63
+ const observer = new ctor((entries) => {
64
+ for (const entry of entries) {
65
+ const set = listeners.get(entry.target);
66
+ if (!set)
67
+ continue;
68
+ for (const listener of set)
69
+ listener(entry.isIntersecting);
70
+ }
71
+ });
72
+ shared = { ctor, observer };
73
+ // Anything already registered moves to the new observer rather than going deaf.
74
+ for (const el of listeners.keys())
75
+ observer.observe(el);
76
+ return observer;
77
+ }
78
+ /**
79
+ * True while the element intersects the viewport (clipped by its scrolling ancestors, which
80
+ * is what an `IntersectionObserver` with no root measures).
81
+ *
82
+ * 🔴 **No `IntersectionObserver` means VISIBLE**, not hidden. jsdom and old browsers have none,
83
+ * happy-dom has one that never reports (see {@link reportingObserver}), and a gallery whose previews silently never start there is a worse failure than
84
+ * one that loads eagerly — the eager load is the behavior every one of them had before this.
85
+ *
86
+ * `enabled: false` observes nothing and reports false, so a gallery that never asked for
87
+ * automatic previews registers no element at all.
88
+ */
89
+ export function useInView(ref, enabled) {
90
+ const [inView, setInView] = useState(false);
91
+ useEffect(() => {
92
+ if (!enabled) {
93
+ setInView(false);
94
+ return;
95
+ }
96
+ const el = ref.current;
97
+ const observer = sharedObserver();
98
+ if (!el || !observer) {
99
+ setInView(true);
100
+ return;
101
+ }
102
+ const listener = (next) => setInView(next);
103
+ let set = listeners.get(el);
104
+ if (!set) {
105
+ set = new Set();
106
+ listeners.set(el, set);
107
+ observer.observe(el);
108
+ }
109
+ set.add(listener);
110
+ return () => {
111
+ const current = listeners.get(el);
112
+ if (!current)
113
+ return;
114
+ current.delete(listener);
115
+ if (current.size === 0) {
116
+ listeners.delete(el);
117
+ shared?.observer.unobserve(el);
118
+ }
119
+ };
120
+ // `ref` is a ref object and is stable by construction.
121
+ }, [enabled, ref]);
122
+ return enabled && inView;
123
+ }
124
+ /**
125
+ * `value`, but it only turns TRUE after holding true for `ms` — and turns false at once.
126
+ *
127
+ * The asymmetry is the point: starting a load is what costs, stopping one is what saves, so a
128
+ * flicker of `true` (a tile crossing the viewport during a scroll) never reaches the load and
129
+ * a `false` is never delayed.
130
+ */
131
+ export function useSettled(value, ms = PREVIEW_SETTLE_MS) {
132
+ const [settled, setSettled] = useState(false);
133
+ useEffect(() => {
134
+ if (!value) {
135
+ setSettled(false);
136
+ return;
137
+ }
138
+ const timer = setTimeout(() => setSettled(true), ms);
139
+ return () => clearTimeout(timer);
140
+ }, [value, ms]);
141
+ return value && settled;
142
+ }
143
+ /**
144
+ * Close a `<video>`'s connection. Removing the element from the DOM does not — it keeps
145
+ * buffering until it is collected — so emptying `src` and calling `load()` is the documented
146
+ * way to make the browser drop the request (WHATWG media "emptied" / load algorithm).
147
+ * Tolerates a missing element and a `load` the environment does not implement.
148
+ */
149
+ export function releaseVideo(el) {
150
+ if (!el)
151
+ return;
152
+ try {
153
+ el.pause?.();
154
+ el.removeAttribute('src');
155
+ el.load?.();
156
+ }
157
+ catch {
158
+ // A DOM without media support has no connection to close.
159
+ }
160
+ }
161
+ //# sourceMappingURL=previewGate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"previewGate.js","sourceRoot":"","sources":["../../../src/react/media/previewGate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryTable.d.ts","sourceRoot":"","sources":["../../../src/react/media-gallery/GalleryTable.tsx"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AAIjF,OAAO,EAAgB,KAAK,UAAU,EAA0B,MAAM,uBAAuB,CAAC;AAE9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AA4C3C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGxE;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAQxE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,SAAS,SAA2B,GACnC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAQhC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClD,MAAM,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,CAAC;IAClG,yFAAyF;IACzF,IAAI,CAAC,EAAE,CACL,IAAI,EAAE,gBAAgB,KACnB;QAAE,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;IAClG;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,KAAK,EACL,aAAa,EACb,MAAM,EACN,SAAS,EACT,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,EACJ,WAAW,EACX,OAAO,EACP,UAAkB,GACnB,EAAE,iBAAiB,+BA+HnB"}
1
+ {"version":3,"file":"GalleryTable.d.ts","sourceRoot":"","sources":["../../../src/react/media-gallery/GalleryTable.tsx"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AAKjF,OAAO,EAAgB,KAAK,UAAU,EAA0B,MAAM,uBAAuB,CAAC;AAE9F,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AA4C3C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAGxE;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAQxE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,SAAS,SAA2B,GACnC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAQhC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClD,MAAM,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,CAAC;IAClG,yFAAyF;IACzF,IAAI,CAAC,EAAE,CACL,IAAI,EAAE,gBAAgB,KACnB;QAAE,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,SAAS,CAAC;IAClG;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,KAAK,EACL,aAAa,EACb,MAAM,EACN,SAAS,EACT,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,EACJ,WAAW,EACX,OAAO,EACP,UAAkB,GACnB,EAAE,iBAAiB,+BA+HnB"}
@@ -37,6 +37,7 @@ import { useCallback, useEffect, useRef, useState } from 'react';
37
37
  import { CATEGORY_LABEL } from '../components/FileTypeIcon.js';
38
38
  import { useResizeObserver } from '../hooks/useResizeObserver.js';
39
39
  import { useCanHover, useScrubPreview } from '../media/HoverScrubVideoThumb.js';
40
+ import { releaseVideo, useInView, useSettled } from '../media/previewGate.js';
40
41
  import { createdLabel, ThumbImg, useItemMedia } from './galleryItemMedia.js';
41
42
  import { galleryItemCategory } from './mediaGalleryModel.js';
42
43
  /**
@@ -189,7 +190,14 @@ function SortHeader({ column, label, order, onOrderChange, className, }) {
189
190
  function TableVideoPreview({ item, src, poster, active, }) {
190
191
  const ref = useRef(null);
191
192
  useScrubPreview(ref, { active, durationSeconds: item.durationSeconds });
192
- return (_jsx("video", { ref: ref, src: src, poster: poster, muted: true, loop: true, autoPlay: true, playsInline: true,
193
+ // Removing the element does not close its connection; emptying its source does.
194
+ useEffect(() => {
195
+ const el = ref.current;
196
+ return () => releaseVideo(el);
197
+ }, []);
198
+ return (_jsx("video", { ref: ref, src: src, poster: poster,
199
+ // Mounted only once previewing, so metadata is the most it fetches before it plays.
200
+ preload: 'metadata', muted: true, loop: true, autoPlay: true, playsInline: true,
193
201
  // `<video>` drags itself by default, which competes with the ROW's own drag payload —
194
202
  // the same reason the grid tile sets this. A row being dragged to re-file it must carry
195
203
  // the item id, not a video URL.
@@ -214,7 +222,11 @@ function GalleryTableRow({ item, cache, onOpen, hasCheck, selection, drag, autoP
214
222
  const previewSrc = category === 'video' ? (media.streamUrl ?? media.url) : undefined;
215
223
  // `autoPreview` is suppressed on a coarse pointer exactly as the grid tile suppresses it, so
216
224
  // a phone never opens forty video connections under a finger. A deliberate hover still does.
217
- const previewing = previewSrc != null && ((autoPreview && canHover) || hovering);
225
+ // 🔴 And it waits until the row is on screen and has SETTLED there (`previewGate.ts`), the
226
+ // same gate the grid tile uses — a table scrolled past fast must not open a stream per row.
227
+ const thumbRef = useRef(null);
228
+ const autoReady = useSettled(useInView(thumbRef, previewSrc != null && autoPreview && canHover));
229
+ const previewing = previewSrc != null && (autoReady || hovering);
218
230
  return (_jsxs("tr", { className: `cbgt-row${selection?.selected ? ' is-selected' : ''}${stageMark ? ' is-playing' : ''}`, "data-playing": stageMark ? 'true' : undefined, "aria-current": stageMark ? 'true' : undefined, ...(previewSrc
219
231
  ? {
220
232
  onMouseEnter: () => setHovering(true),
@@ -227,7 +239,7 @@ function GalleryTableRow({ item, cache, onOpen, hasCheck, selection, drag, autoP
227
239
  // is plain-CSS for the same reason the rest of this module is.
228
240
  type: 'checkbox', checked: selection.selected, "aria-label": `Select ${item.name}`, onChange: (event) => selection.onToggle(event.nativeEvent.shiftKey === true) })) : null })) : null, _jsx("td", { className: 'cbgt-cell--thumb', children: _jsxs("button", {
229
241
  // guardrails-ignore no-raw-action-button: the row's own open affordance; see above.
230
- type: 'button', className: 'cbgt-open cbgt-open--thumb', onClick: onOpen, "aria-label": `Open ${item.name}`, children: [previewing && previewSrc ? (_jsx(TableVideoPreview, { item: item, src: previewSrc, poster: media.posterUrl ?? media.thumbnailUrl, active: previewing })) : thumb ? (_jsx(ThumbImg, { src: thumb, fallbackSrc: media.url, alt: '', draggable: false })) : (_jsx("span", { className: 'cbgt-thumb-blank', "aria-hidden": 'true' })), previewSrc && !previewing ? (_jsx("span", { "aria-hidden": 'true', className: 'cbgt-play', children: "\u25B6" })) : null] }) }), _jsxs("td", { className: 'cbgt-cell--name', children: [_jsx("button", {
242
+ type: 'button', ref: thumbRef, className: 'cbgt-open cbgt-open--thumb', onClick: onOpen, "aria-label": `Open ${item.name}`, children: [previewing && previewSrc ? (_jsx(TableVideoPreview, { item: item, src: previewSrc, poster: media.posterUrl ?? media.thumbnailUrl, active: previewing })) : thumb ? (_jsx(ThumbImg, { src: thumb, fallbackSrc: media.url, alt: '', draggable: false })) : (_jsx("span", { className: 'cbgt-thumb-blank', "aria-hidden": 'true' })), previewSrc && !previewing ? (_jsx("span", { "aria-hidden": 'true', className: 'cbgt-play', children: "\u25B6" })) : null] }) }), _jsxs("td", { className: 'cbgt-cell--name', children: [_jsx("button", {
231
243
  // guardrails-ignore no-raw-action-button: see above.
232
244
  type: 'button', className: 'cbgt-open cbgt-open--name', onClick: onOpen, children: item.name }), stageMark ? _jsx("span", { className: 'cbgd-sr-only', children: stageMark }) : null] }), _jsx("td", { className: 'cbgt-cell--kind', children: _jsx("span", { className: 'cbgt-kind', children: CATEGORY_LABEL[category] }) }), _jsx("td", { className: 'cbgt-cell--num', children: size ?? '—' }), exactBytes ? _jsx("td", { className: 'cbgt-cell--num cbgt-cell--bytes', children: bytes ?? '—' }) : null, _jsx("td", { className: 'cbgt-cell--num cbgt-cell--length', children: length ?? '—' }), _jsx("td", { className: 'cbgt-cell--num cbgt-cell--date', children: date ?? '—' })] }));
233
245
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryTable.js","sourceRoot":"","sources":["../../../src/react/media-gallery/GalleryTable.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAkB,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAmB,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,+FAA+F;AAC/F,MAAM,QAAQ,GAAG,CAAC,CAAC;AAEnB;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;IACxC,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;IACvC,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;CAC+C,CAAC;AAIzF,0FAA0F;AAC1F,SAAS,WAAW,CAAC,MAAsB,EAAE,KAAwB;IACnE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,MAAsB,EAAE,KAAwB;IACpE,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACtE,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,eAAe,CAAC,KAAyB;IACvD,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,OAA2B;IACvD,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAa,EACb,SAAiB,EACjB,cAAsB,EACtB,SAAS,GAAG,wBAAwB;IAEpC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC7C,sFAAsF;IACtF,0EAA0E;IAC1E,MAAM,MAAM,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC;IACpF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AAuDD,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,KAAK,EACL,aAAa,EACb,MAAM,EACN,SAAS,EACT,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,EACJ,WAAW,EACX,OAAO,EACP,UAAU,GAAG,KAAK,GACA;IAClB,MAAM,WAAW,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExD,iBAAiB,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAE3E,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAE9E,wFAAwF;IACxF,mEAAmE;IACnE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC7C,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,EAAE,CAAC;IAC3C,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,KAAoC,EAAE,EAAE;QACpE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,wFAAwF;IACxF,uFAAuF;IACvF,sDAAsD;IACtD,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,KAAK,GAAG,wBAAwB,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAE3E,OAAO,CACL,eACE,SAAS,EAAE,YAAY,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EACtD,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,QAAQ,aAclB,iBAAO,SAAS,EAAC,YAAY,aAC3B,gBAAO,SAAS,EAAC,WAAW,YAC1B,yBACG,SAAS,CAAC,CAAC,CAAC,CACX,aAAI,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAC,KAAK,YAC1C,eAAM,SAAS,EAAC,cAAc,yBAAgB,GAC3C,CACN,CAAC,CAAC,CAAC,IAAI,EACR,aAAI,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAC,KAAK,YAC1C,eAAM,SAAS,EAAC,cAAc,wBAAe,GAC1C,EACL,KAAC,UAAU,IACT,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAC,iBAAiB,GAC3B,EACF,aAAI,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAC,KAAK,qBAEtC,EACL,KAAC,UAAU,IACT,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAC,gBAAgB,GAC1B,EAKD,UAAU,CAAC,CAAC,CAAC,CACZ,aAAI,SAAS,EAAC,iCAAiC,EAAC,KAAK,EAAC,KAAK,sBAEtD,CACN,CAAC,CAAC,CAAC,IAAI,EACR,aAAI,SAAS,EAAC,kCAAkC,EAAC,KAAK,EAAC,KAAK,uBAEvD,EACL,KAAC,UAAU,IACT,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAC,gCAAgC,GAC1C,IACC,GACC,EACR,4BASG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,aAAI,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAE,aAAI,OAAO,EAAE,WAAW,GAAI,GAAK,CAAC,CAAC,CAAC,IAAI,EAC1G,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACrC,KAAC,eAAe,IAEd,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAC1B,QAAQ,EAAE,SAAS,KAAK,SAAS,EACjC,SAAS,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAC5B,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAClB,WAAW,EAAE,WAAW,KAAK,IAAI,EACjC,UAAU,EAAE,UAAU,KAClB,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAT5D,IAAI,CAAC,EAAE,CAUZ,CACH,CAAC,EACD,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,aAAI,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAE,aAAI,OAAO,EAAE,WAAW,GAAI,GAAK,CAAC,CAAC,CAAC,IAAI,IACrG,IACF,EACP,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAChC,cAAK,SAAS,EAAC,YAAY,YAAE,KAAK,IAAI,cAAK,SAAS,EAAC,YAAY,8BAAoB,GAAO,CAC7F,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,cAAc,8BAAe,CAAC,CAAC,CAAC,IAAI,IAC1D,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,MAAM,EACN,KAAK,EACL,KAAK,EACL,aAAa,EACb,SAAS,GAOV;IACC,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO,CACL,aACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,KAAK,eACA,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,YAE3F;YACE,mFAAmF;YACnF,iFAAiF;YACjF,wEAAwE;YACxE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,YAAY,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EACtD,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,aAExD,KAAK,EAEN,8BAAkB,MAAM,EAAC,SAAS,EAAC,iBAAiB,YACjD,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GACvD,IACA,GACN,CACN,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,iBAAiB,CAAC,EACzB,IAAI,EACJ,GAAG,EACH,MAAM,EACN,MAAM,GAMP;IACC,MAAM,GAAG,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IAClD,eAAe,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACxE,OAAO,CAEL,gBACE,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,KAAK,QACL,IAAI,QACJ,QAAQ,QACR,WAAW;QACX,sFAAsF;QACtF,wFAAwF;QACxF,gCAAgC;QAChC,SAAS,EAAE,KAAK,GAMhB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,WAAW,EACX,UAAU,EACV,SAAS,GAaV;IACC,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,KAAK,GACT,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE1C;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,6FAA6F;IAC7F,6FAA6F;IAC7F,MAAM,UAAU,GAAG,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC;IAEjF,OAAO,CACL,cACE,SAAS,EAAE,WAAW,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,kBAGpF,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,kBAC9B,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KACxC,CAAC,UAAU;YACb,CAAC,CAAC;gBACE,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;gBACrC,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;aACvC;YACH,CAAC,CAAC,EAAE,CAAC,KACH,CAAC,IAAI;YACP,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC/E,CAAC,CAAC,EAAE,CAAC,aAEN,QAAQ,CAAC,CAAC,CAAC,CACV,aAAI,SAAS,EAAC,kBAAkB,YAC7B,SAAS,CAAC,CAAC,CAAC,CACX;oBACE,+EAA+E;oBAC/E,+DAA+D;oBAC/D,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,SAAS,CAAC,QAAQ,gBACf,UAAU,IAAI,CAAC,IAAI,EAAE,EACjC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,SAAS,CAAC,QAAQ,CAAE,KAAK,CAAC,WAA0B,CAAC,QAAQ,KAAK,IAAI,CAAC,GAEzE,CACH,CAAC,CAAC,CAAC,IAAI,GACL,CACN,CAAC,CAAC,CAAC,IAAI,EAQR,aAAI,SAAS,EAAC,kBAAkB,YAC9B;oBACE,oFAAoF;oBACpF,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,4BAA4B,EACtC,OAAO,EAAE,MAAM,gBACH,QAAQ,IAAI,CAAC,IAAI,EAAE,aAE9B,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAC1B,KAAC,iBAAiB,IAChB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,YAAY,EAC7C,MAAM,EAAE,UAAU,GAClB,CACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACV,KAAC,QAAQ,IAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAC,EAAE,EAAC,SAAS,EAAE,KAAK,GAAI,CAC1E,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,kBAAkB,iBAAa,MAAM,GAAG,CACzD,EAQA,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAC3B,8BAAkB,MAAM,EAAC,SAAS,EAAC,WAAW,uBAEvC,CACR,CAAC,CAAC,CAAC,IAAI,IACD,GACN,EACL,cAAI,SAAS,EAAC,iBAAiB,aAC7B;wBACE,qDAAqD;wBACrD,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,MAAM,YAEd,IAAI,CAAC,IAAI,GACH,EAWR,SAAS,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,cAAc,YAAE,SAAS,GAAQ,CAAC,CAAC,CAAC,IAAI,IAClE,EACL,aAAI,SAAS,EAAC,iBAAiB,YAE7B,eAAM,SAAS,EAAC,WAAW,YAAE,cAAc,CAAC,QAAQ,CAAC,GAAQ,GAC1D,EACL,aAAI,SAAS,EAAC,gBAAgB,YAAE,IAAI,IAAI,GAAG,GAAM,EAChD,UAAU,CAAC,CAAC,CAAC,aAAI,SAAS,EAAC,iCAAiC,YAAE,KAAK,IAAI,GAAG,GAAM,CAAC,CAAC,CAAC,IAAI,EACxF,aAAI,SAAS,EAAC,kCAAkC,YAAE,MAAM,IAAI,GAAG,GAAM,EACrE,aAAI,SAAS,EAAC,gCAAgC,YAAE,IAAI,IAAI,GAAG,GAAM,IAC9D,CACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"GalleryTable.js","sourceRoot":"","sources":["../../../src/react/media-gallery/GalleryTable.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAkB,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAmB,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,+FAA+F;AAC/F,MAAM,QAAQ,GAAG,CAAC,CAAC;AAEnB;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;IACxC,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;IACvC,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;CAC+C,CAAC;AAIzF,0FAA0F;AAC1F,SAAS,WAAW,CAAC,MAAsB,EAAE,KAAwB;IACnE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,GAAG,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,MAAsB,EAAE,KAAwB;IACpE,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACtE,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,eAAe,CAAC,KAAyB;IACvD,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,OAA2B;IACvD,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAa,EACb,SAAiB,EACjB,cAAsB,EACtB,SAAS,GAAG,wBAAwB;IAEpC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC7C,sFAAsF;IACtF,0EAA0E;IAC1E,MAAM,MAAM,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;IACpE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC;IACpF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AAuDD,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,KAAK,EACL,aAAa,EACb,MAAM,EACN,SAAS,EACT,OAAO,EACP,KAAK,EACL,SAAS,EACT,IAAI,EACJ,WAAW,EACX,OAAO,EACP,UAAU,GAAG,KAAK,GACA;IAClB,MAAM,WAAW,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExD,iBAAiB,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAE3E,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAE9E,wFAAwF;IACxF,mEAAmE;IACnE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC7C,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,EAAE,CAAC;IAC3C,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,KAAoC,EAAE,EAAE;QACpE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,wFAAwF;IACxF,uFAAuF;IACvF,sDAAsD;IACtD,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,KAAK,GAAG,wBAAwB,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAE3E,OAAO,CACL,eACE,SAAS,EAAE,YAAY,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EACtD,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,QAAQ,aAclB,iBAAO,SAAS,EAAC,YAAY,aAC3B,gBAAO,SAAS,EAAC,WAAW,YAC1B,yBACG,SAAS,CAAC,CAAC,CAAC,CACX,aAAI,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAC,KAAK,YAC1C,eAAM,SAAS,EAAC,cAAc,yBAAgB,GAC3C,CACN,CAAC,CAAC,CAAC,IAAI,EACR,aAAI,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAC,KAAK,YAC1C,eAAM,SAAS,EAAC,cAAc,wBAAe,GAC1C,EACL,KAAC,UAAU,IACT,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAC,iBAAiB,GAC3B,EACF,aAAI,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAC,KAAK,qBAEtC,EACL,KAAC,UAAU,IACT,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAC,gBAAgB,GAC1B,EAKD,UAAU,CAAC,CAAC,CAAC,CACZ,aAAI,SAAS,EAAC,iCAAiC,EAAC,KAAK,EAAC,KAAK,sBAEtD,CACN,CAAC,CAAC,CAAC,IAAI,EACR,aAAI,SAAS,EAAC,kCAAkC,EAAC,KAAK,EAAC,KAAK,uBAEvD,EACL,KAAC,UAAU,IACT,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAC,gCAAgC,GAC1C,IACC,GACC,EACR,4BASG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,aAAI,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAE,aAAI,OAAO,EAAE,WAAW,GAAI,GAAK,CAAC,CAAC,CAAC,IAAI,EAC1G,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACrC,KAAC,eAAe,IAEd,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAC1B,QAAQ,EAAE,SAAS,KAAK,SAAS,EACjC,SAAS,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAC5B,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAClB,WAAW,EAAE,WAAW,KAAK,IAAI,EACjC,UAAU,EAAE,UAAU,KAClB,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAT5D,IAAI,CAAC,EAAE,CAUZ,CACH,CAAC,EACD,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,aAAI,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAE,aAAI,OAAO,EAAE,WAAW,GAAI,GAAK,CAAC,CAAC,CAAC,IAAI,IACrG,IACF,EACP,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAChC,cAAK,SAAS,EAAC,YAAY,YAAE,KAAK,IAAI,cAAK,SAAS,EAAC,YAAY,8BAAoB,GAAO,CAC7F,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,CAAC,CAAC,CAAC,cAAK,SAAS,EAAC,cAAc,8BAAe,CAAC,CAAC,CAAC,IAAI,IAC1D,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,MAAM,EACN,KAAK,EACL,KAAK,EACL,aAAa,EACb,SAAS,GAOV;IACC,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO,CACL,aACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,KAAK,eACA,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,YAE3F;YACE,mFAAmF;YACnF,iFAAiF;YACjF,wEAAwE;YACxE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,YAAY,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EACtD,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,aAExD,KAAK,EAEN,8BAAkB,MAAM,EAAC,SAAS,EAAC,iBAAiB,YACjD,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GACvD,IACA,GACN,CACN,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,iBAAiB,CAAC,EACzB,IAAI,EACJ,GAAG,EACH,MAAM,EACN,MAAM,GAMP;IACC,MAAM,GAAG,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IAClD,eAAe,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACxE,gFAAgF;IAChF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QACvB,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,CAEL,gBACE,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM;QACd,oFAAoF;QACpF,OAAO,EAAC,UAAU,EAClB,KAAK,QACL,IAAI,QACJ,QAAQ,QACR,WAAW;QACX,sFAAsF;QACtF,wFAAwF;QACxF,gCAAgC;QAChC,SAAS,EAAE,KAAK,GAMhB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,IAAI,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,WAAW,EACX,UAAU,EACV,SAAS,GAaV;IACC,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,KAAK,GACT,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE1C;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,6FAA6F;IAC7F,6FAA6F;IAC7F,2FAA2F;IAC3F,4FAA4F;IAC5F,MAAM,QAAQ,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,IAAI,IAAI,IAAI,WAAW,IAAI,QAAQ,CAAC,CAAC,CAAC;IACjG,MAAM,UAAU,GAAG,UAAU,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC;IAEjE,OAAO,CACL,cACE,SAAS,EAAE,WAAW,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,kBAGpF,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,kBAC9B,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KACxC,CAAC,UAAU;YACb,CAAC,CAAC;gBACE,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;gBACrC,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;aACvC;YACH,CAAC,CAAC,EAAE,CAAC,KACH,CAAC,IAAI;YACP,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC/E,CAAC,CAAC,EAAE,CAAC,aAEN,QAAQ,CAAC,CAAC,CAAC,CACV,aAAI,SAAS,EAAC,kBAAkB,YAC7B,SAAS,CAAC,CAAC,CAAC,CACX;oBACE,+EAA+E;oBAC/E,+DAA+D;oBAC/D,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,SAAS,CAAC,QAAQ,gBACf,UAAU,IAAI,CAAC,IAAI,EAAE,EACjC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,SAAS,CAAC,QAAQ,CAAE,KAAK,CAAC,WAA0B,CAAC,QAAQ,KAAK,IAAI,CAAC,GAEzE,CACH,CAAC,CAAC,CAAC,IAAI,GACL,CACN,CAAC,CAAC,CAAC,IAAI,EAQR,aAAI,SAAS,EAAC,kBAAkB,YAC9B;oBACE,oFAAoF;oBACpF,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,QAAQ,EACb,SAAS,EAAC,4BAA4B,EACtC,OAAO,EAAE,MAAM,gBACH,QAAQ,IAAI,CAAC,IAAI,EAAE,aAE9B,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAC1B,KAAC,iBAAiB,IAChB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,YAAY,EAC7C,MAAM,EAAE,UAAU,GAClB,CACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACV,KAAC,QAAQ,IAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAC,EAAE,EAAC,SAAS,EAAE,KAAK,GAAI,CAC1E,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,kBAAkB,iBAAa,MAAM,GAAG,CACzD,EAQA,UAAU,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAC3B,8BAAkB,MAAM,EAAC,SAAS,EAAC,WAAW,uBAEvC,CACR,CAAC,CAAC,CAAC,IAAI,IACD,GACN,EACL,cAAI,SAAS,EAAC,iBAAiB,aAC7B;wBACE,qDAAqD;wBACrD,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,2BAA2B,EACrC,OAAO,EAAE,MAAM,YAEd,IAAI,CAAC,IAAI,GACH,EAWR,SAAS,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,cAAc,YAAE,SAAS,GAAQ,CAAC,CAAC,CAAC,IAAI,IAClE,EACL,aAAI,SAAS,EAAC,iBAAiB,YAE7B,eAAM,SAAS,EAAC,WAAW,YAAE,cAAc,CAAC,QAAQ,CAAC,GAAQ,GAC1D,EACL,aAAI,SAAS,EAAC,gBAAgB,YAAE,IAAI,IAAI,GAAG,GAAM,EAChD,UAAU,CAAC,CAAC,CAAC,aAAI,SAAS,EAAC,iCAAiC,YAAE,KAAK,IAAI,GAAG,GAAM,CAAC,CAAC,CAAC,IAAI,EACxF,aAAI,SAAS,EAAC,kCAAkC,YAAE,MAAM,IAAI,GAAG,GAAM,EACrE,aAAI,SAAS,EAAC,gCAAgC,YAAE,IAAI,IAAI,GAAG,GAAM,IAC9D,CACN,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MediaGallery.d.ts","sourceRoot":"","sources":["../../../src/react/media-gallery/MediaGallery.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MediaGallery.d.ts","sourceRoot":"","sources":["../../../src/react/media-gallery/MediaGallery.tsx"],"names":[],"mappings":"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"}
@@ -358,7 +358,9 @@ function DocThumb({ src, alt, category, ext, }) {
358
358
  if (!src || failed) {
359
359
  return (_jsxs(_Fragment, { children: [_jsx(FileTypeIcon, { category: category, size: 34 }), _jsx("span", { className: 'cbmg-doc-ext', children: ext })] }));
360
360
  }
361
- return (_jsxs(_Fragment, { children: [_jsx("img", { src: src, alt: alt, loading: 'lazy', onError: () => setFailed(true) }, src), _jsx("span", { className: 'cbmg-doc-badge', children: _jsx(FileTypeIcon, { category: category }) })] }));
361
+ return (_jsxs(_Fragment, { children: [_jsx("img", { src: src, alt: alt,
362
+ // Lazy + async like every tile picture — see `ThumbImg` for the measurement.
363
+ loading: 'lazy', decoding: 'async', onError: () => setFailed(true) }, src), _jsx("span", { className: 'cbmg-doc-badge', children: _jsx(FileTypeIcon, { category: category }) })] }));
362
364
  }
363
365
  function RawGalleryTile({ item, cache, onOpen, autoPreview, measure, }) {
364
366
  const category = galleryItemCategory(item);