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.
package/dist/viewgate-wrapper.js
CHANGED
|
@@ -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
|
|
3
|
-
var J = { exports: {} },
|
|
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
|
|
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
|
|
24
|
+
return z.Fragment = t, z.jsx = r, z.jsxs = r, z;
|
|
25
25
|
}
|
|
26
|
-
var
|
|
26
|
+
var W = {};
|
|
27
27
|
var fe;
|
|
28
|
-
function
|
|
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 ===
|
|
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
|
|
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
|
|
57
|
+
case N:
|
|
58
58
|
return (o._context.displayName || "Context") + ".Consumer";
|
|
59
|
-
case
|
|
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
|
|
62
|
+
case te:
|
|
63
63
|
return f = o.displayName || null, f !== null ? f : e(o.type) || "Memo";
|
|
64
|
-
case
|
|
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 ===
|
|
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 =
|
|
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 (
|
|
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
|
-
|
|
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
|
|
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,
|
|
136
|
+
function d(o, f, x, w, B, ne) {
|
|
137
137
|
var v = x.ref;
|
|
138
138
|
return o = {
|
|
139
|
-
$$typeof:
|
|
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:
|
|
166
|
+
value: ne
|
|
167
167
|
}), Object.freeze && (Object.freeze(o.props), Object.freeze(o)), o;
|
|
168
168
|
}
|
|
169
|
-
function
|
|
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 (
|
|
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 (
|
|
182
|
+
if (V.call(f, "key")) {
|
|
183
183
|
v = e(o);
|
|
184
|
-
var
|
|
184
|
+
var $ = Object.keys(f).filter(function(Ve) {
|
|
185
185
|
return Ve !== "key";
|
|
186
186
|
});
|
|
187
|
-
w = 0 <
|
|
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
|
-
|
|
196
|
+
$,
|
|
197
197
|
v
|
|
198
|
-
),
|
|
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
|
|
203
|
-
|
|
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
|
-
|
|
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 ===
|
|
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 ===
|
|
221
|
+
return typeof o == "object" && o !== null && o.$$typeof === R;
|
|
222
222
|
}
|
|
223
|
-
var E = Ae,
|
|
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
|
|
231
|
+
var p, h = {}, O = E.react_stack_bottom_frame.bind(
|
|
232
232
|
E,
|
|
233
233
|
s
|
|
234
|
-
)(),
|
|
235
|
-
|
|
236
|
-
var w = 1e4 >
|
|
237
|
-
return
|
|
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") :
|
|
243
|
-
w ?
|
|
242
|
+
w ? Error("react-stack-top-frame") : O,
|
|
243
|
+
w ? A(n(o)) : G
|
|
244
244
|
);
|
|
245
|
-
},
|
|
246
|
-
var w = 1e4 >
|
|
247
|
-
return
|
|
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") :
|
|
253
|
-
w ?
|
|
252
|
+
w ? Error("react-stack-top-frame") : O,
|
|
253
|
+
w ? A(n(o)) : G
|
|
254
254
|
);
|
|
255
255
|
};
|
|
256
|
-
})()),
|
|
256
|
+
})()), W;
|
|
257
257
|
}
|
|
258
|
-
var
|
|
259
|
-
function
|
|
260
|
-
return
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
},
|
|
327
|
-
const [a, s] =
|
|
328
|
-
const
|
|
329
|
-
s((g) => [...g, { id:
|
|
330
|
-
s((g) => g.filter((y) => y.id !==
|
|
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:
|
|
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:
|
|
336
|
-
/* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateProvider.tsx:
|
|
337
|
-
/* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateProvider.tsx:
|
|
338
|
-
/* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateProvider.tsx:
|
|
339
|
-
/* @__PURE__ */ l.jsx("strong", { "data-source-path": "/src/components/ViewGateProvider.tsx:
|
|
340
|
-
/* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateProvider.tsx:
|
|
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
|
|
375
|
+
let L = null;
|
|
370
376
|
function Ee(e = {}) {
|
|
371
|
-
return
|
|
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
|
|
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
|
|
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
|
|
386
|
-
const r = t.width ||
|
|
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
|
|
404
|
+
const S = 16384;
|
|
399
405
|
function Ye(e) {
|
|
400
|
-
(e.width >
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
512
|
+
async function le(e, t, r) {
|
|
507
513
|
const n = nt(e, t, r.includeQueryParams);
|
|
508
|
-
if (
|
|
509
|
-
return
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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) =>
|
|
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) => !
|
|
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 =
|
|
624
|
+
const s = r ? Me(t, r) : t, i = ce(t);
|
|
619
625
|
let c;
|
|
620
|
-
return a || (c = await
|
|
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
|
|
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
|
|
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 && !
|
|
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
|
|
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
|
|
675
|
-
const n = j(e.childNodes).map((a) =>
|
|
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
|
|
679
|
-
b(e, Element) && (await bt(e, t), await Et(e, t), await
|
|
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
|
|
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),
|
|
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((
|
|
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((
|
|
749
|
-
console.error("Error loading remote css",
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
805
|
-
const r = t.fontEmbedCSS != null ? t.fontEmbedCSS : t.skipFonts ? null : await
|
|
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 } =
|
|
813
|
-
return await
|
|
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 } =
|
|
817
|
-
return i.width = d * u, i.height =
|
|
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
|
|
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,
|
|
858
|
+
y += "#" + g.id, m.unshift(y);
|
|
853
859
|
break;
|
|
854
860
|
} else {
|
|
855
|
-
let E = g,
|
|
861
|
+
let E = g, R = 1;
|
|
856
862
|
for (; E.previousElementSibling; )
|
|
857
|
-
E = E.previousElementSibling, E.nodeName.toLowerCase() === y &&
|
|
858
|
-
|
|
863
|
+
E = E.previousElementSibling, E.nodeName.toLowerCase() === y && R++;
|
|
864
|
+
R > 1 && (y += `:nth-of-type(${R})`);
|
|
859
865
|
}
|
|
860
|
-
|
|
866
|
+
m.unshift(y), g = g.parentElement;
|
|
861
867
|
}
|
|
862
|
-
return
|
|
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
|
|
866
|
-
|
|
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] =
|
|
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
|
|
897
|
+
const p = await fetch(`${a}/api/annotations`, {
|
|
892
898
|
headers: { "x-api-key": n }
|
|
893
899
|
});
|
|
894
|
-
if (
|
|
895
|
-
const h = await
|
|
900
|
+
if (p.ok) {
|
|
901
|
+
const h = await p.json();
|
|
896
902
|
Q(h);
|
|
897
903
|
}
|
|
898
|
-
} catch (
|
|
899
|
-
console.error("Failed to fetch annotations",
|
|
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
|
-
|
|
907
|
-
}, [
|
|
908
|
-
const
|
|
912
|
+
k();
|
|
913
|
+
}, [k]);
|
|
914
|
+
const T = ae((p) => {
|
|
909
915
|
if (!s || d) return;
|
|
910
|
-
const h = document.elementFromPoint(
|
|
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]),
|
|
929
|
+
}, [s, d]), V = ae(async (p) => {
|
|
924
930
|
if (!(!s || d) && c) {
|
|
925
|
-
|
|
931
|
+
p.preventDefault(), p.stopPropagation(), P(!0);
|
|
926
932
|
try {
|
|
927
|
-
const h = c.element.style.display,
|
|
928
|
-
|
|
929
|
-
const
|
|
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
|
-
|
|
945
|
+
O && (c.element.style.display = h), m({ ...c, visualPreview: G });
|
|
940
946
|
} catch (h) {
|
|
941
|
-
console.error("Failed to capture preview:", h),
|
|
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",
|
|
948
|
-
document.body.classList.remove("vg-cursor-pointer"), window.removeEventListener("mousemove",
|
|
949
|
-
}), [s, d,
|
|
950
|
-
const
|
|
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
|
-
|
|
953
|
-
const { semanticReference:
|
|
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:
|
|
967
|
-
reference:
|
|
972
|
+
componentName: p.componentPath || d.tag,
|
|
973
|
+
reference: p
|
|
968
974
|
})
|
|
969
975
|
})).ok) throw new Error("Backend failed");
|
|
970
|
-
e(r.success, "success"),
|
|
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
|
-
|
|
980
|
+
R(!1);
|
|
975
981
|
}
|
|
976
|
-
},
|
|
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:
|
|
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
|
-
|
|
994
|
+
N.length > 0 && /* @__PURE__ */ l.jsx(
|
|
989
995
|
"button",
|
|
990
996
|
{
|
|
991
997
|
onClick: () => {
|
|
992
|
-
Y(
|
|
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:
|
|
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:
|
|
1013
|
-
/* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
1049
|
-
/* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
1050
|
-
/* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
1051
|
-
d.semanticReference.componentPath ? /* @__PURE__ */ l.jsxs("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
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.
|
|
1054
|
-
] }) : /* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
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:
|
|
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
|
-
|
|
1058
|
-
] }) }) : /* @__PURE__ */ l.jsxs("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
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:
|
|
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:
|
|
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:
|
|
1078
|
-
/* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
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: "
|
|
1084
|
-
maxHeight: "
|
|
1089
|
+
minHeight: "100px",
|
|
1090
|
+
maxHeight: "200px",
|
|
1085
1091
|
overflow: "hidden",
|
|
1086
|
-
backgroundColor: "
|
|
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:
|
|
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: (
|
|
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:
|
|
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: () =>
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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:
|
|
1160
|
-
/* @__PURE__ */ l.jsx("h2", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
1161
|
-
/* @__PURE__ */ l.jsx("button", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
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:
|
|
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:
|
|
1173
|
+
backgroundColor: p.status === "ready_for_review" ? "#f0fdf4" : "#fff"
|
|
1168
1174
|
}, children: [
|
|
1169
|
-
/* @__PURE__ */ l.jsx("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
1170
|
-
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
-
|
|
1187
|
+
p.message,
|
|
1182
1188
|
'"'
|
|
1183
1189
|
] }),
|
|
1184
|
-
/* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
1185
|
-
/* @__PURE__ */ l.jsx("span", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
1186
|
-
|
|
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:
|
|
1189
|
-
|
|
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:
|
|
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/${
|
|
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 && (
|
|
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:
|
|
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/${
|
|
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 && (
|
|
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:
|
|
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
|
-
|
|
1247
|
+
p.url && (te(!0), setTimeout(() => {
|
|
1248
|
+
window.location.href = p.url;
|
|
1249
|
+
}, 1e3));
|
|
1242
1250
|
},
|
|
1243
1251
|
children: [
|
|
1244
|
-
"
|
|
1245
|
-
r.
|
|
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:
|
|
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
|
-
|
|
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/${
|
|
1269
|
+
(await fetch(`${a}/api/annotations/${p._id}`, {
|
|
1262
1270
|
method: "DELETE",
|
|
1263
1271
|
headers: { "x-api-key": n }
|
|
1264
|
-
})).ok && (
|
|
1272
|
+
})).ok && (k(), e(r.deleteSuccess, "success"));
|
|
1265
1273
|
} catch {
|
|
1266
1274
|
e(r.error, "error");
|
|
1267
1275
|
} finally {
|
|
1268
|
-
|
|
1276
|
+
D(null);
|
|
1269
1277
|
}
|
|
1270
1278
|
}
|
|
1271
1279
|
});
|
|
@@ -1277,9 +1285,26 @@ const Gt = (e) => {
|
|
|
1277
1285
|
}
|
|
1278
1286
|
)
|
|
1279
1287
|
] })
|
|
1280
|
-
] },
|
|
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
|
-
|
|
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:
|
|
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:
|
|
1301
|
-
/* @__PURE__ */ l.jsx("h3", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
1302
|
-
/* @__PURE__ */ l.jsx("p", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
1303
|
-
/* @__PURE__ */ l.jsxs("div", { "data-source-path": "/src/components/ViewGateOverlay.tsx:
|
|
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:
|
|
1332
|
+
"data-source-path": "/src/components/ViewGateOverlay.tsx:683",
|
|
1308
1333
|
className: "vg-button-ghost",
|
|
1309
|
-
onClick: () =>
|
|
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:
|
|
1342
|
+
"data-source-path": "/src/components/ViewGateOverlay.tsx:690",
|
|
1318
1343
|
className: "vg-button-primary",
|
|
1319
1344
|
style: { backgroundColor: "#ef4444", flex: 1 },
|
|
1320
|
-
onClick:
|
|
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, (
|
|
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
|
-
|
|
1380
|
+
Ft as ViewGate,
|
|
1356
1381
|
Lt as ViewGateOverlay,
|
|
1357
1382
|
_e as transformSourcePaths,
|
|
1358
1383
|
De as useViewGate,
|