viewgate-wrapper 1.7.1 → 1.8.0

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,9 +1,9 @@
1
1
  (function(){"use strict";try{if(typeof document<"u"){var r=document.createElement("style");r.appendChild(document.createTextNode('@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&display=swap";:root{--vg-primary: #2513ec;--vg-primary-gradient: linear-gradient(135deg, #2513ec 0%, #7e3ff2 100%);--vg-glass: rgba(255, 255, 255, .7);--vg-glass-border: rgba(255, 255, 255, .3);--vg-shadow: 0 8px 32px 0 rgba(31, 38, 135, .37);--vg-radius: 16px}body{font-family:Inter,system-ui,-apple-system,sans-serif!important;margin:0}.vg-glassmorphism{background:var(--vg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--vg-glass-border);box-shadow:var(--vg-shadow);border-radius:var(--vg-radius)}.vg-button-primary{background:var(--vg-primary-gradient);color:#fff;border:none;padding:10px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #2513ec4d}.vg-button-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2513ec66}.vg-button-ghost{background:transparent;color:#444;border:1px solid #ddd;padding:10px 24px;border-radius:12px;cursor:pointer;transition:background .2s}.vg-button-ghost:hover{background:#0000000d}.vg-badge{background:#2513ec1a;color:var(--vg-primary);padding:4px 12px;border-radius:20px;font-size:12px;font-family:JetBrains Mono,monospace;font-weight:700;border:1px solid rgba(37,19,236,.2)}.vg-textarea{width:100%;border:1.5px solid #eee;border-radius:12px;padding:12px;font-family:inherit;color:#0f172a;resize:none;transition:border-color .2s,box-shadow .2s;outline:none}.vg-textarea:focus{border-color:var(--vg-primary);box-shadow:0 0 0 4px #2513ec1a}@keyframes vg-slide-in{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes vg-fade-in{0%{opacity:0}to{opacity:1}}.vg-animate-slide{animation:vg-slide-in .3s cubic-bezier(.16,1,.3,1)}.vg-animate-fade{animation:vg-fade-in .2s ease-out}.vg-toasts{position:fixed;top:24px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:100000}.vg-toast{padding:16px 24px;display:flex;align-items:center;gap:12px;min-width:300px}.vg-toast.success{background:#ecfdf5;border:1px solid #10b981;color:#065f46}.vg-toast.error{background:#fef2f2;border:1px solid #ef4444;color:#991b1b}.vg-cursor-pointer *{cursor:pointer!important}@keyframes vg-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vg-spinner{border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;width:40px;height:40px;animation:vg-spin 1s linear infinite;margin-bottom:16px}')),document.head.appendChild(r)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
- import Ae, { createContext as Ge, useState as S, useContext as $e, useCallback as ne, useEffect as ue } from "react";
3
- var J = { exports: {} }, W = {};
2
+ import Ae, { createContext as Ge, useState as C, useContext as $e, useCallback as ae, useEffect as ue } from "react";
3
+ var J = { exports: {} }, z = {};
4
4
  var de;
5
5
  function Le() {
6
- if (de) return W;
6
+ if (de) return z;
7
7
  de = 1;
8
8
  var e = /* @__PURE__ */ Symbol.for("react.transitional.element"), t = /* @__PURE__ */ Symbol.for("react.fragment");
9
9
  function r(n, a, s) {
@@ -21,29 +21,29 @@ function Le() {
21
21
  props: s
22
22
  };
23
23
  }
24
- return W.Fragment = t, W.jsx = r, W.jsxs = r, W;
24
+ return z.Fragment = t, z.jsx = r, z.jsxs = r, z;
25
25
  }
26
- var z = {};
26
+ var W = {};
27
27
  var fe;
28
- function Fe() {
28
+ function Ie() {
29
29
  return fe || (fe = 1, process.env.NODE_ENV !== "production" && (function() {
30
30
  function e(o) {
31
31
  if (o == null) return null;
32
32
  if (typeof o == "function")
33
- return o.$$typeof === N ? null : o.displayName || o.name || null;
33
+ return o.$$typeof === k ? null : o.displayName || o.name || null;
34
34
  if (typeof o == "string") return o;
35
35
  switch (o) {
36
36
  case P:
37
37
  return "Fragment";
38
38
  case Y:
39
39
  return "Profiler";
40
- case $:
41
- return "StrictMode";
42
40
  case F:
41
+ return "StrictMode";
42
+ case D:
43
43
  return "Suspense";
44
44
  case ee:
45
45
  return "SuspenseList";
46
- case I:
46
+ case q:
47
47
  return "Activity";
48
48
  }
49
49
  if (typeof o == "object")
@@ -54,14 +54,14 @@ function Fe() {
54
54
  return "Portal";
55
55
  case Q:
56
56
  return o.displayName || "Context";
57
- case L:
57
+ case N:
58
58
  return (o._context.displayName || "Context") + ".Consumer";
59
- case O:
59
+ case _:
60
60
  var f = o.render;
61
61
  return o = o.displayName, o || (o = f.displayName || f.name || "", o = o !== "" ? "ForwardRef(" + o + ")" : "ForwardRef"), o;
62
- case q:
62
+ case te:
63
63
  return f = o.displayName || null, f !== null ? f : e(o.type) || "Memo";
64
- case R:
64
+ case M:
65
65
  f = o._payload, o = o._init;
66
66
  try {
67
67
  return e(o(f));
@@ -92,7 +92,7 @@ function Fe() {
92
92
  }
93
93
  function n(o) {
94
94
  if (o === P) return "<>";
95
- if (typeof o == "object" && o !== null && o.$$typeof === R)
95
+ if (typeof o == "object" && o !== null && o.$$typeof === M)
96
96
  return "<...>";
97
97
  try {
98
98
  var f = e(o);
@@ -102,14 +102,14 @@ function Fe() {
102
102
  }
103
103
  }
104
104
  function a() {
105
- var o = D.A;
105
+ var o = T.A;
106
106
  return o === null ? null : o.getOwner();
107
107
  }
108
108
  function s() {
109
109
  return Error("react-stack-top-frame");
110
110
  }
111
111
  function i(o) {
112
- if (M.call(o, "key")) {
112
+ if (V.call(o, "key")) {
113
113
  var f = Object.getOwnPropertyDescriptor(o, "key").get;
114
114
  if (f && f.isReactWarning) return !1;
115
115
  }
@@ -117,7 +117,7 @@ function Fe() {
117
117
  }
118
118
  function c(o, f) {
119
119
  function x() {
120
- T || (T = !0, console.error(
120
+ p || (p = !0, console.error(
121
121
  "%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
122
122
  f
123
123
  ));
@@ -129,14 +129,14 @@ function Fe() {
129
129
  }
130
130
  function u() {
131
131
  var o = e(this.type);
132
- return _[o] || (_[o] = !0, console.error(
132
+ return h[o] || (h[o] = !0, console.error(
133
133
  "Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
134
134
  )), o = this.props.ref, o !== void 0 ? o : null;
135
135
  }
136
- function d(o, f, x, w, B, te) {
136
+ function d(o, f, x, w, B, ne) {
137
137
  var v = x.ref;
138
138
  return o = {
139
- $$typeof: k,
139
+ $$typeof: R,
140
140
  type: o,
141
141
  key: f,
142
142
  props: x,
@@ -163,14 +163,14 @@ function Fe() {
163
163
  configurable: !1,
164
164
  enumerable: !1,
165
165
  writable: !0,
166
- value: te
166
+ value: ne
167
167
  }), Object.freeze && (Object.freeze(o.props), Object.freeze(o)), o;
168
168
  }
169
- function p(o, f, x, w, B, te) {
169
+ function m(o, f, x, w, B, ne) {
170
170
  var v = f.children;
171
171
  if (v !== void 0)
172
172
  if (w)
173
- if (m(v)) {
173
+ if (re(v)) {
174
174
  for (w = 0; w < v.length; w++)
175
175
  g(v[w]);
176
176
  Object.freeze && Object.freeze(v);
@@ -179,12 +179,12 @@ function Fe() {
179
179
  "React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
180
180
  );
181
181
  else g(v);
182
- if (M.call(f, "key")) {
182
+ if (V.call(f, "key")) {
183
183
  v = e(o);
184
- var V = Object.keys(f).filter(function(Ve) {
184
+ var $ = Object.keys(f).filter(function(Ve) {
185
185
  return Ve !== "key";
186
186
  });
187
- w = 0 < V.length ? "{key: someKey, " + V.join(": ..., ") + ": ...}" : "{key: someKey}", le[v + w] || (V = 0 < V.length ? "{" + V.join(": ..., ") + ": ...}" : "{}", console.error(
187
+ w = 0 < $.length ? "{key: someKey, " + $.join(": ..., ") + ": ...}" : "{key: someKey}", H[v + w] || ($ = 0 < $.length ? "{" + $.join(": ..., ") + ": ...}" : "{}", console.error(
188
188
  `A props object containing a "key" prop is being spread into JSX:
189
189
  let props = %s;
190
190
  <%s {...props} />
@@ -193,14 +193,14 @@ React keys must be passed directly to JSX without using spread:
193
193
  <%s key={someKey} {...props} />`,
194
194
  w,
195
195
  v,
196
- V,
196
+ $,
197
197
  v
198
- ), le[v + w] = !0);
198
+ ), H[v + w] = !0);
199
199
  }
200
200
  if (v = null, x !== void 0 && (r(x), v = "" + x), i(f) && (r(f.key), v = "" + f.key), "key" in f) {
201
201
  x = {};
202
- for (var re in f)
203
- re !== "key" && (x[re] = f[re]);
202
+ for (var se in f)
203
+ se !== "key" && (x[se] = f[se]);
204
204
  } else x = f;
205
205
  return v && c(
206
206
  x,
@@ -211,16 +211,16 @@ React keys must be passed directly to JSX without using spread:
211
211
  x,
212
212
  a(),
213
213
  B,
214
- te
214
+ ne
215
215
  );
216
216
  }
217
217
  function g(o) {
218
- y(o) ? o._store && (o._store.validated = 1) : typeof o == "object" && o !== null && o.$$typeof === R && (o._payload.status === "fulfilled" ? y(o._payload.value) && o._payload.value._store && (o._payload.value._store.validated = 1) : o._store && (o._store.validated = 1));
218
+ y(o) ? o._store && (o._store.validated = 1) : typeof o == "object" && o !== null && o.$$typeof === M && (o._payload.status === "fulfilled" ? y(o._payload.value) && o._payload.value._store && (o._payload.value._store.validated = 1) : o._store && (o._store.validated = 1));
219
219
  }
220
220
  function y(o) {
221
- return typeof o == "object" && o !== null && o.$$typeof === k;
221
+ return typeof o == "object" && o !== null && o.$$typeof === R;
222
222
  }
223
- var E = Ae, k = /* @__PURE__ */ Symbol.for("react.transitional.element"), U = /* @__PURE__ */ Symbol.for("react.portal"), P = /* @__PURE__ */ Symbol.for("react.fragment"), $ = /* @__PURE__ */ Symbol.for("react.strict_mode"), Y = /* @__PURE__ */ Symbol.for("react.profiler"), L = /* @__PURE__ */ Symbol.for("react.consumer"), Q = /* @__PURE__ */ Symbol.for("react.context"), O = /* @__PURE__ */ Symbol.for("react.forward_ref"), F = /* @__PURE__ */ Symbol.for("react.suspense"), ee = /* @__PURE__ */ Symbol.for("react.suspense_list"), q = /* @__PURE__ */ Symbol.for("react.memo"), R = /* @__PURE__ */ Symbol.for("react.lazy"), I = /* @__PURE__ */ Symbol.for("react.activity"), N = /* @__PURE__ */ Symbol.for("react.client.reference"), D = E.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, M = Object.prototype.hasOwnProperty, m = Array.isArray, h = console.createTask ? console.createTask : function() {
223
+ var E = Ae, R = /* @__PURE__ */ Symbol.for("react.transitional.element"), U = /* @__PURE__ */ Symbol.for("react.portal"), P = /* @__PURE__ */ Symbol.for("react.fragment"), F = /* @__PURE__ */ Symbol.for("react.strict_mode"), Y = /* @__PURE__ */ Symbol.for("react.profiler"), N = /* @__PURE__ */ Symbol.for("react.consumer"), Q = /* @__PURE__ */ Symbol.for("react.context"), _ = /* @__PURE__ */ Symbol.for("react.forward_ref"), D = /* @__PURE__ */ Symbol.for("react.suspense"), ee = /* @__PURE__ */ Symbol.for("react.suspense_list"), te = /* @__PURE__ */ Symbol.for("react.memo"), M = /* @__PURE__ */ Symbol.for("react.lazy"), q = /* @__PURE__ */ Symbol.for("react.activity"), k = /* @__PURE__ */ Symbol.for("react.client.reference"), T = E.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, V = Object.prototype.hasOwnProperty, re = Array.isArray, A = console.createTask ? console.createTask : function() {
224
224
  return null;
225
225
  };
226
226
  E = {
@@ -228,38 +228,38 @@ React keys must be passed directly to JSX without using spread:
228
228
  return o();
229
229
  }
230
230
  };
231
- var T, _ = {}, H = E.react_stack_bottom_frame.bind(
231
+ var p, h = {}, O = E.react_stack_bottom_frame.bind(
232
232
  E,
233
233
  s
234
- )(), ce = h(n(s)), le = {};
235
- z.Fragment = P, z.jsx = function(o, f, x) {
236
- var w = 1e4 > D.recentlyCreatedOwnerStacks++;
237
- return p(
234
+ )(), G = A(n(s)), H = {};
235
+ W.Fragment = P, W.jsx = function(o, f, x) {
236
+ var w = 1e4 > T.recentlyCreatedOwnerStacks++;
237
+ return m(
238
238
  o,
239
239
  f,
240
240
  x,
241
241
  !1,
242
- w ? Error("react-stack-top-frame") : H,
243
- w ? h(n(o)) : ce
242
+ w ? Error("react-stack-top-frame") : O,
243
+ w ? A(n(o)) : G
244
244
  );
245
- }, z.jsxs = function(o, f, x) {
246
- var w = 1e4 > D.recentlyCreatedOwnerStacks++;
247
- return p(
245
+ }, W.jsxs = function(o, f, x) {
246
+ var w = 1e4 > T.recentlyCreatedOwnerStacks++;
247
+ return m(
248
248
  o,
249
249
  f,
250
250
  x,
251
251
  !0,
252
- w ? Error("react-stack-top-frame") : H,
253
- w ? h(n(o)) : ce
252
+ w ? Error("react-stack-top-frame") : O,
253
+ w ? A(n(o)) : G
254
254
  );
255
255
  };
256
- })()), z;
256
+ })()), W;
257
257
  }
258
- var me;
259
- function Ie() {
260
- return me || (me = 1, process.env.NODE_ENV === "production" ? J.exports = Le() : J.exports = Fe()), J.exports;
258
+ var pe;
259
+ function Fe() {
260
+ return pe || (pe = 1, process.env.NODE_ENV === "production" ? J.exports = Le() : J.exports = Ie()), J.exports;
261
261
  }
262
- var l = Ie();
262
+ var l = Fe();
263
263
  const Ne = {
264
264
  en: {
265
265
  enterMode: "🚀 Enter Feedback Mode",
@@ -285,10 +285,13 @@ const Ne = {
285
285
  deleteConfirm: "Are you sure you want to close/delete this comment?",
286
286
  markReady: "Mark as Ready",
287
287
  reopen: "Reopen",
288
- goToSite: "Go to Site",
288
+ review: "Review",
289
289
  confirmDelete: "Are you sure you want to delete this annotation?",
290
290
  yes: "Yes, delete",
291
- no: "No, cancel"
291
+ no: "No, cancel",
292
+ deleteSuccess: "The annotation has been deleted.",
293
+ updateSuccess: "Status updated successfully.",
294
+ navigating: "Navigating to source..."
292
295
  },
293
296
  es: {
294
297
  enterMode: "🚀 Activar Modo Comentarios",
@@ -314,30 +317,33 @@ const Ne = {
314
317
  deleteConfirm: "¿Estás seguro de que deseas cerrar y eliminar este comentario?",
315
318
  markReady: "Marcar como Listo",
316
319
  reopen: "Reabrir",
317
- goToSite: "Ir a la Web",
320
+ review: "Revisar",
318
321
  confirmDelete: "¿Estás seguro de que deseas eliminar este comentario?",
319
322
  yes: "Sí, eliminar",
320
- no: "No, cancelar"
323
+ no: "No, cancelar",
324
+ deleteSuccess: "El comentario ha sido eliminado.",
325
+ updateSuccess: "Estado actualizado correctamente.",
326
+ navigating: "Redirigiendo al origen..."
321
327
  }
322
328
  }, be = Ge(void 0), De = () => {
323
329
  const e = $e(be);
324
330
  if (!e) throw new Error("useViewGate must be used within a ViewGateProvider");
325
331
  return e;
326
- }, It = ({ children: e, language: t = "es", apiKey: r, baseUrl: n = "https://view-gate.vercel.app" }) => {
327
- const [a, s] = S([]), i = (u, d) => {
328
- const p = Date.now();
329
- s((g) => [...g, { id: p, message: u, type: d }]), setTimeout(() => {
330
- s((g) => g.filter((y) => y.id !== p));
332
+ }, Ft = ({ children: e, language: t = "es", apiKey: r, baseUrl: n = "https://view-gate.vercel.app" }) => {
333
+ const [a, s] = C([]), i = (u, d) => {
334
+ const m = Date.now();
335
+ s((g) => [...g, { id: m, message: u, type: d }]), setTimeout(() => {
336
+ s((g) => g.filter((y) => y.id !== m));
331
337
  }, 4e3);
332
338
  }, c = Ne[t];
333
- return /* @__PURE__ */ l.jsxs(be.Provider, { "data-source-path": "/src/components/ViewGateProvider.tsx:130", value: { addToast: i, language: t, t: c, apiKey: r, baseUrl: n }, children: [
339
+ return /* @__PURE__ */ l.jsxs(be.Provider, { "data-source-path": "/src/components/ViewGateProvider.tsx:136", value: { addToast: i, language: t, t: c, apiKey: r, baseUrl: n }, children: [
334
340
  e,
335
- /* @__PURE__ */ l.jsx(Lt, { "data-source-path": "/src/components/ViewGateProvider.tsx:132" }),
336
- /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateProvider.tsx:133", className: "vg-toasts", children: a.map((u) => /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateProvider.tsx:135", className: `vg-toast vg-glassmorphism vg-animate-slide ${u.type}`, children: [
337
- /* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateProvider.tsx:136", style: { fontSize: "20px" }, children: u.type === "success" ? "✅" : "❌" }),
338
- /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateProvider.tsx:137", children: [
339
- /* @__PURE__ */ l.jsx("strong", { "data-source-path": "/src/components/ViewGateProvider.tsx:138", style: { display: "block" }, children: u.type === "success" ? c.successHeader : c.errorHeader }),
340
- /* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateProvider.tsx:139", style: { fontSize: "14px" }, children: u.message })
341
+ /* @__PURE__ */ l.jsx(Lt, { "data-source-path": "/src/components/ViewGateProvider.tsx:138" }),
342
+ /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateProvider.tsx:139", className: "vg-toasts", children: a.map((u) => /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateProvider.tsx:141", className: `vg-toast vg-glassmorphism vg-animate-slide ${u.type}`, children: [
343
+ /* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateProvider.tsx:142", style: { fontSize: "20px" }, children: u.type === "success" ? "✅" : "❌" }),
344
+ /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateProvider.tsx:143", children: [
345
+ /* @__PURE__ */ l.jsx("strong", { "data-source-path": "/src/components/ViewGateProvider.tsx:144", style: { display: "block" }, children: u.type === "success" ? c.successHeader : c.errorHeader }),
346
+ /* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateProvider.tsx:145", style: { fontSize: "14px" }, children: u.message })
341
347
  ] })
342
348
  ] }, u.id)) })
343
349
  ] });
@@ -366,24 +372,24 @@ function j(e) {
366
372
  t.push(e[r]);
367
373
  return t;
368
374
  }
369
- let A = null;
375
+ let L = null;
370
376
  function Ee(e = {}) {
371
- return A || (e.includeStyleProperties ? (A = e.includeStyleProperties, A) : (A = j(window.getComputedStyle(document.documentElement)), A));
377
+ return L || (e.includeStyleProperties ? (L = e.includeStyleProperties, L) : (L = j(window.getComputedStyle(document.documentElement)), L));
372
378
  }
373
379
  function X(e, t) {
374
380
  const n = (e.ownerDocument.defaultView || window).getComputedStyle(e).getPropertyValue(t);
375
381
  return n ? parseFloat(n.replace("px", "")) : 0;
376
382
  }
377
- function We(e) {
383
+ function ze(e) {
378
384
  const t = X(e, "border-left-width"), r = X(e, "border-right-width");
379
385
  return e.clientWidth + t + r;
380
386
  }
381
- function ze(e) {
387
+ function We(e) {
382
388
  const t = X(e, "border-top-width"), r = X(e, "border-bottom-width");
383
389
  return e.clientHeight + t + r;
384
390
  }
385
- function Ce(e, t = {}) {
386
- const r = t.width || We(e), n = t.height || ze(e);
391
+ function Se(e, t = {}) {
392
+ const r = t.width || ze(e), n = t.height || We(e);
387
393
  return { width: r, height: n };
388
394
  }
389
395
  function Ue() {
@@ -395,9 +401,9 @@ function Ue() {
395
401
  const r = t && t.env ? t.env.devicePixelRatio : null;
396
402
  return r && (e = parseInt(r, 10), Number.isNaN(e) && (e = 1)), e || window.devicePixelRatio || 1;
397
403
  }
398
- const C = 16384;
404
+ const S = 16384;
399
405
  function Ye(e) {
400
- (e.width > C || e.height > C) && (e.width > C && e.height > C ? e.width > e.height ? (e.height *= C / e.width, e.width = C) : (e.width *= C / e.height, e.height = C) : e.width > C ? (e.height *= C / e.width, e.width = C) : (e.width *= C / e.height, e.height = C));
406
+ (e.width > S || e.height > S) && (e.width > S && e.height > S ? e.width > e.height ? (e.height *= S / e.width, e.width = S) : (e.width *= S / e.height, e.height = S) : e.width > S ? (e.height *= S / e.width, e.width = S) : (e.width *= S / e.height, e.height = S));
401
407
  }
402
408
  function Z(e) {
403
409
  return new Promise((t, r) => {
@@ -436,7 +442,7 @@ function Ze(e, t, r, n) {
436
442
  const a = `.${e}:${t}`, s = r.cssText ? Je(r) : Xe(r, n);
437
443
  return document.createTextNode(`${a}{${s}}`);
438
444
  }
439
- function pe(e, t, r, n) {
445
+ function me(e, t, r, n) {
440
446
  const a = window.getComputedStyle(e, r), s = a.getPropertyValue("content");
441
447
  if (s === "" || s === "none")
442
448
  return;
@@ -450,7 +456,7 @@ function pe(e, t, r, n) {
450
456
  c.appendChild(Ze(i, r, a, n)), t.appendChild(c);
451
457
  }
452
458
  function Ke(e, t, r) {
453
- pe(e, t, ":before", r), pe(e, t, ":after", r);
459
+ me(e, t, ":before", r), me(e, t, ":after", r);
454
460
  }
455
461
  const he = "application/font-woff", ge = "image/jpeg", Qe = {
456
462
  woff: he,
@@ -469,20 +475,20 @@ function et(e) {
469
475
  const t = /\.([^./]*?)$/g.exec(e);
470
476
  return t ? t[1] : "";
471
477
  }
472
- function oe(e) {
478
+ function ce(e) {
473
479
  const t = et(e).toLowerCase();
474
480
  return Qe[t] || "";
475
481
  }
476
482
  function tt(e) {
477
483
  return e.split(/,/)[1];
478
484
  }
479
- function ae(e) {
485
+ function ie(e) {
480
486
  return e.search(/^(data:)/) !== -1;
481
487
  }
482
488
  function rt(e, t) {
483
489
  return `data:${t};base64,${e}`;
484
490
  }
485
- async function Se(e, t, r) {
491
+ async function Ce(e, t, r) {
486
492
  const n = await fetch(e, t);
487
493
  if (n.status === 404)
488
494
  throw new Error(`Resource "${n.url}" not found`);
@@ -498,26 +504,26 @@ async function Se(e, t, r) {
498
504
  }, c.readAsDataURL(a);
499
505
  });
500
506
  }
501
- const se = {};
507
+ const oe = {};
502
508
  function nt(e, t, r) {
503
509
  let n = e.replace(/\?.*/, "");
504
510
  return r && (n = e), /ttf|otf|eot|woff2?/i.test(n) && (n = n.replace(/.*\//, "")), t ? `[${t}]${n}` : n;
505
511
  }
506
- async function ie(e, t, r) {
512
+ async function le(e, t, r) {
507
513
  const n = nt(e, t, r.includeQueryParams);
508
- if (se[n] != null)
509
- return se[n];
514
+ if (oe[n] != null)
515
+ return oe[n];
510
516
  r.cacheBust && (e += (/\?/.test(e) ? "&" : "?") + (/* @__PURE__ */ new Date()).getTime());
511
517
  let a;
512
518
  try {
513
- const s = await Se(e, r.fetchRequestInit, ({ res: i, result: c }) => (t || (t = i.headers.get("Content-Type") || ""), tt(c)));
519
+ const s = await Ce(e, r.fetchRequestInit, ({ res: i, result: c }) => (t || (t = i.headers.get("Content-Type") || ""), tt(c)));
514
520
  a = rt(s, t);
515
521
  } catch (s) {
516
522
  a = r.imagePlaceholder || "";
517
523
  let i = `Failed to fetch resource: ${e}`;
518
524
  s && (i = typeof s == "string" ? s : s.message), i && console.warn(i);
519
525
  }
520
- return se[n] = a, a;
526
+ return oe[n] = a, a;
521
527
  }
522
528
  async function st(e) {
523
529
  const t = e.toDataURL();
@@ -530,7 +536,7 @@ async function at(e, t) {
530
536
  const c = s.toDataURL();
531
537
  return Z(c);
532
538
  }
533
- const r = e.poster, n = oe(r), a = await ie(r, n, t);
539
+ const r = e.poster, n = ce(r), a = await le(r, n, t);
534
540
  return Z(a);
535
541
  }
536
542
  async function ot(e, t) {
@@ -574,10 +580,10 @@ function ft(e, t) {
574
580
  n && n.setAttribute("selected", "");
575
581
  }
576
582
  }
577
- function mt(e, t, r) {
583
+ function pt(e, t, r) {
578
584
  return b(t, Element) && (ut(e, t, r), Ke(e, t, r), dt(e, t), ft(e, t)), t;
579
585
  }
580
- async function pt(e, t) {
586
+ async function mt(e, t) {
581
587
  const r = e.querySelectorAll ? e.querySelectorAll("use") : [];
582
588
  if (r.length === 0)
583
589
  return e;
@@ -602,7 +608,7 @@ async function pt(e, t) {
602
608
  return e;
603
609
  }
604
610
  async function K(e, t, r) {
605
- return !r && t.filter && !t.filter(e) ? null : Promise.resolve(e).then((n) => it(n, t)).then((n) => lt(e, n, t)).then((n) => mt(e, n, t)).then((n) => pt(n, t));
611
+ return !r && t.filter && !t.filter(e) ? null : Promise.resolve(e).then((n) => it(n, t)).then((n) => lt(e, n, t)).then((n) => pt(e, n, t)).then((n) => mt(n, t));
606
612
  }
607
613
  const ke = /url\((['"]?)([^'"]+?)\1\)/g, ht = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g, gt = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
608
614
  function xt(e) {
@@ -611,13 +617,13 @@ function xt(e) {
611
617
  }
612
618
  function yt(e) {
613
619
  const t = [];
614
- return e.replace(ke, (r, n, a) => (t.push(a), r)), t.filter((r) => !ae(r));
620
+ return e.replace(ke, (r, n, a) => (t.push(a), r)), t.filter((r) => !ie(r));
615
621
  }
616
622
  async function wt(e, t, r, n, a) {
617
623
  try {
618
- const s = r ? Me(t, r) : t, i = oe(t);
624
+ const s = r ? Me(t, r) : t, i = ce(t);
619
625
  let c;
620
- return a || (c = await ie(s, i, n)), e.replace(xt(t), `$1${c}$3`);
626
+ return a || (c = await le(s, i, n)), e.replace(xt(t), `$1${c}$3`);
621
627
  } catch {
622
628
  }
623
629
  return e;
@@ -642,7 +648,7 @@ async function Te(e, t, r) {
642
648
  const n = vt(e, r);
643
649
  return yt(n).reduce((s, i) => s.then((c) => wt(c, i, t, r)), Promise.resolve(n));
644
650
  }
645
- async function G(e, t, r) {
651
+ async function I(e, t, r) {
646
652
  var n;
647
653
  const a = (n = t.style) === null || n === void 0 ? void 0 : n.getPropertyValue(e);
648
654
  if (a) {
@@ -652,13 +658,13 @@ async function G(e, t, r) {
652
658
  return !1;
653
659
  }
654
660
  async function bt(e, t) {
655
- await G("background", e, t) || await G("background-image", e, t), await G("mask", e, t) || await G("-webkit-mask", e, t) || await G("mask-image", e, t) || await G("-webkit-mask-image", e, t);
661
+ await I("background", e, t) || await I("background-image", e, t), await I("mask", e, t) || await I("-webkit-mask", e, t) || await I("mask-image", e, t) || await I("-webkit-mask-image", e, t);
656
662
  }
657
663
  async function Et(e, t) {
658
664
  const r = b(e, HTMLImageElement);
659
- if (!(r && !ae(e.src)) && !(b(e, SVGImageElement) && !ae(e.href.baseVal)))
665
+ if (!(r && !ie(e.src)) && !(b(e, SVGImageElement) && !ie(e.href.baseVal)))
660
666
  return;
661
- const n = r ? e.src : e.href.baseVal, a = await ie(n, oe(n), t);
667
+ const n = r ? e.src : e.href.baseVal, a = await le(n, ce(n), t);
662
668
  await new Promise((s, i) => {
663
669
  e.onload = s, e.onerror = t.onImageErrorHandler ? (...u) => {
664
670
  try {
@@ -671,14 +677,14 @@ async function Et(e, t) {
671
677
  c.decode && (c.decode = s), c.loading === "lazy" && (c.loading = "eager"), r ? (e.srcset = "", e.src = a) : e.href.baseVal = a;
672
678
  });
673
679
  }
674
- async function Ct(e, t) {
675
- const n = j(e.childNodes).map((a) => Pe(a, t));
680
+ async function St(e, t) {
681
+ const n = j(e.childNodes).map((a) => Oe(a, t));
676
682
  await Promise.all(n).then(() => e);
677
683
  }
678
- async function Pe(e, t) {
679
- b(e, Element) && (await bt(e, t), await Et(e, t), await Ct(e, t));
684
+ async function Oe(e, t) {
685
+ b(e, Element) && (await bt(e, t), await Et(e, t), await St(e, t));
680
686
  }
681
- function St(e, t) {
687
+ function Ct(e, t) {
682
688
  const { style: r } = e;
683
689
  t.backgroundColor && (r.backgroundColor = t.backgroundColor), t.width && (r.width = `${t.width}px`), t.height && (r.height = `${t.height}px`);
684
690
  const n = t.style;
@@ -698,7 +704,7 @@ async function we(e, t) {
698
704
  let r = e.cssText;
699
705
  const n = /url\(["']?([^"')]+)["']?\)/g, s = (r.match(/url\([^)]+\)/g) || []).map(async (i) => {
700
706
  let c = i.replace(n, "$1");
701
- return c.startsWith("https://") || (c = new URL(c, e.url).href), Se(c, t.fetchRequestInit, ({ result: u }) => (r = r.replace(i, `url(${u})`), [i, u]));
707
+ return c.startsWith("https://") || (c = new URL(c, e.url).href), Ce(c, t.fetchRequestInit, ({ result: u }) => (r = r.replace(i, `url(${u})`), [i, u]));
702
708
  });
703
709
  return Promise.all(s).then(() => r);
704
710
  }
@@ -736,7 +742,7 @@ async function Rt(e, t) {
736
742
  j(a.cssRules || []).forEach((s, i) => {
737
743
  if (s.type === CSSRule.IMPORT_RULE) {
738
744
  let c = i + 1;
739
- const u = s.href, d = ye(u).then((p) => we(p, t)).then((p) => ve(p).forEach((g) => {
745
+ const u = s.href, d = ye(u).then((m) => we(m, t)).then((m) => ve(m).forEach((g) => {
740
746
  try {
741
747
  a.insertRule(g, g.startsWith("@import") ? c += 1 : a.cssRules.length);
742
748
  } catch (y) {
@@ -745,8 +751,8 @@ async function Rt(e, t) {
745
751
  error: y
746
752
  });
747
753
  }
748
- })).catch((p) => {
749
- console.error("Error loading remote css", p.toString());
754
+ })).catch((m) => {
755
+ console.error("Error loading remote css", m.toString());
750
756
  });
751
757
  n.push(d);
752
758
  }
@@ -779,42 +785,42 @@ async function jt(e, t) {
779
785
  const r = j(e.ownerDocument.styleSheets), n = await Rt(r, t);
780
786
  return kt(n);
781
787
  }
782
- function Oe(e) {
788
+ function Pe(e) {
783
789
  return e.trim().replace(/["']/g, "");
784
790
  }
785
791
  function Tt(e) {
786
792
  const t = /* @__PURE__ */ new Set();
787
793
  function r(n) {
788
794
  (n.style.fontFamily || getComputedStyle(n).fontFamily).split(",").forEach((s) => {
789
- t.add(Oe(s));
795
+ t.add(Pe(s));
790
796
  }), Array.from(n.children).forEach((s) => {
791
797
  s instanceof HTMLElement && r(s);
792
798
  });
793
799
  }
794
800
  return r(e), t;
795
801
  }
796
- async function Pt(e, t) {
802
+ async function Ot(e, t) {
797
803
  const r = await jt(e, t), n = Tt(e);
798
- return (await Promise.all(r.filter((s) => n.has(Oe(s.style.fontFamily))).map((s) => {
804
+ return (await Promise.all(r.filter((s) => n.has(Pe(s.style.fontFamily))).map((s) => {
799
805
  const i = s.parentStyleSheet ? s.parentStyleSheet.href : null;
800
806
  return Te(s.cssText, i, t);
801
807
  }))).join(`
802
808
  `);
803
809
  }
804
- async function Ot(e, t) {
805
- const r = t.fontEmbedCSS != null ? t.fontEmbedCSS : t.skipFonts ? null : await Pt(e, t);
810
+ async function Pt(e, t) {
811
+ const r = t.fontEmbedCSS != null ? t.fontEmbedCSS : t.skipFonts ? null : await Ot(e, t);
806
812
  if (r) {
807
813
  const n = document.createElement("style"), a = document.createTextNode(r);
808
814
  n.appendChild(a), e.firstChild ? e.insertBefore(n, e.firstChild) : e.appendChild(n);
809
815
  }
810
816
  }
811
817
  async function _t(e, t = {}) {
812
- const { width: r, height: n } = Ce(e, t), a = await K(e, t, !0);
813
- return await Ot(a, t), await Pe(a, t), St(a, t), await Be(a, r, n);
818
+ const { width: r, height: n } = Se(e, t), a = await K(e, t, !0);
819
+ return await Pt(a, t), await Oe(a, t), Ct(a, t), await Be(a, r, n);
814
820
  }
815
821
  async function Vt(e, t = {}) {
816
- const { width: r, height: n } = Ce(e, t), a = await _t(e, t), s = await Z(a), i = document.createElement("canvas"), c = i.getContext("2d"), u = t.pixelRatio || Ue(), d = t.canvasWidth || r, p = t.canvasHeight || n;
817
- return i.width = d * u, i.height = p * u, t.skipAutoScale || Ye(i), i.style.width = `${d}`, i.style.height = `${p}`, t.backgroundColor && (c.fillStyle = t.backgroundColor, c.fillRect(0, 0, i.width, i.height)), c.drawImage(s, 0, 0, i.width, i.height), i;
822
+ const { width: r, height: n } = Se(e, t), a = await _t(e, t), s = await Z(a), i = document.createElement("canvas"), c = i.getContext("2d"), u = t.pixelRatio || Ue(), d = t.canvasWidth || r, m = t.canvasHeight || n;
823
+ return i.width = d * u, i.height = m * u, t.skipAutoScale || Ye(i), i.style.width = `${d}`, i.style.height = `${m}`, t.backgroundColor && (c.fillStyle = t.backgroundColor, c.fillRect(0, 0, i.width, i.height)), c.drawImage(s, 0, 0, i.width, i.height), i;
818
824
  }
819
825
  async function At(e, t = {}) {
820
826
  return (await Vt(e, t)).toDataURL();
@@ -844,26 +850,26 @@ const Gt = (e) => {
844
850
  r = r.parentElement;
845
851
  }
846
852
  const n = Gt(e), s = ((d) => {
847
- const p = [];
853
+ const m = [];
848
854
  let g = d;
849
855
  for (; g && g.nodeType === Node.ELEMENT_NODE; ) {
850
856
  let y = g.nodeName.toLowerCase();
851
857
  if (g.id) {
852
- y += "#" + g.id, p.unshift(y);
858
+ y += "#" + g.id, m.unshift(y);
853
859
  break;
854
860
  } else {
855
- let E = g, k = 1;
861
+ let E = g, R = 1;
856
862
  for (; E.previousElementSibling; )
857
- E = E.previousElementSibling, E.nodeName.toLowerCase() === y && k++;
858
- k > 1 && (y += `:nth-of-type(${k})`);
863
+ E = E.previousElementSibling, E.nodeName.toLowerCase() === y && R++;
864
+ R > 1 && (y += `:nth-of-type(${R})`);
859
865
  }
860
- p.unshift(y), g = g.parentElement;
866
+ m.unshift(y), g = g.parentElement;
861
867
  }
862
- return p.join(" > ");
868
+ return m.join(" > ");
863
869
  })(e), i = (e.innerText || "").slice(0, 50).trim(), c = {};
864
870
  ["placeholder", "aria-label", "name", "type", "alt", "title", "value", "role"].forEach((d) => {
865
- const p = e.getAttribute(d);
866
- p && (c[d] = p);
871
+ const m = e.getAttribute(d);
872
+ m && (c[d] = m);
867
873
  });
868
874
  const u = `${e.tagName.toLowerCase()}-${i.replace(/\s+/g, "_")}-${s.split(" > ").slice(-2).join("_")}`;
869
875
  return {
@@ -884,30 +890,30 @@ const Gt = (e) => {
884
890
  }
885
891
  };
886
892
  }, Lt = () => {
887
- const { addToast: e, language: t, t: r, apiKey: n, baseUrl: a } = De(), [s, i] = S(!1), [c, u] = S(null), [d, p] = S(null), [g, y] = S(""), [E, k] = S(!1), [U, P] = S(!1), [$, Y] = S(!1), [L, Q] = S([]), [O, F] = S(null), [ee, q] = S(!1), R = ne(async () => {
893
+ const { addToast: e, language: t, t: r, apiKey: n, baseUrl: a } = De(), [s, i] = C(!1), [c, u] = C(null), [d, m] = C(null), [g, y] = C(""), [E, R] = C(!1), [U, P] = C(!1), [F, Y] = C(!1), [N, Q] = C([]), [_, D] = C(null), [ee, te] = C(!1), [M, q] = C(!1), k = ae(async () => {
888
894
  if (n) {
889
895
  q(!0);
890
896
  try {
891
- const m = await fetch(`${a}/api/annotations`, {
897
+ const p = await fetch(`${a}/api/annotations`, {
892
898
  headers: { "x-api-key": n }
893
899
  });
894
- if (m.ok) {
895
- const h = await m.json();
900
+ if (p.ok) {
901
+ const h = await p.json();
896
902
  Q(h);
897
903
  }
898
- } catch (m) {
899
- console.error("Failed to fetch annotations", m);
904
+ } catch (p) {
905
+ console.error("Failed to fetch annotations", p);
900
906
  } finally {
901
907
  q(!1);
902
908
  }
903
909
  }
904
910
  }, [n, a]);
905
911
  ue(() => {
906
- R();
907
- }, [R]);
908
- const I = ne((m) => {
912
+ k();
913
+ }, [k]);
914
+ const T = ae((p) => {
909
915
  if (!s || d) return;
910
- const h = document.elementFromPoint(m.clientX, m.clientY);
916
+ const h = document.elementFromPoint(p.clientX, p.clientY);
911
917
  if (!h || h.id === "viewgate-overlay" || h.closest("#viewgate-ui")) {
912
918
  u(null);
913
919
  return;
@@ -920,13 +926,13 @@ const Gt = (e) => {
920
926
  previewText: (h.innerText || "").slice(0, 100) || (h.getAttribute("placeholder") || "").slice(0, 100) || h.tagName.toLowerCase(),
921
927
  semanticReference: $t(h)
922
928
  });
923
- }, [s, d]), N = ne(async (m) => {
929
+ }, [s, d]), V = ae(async (p) => {
924
930
  if (!(!s || d) && c) {
925
- m.preventDefault(), m.stopPropagation(), P(!0);
931
+ p.preventDefault(), p.stopPropagation(), P(!0);
926
932
  try {
927
- const h = c.element.style.display, T = window.getComputedStyle(c.element).display === "inline";
928
- T && (c.element.style.display = "inline-block");
929
- const _ = await At(c.element, {
933
+ const h = c.element.style.display, O = window.getComputedStyle(c.element).display === "inline";
934
+ O && (c.element.style.display = "inline-block");
935
+ const G = await At(c.element, {
930
936
  backgroundColor: "#ffffff",
931
937
  pixelRatio: 2,
932
938
  skipFonts: !0,
@@ -936,21 +942,21 @@ const Gt = (e) => {
936
942
  // Extra padding for better look
937
943
  }
938
944
  });
939
- T && (c.element.style.display = h), p({ ...c, visualPreview: _ });
945
+ O && (c.element.style.display = h), m({ ...c, visualPreview: G });
940
946
  } catch (h) {
941
- console.error("Failed to capture preview:", h), p(c);
947
+ console.error("Failed to capture preview:", h), m(c);
942
948
  } finally {
943
949
  P(!1), u(null);
944
950
  }
945
951
  }
946
- }, [s, c, d, $]);
947
- ue(() => (s && !d ? document.body.classList.add("vg-cursor-pointer") : document.body.classList.remove("vg-cursor-pointer"), window.addEventListener("mousemove", I), window.addEventListener("click", N, !0), () => {
948
- document.body.classList.remove("vg-cursor-pointer"), window.removeEventListener("mousemove", I), window.removeEventListener("click", N, !0);
949
- }), [s, d, I, N]);
950
- const D = async () => {
952
+ }, [s, c, d, F]);
953
+ ue(() => (s && !d ? document.body.classList.add("vg-cursor-pointer") : document.body.classList.remove("vg-cursor-pointer"), window.addEventListener("mousemove", T), window.addEventListener("click", V, !0), () => {
954
+ document.body.classList.remove("vg-cursor-pointer"), window.removeEventListener("mousemove", T), window.removeEventListener("click", V, !0);
955
+ }), [s, d, T, V]);
956
+ const re = async () => {
951
957
  if (!d || !g.trim()) return;
952
- k(!0);
953
- const { semanticReference: m } = d, [h, T] = m.source.split(":"), _ = T || "0";
958
+ R(!0);
959
+ const { semanticReference: p } = d, [h, O] = p.source.split(":"), G = O || "0";
954
960
  try {
955
961
  if (!(await fetch(`${a}/api/annotations`, {
956
962
  method: "POST",
@@ -960,22 +966,22 @@ const Gt = (e) => {
960
966
  },
961
967
  body: JSON.stringify({
962
968
  filePath: h,
963
- line: parseInt(_),
969
+ line: parseInt(G),
964
970
  url: window.location.href,
965
971
  message: g,
966
- componentName: m.componentPath || d.tag,
967
- reference: m
972
+ componentName: p.componentPath || d.tag,
973
+ reference: p
968
974
  })
969
975
  })).ok) throw new Error("Backend failed");
970
- e(r.success, "success"), p(null), y(""), i(!1), R();
976
+ e(r.success, "success"), m(null), y(""), i(!1), k();
971
977
  } catch (H) {
972
978
  console.error(H), e(r.error, "error");
973
979
  } finally {
974
- k(!1);
980
+ R(!1);
975
981
  }
976
- }, M = (m) => m.split("/").pop()?.split("\\").pop() || "unknown";
982
+ }, A = (p) => p.split("/").pop()?.split("\\").pop() || "unknown";
977
983
  return /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
978
- /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:281", style: { position: "fixed", bottom: "30px", right: "30px", zIndex: 99999 }, id: "viewgate-ui", children: [
984
+ /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:282", style: { position: "fixed", bottom: "30px", right: "30px", zIndex: 99999 }, id: "viewgate-ui", children: [
979
985
  /* @__PURE__ */ l.jsx(
980
986
  "button",
981
987
  {
@@ -985,11 +991,11 @@ const Gt = (e) => {
985
991
  children: s ? r.exitMode : r.enterMode
986
992
  }
987
993
  ),
988
- L.length > 0 && /* @__PURE__ */ l.jsx(
994
+ N.length > 0 && /* @__PURE__ */ l.jsx(
989
995
  "button",
990
996
  {
991
997
  onClick: () => {
992
- Y(!$), i(!1), p(null);
998
+ Y(!F), i(!1), m(null);
993
999
  },
994
1000
  className: "vg-button-ghost",
995
1001
  style: { padding: "12px 24px", fontSize: "15px", marginLeft: "12px", background: "white" },
@@ -997,7 +1003,7 @@ const Gt = (e) => {
997
1003
  }
998
1004
  )
999
1005
  ] }),
1000
- U && /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:306", style: {
1006
+ U && /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:307", style: {
1001
1007
  position: "fixed",
1002
1008
  top: 0,
1003
1009
  left: 0,
@@ -1009,11 +1015,11 @@ const Gt = (e) => {
1009
1015
  justifyContent: "center",
1010
1016
  zIndex: 1e5,
1011
1017
  cursor: "wait"
1012
- }, children: /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:319", className: "vg-glassmorphism", style: { padding: "30px 50px", fontWeight: 700, display: "flex", flexDirection: "column", alignItems: "center", backgroundColor: "rgba(0,0,0,0.7)", color: "white", border: "1px solid rgba(255,255,255,0.1)" }, children: [
1013
- /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:320", className: "vg-spinner" }),
1018
+ }, children: /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:320", className: "vg-glassmorphism", style: { padding: "30px 50px", fontWeight: 700, display: "flex", flexDirection: "column", alignItems: "center", backgroundColor: "rgba(0,0,0,0.7)", color: "white", border: "1px solid rgba(255,255,255,0.1)" }, children: [
1019
+ /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:321", className: "vg-spinner" }),
1014
1020
  "Capturing..."
1015
1021
  ] }) }),
1016
- s && c && !d && !U && /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:328", style: {
1022
+ s && c && !d && !U && /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:329", style: {
1017
1023
  position: "fixed",
1018
1024
  top: c.rect.top,
1019
1025
  left: c.rect.left,
@@ -1027,7 +1033,7 @@ const Gt = (e) => {
1027
1033
  boxShadow: "0 0 15px rgba(37, 19, 236, 0.2)",
1028
1034
  transition: "all 0.1s ease-out"
1029
1035
  } }),
1030
- d && /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:346", className: "vg-animate-fade", style: {
1036
+ d && /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:347", className: "vg-animate-fade", style: {
1031
1037
  position: "fixed",
1032
1038
  top: 0,
1033
1039
  left: 0,
@@ -1039,33 +1045,33 @@ const Gt = (e) => {
1039
1045
  alignItems: "center",
1040
1046
  justifyContent: "center",
1041
1047
  zIndex: 99999
1042
- }, children: /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:359", className: "vg-glassmorphism vg-animate-slide", style: {
1048
+ }, children: /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:360", className: "vg-glassmorphism vg-animate-slide", style: {
1043
1049
  padding: "32px",
1044
1050
  width: "460px",
1045
1051
  background: "white",
1046
1052
  color: "#0f172a"
1047
1053
  }, children: [
1048
- /* @__PURE__ */ l.jsx("h2", { "data-source-path": "/src/components/ViewGateOverlay.tsx:365", style: { margin: "0 0 10px 0", fontSize: "24px", fontWeight: 800 }, children: r.feedbackHeader }),
1049
- /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:367", style: { marginBottom: "20px" }, children: [
1050
- /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:368", style: { display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center" }, children: [
1051
- d.semanticReference.componentPath ? /* @__PURE__ */ l.jsxs("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:370", className: "vg-badge", style: { backgroundColor: "#f5f3ff", color: "#7c3aed", borderColor: "#ddd6fe" }, children: [
1054
+ /* @__PURE__ */ l.jsx("h2", { "data-source-path": "/src/components/ViewGateOverlay.tsx:366", style: { margin: "0 0 10px 0", fontSize: "24px", fontWeight: 800 }, children: r.feedbackHeader }),
1055
+ /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:368", style: { marginBottom: "20px" }, children: [
1056
+ /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:369", style: { display: "flex", flexWrap: "wrap", gap: "8px", alignItems: "center" }, children: [
1057
+ d.semanticReference.componentPath ? /* @__PURE__ */ l.jsxs("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:371", className: "vg-badge", style: { backgroundColor: "#f5f3ff", color: "#7c3aed", borderColor: "#ddd6fe" }, children: [
1052
1058
  "📦 ",
1053
- d.semanticReference.componentPath
1054
- ] }) : /* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:374", className: "vg-badge", children: d.tag }),
1055
- d.semanticReference.source && !d.semanticReference.source.startsWith("unknown") ? /* @__PURE__ */ l.jsx(l.Fragment, { children: /* @__PURE__ */ l.jsxs("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:379", className: "vg-badge", style: { backgroundColor: "#fdf2f8", color: "#db2777", borderColor: "#fbcfe8" }, children: [
1059
+ d.tag
1060
+ ] }) : /* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:375", className: "vg-badge", children: d.tag }),
1061
+ d.semanticReference.source && !d.semanticReference.source.startsWith("unknown") ? /* @__PURE__ */ l.jsx(l.Fragment, { children: /* @__PURE__ */ l.jsxs("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:380", className: "vg-badge", style: { backgroundColor: "#fdf2f8", color: "#db2777", borderColor: "#fbcfe8" }, children: [
1056
1062
  "📄 ",
1057
- M(d.semanticReference.source.split(":")[0] || "unknown")
1058
- ] }) }) : /* @__PURE__ */ l.jsxs("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:384", className: "vg-badge", style: { backgroundColor: "#f0f9ff", color: "#0369a1", borderColor: "#bae6fd", maxWidth: "300px", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: [
1063
+ A(d.semanticReference.source.split(":")[0] || "unknown")
1064
+ ] }) }) : /* @__PURE__ */ l.jsxs("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:385", className: "vg-badge", style: { backgroundColor: "#f0f9ff", color: "#0369a1", borderColor: "#bae6fd", maxWidth: "300px", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: [
1059
1065
  "🆔 ",
1060
1066
  d.semanticReference.signature
1061
1067
  ] })
1062
1068
  ] }),
1063
- /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:389", style: { marginTop: "8px", fontSize: "11px", color: "#94a3b8" }, children: [
1069
+ /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:390", style: { marginTop: "8px", fontSize: "11px", color: "#94a3b8" }, children: [
1064
1070
  "🎯 ",
1065
1071
  d.semanticReference.selector
1066
1072
  ] })
1067
1073
  ] }),
1068
- /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:395", style: {
1074
+ /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:396", style: {
1069
1075
  backgroundColor: "#f8fafc",
1070
1076
  borderRadius: "8px",
1071
1077
  border: "1px solid #e2e8f0",
@@ -1074,16 +1080,16 @@ const Gt = (e) => {
1074
1080
  display: "flex",
1075
1081
  flexDirection: "column"
1076
1082
  }, children: [
1077
- /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:404", style: { padding: "8px 12px", fontSize: "10px", color: "#94a3b8", textTransform: "uppercase", fontWeight: 700, borderBottom: "1px solid #f1f5f9" }, children: r.preview }),
1078
- /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:407", style: {
1083
+ /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:405", style: { padding: "8px 12px", fontSize: "10px", color: "#94a3b8", textTransform: "uppercase", fontWeight: 700, borderBottom: "1px solid #f1f5f9" }, children: r.preview }),
1084
+ /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:408", style: {
1079
1085
  padding: "12px",
1080
1086
  display: "flex",
1081
1087
  justifyContent: "center",
1082
1088
  alignItems: "center",
1083
- minHeight: "60px",
1084
- maxHeight: "150px",
1089
+ minHeight: "100px",
1090
+ maxHeight: "200px",
1085
1091
  overflow: "hidden",
1086
- backgroundColor: "white"
1092
+ backgroundColor: "#fdfdfd"
1087
1093
  }, children: d.visualPreview ? /* @__PURE__ */ l.jsx(
1088
1094
  "img",
1089
1095
  {
@@ -1097,7 +1103,7 @@ const Gt = (e) => {
1097
1103
  borderRadius: "4px"
1098
1104
  }
1099
1105
  }
1100
- ) : /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:430", style: { fontSize: "13px", color: "#64748b", fontStyle: "italic" }, children: [
1106
+ ) : /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:431", style: { fontSize: "13px", color: "#64748b", fontStyle: "italic" }, children: [
1101
1107
  '"',
1102
1108
  d.previewText,
1103
1109
  '"'
@@ -1108,17 +1114,17 @@ const Gt = (e) => {
1108
1114
  {
1109
1115
  className: "vg-textarea",
1110
1116
  value: g,
1111
- onChange: (m) => y(m.target.value),
1117
+ onChange: (p) => y(p.target.value),
1112
1118
  rows: 4,
1113
1119
  placeholder: r.placeholder,
1114
1120
  autoFocus: !0
1115
1121
  }
1116
1122
  ),
1117
- /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:446", style: { display: "flex", justifyContent: "flex-end", gap: "12px", marginTop: "24px" }, children: [
1123
+ /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:447", style: { display: "flex", justifyContent: "flex-end", gap: "12px", marginTop: "24px" }, children: [
1118
1124
  /* @__PURE__ */ l.jsx(
1119
1125
  "button",
1120
1126
  {
1121
- onClick: () => p(null),
1127
+ onClick: () => m(null),
1122
1128
  className: "vg-button-ghost",
1123
1129
  children: r.cancel
1124
1130
  }
@@ -1126,7 +1132,7 @@ const Gt = (e) => {
1126
1132
  /* @__PURE__ */ l.jsx(
1127
1133
  "button",
1128
1134
  {
1129
- onClick: D,
1135
+ onClick: re,
1130
1136
  className: "vg-button-primary",
1131
1137
  disabled: E || !g.trim(),
1132
1138
  style: { opacity: E || !g.trim() ? 0.6 : 1 },
@@ -1135,7 +1141,7 @@ const Gt = (e) => {
1135
1141
  )
1136
1142
  ] })
1137
1143
  ] }) }),
1138
- $ && /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:468", className: "vg-animate-fade", style: {
1144
+ F && /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:469", className: "vg-animate-fade", style: {
1139
1145
  position: "fixed",
1140
1146
  top: 0,
1141
1147
  left: 0,
@@ -1147,7 +1153,7 @@ const Gt = (e) => {
1147
1153
  alignItems: "center",
1148
1154
  justifyContent: "center",
1149
1155
  zIndex: 99999
1150
- }, children: /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:481", className: "vg-glassmorphism vg-animate-slide", style: {
1156
+ }, children: /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:482", className: "vg-glassmorphism vg-animate-slide", style: {
1151
1157
  padding: "32px",
1152
1158
  width: "600px",
1153
1159
  maxHeight: "80vh",
@@ -1156,49 +1162,49 @@ const Gt = (e) => {
1156
1162
  display: "flex",
1157
1163
  flexDirection: "column"
1158
1164
  }, children: [
1159
- /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:490", style: { display: "flex", justifyContent: "space-between", alignItems: "center", marginBottom: "20px" }, children: [
1160
- /* @__PURE__ */ l.jsx("h2", { "data-source-path": "/src/components/ViewGateOverlay.tsx:491", style: { margin: 0, fontSize: "24px", fontWeight: 800 }, children: r.feedbackHeader }),
1161
- /* @__PURE__ */ l.jsx("button", { "data-source-path": "/src/components/ViewGateOverlay.tsx:492", onClick: () => Y(!1), className: "vg-button-ghost", style: { padding: "6px 12px" }, children: "✕" })
1165
+ /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:491", style: { display: "flex", justifyContent: "space-between", alignItems: "center", marginBottom: "20px" }, children: [
1166
+ /* @__PURE__ */ l.jsx("h2", { "data-source-path": "/src/components/ViewGateOverlay.tsx:492", style: { margin: 0, fontSize: "24px", fontWeight: 800 }, children: r.feedbackHeader }),
1167
+ /* @__PURE__ */ l.jsx("button", { "data-source-path": "/src/components/ViewGateOverlay.tsx:493", onClick: () => Y(!1), className: "vg-button-ghost", style: { padding: "6px 12px" }, children: "✕" })
1162
1168
  ] }),
1163
- /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:495", style: { overflowY: "auto", flex: 1, paddingRight: "8px", display: "flex", flexDirection: "column", gap: "16px" }, children: ee ? /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:497", style: { textAlign: "center", padding: "40px", color: "#64748b" }, children: "Cargando..." }) : L.length === 0 ? /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:499", style: { textAlign: "center", padding: "40px", color: "#64748b" }, children: r.noComments }) : L.map((m) => /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:502", style: {
1169
+ /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:496", style: { overflowY: "auto", flex: 1, paddingRight: "8px", display: "flex", flexDirection: "column", gap: "16px" }, children: M ? /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:498", style: { textAlign: "center", padding: "40px", color: "#64748b" }, children: "Cargando..." }) : N.length === 0 ? /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:500", style: { textAlign: "center", padding: "40px", color: "#64748b" }, children: r.noComments }) : N.map((p) => /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:503", style: {
1164
1170
  border: "1px solid #e2e8f0",
1165
1171
  borderRadius: "12px",
1166
1172
  padding: "16px",
1167
- backgroundColor: m.status === "ready_for_review" ? "#f0fdf4" : "#fff"
1173
+ backgroundColor: p.status === "ready_for_review" ? "#f0fdf4" : "#fff"
1168
1174
  }, children: [
1169
- /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:508", style: { display: "flex", justifyContent: "space-between", marginBottom: "12px" }, children: /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:509", style: { display: "flex", gap: "8px", alignItems: "center" }, children: [
1170
- m.status === "ready_for_review" ? /* @__PURE__ */ l.jsxs("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:511", className: "vg-badge", style: { backgroundColor: "#dcfce7", color: "#166534", borderColor: "#bbf7d0" }, children: [
1175
+ /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:509", style: { display: "flex", justifyContent: "space-between", marginBottom: "12px" }, children: /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:510", style: { display: "flex", gap: "8px", alignItems: "center" }, children: [
1176
+ p.status === "ready_for_review" ? /* @__PURE__ */ l.jsxs("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:512", className: "vg-badge", style: { backgroundColor: "#dcfce7", color: "#166534", borderColor: "#bbf7d0" }, children: [
1171
1177
  "✓ ",
1172
1178
  r.readyForReview
1173
- ] }) : /* @__PURE__ */ l.jsxs("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:513", className: "vg-badge", style: { backgroundColor: "#fef3c7", color: "#92400e", borderColor: "#fde68a" }, children: [
1179
+ ] }) : /* @__PURE__ */ l.jsxs("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:514", className: "vg-badge", style: { backgroundColor: "#fef3c7", color: "#92400e", borderColor: "#fde68a" }, children: [
1174
1180
  "⏳ ",
1175
1181
  r.pending
1176
1182
  ] }),
1177
- /* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:515", style: { fontSize: "12px", color: "#64748b" }, children: new Date(m.timestamp).toLocaleString() })
1183
+ /* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:516", style: { fontSize: "12px", color: "#64748b" }, children: new Date(p.timestamp).toLocaleString() })
1178
1184
  ] }) }),
1179
- /* @__PURE__ */ l.jsxs("p", { "data-source-path": "/src/components/ViewGateOverlay.tsx:521", style: { margin: "0 0 12px 0", fontSize: "15px", fontWeight: 600 }, children: [
1185
+ /* @__PURE__ */ l.jsxs("p", { "data-source-path": "/src/components/ViewGateOverlay.tsx:522", style: { margin: "0 0 12px 0", fontSize: "15px", fontWeight: 600 }, children: [
1180
1186
  '"',
1181
- m.message,
1187
+ p.message,
1182
1188
  '"'
1183
1189
  ] }),
1184
- /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:523", style: { display: "flex", gap: "6px", flexWrap: "wrap", marginBottom: "16px" }, children: [
1185
- /* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:524", className: "vg-badge", style: { backgroundColor: "#f1f5f9", color: "#475569", border: "none" }, children: m.componentName || "UI Element" }),
1186
- m.filePath && m.filePath !== "unknown" && /* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:528", className: "vg-badge", style: { backgroundColor: "#f1f5f9", color: "#475569", border: "none" }, children: M(m.filePath) })
1190
+ /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:524", style: { display: "flex", gap: "6px", flexWrap: "wrap", marginBottom: "16px" }, children: [
1191
+ /* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:525", className: "vg-badge", style: { backgroundColor: "#f1f5f9", color: "#475569", border: "none" }, children: p.componentName || "UI Element" }),
1192
+ p.filePath && p.filePath !== "unknown" && /* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:529", className: "vg-badge", style: { backgroundColor: "#f1f5f9", color: "#475569", border: "none" }, children: A(p.filePath) })
1187
1193
  ] }),
1188
- /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:534", style: { display: "flex", gap: "8px", justifyContent: "flex-end", borderTop: "1px solid #e2e8f0", paddingTop: "16px", marginTop: "8px" }, children: [
1189
- m.status === "pending" ? /* @__PURE__ */ l.jsxs(
1194
+ /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:535", style: { display: "flex", gap: "8px", justifyContent: "flex-end", borderTop: "1px solid #e2e8f0", paddingTop: "16px", marginTop: "8px" }, children: [
1195
+ p.status === "pending" ? /* @__PURE__ */ l.jsxs(
1190
1196
  "button",
1191
1197
  {
1192
- "data-source-path": "/src/components/ViewGateOverlay.tsx:536",
1198
+ "data-source-path": "/src/components/ViewGateOverlay.tsx:537",
1193
1199
  className: "vg-button-primary",
1194
1200
  style: { display: "flex", alignItems: "center", gap: "6px" },
1195
1201
  onClick: async () => {
1196
1202
  try {
1197
- (await fetch(`${a}/api/annotations/${m._id}`, {
1203
+ (await fetch(`${a}/api/annotations/${p._id}`, {
1198
1204
  method: "PATCH",
1199
1205
  headers: { "Content-Type": "application/json", "x-api-key": n },
1200
1206
  body: JSON.stringify({ status: "ready_for_review" })
1201
- })).ok && (R(), e(r.success, "success"));
1207
+ })).ok && (k(), e(r.updateSuccess, "success"));
1202
1208
  } catch {
1203
1209
  e(r.error, "error");
1204
1210
  }
@@ -1211,16 +1217,16 @@ const Gt = (e) => {
1211
1217
  ) : /* @__PURE__ */ l.jsxs(
1212
1218
  "button",
1213
1219
  {
1214
- "data-source-path": "/src/components/ViewGateOverlay.tsx:558",
1220
+ "data-source-path": "/src/components/ViewGateOverlay.tsx:559",
1215
1221
  className: "vg-button-ghost",
1216
1222
  style: { display: "flex", alignItems: "center", gap: "6px" },
1217
1223
  onClick: async () => {
1218
1224
  try {
1219
- (await fetch(`${a}/api/annotations/${m._id}`, {
1225
+ (await fetch(`${a}/api/annotations/${p._id}`, {
1220
1226
  method: "PATCH",
1221
1227
  headers: { "Content-Type": "application/json", "x-api-key": n },
1222
1228
  body: JSON.stringify({ status: "pending" })
1223
- })).ok && (R(), e(r.success, "success"));
1229
+ })).ok && (k(), e(r.updateSuccess, "success"));
1224
1230
  } catch {
1225
1231
  e(r.error, "error");
1226
1232
  }
@@ -1234,38 +1240,40 @@ const Gt = (e) => {
1234
1240
  /* @__PURE__ */ l.jsxs(
1235
1241
  "button",
1236
1242
  {
1237
- "data-source-path": "/src/components/ViewGateOverlay.tsx:581",
1243
+ "data-source-path": "/src/components/ViewGateOverlay.tsx:582",
1238
1244
  className: "vg-button-ghost",
1239
1245
  style: { display: "flex", alignItems: "center", gap: "6px" },
1240
1246
  onClick: () => {
1241
- m.url && (window.location.href = m.url);
1247
+ p.url && (te(!0), setTimeout(() => {
1248
+ window.location.href = p.url;
1249
+ }, 1e3));
1242
1250
  },
1243
1251
  children: [
1244
- "🌐 ",
1245
- r.goToSite
1252
+ "👁️ ",
1253
+ r.review
1246
1254
  ]
1247
1255
  }
1248
1256
  ),
1249
1257
  /* @__PURE__ */ l.jsxs(
1250
1258
  "button",
1251
1259
  {
1252
- "data-source-path": "/src/components/ViewGateOverlay.tsx:593",
1260
+ "data-source-path": "/src/components/ViewGateOverlay.tsx:597",
1253
1261
  className: "vg-button-primary",
1254
1262
  style: { backgroundColor: "#ef4444", display: "flex", alignItems: "center", gap: "6px" },
1255
1263
  onClick: () => {
1256
- F({
1264
+ D({
1257
1265
  title: r.deleteConfirm,
1258
1266
  message: r.confirmDelete,
1259
1267
  onConfirm: async () => {
1260
1268
  try {
1261
- (await fetch(`${a}/api/annotations/${m._id}`, {
1269
+ (await fetch(`${a}/api/annotations/${p._id}`, {
1262
1270
  method: "DELETE",
1263
1271
  headers: { "x-api-key": n }
1264
- })).ok && (R(), e(r.success, "success"));
1272
+ })).ok && (k(), e(r.deleteSuccess, "success"));
1265
1273
  } catch {
1266
1274
  e(r.error, "error");
1267
1275
  } finally {
1268
- F(null);
1276
+ D(null);
1269
1277
  }
1270
1278
  }
1271
1279
  });
@@ -1277,9 +1285,26 @@ const Gt = (e) => {
1277
1285
  }
1278
1286
  )
1279
1287
  ] })
1280
- ] }, m._id)) })
1288
+ ] }, p._id)) })
1289
+ ] }) }),
1290
+ ee && /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:636", style: {
1291
+ position: "fixed",
1292
+ top: 0,
1293
+ left: 0,
1294
+ width: "100%",
1295
+ height: "100%",
1296
+ backgroundColor: "rgba(0,0,0,0.85)",
1297
+ display: "flex",
1298
+ alignItems: "center",
1299
+ justifyContent: "center",
1300
+ zIndex: 3e5,
1301
+ backdropFilter: "blur(10px)",
1302
+ color: "white"
1303
+ }, children: /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:650", style: { display: "flex", flexDirection: "column", alignItems: "center", gap: "20px" }, children: [
1304
+ /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:651", className: "vg-spinner", style: { width: "50px", height: "50px", borderTopColor: "white" } }),
1305
+ /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:652", style: { fontSize: "18px", fontWeight: 600, letterSpacing: "0.5px" }, children: r.navigating })
1281
1306
  ] }) }),
1282
- O && /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:632", className: "vg-animate-fade", style: {
1307
+ _ && /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:659", className: "vg-animate-fade", style: {
1283
1308
  position: "fixed",
1284
1309
  top: 0,
1285
1310
  left: 0,
@@ -1291,22 +1316,22 @@ const Gt = (e) => {
1291
1316
  alignItems: "center",
1292
1317
  justifyContent: "center",
1293
1318
  zIndex: 2e5
1294
- }, children: /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:645", className: "vg-glassmorphism vg-animate-slide", style: {
1319
+ }, children: /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:672", className: "vg-glassmorphism vg-animate-slide", style: {
1295
1320
  padding: "32px",
1296
1321
  width: "400px",
1297
1322
  background: "white",
1298
1323
  textAlign: "center"
1299
1324
  }, children: [
1300
- /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:651", style: { fontSize: "48px", marginBottom: "16px" }, children: "⚠️" }),
1301
- /* @__PURE__ */ l.jsx("h3", { "data-source-path": "/src/components/ViewGateOverlay.tsx:652", style: { margin: "0 0 12px 0", fontSize: "20px", fontWeight: 700, color: "#0f172a" }, children: O.title }),
1302
- /* @__PURE__ */ l.jsx("p", { "data-source-path": "/src/components/ViewGateOverlay.tsx:653", style: { margin: "0 0 24px 0", fontSize: "15px", color: "#64748b", lineHeight: 1.5 }, children: O.message }),
1303
- /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:655", style: { display: "flex", gap: "12px", justifyContent: "center" }, children: [
1325
+ /* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:678", style: { fontSize: "48px", marginBottom: "16px" }, children: "⚠️" }),
1326
+ /* @__PURE__ */ l.jsx("h3", { "data-source-path": "/src/components/ViewGateOverlay.tsx:679", style: { margin: "0 0 12px 0", fontSize: "20px", fontWeight: 700, color: "#0f172a" }, children: _.title }),
1327
+ /* @__PURE__ */ l.jsx("p", { "data-source-path": "/src/components/ViewGateOverlay.tsx:680", style: { margin: "0 0 24px 0", fontSize: "15px", color: "#64748b", lineHeight: 1.5 }, children: _.message }),
1328
+ /* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:682", style: { display: "flex", gap: "12px", justifyContent: "center" }, children: [
1304
1329
  /* @__PURE__ */ l.jsx(
1305
1330
  "button",
1306
1331
  {
1307
- "data-source-path": "/src/components/ViewGateOverlay.tsx:656",
1332
+ "data-source-path": "/src/components/ViewGateOverlay.tsx:683",
1308
1333
  className: "vg-button-ghost",
1309
- onClick: () => F(null),
1334
+ onClick: () => D(null),
1310
1335
  style: { flex: 1 },
1311
1336
  children: r.no
1312
1337
  }
@@ -1314,10 +1339,10 @@ const Gt = (e) => {
1314
1339
  /* @__PURE__ */ l.jsx(
1315
1340
  "button",
1316
1341
  {
1317
- "data-source-path": "/src/components/ViewGateOverlay.tsx:663",
1342
+ "data-source-path": "/src/components/ViewGateOverlay.tsx:690",
1318
1343
  className: "vg-button-primary",
1319
1344
  style: { backgroundColor: "#ef4444", flex: 1 },
1320
- onClick: O.onConfirm,
1345
+ onClick: _.onConfirm,
1321
1346
  children: r.yes
1322
1347
  }
1323
1348
  )
@@ -1331,7 +1356,7 @@ function _e(e, t, r) {
1331
1356
  return e.split(`
1332
1357
  `).map((c, u) => {
1333
1358
  const d = u + 1;
1334
- return c.replace(/(^|[^a-zA-Z0-9])<([a-zA-Z][a-zA-Z0-9\.]*)(?=[ \t\n\/\>])/g, (p, g, y) => p.includes("data-source-path") || y === "Fragment" || y === "React.Fragment" ? p : `${g}<${y} data-source-path="${a}:${d}"`);
1359
+ return c.replace(/(^|[^a-zA-Z0-9])<([a-zA-Z][a-zA-Z0-9\.]*)(?=[ \t\n\/\>])/g, (m, g, y) => m.includes("data-source-path") || y === "Fragment" || y === "React.Fragment" ? m : `${g}<${y} data-source-path="${a}:${d}"`);
1335
1360
  }).join(`
1336
1361
  `);
1337
1362
  }
@@ -1352,7 +1377,7 @@ function Dt(e) {
1352
1377
  return t ? (process.env.NODE_ENV, _e(e, t, process.cwd())) : e;
1353
1378
  }
1354
1379
  export {
1355
- It as ViewGate,
1380
+ Ft as ViewGate,
1356
1381
  Lt as ViewGateOverlay,
1357
1382
  _e as transformSourcePaths,
1358
1383
  De as useViewGate,