@liforma/client 0.4.12 → 0.4.14
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/CHANGELOG.md +23 -0
- package/README.md +4 -4
- package/dist/next/index.js +585 -491
- package/dist/next/index.js.map +1 -1
- package/dist/next/react/ExperienceThumbnail.d.ts.map +1 -1
- package/dist/next/thumbnail/index.d.ts +1 -0
- package/dist/next/thumbnail/index.d.ts.map +1 -1
- package/dist/next/thumbnail/locationPlate.d.ts +3 -3
- package/dist/next/thumbnail/locationPlate.d.ts.map +1 -1
- package/dist/next/thumbnail/plateDelivery.d.ts +18 -0
- package/dist/next/thumbnail/plateDelivery.d.ts.map +1 -0
- package/dist/next/thumbnail/plateDelivery.test.d.ts +2 -0
- package/dist/next/thumbnail/plateDelivery.test.d.ts.map +1 -0
- package/dist/next/thumbnail/toGalleryThumbUrl.d.ts +1 -1
- package/dist/next/thumbnail.js +147 -91
- package/dist/next/thumbnail.js.map +1 -1
- package/dist/next/v2/embed/iframeHost.d.ts +4 -8
- package/dist/next/v2/embed/iframeHost.d.ts.map +1 -1
- package/dist/next/v2/embed/protocol.d.ts +29 -2
- package/dist/next/v2/embed/protocol.d.ts.map +1 -1
- package/dist/next/v2/experience.d.ts +14 -0
- package/dist/next/v2/experience.d.ts.map +1 -1
- package/dist/next/v2/shims/embedBaseUrl.d.ts +4 -1
- package/dist/next/v2/shims/embedBaseUrl.d.ts.map +1 -1
- package/dist/npm/index.js +223 -185
- package/dist/npm/index.js.map +1 -1
- package/dist/npm/thumbnail/index.d.ts +1 -0
- package/dist/npm/thumbnail/index.d.ts.map +1 -1
- package/dist/npm/thumbnail/index.js +106 -70
- package/dist/npm/thumbnail/index.js.map +1 -1
- package/dist/npm/thumbnail/locationPlate.d.ts +3 -3
- package/dist/npm/thumbnail/locationPlate.d.ts.map +1 -1
- package/dist/npm/thumbnail/plateDelivery.d.ts +18 -0
- package/dist/npm/thumbnail/plateDelivery.d.ts.map +1 -0
- package/dist/npm/thumbnail/toGalleryThumbUrl.d.ts +1 -1
- package/dist/npm/v2/embed/iframeHost.d.ts +4 -8
- package/dist/npm/v2/embed/iframeHost.d.ts.map +1 -1
- package/dist/npm/v2/embed/protocol.d.ts +29 -2
- package/dist/npm/v2/embed/protocol.d.ts.map +1 -1
- package/dist/npm/v2/experience.d.ts +14 -0
- package/dist/npm/v2/experience.d.ts.map +1 -1
- package/dist/npm/v2/liforma-experience-thumbnail.d.ts.map +1 -1
- package/dist/npm/v2/shims/embedBaseUrl.d.ts +4 -1
- package/dist/npm/v2/shims/embedBaseUrl.d.ts.map +1 -1
- package/dist/react/component/experienceComponentLaunch.d.ts.map +1 -1
- package/dist/react/component/experienceComponentRuntime.d.ts +3 -0
- package/dist/react/component/experienceComponentRuntime.d.ts.map +1 -1
- package/dist/react/component/experienceComponentTypes.d.ts +12 -0
- package/dist/react/component/experienceComponentTypes.d.ts.map +1 -1
- package/dist/react/index.js +689 -573
- package/dist/react/index.js.map +1 -1
- package/dist/react/react/Experience.d.ts.map +1 -1
- package/dist/react/react/ExperienceThumbnail.d.ts.map +1 -1
- package/dist/react/thumbnail/index.d.ts +1 -0
- package/dist/react/thumbnail/index.d.ts.map +1 -1
- package/dist/react/thumbnail/locationPlate.d.ts +3 -3
- package/dist/react/thumbnail/locationPlate.d.ts.map +1 -1
- package/dist/react/thumbnail/plateDelivery.d.ts +18 -0
- package/dist/react/thumbnail/plateDelivery.d.ts.map +1 -0
- package/dist/react/thumbnail/plateDelivery.test.d.ts +2 -0
- package/dist/react/thumbnail/plateDelivery.test.d.ts.map +1 -0
- package/dist/react/thumbnail/toGalleryThumbUrl.d.ts +1 -1
- package/dist/react/thumbnail.js +147 -91
- package/dist/react/thumbnail.js.map +1 -1
- package/dist/react/v2/embed/iframeHost.d.ts +4 -8
- package/dist/react/v2/embed/iframeHost.d.ts.map +1 -1
- package/dist/react/v2/embed/protocol.d.ts +29 -2
- package/dist/react/v2/embed/protocol.d.ts.map +1 -1
- package/dist/react/v2/experience.d.ts +14 -0
- package/dist/react/v2/experience.d.ts.map +1 -1
- package/dist/react/v2/shims/embedBaseUrl.d.ts +4 -1
- package/dist/react/v2/shims/embedBaseUrl.d.ts.map +1 -1
- package/dist/sdk/v2/client.js +2 -2
- package/dist/sdk/v2/client.js.map +1 -1
- package/dist/sdk/v2/thumbnail.js +3 -3
- package/dist/sdk/v2/thumbnail.js.map +1 -1
- package/dist/svelte/Experience.svelte +30 -0
- package/dist/svelte/Experience.svelte.d.ts +1 -0
- package/dist/svelte/ExperienceThumbnail.svelte +49 -8
- package/package.json +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExperienceThumbnail.d.ts","sourceRoot":"","sources":["../../../src/react/ExperienceThumbnail.tsx"],"names":[],"mappings":"AAEA,OAAO,EAMN,KAAK,UAAU,IAAI,eAAe,EAElC,MAAM,OAAO,CAAC;AAEf,OAAO,
|
|
1
|
+
{"version":3,"file":"ExperienceThumbnail.d.ts","sourceRoot":"","sources":["../../../src/react/ExperienceThumbnail.tsx"],"names":[],"mappings":"AAEA,OAAO,EAMN,KAAK,UAAU,IAAI,eAAe,EAElC,MAAM,OAAO,CAAC;AAEf,OAAO,EAgBN,KAAK,YAAY,EACjB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,wBAAwB,GAAG;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAMF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,sCAiYlE"}
|
|
@@ -11,4 +11,5 @@ export { prefersScrollLinkedParallax, horizontalParallaxFromViewportY, attachScr
|
|
|
11
11
|
export { attachThumbnailParallax } from './attachThumbnailParallax';
|
|
12
12
|
export { EXPERIENCE_THUMBNAIL_CSS } from './styles';
|
|
13
13
|
export { ensureExperienceThumbnailStyles } from './ensureStyles';
|
|
14
|
+
export { isColourPlateWebpUrl, supportsAvifDecode, thumbnailColourPlateWebpFallbackUrl, thumbnailLocationPlateFallbackUrl, thumbnailPlateSrc, toAvifPlateUrl } from './plateDelivery';
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EACN,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,8BAA8B,EAC9B,iCAAiC,EACjC,kBAAkB,EAClB,8BAA8B,EAC9B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACN,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,6BAA6B,EAC7B,4BAA4B,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EACN,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,8BAA8B,EAC9B,iCAAiC,EACjC,kBAAkB,EAClB,8BAA8B,EAC9B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACN,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,6BAA6B,EAC7B,4BAA4B,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACN,oBAAoB,EACpB,kBAAkB,EAClB,mCAAmC,EACnC,iCAAiC,EACjC,iBAAiB,EACjB,cAAc,EACd,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/** Location colour plates used by ExperienceThumbnail (no zoom/portrait crops). */
|
|
2
|
-
export declare const THUMBNAIL_LOCATION_PLATE_SIZES: readonly ["256x256", "800x450", "1672x941"];
|
|
2
|
+
export declare const THUMBNAIL_LOCATION_PLATE_SIZES: readonly ["256x256", "400x225", "800x450", "1672x941"];
|
|
3
3
|
export type ThumbnailLocationPlateSize = (typeof THUMBNAIL_LOCATION_PLATE_SIZES)[number];
|
|
4
4
|
/**
|
|
5
|
-
* Square / portrait hosts keep the gallery crop. Landscape hosts use
|
|
5
|
+
* Square / portrait hosts keep the gallery crop. Landscape hosts use a 16:9 plate
|
|
6
6
|
* so cover-fit fills height instead of clipping the top and bottom of a square.
|
|
7
|
-
* Unmeasured boxes stay on `256x256`.
|
|
7
|
+
* Unmeasured boxes stay on `256x256`. Hosts 225px tall or smaller use `400x225`.
|
|
8
8
|
*/
|
|
9
9
|
export declare function pickThumbnailLocationPlateSize(width: number, height: number): ThumbnailLocationPlateSize;
|
|
10
10
|
export declare function rewriteThumbnailLocationPlateSize(url: string, size: ThumbnailLocationPlateSize): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locationPlate.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/locationPlate.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,eAAO,MAAM,8BAA8B,
|
|
1
|
+
{"version":3,"file":"locationPlate.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/locationPlate.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,eAAO,MAAM,8BAA8B,wDAAyD,CAAC;AACrG,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAIzF;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC7C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACZ,0BAA0B,CAQ5B;AAED,wBAAgB,iCAAiC,CAChD,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,0BAA0B,GAC9B,MAAM,CAQR;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAC5C,MAAM,IAAI,CAWZ"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CDN colour-plate delivery for thumbnails (avatars + locations).
|
|
3
|
+
* Catalogue identity stays `.webp`; fetch uses `.avif` when the browser can decode it.
|
|
4
|
+
* Depth maps stay WebP. Costume rendered composites have AVIF siblings from the compose worker.
|
|
5
|
+
*/
|
|
6
|
+
/** True when this URL is a colour plate WebP that may have an AVIF sibling (not depth). */
|
|
7
|
+
export declare function isColourPlateWebpUrl(url: string): boolean;
|
|
8
|
+
/** Rewrite a colour-plate `.webp` path to `.avif`, preserving query/hash. */
|
|
9
|
+
export declare function toAvifPlateUrl(url: string): string | null;
|
|
10
|
+
export declare function supportsAvifDecode(): Promise<boolean>;
|
|
11
|
+
export declare function resetAvifDecodeSupportCacheForTests(): void;
|
|
12
|
+
/** WebP catalogue URL → AVIF sibling when `useAvif` is true. */
|
|
13
|
+
export declare function thumbnailPlateSrc(url: string, useAvif: boolean): string;
|
|
14
|
+
/** Colour-plate `.avif` → catalogue `.webp` (compose worker / missing sibling). */
|
|
15
|
+
export declare function thumbnailColourPlateWebpFallbackUrl(url: string): string | null;
|
|
16
|
+
/** 400×225 is colour-only; if missing, step up to the published 800×450 sibling. */
|
|
17
|
+
export declare function thumbnailLocationPlateFallbackUrl(url: string): string | null;
|
|
18
|
+
//# sourceMappingURL=plateDelivery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plateDelivery.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/plateDelivery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,2FAA2F;AAC3F,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CASzD;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOzD;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAWrD;AAED,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D;AAED,gEAAgE;AAChE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAGvE;AAED,mFAAmF;AACnF,wBAAgB,mCAAmC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO9E;AAED,oFAAoF;AACpF,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI5E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plateDelivery.test.d.ts","sourceRoot":"","sources":["../../../src/thumbnail/plateDelivery.test.ts"],"names":[],"mappings":""}
|
|
@@ -3,7 +3,7 @@ export type { ThumbnailLocationPlateSize };
|
|
|
3
3
|
/**
|
|
4
4
|
* Rewrite known Liforma CDN URLs to gallery thumb tiers.
|
|
5
5
|
* Avatars: /{tier}/ → /256/; locations: -{WxH}.webp → the requested plate
|
|
6
|
-
* (`256x256` by default, `800x450` / `1672x941` for landscape hosts).
|
|
6
|
+
* (`256x256` by default, `400x225` / `800x450` / `1672x941` for landscape hosts).
|
|
7
7
|
* Catalog paths (`/locations/…/scene`, `/avatars/{id}`) expand onto the CDN first.
|
|
8
8
|
* Unrecognized URLs are returned unchanged.
|
|
9
9
|
*/
|
package/dist/next/thumbnail.js
CHANGED
|
@@ -8,9 +8,9 @@ function s(e) {
|
|
|
8
8
|
}
|
|
9
9
|
//#endregion
|
|
10
10
|
//#region src/thumbnail/locationPlate.ts
|
|
11
|
-
var c = /(-)(\d+x\d+)(\.webp)(\?|$)/i;
|
|
11
|
+
var c = /(-)(\d+x\d+)(\.(?:webp|avif))(\?|$)/i;
|
|
12
12
|
function l(e, t) {
|
|
13
|
-
return !Number.isFinite(e) || !Number.isFinite(t) || e < 1 || t < 1 || e <= t ? "256x256" : e > 800 || t > 450 ? "1672x941" : "800x450";
|
|
13
|
+
return !Number.isFinite(e) || !Number.isFinite(t) || e < 1 || t < 1 || e <= t ? "256x256" : t <= 225 ? "400x225" : e > 800 || t > 450 ? "1672x941" : "800x450";
|
|
14
14
|
}
|
|
15
15
|
function u(e, t) {
|
|
16
16
|
let n = e.trim();
|
|
@@ -24,7 +24,7 @@ function ee(e, t) {
|
|
|
24
24
|
let r = new ResizeObserver(n);
|
|
25
25
|
return r.observe(e), () => r.disconnect();
|
|
26
26
|
}
|
|
27
|
-
var d = /-(256x256|400x450|800x450|836x971|1672x941|167x94)$/i;
|
|
27
|
+
var d = /-(256x256|400x225|400x450|800x450|836x971|1672x941|167x94)$/i;
|
|
28
28
|
function f(e) {
|
|
29
29
|
return e?.trim().replace(/\/$/, "") || "https://cdn.liforma.ai";
|
|
30
30
|
}
|
|
@@ -232,41 +232,76 @@ function I() {
|
|
|
232
232
|
function L() {
|
|
233
233
|
F === 0 && (F = requestAnimationFrame(I));
|
|
234
234
|
}
|
|
235
|
-
function
|
|
235
|
+
function fe() {
|
|
236
236
|
P || typeof window > "u" || (P = !0, window.addEventListener("scroll", L, { passive: !0 }), window.addEventListener("resize", L, { passive: !0 }));
|
|
237
237
|
}
|
|
238
|
-
function
|
|
238
|
+
function R() {
|
|
239
239
|
N.size > 0 || !P || typeof window > "u" || (P = !1, F !== 0 && (cancelAnimationFrame(F), F = 0), window.removeEventListener("scroll", L), window.removeEventListener("resize", L));
|
|
240
240
|
}
|
|
241
|
-
function
|
|
241
|
+
function pe(e, t) {
|
|
242
242
|
if (!j()) return () => {};
|
|
243
243
|
let n = {
|
|
244
244
|
element: e,
|
|
245
245
|
onParallax: t.onParallax,
|
|
246
246
|
pointerActive: t.pointerActive
|
|
247
247
|
};
|
|
248
|
-
return N.add(n),
|
|
249
|
-
N.delete(n),
|
|
248
|
+
return N.add(n), fe(), n.pointerActive?.() || t.onParallax(M(e.getBoundingClientRect(), window.innerHeight)), () => {
|
|
249
|
+
N.delete(n), R();
|
|
250
250
|
};
|
|
251
251
|
}
|
|
252
252
|
//#endregion
|
|
253
253
|
//#region src/thumbnail/styles.ts
|
|
254
|
-
var
|
|
255
|
-
function
|
|
256
|
-
if (typeof document > "u" ||
|
|
254
|
+
var me = ":host {\n display: block;\n width: 100%;\n height: 100%;\n min-height: 0;\n}\n\n.liforma-et {\n --liforma-et-parallax-x: 0;\n --liforma-et-parallax-y: 0;\n --liforma-et-bg-scale: 1;\n --liforma-et-fg-scale: 1;\n --liforma-et-avatar-scale: 1;\n --liforma-et-bg-shift: 0px;\n --liforma-et-fg-shift: 0px;\n --liforma-et-avatar-shift: 0px;\n --liforma-et-reveal-duration: 420ms;\n\n box-sizing: border-box;\n position: relative;\n display: block;\n width: 100%;\n height: 100%;\n min-height: 0;\n margin: 0;\n padding: 0;\n border: 0;\n border-radius: 0;\n overflow: hidden;\n background: #111;\n color: inherit;\n text-decoration: none;\n cursor: inherit;\n -webkit-tap-highlight-color: transparent;\n}\n\na.liforma-et,\nbutton.liforma-et {\n cursor: pointer;\n}\n\nbutton.liforma-et {\n font: inherit;\n appearance: none;\n}\n\n.liforma-et__placeholder {\n position: absolute;\n inset: 0;\n z-index: 0;\n background:\n radial-gradient(120% 90% at 50% 0%, rgba(255, 255, 255, 0.06), transparent 58%),\n linear-gradient(180deg, #1a1a1a 0%, #101010 100%);\n opacity: 1;\n transition: opacity var(--liforma-et-reveal-duration) ease;\n}\n\n.liforma-et--revealed .liforma-et__placeholder {\n opacity: 0;\n}\n\n.liforma-et__media {\n opacity: 0;\n transition: opacity var(--liforma-et-reveal-duration) ease;\n}\n\n.liforma-et__media--ready {\n opacity: 1;\n}\n\n.liforma-et__background {\n position: absolute;\n inset: 0;\n z-index: 1;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center center;\n transform: translate(\n calc(var(--liforma-et-parallax-x) * var(--liforma-et-bg-shift)),\n calc(var(--liforma-et-parallax-y) * var(--liforma-et-bg-shift))\n )\n scale(var(--liforma-et-bg-scale));\n transform-origin: center center;\n transition:\n opacity var(--liforma-et-reveal-duration) ease,\n transform 160ms ease;\n}\n\n.liforma-et__avatar {\n position: relative;\n z-index: 2;\n display: block;\n width: 100%;\n height: 100%;\n object-fit: contain;\n object-position: center bottom;\n transform: scale(var(--liforma-et-avatar-scale))\n translate(\n calc(var(--liforma-et-parallax-x) * var(--liforma-et-avatar-shift)),\n calc(var(--liforma-et-parallax-y) * var(--liforma-et-avatar-shift))\n );\n transform-origin: center center;\n transition:\n opacity var(--liforma-et-reveal-duration) ease,\n transform 160ms ease;\n}\n\n/* Gallery plates are typically square in a square tile — contain vs cover is a no-op\n without a zoom. Scale the whole scene from the upper third so Face matches\n player fit (location + avatar crop together). */\n.liforma-et--fit-face {\n --liforma-et-avatar-scale: 1.85;\n --liforma-et-bg-scale: 1.85;\n --liforma-et-fg-scale: 1.85;\n}\n\n.liforma-et--fit-face .liforma-et__avatar,\n.liforma-et--fit-face .liforma-et__background,\n.liforma-et--fit-face .liforma-et__foreground {\n transform-origin: 50% 18%;\n}\n\n.liforma-et--fit-face .liforma-et__avatar {\n object-fit: cover;\n object-position: 50% 18%;\n}\n\n/* Bust / medium: less zoom than face so upper chest stays in frame (player 3.75H window). */\n.liforma-et--fit-medium {\n --liforma-et-avatar-scale: 1.35;\n --liforma-et-bg-scale: 1.35;\n --liforma-et-fg-scale: 1.35;\n}\n\n.liforma-et--fit-medium .liforma-et__avatar,\n.liforma-et--fit-medium .liforma-et__background,\n.liforma-et--fit-medium .liforma-et__foreground {\n transform-origin: 50% 28%;\n}\n\n.liforma-et--fit-medium .liforma-et__avatar {\n object-fit: cover;\n object-position: 50% 28%;\n}\n\n.liforma-et__foreground {\n position: absolute;\n inset: 0;\n z-index: 3;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center center;\n pointer-events: none;\n transform: translate(\n calc(var(--liforma-et-parallax-x) * var(--liforma-et-fg-shift) * -1),\n calc(var(--liforma-et-parallax-y) * var(--liforma-et-fg-shift) * -1)\n )\n scale(var(--liforma-et-fg-scale));\n transform-origin: center center;\n transition:\n opacity var(--liforma-et-reveal-duration) ease,\n transform 160ms ease;\n}\n\n.liforma-et--parallax {\n --liforma-et-bg-scale: 1.08;\n --liforma-et-fg-scale: 1.05;\n --liforma-et-avatar-scale: 1.08;\n --liforma-et-bg-shift: 10px;\n --liforma-et-fg-shift: 4px;\n --liforma-et-avatar-shift: 4px;\n}\n\n/* Promote layers only while parallax is active — avoids N compositor surfaces on galleries. */\n.liforma-et--parallax .liforma-et__background,\n.liforma-et--parallax .liforma-et__foreground,\n.liforma-et--parallax .liforma-et__avatar {\n will-change: transform;\n}\n\n.liforma-et--parallax.liforma-et--fit-face {\n --liforma-et-avatar-scale: 1.95;\n --liforma-et-bg-scale: 1.95;\n --liforma-et-fg-scale: 1.95;\n --liforma-et-avatar-shift: 0px;\n}\n\n.liforma-et--parallax.liforma-et--fit-medium {\n --liforma-et-avatar-scale: 1.42;\n --liforma-et-bg-scale: 1.42;\n --liforma-et-fg-scale: 1.42;\n --liforma-et-avatar-shift: 0px;\n}\n\n.liforma-et--scroll-parallax .liforma-et__background,\n.liforma-et--scroll-parallax .liforma-et__foreground,\n.liforma-et--scroll-parallax .liforma-et__avatar {\n transition: opacity var(--liforma-et-reveal-duration) ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .liforma-et {\n --liforma-et-reveal-duration: 0ms;\n }\n\n .liforma-et--parallax {\n --liforma-et-bg-scale: 1;\n --liforma-et-fg-scale: 1;\n --liforma-et-avatar-scale: 1;\n --liforma-et-bg-shift: 0px;\n --liforma-et-fg-shift: 0px;\n --liforma-et-avatar-shift: 0px;\n }\n\n .liforma-et--parallax.liforma-et--fit-face {\n --liforma-et-avatar-scale: 1.85;\n --liforma-et-bg-scale: 1.85;\n --liforma-et-fg-scale: 1.85;\n }\n\n .liforma-et__background,\n .liforma-et__foreground,\n .liforma-et__avatar {\n transition: none;\n }\n}", z = !1;
|
|
255
|
+
function he(e) {
|
|
256
|
+
if (typeof document > "u" || z) return;
|
|
257
257
|
if (document.querySelector("style[data-liforma-et]")) {
|
|
258
|
-
|
|
258
|
+
z = !0;
|
|
259
259
|
return;
|
|
260
260
|
}
|
|
261
261
|
let t = document.createElement("style");
|
|
262
|
-
t.setAttribute("data-liforma-et", ""), t.textContent = e, document.head.appendChild(t),
|
|
262
|
+
t.setAttribute("data-liforma-et", ""), t.textContent = e, document.head.appendChild(t), z = !0;
|
|
263
|
+
}
|
|
264
|
+
//#endregion
|
|
265
|
+
//#region src/thumbnail/plateDelivery.ts
|
|
266
|
+
var ge = "data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=", B = null;
|
|
267
|
+
function _e(e) {
|
|
268
|
+
let t = e.trim();
|
|
269
|
+
if (!t || t.startsWith("blob:") || t.startsWith("data:")) return !1;
|
|
270
|
+
let n = t.split(/[?#]/)[0] ?? t, r = /\/avatars\//i.test(n), i = /\/locations\//i.test(n);
|
|
271
|
+
return !r && !i || /\.depth\.webp$/i.test(n) ? !1 : /\.webp$/i.test(n);
|
|
272
|
+
}
|
|
273
|
+
function V(e) {
|
|
274
|
+
if (!_e(e)) return null;
|
|
275
|
+
let t = e.search(/[?#]/);
|
|
276
|
+
if (t < 0) return e.replace(/\.webp$/i, ".avif");
|
|
277
|
+
let n = e.slice(0, t), r = e.slice(t);
|
|
278
|
+
return `${n.replace(/\.webp$/i, ".avif")}${r}`;
|
|
279
|
+
}
|
|
280
|
+
function ve() {
|
|
281
|
+
return typeof Image > "u" ? Promise.resolve(!1) : (B ||= new Promise((e) => {
|
|
282
|
+
let t = new Image();
|
|
283
|
+
t.onload = () => e(t.naturalWidth > 0 && t.naturalHeight > 0), t.onerror = () => e(!1), t.src = ge;
|
|
284
|
+
}), B);
|
|
285
|
+
}
|
|
286
|
+
function H(e, t) {
|
|
287
|
+
return t ? V(e) ?? e : e;
|
|
288
|
+
}
|
|
289
|
+
function ye(e) {
|
|
290
|
+
let t = e.trim(), n = t.search(/[?#]/), r = n < 0 ? t : t.slice(0, n);
|
|
291
|
+
if (!/\.avif$/i.test(r)) return null;
|
|
292
|
+
let i = r.replace(/\.avif$/i, ".webp");
|
|
293
|
+
return n < 0 ? i : `${i}${t.slice(n)}`;
|
|
294
|
+
}
|
|
295
|
+
function be(e) {
|
|
296
|
+
let t = e.trim();
|
|
297
|
+
return /-400x225\.(webp|avif)(?:$|[?#])/i.test(t) ? t.replace(/-400x225\.(webp|avif)/i, "-800x450.$1") : null;
|
|
263
298
|
}
|
|
264
299
|
//#endregion
|
|
265
300
|
//#region src/react/ExperienceThumbnail.tsx
|
|
266
|
-
function
|
|
301
|
+
function U(e, t) {
|
|
267
302
|
return `${e} liforma-et__media${t ? " liforma-et__media--ready" : ""}`;
|
|
268
303
|
}
|
|
269
|
-
function
|
|
304
|
+
function xe(c) {
|
|
270
305
|
let { galleryThumb: u, avatarImage: d, backgroundImage: f, foregroundImage: p, alt: m, experienceId: h, href: g, target: _, rel: te, onClick: v, returnUrl: y, playerBaseUrl: b, parallax: ne = !0, fit: ie = "full", lazy: x = !0, className: ae = "", fallbackImage: S, normalizeUrls: C = !0, cdnBaseUrl: w } = c, T = n(null), E = n(!1), [ce, le] = r(0), [D, ue] = r(0), O = l(ce, D), k = t(() => re({
|
|
271
306
|
galleryThumb: u,
|
|
272
307
|
avatarImage: d,
|
|
@@ -289,11 +324,13 @@ function he(c) {
|
|
|
289
324
|
href: g,
|
|
290
325
|
hasClickHandler: typeof v == "function",
|
|
291
326
|
experienceId: h
|
|
292
|
-
}), j = A === "anchor" && !g?.trim() && !!h?.trim(), N = !!k?.backgroundImage, P = ne !== !1, [F, I] = r(!x), [L,
|
|
327
|
+
}), j = A === "anchor" && !g?.trim() && !!h?.trim(), N = !!k?.backgroundImage, P = ne !== !1, [F, I] = r(!x), [L, fe] = r(!1), [R, z] = r(!1), [ge, B] = r(!1), [_e, V] = r(!1), [xe, Se] = r(!1), [Ce, W] = r(!1), [G, we] = r(!1), [Te, K] = r(0), [Ee, q] = r(0), [De, Oe] = r(!1), [ke, J] = r(!1), [Ae, Y] = r(!1), [je, X] = r(!1), [Z, Me] = r(), Q = k ? De && k.fallbackImage ? k.fallbackImage : k.avatarImage : "";
|
|
293
328
|
e(() => {
|
|
294
|
-
me(
|
|
329
|
+
he(me), ve().then((e) => {
|
|
330
|
+
fe(e), z(!0);
|
|
331
|
+
});
|
|
295
332
|
}, []), e(() => {
|
|
296
|
-
|
|
333
|
+
Me(se({
|
|
297
334
|
href: g,
|
|
298
335
|
experienceId: h,
|
|
299
336
|
returnUrl: y,
|
|
@@ -307,17 +344,17 @@ function he(c) {
|
|
|
307
344
|
b,
|
|
308
345
|
j
|
|
309
346
|
]), e(() => {
|
|
310
|
-
|
|
347
|
+
J(!1), Y(!1), X(!1), Oe(!1), B(!1), V(!1), Se(!1);
|
|
311
348
|
}, [
|
|
312
349
|
k?.backgroundImage,
|
|
313
350
|
k?.foregroundImage,
|
|
314
|
-
|
|
351
|
+
Q
|
|
315
352
|
]), e(() => {
|
|
316
353
|
let e = T.current;
|
|
317
354
|
if (e) return ee(e, (e, t) => {
|
|
318
355
|
le(e), ue(t);
|
|
319
356
|
});
|
|
320
|
-
}, [A,
|
|
357
|
+
}, [A, Z]), e(() => {
|
|
321
358
|
let e = T.current;
|
|
322
359
|
if (e) {
|
|
323
360
|
if (!x) {
|
|
@@ -332,12 +369,12 @@ function he(c) {
|
|
|
332
369
|
x,
|
|
333
370
|
k,
|
|
334
371
|
A,
|
|
335
|
-
|
|
372
|
+
Z
|
|
336
373
|
]), e(() => {
|
|
337
374
|
let e = T.current;
|
|
338
|
-
if (!(!e || !P)) return
|
|
375
|
+
if (!(!e || !P)) return pe(e, {
|
|
339
376
|
onParallax: (e) => {
|
|
340
|
-
|
|
377
|
+
we(!0), E.current || (K(e), q(0));
|
|
341
378
|
},
|
|
342
379
|
pointerActive: () => E.current
|
|
343
380
|
});
|
|
@@ -345,23 +382,23 @@ function he(c) {
|
|
|
345
382
|
P,
|
|
346
383
|
k,
|
|
347
384
|
A,
|
|
348
|
-
|
|
385
|
+
Z
|
|
349
386
|
]);
|
|
350
|
-
let
|
|
351
|
-
if (!P ||
|
|
387
|
+
let Ne = (e) => {
|
|
388
|
+
if (!P || G) return;
|
|
352
389
|
let t = e.currentTarget.getBoundingClientRect();
|
|
353
|
-
t.width <= 0 || t.height <= 0 || (
|
|
354
|
-
},
|
|
390
|
+
t.width <= 0 || t.height <= 0 || (K(((e.clientX - t.left) / t.width - .5) * 2), q(((e.clientY - t.top) / t.height - .5) * 2));
|
|
391
|
+
}, $ = (e) => {
|
|
355
392
|
let t = E.current;
|
|
356
|
-
E.current = !1,
|
|
357
|
-
},
|
|
393
|
+
E.current = !1, W(!1), G && t ? (K(M(e.getBoundingClientRect(), window.innerHeight)), q(0)) : G || (K(0), q(0));
|
|
394
|
+
}, Pe = (e) => {
|
|
358
395
|
if (!P) return;
|
|
359
|
-
E.current = !0, e.pointerType === "mouse" &&
|
|
396
|
+
E.current = !0, e.pointerType === "mouse" && W(!0);
|
|
360
397
|
let t = e.currentTarget, n = () => {
|
|
361
|
-
|
|
398
|
+
$(t), window.removeEventListener("pointerup", n), window.removeEventListener("pointercancel", n);
|
|
362
399
|
};
|
|
363
400
|
window.addEventListener("pointerup", n), window.addEventListener("pointercancel", n);
|
|
364
|
-
},
|
|
401
|
+
}, Fe = (e) => {
|
|
365
402
|
if (v?.(e), !e.defaultPrevented && j && !y?.trim()) {
|
|
366
403
|
let t = se({
|
|
367
404
|
experienceId: h,
|
|
@@ -372,106 +409,125 @@ function he(c) {
|
|
|
372
409
|
}
|
|
373
410
|
};
|
|
374
411
|
if (!k) return null;
|
|
375
|
-
let
|
|
412
|
+
let Ie = P && (Ce || G), Le = F && R && (Ae || ke || je), Re = [
|
|
376
413
|
"liforma-et",
|
|
377
414
|
N ? "liforma-et--scene" : "",
|
|
378
415
|
s(ie),
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
F && !
|
|
382
|
-
|
|
416
|
+
Ie ? "liforma-et--parallax" : "",
|
|
417
|
+
G ? "liforma-et--scroll-parallax" : "",
|
|
418
|
+
F && !Le ? "liforma-et--loading" : "",
|
|
419
|
+
Le ? "liforma-et--revealed" : "",
|
|
383
420
|
ae
|
|
384
|
-
].filter(Boolean).join(" "),
|
|
385
|
-
"--liforma-et-parallax-x":
|
|
386
|
-
"--liforma-et-parallax-y":
|
|
387
|
-
},
|
|
421
|
+
].filter(Boolean).join(" "), ze = {
|
|
422
|
+
"--liforma-et-parallax-x": Te,
|
|
423
|
+
"--liforma-et-parallax-y": Ee
|
|
424
|
+
}, Be = (e, t) => {
|
|
388
425
|
e.complete && t(!0);
|
|
389
|
-
},
|
|
426
|
+
}, Ve = /* @__PURE__ */ o(i, { children: [
|
|
390
427
|
/* @__PURE__ */ a("span", {
|
|
391
428
|
className: "liforma-et__placeholder",
|
|
392
429
|
"aria-hidden": "true"
|
|
393
430
|
}),
|
|
394
|
-
F && k.backgroundImage ? /* @__PURE__ */ a("img", {
|
|
395
|
-
className:
|
|
396
|
-
src: k.backgroundImage,
|
|
431
|
+
F && R && k.backgroundImage ? /* @__PURE__ */ a("img", {
|
|
432
|
+
className: U("liforma-et__background", ke),
|
|
433
|
+
src: H(k.backgroundImage, L),
|
|
397
434
|
alt: "",
|
|
398
435
|
decoding: "async",
|
|
399
436
|
ref: (e) => {
|
|
400
|
-
e &&
|
|
437
|
+
e && Be(e, J);
|
|
401
438
|
},
|
|
402
|
-
onLoad: () =>
|
|
403
|
-
onError: () =>
|
|
439
|
+
onLoad: () => J(!0),
|
|
440
|
+
onError: (e) => {
|
|
441
|
+
let t = e.currentTarget, n = be(t.src);
|
|
442
|
+
if (n && !ge) {
|
|
443
|
+
B(!0), t.src = n;
|
|
444
|
+
return;
|
|
445
|
+
}
|
|
446
|
+
J(!0);
|
|
447
|
+
}
|
|
404
448
|
}) : null,
|
|
405
|
-
F &&
|
|
406
|
-
className:
|
|
407
|
-
src:
|
|
449
|
+
F && R && Q ? /* @__PURE__ */ a("img", {
|
|
450
|
+
className: U("liforma-et__avatar", Ae),
|
|
451
|
+
src: H(Q, L),
|
|
408
452
|
alt: "",
|
|
409
453
|
decoding: "async",
|
|
410
454
|
ref: (e) => {
|
|
411
|
-
e &&
|
|
455
|
+
e && Be(e, Y);
|
|
412
456
|
},
|
|
413
|
-
onLoad: () =>
|
|
414
|
-
onError: () => {
|
|
415
|
-
|
|
457
|
+
onLoad: () => Y(!0),
|
|
458
|
+
onError: (e) => {
|
|
459
|
+
let t = e.currentTarget, n = ye(t.src);
|
|
460
|
+
if (n && !xe) {
|
|
461
|
+
Se(!0), t.src = n;
|
|
462
|
+
return;
|
|
463
|
+
}
|
|
464
|
+
k.fallbackImage ? Oe(!0) : Y(!0);
|
|
416
465
|
}
|
|
417
466
|
}) : null,
|
|
418
|
-
F && k.foregroundImage ? /* @__PURE__ */ a("img", {
|
|
419
|
-
className:
|
|
420
|
-
src: k.foregroundImage,
|
|
467
|
+
F && R && k.foregroundImage ? /* @__PURE__ */ a("img", {
|
|
468
|
+
className: U("liforma-et__foreground", je),
|
|
469
|
+
src: H(k.foregroundImage, L),
|
|
421
470
|
alt: "",
|
|
422
471
|
decoding: "async",
|
|
423
472
|
ref: (e) => {
|
|
424
|
-
e &&
|
|
473
|
+
e && Be(e, X);
|
|
425
474
|
},
|
|
426
|
-
onLoad: () =>
|
|
427
|
-
onError: () =>
|
|
475
|
+
onLoad: () => X(!0),
|
|
476
|
+
onError: (e) => {
|
|
477
|
+
let t = e.currentTarget, n = be(t.src);
|
|
478
|
+
if (n && !_e) {
|
|
479
|
+
V(!0), t.src = n;
|
|
480
|
+
return;
|
|
481
|
+
}
|
|
482
|
+
X(!0);
|
|
483
|
+
}
|
|
428
484
|
}) : null
|
|
429
|
-
] }),
|
|
430
|
-
onPointerDown:
|
|
431
|
-
onPointerUp: (e) =>
|
|
432
|
-
onPointerCancel: (e) =>
|
|
485
|
+
] }), He = {
|
|
486
|
+
onPointerDown: Pe,
|
|
487
|
+
onPointerUp: (e) => $(e.currentTarget),
|
|
488
|
+
onPointerCancel: (e) => $(e.currentTarget),
|
|
433
489
|
onPointerEnter: (e) => {
|
|
434
|
-
P && e.pointerType === "mouse" &&
|
|
490
|
+
P && e.pointerType === "mouse" && W(!0);
|
|
435
491
|
},
|
|
436
|
-
onPointerMove:
|
|
492
|
+
onPointerMove: Ne,
|
|
437
493
|
onPointerLeave: () => {
|
|
438
|
-
E.current || (
|
|
494
|
+
E.current || (W(!1), G || (K(0), q(0)));
|
|
439
495
|
}
|
|
440
|
-
},
|
|
496
|
+
}, Ue = (e) => {
|
|
441
497
|
T.current = e;
|
|
442
498
|
};
|
|
443
|
-
return A === "anchor" &&
|
|
444
|
-
ref:
|
|
445
|
-
className:
|
|
446
|
-
style:
|
|
447
|
-
href:
|
|
499
|
+
return A === "anchor" && Z ? /* @__PURE__ */ a("a", {
|
|
500
|
+
ref: Ue,
|
|
501
|
+
className: Re,
|
|
502
|
+
style: ze,
|
|
503
|
+
href: Z,
|
|
448
504
|
target: _,
|
|
449
505
|
rel: te,
|
|
450
506
|
"aria-label": m,
|
|
451
|
-
onClick:
|
|
452
|
-
...
|
|
453
|
-
children:
|
|
507
|
+
onClick: Fe,
|
|
508
|
+
...He,
|
|
509
|
+
children: Ve
|
|
454
510
|
}) : A === "button" ? /* @__PURE__ */ a("button", {
|
|
455
511
|
type: "button",
|
|
456
|
-
ref:
|
|
457
|
-
className:
|
|
458
|
-
style:
|
|
512
|
+
ref: Ue,
|
|
513
|
+
className: Re,
|
|
514
|
+
style: ze,
|
|
459
515
|
"aria-label": m,
|
|
460
|
-
onClick:
|
|
461
|
-
...
|
|
462
|
-
children:
|
|
516
|
+
onClick: Fe,
|
|
517
|
+
...He,
|
|
518
|
+
children: Ve
|
|
463
519
|
}) : /* @__PURE__ */ a("div", {
|
|
464
|
-
ref:
|
|
465
|
-
className:
|
|
466
|
-
style:
|
|
520
|
+
ref: Ue,
|
|
521
|
+
className: Re,
|
|
522
|
+
style: ze,
|
|
467
523
|
role: m ? "img" : void 0,
|
|
468
524
|
"aria-label": m || void 0,
|
|
469
525
|
"aria-hidden": m ? void 0 : !0,
|
|
470
|
-
...
|
|
471
|
-
children:
|
|
526
|
+
...He,
|
|
527
|
+
children: Ve
|
|
472
528
|
});
|
|
473
529
|
}
|
|
474
530
|
//#endregion
|
|
475
|
-
export {
|
|
531
|
+
export { xe as ExperienceThumbnail };
|
|
476
532
|
|
|
477
533
|
//# sourceMappingURL=thumbnail.js.map
|