@codemem/server 0.35.1 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +14 -14
- package/dist/index.js.map +1 -1
- package/dist/routes/sync.d.ts.map +1 -1
- package/package.json +7 -7
- package/static/app.js +566 -447
- package/static/index.html +1 -1
package/static/app.js
CHANGED
|
@@ -11,22 +11,22 @@
|
|
|
11
11
|
return target;
|
|
12
12
|
};
|
|
13
13
|
//#endregion
|
|
14
|
-
//#region ../../node_modules/.pnpm/preact@10.29.
|
|
15
|
-
var n$1, l$3, u$3, t$2, i$3, r$2, o$3, e$2, f$3, c$2,
|
|
16
|
-
function
|
|
14
|
+
//#region ../../node_modules/.pnpm/preact@10.29.2/node_modules/preact/dist/preact.module.js
|
|
15
|
+
var n$1, l$3, u$3, t$2, i$3, r$2, o$3, e$2, f$3, c$2, a$2, s$2, h$3, p$3, v$2, y$3, d$3 = {}, w$4 = [], _$3 = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i, g$4 = Array.isArray;
|
|
16
|
+
function m$3(n, l) {
|
|
17
17
|
for (var u in l) n[u] = l[u];
|
|
18
18
|
return n;
|
|
19
19
|
}
|
|
20
|
-
function
|
|
20
|
+
function b$3(n) {
|
|
21
21
|
n && n.parentNode && n.parentNode.removeChild(n);
|
|
22
22
|
}
|
|
23
|
-
function
|
|
23
|
+
function k$3(l, u, t) {
|
|
24
24
|
var i, r, o, e = {};
|
|
25
25
|
for (o in u) "key" == o ? i = u[o] : "ref" == o ? r = u[o] : e[o] = u[o];
|
|
26
26
|
if (arguments.length > 2 && (e.children = arguments.length > 3 ? n$1.call(arguments, 2) : t), "function" == typeof l && null != l.defaultProps) for (o in l.defaultProps) void 0 === e[o] && (e[o] = l.defaultProps[o]);
|
|
27
|
-
return
|
|
27
|
+
return x$4(l, e, i, r, null);
|
|
28
28
|
}
|
|
29
|
-
function
|
|
29
|
+
function x$4(n, t, i, r, o) {
|
|
30
30
|
var e = {
|
|
31
31
|
type: n,
|
|
32
32
|
props: t,
|
|
@@ -44,88 +44,88 @@
|
|
|
44
44
|
};
|
|
45
45
|
return null == o && null != l$3.vnode && l$3.vnode(e), e;
|
|
46
46
|
}
|
|
47
|
-
function
|
|
47
|
+
function M$1() {
|
|
48
48
|
return { current: null };
|
|
49
49
|
}
|
|
50
|
-
function
|
|
50
|
+
function S$1(n) {
|
|
51
51
|
return n.children;
|
|
52
52
|
}
|
|
53
|
-
function
|
|
53
|
+
function C$2(n, l) {
|
|
54
54
|
this.props = n, this.context = l;
|
|
55
55
|
}
|
|
56
|
-
function
|
|
57
|
-
if (null == l) return n.__ ?
|
|
56
|
+
function $$2(n, l) {
|
|
57
|
+
if (null == l) return n.__ ? $$2(n.__, n.__i + 1) : null;
|
|
58
58
|
for (var u; l < n.__k.length; l++) if (null != (u = n.__k[l]) && null != u.__e) return u.__e;
|
|
59
|
-
return "function" == typeof n.type ?
|
|
59
|
+
return "function" == typeof n.type ? $$2(n) : null;
|
|
60
60
|
}
|
|
61
|
-
function
|
|
61
|
+
function I$1(n) {
|
|
62
62
|
if (n.__P && n.__d) {
|
|
63
|
-
var u = n.__v, t = u.__e, i = [], r = [], o =
|
|
64
|
-
o.__v = u.__v + 1, l$3.vnode && l$3.vnode(o),
|
|
63
|
+
var u = n.__v, t = u.__e, i = [], r = [], o = m$3({}, u);
|
|
64
|
+
o.__v = u.__v + 1, l$3.vnode && l$3.vnode(o), q$3(n.__P, o, u, n.__n, n.__P.namespaceURI, 32 & u.__u ? [t] : null, i, null == t ? $$2(u) : t, !!(32 & u.__u), r), o.__v = u.__v, o.__.__k[o.__i] = o, D$2(i, o, r), u.__e = u.__ = null, o.__e != t && P$2(o);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
function
|
|
67
|
+
function P$2(n) {
|
|
68
68
|
if (null != (n = n.__) && null != n.__c) return n.__e = n.__c.base = null, n.__k.some(function(l) {
|
|
69
69
|
if (null != l && null != l.__e) return n.__e = n.__c.base = l.__e;
|
|
70
|
-
}),
|
|
70
|
+
}), P$2(n);
|
|
71
71
|
}
|
|
72
|
-
function
|
|
73
|
-
(!n.__d && (n.__d = !0) && i$3.push(n) && !
|
|
72
|
+
function A$2(n) {
|
|
73
|
+
(!n.__d && (n.__d = !0) && i$3.push(n) && !H$1.__r++ || r$2 != l$3.debounceRendering) && ((r$2 = l$3.debounceRendering) || o$3)(H$1);
|
|
74
74
|
}
|
|
75
|
-
function
|
|
75
|
+
function H$1() {
|
|
76
76
|
try {
|
|
77
|
-
for (var n, l = 1; i$3.length;) i$3.length > l && i$3.sort(e$2), n = i$3.shift(), l = i$3.length,
|
|
77
|
+
for (var n, l = 1; i$3.length;) i$3.length > l && i$3.sort(e$2), n = i$3.shift(), l = i$3.length, I$1(n);
|
|
78
78
|
} finally {
|
|
79
|
-
i$3.length =
|
|
79
|
+
i$3.length = H$1.__r = 0;
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
function
|
|
83
|
-
var
|
|
84
|
-
for (f =
|
|
85
|
-
return u.__e =
|
|
82
|
+
function L$1(n, l, u, t, i, r, o, e, f, c, a) {
|
|
83
|
+
var s, h, p, v, y, _, g, m = t && t.__k || w$4, b = l.length;
|
|
84
|
+
for (f = T$2(u, l, m, f, b), s = 0; s < b; s++) null != (p = u.__k[s]) && (h = -1 != p.__i && m[p.__i] || d$3, p.__i = s, _ = q$3(n, p, h, i, r, o, e, f, c, a), v = p.__e, p.ref && h.ref != p.ref && (h.ref && J$1(h.ref, null, p), a.push(p.ref, p.__c || v, p)), null == y && null != v && (y = v), (g = !!(4 & p.__u)) || h.__k === p.__k ? (f = j$3(p, f, n, g), g && h.__e && (h.__e = null)) : "function" == typeof p.type && void 0 !== _ ? f = _ : v && (f = v.nextSibling), p.__u &= -7);
|
|
85
|
+
return u.__e = y, f;
|
|
86
86
|
}
|
|
87
|
-
function
|
|
88
|
-
var r, o, e, f, c,
|
|
89
|
-
for (n.__k = new Array(i), r = 0; r < i; r++) null != (o = l[r]) && "boolean" != typeof o && "function" != typeof o ? ("string" == typeof o || "number" == typeof o || "bigint" == typeof o || o.constructor == String ? o = n.__k[r] =
|
|
90
|
-
if (
|
|
87
|
+
function T$2(n, l, u, t, i) {
|
|
88
|
+
var r, o, e, f, c, a = u.length, s = a, h = 0;
|
|
89
|
+
for (n.__k = new Array(i), r = 0; r < i; r++) null != (o = l[r]) && "boolean" != typeof o && "function" != typeof o ? ("string" == typeof o || "number" == typeof o || "bigint" == typeof o || o.constructor == String ? o = n.__k[r] = x$4(null, o, null, null, null) : g$4(o) ? o = n.__k[r] = x$4(S$1, { children: o }, null, null, null) : void 0 === o.constructor && o.__b > 0 ? o = n.__k[r] = x$4(o.type, o.props, o.key, o.ref ? o.ref : null, o.__v) : n.__k[r] = o, f = r + h, o.__ = n, o.__b = n.__b + 1, e = null, -1 != (c = o.__i = O$1(o, u, f, s)) && (s--, (e = u[c]) && (e.__u |= 2)), null == e || null == e.__v ? (-1 == c && (i > a ? h-- : i < a && h++), "function" != typeof o.type && (o.__u |= 4)) : c != f && (c == f - 1 ? h-- : c == f + 1 ? h++ : (c > f ? h-- : h++, o.__u |= 4))) : n.__k[r] = null;
|
|
90
|
+
if (s) for (r = 0; r < a; r++) null != (e = u[r]) && 0 == (2 & e.__u) && (e.__e == t && (t = $$2(e)), K$1(e, e));
|
|
91
91
|
return t;
|
|
92
92
|
}
|
|
93
|
-
function
|
|
93
|
+
function j$3(n, l, u, t) {
|
|
94
94
|
var i, r;
|
|
95
95
|
if ("function" == typeof n.type) {
|
|
96
|
-
for (i = n.__k, r = 0; i && r < i.length; r++) i[r] && (i[r].__ = n, l =
|
|
96
|
+
for (i = n.__k, r = 0; i && r < i.length; r++) i[r] && (i[r].__ = n, l = j$3(i[r], l, u, t));
|
|
97
97
|
return l;
|
|
98
98
|
}
|
|
99
|
-
n.__e != l && (t && (l && n.type && !l.parentNode && (l =
|
|
99
|
+
n.__e != l && (t && (l && n.type && !l.parentNode && (l = $$2(n)), u.insertBefore(n.__e, l || null)), l = n.__e);
|
|
100
100
|
do
|
|
101
101
|
l = l && l.nextSibling;
|
|
102
102
|
while (null != l && 8 == l.nodeType);
|
|
103
103
|
return l;
|
|
104
104
|
}
|
|
105
|
-
function
|
|
106
|
-
return l = l || [], null == n || "boolean" == typeof n || (
|
|
107
|
-
|
|
105
|
+
function F$3(n, l) {
|
|
106
|
+
return l = l || [], null == n || "boolean" == typeof n || (g$4(n) ? n.some(function(n) {
|
|
107
|
+
F$3(n, l);
|
|
108
108
|
}) : l.push(n)), l;
|
|
109
109
|
}
|
|
110
|
-
function
|
|
111
|
-
var i, r, o, e = n.key, f = n.type, c = l[u],
|
|
112
|
-
if (null === c && null == e ||
|
|
113
|
-
if (t > (
|
|
110
|
+
function O$1(n, l, u, t) {
|
|
111
|
+
var i, r, o, e = n.key, f = n.type, c = l[u], a = null != c && 0 == (2 & c.__u);
|
|
112
|
+
if (null === c && null == e || a && e == c.key && f == c.type) return u;
|
|
113
|
+
if (t > (a ? 1 : 0)) {
|
|
114
114
|
for (i = u - 1, r = u + 1; i >= 0 || r < l.length;) if (null != (c = l[o = i >= 0 ? i-- : r++]) && 0 == (2 & c.__u) && e == c.key && f == c.type) return o;
|
|
115
115
|
}
|
|
116
116
|
return -1;
|
|
117
117
|
}
|
|
118
|
-
function
|
|
119
|
-
"-" == l[0] ? n.setProperty(l, null == u ? "" : u) : n[l] = null == u ? "" : "number" != typeof u ||
|
|
118
|
+
function z$2(n, l, u) {
|
|
119
|
+
"-" == l[0] ? n.setProperty(l, null == u ? "" : u) : n[l] = null == u ? "" : "number" != typeof u || _$3.test(l) ? u : u + "px";
|
|
120
120
|
}
|
|
121
|
-
function
|
|
121
|
+
function N$1(n, l, u, t, i) {
|
|
122
122
|
var r, o;
|
|
123
123
|
n: if ("style" == l) if ("string" == typeof u) n.style.cssText = u;
|
|
124
124
|
else {
|
|
125
|
-
if ("string" == typeof t && (n.style.cssText = t = ""), t) for (l in t) u && l in u ||
|
|
126
|
-
if (u) for (l in u) t && u[l] == t[l] ||
|
|
125
|
+
if ("string" == typeof t && (n.style.cssText = t = ""), t) for (l in t) u && l in u || z$2(n.style, l, "");
|
|
126
|
+
if (u) for (l in u) t && u[l] == t[l] || z$2(n.style, l, u[l]);
|
|
127
127
|
}
|
|
128
|
-
else if ("o" == l[0] && "n" == l[1]) r = l != (l = l.replace(
|
|
128
|
+
else if ("o" == l[0] && "n" == l[1]) r = l != (l = l.replace(s$2, "$1")), o = l.toLowerCase(), l = o in n || "onFocusOut" == l || "onFocusIn" == l ? o.slice(2) : l.slice(2), n.l || (n.l = {}), n.l[l + r] = u, u ? t ? u[a$2] = t[a$2] : (u[a$2] = h$3, n.addEventListener(l, r ? v$2 : p$3, r)) : n.removeEventListener(l, r ? v$2 : p$3, r);
|
|
129
129
|
else {
|
|
130
130
|
if ("http://www.w3.org/2000/svg" == i) l = l.replace(/xlink(H|:h)/, "h").replace(/sName$/, "s");
|
|
131
131
|
else if ("width" != l && "height" != l && "href" != l && "list" != l && "form" != l && "tabIndex" != l && "download" != l && "rowSpan" != l && "colSpan" != l && "role" != l && "popover" != l && l in n) try {
|
|
@@ -135,57 +135,57 @@
|
|
|
135
135
|
"function" == typeof u || (null == u || !1 === u && "-" != l[4] ? n.removeAttribute(l) : n.setAttribute(l, "popover" == l && 1 == u ? "" : u));
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
|
-
function
|
|
138
|
+
function V$1(n) {
|
|
139
139
|
return function(u) {
|
|
140
140
|
if (this.l) {
|
|
141
141
|
var t = this.l[u.type + n];
|
|
142
|
-
if (null == u
|
|
143
|
-
else if (u
|
|
142
|
+
if (null == u[c$2]) u[c$2] = h$3++;
|
|
143
|
+
else if (u[c$2] < t[a$2]) return;
|
|
144
144
|
return t(l$3.event ? l$3.event(u) : u);
|
|
145
145
|
}
|
|
146
146
|
};
|
|
147
147
|
}
|
|
148
|
-
function
|
|
149
|
-
var
|
|
148
|
+
function q$3(n, u, t, i, r, o, e, f, c, a) {
|
|
149
|
+
var s, h, p, v, y, d, _, k, x, M, $, I, P, A, H, T = u.type;
|
|
150
150
|
if (void 0 !== u.constructor) return null;
|
|
151
|
-
128 & t.__u && (c = !!(32 & t.__u), o = [f = u.__e = t.__e]), (
|
|
151
|
+
128 & t.__u && (c = !!(32 & t.__u), o = [f = u.__e = t.__e]), (s = l$3.__b) && s(u);
|
|
152
152
|
n: if ("function" == typeof T) try {
|
|
153
|
-
if (
|
|
153
|
+
if (k = u.props, x = T.prototype && T.prototype.render, M = (s = T.contextType) && i[s.__c], $ = s ? M ? M.props.value : s.__ : i, t.__c ? _ = (h = u.__c = t.__c).__ = h.__E : (x ? u.__c = h = new T(k, $) : (u.__c = h = new C$2(k, $), h.constructor = T, h.render = Q$1), M && M.sub(h), h.state || (h.state = {}), h.__n = i, p = h.__d = !0, h.__h = [], h._sb = []), x && null == h.__s && (h.__s = h.state), x && null != T.getDerivedStateFromProps && (h.__s == h.state && (h.__s = m$3({}, h.__s)), m$3(h.__s, T.getDerivedStateFromProps(k, h.__s))), v = h.props, y = h.state, h.__v = u, p) x && null == T.getDerivedStateFromProps && null != h.componentWillMount && h.componentWillMount(), x && null != h.componentDidMount && h.__h.push(h.componentDidMount);
|
|
154
154
|
else {
|
|
155
|
-
if (
|
|
156
|
-
u.__v != t.__v && (h.props =
|
|
155
|
+
if (x && null == T.getDerivedStateFromProps && k !== v && null != h.componentWillReceiveProps && h.componentWillReceiveProps(k, $), u.__v == t.__v || !h.__e && null != h.shouldComponentUpdate && !1 === h.shouldComponentUpdate(k, h.__s, $)) {
|
|
156
|
+
u.__v != t.__v && (h.props = k, h.state = h.__s, h.__d = !1), u.__e = t.__e, u.__k = t.__k, u.__k.some(function(n) {
|
|
157
157
|
n && (n.__ = u);
|
|
158
|
-
}),
|
|
158
|
+
}), w$4.push.apply(h.__h, h._sb), h._sb = [], h.__h.length && e.push(h);
|
|
159
159
|
break n;
|
|
160
160
|
}
|
|
161
|
-
null != h.componentWillUpdate && h.componentWillUpdate(
|
|
162
|
-
h.componentDidUpdate(
|
|
161
|
+
null != h.componentWillUpdate && h.componentWillUpdate(k, h.__s, $), x && null != h.componentDidUpdate && h.__h.push(function() {
|
|
162
|
+
h.componentDidUpdate(v, y, d);
|
|
163
163
|
});
|
|
164
164
|
}
|
|
165
|
-
if (h.context = $, h.props =
|
|
165
|
+
if (h.context = $, h.props = k, h.__P = n, h.__e = !1, I = l$3.__r, P = 0, x) h.state = h.__s, h.__d = !1, I && I(u), s = h.render(h.props, h.state, h.context), w$4.push.apply(h.__h, h._sb), h._sb = [];
|
|
166
166
|
else do
|
|
167
|
-
h.__d = !1, I && I(u),
|
|
168
|
-
while (h.__d && ++
|
|
169
|
-
h.state = h.__s, null != h.getChildContext && (i =
|
|
167
|
+
h.__d = !1, I && I(u), s = h.render(h.props, h.state, h.context), h.state = h.__s;
|
|
168
|
+
while (h.__d && ++P < 25);
|
|
169
|
+
h.state = h.__s, null != h.getChildContext && (i = m$3(m$3({}, i), h.getChildContext())), x && !p && null != h.getSnapshotBeforeUpdate && (d = h.getSnapshotBeforeUpdate(v, y)), A = null != s && s.type === S$1 && null == s.key ? E$2(s.props.children) : s, f = L$1(n, g$4(A) ? A : [A], u, t, i, r, o, e, f, c, a), h.base = u.__e, u.__u &= -161, h.__h.length && e.push(h), _ && (h.__E = h.__ = null);
|
|
170
170
|
} catch (n) {
|
|
171
171
|
if (u.__v = null, c || null != o) if (n.then) {
|
|
172
172
|
for (u.__u |= c ? 160 : 128; f && 8 == f.nodeType && f.nextSibling;) f = f.nextSibling;
|
|
173
173
|
o[o.indexOf(f)] = null, u.__e = f;
|
|
174
174
|
} else {
|
|
175
|
-
for (
|
|
176
|
-
|
|
175
|
+
for (H = o.length; H--;) b$3(o[H]);
|
|
176
|
+
B$2(u);
|
|
177
177
|
}
|
|
178
|
-
else u.__e = t.__e, u.__k = t.__k, n.then ||
|
|
178
|
+
else u.__e = t.__e, u.__k = t.__k, n.then || B$2(u);
|
|
179
179
|
l$3.__e(n, u, t);
|
|
180
180
|
}
|
|
181
|
-
else null == o && u.__v == t.__v ? (u.__k = t.__k, u.__e = t.__e) : f = u.__e =
|
|
182
|
-
return (
|
|
181
|
+
else null == o && u.__v == t.__v ? (u.__k = t.__k, u.__e = t.__e) : f = u.__e = G$1(t.__e, u, t, i, r, o, e, c, a);
|
|
182
|
+
return (s = l$3.diffed) && s(u), 128 & u.__u ? void 0 : f;
|
|
183
183
|
}
|
|
184
|
-
function
|
|
185
|
-
n && (n.__c && (n.__c.__e = !0), n.__k && n.__k.some(
|
|
184
|
+
function B$2(n) {
|
|
185
|
+
n && (n.__c && (n.__c.__e = !0), n.__k && n.__k.some(B$2));
|
|
186
186
|
}
|
|
187
|
-
function
|
|
188
|
-
for (var i = 0; i < t.length; i++)
|
|
187
|
+
function D$2(n, u, t) {
|
|
188
|
+
for (var i = 0; i < t.length; i++) J$1(t[i], t[++i], t[++i]);
|
|
189
189
|
l$3.__c && l$3.__c(u, n), n.some(function(u) {
|
|
190
190
|
try {
|
|
191
191
|
n = u.__h, u.__h = [], n.some(function(n) {
|
|
@@ -196,14 +196,14 @@
|
|
|
196
196
|
}
|
|
197
197
|
});
|
|
198
198
|
}
|
|
199
|
-
function
|
|
200
|
-
return "object" != typeof n || null == n || n.__b > 0 ? n :
|
|
199
|
+
function E$2(n) {
|
|
200
|
+
return "object" != typeof n || null == n || n.__b > 0 ? n : g$4(n) ? n.map(E$2) : void 0 !== n.constructor ? null : m$3({}, n);
|
|
201
201
|
}
|
|
202
|
-
function
|
|
203
|
-
var
|
|
202
|
+
function G$1(u, t, i, r, o, e, f, c, a) {
|
|
203
|
+
var s, h, p, v, y, w, _, m = i.props || d$3, k = t.props, x = t.type;
|
|
204
204
|
if ("svg" == x ? o = "http://www.w3.org/2000/svg" : "math" == x ? o = "http://www.w3.org/1998/Math/MathML" : o || (o = "http://www.w3.org/1999/xhtml"), null != e) {
|
|
205
|
-
for (
|
|
206
|
-
u =
|
|
205
|
+
for (s = 0; s < e.length; s++) if ((y = e[s]) && "setAttribute" in y == !!x && (x ? y.localName == x : 3 == y.nodeType)) {
|
|
206
|
+
u = y, e[s] = null;
|
|
207
207
|
break;
|
|
208
208
|
}
|
|
209
209
|
}
|
|
@@ -211,18 +211,18 @@
|
|
|
211
211
|
if (null == x) return document.createTextNode(k);
|
|
212
212
|
u = document.createElementNS(o, x, k.is && k), c && (l$3.__m && l$3.__m(t, e), c = !1), e = null;
|
|
213
213
|
}
|
|
214
|
-
if (null == x)
|
|
214
|
+
if (null == x) m === k || c && u.data == k || (u.data = k);
|
|
215
215
|
else {
|
|
216
|
-
if (e = e && n$1.call(u.childNodes), !c && null != e) for (
|
|
217
|
-
for (
|
|
218
|
-
for (
|
|
219
|
-
if (h) c ||
|
|
220
|
-
else if (
|
|
221
|
-
c || (
|
|
216
|
+
if (e = "textarea" == x && null != k.defaultValue ? null : e && n$1.call(u.childNodes), !c && null != e) for (m = {}, s = 0; s < u.attributes.length; s++) m[(y = u.attributes[s]).name] = y.value;
|
|
217
|
+
for (s in m) y = m[s], "dangerouslySetInnerHTML" == s ? p = y : "children" == s || s in k || "value" == s && "defaultValue" in k || "checked" == s && "defaultChecked" in k || N$1(u, s, null, y, o);
|
|
218
|
+
for (s in k) y = k[s], "children" == s ? v = y : "dangerouslySetInnerHTML" == s ? h = y : "value" == s ? w = y : "checked" == s ? _ = y : c && "function" != typeof y || m[s] === y || N$1(u, s, y, m[s], o);
|
|
219
|
+
if (h) c || p && (h.__html == p.__html || h.__html == u.innerHTML) || (u.innerHTML = h.__html), t.__k = [];
|
|
220
|
+
else if (p && (u.innerHTML = ""), L$1("template" == t.type ? u.content : u, g$4(v) ? v : [v], t, i, r, "foreignObject" == x ? "http://www.w3.org/1999/xhtml" : o, e, f, e ? e[0] : i.__k && $$2(i, 0), c, a), null != e) for (s = e.length; s--;) b$3(e[s]);
|
|
221
|
+
c && "textarea" != x || (s = "value", "progress" == x && null == w ? u.removeAttribute("value") : null != w && (w !== u[s] || "progress" == x && !w || "option" == x && w != m[s]) && N$1(u, s, w, m[s], o), s = "checked", null != _ && _ != u[s] && N$1(u, s, _, m[s], o));
|
|
222
222
|
}
|
|
223
223
|
return u;
|
|
224
224
|
}
|
|
225
|
-
function
|
|
225
|
+
function J$1(n, u, t) {
|
|
226
226
|
try {
|
|
227
227
|
if ("function" == typeof n) {
|
|
228
228
|
var i = "function" == typeof n.__u;
|
|
@@ -232,9 +232,9 @@
|
|
|
232
232
|
l$3.__e(n, t);
|
|
233
233
|
}
|
|
234
234
|
}
|
|
235
|
-
function
|
|
235
|
+
function K$1(n, u, t) {
|
|
236
236
|
var i, r;
|
|
237
|
-
if (l$3.unmount && l$3.unmount(n), (i = n.ref) && (i.current && i.current != n.__e ||
|
|
237
|
+
if (l$3.unmount && l$3.unmount(n), (i = n.ref) && (i.current && i.current != n.__e || J$1(i, null, u)), null != (i = n.__c)) {
|
|
238
238
|
if (i.componentWillUnmount) try {
|
|
239
239
|
i.componentWillUnmount();
|
|
240
240
|
} catch (n) {
|
|
@@ -242,25 +242,25 @@
|
|
|
242
242
|
}
|
|
243
243
|
i.base = i.__P = null;
|
|
244
244
|
}
|
|
245
|
-
if (i = n.__k) for (r = 0; r < i.length; r++) i[r] &&
|
|
246
|
-
t ||
|
|
245
|
+
if (i = n.__k) for (r = 0; r < i.length; r++) i[r] && K$1(i[r], u, t || "function" != typeof n.type);
|
|
246
|
+
t || b$3(n.__e), n.__c = n.__ = n.__e = void 0;
|
|
247
247
|
}
|
|
248
|
-
function
|
|
248
|
+
function Q$1(n, l, u) {
|
|
249
249
|
return this.constructor(n, u);
|
|
250
250
|
}
|
|
251
|
-
function
|
|
251
|
+
function R$1(u, t, i) {
|
|
252
252
|
var r, o, e, f;
|
|
253
|
-
t == document && (t = document.documentElement), l$3.__ && l$3.__(u, t), o = (r = "function" == typeof i) ? null : i && i.__k || t.__k, e = [], f = [],
|
|
253
|
+
t == document && (t = document.documentElement), l$3.__ && l$3.__(u, t), o = (r = "function" == typeof i) ? null : i && i.__k || t.__k, e = [], f = [], q$3(t, u = (!r && i || t).__k = k$3(S$1, null, [u]), o || d$3, d$3, t.namespaceURI, !r && i ? [i] : o ? null : t.firstChild ? n$1.call(t.childNodes) : null, e, !r && i ? i : o ? o.__e : t.firstChild, r, f), D$2(e, u, f);
|
|
254
254
|
}
|
|
255
|
-
function
|
|
256
|
-
|
|
255
|
+
function U$1(n, l) {
|
|
256
|
+
R$1(n, l, U$1);
|
|
257
257
|
}
|
|
258
|
-
function
|
|
259
|
-
var i, r, o, e, f =
|
|
258
|
+
function W$1(l, u, t) {
|
|
259
|
+
var i, r, o, e, f = m$3({}, l.props);
|
|
260
260
|
for (o in l.type && l.type.defaultProps && (e = l.type.defaultProps), u) "key" == o ? i = u[o] : "ref" == o ? r = u[o] : f[o] = void 0 === u[o] && null != e ? e[o] : u[o];
|
|
261
|
-
return arguments.length > 2 && (f.children = arguments.length > 3 ? n$1.call(arguments, 2) : t),
|
|
261
|
+
return arguments.length > 2 && (f.children = arguments.length > 3 ? n$1.call(arguments, 2) : t), x$4(l.type, f, i || l.key, r || l.ref, null);
|
|
262
262
|
}
|
|
263
|
-
function
|
|
263
|
+
function X$1(n) {
|
|
264
264
|
function l(n) {
|
|
265
265
|
var u, t;
|
|
266
266
|
return this.getChildContext || (u = /* @__PURE__ */ new Set(), (t = {})[l.__c] = this, this.getChildContext = function() {
|
|
@@ -269,7 +269,7 @@
|
|
|
269
269
|
u = null;
|
|
270
270
|
}, this.shouldComponentUpdate = function(n) {
|
|
271
271
|
this.props.value != n.value && u.forEach(function(n) {
|
|
272
|
-
n.__e = !0,
|
|
272
|
+
n.__e = !0, A$2(n);
|
|
273
273
|
});
|
|
274
274
|
}, this.sub = function(n) {
|
|
275
275
|
u.add(n);
|
|
@@ -279,11 +279,11 @@
|
|
|
279
279
|
};
|
|
280
280
|
}), n.children;
|
|
281
281
|
}
|
|
282
|
-
return l.__c = "__cC" +
|
|
282
|
+
return l.__c = "__cC" + y$3++, l.__ = n, l.Provider = l.__l = (l.Consumer = function(n, l) {
|
|
283
283
|
return n.children(l);
|
|
284
284
|
}).contextType = l, l;
|
|
285
285
|
}
|
|
286
|
-
n$1 =
|
|
286
|
+
n$1 = w$4.slice, l$3 = { __e: function(n, l, u, t) {
|
|
287
287
|
for (var i, r, o; l = l.__;) if ((i = l.__c) && !i.__) try {
|
|
288
288
|
if ((r = i.constructor) && null != r.getDerivedStateFromError && (i.setState(r.getDerivedStateFromError(n)), o = i.__d), null != i.componentDidCatch && (i.componentDidCatch(n, t || {}), o = i.__d), o) return i.__E = i;
|
|
289
289
|
} catch (l) {
|
|
@@ -292,16 +292,16 @@
|
|
|
292
292
|
throw n;
|
|
293
293
|
} }, u$3 = 0, t$2 = function(n) {
|
|
294
294
|
return null != n && void 0 === n.constructor;
|
|
295
|
-
},
|
|
296
|
-
var u = null != this.__s && this.__s != this.state ? this.__s : this.__s =
|
|
297
|
-
"function" == typeof n && (n = n(
|
|
298
|
-
},
|
|
299
|
-
this.__v && (this.__e = !0, n && this.__h.push(n),
|
|
300
|
-
},
|
|
295
|
+
}, C$2.prototype.setState = function(n, l) {
|
|
296
|
+
var u = null != this.__s && this.__s != this.state ? this.__s : this.__s = m$3({}, this.state);
|
|
297
|
+
"function" == typeof n && (n = n(m$3({}, u), this.props)), n && m$3(u, n), null != n && this.__v && (l && this._sb.push(l), A$2(this));
|
|
298
|
+
}, C$2.prototype.forceUpdate = function(n) {
|
|
299
|
+
this.__v && (this.__e = !0, n && this.__h.push(n), A$2(this));
|
|
300
|
+
}, C$2.prototype.render = S$1, i$3 = [], o$3 = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, e$2 = function(n, l) {
|
|
301
301
|
return n.__v.__b - l.__v.__b;
|
|
302
|
-
},
|
|
302
|
+
}, H$1.__r = 0, f$3 = Math.random().toString(8), c$2 = "__d" + f$3, a$2 = "__a" + f$3, s$2 = /(PointerCapture)$|Capture$/i, h$3 = 0, p$3 = V$1(!1), v$2 = V$1(!0), y$3 = 0;
|
|
303
303
|
//#endregion
|
|
304
|
-
//#region ../../node_modules/.pnpm/preact@10.29.
|
|
304
|
+
//#region ../../node_modules/.pnpm/preact@10.29.2/node_modules/preact/hooks/dist/hooks.module.js
|
|
305
305
|
var t$1, r$1, u$2, i$2, o$2 = 0, f$2 = [], c$1 = l$3, e$1 = c$1.__b, a$1 = c$1.__r, v$1 = c$1.diffed, l$2 = c$1.__c, m$2 = c$1.unmount, s$1 = c$1.__;
|
|
306
306
|
function p$2(n, t) {
|
|
307
307
|
c$1.__h && c$1.__h(r$1, n, o$2 || t), o$2 = 0;
|
|
@@ -350,11 +350,11 @@
|
|
|
350
350
|
}
|
|
351
351
|
function y$2(n, u) {
|
|
352
352
|
var i = p$2(t$1++, 3);
|
|
353
|
-
!c$1.__s && C$
|
|
353
|
+
!c$1.__s && C$1(i.__H, u) && (i.__ = n, i.u = u, r$1.__H.__h.push(i));
|
|
354
354
|
}
|
|
355
355
|
function _$2(n, u) {
|
|
356
356
|
var i = p$2(t$1++, 4);
|
|
357
|
-
!c$1.__s && C$
|
|
357
|
+
!c$1.__s && C$1(i.__H, u) && (i.__ = n, i.u = u, r$1.__h.push(i));
|
|
358
358
|
}
|
|
359
359
|
function A$1(n) {
|
|
360
360
|
return o$2 = 5, T$1(function() {
|
|
@@ -376,7 +376,7 @@
|
|
|
376
376
|
}
|
|
377
377
|
function T$1(n, r) {
|
|
378
378
|
var u = p$2(t$1++, 7);
|
|
379
|
-
return C$
|
|
379
|
+
return C$1(u.__H, r) && (u.__ = n(), u.__H = r, u.__h = n), u.__;
|
|
380
380
|
}
|
|
381
381
|
function q$2(n, t) {
|
|
382
382
|
return o$2 = 8, T$1(function() {
|
|
@@ -407,7 +407,7 @@
|
|
|
407
407
|
}
|
|
408
408
|
return n.__;
|
|
409
409
|
}
|
|
410
|
-
function j$
|
|
410
|
+
function j$2() {
|
|
411
411
|
for (var n; n = f$2.shift();) {
|
|
412
412
|
var t = n.__H;
|
|
413
413
|
if (n.__P && t) try {
|
|
@@ -430,7 +430,7 @@
|
|
|
430
430
|
}, c$1.diffed = function(n) {
|
|
431
431
|
v$1 && v$1(n);
|
|
432
432
|
var t = n.__c;
|
|
433
|
-
t && t.__H && (t.__H.__h.length && (1 !== f$2.push(t) && i$2 === c$1.requestAnimationFrame || ((i$2 = c$1.requestAnimationFrame) || w$3)(j$
|
|
433
|
+
t && t.__H && (t.__H.__h.length && (1 !== f$2.push(t) && i$2 === c$1.requestAnimationFrame || ((i$2 = c$1.requestAnimationFrame) || w$3)(j$2)), t.__H.__.some(function(n) {
|
|
434
434
|
n.u && (n.__H = n.u), n.u = void 0;
|
|
435
435
|
})), u$2 = r$1 = null;
|
|
436
436
|
}, c$1.__c = function(n, t) {
|
|
@@ -471,7 +471,7 @@
|
|
|
471
471
|
var t = r$1;
|
|
472
472
|
n.__c = n.__(), r$1 = t;
|
|
473
473
|
}
|
|
474
|
-
function C$
|
|
474
|
+
function C$1(n, t) {
|
|
475
475
|
return !n || n.length !== t.length || t.some(function(t, r) {
|
|
476
476
|
return t !== n[r];
|
|
477
477
|
});
|
|
@@ -480,14 +480,14 @@
|
|
|
480
480
|
return "function" == typeof t ? t(n) : t;
|
|
481
481
|
}
|
|
482
482
|
//#endregion
|
|
483
|
-
//#region ../../node_modules/.pnpm/@preact+signals-core@1.14.
|
|
483
|
+
//#region ../../node_modules/.pnpm/@preact+signals-core@1.14.2/node_modules/@preact/signals-core/dist/signals-core.module.js
|
|
484
484
|
var i$1 = Symbol.for("preact-signals");
|
|
485
485
|
function t() {
|
|
486
486
|
if (!(s > 1)) {
|
|
487
487
|
var i, t = !1;
|
|
488
488
|
(function() {
|
|
489
|
-
var i =
|
|
490
|
-
|
|
489
|
+
var i = c;
|
|
490
|
+
c = void 0;
|
|
491
491
|
while (void 0 !== i) {
|
|
492
492
|
if (i.S.v === i.v) i.S.i = i.i;
|
|
493
493
|
i = i.o;
|
|
@@ -537,7 +537,7 @@
|
|
|
537
537
|
r = t;
|
|
538
538
|
}
|
|
539
539
|
}
|
|
540
|
-
var f$1, h$1 = void 0, s = 0, v = 0, u$1 = 0, e = 0,
|
|
540
|
+
var f$1, h$1 = void 0, s = 0, v = 0, u$1 = 0, e = 0, c = void 0, d$1 = 0;
|
|
541
541
|
function a(i) {
|
|
542
542
|
if (void 0 !== r) {
|
|
543
543
|
var t = i.n;
|
|
@@ -620,7 +620,7 @@
|
|
|
620
620
|
};
|
|
621
621
|
l$1.prototype.subscribe = function(i) {
|
|
622
622
|
var t = this;
|
|
623
|
-
return
|
|
623
|
+
return j$1(function() {
|
|
624
624
|
var n = t.value, o = r;
|
|
625
625
|
r = void 0;
|
|
626
626
|
try {
|
|
@@ -640,13 +640,10 @@
|
|
|
640
640
|
return this.value;
|
|
641
641
|
};
|
|
642
642
|
l$1.prototype.peek = function() {
|
|
643
|
-
var i =
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
} finally {
|
|
648
|
-
r = i;
|
|
649
|
-
}
|
|
643
|
+
var i = this;
|
|
644
|
+
return o$1(function() {
|
|
645
|
+
return i.value;
|
|
646
|
+
});
|
|
650
647
|
};
|
|
651
648
|
Object.defineProperty(l$1.prototype, "value", {
|
|
652
649
|
get: function() {
|
|
@@ -661,18 +658,18 @@
|
|
|
661
658
|
if (0 !== s && 0 === v) {
|
|
662
659
|
if (i.l !== e) {
|
|
663
660
|
i.l = e;
|
|
664
|
-
|
|
661
|
+
c = {
|
|
665
662
|
S: i,
|
|
666
663
|
v: i.v,
|
|
667
664
|
i: i.i,
|
|
668
|
-
o:
|
|
665
|
+
o: c
|
|
669
666
|
};
|
|
670
667
|
}
|
|
671
668
|
}
|
|
672
669
|
})(this);
|
|
673
670
|
this.v = i;
|
|
674
671
|
this.i++;
|
|
675
|
-
|
|
672
|
+
d$1++;
|
|
676
673
|
s++;
|
|
677
674
|
try {
|
|
678
675
|
for (var n = this.t; void 0 !== n; n = n.x) n.t.N();
|
|
@@ -720,7 +717,7 @@
|
|
|
720
717
|
l$1.call(this, void 0);
|
|
721
718
|
this.x = i;
|
|
722
719
|
this.s = void 0;
|
|
723
|
-
this.g =
|
|
720
|
+
this.g = d$1 - 1;
|
|
724
721
|
this.f = 4;
|
|
725
722
|
this.W = null == t ? void 0 : t.watched;
|
|
726
723
|
this.Z = null == t ? void 0 : t.unwatched;
|
|
@@ -732,8 +729,8 @@
|
|
|
732
729
|
if (1 & this.f) return !1;
|
|
733
730
|
if (32 == (36 & this.f)) return !0;
|
|
734
731
|
this.f &= -5;
|
|
735
|
-
if (this.g ===
|
|
736
|
-
this.g =
|
|
732
|
+
if (this.g === d$1) return !0;
|
|
733
|
+
this.g = d$1;
|
|
737
734
|
this.f |= 1;
|
|
738
735
|
if (this.i > 0 && !w$2(this)) {
|
|
739
736
|
this.f &= -2;
|
|
@@ -871,7 +868,7 @@
|
|
|
871
868
|
E$1.prototype.dispose = function() {
|
|
872
869
|
this.d();
|
|
873
870
|
};
|
|
874
|
-
function
|
|
871
|
+
function j$1(i, t) {
|
|
875
872
|
var n = new E$1(i, t);
|
|
876
873
|
try {
|
|
877
874
|
n.c();
|
|
@@ -884,9 +881,9 @@
|
|
|
884
881
|
return r;
|
|
885
882
|
}
|
|
886
883
|
//#endregion
|
|
887
|
-
//#region ../../node_modules/.pnpm/@preact+signals@2.9.
|
|
884
|
+
//#region ../../node_modules/.pnpm/@preact+signals@2.9.1_preact@10.29.2/node_modules/@preact/signals/dist/signals.module.js
|
|
888
885
|
var l, h, p = "undefined" != typeof window && !!window.__PREACT_SIGNALS_DEVTOOLS__, _ = [];
|
|
889
|
-
|
|
886
|
+
j$1(function() {
|
|
890
887
|
l = this.N;
|
|
891
888
|
})();
|
|
892
889
|
function g$1(i, r) {
|
|
@@ -914,7 +911,7 @@
|
|
|
914
911
|
return 0 === i ? 0 : !0 === i ? "" : i || "";
|
|
915
912
|
}), f = g$2(function() {
|
|
916
913
|
return !Array.isArray(o.value) && !t$2(o.value);
|
|
917
|
-
}), a =
|
|
914
|
+
}), a = j$1(function() {
|
|
918
915
|
this.N = F$1;
|
|
919
916
|
if (f.value) {
|
|
920
917
|
var n = o.value;
|
|
@@ -969,14 +966,14 @@
|
|
|
969
966
|
});
|
|
970
967
|
g$1("__r", function(i, n) {
|
|
971
968
|
i(n);
|
|
972
|
-
if (n.type !==
|
|
969
|
+
if (n.type !== S$1) {
|
|
973
970
|
b();
|
|
974
971
|
var r, o = n.__c;
|
|
975
972
|
if (o) {
|
|
976
973
|
o.__$f &= -2;
|
|
977
974
|
if (void 0 === (r = o.__$u)) o.__$u = r = function(i, n) {
|
|
978
975
|
var r;
|
|
979
|
-
|
|
976
|
+
j$1(function() {
|
|
980
977
|
r = this;
|
|
981
978
|
}, { name: n });
|
|
982
979
|
r.c = i;
|
|
@@ -1020,7 +1017,6 @@
|
|
|
1020
1017
|
e[a] = c;
|
|
1021
1018
|
} else c.o(v, o);
|
|
1022
1019
|
}
|
|
1023
|
-
for (var s in t) o[s] = t[s];
|
|
1024
1020
|
}
|
|
1025
1021
|
}
|
|
1026
1022
|
i(n);
|
|
@@ -1032,7 +1028,7 @@
|
|
|
1032
1028
|
e.value = i;
|
|
1033
1029
|
f = i.peek();
|
|
1034
1030
|
},
|
|
1035
|
-
d:
|
|
1031
|
+
d: j$1(function() {
|
|
1036
1032
|
this.N = F$1;
|
|
1037
1033
|
var r = e.value.value;
|
|
1038
1034
|
if (f !== r) {
|
|
@@ -1057,14 +1053,19 @@
|
|
|
1057
1053
|
}
|
|
1058
1054
|
}
|
|
1059
1055
|
}
|
|
1056
|
+
var f = n.__np;
|
|
1057
|
+
if (f) {
|
|
1058
|
+
var u = n.props;
|
|
1059
|
+
for (var a in f) u[a] = f[a];
|
|
1060
|
+
}
|
|
1060
1061
|
n.__np = void 0;
|
|
1061
1062
|
} else {
|
|
1062
|
-
var
|
|
1063
|
-
if (
|
|
1064
|
-
var
|
|
1065
|
-
if (
|
|
1066
|
-
|
|
1067
|
-
|
|
1063
|
+
var c = n.__c;
|
|
1064
|
+
if (c) {
|
|
1065
|
+
var v = c.__$u;
|
|
1066
|
+
if (v) {
|
|
1067
|
+
c.__$u = void 0;
|
|
1068
|
+
v.d();
|
|
1068
1069
|
}
|
|
1069
1070
|
}
|
|
1070
1071
|
}
|
|
@@ -1074,7 +1075,7 @@
|
|
|
1074
1075
|
if (t < 3 || 9 === t) n.__$f |= 2;
|
|
1075
1076
|
i(n, r, t);
|
|
1076
1077
|
});
|
|
1077
|
-
|
|
1078
|
+
C$2.prototype.shouldComponentUpdate = function(i, n) {
|
|
1078
1079
|
if (this.__R) return !0;
|
|
1079
1080
|
var r = this.__$u, t = r && void 0 !== r.s;
|
|
1080
1081
|
for (var o in n) return !0;
|
|
@@ -1110,22 +1111,22 @@
|
|
|
1110
1111
|
if (1 === _.push(this)) (l$3.requestAnimationFrame || q$1)(x$1);
|
|
1111
1112
|
}
|
|
1112
1113
|
//#endregion
|
|
1113
|
-
//#region ../../node_modules/.pnpm/preact@10.29.
|
|
1114
|
+
//#region ../../node_modules/.pnpm/preact@10.29.2/node_modules/preact/compat/dist/compat.module.js
|
|
1114
1115
|
var compat_module_exports = /* @__PURE__ */ __exportAll({
|
|
1115
1116
|
Children: () => L,
|
|
1116
|
-
Component: () =>
|
|
1117
|
-
Fragment: () =>
|
|
1117
|
+
Component: () => C$2,
|
|
1118
|
+
Fragment: () => S$1,
|
|
1118
1119
|
PureComponent: () => M,
|
|
1119
|
-
StrictMode: () =>
|
|
1120
|
+
StrictMode: () => S$1,
|
|
1120
1121
|
Suspense: () => P,
|
|
1121
1122
|
SuspenseList: () => B,
|
|
1122
1123
|
__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: () => fn,
|
|
1123
1124
|
cloneElement: () => mn,
|
|
1124
|
-
createContext: () =>
|
|
1125
|
-
createElement: () =>
|
|
1125
|
+
createContext: () => X$1,
|
|
1126
|
+
createElement: () => k$3,
|
|
1126
1127
|
createFactory: () => sn,
|
|
1127
1128
|
createPortal: () => $$1,
|
|
1128
|
-
createRef: () =>
|
|
1129
|
+
createRef: () => M$1,
|
|
1129
1130
|
default: () => gn,
|
|
1130
1131
|
findDOMNode: () => yn,
|
|
1131
1132
|
flushSync: () => bn,
|
|
@@ -1212,11 +1213,11 @@
|
|
|
1212
1213
|
return t != n.ref && t && ("function" == typeof t ? t(null) : t.current = null), e ? !e(this.props, n) || t != n.ref : E(this.props, n);
|
|
1213
1214
|
}
|
|
1214
1215
|
function u(e) {
|
|
1215
|
-
return this.shouldComponentUpdate = r,
|
|
1216
|
+
return this.shouldComponentUpdate = r, k$3(n, e);
|
|
1216
1217
|
}
|
|
1217
1218
|
return u.displayName = "Memo(" + (n.displayName || n.name) + ")", u.__f = u.prototype.isReactComponent = !0, u.type = n, u;
|
|
1218
1219
|
}
|
|
1219
|
-
(M.prototype = new
|
|
1220
|
+
(M.prototype = new C$2()).isPureReactComponent = !0, M.prototype.shouldComponentUpdate = function(n, t) {
|
|
1220
1221
|
return E(this.props, n) || E(this.state, t);
|
|
1221
1222
|
};
|
|
1222
1223
|
var T = l$3.__b;
|
|
@@ -1232,19 +1233,19 @@
|
|
|
1232
1233
|
return t.$$typeof = A, t.render = n, t.prototype.isReactComponent = t.__f = !0, t.displayName = "ForwardRef(" + (n.displayName || n.name) + ")", t;
|
|
1233
1234
|
}
|
|
1234
1235
|
var F = function(n, t) {
|
|
1235
|
-
return null == n ? null :
|
|
1236
|
+
return null == n ? null : F$3(F$3(n).map(t));
|
|
1236
1237
|
}, L = {
|
|
1237
1238
|
map: F,
|
|
1238
1239
|
forEach: F,
|
|
1239
1240
|
count: function(n) {
|
|
1240
|
-
return n ?
|
|
1241
|
+
return n ? F$3(n).length : 0;
|
|
1241
1242
|
},
|
|
1242
1243
|
only: function(n) {
|
|
1243
|
-
var t =
|
|
1244
|
+
var t = F$3(n);
|
|
1244
1245
|
if (1 !== t.length) throw "Children.only";
|
|
1245
1246
|
return t[0];
|
|
1246
1247
|
},
|
|
1247
|
-
toArray:
|
|
1248
|
+
toArray: F$3
|
|
1248
1249
|
}, O = l$3.__e;
|
|
1249
1250
|
l$3.__e = function(n, t, e, r) {
|
|
1250
1251
|
if (n.then) {
|
|
@@ -1281,7 +1282,7 @@
|
|
|
1281
1282
|
r = n, u = !0;
|
|
1282
1283
|
}), r) throw r;
|
|
1283
1284
|
if (!u) throw e;
|
|
1284
|
-
return o ?
|
|
1285
|
+
return o ? k$3(o, i) : null;
|
|
1285
1286
|
}
|
|
1286
1287
|
return i.displayName = "Lazy", i.__f = !0, i;
|
|
1287
1288
|
}
|
|
@@ -1291,7 +1292,7 @@
|
|
|
1291
1292
|
l$3.unmount = function(n) {
|
|
1292
1293
|
var t = n.__c;
|
|
1293
1294
|
t && (t.__z = !0), t && t.__R && t.__R(), t && 32 & n.__u && (n.type = null), U && U(n);
|
|
1294
|
-
}, (P.prototype = new
|
|
1295
|
+
}, (P.prototype = new C$2()).__c = function(n, t) {
|
|
1295
1296
|
var e = t.__c, r = this;
|
|
1296
1297
|
r.o ??= [], r.o.push(e);
|
|
1297
1298
|
var u = j(r.__v), o = !1, i = function() {
|
|
@@ -1321,8 +1322,8 @@
|
|
|
1321
1322
|
}
|
|
1322
1323
|
this.__b = null;
|
|
1323
1324
|
}
|
|
1324
|
-
var i = e.__a &&
|
|
1325
|
-
return i && (i.__u &= -33), [
|
|
1325
|
+
var i = e.__a && k$3(S$1, null, n.fallback);
|
|
1326
|
+
return i && (i.__u &= -33), [k$3(S$1, null, e.__a ? null : n.children), i];
|
|
1326
1327
|
};
|
|
1327
1328
|
var H = function(n, t, e) {
|
|
1328
1329
|
if (++e[1] === e[0] && n.l.delete(t), n.props.revealOrder && ("t" !== n.props.revealOrder[0] || !n.l.size)) for (e = n.i; e;) {
|
|
@@ -1339,7 +1340,7 @@
|
|
|
1339
1340
|
function Y(n) {
|
|
1340
1341
|
var e = this, r = n.h;
|
|
1341
1342
|
if (e.componentWillUnmount = function() {
|
|
1342
|
-
|
|
1343
|
+
R$1(null, e.v), e.v = null, e.h = null;
|
|
1343
1344
|
}, e.h && e.h !== r && e.componentWillUnmount(), !e.v) {
|
|
1344
1345
|
for (var u = e.__v; null !== u && !u.__m && null !== u.__;) u = u.__;
|
|
1345
1346
|
e.h = r, e.v = {
|
|
@@ -1359,16 +1360,16 @@
|
|
|
1359
1360
|
}
|
|
1360
1361
|
};
|
|
1361
1362
|
}
|
|
1362
|
-
|
|
1363
|
+
R$1(k$3(Z, { context: e.context }, n.__v), e.v);
|
|
1363
1364
|
}
|
|
1364
1365
|
function $$1(n, e) {
|
|
1365
|
-
var r =
|
|
1366
|
+
var r = k$3(Y, {
|
|
1366
1367
|
__v: n,
|
|
1367
1368
|
h: e
|
|
1368
1369
|
});
|
|
1369
1370
|
return r.containerInfo = e, r;
|
|
1370
1371
|
}
|
|
1371
|
-
(B.prototype = new
|
|
1372
|
+
(B.prototype = new C$2()).__a = function(n) {
|
|
1372
1373
|
var t = this, e = j(t.__v), r = t.l.get(n);
|
|
1373
1374
|
return r[0]++, function(u) {
|
|
1374
1375
|
var o = function() {
|
|
@@ -1378,7 +1379,7 @@
|
|
|
1378
1379
|
};
|
|
1379
1380
|
}, B.prototype.render = function(n) {
|
|
1380
1381
|
this.i = null, this.l = /* @__PURE__ */ new Map();
|
|
1381
|
-
var t =
|
|
1382
|
+
var t = F$3(n.children);
|
|
1382
1383
|
n.revealOrder && "b" === n.revealOrder[0] && t.reverse();
|
|
1383
1384
|
for (var e = t.length; e--;) this.l.set(t[e], this.i = [
|
|
1384
1385
|
1,
|
|
@@ -1396,17 +1397,17 @@
|
|
|
1396
1397
|
return ("undefined" != typeof Symbol && "symbol" == typeof Symbol() ? /fil|che|rad/ : /fil|che|ra/).test(n);
|
|
1397
1398
|
};
|
|
1398
1399
|
function nn(n, t, e) {
|
|
1399
|
-
return t.__k ?? (t.textContent = ""),
|
|
1400
|
+
return t.__k ?? (t.textContent = ""), R$1(n, t), "function" == typeof e && e(), n ? n.__c : null;
|
|
1400
1401
|
}
|
|
1401
1402
|
function tn(n, t, e) {
|
|
1402
|
-
return
|
|
1403
|
+
return U$1(n, t), "function" == typeof e && e(), n ? n.__c : null;
|
|
1403
1404
|
}
|
|
1404
|
-
|
|
1405
|
+
C$2.prototype.isReactComponent = !0, [
|
|
1405
1406
|
"componentWillMount",
|
|
1406
1407
|
"componentWillReceiveProps",
|
|
1407
1408
|
"componentWillUpdate"
|
|
1408
1409
|
].forEach(function(t) {
|
|
1409
|
-
Object.defineProperty(
|
|
1410
|
+
Object.defineProperty(C$2.prototype, t, {
|
|
1410
1411
|
configurable: !0,
|
|
1411
1412
|
get: function() {
|
|
1412
1413
|
return this["UNSAFE_" + t];
|
|
@@ -1444,9 +1445,9 @@
|
|
|
1444
1445
|
"defaultValue" === i && "value" in t && null == t.value ? i = "value" : "download" === i && !0 === l ? l = "" : "translate" === c && "no" === l ? l = !1 : "o" === c[0] && "n" === c[1] ? "ondoubleclick" === c ? i = "ondblclick" : "onchange" !== c || "input" !== e && "textarea" !== e || X(t.type) ? "onfocus" === c ? i = "onfocusin" : "onblur" === c ? i = "onfocusout" : J.test(i) && (i = c) : c = i = "oninput" : o && G.test(i) ? i = i.replace(K, "-$&").toLowerCase() : null === l && (l = void 0), "oninput" === c && u[i = c] && (i = "oninputCapture"), u[i] = l;
|
|
1445
1446
|
}
|
|
1446
1447
|
}
|
|
1447
|
-
"select" == e && (u.multiple && Array.isArray(u.value) && (u.value =
|
|
1448
|
+
"select" == e && (u.multiple && Array.isArray(u.value) && (u.value = F$3(t.children).forEach(function(n) {
|
|
1448
1449
|
n.props.selected = -1 != u.value.indexOf(n.props.value);
|
|
1449
|
-
})), null != u.defaultValue && (u.value =
|
|
1450
|
+
})), null != u.defaultValue && (u.value = F$3(t.children).forEach(function(n) {
|
|
1450
1451
|
n.props.selected = u.multiple ? -1 != u.defaultValue.indexOf(n.props.value) : u.defaultValue == n.props.value;
|
|
1451
1452
|
}))), t.class && !t.className ? (u.class = t.class, Object.defineProperty(u, "className", un)) : t.className && (u.class = u.className = t.className), n.props = u;
|
|
1452
1453
|
}(n), n.$$typeof = q, on && on(n);
|
|
@@ -1482,22 +1483,22 @@
|
|
|
1482
1483
|
useTransition: k
|
|
1483
1484
|
} } }, an = "18.3.1";
|
|
1484
1485
|
function sn(n) {
|
|
1485
|
-
return
|
|
1486
|
+
return k$3.bind(null, n);
|
|
1486
1487
|
}
|
|
1487
1488
|
function hn(n) {
|
|
1488
1489
|
return !!n && n.$$typeof === q;
|
|
1489
1490
|
}
|
|
1490
1491
|
function vn(n) {
|
|
1491
|
-
return hn(n) && n.type ===
|
|
1492
|
+
return hn(n) && n.type === S$1;
|
|
1492
1493
|
}
|
|
1493
1494
|
function dn(n) {
|
|
1494
1495
|
return !!n && "string" == typeof n.displayName && 0 == n.displayName.indexOf("Memo(");
|
|
1495
1496
|
}
|
|
1496
1497
|
function mn(n) {
|
|
1497
|
-
return hn(n) ?
|
|
1498
|
+
return hn(n) ? W$1.apply(null, arguments) : n;
|
|
1498
1499
|
}
|
|
1499
1500
|
function pn(n) {
|
|
1500
|
-
return !!n.__k && (
|
|
1501
|
+
return !!n.__k && (R$1(null, n), !0);
|
|
1501
1502
|
}
|
|
1502
1503
|
function yn(n) {
|
|
1503
1504
|
return n && (n.base || 1 === n.nodeType && n) || null;
|
|
@@ -1534,24 +1535,24 @@
|
|
|
1534
1535
|
hydrate: tn,
|
|
1535
1536
|
unmountComponentAtNode: pn,
|
|
1536
1537
|
createPortal: $$1,
|
|
1537
|
-
createElement:
|
|
1538
|
-
createContext:
|
|
1538
|
+
createElement: k$3,
|
|
1539
|
+
createContext: X$1,
|
|
1539
1540
|
createFactory: sn,
|
|
1540
1541
|
cloneElement: mn,
|
|
1541
|
-
createRef:
|
|
1542
|
-
Fragment:
|
|
1542
|
+
createRef: M$1,
|
|
1543
|
+
Fragment: S$1,
|
|
1543
1544
|
isValidElement: hn,
|
|
1544
1545
|
isElement: Sn,
|
|
1545
1546
|
isFragment: vn,
|
|
1546
1547
|
isMemo: dn,
|
|
1547
1548
|
findDOMNode: yn,
|
|
1548
|
-
Component:
|
|
1549
|
+
Component: C$2,
|
|
1549
1550
|
PureComponent: M,
|
|
1550
1551
|
memo: N,
|
|
1551
1552
|
forwardRef: D,
|
|
1552
1553
|
flushSync: bn,
|
|
1553
1554
|
unstable_batchedUpdates: _n,
|
|
1554
|
-
StrictMode:
|
|
1555
|
+
StrictMode: S$1,
|
|
1555
1556
|
Suspense: P,
|
|
1556
1557
|
SuspenseList: B,
|
|
1557
1558
|
lazy: z,
|
|
@@ -1591,7 +1592,7 @@
|
|
|
1591
1592
|
return q$2(composeRefs(...refs), refs);
|
|
1592
1593
|
}
|
|
1593
1594
|
//#endregion
|
|
1594
|
-
//#region ../../node_modules/.pnpm/preact@10.29.
|
|
1595
|
+
//#region ../../node_modules/.pnpm/preact@10.29.2/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
|
|
1595
1596
|
var f = 0;
|
|
1596
1597
|
Array.isArray;
|
|
1597
1598
|
function u(e, t, n, o, i, u) {
|
|
@@ -1621,7 +1622,7 @@
|
|
|
1621
1622
|
//#endregion
|
|
1622
1623
|
//#region ../../node_modules/.pnpm/@radix-ui+react-context@1.1.2_react@19.2.4/node_modules/@radix-ui/react-context/dist/index.mjs
|
|
1623
1624
|
function createContext2(rootComponentName, defaultContext) {
|
|
1624
|
-
const Context =
|
|
1625
|
+
const Context = X$1(defaultContext);
|
|
1625
1626
|
const Provider = (props) => {
|
|
1626
1627
|
const { children, ...context } = props;
|
|
1627
1628
|
const value = T$1(() => context, Object.values(context));
|
|
@@ -1642,7 +1643,7 @@
|
|
|
1642
1643
|
function createContextScope(scopeName, createContextScopeDeps = []) {
|
|
1643
1644
|
let defaultContexts = [];
|
|
1644
1645
|
function createContext3(rootComponentName, defaultContext) {
|
|
1645
|
-
const BaseContext =
|
|
1646
|
+
const BaseContext = X$1(defaultContext);
|
|
1646
1647
|
const index = defaultContexts.length;
|
|
1647
1648
|
defaultContexts = [...defaultContexts, defaultContext];
|
|
1648
1649
|
const Provider = (props) => {
|
|
@@ -1665,7 +1666,7 @@
|
|
|
1665
1666
|
}
|
|
1666
1667
|
const createScope = () => {
|
|
1667
1668
|
const scopeContexts = defaultContexts.map((defaultContext) => {
|
|
1668
|
-
return
|
|
1669
|
+
return X$1(defaultContext);
|
|
1669
1670
|
});
|
|
1670
1671
|
return function useScope(scope) {
|
|
1671
1672
|
const contexts = scope?.[scopeName] || scopeContexts;
|
|
@@ -1739,7 +1740,7 @@
|
|
|
1739
1740
|
if (hn(children)) {
|
|
1740
1741
|
const childrenRef = getElementRef$1(children);
|
|
1741
1742
|
const props2 = mergeProps(slotProps, children.props);
|
|
1742
|
-
if (children.type !==
|
|
1743
|
+
if (children.type !== S$1) props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;
|
|
1743
1744
|
return mn(children, props2);
|
|
1744
1745
|
}
|
|
1745
1746
|
return L.count(children) > 1 ? L.only(null) : null;
|
|
@@ -1751,7 +1752,7 @@
|
|
|
1751
1752
|
/* @__NO_SIDE_EFFECTS__ */
|
|
1752
1753
|
function createSlottable(ownerName) {
|
|
1753
1754
|
const Slottable2 = ({ children }) => {
|
|
1754
|
-
return /* @__PURE__ */ u(
|
|
1755
|
+
return /* @__PURE__ */ u(S$1, { children });
|
|
1755
1756
|
};
|
|
1756
1757
|
Slottable2.displayName = `${ownerName}.Slottable`;
|
|
1757
1758
|
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
|
@@ -1932,7 +1933,7 @@
|
|
|
1932
1933
|
var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
|
|
1933
1934
|
var FOCUS_OUTSIDE = "dismissableLayer.focusOutside";
|
|
1934
1935
|
var originalBodyPointerEvents;
|
|
1935
|
-
var DismissableLayerContext =
|
|
1936
|
+
var DismissableLayerContext = X$1({
|
|
1936
1937
|
layers: /* @__PURE__ */ new Set(),
|
|
1937
1938
|
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
|
1938
1939
|
branches: /* @__PURE__ */ new Set()
|
|
@@ -2585,7 +2586,7 @@
|
|
|
2585
2586
|
return node ? getAnnounceTextContent(node) : null;
|
|
2586
2587
|
}, [node]);
|
|
2587
2588
|
if (!context.viewport) return null;
|
|
2588
|
-
return /* @__PURE__ */ u(
|
|
2589
|
+
return /* @__PURE__ */ u(S$1, { children: [announceTextContent && /* @__PURE__ */ u(ToastAnnounce, {
|
|
2589
2590
|
__scopeToast,
|
|
2590
2591
|
role: "status",
|
|
2591
2592
|
"aria-live": type === "foreground" ? "assertive" : "polite",
|
|
@@ -2690,7 +2691,7 @@
|
|
|
2690
2691
|
asChild: true,
|
|
2691
2692
|
children: /* @__PURE__ */ u(VisuallyHidden, {
|
|
2692
2693
|
...announceProps,
|
|
2693
|
-
children: renderAnnounceText && /* @__PURE__ */ u(
|
|
2694
|
+
children: renderAnnounceText && /* @__PURE__ */ u(S$1, { children: [
|
|
2694
2695
|
context.label,
|
|
2695
2696
|
" ",
|
|
2696
2697
|
children
|
|
@@ -2885,7 +2886,7 @@
|
|
|
2885
2886
|
* Idempotent — calls render() which replaces any previous tree.
|
|
2886
2887
|
*/
|
|
2887
2888
|
function mountToastHost(root) {
|
|
2888
|
-
|
|
2889
|
+
R$1(/* @__PURE__ */ u(ToastHost, {}), root);
|
|
2889
2890
|
}
|
|
2890
2891
|
//#endregion
|
|
2891
2892
|
//#region src/lib/api/internal.ts
|
|
@@ -3799,7 +3800,7 @@
|
|
|
3799
3800
|
}
|
|
3800
3801
|
//#endregion
|
|
3801
3802
|
//#region ../../node_modules/.pnpm/@radix-ui+react-direction@1.1.1_react@19.2.4/node_modules/@radix-ui/react-direction/dist/index.mjs
|
|
3802
|
-
var DirectionContext =
|
|
3803
|
+
var DirectionContext = X$1(void 0);
|
|
3803
3804
|
function useDirection(localDir) {
|
|
3804
3805
|
const globalDir = x$3(DirectionContext);
|
|
3805
3806
|
return localDir || globalDir || "ltr";
|
|
@@ -4202,27 +4203,27 @@
|
|
|
4202
4203
|
function renderDevicesPanel(deps) {
|
|
4203
4204
|
const { summary, runDevice } = deps;
|
|
4204
4205
|
const items = Array.isArray(state.lastCoordinatorAdminDevices) ? state.lastCoordinatorAdminDevices : [];
|
|
4205
|
-
return
|
|
4206
|
+
return k$3(RadixTabsContent, {
|
|
4206
4207
|
className: "coordinator-admin-panel",
|
|
4207
4208
|
value: "devices"
|
|
4208
|
-
},
|
|
4209
|
+
}, k$3("h3", null, "Enrolled devices"), k$3("p", { class: "peer-submeta" }, summary.readiness === "ready" ? "Rename, disable, re-enable, or remove Team devices here. Space access is granted from Spaces below; Team membership alone does not share memories." : "Finish setup first. Device administration stays disabled until Teams is ready."), !items.length ? k$3("div", { class: "peer-meta" }, summary.readiness === "ready" ? "No enrolled devices found for the active coordinator group." : "Device administration will appear here once setup is complete.") : k$3("div", { class: "peer-list" }, items.map((item) => {
|
|
4209
4210
|
const copy = coordinatorAdminDeviceCardCopy(item, String(state.lastCoordinatorAdminStatus?.active_group || ""));
|
|
4210
4211
|
const { deviceId, displayName, teamId } = copy;
|
|
4211
4212
|
const pending = coordinatorAdminState.deviceActionPendingId === deviceId;
|
|
4212
4213
|
const draft = coordinatorAdminState.deviceRenameDrafts.get(deviceId) ?? String(item.display_name || "");
|
|
4213
4214
|
const enabled = item.enabled !== false && item.enabled !== 0;
|
|
4214
4215
|
const actionDisabled = !deviceId || pending || summary.readiness !== "ready";
|
|
4215
|
-
return
|
|
4216
|
+
return k$3("div", {
|
|
4216
4217
|
class: "peer-card peer-card--padded",
|
|
4217
4218
|
key: deviceId || String(item.fingerprint || "unknown")
|
|
4218
|
-
},
|
|
4219
|
+
}, k$3("div", { class: "peer-title" }, k$3("strong", null, displayName)), k$3("div", { class: "peer-submeta" }, copy.statusLabel), k$3("div", { class: "peer-meta" }, copy.advancedDetail), k$3("form", {
|
|
4219
4220
|
class: "coordinator-admin-form",
|
|
4220
4221
|
onSubmit: (event) => {
|
|
4221
4222
|
event.preventDefault();
|
|
4222
4223
|
if (actionDisabled) return;
|
|
4223
4224
|
runDevice(deviceId, teamId, displayName, "rename");
|
|
4224
4225
|
}
|
|
4225
|
-
},
|
|
4226
|
+
}, k$3("div", { class: "coordinator-admin-form-grid" }, k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Display name"), k$3(TextInput, {
|
|
4226
4227
|
class: "peer-scope-input",
|
|
4227
4228
|
disabled: summary.readiness !== "ready" || pending,
|
|
4228
4229
|
onInput: (event) => {
|
|
@@ -4230,21 +4231,21 @@
|
|
|
4230
4231
|
},
|
|
4231
4232
|
type: "text",
|
|
4232
4233
|
value: draft
|
|
4233
|
-
}))),
|
|
4234
|
+
}))), k$3("div", { class: "peer-actions" }, k$3("button", {
|
|
4234
4235
|
class: "settings-button",
|
|
4235
4236
|
disabled: actionDisabled,
|
|
4236
4237
|
type: "submit"
|
|
4237
|
-
}, pending && coordinatorAdminState.deviceActionPendingKind === "rename" ? "Renaming…" : "Rename"), enabled ?
|
|
4238
|
+
}, pending && coordinatorAdminState.deviceActionPendingKind === "rename" ? "Renaming…" : "Rename"), enabled ? k$3("button", {
|
|
4238
4239
|
class: "settings-button danger",
|
|
4239
4240
|
disabled: actionDisabled,
|
|
4240
4241
|
onClick: () => runDevice(deviceId, teamId, displayName, "disable"),
|
|
4241
4242
|
type: "button"
|
|
4242
|
-
}, pending && coordinatorAdminState.deviceActionPendingKind === "disable" ? "Disabling…" : "Disable") :
|
|
4243
|
+
}, pending && coordinatorAdminState.deviceActionPendingKind === "disable" ? "Disabling…" : "Disable") : k$3("button", {
|
|
4243
4244
|
class: "settings-button",
|
|
4244
4245
|
disabled: actionDisabled,
|
|
4245
4246
|
onClick: () => runDevice(deviceId, teamId, displayName, "enable"),
|
|
4246
4247
|
type: "button"
|
|
4247
|
-
}, pending && coordinatorAdminState.deviceActionPendingKind === "enable" ? "Enabling…" : "Enable"),
|
|
4248
|
+
}, pending && coordinatorAdminState.deviceActionPendingKind === "enable" ? "Enabling…" : "Enable"), k$3("button", {
|
|
4248
4249
|
class: "settings-button danger",
|
|
4249
4250
|
disabled: actionDisabled,
|
|
4250
4251
|
onClick: () => runDevice(deviceId, teamId, displayName, "remove"),
|
|
@@ -6862,7 +6863,7 @@
|
|
|
6862
6863
|
if (!sideCar) throw new Error("Sidecar: please provide `sideCar` property to import the right car");
|
|
6863
6864
|
var Target = sideCar.read();
|
|
6864
6865
|
if (!Target) throw new Error("Sidecar medium not found");
|
|
6865
|
-
return
|
|
6866
|
+
return k$3(Target, __assign({}, rest));
|
|
6866
6867
|
};
|
|
6867
6868
|
SideCar.isSideCarExport = true;
|
|
6868
6869
|
function exportSidecar(medium, exported) {
|
|
@@ -6903,7 +6904,7 @@
|
|
|
6903
6904
|
var SideCar = sideCar;
|
|
6904
6905
|
var containerRef = useMergeRefs([ref, parentRef]);
|
|
6905
6906
|
var containerProps = __assign(__assign({}, rest), callbacks);
|
|
6906
|
-
return
|
|
6907
|
+
return k$3(S$1, null, enabled && k$3(SideCar, {
|
|
6907
6908
|
sideCar: effectCar,
|
|
6908
6909
|
removeScrollBar,
|
|
6909
6910
|
shards,
|
|
@@ -6914,7 +6915,7 @@
|
|
|
6914
6915
|
allowPinchZoom: !!allowPinchZoom,
|
|
6915
6916
|
lockRef: ref,
|
|
6916
6917
|
gapMode
|
|
6917
|
-
}), forwardProps ? mn(L.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) :
|
|
6918
|
+
}), forwardProps ? mn(L.only(children), __assign(__assign({}, containerProps), { ref: containerRef })) : k$3(Container, __assign({}, containerProps, {
|
|
6918
6919
|
className,
|
|
6919
6920
|
ref: containerRef
|
|
6920
6921
|
}), children));
|
|
@@ -7081,7 +7082,7 @@
|
|
|
7081
7082
|
var RemoveScrollBar = function(_a) {
|
|
7082
7083
|
var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? "margin" : _b;
|
|
7083
7084
|
useLockAttribute();
|
|
7084
|
-
return
|
|
7085
|
+
return k$3(Style, { styles: getStyles(T$1(function() {
|
|
7085
7086
|
return getGapWidth(gapMode);
|
|
7086
7087
|
}, [gapMode]), !noRelative, gapMode, !noImportant ? "!important" : "") });
|
|
7087
7088
|
};
|
|
@@ -7321,7 +7322,7 @@
|
|
|
7321
7322
|
};
|
|
7322
7323
|
}, []);
|
|
7323
7324
|
var removeScrollBar = props.removeScrollBar, inert = props.inert;
|
|
7324
|
-
return
|
|
7325
|
+
return k$3(S$1, null, inert ? k$3(Style, { styles: generateStyle(id) }) : null, removeScrollBar ? k$3(RemoveScrollBar, {
|
|
7325
7326
|
noRelative: props.noRelative,
|
|
7326
7327
|
gapMode: props.gapMode
|
|
7327
7328
|
}) : null);
|
|
@@ -7343,7 +7344,7 @@
|
|
|
7343
7344
|
//#endregion
|
|
7344
7345
|
//#region ../../node_modules/.pnpm/react-remove-scroll@2.7.2_react@19.2.4/node_modules/react-remove-scroll/dist/es2015/Combination.js
|
|
7345
7346
|
var ReactRemoveScroll = D(function(props, ref) {
|
|
7346
|
-
return
|
|
7347
|
+
return k$3(RemoveScroll, __assign({}, props, {
|
|
7347
7348
|
ref,
|
|
7348
7349
|
sideCar: sidecar_default
|
|
7349
7350
|
}));
|
|
@@ -8205,7 +8206,7 @@
|
|
|
8205
8206
|
const contentRef = A$1(null);
|
|
8206
8207
|
const composedRefs = useComposedRefs(forwardedRef, contentRef);
|
|
8207
8208
|
useFocusGuards();
|
|
8208
|
-
return /* @__PURE__ */ u(
|
|
8209
|
+
return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(FocusScope, {
|
|
8209
8210
|
asChild: true,
|
|
8210
8211
|
loop: true,
|
|
8211
8212
|
trapped: trapFocus,
|
|
@@ -8221,7 +8222,7 @@
|
|
|
8221
8222
|
ref: composedRefs,
|
|
8222
8223
|
onDismiss: () => context.onOpenChange(false)
|
|
8223
8224
|
})
|
|
8224
|
-
}), /* @__PURE__ */ u(
|
|
8225
|
+
}), /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(TitleWarning, { titleId: context.titleId }), /* @__PURE__ */ u(DescriptionWarning, {
|
|
8225
8226
|
contentRef,
|
|
8226
8227
|
descriptionId: context.descriptionId
|
|
8227
8228
|
})] })] });
|
|
@@ -8932,7 +8933,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
8932
8933
|
...valueProps,
|
|
8933
8934
|
ref: composedRefs,
|
|
8934
8935
|
style: { pointerEvents: "none" },
|
|
8935
|
-
children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ u(
|
|
8936
|
+
children: shouldShowPlaceholder(context.value) ? /* @__PURE__ */ u(S$1, { children: placeholder }) : children
|
|
8936
8937
|
});
|
|
8937
8938
|
});
|
|
8938
8939
|
SelectValue.displayName = VALUE_NAME;
|
|
@@ -9326,7 +9327,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
9326
9327
|
const viewportContext = useSelectViewportContext(VIEWPORT_NAME, __scopeSelect);
|
|
9327
9328
|
const composedRefs = useComposedRefs(forwardedRef, contentContext.onViewportChange);
|
|
9328
9329
|
const prevScrollTopRef = A$1(0);
|
|
9329
|
-
return /* @__PURE__ */ u(
|
|
9330
|
+
return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("style", {
|
|
9330
9331
|
dangerouslySetInnerHTML: { __html: `[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}` },
|
|
9331
9332
|
nonce
|
|
9332
9333
|
}), /* @__PURE__ */ u(Collection$1.Slot, {
|
|
@@ -9499,7 +9500,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
9499
9500
|
onNativeOptionRemove,
|
|
9500
9501
|
nativeOption
|
|
9501
9502
|
]);
|
|
9502
|
-
return /* @__PURE__ */ u(
|
|
9503
|
+
return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(Primitive.span, {
|
|
9503
9504
|
id: itemContext.textId,
|
|
9504
9505
|
...itemTextProps,
|
|
9505
9506
|
ref: composedRefs
|
|
@@ -9796,7 +9797,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
9796
9797
|
const mergeCandidates = request.actors.filter((actor) => actor.actorId !== primaryActorId);
|
|
9797
9798
|
const secondary = mergeCandidates.find((actor) => actor.actorId === secondaryActorId) || mergeCandidates[0];
|
|
9798
9799
|
const primaryOptions = request.actors.map((actor) => ({
|
|
9799
|
-
label: /* @__PURE__ */ u(
|
|
9800
|
+
label: /* @__PURE__ */ u(S$1, { children: [actor.label, actor.isLocal ? " (You)" : ""] }),
|
|
9800
9801
|
value: actor.actorId
|
|
9801
9802
|
}));
|
|
9802
9803
|
const mergeOptions = mergeCandidates.map((actor) => ({
|
|
@@ -10101,7 +10102,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10101
10102
|
dialogMount.id = "syncDialogMount";
|
|
10102
10103
|
document.body.appendChild(dialogMount);
|
|
10103
10104
|
}
|
|
10104
|
-
|
|
10105
|
+
R$1(/* @__PURE__ */ u(SyncDialogHost, {}), dialogMount);
|
|
10105
10106
|
}
|
|
10106
10107
|
function openSyncConfirmDialog(request) {
|
|
10107
10108
|
ensureSyncDialogHost();
|
|
@@ -10406,22 +10407,22 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10406
10407
|
function renderMembershipRows(groupId, scope, draft, ready, renderShell) {
|
|
10407
10408
|
const scopeId = String(scope.scope_id || "").trim();
|
|
10408
10409
|
const rows = deriveScopeMembershipDeviceRows(coordinatorAdminDevicesForGroup(draft.devices, state.lastCoordinatorAdminDevices, groupId, draft.devicesLoaded), draft.membersByScope.get(scopeId) ?? []);
|
|
10409
|
-
if (!rows.length) return
|
|
10410
|
-
return
|
|
10410
|
+
if (!rows.length) return k$3("div", { class: "peer-submeta coordinator-admin-empty-state" }, "No enrolled devices in this Team yet. Enroll a device before granting this Space.");
|
|
10411
|
+
return k$3("div", { class: "coordinator-admin-scope-member-list" }, rows.map((row) => {
|
|
10411
10412
|
const pendingKey = `${draft.actionPendingKind}:${scopeId}:${row.deviceId}`;
|
|
10412
10413
|
const pending = draft.actionPendingKey === pendingKey;
|
|
10413
10414
|
const canGrant = row.enabled && row.status !== "active";
|
|
10414
10415
|
const canRevoke = row.status === "active";
|
|
10415
10416
|
const copy = spaceAccessDeviceCopy(row);
|
|
10416
|
-
return
|
|
10417
|
+
return k$3("div", {
|
|
10417
10418
|
class: "coordinator-admin-scope-member-row",
|
|
10418
10419
|
key: row.deviceId
|
|
10419
|
-
},
|
|
10420
|
+
}, k$3("div", { class: "coordinator-admin-scope-member-copy" }, k$3("strong", null, row.displayName), k$3("span", null, copy.detail), k$3("span", { class: "peer-meta" }, copy.advancedDetail), row.enabled ? null : k$3("span", null, "Device is disabled in this Team.")), k$3("div", { class: "peer-actions" }, canGrant ? k$3("button", {
|
|
10420
10421
|
class: "settings-button",
|
|
10421
10422
|
disabled: !ready || Boolean(draft.actionPendingKey),
|
|
10422
10423
|
onClick: () => void grantMember(groupId, scopeId, row.deviceId, renderShell),
|
|
10423
10424
|
type: "button"
|
|
10424
|
-
}, pending && draft.actionPendingKind === "grant" ? "Granting…" : "Grant access") : null, canRevoke ?
|
|
10425
|
+
}, pending && draft.actionPendingKind === "grant" ? "Granting…" : "Grant access") : null, canRevoke ? k$3("button", {
|
|
10425
10426
|
class: "settings-button danger",
|
|
10426
10427
|
disabled: !ready || Boolean(draft.actionPendingKey),
|
|
10427
10428
|
onClick: () => void revokeMember(groupId, scope, row.deviceId, row.displayName, renderShell),
|
|
@@ -10432,23 +10433,23 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10432
10433
|
function renderScopeCard(groupId, scope, draft, ready, renderShell) {
|
|
10433
10434
|
const scopeId = String(scope.scope_id || "").trim();
|
|
10434
10435
|
const copy = spaceCardCopy(scope);
|
|
10435
|
-
return
|
|
10436
|
+
return k$3("div", {
|
|
10436
10437
|
class: "peer-card peer-card--padded coordinator-admin-scope-card",
|
|
10437
10438
|
key: scopeId || copy.title
|
|
10438
|
-
},
|
|
10439
|
+
}, k$3("div", { class: "peer-title" }, k$3("strong", null, copy.title)), k$3("div", { class: "peer-submeta" }, copy.summary), k$3("div", { class: "peer-meta" }, copy.advancedDetail), k$3("div", { class: "peer-submeta" }, "Devices below are enrolled in the Team; only active Space members can sync this data boundary."), renderMembershipRows(groupId, scope, draft, ready, renderShell));
|
|
10439
10440
|
}
|
|
10440
10441
|
function renderGroupScopeManagementPanel(deps) {
|
|
10441
10442
|
const { groupId, ready, summary, renderShell } = deps;
|
|
10442
10443
|
const draft = coordinatorAdminState.groupScopeManagementDrafts.get(groupId);
|
|
10443
10444
|
if (!draft) return null;
|
|
10444
10445
|
const readinessMessage = scopeManagementReadinessMessage(summary);
|
|
10445
|
-
if (readinessMessage) return
|
|
10446
|
-
if (!draft.loaded) return
|
|
10446
|
+
if (readinessMessage) return k$3("div", { class: "peer-meta coordinator-admin-inline-warning" }, readinessMessage);
|
|
10447
|
+
if (!draft.loaded) return k$3("div", { class: "peer-submeta" }, "Loading Spaces…");
|
|
10447
10448
|
const disabled = !ready || Boolean(draft.actionPendingKey) || draft.loading;
|
|
10448
|
-
return
|
|
10449
|
+
return k$3(S$1, null, k$3("h4", { class: "coordinator-admin-drawer-title" }, "Spaces"), k$3("div", { class: "peer-submeta" }, "Teams discover and enroll devices. Spaces grant data access. Granting a device here is explicit; Team membership alone does not share memories."), k$3("label", { class: "coordinator-admin-inline-filter" }, k$3("span", {
|
|
10449
10450
|
class: "section-meta",
|
|
10450
10451
|
id: `coord-admin-domain-inactive-${groupId}`
|
|
10451
|
-
}, "Show inactive Spaces"),
|
|
10452
|
+
}, "Show inactive Spaces"), k$3(RadixSwitch, {
|
|
10452
10453
|
"aria-labelledby": `coord-admin-domain-inactive-${groupId}`,
|
|
10453
10454
|
checked: draft.includeInactive,
|
|
10454
10455
|
className: "coordinator-admin-switch",
|
|
@@ -10457,14 +10458,14 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10457
10458
|
loadGroupScopeManagement(groupId, renderShell, checked);
|
|
10458
10459
|
},
|
|
10459
10460
|
thumbClassName: "coordinator-admin-switch-thumb"
|
|
10460
|
-
})),
|
|
10461
|
+
})), k$3("form", {
|
|
10461
10462
|
class: "coordinator-admin-form",
|
|
10462
10463
|
onSubmit: (event) => {
|
|
10463
10464
|
event.preventDefault();
|
|
10464
10465
|
if (disabled) return;
|
|
10465
10466
|
createScope(groupId, renderShell);
|
|
10466
10467
|
}
|
|
10467
|
-
},
|
|
10468
|
+
}, k$3("div", { class: "coordinator-admin-form-grid" }, k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "New Space id"), k$3(TextInput, {
|
|
10468
10469
|
class: "peer-scope-input",
|
|
10469
10470
|
disabled,
|
|
10470
10471
|
onInput: (event) => {
|
|
@@ -10476,7 +10477,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10476
10477
|
placeholder: "acme-work",
|
|
10477
10478
|
type: "text",
|
|
10478
10479
|
value: draft.createScopeId
|
|
10479
|
-
})),
|
|
10480
|
+
})), k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Label"), k$3(TextInput, {
|
|
10480
10481
|
class: "peer-scope-input",
|
|
10481
10482
|
disabled,
|
|
10482
10483
|
onInput: (event) => {
|
|
@@ -10488,7 +10489,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10488
10489
|
placeholder: "Acme Work",
|
|
10489
10490
|
type: "text",
|
|
10490
10491
|
value: draft.createLabel
|
|
10491
|
-
})),
|
|
10492
|
+
})), k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Kind"), k$3(TextInput, {
|
|
10492
10493
|
class: "peer-scope-input",
|
|
10493
10494
|
disabled,
|
|
10494
10495
|
onInput: (event) => {
|
|
@@ -10500,21 +10501,21 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10500
10501
|
placeholder: "team",
|
|
10501
10502
|
type: "text",
|
|
10502
10503
|
value: draft.createKind
|
|
10503
|
-
}))),
|
|
10504
|
+
}))), k$3("div", { class: "peer-actions" }, k$3("button", {
|
|
10504
10505
|
class: "settings-button",
|
|
10505
10506
|
disabled,
|
|
10506
10507
|
type: "submit"
|
|
10507
|
-
}, draft.actionPendingKind === "create" ? "Creating…" : "Create Space"),
|
|
10508
|
+
}, draft.actionPendingKind === "create" ? "Creating…" : "Create Space"), k$3("button", {
|
|
10508
10509
|
class: "settings-button",
|
|
10509
10510
|
disabled,
|
|
10510
10511
|
onClick: () => void loadGroupScopeManagement(groupId, renderShell, draft.includeInactive),
|
|
10511
10512
|
type: "button"
|
|
10512
|
-
}, draft.loading ? "Refreshing…" : "Refresh"))), draft.error ?
|
|
10513
|
+
}, draft.loading ? "Refreshing…" : "Refresh"))), draft.error ? k$3("div", { class: "peer-submeta coordinator-admin-error" }, draft.error) : null, draft.scopes.length ? k$3("div", { class: "coordinator-admin-scope-card-list" }, draft.scopes.map((scope) => renderScopeCard(groupId, scope, draft, ready, renderShell))) : k$3("div", { class: "peer-meta coordinator-admin-empty-state" }, "No Spaces are defined for this Team yet. Create a Space, then grant specific devices. Projects stay local-only until assigned to a Space."));
|
|
10513
10514
|
}
|
|
10514
10515
|
//#endregion
|
|
10515
10516
|
//#region src/tabs/coordinator-admin/components/groups-panel.ts
|
|
10516
10517
|
function ChevronRightIcon$1() {
|
|
10517
|
-
return
|
|
10518
|
+
return k$3("svg", {
|
|
10518
10519
|
"aria-hidden": "true",
|
|
10519
10520
|
fill: "none",
|
|
10520
10521
|
stroke: "currentColor",
|
|
@@ -10523,7 +10524,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10523
10524
|
"stroke-width": "2",
|
|
10524
10525
|
viewBox: "0 0 24 24",
|
|
10525
10526
|
xmlns: "http://www.w3.org/2000/svg"
|
|
10526
|
-
},
|
|
10527
|
+
}, k$3("title", null, "Chevron"), k$3("path", { d: "m9 18 6-6-6-6" }));
|
|
10527
10528
|
}
|
|
10528
10529
|
function emptyDraft() {
|
|
10529
10530
|
return {
|
|
@@ -10603,16 +10604,16 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10603
10604
|
function renderGroupPreferencesEditor(groupId, renderShell, ready) {
|
|
10604
10605
|
const draft = coordinatorAdminState.groupPreferencesDrafts.get(groupId);
|
|
10605
10606
|
if (!draft) return null;
|
|
10606
|
-
if (!draft.loaded) return
|
|
10607
|
+
if (!draft.loaded) return k$3("div", { class: "peer-submeta" }, "Loading project defaults…");
|
|
10607
10608
|
const autoSeedLabelId = `coord-admin-scope-autoseed-${groupId}`;
|
|
10608
10609
|
const autoGrantLabelId = `coord-admin-default-space-autogrant-${groupId}`;
|
|
10609
10610
|
const includeLabelId = `coord-admin-scope-include-${groupId}`;
|
|
10610
10611
|
const excludeLabelId = `coord-admin-scope-exclude-${groupId}`;
|
|
10611
10612
|
const fieldsDisabled = !ready || draft.saving || !draft.auto_seed_scope;
|
|
10612
|
-
return
|
|
10613
|
+
return k$3(S$1, null, k$3("h4", { class: "coordinator-admin-drawer-title" }, "Team defaults"), k$3("div", { class: "peer-submeta" }, "Space access grants decide what new devices can sync. Advanced sharing rules only narrow future writes after Space access already exists."), k$3("label", { class: "coordinator-admin-inline-filter" }, k$3("span", {
|
|
10613
10614
|
class: "section-meta",
|
|
10614
10615
|
id: autoSeedLabelId
|
|
10615
|
-
}, "Auto-apply advanced rules to new devices"),
|
|
10616
|
+
}, "Auto-apply advanced rules to new devices"), k$3(RadixSwitch, {
|
|
10616
10617
|
"aria-labelledby": autoSeedLabelId,
|
|
10617
10618
|
checked: draft.auto_seed_scope,
|
|
10618
10619
|
className: "coordinator-admin-switch",
|
|
@@ -10626,10 +10627,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10626
10627
|
renderShell();
|
|
10627
10628
|
},
|
|
10628
10629
|
thumbClassName: "coordinator-admin-switch-thumb"
|
|
10629
|
-
})),
|
|
10630
|
+
})), k$3("label", { class: "coordinator-admin-inline-filter" }, k$3("span", {
|
|
10630
10631
|
class: "section-meta",
|
|
10631
10632
|
id: autoGrantLabelId
|
|
10632
|
-
}, "Auto-grant default Space on join"),
|
|
10633
|
+
}, "Auto-grant default Space on join"), k$3(RadixSwitch, {
|
|
10633
10634
|
"aria-labelledby": autoGrantLabelId,
|
|
10634
10635
|
checked: draft.auto_grant_default_space_on_join,
|
|
10635
10636
|
className: "coordinator-admin-switch",
|
|
@@ -10643,7 +10644,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10643
10644
|
renderShell();
|
|
10644
10645
|
},
|
|
10645
10646
|
thumbClassName: "coordinator-admin-switch-thumb"
|
|
10646
|
-
})), draft.default_space_scope_id ?
|
|
10647
|
+
})), draft.default_space_scope_id ? k$3("div", { class: "peer-submeta" }, "Default Space configured.") : k$3("div", { class: "peer-submeta" }, "No default Space has been created yet."), k$3("div", { class: "coordinator-admin-field" }, k$3("span", { id: includeLabelId }, "Include template"), k$3(ProjectScopePicker, {
|
|
10647
10648
|
"aria-labelledby": includeLabelId,
|
|
10648
10649
|
availableProjects: coordinatorAdminState.availableProjects,
|
|
10649
10650
|
disabled: fieldsDisabled,
|
|
@@ -10658,7 +10659,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10658
10659
|
},
|
|
10659
10660
|
placeholder: "Add project",
|
|
10660
10661
|
values: draft.projects_include
|
|
10661
|
-
}),
|
|
10662
|
+
}), k$3("span", { class: "peer-submeta" }, "Leave empty to allow every project inside the granted Space. Type to search or create a new name.")), k$3("div", { class: "coordinator-admin-field" }, k$3("span", { id: excludeLabelId }, "Exclude template"), k$3(ProjectScopePicker, {
|
|
10662
10663
|
"aria-labelledby": excludeLabelId,
|
|
10663
10664
|
availableProjects: coordinatorAdminState.availableProjects,
|
|
10664
10665
|
disabled: fieldsDisabled,
|
|
@@ -10673,12 +10674,12 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10673
10674
|
},
|
|
10674
10675
|
placeholder: "Add project",
|
|
10675
10676
|
values: draft.projects_exclude
|
|
10676
|
-
})), draft.error ?
|
|
10677
|
+
})), draft.error ? k$3("div", { class: "peer-submeta coordinator-admin-error" }, draft.error) : null, k$3("div", { class: "peer-actions" }, k$3("button", {
|
|
10677
10678
|
class: "settings-button",
|
|
10678
10679
|
disabled: !ready || draft.saving,
|
|
10679
10680
|
onClick: () => void saveGroupPreferences(groupId, renderShell),
|
|
10680
10681
|
type: "button"
|
|
10681
|
-
}, draft.saving ? "Saving…" : "Save defaults"),
|
|
10682
|
+
}, draft.saving ? "Saving…" : "Save defaults"), k$3("button", {
|
|
10682
10683
|
class: "settings-button",
|
|
10683
10684
|
disabled: draft.saving,
|
|
10684
10685
|
onClick: () => closeGroupPreferences(groupId, renderShell),
|
|
@@ -10693,20 +10694,20 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10693
10694
|
default_space: "default Space setup",
|
|
10694
10695
|
default_space_grant: "default Space access grant"
|
|
10695
10696
|
}[guide.setupWarning?.step || ""] || "default Space setup";
|
|
10696
|
-
return
|
|
10697
|
+
return k$3("div", { class: "peer-meta coordinator-admin-empty-state" }, k$3("h4", { class: "coordinator-admin-drawer-title" }, `Set up ${title}`), k$3("div", { class: "peer-submeta" }, "A Team organizes people and devices. The default Space is the memory boundary; Team membership only grants data access when default Space auto-grant is enabled."), guide.setupWarning ? k$3("div", { class: "peer-meta coordinator-admin-inline-warning" }, `Team created, but ${warningStep} failed. Automatic repair is not available yet; use Spaces to inspect or create access manually before inviting teammates.`) : k$3("div", { class: "peer-submeta" }, guide.defaultSpaceScopeId ? guide.defaultSpaceLabel ? `Default Space ready: ${guide.defaultSpaceLabel}. New devices can receive this Space when auto-grant is enabled.` : "Default Space ready. New devices can receive this Space when auto-grant is enabled." : "Default Space status is unknown. Check Spaces before inviting teammates."), k$3("ol", { class: "peer-submeta" }, k$3("li", null, "Review Team defaults and the auto-grant default Space setting."), k$3("li", null, "Invite teammates or other devices."), k$3("li", null, "Assign projects to Spaces from the Projects tab.")), k$3("div", { class: "peer-actions" }, k$3("button", {
|
|
10697
10698
|
class: "settings-button",
|
|
10698
10699
|
onClick: () => {
|
|
10699
10700
|
coordinatorAdminState.groupPreferencesOpen.add(guide.groupId);
|
|
10700
10701
|
openGroupPreferences(guide.groupId, renderShell);
|
|
10701
10702
|
},
|
|
10702
10703
|
type: "button"
|
|
10703
|
-
}, "Review Team defaults"),
|
|
10704
|
+
}, "Review Team defaults"), k$3("button", {
|
|
10704
10705
|
class: "settings-button",
|
|
10705
10706
|
onClick: () => {
|
|
10706
10707
|
openGroupScopeManagement(guide.groupId, renderShell);
|
|
10707
10708
|
},
|
|
10708
10709
|
type: "button"
|
|
10709
|
-
}, "Check Spaces"),
|
|
10710
|
+
}, "Check Spaces"), k$3("button", {
|
|
10710
10711
|
class: "settings-button",
|
|
10711
10712
|
onClick: () => {
|
|
10712
10713
|
coordinatorAdminState.inviteGroup = guide.groupId;
|
|
@@ -10714,13 +10715,13 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10714
10715
|
renderShell();
|
|
10715
10716
|
},
|
|
10716
10717
|
type: "button"
|
|
10717
|
-
}, "Invite devices"),
|
|
10718
|
+
}, "Invite devices"), k$3("button", {
|
|
10718
10719
|
class: "settings-button",
|
|
10719
10720
|
onClick: () => {
|
|
10720
10721
|
window.location.hash = "projects";
|
|
10721
10722
|
},
|
|
10722
10723
|
type: "button"
|
|
10723
|
-
}, "Assign projects"),
|
|
10724
|
+
}, "Assign projects"), k$3("button", {
|
|
10724
10725
|
class: "settings-button",
|
|
10725
10726
|
onClick: () => {
|
|
10726
10727
|
coordinatorAdminState.teamSetupGuide = null;
|
|
@@ -10744,19 +10745,19 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10744
10745
|
const targetExists = selectedGroup ? groups.some((group) => group.group_id === selectedGroup) : false;
|
|
10745
10746
|
const countParts = [`${activeGroups.length} active`];
|
|
10746
10747
|
if (archivedGroups.length) countParts.push(`${archivedGroups.length} archived`);
|
|
10747
|
-
return
|
|
10748
|
+
return k$3(RadixTabsContent, {
|
|
10748
10749
|
className: "coordinator-admin-panel",
|
|
10749
10750
|
value: "groups"
|
|
10750
|
-
},
|
|
10751
|
+
}, k$3("h3", null, "Teams"), k$3("p", { class: "peer-submeta" }, selectedGroup ? `Managing ${selectedGroup}${configuredGroup && configuredGroup !== selectedGroup ? ` · this node uses ${configuredGroup} for discovery` : ""}` : configuredGroup ? `This node uses ${configuredGroup} for discovery. Select a Team below to manage it.` : "No Team selected yet. Create one or select an existing Team to manage."), groups.length ? k$3("p", { class: "peer-submeta" }, countParts.join(" · ")) : null, !targetExists && selectedGroup ? k$3("div", { class: "peer-meta coordinator-admin-inline-warning" }, `The selected Team (${selectedGroup}) is configured locally but does not exist in the coordinator yet. Create it below or switch to another Team once one exists.`) : null, renderTeamSetupGuide(renderShell), (() => {
|
|
10751
10752
|
const createGroupDisabled = summary.readiness !== "ready" || coordinatorAdminState.groupActionPendingKind === "create";
|
|
10752
|
-
return
|
|
10753
|
+
return k$3("form", {
|
|
10753
10754
|
class: "coordinator-admin-form",
|
|
10754
10755
|
onSubmit: (event) => {
|
|
10755
10756
|
event.preventDefault();
|
|
10756
10757
|
if (createGroupDisabled) return;
|
|
10757
10758
|
createGroup();
|
|
10758
10759
|
}
|
|
10759
|
-
},
|
|
10760
|
+
}, k$3("div", { class: "coordinator-admin-form-grid" }, k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "New Team id"), k$3(TextInput, {
|
|
10760
10761
|
class: "peer-scope-input",
|
|
10761
10762
|
disabled: createGroupDisabled,
|
|
10762
10763
|
onInput: (event) => {
|
|
@@ -10765,7 +10766,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10765
10766
|
placeholder: "team-alpha",
|
|
10766
10767
|
type: "text",
|
|
10767
10768
|
value: coordinatorAdminState.createGroupId
|
|
10768
|
-
})),
|
|
10769
|
+
})), k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Display name"), k$3(TextInput, {
|
|
10769
10770
|
class: "peer-scope-input",
|
|
10770
10771
|
disabled: createGroupDisabled,
|
|
10771
10772
|
onInput: (event) => {
|
|
@@ -10774,14 +10775,14 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10774
10775
|
placeholder: "Team Alpha",
|
|
10775
10776
|
type: "text",
|
|
10776
10777
|
value: coordinatorAdminState.createGroupDisplayName
|
|
10777
|
-
}))),
|
|
10778
|
+
}))), k$3("div", { class: "section-actions coordinator-admin-groups-toolbar" }, k$3("div", { class: "coordinator-admin-primary-actions" }, k$3("button", {
|
|
10778
10779
|
class: "settings-button",
|
|
10779
10780
|
disabled: createGroupDisabled,
|
|
10780
10781
|
type: "submit"
|
|
10781
|
-
}, coordinatorAdminState.groupActionPendingKind === "create" ? "Creating…" : "Create Team")),
|
|
10782
|
+
}, coordinatorAdminState.groupActionPendingKind === "create" ? "Creating…" : "Create Team")), k$3("div", { class: "coordinator-admin-secondary-actions" }, k$3("label", { class: "coordinator-admin-inline-filter" }, k$3("span", {
|
|
10782
10783
|
class: "section-meta",
|
|
10783
10784
|
id: "coordinatorAdminShowArchivedLabel"
|
|
10784
|
-
}, "Show archived"),
|
|
10785
|
+
}, "Show archived"), k$3(RadixSwitch, {
|
|
10785
10786
|
"aria-labelledby": "coordinatorAdminShowArchivedLabel",
|
|
10786
10787
|
checked: coordinatorAdminState.showArchivedGroups,
|
|
10787
10788
|
className: "coordinator-admin-switch",
|
|
@@ -10792,7 +10793,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10792
10793
|
},
|
|
10793
10794
|
thumbClassName: "coordinator-admin-switch-thumb"
|
|
10794
10795
|
})))));
|
|
10795
|
-
})(), !visibleGroups.length ?
|
|
10796
|
+
})(), !visibleGroups.length ? k$3("div", { class: "peer-meta coordinator-admin-empty-state" }, summary.readiness === "ready" ? coordinatorAdminState.showArchivedGroups ? "No Teams are available yet." : "No active Teams yet. Create one to get started." : "Team browsing will appear here once setup is complete.") : k$3("div", { class: "peer-list" }, visibleGroups.map((group) => {
|
|
10796
10797
|
const selected = group.group_id === selectedGroup;
|
|
10797
10798
|
const pending = coordinatorAdminState.groupActionPendingId === group.group_id;
|
|
10798
10799
|
const archived = Boolean(group.archived_at);
|
|
@@ -10807,10 +10808,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10807
10808
|
scopeManagement: coordinatorAdminState.groupScopeManagementDrafts.get(group.group_id),
|
|
10808
10809
|
setupGuide: coordinatorAdminState.teamSetupGuide
|
|
10809
10810
|
});
|
|
10810
|
-
return
|
|
10811
|
+
return k$3("div", {
|
|
10811
10812
|
class: "peer-card peer-card--padded",
|
|
10812
10813
|
key: group.group_id
|
|
10813
|
-
},
|
|
10814
|
+
}, k$3("div", { class: "peer-title" }, k$3("strong", null, draftName)), k$3("div", { class: "peer-submeta" }, archived ? "Archived Team" : "Active Team"), k$3("div", { class: "peer-meta" }, `Advanced: Team ID ${group.group_id}`), k$3("div", { class: "coordinator-admin-summary-grid" }, k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Default Space"), k$3("strong", null, overview.defaultSpace)), k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Auto-grant"), k$3("strong", null, overview.autoGrant)), k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Spaces"), k$3("strong", null, overview.spaces))), configuredGroup === group.group_id ? k$3("div", { class: "peer-submeta" }, "This node uses this Team for coordinator-backed discovery.") : null, k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Display name"), k$3(TextInput, {
|
|
10814
10815
|
class: "peer-scope-input",
|
|
10815
10816
|
disabled: summary.readiness !== "ready" || pending,
|
|
10816
10817
|
onInput: (event) => {
|
|
@@ -10818,7 +10819,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10818
10819
|
},
|
|
10819
10820
|
type: "text",
|
|
10820
10821
|
value: draftName
|
|
10821
|
-
})),
|
|
10822
|
+
})), k$3("div", { class: "peer-actions" }, k$3("button", {
|
|
10822
10823
|
class: "settings-button",
|
|
10823
10824
|
disabled: summary.readiness !== "ready" || selected,
|
|
10824
10825
|
onClick: () => {
|
|
@@ -10826,12 +10827,12 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10826
10827
|
reloadData();
|
|
10827
10828
|
},
|
|
10828
10829
|
type: "button"
|
|
10829
|
-
}, selected ? "Managing" : "Manage Team"),
|
|
10830
|
+
}, selected ? "Managing" : "Manage Team"), k$3("button", {
|
|
10830
10831
|
class: "settings-button",
|
|
10831
10832
|
disabled: summary.readiness !== "ready" || pending,
|
|
10832
10833
|
onClick: () => runGroup(group.group_id, draftName, "rename"),
|
|
10833
10834
|
type: "button"
|
|
10834
|
-
}, pending && coordinatorAdminState.groupActionPendingKind === "rename" ? "Renaming…" : "Rename"),
|
|
10835
|
+
}, pending && coordinatorAdminState.groupActionPendingKind === "rename" ? "Renaming…" : "Rename"), k$3("button", {
|
|
10835
10836
|
"aria-expanded": scopeOpen,
|
|
10836
10837
|
"aria-controls": `coord-admin-project-defaults-drawer-${group.group_id}`,
|
|
10837
10838
|
class: "settings-button coordinator-admin-scope-trigger",
|
|
@@ -10842,10 +10843,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10842
10843
|
else openGroupPreferences(group.group_id, renderShell);
|
|
10843
10844
|
},
|
|
10844
10845
|
type: "button"
|
|
10845
|
-
},
|
|
10846
|
+
}, k$3("span", null, "Team defaults"), k$3("span", {
|
|
10846
10847
|
"aria-hidden": "true",
|
|
10847
10848
|
class: "device-row-chevron"
|
|
10848
|
-
},
|
|
10849
|
+
}, k$3(ChevronRightIcon$1, null))), k$3("button", {
|
|
10849
10850
|
"aria-expanded": domainsOpen,
|
|
10850
10851
|
"aria-controls": `coord-admin-spaces-drawer-${group.group_id}`,
|
|
10851
10852
|
class: "settings-button coordinator-admin-scope-trigger",
|
|
@@ -10856,31 +10857,31 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10856
10857
|
else openGroupScopeManagement(group.group_id, renderShell);
|
|
10857
10858
|
},
|
|
10858
10859
|
type: "button"
|
|
10859
|
-
},
|
|
10860
|
+
}, k$3("span", null, "Spaces & access"), k$3("span", {
|
|
10860
10861
|
"aria-hidden": "true",
|
|
10861
10862
|
class: "device-row-chevron"
|
|
10862
|
-
},
|
|
10863
|
+
}, k$3(ChevronRightIcon$1, null))), k$3("button", {
|
|
10863
10864
|
class: archived ? "settings-button" : "settings-button danger",
|
|
10864
10865
|
disabled: summary.readiness !== "ready" || pending,
|
|
10865
10866
|
onClick: () => runGroup(group.group_id, group.display_name || group.group_id, archiveActionKind),
|
|
10866
10867
|
type: "button"
|
|
10867
|
-
}, archiveActionLabel)),
|
|
10868
|
+
}, archiveActionLabel)), k$3(Root$3, {
|
|
10868
10869
|
open: scopeOpen,
|
|
10869
10870
|
onOpenChange: (open) => {
|
|
10870
10871
|
if (open) openGroupPreferences(group.group_id, renderShell);
|
|
10871
10872
|
else closeGroupPreferences(group.group_id, renderShell);
|
|
10872
10873
|
}
|
|
10873
|
-
},
|
|
10874
|
+
}, k$3(Content$2, {
|
|
10874
10875
|
"aria-label": `Project defaults for ${draftName}`,
|
|
10875
10876
|
class: "coordinator-admin-group-preferences",
|
|
10876
10877
|
id: `coord-admin-project-defaults-drawer-${group.group_id}`
|
|
10877
|
-
}, scopeOpen ? renderGroupPreferencesEditor(group.group_id, renderShell, summary.readiness === "ready") : null)),
|
|
10878
|
+
}, scopeOpen ? renderGroupPreferencesEditor(group.group_id, renderShell, summary.readiness === "ready") : null)), k$3(Root$3, {
|
|
10878
10879
|
open: domainsOpen,
|
|
10879
10880
|
onOpenChange: (open) => {
|
|
10880
10881
|
if (open) openGroupScopeManagement(group.group_id, renderShell);
|
|
10881
10882
|
else closeGroupScopeManagement(group.group_id, renderShell);
|
|
10882
10883
|
}
|
|
10883
|
-
},
|
|
10884
|
+
}, k$3(Content$2, {
|
|
10884
10885
|
"aria-label": `Spaces for ${draftName}`,
|
|
10885
10886
|
class: "coordinator-admin-group-preferences coordinator-admin-domain-management",
|
|
10886
10887
|
id: `coord-admin-spaces-drawer-${group.group_id}`
|
|
@@ -10907,17 +10908,17 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10907
10908
|
const output = String(state.lastTeamInvite?.encoded || "").trim();
|
|
10908
10909
|
const warnings = Array.isArray(state.lastTeamInvite?.warnings) ? state.lastTeamInvite?.warnings : [];
|
|
10909
10910
|
const inviteDisabled = summary.readiness !== "ready" || coordinatorAdminState.invitePending;
|
|
10910
|
-
return
|
|
10911
|
+
return k$3(RadixTabsContent, {
|
|
10911
10912
|
className: "coordinator-admin-panel",
|
|
10912
10913
|
value: "invites"
|
|
10913
|
-
},
|
|
10914
|
+
}, k$3("h3", null, "Create teammate invite"), k$3("p", { class: "peer-submeta" }, summary.readiness === "ready" ? "Generate an invite for the selected Team. Default Space access is controlled by that Team's auto-grant setting." : "Finish setup first. Invite creation stays disabled until the local Teams configuration is ready."), k$3("form", {
|
|
10914
10915
|
class: "coordinator-admin-form",
|
|
10915
10916
|
onSubmit: (event) => {
|
|
10916
10917
|
event.preventDefault();
|
|
10917
10918
|
if (inviteDisabled) return;
|
|
10918
10919
|
createInvite();
|
|
10919
10920
|
}
|
|
10920
|
-
},
|
|
10921
|
+
}, k$3("div", { class: "coordinator-admin-form-grid" }, k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Team"), k$3(TextInput, {
|
|
10921
10922
|
class: "peer-scope-input",
|
|
10922
10923
|
disabled: summary.readiness !== "ready",
|
|
10923
10924
|
onInput: (event) => {
|
|
@@ -10927,7 +10928,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10927
10928
|
placeholder: activeGroup || "team-alpha",
|
|
10928
10929
|
type: "text",
|
|
10929
10930
|
value: coordinatorAdminState.inviteGroup
|
|
10930
|
-
})),
|
|
10931
|
+
})), k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Join policy"), k$3(RadixSelect, {
|
|
10931
10932
|
ariaLabel: "Invite join policy",
|
|
10932
10933
|
contentClassName: "sync-radix-select-content sync-actor-select-content",
|
|
10933
10934
|
disabled: summary.readiness !== "ready",
|
|
@@ -10947,7 +10948,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10947
10948
|
triggerClassName: "sync-radix-select-trigger sync-actor-select",
|
|
10948
10949
|
value: coordinatorAdminState.invitePolicy,
|
|
10949
10950
|
viewportClassName: "sync-radix-select-viewport"
|
|
10950
|
-
})),
|
|
10951
|
+
})), k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Expires in (hours)"), k$3(TextInput, {
|
|
10951
10952
|
class: "peer-scope-input",
|
|
10952
10953
|
disabled: summary.readiness !== "ready",
|
|
10953
10954
|
min: "1",
|
|
@@ -10956,42 +10957,45 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
10956
10957
|
},
|
|
10957
10958
|
type: "number",
|
|
10958
10959
|
value: coordinatorAdminState.inviteTtlHours
|
|
10959
|
-
}))),
|
|
10960
|
+
}))), k$3("div", { class: "section-actions" }, k$3("button", {
|
|
10960
10961
|
class: "settings-button",
|
|
10961
10962
|
disabled: inviteDisabled,
|
|
10962
10963
|
type: "submit"
|
|
10963
|
-
}, coordinatorAdminState.invitePending ? "Creating…" : "Create invite"), effectiveGroup ?
|
|
10964
|
+
}, coordinatorAdminState.invitePending ? "Creating…" : "Create invite"), effectiveGroup ? k$3("span", { class: "peer-submeta" }, `Using Team ${effectiveGroup}`) : null)), output ? k$3("label", { class: "coordinator-admin-field" }, k$3("span", null, "Generated invite"), k$3(TextArea, {
|
|
10964
10965
|
class: "feed-search coordinator-admin-output",
|
|
10965
10966
|
readOnly: true,
|
|
10966
10967
|
value: output
|
|
10967
|
-
}),
|
|
10968
|
+
}), k$3("button", {
|
|
10968
10969
|
class: "settings-button sync-action-copy",
|
|
10969
10970
|
type: "button",
|
|
10970
10971
|
onClick: (event) => copyToClipboard(output, event.currentTarget)
|
|
10971
|
-
}, "Copy")) : null, warnings?.length ?
|
|
10972
|
+
}, "Copy")) : null, warnings?.length ? k$3("div", { class: "peer-meta coordinator-admin-warning-list" }, warnings.join(" · ")) : null);
|
|
10972
10973
|
}
|
|
10973
10974
|
//#endregion
|
|
10974
10975
|
//#region src/tabs/coordinator-admin/components/join-requests-panel.ts
|
|
10975
10976
|
function renderJoinRequestsPanel(deps) {
|
|
10976
10977
|
const { summary, reviewJoinRequest } = deps;
|
|
10977
10978
|
const items = Array.isArray(state.lastCoordinatorAdminJoinRequests) ? state.lastCoordinatorAdminJoinRequests : [];
|
|
10978
|
-
return
|
|
10979
|
+
return k$3(RadixTabsContent, {
|
|
10979
10980
|
className: "coordinator-admin-panel",
|
|
10980
10981
|
value: "join-requests"
|
|
10981
|
-
},
|
|
10982
|
+
}, k$3("h3", null, "Pending join requests"), k$3("p", { class: "peer-submeta" }, summary.readiness === "ready" ? "Approve or deny devices that want to join this Team. Default Space access is handled by Team defaults and can be reviewed in Spaces." : "Finish setup first. Join request review stays disabled until Teams is ready."), !items.length ? k$3("div", { class: "peer-meta" }, summary.readiness === "ready" ? "No pending join requests right now." : "Join request review will appear here once setup is complete.") : k$3("div", { class: "peer-list" }, items.map((item) => {
|
|
10982
10983
|
const requestId = String(item.request_id || "").trim();
|
|
10983
10984
|
const deviceId = String(item.device_id || "unknown-device");
|
|
10984
|
-
const displayName = String(item.display_name || deviceId);
|
|
10985
|
+
const displayName = String(item.display_name || deviceId).trim() || deviceId;
|
|
10986
|
+
const fingerprint = String(item.fingerprint || "").trim();
|
|
10987
|
+
const advancedDetails = [`Device ID ${deviceId}`];
|
|
10988
|
+
if (fingerprint) advancedDetails.push(`Fingerprint ${fingerprint}`);
|
|
10985
10989
|
const pending = coordinatorAdminState.joinReviewPendingId === requestId;
|
|
10986
|
-
return
|
|
10990
|
+
return k$3("div", {
|
|
10987
10991
|
class: "peer-card peer-card--padded",
|
|
10988
10992
|
key: requestId || deviceId
|
|
10989
|
-
},
|
|
10993
|
+
}, k$3("div", { class: "peer-title" }, k$3("strong", null, displayName)), k$3("div", { class: "peer-meta" }, `Advanced: ${advancedDetails.join(" · ")}`), k$3("div", { class: "peer-actions" }, k$3("button", {
|
|
10990
10994
|
class: "settings-button",
|
|
10991
10995
|
disabled: !requestId || pending,
|
|
10992
10996
|
onClick: () => reviewJoinRequest(requestId, "approve"),
|
|
10993
10997
|
type: "button"
|
|
10994
|
-
}, pending && coordinatorAdminState.joinReviewPendingAction === "approve" ? "Approving…" : "Approve"),
|
|
10998
|
+
}, pending && coordinatorAdminState.joinReviewPendingAction === "approve" ? "Approving…" : "Approve"), k$3("button", {
|
|
10995
10999
|
class: "settings-button danger",
|
|
10996
11000
|
disabled: !requestId || pending,
|
|
10997
11001
|
onClick: () => reviewJoinRequest(requestId, "deny"),
|
|
@@ -11187,23 +11191,23 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
11187
11191
|
const status = state.lastCoordinatorAdminStatus;
|
|
11188
11192
|
if (!status) return {
|
|
11189
11193
|
readiness: "partial",
|
|
11190
|
-
title: "Checking
|
|
11191
|
-
detail: "Loading local
|
|
11194
|
+
title: "Checking Teams readiness…",
|
|
11195
|
+
detail: "Loading local Teams configuration from the viewer server."
|
|
11192
11196
|
};
|
|
11193
11197
|
if (status.readiness === "ready") return {
|
|
11194
11198
|
readiness: "ready",
|
|
11195
|
-
title: "
|
|
11196
|
-
detail: "This viewer can use the local admin configuration to manage invites, join requests, and enrolled devices without exposing the admin secret to the browser."
|
|
11199
|
+
title: "Teams is ready",
|
|
11200
|
+
detail: "This viewer can use the local Teams admin configuration to manage invites, join requests, and enrolled devices without exposing the admin secret to the browser."
|
|
11197
11201
|
};
|
|
11198
11202
|
if (status.readiness === "partial") return {
|
|
11199
11203
|
readiness: "partial",
|
|
11200
|
-
title: "
|
|
11201
|
-
detail: status.has_admin_secret === false ? "Set a coordinator admin secret for the viewer server before using invite and device
|
|
11204
|
+
title: "Teams setup is incomplete",
|
|
11205
|
+
detail: status.has_admin_secret === false ? "Set a coordinator admin secret for the viewer server before using Teams invite and device actions." : "Finish configuring the coordinator target and Team before using Teams actions."
|
|
11202
11206
|
};
|
|
11203
11207
|
return {
|
|
11204
11208
|
readiness: "not_configured",
|
|
11205
|
-
title: "
|
|
11206
|
-
detail: "Set a coordinator URL,
|
|
11209
|
+
title: "Teams is not configured",
|
|
11210
|
+
detail: "Set a coordinator URL, Team, and admin secret locally to enable remote Teams administration from this viewer."
|
|
11207
11211
|
};
|
|
11208
11212
|
}
|
|
11209
11213
|
//#endregion
|
|
@@ -11232,8 +11236,8 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
11232
11236
|
const deviceCount = Array.isArray(state.lastCoordinatorAdminDevices) ? state.lastCoordinatorAdminDevices.length : 0;
|
|
11233
11237
|
const headerMessage = summary.readiness !== "ready" ? summary.detail : targetArchived ? "The selected Team is archived. Restore it or switch Teams before creating invites." : "";
|
|
11234
11238
|
if (coordinatorAdminState.activeSection === "invites" && !invitesEnabled || coordinatorAdminState.activeSection === "groups" && !groupsEnabled || coordinatorAdminState.activeSection === "join-requests" && !joinRequestsEnabled || coordinatorAdminState.activeSection === "devices" && !devicesEnabled) coordinatorAdminState.activeSection = summary.readiness === "ready" ? "groups" : "invites";
|
|
11235
|
-
|
|
11236
|
-
ariaLabel: "
|
|
11239
|
+
R$1(k$3("div", { class: "coordinator-admin-shell" }, k$3("div", { class: "card coordinator-admin-header" }, k$3("div", { class: "section-header" }, k$3("h2", null, "Teams")), k$3("div", { class: "coordinator-admin-summary-grid" }, k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Team admin target"), k$3("strong", null, targetGroup || "None selected")), k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Node discovery Team"), k$3("strong", null, activeGroup || "None")), k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Teams"), k$3("strong", null, `${activeGroupCount} active${archivedGroupCount ? ` · ${archivedGroupCount} archived` : ""}`)), k$3("div", { class: "coordinator-admin-summary-card" }, k$3("span", { class: "section-meta" }, "Selected Team activity"), k$3("strong", null, `${joinRequestCount} join requests · ${deviceCount} devices`))), headerMessage ? k$3("div", { class: "peer-meta coordinator-admin-inline-warning" }, headerMessage) : null, coordinatorUrl ? k$3("div", { class: "section-meta coordinator-admin-inline-meta" }, `Coordinator: ${coordinatorUrl}`) : null), k$3("div", { class: "card coordinator-admin-sections" }, k$3(RadixTabs, {
|
|
11240
|
+
ariaLabel: "Teams sections",
|
|
11237
11241
|
listClassName: "coordinator-admin-tabs-list",
|
|
11238
11242
|
onValueChange: (value) => {
|
|
11239
11243
|
coordinatorAdminState.activeSection = value || "groups";
|
|
@@ -11279,7 +11283,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
11279
11283
|
}), renderDevicesPanel({
|
|
11280
11284
|
summary,
|
|
11281
11285
|
runDevice: (deviceId, groupId, displayName, kind) => void runDeviceAction(deviceId, groupId, displayName, kind)
|
|
11282
|
-
})),
|
|
11286
|
+
})), k$3("div", { class: "section-meta coordinator-admin-context-line" }, targetArchived ? `Selected Team ${targetGroup || "—"} is archived. Switch or restore it to enable invite operations.` : targetGroup ? `Actions below apply to ${targetGroup}.` : "Select a Team to start managing people, Spaces, and access."))), mount);
|
|
11283
11287
|
}
|
|
11284
11288
|
function initCoordinatorAdminTab() {
|
|
11285
11289
|
renderShell();
|
|
@@ -12121,7 +12125,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
12121
12125
|
* adjacent tooltips can share `skipDelayDuration` for quick handoff.
|
|
12122
12126
|
*/
|
|
12123
12127
|
function Tooltip({ children, label, side = "top", align = "center", sideOffset = 6, asChild = true, disabled = false }) {
|
|
12124
|
-
if (disabled) return /* @__PURE__ */ u(
|
|
12128
|
+
if (disabled) return /* @__PURE__ */ u(S$1, { children });
|
|
12125
12129
|
return /* @__PURE__ */ u(Root3$1, { children: [/* @__PURE__ */ u(Trigger$1, {
|
|
12126
12130
|
asChild,
|
|
12127
12131
|
children
|
|
@@ -12145,7 +12149,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
12145
12149
|
}
|
|
12146
12150
|
function renderIntoFeedMount(mount, content) {
|
|
12147
12151
|
markFeedMount(mount);
|
|
12148
|
-
|
|
12152
|
+
R$1(k$3(TooltipProvider, null, content), mount);
|
|
12149
12153
|
}
|
|
12150
12154
|
//#endregion
|
|
12151
12155
|
//#region src/tabs/feed/data/inspector-query.ts
|
|
@@ -12224,10 +12228,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
12224
12228
|
//#region src/tabs/feed/components/TraceCandidateGroup.tsx
|
|
12225
12229
|
function TraceCandidateGroup({ label, candidates }) {
|
|
12226
12230
|
if (candidates.length === 0) return null;
|
|
12227
|
-
return
|
|
12231
|
+
return k$3("div", { className: "trace-group" }, k$3("div", { className: "section-meta" }, label), k$3("div", { className: "feed-list" }, candidates.map((candidate) => k$3("div", {
|
|
12228
12232
|
className: "feed-card",
|
|
12229
12233
|
key: `${label}:${candidate.id}`
|
|
12230
|
-
},
|
|
12234
|
+
}, k$3("div", { className: "feed-card-header" }, [k$3("div", { className: "feed-card-title" }, `${candidate.rank}. ${candidate.title}`), k$3("div", { className: "feed-card-meta" }, `#${candidate.id} · ${candidate.kind}${candidate.section ? ` · ${candidate.section}` : ""}`)]), k$3("div", { className: "feed-card-body" }, [k$3("div", null, candidate.preview || "No preview available."), candidate.reasons.length ? k$3("div", { className: "section-meta" }, `Reasons: ${candidate.reasons.join(", ")}`) : null])))));
|
|
12231
12235
|
}
|
|
12232
12236
|
//#endregion
|
|
12233
12237
|
//#region src/tabs/feed/components/ContextInspectorPanel.tsx
|
|
@@ -12324,14 +12328,14 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
12324
12328
|
const dropped = visibleTrace?.retrieval.candidates.filter((candidate) => candidate.disposition === "dropped") || [];
|
|
12325
12329
|
const deduped = visibleTrace?.retrieval.candidates.filter((candidate) => candidate.disposition === "deduped") || [];
|
|
12326
12330
|
const trimmed = visibleTrace?.retrieval.candidates.filter((candidate) => candidate.disposition === "trimmed") || [];
|
|
12327
|
-
return open ?
|
|
12331
|
+
return open ? k$3("div", { className: "feed-inspector" }, k$3("div", {
|
|
12328
12332
|
className: "feed-card",
|
|
12329
12333
|
id: "contextInspectorPanel",
|
|
12330
12334
|
style: "margin-top:12px;"
|
|
12331
12335
|
}, [
|
|
12332
|
-
|
|
12333
|
-
|
|
12334
|
-
|
|
12336
|
+
k$3("div", { className: "feed-card-header" }, [k$3("div", { className: "feed-card-title" }, "Context Inspector"), k$3("div", { className: "feed-card-meta" }, hasInspectorOverride ? "Tracing an inspector-specific query" : "Seeded from the feed search on first open")]),
|
|
12337
|
+
k$3("div", { className: "feed-card-body" }, [
|
|
12338
|
+
k$3("input", {
|
|
12335
12339
|
className: "feed-search",
|
|
12336
12340
|
onInput: (event) => {
|
|
12337
12341
|
setInspectorQuery(String(event.currentTarget.value || ""));
|
|
@@ -12343,54 +12347,54 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
12343
12347
|
placeholder: "Trace a pack query…",
|
|
12344
12348
|
value: inspectorQuery
|
|
12345
12349
|
}),
|
|
12346
|
-
|
|
12350
|
+
k$3("div", {
|
|
12347
12351
|
className: "section-meta",
|
|
12348
12352
|
style: "margin-top:8px;"
|
|
12349
12353
|
}, hasInspectorOverride ? "Inspector query is independent from the live feed search." : "Inspector query was seeded from the feed search and will stay independent until you change it."),
|
|
12350
|
-
|
|
12354
|
+
k$3("textarea", {
|
|
12351
12355
|
className: "feed-inspector-files",
|
|
12352
12356
|
onInput: (event) => setWorkingSetText(String(event.currentTarget.value || "")),
|
|
12353
12357
|
placeholder: "Optional working-set files, one per line",
|
|
12354
12358
|
rows: 3,
|
|
12355
12359
|
value: workingSetText
|
|
12356
12360
|
}),
|
|
12357
|
-
|
|
12361
|
+
k$3("div", { style: "display:flex; gap:8px; margin-top:8px; align-items:center;" }, k$3("button", {
|
|
12358
12362
|
className: "toggle-button active",
|
|
12359
12363
|
disabled: loading,
|
|
12360
12364
|
onClick: () => void runTrace(),
|
|
12361
12365
|
type: "button"
|
|
12362
|
-
}, loading ? "Tracing…" : "Run trace"), visibleTrace ?
|
|
12363
|
-
trace && !visibleTrace ?
|
|
12366
|
+
}, loading ? "Tracing…" : "Run trace"), visibleTrace ? k$3("span", { className: "section-meta" }, `mode=${visibleTrace.mode.selected} · candidates=${visibleTrace.retrieval.candidate_count} · tokens=${visibleTrace.output.estimated_tokens}`) : null),
|
|
12367
|
+
trace && !visibleTrace ? k$3("div", {
|
|
12364
12368
|
className: "section-meta",
|
|
12365
12369
|
style: "margin-top:8px;"
|
|
12366
12370
|
}, "Trace inputs changed. Run trace again for the current query, project, and working set.") : null,
|
|
12367
|
-
visibleError ?
|
|
12371
|
+
visibleError ? k$3("div", {
|
|
12368
12372
|
className: "section-meta",
|
|
12369
12373
|
style: "margin-top:8px; color:#d96c6c;"
|
|
12370
12374
|
}, visibleError) : null
|
|
12371
12375
|
]),
|
|
12372
|
-
visibleTrace ?
|
|
12373
|
-
|
|
12376
|
+
visibleTrace ? k$3(S$1, null, [
|
|
12377
|
+
k$3(TraceCandidateGroup, {
|
|
12374
12378
|
label: "Selected",
|
|
12375
12379
|
candidates: selected
|
|
12376
12380
|
}),
|
|
12377
|
-
|
|
12381
|
+
k$3(TraceCandidateGroup, {
|
|
12378
12382
|
label: "Dropped",
|
|
12379
12383
|
candidates: dropped
|
|
12380
12384
|
}),
|
|
12381
|
-
|
|
12385
|
+
k$3(TraceCandidateGroup, {
|
|
12382
12386
|
label: "Deduped",
|
|
12383
12387
|
candidates: deduped
|
|
12384
12388
|
}),
|
|
12385
|
-
|
|
12389
|
+
k$3(TraceCandidateGroup, {
|
|
12386
12390
|
label: "Trimmed",
|
|
12387
12391
|
candidates: trimmed
|
|
12388
12392
|
}),
|
|
12389
|
-
|
|
12390
|
-
visibleTrace.assembly.collapsed_groups.length ?
|
|
12391
|
-
visibleTrace.assembly.trim_reasons.length ?
|
|
12392
|
-
|
|
12393
|
-
|
|
12393
|
+
k$3("div", { className: "feed-card-body" }, [
|
|
12394
|
+
visibleTrace.assembly.collapsed_groups.length ? k$3("div", { className: "section-meta" }, `Collapsed duplicates: ${visibleTrace.assembly.collapsed_groups.map((group) => `kept #${group.kept} from [${group.dropped.join(", ")}]`).join(" · ")}`) : null,
|
|
12395
|
+
visibleTrace.assembly.trim_reasons.length ? k$3("div", { className: "section-meta" }, `Trim reasons: ${visibleTrace.assembly.trim_reasons.join(", ")}`) : null,
|
|
12396
|
+
k$3("div", { className: "section-meta" }, "Final pack"),
|
|
12397
|
+
k$3("pre", { style: "white-space:pre-wrap; overflow:auto;" }, visibleTrace.output.pack_text)
|
|
12394
12398
|
])
|
|
12395
12399
|
]) : null
|
|
12396
12400
|
])) : null;
|
|
@@ -12501,10 +12505,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
12501
12505
|
return preferred.filter((k) => keys.includes(k)).map((key) => {
|
|
12502
12506
|
const content = String(summary[key] || "").trim();
|
|
12503
12507
|
if (!content) return null;
|
|
12504
|
-
return
|
|
12508
|
+
return k$3("div", {
|
|
12505
12509
|
className: "summary-section",
|
|
12506
12510
|
key
|
|
12507
|
-
},
|
|
12511
|
+
}, k$3("div", { className: "summary-section-label" }, toTitleLabel(key)), k$3("div", {
|
|
12508
12512
|
className: "summary-section-content",
|
|
12509
12513
|
dangerouslySetInnerHTML: { __html: renderMarkdownSafe(content) }
|
|
12510
12514
|
}));
|
|
@@ -12519,22 +12523,22 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
12519
12523
|
const labelText = fact.slice(0, splitAt).trim();
|
|
12520
12524
|
const contentText = fact.slice(splitAt + 1).trim();
|
|
12521
12525
|
if (!labelText || !contentText) return null;
|
|
12522
|
-
return
|
|
12526
|
+
return k$3("div", {
|
|
12523
12527
|
className: "summary-section",
|
|
12524
12528
|
key: `${labelText}-${index}`
|
|
12525
|
-
},
|
|
12529
|
+
}, k$3("div", { className: "summary-section-label" }, labelText), k$3("div", {
|
|
12526
12530
|
className: "summary-section-content",
|
|
12527
12531
|
dangerouslySetInnerHTML: { __html: renderMarkdownSafe(contentText) }
|
|
12528
12532
|
}));
|
|
12529
12533
|
}).filter(Boolean);
|
|
12530
|
-
if (rows.length) return
|
|
12534
|
+
if (rows.length) return k$3("div", { className: "feed-body facts" }, rows);
|
|
12531
12535
|
}
|
|
12532
|
-
return
|
|
12536
|
+
return k$3("div", { className: "feed-body" }, k$3("ul", null, trimmed.map((fact, index) => k$3("li", { key: `${fact}-${index}` }, fact))));
|
|
12533
12537
|
}
|
|
12534
12538
|
function renderNarrativeContent(narrative, className = "feed-body") {
|
|
12535
12539
|
const content = String(narrative || "").trim();
|
|
12536
12540
|
if (!content) return null;
|
|
12537
|
-
return
|
|
12541
|
+
return k$3("div", {
|
|
12538
12542
|
className,
|
|
12539
12543
|
dangerouslySetInnerHTML: { __html: renderMarkdownSafe(content) }
|
|
12540
12544
|
});
|
|
@@ -12786,7 +12790,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
12786
12790
|
const pointerGraceIntentRef = A$1(null);
|
|
12787
12791
|
const pointerDirRef = A$1("right");
|
|
12788
12792
|
const lastPointerXRef = A$1(0);
|
|
12789
|
-
const ScrollLockWrapper = disableOutsideScroll ? ReactRemoveScroll :
|
|
12793
|
+
const ScrollLockWrapper = disableOutsideScroll ? ReactRemoveScroll : S$1;
|
|
12790
12794
|
const scrollLockWrapperProps = disableOutsideScroll ? {
|
|
12791
12795
|
as: Slot,
|
|
12792
12796
|
allowPinchZoom: true
|
|
@@ -13606,20 +13610,20 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
13606
13610
|
//#endregion
|
|
13607
13611
|
//#region src/tabs/feed/components/FeedItemMenu.tsx
|
|
13608
13612
|
function FeedItemMenu({ assignProjectDisabled, disabled, onAssignProject, onForget, title }) {
|
|
13609
|
-
return
|
|
13613
|
+
return k$3(Root2, null, k$3(Trigger, { asChild: true }, k$3("button", {
|
|
13610
13614
|
"aria-label": `Actions for ${title}`,
|
|
13611
13615
|
className: "feed-menu-trigger",
|
|
13612
13616
|
type: "button"
|
|
13613
|
-
}, "⋯")),
|
|
13617
|
+
}, "⋯")), k$3(Portal2, null, k$3(Content2, {
|
|
13614
13618
|
align: "end",
|
|
13615
13619
|
className: "feed-menu-panel",
|
|
13616
13620
|
side: "bottom",
|
|
13617
13621
|
sideOffset: 4
|
|
13618
|
-
},
|
|
13622
|
+
}, k$3(Item2, {
|
|
13619
13623
|
className: "feed-menu-item",
|
|
13620
13624
|
disabled: assignProjectDisabled,
|
|
13621
13625
|
onSelect: () => onAssignProject()
|
|
13622
|
-
}, assignProjectDisabled ? "Moving…" : "Assign to project…"),
|
|
13626
|
+
}, assignProjectDisabled ? "Moving…" : "Assign to project…"), k$3(Item2, {
|
|
13623
13627
|
className: "feed-menu-item danger",
|
|
13624
13628
|
disabled,
|
|
13625
13629
|
onSelect: () => onForget()
|
|
@@ -13629,7 +13633,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
13629
13633
|
//#region src/tabs/feed/components/FeedViewToggle.tsx
|
|
13630
13634
|
function FeedViewToggle({ modes, active, onSelect }) {
|
|
13631
13635
|
if (modes.length <= 1) return null;
|
|
13632
|
-
return
|
|
13636
|
+
return k$3("div", { className: "feed-toggle" }, modes.map((mode) => k$3("button", {
|
|
13633
13637
|
key: mode.id,
|
|
13634
13638
|
className: `toggle-button${mode.id === active ? " active" : ""}`,
|
|
13635
13639
|
"data-filter": mode.id,
|
|
@@ -13640,7 +13644,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
13640
13644
|
//#endregion
|
|
13641
13645
|
//#region src/tabs/feed/components/ProvenanceChip.tsx
|
|
13642
13646
|
function ProvenanceChip({ label, variant = "" }) {
|
|
13643
|
-
return
|
|
13647
|
+
return k$3(Chip, {
|
|
13644
13648
|
variant: "provenance",
|
|
13645
13649
|
tone: variant || void 0
|
|
13646
13650
|
}, label);
|
|
@@ -13650,7 +13654,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
13650
13654
|
function TagChip({ tag }) {
|
|
13651
13655
|
const display = formatTagLabel(tag);
|
|
13652
13656
|
if (!display) return null;
|
|
13653
|
-
return
|
|
13657
|
+
return k$3(Chip, {
|
|
13654
13658
|
variant: "tag",
|
|
13655
13659
|
title: String(tag)
|
|
13656
13660
|
}, display);
|
|
@@ -13739,7 +13743,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
13739
13743
|
const metaText = [`${tagContent}${fileContent}`.trim(), provenanceDetails].filter(Boolean).join(" · ");
|
|
13740
13744
|
const canClamp = Boolean(observationData) && shouldClampBody(activeMode, observationData);
|
|
13741
13745
|
const bodyClassName = [activeMode === "facts" ? "feed-body facts" : "feed-body", canClamp && !expanded ? clampClass(activeMode).join(" ") : ""].filter(Boolean).join(" ");
|
|
13742
|
-
const bodyContent = isSessionSummary ? summarySections.length ?
|
|
13746
|
+
const bodyContent = isSessionSummary ? summarySections.length ? k$3("div", { className: "feed-body facts" }, summarySections) : renderNarrativeContent(String(item.body_text || "")) || k$3("div", { className: "feed-body" }) : observationData ? activeMode === "facts" ? renderFactsContent(observationData.facts) || k$3("div", { className: bodyClassName }) : renderNarrativeContent(activeMode === "narrative" ? observationData.narrative : observationData.summary, bodyClassName) || k$3("div", { className: bodyClassName }) : k$3("div", { className: "feed-body" });
|
|
13743
13747
|
async function saveVisibility(nextVisibility) {
|
|
13744
13748
|
const previousVisibility = currentVisibility;
|
|
13745
13749
|
setSelectedVisibility(nextVisibility);
|
|
@@ -13823,48 +13827,48 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
13823
13827
|
}
|
|
13824
13828
|
}
|
|
13825
13829
|
const kindChipLabel = displayKindValue.replace(/_/g, " ");
|
|
13826
|
-
const filesRow = files.length ?
|
|
13830
|
+
const filesRow = files.length ? k$3("div", { className: "feed-files" }, files.map((file, index) => k$3("span", {
|
|
13827
13831
|
className: "feed-file",
|
|
13828
13832
|
key: `${String(file)}-${index}`
|
|
13829
13833
|
}, String(file)))) : null;
|
|
13830
|
-
return
|
|
13834
|
+
return k$3("article", {
|
|
13831
13835
|
className: `feed-item ${displayKindValue}${isNew ? " new-item" : ""}`.trim(),
|
|
13832
13836
|
"data-key": rowKey
|
|
13833
|
-
},
|
|
13837
|
+
}, k$3("div", { className: "feed-kind-banner" }, k$3(Chip, {
|
|
13834
13838
|
variant: "kind",
|
|
13835
13839
|
tone: displayKindValue
|
|
13836
|
-
}, kindChipLabel)),
|
|
13840
|
+
}, kindChipLabel)), k$3("div", { className: "feed-card-body" }, k$3("div", { className: "feed-card-header" }, k$3("div", { className: "feed-header" }, k$3("div", {
|
|
13837
13841
|
className: "feed-title title",
|
|
13838
13842
|
dangerouslySetInnerHTML: { __html: highlightText(displayTitle, state.feedQuery) }
|
|
13839
|
-
}),
|
|
13843
|
+
}), k$3("div", { className: "feed-card-subtitle small" }, secondaryMeta)), k$3("div", { className: "feed-actions" }, observationData ? k$3(FeedViewToggle, {
|
|
13840
13844
|
active: activeMode,
|
|
13841
13845
|
modes,
|
|
13842
13846
|
onSelect: (mode) => setActiveMode(mode)
|
|
13843
|
-
}) : null,
|
|
13847
|
+
}) : null, k$3(Tooltip, {
|
|
13844
13848
|
label: formatDate(createdAtRaw),
|
|
13845
13849
|
side: "left"
|
|
13846
|
-
},
|
|
13850
|
+
}, k$3("div", { className: "small feed-age" }, relative)), item.owned_by_self && memoryId > 0 ? k$3(FeedItemMenu, {
|
|
13847
13851
|
assignProjectDisabled: movingProject,
|
|
13848
13852
|
disabled: deletingMemory,
|
|
13849
13853
|
onAssignProject: () => void moveProject(),
|
|
13850
13854
|
onForget: () => void forgetMemory$1(),
|
|
13851
13855
|
title: String(displayTitle || "memory")
|
|
13852
|
-
}) : null)),
|
|
13856
|
+
}) : null)), k$3("div", { className: "feed-provenance" }, k$3(ProvenanceChip, {
|
|
13853
13857
|
label: actor,
|
|
13854
13858
|
variant: actor === "You" ? "mine" : "author"
|
|
13855
|
-
}),
|
|
13859
|
+
}), k$3(ProvenanceChip, {
|
|
13856
13860
|
label: visibility || "private",
|
|
13857
13861
|
variant: visibility || "private"
|
|
13858
|
-
}), memoryIdLabel ?
|
|
13862
|
+
}), memoryIdLabel ? k$3(Tooltip, {
|
|
13859
13863
|
label: `Memory database id ${memoryId}`,
|
|
13860
13864
|
side: "top"
|
|
13861
|
-
},
|
|
13865
|
+
}, k$3(ProvenanceChip, {
|
|
13862
13866
|
label: memoryIdLabel,
|
|
13863
13867
|
variant: "memory-id"
|
|
13864
|
-
})) : null),
|
|
13868
|
+
})) : null), k$3("div", { className: "feed-meta" }, metaText || "No tags, files, or provenance details attached."), bodyContent, k$3("div", { className: "feed-footer" }, k$3("div", { className: "feed-footer-left" }, tags.length ? k$3("div", { className: "feed-tags" }, tags.map((tag, index) => k$3(TagChip, {
|
|
13865
13869
|
key: `${String(tag)}-${index}`,
|
|
13866
13870
|
tag
|
|
13867
|
-
}))) : null, item.owned_by_self && memoryId > 0 ?
|
|
13871
|
+
}))) : null, item.owned_by_self && memoryId > 0 ? k$3("div", { className: "feed-visibility-controls" }, k$3("select", {
|
|
13868
13872
|
"aria-label": `Visibility for ${String(item.title || "memory")}`,
|
|
13869
13873
|
className: "feed-visibility-select",
|
|
13870
13874
|
disabled: savingVisibility,
|
|
@@ -13872,7 +13876,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
13872
13876
|
saveVisibility(String(event.currentTarget.value) === "shared" ? "shared" : "private");
|
|
13873
13877
|
},
|
|
13874
13878
|
value: currentVisibility
|
|
13875
|
-
},
|
|
13879
|
+
}, k$3("option", { value: "private" }, "Only me"), k$3("option", { value: "shared" }, "Share with peers")), k$3("div", { className: "feed-visibility-note" }, visibilityNote)) : null), k$3("div", { className: "feed-footer-right" }, canClamp ? k$3("button", {
|
|
13876
13880
|
className: "feed-expand",
|
|
13877
13881
|
onClick: () => {
|
|
13878
13882
|
const nextValue = !expanded;
|
|
@@ -13891,15 +13895,15 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
13891
13895
|
["w-65", "w-85"]
|
|
13892
13896
|
];
|
|
13893
13897
|
const [first, second] = bodyWidths[index % bodyWidths.length];
|
|
13894
|
-
return
|
|
13898
|
+
return k$3("div", {
|
|
13895
13899
|
className: "feed-skeleton-item",
|
|
13896
13900
|
"aria-hidden": "true"
|
|
13897
|
-
},
|
|
13901
|
+
}, k$3("div", { className: "feed-skeleton-banner" }), k$3("div", { className: "feed-skeleton-body" }, k$3("div", { className: `feed-skeleton-line ${first}` }), k$3("div", { className: `feed-skeleton-line ${second}` }), k$3("div", { className: "feed-skeleton-footer" }, k$3("div", { className: "feed-skeleton-chip w-36" }), k$3("div", { className: "feed-skeleton-chip w-56" }), k$3("div", { className: "feed-skeleton-chip" }))));
|
|
13898
13902
|
}
|
|
13899
13903
|
//#endregion
|
|
13900
13904
|
//#region src/tabs/feed/components/FeedList.tsx
|
|
13901
13905
|
function FeedList({ items, loadingText, ops }) {
|
|
13902
|
-
if (loadingText) return
|
|
13906
|
+
if (loadingText) return k$3("div", {
|
|
13903
13907
|
className: "feed-skeleton",
|
|
13904
13908
|
role: "status",
|
|
13905
13909
|
"aria-label": loadingText
|
|
@@ -13908,15 +13912,15 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
13908
13912
|
1,
|
|
13909
13913
|
2,
|
|
13910
13914
|
3
|
|
13911
|
-
].map((i) =>
|
|
13915
|
+
].map((i) => k$3(FeedSkeletonItem, {
|
|
13912
13916
|
index: i,
|
|
13913
13917
|
key: `skeleton-${i}`
|
|
13914
13918
|
})));
|
|
13915
13919
|
if (!items.length) {
|
|
13916
13920
|
const hasFilters = Boolean(state.feedQuery.trim()) || state.feedTypeFilter !== "all" || state.feedScopeFilter !== "all";
|
|
13917
|
-
return
|
|
13921
|
+
return k$3("div", { className: "small feed-empty-state" }, k$3("strong", null, hasFilters ? "No memories match the current filters." : "No memories yet."), k$3("div", null, hasFilters ? "Try clearing filters, changing the scope, or using a broader search." : "Memories and session summaries will appear here once codemem has something worth keeping."));
|
|
13918
13922
|
}
|
|
13919
|
-
return
|
|
13923
|
+
return k$3(S$1, null, items.map((item) => k$3(FeedItemCard, {
|
|
13920
13924
|
item,
|
|
13921
13925
|
key: itemKey(item),
|
|
13922
13926
|
onReplace: ops.replaceFeedItem,
|
|
@@ -13928,12 +13932,12 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
13928
13932
|
//#endregion
|
|
13929
13933
|
//#region src/tabs/feed/components/FeedToggle.tsx
|
|
13930
13934
|
function FeedToggle({ id, active, options, onSelect }) {
|
|
13931
|
-
return
|
|
13935
|
+
return k$3("div", {
|
|
13932
13936
|
className: "feed-toggle",
|
|
13933
13937
|
id
|
|
13934
13938
|
}, options.map(({ value, label }) => {
|
|
13935
13939
|
const selected = value === active;
|
|
13936
|
-
return
|
|
13940
|
+
return k$3("button", {
|
|
13937
13941
|
"aria-pressed": selected ? "true" : "false",
|
|
13938
13942
|
className: `toggle-button${selected ? " active" : ""}`,
|
|
13939
13943
|
"data-filter": value,
|
|
@@ -13947,10 +13951,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
13947
13951
|
//#region src/tabs/feed/components/FeedTabView.tsx
|
|
13948
13952
|
function FeedTabView({ items, loadingText, ops }) {
|
|
13949
13953
|
const [inspectorOpen, setInspectorOpen] = d$2(false);
|
|
13950
|
-
return
|
|
13954
|
+
return k$3(S$1, null, k$3("div", { className: "feed-controls" }, k$3("div", {
|
|
13951
13955
|
className: "section-meta",
|
|
13952
13956
|
id: "feedMeta"
|
|
13953
|
-
}, loadingText || feedMetaText(items.length, ops.hasMorePages())),
|
|
13957
|
+
}, loadingText || feedMetaText(items.length, ops.hasMorePages())), k$3("div", { className: "feed-controls-right" }, k$3("input", {
|
|
13954
13958
|
className: "feed-search",
|
|
13955
13959
|
id: "feedSearch",
|
|
13956
13960
|
onInput: (event) => {
|
|
@@ -13959,7 +13963,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
13959
13963
|
},
|
|
13960
13964
|
placeholder: "Search title, body, tags…",
|
|
13961
13965
|
value: state.feedQuery
|
|
13962
|
-
}),
|
|
13966
|
+
}), k$3(FeedToggle, {
|
|
13963
13967
|
active: state.feedScopeFilter,
|
|
13964
13968
|
id: "feedScopeToggle",
|
|
13965
13969
|
onSelect: (value) => {
|
|
@@ -13981,7 +13985,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
13981
13985
|
label: "Other people"
|
|
13982
13986
|
}
|
|
13983
13987
|
]
|
|
13984
|
-
}),
|
|
13988
|
+
}), k$3(FeedToggle, {
|
|
13985
13989
|
active: state.feedTypeFilter,
|
|
13986
13990
|
id: "feedTypeToggle",
|
|
13987
13991
|
onSelect: (value) => {
|
|
@@ -14003,16 +14007,16 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
14003
14007
|
label: "Summaries"
|
|
14004
14008
|
}
|
|
14005
14009
|
]
|
|
14006
|
-
}),
|
|
14010
|
+
}), k$3("button", {
|
|
14007
14011
|
"aria-controls": "contextInspectorPanel",
|
|
14008
14012
|
"aria-expanded": inspectorOpen,
|
|
14009
14013
|
className: "settings-button feed-inspector-button",
|
|
14010
14014
|
onClick: () => setInspectorOpen((current) => !current),
|
|
14011
14015
|
type: "button"
|
|
14012
|
-
}, inspectorOpen ? "Hide Context Inspector" : "Context Inspector"))),
|
|
14016
|
+
}, inspectorOpen ? "Hide Context Inspector" : "Context Inspector"))), k$3(ContextInspectorPanel, { open: inspectorOpen }), k$3("div", {
|
|
14013
14017
|
className: "feed-list",
|
|
14014
14018
|
id: "feedList"
|
|
14015
|
-
},
|
|
14019
|
+
}, k$3(FeedList, {
|
|
14016
14020
|
items,
|
|
14017
14021
|
loadingText,
|
|
14018
14022
|
ops
|
|
@@ -14152,7 +14156,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
14152
14156
|
function renderFeedTab(items, options) {
|
|
14153
14157
|
const feedTab = document.getElementById("tab-feed");
|
|
14154
14158
|
if (!feedTab) return false;
|
|
14155
|
-
renderIntoFeedMount(feedTab,
|
|
14159
|
+
renderIntoFeedMount(feedTab, k$3(FeedTabView, {
|
|
14156
14160
|
items,
|
|
14157
14161
|
loadingText: options?.loadingText,
|
|
14158
14162
|
ops: feedOps
|
|
@@ -14236,14 +14240,14 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
14236
14240
|
return input;
|
|
14237
14241
|
}
|
|
14238
14242
|
function HealthCard({ label, value, detail, icon, className, title }) {
|
|
14239
|
-
const card =
|
|
14243
|
+
const card = k$3("div", {
|
|
14240
14244
|
class: `stat${className ? ` ${className}` : ""}`,
|
|
14241
14245
|
style: title ? "cursor: help;" : void 0
|
|
14242
|
-
}, icon ?
|
|
14246
|
+
}, icon ? k$3("i", {
|
|
14243
14247
|
"data-lucide": icon,
|
|
14244
14248
|
class: "stat-icon"
|
|
14245
|
-
}) : null,
|
|
14246
|
-
return title ?
|
|
14249
|
+
}) : null, k$3("div", { class: "stat-content" }, k$3("div", { class: "value" }, value), k$3("div", { class: "label" }, label), detail ? k$3("div", { class: "small" }, detail) : null));
|
|
14250
|
+
return title ? k$3(Tooltip, { label: title }, card) : card;
|
|
14247
14251
|
}
|
|
14248
14252
|
function HealthActionRow({ item }) {
|
|
14249
14253
|
let actionButton = null;
|
|
@@ -14263,13 +14267,13 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
14263
14267
|
if (!item.command || !copyButton) return;
|
|
14264
14268
|
copyToClipboard(item.command, copyButton);
|
|
14265
14269
|
}
|
|
14266
|
-
return
|
|
14270
|
+
return k$3("div", { class: "health-action" }, k$3("div", { class: "health-action-text" }, item.label, item.command ? k$3("span", { class: "health-action-command" }, item.command) : null), k$3("div", { class: "health-action-buttons" }, item.action ? k$3("button", {
|
|
14267
14271
|
class: "settings-button",
|
|
14268
14272
|
onClick: handleAction,
|
|
14269
14273
|
ref: (node) => {
|
|
14270
14274
|
actionButton = node;
|
|
14271
14275
|
}
|
|
14272
|
-
}, actionLabel) : null, item.command ?
|
|
14276
|
+
}, actionLabel) : null, item.command ? k$3("button", {
|
|
14273
14277
|
class: "settings-button health-action-copy",
|
|
14274
14278
|
onClick: handleCopy,
|
|
14275
14279
|
ref: (node) => {
|
|
@@ -14283,25 +14287,25 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
14283
14287
|
return String(value);
|
|
14284
14288
|
}
|
|
14285
14289
|
function StatBlock({ label, value, icon, tooltip }) {
|
|
14286
|
-
const card =
|
|
14290
|
+
const card = k$3("div", {
|
|
14287
14291
|
class: "stat",
|
|
14288
14292
|
style: tooltip ? "cursor: help;" : void 0
|
|
14289
|
-
},
|
|
14293
|
+
}, k$3("i", {
|
|
14290
14294
|
"data-lucide": icon,
|
|
14291
14295
|
class: "stat-icon"
|
|
14292
|
-
}),
|
|
14293
|
-
return tooltip ?
|
|
14296
|
+
}), k$3("div", { class: "stat-content" }, k$3("div", { class: "value" }, formatStatValue(value)), k$3("div", { class: "label" }, label)));
|
|
14297
|
+
return tooltip ? k$3(Tooltip, { label: tooltip }, card) : card;
|
|
14294
14298
|
}
|
|
14295
14299
|
function renderStatBlocks(container, items) {
|
|
14296
14300
|
if (!container) return;
|
|
14297
|
-
|
|
14301
|
+
R$1(k$3(TooltipProvider, null, items.map((item) => k$3(StatBlock, {
|
|
14298
14302
|
...item,
|
|
14299
14303
|
key: `${item.label}-${item.icon}`
|
|
14300
14304
|
}))), container);
|
|
14301
14305
|
}
|
|
14302
14306
|
function renderText(container, value) {
|
|
14303
14307
|
if (!container) return;
|
|
14304
|
-
|
|
14308
|
+
R$1(k$3(S$1, null, value), container);
|
|
14305
14309
|
}
|
|
14306
14310
|
function renderIcons() {
|
|
14307
14311
|
const lucide = globalThis.lucide;
|
|
@@ -14309,7 +14313,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
14309
14313
|
}
|
|
14310
14314
|
function renderHealthCards(container, cards) {
|
|
14311
14315
|
if (!container) return;
|
|
14312
|
-
|
|
14316
|
+
R$1(k$3(TooltipProvider, null, cards.map((card) => k$3(HealthCard, {
|
|
14313
14317
|
...card,
|
|
14314
14318
|
key: card.key ?? card.label
|
|
14315
14319
|
}))), container);
|
|
@@ -14318,11 +14322,11 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
14318
14322
|
if (!container) return;
|
|
14319
14323
|
if (!actions.length) {
|
|
14320
14324
|
container.hidden = true;
|
|
14321
|
-
|
|
14325
|
+
R$1(null, container);
|
|
14322
14326
|
return;
|
|
14323
14327
|
}
|
|
14324
14328
|
container.hidden = false;
|
|
14325
|
-
|
|
14329
|
+
R$1(k$3(S$1, null, actions.slice(0, 3).map((item, index) => k$3(HealthActionRow, {
|
|
14326
14330
|
item,
|
|
14327
14331
|
key: `${item.label}-${index}`
|
|
14328
14332
|
}))), container);
|
|
@@ -15310,7 +15314,11 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
15310
15314
|
actions.appendChild(note);
|
|
15311
15315
|
row.appendChild(actions);
|
|
15312
15316
|
} else {
|
|
15313
|
-
const
|
|
15317
|
+
const projectsWithBlockingWarnings = assignableProjects.map((project) => ({
|
|
15318
|
+
project,
|
|
15319
|
+
warnings: (project.guardrail_warnings ?? []).filter((warning) => warning.requires_confirmation)
|
|
15320
|
+
}));
|
|
15321
|
+
const hasBlockingGuardrailWarnings = projectsWithBlockingWarnings.some(({ warnings }) => warnings.length > 0);
|
|
15314
15322
|
const suggestedScopes = new Set(assignableProjects.map((project) => project.suggested_scope_id).filter((scopeId) => Boolean(scopeId)));
|
|
15315
15323
|
const resolvedScopes = new Set(assignableProjects.map((project) => project.resolved_scope_id));
|
|
15316
15324
|
const select = document.createElement("select");
|
|
@@ -15326,19 +15334,33 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
15326
15334
|
save.className = "settings-button";
|
|
15327
15335
|
save.type = "button";
|
|
15328
15336
|
save.textContent = `Save Space for ${assignableProjects.length} identit${assignableProjects.length === 1 ? "y" : "ies"}`;
|
|
15329
|
-
save.disabled = !select.value ||
|
|
15337
|
+
save.disabled = !select.value || hasBlockingGuardrailWarnings;
|
|
15330
15338
|
save.addEventListener("click", () => void saveProjectClusterMapping(assignableProjects, select.value));
|
|
15331
15339
|
select.addEventListener("change", () => {
|
|
15332
15340
|
if (select.value) draftClusterDomainSelections.set(clusterKey, select.value);
|
|
15333
15341
|
else draftClusterDomainSelections.delete(clusterKey);
|
|
15334
|
-
save.disabled = !select.value ||
|
|
15342
|
+
save.disabled = !select.value || hasBlockingGuardrailWarnings;
|
|
15335
15343
|
});
|
|
15336
15344
|
select.addEventListener("blur", refreshSkippedProjectDataAfterSelectBlur);
|
|
15337
15345
|
actions.append(select, save);
|
|
15338
|
-
if (suggestedScopes.size > 1 || resolvedScopes.size > 1 ||
|
|
15346
|
+
if (suggestedScopes.size > 1 || resolvedScopes.size > 1 || hasBlockingGuardrailWarnings) {
|
|
15339
15347
|
const note = document.createElement("div");
|
|
15340
15348
|
note.className = "settings-note project-attention-note";
|
|
15341
|
-
note.textContent =
|
|
15349
|
+
note.textContent = hasBlockingGuardrailWarnings ? "One or more identities in this group need individual review before bulk assignment." : "This group has mixed suggestions or current Spaces. Choose a Space explicitly before bulk assignment.";
|
|
15350
|
+
if (hasBlockingGuardrailWarnings) {
|
|
15351
|
+
const blockers = document.createElement("ul");
|
|
15352
|
+
for (const { project, warnings } of projectsWithBlockingWarnings) {
|
|
15353
|
+
if (warnings.length === 0) continue;
|
|
15354
|
+
const item = document.createElement("li");
|
|
15355
|
+
const label = document.createElement("strong");
|
|
15356
|
+
label.textContent = `Blocked identity: ${project.workspace_identity}`;
|
|
15357
|
+
const detail = document.createElement("span");
|
|
15358
|
+
detail.textContent = ` — ${warnings.map((warning) => warning.message).join(" ")}`;
|
|
15359
|
+
item.append(label, detail);
|
|
15360
|
+
blockers.appendChild(item);
|
|
15361
|
+
}
|
|
15362
|
+
note.appendChild(blockers);
|
|
15363
|
+
}
|
|
15342
15364
|
actions.appendChild(note);
|
|
15343
15365
|
}
|
|
15344
15366
|
row.appendChild(actions);
|
|
@@ -16059,7 +16081,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
16059
16081
|
id: "observerStatusBanner",
|
|
16060
16082
|
className: "observer-status-banner",
|
|
16061
16083
|
children: [
|
|
16062
|
-
active ? /* @__PURE__ */ u(
|
|
16084
|
+
active ? /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("div", {
|
|
16063
16085
|
className: "status-label",
|
|
16064
16086
|
children: "Active observer"
|
|
16065
16087
|
}), /* @__PURE__ */ u("div", {
|
|
@@ -16082,14 +16104,14 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
16082
16104
|
})
|
|
16083
16105
|
})
|
|
16084
16106
|
]
|
|
16085
|
-
})] }) : /* @__PURE__ */ u(
|
|
16107
|
+
})] }) : /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("div", {
|
|
16086
16108
|
className: "status-label",
|
|
16087
16109
|
children: "Observer status"
|
|
16088
16110
|
}), /* @__PURE__ */ u("div", {
|
|
16089
16111
|
className: "status-active",
|
|
16090
16112
|
children: "Not yet initialized (waiting for first session)"
|
|
16091
16113
|
})] }),
|
|
16092
|
-
credentialEntries.length ? /* @__PURE__ */ u(
|
|
16114
|
+
credentialEntries.length ? /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("div", {
|
|
16093
16115
|
className: "status-label",
|
|
16094
16116
|
children: "Available credentials"
|
|
16095
16117
|
}), /* @__PURE__ */ u("div", { children: credentialEntries.map(([provider, creds], index) => {
|
|
@@ -16115,7 +16137,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
16115
16137
|
]
|
|
16116
16138
|
}, provider);
|
|
16117
16139
|
}) })] }) : null,
|
|
16118
|
-
failure && typeof failure === "object" ? /* @__PURE__ */ u(
|
|
16140
|
+
failure && typeof failure === "object" ? /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("div", {
|
|
16119
16141
|
className: "status-label",
|
|
16120
16142
|
children: "Latest processing issue"
|
|
16121
16143
|
}), /* @__PURE__ */ u("div", {
|
|
@@ -16374,7 +16396,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
16374
16396
|
const close = q$2(() => {
|
|
16375
16397
|
if (settingsState.startPolling && settingsState.refresh) onClose(settingsState.startPolling, settingsState.refresh);
|
|
16376
16398
|
}, [onClose]);
|
|
16377
|
-
return /* @__PURE__ */ u(
|
|
16399
|
+
return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(RadixDialog, {
|
|
16378
16400
|
ariaDescribedby: "settingsDescription",
|
|
16379
16401
|
ariaLabelledby: "settingsTitle",
|
|
16380
16402
|
contentClassName: "modal",
|
|
@@ -16435,7 +16457,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
16435
16457
|
//#endregion
|
|
16436
16458
|
//#region src/tabs/settings/components/ObserverPanel.tsx
|
|
16437
16459
|
function ObserverPanel({ values, observerMaxCharsDefault, providerOptions, showAuthFile, showAuthCommand, hiddenUnlessAdvanced, onTextInput, onSelectValueChange, getObserverModelLabel, getObserverModelTooltip, getObserverModelDescription, getObserverModelHint, protectedConfigHelp, observerStatusBannerSlot }) {
|
|
16438
|
-
return /* @__PURE__ */ u(
|
|
16460
|
+
return /* @__PURE__ */ u(S$1, { children: [
|
|
16439
16461
|
/* @__PURE__ */ u(SettingsSectionIntro, {
|
|
16440
16462
|
detail: "Set how codemem reaches your model provider and where it should look for credentials.",
|
|
16441
16463
|
title: "Connection and credentials"
|
|
@@ -16799,7 +16821,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
16799
16821
|
//#endregion
|
|
16800
16822
|
//#region src/tabs/settings/components/ProcessingPanel.tsx
|
|
16801
16823
|
function ProcessingPanel({ values, showTieredRouting, hiddenUnlessAdvanced, onTextInput, onSwitchInput, getTieredRoutingHelperText }) {
|
|
16802
|
-
return /* @__PURE__ */ u(
|
|
16824
|
+
return /* @__PURE__ */ u(S$1, { children: [
|
|
16803
16825
|
/* @__PURE__ */ u(SettingsSectionIntro, {
|
|
16804
16826
|
detail: "Control how often codemem processes queued work and, if needed, how it routes lighter vs richer model requests.",
|
|
16805
16827
|
title: "Processing and routing"
|
|
@@ -17048,7 +17070,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
17048
17070
|
//#endregion
|
|
17049
17071
|
//#region src/tabs/settings/components/SyncPanel.tsx
|
|
17050
17072
|
function SyncPanel({ values, hiddenUnlessAdvanced, onTextInput, onSwitchInput, protectedConfigHelp }) {
|
|
17051
|
-
return /* @__PURE__ */ u(
|
|
17073
|
+
return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(SettingsSectionIntro, {
|
|
17052
17074
|
detail: "Choose whether this device syncs at all, how often it checks peers, and which coordinator group it should join.",
|
|
17053
17075
|
title: "Device sync"
|
|
17054
17076
|
}), /* @__PURE__ */ u("div", {
|
|
@@ -17464,7 +17486,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
17464
17486
|
function renderSettingsShell() {
|
|
17465
17487
|
const mount = $("settingsDialogMount");
|
|
17466
17488
|
if (!mount) return;
|
|
17467
|
-
|
|
17489
|
+
R$1(/* @__PURE__ */ u(SettingsDialogShellBound, {}), mount);
|
|
17468
17490
|
}
|
|
17469
17491
|
function ensureSettingsShell() {
|
|
17470
17492
|
if (!$("settingsDialogMount")) return;
|
|
@@ -17551,11 +17573,11 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
17551
17573
|
}
|
|
17552
17574
|
function renderIntoSyncMount(mount, content) {
|
|
17553
17575
|
markMount(mount);
|
|
17554
|
-
|
|
17576
|
+
R$1(content, mount);
|
|
17555
17577
|
}
|
|
17556
17578
|
function clearSyncMount(mount) {
|
|
17557
17579
|
if (mount.dataset.syncRenderRoot !== "preact") return;
|
|
17558
|
-
|
|
17580
|
+
R$1(null, mount);
|
|
17559
17581
|
}
|
|
17560
17582
|
//#endregion
|
|
17561
17583
|
//#region src/tabs/sync/diagnostics/helpers.ts
|
|
@@ -17622,7 +17644,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
17622
17644
|
//#endregion
|
|
17623
17645
|
//#region src/tabs/sync/components/sync-diagnostics.tsx
|
|
17624
17646
|
function DiagnosticsGrid({ items }) {
|
|
17625
|
-
return /* @__PURE__ */ u(
|
|
17647
|
+
return /* @__PURE__ */ u(S$1, { children: items.map((item, index) => /* @__PURE__ */ u("div", {
|
|
17626
17648
|
class: "stat",
|
|
17627
17649
|
children: /* @__PURE__ */ u("div", {
|
|
17628
17650
|
class: "stat-content",
|
|
@@ -17637,21 +17659,29 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
17637
17659
|
}, `${item.label}-${index}`)) });
|
|
17638
17660
|
}
|
|
17639
17661
|
function AttemptsList({ attempts, note }) {
|
|
17640
|
-
return /* @__PURE__ */ u(
|
|
17662
|
+
return /* @__PURE__ */ u(S$1, { children: [note ? /* @__PURE__ */ u("div", {
|
|
17641
17663
|
class: "small",
|
|
17642
17664
|
children: note
|
|
17643
17665
|
}) : null, attempts.map((attempt, index) => /* @__PURE__ */ u("div", {
|
|
17644
17666
|
class: "diag-line",
|
|
17645
17667
|
children: [/* @__PURE__ */ u("div", {
|
|
17646
17668
|
class: "left",
|
|
17647
|
-
children: [
|
|
17648
|
-
|
|
17649
|
-
|
|
17650
|
-
|
|
17651
|
-
|
|
17652
|
-
|
|
17653
|
-
|
|
17654
|
-
|
|
17669
|
+
children: [
|
|
17670
|
+
/* @__PURE__ */ u("div", { children: [
|
|
17671
|
+
attempt.peerLabel,
|
|
17672
|
+
" — ",
|
|
17673
|
+
attempt.status
|
|
17674
|
+
] }),
|
|
17675
|
+
attempt.detail ? /* @__PURE__ */ u("div", {
|
|
17676
|
+
class: "small",
|
|
17677
|
+
children: attempt.detail
|
|
17678
|
+
}) : null,
|
|
17679
|
+
attempt.actionHref && attempt.actionLabel ? /* @__PURE__ */ u("a", {
|
|
17680
|
+
class: "small",
|
|
17681
|
+
href: attempt.actionHref,
|
|
17682
|
+
children: attempt.actionLabel
|
|
17683
|
+
}) : null
|
|
17684
|
+
]
|
|
17655
17685
|
}), /* @__PURE__ */ u("div", {
|
|
17656
17686
|
class: "right",
|
|
17657
17687
|
children: attempt.startedAt
|
|
@@ -17659,7 +17689,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
17659
17689
|
}, `${attempt.startedAt}-${attempt.peerLabel}-${index}`))] });
|
|
17660
17690
|
}
|
|
17661
17691
|
function PairingText({ text }) {
|
|
17662
|
-
return /* @__PURE__ */ u(
|
|
17692
|
+
return /* @__PURE__ */ u(S$1, { children: text });
|
|
17663
17693
|
}
|
|
17664
17694
|
function SyncEmptyState$1({ title, detail }) {
|
|
17665
17695
|
return /* @__PURE__ */ u("div", {
|
|
@@ -17968,12 +17998,12 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
17968
17998
|
warning: false
|
|
17969
17999
|
};
|
|
17970
18000
|
}
|
|
17971
|
-
if (failedItems.filter((item) =>
|
|
18001
|
+
if (failedItems.filter((item) => failureCategoryForItem(item) === "trust").length === failedItems.length) return {
|
|
17972
18002
|
ok: false,
|
|
17973
18003
|
message: "This device no longer has two-way trust with the peer. Pair it again from the other device, or remove the stale local record if it should be gone.",
|
|
17974
18004
|
warning: true
|
|
17975
18005
|
};
|
|
17976
|
-
if (failedItems.filter((item) =>
|
|
18006
|
+
if (failedItems.filter((item) => failureCategoryForItem(item) === "scope").length === failedItems.length) return {
|
|
17977
18007
|
ok: false,
|
|
17978
18008
|
message: "Sync ran, but the peer is not authorized for one or more Spaces. Review Space access for this device in Teams, then sync again.",
|
|
17979
18009
|
warning: true
|
|
@@ -17989,6 +18019,15 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
17989
18019
|
warning: true
|
|
17990
18020
|
};
|
|
17991
18021
|
}
|
|
18022
|
+
function failureCategoryForItem(item) {
|
|
18023
|
+
if (item.failureCategory) return item.failureCategory;
|
|
18024
|
+
const scopeCategories = Array.isArray(item.perScopeResults) ? item.perScopeResults.filter((scope) => scope && scope.ok === false).map((scope) => scope.failureCategory).filter((category) => Boolean(category)) : [];
|
|
18025
|
+
if (scopeCategories.length) return new Set(scopeCategories).size === 1 ? scopeCategories[0] : "other";
|
|
18026
|
+
const error = cleanText(item.error);
|
|
18027
|
+
if (isTrustFailureError(error)) return "trust";
|
|
18028
|
+
if (isScopeMembershipFailureError(error)) return "scope";
|
|
18029
|
+
return null;
|
|
18030
|
+
}
|
|
17992
18031
|
/**
|
|
17993
18032
|
* True when a sync-failure error string looks like a two-way-trust failure
|
|
17994
18033
|
* (401 unauthorized on the peer's /v1/status), which is the only class of
|
|
@@ -18197,6 +18236,38 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
18197
18236
|
emptyMessage: "No Space access grants exist for this device yet. Advanced project filters cannot send data by themselves."
|
|
18198
18237
|
};
|
|
18199
18238
|
}
|
|
18239
|
+
function derivePeerScopeSyncView(peer) {
|
|
18240
|
+
const rows = (Array.isArray(peer.per_scope_sync) ? peer.per_scope_sync : []).map((scope) => {
|
|
18241
|
+
const scopeId = cleanText(scope.scope_id);
|
|
18242
|
+
const rawLabel = cleanText(scope.label);
|
|
18243
|
+
if (!scopeId && !rawLabel) return null;
|
|
18244
|
+
const label = rawLabel || "Untitled Space";
|
|
18245
|
+
const lastApplied = cleanText(scope.last_applied_cursor);
|
|
18246
|
+
const lastAcked = cleanText(scope.last_acked_cursor);
|
|
18247
|
+
const status = scope.bootstrapped === true || Boolean(lastApplied) ? "received" : "pending";
|
|
18248
|
+
const authority = labelPart(cleanText(scope.authority_type), "local");
|
|
18249
|
+
const epoch = Number(scope.membership_epoch ?? 0);
|
|
18250
|
+
const detail = [
|
|
18251
|
+
`Scope id: ${scopeId || "unknown"}`,
|
|
18252
|
+
`${authority} authority`,
|
|
18253
|
+
Number.isFinite(epoch) ? `membership epoch ${epoch}` : null,
|
|
18254
|
+
lastApplied ? `last applied ${lastApplied}` : null,
|
|
18255
|
+
lastAcked ? `last acknowledged ${lastAcked}` : null
|
|
18256
|
+
].filter((value) => Boolean(value)).join(" · ");
|
|
18257
|
+
return {
|
|
18258
|
+
scopeId: scopeId || label,
|
|
18259
|
+
label,
|
|
18260
|
+
status,
|
|
18261
|
+
badgeLabel: status === "received" ? "Received" : "Pending",
|
|
18262
|
+
detail
|
|
18263
|
+
};
|
|
18264
|
+
}).filter((item) => item != null);
|
|
18265
|
+
return {
|
|
18266
|
+
total: rows.length,
|
|
18267
|
+
rows,
|
|
18268
|
+
emptyMessage: "No per-Space sync progress is available yet. Run sync after both devices have Space access."
|
|
18269
|
+
};
|
|
18270
|
+
}
|
|
18200
18271
|
var PERSONAL_SCOPE_WORDS = [
|
|
18201
18272
|
"personal",
|
|
18202
18273
|
"private",
|
|
@@ -18386,6 +18457,23 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
18386
18457
|
deviceId: device.id
|
|
18387
18458
|
};
|
|
18388
18459
|
}
|
|
18460
|
+
function deriveCoordinatorSetupBlocker(coordinator) {
|
|
18461
|
+
const coordinatorUrl = cleanText(coordinator?.coordinator_url);
|
|
18462
|
+
const groups = Array.isArray(coordinator?.groups) ? coordinator.groups : [];
|
|
18463
|
+
if (!coordinatorUrl) return {
|
|
18464
|
+
reason: "coordinator_url_missing",
|
|
18465
|
+
message: "Configure a coordinator URL before pairing team devices."
|
|
18466
|
+
};
|
|
18467
|
+
if (!groups.some((group) => cleanText(group))) return {
|
|
18468
|
+
reason: "coordinator_groups_empty",
|
|
18469
|
+
message: "Join or configure a team before pairing team devices."
|
|
18470
|
+
};
|
|
18471
|
+
if (coordinator?.sync_enabled === false) return {
|
|
18472
|
+
reason: "sync_disabled",
|
|
18473
|
+
message: "Enable sync before pairing team devices."
|
|
18474
|
+
};
|
|
18475
|
+
return null;
|
|
18476
|
+
}
|
|
18389
18477
|
function mergeDevices(peers, discoveredDevices) {
|
|
18390
18478
|
const devices = /* @__PURE__ */ new Map();
|
|
18391
18479
|
const getOrCreate = (deviceId) => {
|
|
@@ -18716,7 +18804,11 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
18716
18804
|
status: attempt.status || "unknown",
|
|
18717
18805
|
peerLabel,
|
|
18718
18806
|
detail: detailParts.join(" · "),
|
|
18719
|
-
startedAt: time ? formatTimestamp(time) : ""
|
|
18807
|
+
startedAt: time ? formatTimestamp(time) : "",
|
|
18808
|
+
...shouldShowSyncAttemptRedactionHint(attempt, redact) ? {
|
|
18809
|
+
actionHref: "#sync/diagnostics",
|
|
18810
|
+
actionLabel: "Open Advanced diagnostics Redact setting"
|
|
18811
|
+
} : {}
|
|
18720
18812
|
};
|
|
18721
18813
|
}), historyOnlyNote);
|
|
18722
18814
|
}
|
|
@@ -18968,7 +19060,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
18968
19060
|
function renderRedactControl() {
|
|
18969
19061
|
const mount = document.getElementById(SYNC_REDACT_MOUNT_ID);
|
|
18970
19062
|
if (!mount) return;
|
|
18971
|
-
renderIntoSyncMount(mount,
|
|
19063
|
+
renderIntoSyncMount(mount, k$3(RadixSwitch, {
|
|
18972
19064
|
"aria-labelledby": SYNC_REDACT_LABEL_ID,
|
|
18973
19065
|
checked: isSyncRedactionEnabled(),
|
|
18974
19066
|
className: "sync-redact-switch",
|
|
@@ -19141,7 +19233,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
19141
19233
|
children: actor.is_local ? /* @__PURE__ */ u("div", {
|
|
19142
19234
|
className: "peer-meta",
|
|
19143
19235
|
children: "Rename yourself in config"
|
|
19144
|
-
}) : /* @__PURE__ */ u(
|
|
19236
|
+
}) : /* @__PURE__ */ u(S$1, { children: [
|
|
19145
19237
|
/* @__PURE__ */ u(TextInput, {
|
|
19146
19238
|
"aria-label": `Rename ${label}`,
|
|
19147
19239
|
className: "peer-scope-input actor-name-input",
|
|
@@ -19184,7 +19276,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
19184
19276
|
onClick: () => setAdvancedOpen((open) => !open),
|
|
19185
19277
|
children: advancedOpen ? "Hide duplicate cleanup" : "Show duplicate cleanup"
|
|
19186
19278
|
}),
|
|
19187
|
-
advancedOpen ? /* @__PURE__ */ u(
|
|
19279
|
+
advancedOpen ? /* @__PURE__ */ u(S$1, { children: [
|
|
19188
19280
|
/* @__PURE__ */ u("div", {
|
|
19189
19281
|
className: "peer-meta actor-merge-note",
|
|
19190
19282
|
children: "Use this only when combining duplicate people into one."
|
|
@@ -19224,7 +19316,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
19224
19316
|
detail: "Create a named person here, then assign devices below so team ownership stays readable.",
|
|
19225
19317
|
title: "No people set up yet."
|
|
19226
19318
|
});
|
|
19227
|
-
return /* @__PURE__ */ u(
|
|
19319
|
+
return /* @__PURE__ */ u(S$1, { children: actors.map((actor) => {
|
|
19228
19320
|
const actorId = String(actor.actor_id || actor.display_name || actor.is_local || "");
|
|
19229
19321
|
return /* @__PURE__ */ u(SyncActorRow, {
|
|
19230
19322
|
actor,
|
|
@@ -19249,7 +19341,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
19249
19341
|
return "Detected from older synced memories not yet attached to a current device.";
|
|
19250
19342
|
}
|
|
19251
19343
|
function LegacyClaimMeta({ devices }) {
|
|
19252
|
-
return /* @__PURE__ */ u(
|
|
19344
|
+
return /* @__PURE__ */ u(S$1, { children: metaText(devices) });
|
|
19253
19345
|
}
|
|
19254
19346
|
function option(device) {
|
|
19255
19347
|
const deviceId = String(device.origin_device_id || "").trim();
|
|
@@ -19395,6 +19487,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
19395
19487
|
const pendingScopeReview = rawPendingScopeReview && authorizedDomains.total === 0;
|
|
19396
19488
|
const grantRoleMismatch = derivePeerGrantRoleMismatchView(peer);
|
|
19397
19489
|
const scopeRejections = derivePeerScopeRejectionsView(peer);
|
|
19490
|
+
const scopeSync = derivePeerScopeSyncView(peer);
|
|
19398
19491
|
const projectNarrowing = derivePeerProjectNarrowingView(peer.project_scope || {});
|
|
19399
19492
|
const primaryAddress = pickPrimaryAddress(peer.addresses);
|
|
19400
19493
|
const peerAddresses = Array.isArray(peer.addresses) ? Array.from(new Set(peer.addresses.filter(Boolean).map((value) => String(value)))) : [];
|
|
@@ -19731,6 +19824,28 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
19731
19824
|
className: "peer-meta",
|
|
19732
19825
|
children: projectNarrowing.note
|
|
19733
19826
|
}),
|
|
19827
|
+
/* @__PURE__ */ u("div", {
|
|
19828
|
+
className: "peer-scope-summary",
|
|
19829
|
+
children: "Space sync progress"
|
|
19830
|
+
}),
|
|
19831
|
+
/* @__PURE__ */ u("div", {
|
|
19832
|
+
className: "peer-meta",
|
|
19833
|
+
children: scopeSync.total > 0 ? "Per-Space progress for this device. Open details to see technical identifiers." : scopeSync.emptyMessage
|
|
19834
|
+
}),
|
|
19835
|
+
scopeSync.rows.length > 0 ? /* @__PURE__ */ u("ul", {
|
|
19836
|
+
className: "peer-scope-rejections-list",
|
|
19837
|
+
"aria-label": "Per-Space sync progress",
|
|
19838
|
+
children: scopeSync.rows.map((row) => /* @__PURE__ */ u("li", {
|
|
19839
|
+
title: row.detail,
|
|
19840
|
+
children: [/* @__PURE__ */ u("span", {
|
|
19841
|
+
className: "peer-scope-rejection-label",
|
|
19842
|
+
children: row.label
|
|
19843
|
+
}), /* @__PURE__ */ u("span", {
|
|
19844
|
+
className: `badge ${row.status === "received" ? "badge-online" : "actor-badge"}`,
|
|
19845
|
+
children: row.badgeLabel
|
|
19846
|
+
})]
|
|
19847
|
+
}, row.scopeId))
|
|
19848
|
+
}) : null,
|
|
19734
19849
|
scopeRejections.total > 0 ? /* @__PURE__ */ u("div", {
|
|
19735
19850
|
className: "peer-scope-rejections",
|
|
19736
19851
|
"data-peer-rejection-count": scopeRejections.total,
|
|
@@ -19832,11 +19947,11 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
19832
19947
|
const sectionFeedback = state.syncPeersSectionFeedback;
|
|
19833
19948
|
const syncStatus = state.lastSyncStatus;
|
|
19834
19949
|
const syncDisabled = syncStatus?.daemon_state === "disabled" || syncStatus?.enabled === false;
|
|
19835
|
-
if (!props.peers.length) return /* @__PURE__ */ u(
|
|
19950
|
+
if (!props.peers.length) return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(SyncInlineFeedback, { feedback: sectionFeedback }), /* @__PURE__ */ u(SyncEmptyState, {
|
|
19836
19951
|
detail: syncDisabled ? "Turn on sync in Settings → Device Sync first. Then use Invite a teammate or Paste an invite above to connect another device." : "Use Invite a teammate above to share a join code, or Paste an invite to enroll this device on an existing team.",
|
|
19837
19952
|
title: "No teammates yet"
|
|
19838
19953
|
})] });
|
|
19839
|
-
return /* @__PURE__ */ u(
|
|
19954
|
+
return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(SyncInlineFeedback, { feedback: sectionFeedback }), props.peers.map((peer) => {
|
|
19840
19955
|
const peerId = String(peer.peer_device_id || peer.name || "unknown-peer");
|
|
19841
19956
|
return /* @__PURE__ */ u(SyncPeerCard, {
|
|
19842
19957
|
peer,
|
|
@@ -20162,10 +20277,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20162
20277
|
if (readiness === "ready") {
|
|
20163
20278
|
syncCreateInviteButton.disabled = false;
|
|
20164
20279
|
hint.hidden = false;
|
|
20165
|
-
hint.textContent = activeGroup ? `
|
|
20280
|
+
hint.textContent = activeGroup ? `Teams is ready for ${activeGroup}. Advanced admin tools now live in Teams.` : "Teams is ready. Advanced admin tools now live in Teams.";
|
|
20166
20281
|
return;
|
|
20167
20282
|
}
|
|
20168
|
-
const message = readiness === "partial" ? "Finish
|
|
20283
|
+
const message = readiness === "partial" ? "Finish Teams setup before creating remote invites. Use Teams to check what is missing." : "Configure a coordinator URL, Team, and admin secret before creating remote invites. Use Teams to finish setup.";
|
|
20169
20284
|
syncCreateInviteButton.disabled = true;
|
|
20170
20285
|
hint.hidden = false;
|
|
20171
20286
|
hint.textContent = message;
|
|
@@ -20215,7 +20330,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20215
20330
|
function renderInvitePolicySelect() {
|
|
20216
20331
|
const mount = document.getElementById("syncInvitePolicyMount");
|
|
20217
20332
|
if (!mount) return;
|
|
20218
|
-
renderIntoSyncMount(mount,
|
|
20333
|
+
renderIntoSyncMount(mount, k$3(RadixSelect, {
|
|
20219
20334
|
ariaLabel: "Join policy",
|
|
20220
20335
|
contentClassName: "sync-radix-select-content sync-actor-select-content",
|
|
20221
20336
|
id: "syncInvitePolicy",
|
|
@@ -20381,7 +20496,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20381
20496
|
return /* @__PURE__ */ u("div", { ref: hostRef });
|
|
20382
20497
|
}
|
|
20383
20498
|
function InviteToggleRow({ invitePanel, invitePanelOpen, inviteRestoreParent, onToggle }) {
|
|
20384
|
-
return /* @__PURE__ */ u(
|
|
20499
|
+
return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("div", {
|
|
20385
20500
|
className: "sync-action",
|
|
20386
20501
|
children: [/* @__PURE__ */ u("div", {
|
|
20387
20502
|
className: "sync-action-text",
|
|
@@ -20419,7 +20534,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20419
20534
|
});
|
|
20420
20535
|
}
|
|
20421
20536
|
function JoinToggleRow({ joinPanel, joinPanelOpen, joinRestoreParent, onToggle }) {
|
|
20422
|
-
return /* @__PURE__ */ u(
|
|
20537
|
+
return /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("div", {
|
|
20423
20538
|
className: "sync-action",
|
|
20424
20539
|
children: [/* @__PURE__ */ u("div", {
|
|
20425
20540
|
className: "sync-action-text",
|
|
@@ -20441,8 +20556,8 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20441
20556
|
}
|
|
20442
20557
|
function SyncInviteJoinPanels({ invitePanel, invitePanelOpen, inviteRestoreParent, joinPanel, joinPanelOpen, joinRestoreParent, onToggleInvitePanel, onToggleJoinPanel, pairedPeerCount, presenceStatus }) {
|
|
20443
20558
|
const notEnrolled = presenceStatus === "not_enrolled";
|
|
20444
|
-
return /* @__PURE__ */ u(
|
|
20445
|
-
notEnrolled ? /* @__PURE__ */ u(
|
|
20559
|
+
return /* @__PURE__ */ u(S$1, { children: [
|
|
20560
|
+
notEnrolled ? /* @__PURE__ */ u(S$1, { children: [
|
|
20446
20561
|
/* @__PURE__ */ u("div", {
|
|
20447
20562
|
className: "sync-action",
|
|
20448
20563
|
children: /* @__PURE__ */ u("div", {
|
|
@@ -20473,7 +20588,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20473
20588
|
})]
|
|
20474
20589
|
})
|
|
20475
20590
|
})
|
|
20476
|
-
] }) : /* @__PURE__ */ u(
|
|
20591
|
+
] }) : /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u(JoinToggleRow, {
|
|
20477
20592
|
joinPanel,
|
|
20478
20593
|
joinPanelOpen,
|
|
20479
20594
|
joinRestoreParent,
|
|
@@ -20663,7 +20778,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20663
20778
|
},
|
|
20664
20779
|
children: reviewLabel
|
|
20665
20780
|
}) : null,
|
|
20666
|
-
(row.mode === "stale" || row.mode === "ambiguous" || row.mode === "scope-pending") && row.actionMessage ? /* @__PURE__ */ u("div", {
|
|
20781
|
+
(row.mode === "stale" || row.mode === "ambiguous" || row.mode === "scope-pending" || row.mode === "setup-blocked") && row.actionMessage ? /* @__PURE__ */ u("div", {
|
|
20667
20782
|
className: "peer-meta",
|
|
20668
20783
|
children: row.actionMessage
|
|
20669
20784
|
}) : null,
|
|
@@ -20671,7 +20786,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20671
20786
|
className: "peer-meta",
|
|
20672
20787
|
children: row.pairedMessage
|
|
20673
20788
|
}) : null,
|
|
20674
|
-
row.mode === "conflict" ? /* @__PURE__ */ u(
|
|
20789
|
+
row.mode === "conflict" ? /* @__PURE__ */ u(S$1, { children: [/* @__PURE__ */ u("button", {
|
|
20675
20790
|
type: "button",
|
|
20676
20791
|
className: "settings-button",
|
|
20677
20792
|
"aria-label": `Open details for ${row.displayName}`,
|
|
@@ -20707,7 +20822,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20707
20822
|
const hasAttentionItems = props.actionItems.length > 0;
|
|
20708
20823
|
const hasOtherActionableWork = props.actionableCount > props.actionItems.length;
|
|
20709
20824
|
const showNextStepsLabel = hasAttentionItems || hasOtherActionableWork || props.presenceStatus !== "posted";
|
|
20710
|
-
return /* @__PURE__ */ u(
|
|
20825
|
+
return /* @__PURE__ */ u(S$1, { children: [
|
|
20711
20826
|
showNextStepsLabel ? /* @__PURE__ */ u(SectionHeading, { label: "Needs attention" }) : null,
|
|
20712
20827
|
showNextStepsLabel ? /* @__PURE__ */ u(SectionNote, { children: "Start here when something needs review, re-pairing, or approval." }) : null,
|
|
20713
20828
|
hasAttentionItems ? props.actionItems.map((item) => /* @__PURE__ */ u(AttentionRow, {
|
|
@@ -20742,7 +20857,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20742
20857
|
}
|
|
20743
20858
|
function TeamActionsContent({ children }) {
|
|
20744
20859
|
if (!children) return null;
|
|
20745
|
-
return /* @__PURE__ */ u(
|
|
20860
|
+
return /* @__PURE__ */ u(S$1, { children: [
|
|
20746
20861
|
/* @__PURE__ */ u(SectionHeading, { label: "Add devices & teammates" }),
|
|
20747
20862
|
/* @__PURE__ */ u(SectionNote, { children: "Use these flows when you are enrolling, inviting, or pairing something new." }),
|
|
20748
20863
|
children
|
|
@@ -20750,7 +20865,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20750
20865
|
}
|
|
20751
20866
|
function DiscoveredPortal({ mount, rows, onInspectConflict, onRemoveConflict, onReview }) {
|
|
20752
20867
|
if (!mount || !rows.length && !state.syncDiscoveredFeedback) return null;
|
|
20753
|
-
return $$1(/* @__PURE__ */ u(
|
|
20868
|
+
return $$1(/* @__PURE__ */ u(S$1, { children: [
|
|
20754
20869
|
/* @__PURE__ */ u(SectionHeading, {
|
|
20755
20870
|
count: rows.length || void 0,
|
|
20756
20871
|
label: "Devices waiting for review"
|
|
@@ -20767,7 +20882,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20767
20882
|
}
|
|
20768
20883
|
function PendingRequestsPortal({ mount, requests, onApprove, onDeny }) {
|
|
20769
20884
|
if (!mount || !requests.length && !state.syncJoinRequestsFeedback) return null;
|
|
20770
|
-
return $$1(/* @__PURE__ */ u(
|
|
20885
|
+
return $$1(/* @__PURE__ */ u(S$1, { children: [
|
|
20771
20886
|
/* @__PURE__ */ u(SectionHeading, {
|
|
20772
20887
|
count: requests.length || void 0,
|
|
20773
20888
|
label: "Join requests to review"
|
|
@@ -20782,7 +20897,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20782
20897
|
] }), mount);
|
|
20783
20898
|
}
|
|
20784
20899
|
function TeamSyncPanel(props) {
|
|
20785
|
-
return /* @__PURE__ */ u(
|
|
20900
|
+
return /* @__PURE__ */ u(S$1, { children: [
|
|
20786
20901
|
/* @__PURE__ */ u(ActionContent, { ...props }),
|
|
20787
20902
|
/* @__PURE__ */ u(TeamActionsContent, { children: props.children }),
|
|
20788
20903
|
/* @__PURE__ */ u(PendingRequestsPortal, {
|
|
@@ -20979,7 +21094,8 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
20979
21094
|
});
|
|
20980
21095
|
};
|
|
20981
21096
|
const configured = Boolean(coordinator?.configured);
|
|
20982
|
-
|
|
21097
|
+
const setupBlocker = deriveCoordinatorSetupBlocker(coordinator);
|
|
21098
|
+
meta.textContent = configured ? `Team: ${(coordinator.groups || []).join(", ") || "none"}` : setupBlocker?.message || "Start by joining an existing team or creating one, then connect people and devices.";
|
|
20983
21099
|
meta.title = configured ? String(coordinator.coordinator_url || "").trim() : "";
|
|
20984
21100
|
const onlineBadge = document.getElementById("syncOnlineBadge");
|
|
20985
21101
|
if (onlineBadge) updateSyncOnlineBadge(onlineBadge, configured, String(coordinator?.presence_status || ""));
|
|
@@ -21012,7 +21128,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
21012
21128
|
});
|
|
21013
21129
|
const pairedFingerprint = String(pairedPeer?.fingerprint || "").trim();
|
|
21014
21130
|
const hasConflict = Boolean(pairedPeer) && Boolean(fingerprint) && Boolean(pairedFingerprint) && pairedFingerprint !== fingerprint;
|
|
21015
|
-
const canAccept = shouldShowCoordinatorReviewAction({
|
|
21131
|
+
const canAccept = !setupBlocker && shouldShowCoordinatorReviewAction({
|
|
21016
21132
|
device,
|
|
21017
21133
|
hasAmbiguousCoordinatorGroup,
|
|
21018
21134
|
pairedLocally: Boolean(pairedPeer)
|
|
@@ -21026,7 +21142,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
21026
21142
|
let mode = canAccept ? "accept" : "none";
|
|
21027
21143
|
let pairedMessage = null;
|
|
21028
21144
|
if (hasConflict) mode = "conflict";
|
|
21029
|
-
else if (
|
|
21145
|
+
else if (setupBlocker && (!pairedPeer || approvalSummary.state === "needs-your-approval")) {
|
|
21146
|
+
actionMessage = setupBlocker.message;
|
|
21147
|
+
mode = "setup-blocked";
|
|
21148
|
+
} else if (hasAmbiguousCoordinatorGroup) {
|
|
21030
21149
|
actionMessage = "This device appears in multiple coordinator groups. Review team setup first or ask an admin to clean up the duplicate enrollment before approving it here.";
|
|
21031
21150
|
mode = "ambiguous";
|
|
21032
21151
|
} else if (pairedPeer && isPeerScopeReviewPending(deviceId)) {
|
|
@@ -21071,10 +21190,10 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
21071
21190
|
const actionMount = document.createElement("div");
|
|
21072
21191
|
actionMount.id = TEAM_SYNC_ACTIONS_MOUNT_ID;
|
|
21073
21192
|
actions.appendChild(actionMount);
|
|
21074
|
-
renderIntoSyncMount(actionMount,
|
|
21193
|
+
renderIntoSyncMount(actionMount, k$3(TeamSyncPanel, {
|
|
21075
21194
|
actionItems: attentionItems,
|
|
21076
21195
|
actionableCount,
|
|
21077
|
-
children:
|
|
21196
|
+
children: k$3(SyncInviteJoinPanels, {
|
|
21078
21197
|
invitePanel,
|
|
21079
21198
|
invitePanelOpen: teamInvitePanelOpen,
|
|
21080
21199
|
inviteRestoreParent,
|
|
@@ -21700,7 +21819,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
21700
21819
|
});
|
|
21701
21820
|
}
|
|
21702
21821
|
function SyncSharingReview({ items, legacyReview, onLegacyReassign, onLegacyReview, onReview }) {
|
|
21703
|
-
return /* @__PURE__ */ u(
|
|
21822
|
+
return /* @__PURE__ */ u(S$1, { children: [legacyReview ? /* @__PURE__ */ u(LegacySharedReviewRow, {
|
|
21704
21823
|
item: legacyReview,
|
|
21705
21824
|
onReassign: onLegacyReassign,
|
|
21706
21825
|
onReview: onLegacyReview ?? onReview
|
|
@@ -21799,7 +21918,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
21799
21918
|
if (title) title.textContent = legacyReview ? "Sharing review" : "What teammates will receive";
|
|
21800
21919
|
const scopeLabel = state.currentProject ? `current project (${state.currentProject})` : "all allowed projects";
|
|
21801
21920
|
meta.textContent = legacyReview ? `Review conservative upgrade state before promoting historical shared data. Teammates receive memories from ${scopeLabel} by default once Sharing-domain grants allow it.` : `Teammates receive memories from ${scopeLabel} by default. Use Only me on a memory when it should stay local.`;
|
|
21802
|
-
renderIntoSyncMount(list,
|
|
21921
|
+
renderIntoSyncMount(list, k$3(SyncSharingReview, {
|
|
21803
21922
|
items: items.map((item) => ({
|
|
21804
21923
|
actorDisplayName: String(item.actor_display_name || item.actor_id || "unknown"),
|
|
21805
21924
|
actorId: String(item.actor_id || "unknown"),
|
|
@@ -21996,7 +22115,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
21996
22115
|
try {
|
|
21997
22116
|
const runtime = await loadRuntimeInfo();
|
|
21998
22117
|
if (!runtime?.version) return;
|
|
21999
|
-
setRuntimeLabel(runtime.version, "
|
|
22118
|
+
setRuntimeLabel(runtime.version, "ca0006d");
|
|
22000
22119
|
} catch {}
|
|
22001
22120
|
}
|
|
22002
22121
|
var lastAnnouncedRefreshState = null;
|