@qaiddev/thumbs-embed 1.6.0 → 1.6.2

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.
@@ -1,4 +1,4 @@
1
- import { i as ct, F as ut, T as ht, a as pt, R as bt } from "./annotate-pSxJNPPL.js";
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, n, a] = [e, t, i].map((r) => (r = r / 255, r <= 0.03928 ? r / 12.92 : Math.pow((r + 0.055) / 1.055, 2.4)));
15
- return 0.2126 * o + 0.7152 * n + 0.0722 * a;
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((a) => a + a).join("") : i, n = parseInt(o, 16);
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: n >> 16 & 255,
22
- g: n >> 8 & 255,
23
- b: n & 255
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: n = "medium",
43
- modalWidth: a = 400,
44
- backdropOpacity: r = 0.3,
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[n], s = yt[n], u = xt(o);
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": `${a}px`,
56
- "--qaid-backdrop-opacity": String(r),
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 a = It(e).createElement("div");
93
- return a.setAttribute(P, i), a.setAttribute("role", t ? "alert" : "status"), a.setAttribute("aria-live", t ? "assertive" : "polite"), a.setAttribute("aria-atomic", "true"), a.style.cssText = Tt, e.appendChild(a), a;
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 = (a) => {
128
- if (a.key !== "Tab") return;
129
- const r = F(e);
130
- if (r.length === 0) {
131
- a.preventDefault(), e.focus();
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 = r[0], c = r[r.length - 1], d = K(t), s = d ? r.indexOf(d) !== -1 : !1;
135
- a.shiftKey ? (!s || d === l) && (a.preventDefault(), c.focus()) : (!s || d === c) && (a.preventDefault(), l.focus());
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 n = F(e);
139
- return n.length > 0 ? n[0].focus() : (e.hasAttribute("tabindex") || (e.setAttribute("tabindex", "-1"), i = !0), e.focus()), {
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), n = [];
177
- return Array.from(i.children).forEach((a) => {
178
- if (!(a instanceof HTMLElement) || o && a === o) return;
179
- const r = a.inert === !0, l = a.getAttribute("aria-hidden");
180
- r && l === "true" || (a.inert = !0, a.setAttribute("aria-hidden", "true"), n.push({ el: a, prevInert: r, prevAriaHidden: l }));
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 (; n.length; ) {
183
- const r = n.pop();
184
- r.el.inert = r.prevInert, r.prevAriaHidden === null ? r.el.removeAttribute("aria-hidden") : r.el.setAttribute("aria-hidden", r.prevAriaHidden);
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, n) {
196
- const a = e.y, r = t - (e.y + e.height);
197
- if (r >= i + o)
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 (a >= i + o)
202
+ if (n >= i + o)
203
203
  return {
204
204
  top: e.y - i - o,
205
205
  position: "above"
206
206
  };
207
- const l = r > a ? "below" : "above";
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 - n
212
- ) : c = Math.max(n, e.y - i - o), { top: c, position: l };
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 a = e.x + e.width / 2 - i / 2;
216
- return a = Math.max(o, Math.min(a, t - i - o)), a;
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, n = 24) {
219
- const r = e.clickX - t - n / 2;
220
- return Math.max(o, Math.min(r, i - o - n / 2));
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 n = o.height + o.arrowHeight, a = Ut(
223
+ const r = o.height + o.arrowHeight, n = Ut(
224
224
  e,
225
225
  i,
226
- n,
226
+ r,
227
227
  o.gap,
228
228
  o.viewportPadding
229
- ), r = Vt(
229
+ ), a = Vt(
230
230
  e,
231
231
  t,
232
232
  o.width,
233
233
  o.viewportPadding
234
234
  );
235
235
  return {
236
- top: a.top,
237
- left: r,
238
- position: a.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 n = o.gap ?? 8;
243
- let a = e.bottom + n;
244
- a + t.height > i.height - n && (a = e.top - t.height - n);
245
- let r = e.left;
246
- return r < n ? r = n : r + t.width > i.width - n && (r = i.width - t.width - n), a < n ? a = n : a + t.height > i.height - n && (a = i.height - t.height - n), { top: a, left: r };
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 re(e, t, i, o = N) {
249
- const n = Kt(e, t, i, o), a = _t(
248
+ function se(e, t, i, o = N) {
249
+ const r = Kt(e, t, i, o), n = _t(
250
250
  e,
251
- n.left,
251
+ r.left,
252
252
  o.width
253
253
  );
254
254
  return {
255
- modal: n,
256
- arrow: { left: a }
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, n = console.log, a = (r, l) => {
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: r
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(...r) {
270
- a("error", r), i.apply(console, r);
271
- }, console.warn = function(...r) {
272
- a("warn", r), o.apply(console, r);
273
- }, console.log = function(...r) {
274
- a("log", r), n.apply(console, r);
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 = n;
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-BRvu1Vkh.js").catch(() => {
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-pSxJNPPL.js").then((t) => t.f).catch(() => {
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 n = !!this.config.buttonClass, a = n ? `qaid-btn-structural ${this.config.buttonClass}` : "qaid-btn", l = this.config.text.tooltip || "Feedback for us?", c = document.createElement("div");
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 = n ? `${a} 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", () => {
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 = n ? `${a} 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", () => {
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 = n ? `${a} 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", () => {
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 = n ? `${a} 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", () => {
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(), n = i.getBoundingClientRect(), { top: a, left: r } = Nt(
663
+ const o = t.getBoundingClientRect(), r = i.getBoundingClientRect(), { top: n, left: a } = Nt(
664
664
  o,
665
- n,
665
+ r,
666
666
  { width: window.innerWidth, height: window.innerHeight }
667
667
  );
668
- i.style.top = `${a}px`, i.style.left = `${r}px`, i.style.visibility = "visible";
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 n = this.keyboardActivation;
682
- this.keyboardActivation = !1, this.ensureTargeting().then((a) => {
683
- this.destroyed || (n ? a.startKeyboard(t) : a.startPointer(t, o));
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, n = o.style.pointerEvents;
720
+ const i = this.ensureOverlayHost(), o = this.overlayShadowHost, r = o.style.pointerEvents;
721
721
  o.style.pointerEvents = "auto";
722
722
  try {
723
- const { openAnnotationEditor: a } = await import("./annotate-pSxJNPPL.js").then((r) => r.f);
724
- return await a({
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: (r) => this.applyVars(r),
731
- announce: (r, l) => this.announceMsg(r, l),
732
- openDialog: (r, l) => this.openDialogA11y(r, l),
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 = n;
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
- if (this.shouldCaptureViaDom()) {
743
- const { captureDomScreenshot: l } = await import("./screenshot-dom-CME7tYRE.js");
744
- t = await l(this.config.screenshotOptions);
745
- } else {
746
- const { captureScreenshot: l } = await import("./screenshot-BkOCLuS2.js");
747
- t = await l(this.config.screenshotOptions);
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, n = {
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 l = await fetch(this.config.endpoint, {
782
+ const a = await fetch(this.config.endpoint, {
778
783
  method: "POST",
779
784
  headers: { "Content-Type": "application/json" },
780
- body: JSON.stringify(n)
785
+ body: JSON.stringify(r)
781
786
  });
782
- if (l.ok) {
783
- const c = await l.json();
784
- this.feedbackId = c.id, this.announceMsg("Feedback sent");
787
+ if (a.ok) {
788
+ const l = await a.json();
789
+ this.feedbackId = l.id, this.announceMsg("Feedback sent");
785
790
  }
786
- } catch (l) {
787
- console.error("Failed to submit feedback:", l), this.announceMsg("Failed to send feedback", !0);
791
+ } catch (a) {
792
+ console.error("Failed to submit feedback:", a), this.announceMsg("Failed to send feedback", !0);
788
793
  }
789
- const a = this.feedbackData.feedbackType;
790
- if (a && a !== "neutral" && await this.tryLaunchQuest(a, this.feedbackId)) {
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
- const r = await this.ensureModal();
796
- this.destroyed || (r.open(), this.overlayShadowHost && (this.overlayShadowHost.style.pointerEvents = "auto"));
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 (n) {
828
- return console.error("Failed to launch quest:", n), this.activeQuest = null, !1;
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-Br-8TcEE.js");
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-Br-8TcEE.js").catch(() => {
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-_aii7qgw.js");
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-_aii7qgw.js").catch(() => {
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-BRvu1Vkh.js");
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"), n = e.getAttribute("data-positive-color"), a = e.getAttribute("data-negative-color"), r = 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");
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: n ?? void 0,
1079
- negative: a ?? void 0,
1080
- marker: r ?? void 0
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 se() {
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, n = i ?? o;
1116
- n?.endpoint && new ie(n);
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 a,
1123
- re as c
1133
+ se as c
1124
1134
  };
1125
- //# sourceMappingURL=bootstrap-rINL2pCt.js.map
1135
+ //# sourceMappingURL=loader-DnJ3MHkt.js.map