@zohaibarsalan/screenshotter 0.1.12 → 0.1.18

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.
@@ -4,28 +4,6 @@ import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
4
4
  import html2canvas from "html2canvas-pro";
5
5
  import { buildCaptureFileParts, clampQualityToScale, } from "./protocol.js";
6
6
  const UI_MARKER_ATTR = "data-screenshotter-ui";
7
- const CAPTURE_COLOR_PROPERTIES = [
8
- "color",
9
- "background-color",
10
- "background-image",
11
- "border-top-color",
12
- "border-right-color",
13
- "border-bottom-color",
14
- "border-left-color",
15
- "outline-color",
16
- "text-decoration-color",
17
- "text-shadow",
18
- "box-shadow",
19
- "caret-color",
20
- "fill",
21
- "stroke",
22
- "-webkit-text-fill-color",
23
- "-webkit-text-stroke-color",
24
- ];
25
- const OKLCH_LIKE_TOKEN_PATTERN = /\bokl(?:ab|ch)\([^)]*\)/gi;
26
- const CSS_NUMBER_PATTERN = /^[+-]?(?:\d+\.?\d*|\.\d+)(?:e[+-]?\d+)?$/i;
27
- const OKL_TOKEN_CACHE = new Map();
28
- let oklColorResolverElement = null;
29
7
  const THEME_STORAGE_KEYS = [
30
8
  "vite-ui-theme",
31
9
  "theme",
@@ -1058,14 +1036,6 @@ function assertBrowser() {
1058
1036
  throw new Error("ScreenshotterWidget can only run in a browser.");
1059
1037
  }
1060
1038
  }
1061
- function hasUnsupportedColorFunction(value) {
1062
- const normalized = value.toLowerCase();
1063
- return normalized.includes("oklch") || normalized.includes("oklab");
1064
- }
1065
- function isUnsupportedColorFunctionError(error) {
1066
- const message = toFriendlyError(error).toLowerCase();
1067
- return message.includes("unsupported color function") && hasUnsupportedColorFunction(message);
1068
- }
1069
1039
  function clamp(value, min, max) {
1070
1040
  return Math.min(max, Math.max(min, value));
1071
1041
  }
@@ -1080,341 +1050,12 @@ function isAbortError(error) {
1080
1050
  const message = toFriendlyError(error).toLowerCase();
1081
1051
  return message.includes("abort");
1082
1052
  }
