@pixelmatters/markup 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +6 -6
  2. package/dist/widget.js +489 -470
  3. package/package.json +1 -1
package/dist/widget.js CHANGED
@@ -45,7 +45,7 @@ function w(e, t) {
45
45
  function T(e) {
46
46
  if (e.__P && e.__d) {
47
47
  var n = e.__v, r = n.__e, i = [], a = [], o = v({}, n);
48
- o.__v = n.__v + 1, t.vnode && t.vnode(o), F(e.__P, o, n, e.__n, e.__P.namespaceURI, 32 & n.__u ? [r] : null, i, r ?? w(n), !!(32 & n.__u), a), o.__v = n.__v, o.__.__k[o.__i] = o, ne(i, o, a), n.__e = n.__ = null, o.__e != r && E(o);
48
+ o.__v = n.__v + 1, t.vnode && t.vnode(o), P(e.__P, o, n, e.__n, e.__P.namespaceURI, 32 & n.__u ? [r] : null, i, r ?? w(n), !!(32 & n.__u), a), o.__v = n.__v, o.__.__k[o.__i] = o, re(i, o, a), n.__e = n.__ = null, o.__e != r && E(o);
49
49
  }
50
50
  }
51
51
  function E(e) {
@@ -63,21 +63,21 @@ function O() {
63
63
  r.length = O.__r = 0;
64
64
  }
65
65
  }
66
- function k(e, t, n, r, i, a, o, s, c, l, u) {
66
+ function ee(e, t, n, r, i, a, o, s, c, l, u) {
67
67
  var d, f, p, g, _, v, y, b = r && r.__k || h, x = t.length;
68
- for (c = A(n, t, b, c, x), d = 0; d < x; d++) (p = n.__k[d]) != null && (f = p.__i != -1 && b[p.__i] || m, p.__i = d, v = F(e, p, f, i, a, o, s, c, l, u), g = p.__e, p.ref && f.ref != p.ref && (f.ref && ae(f.ref, null, p), u.push(p.ref, p.__c || g, p)), _ == null && g != null && (_ = g), (y = !!(4 & p.__u)) || f.__k === p.__k ? (c = j(p, c, e, y), y && f.__e && (f.__e = null)) : typeof p.type == "function" && v !== void 0 ? c = v : g && (c = g.nextSibling), p.__u &= -7);
68
+ for (c = k(n, t, b, c, x), d = 0; d < x; d++) (p = n.__k[d]) != null && (f = p.__i != -1 && b[p.__i] || m, p.__i = d, v = P(e, p, f, i, a, o, s, c, l, u), g = p.__e, p.ref && f.ref != p.ref && (f.ref && oe(f.ref, null, p), u.push(p.ref, p.__c || g, p)), _ == null && g != null && (_ = g), (y = !!(4 & p.__u)) || f.__k === p.__k ? (c = A(p, c, e, y), y && f.__e && (f.__e = null)) : typeof p.type == "function" && v !== void 0 ? c = v : g && (c = g.nextSibling), p.__u &= -7);
69
69
  return n.__e = _, c;
70
70
  }
71
- function A(e, t, n, r, i) {
71
+ function k(e, t, n, r, i) {
72
72
  var a, o, s, c, l, u = n.length, d = u, f = 0;
73
- for (e.__k = Array(i), a = 0; a < i; a++) (o = t[a]) != null && typeof o != "boolean" && typeof o != "function" ? (typeof o == "string" || typeof o == "number" || typeof o == "bigint" || o.constructor == String ? o = e.__k[a] = x(null, o, null, null, null) : _(o) ? o = e.__k[a] = x(S, { children: o }, null, null, null) : o.constructor === void 0 && o.__b > 0 ? o = e.__k[a] = x(o.type, o.props, o.key, o.ref ? o.ref : null, o.__v) : e.__k[a] = o, c = a + f, o.__ = e, o.__b = e.__b + 1, s = null, (l = o.__i = M(o, n, c, d)) != -1 && (d--, (s = n[l]) && (s.__u |= 2)), s == null || s.__v == null ? (l == -1 && (i > u ? f-- : i < u && f++), typeof o.type != "function" && (o.__u |= 4)) : l != c && (l == c - 1 ? f-- : l == c + 1 ? f++ : (l > c ? f-- : f++, o.__u |= 4))) : e.__k[a] = null;
74
- if (d) for (a = 0; a < u; a++) (s = n[a]) != null && !(2 & s.__u) && (s.__e == r && (r = w(s)), oe(s, s));
73
+ for (e.__k = Array(i), a = 0; a < i; a++) (o = t[a]) != null && typeof o != "boolean" && typeof o != "function" ? (typeof o == "string" || typeof o == "number" || typeof o == "bigint" || o.constructor == String ? o = e.__k[a] = x(null, o, null, null, null) : _(o) ? o = e.__k[a] = x(S, { children: o }, null, null, null) : o.constructor === void 0 && o.__b > 0 ? o = e.__k[a] = x(o.type, o.props, o.key, o.ref ? o.ref : null, o.__v) : e.__k[a] = o, c = a + f, o.__ = e, o.__b = e.__b + 1, s = null, (l = o.__i = j(o, n, c, d)) != -1 && (d--, (s = n[l]) && (s.__u |= 2)), s == null || s.__v == null ? (l == -1 && (i > u ? f-- : i < u && f++), typeof o.type != "function" && (o.__u |= 4)) : l != c && (l == c - 1 ? f-- : l == c + 1 ? f++ : (l > c ? f-- : f++, o.__u |= 4))) : e.__k[a] = null;
74
+ if (d) for (a = 0; a < u; a++) (s = n[a]) != null && !(2 & s.__u) && (s.__e == r && (r = w(s)), se(s, s));
75
75
  return r;
76
76
  }
77
- function j(e, t, n, r) {
77
+ function A(e, t, n, r) {
78
78
  var i, a;
79
79
  if (typeof e.type == "function") {
80
- for (i = e.__k, a = 0; i && a < i.length; a++) i[a] && (i[a].__ = e, t = j(i[a], t, n, r));
80
+ for (i = e.__k, a = 0; i && a < i.length; a++) i[a] && (i[a].__ = e, t = A(i[a], t, n, r));
81
81
  return t;
82
82
  }
83
83
  e.__e != t && (r && (t && e.type && !t.parentNode && (t = w(e)), n.insertBefore(e.__e, t || null)), t = e.__e);
@@ -86,7 +86,7 @@ function j(e, t, n, r) {
86
86
  while (t != null && t.nodeType == 8);
87
87
  return t;
88
88
  }
89
- function M(e, t, n, r) {
89
+ function j(e, t, n, r) {
90
90
  var i, a, o, s = e.key, c = e.type, l = t[n], u = l != null && (2 & l.__u) == 0;
91
91
  if (l === null && s == null || u && s == l.key && c == l.type) return n;
92
92
  if (r > +!!u) {
@@ -94,15 +94,15 @@ function M(e, t, n, r) {
94
94
  }
95
95
  return -1;
96
96
  }
97
- function N(e, t, n) {
97
+ function M(e, t, n) {
98
98
  t[0] == "-" ? e.setProperty(t, n ?? "") : e[t] = n == null ? "" : typeof n != "number" || g.test(t) ? n : n + "px";
99
99
  }
100
- function ee(e, t, n, r, i) {
100
+ function te(e, t, n, r, i) {
101
101
  var a, o;
102
102
  n: if (t == "style") if (typeof n == "string") e.style.cssText = n;
103
103
  else {
104
- if (typeof r == "string" && (e.style.cssText = r = ""), r) for (t in r) n && t in n || N(e.style, t, "");
105
- if (n) for (t in n) r && n[t] == r[t] || N(e.style, t, n[t]);
104
+ if (typeof r == "string" && (e.style.cssText = r = ""), r) for (t in r) n && t in n || M(e.style, t, "");
105
+ if (n) for (t in n) r && n[t] == r[t] || M(e.style, t, n[t]);
106
106
  }
107
107
  else if (t[0] == "o" && t[1] == "n") a = t != (t = t.replace(u, "$1")), o = t.toLowerCase(), t = o in e || t == "onFocusOut" || t == "onFocusIn" ? o.slice(2) : t.slice(2), e.l ||= {}, e.l[t + a] = n, n ? r ? n[l] = r[l] : (n[l] = d, e.addEventListener(t, a ? p : f, a)) : e.removeEventListener(t, a ? p : f, a);
108
108
  else {
@@ -114,7 +114,7 @@ function ee(e, t, n, r, i) {
114
114
  typeof n == "function" || (n == null || !1 === n && t[4] != "-" ? e.removeAttribute(t) : e.setAttribute(t, t == "popover" && n == 1 ? "" : n));
115
115
  }
116
116
  }
117
- function P(e) {
117
+ function N(e) {
118
118
  return function(n) {
119
119
  if (this.l) {
120
120
  var r = this.l[n.type + e];
@@ -124,14 +124,14 @@ function P(e) {
124
124
  }
125
125
  };
126
126
  }
127
- function F(e, n, r, i, a, o, s, c, l, u) {
128
- var d, f, p, m, g, b, x, w, T, E, D, O, A, j, M, N = n.type;
127
+ function P(e, n, r, i, a, o, s, c, l, u) {
128
+ var d, f, p, m, g, b, x, w, T, E, D, O, k, A, j, M = n.type;
129
129
  if (n.constructor !== void 0) return null;
130
130
  128 & r.__u && (l = !!(32 & r.__u), o = [c = n.__e = r.__e]), (d = t.__b) && d(n);
131
- n: if (typeof N == "function") try {
132
- if (w = n.props, T = N.prototype && N.prototype.render, E = (d = N.contextType) && i[d.__c], D = d ? E ? E.props.value : d.__ : i, r.__c ? x = (f = n.__c = r.__c).__ = f.__E : (T ? n.__c = f = new N(w, D) : (n.__c = f = new C(w, D), f.constructor = N, f.render = se), E && E.sub(f), f.state ||= {}, f.__n = i, p = f.__d = !0, f.__h = [], f._sb = []), T && f.__s == null && (f.__s = f.state), T && N.getDerivedStateFromProps != null && (f.__s == f.state && (f.__s = v({}, f.__s)), v(f.__s, N.getDerivedStateFromProps(w, f.__s))), m = f.props, g = f.state, f.__v = n, p) T && N.getDerivedStateFromProps == null && f.componentWillMount != null && f.componentWillMount(), T && f.componentDidMount != null && f.__h.push(f.componentDidMount);
131
+ n: if (typeof M == "function") try {
132
+ if (w = n.props, T = M.prototype && M.prototype.render, E = (d = M.contextType) && i[d.__c], D = d ? E ? E.props.value : d.__ : i, r.__c ? x = (f = n.__c = r.__c).__ = f.__E : (T ? n.__c = f = new M(w, D) : (n.__c = f = new C(w, D), f.constructor = M, f.render = ce), E && E.sub(f), f.state ||= {}, f.__n = i, p = f.__d = !0, f.__h = [], f._sb = []), T && f.__s == null && (f.__s = f.state), T && M.getDerivedStateFromProps != null && (f.__s == f.state && (f.__s = v({}, f.__s)), v(f.__s, M.getDerivedStateFromProps(w, f.__s))), m = f.props, g = f.state, f.__v = n, p) T && M.getDerivedStateFromProps == null && f.componentWillMount != null && f.componentWillMount(), T && f.componentDidMount != null && f.__h.push(f.componentDidMount);
133
133
  else {
134
- if (T && N.getDerivedStateFromProps == null && w !== m && f.componentWillReceiveProps != null && f.componentWillReceiveProps(w, D), n.__v == r.__v || !f.__e && f.shouldComponentUpdate != null && !1 === f.shouldComponentUpdate(w, f.__s, D)) {
134
+ if (T && M.getDerivedStateFromProps == null && w !== m && f.componentWillReceiveProps != null && f.componentWillReceiveProps(w, D), n.__v == r.__v || !f.__e && f.shouldComponentUpdate != null && !1 === f.shouldComponentUpdate(w, f.__s, D)) {
135
135
  n.__v != r.__v && (f.props = w, f.state = f.__s, f.__d = !1), n.__e = r.__e, n.__k = r.__k, n.__k.some(function(e) {
136
136
  e && (e.__ = n);
137
137
  }), h.push.apply(f.__h, f._sb), f._sb = [], f.__h.length && s.push(f);
@@ -141,30 +141,30 @@ function F(e, n, r, i, a, o, s, c, l, u) {
141
141
  f.componentDidUpdate(m, g, b);
142
142
  });
143
143
  }
144
- if (f.context = D, f.props = w, f.__P = e, f.__e = !1, O = t.__r, A = 0, T) f.state = f.__s, f.__d = !1, O && O(n), d = f.render(f.props, f.state, f.context), h.push.apply(f.__h, f._sb), f._sb = [];
144
+ if (f.context = D, f.props = w, f.__P = e, f.__e = !1, O = t.__r, k = 0, T) f.state = f.__s, f.__d = !1, O && O(n), d = f.render(f.props, f.state, f.context), h.push.apply(f.__h, f._sb), f._sb = [];
145
145
  else do
146
146
  f.__d = !1, O && O(n), d = f.render(f.props, f.state, f.context), f.state = f.__s;
147
- while (f.__d && ++A < 25);
148
- f.state = f.__s, f.getChildContext != null && (i = v(v({}, i), f.getChildContext())), T && !p && f.getSnapshotBeforeUpdate != null && (b = f.getSnapshotBeforeUpdate(m, g)), j = d != null && d.type === S && d.key == null ? re(d.props.children) : d, c = k(e, _(j) ? j : [j], n, r, i, a, o, s, c, l, u), f.base = n.__e, n.__u &= -161, f.__h.length && s.push(f), x && (f.__E = f.__ = null);
147
+ while (f.__d && ++k < 25);
148
+ f.state = f.__s, f.getChildContext != null && (i = v(v({}, i), f.getChildContext())), T && !p && f.getSnapshotBeforeUpdate != null && (b = f.getSnapshotBeforeUpdate(m, g)), A = d != null && d.type === S && d.key == null ? ie(d.props.children) : d, c = ee(e, _(A) ? A : [A], n, r, i, a, o, s, c, l, u), f.base = n.__e, n.__u &= -161, f.__h.length && s.push(f), x && (f.__E = f.__ = null);
149
149
  } catch (e) {
150
150
  if (n.__v = null, l || o != null) if (e.then) {
151
151
  for (n.__u |= l ? 160 : 128; c && c.nodeType == 8 && c.nextSibling;) c = c.nextSibling;
152
152
  o[o.indexOf(c)] = null, n.__e = c;
153
153
  } else {
154
- for (M = o.length; M--;) y(o[M]);
155
- te(n);
154
+ for (j = o.length; j--;) y(o[j]);
155
+ ne(n);
156
156
  }
157
- else n.__e = r.__e, n.__k = r.__k, e.then || te(n);
157
+ else n.__e = r.__e, n.__k = r.__k, e.then || ne(n);
158
158
  t.__e(e, n, r);
159
159
  }
160
- else o == null && n.__v == r.__v ? (n.__k = r.__k, n.__e = r.__e) : c = n.__e = ie(r.__e, n, r, i, a, o, s, l, u);
160
+ else o == null && n.__v == r.__v ? (n.__k = r.__k, n.__e = r.__e) : c = n.__e = ae(r.__e, n, r, i, a, o, s, l, u);
161
161
  return (d = t.diffed) && d(n), 128 & n.__u ? void 0 : c;
162
162
  }
163
- function te(e) {
164
- e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(te));
163
+ function ne(e) {
164
+ e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(ne));
165
165
  }
166
- function ne(e, n, r) {
167
- for (var i = 0; i < r.length; i++) ae(r[i], r[++i], r[++i]);
166
+ function re(e, n, r) {
167
+ for (var i = 0; i < r.length; i++) oe(r[i], r[++i], r[++i]);
168
168
  t.__c && t.__c(n, e), e.some(function(n) {
169
169
  try {
170
170
  e = n.__h, n.__h = [], e.some(function(e) {
@@ -175,10 +175,10 @@ function ne(e, n, r) {
175
175
  }
176
176
  });
177
177
  }
178
- function re(e) {
179
- return typeof e != "object" || !e || e.__b > 0 ? e : _(e) ? e.map(re) : v({}, e);
178
+ function ie(e) {
179
+ return typeof e != "object" || !e || e.__b > 0 ? e : _(e) ? e.map(ie) : v({}, e);
180
180
  }
181
- function ie(n, r, i, a, o, s, c, l, u) {
181
+ function ae(n, r, i, a, o, s, c, l, u) {
182
182
  var d, f, p, h, g, v, b, x = i.props || m, S = r.props, C = r.type;
183
183
  if (C == "svg" ? o = "http://www.w3.org/2000/svg" : C == "math" ? o = "http://www.w3.org/1998/Math/MathML" : o ||= "http://www.w3.org/1999/xhtml", s != null) {
184
184
  for (d = 0; d < s.length; d++) if ((g = s[d]) && "setAttribute" in g == !!C && (C ? g.localName == C : g.nodeType == 3)) {
@@ -193,15 +193,15 @@ function ie(n, r, i, a, o, s, c, l, u) {
193
193
  if (C == null) x === S || l && n.data == S || (n.data = S);
194
194
  else {
195
195
  if (s &&= e.call(n.childNodes), !l && s != null) for (x = {}, d = 0; d < n.attributes.length; d++) x[(g = n.attributes[d]).name] = g.value;
196
- for (d in x) g = x[d], d == "dangerouslySetInnerHTML" ? p = g : d == "children" || d in S || d == "value" && "defaultValue" in S || d == "checked" && "defaultChecked" in S || ee(n, d, null, g, o);
197
- for (d in S) g = S[d], d == "children" ? h = g : d == "dangerouslySetInnerHTML" ? f = g : d == "value" ? v = g : d == "checked" ? b = g : l && typeof g != "function" || x[d] === g || ee(n, d, g, x[d], o);
196
+ for (d in x) g = x[d], d == "dangerouslySetInnerHTML" ? p = g : d == "children" || d in S || d == "value" && "defaultValue" in S || d == "checked" && "defaultChecked" in S || te(n, d, null, g, o);
197
+ for (d in S) g = S[d], d == "children" ? h = g : d == "dangerouslySetInnerHTML" ? f = g : d == "value" ? v = g : d == "checked" ? b = g : l && typeof g != "function" || x[d] === g || te(n, d, g, x[d], o);
198
198
  if (f) l || p && (f.__html == p.__html || f.__html == n.innerHTML) || (n.innerHTML = f.__html), r.__k = [];
199
- else if (p && (n.innerHTML = ""), k(r.type == "template" ? n.content : n, _(h) ? h : [h], r, i, a, C == "foreignObject" ? "http://www.w3.org/1999/xhtml" : o, s, c, s ? s[0] : i.__k && w(i, 0), l, u), s != null) for (d = s.length; d--;) y(s[d]);
200
- l || (d = "value", C == "progress" && v == null ? n.removeAttribute("value") : v != null && (v !== n[d] || C == "progress" && !v || C == "option" && v != x[d]) && ee(n, d, v, x[d], o), d = "checked", b != null && b != n[d] && ee(n, d, b, x[d], o));
199
+ else if (p && (n.innerHTML = ""), ee(r.type == "template" ? n.content : n, _(h) ? h : [h], r, i, a, C == "foreignObject" ? "http://www.w3.org/1999/xhtml" : o, s, c, s ? s[0] : i.__k && w(i, 0), l, u), s != null) for (d = s.length; d--;) y(s[d]);
200
+ l || (d = "value", C == "progress" && v == null ? n.removeAttribute("value") : v != null && (v !== n[d] || C == "progress" && !v || C == "option" && v != x[d]) && te(n, d, v, x[d], o), d = "checked", b != null && b != n[d] && te(n, d, b, x[d], o));
201
201
  }
202
202
  return n;
203
203
  }
204
- function ae(e, n, r) {
204
+ function oe(e, n, r) {
205
205
  try {
206
206
  if (typeof e == "function") {
207
207
  var i = typeof e.__u == "function";
@@ -211,9 +211,9 @@ function ae(e, n, r) {
211
211
  t.__e(e, r);
212
212
  }
213
213
  }
214
- function oe(e, n, r) {
214
+ function se(e, n, r) {
215
215
  var i, a;
216
- if (t.unmount && t.unmount(e), (i = e.ref) && (i.current && i.current != e.__e || ae(i, null, n)), (i = e.__c) != null) {
216
+ if (t.unmount && t.unmount(e), (i = e.ref) && (i.current && i.current != e.__e || oe(i, null, n)), (i = e.__c) != null) {
217
217
  if (i.componentWillUnmount) try {
218
218
  i.componentWillUnmount();
219
219
  } catch (e) {
@@ -221,15 +221,15 @@ function oe(e, n, r) {
221
221
  }
222
222
  i.base = i.__P = null;
223
223
  }
224
- if (i = e.__k) for (a = 0; a < i.length; a++) i[a] && oe(i[a], n, r || typeof e.type != "function");
224
+ if (i = e.__k) for (a = 0; a < i.length; a++) i[a] && se(i[a], n, r || typeof e.type != "function");
225
225
  r || y(e.__e), e.__c = e.__ = e.__e = void 0;
226
226
  }
227
- function se(e, t, n) {
227
+ function ce(e, t, n) {
228
228
  return this.constructor(e, n);
229
229
  }
230
- function ce(n, r, i) {
230
+ function le(n, r, i) {
231
231
  var a, o, s, c;
232
- r == document && (r = document.documentElement), t.__ && t.__(n, r), o = (a = typeof i == "function") ? null : i && i.__k || r.__k, s = [], c = [], F(r, n = (!a && i || r).__k = b(S, null, [n]), o || m, m, r.namespaceURI, !a && i ? [i] : o ? null : r.firstChild ? e.call(r.childNodes) : null, s, !a && i ? i : o ? o.__e : r.firstChild, a, c), ne(s, n, c);
232
+ r == document && (r = document.documentElement), t.__ && t.__(n, r), o = (a = typeof i == "function") ? null : i && i.__k || r.__k, s = [], c = [], P(r, n = (!a && i || r).__k = b(S, null, [n]), o || m, m, r.namespaceURI, !a && i ? [i] : o ? null : r.firstChild ? e.call(r.childNodes) : null, s, !a && i ? i : o ? o.__e : r.firstChild, a, c), re(s, n, c);
233
233
  }
234
234
  e = h.slice, t = { __e: function(e, t, n, r) {
235
235
  for (var i, a, o; t = t.__;) if ((i = t.__c) && !i.__) try {
@@ -245,24 +245,24 @@ e = h.slice, t = { __e: function(e, t, n, r) {
245
245
  this.__v && (this.__e = !0, e && this.__h.push(e), D(this));
246
246
  }, C.prototype.render = S, r = [], a = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, o = function(e, t) {
247
247
  return e.__v.__b - t.__v.__b;
248
- }, O.__r = 0, s = Math.random().toString(8), c = "__d" + s, l = "__a" + s, u = /(PointerCapture)$|Capture$/i, d = 0, f = P(!1), p = P(!0);
248
+ }, O.__r = 0, s = Math.random().toString(8), c = "__d" + s, l = "__a" + s, u = /(PointerCapture)$|Capture$/i, d = 0, f = N(!1), p = N(!0);
249
249
  //#endregion
250
250
  //#region src/styles.css?inline
251
- var le = ":host{--markup-paper:#fdfcfa;--markup-ink:#1a1614;--markup-muted:#6b6661;--markup-border:#1a16141a;--markup-border-strong:#1a16142e;--markup-brand:#e35d2a;--markup-brand-hover:#c84d20;--markup-team:#2a4ac8;--markup-shadow:0 1px 2px #1a16140f, 0 8px 28px #1a16141f;--markup-overlay-tint:#1a16140a;--markup-danger:#dc2626;--markup-radius:6px;--markup-radius-sm:4px;--markup-font:\"Geist Variable\", \"Geist\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", system-ui, sans-serif;--markup-font-mono:\"Geist Mono Variable\", \"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;all:initial;font-family:var(--markup-font);color:var(--markup-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}:host([data-theme=dark]){--markup-paper:#1a1614;--markup-ink:#fdfcfa;--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}@media (prefers-color-scheme:dark){:host(:not([data-theme=light])){--markup-paper:#1a1614;--markup-ink:#fdfcfa;--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}}.markup-shadow-root{font-family:var(--markup-font)}.markup-shadow-root *,.markup-shadow-root :before,.markup-shadow-root :after{box-sizing:border-box}:where(.markup-shadow-root button,.markup-shadow-root input,.markup-shadow-root textarea){font:inherit;color:inherit}.markup-eyebrow{font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--markup-muted);font-size:10px;font-weight:500}.markup-fab{z-index:10;background:var(--markup-ink);color:var(--markup-paper);cursor:pointer;touch-action:none;letter-spacing:-.01em;pointer-events:auto;box-shadow:0 0 0 1px color-mix(in srgb, var(--markup-brand) 35%, transparent), var(--markup-shadow);border:none;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:500;transition:background .15s,box-shadow .15s,transform .15s;display:inline-flex;position:fixed;bottom:24px}.markup-fab:hover{background:var(--markup-brand);box-shadow:0 0 0 1px color-mix(in srgb, var(--markup-brand) 0%, transparent), var(--markup-shadow)}.markup-fab:active{transform:translateY(1px)}.markup-fab.is-active{background:var(--markup-brand);box-shadow:var(--markup-shadow)}.markup-fab.is-active:hover{background:var(--markup-brand-hover)}.markup-fab .markup-fab-icon{color:var(--markup-brand);transition:color .15s}.markup-fab:hover .markup-fab-icon,.markup-fab.is-active .markup-fab-icon{color:var(--markup-paper)}.markup-fab-right{right:24px}.markup-fab-left{left:24px}.markup-fab.is-floating{inset:0 auto auto 0}.markup-fab.is-dragging{cursor:grabbing;transition:none}.markup-fab-icon{align-items:center;display:inline-flex}.markup-fab-label{font-family:var(--markup-font)}.markup-hud-hidden-toast{z-index:10;background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;animation:.22s ease-out markup-hud-hidden-in,.32s ease-in 4.6s forwards markup-hud-hidden-out;display:inline-flex;position:fixed;bottom:24px}.markup-hud-hidden-toast-right{right:24px}.markup-hud-hidden-toast-left{left:24px}.markup-kbd{background:color-mix(in srgb, var(--markup-paper) 14%, transparent);min-width:18px;height:18px;color:var(--markup-paper);font-family:var(--markup-font);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}@keyframes markup-hud-hidden-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes markup-hud-hidden-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.markup-pins-layer{pointer-events:none;position:fixed;inset:0}.markup-pin{background:var(--markup-ink);width:28px;height:28px;color:var(--markup-brand);cursor:pointer;pointer-events:auto;box-shadow:0 0 0 2px var(--markup-paper), 0 0 0 3px color-mix(in srgb, var(--markup-brand) 35%, transparent), var(--markup-shadow);border:none;border-radius:50% 50% 50% 4px;justify-content:center;align-items:center;margin-top:-28px;padding:0;transition:transform .15s,background .15s,color .15s;display:inline-flex;position:absolute}.markup-pin:hover,.markup-pin.is-active{background:var(--markup-brand);color:var(--markup-paper)}.markup-pin.is-anchor{anchor-name:--markup-active-anchor}.markup-pin-ghost{background:var(--markup-brand);color:var(--markup-paper);cursor:default;pointer-events:none;animation:1.2s ease-in-out infinite markup-ghost-pulse}.markup-pin-dot{background:currentColor;border-radius:50%;width:6px;height:6px;display:inline-block}.markup-pin-count{background:var(--markup-brand);min-width:16px;height:16px;color:var(--markup-paper);font-family:var(--markup-font-mono);text-align:center;box-shadow:0 0 0 2px var(--markup-paper);border-radius:999px;padding:0 4px;font-size:9px;font-weight:600;line-height:16px;position:absolute;top:-4px;left:50%;transform:translate(-50%,-50%)}@keyframes markup-ghost-pulse{0%,to{box-shadow:0 0 0 2px var(--markup-paper), 0 0 0 0 #e35d2a66}50%{box-shadow:0 0 0 2px var(--markup-paper), 0 0 0 10px #e35d2a00}}.markup-placement-overlay{background:var(--markup-overlay-tint);cursor:crosshair;pointer-events:auto;z-index:1;animation:.18s ease-out markup-overlay-in;position:fixed;inset:0}.markup-placement-cursor-help{background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:500;animation:.22s ease-out 60ms backwards markup-help-in;position:fixed;top:24px;left:50%;transform:translate(-50%)}@keyframes markup-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes markup-help-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.markup-popover{width:320px;max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 24px);inset:auto;left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);background:var(--markup-paper);color:var(--markup-ink);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);box-shadow:var(--markup-shadow);pointer-events:auto;flex-direction:column;gap:0;margin:0;padding:0;animation:.16s ease-out markup-popover-in;display:flex;position:fixed;overflow:hidden}@supports (anchor-name:--x){.markup-popover{position-anchor:--markup-active-anchor;left:calc(anchor(right) + 8px);top:calc(anchor(top) - 9px);position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;position-try-order:most-block-size}.markup-popover.is-floating{left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);position-try-fallbacks:none}}@keyframes markup-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.markup-popover-header{border-bottom:1px solid var(--markup-border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.markup-popover.is-dragging .markup-popover-header{cursor:grabbing}.markup-popover-header-actions{align-items:center;gap:4px;display:flex}.markup-thread-menu{display:flex;position:relative}.markup-thread-menu-list{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);min-width:160px;box-shadow:var(--markup-shadow);padding:4px;animation:.12s ease-out markup-menu-in;position:absolute;top:calc(100% + 6px);right:0}.markup-thread-menu-item{border-radius:var(--markup-radius-sm);width:100%;color:var(--markup-ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:13px;transition:background .1s,color .1s;display:block}.markup-thread-menu-item:hover{background:var(--markup-border)}.markup-thread-menu-item.is-danger{color:var(--markup-danger,#dc2626)}.markup-thread-menu-item.is-danger:hover{background:color-mix(in srgb, var(--markup-danger,#dc2626) 10%, transparent)}.markup-thread-menu-item:disabled{opacity:.5;cursor:default}@keyframes markup-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.markup-popover-body{padding:12px}.markup-popover-byline{color:var(--markup-muted);align-items:center;gap:4px;margin:0 0 8px;font-size:12px;display:flex}.markup-popover-name{color:var(--markup-ink);font-weight:500}.markup-icon-btn{border-radius:var(--markup-radius-sm);width:24px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.markup-icon-btn:hover,.markup-icon-btn.is-open{background:var(--markup-border);color:var(--markup-ink)}.markup-comments{border-bottom:1px solid var(--markup-border);background:linear-gradient(var(--markup-paper), transparent) top / 100% 20px no-repeat local, linear-gradient(transparent, var(--markup-paper)) bottom / 100% 20px no-repeat local, radial-gradient(farthest-side at 50% 0%, #1a16141a, transparent) top / 100% 10px no-repeat scroll, radial-gradient(farthest-side at 50% 100%, #1a16141a, transparent) bottom / 100% 10px no-repeat scroll;flex-direction:column;gap:12px;max-height:280px;margin:0;padding:8px 12px 4px;list-style:none;display:flex;overflow-y:auto}.markup-comment{flex-direction:column;gap:4px;display:flex}.markup-comment-meta{align-items:center;gap:6px;font-size:11px;display:flex}.markup-comment-author{color:var(--markup-ink);font-weight:600}.markup-comment.is-team .markup-comment-author{color:var(--markup-team)}.markup-comment-badge{background:color-mix(in srgb, var(--markup-team) 12%, transparent);height:14px;color:var(--markup-team);font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 5px;font-size:9px;font-weight:500;line-height:1;display:inline-flex}.markup-comment-time{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;font-size:10px}.markup-comment-body{white-space:pre-wrap;word-break:break-word;margin:0;font-size:13px;line-height:1.5}.markup-comment-edited{color:var(--markup-muted);font-size:11px}.markup-thread-actions{align-items:center;gap:4px;display:flex}.markup-comment-meta .markup-reaction-picker-wrap,.markup-thread-actions{margin-left:auto}.markup-comment-meta .markup-reaction-add{width:22px;height:22px;margin-top:-4px;margin-bottom:-4px}.markup-reaction-picker-wrap>.markup-icon-btn,.markup-comment-menu>.markup-icon-btn{margin-top:-4px;margin-bottom:-4px}.markup-comment-menu.is-up .markup-thread-menu-list{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}@keyframes markup-menu-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.markup-comment{position:relative}.markup-reactions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.markup-reaction-chip{border:1px solid var(--markup-border);height:22px;color:var(--markup-ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:0 7px 0 6px;font-size:11px;line-height:1;transition:background .12s,border-color .12s;display:inline-flex}.markup-reaction-chip:hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 5%, transparent)}.markup-reaction-chip.is-mine{border-color:color-mix(in srgb, var(--markup-brand) 45%, transparent);background:color-mix(in srgb, var(--markup-brand) 10%, transparent)}.markup-reaction-chip.is-mine:hover:not(:disabled){background:color-mix(in srgb, var(--markup-brand) 16%, transparent)}.markup-reaction-chip:disabled{cursor:default;opacity:.6}.markup-reaction-emoji{font-size:13px;line-height:1}.markup-reaction-count{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);font-size:10px}.markup-reaction-chip.is-mine .markup-reaction-count{color:var(--markup-brand)}.markup-reaction-picker-wrap{opacity:0;flex:none;transition:opacity .12s;display:inline-flex;position:relative}.markup-comment:hover .markup-reaction-picker-wrap,.markup-comment:focus-within .markup-reaction-picker-wrap,.markup-reaction-picker-wrap.is-open{opacity:1}.markup-reaction-add{border:1px dashed var(--markup-border-strong);width:22px;height:22px;color:var(--markup-muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.markup-reaction-add:hover,.markup-reaction-add.is-open{background:color-mix(in srgb, var(--markup-ink) 5%, transparent);color:var(--markup-ink);border-style:solid}.markup-reaction-picker{z-index:1;border:1px solid var(--markup-border-strong);background:var(--markup-paper);border-radius:8px;gap:2px;padding:4px;animation:.12s markup-menu-in;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 1px 2px #1a16140f,0 8px 28px #1a16141a}.markup-reaction-picker-wrap.is-up .markup-reaction-picker{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-reaction-picker-item{cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;transition:background .12s;display:inline-flex}.markup-reaction-picker-item:hover{background:color-mix(in srgb, var(--markup-ink) 8%, transparent)}.markup-reaction-picker-item.is-mine{background:color-mix(in srgb, var(--markup-brand) 14%, transparent)}.markup-comment-edit-form{flex-direction:column;gap:6px;display:flex}.markup-comment-edit-form .markup-textarea{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;color:var(--markup-ink);resize:vertical;font:inherit;outline:none;padding:8px 10px;font-size:13px;line-height:1.5}.markup-comment-edit-form .markup-textarea:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-comment-edit-actions{justify-content:flex-end;gap:6px;display:flex}.markup-composer{flex-direction:column;display:flex;position:relative}.markup-composer-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;min-height:36px;max-height:96px;color:var(--markup-ink);resize:none;font-family:var(--markup-font);outline:none;padding:8px 10px;font-size:13px;line-height:1.5;transition:border-color .12s,box-shadow .12s,border-bottom-left-radius .15s,border-bottom-right-radius .15s}.markup-composer-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-composer-input:disabled{opacity:.6}.markup-composer-input::placeholder{color:var(--markup-muted)}.markup-composer.is-filled .markup-composer-input{border-bottom-right-radius:0;border-bottom-left-radius:0}.markup-composer-footer-wrap{grid-template-rows:0fr;transition:grid-template-rows .15s;display:grid}.markup-composer.is-filled .markup-composer-footer-wrap{grid-template-rows:1fr}.markup-composer-footer{border:1px solid var(--markup-border-strong);border-radius:0 0 var(--markup-radius-sm) var(--markup-radius-sm);opacity:0;border-top:none;justify-content:space-between;align-items:center;gap:8px;padding:2px 2px 2px 10px;transition:opacity .1s;display:flex;overflow:hidden}.markup-composer.is-filled .markup-composer-footer{opacity:1;transition-delay:60ms}.markup-composer-hint{font-family:var(--markup-font-mono);letter-spacing:.06em;color:var(--markup-muted);font-size:10px}.markup-composer-error{color:var(--markup-brand)}.markup-composer-actions{align-items:center;gap:6px;display:flex}.markup-composer-actions-empty{transition:opacity .12s;position:absolute;top:3px;right:3px}.markup-composer.is-filled .markup-composer-actions-empty{opacity:0;pointer-events:none}.markup-author-prompt{flex-direction:column;gap:10px;padding:12px;display:flex}.markup-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;height:36px;color:var(--markup-ink);outline:none;padding:0 10px;font-size:14px;transition:border-color .12s,box-shadow .12s}.markup-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-btn{border-radius:var(--markup-radius-sm);height:30px;color:var(--markup-ink);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.markup-btn:disabled{opacity:.5;cursor:not-allowed}.markup-btn-primary{background:var(--markup-ink);color:var(--markup-paper)}.markup-btn-primary:hover:not(:disabled){background:var(--markup-brand)}.markup-btn-ghost{color:var(--markup-muted)}.markup-btn-ghost:hover:not(:disabled){background:var(--markup-border);color:var(--markup-ink)}.markup-screenshot-row{border-top:1px solid var(--markup-border);margin-top:8px;padding-top:8px}.markup-screenshot-status{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.06em;align-items:center;gap:5px;font-size:10px;display:flex}.markup-screenshot-toggle{cursor:pointer;color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.06em;align-items:center;gap:5px;font-size:10px;transition:color .12s;display:flex}.markup-screenshot-toggle:hover{color:var(--markup-ink)}.markup-screenshot-checkbox{width:12px;height:12px;accent-color:var(--markup-brand);cursor:pointer;margin:0}.markup-screenshot-thumb{border:1px solid var(--markup-border-strong);object-fit:cover;border-radius:3px;flex-shrink:0;width:auto;height:25px;margin:-5px 0 -5px auto;display:block}.markup-comment-screenshot{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);cursor:pointer;background:0 0;margin-top:8px;padding:0;transition:border-color .12s,opacity .12s;display:block;overflow:hidden}.markup-comment-screenshot:hover{border-color:var(--markup-brand);opacity:.9}.markup-comment-screenshot img{object-fit:cover;object-position:top;width:100%;height:auto;max-height:120px;display:block}.markup-lightbox{background:#1a1614e0;border:none;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:24px;position:fixed;inset:0}.markup-lightbox[open]{justify-content:center;align-items:center;display:flex}.markup-lightbox::backdrop{display:none}.markup-lightbox-img{border-radius:var(--markup-radius);object-fit:contain;max-width:100%;max-height:100%;box-shadow:var(--markup-shadow);animation:.16s ease-out markup-lightbox-in}.markup-lightbox-close{color:#fdfcfa;background:#1a161499;position:absolute;top:16px;right:16px}.markup-lightbox-close:hover{color:#fdfcfa;background:#1a1614d9}@keyframes markup-lightbox-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.markup-fab,.markup-pin,.markup-icon-btn,.markup-btn,.markup-popover,.markup-pin-ghost,.markup-placement-overlay,.markup-placement-cursor-help,.markup-lightbox-img{transition:none;animation:none}}", ue, I, de, fe, pe = 0, me = [], L = t, he = L.__b, ge = L.__r, _e = L.diffed, ve = L.__c, ye = L.unmount, be = L.__;
252
- function xe(e, t) {
253
- L.__h && L.__h(I, e, pe || t), pe = 0;
251
+ var ue = ":host{--markup-paper:#fdfcfa;--markup-ink:#1a1614;--markup-muted:#6b6661;--markup-border:#1a16141a;--markup-border-strong:#1a16142e;--markup-brand:#e35d2a;--markup-brand-hover:#c84d20;--markup-team:#2a4ac8;--markup-shadow:0 1px 2px #1a16140f, 0 8px 28px #1a16141f;--markup-overlay-tint:#1a16140a;--markup-danger:#dc2626;--markup-radius:6px;--markup-radius-sm:4px;--markup-font:\"Geist Variable\", \"Geist\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", system-ui, sans-serif;--markup-font-mono:\"Geist Mono Variable\", \"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;all:initial;font-family:var(--markup-font);color:var(--markup-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}:host([data-theme=dark]){--markup-paper:#1a1614;--markup-ink:#fdfcfa;--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}@media (prefers-color-scheme:dark){:host(:not([data-theme=light])){--markup-paper:#1a1614;--markup-ink:#fdfcfa;--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}}.markup-shadow-root{font-family:var(--markup-font)}.markup-shadow-root *,.markup-shadow-root :before,.markup-shadow-root :after{box-sizing:border-box}:where(.markup-shadow-root button,.markup-shadow-root input,.markup-shadow-root textarea){font:inherit;color:inherit}.markup-eyebrow{font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--markup-muted);font-size:10px;font-weight:500}.markup-fab{z-index:10;background:var(--markup-ink);color:var(--markup-paper);cursor:pointer;touch-action:none;letter-spacing:-.01em;pointer-events:auto;box-shadow:0 0 0 1px color-mix(in srgb, var(--markup-brand) 35%, transparent), var(--markup-shadow);border:none;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:500;transition:background .15s,box-shadow .15s,transform .15s;display:inline-flex;position:fixed;bottom:24px}.markup-fab:hover{background:var(--markup-brand);box-shadow:0 0 0 1px color-mix(in srgb, var(--markup-brand) 0%, transparent), var(--markup-shadow)}.markup-fab:active{transform:translateY(1px)}.markup-fab.is-active{background:var(--markup-brand);box-shadow:var(--markup-shadow)}.markup-fab.is-active:hover{background:var(--markup-brand-hover)}.markup-fab .markup-fab-icon{color:var(--markup-brand);transition:color .15s}.markup-fab:hover .markup-fab-icon,.markup-fab.is-active .markup-fab-icon{color:var(--markup-paper)}.markup-fab-right{right:24px}.markup-fab-left{left:24px}.markup-fab.is-floating{inset:0 auto auto 0}.markup-fab.is-dragging{cursor:grabbing;transition:none}.markup-fab-icon{align-items:center;display:inline-flex}.markup-fab-label{font-family:var(--markup-font)}.markup-hud-hidden-toast{z-index:10;background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;animation:.22s ease-out markup-hud-hidden-in,.32s ease-in 4.6s forwards markup-hud-hidden-out;display:inline-flex;position:fixed;bottom:24px}.markup-hud-hidden-toast-right{right:24px}.markup-hud-hidden-toast-left{left:24px}.markup-kbd{background:color-mix(in srgb, var(--markup-paper) 14%, transparent);min-width:18px;height:18px;color:var(--markup-paper);font-family:var(--markup-font);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}@keyframes markup-hud-hidden-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes markup-hud-hidden-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.markup-pins-layer{pointer-events:none;position:fixed;inset:0}.markup-pin{background:var(--markup-ink);width:28px;height:28px;color:var(--markup-brand);cursor:pointer;pointer-events:auto;box-shadow:0 0 0 2px var(--markup-paper), 0 0 0 3px color-mix(in srgb, var(--markup-brand) 35%, transparent), var(--markup-shadow);border:none;border-radius:50% 50% 50% 4px;justify-content:center;align-items:center;margin-top:-28px;padding:0;transition:transform .15s,background .15s,color .15s;display:inline-flex;position:absolute}.markup-pin:hover,.markup-pin.is-active{background:var(--markup-brand);color:var(--markup-paper)}.markup-pin.is-anchor{anchor-name:--markup-active-anchor}.markup-pin-ghost{background:var(--markup-brand);color:var(--markup-paper);cursor:default;pointer-events:none;animation:1.2s ease-in-out infinite markup-ghost-pulse}.markup-pin-dot{background:currentColor;border-radius:50%;width:6px;height:6px;display:inline-block}.markup-pin-count{background:var(--markup-brand);min-width:16px;height:16px;color:var(--markup-paper);font-family:var(--markup-font-mono);text-align:center;box-shadow:0 0 0 2px var(--markup-paper);border-radius:999px;padding:0 4px;font-size:9px;font-weight:600;line-height:16px;position:absolute;top:-4px;left:50%;transform:translate(-50%,-50%)}@keyframes markup-ghost-pulse{0%,to{box-shadow:0 0 0 2px var(--markup-paper), 0 0 0 0 #e35d2a66}50%{box-shadow:0 0 0 2px var(--markup-paper), 0 0 0 10px #e35d2a00}}.markup-placement-overlay{background:var(--markup-overlay-tint);cursor:crosshair;pointer-events:auto;z-index:1;animation:.18s ease-out markup-overlay-in;position:fixed;inset:0}.markup-placement-cursor-help{background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:500;animation:.22s ease-out 60ms backwards markup-help-in;position:fixed;top:24px;left:50%;transform:translate(-50%)}@keyframes markup-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes markup-help-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.markup-popover{width:320px;max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 24px);inset:auto;left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);background:var(--markup-paper);color:var(--markup-ink);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);box-shadow:var(--markup-shadow);pointer-events:auto;flex-direction:column;gap:0;margin:0;padding:0;animation:.16s ease-out markup-popover-in;display:flex;position:fixed;overflow:hidden}@supports (anchor-name:--x){.markup-popover{position-anchor:--markup-active-anchor;left:calc(anchor(right) + 8px);top:calc(anchor(top) - 9px);position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;position-try-order:most-block-size}.markup-popover.is-floating{left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);position-try-fallbacks:none}}@keyframes markup-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.markup-popover-header{border-bottom:1px solid var(--markup-border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.markup-popover.is-dragging .markup-popover-header{cursor:grabbing}.markup-popover-header-actions{align-items:center;gap:4px;display:flex}.markup-thread-menu{display:flex;position:relative}.markup-thread-menu-list{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);min-width:160px;box-shadow:var(--markup-shadow);padding:4px;animation:.12s ease-out markup-menu-in;position:absolute;top:calc(100% + 6px);right:0}.markup-thread-menu-item{border-radius:var(--markup-radius-sm);width:100%;color:var(--markup-ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:13px;transition:background .1s,color .1s;display:block}.markup-thread-menu-item:hover{background:var(--markup-border)}.markup-thread-menu-item.is-danger{color:var(--markup-danger,#dc2626)}.markup-thread-menu-item.is-danger:hover{background:color-mix(in srgb, var(--markup-danger,#dc2626) 10%, transparent)}.markup-thread-menu-item:disabled{opacity:.5;cursor:default}@keyframes markup-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.markup-popover-body{padding:12px}.markup-popover-byline{color:var(--markup-muted);align-items:center;gap:4px;margin:0 0 8px;font-size:12px;display:flex}.markup-popover-name{color:var(--markup-ink);font-weight:500}.markup-icon-btn{border-radius:var(--markup-radius-sm);width:24px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.markup-icon-btn:hover,.markup-icon-btn.is-open{background:var(--markup-border);color:var(--markup-ink)}.markup-comments{border-bottom:1px solid var(--markup-border);background:linear-gradient(var(--markup-paper), transparent) top / 100% 20px no-repeat local, linear-gradient(transparent, var(--markup-paper)) bottom / 100% 20px no-repeat local, radial-gradient(farthest-side at 50% 0%, #1a16141a, transparent) top / 100% 10px no-repeat scroll, radial-gradient(farthest-side at 50% 100%, #1a16141a, transparent) bottom / 100% 10px no-repeat scroll;flex-direction:column;gap:12px;max-height:280px;margin:0;padding:8px 12px 4px;list-style:none;display:flex;overflow-y:auto}.markup-comment{flex-direction:column;gap:4px;display:flex}.markup-comment-meta{align-items:center;gap:6px;font-size:11px;display:flex}.markup-comment-author{color:var(--markup-ink);font-weight:600}.markup-comment.is-team .markup-comment-author{color:var(--markup-team)}.markup-comment-badge{background:color-mix(in srgb, var(--markup-team) 12%, transparent);height:14px;color:var(--markup-team);font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 5px;font-size:9px;font-weight:500;line-height:1;display:inline-flex}.markup-comment-time{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;font-size:10px}.markup-comment-body{white-space:pre-wrap;word-break:break-word;margin:0;font-size:13px;line-height:1.5}.markup-comment-edited{color:var(--markup-muted);font-size:11px}.markup-thread-actions{align-items:center;gap:4px;display:flex}.markup-comment-meta .markup-reaction-picker-wrap,.markup-thread-actions{margin-left:auto}.markup-comment-meta .markup-reaction-add{width:22px;height:22px;margin-top:-4px;margin-bottom:-4px}.markup-reaction-picker-wrap>.markup-icon-btn,.markup-comment-menu>.markup-icon-btn{margin-top:-4px;margin-bottom:-4px}.markup-comment-menu.is-up .markup-thread-menu-list{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}@keyframes markup-menu-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.markup-comment{position:relative}.markup-reactions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;display:flex}.markup-reaction-chip{border:1px solid var(--markup-border);height:22px;color:var(--markup-ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:0 7px 0 6px;font-size:11px;line-height:1;transition:background .12s,border-color .12s;display:inline-flex}.markup-reaction-chip:hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 5%, transparent)}.markup-reaction-chip.is-mine{border-color:color-mix(in srgb, var(--markup-brand) 45%, transparent);background:color-mix(in srgb, var(--markup-brand) 10%, transparent)}.markup-reaction-chip.is-mine:hover:not(:disabled){background:color-mix(in srgb, var(--markup-brand) 16%, transparent)}.markup-reaction-chip:disabled{cursor:default;opacity:.6}.markup-reaction-emoji{font-size:13px;line-height:1}.markup-reaction-count{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);font-size:10px}.markup-reaction-chip.is-mine .markup-reaction-count{color:var(--markup-brand)}.markup-reaction-picker-wrap{opacity:0;flex:none;transition:opacity .12s;display:inline-flex;position:relative}.markup-comment:hover .markup-reaction-picker-wrap,.markup-comment:focus-within .markup-reaction-picker-wrap,.markup-reaction-picker-wrap.is-open{opacity:1}.markup-reaction-add{border:1px dashed var(--markup-border-strong);width:22px;height:22px;color:var(--markup-muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.markup-reaction-add:hover,.markup-reaction-add.is-open{background:color-mix(in srgb, var(--markup-ink) 5%, transparent);color:var(--markup-ink);border-style:solid}.markup-reaction-picker{z-index:1;border:1px solid var(--markup-border-strong);background:var(--markup-paper);border-radius:8px;gap:2px;padding:4px;animation:.12s markup-menu-in;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 1px 2px #1a16140f,0 8px 28px #1a16141a}.markup-reaction-picker-wrap.is-up .markup-reaction-picker{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-reaction-picker-item{cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;transition:background .12s;display:inline-flex}.markup-reaction-picker-item:hover{background:color-mix(in srgb, var(--markup-ink) 8%, transparent)}.markup-reaction-picker-item.is-mine{background:color-mix(in srgb, var(--markup-brand) 14%, transparent)}.markup-comment-edit-form{flex-direction:column;gap:6px;display:flex}.markup-comment-edit-form .markup-textarea{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;color:var(--markup-ink);resize:vertical;font:inherit;outline:none;padding:8px 10px;font-size:13px;line-height:1.5}.markup-comment-edit-form .markup-textarea:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-comment-edit-actions{justify-content:flex-end;gap:6px;display:flex}.markup-composer{flex-direction:column;display:flex;position:relative}.markup-composer-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;min-height:36px;max-height:96px;color:var(--markup-ink);resize:none;font-family:var(--markup-font);outline:none;padding:8px 10px;font-size:13px;line-height:1.5;transition:border-color .12s,box-shadow .12s,border-bottom-left-radius .15s,border-bottom-right-radius .15s}.markup-composer-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-composer-input:disabled{opacity:.6}.markup-composer-input::placeholder{color:var(--markup-muted)}.markup-composer.is-filled .markup-composer-input{border-bottom-right-radius:0;border-bottom-left-radius:0}.markup-composer-footer-wrap{grid-template-rows:0fr;transition:grid-template-rows .15s;display:grid}.markup-composer.is-filled .markup-composer-footer-wrap{grid-template-rows:1fr}.markup-composer-footer{border:1px solid var(--markup-border-strong);border-radius:0 0 var(--markup-radius-sm) var(--markup-radius-sm);opacity:0;border-top:none;justify-content:space-between;align-items:center;gap:8px;padding:2px 2px 2px 10px;transition:opacity .1s;display:flex;overflow:hidden}.markup-composer.is-filled .markup-composer-footer{opacity:1;transition-delay:60ms}.markup-composer-hint{font-family:var(--markup-font-mono);letter-spacing:.06em;color:var(--markup-muted);font-size:10px}.markup-composer-error{color:var(--markup-brand)}.markup-composer-actions{align-items:center;gap:6px;display:flex}.markup-composer-actions-empty{transition:opacity .12s;position:absolute;top:3px;right:3px}.markup-composer.is-filled .markup-composer-actions-empty{opacity:0;pointer-events:none}.markup-author-prompt{flex-direction:column;gap:10px;padding:12px;display:flex}.markup-author-status{color:var(--markup-muted);margin:0;font-size:12px}.markup-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;height:36px;color:var(--markup-ink);outline:none;padding:0 10px;font-size:14px;transition:border-color .12s,box-shadow .12s}.markup-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-btn{border-radius:var(--markup-radius-sm);height:30px;color:var(--markup-ink);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.markup-btn:disabled{opacity:.5;cursor:not-allowed}.markup-btn-primary{background:var(--markup-ink);color:var(--markup-paper)}.markup-btn-primary:hover:not(:disabled){background:var(--markup-brand)}.markup-btn-ghost{color:var(--markup-muted)}.markup-btn-ghost:hover:not(:disabled){background:var(--markup-border);color:var(--markup-ink)}.markup-screenshot-row{border-top:1px solid var(--markup-border);margin-top:8px;padding-top:8px}.markup-screenshot-status{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.06em;align-items:center;gap:5px;font-size:10px;display:flex}.markup-screenshot-toggle{cursor:pointer;color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.06em;align-items:center;gap:5px;font-size:10px;transition:color .12s;display:flex}.markup-screenshot-toggle:hover{color:var(--markup-ink)}.markup-screenshot-checkbox{width:12px;height:12px;accent-color:var(--markup-brand);cursor:pointer;margin:0}.markup-screenshot-thumb{border:1px solid var(--markup-border-strong);object-fit:cover;border-radius:3px;flex-shrink:0;width:auto;height:25px;margin:-5px 0 -5px auto;display:block}.markup-comment-screenshot{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);cursor:pointer;background:0 0;margin-top:8px;padding:0;transition:border-color .12s,opacity .12s;display:block;overflow:hidden}.markup-comment-screenshot:hover{border-color:var(--markup-brand);opacity:.9}.markup-comment-screenshot img{object-fit:cover;object-position:top;width:100%;height:auto;max-height:120px;display:block}.markup-lightbox{background:#1a1614e0;border:none;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:24px;position:fixed;inset:0}.markup-lightbox[open]{justify-content:center;align-items:center;display:flex}.markup-lightbox::backdrop{display:none}.markup-lightbox-img{border-radius:var(--markup-radius);object-fit:contain;max-width:100%;max-height:100%;box-shadow:var(--markup-shadow);animation:.16s ease-out markup-lightbox-in}.markup-lightbox-close{color:#fdfcfa;background:#1a161499;position:absolute;top:16px;right:16px}.markup-lightbox-close:hover{color:#fdfcfa;background:#1a1614d9}@keyframes markup-lightbox-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.markup-fab,.markup-pin,.markup-icon-btn,.markup-btn,.markup-popover,.markup-pin-ghost,.markup-placement-overlay,.markup-placement-cursor-help,.markup-lightbox-img{transition:none;animation:none}}", F, I, L, de, fe = 0, pe = [], R = t, me = R.__b, he = R.__r, ge = R.diffed, _e = R.__c, ve = R.unmount, ye = R.__;
252
+ function be(e, t) {
253
+ R.__h && R.__h(I, e, fe || t), fe = 0;
254
254
  var n = I.__H ||= {
255
255
  __: [],
256
256
  __h: []
257
257
  };
258
258
  return e >= n.__.length && n.__.push({}), n.__[e];
259
259
  }
260
- function R(e) {
261
- return pe = 1, Se(Ae, e);
260
+ function z(e) {
261
+ return fe = 1, xe(ke, e);
262
262
  }
263
- function Se(e, t, n) {
264
- var r = xe(ue++, 2);
265
- if (r.t = e, !r.__c && (r.__ = [n ? n(t) : Ae(void 0, t), function(e) {
263
+ function xe(e, t, n) {
264
+ var r = be(F++, 2);
265
+ if (r.t = e, !r.__c && (r.__ = [n ? n(t) : ke(void 0, t), function(e) {
266
266
  var t = r.__N ? r.__N[0] : r.__[0], n = r.t(t, e);
267
267
  t !== n && (r.__N = [n, r.__[1]], r.__c.setState({}));
268
268
  }], r.__c = I, !I.__f)) {
@@ -294,99 +294,99 @@ function Se(e, t, n) {
294
294
  }
295
295
  return r.__N || r.__;
296
296
  }
297
- function z(e, t) {
298
- var n = xe(ue++, 3);
299
- !L.__s && ke(n.__H, t) && (n.__ = e, n.u = t, I.__H.__h.push(n));
297
+ function B(e, t) {
298
+ var n = be(F++, 3);
299
+ !R.__s && Oe(n.__H, t) && (n.__ = e, n.u = t, I.__H.__h.push(n));
300
300
  }
301
- function B(e) {
302
- return pe = 5, Ce(function() {
301
+ function V(e) {
302
+ return fe = 5, Se(function() {
303
303
  return { current: e };
304
304
  }, []);
305
305
  }
306
- function Ce(e, t) {
307
- var n = xe(ue++, 7);
308
- return ke(n.__H, t) && (n.__ = e(), n.__H = t, n.__h = e), n.__;
306
+ function Se(e, t) {
307
+ var n = be(F++, 7);
308
+ return Oe(n.__H, t) && (n.__ = e(), n.__H = t, n.__h = e), n.__;
309
309
  }
310
- function V(e, t) {
311
- return pe = 8, Ce(function() {
310
+ function H(e, t) {
311
+ return fe = 8, Se(function() {
312
312
  return e;
313
313
  }, t);
314
314
  }
315
- function we() {
316
- for (var e; e = me.shift();) {
315
+ function Ce() {
316
+ for (var e; e = pe.shift();) {
317
317
  var t = e.__H;
318
318
  if (e.__P && t) try {
319
- t.__h.some(De), t.__h.some(Oe), t.__h = [];
319
+ t.__h.some(Ee), t.__h.some(De), t.__h = [];
320
320
  } catch (n) {
321
- t.__h = [], L.__e(n, e.__v);
321
+ t.__h = [], R.__e(n, e.__v);
322
322
  }
323
323
  }
324
324
  }
325
- L.__b = function(e) {
326
- I = null, he && he(e);
327
- }, L.__ = function(e, t) {
328
- e && t.__k && t.__k.__m && (e.__m = t.__k.__m), be && be(e, t);
329
- }, L.__r = function(e) {
330
- ge && ge(e), ue = 0;
325
+ R.__b = function(e) {
326
+ I = null, me && me(e);
327
+ }, R.__ = function(e, t) {
328
+ e && t.__k && t.__k.__m && (e.__m = t.__k.__m), ye && ye(e, t);
329
+ }, R.__r = function(e) {
330
+ he && he(e), F = 0;
331
331
  var t = (I = e.__c).__H;
332
- t && (de === I ? (t.__h = [], I.__h = [], t.__.some(function(e) {
332
+ t && (L === I ? (t.__h = [], I.__h = [], t.__.some(function(e) {
333
333
  e.__N && (e.__ = e.__N), e.u = e.__N = void 0;
334
- })) : (t.__h.some(De), t.__h.some(Oe), t.__h = [], ue = 0)), de = I;
335
- }, L.diffed = function(e) {
336
- _e && _e(e);
334
+ })) : (t.__h.some(Ee), t.__h.some(De), t.__h = [], F = 0)), L = I;
335
+ }, R.diffed = function(e) {
336
+ ge && ge(e);
337
337
  var t = e.__c;
338
- t && t.__H && (t.__H.__h.length && (me.push(t) !== 1 && fe === L.requestAnimationFrame || ((fe = L.requestAnimationFrame) || Ee)(we)), t.__H.__.some(function(e) {
338
+ t && t.__H && (t.__H.__h.length && (pe.push(t) !== 1 && de === R.requestAnimationFrame || ((de = R.requestAnimationFrame) || Te)(Ce)), t.__H.__.some(function(e) {
339
339
  e.u && (e.__H = e.u), e.u = void 0;
340
- })), de = I = null;
341
- }, L.__c = function(e, t) {
340
+ })), L = I = null;
341
+ }, R.__c = function(e, t) {
342
342
  t.some(function(e) {
343
343
  try {
344
- e.__h.some(De), e.__h = e.__h.filter(function(e) {
345
- return !e.__ || Oe(e);
344
+ e.__h.some(Ee), e.__h = e.__h.filter(function(e) {
345
+ return !e.__ || De(e);
346
346
  });
347
347
  } catch (n) {
348
348
  t.some(function(e) {
349
349
  e.__h &&= [];
350
- }), t = [], L.__e(n, e.__v);
350
+ }), t = [], R.__e(n, e.__v);
351
351
  }
352
- }), ve && ve(e, t);
353
- }, L.unmount = function(e) {
354
- ye && ye(e);
352
+ }), _e && _e(e, t);
353
+ }, R.unmount = function(e) {
354
+ ve && ve(e);
355
355
  var t, n = e.__c;
356
356
  n && n.__H && (n.__H.__.some(function(e) {
357
357
  try {
358
- De(e);
358
+ Ee(e);
359
359
  } catch (e) {
360
360
  t = e;
361
361
  }
362
- }), n.__H = void 0, t && L.__e(t, n.__v));
362
+ }), n.__H = void 0, t && R.__e(t, n.__v));
363
363
  };
364
- var Te = typeof requestAnimationFrame == "function";
365
- function Ee(e) {
364
+ var we = typeof requestAnimationFrame == "function";
365
+ function Te(e) {
366
366
  var t, n = function() {
367
- clearTimeout(r), Te && cancelAnimationFrame(t), setTimeout(e);
367
+ clearTimeout(r), we && cancelAnimationFrame(t), setTimeout(e);
368
368
  }, r = setTimeout(n, 35);
369
- Te && (t = requestAnimationFrame(n));
369
+ we && (t = requestAnimationFrame(n));
370
370
  }
371
- function De(e) {
371
+ function Ee(e) {
372
372
  var t = I, n = e.__c;
373
373
  typeof n == "function" && (e.__c = void 0, n()), I = t;
374
374
  }
375
- function Oe(e) {
375
+ function De(e) {
376
376
  var t = I;
377
377
  e.__c = e.__(), I = t;
378
378
  }
379
- function ke(e, t) {
379
+ function Oe(e, t) {
380
380
  return !e || e.length !== t.length || t.some(function(t, n) {
381
381
  return t !== e[n];
382
382
  });
383
383
  }
384
- function Ae(e, t) {
384
+ function ke(e, t) {
385
385
  return typeof t == "function" ? t(e) : t;
386
386
  }
387
- for (var je = "1.37.0", H = [], U = [], Me = Uint8Array, Ne = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Pe = 0, Fe = Ne.length; Pe < Fe; ++Pe) H[Pe] = Ne[Pe], U[Ne.charCodeAt(Pe)] = Pe;
388
- U[45] = 62, U[95] = 63;
389
- function Ie(e) {
387
+ for (var Ae = "1.37.0", U = [], W = [], je = Uint8Array, Me = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", Ne = 0, Pe = Me.length; Ne < Pe; ++Ne) U[Ne] = Me[Ne], W[Me.charCodeAt(Ne)] = Ne;
388
+ W[45] = 62, W[95] = 63;
389
+ function Fe(e) {
390
390
  var t = e.length;
391
391
  if (t % 4 > 0) throw Error("Invalid string. Length must be a multiple of 4");
392
392
  var n = e.indexOf("=");
@@ -394,28 +394,28 @@ function Ie(e) {
394
394
  var r = n === t ? 0 : 4 - n % 4;
395
395
  return [n, r];
396
396
  }
397
- function Le(e, t, n) {
397
+ function Ie(e, t, n) {
398
398
  return (t + n) * 3 / 4 - n;
399
399
  }
400
- function Re(e) {
401
- var t, n = Ie(e), r = n[0], i = n[1], a = new Me(Le(e, r, i)), o = 0, s = i > 0 ? r - 4 : r, c;
402
- for (c = 0; c < s; c += 4) t = U[e.charCodeAt(c)] << 18 | U[e.charCodeAt(c + 1)] << 12 | U[e.charCodeAt(c + 2)] << 6 | U[e.charCodeAt(c + 3)], a[o++] = t >> 16 & 255, a[o++] = t >> 8 & 255, a[o++] = t & 255;
403
- return i === 2 && (t = U[e.charCodeAt(c)] << 2 | U[e.charCodeAt(c + 1)] >> 4, a[o++] = t & 255), i === 1 && (t = U[e.charCodeAt(c)] << 10 | U[e.charCodeAt(c + 1)] << 4 | U[e.charCodeAt(c + 2)] >> 2, a[o++] = t >> 8 & 255, a[o++] = t & 255), a;
400
+ function Le(e) {
401
+ var t, n = Fe(e), r = n[0], i = n[1], a = new je(Ie(e, r, i)), o = 0, s = i > 0 ? r - 4 : r, c;
402
+ for (c = 0; c < s; c += 4) t = W[e.charCodeAt(c)] << 18 | W[e.charCodeAt(c + 1)] << 12 | W[e.charCodeAt(c + 2)] << 6 | W[e.charCodeAt(c + 3)], a[o++] = t >> 16 & 255, a[o++] = t >> 8 & 255, a[o++] = t & 255;
403
+ return i === 2 && (t = W[e.charCodeAt(c)] << 2 | W[e.charCodeAt(c + 1)] >> 4, a[o++] = t & 255), i === 1 && (t = W[e.charCodeAt(c)] << 10 | W[e.charCodeAt(c + 1)] << 4 | W[e.charCodeAt(c + 2)] >> 2, a[o++] = t >> 8 & 255, a[o++] = t & 255), a;
404
404
  }
405
- function ze(e) {
406
- return H[e >> 18 & 63] + H[e >> 12 & 63] + H[e >> 6 & 63] + H[e & 63];
405
+ function Re(e) {
406
+ return U[e >> 18 & 63] + U[e >> 12 & 63] + U[e >> 6 & 63] + U[e & 63];
407
407
  }
408
- function Be(e, t, n) {
409
- for (var r, i = [], a = t; a < n; a += 3) r = (e[a] << 16 & 16711680) + (e[a + 1] << 8 & 65280) + (e[a + 2] & 255), i.push(ze(r));
408
+ function ze(e, t, n) {
409
+ for (var r, i = [], a = t; a < n; a += 3) r = (e[a] << 16 & 16711680) + (e[a + 1] << 8 & 65280) + (e[a + 2] & 255), i.push(Re(r));
410
410
  return i.join("");
411
411
  }
412
- function Ve(e) {
413
- for (var t, n = e.length, r = n % 3, i = [], a = 16383, o = 0, s = n - r; o < s; o += a) i.push(Be(e, o, o + a > s ? s : o + a));
414
- return r === 1 ? (t = e[n - 1], i.push(H[t >> 2] + H[t << 4 & 63] + "==")) : r === 2 && (t = (e[n - 2] << 8) + e[n - 1], i.push(H[t >> 10] + H[t >> 4 & 63] + H[t << 2 & 63] + "=")), i.join("");
412
+ function Be(e) {
413
+ for (var t, n = e.length, r = n % 3, i = [], a = 16383, o = 0, s = n - r; o < s; o += a) i.push(ze(e, o, o + a > s ? s : o + a));
414
+ return r === 1 ? (t = e[n - 1], i.push(U[t >> 2] + U[t << 4 & 63] + "==")) : r === 2 && (t = (e[n - 2] << 8) + e[n - 1], i.push(U[t >> 10] + U[t >> 4 & 63] + U[t << 2 & 63] + "=")), i.join("");
415
415
  }
416
416
  //#endregion
417
417
  //#region ../../node_modules/.pnpm/convex@1.37.0_react@19.2.6/node_modules/convex/dist/esm/common/index.js
418
- function W(e) {
418
+ function Ve(e) {
419
419
  if (e === void 0) return {};
420
420
  if (!Ue(e)) throw Error(`The arguments to a Convex function must be an object. Received: ${e}`);
421
421
  return e;
@@ -447,10 +447,10 @@ function Ze(e) {
447
447
  t.length % 2 == 1 && (t = "0" + t);
448
448
  let n = new Uint8Array(/* @__PURE__ */ new ArrayBuffer(8)), r = 0;
449
449
  for (let i of t.match(/.{2}/g).reverse()) n.set([parseInt(i, 16)], r++), e >>= Je;
450
- return Ve(n);
450
+ return Be(n);
451
451
  }
452
452
  function Qe(e) {
453
- let t = Re(e);
453
+ let t = Le(e);
454
454
  if (t.byteLength !== 8) throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);
455
455
  let n = qe, r = qe;
456
456
  for (let e of t) n += BigInt(e) * Ye ** r, r++;
@@ -459,10 +459,10 @@ function Qe(e) {
459
459
  function $e(e) {
460
460
  if (e < Ge || Ke < e) throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);
461
461
  let t = /* @__PURE__ */ new ArrayBuffer(8);
462
- return new DataView(t).setBigInt64(0, e, !0), Ve(new Uint8Array(t));
462
+ return new DataView(t).setBigInt64(0, e, !0), Be(new Uint8Array(t));
463
463
  }
464
464
  function et(e) {
465
- let t = Re(e);
465
+ let t = Le(e);
466
466
  if (t.byteLength !== 8) throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);
467
467
  return new DataView(t.buffer).getBigInt64(0, !0);
468
468
  }
@@ -484,7 +484,7 @@ function at(e) {
484
484
  let n = t[0][0];
485
485
  if (n === "$bytes") {
486
486
  if (typeof e.$bytes != "string") throw Error(`Malformed $bytes field on ${e}`);
487
- return Re(e.$bytes).buffer;
487
+ return Le(e.$bytes).buffer;
488
488
  }
489
489
  if (n === "$integer") {
490
490
  if (typeof e.$integer != "string") throw Error(`Malformed $integer field on ${e}`);
@@ -492,7 +492,7 @@ function at(e) {
492
492
  }
493
493
  if (n === "$float") {
494
494
  if (typeof e.$float != "string") throw Error(`Malformed $float field on ${e}`);
495
- let t = Re(e.$float);
495
+ let t = Le(e.$float);
496
496
  if (t.byteLength !== 8) throw Error(`Received ${t.byteLength} bytes, expected 8 for $float`);
497
497
  let n = new DataView(t.buffer).getFloat64(0, We);
498
498
  if (!Xe(n)) throw Error(`Float ${n} should be encoded as a number`);
@@ -526,10 +526,10 @@ function ct(e, t, n, r) {
526
526
  }
527
527
  if (typeof e == "number") if (Xe(e)) {
528
528
  let t = /* @__PURE__ */ new ArrayBuffer(8);
529
- return new DataView(t).setFloat64(0, e, We), { $float: Ve(new Uint8Array(t)) };
529
+ return new DataView(t).setFloat64(0, e, We), { $float: Be(new Uint8Array(t)) };
530
530
  } else return e;
531
531
  if (typeof e == "boolean" || typeof e == "string") return e;
532
- if (e instanceof ArrayBuffer) return { $bytes: Ve(new Uint8Array(e)) };
532
+ if (e instanceof ArrayBuffer) return { $bytes: Be(new Uint8Array(e)) };
533
533
  if (Array.isArray(e)) return e.map((e, r) => ct(e, t, n + `[${r}]`, !1));
534
534
  if (e instanceof Set) throw Error(lt(n, "Set", [...e], t));
535
535
  if (e instanceof Map) throw Error(lt(n, "Map", [...e], t));
@@ -1047,7 +1047,7 @@ var Yt = Object.defineProperty, Xt = (e, t, n) => t in e ? Yt(e, t, {
1047
1047
  Zt(this, "queryResults"), Zt(this, "modifiedQueries"), this.queryResults = e, this.modifiedQueries = [];
1048
1048
  }
1049
1049
  getQuery(t, ...n) {
1050
- let r = W(n[0]), i = K(t), a = this.queryResults.get(Mt(i, r));
1050
+ let r = Ve(n[0]), i = K(t), a = this.queryResults.get(Mt(i, r));
1051
1051
  if (a !== void 0) return e.queryValue(a.result);
1052
1052
  }
1053
1053
  getAllQueries(t) {
@@ -1059,7 +1059,7 @@ var Yt = Object.defineProperty, Xt = (e, t, n) => t in e ? Yt(e, t, {
1059
1059
  return n;
1060
1060
  }
1061
1061
  setQuery(e, t, n) {
1062
- let r = W(t), i = K(e), a = Mt(i, r), o;
1062
+ let r = Ve(t), i = K(e), a = Mt(i, r), o;
1063
1063
  o = n === void 0 ? void 0 : {
1064
1064
  success: !0,
1065
1065
  value: n,
@@ -1225,11 +1225,11 @@ var Yt = Object.defineProperty, Xt = (e, t, n) => t in e ? Yt(e, t, {
1225
1225
  //#endregion
1226
1226
  //#region ../../node_modules/.pnpm/convex@1.37.0_react@19.2.6/node_modules/convex/dist/esm/browser/sync/protocol.js
1227
1227
  function mn(e) {
1228
- let t = Re(e);
1228
+ let t = Le(e);
1229
1229
  return rn.fromBytesLE(Array.from(t));
1230
1230
  }
1231
1231
  function hn(e) {
1232
- return Ve(new Uint8Array(e.toBytesLE()));
1232
+ return Be(new Uint8Array(e.toBytesLE()));
1233
1233
  }
1234
1234
  function gn(e) {
1235
1235
  switch (e.type) {
@@ -1868,7 +1868,7 @@ var Gn = Object.defineProperty, Kn = (e, t, n) => t in e ? Gn(e, t, {
1868
1868
  if (s === "http") c = "ws";
1869
1869
  else if (s === "https") c = "wss";
1870
1870
  else throw Error(`Unknown parent protocol ${s}`);
1871
- let l = `${c}://${o}/api/${je}/sync`;
1871
+ let l = `${c}://${o}/api/${Ae}/sync`;
1872
1872
  this.state = new Lt(), this.remoteQuerySet = new pn((e) => this.state.queryPath(e), this.logger), this.requestManager = new Vt(this.logger, this.markConnectionStateDirty);
1873
1873
  let u = () => {
1874
1874
  this.webSocketManager.pause(), this.state.pause();
@@ -2022,7 +2022,7 @@ var Gn = Object.defineProperty, Kn = (e, t, n) => t in e ? Gn(e, t, {
2022
2022
  this.webSocketManager.sendMessage(e);
2023
2023
  }
2024
2024
  subscribe(e, t, n) {
2025
- let r = W(t), { modification: i, queryToken: a, unsubscribe: o } = this.state.subscribe(e, r, n?.journal, n?.componentPath);
2025
+ let r = Ve(t), { modification: i, queryToken: a, unsubscribe: o } = this.state.subscribe(e, r, n?.journal, n?.componentPath);
2026
2026
  return i !== null && this.webSocketManager.sendMessage(i), {
2027
2027
  queryToken: a,
2028
2028
  unsubscribe: () => {
@@ -2032,7 +2032,7 @@ var Gn = Object.defineProperty, Kn = (e, t, n) => t in e ? Gn(e, t, {
2032
2032
  };
2033
2033
  }
2034
2034
  localQueryResult(e, t) {
2035
- let n = Mt(e, W(t));
2035
+ let n = Mt(e, Ve(t));
2036
2036
  return this.optimisticQueryResults.queryResult(n);
2037
2037
  }
2038
2038
  localQueryResultByToken(e) {
@@ -2042,11 +2042,11 @@ var Gn = Object.defineProperty, Kn = (e, t, n) => t in e ? Gn(e, t, {
2042
2042
  return this.optimisticQueryResults.hasQueryResult(e);
2043
2043
  }
2044
2044
  localQueryLogs(e, t) {
2045
- let n = Mt(e, W(t));
2045
+ let n = Mt(e, Ve(t));
2046
2046
  return this.optimisticQueryResults.queryLogs(n);
2047
2047
  }
2048
2048
  queryJournal(e, t) {
2049
- let n = Mt(e, W(t));
2049
+ let n = Mt(e, Ve(t));
2050
2050
  return this.state.queryJournal(n);
2051
2051
  }
2052
2052
  connectionState() {
@@ -2078,7 +2078,7 @@ var Gn = Object.defineProperty, Kn = (e, t, n) => t in e ? Gn(e, t, {
2078
2078
  return i;
2079
2079
  }
2080
2080
  enqueueMutation(e, t, n, r) {
2081
- let i = W(t);
2081
+ let i = Ve(t);
2082
2082
  this.tryReportLongDisconnect();
2083
2083
  let a = this.nextRequestId;
2084
2084
  if (this._nextRequestId++, n !== void 0) {
@@ -2125,7 +2125,7 @@ var Gn = Object.defineProperty, Kn = (e, t, n) => t in e ? Gn(e, t, {
2125
2125
  return n.value;
2126
2126
  }
2127
2127
  async actionInternal(e, t, n) {
2128
- let r = W(t), i = this.nextRequestId;
2128
+ let r = Ve(t), i = this.nextRequestId;
2129
2129
  this._nextRequestId++, this.tryReportLongDisconnect();
2130
2130
  let a = {
2131
2131
  type: "Action",
@@ -2167,7 +2167,7 @@ var Gn = Object.defineProperty, Kn = (e, t, n) => t in e ? Gn(e, t, {
2167
2167
  method: "POST",
2168
2168
  headers: {
2169
2169
  "Content-Type": "application/json",
2170
- "Convex-Client": `npm-${je}`
2170
+ "Convex-Client": `npm-${Ae}`
2171
2171
  },
2172
2172
  body: JSON.stringify({ event: "LongWebsocketDisconnect" })
2173
2173
  }).then((e) => {
@@ -3490,7 +3490,7 @@ function la({ size: e = 16 }) {
3490
3490
  //#endregion
3491
3491
  //#region src/runtime/ui/fab.tsx
3492
3492
  function ua({ active: e, onToggle: t, onHide: n, position: r = "bottom-right", onPositionChange: i }) {
3493
- let a = r === "bottom-left" ? "markup-fab-left" : "markup-fab-right", o = B(null), [s, c] = R(null), [l, u] = R(!1), d = B(!1);
3493
+ let a = r === "bottom-left" ? "markup-fab-left" : "markup-fab-right", o = V(null), [s, c] = z(null), [l, u] = z(!1), d = V(!1);
3494
3494
  function f(e) {
3495
3495
  if (e.stopPropagation(), e.button !== 0) return;
3496
3496
  let t = o.current;
@@ -3570,7 +3570,7 @@ var fa = [
3570
3570
  "[tabindex]:not([tabindex=\"-1\"])"
3571
3571
  ].join(",");
3572
3572
  function pa(e, t) {
3573
- z(() => {
3573
+ B(() => {
3574
3574
  if (!t) return;
3575
3575
  let n = e.current;
3576
3576
  if (!n) return;
@@ -3586,24 +3586,25 @@ function pa(e, t) {
3586
3586
  }
3587
3587
  //#endregion
3588
3588
  //#region src/runtime/ui/author-prompt.tsx
3589
- function ma({ pending: e, onSubmit: t, onCancel: n, onSignIn: r }) {
3590
- let [i, a] = R(""), [o, s] = R(""), c = B(null);
3591
- z(() => {
3592
- c.current?.focus();
3589
+ function ma({ pending: e, connecting: t = !1, onSubmit: n, onCancel: r, onSignIn: i }) {
3590
+ let [a, o] = z(""), [s, c] = z(""), l = V(null);
3591
+ B(() => {
3592
+ l.current?.focus();
3593
3593
  }, []);
3594
- function l(n) {
3595
- n?.preventDefault();
3596
- let r = i.trim();
3597
- !r || e || t(r, o.trim() || void 0);
3594
+ function u(r) {
3595
+ r?.preventDefault();
3596
+ let i = a.trim();
3597
+ !i || e || t || n(i, s.trim() || void 0);
3598
3598
  }
3599
+ let d = e || t;
3599
3600
  return /* @__PURE__ */ $("form", {
3600
3601
  class: "markup-author-prompt",
3601
- onSubmit: l,
3602
+ onSubmit: u,
3602
3603
  children: [
3603
- r ? /* @__PURE__ */ $(S, { children: [/* @__PURE__ */ $("button", {
3604
+ i ? /* @__PURE__ */ $(S, { children: [/* @__PURE__ */ $("button", {
3604
3605
  type: "button",
3605
3606
  class: "markup-btn markup-btn-primary",
3606
- onClick: r,
3607
+ onClick: i,
3607
3608
  disabled: e,
3608
3609
  children: "Sign in with Markup"
3609
3610
  }), /* @__PURE__ */ $("p", {
@@ -3614,16 +3615,16 @@ function ma({ pending: e, onSubmit: t, onCancel: n, onSignIn: r }) {
3614
3615
  children: "who's leaving feedback?"
3615
3616
  }),
3616
3617
  /* @__PURE__ */ $("input", {
3617
- ref: c,
3618
+ ref: l,
3618
3619
  class: "markup-input",
3619
3620
  type: "text",
3620
3621
  name: "name",
3621
3622
  placeholder: "Your name",
3622
- value: i,
3623
+ value: a,
3623
3624
  maxLength: 80,
3624
3625
  autoComplete: "name",
3625
- onInput: (e) => a(e.currentTarget.value),
3626
- disabled: e,
3626
+ onInput: (e) => o(e.currentTarget.value),
3627
+ disabled: d,
3627
3628
  "data-1p-ignore": !0
3628
3629
  }),
3629
3630
  /* @__PURE__ */ $("input", {
@@ -3631,25 +3632,31 @@ function ma({ pending: e, onSubmit: t, onCancel: n, onSignIn: r }) {
3631
3632
  type: "email",
3632
3633
  name: "email",
3633
3634
  placeholder: "Email (optional)",
3634
- value: o,
3635
+ value: s,
3635
3636
  maxLength: 254,
3636
3637
  autoComplete: "email",
3637
- onInput: (e) => s(e.currentTarget.value),
3638
- disabled: e,
3638
+ onInput: (e) => c(e.currentTarget.value),
3639
+ disabled: d,
3639
3640
  "data-1p-ignore": !0
3640
3641
  }),
3642
+ t ? /* @__PURE__ */ $("p", {
3643
+ class: "markup-author-status",
3644
+ role: "status",
3645
+ "aria-live": "polite",
3646
+ children: "Connecting…"
3647
+ }) : null,
3641
3648
  /* @__PURE__ */ $("div", {
3642
3649
  class: "markup-composer-actions",
3643
3650
  children: [/* @__PURE__ */ $("button", {
3644
3651
  type: "button",
3645
3652
  class: "markup-btn markup-btn-ghost",
3646
- onClick: n,
3653
+ onClick: r,
3647
3654
  disabled: e,
3648
3655
  children: "Cancel"
3649
3656
  }), /* @__PURE__ */ $("button", {
3650
3657
  type: "submit",
3651
3658
  class: "markup-btn markup-btn-primary",
3652
- disabled: !i.trim() || e,
3659
+ disabled: !a.trim() || d,
3653
3660
  children: "Continue"
3654
3661
  })]
3655
3662
  })
@@ -3660,13 +3667,13 @@ function ma({ pending: e, onSubmit: t, onCancel: n, onSignIn: r }) {
3660
3667
  //#region src/runtime/ui/composer.tsx
3661
3668
  var ha = 4e3;
3662
3669
  function ga({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "Post", initialFocus: r = !0, pending: i, error: a, onSubmit: o }) {
3663
- let [s, c] = R(""), l = B(null), u = B(!1);
3664
- z(() => {
3670
+ let [s, c] = z(""), l = V(null), u = V(!1);
3671
+ B(() => {
3665
3672
  r && l.current?.focus();
3666
- }, [r]), z(() => {
3673
+ }, [r]), B(() => {
3667
3674
  let e = l.current;
3668
3675
  e && (e.style.height = "auto", e.style.height = `${Math.min(e.scrollHeight, 160)}px`);
3669
- }, [s]), z(() => {
3676
+ }, [s]), B(() => {
3670
3677
  u.current && !i && !a && (c(""), l.current?.focus()), u.current = i;
3671
3678
  }, [i, a]);
3672
3679
  function d(e) {
@@ -3735,29 +3742,29 @@ function ga({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
3735
3742
  }
3736
3743
  //#endregion
3737
3744
  //#region src/runtime/ui/new-thread-popover.tsx
3738
- function _a({ pageX: e, pageY: t, authorName: n, isVerified: r, pending: i, error: a, screenshot: o, screenshotCapturing: s, onAuthor: c, onSignIn: l, onSubmit: u, onClose: d }) {
3739
- let f = B(null);
3740
- pa(f, !0);
3741
- let [p, m] = R(!1), [h, g] = R(null), [_, v] = R(null), [y, b] = R(!1);
3742
- z(() => {
3743
- if (!o) return;
3744
- let e = URL.createObjectURL(o);
3745
- return g(e), () => URL.revokeObjectURL(e);
3746
- }, [o]), z(() => {
3747
- let e = f.current;
3745
+ function _a({ pageX: e, pageY: t, authorName: n, isVerified: r, identityResolving: i, pending: a, error: o, screenshot: s, screenshotCapturing: c, onAuthor: l, onSignIn: u, onSubmit: d, onClose: f }) {
3746
+ let p = V(null);
3747
+ pa(p, !0);
3748
+ let [m, h] = z(!1), [g, _] = z(null), [v, y] = z(null), [b, x] = z(!1);
3749
+ B(() => {
3750
+ if (!s) return;
3751
+ let e = URL.createObjectURL(s);
3752
+ return _(e), () => URL.revokeObjectURL(e);
3753
+ }, [s]), B(() => {
3754
+ let e = p.current;
3748
3755
  if (!e) return;
3749
3756
  if (typeof e.showPopover == "function" && !e.matches(":popover-open")) try {
3750
3757
  e.showPopover();
3751
3758
  } catch {}
3752
3759
  function t(e) {
3753
- e.newState === "closed" && d();
3760
+ e.newState === "closed" && f();
3754
3761
  }
3755
3762
  return e.addEventListener("toggle", t), () => e.removeEventListener("toggle", t);
3756
- }, [d]);
3757
- let x = va(e - window.scrollX + 16, 12, window.innerWidth - 320 - 12), S = va(t - window.scrollY - 16, 12, window.innerHeight - 220), C = o != null, w = s || C;
3758
- function T(e) {
3763
+ }, [f]);
3764
+ let S = va(e - window.scrollX + 16, 12, window.innerWidth - 320 - 12), C = va(t - window.scrollY - 16, 12, window.innerHeight - 220), w = s != null, T = c || w;
3765
+ function E(e) {
3759
3766
  if (e.button !== 0 || e.target?.closest("button, a, input, textarea, select")) return;
3760
- let t = f.current;
3767
+ let t = p.current;
3761
3768
  if (!t) return;
3762
3769
  let n = t.getBoundingClientRect(), r = e.clientX, i = e.clientY, a = n.left, o = n.top, s = n.width, c = n.height, l = e.currentTarget, u = !1;
3763
3770
  try {
@@ -3767,35 +3774,35 @@ function _a({ pageX: e, pageY: t, authorName: n, isVerified: r, pending: i, erro
3767
3774
  let t = e.clientX - r, n = e.clientY - i;
3768
3775
  if (!u) {
3769
3776
  if (Math.abs(t) + Math.abs(n) < 4) return;
3770
- u = !0, b(!0);
3777
+ u = !0, x(!0);
3771
3778
  }
3772
3779
  let l = Math.max(8, window.innerWidth - s - 8), d = Math.max(8, window.innerHeight - c - 8);
3773
- v({
3780
+ y({
3774
3781
  left: va(a + t, 8, l),
3775
3782
  top: va(o + n, 8, d)
3776
3783
  });
3777
3784
  }
3778
- function p(e) {
3785
+ function f(e) {
3779
3786
  try {
3780
3787
  l.releasePointerCapture(e.pointerId);
3781
3788
  } catch {}
3782
- l.removeEventListener("pointermove", d), l.removeEventListener("pointerup", p), l.removeEventListener("pointercancel", p), b(!1);
3789
+ l.removeEventListener("pointermove", d), l.removeEventListener("pointerup", f), l.removeEventListener("pointercancel", f), x(!1);
3783
3790
  }
3784
- l.addEventListener("pointermove", d), l.addEventListener("pointerup", p), l.addEventListener("pointercancel", p);
3791
+ l.addEventListener("pointermove", d), l.addEventListener("pointerup", f), l.addEventListener("pointercancel", f);
3785
3792
  }
3786
3793
  return /* @__PURE__ */ $("div", {
3787
- ref: f,
3788
- class: Q("markup-popover", _ && "is-floating", y && "is-dragging"),
3794
+ ref: p,
3795
+ class: Q("markup-popover", v && "is-floating", b && "is-dragging"),
3789
3796
  popover: "auto",
3790
3797
  style: {
3791
- "--markup-pop-x": `${_?.left ?? x}px`,
3792
- "--markup-pop-y": `${_?.top ?? S}px`
3798
+ "--markup-pop-x": `${v?.left ?? S}px`,
3799
+ "--markup-pop-y": `${v?.top ?? C}px`
3793
3800
  },
3794
3801
  role: "dialog",
3795
3802
  "aria-label": "New markup",
3796
3803
  children: [/* @__PURE__ */ $("header", {
3797
3804
  class: "markup-popover-header",
3798
- onPointerDown: T,
3805
+ onPointerDown: E,
3799
3806
  children: [/* @__PURE__ */ $("span", {
3800
3807
  class: "markup-eyebrow",
3801
3808
  children: "new · markup"
@@ -3803,14 +3810,15 @@ function _a({ pageX: e, pageY: t, authorName: n, isVerified: r, pending: i, erro
3803
3810
  type: "button",
3804
3811
  class: "markup-icon-btn",
3805
3812
  "aria-label": "Discard pin",
3806
- onClick: d,
3813
+ onClick: f,
3807
3814
  children: /* @__PURE__ */ $(ia, { size: 16 })
3808
3815
  })]
3809
3816
  }), n == null ? /* @__PURE__ */ $(ma, {
3810
- pending: i,
3811
- onSubmit: c,
3812
- onCancel: d,
3813
- onSignIn: l
3817
+ pending: a,
3818
+ connecting: i,
3819
+ onSubmit: l,
3820
+ onCancel: f,
3821
+ onSignIn: u
3814
3822
  }) : /* @__PURE__ */ $("div", {
3815
3823
  class: "markup-popover-body",
3816
3824
  children: [
@@ -3832,13 +3840,13 @@ function _a({ pageX: e, pageY: t, authorName: n, isVerified: r, pending: i, erro
3832
3840
  label: "Feedback",
3833
3841
  placeholder: "What's wrong, missing, or worth noting?",
3834
3842
  submitLabel: "Post markup",
3835
- pending: i,
3836
- error: a,
3837
- onSubmit: (e) => u(e, p && C)
3843
+ pending: a,
3844
+ error: o,
3845
+ onSubmit: (e) => d(e, m && w)
3838
3846
  }),
3839
- w ? /* @__PURE__ */ $("div", {
3847
+ T ? /* @__PURE__ */ $("div", {
3840
3848
  class: "markup-screenshot-row",
3841
- children: s ? /* @__PURE__ */ $("span", {
3849
+ children: c ? /* @__PURE__ */ $("span", {
3842
3850
  class: "markup-screenshot-status",
3843
3851
  children: [
3844
3852
  /* @__PURE__ */ $("input", {
@@ -3855,14 +3863,14 @@ function _a({ pageX: e, pageY: t, authorName: n, isVerified: r, pending: i, erro
3855
3863
  /* @__PURE__ */ $("input", {
3856
3864
  type: "checkbox",
3857
3865
  class: "markup-screenshot-checkbox",
3858
- checked: p,
3859
- onChange: (e) => m(e.currentTarget.checked)
3866
+ checked: m,
3867
+ onChange: (e) => h(e.currentTarget.checked)
3860
3868
  }),
3861
3869
  /* @__PURE__ */ $(sa, { size: 12 }),
3862
3870
  /* @__PURE__ */ $("span", { children: "Attach screenshot" }),
3863
- h && p ? /* @__PURE__ */ $("img", {
3871
+ g && m ? /* @__PURE__ */ $("img", {
3864
3872
  class: "markup-screenshot-thumb",
3865
- src: h,
3873
+ src: g,
3866
3874
  alt: "Screenshot preview"
3867
3875
  }) : null
3868
3876
  ]
@@ -3917,7 +3925,7 @@ function ba({ pageX: e, pageY: t }) {
3917
3925
  //#endregion
3918
3926
  //#region src/runtime/ui/placement-overlay.tsx
3919
3927
  function xa({ onPlace: e, onCancel: t }) {
3920
- z(() => {
3928
+ B(() => {
3921
3929
  function e(e) {
3922
3930
  e.key === "Escape" && t();
3923
3931
  }
@@ -3950,24 +3958,24 @@ var Sa = [
3950
3958
  "😄",
3951
3959
  "❓"
3952
3960
  ];
3953
- function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, canDelete: i, pending: a, error: o, onAuthor: s, onSignIn: c, onClose: l, onReply: u, onEditComment: d, onDeleteComment: f, onToggleReaction: p, onResolve: m, onDelete: h }) {
3954
- let g = B(null), _ = B(null), v = B(null), y = B(null), b = B(null), [x, S] = R(!1), [C, w] = R(!1), [T, E] = R(null), [D, O] = R(""), [k, A] = R(null), [j, M] = R("down"), [N, ee] = R(null), [P, F] = R(null), [te, ne] = R("down"), re = B(null), [ie, ae] = R(null), [oe, se] = R(!1);
3955
- pa(g, !0);
3956
- let ce = e.resolvedAt != null, le = Ce(() => e.comments.filter((e) => !e.deleted), [e.comments]);
3957
- function ue(e, t) {
3958
- E(e), O(t);
3959
- }
3960
- function I() {
3961
- E(null), O("");
3962
- }
3963
- z(() => {
3964
- if (!T) return;
3965
- let t = e.comments.find((e) => e._id === T);
3966
- (!t || t.deleted) && I();
3967
- }, [e.comments, T]);
3968
- let de = B(!0);
3969
- z(() => {
3970
- let e = y.current;
3961
+ function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, identityResolving: i, canDelete: a, pending: o, error: s, onAuthor: c, onSignIn: l, onClose: u, onReply: d, onEditComment: f, onDeleteComment: p, onToggleReaction: m, onResolve: h, onDelete: g }) {
3962
+ let _ = V(null), v = V(null), y = V(null), b = V(null), x = V(null), [S, C] = z(!1), [w, T] = z(!1), [E, D] = z(null), [O, ee] = z(""), [k, A] = z(null), [j, M] = z("down"), [te, N] = z(null), [P, ne] = z(null), [re, ie] = z("down"), ae = V(null), [oe, se] = z(null), [ce, le] = z(!1);
3963
+ pa(_, !0);
3964
+ let ue = e.resolvedAt != null, F = Se(() => e.comments.filter((e) => !e.deleted), [e.comments]);
3965
+ function I(e, t) {
3966
+ D(e), ee(t);
3967
+ }
3968
+ function L() {
3969
+ D(null), ee("");
3970
+ }
3971
+ B(() => {
3972
+ if (!E) return;
3973
+ let t = e.comments.find((e) => e._id === E);
3974
+ (!t || t.deleted) && L();
3975
+ }, [e.comments, E]);
3976
+ let de = V(!0);
3977
+ B(() => {
3978
+ let e = b.current;
3971
3979
  if (e) {
3972
3980
  if (de.current) {
3973
3981
  de.current = !1, e.scrollTop = e.scrollHeight;
@@ -3975,44 +3983,44 @@ function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, canDe
3975
3983
  }
3976
3984
  e.scrollHeight - e.scrollTop - e.clientHeight < 80 && (e.scrollTop = e.scrollHeight);
3977
3985
  }
3978
- }, [le.length]), z(() => {
3979
- if (!x) {
3980
- w(!1);
3986
+ }, [F.length]), B(() => {
3987
+ if (!S) {
3988
+ T(!1);
3981
3989
  return;
3982
3990
  }
3983
3991
  function e(e) {
3984
- _.current && !e.composedPath().includes(_.current) && S(!1);
3992
+ v.current && !e.composedPath().includes(v.current) && C(!1);
3985
3993
  }
3986
3994
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
3987
- }, [x]), z(() => {
3995
+ }, [S]), B(() => {
3988
3996
  if (!k) {
3989
- ee(null);
3997
+ N(null);
3990
3998
  return;
3991
3999
  }
3992
4000
  function e(e) {
3993
- v.current && !e.composedPath().includes(v.current) && A(null);
4001
+ y.current && !e.composedPath().includes(y.current) && A(null);
3994
4002
  }
3995
4003
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
3996
- }, [k]), z(() => {
4004
+ }, [k]), B(() => {
3997
4005
  if (!P) return;
3998
4006
  function e(e) {
3999
- re.current && !e.composedPath().includes(re.current) && F(null);
4007
+ ae.current && !e.composedPath().includes(ae.current) && ne(null);
4000
4008
  }
4001
4009
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
4002
- }, [P]), z(() => {
4003
- let e = g.current;
4010
+ }, [P]), B(() => {
4011
+ let e = _.current;
4004
4012
  if (!e) return;
4005
4013
  if (typeof e.showPopover == "function" && !e.matches(":popover-open")) try {
4006
4014
  e.showPopover();
4007
4015
  } catch {}
4008
4016
  function t(e) {
4009
- e.newState === "closed" && l();
4017
+ e.newState === "closed" && u();
4010
4018
  }
4011
4019
  return e.addEventListener("toggle", t), () => e.removeEventListener("toggle", t);
4012
- }, [l]);
4020
+ }, [u]);
4013
4021
  function fe(e) {
4014
4022
  if (e.button !== 0 || e.target?.closest("button, a, input, textarea, select")) return;
4015
- let t = g.current;
4023
+ let t = _.current;
4016
4024
  if (!t) return;
4017
4025
  let n = t.getBoundingClientRect(), r = e.clientX, i = e.clientY, a = n.left, o = n.top, s = n.width, c = n.height, l = e.currentTarget, u = !1;
4018
4026
  try {
@@ -4022,10 +4030,10 @@ function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, canDe
4022
4030
  let t = e.clientX - r, n = e.clientY - i;
4023
4031
  if (!u) {
4024
4032
  if (Math.abs(t) + Math.abs(n) < 4) return;
4025
- u = !0, se(!0);
4033
+ u = !0, le(!0);
4026
4034
  }
4027
4035
  let l = Math.max(8, window.innerWidth - s - 8), d = Math.max(8, window.innerHeight - c - 8);
4028
- ae({
4036
+ se({
4029
4037
  left: Da(a + t, 8, l),
4030
4038
  top: Da(o + n, 8, d)
4031
4039
  });
@@ -4034,11 +4042,11 @@ function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, canDe
4034
4042
  try {
4035
4043
  l.releasePointerCapture(e.pointerId);
4036
4044
  } catch {}
4037
- l.removeEventListener("pointermove", d), l.removeEventListener("pointerup", f), l.removeEventListener("pointercancel", f), se(!1);
4045
+ l.removeEventListener("pointermove", d), l.removeEventListener("pointerup", f), l.removeEventListener("pointercancel", f), le(!1);
4038
4046
  }
4039
4047
  l.addEventListener("pointermove", d), l.addEventListener("pointerup", f), l.addEventListener("pointercancel", f);
4040
4048
  }
4041
- let pe = Ce(() => {
4049
+ let pe = Se(() => {
4042
4050
  let t = Tr({
4043
4051
  anchorX: e.anchorX,
4044
4052
  anchorY: e.anchorY,
@@ -4054,13 +4062,13 @@ function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, canDe
4054
4062
  e.anchorSelector
4055
4063
  ]);
4056
4064
  return /* @__PURE__ */ $("div", {
4057
- ref: g,
4065
+ ref: _,
4058
4066
  id: "markup-thread-popover",
4059
- class: Q("markup-popover", ie && "is-floating", oe && "is-dragging"),
4067
+ class: Q("markup-popover", oe && "is-floating", ce && "is-dragging"),
4060
4068
  popover: "auto",
4061
4069
  style: {
4062
- "--markup-pop-x": `${ie?.left ?? pe.left}px`,
4063
- "--markup-pop-y": `${ie?.top ?? pe.top}px`
4070
+ "--markup-pop-x": `${oe?.left ?? pe.left}px`,
4071
+ "--markup-pop-y": `${oe?.top ?? pe.top}px`
4064
4072
  },
4065
4073
  role: "dialog",
4066
4074
  "aria-label": "Markup thread",
@@ -4072,40 +4080,40 @@ function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, canDe
4072
4080
  class: "markup-eyebrow",
4073
4081
  children: [
4074
4082
  "thread · ",
4075
- le.length,
4083
+ F.length,
4076
4084
  " ",
4077
- le.length === 1 ? "comment" : "comments"
4085
+ F.length === 1 ? "comment" : "comments"
4078
4086
  ]
4079
4087
  }), /* @__PURE__ */ $("div", {
4080
4088
  class: "markup-popover-header-actions",
4081
4089
  children: [
4082
4090
  /* @__PURE__ */ $("div", {
4083
4091
  class: "markup-thread-menu",
4084
- ref: _,
4092
+ ref: v,
4085
4093
  children: [/* @__PURE__ */ $("button", {
4086
4094
  type: "button",
4087
- class: Q("markup-icon-btn", x && "is-open"),
4095
+ class: Q("markup-icon-btn", S && "is-open"),
4088
4096
  title: "More options",
4089
- onClick: () => S((e) => !e),
4097
+ onClick: () => C((e) => !e),
4090
4098
  children: /* @__PURE__ */ $(aa, { size: 16 })
4091
- }), x ? /* @__PURE__ */ $("div", {
4099
+ }), S ? /* @__PURE__ */ $("div", {
4092
4100
  class: "markup-thread-menu-list",
4093
4101
  children: [/* @__PURE__ */ $("button", {
4094
4102
  type: "button",
4095
4103
  class: "markup-thread-menu-item",
4096
4104
  onClick: () => {
4097
4105
  let t = new URL(e.url);
4098
- t.hash = `markup-thread=${e._id}`, navigator.clipboard.writeText(t.toString()).catch(() => {}), S(!1);
4106
+ t.hash = `markup-thread=${e._id}`, navigator.clipboard.writeText(t.toString()).catch(() => {}), C(!1);
4099
4107
  },
4100
4108
  children: "Copy link"
4101
- }), i ? /* @__PURE__ */ $("button", {
4109
+ }), a ? /* @__PURE__ */ $("button", {
4102
4110
  type: "button",
4103
- class: Q("markup-thread-menu-item", C && "is-danger"),
4104
- disabled: a,
4111
+ class: Q("markup-thread-menu-item", w && "is-danger"),
4112
+ disabled: o,
4105
4113
  onClick: () => {
4106
- C ? (S(!1), h()) : w(!0);
4114
+ w ? (C(!1), g()) : T(!0);
4107
4115
  },
4108
- children: C ? "Confirm delete" : "Delete thread…"
4116
+ children: w ? "Confirm delete" : "Delete thread…"
4109
4117
  }) : null]
4110
4118
  }) : null]
4111
4119
  }),
@@ -4113,25 +4121,25 @@ function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, canDe
4113
4121
  type: "button",
4114
4122
  class: "markup-icon-btn",
4115
4123
  title: "Mark as resolved",
4116
- disabled: a,
4117
- onClick: m,
4124
+ disabled: o,
4125
+ onClick: h,
4118
4126
  children: /* @__PURE__ */ $(oa, { size: 16 })
4119
4127
  }) : null,
4120
4128
  /* @__PURE__ */ $("button", {
4121
4129
  type: "button",
4122
4130
  class: "markup-icon-btn",
4123
4131
  title: "Close thread",
4124
- onClick: l,
4132
+ onClick: u,
4125
4133
  children: /* @__PURE__ */ $(ia, { size: 16 })
4126
4134
  })
4127
4135
  ]
4128
4136
  })]
4129
4137
  }),
4130
4138
  /* @__PURE__ */ $("ol", {
4131
- ref: y,
4139
+ ref: b,
4132
4140
  class: "markup-comments",
4133
- children: le.map((t, r) => {
4134
- let i = !t.fromDashboard && n != null && t.authorClientId === n, o = r === 0, s = i && !ce && !t.deleted, c = i && !ce && !t.deleted && !o, l = T === t._id, u = (s || c) && !l && !t.deleted, m = k === t._id, h = N === t._id;
4141
+ children: F.map((t, r) => {
4142
+ let i = !t.fromDashboard && n != null && t.authorClientId === n, a = r === 0, s = i && !ue && !t.deleted, c = i && !ue && !t.deleted && !a, l = E === t._id, u = (s || c) && !l && !t.deleted, d = k === t._id, h = te === t._id;
4135
4143
  return /* @__PURE__ */ $("li", {
4136
4144
  class: Q("markup-comment", t.fromDashboard && "is-team"),
4137
4145
  children: [
@@ -4154,56 +4162,56 @@ function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, canDe
4154
4162
  }),
4155
4163
  /* @__PURE__ */ $("div", {
4156
4164
  class: "markup-thread-actions",
4157
- children: [!ce && !l ? /* @__PURE__ */ $(wa, {
4165
+ children: [!ue && !l ? /* @__PURE__ */ $(wa, {
4158
4166
  comment: t,
4159
4167
  pickerOpen: P === t._id,
4160
- pickerDirection: te,
4168
+ pickerDirection: re,
4161
4169
  pickerRef: (e) => {
4162
- P === t._id && (re.current = e);
4170
+ P === t._id && (ae.current = e);
4163
4171
  },
4164
4172
  onPickerClick: (e) => {
4165
4173
  if (P === t._id) {
4166
- F(null);
4174
+ ne(null);
4167
4175
  return;
4168
4176
  }
4169
- let n = e.currentTarget.getBoundingClientRect(), r = y.current?.getBoundingClientRect();
4170
- ne((r ? r.bottom - n.bottom : Infinity) < 44 ? "up" : "down"), F(t._id);
4177
+ let n = e.currentTarget.getBoundingClientRect(), r = b.current?.getBoundingClientRect();
4178
+ ie((r ? r.bottom - n.bottom : Infinity) < 44 ? "up" : "down"), ne(t._id);
4171
4179
  },
4172
4180
  onPickerSelect: (e) => {
4173
- F(null), p(t._id, e);
4181
+ ne(null), m(t._id, e);
4174
4182
  }
4175
4183
  }) : null, u ? /* @__PURE__ */ $("div", {
4176
- class: Q("markup-thread-menu markup-comment-menu", m && "is-open", m && j === "up" && "is-up"),
4184
+ class: Q("markup-thread-menu markup-comment-menu", d && "is-open", d && j === "up" && "is-up"),
4177
4185
  ref: (e) => {
4178
- m && (v.current = e);
4186
+ d && (y.current = e);
4179
4187
  },
4180
4188
  children: [/* @__PURE__ */ $("button", {
4181
4189
  type: "button",
4182
- class: Q("markup-icon-btn", m && "is-open"),
4190
+ class: Q("markup-icon-btn", d && "is-open"),
4183
4191
  title: "More options",
4184
4192
  onClick: (e) => {
4185
4193
  if (k === t._id) {
4186
4194
  A(null);
4187
4195
  return;
4188
4196
  }
4189
- let n = e.currentTarget.getBoundingClientRect(), r = y.current?.getBoundingClientRect(), i = (+!!s + +!!c) * 32 + 8 + 6;
4197
+ let n = e.currentTarget.getBoundingClientRect(), r = b.current?.getBoundingClientRect(), i = (+!!s + +!!c) * 32 + 8 + 6;
4190
4198
  M((r ? r.bottom - n.bottom : Infinity) < i ? "up" : "down"), A(t._id);
4191
4199
  },
4192
4200
  children: /* @__PURE__ */ $(aa, { size: 16 })
4193
- }), m ? /* @__PURE__ */ $("div", {
4201
+ }), d ? /* @__PURE__ */ $("div", {
4194
4202
  class: "markup-thread-menu-list",
4195
4203
  children: [s ? /* @__PURE__ */ $("button", {
4196
4204
  type: "button",
4197
4205
  class: "markup-thread-menu-item",
4198
4206
  onClick: () => {
4199
- A(null), ue(t._id, t.body);
4207
+ A(null), I(t._id, t.body);
4200
4208
  },
4201
4209
  children: "Edit"
4202
4210
  }) : null, c ? /* @__PURE__ */ $("button", {
4203
4211
  type: "button",
4204
4212
  class: Q("markup-thread-menu-item", h && "is-danger"),
4205
4213
  onClick: () => {
4206
- h ? (A(null), f(t._id)) : ee(t._id);
4214
+ h ? (A(null), p(t._id)) : N(t._id);
4207
4215
  },
4208
4216
  children: h ? "Confirm delete" : "Delete…"
4209
4217
  }) : null]
@@ -4216,34 +4224,34 @@ function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, canDe
4216
4224
  class: "markup-comment-edit-form",
4217
4225
  onSubmit: async (e) => {
4218
4226
  e.preventDefault();
4219
- let n = D.trim();
4227
+ let n = O.trim();
4220
4228
  if (!n || n === t.body) {
4221
- I();
4229
+ L();
4222
4230
  return;
4223
4231
  }
4224
4232
  try {
4225
- await d(t._id, n), I();
4233
+ await f(t._id, n), L();
4226
4234
  } catch {}
4227
4235
  },
4228
4236
  children: [/* @__PURE__ */ $("textarea", {
4229
4237
  class: "markup-textarea",
4230
- value: D,
4231
- onInput: (e) => O(e.currentTarget.value),
4238
+ value: O,
4239
+ onInput: (e) => ee(e.currentTarget.value),
4232
4240
  rows: 3,
4233
4241
  autoFocus: !0,
4234
- disabled: a
4242
+ disabled: o
4235
4243
  }), /* @__PURE__ */ $("div", {
4236
4244
  class: "markup-comment-edit-actions",
4237
4245
  children: [/* @__PURE__ */ $("button", {
4238
4246
  type: "button",
4239
4247
  class: "markup-btn markup-btn-ghost",
4240
- onClick: I,
4241
- disabled: a,
4248
+ onClick: L,
4249
+ disabled: o,
4242
4250
  children: "Cancel"
4243
4251
  }), /* @__PURE__ */ $("button", {
4244
4252
  type: "submit",
4245
4253
  class: "markup-btn markup-btn-primary",
4246
- disabled: a || D.trim().length === 0,
4254
+ disabled: o || O.trim().length === 0,
4247
4255
  children: "Save"
4248
4256
  })]
4249
4257
  })]
@@ -4258,13 +4266,13 @@ function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, canDe
4258
4266
  }),
4259
4267
  !l && t.reactions.length > 0 ? /* @__PURE__ */ $(Ta, {
4260
4268
  comment: t,
4261
- isResolved: ce,
4262
- onToggle: (e) => p(t._id, e)
4269
+ isResolved: ue,
4270
+ onToggle: (e) => m(t._id, e)
4263
4271
  }) : null,
4264
4272
  r === 0 && e.screenshotUrl ? /* @__PURE__ */ $("button", {
4265
4273
  type: "button",
4266
4274
  class: "markup-comment-screenshot",
4267
- onClick: () => b.current?.showModal(),
4275
+ onClick: () => x.current?.showModal(),
4268
4276
  children: /* @__PURE__ */ $("img", {
4269
4277
  src: e.screenshotUrl,
4270
4278
  alt: "Screenshot"
@@ -4275,15 +4283,15 @@ function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, canDe
4275
4283
  })
4276
4284
  }),
4277
4285
  e.screenshotUrl ? /* @__PURE__ */ $("dialog", {
4278
- ref: b,
4286
+ ref: x,
4279
4287
  class: "markup-lightbox",
4280
- onClick: () => b.current?.close(),
4288
+ onClick: () => x.current?.close(),
4281
4289
  children: [/* @__PURE__ */ $("button", {
4282
4290
  type: "button",
4283
4291
  class: "markup-lightbox-close markup-icon-btn",
4284
4292
  "aria-label": "Close screenshot",
4285
4293
  onClick: (e) => {
4286
- e.stopPropagation(), b.current?.close();
4294
+ e.stopPropagation(), x.current?.close();
4287
4295
  },
4288
4296
  children: /* @__PURE__ */ $(ia, { size: 16 })
4289
4297
  }), /* @__PURE__ */ $("img", {
@@ -4294,10 +4302,11 @@ function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, canDe
4294
4302
  })]
4295
4303
  }) : null,
4296
4304
  t == null ? /* @__PURE__ */ $(ma, {
4297
- pending: a,
4298
- onSubmit: s,
4299
- onCancel: l,
4300
- onSignIn: c
4305
+ pending: o,
4306
+ connecting: i,
4307
+ onSubmit: c,
4308
+ onCancel: u,
4309
+ onSignIn: l
4301
4310
  }) : /* @__PURE__ */ $("div", {
4302
4311
  class: "markup-popover-body",
4303
4312
  children: [/* @__PURE__ */ $("p", {
@@ -4318,9 +4327,9 @@ function Ca({ thread: e, authorName: t, currentClientId: n, isVerified: r, canDe
4318
4327
  placeholder: "Write a reply…",
4319
4328
  submitLabel: "Reply",
4320
4329
  initialFocus: !1,
4321
- pending: a,
4322
- error: o,
4323
- onSubmit: u
4330
+ pending: o,
4331
+ error: s,
4332
+ onSubmit: d
4324
4333
  })]
4325
4334
  })
4326
4335
  ]
@@ -4421,9 +4430,9 @@ function Aa(e) {
4421
4430
  };
4422
4431
  }
4423
4432
  function ja({ apiUrl: e, apiKey: t, position: n = "bottom-right" }) {
4424
- let [r, i] = R(() => window.location.pathname), [a, o] = R([]), [s, c] = R(null), [l, u] = R(n), d = B(null);
4433
+ let [r, i] = z(() => window.location.pathname), [a, o] = z([]), [s, c] = z(null), [l, u] = z(n), d = V(null);
4425
4434
  d.current = s;
4426
- let f = Ce(() => Or({
4435
+ let [f, p] = z(0), m = Se(() => Or({
4427
4436
  apiUrl: e,
4428
4437
  apiKey: t,
4429
4438
  getToken: () => {
@@ -4439,17 +4448,16 @@ function ja({ apiUrl: e, apiKey: t, position: n = "bottom-right" }) {
4439
4448
  },
4440
4449
  onUnauthorized: () => {
4441
4450
  let e = d.current;
4442
- if (!e) return;
4451
+ if (!e || !e.token) return;
4443
4452
  let t = {
4444
4453
  clientId: e.clientId,
4445
4454
  name: e.name,
4446
- email: e.email,
4447
- anonToken: e.anonToken
4455
+ email: e.email
4448
4456
  };
4449
- d.current = t, c(t), Mr(t);
4457
+ d.current = t, c(t), Mr(t), p((e) => e + 1);
4450
4458
  }
4451
- }), [e, t]), [p, m] = R({ kind: "idle" }), [h, g] = R(!1), [_, v] = R(null), [y, b] = R(!1), [x, S] = R(!1), [, C] = R(0), w = B(null), T = s?.name ?? null, E = s?.isVerified ?? !1;
4452
- z(() => {
4459
+ }), [e, t]), [h, g] = z({ kind: "idle" }), [_, v] = z(!1), [y, b] = z(null), [x, S] = z(!1), [C, w] = z(!1), [, T] = z(0), E = V(null), D = s?.name ?? null, O = s?.isVerified ?? !1, ee = s == null;
4460
+ B(() => {
4453
4461
  let e = jr();
4454
4462
  if (e?.anonToken || e?.isVerified) {
4455
4463
  c(e);
@@ -4457,12 +4465,13 @@ function ja({ apiUrl: e, apiKey: t, position: n = "bottom-right" }) {
4457
4465
  }
4458
4466
  let t = !1, n = null, r = 1e3;
4459
4467
  function i() {
4460
- f.mintAnonIdentity().then(({ clientId: n, token: r }) => {
4468
+ m.mintAnonIdentity().then(({ clientId: n, token: r }) => {
4461
4469
  if (t) return;
4462
4470
  let i = {
4463
- ...e ?? {},
4464
4471
  clientId: n,
4465
- anonToken: r
4472
+ anonToken: r,
4473
+ name: e?.name,
4474
+ email: e?.email
4466
4475
  };
4467
4476
  Mr(i), c(i);
4468
4477
  }).catch(() => {
@@ -4472,15 +4481,15 @@ function ja({ apiUrl: e, apiKey: t, position: n = "bottom-right" }) {
4472
4481
  return i(), () => {
4473
4482
  t = !0, n && clearTimeout(n);
4474
4483
  };
4475
- }, [f]);
4476
- let [D, O] = R(null);
4477
- z(() => {
4484
+ }, [m, f]);
4485
+ let [k, A] = z(null);
4486
+ B(() => {
4478
4487
  let e = !1, t = null;
4479
4488
  async function n() {
4480
4489
  try {
4481
- let r = await f.getSubscriptionToken();
4490
+ let r = await m.getSubscriptionToken();
4482
4491
  if (e) return;
4483
- O(r.token);
4492
+ A(r.token);
4484
4493
  let i = Math.max(6e4, r.expiresAt - Date.now() - 30 * 6e4);
4485
4494
  t = setTimeout(n, i);
4486
4495
  } catch {
@@ -4491,41 +4500,41 @@ function ja({ apiUrl: e, apiKey: t, position: n = "bottom-right" }) {
4491
4500
  return n(), () => {
4492
4501
  e = !0, t && clearTimeout(t);
4493
4502
  };
4494
- }, [f]);
4495
- let k = B(null);
4496
- z(() => {
4503
+ }, [m]);
4504
+ let j = V(null);
4505
+ B(() => {
4497
4506
  let t = new rr(e.replace(/\.convex\.site(\/.*)?$/, ".convex.cloud"));
4498
- return k.current = t, () => {
4499
- t.close(), k.current = null;
4507
+ return j.current = t, () => {
4508
+ t.close(), j.current = null;
4500
4509
  };
4501
4510
  }, [e]);
4502
- let A = B(!1);
4503
- z(() => {
4504
- let e = k.current;
4505
- if (!(!e || !D)) return A.current = !1, v(null), e.onUpdate(qt("widget/queries:subscribeThreadsForRoute"), {
4506
- subscriptionToken: D,
4511
+ let M = V(!1);
4512
+ B(() => {
4513
+ let e = j.current;
4514
+ if (!(!e || !k)) return M.current = !1, b(null), e.onUpdate(qt("widget/queries:subscribeThreadsForRoute"), {
4515
+ subscriptionToken: k,
4507
4516
  route: r,
4508
4517
  viewerClientId: s?.clientId ?? void 0
4509
4518
  }, (e) => {
4510
4519
  e !== void 0 && o(e);
4511
4520
  });
4512
4521
  }, [
4513
- D,
4522
+ k,
4514
4523
  r,
4515
4524
  s?.clientId
4516
- ]), z(() => {
4517
- if (A.current) return;
4525
+ ]), B(() => {
4526
+ if (M.current) return;
4518
4527
  let e = window.location.hash.match(/^#markup-thread=(.+)$/);
4519
4528
  if (!e) {
4520
- A.current = !0;
4529
+ M.current = !0;
4521
4530
  return;
4522
4531
  }
4523
4532
  let t = decodeURIComponent(e[1] ?? "");
4524
- a.find((e) => e._id === t) && (A.current = !0, m({
4533
+ a.find((e) => e._id === t) && (M.current = !0, g({
4525
4534
  kind: "thread",
4526
4535
  threadId: t
4527
4536
  }), history.replaceState(null, "", window.location.pathname + window.location.search));
4528
- }, [a]), z(() => {
4537
+ }, [a]), B(() => {
4529
4538
  function e() {
4530
4539
  i(window.location.pathname);
4531
4540
  }
@@ -4538,22 +4547,22 @@ function ja({ apiUrl: e, apiKey: t, position: n = "bottom-right" }) {
4538
4547
  }, () => {
4539
4548
  window.removeEventListener("popstate", e), history.pushState = t, history.replaceState = n;
4540
4549
  };
4541
- }, []), z(() => {
4550
+ }, []), B(() => {
4542
4551
  function e(e) {
4543
- e.key === "." && (e.metaKey || e.ctrlKey) && (e.altKey || e.shiftKey || (e.preventDefault(), b((e) => !e)));
4552
+ e.key === "." && (e.metaKey || e.ctrlKey) && (e.altKey || e.shiftKey || (e.preventDefault(), S((e) => !e)));
4544
4553
  }
4545
4554
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
4546
- }, []), z(() => {
4547
- if (!x) return;
4548
- if (!y) {
4549
- S(!1);
4555
+ }, []), B(() => {
4556
+ if (!C) return;
4557
+ if (!x) {
4558
+ w(!1);
4550
4559
  return;
4551
4560
  }
4552
- let e = window.setTimeout(() => S(!1), 5e3);
4561
+ let e = window.setTimeout(() => w(!1), 5e3);
4553
4562
  return () => window.clearTimeout(e);
4554
- }, [x, y]), z(() => {
4563
+ }, [C, x]), B(() => {
4555
4564
  function e() {
4556
- C((e) => e + 1);
4565
+ T((e) => e + 1);
4557
4566
  }
4558
4567
  window.addEventListener("scroll", e, { passive: !0 }), window.addEventListener("resize", e);
4559
4568
  let t = new ResizeObserver(e);
@@ -4561,29 +4570,31 @@ function ja({ apiUrl: e, apiKey: t, position: n = "bottom-right" }) {
4561
4570
  window.removeEventListener("scroll", e), window.removeEventListener("resize", e), t.disconnect();
4562
4571
  };
4563
4572
  }, []);
4564
- let j = V(() => {
4565
- v(null), m({ kind: "placing" });
4566
- }, []), M = V(() => {
4567
- m({ kind: "idle" }), v(null);
4568
- }, []), N = V((e, t, n) => {
4569
- m({
4573
+ let te = H(() => {
4574
+ b(null), g({ kind: "placing" });
4575
+ }, []), N = H(() => {
4576
+ g({ kind: "idle" }), b(null);
4577
+ }, []), P = V(0), ne = H((e, t, n) => {
4578
+ let r = t + window.scrollX, i = n + window.scrollY, a = ++P.current;
4579
+ g({
4570
4580
  kind: "composing-new",
4571
4581
  coords: e,
4572
- pageX: t + window.scrollX,
4573
- pageY: n + window.scrollY,
4582
+ pageX: r,
4583
+ pageY: i,
4574
4584
  screenshot: null,
4575
- screenshotCapturing: !0
4576
- }), $i(w.current != null && w.current.getRootNode() instanceof ShadowRoot ? w.current.getRootNode().host : null, {
4585
+ screenshotCapturing: !0,
4586
+ captureToken: a
4587
+ }), $i(E.current != null && E.current.getRootNode() instanceof ShadowRoot ? E.current.getRootNode().host : null, {
4577
4588
  x: t,
4578
4589
  y: n
4579
4590
  }).then((e) => {
4580
- m((t) => t.kind === "composing-new" ? {
4591
+ g((t) => t.kind !== "composing-new" || t.captureToken !== a ? t : {
4581
4592
  ...t,
4582
4593
  screenshot: e,
4583
4594
  screenshotCapturing: !1
4584
- } : t);
4595
+ });
4585
4596
  });
4586
- }, []), ee = V((e, t) => {
4597
+ }, []), re = H((e, t) => {
4587
4598
  if (!s) return;
4588
4599
  let n = {
4589
4600
  ...s,
@@ -4591,165 +4602,171 @@ function ja({ apiUrl: e, apiKey: t, position: n = "bottom-right" }) {
4591
4602
  email: t
4592
4603
  };
4593
4604
  Mr(n), c(n);
4594
- }, [s]), P = V(async () => {
4595
- v(null);
4605
+ }, [s]), ie = H(async () => {
4606
+ b(null);
4596
4607
  try {
4597
4608
  let n = Aa(await Nr(e, t));
4598
4609
  Mr(n), c(n);
4599
4610
  } catch (e) {
4600
- v(e instanceof Error ? e.message : "Sign-in failed");
4611
+ b(e instanceof Error ? e.message : "Sign-in failed");
4601
4612
  }
4602
- }, [e, t]), F = V(async (e, t) => {
4603
- if (!(p.kind !== "composing-new" || !s?.name)) {
4604
- g(!0), v(null);
4613
+ }, [e, t]), ae = H(async (e, t) => {
4614
+ if (!(h.kind !== "composing-new" || !s?.name)) {
4615
+ v(!0), b(null);
4605
4616
  try {
4606
4617
  let n;
4607
- if (t && p.screenshot) {
4608
- let { uploadUrl: e } = await f.getScreenshotUploadUrl(), t = await fetch(e, {
4618
+ if (t && h.screenshot) {
4619
+ let { uploadUrl: e } = await m.getScreenshotUploadUrl(), t = await fetch(e, {
4609
4620
  method: "POST",
4610
- headers: { "Content-Type": p.screenshot.type || "image/png" },
4611
- body: p.screenshot
4621
+ headers: { "Content-Type": h.screenshot.type || "image/png" },
4622
+ body: h.screenshot
4612
4623
  });
4613
4624
  if (t.ok) {
4614
4625
  let { storageId: e } = await t.json();
4615
4626
  n = e;
4616
4627
  }
4617
4628
  }
4618
- let i = await f.createThread({
4629
+ let i = await m.createThread({
4619
4630
  url: window.location.href,
4620
4631
  route: r,
4621
- anchorSelector: p.coords.anchorSelector,
4622
- anchorX: p.coords.anchorX,
4623
- anchorY: p.coords.anchorY,
4624
- anchorOffsetX: p.coords.anchorOffsetX,
4625
- anchorOffsetY: p.coords.anchorOffsetY,
4626
- viewportW: p.coords.viewportW,
4627
- viewportY: p.coords.viewportY,
4632
+ anchorSelector: h.coords.anchorSelector,
4633
+ anchorX: h.coords.anchorX,
4634
+ anchorY: h.coords.anchorY,
4635
+ anchorOffsetX: h.coords.anchorOffsetX,
4636
+ anchorOffsetY: h.coords.anchorOffsetY,
4637
+ viewportW: h.coords.viewportW,
4638
+ viewportY: h.coords.viewportY,
4628
4639
  userAgent: navigator.userAgent,
4629
4640
  authorName: s.name,
4630
4641
  authorEmail: s.email,
4631
4642
  body: e,
4632
4643
  screenshotStorageId: n
4633
4644
  });
4634
- o((e) => [...e, i.thread]), m({
4645
+ o((e) => [...e, i.thread]), g({
4635
4646
  kind: "thread",
4636
4647
  threadId: i.thread._id
4637
4648
  });
4638
4649
  } catch (e) {
4639
- v(e instanceof Error ? e.message : "Failed to post");
4650
+ b(e instanceof Error ? e.message : "Failed to post");
4640
4651
  } finally {
4641
- g(!1);
4652
+ v(!1);
4642
4653
  }
4643
4654
  }
4644
4655
  }, [
4645
- f,
4656
+ m,
4646
4657
  s,
4647
- p,
4658
+ h,
4648
4659
  r
4649
- ]), te = V(async () => {
4650
- if (p.kind !== "thread") return;
4651
- let e = p.threadId;
4652
- g(!0), v(null);
4660
+ ]), oe = H(async () => {
4661
+ if (h.kind !== "thread") return;
4662
+ let e = h.threadId;
4663
+ v(!0), b(null);
4653
4664
  try {
4654
- await f.deleteThread(e), o((t) => t.filter((t) => t._id !== e)), m({ kind: "idle" });
4665
+ await m.deleteThread(e), o((t) => t.filter((t) => t._id !== e)), g({ kind: "idle" });
4655
4666
  } catch (e) {
4656
- v(e instanceof Error ? e.message : "Failed to delete");
4667
+ b(e instanceof Error ? e.message : "Failed to delete");
4657
4668
  } finally {
4658
- g(!1);
4669
+ v(!1);
4659
4670
  }
4660
- }, [f, p]), ne = V(async () => {
4661
- if (p.kind !== "thread") return;
4662
- let e = p.threadId;
4663
- g(!0), v(null);
4671
+ }, [m, h]), se = H(async () => {
4672
+ if (h.kind !== "thread") return;
4673
+ let e = h.threadId;
4674
+ v(!0), b(null);
4664
4675
  try {
4665
- await f.resolveThread(e, s?.clientId), o((t) => t.filter((t) => t._id !== e)), m({ kind: "idle" });
4676
+ await m.resolveThread(e, s?.clientId), o((t) => t.filter((t) => t._id !== e)), g({ kind: "idle" });
4666
4677
  } catch (e) {
4667
- v(e instanceof Error ? e.message : "Failed to resolve");
4678
+ b(e instanceof Error ? e.message : "Failed to resolve");
4668
4679
  } finally {
4669
- g(!1);
4680
+ v(!1);
4670
4681
  }
4671
4682
  }, [
4672
- f,
4673
- p,
4683
+ m,
4684
+ h,
4674
4685
  s?.clientId
4675
- ]), re = V(async (e) => {
4676
- if (p.kind !== "thread" || !s?.name) return;
4677
- let t = p.threadId;
4678
- g(!0), v(null);
4686
+ ]), ce = H(async (e) => {
4687
+ if (h.kind !== "thread" || !s?.name) return;
4688
+ let t = h.threadId;
4689
+ v(!0), b(null);
4679
4690
  try {
4680
- let n = await f.addComment(t, {
4691
+ let n = await m.addComment(t, {
4681
4692
  body: e,
4682
4693
  authorName: s.name,
4683
4694
  authorEmail: s.email
4684
4695
  });
4685
4696
  o((e) => e.map((e) => e._id === t ? n.thread : e));
4686
4697
  } catch (e) {
4687
- v(e instanceof Error ? e.message : "Failed to reply");
4698
+ b(e instanceof Error ? e.message : "Failed to reply");
4688
4699
  } finally {
4689
- g(!1);
4700
+ v(!1);
4690
4701
  }
4691
4702
  }, [
4692
- f,
4703
+ m,
4693
4704
  s,
4694
- p
4695
- ]), ie = V(async (e, t) => {
4696
- if (p.kind !== "thread" || !s) return;
4697
- let n = p.threadId;
4698
- g(!0), v(null);
4705
+ h
4706
+ ]), le = H(async (e, t) => {
4707
+ if (h.kind !== "thread" || !s) return;
4708
+ let n = h.threadId;
4709
+ v(!0), b(null);
4699
4710
  try {
4700
- let r = await f.editComment(n, e, { body: t });
4711
+ let r = await m.editComment(n, e, { body: t });
4701
4712
  o((e) => e.map((e) => e._id === n ? r.thread : e));
4702
4713
  } catch (e) {
4703
- throw v(e instanceof Error ? e.message : "Failed to edit"), e;
4714
+ throw b(e instanceof Error ? e.message : "Failed to edit"), e;
4704
4715
  } finally {
4705
- g(!1);
4716
+ v(!1);
4706
4717
  }
4707
4718
  }, [
4708
- f,
4719
+ m,
4709
4720
  s,
4710
- p
4711
- ]), ae = V(async (e) => {
4712
- if (p.kind !== "thread" || !s) return;
4713
- let t = p.threadId;
4714
- g(!0), v(null);
4721
+ h
4722
+ ]), ue = H(async (e) => {
4723
+ if (h.kind !== "thread" || !s) return;
4724
+ let t = h.threadId;
4725
+ v(!0), b(null);
4715
4726
  try {
4716
- let n = await f.deleteComment(t, e);
4727
+ let n = await m.deleteComment(t, e);
4717
4728
  o((e) => e.map((e) => e._id === t ? n.thread : e));
4718
4729
  } catch (e) {
4719
- v(e instanceof Error ? e.message : "Failed to delete");
4730
+ b(e instanceof Error ? e.message : "Failed to delete");
4720
4731
  } finally {
4721
- g(!1);
4732
+ v(!1);
4722
4733
  }
4723
4734
  }, [
4724
- f,
4735
+ m,
4725
4736
  s,
4726
- p
4727
- ]), oe = V(async (e, t) => {
4728
- if (p.kind !== "thread" || !s) return;
4729
- let n = p.threadId;
4730
- v(null);
4737
+ h
4738
+ ]), F = H(async (e, t) => {
4739
+ if (h.kind !== "thread" || !s) return;
4740
+ let n = h.threadId;
4741
+ b(null);
4731
4742
  try {
4732
- let r = await f.toggleReaction(e, {
4743
+ let r = await m.toggleReaction(e, {
4733
4744
  emoji: t,
4734
4745
  authorName: s.name
4735
4746
  });
4736
4747
  o((e) => e.map((e) => e._id === n ? r.thread : e));
4737
4748
  } catch (e) {
4738
- v(e instanceof Error ? e.message : "Failed to react");
4749
+ b(e instanceof Error ? e.message : "Failed to react");
4739
4750
  }
4740
4751
  }, [
4741
- f,
4752
+ m,
4742
4753
  s,
4743
- p
4744
- ]), se = p.kind === "thread" ? a.find((e) => e._id === p.threadId) ?? null : null, ce = E || s?.clientId != null && s.clientId === se?.authorClientId;
4745
- return /* @__PURE__ */ $("div", {
4754
+ h
4755
+ ]), I = h.kind === "thread" ? a.find((e) => e._id === h.threadId) ?? null : null, L = O || s?.clientId != null && s.clientId === I?.authorClientId;
4756
+ return B(() => {
4757
+ h.kind === "thread" && I == null && N();
4758
+ }, [
4759
+ h,
4760
+ I,
4761
+ N
4762
+ ]), /* @__PURE__ */ $("div", {
4746
4763
  class: "markup-root",
4747
- ref: w,
4764
+ ref: E,
4748
4765
  children: [
4749
- p.kind === "placing" ? null : /* @__PURE__ */ $("div", {
4766
+ h.kind === "placing" ? null : /* @__PURE__ */ $("div", {
4750
4767
  class: "markup-pins-layer",
4751
- children: [y ? null : a.map((e) => {
4752
- let t = p.kind === "thread" && p.threadId === e._id, n = Tr({
4768
+ children: [x ? null : a.map((e) => {
4769
+ let t = h.kind === "thread" && h.threadId === e._id, n = Tr({
4753
4770
  anchorX: e.anchorX,
4754
4771
  anchorY: e.anchorY,
4755
4772
  anchorSelector: e.anchorSelector,
@@ -4761,62 +4778,64 @@ function ja({ apiUrl: e, apiKey: t, position: n = "bottom-right" }) {
4761
4778
  pageY: n.pageY,
4762
4779
  count: r,
4763
4780
  active: t,
4764
- onClick: () => m({
4781
+ onClick: () => g({
4765
4782
  kind: "thread",
4766
4783
  threadId: e._id
4767
4784
  })
4768
4785
  }, e._id);
4769
- }), p.kind === "composing-new" ? /* @__PURE__ */ $(ba, {
4770
- pageX: p.pageX,
4771
- pageY: p.pageY
4786
+ }), h.kind === "composing-new" ? /* @__PURE__ */ $(ba, {
4787
+ pageX: h.pageX,
4788
+ pageY: h.pageY
4772
4789
  }) : null]
4773
4790
  }),
4774
- p.kind === "placing" ? /* @__PURE__ */ $(xa, {
4775
- onPlace: N,
4776
- onCancel: M
4791
+ h.kind === "placing" ? /* @__PURE__ */ $(xa, {
4792
+ onPlace: ne,
4793
+ onCancel: N
4777
4794
  }) : null,
4778
- p.kind === "thread" && se && !y ? /* @__PURE__ */ $(Ca, {
4779
- thread: se,
4780
- authorName: T,
4795
+ h.kind === "thread" && I && !x ? /* @__PURE__ */ $(Ca, {
4796
+ thread: I,
4797
+ authorName: D,
4781
4798
  currentClientId: s?.clientId ?? null,
4782
- isVerified: E,
4783
- canDelete: ce,
4784
- pending: h,
4785
- error: _,
4786
- onAuthor: ee,
4787
- onSignIn: P,
4788
- onClose: M,
4789
- onReply: re,
4790
- onEditComment: ie,
4791
- onDeleteComment: ae,
4792
- onToggleReaction: oe,
4793
- onDelete: te,
4794
- onResolve: ne
4795
- }) : null,
4796
- p.kind === "composing-new" ? /* @__PURE__ */ $(_a, {
4797
- pageX: p.pageX,
4798
- pageY: p.pageY,
4799
- authorName: T,
4800
- isVerified: E,
4801
- pending: h,
4802
- error: _,
4803
- screenshot: p.screenshot,
4804
- screenshotCapturing: p.screenshotCapturing,
4805
- onAuthor: ee,
4806
- onSignIn: P,
4807
- onSubmit: F,
4808
- onClose: M
4799
+ isVerified: O,
4800
+ identityResolving: ee,
4801
+ canDelete: L,
4802
+ pending: _,
4803
+ error: y,
4804
+ onAuthor: re,
4805
+ onSignIn: ie,
4806
+ onClose: N,
4807
+ onReply: ce,
4808
+ onEditComment: le,
4809
+ onDeleteComment: ue,
4810
+ onToggleReaction: F,
4811
+ onDelete: oe,
4812
+ onResolve: se
4813
+ }, I._id) : null,
4814
+ h.kind === "composing-new" ? /* @__PURE__ */ $(_a, {
4815
+ pageX: h.pageX,
4816
+ pageY: h.pageY,
4817
+ authorName: D,
4818
+ isVerified: O,
4819
+ identityResolving: ee,
4820
+ pending: _,
4821
+ error: y,
4822
+ screenshot: h.screenshot,
4823
+ screenshotCapturing: h.screenshotCapturing,
4824
+ onAuthor: re,
4825
+ onSignIn: ie,
4826
+ onSubmit: ae,
4827
+ onClose: N
4809
4828
  }) : null,
4810
- !y || p.kind === "placing" || p.kind === "composing-new" ? /* @__PURE__ */ $(ua, {
4811
- active: p.kind === "placing",
4812
- onToggle: () => p.kind === "placing" ? M() : j(),
4829
+ !x || h.kind === "placing" || h.kind === "composing-new" ? /* @__PURE__ */ $(ua, {
4830
+ active: h.kind === "placing",
4831
+ onToggle: () => h.kind === "placing" ? N() : te(),
4813
4832
  onHide: () => {
4814
- b(!0), S(!0);
4833
+ S(!0), w(!0);
4815
4834
  },
4816
4835
  position: l,
4817
4836
  onPositionChange: u
4818
4837
  }) : null,
4819
- y && x ? /* @__PURE__ */ $(Ma, { position: l }) : null
4838
+ x && C ? /* @__PURE__ */ $(Ma, { position: l }) : null
4820
4839
  ]
4821
4840
  });
4822
4841
  }
@@ -4847,11 +4866,11 @@ function Na(e, t) {
4847
4866
  let n = t.theme ?? "auto";
4848
4867
  n !== "auto" && (e.dataset.theme = n);
4849
4868
  let r = e.attachShadow({ mode: "open" }), i = document.createElement("style");
4850
- i.textContent = le, r.appendChild(i);
4869
+ i.textContent = ue, r.appendChild(i);
4851
4870
  let a = document.createElement("div");
4852
4871
  a.className = "markup-shadow-root", r.appendChild(a);
4853
4872
  let { theme: o, ...s } = t;
4854
- return ce(/* @__PURE__ */ $(ja, { ...s }), a), () => ce(null, a);
4873
+ return le(/* @__PURE__ */ $(ja, { ...s }), a), () => le(null, a);
4855
4874
  }
4856
4875
  //#endregion
4857
4876
  //#region src/widget.ts