ui-sniper 3.0.9 → 3.0.10
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/index.js +148 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +148 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -2
package/dist/index.js
CHANGED
|
@@ -7542,6 +7542,138 @@ function findNearestComponentSource(element, maxAncestors = 10) {
|
|
|
7542
7542
|
return getSourceLocation(element);
|
|
7543
7543
|
}
|
|
7544
7544
|
|
|
7545
|
+
// src/utils/screenshot.ts
|
|
7546
|
+
var _domCaptureModule;
|
|
7547
|
+
async function getDomCapture() {
|
|
7548
|
+
if (_domCaptureModule !== void 0) return _domCaptureModule;
|
|
7549
|
+
try {
|
|
7550
|
+
_domCaptureModule = await import("modern-screenshot");
|
|
7551
|
+
return _domCaptureModule;
|
|
7552
|
+
} catch {
|
|
7553
|
+
_domCaptureModule = null;
|
|
7554
|
+
return null;
|
|
7555
|
+
}
|
|
7556
|
+
}
|
|
7557
|
+
function findCaptureTarget(captureX, captureY, captureW, captureH) {
|
|
7558
|
+
const cx = captureX + captureW / 2;
|
|
7559
|
+
const cy = captureY + captureH / 2;
|
|
7560
|
+
const elements = document.elementsFromPoint(cx, cy);
|
|
7561
|
+
for (const el of elements) {
|
|
7562
|
+
if (!(el instanceof HTMLElement)) continue;
|
|
7563
|
+
if (el.hasAttribute("data-ui-sniper-root")) continue;
|
|
7564
|
+
if (el.closest?.("[data-ui-sniper-root]")) continue;
|
|
7565
|
+
if (el.tagName === "CANVAS") continue;
|
|
7566
|
+
if (el === document.documentElement || el === document.body) continue;
|
|
7567
|
+
const rect = el.getBoundingClientRect();
|
|
7568
|
+
if (rect.left <= captureX + captureW * 0.1 && rect.top <= captureY + captureH * 0.1 && rect.right >= captureX + captureW * 0.9 && rect.bottom >= captureY + captureH * 0.9) {
|
|
7569
|
+
return el;
|
|
7570
|
+
}
|
|
7571
|
+
}
|
|
7572
|
+
return document.body;
|
|
7573
|
+
}
|
|
7574
|
+
async function captureDomRegion(regionX, regionY, regionW, regionH, strokes, padding = 32, quality = 0.85) {
|
|
7575
|
+
const mod = await getDomCapture();
|
|
7576
|
+
if (!mod) return null;
|
|
7577
|
+
const captureX = Math.max(0, regionX - padding);
|
|
7578
|
+
const captureY = Math.max(0, regionY - padding);
|
|
7579
|
+
const captureW = regionW + padding * 2;
|
|
7580
|
+
const captureH = regionH + padding * 2;
|
|
7581
|
+
const maxDim = 600;
|
|
7582
|
+
const outScale = Math.min(1, maxDim / Math.max(captureW, captureH));
|
|
7583
|
+
const outW = Math.round(captureW * outScale);
|
|
7584
|
+
const outH = Math.round(captureH * outScale);
|
|
7585
|
+
if (outW < 1 || outH < 1) return null;
|
|
7586
|
+
const uiSniperRoot = document.querySelector("[data-ui-sniper-root]");
|
|
7587
|
+
const prevVisibility = uiSniperRoot?.style.visibility;
|
|
7588
|
+
if (uiSniperRoot) uiSniperRoot.style.visibility = "hidden";
|
|
7589
|
+
try {
|
|
7590
|
+
const target = findCaptureTarget(captureX, captureY, captureW, captureH);
|
|
7591
|
+
const targetRect = target.getBoundingClientRect();
|
|
7592
|
+
let domCanvas = null;
|
|
7593
|
+
try {
|
|
7594
|
+
domCanvas = await mod.domToCanvas(target, {
|
|
7595
|
+
backgroundColor: "#ffffff",
|
|
7596
|
+
timeout: 5e3,
|
|
7597
|
+
fetch: {
|
|
7598
|
+
bypassingCache: true
|
|
7599
|
+
}
|
|
7600
|
+
});
|
|
7601
|
+
} catch (e) {
|
|
7602
|
+
console.warn("[UI Sniper] modern-screenshot failed, falling back to html2canvas", e);
|
|
7603
|
+
try {
|
|
7604
|
+
const html2canvas = (await import("html2canvas")).default;
|
|
7605
|
+
domCanvas = await html2canvas(target, {
|
|
7606
|
+
backgroundColor: "#ffffff",
|
|
7607
|
+
allowTaint: false,
|
|
7608
|
+
useCORS: true,
|
|
7609
|
+
logging: false
|
|
7610
|
+
});
|
|
7611
|
+
} catch (fallbackErr) {
|
|
7612
|
+
throw new Error("Both modern-screenshot and html2canvas failed");
|
|
7613
|
+
}
|
|
7614
|
+
}
|
|
7615
|
+
if (!domCanvas) throw new Error("Failed to create domCanvas");
|
|
7616
|
+
const ratioX = domCanvas.width / (target.scrollWidth || targetRect.width);
|
|
7617
|
+
const ratioY = domCanvas.height / (target.scrollHeight || targetRect.height);
|
|
7618
|
+
const scrollLeft = target === document.body ? window.scrollX : target.scrollLeft;
|
|
7619
|
+
const scrollTop = target === document.body ? window.scrollY : target.scrollTop;
|
|
7620
|
+
const elContentX = (captureX - targetRect.left + scrollLeft) * ratioX;
|
|
7621
|
+
const elContentY = (captureY - targetRect.top + scrollTop) * ratioY;
|
|
7622
|
+
const cropW = captureW * ratioX;
|
|
7623
|
+
const cropH = captureH * ratioY;
|
|
7624
|
+
const canvas = document.createElement("canvas");
|
|
7625
|
+
canvas.width = outW;
|
|
7626
|
+
canvas.height = outH;
|
|
7627
|
+
const ctx = canvas.getContext("2d");
|
|
7628
|
+
if (!ctx) return null;
|
|
7629
|
+
ctx.fillStyle = "#ffffff";
|
|
7630
|
+
ctx.fillRect(0, 0, outW, outH);
|
|
7631
|
+
ctx.drawImage(
|
|
7632
|
+
domCanvas,
|
|
7633
|
+
elContentX,
|
|
7634
|
+
elContentY,
|
|
7635
|
+
cropW,
|
|
7636
|
+
cropH,
|
|
7637
|
+
0,
|
|
7638
|
+
0,
|
|
7639
|
+
outW,
|
|
7640
|
+
outH
|
|
7641
|
+
);
|
|
7642
|
+
if (strokes && strokes.length > 0) {
|
|
7643
|
+
drawStrokesOnCanvas(ctx, strokes, captureX, captureY, outScale);
|
|
7644
|
+
}
|
|
7645
|
+
return canvas.toDataURL("image/jpeg", quality);
|
|
7646
|
+
} catch (err) {
|
|
7647
|
+
console.warn("[UI Sniper] DOM capture failed:", err);
|
|
7648
|
+
return null;
|
|
7649
|
+
} finally {
|
|
7650
|
+
if (uiSniperRoot) uiSniperRoot.style.visibility = prevVisibility ?? "";
|
|
7651
|
+
}
|
|
7652
|
+
}
|
|
7653
|
+
function drawStrokesOnCanvas(ctx, strokes, originX, originY, scale) {
|
|
7654
|
+
const scrollY = window.scrollY;
|
|
7655
|
+
for (const stroke of strokes) {
|
|
7656
|
+
if (stroke.points.length < 2) continue;
|
|
7657
|
+
ctx.save();
|
|
7658
|
+
ctx.strokeStyle = stroke.color;
|
|
7659
|
+
ctx.lineWidth = Math.max(2, 2.5 * scale);
|
|
7660
|
+
ctx.lineCap = "round";
|
|
7661
|
+
ctx.lineJoin = "round";
|
|
7662
|
+
ctx.beginPath();
|
|
7663
|
+
for (let i = 0; i < stroke.points.length; i++) {
|
|
7664
|
+
const p = stroke.points[i];
|
|
7665
|
+
const vx = p.x;
|
|
7666
|
+
const vy = stroke.fixed ? p.y : p.y - scrollY;
|
|
7667
|
+
const cx = (vx - originX) * scale;
|
|
7668
|
+
const cy = (vy - originY) * scale;
|
|
7669
|
+
if (i === 0) ctx.moveTo(cx, cy);
|
|
7670
|
+
else ctx.lineTo(cx, cy);
|
|
7671
|
+
}
|
|
7672
|
+
ctx.stroke();
|
|
7673
|
+
ctx.restore();
|
|
7674
|
+
}
|
|
7675
|
+
}
|
|
7676
|
+
|
|
7545
7677
|
// src/components/page-toolbar-css/styles.module.scss
|
|
7546
7678
|
var css5 = '.styles-module__toolbar___wNsdK svg[fill=none],\n.styles-module__markersLayer___-25j1 svg[fill=none],\n.styles-module__fixedMarkersLayer___ffyX6 svg[fill=none] {\n fill: none !important;\n}\n.styles-module__toolbar___wNsdK svg[fill=none] :not([fill]),\n.styles-module__markersLayer___-25j1 svg[fill=none] :not([fill]),\n.styles-module__fixedMarkersLayer___ffyX6 svg[fill=none] :not([fill]) {\n fill: none !important;\n}\n\n.styles-module__controlsContent___9GJWU :where(button, input, select, textarea, label) {\n background: unset;\n border: unset;\n border-radius: unset;\n padding: unset;\n margin: unset;\n color: unset;\n font-family: unset;\n font-weight: unset;\n font-style: unset;\n line-height: unset;\n letter-spacing: unset;\n text-transform: unset;\n text-decoration: unset;\n box-shadow: unset;\n outline: unset;\n}\n\n@keyframes styles-module__toolbarEnter___u8RRu {\n from {\n opacity: 0;\n transform: scale(0.5) rotate(90deg);\n }\n to {\n opacity: 1;\n transform: scale(1) rotate(0deg);\n }\n}\n@keyframes styles-module__toolbarHide___y8kaT {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.8);\n }\n}\n@keyframes styles-module__badgeEnter___mVQLj {\n from {\n opacity: 0;\n transform: scale(0);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes styles-module__scaleIn___c-r1K {\n from {\n opacity: 0;\n transform: scale(0.85);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes styles-module__scaleOut___Wctwz {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.85);\n }\n}\n@keyframes styles-module__slideUp___kgD36 {\n from {\n opacity: 0;\n transform: scale(0.85) translateY(8px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n@keyframes styles-module__slideDown___zcdje {\n from {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n to {\n opacity: 0;\n transform: scale(0.85) translateY(8px);\n }\n}\n@keyframes styles-module__fadeIn___b9qmf {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes styles-module__fadeOut___6Ut6- {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@keyframes styles-module__hoverHighlightIn___6WYHY {\n from {\n opacity: 0;\n transform: scale(0.98);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n@keyframes styles-module__hoverTooltipIn___FYGQx {\n from {\n opacity: 0;\n transform: scale(0.95) translateY(4px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n.styles-module__disableTransitions___EopxO :is(*, *::before, *::after) {\n transition: none !important;\n}\n\n.styles-module__toolbar___wNsdK {\n position: fixed;\n bottom: 1.25rem;\n right: 1.25rem;\n width: 337px;\n z-index: 100000;\n font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;\n pointer-events: none;\n transition: left 0s, top 0s, right 0s, bottom 0s;\n}\n\n:where(.styles-module__toolbar___wNsdK) {\n bottom: 1.25rem;\n right: 1.25rem;\n}\n\n.styles-module__toolbarContainer___dIhma {\n position: relative;\n user-select: none;\n margin-left: auto;\n align-self: flex-end;\n display: flex;\n align-items: center;\n justify-content: center;\n background: #1a1a1a;\n color: #fff;\n border: none;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2), 0 4px 16px rgba(0, 0, 0, 0.1);\n pointer-events: auto;\n transition: width 0.4s cubic-bezier(0.19, 1, 0.22, 1), transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);\n}\n.styles-module__toolbarContainer___dIhma.styles-module__entrance___sgHd8 {\n animation: styles-module__toolbarEnter___u8RRu 0.5s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;\n}\n.styles-module__toolbarContainer___dIhma.styles-module__hiding___1td44 {\n animation: styles-module__toolbarHide___y8kaT 0.4s cubic-bezier(0.4, 0, 1, 1) forwards;\n pointer-events: none;\n}\n.styles-module__toolbarContainer___dIhma.styles-module__collapsed___Rydsn {\n width: 44px;\n height: 44px;\n border-radius: 22px;\n padding: 0;\n cursor: pointer;\n}\n.styles-module__toolbarContainer___dIhma.styles-module__collapsed___Rydsn svg {\n margin-top: -1px;\n}\n.styles-module__toolbarContainer___dIhma.styles-module__collapsed___Rydsn:hover {\n background: #2a2a2a;\n}\n.styles-module__toolbarContainer___dIhma.styles-module__collapsed___Rydsn:active {\n transform: scale(0.95);\n}\n.styles-module__toolbarContainer___dIhma.styles-module__expanded___ofKPx {\n height: 44px;\n border-radius: 1.5rem;\n padding: 0.375rem;\n width: 297px;\n}\n.styles-module__toolbarContainer___dIhma.styles-module__expanded___ofKPx.styles-module__serverConnected___Gfbou {\n width: 337px;\n}\n\n.styles-module__toggleContent___0yfyP {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 0.1s cubic-bezier(0.19, 1, 0.22, 1);\n}\n.styles-module__toggleContent___0yfyP.styles-module__visible___KHwEW {\n opacity: 1;\n visibility: visible;\n pointer-events: auto;\n}\n.styles-module__toggleContent___0yfyP.styles-module__hidden___Ae8H4 {\n opacity: 0;\n pointer-events: none;\n}\n\n.styles-module__controlsContent___9GJWU {\n display: flex;\n align-items: center;\n gap: 0.375rem;\n transition: filter 0.8s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.8s cubic-bezier(0.19, 1, 0.22, 1), transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);\n}\n.styles-module__controlsContent___9GJWU.styles-module__visible___KHwEW {\n opacity: 1;\n filter: blur(0px);\n transform: scale(1);\n visibility: visible;\n pointer-events: auto;\n}\n.styles-module__controlsContent___9GJWU.styles-module__hidden___Ae8H4 {\n pointer-events: none;\n opacity: 0;\n filter: blur(10px);\n transform: scale(0.4);\n}\n\n.styles-module__badge___2XsgF {\n position: absolute;\n top: -13px;\n right: -13px;\n user-select: none;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n border-radius: 9px;\n background-color: var(--ui-sniper-color-accent);\n color: white;\n font-size: 0.625rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15), inset 0 0 0 1px rgba(255, 255, 255, 0.04);\n opacity: 1;\n transition: transform 0.3s ease, opacity 0.2s ease;\n transform: scale(1);\n}\n.styles-module__badge___2XsgF.styles-module__fadeOut___6Ut6- {\n opacity: 0;\n transform: scale(0);\n pointer-events: none;\n}\n.styles-module__badge___2XsgF.styles-module__entrance___sgHd8 {\n animation: styles-module__badgeEnter___mVQLj 0.3s cubic-bezier(0.34, 1.2, 0.64, 1) 0.4s both;\n}\n\n.styles-module__controlButton___8Q0jc {\n position: relative;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 34px;\n height: 34px;\n border-radius: 50%;\n border: none;\n background: transparent;\n color: rgba(255, 255, 255, 0.85);\n transition: background-color 0.15s ease, color 0.15s ease, transform 0.1s ease, opacity 0.2s ease;\n}\n.styles-module__controlButton___8Q0jc:hover:not(:disabled):not([data-active=true]):not([data-failed=true]):not([data-auto-sync=true]):not([data-error=true]):not([data-no-hover=true]) {\n background: rgba(255, 255, 255, 0.12);\n color: #fff;\n}\n.styles-module__controlButton___8Q0jc:active:not(:disabled) {\n transform: scale(0.92);\n}\n.styles-module__controlButton___8Q0jc:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n.styles-module__controlButton___8Q0jc[data-active=true] {\n color: var(--ui-sniper-color-blue);\n background-color: color-mix(in srgb, var(--ui-sniper-color-blue) 25%, transparent);\n}\n.styles-module__controlButton___8Q0jc[data-error=true] {\n color: var(--ui-sniper-color-red);\n background-color: color-mix(in srgb, var(--ui-sniper-color-red) 25%, transparent);\n}\n.styles-module__controlButton___8Q0jc[data-danger]:hover:not(:disabled):not([data-active=true]):not([data-failed=true]) {\n background-color: color-mix(in srgb, var(--ui-sniper-color-red) 25%, transparent);\n color: var(--ui-sniper-color-red);\n}\n.styles-module__controlButton___8Q0jc[data-no-hover=true], .styles-module__controlButton___8Q0jc.styles-module__statusShowing___te6iu {\n cursor: default;\n pointer-events: none;\n background: transparent !important;\n}\n.styles-module__controlButton___8Q0jc[data-auto-sync=true] {\n color: var(--ui-sniper-color-green);\n background: transparent;\n cursor: default;\n}\n.styles-module__controlButton___8Q0jc[data-failed=true] {\n color: var(--ui-sniper-color-red);\n background-color: color-mix(in srgb, var(--ui-sniper-color-red) 25%, transparent);\n}\n\n.styles-module__buttonBadge___NeFWb {\n position: absolute;\n top: 0px;\n right: 0px;\n min-width: 16px;\n height: 16px;\n padding: 0 4px;\n border-radius: 8px;\n background-color: var(--ui-sniper-color-accent);\n color: white;\n font-size: 0.625rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 0 0 2px #1a1a1a, 0 1px 3px rgba(0, 0, 0, 0.2);\n pointer-events: none;\n}\n[data-ui-sniper-theme=light] .styles-module__buttonBadge___NeFWb {\n box-shadow: 0 0 0 2px #fff, 0 1px 3px rgba(0, 0, 0, 0.2);\n}\n\n@keyframes styles-module__mcpIndicatorPulseConnected___EDodZ {\n 0%, 100% {\n box-shadow: 0 0 0 0 color-mix(in srgb, var(--ui-sniper-color-green) 50%, transparent);\n }\n 50% {\n box-shadow: 0 0 0 5px color-mix(in srgb, var(--ui-sniper-color-green) 0%, transparent);\n }\n}\n@keyframes styles-module__mcpIndicatorPulseConnecting___cCYte {\n 0%, 100% {\n box-shadow: 0 0 0 0 color-mix(in srgb, var(--ui-sniper-color-yellow) 50%, transparent);\n }\n 50% {\n box-shadow: 0 0 0 5px color-mix(in srgb, var(--ui-sniper-color-yellow) 0%, transparent);\n }\n}\n.styles-module__mcpIndicator___zGJeL {\n position: absolute;\n top: 3px;\n right: 3px;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n pointer-events: none;\n transition: background-color 0.3s ease, opacity 0.15s ease, transform 0.15s ease;\n opacity: 1;\n transform: scale(1);\n}\n.styles-module__mcpIndicator___zGJeL.styles-module__connected___7c28g {\n background-color: var(--ui-sniper-color-green);\n animation: styles-module__mcpIndicatorPulseConnected___EDodZ 2.5s ease-in-out infinite;\n}\n.styles-module__mcpIndicator___zGJeL.styles-module__connecting___uo-CW {\n background-color: var(--ui-sniper-color-yellow);\n animation: styles-module__mcpIndicatorPulseConnecting___cCYte 1.5s ease-in-out infinite;\n}\n.styles-module__mcpIndicator___zGJeL.styles-module__hidden___Ae8H4 {\n opacity: 0;\n transform: scale(0);\n animation: none;\n}\n\n@keyframes styles-module__connectionPulse___-Zycw {\n 0%, 100% {\n opacity: 1;\n transform: scale(1);\n }\n 50% {\n opacity: 0.6;\n transform: scale(0.9);\n }\n}\n.styles-module__connectionIndicatorWrapper___L-e-3 {\n width: 8px;\n height: 34px;\n margin-left: 6px;\n margin-right: 6px;\n}\n\n.styles-module__connectionIndicator___afk9p {\n position: relative;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n opacity: 0;\n transition: opacity 0.3s ease, background-color 0.3s ease;\n cursor: default;\n}\n\n.styles-module__connectionIndicatorVisible___C-i5B {\n opacity: 1;\n}\n\n.styles-module__connectionIndicatorConnected___IY8pR {\n background-color: var(--ui-sniper-color-green);\n animation: styles-module__connectionPulse___-Zycw 2.5s ease-in-out infinite;\n}\n\n.styles-module__connectionIndicatorDisconnected___kmpaZ {\n background-color: var(--ui-sniper-color-red);\n animation: none;\n}\n\n.styles-module__connectionIndicatorConnecting___QmSLH {\n background-color: var(--ui-sniper-color-yellow);\n animation: styles-module__connectionPulse___-Zycw 1s ease-in-out infinite;\n}\n\n.styles-module__buttonWrapper___rBcdv {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.styles-module__buttonWrapper___rBcdv:hover .styles-module__buttonTooltip___Burd9 {\n opacity: 1;\n visibility: visible;\n transform: translateX(-50%) scale(1);\n transition-delay: 0.85s;\n}\n.styles-module__buttonWrapper___rBcdv:has(.styles-module__controlButton___8Q0jc:disabled):hover .styles-module__buttonTooltip___Burd9 {\n opacity: 0;\n visibility: hidden;\n}\n\n.styles-module__tooltipsInSession___-0lHH .styles-module__buttonWrapper___rBcdv:hover .styles-module__buttonTooltip___Burd9 {\n transition-delay: 0s;\n}\n\n.styles-module__sendButtonWrapper___UUxG6 {\n width: 0;\n opacity: 0;\n overflow: hidden;\n pointer-events: none;\n margin-left: -0.375rem;\n transition: width 0.4s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s cubic-bezier(0.19, 1, 0.22, 1), margin 0.4s cubic-bezier(0.19, 1, 0.22, 1);\n}\n.styles-module__sendButtonWrapper___UUxG6 .styles-module__controlButton___8Q0jc {\n transform: scale(0.8);\n transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1);\n}\n.styles-module__sendButtonWrapper___UUxG6.styles-module__sendButtonVisible___WPSQU {\n width: 34px;\n opacity: 1;\n overflow: visible;\n pointer-events: auto;\n margin-left: 0;\n}\n.styles-module__sendButtonWrapper___UUxG6.styles-module__sendButtonVisible___WPSQU .styles-module__controlButton___8Q0jc {\n transform: scale(1);\n}\n\n.styles-module__buttonTooltip___Burd9 {\n position: absolute;\n bottom: calc(100% + 14px);\n left: 50%;\n transform: translateX(-50%) scale(0.95);\n padding: 6px 10px;\n background: #1a1a1a;\n color: rgba(255, 255, 255, 0.9);\n font-size: 12px;\n font-weight: 500;\n border-radius: 8px;\n white-space: nowrap;\n opacity: 0;\n visibility: hidden;\n pointer-events: none;\n z-index: 100001;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);\n transition: opacity 0.135s ease, transform 0.135s ease, visibility 0.135s ease;\n}\n.styles-module__buttonTooltip___Burd9::after {\n content: "";\n position: absolute;\n top: calc(100% - 4px);\n left: 50%;\n transform: translateX(-50%) rotate(45deg);\n width: 8px;\n height: 8px;\n background: #1a1a1a;\n border-radius: 0 0 2px 0;\n}\n\n.styles-module__shortcut___lEAQk {\n margin-left: 4px;\n opacity: 0.5;\n}\n\n.styles-module__tooltipBelow___m6ats .styles-module__buttonTooltip___Burd9 {\n bottom: auto;\n top: calc(100% + 14px);\n transform: translateX(-50%) scale(0.95);\n}\n.styles-module__tooltipBelow___m6ats .styles-module__buttonTooltip___Burd9::after {\n top: -4px;\n bottom: auto;\n border-radius: 2px 0 0 0;\n}\n\n.styles-module__tooltipBelow___m6ats .styles-module__buttonWrapper___rBcdv:hover .styles-module__buttonTooltip___Burd9 {\n transform: translateX(-50%) scale(1);\n}\n\n.styles-module__tooltipsHidden___VtLJG .styles-module__buttonTooltip___Burd9 {\n opacity: 0 !important;\n visibility: hidden !important;\n transition: none !important;\n}\n\n.styles-module__tooltipVisible___0jcCv,\n.styles-module__tooltipsHidden___VtLJG .styles-module__tooltipVisible___0jcCv {\n opacity: 1 !important;\n visibility: visible !important;\n transform: translateX(-50%) scale(1) !important;\n transition-delay: 0s !important;\n}\n\n.styles-module__buttonWrapperAlignLeft___myzIp .styles-module__buttonTooltip___Burd9 {\n left: 50%;\n transform: translateX(-12px) scale(0.95);\n}\n.styles-module__buttonWrapperAlignLeft___myzIp .styles-module__buttonTooltip___Burd9::after {\n left: 16px;\n}\n.styles-module__buttonWrapperAlignLeft___myzIp:hover .styles-module__buttonTooltip___Burd9 {\n transform: translateX(-12px) scale(1);\n}\n\n.styles-module__tooltipBelow___m6ats .styles-module__buttonWrapperAlignLeft___myzIp .styles-module__buttonTooltip___Burd9 {\n transform: translateX(-12px) scale(0.95);\n}\n.styles-module__tooltipBelow___m6ats .styles-module__buttonWrapperAlignLeft___myzIp:hover .styles-module__buttonTooltip___Burd9 {\n transform: translateX(-12px) scale(1);\n}\n\n.styles-module__buttonWrapperAlignRight___HCQFR .styles-module__buttonTooltip___Burd9 {\n left: 50%;\n transform: translateX(calc(-100% + 12px)) scale(0.95);\n}\n.styles-module__buttonWrapperAlignRight___HCQFR .styles-module__buttonTooltip___Burd9::after {\n left: auto;\n right: 8px;\n}\n.styles-module__buttonWrapperAlignRight___HCQFR:hover .styles-module__buttonTooltip___Burd9 {\n transform: translateX(calc(-100% + 12px)) scale(1);\n}\n\n.styles-module__tooltipBelow___m6ats .styles-module__buttonWrapperAlignRight___HCQFR .styles-module__buttonTooltip___Burd9 {\n transform: translateX(calc(-100% + 12px)) scale(0.95);\n}\n.styles-module__tooltipBelow___m6ats .styles-module__buttonWrapperAlignRight___HCQFR:hover .styles-module__buttonTooltip___Burd9 {\n transform: translateX(calc(-100% + 12px)) scale(1);\n}\n\n.styles-module__divider___c--s1 {\n width: 1px;\n height: 12px;\n background: rgba(255, 255, 255, 0.15);\n margin: 0 0.125rem;\n}\n\n.styles-module__overlay___Q1O9y {\n position: fixed;\n inset: 0;\n z-index: 99997;\n pointer-events: none;\n}\n.styles-module__overlay___Q1O9y > * {\n pointer-events: auto;\n}\n\n.styles-module__hoverHighlight___ogakW {\n position: fixed;\n border: 2px solid color-mix(in srgb, var(--ui-sniper-color-accent) 50%, transparent);\n border-radius: 4px;\n background-color: color-mix(in srgb, var(--ui-sniper-color-accent) 4%, transparent);\n pointer-events: none !important;\n box-sizing: border-box;\n will-change: opacity;\n contain: layout style;\n}\n.styles-module__hoverHighlight___ogakW.styles-module__enter___WFIki {\n animation: styles-module__hoverHighlightIn___6WYHY 0.12s ease-out forwards;\n}\n\n.styles-module__multiSelectOutline___cSJ-m {\n position: fixed;\n border: 2px dashed color-mix(in srgb, var(--ui-sniper-color-green) 60%, transparent);\n border-radius: 4px;\n pointer-events: none !important;\n background-color: color-mix(in srgb, var(--ui-sniper-color-green) 5%, transparent);\n box-sizing: border-box;\n will-change: opacity;\n}\n.styles-module__multiSelectOutline___cSJ-m.styles-module__enter___WFIki {\n animation: styles-module__fadeIn___b9qmf 0.15s ease-out forwards;\n}\n.styles-module__multiSelectOutline___cSJ-m.styles-module__exit___fyOJ0 {\n animation: styles-module__fadeOut___6Ut6- 0.15s ease-out forwards;\n}\n\n.styles-module__singleSelectOutline___QhX-O {\n position: fixed;\n border: 2px solid color-mix(in srgb, var(--ui-sniper-color-blue) 60%, transparent);\n border-radius: 4px;\n pointer-events: none !important;\n background-color: color-mix(in srgb, var(--ui-sniper-color-blue) 5%, transparent);\n box-sizing: border-box;\n will-change: opacity;\n}\n.styles-module__singleSelectOutline___QhX-O.styles-module__enter___WFIki {\n animation: styles-module__fadeIn___b9qmf 0.15s ease-out forwards;\n}\n.styles-module__singleSelectOutline___QhX-O.styles-module__exit___fyOJ0 {\n animation: styles-module__fadeOut___6Ut6- 0.15s ease-out forwards;\n}\n\n.styles-module__hoverTooltip___bvLk7 {\n position: fixed;\n font-size: 0.6875rem;\n font-weight: 500;\n color: #fff;\n background: rgba(0, 0, 0, 0.85);\n padding: 0.35rem 0.6rem;\n border-radius: 0.375rem;\n pointer-events: none !important;\n white-space: nowrap;\n max-width: 280px;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.styles-module__hoverTooltip___bvLk7.styles-module__enter___WFIki {\n animation: styles-module__hoverTooltipIn___FYGQx 0.1s ease-out forwards;\n}\n\n.styles-module__hoverReactPath___gx1IJ {\n font-size: 0.625rem;\n color: rgba(255, 255, 255, 0.6);\n margin-bottom: 0.15rem;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.styles-module__hoverElementName___QMLMl {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.styles-module__markersLayer___-25j1 {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 0;\n z-index: 99998;\n pointer-events: none;\n}\n.styles-module__markersLayer___-25j1 > * {\n pointer-events: auto;\n}\n\n.styles-module__fixedMarkersLayer___ffyX6 {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 99998;\n pointer-events: none;\n}\n.styles-module__fixedMarkersLayer___ffyX6 > * {\n pointer-events: auto;\n}\n\n.styles-module__marker___6sQrs {\n position: absolute;\n width: 22px;\n height: 22px;\n background: var(--ui-sniper-color-blue);\n color: white;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.6875rem;\n font-weight: 600;\n transform: translate(-50%, -50%) scale(1);\n opacity: 1;\n cursor: pointer;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2), inset 0 0 0 1px rgba(0, 0, 0, 0.04);\n user-select: none;\n will-change: transform, opacity;\n contain: layout style;\n z-index: 1;\n}\n.styles-module__marker___6sQrs:hover {\n z-index: 2;\n}\n.styles-module__marker___6sQrs:not(.styles-module__enter___WFIki):not(.styles-module__exit___fyOJ0):not(.styles-module__clearing___FQ--7) {\n transition: background-color 0.15s ease, transform 0.1s ease;\n}\n.styles-module__marker___6sQrs.styles-module__enter___WFIki {\n animation: styles-module__markerIn___5FaAP 0.25s cubic-bezier(0.22, 1, 0.36, 1) both;\n}\n.styles-module__marker___6sQrs.styles-module__exit___fyOJ0 {\n animation: styles-module__markerOut___GU5jX 0.2s ease-out both;\n pointer-events: none;\n}\n.styles-module__marker___6sQrs.styles-module__clearing___FQ--7 {\n animation: styles-module__markerOut___GU5jX 0.15s ease-out both;\n pointer-events: none;\n}\n.styles-module__marker___6sQrs:not(.styles-module__enter___WFIki):not(.styles-module__exit___fyOJ0):not(.styles-module__clearing___FQ--7):hover {\n transform: translate(-50%, -50%) scale(1.1);\n}\n.styles-module__marker___6sQrs.styles-module__pending___2IHLC {\n position: fixed;\n background-color: var(--ui-sniper-color-blue);\n cursor: default;\n}\n.styles-module__marker___6sQrs.styles-module__fixed___dBMHC {\n position: fixed;\n}\n.styles-module__marker___6sQrs.styles-module__multiSelect___YWiuz {\n background-color: var(--ui-sniper-color-green);\n width: 26px;\n height: 26px;\n border-radius: 6px;\n font-size: 0.75rem;\n}\n.styles-module__marker___6sQrs.styles-module__multiSelect___YWiuz.styles-module__pending___2IHLC {\n background-color: var(--ui-sniper-color-green);\n}\n.styles-module__marker___6sQrs.styles-module__hovered___ZgXIy {\n background-color: var(--ui-sniper-color-red);\n}\n\n.styles-module__renumber___nCTxD {\n display: block;\n animation: styles-module__renumberRoll___Wgbq3 0.2s ease-out;\n}\n\n@keyframes styles-module__renumberRoll___Wgbq3 {\n 0% {\n transform: translateX(-40%);\n opacity: 0;\n }\n 100% {\n transform: translateX(0);\n opacity: 1;\n }\n}\n.styles-module__markerTooltip___aLJID {\n position: absolute;\n top: calc(100% + 10px);\n left: 50%;\n transform: translateX(-50%) scale(0.909);\n z-index: 100002;\n background: #1a1a1a;\n padding: 8px 0.75rem;\n border-radius: 0.75rem;\n font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;\n font-weight: 400;\n color: #fff;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.08);\n min-width: 120px;\n max-width: 200px;\n pointer-events: none;\n cursor: default;\n}\n.styles-module__markerTooltip___aLJID.styles-module__enter___WFIki {\n animation: styles-module__tooltipIn___0N31w 0.1s ease-out forwards;\n}\n\n.styles-module__markerQuote___FHmrz {\n display: block;\n font-size: 12px;\n font-style: italic;\n color: rgba(255, 255, 255, 0.6);\n margin-bottom: 0.3125rem;\n line-height: 1.4;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.styles-module__markerNote___QkrrS {\n display: block;\n font-size: 13px;\n font-weight: 400;\n line-height: 1.4;\n color: #fff;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding-bottom: 2px;\n}\n\n.styles-module__markerHint___2iF-6 {\n display: block;\n font-size: 0.625rem;\n font-weight: 400;\n color: rgba(255, 255, 255, 0.6);\n margin-top: 0.375rem;\n white-space: nowrap;\n}\n\n.styles-module__settingsPanel___OxX3Y {\n position: absolute;\n right: 5px;\n bottom: calc(100% + 0.5rem);\n z-index: 1;\n overflow: hidden;\n background: #1c1c1c;\n border-radius: 1rem;\n padding: 13px 0 16px;\n min-width: 205px;\n cursor: default;\n opacity: 1;\n box-shadow: 0 1px 8px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(0, 0, 0, 0.04);\n transition: background-color 0.25s ease, box-shadow 0.25s ease;\n}\n.styles-module__settingsPanel___OxX3Y::before, .styles-module__settingsPanel___OxX3Y::after {\n content: "";\n position: absolute;\n top: 0;\n bottom: 0;\n width: 16px;\n z-index: 2;\n pointer-events: none;\n}\n.styles-module__settingsPanel___OxX3Y::before {\n left: 0;\n background: linear-gradient(to right, #1c1c1c 0%, transparent 100%);\n}\n.styles-module__settingsPanel___OxX3Y::after {\n right: 0;\n background: linear-gradient(to left, #1c1c1c 0%, transparent 100%);\n}\n.styles-module__settingsPanel___OxX3Y .styles-module__settingsHeader___pwDY9,\n.styles-module__settingsPanel___OxX3Y .styles-module__settingsBrand___0gJeM,\n.styles-module__settingsPanel___OxX3Y .styles-module__settingsBrandSlash___uTG18,\n.styles-module__settingsPanel___OxX3Y .styles-module__settingsVersion___TUcFq,\n.styles-module__settingsPanel___OxX3Y .styles-module__settingsSection___m-YM2,\n.styles-module__settingsPanel___OxX3Y .styles-module__settingsLabel___8UjfX,\n.styles-module__settingsPanel___OxX3Y .styles-module__cycleButton___FMKfw,\n.styles-module__settingsPanel___OxX3Y .styles-module__cycleDot___nPgLY,\n.styles-module__settingsPanel___OxX3Y .styles-module__dropdownButton___16NPz,\n.styles-module__settingsPanel___OxX3Y .styles-module__toggleLabel___Xm8Aa,\n.styles-module__settingsPanel___OxX3Y .styles-module__customCheckbox___U39ax,\n.styles-module__settingsPanel___OxX3Y .styles-module__sliderLabel___U8sPr,\n.styles-module__settingsPanel___OxX3Y .styles-module__slider___GLdxp,\n.styles-module__settingsPanel___OxX3Y .styles-module__themeToggle___2rUjA {\n transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;\n}\n.styles-module__settingsPanel___OxX3Y.styles-module__enter___WFIki {\n opacity: 1;\n transform: translateY(0) scale(1);\n filter: blur(0px);\n transition: opacity 0.2s ease, transform 0.2s ease, filter 0.2s ease;\n}\n.styles-module__settingsPanel___OxX3Y.styles-module__exit___fyOJ0 {\n opacity: 0;\n transform: translateY(8px) scale(0.95);\n filter: blur(5px);\n pointer-events: none;\n transition: opacity 0.1s ease, transform 0.1s ease, filter 0.1s ease;\n}\n[data-ui-sniper-theme=dark] .styles-module__settingsPanel___OxX3Y {\n background: #1a1a1a;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.08);\n}\n[data-ui-sniper-theme=dark] .styles-module__settingsPanel___OxX3Y .styles-module__settingsLabel___8UjfX {\n color: rgba(255, 255, 255, 0.6);\n}\n[data-ui-sniper-theme=dark] .styles-module__settingsPanel___OxX3Y .styles-module__settingsOption___UNa12 {\n color: rgba(255, 255, 255, 0.85);\n}\n[data-ui-sniper-theme=dark] .styles-module__settingsPanel___OxX3Y .styles-module__settingsOption___UNa12:hover {\n background: rgba(255, 255, 255, 0.1);\n}\n[data-ui-sniper-theme=dark] .styles-module__settingsPanel___OxX3Y .styles-module__settingsOption___UNa12.styles-module__selected___OwRqP {\n background: rgba(255, 255, 255, 0.15);\n color: #fff;\n}\n[data-ui-sniper-theme=dark] .styles-module__settingsPanel___OxX3Y .styles-module__toggleLabel___Xm8Aa {\n color: rgba(255, 255, 255, 0.85);\n}\n\n.styles-module__settingsPanelContainer___Xksv8 {\n overflow: visible;\n position: relative;\n display: flex;\n padding: 0 1rem;\n}\n\n.styles-module__settingsPage___6YfHH {\n min-width: 100%;\n flex-shrink: 0;\n transition: transform 0.2s ease, opacity 0.2s ease;\n transition-delay: 0s;\n opacity: 1;\n}\n\n.styles-module__settingsPage___6YfHH.styles-module__slideLeft___Ps01J {\n transform: translateX(-24px);\n opacity: 0;\n pointer-events: none;\n}\n\n.styles-module__automationsPage___uvCq6 {\n position: absolute;\n top: 0;\n left: 24px;\n width: 100%;\n height: 100%;\n padding: 3px 1rem 0;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n transition: transform 0.2s ease, opacity 0.2s ease;\n opacity: 0;\n pointer-events: none;\n}\n\n.styles-module__automationsPage___uvCq6.styles-module__slideIn___4-qXe {\n transform: translateX(-24px);\n opacity: 1;\n pointer-events: auto;\n}\n\n.styles-module__settingsNavLink___wCzJt {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 0;\n border: none;\n background: transparent;\n font-family: inherit;\n font-size: 0.8125rem;\n font-weight: 400;\n color: rgba(255, 255, 255, 0.5);\n cursor: pointer;\n transition: color 0.15s ease;\n}\n.styles-module__settingsNavLink___wCzJt:hover {\n color: rgba(255, 255, 255, 0.9);\n}\n[data-ui-sniper-theme=light] .styles-module__settingsNavLink___wCzJt {\n color: rgba(0, 0, 0, 0.5);\n}\n[data-ui-sniper-theme=light] .styles-module__settingsNavLink___wCzJt:hover {\n color: rgba(0, 0, 0, 0.8);\n}\n.styles-module__settingsNavLink___wCzJt svg {\n color: rgba(255, 255, 255, 0.4);\n transition: color 0.15s ease;\n}\n.styles-module__settingsNavLink___wCzJt:hover svg {\n color: #fff;\n}\n[data-ui-sniper-theme=light] .styles-module__settingsNavLink___wCzJt svg {\n color: rgba(0, 0, 0, 0.25);\n}\n[data-ui-sniper-theme=light] .styles-module__settingsNavLink___wCzJt:hover svg {\n color: rgba(0, 0, 0, 0.8);\n}\n\n.styles-module__settingsNavLinkRight___ZWwhj {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.styles-module__mcpNavIndicator___cl9pO {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n flex-shrink: 0;\n}\n.styles-module__mcpNavIndicator___cl9pO.styles-module__connected___7c28g {\n background-color: var(--ui-sniper-color-green);\n animation: styles-module__mcpPulse___uNggr 2.5s ease-in-out infinite;\n}\n.styles-module__mcpNavIndicator___cl9pO.styles-module__connecting___uo-CW {\n background-color: var(--ui-sniper-color-yellow);\n animation: styles-module__mcpPulse___uNggr 1.5s ease-in-out infinite;\n}\n\n.styles-module__settingsBackButton___bIe2j {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 6px 0 12px 0;\n margin: -6px 0 0.5rem 0;\n border: none;\n border-bottom: 1px solid rgba(255, 255, 255, 0.07);\n border-radius: 0;\n background: transparent;\n font-family: inherit;\n font-size: 0.8125rem;\n font-weight: 500;\n letter-spacing: -0.15px;\n color: #fff;\n cursor: pointer;\n transition: transform 0.12s cubic-bezier(0.32, 0.72, 0, 1);\n}\n.styles-module__settingsBackButton___bIe2j svg {\n opacity: 0.4;\n flex-shrink: 0;\n transition: opacity 0.15s ease, transform 0.18s cubic-bezier(0.32, 0.72, 0, 1);\n}\n.styles-module__settingsBackButton___bIe2j:hover {\n border-bottom-color: rgba(255, 255, 255, 0.07);\n}\n.styles-module__settingsBackButton___bIe2j:hover svg {\n opacity: 1;\n}\n[data-ui-sniper-theme=light] .styles-module__settingsBackButton___bIe2j {\n color: rgba(0, 0, 0, 0.85);\n border-bottom-color: rgba(0, 0, 0, 0.08);\n}\n[data-ui-sniper-theme=light] .styles-module__settingsBackButton___bIe2j:hover {\n border-bottom-color: rgba(0, 0, 0, 0.08);\n}\n\n.styles-module__automationHeader___InP0r {\n display: flex;\n align-items: center;\n gap: 0.125rem;\n font-size: 0.8125rem;\n font-weight: 400;\n color: #fff;\n}\n[data-ui-sniper-theme=light] .styles-module__automationHeader___InP0r {\n color: rgba(0, 0, 0, 0.85);\n}\n\n.styles-module__automationDescription___NKlmo {\n font-size: 0.6875rem;\n font-weight: 300;\n color: rgba(255, 255, 255, 0.5);\n margin-top: 2px;\n line-height: 14px;\n}\n[data-ui-sniper-theme=light] .styles-module__automationDescription___NKlmo {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.styles-module__learnMoreLink___8xv-x {\n color: rgba(255, 255, 255, 0.8);\n text-decoration: underline dotted;\n text-decoration-color: rgba(255, 255, 255, 0.2);\n text-underline-offset: 2px;\n transition: color 0.15s ease;\n}\n.styles-module__learnMoreLink___8xv-x:hover {\n color: #fff;\n}\n[data-ui-sniper-theme=light] .styles-module__learnMoreLink___8xv-x {\n color: rgba(0, 0, 0, 0.6);\n text-decoration-color: rgba(0, 0, 0, 0.2);\n}\n[data-ui-sniper-theme=light] .styles-module__learnMoreLink___8xv-x:hover {\n color: rgba(0, 0, 0, 0.85);\n}\n\n.styles-module__autoSendRow___UblX5 {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.styles-module__autoSendLabel___icDc2 {\n font-size: 0.6875rem;\n font-weight: 400;\n color: rgba(255, 255, 255, 0.4);\n transition: color 0.15s ease;\n}\n.styles-module__autoSendLabel___icDc2.styles-module__active___-zoN6 {\n color: #66b8ff;\n color: color(display-p3 0.4 0.72 1);\n}\n[data-ui-sniper-theme=light] .styles-module__autoSendLabel___icDc2 {\n color: rgba(0, 0, 0, 0.4);\n}\n[data-ui-sniper-theme=light] .styles-module__autoSendLabel___icDc2.styles-module__active___-zoN6 {\n color: var(--ui-sniper-color-blue);\n}\n\n.styles-module__webhookUrlInput___2375C {\n display: block;\n width: 100%;\n flex: 1;\n min-height: 60px;\n box-sizing: border-box;\n margin-top: 11px;\n padding: 8px 10px;\n border: 1px solid rgba(255, 255, 255, 0.1);\n border-radius: 6px;\n background: rgba(255, 255, 255, 0.03);\n font-family: inherit;\n font-size: 0.75rem;\n font-weight: 400;\n color: #fff;\n outline: none;\n resize: none;\n user-select: text;\n transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;\n}\n.styles-module__webhookUrlInput___2375C::placeholder {\n color: rgba(255, 255, 255, 0.3);\n}\n.styles-module__webhookUrlInput___2375C:focus {\n border-color: rgba(255, 255, 255, 0.3);\n background: rgba(255, 255, 255, 0.08);\n}\n[data-ui-sniper-theme=light] .styles-module__webhookUrlInput___2375C {\n border-color: rgba(0, 0, 0, 0.1);\n background: rgba(0, 0, 0, 0.03);\n color: rgba(0, 0, 0, 0.85);\n}\n[data-ui-sniper-theme=light] .styles-module__webhookUrlInput___2375C::placeholder {\n color: rgba(0, 0, 0, 0.3);\n}\n[data-ui-sniper-theme=light] .styles-module__webhookUrlInput___2375C:focus {\n border-color: rgba(0, 0, 0, 0.25);\n background: rgba(0, 0, 0, 0.05);\n}\n\n.styles-module__settingsHeader___pwDY9 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-height: 24px;\n margin-bottom: 0.5rem;\n padding-bottom: 9px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.07);\n}\n\n.styles-module__settingsBrand___0gJeM {\n font-size: 0.8125rem;\n font-weight: 600;\n letter-spacing: -0.0094em;\n color: #fff;\n text-decoration: none;\n}\n\n.styles-module__settingsBrandSlash___uTG18 {\n color: var(--ui-sniper-color-accent);\n transition: color 0.2s ease;\n}\n\n.styles-module__settingsVersion___TUcFq {\n font-size: 11px;\n font-weight: 400;\n color: rgba(255, 255, 255, 0.4);\n margin-left: auto;\n letter-spacing: -0.0094em;\n}\n\n.styles-module__settingsSection___m-YM2 + .styles-module__settingsSection___m-YM2 {\n margin-top: 0.5rem;\n padding-top: 0.5rem;\n border-top: 1px solid rgba(255, 255, 255, 0.07);\n}\n.styles-module__settingsSection___m-YM2.styles-module__settingsSectionExtraPadding___jdhFV {\n padding-top: calc(0.5rem + 4px);\n}\n\n.styles-module__settingsSectionGrow___h-5HZ {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.styles-module__settingsRow___3sdhc {\n display: flex;\n align-items: center;\n justify-content: space-between;\n min-height: 24px;\n}\n.styles-module__settingsRow___3sdhc.styles-module__settingsRowMarginTop___zA0Sp {\n margin-top: 8px;\n}\n\n.styles-module__dropdownContainer___BVnxe {\n position: relative;\n}\n\n.styles-module__dropdownButton___16NPz {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.25rem 0.5rem;\n border: none;\n border-radius: 0.375rem;\n background: transparent;\n font-size: 0.8125rem;\n font-weight: 600;\n color: #fff;\n cursor: pointer;\n transition: background-color 0.15s ease, color 0.15s ease;\n letter-spacing: -0.0094em;\n}\n.styles-module__dropdownButton___16NPz:hover {\n background: rgba(255, 255, 255, 0.08);\n}\n.styles-module__dropdownButton___16NPz svg {\n opacity: 0.6;\n}\n\n.styles-module__cycleButton___FMKfw {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0;\n border: none;\n background: transparent;\n font-size: 0.8125rem;\n font-weight: 500;\n color: #fff;\n cursor: pointer;\n letter-spacing: -0.0094em;\n}\n[data-ui-sniper-theme=light] .styles-module__cycleButton___FMKfw {\n color: rgba(0, 0, 0, 0.85);\n}\n.styles-module__cycleButton___FMKfw:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n\n.styles-module__settingsRowDisabled___EgS0V .styles-module__settingsLabel___8UjfX {\n color: rgba(255, 255, 255, 0.2);\n}\n[data-ui-sniper-theme=light] .styles-module__settingsRowDisabled___EgS0V .styles-module__settingsLabel___8UjfX {\n color: rgba(0, 0, 0, 0.2);\n}\n.styles-module__settingsRowDisabled___EgS0V .styles-module__toggleSwitch___l4Ygm {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n@keyframes styles-module__cycleTextIn___Q6zJf {\n 0% {\n opacity: 0;\n transform: translateY(-6px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n.styles-module__cycleButtonText___fD1LR {\n display: inline-block;\n animation: styles-module__cycleTextIn___Q6zJf 0.2s ease-out;\n}\n\n.styles-module__cycleDots___LWuoQ {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.styles-module__cycleDot___nPgLY {\n width: 3px;\n height: 3px;\n border-radius: 50%;\n background: rgba(255, 255, 255, 0.3);\n transform: scale(0.667);\n transition: background-color 0.25s ease-out, transform 0.25s ease-out;\n}\n.styles-module__cycleDot___nPgLY.styles-module__active___-zoN6 {\n background: #fff;\n transform: scale(1);\n}\n[data-ui-sniper-theme=light] .styles-module__cycleDot___nPgLY {\n background: rgba(0, 0, 0, 0.2);\n}\n[data-ui-sniper-theme=light] .styles-module__cycleDot___nPgLY.styles-module__active___-zoN6 {\n background: rgba(0, 0, 0, 0.7);\n}\n\n.styles-module__dropdownMenu___k73ER {\n position: absolute;\n right: 0;\n top: calc(100% + 0.25rem);\n background: #1a1a1a;\n border-radius: 0.5rem;\n padding: 0.25rem;\n min-width: 120px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1);\n z-index: 10;\n animation: styles-module__scaleIn___c-r1K 0.15s ease-out;\n}\n\n.styles-module__dropdownItem___ylsLj {\n width: 100%;\n display: flex;\n align-items: center;\n padding: 0.5rem 0.625rem;\n border: none;\n border-radius: 0.375rem;\n background: transparent;\n font-size: 0.8125rem;\n font-weight: 500;\n color: rgba(255, 255, 255, 0.85);\n cursor: pointer;\n text-align: left;\n transition: background-color 0.15s ease, color 0.15s ease;\n letter-spacing: -0.0094em;\n}\n.styles-module__dropdownItem___ylsLj:hover {\n background: rgba(255, 255, 255, 0.08);\n}\n.styles-module__dropdownItem___ylsLj.styles-module__selected___OwRqP {\n background: rgba(255, 255, 255, 0.12);\n color: #fff;\n font-weight: 600;\n}\n\n.styles-module__settingsLabel___8UjfX {\n font-size: 0.8125rem;\n font-weight: 400;\n letter-spacing: -0.0094em;\n color: rgba(255, 255, 255, 0.5);\n display: flex;\n align-items: center;\n gap: 0.125rem;\n}\n[data-ui-sniper-theme=light] .styles-module__settingsLabel___8UjfX {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.styles-module__settingsLabelMarker___ewdtV {\n padding-top: 3px;\n margin-bottom: 10px;\n}\n\n.styles-module__settingsOptions___LyrBA {\n display: flex;\n gap: 0.25rem;\n}\n\n.styles-module__settingsOption___UNa12 {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.25rem;\n padding: 0.375rem 0.5rem;\n border: none;\n border-radius: 0.375rem;\n background: transparent;\n font-size: 0.6875rem;\n font-weight: 500;\n color: rgba(0, 0, 0, 0.7);\n cursor: pointer;\n transition: background-color 0.15s ease, color 0.15s ease;\n}\n.styles-module__settingsOption___UNa12:hover {\n background: rgba(0, 0, 0, 0.05);\n}\n.styles-module__settingsOption___UNa12.styles-module__selected___OwRqP {\n background: color-mix(in srgb, var(--ui-sniper-color-blue) 15%, transparent);\n color: var(--ui-sniper-color-blue);\n}\n\n.styles-module__sliderContainer___ducXj {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n.styles-module__slider___GLdxp {\n -webkit-appearance: none;\n appearance: none;\n width: 100%;\n height: 4px;\n background: rgba(255, 255, 255, 0.15);\n border-radius: 2px;\n outline: none;\n cursor: pointer;\n}\n.styles-module__slider___GLdxp::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 14px;\n height: 14px;\n background: white;\n border-radius: 50%;\n cursor: pointer;\n transition: transform 0.15s ease, box-shadow 0.15s ease;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);\n}\n.styles-module__slider___GLdxp::-moz-range-thumb {\n width: 14px;\n height: 14px;\n background: white;\n border: none;\n border-radius: 50%;\n cursor: pointer;\n transition: transform 0.15s ease, box-shadow 0.15s ease;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);\n}\n.styles-module__slider___GLdxp:hover::-webkit-slider-thumb {\n transform: scale(1.15);\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);\n}\n.styles-module__slider___GLdxp:hover::-moz-range-thumb {\n transform: scale(1.15);\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);\n}\n\n.styles-module__sliderLabels___FhLDB {\n display: flex;\n justify-content: space-between;\n}\n\n.styles-module__sliderLabel___U8sPr {\n font-size: 0.625rem;\n font-weight: 500;\n color: rgba(255, 255, 255, 0.4);\n cursor: pointer;\n transition: color 0.15s ease;\n}\n.styles-module__sliderLabel___U8sPr:hover {\n color: rgba(255, 255, 255, 0.7);\n}\n.styles-module__sliderLabel___U8sPr.styles-module__active___-zoN6 {\n color: rgba(255, 255, 255, 0.9);\n}\n\n.styles-module__colorOptions___iHCNX {\n display: flex;\n gap: 0.5rem;\n margin-top: 0.375rem;\n margin-bottom: 1px;\n}\n\n.styles-module__colorOption___IodiY {\n display: block;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n border: 2px solid transparent;\n background-color: var(--swatch);\n cursor: pointer;\n transition: transform 0.2s cubic-bezier(0.25, 1, 0.5, 1);\n}\n@supports (color: color(display-p3 0 0 0)) {\n .styles-module__colorOption___IodiY {\n background-color: var(--swatch-p3);\n }\n}\n.styles-module__colorOption___IodiY:hover {\n transform: scale(1.15);\n}\n.styles-module__colorOption___IodiY.styles-module__selected___OwRqP {\n transform: scale(0.83);\n}\n\n.styles-module__colorOptionRing___U2xpo {\n display: flex;\n width: 24px;\n height: 24px;\n border: 2px solid transparent;\n border-radius: 50%;\n transition: border-color 0.3s ease;\n}\n.styles-module__colorOptionRing___U2xpo.styles-module__selected___OwRqP {\n border-color: var(--swatch);\n}\n@supports (color: color(display-p3 0 0 0)) {\n .styles-module__colorOptionRing___U2xpo.styles-module__selected___OwRqP {\n border-color: var(--swatch-p3);\n }\n}\n\n.styles-module__settingsToggle___fBrFn {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n cursor: pointer;\n}\n.styles-module__settingsToggle___fBrFn + .styles-module__settingsToggle___fBrFn {\n margin-top: calc(0.5rem + 6px);\n}\n.styles-module__settingsToggle___fBrFn input[type=checkbox] {\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n}\n.styles-module__settingsToggle___fBrFn.styles-module__settingsToggleMarginBottom___MZUyF {\n margin-bottom: calc(0.5rem + 6px);\n}\n\n.styles-module__customCheckbox___U39ax {\n position: relative;\n width: 14px;\n height: 14px;\n border: 1px solid rgba(255, 255, 255, 0.2);\n border-radius: 4px;\n background: rgba(255, 255, 255, 0.05);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n transition: background-color 0.25s ease, border-color 0.25s ease;\n}\n.styles-module__customCheckbox___U39ax svg {\n color: #1a1a1a;\n opacity: 1;\n transition: opacity 0.15s ease;\n}\ninput[type=checkbox]:checked + .styles-module__customCheckbox___U39ax {\n border-color: rgba(255, 255, 255, 0.3);\n background: rgb(255, 255, 255);\n}\n[data-ui-sniper-theme=light] .styles-module__customCheckbox___U39ax {\n border: 1px solid rgba(0, 0, 0, 0.15);\n background: #fff;\n}\n[data-ui-sniper-theme=light] .styles-module__customCheckbox___U39ax.styles-module__checked___mnZLo {\n border-color: #1a1a1a;\n background: #1a1a1a;\n}\n[data-ui-sniper-theme=light] .styles-module__customCheckbox___U39ax.styles-module__checked___mnZLo svg {\n color: #fff;\n}\n\n.styles-module__toggleLabel___Xm8Aa {\n font-size: 0.8125rem;\n font-weight: 400;\n color: rgba(255, 255, 255, 0.5);\n letter-spacing: -0.0094em;\n display: flex;\n align-items: center;\n gap: 0.25rem;\n}\n[data-ui-sniper-theme=light] .styles-module__toggleLabel___Xm8Aa {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.styles-module__toggleSwitch___l4Ygm {\n position: relative;\n display: inline-block;\n width: 24px;\n height: 16px;\n flex-shrink: 0;\n cursor: pointer;\n transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.styles-module__toggleSwitch___l4Ygm input {\n opacity: 0;\n width: 0;\n height: 0;\n}\n.styles-module__toggleSwitch___l4Ygm input:checked + .styles-module__toggleSlider___wprIn {\n background-color: var(--ui-sniper-color-blue);\n}\n.styles-module__toggleSwitch___l4Ygm input:checked + .styles-module__toggleSlider___wprIn::before {\n transform: translateX(8px);\n}\n.styles-module__toggleSwitch___l4Ygm.styles-module__disabled___332Jw {\n opacity: 0.4;\n}\n.styles-module__toggleSwitch___l4Ygm.styles-module__disabled___332Jw .styles-module__toggleSlider___wprIn {\n cursor: not-allowed;\n}\n\n.styles-module__toggleSlider___wprIn {\n position: absolute;\n cursor: pointer;\n inset: 0;\n border-radius: 16px;\n background: #484848;\n}\n[data-ui-sniper-theme=light] .styles-module__toggleSlider___wprIn {\n background: #dddddd;\n}\n.styles-module__toggleSlider___wprIn::before {\n content: "";\n position: absolute;\n height: 12px;\n width: 12px;\n left: 2px;\n bottom: 2px;\n background: white;\n border-radius: 50%;\n transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n@keyframes styles-module__mcpPulse___uNggr {\n 0% {\n box-shadow: 0 0 0 0 color-mix(in srgb, var(--ui-sniper-color-green) 50%, transparent);\n }\n 70% {\n box-shadow: 0 0 0 6px color-mix(in srgb, var(--ui-sniper-color-green) 0%, transparent);\n }\n 100% {\n box-shadow: 0 0 0 0 color-mix(in srgb, var(--ui-sniper-color-green) 0%, transparent);\n }\n}\n@keyframes styles-module__mcpPulseError___fov9B {\n 0% {\n box-shadow: 0 0 0 0 color-mix(in srgb, var(--ui-sniper-color-red) 50%, transparent);\n }\n 70% {\n box-shadow: 0 0 0 6px color-mix(in srgb, var(--ui-sniper-color-red) 0%, transparent);\n }\n 100% {\n box-shadow: 0 0 0 0 color-mix(in srgb, var(--ui-sniper-color-red) 0%, transparent);\n }\n}\n.styles-module__mcpStatusDot___ibgkc {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n flex-shrink: 0;\n}\n.styles-module__mcpStatusDot___ibgkc.styles-module__connecting___uo-CW {\n background-color: var(--ui-sniper-color-yellow);\n animation: styles-module__mcpPulse___uNggr 1.5s infinite;\n}\n.styles-module__mcpStatusDot___ibgkc.styles-module__connected___7c28g {\n background-color: var(--ui-sniper-color-green);\n animation: styles-module__mcpPulse___uNggr 2.5s ease-in-out infinite;\n}\n.styles-module__mcpStatusDot___ibgkc.styles-module__disconnected___cHPxR {\n background-color: var(--ui-sniper-color-red);\n animation: styles-module__mcpPulseError___fov9B 2s infinite;\n}\n\n.styles-module__drawCanvas___7cG9U {\n position: fixed;\n inset: 0;\n z-index: 99996;\n pointer-events: none !important;\n}\n.styles-module__drawCanvas___7cG9U.styles-module__active___-zoN6 {\n pointer-events: auto !important;\n cursor: crosshair !important;\n}\n.styles-module__drawCanvas___7cG9U.styles-module__active___-zoN6[data-stroke-hover] {\n cursor: pointer !important;\n}\n\n.styles-module__dragSelection___kZLq2 {\n position: fixed;\n top: 0;\n left: 0;\n border: 2px solid color-mix(in srgb, var(--ui-sniper-color-green) 60%, transparent);\n border-radius: 4px;\n background-color: color-mix(in srgb, var(--ui-sniper-color-green) 8%, transparent);\n pointer-events: none;\n z-index: 99997;\n will-change: transform, width, height;\n contain: layout style;\n}\n\n.styles-module__dragCount___KM90j {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n background-color: var(--ui-sniper-color-green);\n color: white;\n font-size: 0.875rem;\n font-weight: 600;\n padding: 0.25rem 0.5rem;\n border-radius: 1rem;\n min-width: 1.5rem;\n text-align: center;\n}\n\n.styles-module__highlightsContainer___-0xzG {\n position: fixed;\n top: 0;\n left: 0;\n pointer-events: none;\n z-index: 99996;\n}\n\n.styles-module__selectedElementHighlight___fyVlI {\n position: fixed;\n top: 0;\n left: 0;\n border: 2px solid color-mix(in srgb, var(--ui-sniper-color-green) 50%, transparent);\n border-radius: 4px;\n background: color-mix(in srgb, var(--ui-sniper-color-green) 6%, transparent);\n pointer-events: none;\n will-change: transform, width, height;\n contain: layout style;\n}\n\n[data-ui-sniper-theme=light] .styles-module__toolbarContainer___dIhma {\n background: #fff;\n color: rgba(0, 0, 0, 0.85);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.04);\n}\n[data-ui-sniper-theme=light] .styles-module__toolbarContainer___dIhma.styles-module__collapsed___Rydsn:hover {\n background: #f5f5f5;\n}\n[data-ui-sniper-theme=light] .styles-module__controlButton___8Q0jc {\n color: rgba(0, 0, 0, 0.5);\n}\n[data-ui-sniper-theme=light] .styles-module__controlButton___8Q0jc:hover:not(:disabled):not([data-active=true]):not([data-failed=true]):not([data-auto-sync=true]):not([data-error=true]):not([data-no-hover=true]) {\n background: rgba(0, 0, 0, 0.06);\n color: rgba(0, 0, 0, 0.85);\n}\n[data-ui-sniper-theme=light] .styles-module__controlButton___8Q0jc[data-active=true] {\n color: var(--ui-sniper-color-blue);\n background: color-mix(in srgb, var(--ui-sniper-color-blue) 15%, transparent);\n}\n[data-ui-sniper-theme=light] .styles-module__controlButton___8Q0jc[data-error=true] {\n color: var(--ui-sniper-color-red);\n background: color-mix(in srgb, var(--ui-sniper-color-red) 15%, transparent);\n}\n[data-ui-sniper-theme=light] .styles-module__controlButton___8Q0jc[data-danger]:hover:not(:disabled):not([data-active=true]):not([data-failed=true]) {\n color: var(--ui-sniper-color-red);\n background: color-mix(in srgb, var(--ui-sniper-color-red) 15%, transparent);\n}\n[data-ui-sniper-theme=light] .styles-module__controlButton___8Q0jc[data-auto-sync=true] {\n color: var(--ui-sniper-color-green);\n background: transparent;\n}\n[data-ui-sniper-theme=light] .styles-module__controlButton___8Q0jc[data-failed=true] {\n color: var(--ui-sniper-color-red);\n background: color-mix(in srgb, var(--ui-sniper-color-red) 15%, transparent);\n}\n[data-ui-sniper-theme=light] .styles-module__buttonTooltip___Burd9 {\n background: #fff;\n color: rgba(0, 0, 0, 0.85);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(0, 0, 0, 0.04);\n}\n[data-ui-sniper-theme=light] .styles-module__buttonTooltip___Burd9::after {\n background: #fff;\n}\n[data-ui-sniper-theme=light] .styles-module__divider___c--s1 {\n background: rgba(0, 0, 0, 0.1);\n}\n\n@media (max-width: 768px), (pointer: coarse) {\n .styles-module__toolbarContainer___dIhma {\n bottom: 24px;\n top: auto !important;\n left: 50% !important;\n transform: translateX(-50%) !important;\n width: max-content;\n max-width: 90vw;\n }\n}\n.styles-module__centerCrosshair___UQ3GL {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 99998;\n pointer-events: none;\n}\n.styles-module__centerCrosshair___UQ3GL .styles-module__crosshairDot___YjR0R {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 6px;\n height: 6px;\n background-color: var(--ui-sniper-color-accent);\n border-radius: 50%;\n box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);\n}\n.styles-module__centerCrosshair___UQ3GL .styles-module__crosshairLineHorizontal___VX9Ks {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 20px;\n height: 2px;\n background-color: var(--ui-sniper-color-accent);\n opacity: 0.5;\n}\n.styles-module__centerCrosshair___UQ3GL .styles-module__crosshairLineVertical___ZEZ7X {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 2px;\n height: 20px;\n background-color: var(--ui-sniper-color-accent);\n opacity: 0.5;\n}';
|
|
7547
7679
|
var classNames5 = { "toolbar": "styles-module__toolbar___wNsdK", "markersLayer": "styles-module__markersLayer___-25j1", "fixedMarkersLayer": "styles-module__fixedMarkersLayer___ffyX6", "controlsContent": "styles-module__controlsContent___9GJWU", "disableTransitions": "styles-module__disableTransitions___EopxO", "toolbarContainer": "styles-module__toolbarContainer___dIhma", "entrance": "styles-module__entrance___sgHd8", "toolbarEnter": "styles-module__toolbarEnter___u8RRu", "hiding": "styles-module__hiding___1td44", "toolbarHide": "styles-module__toolbarHide___y8kaT", "collapsed": "styles-module__collapsed___Rydsn", "expanded": "styles-module__expanded___ofKPx", "serverConnected": "styles-module__serverConnected___Gfbou", "toggleContent": "styles-module__toggleContent___0yfyP", "visible": "styles-module__visible___KHwEW", "hidden": "styles-module__hidden___Ae8H4", "badge": "styles-module__badge___2XsgF", "fadeOut": "styles-module__fadeOut___6Ut6-", "badgeEnter": "styles-module__badgeEnter___mVQLj", "controlButton": "styles-module__controlButton___8Q0jc", "statusShowing": "styles-module__statusShowing___te6iu", "buttonBadge": "styles-module__buttonBadge___NeFWb", "mcpIndicator": "styles-module__mcpIndicator___zGJeL", "connected": "styles-module__connected___7c28g", "mcpIndicatorPulseConnected": "styles-module__mcpIndicatorPulseConnected___EDodZ", "connecting": "styles-module__connecting___uo-CW", "mcpIndicatorPulseConnecting": "styles-module__mcpIndicatorPulseConnecting___cCYte", "connectionIndicatorWrapper": "styles-module__connectionIndicatorWrapper___L-e-3", "connectionIndicator": "styles-module__connectionIndicator___afk9p", "connectionIndicatorVisible": "styles-module__connectionIndicatorVisible___C-i5B", "connectionIndicatorConnected": "styles-module__connectionIndicatorConnected___IY8pR", "connectionPulse": "styles-module__connectionPulse___-Zycw", "connectionIndicatorDisconnected": "styles-module__connectionIndicatorDisconnected___kmpaZ", "connectionIndicatorConnecting": "styles-module__connectionIndicatorConnecting___QmSLH", "buttonWrapper": "styles-module__buttonWrapper___rBcdv", "buttonTooltip": "styles-module__buttonTooltip___Burd9", "tooltipsInSession": "styles-module__tooltipsInSession___-0lHH", "sendButtonWrapper": "styles-module__sendButtonWrapper___UUxG6", "sendButtonVisible": "styles-module__sendButtonVisible___WPSQU", "shortcut": "styles-module__shortcut___lEAQk", "tooltipBelow": "styles-module__tooltipBelow___m6ats", "tooltipsHidden": "styles-module__tooltipsHidden___VtLJG", "tooltipVisible": "styles-module__tooltipVisible___0jcCv", "buttonWrapperAlignLeft": "styles-module__buttonWrapperAlignLeft___myzIp", "buttonWrapperAlignRight": "styles-module__buttonWrapperAlignRight___HCQFR", "divider": "styles-module__divider___c--s1", "overlay": "styles-module__overlay___Q1O9y", "hoverHighlight": "styles-module__hoverHighlight___ogakW", "enter": "styles-module__enter___WFIki", "hoverHighlightIn": "styles-module__hoverHighlightIn___6WYHY", "multiSelectOutline": "styles-module__multiSelectOutline___cSJ-m", "fadeIn": "styles-module__fadeIn___b9qmf", "exit": "styles-module__exit___fyOJ0", "singleSelectOutline": "styles-module__singleSelectOutline___QhX-O", "hoverTooltip": "styles-module__hoverTooltip___bvLk7", "hoverTooltipIn": "styles-module__hoverTooltipIn___FYGQx", "hoverReactPath": "styles-module__hoverReactPath___gx1IJ", "hoverElementName": "styles-module__hoverElementName___QMLMl", "marker": "styles-module__marker___6sQrs", "clearing": "styles-module__clearing___FQ--7", "markerIn": "styles-module__markerIn___5FaAP", "markerOut": "styles-module__markerOut___GU5jX", "pending": "styles-module__pending___2IHLC", "fixed": "styles-module__fixed___dBMHC", "multiSelect": "styles-module__multiSelect___YWiuz", "hovered": "styles-module__hovered___ZgXIy", "renumber": "styles-module__renumber___nCTxD", "renumberRoll": "styles-module__renumberRoll___Wgbq3", "markerTooltip": "styles-module__markerTooltip___aLJID", "tooltipIn": "styles-module__tooltipIn___0N31w", "markerQuote": "styles-module__markerQuote___FHmrz", "markerNote": "styles-module__markerNote___QkrrS", "markerHint": "styles-module__markerHint___2iF-6", "settingsPanel": "styles-module__settingsPanel___OxX3Y", "settingsHeader": "styles-module__settingsHeader___pwDY9", "settingsBrand": "styles-module__settingsBrand___0gJeM", "settingsBrandSlash": "styles-module__settingsBrandSlash___uTG18", "settingsVersion": "styles-module__settingsVersion___TUcFq", "settingsSection": "styles-module__settingsSection___m-YM2", "settingsLabel": "styles-module__settingsLabel___8UjfX", "cycleButton": "styles-module__cycleButton___FMKfw", "cycleDot": "styles-module__cycleDot___nPgLY", "dropdownButton": "styles-module__dropdownButton___16NPz", "toggleLabel": "styles-module__toggleLabel___Xm8Aa", "customCheckbox": "styles-module__customCheckbox___U39ax", "sliderLabel": "styles-module__sliderLabel___U8sPr", "slider": "styles-module__slider___GLdxp", "themeToggle": "styles-module__themeToggle___2rUjA", "settingsOption": "styles-module__settingsOption___UNa12", "selected": "styles-module__selected___OwRqP", "settingsPanelContainer": "styles-module__settingsPanelContainer___Xksv8", "settingsPage": "styles-module__settingsPage___6YfHH", "slideLeft": "styles-module__slideLeft___Ps01J", "automationsPage": "styles-module__automationsPage___uvCq6", "slideIn": "styles-module__slideIn___4-qXe", "settingsNavLink": "styles-module__settingsNavLink___wCzJt", "settingsNavLinkRight": "styles-module__settingsNavLinkRight___ZWwhj", "mcpNavIndicator": "styles-module__mcpNavIndicator___cl9pO", "mcpPulse": "styles-module__mcpPulse___uNggr", "settingsBackButton": "styles-module__settingsBackButton___bIe2j", "automationHeader": "styles-module__automationHeader___InP0r", "automationDescription": "styles-module__automationDescription___NKlmo", "learnMoreLink": "styles-module__learnMoreLink___8xv-x", "autoSendRow": "styles-module__autoSendRow___UblX5", "autoSendLabel": "styles-module__autoSendLabel___icDc2", "active": "styles-module__active___-zoN6", "webhookUrlInput": "styles-module__webhookUrlInput___2375C", "settingsSectionExtraPadding": "styles-module__settingsSectionExtraPadding___jdhFV", "settingsSectionGrow": "styles-module__settingsSectionGrow___h-5HZ", "settingsRow": "styles-module__settingsRow___3sdhc", "settingsRowMarginTop": "styles-module__settingsRowMarginTop___zA0Sp", "dropdownContainer": "styles-module__dropdownContainer___BVnxe", "settingsRowDisabled": "styles-module__settingsRowDisabled___EgS0V", "toggleSwitch": "styles-module__toggleSwitch___l4Ygm", "cycleButtonText": "styles-module__cycleButtonText___fD1LR", "cycleTextIn": "styles-module__cycleTextIn___Q6zJf", "cycleDots": "styles-module__cycleDots___LWuoQ", "dropdownMenu": "styles-module__dropdownMenu___k73ER", "scaleIn": "styles-module__scaleIn___c-r1K", "dropdownItem": "styles-module__dropdownItem___ylsLj", "settingsLabelMarker": "styles-module__settingsLabelMarker___ewdtV", "settingsOptions": "styles-module__settingsOptions___LyrBA", "sliderContainer": "styles-module__sliderContainer___ducXj", "sliderLabels": "styles-module__sliderLabels___FhLDB", "colorOptions": "styles-module__colorOptions___iHCNX", "colorOption": "styles-module__colorOption___IodiY", "colorOptionRing": "styles-module__colorOptionRing___U2xpo", "settingsToggle": "styles-module__settingsToggle___fBrFn", "settingsToggleMarginBottom": "styles-module__settingsToggleMarginBottom___MZUyF", "checked": "styles-module__checked___mnZLo", "toggleSlider": "styles-module__toggleSlider___wprIn", "disabled": "styles-module__disabled___332Jw", "mcpStatusDot": "styles-module__mcpStatusDot___ibgkc", "disconnected": "styles-module__disconnected___cHPxR", "mcpPulseError": "styles-module__mcpPulseError___fov9B", "drawCanvas": "styles-module__drawCanvas___7cG9U", "dragSelection": "styles-module__dragSelection___kZLq2", "dragCount": "styles-module__dragCount___KM90j", "highlightsContainer": "styles-module__highlightsContainer___-0xzG", "selectedElementHighlight": "styles-module__selectedElementHighlight___fyVlI", "centerCrosshair": "styles-module__centerCrosshair___UQ3GL", "crosshairDot": "styles-module__crosshairDot___YjR0R", "crosshairLineHorizontal": "styles-module__crosshairLineHorizontal___VX9Ks", "crosshairLineVertical": "styles-module__crosshairLineVertical___ZEZ7X", "scaleOut": "styles-module__scaleOut___Wctwz", "slideUp": "styles-module__slideUp___kgD36", "slideDown": "styles-module__slideDown___zcdje" };
|
|
@@ -7963,7 +8095,7 @@ function SettingsPanel({
|
|
|
7963
8095
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("a", { className: styles_module_default9.settingsBrand, href: "https://hara-xy.com", target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("svg", { width: "72", height: "16", viewBox: "0 0 500 151", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("text", { x: "10", y: "110", "font-family": "'Arial Black', 'Impact', sans-serif", "font-size": "105", "font-weight": "900", "font-style": "italic", "letter-spacing": "-2", fill: "currentColor", children: "UI SNIPER" }) }) }),
|
|
7964
8096
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("p", { className: styles_module_default9.settingsVersion, children: [
|
|
7965
8097
|
"v",
|
|
7966
|
-
"3.0.
|
|
8098
|
+
"3.0.10"
|
|
7967
8099
|
] }),
|
|
7968
8100
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
7969
8101
|
"button",
|
|
@@ -10252,12 +10384,21 @@ function PageFeedbackToolbarCSS({
|
|
|
10252
10384
|
}
|
|
10253
10385
|
if (elToCapture) {
|
|
10254
10386
|
try {
|
|
10255
|
-
const
|
|
10256
|
-
|
|
10257
|
-
|
|
10258
|
-
|
|
10259
|
-
|
|
10260
|
-
|
|
10387
|
+
const rect = elToCapture.getBoundingClientRect();
|
|
10388
|
+
const result = await captureDomRegion(
|
|
10389
|
+
rect.left,
|
|
10390
|
+
rect.top,
|
|
10391
|
+
rect.width,
|
|
10392
|
+
rect.height,
|
|
10393
|
+
[],
|
|
10394
|
+
// No strokes for standard annotation
|
|
10395
|
+
150,
|
|
10396
|
+
// 150px padding to show surrounding context
|
|
10397
|
+
0.8
|
|
10398
|
+
);
|
|
10399
|
+
if (result) {
|
|
10400
|
+
screenshotData = result;
|
|
10401
|
+
}
|
|
10261
10402
|
} catch (e) {
|
|
10262
10403
|
console.error("Failed to capture screenshot:", e);
|
|
10263
10404
|
}
|