@uxbertlabs/reportly 1.0.42 → 1.0.44
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/features/screenshot.d.ts +4 -0
- package/dist/features/screenshot.d.ts.map +1 -1
- package/dist/index.cjs.js +11 -28
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +11 -28
- package/dist/index.esm.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -22,6 +22,10 @@ declare class Screenshot {
|
|
|
22
22
|
* Wait for fonts to load
|
|
23
23
|
*/
|
|
24
24
|
private waitForFonts;
|
|
25
|
+
/**
|
|
26
|
+
* Force a reflow to ensure styles are applied
|
|
27
|
+
*/
|
|
28
|
+
private forceReflow;
|
|
25
29
|
capture(mode?: "viewport" | "fullpage"): Promise<string>;
|
|
26
30
|
private hideUXbertElements;
|
|
27
31
|
private showUXbertElements;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/features/screenshot.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AAEvE,cAAM,UAAU;IACd,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAkC;gBAEpC,KAAK,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM;IAS9G;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ;;OAEG;YACW,gBAAgB;IAmB9B;;OAEG;YACW,aAAa;IA+C3B;;OAEG;YACW,YAAY;
|
|
1
|
+
{"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/features/screenshot.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AAEvE,cAAM,UAAU;IACd,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAkC;gBAEpC,KAAK,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM;IAS9G;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ;;OAEG;YACW,gBAAgB;IAmB9B;;OAEG;YACW,aAAa;IA+C3B;;OAEG;YACW,YAAY;IAc1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAKb,OAAO,CAAC,IAAI,GAAE,UAAU,GAAG,UAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAsM1E,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,iBAAiB;IA6DzB,OAAO,CAAC,iBAAiB;IAOzB;;;OAGG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAWtC;;OAEG;IACH,QAAQ,IAAI,eAAe;IAI3B;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;IAIhD;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC,aAAa,IAAI,MAAM,GAAG,IAAI;IAI9B,KAAK,IAAI,IAAI;CAGd;AAED,eAAe,UAAU,CAAC"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -9397,6 +9397,13 @@ class Screenshot {
|
|
|
9397
9397
|
}
|
|
9398
9398
|
}
|
|
9399
9399
|
}
|
|
9400
|
+
/**
|
|
9401
|
+
* Force a reflow to ensure styles are applied
|
|
9402
|
+
*/
|
|
9403
|
+
forceReflow() {
|
|
9404
|
+
// Reading offsetHeight forces a reflow
|
|
9405
|
+
document.body.offsetHeight;
|
|
9406
|
+
}
|
|
9400
9407
|
async capture(mode = "fullpage") {
|
|
9401
9408
|
const context = {
|
|
9402
9409
|
mode,
|
|
@@ -9414,6 +9421,8 @@ class Screenshot {
|
|
|
9414
9421
|
// Hide loading screen and UXbert UI elements BEFORE capturing
|
|
9415
9422
|
this.hideLoadingScreen();
|
|
9416
9423
|
this.hideUXbertElements();
|
|
9424
|
+
// Force a reflow to ensure all styles are computed
|
|
9425
|
+
this.forceReflow();
|
|
9417
9426
|
// Hook: beforeCapture - allow developers to modify DOM before capture
|
|
9418
9427
|
if (this.hooks.beforeCapture) {
|
|
9419
9428
|
await Promise.resolve(this.hooks.beforeCapture(context));
|
|
@@ -9518,34 +9527,8 @@ class Screenshot {
|
|
|
9518
9527
|
// Increased timeout for slow-loading images
|
|
9519
9528
|
removeContainer: true,
|
|
9520
9529
|
scale: window.devicePixelRatio || 1,
|
|
9521
|
-
|
|
9522
|
-
|
|
9523
|
-
if (element.id === "uxbert-screenshot-loading") {
|
|
9524
|
-
return true;
|
|
9525
|
-
}
|
|
9526
|
-
// Ignore Uxbert elements
|
|
9527
|
-
if (element.getAttribute("data-uxbert-reportly") !== null || element.className?.toString().includes("uxbert-") || element.id?.includes("uxbert-")) {
|
|
9528
|
-
return true;
|
|
9529
|
-
}
|
|
9530
|
-
// Skip cross-origin images that might cause issues
|
|
9531
|
-
if (element.tagName === "IMG") {
|
|
9532
|
-
const img = element;
|
|
9533
|
-
try {
|
|
9534
|
-
// Test if image is accessible
|
|
9535
|
-
const testCanvas = document.createElement("canvas");
|
|
9536
|
-
const ctx = testCanvas.getContext("2d");
|
|
9537
|
-
testCanvas.width = 1;
|
|
9538
|
-
testCanvas.height = 1;
|
|
9539
|
-
ctx?.drawImage(img, 0, 0, 1, 1);
|
|
9540
|
-
testCanvas.toDataURL();
|
|
9541
|
-
return false; // Include the image
|
|
9542
|
-
} catch (e) {
|
|
9543
|
-
console.warn("Skipping cross-origin image:", img.src);
|
|
9544
|
-
return true;
|
|
9545
|
-
}
|
|
9546
|
-
}
|
|
9547
|
-
return false;
|
|
9548
|
-
}
|
|
9530
|
+
scrollY: 0,
|
|
9531
|
+
scrollX: 0
|
|
9549
9532
|
});
|
|
9550
9533
|
}
|
|
9551
9534
|
// Show UXbert UI elements again
|