@qaiddev/thumbs-embed 1.6.0 → 1.6.1
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/chunks/{annotate-pSxJNPPL.js → annotate-NeITyYNe.js} +4 -9
- package/dist/chunks/{annotate-pSxJNPPL.js.map → annotate-NeITyYNe.js.map} +1 -1
- package/dist/chunks/{bootstrap-rINL2pCt.js → loader-DnJ3MHkt.js} +137 -127
- package/dist/chunks/loader-DnJ3MHkt.js.map +1 -0
- package/dist/chunks/{modal-Br-8TcEE.js → modal-C8Ca7E5j.js} +3 -3
- package/dist/chunks/{modal-Br-8TcEE.js.map → modal-C8Ca7E5j.js.map} +1 -1
- package/dist/chunks/{recording-BRvu1Vkh.js → recording-DhRZ6-tW.js} +133 -74
- package/dist/chunks/recording-DhRZ6-tW.js.map +1 -0
- package/dist/chunks/{targeting-_aii7qgw.js → targeting-BEQU2Ogo.js} +2 -2
- package/dist/chunks/{targeting-_aii7qgw.js.map → targeting-BEQU2Ogo.js.map} +1 -1
- package/dist/index.js +2569 -19
- package/dist/index.js.map +1 -1
- package/dist/loader.js +2 -4
- package/dist/loader.js.map +1 -1
- package/dist/qaid.umd.cjs +3 -3
- package/dist/qaid.umd.cjs.map +1 -1
- package/package.json +2 -2
- package/dist/chunks/bootstrap-rINL2pCt.js.map +0 -1
- package/dist/chunks/network-capture-DMbMwwwR.js +0 -63
- package/dist/chunks/network-capture-DMbMwwwR.js.map +0 -1
- package/dist/chunks/recording-BRvu1Vkh.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as ct, F as ut, T as ht, a as pt, R as bt } from "./annotate-
|
|
1
|
+
import { i as ct, F as ut, T as ht, a as pt, R as bt } from "./annotate-NeITyYNe.js";
|
|
2
2
|
const ft = "button{cursor:pointer}.qaid-buttons{display:flex;gap:.5rem}.qaid-buttons.qaid-vertical{flex-direction:column}.qaid-buttons.qaid-auto-container{position:fixed;z-index:50}.qaid-buttons.qaid-auto-container.qaid-bottom-right{bottom:1rem;right:1rem}.qaid-buttons.qaid-auto-container.qaid-bottom-left{bottom:1rem;left:1rem}.qaid-buttons.qaid-auto-container.qaid-top-right{top:1rem;right:1rem}.qaid-buttons.qaid-auto-container.qaid-top-left{top:1rem;left:1rem}.qaid-buttons.qaid-incognito{opacity:0;transition:opacity .2s ease-in-out}.qaid-buttons.qaid-incognito:hover{opacity:1}.qaid-buttons.qaid-dismissed{display:none!important}.qaid-dismiss-btn{width:20px;height:20px;padding:0;border:none;border-radius:50%;background:#0006;color:#fff;display:flex;align-items:center;justify-content:center;align-self:center;opacity:0;transition:opacity .15s,background .15s;cursor:pointer;pointer-events:auto;-webkit-appearance:none;appearance:none}.qaid-dismiss-btn:hover{background:#0009}.qaid-buttons:hover .qaid-dismiss-btn{opacity:1}button.qaid-btn-structural{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-appearance:none;appearance:none}.qaid-icon{width:24px;height:24px}.qaid-btn-structural:not(:has(svg)),.qaid-btn:not(:has(svg)){font-size:var(--qaid-icon-size, 24px);line-height:1}.qaid-emoji-icon{font-size:var(--qaid-icon-size, 24px);line-height:1}.qaid-buttons,.qaid-buttons *,.qaid-modal-container,.qaid-modal-container *{cursor:pointer!important}.qaid-tooltip-wrapper{position:relative}.qaid-tooltip-text{position:fixed;padding:.5rem .75rem;background:#1f2937;color:#fff;font-size:1rem;font-weight:600;border-radius:.5rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s;z-index:99999}.qaid-tooltip-text.qaid-tooltip-visible{opacity:1}.qaid-targeting-overlay{position:fixed;inset:0;z-index:40;pointer-events:none}.qaid-capture-layer{position:fixed;inset:0;pointer-events:none;z-index:9999}@keyframes qaid-slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.qaid-vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.3) 70%,rgba(0,0,0,.6) 100%);z-index:41}.qaid-crosshair-h,.qaid-crosshair-v{position:fixed;pointer-events:none;z-index:42}.qaid-crosshair-h{left:0;right:0;height:1px;background:color-mix(in srgb,var(--qaid-negative) 60%,transparent)}.qaid-crosshair-v{top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--qaid-negative) 60%,transparent)}.qaid-type-up .qaid-crosshair-h,.qaid-type-up .qaid-crosshair-v{background:color-mix(in srgb,var(--qaid-positive) 60%,transparent)}.qaid-highlight-box{position:fixed;top:0;left:0;pointer-events:none;z-index:41;display:none;border:3px solid color-mix(in srgb,var(--qaid-negative) 80%,transparent);border-radius:2px;background:color-mix(in srgb,var(--qaid-negative) 8%,transparent);will-change:transform,width,height}.qaid-type-up .qaid-highlight-box{border-color:color-mix(in srgb,var(--qaid-positive) 80%,transparent);background:color-mix(in srgb,var(--qaid-positive) 8%,transparent)}.qaid-scope{position:fixed;width:80px;height:80px;pointer-events:none;z-index:43;transform:translate(-50%,-50%)}.qaid-scope-ring{position:absolute;inset:10px;border:2px solid color-mix(in srgb,var(--qaid-negative) 80%,transparent);border-radius:50%}.qaid-type-up .qaid-scope-ring{border-color:color-mix(in srgb,var(--qaid-positive) 80%,transparent)}.qaid-scope-ring-inner{position:absolute;inset:20px;border:1px solid color-mix(in srgb,var(--qaid-negative) 50%,transparent);border-radius:50%}.qaid-type-up .qaid-scope-ring-inner{border-color:color-mix(in srgb,var(--qaid-positive) 50%,transparent)}.qaid-scope-dot{position:absolute;top:50%;left:50%;width:4px;height:4px;background:var(--qaid-negative);border-radius:50%;transform:translate(-50%,-50%)}.qaid-type-up .qaid-scope-dot{background:var(--qaid-positive)}.qaid-selected-marker{position:fixed;border:3px solid var(--qaid-marker, #6366f1);border-radius:50%;pointer-events:none;z-index:44;animation:qaid-markerPulse 1.5s ease-in-out infinite}@keyframes qaid-markerPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.qaid-backdrop{position:fixed;inset:0;z-index:45;background:#0000004d}.qaid-modal-container{position:fixed;z-index:50;display:flex;flex-direction:column;align-items:flex-start;max-height:calc(100vh - 32px);font-family:var(--qaid-font-family, system-ui, -apple-system, sans-serif);font-size:var(--qaid-font-size, 16px)}.qaid-modal-container.qaid-above{flex-direction:column-reverse}.qaid-modal-arrow{width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;position:relative;align-self:flex-start}.qaid-modal-container.qaid-below .qaid-modal-arrow{border-bottom:12px solid light-dark(#ffffff,#1f2937)}.qaid-modal-container.qaid-above .qaid-modal-arrow{border-top:12px solid light-dark(#ffffff,#1f2937)}.qaid-modal-box{color-scheme:inherit;background:light-dark(#ffffff,#1f2937);border-radius:1rem;padding:1.5rem;box-shadow:0 25px 50px -12px light-dark(rgba(0,0,0,.25),rgba(0,0,0,.5));width:var(--qaid-modal-width, 400px);max-width:calc(100vw - 32px);max-height:calc(100vh - 60px);overflow-y:auto}.qaid-modal-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}button.qaid-type-toggle{border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0;-webkit-appearance:none;appearance:none}button.qaid-type-toggle:hover{transform:scale(1.1)}button.qaid-type-toggle:not(.qaid-type-toggle-custom){width:2.5rem;height:2.5rem;border-radius:50%}button.qaid-type-toggle:not(.qaid-type-toggle-custom) svg{width:1.25rem;height:1.25rem}button.qaid-type-toggle.qaid-type-up{background:var(--qaid-positive);color:#fff}button.qaid-type-toggle.qaid-type-down{background:var(--qaid-negative);color:#fff}.qaid-type-static{width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--qaid-marker, #6366f1);color:var(--qaid-marker-text, white)}.qaid-type-static svg{width:1.25rem;height:1.25rem}.qaid-modal-header-text{flex:1;min-width:0}.qaid-modal-title{font-size:1.125rem;font-weight:700;margin:0 0 .25rem;color:light-dark(#1f2937,#f9fafb)}.qaid-modal-subtitle{color:light-dark(#6b7280,#9ca3af);margin:0;font-size:.875rem}.qaid-textarea{width:100%;height:6rem;padding:.75rem;border:1px solid light-dark(#d1d5db,#374151);border-radius:.5rem;font-family:inherit;font-size:1rem;resize:vertical;margin-bottom:1rem;box-sizing:border-box;background:light-dark(#ffffff,#111827);color:light-dark(#1f2937,#f9fafb)}.qaid-textarea:focus{outline:none;border-color:var(--qaid-marker);box-shadow:0 0 0 3px color-mix(in srgb,var(--qaid-marker) 20%,transparent)}.qaid-btn-row{display:flex;gap:.5rem;justify-content:flex-end}button.qaid-btn-submit{padding:.5rem 1rem;background:var(--qaid-marker);color:var(--qaid-marker-text, white);border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s,filter .2s;-webkit-appearance:none;appearance:none}button.qaid-btn-submit:hover{filter:brightness(.85)}button.qaid-btn-submit:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--qaid-marker) 30%,transparent)}.qaid-bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:50;animation:qaid-slideUpSheet .3s ease-out;font-family:var(--qaid-font-family, system-ui, -apple-system, sans-serif);font-size:var(--qaid-font-size, 16px)}.qaid-bottom-sheet-content{background:light-dark(#ffffff,#1f2937);border-radius:1rem 1rem 0 0;padding:1.5rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.qaid-bottom-sheet-handle{width:36px;height:4px;background:light-dark(rgba(0,0,0,.2),rgba(255,255,255,.2));border-radius:2px;margin:0 auto 1rem}@keyframes qaid-slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}button.qaid-btn-record:hover{background:#dc2626;color:#fff}.qaid-recording-indicator{position:fixed;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:light-dark(#1f2937,#374151);color:#fff;border-radius:9999px;font-family:var(--qaid-font-family, system-ui, -apple-system, sans-serif);font-size:.875rem;font-weight:500;box-shadow:0 4px 12px #0000004d;z-index:99999;animation:qaid-slideDown .2s ease-out}.qaid-recording-dot{width:10px;height:10px;background:#dc2626;border-radius:50%;animation:qaid-dotPulse 1.5s ease-in-out infinite}@keyframes qaid-dotPulse{0%,to{opacity:1}50%{opacity:.3}}.qaid-recording-time{font-variant-numeric:tabular-nums;min-width:2.5rem;text-align:center}button.qaid-recording-stop{padding:.25rem .75rem;background:#dc2626;color:#fff;border:none;border-radius:9999px;font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color .2s;-webkit-appearance:none;appearance:none}button.qaid-recording-stop:hover{background:#b91c1c}.qaid-video-preview{position:fixed;inset:0 0 auto;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));box-sizing:border-box;background:#0009;z-index:99998;animation:qaid-fadeIn .2s ease-out}@keyframes qaid-fadeIn{0%{opacity:0}to{opacity:1}}.qaid-video-preview-box{color-scheme:inherit;background:light-dark(#ffffff,#1f2937);border-radius:1rem;padding:1.5rem;box-shadow:0 25px 50px -12px #00000080;width:560px;max-width:100%;max-height:100%;overflow-y:auto;font-family:var(--qaid-font-family, system-ui, -apple-system, sans-serif);font-size:var(--qaid-font-size, 16px)}.qaid-video-preview-box h3{font-size:1.125rem;font-weight:700;margin:0 0 1rem;color:light-dark(#1f2937,#f9fafb)}.qaid-video-preview-box video{width:100%;max-height:50vh;max-height:50dvh;object-fit:contain;border-radius:.5rem;background:#000;margin-bottom:1rem}.qaid-video-preview-box textarea{width:100%;height:4rem;padding:.75rem;border:1px solid light-dark(#d1d5db,#374151);border-radius:.5rem;font-family:inherit;font-size:.875rem;resize:vertical;margin-bottom:1rem;box-sizing:border-box;background:light-dark(#ffffff,#111827);color:light-dark(#1f2937,#f9fafb)}.qaid-video-preview-box textarea:focus{outline:none;border-color:var(--qaid-marker);box-shadow:0 0 0 3px color-mix(in srgb,var(--qaid-marker) 20%,transparent)}.qaid-video-preview-actions{display:flex;gap:.5rem;justify-content:flex-end}button.qaid-video-btn{padding:.5rem 1rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s,filter .2s;-webkit-appearance:none;appearance:none}button.qaid-video-btn-cancel{background:light-dark(#f3f4f6,#374151);color:light-dark(#374151,#d1d5db)}button.qaid-video-btn-cancel:hover{background:light-dark(#e5e7eb,#4b5563)}button.qaid-video-btn-rerecord{background:light-dark(#fef3c7,#78350f);color:light-dark(#92400e,#fde68a)}button.qaid-video-btn-rerecord:hover{filter:brightness(.9)}button.qaid-video-btn-send{background:var(--qaid-marker);color:var(--qaid-marker-text, white)}button.qaid-video-btn-send:hover{filter:brightness(.85)}button.qaid-video-btn-send:disabled{opacity:.5;cursor:not-allowed}.qaid-video-sending{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:light-dark(#6b7280,#9ca3af)}.qaid-annotate{position:fixed;inset:0;z-index:2147483000;display:flex;flex-direction:column;gap:.75rem;padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));box-sizing:border-box;background:#000000d9;font-family:var(--qaid-font-family, system-ui, -apple-system, sans-serif);font-size:var(--qaid-font-size, 16px);animation:qaid-fadeIn .2s ease-out}.qaid-annotate-title{margin:0;font-size:1rem;font-weight:700;text-align:center;color:#f9fafb}.qaid-annotate-desc{margin:0;font-size:.8125rem;line-height:1.4;text-align:center;color:#f9fafbbf}.qaid-annotate-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto}.qaid-annotate-canvas{max-width:100%;max-height:100%;object-fit:contain;background:light-dark(#ffffff,#111827);border-radius:.5rem;box-shadow:0 10px 30px #00000080;touch-action:none;cursor:crosshair}.qaid-annotate-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:center;padding:.5rem .75rem;background:light-dark(#ffffff,#1f2937);border-radius:.75rem;box-shadow:0 10px 30px light-dark(rgba(0,0,0,.25),rgba(0,0,0,.5))}.qaid-annotate-tools,.qaid-annotate-actions{display:flex;gap:.375rem;align-items:center}button.qaid-annotate-tool,button.qaid-annotate-action{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-width:44px;min-height:44px;padding:0 .75rem;border:1px solid light-dark(#d1d5db,#374151);border-radius:.5rem;background:light-dark(#f9fafb,#111827);color:light-dark(#1f2937,#f9fafb);font-family:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background-color .15s,color .15s,border-color .15s,filter .15s}button.qaid-annotate-tool svg,button.qaid-annotate-action svg{width:20px;height:20px}.qaid-annotate-colors{display:flex;gap:.25rem;align-items:center}button.qaid-annotate-swatch{width:28px;height:28px;min-width:28px;padding:0;border-radius:9999px;border:2px solid light-dark(#d1d5db,#4b5563);background:var(--qaid-swatch, #000);cursor:pointer;-webkit-appearance:none;appearance:none;transition:transform .1s,box-shadow .15s,border-color .15s}button.qaid-annotate-swatch:hover{transform:scale(1.12)}button.qaid-annotate-swatch[aria-pressed=true]{border-color:light-dark(#111827,#f9fafb);box-shadow:0 0 0 2px var(--qaid-swatch)}@media(forced-colors:active){button.qaid-annotate-swatch[aria-pressed=true]{outline:2px solid Highlight;outline-offset:1px}}button.qaid-annotate-tool:hover,button.qaid-annotate-action:hover{background:light-dark(#eef2ff,#312e81)}button.qaid-annotate-tool[aria-pressed=true],button.qaid-annotate-done{background:var(--qaid-marker, #6366f1);color:var(--qaid-marker-text, #fff);border-color:var(--qaid-marker, #6366f1)}button.qaid-annotate-done:hover{filter:brightness(.9);background:var(--qaid-marker, #6366f1)}button.qaid-annotate-action:disabled{opacity:.45;cursor:not-allowed}@media(forced-colors:active){button.qaid-annotate-tool[aria-pressed=true],button.qaid-annotate-done{border:2px solid Highlight}.qaid-annotate-canvas{border:1px solid CanvasText}}button:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible,[role=button]:focus-visible{outline:2px solid var(--qaid-marker, #6366f1);outline-offset:2px}.qaid-textarea:focus-visible,button.qaid-btn-submit:focus-visible,.qaid-video-preview-box textarea:focus-visible{outline:2px solid var(--qaid-marker, #6366f1);outline-offset:2px}.qaid-buttons.qaid-incognito:focus-within{opacity:1}.qaid-buttons:focus-within .qaid-dismiss-btn,.qaid-dismiss-btn:focus-visible{opacity:1}.qaid-dismiss-btn{min-width:24px;min-height:24px}button.qaid-recording-stop{min-height:24px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(forced-colors:active){button:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible,[role=button]:focus-visible,.qaid-textarea:focus,button.qaid-btn-submit:focus,.qaid-video-preview-box textarea:focus{outline:2px solid CanvasText;outline-offset:2px}.qaid-selected-marker,.qaid-highlight-box{border-color:Highlight}}", mt = "body.qaid-targeting,body.qaid-targeting *{cursor:none!important}";
|
|
3
3
|
let f = 0;
|
|
4
4
|
const gt = "button.qaid-btn{width:var(--qaid-btn-size);height:var(--qaid-btn-size);border-radius:50%;border:none;background:#f3f4f6;color:#374151;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);transition:background-color .2s,color .2s,transform .2s;-webkit-appearance:none;appearance:none;--qaid-hover-up-bg:var(--qaid-positive);--qaid-hover-up-color:#fff;--qaid-hover-down-bg:var(--qaid-negative);--qaid-hover-down-color:#fff}button.qaid-btn:hover{transform:scale(1.05)}button.qaid-btn-up:hover{background:var(--qaid-hover-up-bg);color:var(--qaid-hover-up-color)}button.qaid-btn-down:hover{background:var(--qaid-hover-down-bg);color:var(--qaid-hover-down-color)}button.qaid-btn-feedback:hover{background:var(--qaid-marker,#6366f1);color:var(--qaid-marker-text,#fff)}button.qaid-btn svg{width:var(--qaid-icon-size);height:var(--qaid-icon-size)}", vt = {
|
|
@@ -11,16 +11,16 @@ const gt = "button.qaid-btn{width:var(--qaid-btn-size);height:var(--qaid-btn-siz
|
|
|
11
11
|
large: 32
|
|
12
12
|
};
|
|
13
13
|
function wt(e, t, i) {
|
|
14
|
-
const [o,
|
|
15
|
-
return 0.2126 * o + 0.7152 *
|
|
14
|
+
const [o, r, n] = [e, t, i].map((a) => (a = a / 255, a <= 0.03928 ? a / 12.92 : Math.pow((a + 0.055) / 1.055, 2.4)));
|
|
15
|
+
return 0.2126 * o + 0.7152 * r + 0.0722 * n;
|
|
16
16
|
}
|
|
17
17
|
function qt(e) {
|
|
18
18
|
if (e.startsWith("#")) {
|
|
19
|
-
const i = e.slice(1), o = i.length === 3 ? i.split("").map((
|
|
19
|
+
const i = e.slice(1), o = i.length === 3 ? i.split("").map((n) => n + n).join("") : i, r = parseInt(o, 16);
|
|
20
20
|
return {
|
|
21
|
-
r:
|
|
22
|
-
g:
|
|
23
|
-
b:
|
|
21
|
+
r: r >> 16 & 255,
|
|
22
|
+
g: r >> 8 & 255,
|
|
23
|
+
b: r & 255
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
const t = e.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);
|
|
@@ -39,12 +39,12 @@ function kt(e = {}) {
|
|
|
39
39
|
positiveColor: t = "rgb(0, 200, 83)",
|
|
40
40
|
negativeColor: i = "rgb(255, 0, 0)",
|
|
41
41
|
markerColor: o = "#6366f1",
|
|
42
|
-
buttonSize:
|
|
43
|
-
modalWidth:
|
|
44
|
-
backdropOpacity:
|
|
42
|
+
buttonSize: r = "medium",
|
|
43
|
+
modalWidth: n = 400,
|
|
44
|
+
backdropOpacity: a = 0.3,
|
|
45
45
|
fontFamily: l = "system-ui, -apple-system, sans-serif",
|
|
46
46
|
fontSize: c = 16
|
|
47
|
-
} = e, d = vt[
|
|
47
|
+
} = e, d = vt[r], s = yt[r], u = xt(o);
|
|
48
48
|
return {
|
|
49
49
|
"--qaid-positive": t,
|
|
50
50
|
"--qaid-negative": i,
|
|
@@ -52,8 +52,8 @@ function kt(e = {}) {
|
|
|
52
52
|
"--qaid-marker-text": u,
|
|
53
53
|
"--qaid-btn-size": `${d}px`,
|
|
54
54
|
"--qaid-icon-size": `${s}px`,
|
|
55
|
-
"--qaid-modal-width": `${
|
|
56
|
-
"--qaid-backdrop-opacity": String(
|
|
55
|
+
"--qaid-modal-width": `${n}px`,
|
|
56
|
+
"--qaid-backdrop-opacity": String(a),
|
|
57
57
|
"--qaid-font-family": l,
|
|
58
58
|
"--qaid-font-size": `${c}px`
|
|
59
59
|
};
|
|
@@ -89,8 +89,8 @@ function Dt(e, t) {
|
|
|
89
89
|
`[${P}="${i}"]`
|
|
90
90
|
);
|
|
91
91
|
if (o) return o;
|
|
92
|
-
const
|
|
93
|
-
return
|
|
92
|
+
const n = It(e).createElement("div");
|
|
93
|
+
return n.setAttribute(P, i), n.setAttribute("role", t ? "alert" : "status"), n.setAttribute("aria-live", t ? "assertive" : "polite"), n.setAttribute("aria-atomic", "true"), n.style.cssText = Tt, e.appendChild(n), n;
|
|
94
94
|
}
|
|
95
95
|
function Ht(e, t, i = {}) {
|
|
96
96
|
const o = Dt(e, !!i.assertive);
|
|
@@ -124,19 +124,19 @@ function K(e) {
|
|
|
124
124
|
function Mt(e) {
|
|
125
125
|
const t = e.ownerDocument || document;
|
|
126
126
|
let i = !1;
|
|
127
|
-
const o = (
|
|
128
|
-
if (
|
|
129
|
-
const
|
|
130
|
-
if (
|
|
131
|
-
|
|
127
|
+
const o = (n) => {
|
|
128
|
+
if (n.key !== "Tab") return;
|
|
129
|
+
const a = F(e);
|
|
130
|
+
if (a.length === 0) {
|
|
131
|
+
n.preventDefault(), e.focus();
|
|
132
132
|
return;
|
|
133
133
|
}
|
|
134
|
-
const l =
|
|
135
|
-
|
|
134
|
+
const l = a[0], c = a[a.length - 1], d = K(t), s = d ? a.indexOf(d) !== -1 : !1;
|
|
135
|
+
n.shiftKey ? (!s || d === l) && (n.preventDefault(), c.focus()) : (!s || d === c) && (n.preventDefault(), l.focus());
|
|
136
136
|
};
|
|
137
137
|
e.addEventListener("keydown", o);
|
|
138
|
-
const
|
|
139
|
-
return
|
|
138
|
+
const r = F(e);
|
|
139
|
+
return r.length > 0 ? r[0].focus() : (e.hasAttribute("tabindex") || (e.setAttribute("tabindex", "-1"), i = !0), e.focus()), {
|
|
140
140
|
release() {
|
|
141
141
|
e.removeEventListener("keydown", o), i && (e.removeAttribute("tabindex"), i = !1);
|
|
142
142
|
}
|
|
@@ -173,15 +173,15 @@ function Ft(e) {
|
|
|
173
173
|
const i = (e.ownerDocument || document).body;
|
|
174
174
|
if (!i) return () => {
|
|
175
175
|
};
|
|
176
|
-
const o = Pt(e, i),
|
|
177
|
-
return Array.from(i.children).forEach((
|
|
178
|
-
if (!(
|
|
179
|
-
const
|
|
180
|
-
|
|
176
|
+
const o = Pt(e, i), r = [];
|
|
177
|
+
return Array.from(i.children).forEach((n) => {
|
|
178
|
+
if (!(n instanceof HTMLElement) || o && n === o) return;
|
|
179
|
+
const a = n.inert === !0, l = n.getAttribute("aria-hidden");
|
|
180
|
+
a && l === "true" || (n.inert = !0, n.setAttribute("aria-hidden", "true"), r.push({ el: n, prevInert: a, prevAriaHidden: l }));
|
|
181
181
|
}), function() {
|
|
182
|
-
for (;
|
|
183
|
-
const
|
|
184
|
-
|
|
182
|
+
for (; r.length; ) {
|
|
183
|
+
const a = r.pop();
|
|
184
|
+
a.el.inert = a.prevInert, a.prevAriaHidden === null ? a.el.removeAttribute("aria-hidden") : a.el.setAttribute("aria-hidden", a.prevAriaHidden);
|
|
185
185
|
}
|
|
186
186
|
};
|
|
187
187
|
}
|
|
@@ -192,90 +192,90 @@ const N = {
|
|
|
192
192
|
gap: 8,
|
|
193
193
|
viewportPadding: 16
|
|
194
194
|
};
|
|
195
|
-
function Ut(e, t, i, o,
|
|
196
|
-
const
|
|
197
|
-
if (
|
|
195
|
+
function Ut(e, t, i, o, r) {
|
|
196
|
+
const n = e.y, a = t - (e.y + e.height);
|
|
197
|
+
if (a >= i + o)
|
|
198
198
|
return {
|
|
199
199
|
top: e.y + e.height + o,
|
|
200
200
|
position: "below"
|
|
201
201
|
};
|
|
202
|
-
if (
|
|
202
|
+
if (n >= i + o)
|
|
203
203
|
return {
|
|
204
204
|
top: e.y - i - o,
|
|
205
205
|
position: "above"
|
|
206
206
|
};
|
|
207
|
-
const l =
|
|
207
|
+
const l = a > n ? "below" : "above";
|
|
208
208
|
let c;
|
|
209
209
|
return l === "below" ? c = Math.min(
|
|
210
210
|
e.y + e.height + o,
|
|
211
|
-
t - i -
|
|
212
|
-
) : c = Math.max(
|
|
211
|
+
t - i - r
|
|
212
|
+
) : c = Math.max(r, e.y - i - o), { top: c, position: l };
|
|
213
213
|
}
|
|
214
214
|
function Vt(e, t, i, o) {
|
|
215
|
-
let
|
|
216
|
-
return
|
|
215
|
+
let n = e.x + e.width / 2 - i / 2;
|
|
216
|
+
return n = Math.max(o, Math.min(n, t - i - o)), n;
|
|
217
217
|
}
|
|
218
|
-
function _t(e, t, i, o = 24,
|
|
219
|
-
const
|
|
220
|
-
return Math.max(o, Math.min(
|
|
218
|
+
function _t(e, t, i, o = 24, r = 24) {
|
|
219
|
+
const a = e.clickX - t - r / 2;
|
|
220
|
+
return Math.max(o, Math.min(a, i - o - r / 2));
|
|
221
221
|
}
|
|
222
222
|
function Kt(e, t, i, o = N) {
|
|
223
|
-
const
|
|
223
|
+
const r = o.height + o.arrowHeight, n = Ut(
|
|
224
224
|
e,
|
|
225
225
|
i,
|
|
226
|
-
|
|
226
|
+
r,
|
|
227
227
|
o.gap,
|
|
228
228
|
o.viewportPadding
|
|
229
|
-
),
|
|
229
|
+
), a = Vt(
|
|
230
230
|
e,
|
|
231
231
|
t,
|
|
232
232
|
o.width,
|
|
233
233
|
o.viewportPadding
|
|
234
234
|
);
|
|
235
235
|
return {
|
|
236
|
-
top:
|
|
237
|
-
left:
|
|
238
|
-
position:
|
|
236
|
+
top: n.top,
|
|
237
|
+
left: a,
|
|
238
|
+
position: n.position
|
|
239
239
|
};
|
|
240
240
|
}
|
|
241
241
|
function Nt(e, t, i, o = {}) {
|
|
242
|
-
const
|
|
243
|
-
let
|
|
244
|
-
|
|
245
|
-
let
|
|
246
|
-
return
|
|
242
|
+
const r = o.gap ?? 8;
|
|
243
|
+
let n = e.bottom + r;
|
|
244
|
+
n + t.height > i.height - r && (n = e.top - t.height - r);
|
|
245
|
+
let a = e.left;
|
|
246
|
+
return a < r ? a = r : a + t.width > i.width - r && (a = i.width - t.width - r), n < r ? n = r : n + t.height > i.height - r && (n = i.height - t.height - r), { top: n, left: a };
|
|
247
247
|
}
|
|
248
|
-
function
|
|
249
|
-
const
|
|
248
|
+
function se(e, t, i, o = N) {
|
|
249
|
+
const r = Kt(e, t, i, o), n = _t(
|
|
250
250
|
e,
|
|
251
|
-
|
|
251
|
+
r.left,
|
|
252
252
|
o.width
|
|
253
253
|
);
|
|
254
254
|
return {
|
|
255
|
-
modal:
|
|
256
|
-
arrow: { left:
|
|
255
|
+
modal: r,
|
|
256
|
+
arrow: { left: n }
|
|
257
257
|
};
|
|
258
258
|
}
|
|
259
259
|
const $t = 20;
|
|
260
260
|
function jt(e) {
|
|
261
|
-
const t = [], i = console.error, o = console.warn,
|
|
261
|
+
const t = [], i = console.error, o = console.warn, r = console.log, n = (a, l) => {
|
|
262
262
|
const c = {
|
|
263
263
|
message: l.map((d) => String(d)).join(" "),
|
|
264
264
|
timestamp: Date.now(),
|
|
265
|
-
level:
|
|
265
|
+
level: a
|
|
266
266
|
};
|
|
267
267
|
t.length >= $t && t.shift(), t.push(c), e && e(c);
|
|
268
268
|
};
|
|
269
|
-
return console.error = function(...
|
|
270
|
-
|
|
271
|
-
}, console.warn = function(...
|
|
272
|
-
|
|
273
|
-
}, console.log = function(...
|
|
274
|
-
|
|
269
|
+
return console.error = function(...a) {
|
|
270
|
+
n("error", a), i.apply(console, a);
|
|
271
|
+
}, console.warn = function(...a) {
|
|
272
|
+
n("warn", a), o.apply(console, a);
|
|
273
|
+
}, console.log = function(...a) {
|
|
274
|
+
n("log", a), r.apply(console, a);
|
|
275
275
|
}, {
|
|
276
276
|
errors: t,
|
|
277
277
|
restore: () => {
|
|
278
|
-
console.error = i, console.warn = o, console.log =
|
|
278
|
+
console.error = i, console.warn = o, console.log = r;
|
|
279
279
|
}
|
|
280
280
|
};
|
|
281
281
|
}
|
|
@@ -536,13 +536,13 @@ class ie {
|
|
|
536
536
|
* swallowed — a failed preload just falls back to an on-demand load.
|
|
537
537
|
*/
|
|
538
538
|
prewarmVideo() {
|
|
539
|
-
this.videoPrewarmed || (this.videoPrewarmed = !0, import("./recording-
|
|
539
|
+
this.videoPrewarmed || (this.videoPrewarmed = !0, import("./recording-DhRZ6-tW.js").catch(() => {
|
|
540
540
|
}), import("./video-BOYqf2Im.js").catch(() => {
|
|
541
541
|
}));
|
|
542
542
|
}
|
|
543
543
|
prewarmScreenshot() {
|
|
544
544
|
this.screenshotPrewarmed || (this.screenshotPrewarmed = !0, (this.shouldCaptureViaDom() ? import("./screenshot-dom-CME7tYRE.js") : import("./screenshot-BkOCLuS2.js")).catch(() => {
|
|
545
|
-
}), this.config.annotate && import("./annotate-
|
|
545
|
+
}), this.config.annotate && import("./annotate-NeITyYNe.js").then((t) => t.d).catch(() => {
|
|
546
546
|
}));
|
|
547
547
|
}
|
|
548
548
|
/** Run fn when the main thread is idle; cancelled by destroy(). */
|
|
@@ -600,25 +600,25 @@ class ie {
|
|
|
600
600
|
}), this.buttonsContainer.addEventListener("pointerdown", () => {
|
|
601
601
|
this.keyboardActivation = !1;
|
|
602
602
|
});
|
|
603
|
-
const
|
|
603
|
+
const r = !!this.config.buttonClass, n = r ? `qaid-btn-structural ${this.config.buttonClass}` : "qaid-btn", l = this.config.text.tooltip || "Feedback for us?", c = document.createElement("div");
|
|
604
604
|
if (c.className = "qaid-tooltip-text", c.textContent = l, this.applyVars(c), this.shadowRoot.appendChild(c), this.tooltipElement = c, this.config.singleButton) {
|
|
605
605
|
const d = document.createElement("div");
|
|
606
606
|
d.className = "qaid-tooltip-wrapper";
|
|
607
607
|
const s = document.createElement("button");
|
|
608
|
-
s.type = "button", s.className =
|
|
608
|
+
s.type = "button", s.className = r ? `${n} qaid-btn-feedback` : "qaid-btn qaid-btn-feedback", s.setAttribute("aria-label", this.config.text.feedbackLabel), s.innerHTML = this.config.feedbackIcon || ut, s.addEventListener("click", (u) => this.handleThumbClick("neutral", u.currentTarget, u)), s.addEventListener("mouseenter", () => {
|
|
609
609
|
this.prewarmTargeting(), this.showTooltip(s);
|
|
610
610
|
}), s.addEventListener("mouseleave", () => this.hideTooltip()), d.appendChild(s), this.buttonsContainer.appendChild(d);
|
|
611
611
|
} else if (!this.config.hideThumbs) {
|
|
612
612
|
const d = document.createElement("div");
|
|
613
613
|
d.className = "qaid-tooltip-wrapper";
|
|
614
614
|
const s = document.createElement("button");
|
|
615
|
-
s.type = "button", s.className =
|
|
615
|
+
s.type = "button", s.className = r ? `${n} qaid-btn-up` : "qaid-btn qaid-btn-up", s.setAttribute("aria-label", this.config.text.positiveLabel), s.innerHTML = this.config.positiveIcon || ht, s.addEventListener("click", (p) => this.handleThumbClick("up", p.currentTarget, p)), s.addEventListener("mouseenter", () => {
|
|
616
616
|
this.prewarmTargeting(), this.showTooltip(s);
|
|
617
617
|
}), s.addEventListener("mouseleave", () => this.hideTooltip()), d.appendChild(s);
|
|
618
618
|
const u = document.createElement("div");
|
|
619
619
|
u.className = "qaid-tooltip-wrapper";
|
|
620
620
|
const h = document.createElement("button");
|
|
621
|
-
h.type = "button", h.className =
|
|
621
|
+
h.type = "button", h.className = r ? `${n} qaid-btn-down` : "qaid-btn qaid-btn-down", h.setAttribute("aria-label", this.config.text.negativeLabel), h.innerHTML = this.config.negativeIcon || pt, h.addEventListener("click", (p) => this.handleThumbClick("down", p.currentTarget, p)), h.addEventListener("mouseenter", () => {
|
|
622
622
|
this.prewarmTargeting(), this.showTooltip(h);
|
|
623
623
|
}), h.addEventListener("mouseleave", () => this.hideTooltip()), u.appendChild(h), this.buttonsContainer.appendChild(d), this.buttonsContainer.appendChild(u);
|
|
624
624
|
}
|
|
@@ -626,7 +626,7 @@ class ie {
|
|
|
626
626
|
const d = document.createElement("div");
|
|
627
627
|
d.className = "qaid-tooltip-wrapper";
|
|
628
628
|
const s = document.createElement("button");
|
|
629
|
-
s.type = "button", s.className =
|
|
629
|
+
s.type = "button", s.className = r ? `${n} qaid-btn-record` : "qaid-btn qaid-btn-record", s.setAttribute("aria-label", this.config.text.recordLabel), s.innerHTML = this.config.recordIcon || bt, s.addEventListener("click", () => {
|
|
630
630
|
this.ensureRecording().then(
|
|
631
631
|
(h) => this.config.videoOptions.redaction ? h.startPicking() : h.startRecording()
|
|
632
632
|
);
|
|
@@ -660,12 +660,12 @@ class ie {
|
|
|
660
660
|
showTooltip(t) {
|
|
661
661
|
const i = this.tooltipElement;
|
|
662
662
|
i.style.visibility = "hidden", i.classList.add("qaid-tooltip-visible");
|
|
663
|
-
const o = t.getBoundingClientRect(),
|
|
663
|
+
const o = t.getBoundingClientRect(), r = i.getBoundingClientRect(), { top: n, left: a } = Nt(
|
|
664
664
|
o,
|
|
665
|
-
|
|
665
|
+
r,
|
|
666
666
|
{ width: window.innerWidth, height: window.innerHeight }
|
|
667
667
|
);
|
|
668
|
-
i.style.top = `${
|
|
668
|
+
i.style.top = `${n}px`, i.style.left = `${a}px`, i.style.visibility = "visible";
|
|
669
669
|
}
|
|
670
670
|
hideTooltip() {
|
|
671
671
|
this.tooltipElement.classList.remove("qaid-tooltip-visible");
|
|
@@ -678,9 +678,9 @@ class ie {
|
|
|
678
678
|
this.submitDirectFeedback(t, i);
|
|
679
679
|
else {
|
|
680
680
|
this.activeThumbBtn = i, i.setAttribute("aria-pressed", "true");
|
|
681
|
-
const
|
|
682
|
-
this.keyboardActivation = !1, this.ensureTargeting().then((
|
|
683
|
-
this.destroyed || (
|
|
681
|
+
const r = this.keyboardActivation;
|
|
682
|
+
this.keyboardActivation = !1, this.ensureTargeting().then((n) => {
|
|
683
|
+
this.destroyed || (r ? n.startKeyboard(t) : n.startPointer(t, o));
|
|
684
684
|
});
|
|
685
685
|
}
|
|
686
686
|
}
|
|
@@ -717,44 +717,49 @@ class ie {
|
|
|
717
717
|
* enabled while the editor is open and restored on close.
|
|
718
718
|
*/
|
|
719
719
|
async openAnnotationEditor(t) {
|
|
720
|
-
const i = this.ensureOverlayHost(), o = this.overlayShadowHost,
|
|
720
|
+
const i = this.ensureOverlayHost(), o = this.overlayShadowHost, r = o.style.pointerEvents;
|
|
721
721
|
o.style.pointerEvents = "auto";
|
|
722
722
|
try {
|
|
723
|
-
const { openAnnotationEditor:
|
|
724
|
-
return await
|
|
723
|
+
const { openAnnotationEditor: n } = await import("./annotate-NeITyYNe.js").then((a) => a.d);
|
|
724
|
+
return await n({
|
|
725
725
|
dataUrl: t,
|
|
726
726
|
root: i,
|
|
727
727
|
quality: this.config.screenshotOptions.quality,
|
|
728
728
|
color: this.config.annotationColor,
|
|
729
729
|
palette: this.config.annotationPalette,
|
|
730
|
-
applyVars: (
|
|
731
|
-
announce: (
|
|
732
|
-
openDialog: (
|
|
730
|
+
applyVars: (a) => this.applyVars(a),
|
|
731
|
+
announce: (a, l) => this.announceMsg(a, l),
|
|
732
|
+
openDialog: (a, l) => this.openDialogA11y(a, l),
|
|
733
733
|
closeDialog: () => this.closeDialogA11y()
|
|
734
734
|
});
|
|
735
|
+
} catch (n) {
|
|
736
|
+
return console.error("Annotation editor failed to open:", n), null;
|
|
735
737
|
} finally {
|
|
736
|
-
o.style.pointerEvents =
|
|
738
|
+
o.style.pointerEvents = r;
|
|
737
739
|
}
|
|
738
740
|
}
|
|
739
741
|
async submitFeedback() {
|
|
740
742
|
let t = null;
|
|
741
|
-
if (this.config.captureScreenshot || this.config.feedbackMode === "annotate")
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
743
|
+
if (this.config.captureScreenshot || this.config.feedbackMode === "annotate")
|
|
744
|
+
try {
|
|
745
|
+
if (this.shouldCaptureViaDom()) {
|
|
746
|
+
const { captureDomScreenshot: a } = await import("./screenshot-dom-CME7tYRE.js");
|
|
747
|
+
t = await a(this.config.screenshotOptions);
|
|
748
|
+
} else {
|
|
749
|
+
const { captureScreenshot: a } = await import("./screenshot-BkOCLuS2.js");
|
|
750
|
+
t = await a(this.config.screenshotOptions);
|
|
751
|
+
}
|
|
752
|
+
t && this.announceMsg("Screenshot captured");
|
|
753
|
+
} catch (a) {
|
|
754
|
+
console.error("Screenshot capture failed:", a), t = null;
|
|
748
755
|
}
|
|
749
|
-
t && this.announceMsg("Screenshot captured");
|
|
750
|
-
}
|
|
751
756
|
t && this.config.annotate && (t = await this.openAnnotationEditor(t) ?? t);
|
|
752
757
|
const o = this.feedbackData.elementSelector ? {
|
|
753
758
|
x: this.selectedBounds.x,
|
|
754
759
|
y: this.selectedBounds.y,
|
|
755
760
|
width: this.selectedBounds.width,
|
|
756
761
|
height: this.selectedBounds.height
|
|
757
|
-
} : null,
|
|
762
|
+
} : null, r = {
|
|
758
763
|
feedbackType: this.feedbackData.feedbackType,
|
|
759
764
|
pageUrl: window.location.href,
|
|
760
765
|
apiKey: this.config.apiKey || void 0,
|
|
@@ -774,26 +779,31 @@ class ie {
|
|
|
774
779
|
userAgent: navigator.userAgent
|
|
775
780
|
};
|
|
776
781
|
try {
|
|
777
|
-
const
|
|
782
|
+
const a = await fetch(this.config.endpoint, {
|
|
778
783
|
method: "POST",
|
|
779
784
|
headers: { "Content-Type": "application/json" },
|
|
780
|
-
body: JSON.stringify(
|
|
785
|
+
body: JSON.stringify(r)
|
|
781
786
|
});
|
|
782
|
-
if (
|
|
783
|
-
const
|
|
784
|
-
this.feedbackId =
|
|
787
|
+
if (a.ok) {
|
|
788
|
+
const l = await a.json();
|
|
789
|
+
this.feedbackId = l.id, this.announceMsg("Feedback sent");
|
|
785
790
|
}
|
|
786
|
-
} catch (
|
|
787
|
-
console.error("Failed to submit feedback:",
|
|
791
|
+
} catch (a) {
|
|
792
|
+
console.error("Failed to submit feedback:", a), this.announceMsg("Failed to send feedback", !0);
|
|
788
793
|
}
|
|
789
|
-
const
|
|
790
|
-
if (
|
|
794
|
+
const n = this.feedbackData.feedbackType;
|
|
795
|
+
if (n && n !== "neutral" && await this.tryLaunchQuest(n, this.feedbackId)) {
|
|
791
796
|
this.resetFeedbackUi();
|
|
792
797
|
return;
|
|
793
798
|
}
|
|
794
799
|
this.state = "MODAL_OPEN";
|
|
795
|
-
|
|
796
|
-
|
|
800
|
+
try {
|
|
801
|
+
const a = await this.ensureModal();
|
|
802
|
+
if (this.destroyed) return;
|
|
803
|
+
a.open(), this.overlayShadowHost && (this.overlayShadowHost.style.pointerEvents = "auto");
|
|
804
|
+
} catch (a) {
|
|
805
|
+
console.error("Failed to open the feedback modal:", a), this.announceMsg("Thank you for your feedback!", !0), this.resetFeedbackUi();
|
|
806
|
+
}
|
|
797
807
|
}
|
|
798
808
|
/**
|
|
799
809
|
* Quest id linked to `type`, or "" when quest launching is disabled
|
|
@@ -824,8 +834,8 @@ class ie {
|
|
|
824
834
|
this.activeQuest = null;
|
|
825
835
|
}
|
|
826
836
|
}), !0;
|
|
827
|
-
} catch (
|
|
828
|
-
return console.error("Failed to launch quest:",
|
|
837
|
+
} catch (r) {
|
|
838
|
+
return console.error("Failed to launch quest:", r), this.activeQuest = null, !1;
|
|
829
839
|
}
|
|
830
840
|
}
|
|
831
841
|
/**
|
|
@@ -843,7 +853,7 @@ class ie {
|
|
|
843
853
|
*/
|
|
844
854
|
async ensureModal() {
|
|
845
855
|
if (!this.modal) {
|
|
846
|
-
const { ModalController: t } = await import("./modal-
|
|
856
|
+
const { ModalController: t } = await import("./modal-C8Ca7E5j.js");
|
|
847
857
|
this.modal = new t(this.makeModalHost());
|
|
848
858
|
}
|
|
849
859
|
return this.modal;
|
|
@@ -889,7 +899,7 @@ class ie {
|
|
|
889
899
|
}
|
|
890
900
|
/** Warm the modal chunk while the user is targeting, so it opens instantly. */
|
|
891
901
|
prewarmModal() {
|
|
892
|
-
this.modalPrewarmed || (this.modalPrewarmed = !0, import("./modal-
|
|
902
|
+
this.modalPrewarmed || (this.modalPrewarmed = !0, import("./modal-C8Ca7E5j.js").catch(() => {
|
|
893
903
|
}));
|
|
894
904
|
}
|
|
895
905
|
/**
|
|
@@ -899,7 +909,7 @@ class ie {
|
|
|
899
909
|
*/
|
|
900
910
|
async ensureTargeting() {
|
|
901
911
|
if (!this.targeting) {
|
|
902
|
-
const { TargetingController: t } = await import("./targeting-
|
|
912
|
+
const { TargetingController: t } = await import("./targeting-BEQU2Ogo.js");
|
|
903
913
|
this.targeting = new t(this.makeTargetingHost());
|
|
904
914
|
}
|
|
905
915
|
return this.targeting;
|
|
@@ -944,7 +954,7 @@ class ie {
|
|
|
944
954
|
}
|
|
945
955
|
/** Warm the targeting chunk on thumb-button hover, before the click. */
|
|
946
956
|
prewarmTargeting() {
|
|
947
|
-
this.targetingPrewarmed || this.config.skipTargeting || (this.targetingPrewarmed = !0, import("./targeting-
|
|
957
|
+
this.targetingPrewarmed || this.config.skipTargeting || (this.targetingPrewarmed = !0, import("./targeting-BEQU2Ogo.js").catch(() => {
|
|
948
958
|
}));
|
|
949
959
|
}
|
|
950
960
|
// ==================== Video Recording ====================
|
|
@@ -963,7 +973,7 @@ class ie {
|
|
|
963
973
|
*/
|
|
964
974
|
async ensureRecording() {
|
|
965
975
|
if (!this.recording) {
|
|
966
|
-
const { RecordingController: t } = await import("./recording-
|
|
976
|
+
const { RecordingController: t } = await import("./recording-DhRZ6-tW.js");
|
|
967
977
|
this.recording = new t(this.makeRecordingHost());
|
|
968
978
|
}
|
|
969
979
|
return this.recording;
|
|
@@ -1042,7 +1052,7 @@ function oe() {
|
|
|
1042
1052
|
function ae(e) {
|
|
1043
1053
|
const t = e.getAttribute("data-endpoint");
|
|
1044
1054
|
if (!t) return null;
|
|
1045
|
-
const i = e.getAttribute("data-position"), o = e.getAttribute("data-zindex"),
|
|
1055
|
+
const i = e.getAttribute("data-position"), o = e.getAttribute("data-zindex"), r = e.getAttribute("data-positive-color"), n = e.getAttribute("data-negative-color"), a = e.getAttribute("data-marker-color"), l = e.getAttribute("data-container"), c = e.getAttribute("data-button-class"), d = e.getAttribute("data-skip-targeting"), s = e.getAttribute("data-single-button"), u = e.getAttribute("data-feedback-mode"), h = e.getAttribute("data-incognito"), p = e.getAttribute("data-button-size"), m = e.getAttribute("data-offset-x"), g = e.getAttribute("data-offset-y"), S = e.getAttribute("data-modal-width"), C = e.getAttribute("data-backdrop-opacity"), j = e.getAttribute("data-font-family"), A = e.getAttribute("data-font-size"), T = e.getAttribute("data-tooltip"), E = e.getAttribute("data-modal-title"), I = e.getAttribute("data-modal-subtitle"), D = e.getAttribute("data-placeholder"), H = e.getAttribute("data-submit-button"), z = e.getAttribute("data-skip-button"), Q = e.getAttribute("data-positive-icon"), W = e.getAttribute("data-negative-icon"), Y = e.getAttribute("data-feedback-icon"), L = e.getAttribute("data-feedback-label"), X = e.getAttribute("data-api-key"), G = e.getAttribute("data-capture-screenshot"), J = e.getAttribute("data-annotate"), Z = e.getAttribute("data-annotation-color"), v = e.getAttribute("data-screenshot-quality"), y = e.getAttribute("data-screenshot-max-width"), w = e.getAttribute("data-screenshot-max-height"), tt = e.getAttribute("data-capture-video"), M = e.getAttribute("data-video-redaction"), et = e.getAttribute("data-hide-thumbs"), it = e.getAttribute("data-hide-dismiss"), q = e.getAttribute("data-video-max-duration"), ot = e.getAttribute("data-screenshot-method"), at = e.getAttribute("data-direction"), B = e.getAttribute("data-css-selector"), O = e.getAttribute("data-quest-base"), nt = e.getAttribute("data-quest-up"), rt = e.getAttribute("data-quest-down"), st = e.getAttribute("data-quest-video"), dt = e.getAttribute("data-quest-api-key"), lt = e.getAttribute("data-quest-module-url");
|
|
1046
1056
|
return {
|
|
1047
1057
|
endpoint: t,
|
|
1048
1058
|
css: B ? $(B) : void 0,
|
|
@@ -1075,9 +1085,9 @@ function ae(e) {
|
|
|
1075
1085
|
fontFamily: j ?? void 0,
|
|
1076
1086
|
fontSize: A ? parseInt(A, 10) : void 0,
|
|
1077
1087
|
colors: {
|
|
1078
|
-
positive:
|
|
1079
|
-
negative:
|
|
1080
|
-
marker:
|
|
1088
|
+
positive: r ?? void 0,
|
|
1089
|
+
negative: n ?? void 0,
|
|
1090
|
+
marker: a ?? void 0
|
|
1081
1091
|
},
|
|
1082
1092
|
text: T || E || I || D || H || z || L ? {
|
|
1083
1093
|
tooltip: T ?? void 0,
|
|
@@ -1109,17 +1119,17 @@ function ae(e) {
|
|
|
1109
1119
|
} : void 0
|
|
1110
1120
|
};
|
|
1111
1121
|
}
|
|
1112
|
-
function
|
|
1122
|
+
function ne() {
|
|
1113
1123
|
if (typeof document > "u") return;
|
|
1114
1124
|
const e = () => {
|
|
1115
|
-
const t = document.currentScript ?? document.querySelector("script[data-endpoint]"), i = oe(), o = t ? ae(t) : null,
|
|
1116
|
-
|
|
1125
|
+
const t = document.currentScript ?? document.querySelector("script[data-endpoint]"), i = oe(), o = t ? ae(t) : null, r = i ?? o;
|
|
1126
|
+
r?.endpoint && new ie(r);
|
|
1117
1127
|
};
|
|
1118
1128
|
document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", e) : e();
|
|
1119
1129
|
}
|
|
1130
|
+
ne();
|
|
1120
1131
|
export {
|
|
1121
1132
|
ie as Q,
|
|
1122
|
-
se as
|
|
1123
|
-
re as c
|
|
1133
|
+
se as c
|
|
1124
1134
|
};
|
|
1125
|
-
//# sourceMappingURL=
|
|
1135
|
+
//# sourceMappingURL=loader-DnJ3MHkt.js.map
|