1083
- function parseCssNumber(raw) {
1084
- const token = raw.trim();
1085
- if (!CSS_NUMBER_PATTERN.test(token))
1086
- return null;
1087
- const parsed = Number(token);
1088
- if (!Number.isFinite(parsed))
1089
- return null;
1090
- return parsed;
1091
- }
1092
- function parseAlpha(raw) {
1093
- if (!raw)
1094
- return 1;
1095
- const token = raw.trim().toLowerCase();
1096
- if (!token)
1097
- return 1;
1098
- if (token.endsWith("%")) {
1099
- const numeric = parseCssNumber(token.slice(0, -1));
1100
- if (numeric === null)
1101
- return null;
1102
- return clamp(numeric / 100, 0, 1);
1103
- }
1104
- const numeric = parseCssNumber(token);
1105
- if (numeric === null)
1106
- return null;
1107
- return clamp(numeric, 0, 1);
1108
- }
1109
- function parseHueDegrees(raw) {
1110
- const token = raw.trim().toLowerCase();
1111
- if (!token || token === "none")
1112
- return 0;
1113
- const parseUnitValue = (suffix, multiplier) => {
1114
- if (!token.endsWith(suffix))
1115
- return null;
1116
- const numeric = parseCssNumber(token.slice(0, -suffix.length));
1117
- if (numeric === null)
1118
- return null;
1119
- return numeric * multiplier;
1120
- };
1121
- const unitValue = parseUnitValue("deg", 1) ??
1122
- parseUnitValue("grad", 0.9) ??
1123
- parseUnitValue("rad", 180 / Math.PI) ??
1124
- parseUnitValue("turn", 360);
1125
- if (unitValue !== null)
1126
- return unitValue;
1127
- return parseCssNumber(token);
1128
- }
1129
- function parseLightness(raw) {
1130
- const token = raw.trim().toLowerCase();
1131
- if (!token)
1132
- return null;
1133
- if (token.endsWith("%")) {
1134
- const numeric = parseCssNumber(token.slice(0, -1));
1135
- if (numeric === null)
1136
- return null;
1137
- return clamp(numeric / 100, 0, 1);
1138
- }
1139
- const numeric = parseCssNumber(token);
1140
- if (numeric === null)
1141
- return null;
1142
- return clamp(numeric, 0, 1);
1143
- }
1144
- function parseChroma(raw) {
1145
- const token = raw.trim().toLowerCase();
1146
- if (!token)
1147
- return null;
1148
- if (token.endsWith("%")) {
1149
- const numeric = parseCssNumber(token.slice(0, -1));
1150
- if (numeric === null)
1151
- return null;
1152
- return Math.max(0, (numeric / 100) * 0.4);
1153
- }
1154
- const numeric = parseCssNumber(token);
1155
- if (numeric === null)
1156
- return null;
1157
- return Math.max(0, numeric);
1158
- }
1159
- function parseOklabAxis(raw) {
1160
- const token = raw.trim().toLowerCase();
1161
- if (!token)
1162
- return null;
1163
- if (token.endsWith("%")) {
1164
- const numeric = parseCssNumber(token.slice(0, -1));
1165
- if (numeric === null)
1166
- return null;
1167
- return (numeric / 100) * 0.4;
1168
- }
1169
- return parseCssNumber(token);
1170
- }
1171
- function splitFunctionBodyAndAlpha(body) {
1172
- let depth = 0;
1173
- for (let i = 0; i < body.length; i += 1) {
1174
- const ch = body[i];
1175
- if (ch === "(")
1176
- depth += 1;
1177
- else if (ch === ")")
1178
- depth = Math.max(0, depth - 1);
1179
- else if (ch === "/" && depth === 0) {
1180
- return {
1181
- channelsPart: body.slice(0, i).trim(),
1182
- alphaPart: body.slice(i + 1).trim(),
1183
- };
1184
- }
1185
- }
1186
- return {
1187
- channelsPart: body.trim(),
1188
- alphaPart: null,
1189
- };
1190
- }
1191
- function gammaEncodeSrgb(linear) {
1192
- const abs = Math.abs(linear);
1193
- const encoded = abs > 0.0031308
1194
- ? Math.sign(linear) * (1.055 * Math.pow(abs, 1 / 2.4) - 0.055)
1195
- : 12.92 * linear;
1196
- return clamp(encoded, 0, 1);
1197
- }
1198
- function oklabToSrgb(lightness, a, b) {
1199
- const l = lightness + 0.3963377774 * a + 0.2158037573 * b;
1200
- const m = lightness - 0.1055613458 * a - 0.0638541728 * b;
1201
- const s = lightness - 0.0894841775 * a - 1.291485548 * b;
1202
- const l3 = l * l * l;
1203
- const m3 = m * m * m;
1204
- const s3 = s * s * s;
1205
- const redLinear = 4.0767416621 * l3 - 3.3077115913 * m3 + 0.2309699292 * s3;
1206
- const greenLinear = -1.2684380046 * l3 + 2.6097574011 * m3 - 0.3413193965 * s3;
1207
- const blueLinear = -0.0041960863 * l3 - 0.7034186147 * m3 + 1.707614701 * s3;
1208
- return [
1209
- gammaEncodeSrgb(redLinear),
1210
- gammaEncodeSrgb(greenLinear),
1211
- gammaEncodeSrgb(blueLinear),
1212
- ];
1213
- }
1214
- function toRgbCssString(red, green, blue, alpha) {
1215
- const r255 = Math.round(clamp(red, 0, 1) * 255);
1216
- const g255 = Math.round(clamp(green, 0, 1) * 255);
1217
- const b255 = Math.round(clamp(blue, 0, 1) * 255);
1218
- if (alpha >= 1) {
1219
- return `rgb(${r255}, ${g255}, ${b255})`;
1220
- }
1221
- return `rgba(${r255}, ${g255}, ${b255}, ${Number(alpha.toFixed(4))})`;
1222
- }
1223
- function parseOklToken(token) {
1224
- const match = token.trim().match(/^okl(ch|ab)\((.*)\)$/i);
1225
- if (!match)
1226
- return null;
1227
- const type = match[1]?.toLowerCase();
1228
- const inner = match[2] ?? "";
1229
- if (!type || !inner.trim())
1230
- return null;
1231
- const { channelsPart, alphaPart } = splitFunctionBodyAndAlpha(inner);
1232
- const alpha = parseAlpha(alphaPart);
1233
- if (alpha === null)
1234
- return null;
1235
- const tokens = channelsPart.split(/\s+/).filter(Boolean);
1236
- if (tokens.length !== 3)
1237
- return null;
1238
- const lightness = parseLightness(tokens[0]);
1239
- if (lightness === null)
1240
- return null;
1241
- if (type === "ab") {
1242
- const axisA = parseOklabAxis(tokens[1]);
1243
- const axisB = parseOklabAxis(tokens[2]);
1244
- if (axisA === null || axisB === null)
1245
- return null;
1246
- return {
1247
- lightness,
1248
- a: axisA,
1249
- b: axisB,
1250
- alpha,
1251
- };
1252
- }
1253
- const chroma = parseChroma(tokens[1]);
1254
- const hue = parseHueDegrees(tokens[2]);
1255
- if (chroma === null || hue === null)
1256
- return null;
1257
- const hueRadians = (hue * Math.PI) / 180;
1258
- return {
1259
- lightness,
1260
- a: chroma * Math.cos(hueRadians),
1261
- b: chroma * Math.sin(hueRadians),
1262
- alpha,
1263
- };
1264
- }
1265
- function getOklColorResolverElement() {
1266
- if (typeof document === "undefined")
1267
- return null;
1268
- if (oklColorResolverElement?.isConnected) {
1269
- return oklColorResolverElement;
1270
- }
1271
- const host = document.body || document.documentElement;
1272
- if (!host)
1273
- return null;
1274
- const resolver = document.createElement("span");
1275
- resolver.setAttribute(UI_MARKER_ATTR, "true");
1276
- resolver.setAttribute("aria-hidden", "true");
1277
- resolver.style.position = "fixed";
1278
- resolver.style.left = "-99999px";
1279
- resolver.style.top = "-99999px";
1280
- resolver.style.width = "0";
1281
- resolver.style.height = "0";
1282
- resolver.style.pointerEvents = "none";
1283
- resolver.style.opacity = "0";
1284
- host.appendChild(resolver);
1285
- oklColorResolverElement = resolver;
1286
- return resolver;
1287
- }
1288
- function resolveOklTokenWithBrowser(token) {
1289
- const cached = OKL_TOKEN_CACHE.get(token);
1290
- if (cached)
1291
- return cached;
1292
- const resolver = getOklColorResolverElement();
1293
- if (!resolver)
1294
- return null;
1295
- resolver.style.color = "";
1296
- resolver.style.color = token;
1297
- if (!resolver.style.color) {
1298
- return null;
1299
- }
1300
- const resolved = window.getComputedStyle(resolver).color;
1301
- if (!resolved || hasUnsupportedColorFunction(resolved)) {
1302
- return null;
1303
- }
1304
- OKL_TOKEN_CACHE.set(token, resolved);
1305
- return resolved;
1306
- }
1307
- function normalizeOklColorToken(token) {
1308
- const browserResolved = resolveOklTokenWithBrowser(token);
1309
- if (browserResolved)
1310
- return browserResolved;
1311
- const parsed = parseOklToken(token);
1312
- if (!parsed)
1313
- return token;
1314
- const [red, green, blue] = oklabToSrgb(parsed.lightness, parsed.a, parsed.b);
1315
- const fallback = toRgbCssString(red, green, blue, parsed.alpha);
1316
- OKL_TOKEN_CACHE.set(token, fallback);
1317
- return fallback;
1318
- }
1319
- function normalizeOklColorsInValue(value) {
1320
- return value.replace(OKLCH_LIKE_TOKEN_PATTERN, (token) => normalizeOklColorToken(token));
1321
- }
1322
- function shouldSkipStyleCopyElement(element) {
1323
- if (isWidgetElement(element))
1324
- return true;
1325
- const tag = element.tagName;
1326
- return (tag === "SCRIPT" ||
1327
- tag === "NOSCRIPT" ||
1328
- tag === "STYLE" ||
1329
- tag === "LINK" ||
1330
- tag === "META" ||
1331
- tag === "BASE");
1332
- }
1333
- function applyCaptureSafeComputedStyles(sourceDocument, clonedDocument) {
1334
- if (!sourceDocument.body || !clonedDocument.body)
1335
- return;
1336
- const sourceWindow = sourceDocument.defaultView ?? window;
1337
- const sourceNodes = [
1338
- sourceDocument.documentElement,
1339
- sourceDocument.body,
1340
- ...Array.from(sourceDocument.body.querySelectorAll("*")),
1341
- ].filter((element) => !shouldSkipStyleCopyElement(element));
1342
- const clonedNodes = [
1343
- clonedDocument.documentElement,
1344
- clonedDocument.body,
1345
- ...Array.from(clonedDocument.body.querySelectorAll("*")),
1346
- ].filter((element) => !shouldSkipStyleCopyElement(element));
1347
- if (sourceNodes.length !== clonedNodes.length) {
1348
- return;
1349
- }
1350
- for (let i = 0; i < sourceNodes.length; i += 1) {
1351
- const source = sourceNodes[i];
1352
- const target = clonedNodes[i];
1353
- const computed = sourceWindow.getComputedStyle(source);
1354
- for (const property of CAPTURE_COLOR_PROPERTIES) {
1355
- const value = computed.getPropertyValue(property);
1356
- if (!value)
1357
- continue;
1358
- const nextValue = hasUnsupportedColorFunction(value)
1359
- ? normalizeOklColorsInValue(value)
1360
- : value;
1361
- target.style.setProperty(property, nextValue);
1362
- }
1363
- for (let index = 0; index < computed.length; index += 1) {
1364
- const property = computed.item(index);
1365
- if (!property)
1366
- continue;
1367
- if (property.startsWith("--"))
1368
- continue;
1369
- const value = computed.getPropertyValue(property);
1370
- if (!value || !hasUnsupportedColorFunction(value))
1371
- continue;
1372
- const nextValue = normalizeOklColorsInValue(value);
1373
- if (nextValue === value)
1374
- continue;
1375
- const priority = computed.getPropertyPriority(property);
1376
- target.style.setProperty(property, nextValue, priority);
1377
- }
1378
- }
1379
- }
1380
- function prepareClonedDocumentForCapture(sourceDocument, clonedDocument, normalizeUnsupportedColors) {
1053
+ function prepareClonedDocumentForCapture(clonedDocument) {
1381
1054
  const widgetNodes = clonedDocument.querySelectorAll(`[${UI_MARKER_ATTR}="true"]`);
1382
1055
  for (const node of widgetNodes) {
1383
1056
  node.remove();
1384
1057
  }
1385
1058
  prepareImagesForCapture(clonedDocument);
1386
- if (normalizeUnsupportedColors) {
1387
- applyCaptureSafeComputedStyles(sourceDocument, clonedDocument);
1388
- }
1389
- }
1390
- function isCanvasFullyTransparent(canvas) {
1391
- const width = Number.isFinite(canvas.width) ? canvas.width : 0;
1392
- const height = Number.isFinite(canvas.height) ? canvas.height : 0;
1393
- if (width <= 0 || height <= 0)
1394
- return false;
1395
- if (typeof canvas.getContext !== "function")
1396
- return false;
1397
- const context = canvas.getContext("2d", { willReadFrequently: true });
1398
- if (!context || typeof context.getImageData !== "function")
1399
- return false;
1400
- const sampleColumns = Math.min(24, width);
1401
- const sampleRows = Math.min(24, height);
1402
- const stepX = Math.max(1, Math.floor(width / sampleColumns));
1403
- const stepY = Math.max(1, Math.floor(height / sampleRows));
1404
- for (let y = 0; y < height; y += stepY) {
1405
- for (let x = 0; x < width; x += stepX) {
1406
- const alpha = context.getImageData(x, y, 1, 1).data[3];
1407
- if (alpha > 4)
1408
- return false;
1409
- }
1410
- }
1411
- return true;
1412
- }
1413
- function assertCanvasHasVisiblePixels(canvas, label) {
1414
- if (isCanvasFullyTransparent(canvas)) {
1415
- throw new Error(`${label} capture produced a fully transparent image.`);
1416
- }
1417
- return canvas;
1418
1059
  }
1419
1060
  function getViewportCrop(scale, sourceWidth, sourceHeight, viewport, scrollX, scrollY) {
1420
1061
  const requestedWidth = Math.max(1, Math.round(viewport.width * scale));
@@ -1495,21 +1136,45 @@ async function renderWithHtml2Canvas(mode, target, scale, ignoreElements, viewpo
1495
1136
  windowHeight: viewport.height,
1496
1137
  };
1497
1138
  }
1498
- const captureOptions = {
1499
- ...options,
1500
- // Keep stylesheet-backed rendering so custom icon fonts and tokens remain intact.
1501
- foreignObjectRendering: false,
1139
+ const withClonePrep = (renderOptions) => ({
1140
+ ...renderOptions,
1502
1141
  onclone: (clonedDocument) => {
1503
1142
  try {
1504
- prepareClonedDocumentForCapture(sourceDocument, clonedDocument, false);
1143
+ prepareClonedDocumentForCapture(clonedDocument);
1505
1144
  }
1506
1145
  catch {
1507
1146
  // Keep capture flow resilient even if clone prep fails.
1508
1147
  }
1509
1148
  },
1149
+ });
1150
+ const runAttempt = async (renderOptions) => {
1151
+ return await html2canvas(target, renderOptions);
1510
1152
  };
1511
- const canvas = await html2canvas(target, captureOptions);
1512
- return assertCanvasHasVisiblePixels(canvas, "html2canvas");
1153
+ const primaryOptions = withClonePrep({
1154
+ ...options,
1155
+ // html2canvas-pro enables style copying in this mode, which improves
1156
+ // color-token and icon fidelity for modern CSS.
1157
+ backgroundColor: null,
1158
+ foreignObjectRendering: true,
1159
+ });
1160
+ const fallbackOptions = withClonePrep({
1161
+ ...options,
1162
+ backgroundColor: captureBackgroundColor,
1163
+ foreignObjectRendering: true,
1164
+ });
1165
+ let primaryError;
1166
+ try {
1167
+ return await runAttempt(primaryOptions);
1168
+ }
1169
+ catch (error) {
1170
+ primaryError = error;
1171
+ }
1172
+ try {
1173
+ return await runAttempt(fallbackOptions);
1174
+ }
1175
+ catch (fallbackError) {
1176
+ throw fallbackError ?? primaryError ?? new Error("Capture failed.");
1177
+ }
1513
1178
  }
1514
1179
  export function ScreenshotterWidget({ enabled, project = "app", elementPaddingPx = 8, captureSettleMs = 700, defaultMode = "element", themeSelectionDefault = "current", themeAdapter, onSaved, onError, }) {
1515
1180
  const defaultEnabled = typeof process !== "undefined" ? process.env.NODE_ENV === "development" : false;
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenshotterWidget.js","sourceRoot":"","sources":["../src/ScreenshotterWidget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScreenshotterWidget.js","sourceRoot":"","sources":["../src/ScreenshotterWidget.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohaibarsalan/screenshotter",
3
- "version": "0.1.12",
3
+ "version": "0.1.18",
4
4
  "description": "React widget for in-app screenshot capture with direct browser downloads.",
5
5
  "keywords": [
6
6
  "screenshot",
@@ -34,6 +34,11 @@
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
+ "scripts": {
38
+ "prepack": "pnpm run build",
39
+ "build": "rm -rf dist && tsc -p tsconfig.build.json",
40
+ "test": "vitest run --config vitest.config.ts"
41
+ },
37
42
  "dependencies": {
38
43
  "html-to-image": "^1.11.13",
39
44
  "html2canvas-pro": "^1.5.13"
@@ -41,9 +46,5 @@
41
46
  "peerDependencies": {
42
47
  "react": "^18.0.0 || ^19.0.0",
43
48
  "react-dom": "^18.0.0 || ^19.0.0"
44
- },
45
- "scripts": {
46
- "build": "rm -rf dist && tsc -p tsconfig.build.json",
47
- "test": "vitest run --config vitest.config.ts"
48
49
  }
49
- }
50
+ }
package/LICENSE DELETED
@@ -1,15 +0,0 @@
1
- ISC License
2
-
3
- Copyright (c) 2026
4
-
5
- Permission to use, copy, modify, and/or distribute this software for any
6
- purpose with or without fee is hereby granted, provided that the above
7
- copyright notice and this permission notice appear in all copies.
8
-
9
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- PERFORMANCE OF THIS SOFTWARE.