@plures/design-dojo 0.2.0 → 0.3.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  import "svelte/internal/disclose-version";
2
2
  import * as e from "svelte/internal/client";
3
- import { getContext as Re, setContext as Se } from "svelte";
3
+ import { getContext as Be, setContext as Fe, untrack as ge } from "svelte";
4
4
  const He = {
5
5
  /** Gentle hover, focus ring expansion */
6
6
  gentle: { stiffness: 120, damping: 14, mass: 1, restThreshold: 0.01 },
@@ -13,657 +13,1285 @@ const He = {
13
13
  /** Tooltip, popover */
14
14
  quick: { stiffness: 500, damping: 30, mass: 0.5, restThreshold: 0.01 }
15
15
  };
16
- function Ne(y, t, w) {
17
- const { stiffness: p, damping: u, mass: f } = t, m = y.value - y.target, v = -p * m, D = -u * y.velocity, r = (v + D) / f, k = y.velocity + r * w, A = y.value + k * w, o = Math.abs(k) < t.restThreshold && Math.abs(A - y.target) < t.restThreshold;
16
+ function Re(H, t, S) {
17
+ const { stiffness: f, damping: l, mass: x } = t, y = H.value - H.target, p = -f * y, w = -l * H.velocity, v = (p + w) / x, P = H.velocity + v * S, R = H.value + P * S, M = Math.abs(P) < t.restThreshold && Math.abs(R - H.target) < t.restThreshold;
18
18
  return {
19
- value: o ? y.target : A,
20
- velocity: o ? 0 : k,
21
- target: y.target,
22
- done: o
19
+ value: M ? H.target : R,
20
+ velocity: M ? 0 : P,
21
+ target: H.target,
22
+ done: M
23
23
  };
24
24
  }
25
- function ve(y, t = "snappy", w) {
26
- const p = typeof t == "string" ? He[t] : t;
27
- let u = {
28
- value: y,
25
+ function fe(H, t = "snappy", S) {
26
+ const f = typeof t == "string" ? He[t] : t;
27
+ let l = {
28
+ value: H,
29
29
  velocity: 0,
30
- target: y,
30
+ target: H,
31
31
  done: !0
32
- }, f = null, m = null;
33
- function v(r) {
34
- m === null && (m = r);
35
- const k = Math.min((r - m) / 1e3, 0.064);
36
- m = r, u = Ne(u, p, k), w(u.value), u.done ? (f = null, m = null) : f = requestAnimationFrame(v);
32
+ }, x = null, y = null;
33
+ function p(v) {
34
+ y === null && (y = v);
35
+ const P = Math.min((v - y) / 1e3, 0.064);
36
+ y = v, l = Re(l, f, P), S(l.value), l.done ? (x = null, y = null) : x = requestAnimationFrame(p);
37
37
  }
38
- function D() {
39
- f === null && (m = null, f = requestAnimationFrame(v));
38
+ function w() {
39
+ x === null && (y = null, x = requestAnimationFrame(p));
40
40
  }
41
41
  return {
42
42
  /** Set a new target value. Animation starts automatically. */
43
- set(r) {
44
- u.target = r, u.done = !1, D();
43
+ set(v) {
44
+ l.target = v, l.done = !1, w();
45
45
  },
46
46
  /** Jump to value immediately (no animation). */
47
- jump(r) {
48
- u = { value: r, velocity: 0, target: r, done: !0 }, w(r);
47
+ jump(v) {
48
+ l = { value: v, velocity: 0, target: v, done: !0 }, S(v);
49
49
  },
50
50
  /** Add velocity impulse (e.g., from a flick gesture). */
51
- impulse(r) {
52
- u.velocity += r, u.done = !1, D();
51
+ impulse(v) {
52
+ l.velocity += v, l.done = !1, w();
53
53
  },
54
54
  /** Stop animation. */
55
55
  stop() {
56
- f !== null && (cancelAnimationFrame(f), f = null, m = null);
56
+ x !== null && (cancelAnimationFrame(x), x = null, y = null);
57
57
  },
58
58
  /** Get current value. */
59
59
  get value() {
60
- return u.value;
60
+ return l.value;
61
61
  },
62
62
  /** Whether the spring has settled. */
63
63
  get done() {
64
- return u.done;
64
+ return l.done;
65
65
  }
66
66
  };
67
67
  }
68
- const Ee = Symbol("tui");
69
- function Ve(y) {
70
- Se(Ee, y);
68
+ const Ne = Symbol("tui");
69
+ function Ke(H) {
70
+ Fe(Ne, H);
71
71
  }
72
- function fe() {
73
- return Re(Ee) ?? (() => !1);
72
+ function me() {
73
+ return Be(Ne) ?? (() => !1);
74
74
  }
75
- var qe = e.from_html('<span class="tui-border-l svelte-5blyfe">╠</span><!><span class="tui-border-r svelte-5blyfe">╣</span>', 1), ze = e.from_html("<button><!></button>");
76
- function _t(y, t) {
75
+ var Oe = e.from_html('<span class="tui-border-l svelte-5blyfe">╠</span><!><span class="tui-border-r svelte-5blyfe">╣</span>', 1), qe = e.from_html("<button><!></button>");
76
+ function $t(H, t) {
77
77
  e.push(t, !0);
78
- let w = e.prop(t, "variant", 3, "solid"), p = e.prop(t, "size", 3, "md"), u = e.prop(t, "disabled", 3, !1), f = e.prop(t, "tui", 3, !1);
79
- const m = fe(), v = e.derived(() => f() || m());
80
- let D = e.state(void 0), r = e.state(1), k = e.state(1), A = e.state(0), o, h, C;
81
- const c = typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1;
78
+ let S = e.prop(t, "variant", 3, "solid"), f = e.prop(t, "size", 3, "md"), l = e.prop(t, "disabled", 3, !1), x = e.prop(t, "tui", 3, !1);
79
+ const y = me(), p = e.derived(() => x() || y());
80
+ let w = e.state(void 0), v = e.state(1), P = e.state(1), R = e.state(0), M, C, U;
81
+ const I = typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1;
82
82
  e.user_effect(() => {
83
- if (!c)
84
- return o = ve(1, "snappy", (L) => e.set(r, L, !0)), h = ve(1, "snappy", (L) => e.set(k, L, !0)), C = ve(0, "gentle", (L) => e.set(A, L, !0)), () => {
85
- o == null || o.stop(), h == null || h.stop(), C == null || C.stop();
83
+ if (!I)
84
+ return M = fe(1, "snappy", (E) => e.set(v, E, !0)), C = fe(1, "snappy", (E) => e.set(P, E, !0)), U = fe(0, "gentle", (E) => e.set(R, E, !0)), () => {
85
+ M == null || M.stop(), C == null || C.stop(), U == null || U.stop();
86
86
  };
87
87
  });
88
- function l() {
89
- u() || c || (o == null || o.set(0.96), h == null || h.set(0.3));
88
+ function b() {
89
+ l() || I || (M == null || M.set(0.96), C == null || C.set(0.3));
90
90
  }
91
- function T() {
92
- u() || c || (o == null || o.set(1), h == null || h.set(1));
91
+ function g() {
92
+ l() || I || (M == null || M.set(1), C == null || C.set(1));
93
93
  }
94
- function a() {
95
- u() || c || (o == null || o.set(1), h == null || h.set(1));
94
+ function d() {
95
+ l() || I || (M == null || M.set(1), C == null || C.set(1));
96
96
  }
97
- function E() {
98
- if (c) {
99
- e.set(A, 1);
97
+ function L() {
98
+ if (I) {
99
+ e.set(R, 1);
100
100
  return;
101
101
  }
102
- C == null || C.set(1);
102
+ U == null || U.set(1);
103
103
  }
104
- function q() {
105
- if (c) {
106
- e.set(A, 0);
104
+ function h() {
105
+ if (I) {
106
+ e.set(R, 0);
107
107
  return;
108
108
  }
109
- C == null || C.set(0);
109
+ U == null || U.set(0);
110
110
  }
111
- var P = ze();
112
- let F, ee;
113
- var ie = e.child(P);
111
+ var m = qe();
112
+ let i, _;
113
+ var k = e.child(m);
114
114
  {
115
- var re = (L) => {
116
- var z = qe(), Y = e.sibling(e.first_child(z));
117
- e.snippet(Y, () => t.children), e.next(), e.append(L, z);
118
- }, O = (L) => {
119
- var z = e.comment(), Y = e.first_child(z);
120
- e.snippet(Y, () => t.children), e.append(L, z);
115
+ var G = (E) => {
116
+ var K = Oe(), j = e.sibling(e.first_child(K));
117
+ e.snippet(j, () => t.children), e.next(), e.append(E, K);
118
+ }, o = (E) => {
119
+ var K = e.comment(), j = e.first_child(K);
120
+ e.snippet(j, () => t.children), e.append(E, K);
121
121
  };
122
- e.if(ie, (L) => {
123
- e.get(v) ? L(re) : L(O, !1);
122
+ e.if(k, (E) => {
123
+ e.get(p) ? E(G) : E(o, !1);
124
124
  });
125
125
  }
126
- e.reset(P), e.bind_this(P, (L) => e.set(D, L), () => e.get(D)), e.template_effect(() => {
127
- F = e.set_class(P, 1, `btn btn-${w() ?? ""} btn-${p() ?? ""}`, "svelte-5blyfe", F, { disabled: u(), tui: e.get(v) }), P.disabled = u(), ee = e.set_style(P, "", ee, {
128
- transform: e.get(v) ? void 0 : `scale(${e.get(r)})`,
129
- "--shadow-depth": e.get(v) ? void 0 : e.get(k),
130
- "--focus-opacity": e.get(A)
126
+ e.reset(m), e.bind_this(m, (E) => e.set(w, E), () => e.get(w)), e.template_effect(() => {
127
+ i = e.set_class(m, 1, `btn btn-${S() ?? ""} btn-${f() ?? ""}`, "svelte-5blyfe", i, { disabled: l(), tui: e.get(p) }), m.disabled = l(), _ = e.set_style(m, "", _, {
128
+ transform: e.get(p) ? void 0 : `scale(${e.get(v)})`,
129
+ "--shadow-depth": e.get(p) ? void 0 : e.get(P),
130
+ "--focus-opacity": e.get(R)
131
131
  });
132
- }), e.delegated("click", P, function(...L) {
133
- var z;
134
- (z = t.onclick) == null || z.apply(this, L);
135
- }), e.delegated("pointerdown", P, l), e.delegated("pointerup", P, T), e.event("pointerleave", P, a), e.event("focus", P, E), e.event("blur", P, q), e.append(y, P), e.pop();
132
+ }), e.delegated("click", m, function(...E) {
133
+ var K;
134
+ (K = t.onclick) == null || K.apply(this, E);
135
+ }), e.delegated("pointerdown", m, b), e.delegated("pointerup", m, g), e.event("pointerleave", m, d), e.event("focus", m, L), e.event("blur", m, h), e.append(H, m), e.pop();
136
136
  }
137
137
  e.delegate(["click", "pointerdown", "pointerup"]);
138
- var Ke = e.from_html('<span class="toggle-label svelte-197v0i2"> </span>'), Ge = e.from_html('<label><!> <div class="toggle-track svelte-197v0i2" role="switch"><div class="toggle-thumb svelte-197v0i2"></div></div></label>');
139
- function gt(y, t) {
138
+ var Ve = e.from_html('<span class="toggle-label svelte-197v0i2"> </span>'), je = e.from_html('<label><!> <div class="toggle-track svelte-197v0i2" role="switch"><div class="toggle-thumb svelte-197v0i2"></div></div></label>');
139
+ function Ge(H, t) {
140
140
  e.push(t, !0);
141
- let w = e.prop(t, "checked", 15, !1), p = e.prop(t, "disabled", 3, !1), u = e.prop(t, "label", 3, ""), f = e.state(e.proxy(w() ? 1 : 0)), m = e.state(0);
142
- const v = typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1;
143
- let D, r;
141
+ let S = e.prop(t, "checked", 15, !1), f = e.prop(t, "disabled", 3, !1), l = e.prop(t, "label", 3, ""), x = e.state(e.proxy(S() ? 1 : 0)), y = e.state(0);
142
+ const p = typeof window < "u" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : !1;
143
+ let w, v;
144
144
  e.user_effect(() => {
145
- if (!v)
146
- return D = ve(w() ? 1 : 0, "snappy", (a) => e.set(f, a, !0)), r = ve(0, "gentle", (a) => e.set(m, a, !0)), () => {
147
- D == null || D.stop(), r == null || r.stop();
145
+ if (!p)
146
+ return w = fe(S() ? 1 : 0, "snappy", (d) => e.set(x, d, !0)), v = fe(0, "gentle", (d) => e.set(y, d, !0)), () => {
147
+ w == null || w.stop(), v == null || v.stop();
148
148
  };
149
149
  }), e.user_effect(() => {
150
- v ? e.set(f, w() ? 1 : 0, !0) : D == null || D.set(w() ? 1 : 0);
150
+ p ? e.set(x, S() ? 1 : 0, !0) : w == null || w.set(S() ? 1 : 0);
151
151
  });
152
- function k() {
153
- var a;
154
- p() || (w(!w()), (a = t.onchange) == null || a.call(t, w()));
152
+ function P() {
153
+ var d;
154
+ f() || (S(!S()), (d = t.onchange) == null || d.call(t, S()));
155
155
  }
156
- function A(a) {
157
- (a.key === " " || a.key === "Enter") && (a.preventDefault(), k());
156
+ function R(d) {
157
+ (d.key === " " || d.key === "Enter") && (d.preventDefault(), P());
158
158
  }
159
- var o = Ge();
160
- let h;
161
- var C = e.child(o);
159
+ var M = je();
160
+ let C;
161
+ var U = e.child(M);
162
162
  {
163
- var c = (a) => {
164
- var E = Ke(), q = e.child(E, !0);
165
- e.reset(E), e.template_effect(() => e.set_text(q, u())), e.append(a, E);
163
+ var I = (d) => {
164
+ var L = Ve(), h = e.child(L, !0);
165
+ e.reset(L), e.template_effect(() => e.set_text(h, l())), e.append(d, L);
166
166
  };
167
- e.if(C, (a) => {
168
- u() && a(c);
167
+ e.if(U, (d) => {
168
+ l() && d(I);
169
169
  });
170
170
  }
171
- var l = e.sibling(C, 2);
172
- let T;
173
- e.reset(o), e.template_effect(
174
- (a) => {
175
- h = e.set_class(o, 1, "toggle-wrapper svelte-197v0i2", null, h, { disabled: p() }), e.set_attribute(l, "aria-checked", w()), e.set_attribute(l, "tabindex", p() ? -1 : 0), T = e.set_style(l, "", T, a);
171
+ var b = e.sibling(U, 2);
172
+ let g;
173
+ e.reset(M), e.template_effect(
174
+ (d) => {
175
+ C = e.set_class(M, 1, "toggle-wrapper svelte-197v0i2", null, C, { disabled: f() }), e.set_attribute(b, "aria-checked", S()), e.set_attribute(b, "tabindex", f() ? -1 : 0), g = e.set_style(b, "", g, d);
176
176
  },
177
177
  [
178
178
  () => ({
179
- "--thumb-x": e.get(f),
180
- "--track-color": `color-mix(in srgb, var(--color-accent, #6366f1) ${Math.round(e.get(f) * 100)}%, var(--surface-2, #2a2a2a) ${Math.round((1 - e.get(f)) * 100)}%)`,
181
- "--focus-opacity": e.get(m)
179
+ "--thumb-x": e.get(x),
180
+ "--track-color": `color-mix(in srgb, var(--color-accent, #6366f1) ${Math.round(e.get(x) * 100)}%, var(--surface-2, #2a2a2a) ${Math.round((1 - e.get(x)) * 100)}%)`,
181
+ "--focus-opacity": e.get(y)
182
182
  })
183
183
  ]
184
- ), e.delegated("click", l, k), e.delegated("keydown", l, A), e.event("focus", l, () => v ? e.set(m, 1) : r == null ? void 0 : r.set(1)), e.event("blur", l, () => v ? e.set(m, 0) : r == null ? void 0 : r.set(0)), e.append(y, o), e.pop();
184
+ ), e.delegated("click", b, P), e.delegated("keydown", b, R), e.event("focus", b, () => p ? e.set(y, 1) : v == null ? void 0 : v.set(1)), e.event("blur", b, () => p ? e.set(y, 0) : v == null ? void 0 : v.set(0)), e.append(H, M), e.pop();
185
185
  }
186
186
  e.delegate(["click", "keydown"]);
187
- var Je = e.from_html('<div class="tui-panel svelte-1ps7oei"><div class="tui-panel-top svelte-1ps7oei"> </div> <div class="tui-panel-body svelte-1ps7oei"><span class="tui-panel-side svelte-1ps7oei">║</span> <div class="tui-panel-content svelte-1ps7oei"><!></div> <span class="tui-panel-side svelte-1ps7oei">║</span></div> <div class="tui-panel-bottom svelte-1ps7oei"> </div></div>'), Oe = e.from_html('<div class="glass svelte-1ps7oei"><!></div>');
188
- function ht(y, t) {
187
+ var Ye = e.from_html('<div class="tui-panel svelte-1ps7oei"><div class="tui-panel-top svelte-1ps7oei"> </div> <div class="tui-panel-body svelte-1ps7oei"><span class="tui-panel-side svelte-1ps7oei">║</span> <div class="tui-panel-content svelte-1ps7oei"><!></div> <span class="tui-panel-side svelte-1ps7oei">║</span></div> <div class="tui-panel-bottom svelte-1ps7oei"> </div></div>'), Je = e.from_html('<div class="glass svelte-1ps7oei"><!></div>');
188
+ function ea(H, t) {
189
189
  e.push(t, !0);
190
- let w = e.prop(t, "blur", 3, 20), p = e.prop(t, "opacity", 3, 0.6), u = e.prop(t, "radius", 3, "var(--radius-md, 10px)"), f = e.prop(t, "padding", 3, "var(--space-4, 16px)"), m = e.prop(t, "tui", 3, !1), v = e.prop(t, "cols", 3, 20);
191
- const D = fe(), r = e.derived(() => m() || D()), k = e.derived(() => "═".repeat(v()));
192
- var A = e.comment(), o = e.first_child(A);
190
+ let S = e.prop(t, "blur", 3, 20), f = e.prop(t, "opacity", 3, 0.6), l = e.prop(t, "radius", 3, "var(--radius-md, 10px)"), x = e.prop(t, "padding", 3, "var(--space-4, 16px)"), y = e.prop(t, "tui", 3, !1), p = e.prop(t, "cols", 3, 20);
191
+ const w = me(), v = e.derived(() => y() || w()), P = e.derived(() => "═".repeat(p()));
192
+ var R = e.comment(), M = e.first_child(R);
193
193
  {
194
- var h = (c) => {
195
- var l = Je();
196
- let T;
197
- var a = e.child(l), E = e.child(a);
198
- e.reset(a);
199
- var q = e.sibling(a, 2), P = e.sibling(e.child(q), 2), F = e.child(P);
200
- e.snippet(F, () => t.children), e.reset(P), e.next(2), e.reset(q);
201
- var ee = e.sibling(q, 2), ie = e.child(ee);
202
- e.reset(ee), e.reset(l), e.template_effect(() => {
203
- T = e.set_style(l, "", T, { padding: f() }), e.set_text(E, `╔${e.get(k) ?? ""}╗`), e.set_text(ie, `╚${e.get(k) ?? ""}╝`);
204
- }), e.append(c, l);
205
- }, C = (c) => {
206
- var l = Oe();
207
- let T;
208
- var a = e.child(l);
209
- e.snippet(a, () => t.children), e.reset(l), e.template_effect(() => T = e.set_style(l, "", T, {
210
- "--blur": `${w() ?? ""}px`,
211
- "--bg-opacity": p(),
212
- "border-radius": u(),
213
- padding: f()
214
- })), e.append(c, l);
194
+ var C = (I) => {
195
+ var b = Ye();
196
+ let g;
197
+ var d = e.child(b), L = e.child(d);
198
+ e.reset(d);
199
+ var h = e.sibling(d, 2), m = e.sibling(e.child(h), 2), i = e.child(m);
200
+ e.snippet(i, () => t.children), e.reset(m), e.next(2), e.reset(h);
201
+ var _ = e.sibling(h, 2), k = e.child(_);
202
+ e.reset(_), e.reset(b), e.template_effect(() => {
203
+ g = e.set_style(b, "", g, { padding: x() }), e.set_text(L, `╔${e.get(P) ?? ""}╗`), e.set_text(k, `╚${e.get(P) ?? ""}╝`);
204
+ }), e.append(I, b);
205
+ }, U = (I) => {
206
+ var b = Je();
207
+ let g;
208
+ var d = e.child(b);
209
+ e.snippet(d, () => t.children), e.reset(b), e.template_effect(() => g = e.set_style(b, "", g, {
210
+ "--blur": `${S() ?? ""}px`,
211
+ "--bg-opacity": f(),
212
+ "border-radius": l(),
213
+ padding: x()
214
+ })), e.append(I, b);
215
215
  };
216
- e.if(o, (c) => {
217
- e.get(r) ? c(h) : c(C, !1);
216
+ e.if(M, (I) => {
217
+ e.get(v) ? I(C) : I(U, !1);
218
218
  });
219
219
  }
220
- e.append(y, A), e.pop();
220
+ e.append(H, R), e.pop();
221
221
  }
222
- var je = e.from_html('<div><div class="chat-tui__msg-border svelte-10e5u2c" aria-hidden="true"> </div> <div class="chat-tui__msg-body svelte-10e5u2c"><span class="chat-tui__msg-side svelte-10e5u2c" aria-hidden="true">│</span> <div class="chat-tui__msg-content svelte-10e5u2c"> </div> <span class="chat-tui__msg-side svelte-10e5u2c" aria-hidden="true">│</span></div> <div class="chat-tui__msg-border svelte-10e5u2c" aria-hidden="true"> </div></div>'), Qe = e.from_html('<div class="chat-tui__indicator svelte-10e5u2c" role="status" aria-live="polite"><span tabindex="0" role="button" class="svelte-10e5u2c"> </span></div>'), We = e.from_html('<div tabindex="0" role="log" aria-live="polite" aria-label="Chat messages"><div class="chat-tui__border svelte-10e5u2c" aria-hidden="true"></div> <div class="chat-tui__body svelte-10e5u2c"><span class="chat-tui__side svelte-10e5u2c" aria-hidden="true">│</span> <div class="chat-tui__content svelte-10e5u2c"><!> <!></div> <span class="chat-tui__side svelte-10e5u2c" aria-hidden="true">│</span></div> <div class="chat-tui__border svelte-10e5u2c" aria-hidden="true"></div></div>'), Xe = e.from_html('<span class="chat-gui__msg-time svelte-10e5u2c"> </span>'), Ye = e.from_html('<div><div class="chat-gui__msg-header svelte-10e5u2c"><span class="chat-gui__msg-author svelte-10e5u2c"> </span> <!></div> <div class="chat-gui__msg-body svelte-10e5u2c"> </div></div>'), Ze = e.from_html('<button class="chat-gui__indicator svelte-10e5u2c" aria-live="polite" aria-label="Jump to latest messages"> </button>'), $e = e.from_html('<div role="log" aria-live="polite" aria-label="Chat messages"><div class="chat-gui__scroll svelte-10e5u2c" tabindex="0" role="region" aria-label="Scrollable message history"><div class="chat-gui__messages svelte-10e5u2c"><!> <div class="chat-gui__sentinel svelte-10e5u2c" aria-hidden="true"></div></div></div> <!></div>');
223
- function ft(y, t) {
222
+ var We = e.from_html('<div><div class="chat-tui__msg-border svelte-10e5u2c" aria-hidden="true"> </div> <div class="chat-tui__msg-body svelte-10e5u2c"><span class="chat-tui__msg-side svelte-10e5u2c" aria-hidden="true">│</span> <div class="chat-tui__msg-content svelte-10e5u2c"> </div> <span class="chat-tui__msg-side svelte-10e5u2c" aria-hidden="true">│</span></div> <div class="chat-tui__msg-border svelte-10e5u2c" aria-hidden="true"> </div></div>'), Qe = e.from_html('<div class="chat-tui__indicator svelte-10e5u2c" role="status" aria-live="polite"><span tabindex="0" role="button" class="svelte-10e5u2c"> </span></div>'), Xe = e.from_html('<div tabindex="0" role="log" aria-live="polite" aria-label="Chat messages"><div class="chat-tui__border svelte-10e5u2c" aria-hidden="true"></div> <div class="chat-tui__body svelte-10e5u2c"><span class="chat-tui__side svelte-10e5u2c" aria-hidden="true">│</span> <div class="chat-tui__content svelte-10e5u2c"><!> <!></div> <span class="chat-tui__side svelte-10e5u2c" aria-hidden="true">│</span></div> <div class="chat-tui__border svelte-10e5u2c" aria-hidden="true"></div></div>'), Ze = e.from_html('<span class="chat-gui__msg-time svelte-10e5u2c"> </span>'), $e = e.from_html('<div><div class="chat-gui__msg-header svelte-10e5u2c"><span class="chat-gui__msg-author svelte-10e5u2c"> </span> <!></div> <div class="chat-gui__msg-body svelte-10e5u2c"> </div></div>'), et = e.from_html('<button class="chat-gui__indicator svelte-10e5u2c" aria-live="polite" aria-label="Jump to latest messages"> </button>'), tt = e.from_html('<div role="log" aria-live="polite" aria-label="Chat messages"><div class="chat-gui__scroll svelte-10e5u2c" tabindex="0" role="region" aria-label="Scrollable message history"><div class="chat-gui__messages svelte-10e5u2c"><!> <div class="chat-gui__sentinel svelte-10e5u2c" aria-hidden="true"></div></div></div> <!></div>');
223
+ function ta(H, t) {
224
224
  e.push(t, !0);
225
- let w = e.prop(t, "tui", 3, !1), p = e.prop(t, "showTimestamps", 3, !0), u = e.prop(t, "class", 3, "");
226
- const f = fe(), m = e.derived(() => w() || f());
227
- Ve(() => e.get(m));
228
- let v = e.state(void 0), D = e.state(void 0), r = e.state(!0), k = e.state(0), A = e.state(0), o = e.state(0);
225
+ let S = e.prop(t, "tui", 3, !1), f = e.prop(t, "showTimestamps", 3, !0), l = e.prop(t, "class", 3, "");
226
+ const x = me(), y = e.derived(() => S() || x());
227
+ Ke(() => e.get(y));
228
+ let p = e.state(void 0), w = e.state(void 0), v = e.state(!0), P = e.state(0), R = e.state(0), M = e.state(0);
229
229
  e.user_effect(() => {
230
- const i = t.messages.length;
231
- if (i !== e.get(o)) {
232
- const B = i - e.get(o);
233
- e.set(o, i, !0), e.get(r) ? (e.set(k, 0), e.set(A, i, !0), h()) : B > 0 && e.set(k, e.get(k) + B);
230
+ const c = t.messages.length;
231
+ if (c !== e.get(M)) {
232
+ const z = c - e.get(M);
233
+ e.set(M, c, !0), e.get(v) ? (e.set(P, 0), e.set(R, c, !0), C()) : z > 0 && e.set(P, e.get(P) + z);
234
234
  }
235
235
  });
236
- function h() {
237
- typeof requestAnimationFrame < "u" && requestAnimationFrame(() => C());
238
- }
239
236
  function C() {
240
- e.get(v) && (e.get(v).scrollTop = e.get(v).scrollHeight);
237
+ typeof requestAnimationFrame < "u" && requestAnimationFrame(() => U());
241
238
  }
242
- function c() {
243
- var i;
244
- e.set(r, !0), e.set(k, 0), e.set(A, t.messages.length, !0), C(), (i = t.onscrolltolatest) == null || i.call(t);
239
+ function U() {
240
+ e.get(p) && (e.get(p).scrollTop = e.get(p).scrollHeight);
241
+ }
242
+ function I() {
243
+ var c;
244
+ e.set(v, !0), e.set(P, 0), e.set(R, t.messages.length, !0), U(), (c = t.onscrolltolatest) == null || c.call(t);
245
245
  }
246
- function l() {
247
- if (!e.get(v)) return;
248
- const { scrollTop: i, scrollHeight: B, clientHeight: K } = e.get(v), s = B - i - K, d = e.get(r);
246
+ function b() {
247
+ if (!e.get(p)) return;
248
+ const { scrollTop: c, scrollHeight: z, clientHeight: B } = e.get(p), a = z - c - B, s = e.get(v);
249
249
  e.set(
250
- r,
251
- s < 8
250
+ v,
251
+ a < 8
252
252
  // 8px tolerance
253
- ), e.get(r) && !d && (e.set(k, 0), e.set(A, t.messages.length, !0));
253
+ ), e.get(v) && !s && (e.set(P, 0), e.set(R, t.messages.length, !0));
254
254
  }
255
- function T(i) {
256
- if (!e.get(v)) return;
257
- const { clientHeight: B } = e.get(v);
258
- switch (i.key) {
255
+ function g(c) {
256
+ if (!e.get(p)) return;
257
+ const { clientHeight: z } = e.get(p);
258
+ switch (c.key) {
259
259
  case "PageUp":
260
- i.preventDefault(), e.get(v).scrollBy({ top: -B, behavior: "smooth" });
260
+ c.preventDefault(), e.get(p).scrollBy({ top: -z, behavior: "smooth" });
261
261
  break;
262
262
  case "PageDown":
263
- i.preventDefault(), e.get(v).scrollBy({ top: B, behavior: "smooth" });
263
+ c.preventDefault(), e.get(p).scrollBy({ top: z, behavior: "smooth" });
264
264
  break;
265
265
  case "Home":
266
- i.preventDefault(), e.get(v).scrollTo({ top: 0, behavior: "smooth" });
266
+ c.preventDefault(), e.get(p).scrollTo({ top: 0, behavior: "smooth" });
267
267
  break;
268
268
  case "End":
269
- i.preventDefault(), C();
269
+ c.preventDefault(), U();
270
270
  break;
271
271
  }
272
272
  }
273
- let a = e.state(0);
274
- const E = 10, q = e.derived(() => e.get(a) >= Math.max(0, t.messages.length - E)), P = e.derived(() => e.get(q) ? 0 : Math.max(0, t.messages.length - (e.get(a) + E))), F = e.derived(() => t.messages.slice(e.get(a), e.get(a) + E));
273
+ let d = e.state(0);
274
+ const L = 10, h = e.derived(() => e.get(d) >= Math.max(0, t.messages.length - L)), m = e.derived(() => e.get(h) ? 0 : Math.max(0, t.messages.length - (e.get(d) + L))), i = e.derived(() => t.messages.slice(e.get(d), e.get(d) + L));
275
275
  e.user_effect(() => {
276
- e.get(m) && e.get(q) && e.set(a, Math.max(0, t.messages.length - E), !0);
276
+ e.get(y) && e.get(h) && e.set(d, Math.max(0, t.messages.length - L), !0);
277
277
  });
278
- function ee() {
279
- e.set(a, Math.max(0, e.get(a) - 1), !0);
278
+ function _() {
279
+ e.set(d, Math.max(0, e.get(d) - 1), !0);
280
280
  }
281
- function ie() {
282
- e.set(a, Math.min(Math.max(0, t.messages.length - E), e.get(a) + 1), !0);
281
+ function k() {
282
+ e.set(d, Math.min(Math.max(0, t.messages.length - L), e.get(d) + 1), !0);
283
283
  }
284
- function re() {
285
- e.set(a, Math.max(0, e.get(a) - E), !0);
284
+ function G() {
285
+ e.set(d, Math.max(0, e.get(d) - L), !0);
286
286
  }
287
- function O() {
288
- e.set(a, Math.min(Math.max(0, t.messages.length - E), e.get(a) + E), !0);
287
+ function o() {
288
+ e.set(d, Math.min(Math.max(0, t.messages.length - L), e.get(d) + L), !0);
289
289
  }
290
- function L() {
291
- e.set(a, 0);
290
+ function E() {
291
+ e.set(d, 0);
292
292
  }
293
- function z() {
294
- e.set(a, Math.max(0, t.messages.length - E), !0);
293
+ function K() {
294
+ e.set(d, Math.max(0, t.messages.length - L), !0);
295
295
  }
296
- function Y() {
297
- var i;
298
- z(), (i = t.onscrolltolatest) == null || i.call(t);
296
+ function j() {
297
+ var c;
298
+ K(), (c = t.onscrolltolatest) == null || c.call(t);
299
299
  }
300
- function _e(i) {
301
- switch (i.key) {
300
+ function Y(c) {
301
+ switch (c.key) {
302
302
  case "ArrowUp":
303
- i.preventDefault(), ee();
303
+ c.preventDefault(), _();
304
304
  break;
305
305
  case "ArrowDown":
306
- i.preventDefault(), ie();
306
+ c.preventDefault(), k();
307
307
  break;
308
308
  case "PageUp":
309
- i.preventDefault(), re();
309
+ c.preventDefault(), G();
310
310
  break;
311
311
  case "PageDown":
312
- i.preventDefault(), O();
312
+ c.preventDefault(), o();
313
313
  break;
314
314
  case "Home":
315
- i.preventDefault(), L();
315
+ c.preventDefault(), E();
316
316
  break;
317
317
  case "End":
318
- i.preventDefault(), z();
318
+ c.preventDefault(), K();
319
319
  break;
320
320
  }
321
321
  }
322
- function oe(i) {
323
- return i.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" });
322
+ function X(c) {
323
+ return c.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" });
324
324
  }
325
- function le(i) {
326
- return p() ? `${i.author} · ${oe(i.timestamp)}` : i.author;
325
+ function D(c) {
326
+ return f() ? `${c.author} · ${X(c.timestamp)}` : c.author;
327
327
  }
328
- var ce = e.comment(), ge = e.first_child(ce);
328
+ var N = e.comment(), V = e.first_child(N);
329
329
  {
330
- var pe = (i) => {
331
- var B = We(), K = e.child(B);
332
- K.textContent = `┌─ Chat ${"─".repeat(38) ?? ""}┐`;
333
- var s = e.sibling(K, 2), d = e.sibling(e.child(s), 2), x = e.child(d);
334
- e.each(x, 17, () => e.get(F), (g) => g.id, (g, b) => {
335
- const I = e.derived(() => le(e.get(b))), S = e.derived(() => 38), H = e.derived(() => `╭─ ${e.get(I)} ${"─".repeat(Math.max(0, e.get(S) - e.get(I).length - 3))}╮`), te = e.derived(() => `╰${"─".repeat(e.get(S) + 1)}╯`);
336
- var Z = je();
337
- let V;
338
- var Q = e.child(Z), se = e.child(Q, !0);
339
- e.reset(Q);
340
- var j = e.sibling(Q, 2), W = e.sibling(e.child(j), 2), X = e.child(W, !0);
341
- e.reset(W), e.next(2), e.reset(j);
342
- var R = e.sibling(j, 2), ae = e.child(R, !0);
343
- e.reset(R), e.reset(Z), e.template_effect(() => {
344
- V = e.set_class(Z, 1, "chat-tui__msg svelte-10e5u2c", null, V, {
345
- "chat-tui__msg--user": e.get(b).type === "user",
346
- "chat-tui__msg--system": e.get(b).type === "system"
347
- }), e.set_text(se, e.get(H)), e.set_text(X, e.get(b).content), e.set_text(ae, e.get(te));
348
- }), e.append(g, Z);
330
+ var r = (c) => {
331
+ var z = Xe(), B = e.child(z);
332
+ B.textContent = `┌─ Chat ${"─".repeat(38) ?? ""}┐`;
333
+ var a = e.sibling(B, 2), s = e.sibling(e.child(a), 2), n = e.child(s);
334
+ e.each(n, 17, () => e.get(i), (A) => A.id, (A, F) => {
335
+ const J = e.derived(() => D(e.get(F))), W = e.derived(() => 38), $ = e.derived(() => `╭─ ${e.get(J)} ${"─".repeat(Math.max(0, e.get(W) - e.get(J).length - 3))}╮`), ce = e.derived(() => `╰${"─".repeat(e.get(W) + 1)}╯`);
336
+ var de = We();
337
+ let te;
338
+ var ie = e.child(de), ve = e.child(ie, !0);
339
+ e.reset(ie);
340
+ var le = e.sibling(ie, 2), ne = e.sibling(e.child(le), 2), re = e.child(ne, !0);
341
+ e.reset(ne), e.next(2), e.reset(le);
342
+ var Z = e.sibling(le, 2), _e = e.child(Z, !0);
343
+ e.reset(Z), e.reset(de), e.template_effect(() => {
344
+ te = e.set_class(de, 1, "chat-tui__msg svelte-10e5u2c", null, te, {
345
+ "chat-tui__msg--user": e.get(F).type === "user",
346
+ "chat-tui__msg--system": e.get(F).type === "system"
347
+ }), e.set_text(ve, e.get($)), e.set_text(re, e.get(F).content), e.set_text(_e, e.get(ce));
348
+ }), e.append(A, de);
349
349
  });
350
- var _ = e.sibling(x, 2);
350
+ var u = e.sibling(n, 2);
351
351
  {
352
- var n = (g) => {
353
- var b = Qe(), I = e.child(b), S = e.child(I);
354
- e.reset(I), e.reset(b), e.template_effect(() => e.set_text(S, `▼ ${e.get(P) ?? ""} new ${e.get(P) === 1 ? "message" : "messages"}`)), e.delegated("click", I, Y), e.delegated("keydown", I, (H) => (H.key === "Enter" || H.key === " ") && Y()), e.append(g, b);
352
+ var T = (A) => {
353
+ var F = Qe(), J = e.child(F), W = e.child(J);
354
+ e.reset(J), e.reset(F), e.template_effect(() => e.set_text(W, `▼ ${e.get(m) ?? ""} new ${e.get(m) === 1 ? "message" : "messages"}`)), e.delegated("click", J, j), e.delegated("keydown", J, ($) => ($.key === "Enter" || $.key === " ") && j()), e.append(A, F);
355
355
  };
356
- e.if(_, (g) => {
357
- e.get(P) > 0 && g(n);
356
+ e.if(u, (A) => {
357
+ e.get(m) > 0 && A(T);
358
358
  });
359
359
  }
360
- e.reset(d), e.next(2), e.reset(s);
361
- var M = e.sibling(s, 2);
362
- M.textContent = `└${"─".repeat(40) ?? ""}┘`, e.reset(B), e.template_effect(() => e.set_class(B, 1, `chat-tui ${u() ?? ""}`, "svelte-10e5u2c")), e.delegated("keydown", B, _e), e.append(i, B);
363
- }, he = (i) => {
364
- var B = $e(), K = e.child(B), s = e.child(K), d = e.child(s);
365
- e.each(d, 17, () => t.messages, (M) => M.id, (M, g) => {
366
- var b = Ye();
367
- let I;
368
- var S = e.child(b), H = e.child(S), te = e.child(H, !0);
369
- e.reset(H);
370
- var Z = e.sibling(H, 2);
360
+ e.reset(s), e.next(2), e.reset(a);
361
+ var O = e.sibling(a, 2);
362
+ O.textContent = `└${"─".repeat(40) ?? ""}┘`, e.reset(z), e.template_effect(() => e.set_class(z, 1, `chat-tui ${l() ?? ""}`, "svelte-10e5u2c")), e.delegated("keydown", z, Y), e.append(c, z);
363
+ }, q = (c) => {
364
+ var z = tt(), B = e.child(z), a = e.child(B), s = e.child(a);
365
+ e.each(s, 17, () => t.messages, (O) => O.id, (O, A) => {
366
+ var F = $e();
367
+ let J;
368
+ var W = e.child(F), $ = e.child(W), ce = e.child($, !0);
369
+ e.reset($);
370
+ var de = e.sibling($, 2);
371
371
  {
372
- var V = (j) => {
373
- var W = Xe(), X = e.child(W, !0);
374
- e.reset(W), e.template_effect((R) => e.set_text(X, R), [() => oe(e.get(g).timestamp)]), e.append(j, W);
372
+ var te = (le) => {
373
+ var ne = Ze(), re = e.child(ne, !0);
374
+ e.reset(ne), e.template_effect((Z) => e.set_text(re, Z), [() => X(e.get(A).timestamp)]), e.append(le, ne);
375
375
  };
376
- e.if(Z, (j) => {
377
- p() && j(V);
376
+ e.if(de, (le) => {
377
+ f() && le(te);
378
378
  });
379
379
  }
380
- e.reset(S);
381
- var Q = e.sibling(S, 2), se = e.child(Q, !0);
382
- e.reset(Q), e.reset(b), e.template_effect(() => {
383
- I = e.set_class(b, 1, "chat-gui__msg svelte-10e5u2c", null, I, {
384
- "chat-gui__msg--user": e.get(g).type === "user",
385
- "chat-gui__msg--agent": e.get(g).type === "agent",
386
- "chat-gui__msg--system": e.get(g).type === "system"
387
- }), e.set_text(te, e.get(g).author), e.set_text(se, e.get(g).content);
388
- }), e.append(M, b);
380
+ e.reset(W);
381
+ var ie = e.sibling(W, 2), ve = e.child(ie, !0);
382
+ e.reset(ie), e.reset(F), e.template_effect(() => {
383
+ J = e.set_class(F, 1, "chat-gui__msg svelte-10e5u2c", null, J, {
384
+ "chat-gui__msg--user": e.get(A).type === "user",
385
+ "chat-gui__msg--agent": e.get(A).type === "agent",
386
+ "chat-gui__msg--system": e.get(A).type === "system"
387
+ }), e.set_text(ce, e.get(A).author), e.set_text(ve, e.get(A).content);
388
+ }), e.append(O, F);
389
389
  });
390
- var x = e.sibling(d, 2);
391
- e.bind_this(x, (M) => e.set(D, M), () => e.get(D)), e.reset(s), e.reset(K), e.bind_this(K, (M) => e.set(v, M), () => e.get(v));
392
- var _ = e.sibling(K, 2);
390
+ var n = e.sibling(s, 2);
391
+ e.bind_this(n, (O) => e.set(w, O), () => e.get(w)), e.reset(a), e.reset(B), e.bind_this(B, (O) => e.set(p, O), () => e.get(p));
392
+ var u = e.sibling(B, 2);
393
393
  {
394
- var n = (M) => {
395
- var g = Ze(), b = e.child(g);
396
- e.reset(g), e.template_effect(() => e.set_text(b, `▼ ${e.get(k) ?? ""} new ${e.get(k) === 1 ? "message" : "messages"}`)), e.delegated("click", g, c), e.append(M, g);
394
+ var T = (O) => {
395
+ var A = et(), F = e.child(A);
396
+ e.reset(A), e.template_effect(() => e.set_text(F, `▼ ${e.get(P) ?? ""} new ${e.get(P) === 1 ? "message" : "messages"}`)), e.delegated("click", A, I), e.append(O, A);
397
397
  };
398
- e.if(_, (M) => {
399
- e.get(k) > 0 && !e.get(r) && M(n);
398
+ e.if(u, (O) => {
399
+ e.get(P) > 0 && !e.get(v) && O(T);
400
400
  });
401
401
  }
402
- e.reset(B), e.template_effect(() => e.set_class(B, 1, `chat-gui ${u() ?? ""}`, "svelte-10e5u2c")), e.event("scroll", K, l), e.delegated("keydown", K, T), e.append(i, B);
402
+ e.reset(z), e.template_effect(() => e.set_class(z, 1, `chat-gui ${l() ?? ""}`, "svelte-10e5u2c")), e.event("scroll", B, b), e.delegated("keydown", B, g), e.append(c, z);
403
403
  };
404
- e.if(ge, (i) => {
405
- e.get(m) ? i(pe) : i(he, !1);
404
+ e.if(V, (c) => {
405
+ e.get(y) ? c(r) : c(q, !1);
406
406
  });
407
407
  }
408
- e.append(y, ce), e.pop();
408
+ e.append(H, N), e.pop();
409
409
  }
410
410
  e.delegate(["keydown", "click"]);
411
- var et = e.from_html(' <span class="search-tui__cursor svelte-1xnd4ea">█</span> ', 1), tt = e.from_html('<span class="search-tui__result-gap svelte-1xnd4ea"> </span> <span class="search-tui__result-score svelte-1xnd4ea"> </span>', 1), st = e.from_html('<div role="option" tabindex="-1"><span class="search-tui__side search-tui__side--dim svelte-1xnd4ea">│</span> <span class="search-tui__result-content svelte-1xnd4ea"><span class="search-tui__result-prefix svelte-1xnd4ea"> </span> <span class="search-tui__result-text svelte-1xnd4ea"> </span> <!></span> <span class="search-tui__side search-tui__side--dim svelte-1xnd4ea">│</span></div>'), at = e.from_html('<div class="search-tui__separator svelte-1xnd4ea"> </div> <div role="listbox" aria-label="Search suggestions" class="svelte-1xnd4ea"></div>', 1), it = e.from_html('<label><div> </div> <div class="search-tui__row svelte-1xnd4ea"><span>│</span> <span><!></span> <span>│</span></div> <!> <div class="search-tui__bottom svelte-1xnd4ea"> </div> <input class="search-tui__hidden svelte-1xnd4ea" type="text" aria-label="Search" role="combobox" aria-autocomplete="list" aria-haspopup="listbox"/></label>'), lt = e.from_html('<mark class="search-gui__highlight svelte-1xnd4ea"> </mark>'), nt = e.from_html('<span class="search-gui__score svelte-1xnd4ea"> </span>'), rt = e.from_html('<li role="option" tabindex="-1"><span class="search-gui__option-text svelte-1xnd4ea"></span> <!></li>'), ot = e.from_html('<ul class="search-gui__dropdown svelte-1xnd4ea" role="listbox" aria-label="Search suggestions"></ul>'), ct = e.from_html('<div><div><span class="search-gui__icon svelte-1xnd4ea" aria-hidden="true">⌕</span> <input class="search-gui__input svelte-1xnd4ea" type="text" aria-label="Search" role="combobox" aria-autocomplete="list" aria-haspopup="listbox"/></div> <!></div>');
412
- function pt(y, t) {
411
+ var at = e.from_html(' <span class="search-tui__cursor svelte-1xnd4ea">█</span> ', 1), st = e.from_html('<span class="search-tui__result-gap svelte-1xnd4ea"> </span> <span class="search-tui__result-score svelte-1xnd4ea"> </span>', 1), lt = e.from_html('<div role="option" tabindex="-1"><span class="search-tui__side search-tui__side--dim svelte-1xnd4ea">│</span> <span class="search-tui__result-content svelte-1xnd4ea"><span class="search-tui__result-prefix svelte-1xnd4ea"> </span> <span class="search-tui__result-text svelte-1xnd4ea"> </span> <!></span> <span class="search-tui__side search-tui__side--dim svelte-1xnd4ea">│</span></div>'), it = e.from_html('<div class="search-tui__separator svelte-1xnd4ea"> </div> <div role="listbox" aria-label="Search suggestions" class="svelte-1xnd4ea"></div>', 1), nt = e.from_html('<label><div> </div> <div class="search-tui__row svelte-1xnd4ea"><span>│</span> <span><!></span> <span>│</span></div> <!> <div class="search-tui__bottom svelte-1xnd4ea"> </div> <input class="search-tui__hidden svelte-1xnd4ea" type="text" aria-label="Search" role="combobox" aria-autocomplete="list" aria-haspopup="listbox"/></label>'), rt = e.from_html('<mark class="search-gui__highlight svelte-1xnd4ea"> </mark>'), dt = e.from_html('<span class="search-gui__score svelte-1xnd4ea"> </span>'), ot = e.from_html('<li role="option" tabindex="-1"><span class="search-gui__option-text svelte-1xnd4ea"></span> <!></li>'), ct = e.from_html('<ul class="search-gui__dropdown svelte-1xnd4ea" role="listbox" aria-label="Search suggestions"></ul>'), vt = e.from_html('<div><div><span class="search-gui__icon svelte-1xnd4ea" aria-hidden="true">⌕</span> <input class="search-gui__input svelte-1xnd4ea" type="text" aria-label="Search" role="combobox" aria-autocomplete="list" aria-haspopup="listbox"/></div> <!></div>');
412
+ function aa(H, t) {
413
413
  e.push(t, !0);
414
- let w = e.prop(t, "tui", 3, !1), p = e.prop(t, "value", 15, ""), u = e.prop(t, "placeholder", 3, "Search..."), f = e.prop(t, "maxSuggestions", 3, 8), m = e.prop(t, "debounceMs", 3, 100), v = e.prop(t, "showScores", 3, !0), D = e.prop(t, "class", 3, ""), r = e.prop(t, "cols", 3, 48);
415
- const k = fe(), A = e.derived(() => w() || k());
416
- let o = e.state(void 0), h = e.state(!1), C = e.state(0), c = e.state(e.proxy([])), l = e.state(-1), T = e.state(!1);
417
- function a() {
414
+ let S = e.prop(t, "tui", 3, !1), f = e.prop(t, "value", 15, ""), l = e.prop(t, "placeholder", 3, "Search..."), x = e.prop(t, "maxSuggestions", 3, 8), y = e.prop(t, "debounceMs", 3, 100), p = e.prop(t, "showScores", 3, !0), w = e.prop(t, "class", 3, ""), v = e.prop(t, "cols", 3, 48);
415
+ const P = me(), R = e.derived(() => S() || P());
416
+ let M = e.state(void 0), C = e.state(!1), U = e.state(0), I = e.state(e.proxy([])), b = e.state(-1), g = e.state(!1);
417
+ function d() {
418
418
  if (typeof crypto < "u" && typeof crypto.randomUUID == "function")
419
419
  return `search-listbox-${crypto.randomUUID()}`;
420
420
  if (typeof crypto < "u" && typeof crypto.getRandomValues == "function") {
421
- const s = new Uint32Array(1);
422
- return crypto.getRandomValues(s), `search-listbox-${s[0].toString(36)}`;
421
+ const a = new Uint32Array(1);
422
+ return crypto.getRandomValues(a), `search-listbox-${a[0].toString(36)}`;
423
423
  }
424
424
  return `search-listbox-${Date.now().toString(36)}`;
425
425
  }
426
- const E = a();
427
- let q;
428
- const P = e.derived(() => Math.max(6, r())), F = e.derived(() => e.get(P) - 2), ee = e.derived(() => (() => {
429
- const s = "Search", d = Math.max(0, e.get(F) - 4), _ = `─ ${s.length > d ? s.substring(0, d) : s} `, n = Math.max(0, e.get(F) - _.length);
430
- return `┌${_}${"─".repeat(n)}┐`;
431
- })()), ie = e.derived(() => `├${"─".repeat(e.get(F))}┤`), re = e.derived(() => `└${"─".repeat(e.get(F))}┘`), O = e.derived(() => {
432
- const s = p() ?? "", d = s.length, x = Math.min(Math.max(0, e.get(C)), d);
433
- if (!e.get(h))
434
- return s ? {
426
+ const L = d();
427
+ let h;
428
+ const m = e.derived(() => Math.max(6, v())), i = e.derived(() => e.get(m) - 2), _ = e.derived(() => (() => {
429
+ const a = "Search", s = Math.max(0, e.get(i) - 4), u = `─ ${a.length > s ? a.substring(0, s) : a} `, T = Math.max(0, e.get(i) - u.length);
430
+ return `┌${u}${"─".repeat(T)}┐`;
431
+ })()), k = e.derived(() => `├${"─".repeat(e.get(i))}┤`), G = e.derived(() => `└${"─".repeat(e.get(i))}┘`), o = e.derived(() => {
432
+ const a = f() ?? "", s = a.length, n = Math.min(Math.max(0, e.get(U)), s);
433
+ if (!e.get(C))
434
+ return a ? {
435
435
  kind: "text",
436
- text: s.substring(0, e.get(F)).padEnd(e.get(F), " ")
436
+ text: a.substring(0, e.get(i)).padEnd(e.get(i), " ")
437
437
  } : {
438
438
  kind: "placeholder",
439
- text: (u() || "").substring(0, e.get(F)).padEnd(e.get(F), " ")
439
+ text: (l() || "").substring(0, e.get(i)).padEnd(e.get(i), " ")
440
440
  };
441
- const _ = e.get(F) - 1;
442
- let n;
443
- d <= _ ? n = 0 : (n = Math.min(x, d - _), n = Math.max(0, n), x < n && (n = x));
444
- const M = s.substring(n, x), g = s.substring(x, n + _), b = " ".repeat(Math.max(0, _ - M.length - g.length));
445
- return { kind: "cursor", before: M, after: g, pad: b };
441
+ const u = e.get(i) - 1;
442
+ let T;
443
+ s <= u ? T = 0 : (T = Math.min(n, s - u), T = Math.max(0, T), n < T && (T = n));
444
+ const O = a.substring(T, n), A = a.substring(n, T + u), F = " ".repeat(Math.max(0, u - O.length - A.length));
445
+ return { kind: "cursor", before: O, after: A, pad: F };
446
446
  });
447
- function L(s, d) {
448
- const x = d === e.get(l) ? "› " : " ";
449
- if (v()) {
450
- const _ = `★ ${s.score.toFixed(2)}`, n = " ", M = Math.max(0, e.get(F) - x.length - n.length - _.length), g = s.text.length > M ? s.text.substring(0, M - 1) + "…" : s.text.padEnd(M, " ");
451
- return { prefix: x, text: g, gap: n, score: _ };
447
+ function E(a, s) {
448
+ const n = s === e.get(b) ? "› " : " ";
449
+ if (p()) {
450
+ const u = `★ ${a.score.toFixed(2)}`, T = " ", O = Math.max(0, e.get(i) - n.length - T.length - u.length), A = a.text.length > O ? a.text.substring(0, O - 1) + "…" : a.text.padEnd(O, " ");
451
+ return { prefix: n, text: A, gap: T, score: u };
452
452
  } else {
453
- const _ = Math.max(0, e.get(F) - x.length), n = s.text.length > _ ? s.text.substring(0, _ - 1) + "…" : s.text.padEnd(_, " ");
454
- return { prefix: x, text: n, gap: "", score: "" };
453
+ const u = Math.max(0, e.get(i) - n.length), T = a.text.length > u ? a.text.substring(0, u - 1) + "…" : a.text.padEnd(u, " ");
454
+ return { prefix: n, text: T, gap: "", score: "" };
455
455
  }
456
456
  }
457
- async function z(s) {
458
- if (!s.trim()) {
459
- e.set(c, [], !0), e.set(T, !1), e.set(l, -1);
457
+ async function K(a) {
458
+ if (!a.trim()) {
459
+ e.set(I, [], !0), e.set(g, !1), e.set(b, -1);
460
460
  return;
461
461
  }
462
462
  try {
463
- const d = await t.onSearch(s);
464
- e.set(c, d.slice(0, f()), !0), e.set(l, -1), e.set(T, e.get(c).length > 0);
463
+ const s = await t.onSearch(a);
464
+ e.set(I, s.slice(0, x()), !0), e.set(b, -1), e.set(g, e.get(I).length > 0);
465
465
  } catch {
466
- e.set(c, [], !0), e.set(T, !1);
466
+ e.set(I, [], !0), e.set(g, !1);
467
467
  }
468
468
  }
469
- function Y(s) {
470
- p(s.text), e.set(c, [], !0), e.set(T, !1), e.set(l, -1), t.onSelect(s);
469
+ function j(a) {
470
+ f(a.text), e.set(I, [], !0), e.set(g, !1), e.set(b, -1), t.onSelect(a);
471
471
  }
472
- function _e(s) {
473
- const d = s.target;
474
- p(d.value), le(), clearTimeout(q), q = setTimeout(() => z(p() ?? ""), m());
472
+ function Y(a) {
473
+ const s = a.target;
474
+ f(s.value), D(), clearTimeout(h), h = setTimeout(() => K(f() ?? ""), y());
475
475
  }
476
- function oe(s) {
477
- s.key === "ArrowDown" ? (s.preventDefault(), e.get(c).length > 0 && e.set(l, Math.min(e.get(l) + 1, e.get(c).length - 1), !0)) : s.key === "ArrowUp" ? (s.preventDefault(), e.get(c).length > 0 && e.set(l, Math.max(e.get(l) - 1, -1), !0)) : s.key === "Enter" ? (s.preventDefault(), e.get(l) >= 0 && e.get(l) < e.get(c).length && Y(e.get(c)[e.get(l)])) : s.key === "Escape" && (e.set(c, [], !0), e.set(T, !1), e.set(l, -1)), le();
476
+ function X(a) {
477
+ a.key === "ArrowDown" ? (a.preventDefault(), e.get(I).length > 0 && e.set(b, Math.min(e.get(b) + 1, e.get(I).length - 1), !0)) : a.key === "ArrowUp" ? (a.preventDefault(), e.get(I).length > 0 && e.set(b, Math.max(e.get(b) - 1, -1), !0)) : a.key === "Enter" ? (a.preventDefault(), e.get(b) >= 0 && e.get(b) < e.get(I).length && j(e.get(I)[e.get(b)])) : a.key === "Escape" && (e.set(I, [], !0), e.set(g, !1), e.set(b, -1)), D();
478
478
  }
479
- function le() {
480
- const s = e.get(o);
481
- s && (typeof queueMicrotask < "u" ? queueMicrotask(() => {
482
- e.set(C, s.selectionStart ?? (p() ?? "").length, !0);
483
- }) : e.set(C, s.selectionStart ?? (p() ?? "").length, !0));
479
+ function D() {
480
+ const a = e.get(M);
481
+ a && (typeof queueMicrotask < "u" ? queueMicrotask(() => {
482
+ e.set(U, a.selectionStart ?? (f() ?? "").length, !0);
483
+ }) : e.set(U, a.selectionStart ?? (f() ?? "").length, !0));
484
484
  }
485
- function ce() {
486
- e.set(h, !0), le(), (p() ?? "").trim() && e.get(c).length > 0 && e.set(T, !0);
485
+ function N() {
486
+ e.set(C, !0), D(), (f() ?? "").trim() && e.get(I).length > 0 && e.set(g, !0);
487
487
  }
488
- function ge() {
489
- e.set(h, !1), setTimeout(
488
+ function V() {
489
+ e.set(C, !1), setTimeout(
490
490
  () => {
491
- e.set(T, !1);
491
+ e.set(g, !1);
492
492
  },
493
493
  150
494
494
  );
495
495
  }
496
- function pe(s, d) {
497
- if (!d.trim()) return [{ text: s, match: !1 }];
498
- const x = s.toLowerCase(), _ = d.trim().toLowerCase(), n = x.indexOf(_);
499
- return n < 0 ? [{ text: s, match: !1 }] : [
500
- { text: s.slice(0, n), match: !1 },
501
- { text: s.slice(n, n + _.length), match: !0 },
502
- { text: s.slice(n + _.length), match: !1 }
496
+ function r(a, s) {
497
+ if (!s.trim()) return [{ text: a, match: !1 }];
498
+ const n = a.toLowerCase(), u = s.trim().toLowerCase(), T = n.indexOf(u);
499
+ return T < 0 ? [{ text: a, match: !1 }] : [
500
+ { text: a.slice(0, T), match: !1 },
501
+ { text: a.slice(T, T + u.length), match: !0 },
502
+ { text: a.slice(T + u.length), match: !1 }
503
503
  ];
504
504
  }
505
- var he = e.comment(), i = e.first_child(he);
505
+ var q = e.comment(), c = e.first_child(q);
506
506
  {
507
- var B = (s) => {
508
- var d = it();
509
- let x;
510
- var _ = e.child(d);
507
+ var z = (a) => {
508
+ var s = nt();
511
509
  let n;
512
- var M = e.child(_, !0);
513
- e.reset(_);
514
- var g = e.sibling(_, 2), b = e.child(g);
515
- let I;
516
- var S = e.sibling(b, 2);
517
- let H;
518
- var te = e.child(S);
510
+ var u = e.child(s);
511
+ let T;
512
+ var O = e.child(u, !0);
513
+ e.reset(u);
514
+ var A = e.sibling(u, 2), F = e.child(A);
515
+ let J;
516
+ var W = e.sibling(F, 2);
517
+ let $;
518
+ var ce = e.child(W);
519
519
  {
520
- var Z = (U) => {
521
- var G = e.text();
522
- e.template_effect(() => e.set_text(G, e.get(O).text)), e.append(U, G);
523
- }, V = (U) => {
524
- var G = e.text();
525
- e.template_effect(() => e.set_text(G, e.get(O).text)), e.append(U, G);
526
- }, Q = (U) => {
527
- var G = et(), J = e.first_child(G, !0), $ = e.sibling(J, 2);
520
+ var de = (Q) => {
521
+ var ae = e.text();
522
+ e.template_effect(() => e.set_text(ae, e.get(o).text)), e.append(Q, ae);
523
+ }, te = (Q) => {
524
+ var ae = e.text();
525
+ e.template_effect(() => e.set_text(ae, e.get(o).text)), e.append(Q, ae);
526
+ }, ie = (Q) => {
527
+ var ae = at(), se = e.first_child(ae, !0), oe = e.sibling(se, 2);
528
528
  e.template_effect(() => {
529
- e.set_text(J, e.get(O).before), e.set_text($, `${e.get(O).after ?? ""}${e.get(O).pad ?? ""}`);
530
- }), e.append(U, G);
529
+ e.set_text(se, e.get(o).before), e.set_text(oe, `${e.get(o).after ?? ""}${e.get(o).pad ?? ""}`);
530
+ }), e.append(Q, ae);
531
531
  };
532
- e.if(te, (U) => {
533
- e.get(O).kind === "placeholder" ? U(Z) : e.get(O).kind === "text" ? U(V, 1) : U(Q, !1);
532
+ e.if(ce, (Q) => {
533
+ e.get(o).kind === "placeholder" ? Q(de) : e.get(o).kind === "text" ? Q(te, 1) : Q(ie, !1);
534
534
  });
535
535
  }
536
- e.reset(S);
537
- var se = e.sibling(S, 2);
538
- let j;
539
- e.reset(g);
540
- var W = e.sibling(g, 2);
536
+ e.reset(W);
537
+ var ve = e.sibling(W, 2);
538
+ let le;
539
+ e.reset(A);
540
+ var ne = e.sibling(A, 2);
541
541
  {
542
- var X = (U) => {
543
- var G = at(), J = e.first_child(G), $ = e.child(J, !0);
544
- e.reset(J);
545
- var de = e.sibling(J, 2);
546
- e.each(de, 21, () => e.get(c), e.index, (Pe, ke, me) => {
547
- const ue = e.derived(() => L(e.get(ke), me));
548
- var ne = st();
549
- let Te;
550
- var Me = e.sibling(e.child(ne), 2), xe = e.child(Me), Le = e.child(xe, !0);
542
+ var re = (Q) => {
543
+ var ae = it(), se = e.first_child(ae), oe = e.child(se, !0);
544
+ e.reset(se);
545
+ var pe = e.sibling(se, 2);
546
+ e.each(pe, 21, () => e.get(I), e.index, (De, Te, be) => {
547
+ const he = e.derived(() => E(e.get(Te), be));
548
+ var ue = lt();
549
+ let Me;
550
+ var ze = e.sibling(e.child(ue), 2), xe = e.child(ze), Ee = e.child(xe, !0);
551
551
  e.reset(xe);
552
- var be = e.sibling(xe, 2), Be = e.child(be, !0);
553
- e.reset(be);
554
- var Ae = e.sibling(be, 2);
552
+ var ye = e.sibling(xe, 2), Ae = e.child(ye, !0);
553
+ e.reset(ye);
554
+ var Ie = e.sibling(ye, 2);
555
555
  {
556
- var Fe = (ye) => {
557
- var De = tt(), we = e.first_child(De), Ie = e.child(we, !0);
556
+ var Le = (ke) => {
557
+ var Pe = st(), we = e.first_child(Pe), Se = e.child(we, !0);
558
558
  e.reset(we);
559
559
  var Ce = e.sibling(we, 2), Ue = e.child(Ce, !0);
560
560
  e.reset(Ce), e.template_effect(() => {
561
- e.set_text(Ie, e.get(ue).gap), e.set_text(Ue, e.get(ue).score);
562
- }), e.append(ye, De);
561
+ e.set_text(Se, e.get(he).gap), e.set_text(Ue, e.get(he).score);
562
+ }), e.append(ke, Pe);
563
563
  };
564
- e.if(Ae, (ye) => {
565
- e.get(ue).score && ye(Fe);
564
+ e.if(Ie, (ke) => {
565
+ e.get(he).score && ke(Le);
566
566
  });
567
567
  }
568
- e.reset(Me), e.next(2), e.reset(ne), e.template_effect(() => {
569
- Te = e.set_class(ne, 1, "search-tui__result svelte-1xnd4ea", null, Te, { "search-tui__result--selected": me === e.get(l) }), e.set_attribute(ne, "aria-selected", me === e.get(l)), e.set_text(Le, e.get(ue).prefix), e.set_text(Be, e.get(ue).text);
570
- }), e.delegated("mousedown", ne, () => Y(e.get(ke))), e.append(Pe, ne);
571
- }), e.reset(de), e.template_effect(() => {
572
- e.set_text($, e.get(ie)), e.set_attribute(de, "id", E);
573
- }), e.append(U, G);
568
+ e.reset(ze), e.next(2), e.reset(ue), e.template_effect(() => {
569
+ Me = e.set_class(ue, 1, "search-tui__result svelte-1xnd4ea", null, Me, { "search-tui__result--selected": be === e.get(b) }), e.set_attribute(ue, "aria-selected", be === e.get(b)), e.set_text(Ee, e.get(he).prefix), e.set_text(Ae, e.get(he).text);
570
+ }), e.delegated("mousedown", ue, () => j(e.get(Te))), e.append(De, ue);
571
+ }), e.reset(pe), e.template_effect(() => {
572
+ e.set_text(oe, e.get(k)), e.set_attribute(pe, "id", L);
573
+ }), e.append(Q, ae);
574
574
  };
575
- e.if(W, (U) => {
576
- e.get(T) && e.get(c).length > 0 && U(X);
575
+ e.if(ne, (Q) => {
576
+ e.get(g) && e.get(I).length > 0 && Q(re);
577
577
  });
578
578
  }
579
- var R = e.sibling(W, 2), ae = e.child(R, !0);
580
- e.reset(R);
581
- var N = e.sibling(R, 2);
582
- e.remove_input_defaults(N), e.bind_this(N, (U) => e.set(o, U), () => e.get(o)), e.reset(d), e.template_effect(() => {
583
- x = e.set_class(d, 1, `search-tui ${D() ?? ""}`, "svelte-1xnd4ea", x, { focused: e.get(h) }), n = e.set_class(_, 1, "search-tui__top svelte-1xnd4ea", null, n, { focused: e.get(h) }), e.set_text(M, e.get(ee)), I = e.set_class(b, 1, "search-tui__side svelte-1xnd4ea", null, I, { focused: e.get(h) }), H = e.set_class(S, 1, "search-tui__content svelte-1xnd4ea", null, H, {
584
- "search-tui__content--placeholder": e.get(O).kind === "placeholder"
585
- }), j = e.set_class(se, 1, "search-tui__side svelte-1xnd4ea", null, j, { focused: e.get(h) }), e.set_text(ae, e.get(re)), e.set_value(N, p()), e.set_attribute(N, "aria-controls", E), e.set_attribute(N, "aria-expanded", e.get(T));
586
- }), e.delegated("input", N, _e), e.delegated("keydown", N, oe), e.event("focus", N, ce), e.event("blur", N, ge), e.delegated("click", N, le), e.event("select", N, le), e.append(s, d);
587
- }, K = (s) => {
588
- var d = ct(), x = e.child(d);
589
- let _;
590
- var n = e.sibling(e.child(x), 2);
591
- e.remove_input_defaults(n), e.bind_this(n, (b) => e.set(o, b), () => e.get(o)), e.reset(x);
592
- var M = e.sibling(x, 2);
579
+ var Z = e.sibling(ne, 2), _e = e.child(Z, !0);
580
+ e.reset(Z);
581
+ var ee = e.sibling(Z, 2);
582
+ e.remove_input_defaults(ee), e.bind_this(ee, (Q) => e.set(M, Q), () => e.get(M)), e.reset(s), e.template_effect(() => {
583
+ n = e.set_class(s, 1, `search-tui ${w() ?? ""}`, "svelte-1xnd4ea", n, { focused: e.get(C) }), T = e.set_class(u, 1, "search-tui__top svelte-1xnd4ea", null, T, { focused: e.get(C) }), e.set_text(O, e.get(_)), J = e.set_class(F, 1, "search-tui__side svelte-1xnd4ea", null, J, { focused: e.get(C) }), $ = e.set_class(W, 1, "search-tui__content svelte-1xnd4ea", null, $, {
584
+ "search-tui__content--placeholder": e.get(o).kind === "placeholder"
585
+ }), le = e.set_class(ve, 1, "search-tui__side svelte-1xnd4ea", null, le, { focused: e.get(C) }), e.set_text(_e, e.get(G)), e.set_value(ee, f()), e.set_attribute(ee, "aria-controls", L), e.set_attribute(ee, "aria-expanded", e.get(g));
586
+ }), e.delegated("input", ee, Y), e.delegated("keydown", ee, X), e.event("focus", ee, N), e.event("blur", ee, V), e.delegated("click", ee, D), e.event("select", ee, D), e.append(a, s);
587
+ }, B = (a) => {
588
+ var s = vt(), n = e.child(s);
589
+ let u;
590
+ var T = e.sibling(e.child(n), 2);
591
+ e.remove_input_defaults(T), e.bind_this(T, (F) => e.set(M, F), () => e.get(M)), e.reset(n);
592
+ var O = e.sibling(n, 2);
593
593
  {
594
- var g = (b) => {
595
- var I = ot();
596
- e.each(I, 21, () => e.get(c), e.index, (S, H, te) => {
597
- const Z = e.derived(() => pe(e.get(H).text, p() ?? ""));
598
- var V = rt();
599
- let Q;
600
- var se = e.child(V);
601
- e.each(se, 21, () => e.get(Z), e.index, (X, R) => {
602
- var ae = e.comment(), N = e.first_child(ae);
594
+ var A = (F) => {
595
+ var J = ct();
596
+ e.each(J, 21, () => e.get(I), e.index, (W, $, ce) => {
597
+ const de = e.derived(() => r(e.get($).text, f() ?? ""));
598
+ var te = ot();
599
+ let ie;
600
+ var ve = e.child(te);
601
+ e.each(ve, 21, () => e.get(de), e.index, (re, Z) => {
602
+ var _e = e.comment(), ee = e.first_child(_e);
603
603
  {
604
- var U = (J) => {
605
- var $ = lt(), de = e.child($, !0);
606
- e.reset($), e.template_effect(() => e.set_text(de, e.get(R).text)), e.append(J, $);
607
- }, G = (J) => {
608
- var $ = e.text();
609
- e.template_effect(() => e.set_text($, e.get(R).text)), e.append(J, $);
604
+ var Q = (se) => {
605
+ var oe = rt(), pe = e.child(oe, !0);
606
+ e.reset(oe), e.template_effect(() => e.set_text(pe, e.get(Z).text)), e.append(se, oe);
607
+ }, ae = (se) => {
608
+ var oe = e.text();
609
+ e.template_effect(() => e.set_text(oe, e.get(Z).text)), e.append(se, oe);
610
610
  };
611
- e.if(N, (J) => {
612
- e.get(R).match ? J(U) : J(G, !1);
611
+ e.if(ee, (se) => {
612
+ e.get(Z).match ? se(Q) : se(ae, !1);
613
613
  });
614
614
  }
615
- e.append(X, ae);
616
- }), e.reset(se);
617
- var j = e.sibling(se, 2);
615
+ e.append(re, _e);
616
+ }), e.reset(ve);
617
+ var le = e.sibling(ve, 2);
618
618
  {
619
- var W = (X) => {
620
- var R = nt(), ae = e.child(R);
621
- e.reset(R), e.template_effect((N) => e.set_text(ae, `★ ${N ?? ""}`), [() => e.get(H).score.toFixed(2)]), e.append(X, R);
619
+ var ne = (re) => {
620
+ var Z = dt(), _e = e.child(Z);
621
+ e.reset(Z), e.template_effect((ee) => e.set_text(_e, `★ ${ee ?? ""}`), [() => e.get($).score.toFixed(2)]), e.append(re, Z);
622
622
  };
623
- e.if(j, (X) => {
624
- v() && X(W);
623
+ e.if(le, (re) => {
624
+ p() && re(ne);
625
625
  });
626
626
  }
627
- e.reset(V), e.template_effect(() => {
628
- Q = e.set_class(V, 1, "search-gui__option svelte-1xnd4ea", null, Q, { "search-gui__option--selected": te === e.get(l) }), e.set_attribute(V, "aria-selected", te === e.get(l));
629
- }), e.delegated("mousedown", V, () => Y(e.get(H))), e.event("mouseenter", V, () => e.set(l, te, !0)), e.append(S, V);
630
- }), e.reset(I), e.template_effect(() => e.set_attribute(I, "id", E)), e.append(b, I);
627
+ e.reset(te), e.template_effect(() => {
628
+ ie = e.set_class(te, 1, "search-gui__option svelte-1xnd4ea", null, ie, { "search-gui__option--selected": ce === e.get(b) }), e.set_attribute(te, "aria-selected", ce === e.get(b));
629
+ }), e.delegated("mousedown", te, () => j(e.get($))), e.event("mouseenter", te, () => e.set(b, ce, !0)), e.append(W, te);
630
+ }), e.reset(J), e.template_effect(() => e.set_attribute(J, "id", L)), e.append(F, J);
631
631
  };
632
- e.if(M, (b) => {
633
- e.get(T) && e.get(c).length > 0 && b(g);
632
+ e.if(O, (F) => {
633
+ e.get(g) && e.get(I).length > 0 && F(A);
634
634
  });
635
635
  }
636
- e.reset(d), e.template_effect(() => {
637
- e.set_class(d, 1, `search-gui ${D() ?? ""}`, "svelte-1xnd4ea"), _ = e.set_class(x, 1, "search-gui__field svelte-1xnd4ea", null, _, { "search-gui__field--focused": e.get(h) }), e.set_value(n, p()), e.set_attribute(n, "placeholder", u()), e.set_attribute(n, "aria-controls", E), e.set_attribute(n, "aria-expanded", e.get(T));
638
- }), e.delegated("input", n, _e), e.delegated("keydown", n, oe), e.event("focus", n, ce), e.event("blur", n, ge), e.append(s, d);
636
+ e.reset(s), e.template_effect(() => {
637
+ e.set_class(s, 1, `search-gui ${w() ?? ""}`, "svelte-1xnd4ea"), u = e.set_class(n, 1, "search-gui__field svelte-1xnd4ea", null, u, { "search-gui__field--focused": e.get(C) }), e.set_value(T, f()), e.set_attribute(T, "placeholder", l()), e.set_attribute(T, "aria-controls", L), e.set_attribute(T, "aria-expanded", e.get(g));
638
+ }), e.delegated("input", T, Y), e.delegated("keydown", T, X), e.event("focus", T, N), e.event("blur", T, V), e.append(a, s);
639
639
  };
640
- e.if(i, (s) => {
641
- e.get(A) ? s(B) : s(K, !1);
640
+ e.if(c, (a) => {
641
+ e.get(R) ? a(z) : a(B, !1);
642
642
  });
643
643
  }
644
- e.append(y, he), e.pop();
644
+ e.append(H, q), e.pop();
645
645
  }
646
646
  e.delegate(["mousedown", "input", "keydown", "click"]);
647
- var dt = e.from_html('<span aria-hidden="true"></span>');
648
- function mt(y, t) {
649
- let w = e.prop(t, "size", 3, 16), p = e.prop(t, "color", 3, "currentColor"), u = e.prop(t, "class", 3, "");
650
- var f = dt();
651
- let m;
647
+ var _t = e.from_html('<span aria-hidden="true"></span>');
648
+ function sa(H, t) {
649
+ let S = e.prop(t, "size", 3, 16), f = e.prop(t, "color", 3, "currentColor"), l = e.prop(t, "class", 3, "");
650
+ var x = _t();
651
+ let y;
652
652
  e.template_effect(() => {
653
- e.set_class(f, 1, `nf ${t.icon ?? ""} ${u() ?? ""}`, "svelte-81k4o2"), m = e.set_style(f, "", m, {
654
- "font-size": `${w() ?? ""}px`,
655
- color: p(),
656
- "line-height": `${w() ?? ""}px`
653
+ e.set_class(x, 1, `nf ${t.icon ?? ""} ${l() ?? ""}`, "svelte-81k4o2"), y = e.set_style(x, "", y, {
654
+ "font-size": `${S() ?? ""}px`,
655
+ color: f(),
656
+ "line-height": `${S() ?? ""}px`
657
+ });
658
+ }), e.append(H, x);
659
+ }
660
+ var ut = e.from_html('<div class="chat-view__system svelte-hdrk38"> </div>'), gt = e.from_html('<span class="chat-view__time svelte-hdrk38"> </span>'), pt = e.from_html('<div class="chat-view__streaming svelte-hdrk38" aria-label="Generating response"><span class="chat-view__dot svelte-hdrk38"></span> <span class="chat-view__dot svelte-hdrk38"></span> <span class="chat-view__dot svelte-hdrk38"></span></div>'), ht = e.from_html('<div class="chat-view__content svelte-hdrk38"><!></div>'), ft = e.from_html('<div><div class="chat-view__bubble-header svelte-hdrk38"><span class="chat-view__author svelte-hdrk38"> </span> <!></div> <!></div>'), mt = e.from_html("<div><!></div>"), bt = e.from_html('<button class="chat-view__jump svelte-hdrk38" aria-live="polite" aria-label="Jump to latest messages"> </button>'), xt = e.from_html('<div role="log" aria-live="polite" aria-label="Chat messages"><div class="chat-view__scroll svelte-hdrk38" tabindex="0" role="region" aria-label="Scrollable message history"><div class="chat-view__messages svelte-hdrk38"><!> <div class="chat-view__sentinel svelte-hdrk38" aria-hidden="true"></div></div></div> <!></div>');
661
+ function la(H, t) {
662
+ e.push(t, !0);
663
+ let S = e.prop(t, "showTimestamps", 3, !0), f = e.prop(t, "class", 3, ""), l = e.state(void 0), x = e.state(!0), y = e.state(0), p = e.state(0);
664
+ e.user_effect(() => {
665
+ const i = t.messages.length;
666
+ if (i !== e.get(p)) {
667
+ const _ = i - e.get(p);
668
+ e.set(p, i, !0), e.get(x) ? (e.set(y, 0), w()) : _ > 0 && e.set(y, e.get(y) + _);
669
+ }
670
+ });
671
+ function w() {
672
+ typeof requestAnimationFrame < "u" && requestAnimationFrame(() => v());
673
+ }
674
+ function v() {
675
+ e.get(l) && (e.get(l).scrollTop = e.get(l).scrollHeight);
676
+ }
677
+ function P() {
678
+ var i;
679
+ e.set(x, !0), e.set(y, 0), v(), (i = t.onscrolltolatest) == null || i.call(t);
680
+ }
681
+ function R() {
682
+ if (!e.get(l)) return;
683
+ const { scrollTop: i, scrollHeight: _, clientHeight: k } = e.get(l), G = e.get(x);
684
+ e.set(x, _ - i - k < 8), e.get(x) && !G && e.set(y, 0);
685
+ }
686
+ function M(i) {
687
+ if (!e.get(l)) return;
688
+ const _ = e.get(l).clientHeight;
689
+ switch (i.key) {
690
+ case "PageUp":
691
+ i.preventDefault(), e.get(l).scrollBy({ top: -_, behavior: "smooth" });
692
+ break;
693
+ case "PageDown":
694
+ i.preventDefault(), e.get(l).scrollBy({ top: _, behavior: "smooth" });
695
+ break;
696
+ case "Home":
697
+ i.preventDefault(), e.get(l).scrollTo({ top: 0, behavior: "smooth" });
698
+ break;
699
+ case "End":
700
+ i.preventDefault(), v();
701
+ break;
702
+ }
703
+ }
704
+ function C(i) {
705
+ return i.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
706
+ }
707
+ function U(i) {
708
+ return i.split(/(```[\s\S]*?```)/g).map((k, G) => {
709
+ if (G % 2 === 1)
710
+ return `<pre class="md-pre"><code>${C(k.slice(3, -3).replace(/^\n/, "").replace(/\n$/, ""))}</code></pre>`;
711
+ let o = C(k);
712
+ return o = o.replace(/`([^`]+)`/g, '<code class="md-code">$1</code>'), o = o.replace(/\*\*([^*]+)\*\*/g, "<strong>$1</strong>"), o = o.replace(/\*([^*\n]+)\*/g, "<em>$1</em>"), o = o.replace(/\n/g, "<br>"), o;
713
+ }).join("");
714
+ }
715
+ function I(i) {
716
+ return i.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" });
717
+ }
718
+ var b = xt(), g = e.child(b), d = e.child(g), L = e.child(d);
719
+ e.each(L, 17, () => t.messages, (i) => i.id, (i, _) => {
720
+ var k = mt();
721
+ let G;
722
+ var o = e.child(k);
723
+ {
724
+ var E = (j) => {
725
+ var Y = ut(), X = e.child(Y, !0);
726
+ e.reset(Y), e.template_effect(() => e.set_text(X, e.get(_).content)), e.append(j, Y);
727
+ }, K = (j) => {
728
+ var Y = ft();
729
+ let X;
730
+ var D = e.child(Y), N = e.child(D), V = e.child(N, !0);
731
+ e.reset(N);
732
+ var r = e.sibling(N, 2);
733
+ {
734
+ var q = (a) => {
735
+ var s = gt(), n = e.child(s, !0);
736
+ e.reset(s), e.template_effect((u) => e.set_text(n, u), [() => I(e.get(_).timestamp)]), e.append(a, s);
737
+ };
738
+ e.if(r, (a) => {
739
+ S() && a(q);
740
+ });
741
+ }
742
+ e.reset(D);
743
+ var c = e.sibling(D, 2);
744
+ {
745
+ var z = (a) => {
746
+ var s = pt();
747
+ e.append(a, s);
748
+ }, B = (a) => {
749
+ var s = ht(), n = e.child(s);
750
+ e.html(n, () => U(e.get(_).content)), e.reset(s), e.append(a, s);
751
+ };
752
+ e.if(c, (a) => {
753
+ e.get(_).streaming ? a(z) : a(B, !1);
754
+ });
755
+ }
756
+ e.reset(Y), e.template_effect(() => {
757
+ X = e.set_class(Y, 1, "chat-view__bubble svelte-hdrk38", null, X, {
758
+ "chat-view__bubble--user": e.get(_).type === "user",
759
+ "chat-view__bubble--agent": e.get(_).type === "agent" || !e.get(_).type
760
+ }), e.set_text(V, e.get(_).author);
761
+ }), e.append(j, Y);
762
+ };
763
+ e.if(o, (j) => {
764
+ e.get(_).type === "system" ? j(E) : j(K, !1);
765
+ });
766
+ }
767
+ e.reset(k), e.template_effect(() => G = e.set_class(k, 1, "chat-view__row svelte-hdrk38", null, G, {
768
+ "chat-view__row--user": e.get(_).type === "user",
769
+ "chat-view__row--agent": e.get(_).type === "agent" || !e.get(_).type,
770
+ "chat-view__row--system": e.get(_).type === "system"
771
+ })), e.append(i, k);
772
+ }), e.next(2), e.reset(d), e.reset(g), e.bind_this(g, (i) => e.set(l, i), () => e.get(l));
773
+ var h = e.sibling(g, 2);
774
+ {
775
+ var m = (i) => {
776
+ var _ = bt(), k = e.child(_);
777
+ e.reset(_), e.template_effect(() => e.set_text(k, `▼ ${e.get(y) ?? ""} new ${e.get(y) === 1 ? "message" : "messages"}`)), e.delegated("click", _, P), e.append(i, _);
778
+ };
779
+ e.if(h, (i) => {
780
+ e.get(y) > 0 && !e.get(x) && i(m);
657
781
  });
658
- }), e.append(y, f);
782
+ }
783
+ e.reset(b), e.template_effect(() => e.set_class(b, 1, `chat-view ${f() ?? ""}`, "svelte-hdrk38")), e.event("scroll", g, R), e.delegated("keydown", g, M), e.append(H, b), e.pop();
659
784
  }
785
+ e.delegate(["keydown", "click"]);
786
+ var yt = e.from_html('<div class="chat-input__attachment svelte-bicrdd"><span class="chat-input__attachment-name svelte-bicrdd"> </span> <button class="chat-input__attachment-remove svelte-bicrdd" aria-label="Remove attachment" type="button">✕</button></div>'), kt = e.from_html('<div><!> <div class="chat-input__row svelte-bicrdd"><button class="chat-input__attach-btn svelte-bicrdd" type="button" aria-label="Attach file" title="Attach file">📎</button> <textarea class="chat-input__textarea svelte-bicrdd" rows="1" aria-label="Message input" aria-multiline="true"></textarea> <button class="chat-input__send-btn svelte-bicrdd" type="button" aria-label="Send message"><svg class="chat-input__send-icon svelte-bicrdd" viewBox="0 0 20 20" fill="none" aria-hidden="true"><path d="M3 10L17 3L10 17L9 11L3 10Z" fill="currentColor" stroke="currentColor" stroke-width="0.5" stroke-linejoin="round"></path></svg></button></div> <input class="chat-input__file-hidden svelte-bicrdd" type="file" aria-hidden="true" tabindex="-1"/></div>');
787
+ function ia(H, t) {
788
+ e.push(t, !0);
789
+ let S = e.prop(t, "value", 15, ""), f = e.prop(t, "placeholder", 3, "Type a message…"), l = e.prop(t, "disabled", 3, !1), x = e.prop(t, "maxRows", 3, 5), y = e.prop(t, "class", 3, ""), p = e.state(void 0), w = e.state(void 0), v = e.state(void 0);
790
+ function P() {
791
+ const o = e.get(p);
792
+ if (!o) return;
793
+ o.style.height = "auto";
794
+ const K = parseInt(getComputedStyle(o).lineHeight || "20", 10) * x() + parseInt(getComputedStyle(o).paddingTop || "0", 10) * 2;
795
+ o.style.height = Math.min(o.scrollHeight, K) + "px";
796
+ }
797
+ function R(o) {
798
+ S(o.target.value), P();
799
+ }
800
+ function M(o) {
801
+ o.key === "Enter" && !o.shiftKey && (o.preventDefault(), C());
802
+ }
803
+ function C() {
804
+ var E;
805
+ const o = (S() ?? "").trim();
806
+ !o && !e.get(v) || ((E = t.onsend) == null || E.call(t, o, e.get(v)), S(""), e.set(v, void 0), e.get(p) && (e.get(p).style.height = "auto"));
807
+ }
808
+ function U() {
809
+ var o;
810
+ (o = e.get(w)) == null || o.click();
811
+ }
812
+ function I(o) {
813
+ var K;
814
+ const E = o.target;
815
+ e.set(v, (K = E.files) == null ? void 0 : K[0], !0), E.value = "";
816
+ }
817
+ function b() {
818
+ e.set(v, void 0);
819
+ }
820
+ var g = kt();
821
+ let d;
822
+ var L = e.child(g);
823
+ {
824
+ var h = (o) => {
825
+ var E = yt(), K = e.child(E), j = e.child(K);
826
+ e.reset(K);
827
+ var Y = e.sibling(K, 2);
828
+ e.reset(E), e.template_effect(() => e.set_text(j, `📎 ${e.get(v).name ?? ""}`)), e.delegated("click", Y, b), e.append(o, E);
829
+ };
830
+ e.if(L, (o) => {
831
+ e.get(v) && o(h);
832
+ });
833
+ }
834
+ var m = e.sibling(L, 2), i = e.child(m), _ = e.sibling(i, 2);
835
+ e.remove_textarea_child(_), e.bind_this(_, (o) => e.set(p, o), () => e.get(p));
836
+ var k = e.sibling(_, 2);
837
+ e.reset(m);
838
+ var G = e.sibling(m, 2);
839
+ e.bind_this(G, (o) => e.set(w, o), () => e.get(w)), e.reset(g), e.template_effect(
840
+ (o) => {
841
+ d = e.set_class(g, 1, `chat-input ${y() ?? ""}`, "svelte-bicrdd", d, { "chat-input--disabled": l() }), i.disabled = l(), e.set_attribute(_, "placeholder", f()), _.disabled = l(), e.set_value(_, S()), k.disabled = o;
842
+ },
843
+ [
844
+ () => l() || !(S() ?? "").trim() && !e.get(v)
845
+ ]
846
+ ), e.delegated("click", i, U), e.delegated("input", _, R), e.delegated("keydown", _, M), e.delegated("click", k, C), e.delegated("change", G, I), e.append(H, g), e.pop();
847
+ }
848
+ e.delegate(["click", "input", "keydown", "change"]);
849
+ var wt = e.from_html('<p class="memory-sidebar__empty svelte-1kg6yxg"> </p>'), Tt = e.from_html('<div class="memory-sidebar__item svelte-1kg6yxg" role="listitem"><div class="memory-sidebar__item-row svelte-1kg6yxg"><span> </span> <span class="memory-sidebar__time svelte-1kg6yxg"> </span></div> <p class="memory-sidebar__content svelte-1kg6yxg"> </p></div>'), Mt = e.from_html('<aside aria-label="Memories"><div class="memory-sidebar__header svelte-1kg6yxg"><h2 class="memory-sidebar__title svelte-1kg6yxg">Memories</h2> <span class="memory-sidebar__count svelte-1kg6yxg"> </span></div> <div class="memory-sidebar__search svelte-1kg6yxg"><span class="memory-sidebar__search-icon svelte-1kg6yxg" aria-hidden="true">⌕</span> <input class="memory-sidebar__search-input svelte-1kg6yxg" type="search" placeholder="Search memories…" aria-label="Search memories"/></div> <div class="memory-sidebar__list svelte-1kg6yxg" role="list"><!></div></aside>');
850
+ function na(H, t) {
851
+ e.push(t, !0);
852
+ let S = e.prop(t, "class", 3, ""), f = e.state("");
853
+ const l = e.derived(() => e.get(f).trim() ? t.memories.filter((g) => g.content.toLowerCase().includes(e.get(f).trim().toLowerCase())) : t.memories), x = {
854
+ fact: "Fact",
855
+ goal: "Goal",
856
+ preference: "Pref",
857
+ context: "Context",
858
+ other: "Other"
859
+ };
860
+ function y(g) {
861
+ const d = Date.now() - g.getTime(), L = Math.floor(d / 1e3);
862
+ if (L < 60) return "just now";
863
+ const h = Math.floor(L / 60);
864
+ if (h < 60) return `${h}m ago`;
865
+ const m = Math.floor(h / 60);
866
+ return m < 24 ? `${m}h ago` : `${Math.floor(m / 24)}d ago`;
867
+ }
868
+ var p = Mt(), w = e.child(p), v = e.sibling(e.child(w), 2), P = e.child(v, !0);
869
+ e.reset(v), e.reset(w);
870
+ var R = e.sibling(w, 2), M = e.sibling(e.child(R), 2);
871
+ e.remove_input_defaults(M), e.reset(R);
872
+ var C = e.sibling(R, 2), U = e.child(C);
873
+ {
874
+ var I = (g) => {
875
+ var d = wt(), L = e.child(d, !0);
876
+ e.reset(d), e.template_effect((h) => e.set_text(L, h), [
877
+ () => e.get(f).trim() ? "No memories match your search." : "No memories yet."
878
+ ]), e.append(g, d);
879
+ }, b = (g) => {
880
+ var d = e.comment(), L = e.first_child(d);
881
+ e.each(L, 17, () => e.get(l), (h) => h.id, (h, m) => {
882
+ var i = Tt(), _ = e.child(i), k = e.child(_), G = e.child(k, !0);
883
+ e.reset(k);
884
+ var o = e.sibling(k, 2), E = e.child(o, !0);
885
+ e.reset(o), e.reset(_);
886
+ var K = e.sibling(_, 2), j = e.child(K, !0);
887
+ e.reset(K), e.reset(i), e.template_effect(
888
+ (Y) => {
889
+ e.set_class(k, 1, `memory-sidebar__badge memory-sidebar__badge--${e.get(m).category ?? ""}`, "svelte-1kg6yxg"), e.set_text(G, x[e.get(m).category]), e.set_text(E, Y), e.set_text(j, e.get(m).content);
890
+ },
891
+ [() => y(e.get(m).timestamp)]
892
+ ), e.append(h, i);
893
+ }), e.append(g, d);
894
+ };
895
+ e.if(U, (g) => {
896
+ e.get(l).length === 0 ? g(I) : g(b, !1);
897
+ });
898
+ }
899
+ e.reset(C), e.reset(p), e.template_effect(() => {
900
+ e.set_class(p, 1, `memory-sidebar ${S() ?? ""}`, "svelte-1kg6yxg"), e.set_text(P, e.get(l).length);
901
+ }), e.bind_value(M, () => e.get(f), (g) => e.set(f, g)), e.append(H, p), e.pop();
902
+ }
903
+ var zt = e.from_html('<option class="svelte-1igku3k"> </option>'), Pt = e.from_html('<label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Channel ID</span> <input class="settings-panel__input svelte-1igku3k" type="text" placeholder="Channel / room ID" autocomplete="off" spellcheck="false"/></label>'), Ct = e.from_html('<label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Bot Token</span> <input class="settings-panel__input svelte-1igku3k" type="password" placeholder="Token…" autocomplete="off"/></label> <!>', 1), Nt = e.from_html('<section aria-label="Agent settings"><div class="settings-panel__section svelte-1igku3k"><h3 class="settings-panel__section-title svelte-1igku3k">Model</h3> <label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Provider URL</span> <input class="settings-panel__input svelte-1igku3k" type="url" placeholder="http://localhost:11434" autocomplete="off" spellcheck="false"/></label> <label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">API Key</span> <div class="settings-panel__input-row svelte-1igku3k"><input class="settings-panel__input svelte-1igku3k" placeholder="sk-…" autocomplete="off"/> <button class="settings-panel__toggle-btn svelte-1igku3k" type="button"> </button></div></label> <label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Model Name</span> <input class="settings-panel__input svelte-1igku3k" type="text" placeholder="llama3.2" autocomplete="off" spellcheck="false"/></label></div> <div class="settings-panel__section svelte-1igku3k"><h3 class="settings-panel__section-title svelte-1igku3k">Channel</h3> <label class="settings-panel__field svelte-1igku3k"><span class="settings-panel__label svelte-1igku3k">Type</span> <select class="settings-panel__select svelte-1igku3k"></select></label> <!></div> <div class="settings-panel__actions svelte-1igku3k"><button class="settings-panel__btn settings-panel__btn--ghost svelte-1igku3k" type="button">Reset</button> <button class="settings-panel__btn settings-panel__btn--solid svelte-1igku3k" type="button">Save Settings</button></div></section>');
904
+ function ra(H, t) {
905
+ e.push(t, !0);
906
+ const S = { providerUrl: "", apiKey: "", modelName: "" }, f = { type: "none", token: "", channelId: "" };
907
+ let l = e.prop(t, "class", 3, ""), x = e.state(e.proxy(ge(() => {
908
+ var r;
909
+ return ((r = t.settings) == null ? void 0 : r.model.providerUrl) ?? "";
910
+ }))), y = e.state(e.proxy(ge(() => {
911
+ var r;
912
+ return ((r = t.settings) == null ? void 0 : r.model.apiKey) ?? "";
913
+ }))), p = e.state(e.proxy(ge(() => {
914
+ var r;
915
+ return ((r = t.settings) == null ? void 0 : r.model.modelName) ?? "";
916
+ }))), w = e.state(e.proxy(ge(() => {
917
+ var r;
918
+ return ((r = t.settings) == null ? void 0 : r.channel.type) ?? "none";
919
+ }))), v = e.state(e.proxy(ge(() => {
920
+ var r;
921
+ return ((r = t.settings) == null ? void 0 : r.channel.token) ?? "";
922
+ }))), P = e.state(e.proxy(ge(() => {
923
+ var r;
924
+ return ((r = t.settings) == null ? void 0 : r.channel.channelId) ?? "";
925
+ }))), R = e.state(!1);
926
+ const M = [
927
+ { value: "none", label: "None" },
928
+ { value: "discord", label: "Discord" },
929
+ { value: "telegram", label: "Telegram" },
930
+ { value: "slack", label: "Slack" },
931
+ { value: "matrix", label: "Matrix" }
932
+ ], C = e.derived(() => e.get(w) === "discord" || e.get(w) === "slack" || e.get(w) === "matrix");
933
+ function U() {
934
+ var r;
935
+ (r = t.onsave) == null || r.call(t, {
936
+ model: {
937
+ providerUrl: e.get(x),
938
+ apiKey: e.get(y),
939
+ modelName: e.get(p)
940
+ },
941
+ channel: {
942
+ type: e.get(w),
943
+ token: e.get(v),
944
+ channelId: e.get(P)
945
+ }
946
+ });
947
+ }
948
+ function I() {
949
+ const r = t.settings ?? { model: S, channel: f };
950
+ e.set(x, r.model.providerUrl, !0), e.set(y, r.model.apiKey, !0), e.set(p, r.model.modelName, !0), e.set(w, r.channel.type, !0), e.set(v, r.channel.token, !0), e.set(P, r.channel.channelId, !0);
951
+ }
952
+ var b = Nt(), g = e.child(b), d = e.sibling(e.child(g), 2), L = e.sibling(e.child(d), 2);
953
+ e.remove_input_defaults(L), e.reset(d);
954
+ var h = e.sibling(d, 2), m = e.sibling(e.child(h), 2), i = e.child(m);
955
+ e.remove_input_defaults(i);
956
+ var _ = e.sibling(i, 2), k = e.child(_, !0);
957
+ e.reset(_), e.reset(m), e.reset(h);
958
+ var G = e.sibling(h, 2), o = e.sibling(e.child(G), 2);
959
+ e.remove_input_defaults(o), e.reset(G), e.reset(g);
960
+ var E = e.sibling(g, 2), K = e.sibling(e.child(E), 2), j = e.sibling(e.child(K), 2);
961
+ e.each(j, 21, () => M, e.index, (r, q) => {
962
+ var c = zt(), z = e.child(c, !0);
963
+ e.reset(c);
964
+ var B = {};
965
+ e.template_effect(() => {
966
+ e.set_text(z, e.get(q).label), B !== (B = e.get(q).value) && (c.value = (c.__value = e.get(q).value) ?? "");
967
+ }), e.append(r, c);
968
+ }), e.reset(j), e.reset(K);
969
+ var Y = e.sibling(K, 2);
970
+ {
971
+ var X = (r) => {
972
+ var q = Ct(), c = e.first_child(q), z = e.sibling(e.child(c), 2);
973
+ e.remove_input_defaults(z), e.reset(c);
974
+ var B = e.sibling(c, 2);
975
+ {
976
+ var a = (s) => {
977
+ var n = Pt(), u = e.sibling(e.child(n), 2);
978
+ e.remove_input_defaults(u), e.reset(n), e.bind_value(u, () => e.get(P), (T) => e.set(P, T)), e.append(s, n);
979
+ };
980
+ e.if(B, (s) => {
981
+ e.get(C) && s(a);
982
+ });
983
+ }
984
+ e.bind_value(z, () => e.get(v), (s) => e.set(v, s)), e.append(r, q);
985
+ };
986
+ e.if(Y, (r) => {
987
+ e.get(w) !== "none" && r(X);
988
+ });
989
+ }
990
+ e.reset(E);
991
+ var D = e.sibling(E, 2), N = e.child(D), V = e.sibling(N, 2);
992
+ e.reset(D), e.reset(b), e.template_effect(() => {
993
+ e.set_class(b, 1, `settings-panel ${l() ?? ""}`, "svelte-1igku3k"), e.set_attribute(i, "type", e.get(R) ? "text" : "password"), e.set_attribute(_, "aria-label", e.get(R) ? "Hide API key" : "Show API key"), e.set_text(k, e.get(R) ? "🙈" : "👁");
994
+ }), e.bind_value(L, () => e.get(x), (r) => e.set(x, r)), e.bind_value(i, () => e.get(y), (r) => e.set(y, r)), e.delegated("click", _, () => e.set(R, !e.get(R))), e.bind_value(o, () => e.get(p), (r) => e.set(p, r)), e.bind_select_value(j, () => e.get(w), (r) => e.set(w, r)), e.delegated("click", N, I), e.delegated("click", V, U), e.append(H, b), e.pop();
995
+ }
996
+ e.delegate(["click"]);
997
+ var Dt = e.from_html('<p class="proc-editor__empty svelte-nac98f">No procedures yet. Click "+ Add" to create one.</p>'), Et = e.from_html('<input class="proc-editor__name-input svelte-nac98f" type="text" aria-label="Procedure name"/>'), At = e.from_html('<span class="proc-editor__name svelte-nac98f"> </span>'), It = e.from_html('<span class="proc-editor__desc svelte-nac98f"> </span>'), Lt = e.from_html('<div class="proc-editor__item-fields svelte-nac98f"><label class="proc-editor__field svelte-nac98f"><span class="proc-editor__field-label svelte-nac98f">Event Type</span> <input class="proc-editor__field-input svelte-nac98f" type="text" placeholder="message" aria-label="Event type"/></label> <label class="proc-editor__field svelte-nac98f"><span class="proc-editor__field-label svelte-nac98f">Priority</span> <input class="proc-editor__field-input proc-editor__field-input--narrow svelte-nac98f" type="number" min="0" max="999" aria-label="Priority"/></label></div>'), St = e.from_html('<div class="proc-editor__item-meta svelte-nac98f"><span class="proc-editor__chip svelte-nac98f"> </span> <span class="proc-editor__chip svelte-nac98f"> </span></div>'), Ut = e.from_html('<div role="listitem"><div class="proc-editor__item-main svelte-nac98f"><!> <div class="proc-editor__item-info svelte-nac98f"><!> <!></div> <div class="proc-editor__item-actions svelte-nac98f"><button class="proc-editor__icon-btn svelte-nac98f" type="button" aria-label="Edit procedure" title="Edit">✏️</button> <button class="proc-editor__icon-btn proc-editor__icon-btn--danger svelte-nac98f" type="button" aria-label="Delete procedure" title="Delete">🗑</button></div></div> <!></div>'), Bt = e.from_html('<div aria-label="Procedure editor"><div class="proc-editor__header svelte-nac98f"><h3 class="proc-editor__title svelte-nac98f">Procedures</h3> <button class="proc-editor__add-btn svelte-nac98f" type="button" aria-label="Add procedure">+ Add</button></div> <div class="proc-editor__list svelte-nac98f" role="list"><!></div></div>');
998
+ function da(H, t) {
999
+ e.push(t, !0);
1000
+ let S = e.prop(t, "procedures", 27, () => e.proxy([])), f = e.prop(t, "class", 3, ""), l = e.state(e.proxy(S().map((h) => ({ ...h })))), x = e.state(null);
1001
+ function y() {
1002
+ var h;
1003
+ (h = t.onchange) == null || h.call(t, e.get(l).map((m) => ({ ...m })));
1004
+ }
1005
+ function p(h, m) {
1006
+ e.set(l, e.get(l).map((i) => i.id === h ? { ...i, enabled: m } : i), !0), y();
1007
+ }
1008
+ function w(h, m) {
1009
+ e.set(l, e.get(l).map((i) => i.id === h ? { ...i, eventType: m } : i), !0);
1010
+ }
1011
+ function v(h, m) {
1012
+ const i = parseInt(m, 10);
1013
+ isNaN(i) || e.set(l, e.get(l).map((_) => _.id === h ? { ..._, priority: i } : _), !0);
1014
+ }
1015
+ function P(h) {
1016
+ e.set(x, null), y();
1017
+ }
1018
+ function R(h) {
1019
+ e.set(l, e.get(l).filter((m) => m.id !== h), !0), e.get(x) === h && e.set(x, null), y();
1020
+ }
1021
+ function M() {
1022
+ const h = typeof crypto < "u" && typeof crypto.randomUUID == "function" ? `proc-${crypto.randomUUID()}` : `proc-${Date.now()}-${Math.random().toString(36).slice(2)}`, m = {
1023
+ id: h,
1024
+ name: "New Procedure",
1025
+ enabled: !0,
1026
+ eventType: "message",
1027
+ priority: 0
1028
+ };
1029
+ e.set(l, [...e.get(l), m], !0), e.set(x, h, !0), y();
1030
+ }
1031
+ var C = Bt(), U = e.child(C), I = e.sibling(e.child(U), 2);
1032
+ e.reset(U);
1033
+ var b = e.sibling(U, 2), g = e.child(b);
1034
+ {
1035
+ var d = (h) => {
1036
+ var m = Dt();
1037
+ e.append(h, m);
1038
+ }, L = (h) => {
1039
+ var m = e.comment(), i = e.first_child(m);
1040
+ e.each(i, 17, () => e.get(l), (_) => _.id, (_, k) => {
1041
+ var G = Ut();
1042
+ let o;
1043
+ var E = e.child(G), K = e.child(E);
1044
+ Ge(K, {
1045
+ get checked() {
1046
+ return e.get(k).enabled;
1047
+ },
1048
+ onchange: (s) => p(e.get(k).id, s)
1049
+ });
1050
+ var j = e.sibling(K, 2), Y = e.child(j);
1051
+ {
1052
+ var X = (s) => {
1053
+ var n = Et();
1054
+ e.remove_input_defaults(n), e.template_effect(() => e.set_value(n, e.get(k).name)), e.delegated("input", n, (u) => {
1055
+ const T = u.target.value;
1056
+ e.set(l, e.get(l).map((O) => O.id === e.get(k).id ? { ...O, name: T } : O), !0);
1057
+ }), e.event("blur", n, () => P(e.get(k).id)), e.delegated("keydown", n, (u) => u.key === "Enter" && P(e.get(k).id)), e.append(s, n);
1058
+ }, D = (s) => {
1059
+ var n = At(), u = e.child(n, !0);
1060
+ e.reset(n), e.template_effect(() => e.set_text(u, e.get(k).name)), e.append(s, n);
1061
+ };
1062
+ e.if(Y, (s) => {
1063
+ e.get(x) === e.get(k).id ? s(X) : s(D, !1);
1064
+ });
1065
+ }
1066
+ var N = e.sibling(Y, 2);
1067
+ {
1068
+ var V = (s) => {
1069
+ var n = It(), u = e.child(n, !0);
1070
+ e.reset(n), e.template_effect(() => e.set_text(u, e.get(k).description)), e.append(s, n);
1071
+ };
1072
+ e.if(N, (s) => {
1073
+ e.get(k).description && s(V);
1074
+ });
1075
+ }
1076
+ e.reset(j);
1077
+ var r = e.sibling(j, 2), q = e.child(r), c = e.sibling(q, 2);
1078
+ e.reset(r), e.reset(E);
1079
+ var z = e.sibling(E, 2);
1080
+ {
1081
+ var B = (s) => {
1082
+ var n = Lt(), u = e.child(n), T = e.sibling(e.child(u), 2);
1083
+ e.remove_input_defaults(T), e.reset(u);
1084
+ var O = e.sibling(u, 2), A = e.sibling(e.child(O), 2);
1085
+ e.remove_input_defaults(A), e.reset(O), e.reset(n), e.template_effect(() => {
1086
+ e.set_value(T, e.get(k).eventType), e.set_value(A, e.get(k).priority);
1087
+ }), e.delegated("input", T, (F) => w(e.get(k).id, F.target.value)), e.delegated("input", A, (F) => v(e.get(k).id, F.target.value)), e.append(s, n);
1088
+ }, a = (s) => {
1089
+ var n = St(), u = e.child(n), T = e.child(u);
1090
+ e.reset(u);
1091
+ var O = e.sibling(u, 2), A = e.child(O);
1092
+ e.reset(O), e.reset(n), e.template_effect(() => {
1093
+ e.set_text(T, `⚡ ${e.get(k).eventType ?? ""}`), e.set_text(A, `↑ ${e.get(k).priority ?? ""}`);
1094
+ }), e.append(s, n);
1095
+ };
1096
+ e.if(z, (s) => {
1097
+ e.get(x) === e.get(k).id ? s(B) : s(a, !1);
1098
+ });
1099
+ }
1100
+ e.reset(G), e.template_effect(() => o = e.set_class(G, 1, "proc-editor__item svelte-nac98f", null, o, { "proc-editor__item--disabled": !e.get(k).enabled })), e.delegated("click", q, () => e.set(x, e.get(x) === e.get(k).id ? null : e.get(k).id, !0)), e.delegated("click", c, () => R(e.get(k).id)), e.append(_, G);
1101
+ }), e.append(h, m);
1102
+ };
1103
+ e.if(g, (h) => {
1104
+ e.get(l).length === 0 ? h(d) : h(L, !1);
1105
+ });
1106
+ }
1107
+ e.reset(b), e.reset(C), e.template_effect(() => e.set_class(C, 1, `proc-editor ${f() ?? ""}`, "svelte-nac98f")), e.delegated("click", I, M), e.append(H, C), e.pop();
1108
+ }
1109
+ e.delegate(["click", "input", "keydown"]);
1110
+ var Ft = e.from_svg('<svg viewBox="0 0 12 12" fill="none" aria-hidden="true" width="12" height="12"><path d="M2 6l3 3 5-5" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"></path></svg>'), Ht = e.from_html('<div class="wizard__step-connector svelte-nud89b" aria-hidden="true"><div class="wizard__step-connector-fill svelte-nud89b"></div></div>'), Rt = e.from_html('<div role="listitem"><div class="wizard__step-dot svelte-nud89b"><!></div> <span class="wizard__step-label svelte-nud89b"> </span></div> <!>', 1), Kt = e.from_html('<div class="wizard__step-content svelte-nud89b"><h2 class="wizard__step-heading svelte-nud89b">Name your agent</h2> <p class="wizard__step-desc svelte-nud89b">Give your agent a unique name. You can change this later in settings.</p> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Agent Name</span> <input class="wizard__input svelte-nud89b" type="text" placeholder="e.g. praxis" aria-label="Agent name"/></label></div>'), Ot = e.from_html('<div class="wizard__step-content svelte-nud89b"><h2 class="wizard__step-heading svelte-nud89b">Pick a model</h2> <p class="wizard__step-desc svelte-nud89b">Connect to an LLM provider. Ollama running locally is a great start.</p> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Provider URL</span> <input class="wizard__input svelte-nud89b" type="url" placeholder="http://localhost:11434" aria-label="Provider URL"/></label> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">API Key <span class="wizard__optional svelte-nud89b">(optional)</span></span> <div class="wizard__input-row svelte-nud89b"><input class="wizard__input svelte-nud89b" placeholder="sk-…" autocomplete="off" aria-label="API key"/> <button class="wizard__toggle-btn svelte-nud89b" type="button"> </button></div></label> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Model Name</span> <input class="wizard__input svelte-nud89b" type="text" placeholder="llama3.2" aria-label="Model name"/></label></div>'), qt = e.from_html('<option class="svelte-nud89b"> </option>'), Vt = e.from_html('<label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Bot Token</span> <input class="wizard__input svelte-nud89b" type="password" placeholder="Token…" autocomplete="off" aria-label="Bot token"/></label>'), jt = e.from_html('<div class="wizard__step-content svelte-nud89b"><h2 class="wizard__step-heading svelte-nud89b">Connect a channel</h2> <p class="wizard__step-desc svelte-nud89b">Give your agent a place to talk. You can skip this and add channels later.</p> <label class="wizard__field svelte-nud89b"><span class="wizard__field-label svelte-nud89b">Channel Type</span> <select class="wizard__select svelte-nud89b" aria-label="Channel type"></select></label> <!></div>'), Gt = e.from_html(`<div class="wizard__step-content wizard__step-content--done svelte-nud89b"><div class="wizard__done-icon svelte-nud89b" aria-hidden="true">🎉</div> <h2 class="wizard__step-heading svelte-nud89b">You're all set!</h2> <p class="wizard__step-desc svelte-nud89b"><strong> </strong> is ready. You can adjust model and channel settings
1111
+ at any time from the settings panel.</p> <dl class="wizard__summary svelte-nud89b"><dt class="svelte-nud89b">Agent</dt> <dd class="svelte-nud89b"> </dd> <dt class="svelte-nud89b">Model</dt> <dd class="svelte-nud89b"> </dd> <dt class="svelte-nud89b">Channel</dt><dd class="svelte-nud89b"> </dd></dl></div>`), Yt = e.from_html('<button class="wizard__btn wizard__btn--ghost svelte-nud89b" type="button">← Back</button>'), Jt = e.from_html("<div></div>"), Wt = e.from_html('<button class="wizard__btn wizard__btn--solid svelte-nud89b" type="button"> </button>'), Qt = e.from_html('<div aria-label="First run setup wizard"><div class="wizard__steps svelte-nud89b" role="list"></div> <div class="wizard__body svelte-nud89b"><!></div> <div class="wizard__nav svelte-nud89b"><!> <!></div></div>');
1112
+ function oa(H, t) {
1113
+ e.push(t, !0);
1114
+ let S = e.prop(t, "class", 3, ""), f = e.state("name"), l = e.state(""), x = e.state(""), y = e.state(""), p = e.state(""), w = e.state("none"), v = e.state("");
1115
+ const P = ["name", "model", "channel", "done"], R = {
1116
+ name: "Name Agent",
1117
+ model: "Pick Model",
1118
+ channel: "Connect Channel",
1119
+ done: "Done"
1120
+ }, M = e.derived(() => P.indexOf(e.get(f)));
1121
+ e.derived(() => e.get(M) / (P.length - 1) * 100);
1122
+ const C = e.derived(() => () => {
1123
+ switch (e.get(f)) {
1124
+ case "name":
1125
+ return e.get(l).trim().length > 0;
1126
+ case "model":
1127
+ return e.get(p).trim().length > 0;
1128
+ case "channel":
1129
+ return !0;
1130
+ case // channel is optional
1131
+ "done":
1132
+ return !1;
1133
+ }
1134
+ });
1135
+ function U() {
1136
+ var N;
1137
+ const D = P.indexOf(e.get(f));
1138
+ D < P.length - 1 && e.set(f, P[D + 1], !0), e.get(f) === "done" && ((N = t.oncomplete) == null || N.call(t, {
1139
+ agentName: e.get(l),
1140
+ providerUrl: e.get(x),
1141
+ apiKey: e.get(y),
1142
+ modelName: e.get(p),
1143
+ channelType: e.get(w),
1144
+ channelToken: e.get(v)
1145
+ }));
1146
+ }
1147
+ function I() {
1148
+ const D = P.indexOf(e.get(f));
1149
+ D > 0 && e.set(f, P[D - 1], !0);
1150
+ }
1151
+ const b = [
1152
+ { value: "none", label: "None" },
1153
+ { value: "discord", label: "Discord" },
1154
+ { value: "telegram", label: "Telegram" },
1155
+ { value: "slack", label: "Slack" },
1156
+ { value: "matrix", label: "Matrix" }
1157
+ ];
1158
+ let g = e.state(!1);
1159
+ var d = Qt(), L = e.child(d);
1160
+ e.each(L, 21, () => P, e.index, (D, N, V) => {
1161
+ var r = Rt(), q = e.first_child(r);
1162
+ let c;
1163
+ var z = e.child(q), B = e.child(z);
1164
+ {
1165
+ var a = (A) => {
1166
+ var F = Ft();
1167
+ e.append(A, F);
1168
+ }, s = (A) => {
1169
+ var F = e.text();
1170
+ F.nodeValue = V + 1, e.append(A, F);
1171
+ };
1172
+ e.if(B, (A) => {
1173
+ V < e.get(M) ? A(a) : A(s, !1);
1174
+ });
1175
+ }
1176
+ e.reset(z);
1177
+ var n = e.sibling(z, 2), u = e.child(n, !0);
1178
+ e.reset(n), e.reset(q);
1179
+ var T = e.sibling(q, 2);
1180
+ {
1181
+ var O = (A) => {
1182
+ var F = Ht(), J = e.child(F);
1183
+ let W;
1184
+ e.reset(F), e.template_effect(() => W = e.set_style(J, "", W, { width: V < e.get(M) ? "100%" : "0%" })), e.append(A, F);
1185
+ };
1186
+ e.if(T, (A) => {
1187
+ V < P.length - 1 && A(O);
1188
+ });
1189
+ }
1190
+ e.template_effect(() => {
1191
+ c = e.set_class(q, 1, "wizard__step svelte-nud89b", null, c, {
1192
+ "wizard__step--active": e.get(N) === e.get(f),
1193
+ "wizard__step--done": V < e.get(M)
1194
+ }), e.set_attribute(q, "aria-current", e.get(N) === e.get(f) ? "step" : void 0), e.set_text(u, R[e.get(N)]);
1195
+ }), e.append(D, r);
1196
+ }), e.reset(L);
1197
+ var h = e.sibling(L, 2), m = e.child(h);
1198
+ {
1199
+ var i = (D) => {
1200
+ var N = Kt(), V = e.sibling(e.child(N), 4), r = e.sibling(e.child(V), 2);
1201
+ e.remove_input_defaults(r), e.reset(V), e.reset(N), e.delegated("keydown", r, (q) => q.key === "Enter" && e.get(C)() && U()), e.bind_value(r, () => e.get(l), (q) => e.set(l, q)), e.append(D, N);
1202
+ }, _ = (D) => {
1203
+ var N = Ot(), V = e.sibling(e.child(N), 4), r = e.sibling(e.child(V), 2);
1204
+ e.remove_input_defaults(r), e.reset(V);
1205
+ var q = e.sibling(V, 2), c = e.sibling(e.child(q), 2), z = e.child(c);
1206
+ e.remove_input_defaults(z);
1207
+ var B = e.sibling(z, 2), a = e.child(B, !0);
1208
+ e.reset(B), e.reset(c), e.reset(q);
1209
+ var s = e.sibling(q, 2), n = e.sibling(e.child(s), 2);
1210
+ e.remove_input_defaults(n), e.reset(s), e.reset(N), e.template_effect(() => {
1211
+ e.set_attribute(z, "type", e.get(g) ? "text" : "password"), e.set_attribute(B, "aria-label", e.get(g) ? "Hide API key" : "Show API key"), e.set_text(a, e.get(g) ? "🙈" : "👁");
1212
+ }), e.bind_value(r, () => e.get(x), (u) => e.set(x, u)), e.bind_value(z, () => e.get(y), (u) => e.set(y, u)), e.delegated("click", B, () => e.set(g, !e.get(g))), e.delegated("keydown", n, (u) => u.key === "Enter" && e.get(C)() && U()), e.bind_value(n, () => e.get(p), (u) => e.set(p, u)), e.append(D, N);
1213
+ }, k = (D) => {
1214
+ var N = jt(), V = e.sibling(e.child(N), 4), r = e.sibling(e.child(V), 2);
1215
+ e.each(r, 21, () => b, e.index, (z, B) => {
1216
+ var a = qt(), s = e.child(a, !0);
1217
+ e.reset(a);
1218
+ var n = {};
1219
+ e.template_effect(() => {
1220
+ e.set_text(s, e.get(B).label), n !== (n = e.get(B).value) && (a.value = (a.__value = e.get(B).value) ?? "");
1221
+ }), e.append(z, a);
1222
+ }), e.reset(r), e.reset(V);
1223
+ var q = e.sibling(V, 2);
1224
+ {
1225
+ var c = (z) => {
1226
+ var B = Vt(), a = e.sibling(e.child(B), 2);
1227
+ e.remove_input_defaults(a), e.reset(B), e.bind_value(a, () => e.get(v), (s) => e.set(v, s)), e.append(z, B);
1228
+ };
1229
+ e.if(q, (z) => {
1230
+ e.get(w) !== "none" && z(c);
1231
+ });
1232
+ }
1233
+ e.reset(N), e.bind_select_value(r, () => e.get(w), (z) => e.set(w, z)), e.append(D, N);
1234
+ }, G = (D) => {
1235
+ var N = Gt(), V = e.sibling(e.child(N), 4), r = e.child(V), q = e.child(r, !0);
1236
+ e.reset(r), e.next(), e.reset(V);
1237
+ var c = e.sibling(V, 2), z = e.sibling(e.child(c), 2), B = e.child(z, !0);
1238
+ e.reset(z);
1239
+ var a = e.sibling(z, 4), s = e.child(a, !0);
1240
+ e.reset(a);
1241
+ var n = e.sibling(a, 3), u = e.child(n, !0);
1242
+ e.reset(n), e.reset(c), e.reset(N), e.template_effect(() => {
1243
+ e.set_text(q, e.get(l)), e.set_text(B, e.get(l)), e.set_text(s, e.get(p) || "—"), e.set_text(u, e.get(w) === "none" ? "None" : e.get(w));
1244
+ }), e.append(D, N);
1245
+ };
1246
+ e.if(m, (D) => {
1247
+ e.get(f) === "name" ? D(i) : e.get(f) === "model" ? D(_, 1) : e.get(f) === "channel" ? D(k, 2) : e.get(f) === "done" && D(G, 3);
1248
+ });
1249
+ }
1250
+ e.reset(h);
1251
+ var o = e.sibling(h, 2), E = e.child(o);
1252
+ {
1253
+ var K = (D) => {
1254
+ var N = Yt();
1255
+ e.template_effect(() => N.disabled = e.get(f) === "done"), e.delegated("click", N, I), e.append(D, N);
1256
+ }, j = (D) => {
1257
+ var N = Jt();
1258
+ e.append(D, N);
1259
+ };
1260
+ e.if(E, (D) => {
1261
+ e.get(f) !== "name" ? D(K) : D(j, !1);
1262
+ });
1263
+ }
1264
+ var Y = e.sibling(E, 2);
1265
+ {
1266
+ var X = (D) => {
1267
+ var N = Wt(), V = e.child(N, !0);
1268
+ e.reset(N), e.template_effect(
1269
+ (r) => {
1270
+ N.disabled = r, e.set_text(V, e.get(f) === "channel" && e.get(w) === "none" ? "Skip" : "Next →");
1271
+ },
1272
+ [() => !e.get(C)()]
1273
+ ), e.delegated("click", N, U), e.append(D, N);
1274
+ };
1275
+ e.if(Y, (D) => {
1276
+ e.get(f) !== "done" && D(X);
1277
+ });
1278
+ }
1279
+ e.reset(o), e.reset(d), e.template_effect(() => e.set_class(d, 1, `wizard ${S() ?? ""}`, "svelte-nud89b")), e.append(H, d), e.pop();
1280
+ }
1281
+ e.delegate(["keydown", "click"]);
660
1282
  export {
661
- _t as Button,
662
- ft as ChatPane,
663
- ht as GlassPanel,
664
- mt as NerdFont,
665
- pt as SearchInput,
666
- gt as Toggle,
667
- Ve as provideTui,
668
- fe as useTui
1283
+ $t as Button,
1284
+ ia as ChatInput,
1285
+ ta as ChatPane,
1286
+ la as ChatView,
1287
+ oa as FirstRunWizard,
1288
+ ea as GlassPanel,
1289
+ na as MemorySidebar,
1290
+ sa as NerdFont,
1291
+ da as ProcedureEditor,
1292
+ aa as SearchInput,
1293
+ ra as SettingsPanel,
1294
+ Ge as Toggle,
1295
+ Ke as provideTui,
1296
+ me as useTui
669
1297
  };