@linktr.ee/messaging-react 1.7.1 → 1.7.2-rc-1763204452

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,10 +1,10 @@
1
- import we, { jsx as e, jsxs as d, Fragment as de } from "react/jsx-runtime";
2
- import _ from "classnames";
3
- import H, { createContext as Oe, useContext as Te, useCallback as M, useState as I, useRef as A, useEffect as G } from "react";
4
- import { StreamChatService as je } from "@linktr.ee/messaging-core";
5
- import { Chat as Ue, useChatContext as Le, ChannelList as Be, Channel as Ae, useChannelStateContext as ye, Window as Ge, MessageList as He, MessageInput as $e } from "stream-chat-react";
6
- import { NotePencilIcon as qe, XIcon as Ee, ArrowLeftIcon as We, DotsThreeIcon as ze, SpinnerGapIcon as re, SignOutIcon as Ve, ProhibitInsetIcon as fe, FlagIcon as Xe, MagnifyingGlassIcon as Qe, ChatCircleDotsIcon as me } from "@phosphor-icons/react";
7
- const Ie = Oe({
1
+ import { jsx as e, jsxs as d, Fragment as le } from "react/jsx-runtime";
2
+ import T from "classnames";
3
+ import q, { createContext as Ie, useContext as Se, useCallback as O, useState as C, useRef as H, useEffect as $ } from "react";
4
+ import { StreamChatService as Re } from "@linktr.ee/messaging-core";
5
+ import { Chat as ke, ChannelList as Fe, Channel as Te, useChannelStateContext as me, Window as Pe, MessageList as De, MessageInput as Me } from "stream-chat-react";
6
+ import { XIcon as he, ArrowLeftIcon as Oe, DotsThreeIcon as Ue, SpinnerGapIcon as ee, SignOutIcon as pe, ProhibitInsetIcon as ie, FlagIcon as Le, MagnifyingGlassIcon as je, ChatCircleDotsIcon as ce } from "@phosphor-icons/react";
7
+ const fe = Ie({
8
8
  service: null,
9
9
  client: null,
10
10
  isConnected: !1,
@@ -15,316 +15,207 @@ const Ie = Oe({
15
15
  refreshConnection: async () => {
16
16
  },
17
17
  debug: !1
18
- }), le = () => Te(Ie), Is = ({
18
+ }), se = () => Se(fe), os = ({
19
19
  children: t,
20
20
  user: s,
21
21
  serviceConfig: n,
22
- apiKey: l,
22
+ apiKey: r,
23
23
  capabilities: a = {},
24
24
  customization: c = {},
25
25
  debug: i = !1
26
26
  }) => {
27
- const r = M(
28
- (y, ...F) => {
29
- i && console.log(`🔥 [MessagingProvider] ${y}`, ...F);
27
+ const l = O(
28
+ (v, ...P) => {
29
+ i && console.log(`🔥 [MessagingProvider] ${v}`, ...P);
30
30
  },
31
31
  [i]
32
32
  );
33
- r("🔄 RENDER START", {
33
+ l("🔄 RENDER START", {
34
34
  userId: s == null ? void 0 : s.id,
35
- apiKey: (l == null ? void 0 : l.substring(0, 8)) + "...",
35
+ apiKey: (r == null ? void 0 : r.substring(0, 8)) + "...",
36
36
  serviceConfig: !!n,
37
37
  capabilities: Object.keys(a),
38
38
  customization: Object.keys(c)
39
39
  });
40
- const [o, C] = I(null), [u, x] = I(null), [b, h] = I(!1), [f, m] = I(!1), [N, S] = I(null), k = A(!1), E = A({
40
+ const [o, E] = C(null), [b, u] = C(null), [f, I] = C(!1), [x, w] = C(!1), [m, k] = C(null), S = H(!1), y = H({
41
41
  userId: s == null ? void 0 : s.id,
42
- apiKey: l,
42
+ apiKey: r,
43
43
  serviceConfig: n,
44
44
  capabilities: a,
45
45
  customization: c
46
- }), P = A(0);
47
- P.current++, r("📊 RENDER INFO", {
48
- renderCount: P.current,
49
- currentProps: { userId: s == null ? void 0 : s.id, apiKey: (l == null ? void 0 : l.substring(0, 8)) + "..." },
46
+ }), F = H(0);
47
+ F.current++, l("📊 RENDER INFO", {
48
+ renderCount: F.current,
49
+ currentProps: { userId: s == null ? void 0 : s.id, apiKey: (r == null ? void 0 : r.substring(0, 8)) + "..." },
50
50
  propChanges: {
51
- userChanged: E.current.userId !== (s == null ? void 0 : s.id),
52
- apiKeyChanged: E.current.apiKey !== l,
53
- serviceConfigChanged: E.current.serviceConfig !== n,
54
- capabilitiesChanged: E.current.capabilities !== a,
55
- customizationChanged: E.current.customization !== c
51
+ userChanged: y.current.userId !== (s == null ? void 0 : s.id),
52
+ apiKeyChanged: y.current.apiKey !== r,
53
+ serviceConfigChanged: y.current.serviceConfig !== n,
54
+ capabilitiesChanged: y.current.capabilities !== a,
55
+ customizationChanged: y.current.customization !== c
56
56
  }
57
- }), E.current = {
57
+ }), y.current = {
58
58
  userId: s == null ? void 0 : s.id,
59
- apiKey: l,
59
+ apiKey: r,
60
60
  serviceConfig: n,
61
61
  capabilities: a,
62
62
  customization: c
63
- }, G(() => {
64
- const y = P.current;
65
- if (r("🔧 SERVICE INIT EFFECT TRIGGERED", {
66
- renderCount: y,
67
- apiKey: !!l,
63
+ }, $(() => {
64
+ const v = F.current;
65
+ if (l("🔧 SERVICE INIT EFFECT TRIGGERED", {
66
+ renderCount: v,
67
+ apiKey: !!r,
68
68
  serviceConfig: !!n,
69
69
  dependencies: {
70
- apiKey: (l == null ? void 0 : l.substring(0, 8)) + "...",
70
+ apiKey: (r == null ? void 0 : r.substring(0, 8)) + "...",
71
71
  serviceConfigRef: n,
72
- serviceConfigStable: E.current.serviceConfig === n,
73
- apiKeyStable: E.current.apiKey === l
72
+ serviceConfigStable: y.current.serviceConfig === n,
73
+ apiKeyStable: y.current.apiKey === r
74
74
  }
75
- }), !l || !n) {
76
- r("⚠️ SERVICE INIT SKIPPED", {
77
- renderCount: y,
75
+ }), !r || !n) {
76
+ l("⚠️ SERVICE INIT SKIPPED", {
77
+ renderCount: v,
78
78
  reason: "Missing apiKey or serviceConfig"
79
79
  });
80
80
  return;
81
81
  }
82
- r("🚀 CREATING NEW SERVICE", {
83
- renderCount: y,
84
- apiKey: (l == null ? void 0 : l.substring(0, 8)) + "...",
85
- serviceConfigChanged: E.current.serviceConfig !== n
82
+ l("🚀 CREATING NEW SERVICE", {
83
+ renderCount: v,
84
+ apiKey: (r == null ? void 0 : r.substring(0, 8)) + "...",
85
+ serviceConfigChanged: y.current.serviceConfig !== n
86
86
  });
87
- const F = new je({
87
+ const P = new Re({
88
88
  ...n,
89
- apiKey: l,
89
+ apiKey: r,
90
90
  debug: i
91
91
  });
92
- return C(F), r("✅ SERVICE SET", {
93
- renderCount: y,
94
- serviceInstance: !!F
92
+ return E(P), l("✅ SERVICE SET", {
93
+ renderCount: v,
94
+ serviceInstance: !!P
95
95
  }), () => {
96
- r("🧹 SERVICE CLEANUP", {
97
- renderCount: y,
96
+ l("🧹 SERVICE CLEANUP", {
97
+ renderCount: v,
98
98
  reason: "Effect cleanup"
99
- }), F.disconnectUser().catch(console.error);
99
+ }), P.disconnectUser().catch(console.error);
100
100
  };
101
- }, [l, n, i, r]);
102
- const p = A(null);
103
- G(() => {
104
- var F, T;
105
- if (r("🔗 USER CONNECTION EFFECT TRIGGERED", {
101
+ }, [r, n, i, l]);
102
+ const M = H(null);
103
+ $(() => {
104
+ var P, z;
105
+ if (l("🔗 USER CONNECTION EFFECT TRIGGERED", {
106
106
  hasService: !!o,
107
107
  hasUser: !!s,
108
108
  userId: s == null ? void 0 : s.id,
109
- isConnecting: k.current,
110
- isConnected: b,
109
+ isConnecting: S.current,
110
+ isConnected: f,
111
111
  dependencies: { service: !!o, userId: s == null ? void 0 : s.id }
112
112
  }), !o || !s) {
113
- r("⚠️ USER CONNECTION SKIPPED", "Missing service or user");
113
+ l("⚠️ USER CONNECTION SKIPPED", "Missing service or user");
114
114
  return;
115
115
  }
116
- if (k.current) {
117
- r("⚠️ USER CONNECTION SKIPPED", "Already connecting");
116
+ if (S.current) {
117
+ l("⚠️ USER CONNECTION SKIPPED", "Already connecting");
118
118
  return;
119
119
  }
120
- if (((F = p.current) == null ? void 0 : F.serviceId) === o && ((T = p.current) == null ? void 0 : T.userId) === s.id) {
121
- r(
120
+ if (((P = M.current) == null ? void 0 : P.serviceId) === o && ((z = M.current) == null ? void 0 : z.userId) === s.id) {
121
+ l(
122
122
  "⚠️ USER CONNECTION SKIPPED",
123
123
  "Already connected this user with this service"
124
124
  );
125
125
  return;
126
126
  }
127
127
  (async () => {
128
- r("🚀 STARTING USER CONNECTION", { userId: s.id }), k.current = !0, m(!0), S(null);
128
+ l("🚀 STARTING USER CONNECTION", { userId: s.id }), S.current = !0, w(!0), k(null);
129
129
  try {
130
- r("📞 CALLING SERVICE.CONNECTUSER", { userId: s.id });
131
- const j = await o.connectUser(s);
132
- x(j), h(!0), p.current = { serviceId: o, userId: s.id }, r("✅ USER CONNECTION SUCCESS", {
130
+ l("📞 CALLING SERVICE.CONNECTUSER", { userId: s.id });
131
+ const D = await o.connectUser(s);
132
+ u(D), I(!0), M.current = { serviceId: o, userId: s.id }, l("✅ USER CONNECTION SUCCESS", {
133
133
  userId: s.id,
134
- clientId: j.userID
134
+ clientId: D.userID
135
135
  });
136
- } catch (j) {
137
- const $ = j instanceof Error ? j.message : "Connection failed";
138
- S($), r("❌ USER CONNECTION ERROR", {
136
+ } catch (D) {
137
+ const A = D instanceof Error ? D.message : "Connection failed";
138
+ k(A), l("❌ USER CONNECTION ERROR", {
139
139
  userId: s.id,
140
- error: $
140
+ error: A
141
141
  });
142
142
  } finally {
143
- m(!1), k.current = !1, r("🔄 USER CONNECTION FINISHED", {
143
+ w(!1), S.current = !1, l("🔄 USER CONNECTION FINISHED", {
144
144
  userId: s.id,
145
- isConnected: b
145
+ isConnected: f
146
146
  });
147
147
  }
148
148
  })();
149
- }, [o, s, r, b]), G(() => (r("🔌 CLEANUP EFFECT REGISTERED", {
149
+ }, [o, s, l, f]), $(() => (l("🔌 CLEANUP EFFECT REGISTERED", {
150
150
  hasService: !!o,
151
- isConnected: b
151
+ isConnected: f
152
152
  }), () => {
153
- o && b ? (r(
153
+ o && f ? (l(
154
154
  "🧹 CLEANUP EFFECT TRIGGERED",
155
155
  "Cleaning up connection on unmount"
156
- ), p.current = null, o.disconnectUser().catch(console.error)) : r("🔇 CLEANUP EFFECT SKIPPED", {
156
+ ), M.current = null, o.disconnectUser().catch(console.error)) : l("🔇 CLEANUP EFFECT SKIPPED", {
157
157
  hasService: !!o,
158
- isConnected: b
158
+ isConnected: f
159
159
  });
160
- }), [o, b, r]);
161
- const g = M(async () => {
162
- if (r("🔄 REFRESH CONNECTION CALLED", {
160
+ }), [o, f, l]);
161
+ const h = O(async () => {
162
+ if (l("🔄 REFRESH CONNECTION CALLED", {
163
163
  hasService: !!o,
164
164
  hasUser: !!s
165
165
  }), !o || !s) {
166
- r("⚠️ REFRESH CONNECTION SKIPPED", "Missing service or user");
166
+ l("⚠️ REFRESH CONNECTION SKIPPED", "Missing service or user");
167
167
  return;
168
168
  }
169
- r("🚀 STARTING CONNECTION REFRESH", { userId: s.id }), m(!0);
169
+ l("🚀 STARTING CONNECTION REFRESH", { userId: s.id }), w(!0);
170
170
  try {
171
- r("🔌 DISCONNECTING FOR REFRESH"), await o.disconnectUser(), r("📞 RECONNECTING FOR REFRESH");
172
- const y = await o.connectUser(s);
173
- x(y), h(!0), S(null), r("✅ CONNECTION REFRESH SUCCESS", { userId: s.id });
174
- } catch (y) {
175
- const F = y instanceof Error ? y.message : "Refresh failed";
176
- S(F), r("❌ CONNECTION REFRESH ERROR", {
171
+ l("🔌 DISCONNECTING FOR REFRESH"), await o.disconnectUser(), l("📞 RECONNECTING FOR REFRESH");
172
+ const v = await o.connectUser(s);
173
+ u(v), I(!0), k(null), l("✅ CONNECTION REFRESH SUCCESS", { userId: s.id });
174
+ } catch (v) {
175
+ const P = v instanceof Error ? v.message : "Refresh failed";
176
+ k(P), l("❌ CONNECTION REFRESH ERROR", {
177
177
  userId: s.id,
178
- error: F
178
+ error: P
179
179
  });
180
180
  } finally {
181
- m(!1), r("🔄 CONNECTION REFRESH FINISHED", { userId: s.id });
181
+ w(!1), l("🔄 CONNECTION REFRESH FINISHED", { userId: s.id });
182
182
  }
183
- }, [o, s, r]), v = H.useMemo(() => (r("💫 CONTEXT VALUE MEMOIZATION", {
183
+ }, [o, s, l]), g = q.useMemo(() => (l("💫 CONTEXT VALUE MEMOIZATION", {
184
184
  hasService: !!o,
185
- hasClient: !!u,
186
- isConnected: b,
187
- isLoading: f,
188
- hasError: !!N,
185
+ hasClient: !!b,
186
+ isConnected: f,
187
+ isLoading: x,
188
+ hasError: !!m,
189
189
  capabilitiesKeys: Object.keys(a),
190
190
  customizationKeys: Object.keys(c)
191
191
  }), {
192
192
  service: o,
193
- client: u,
194
- isConnected: b,
195
- isLoading: f,
196
- error: N,
193
+ client: b,
194
+ isConnected: f,
195
+ isLoading: x,
196
+ error: m,
197
197
  capabilities: a,
198
198
  customization: c,
199
- refreshConnection: g,
199
+ refreshConnection: h,
200
200
  debug: i
201
201
  }), [
202
202
  o,
203
- u,
204
203
  b,
205
204
  f,
206
- N,
205
+ x,
206
+ m,
207
207
  a,
208
208
  c,
209
- g,
209
+ h,
210
210
  i,
211
- r
211
+ l
212
212
  ]);
213
- return r("🔄 RENDER END", {
214
- renderCount: P.current,
215
- willRenderChat: !!(u && b),
216
- contextValueReady: !!v
217
- }), /* @__PURE__ */ e(Ie.Provider, { value: v, children: u && b ? /* @__PURE__ */ e(Ue, { client: u, children: t }) : t });
218
- }, Ze = () => le();
219
- function Se(t) {
220
- return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
221
- }
222
- var K = {}, Q = {}, ee = {}, he;
223
- function Je() {
224
- return he || (he = 1, (function(t) {
225
- var s = ee && ee.__importDefault || function(c) {
226
- return c && c.__esModule ? c : { default: c };
227
- };
228
- Object.defineProperty(t, "__esModule", { value: !0 }), t.baseStyleClasses = void 0;
229
- const n = s(H), l = s(_);
230
- t.baseStyleClasses = (0, l.default)("text-sm", "h-2xl", "block", "p-md", "w-full", "rounded-sm", "bg-chalk", "text-black", "transition", "duration-75", "ease-out", "!outline-none");
231
- const a = ({ className: c, onChange: i, onChangeValue: r, appearance: o = "default", ...C }, u) => {
232
- const x = o === "none" ? "appearance-none" : t.baseStyleClasses, b = ({ target: { value: h, checked: f } }) => C.type === "checkbox" ? r == null ? void 0 : r(f) : r == null ? void 0 : r(h);
233
- return n.default.createElement("input", {
234
- ...C,
235
- className: (0, l.default)(c, x),
236
- onChange: i || r && b,
237
- ref: u
238
- });
239
- };
240
- t.default = n.default.forwardRef(a);
241
- })(ee)), ee;
242
- }
243
- var ge;
244
- function Ye() {
245
- if (ge) return Q;
246
- ge = 1;
247
- var t = Q && Q.__importDefault || function(i) {
248
- return i && i.__esModule ? i : { default: i };
249
- };
250
- Object.defineProperty(Q, "__esModule", { value: !0 });
251
- const s = we, n = t(H), l = t(_), a = t(Je()), c = ({ id: i, name: r, label: o, className: C = "", checked: u, defaultChecked: x, inactive: b, value: h, tabIndex: f, icon: m, ...N }, S) => {
252
- const k = u || x, E = b || (N == null ? void 0 : N.disabled), P = ({ key: p, code: g }) => {
253
- var v;
254
- N.onChangeValue && (p === "Enter" || g === "Space") && ((v = N.onChangeValue) == null || v.call(N, h));
255
- };
256
- return (0, s.jsx)("div", { className: (0, l.default)("inline-flex", "first:ml-xs", "max-w-full"), children: (0, s.jsxs)("label", { htmlFor: i, tabIndex: f, className: (0, l.default)("w-fit", "h-10", "px-md", "rounded-lg", "inline-flex", "justify-center", "border", "hover:ring-1", "hover:ring-sand", "relative", "transition duration-75 ease-out", "max-w-full", C, {
257
- "pointer-events-none": E,
258
- "cursor-pointer": !E,
259
- // Selected
260
- "border-black": k,
261
- "bg-black": k,
262
- // Not selected
263
- "bg-white": !k,
264
- "border-sand": !k,
265
- "hover:border-sand": !k
266
- }), children: [(0, s.jsx)(a.default, { type: "checkbox", id: i, name: r, value: h, checked: u, defaultChecked: x, appearance: "none", className: (0, l.default)("cursor-pointer", "outline-none", "focus-visible:ring-2", "focus-visible:ring-black", "absolute", "-top-[3px]", "left-4px", "w-[calc(100%+6px)]", "h-[calc(100%+6px)]", "rounded-[48px]", "transition duration-75 ease-out"), disabled: E, onKeyDown: P, ref: S, ...N }), (0, s.jsxs)("span", { className: (0, l.default)("pointer-events-none", "select-none", "self-center", "text-sm", "flex", "mt-[1px]", "truncate", {
267
- "text-pebble": E,
268
- "text-white": k,
269
- "text-black": !k && !E
270
- }), children: [m && (0, s.jsx)("div", { className: "icon mr-xs self-center", children: m }), (0, s.jsx)("span", { className: "label", children: o || r })] })] }) });
271
- };
272
- return Q.default = n.default.forwardRef(c), Q;
273
- }
274
- var Z = {}, xe;
275
- function ke() {
276
- if (xe) return Z;
277
- xe = 1;
278
- var t = Z && Z.__importDefault || function(a) {
279
- return a && a.__esModule ? a : { default: a };
280
- };
281
- Object.defineProperty(Z, "__esModule", { value: !0 });
282
- const s = we, n = t(H), l = ({ children: a, label: c, className: i = "" }, r) => (0, s.jsxs)("fieldset", { className: `${i} -ml-xs space-x-xs space-y-xs`, ref: r, children: [c && (0, s.jsx)("legend", { className: "mb-sm ml-sm text-sm font-semibold", children: c }), a] });
283
- return Z.default = n.default.forwardRef(l), Z;
284
- }
285
- var be;
286
- function Ke() {
287
- return be || (be = 1, (function(t) {
288
- var s = K && K.__importDefault || function(a) {
289
- return a && a.__esModule ? a : { default: a };
290
- };
291
- Object.defineProperty(t, "__esModule", { value: !0 }), t.InputSelectPillGroup = t.default = void 0;
292
- var n = Ye();
293
- Object.defineProperty(t, "default", { enumerable: !0, get: function() {
294
- return s(n).default;
295
- } });
296
- var l = ke();
297
- Object.defineProperty(t, "InputSelectPillGroup", { enumerable: !0, get: function() {
298
- return s(l).default;
299
- } });
300
- })(K)), K;
301
- }
302
- var es = Ke();
303
- const Ne = /* @__PURE__ */ Se(es);
304
- var ss = ke();
305
- const ts = /* @__PURE__ */ Se(ss);
306
- function oe({ label: t, className: s, children: n, ...l }) {
307
- return /* @__PURE__ */ d(
308
- "button",
309
- {
310
- type: "button",
311
- className: _(
312
- "rounded-full p-2 transition-colors focus-ring",
313
- {
314
- "cursor-not-allowed opacity-50": l.disabled,
315
- "hover:bg-sand": !l.disabled
316
- },
317
- s
318
- ),
319
- ...l,
320
- children: [
321
- /* @__PURE__ */ e("span", { className: "sr-only", children: t }),
322
- n
323
- ]
324
- }
325
- );
326
- }
327
- const ve = [
213
+ return l("🔄 RENDER END", {
214
+ renderCount: F.current,
215
+ willRenderChat: !!(b && f),
216
+ contextValueReady: !!g
217
+ }), /* @__PURE__ */ e(fe.Provider, { value: g, children: b && f ? /* @__PURE__ */ e(ke, { client: b, children: t }) : t });
218
+ }, Be = () => se(), de = [
328
219
  "🍎",
329
220
  // Apple
330
221
  "🍌",
@@ -352,31 +243,31 @@ const ve = [
352
243
  "🍈"
353
244
  // Melon
354
245
  ];
355
- function ns(t) {
246
+ function Ae(t) {
356
247
  let s = 0;
357
248
  for (let n = 0; n < t.length; n++) {
358
- const l = t.charCodeAt(n);
359
- s = (s << 5) - s + l, s = s & s;
249
+ const r = t.charCodeAt(n);
250
+ s = (s << 5) - s + r, s = s & s;
360
251
  }
361
252
  return Math.abs(s);
362
253
  }
363
- function rs(t) {
364
- const n = ns(t) % ve.length;
365
- return ve[n];
254
+ function Ge(t) {
255
+ const n = Ae(t) % de.length;
256
+ return de[n];
366
257
  }
367
- const se = ({
258
+ const Q = ({
368
259
  id: t,
369
260
  image: s,
370
261
  size: n = 40,
371
- className: l
262
+ className: r
372
263
  }) => {
373
- const a = rs(t), i = n < 32 ? "text-xs" : n < 56 ? "text-sm" : "text-lg";
264
+ const a = Ge(t), i = n < 32 ? "text-xs" : n < 56 ? "text-sm" : "text-lg";
374
265
  return /* @__PURE__ */ e(
375
266
  "div",
376
267
  {
377
- className: _(
268
+ className: T(
378
269
  "flex-shrink-0 overflow-hidden rounded-lg",
379
- l
270
+ r
380
271
  ),
381
272
  style: { width: `${n}px`, height: `${n}px` },
382
273
  children: s ? /* @__PURE__ */ e(
@@ -390,7 +281,7 @@ const se = ({
390
281
  "div",
391
282
  {
392
283
  "aria-hidden": "true",
393
- className: _(
284
+ className: T(
394
285
  "flex h-full w-full items-center justify-center font-semibold rounded-sm bg-[#FBFAF9]/60",
395
286
  i
396
287
  ),
@@ -399,31 +290,31 @@ const se = ({
399
290
  )
400
291
  }
401
292
  );
402
- }, ls = ({ channel: t, selectedChannel: s, onChannelSelect: n, debug: l = !1, unread: a }) => {
403
- var m, N, S, k, E, P;
293
+ }, He = ({ channel: t, selectedChannel: s, onChannelSelect: n, debug: r = !1, unread: a }) => {
294
+ var w, m, k, S, y, F;
404
295
  const c = (s == null ? void 0 : s.id) === (t == null ? void 0 : t.id), i = () => {
405
296
  t && n(t);
406
- }, o = Object.values(((m = t == null ? void 0 : t.state) == null ? void 0 : m.members) || {}).find(
407
- (p) => {
408
- var g, v;
409
- return ((g = p.user) == null ? void 0 : g.id) && p.user.id !== ((v = t == null ? void 0 : t._client) == null ? void 0 : v.userID);
297
+ }, o = Object.values(((w = t == null ? void 0 : t.state) == null ? void 0 : w.members) || {}).find(
298
+ (M) => {
299
+ var h, g;
300
+ return ((h = M.user) == null ? void 0 : h.id) && M.user.id !== ((g = t == null ? void 0 : t._client) == null ? void 0 : g.userID);
410
301
  }
411
- ), C = ((N = o == null ? void 0 : o.user) == null ? void 0 : N.name) || "Conversation", u = (S = o == null ? void 0 : o.user) == null ? void 0 : S.image, x = (E = (k = t == null ? void 0 : t.state) == null ? void 0 : k.messages) == null ? void 0 : E[t.state.messages.length - 1], b = (x == null ? void 0 : x.text) || "No messages yet", h = x != null && x.created_at ? new Date(x.created_at).toLocaleTimeString([], {
302
+ ), E = ((m = o == null ? void 0 : o.user) == null ? void 0 : m.name) || "Conversation", b = (k = o == null ? void 0 : o.user) == null ? void 0 : k.image, u = (y = (S = t == null ? void 0 : t.state) == null ? void 0 : S.messages) == null ? void 0 : y[t.state.messages.length - 1], f = (u == null ? void 0 : u.text) || "No messages yet", I = u != null && u.created_at ? new Date(u.created_at).toLocaleTimeString([], {
412
303
  hour: "2-digit",
413
304
  minute: "2-digit"
414
- }) : "", f = a ?? 0;
415
- return l && console.log("📺 [ChannelList] 📋 CHANNEL PREVIEW RENDER", {
305
+ }) : "", x = a ?? 0;
306
+ return r && console.log("📺 [ChannelList] 📋 CHANNEL PREVIEW RENDER", {
416
307
  channelId: t == null ? void 0 : t.id,
417
308
  isSelected: c,
418
- participantName: C,
419
- unreadCount: f,
420
- hasTimestamp: !!h
309
+ participantName: E,
310
+ unreadCount: x,
311
+ hasTimestamp: !!I
421
312
  }), /* @__PURE__ */ e(
422
313
  "button",
423
314
  {
424
315
  type: "button",
425
316
  onClick: i,
426
- className: _(
317
+ className: T(
427
318
  "w-full px-4 py-3 transition-colors border-b border-sand text-left max-w-full overflow-hidden focus-ring",
428
319
  {
429
320
  "bg-primary-alt/10 border-l-4 border-l-primary": c,
@@ -432,11 +323,11 @@ const se = ({
432
323
  ),
433
324
  children: /* @__PURE__ */ d("div", { className: "flex items-start gap-3", children: [
434
325
  /* @__PURE__ */ e(
435
- se,
326
+ Q,
436
327
  {
437
- id: ((P = o == null ? void 0 : o.user) == null ? void 0 : P.id) || t.id || "unknown",
438
- name: C,
439
- image: u,
328
+ id: ((F = o == null ? void 0 : o.user) == null ? void 0 : F.id) || t.id || "unknown",
329
+ name: E,
330
+ image: b,
440
331
  size: 44
441
332
  }
442
333
  ),
@@ -445,180 +336,129 @@ const se = ({
445
336
  /* @__PURE__ */ e(
446
337
  "h3",
447
338
  {
448
- className: _(
339
+ className: T(
449
340
  "text-sm font-medium truncate",
450
341
  c ? "text-primary" : "text-charcoal"
451
342
  ),
452
- children: C
343
+ children: E
453
344
  }
454
345
  ),
455
- h && /* @__PURE__ */ e("span", { className: "text-xs text-stone flex-shrink-0", children: h })
346
+ I && /* @__PURE__ */ e("span", { className: "text-xs text-stone flex-shrink-0", children: I })
456
347
  ] }),
457
348
  /* @__PURE__ */ d("div", { className: "flex items-center justify-between gap-2 min-w-0", children: [
458
- /* @__PURE__ */ e("p", { className: "text-xs text-stone mr-2 flex-1 line-clamp-2", children: b }),
459
- f > 0 && /* @__PURE__ */ e("span", { className: "bg-primary text-white text-xs px-2 py-0.5 rounded-full min-w-[20px] text-center flex-shrink-0", children: f > 99 ? "99+" : f })
349
+ /* @__PURE__ */ e("p", { className: "text-xs text-stone mr-2 flex-1 line-clamp-2", children: f }),
350
+ x > 0 && /* @__PURE__ */ e("span", { className: "bg-primary text-white text-xs px-2 py-0.5 rounded-full min-w-[20px] text-center flex-shrink-0", children: x > 99 ? "99+" : x })
460
351
  ] })
461
352
  ] })
462
353
  ] })
463
354
  }
464
355
  );
465
- }, os = ({
356
+ }, $e = ({
466
357
  onChannelSelect: t,
467
358
  selectedChannel: s,
468
- showStartConversation: n = !1,
469
- onStartConversation: l,
470
- participantLabel: a = "participants",
471
- className: c
359
+ filters: n,
360
+ className: r
472
361
  }) => {
473
- var b;
474
- const i = H.useRef(0);
475
- i.current++;
476
- const { debug: r = !1 } = le();
477
- r && console.log("📺 [ChannelList] 🔄 RENDER START", {
478
- renderCount: i.current,
362
+ const a = q.useRef(0);
363
+ a.current++;
364
+ const { debug: c = !1 } = se();
365
+ return c && console.log("📺 [ChannelList] 🔄 RENDER START", {
366
+ renderCount: a.current,
479
367
  selectedChannelId: s == null ? void 0 : s.id,
480
- showStartConversation: n,
481
- participantLabel: a
482
- });
483
- const { client: o } = Le();
484
- r && console.log("📺 [ChannelList] 📡 CHAT CONTEXT", {
485
- renderCount: i.current,
486
- hasClient: !!o,
487
- clientUserId: o == null ? void 0 : o.userID,
488
- clientConnected: (b = o == null ? void 0 : o.wsConnection) == null ? void 0 : b.isHealthy
489
- });
490
- const [C, u] = I({
491
- type: "messaging",
492
- last_message_at: { $exists: !0 },
493
- has_unread: void 0
494
- }), x = H.useMemo(() => {
495
- const h = o.userID, f = {
496
- ...C,
497
- ...h && {
498
- members: { $in: [h] },
499
- hidden: !1
500
- }
501
- };
502
- return r && console.log("📺 [ChannelList] 🔍 FILTERS MEMOIZED", {
503
- renderCount: i.current,
504
- userId: h,
505
- filters: f
506
- }), f;
507
- }, [o.userID, r, C]);
508
- return /* @__PURE__ */ d(
368
+ filters: n
369
+ }), /* @__PURE__ */ e(
509
370
  "div",
510
371
  {
511
- className: _(
372
+ className: T(
512
373
  "messaging-channel-list h-full flex flex-col min-w-0 overflow-hidden",
513
- c
374
+ r
514
375
  ),
515
- children: [
516
- /* @__PURE__ */ e("div", { className: "px-4 py-4 border-b border-sand bg-chalk", children: /* @__PURE__ */ d("div", { className: "flex items-center justify-between gap-3 min-h-10 min-w-0", children: [
517
- /* @__PURE__ */ d("div", { children: [
518
- /* @__PURE__ */ e("h2", { className: "text-lg font-semibold text-charcoal", children: "Conversations" }),
519
- /* @__PURE__ */ d(ts, { children: [
520
- /* @__PURE__ */ e(
521
- Ne,
522
- {
523
- checked: !x.has_unread,
524
- name: "All",
525
- onChange: () => u((h) => ({
526
- ...h,
527
- has_unread: void 0
528
- })),
529
- value: 0
530
- /* All */
531
- }
532
- ),
533
- /* @__PURE__ */ e(
534
- Ne,
535
- {
536
- checked: x.has_unread,
537
- name: "Unread",
538
- onChange: () => u((h) => ({ ...h, has_unread: !0 })),
539
- value: 1
540
- /* Unread */
541
- }
542
- )
543
- ] })
544
- ] }),
545
- /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: n && l && /* @__PURE__ */ e(
546
- oe,
547
- {
548
- label: "Start a new conversation",
549
- onClick: l,
550
- className: "inline-flex size-10 items-center justify-center",
551
- children: /* @__PURE__ */ e(qe, { className: "h-5 w-5" })
552
- }
553
- ) })
554
- ] }) }),
555
- /* @__PURE__ */ e("div", { className: "flex-1 overflow-hidden min-w-0", children: (r && console.log("📺 [ChannelList] 🎬 RENDERING STREAM CHANNEL LIST", {
556
- renderCount: i.current,
557
- filters: x,
558
- hasClient: !!o,
559
- clientUserId: o == null ? void 0 : o.userID
560
- }), /* @__PURE__ */ e(
561
- Be,
562
- {
563
- filters: x,
564
- sort: { last_message_at: -1 },
565
- options: { limit: 30 },
566
- Preview: (h) => {
567
- var f, m;
568
- return r && console.log("📺 [ChannelList] 📋 CHANNEL PREVIEW RENDER", {
569
- channelId: (f = h.channel) == null ? void 0 : f.id,
570
- selectedChannelId: s == null ? void 0 : s.id,
571
- isSelected: (s == null ? void 0 : s.id) === ((m = h.channel) == null ? void 0 : m.id)
572
- }), /* @__PURE__ */ e(
573
- ls,
574
- {
575
- ...h,
576
- selectedChannel: s,
577
- onChannelSelect: t,
578
- debug: r
579
- }
580
- );
581
- }
376
+ children: /* @__PURE__ */ e("div", { className: "flex-1 overflow-hidden min-w-0", children: (c && console.log("📺 [ChannelList] 🎬 RENDERING STREAM CHANNEL LIST", {
377
+ renderCount: a.current,
378
+ filters: n
379
+ }), /* @__PURE__ */ e(
380
+ Fe,
381
+ {
382
+ filters: n,
383
+ sort: { last_message_at: -1 },
384
+ options: { limit: 30 },
385
+ Preview: (i) => {
386
+ var l, o;
387
+ return c && console.log("📺 [ChannelList] 📋 CHANNEL PREVIEW RENDER", {
388
+ channelId: (l = i.channel) == null ? void 0 : l.id,
389
+ selectedChannelId: s == null ? void 0 : s.id,
390
+ isSelected: (s == null ? void 0 : s.id) === ((o = i.channel) == null ? void 0 : o.id)
391
+ }), /* @__PURE__ */ e(
392
+ He,
393
+ {
394
+ ...i,
395
+ selectedChannel: s,
396
+ onChannelSelect: t,
397
+ debug: c
398
+ }
399
+ );
582
400
  }
583
- )) })
584
- ]
401
+ },
402
+ JSON.stringify(n)
403
+ )) })
585
404
  }
586
405
  );
587
- }, ne = ({
406
+ }, K = ({
588
407
  variant: t = "default",
589
408
  className: s,
590
409
  children: n,
591
- ...l
410
+ ...r
592
411
  }) => /* @__PURE__ */ e(
593
412
  "button",
594
413
  {
595
414
  type: "button",
596
- className: _(
415
+ className: T(
597
416
  "flex w-full items-center gap-3 rounded-lg px-4 py-3 text-left text-sm transition-colors focus-ring disabled:cursor-not-allowed disabled:opacity-60",
598
417
  t === "danger" ? "text-danger hover:bg-danger/50" : "text-charcoal hover:bg-sand",
599
418
  s
600
419
  ),
601
- ...l,
420
+ ...r,
602
421
  children: n
603
422
  }
604
423
  );
605
- function Re({ onClick: t }) {
606
- return /* @__PURE__ */ e(oe, { label: "Close", onClick: t, className: "p-1", children: /* @__PURE__ */ e(Ee, { className: "h-5 w-5 text-stone", weight: "bold" }) });
424
+ function oe({ label: t, className: s, children: n, ...r }) {
425
+ return /* @__PURE__ */ d(
426
+ "button",
427
+ {
428
+ type: "button",
429
+ className: T(
430
+ "rounded-full p-2 transition-colors focus-ring",
431
+ {
432
+ "cursor-not-allowed opacity-50": r.disabled,
433
+ "hover:bg-sand": !r.disabled
434
+ },
435
+ s
436
+ ),
437
+ ...r,
438
+ children: [
439
+ /* @__PURE__ */ e("span", { className: "sr-only", children: t }),
440
+ n
441
+ ]
442
+ }
443
+ );
444
+ }
445
+ function ge({ onClick: t }) {
446
+ return /* @__PURE__ */ e(oe, { label: "Close", onClick: t, className: "p-1", children: /* @__PURE__ */ e(he, { className: "h-5 w-5 text-stone", weight: "bold" }) });
607
447
  }
608
- const Pe = () => /* @__PURE__ */ e("div", { className: "messaging-channel-empty-state flex items-center justify-center h-full p-8 text-balance", children: /* @__PURE__ */ d("div", { className: "text-center max-w-sm", children: [
448
+ const xe = () => /* @__PURE__ */ e("div", { className: "messaging-channel-empty-state flex items-center justify-center h-full p-8 text-balance", children: /* @__PURE__ */ d("div", { className: "text-center max-w-sm", children: [
609
449
  /* @__PURE__ */ e("h2", { className: "font-semibold text-charcoal mb-2", children: "No messages yet 👀" }),
610
450
  /* @__PURE__ */ e("p", { className: "text-stone text-xs", children: "Share to social media to generate more conversations" })
611
- ] }) }), as = ({ renderActions: t }) => /* @__PURE__ */ d("div", { className: "message-input flex items-center gap-2 p-4", children: [
451
+ ] }) }), _e = ({ renderActions: t }) => /* @__PURE__ */ d("div", { className: "message-input flex items-center gap-2 p-4", children: [
612
452
  t && t(),
613
- /* @__PURE__ */ e("div", { className: "flex-1", children: /* @__PURE__ */ e($e, { focus: !0, maxRows: 4 }) })
614
- ] }), is = ({ onBack: t, showBackButton: s, onShowInfo: n, canShowInfo: l }) => {
615
- var o, C, u, x;
616
- const { channel: a } = ye(), c = H.useMemo(() => Object.values(a.state.members || {}).find(
617
- (h) => {
618
- var f;
619
- return ((f = h.user) == null ? void 0 : f.id) && h.user.id !== a._client.userID;
453
+ /* @__PURE__ */ e("div", { className: "flex-1", children: /* @__PURE__ */ e(Me, { focus: !0, maxRows: 4 }) })
454
+ ] }), Ve = ({ onBack: t, showBackButton: s, onShowInfo: n, canShowInfo: r }) => {
455
+ var o, E, b, u;
456
+ const { channel: a } = me(), c = q.useMemo(() => Object.values(a.state.members || {}).find(
457
+ (I) => {
458
+ var x;
459
+ return ((x = I.user) == null ? void 0 : x.id) && I.user.id !== a._client.userID;
620
460
  }
621
- ), [a._client.userID, a.state.members]), i = ((o = c == null ? void 0 : c.user) == null ? void 0 : o.name) || ((C = c == null ? void 0 : c.user) == null ? void 0 : C.id) || "Unknown member", r = (u = c == null ? void 0 : c.user) == null ? void 0 : u.image;
461
+ ), [a._client.userID, a.state.members]), i = ((o = c == null ? void 0 : c.user) == null ? void 0 : o.name) || ((E = c == null ? void 0 : c.user) == null ? void 0 : E.id) || "Unknown member", l = (b = c == null ? void 0 : c.user) == null ? void 0 : b.image;
622
462
  return /* @__PURE__ */ d("div", { className: "flex items-center justify-between gap-3 min-h-12", children: [
623
463
  /* @__PURE__ */ d("div", { className: "flex items-center gap-3 min-w-0", children: [
624
464
  s && t && /* @__PURE__ */ e(
@@ -628,96 +468,96 @@ const Pe = () => /* @__PURE__ */ e("div", { className: "messaging-channel-empty-
628
468
  onClick: t,
629
469
  className: "inline-flex items-center justify-center w-8 h-8 rounded-lg hover:bg-sand focus:outline-none focus:ring-2 focus:ring-primary transition-colors lg:hidden",
630
470
  "aria-label": "Back to conversations",
631
- children: /* @__PURE__ */ e(We, { className: "h-5 w-5 text-stone", weight: "bold" })
471
+ children: /* @__PURE__ */ e(Oe, { className: "h-5 w-5 text-stone", weight: "bold" })
632
472
  }
633
473
  ),
634
474
  /* @__PURE__ */ e(
635
- se,
475
+ Q,
636
476
  {
637
- id: ((x = c == null ? void 0 : c.user) == null ? void 0 : x.id) || a.id || "unknown",
477
+ id: ((u = c == null ? void 0 : c.user) == null ? void 0 : u.id) || a.id || "unknown",
638
478
  name: i,
639
- image: r,
479
+ image: l,
640
480
  size: 40
641
481
  }
642
482
  ),
643
483
  /* @__PURE__ */ e("div", { className: "min-w-0", children: /* @__PURE__ */ e("h1", { className: "text-lg font-semibold text-charcoal truncate", children: i }) })
644
484
  ] }),
645
- l && n && /* @__PURE__ */ e(oe, { label: "Chat info", onClick: n, children: /* @__PURE__ */ e(ze, { className: "h-6 w-6 text-charcoal", weight: "bold" }) })
485
+ r && n && /* @__PURE__ */ e(oe, { label: "Chat info", onClick: n, children: /* @__PURE__ */ e(Ue, { className: "h-6 w-6 text-charcoal", weight: "bold" }) })
646
486
  ] });
647
- }, cs = ({
487
+ }, We = ({
648
488
  isOpen: t,
649
489
  onClose: s,
650
490
  participant: n,
651
- channel: l,
491
+ channel: r,
652
492
  followerStatusLabel: a,
653
493
  onLeaveConversation: c,
654
494
  onBlockParticipant: i
655
495
  }) => {
656
- var j, $, q, W, J, z, V;
657
- const { service: r, debug: o } = le(), C = A(null), [u, x] = I(!1), [b, h] = I(!1), [f, m] = I(!1);
658
- G(() => {
659
- const R = C.current;
496
+ var D, A, J, _, V, X, W;
497
+ const { service: l, debug: o } = se(), E = H(null), [b, u] = C(!1), [f, I] = C(!1), [x, w] = C(!1);
498
+ $(() => {
499
+ const R = E.current;
660
500
  R && (t ? R.showModal() : R.close());
661
501
  }, [t]);
662
- const N = M(async () => {
502
+ const m = O(async () => {
663
503
  var R;
664
- if (!(!r || !((R = n == null ? void 0 : n.user) != null && R.id)))
504
+ if (!(!l || !((R = n == null ? void 0 : n.user) != null && R.id)))
665
505
  try {
666
- const L = (await r.getBlockedUsers()).some(
667
- (X) => {
506
+ const j = (await l.getBlockedUsers()).some(
507
+ (B) => {
668
508
  var Y;
669
- return X.blocked_user_id === ((Y = n == null ? void 0 : n.user) == null ? void 0 : Y.id);
509
+ return B.blocked_user_id === ((Y = n == null ? void 0 : n.user) == null ? void 0 : Y.id);
670
510
  }
671
511
  );
672
- x(L);
673
- } catch (D) {
512
+ u(j);
513
+ } catch (p) {
674
514
  console.error(
675
515
  "[ChannelInfoDialog] Failed to check blocked status:",
676
- D
516
+ p
677
517
  );
678
518
  }
679
- }, [r, (j = n == null ? void 0 : n.user) == null ? void 0 : j.id]);
680
- G(() => {
681
- t && N();
682
- }, [t, N]);
683
- const S = async () => {
519
+ }, [l, (D = n == null ? void 0 : n.user) == null ? void 0 : D.id]);
520
+ $(() => {
521
+ t && m();
522
+ }, [t, m]);
523
+ const k = async () => {
684
524
  var R;
685
- if (!b) {
686
- o && console.log("[ChannelInfoDialog] Leave conversation", l.cid), h(!0);
525
+ if (!f) {
526
+ o && console.log("[ChannelInfoDialog] Leave conversation", r.cid), I(!0);
687
527
  try {
688
- const D = ((R = l._client) == null ? void 0 : R.userID) ?? null;
689
- await l.hide(D, !1), c && await c(l), s();
690
- } catch (D) {
691
- console.error("[ChannelInfoDialog] Failed to leave conversation", D);
528
+ const p = ((R = r._client) == null ? void 0 : R.userID) ?? null;
529
+ await r.hide(p, !1), c && await c(r), s();
530
+ } catch (p) {
531
+ console.error("[ChannelInfoDialog] Failed to leave conversation", p);
692
532
  } finally {
693
- h(!1);
533
+ I(!1);
694
534
  }
695
535
  }
696
- }, k = async () => {
697
- var R, D, L;
698
- if (!(f || !r)) {
699
- o && console.log("[ChannelInfoDialog] Block member", (R = n == null ? void 0 : n.user) == null ? void 0 : R.id), m(!0);
536
+ }, S = async () => {
537
+ var R, p, j;
538
+ if (!(x || !l)) {
539
+ o && console.log("[ChannelInfoDialog] Block member", (R = n == null ? void 0 : n.user) == null ? void 0 : R.id), w(!0);
700
540
  try {
701
- await r.blockUser((D = n == null ? void 0 : n.user) == null ? void 0 : D.id), i && await i((L = n == null ? void 0 : n.user) == null ? void 0 : L.id), s();
702
- } catch (X) {
703
- console.error("[ChannelInfoDialog] Failed to block member", X);
541
+ await l.blockUser((p = n == null ? void 0 : n.user) == null ? void 0 : p.id), i && await i((j = n == null ? void 0 : n.user) == null ? void 0 : j.id), s();
542
+ } catch (B) {
543
+ console.error("[ChannelInfoDialog] Failed to block member", B);
704
544
  } finally {
705
- m(!1);
545
+ w(!1);
706
546
  }
707
547
  }
708
- }, E = async () => {
709
- var R, D, L;
710
- if (!(f || !r)) {
711
- o && console.log("[ChannelInfoDialog] Unblock member", (R = n == null ? void 0 : n.user) == null ? void 0 : R.id), m(!0);
548
+ }, y = async () => {
549
+ var R, p, j;
550
+ if (!(x || !l)) {
551
+ o && console.log("[ChannelInfoDialog] Unblock member", (R = n == null ? void 0 : n.user) == null ? void 0 : R.id), w(!0);
712
552
  try {
713
- await r.unBlockUser((D = n == null ? void 0 : n.user) == null ? void 0 : D.id), i && await i((L = n == null ? void 0 : n.user) == null ? void 0 : L.id), s();
714
- } catch (X) {
715
- console.error("[ChannelInfoDialog] Failed to unblock member", X);
553
+ await l.unBlockUser((p = n == null ? void 0 : n.user) == null ? void 0 : p.id), i && await i((j = n == null ? void 0 : n.user) == null ? void 0 : j.id), s();
554
+ } catch (B) {
555
+ console.error("[ChannelInfoDialog] Failed to unblock member", B);
716
556
  } finally {
717
- m(!1);
557
+ w(!1);
718
558
  }
719
559
  }
720
- }, P = () => {
560
+ }, F = () => {
721
561
  s(), window.open(
722
562
  "https://linktr.ee/s/about/trust-center/report",
723
563
  "_blank",
@@ -725,92 +565,99 @@ const Pe = () => /* @__PURE__ */ e("div", { className: "messaging-channel-empty-
725
565
  );
726
566
  };
727
567
  if (!n) return null;
728
- const p = (($ = n.user) == null ? void 0 : $.name) || ((q = n.user) == null ? void 0 : q.id) || "Unknown member", g = (W = n.user) == null ? void 0 : W.image, v = (J = n.user) == null ? void 0 : J.email, y = (z = n.user) == null ? void 0 : z.username, F = v || (y ? `linktr.ee/${y}` : void 0), T = ((V = n.user) == null ? void 0 : V.id) || "unknown";
568
+ const M = ((A = n.user) == null ? void 0 : A.name) || ((J = n.user) == null ? void 0 : J.id) || "Unknown member", h = (_ = n.user) == null ? void 0 : _.image, g = (V = n.user) == null ? void 0 : V.email, v = (X = n.user) == null ? void 0 : X.username, P = g || (v ? `linktr.ee/${v}` : void 0), z = ((W = n.user) == null ? void 0 : W.id) || "unknown";
729
569
  return (
730
570
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions
731
571
  /* @__PURE__ */ e(
732
572
  "dialog",
733
573
  {
734
- ref: C,
574
+ ref: E,
735
575
  className: "mes-dialog",
736
576
  onClose: s,
737
577
  onClick: (R) => {
738
- R.target === C.current && s();
578
+ R.target === E.current && s();
739
579
  },
740
580
  children: /* @__PURE__ */ d("div", { className: "ml-auto flex h-full w-full flex-col bg-white shadow-max-elevation-light", children: [
741
581
  /* @__PURE__ */ d("div", { className: "flex items-center justify-between border-b border-sand px-4 py-3", children: [
742
582
  /* @__PURE__ */ e("h2", { className: "text-base font-semibold text-charcoal", children: "Chat info" }),
743
- /* @__PURE__ */ e(Re, { onClick: s })
583
+ /* @__PURE__ */ e(ge, { onClick: s })
744
584
  ] }),
745
585
  /* @__PURE__ */ d("div", { className: "flex-1 px-2 overflow-y-auto w-full", children: [
746
- /* @__PURE__ */ e("div", { className: "flex flex-col items-center gap-3 self-stretch px-4 py-2 mt-6 rounded-lg border border-black/[0.04]", style: { backgroundColor: "#FBFAF9" }, children: /* @__PURE__ */ d("div", { className: "flex items-center gap-3 w-full", children: [
747
- /* @__PURE__ */ e(
748
- se,
749
- {
750
- id: T,
751
- name: p,
752
- image: g,
753
- size: 88,
754
- className: "!rounded-full"
755
- }
756
- ),
757
- /* @__PURE__ */ d("div", { className: "flex flex-col min-w-0 flex-1", children: [
758
- /* @__PURE__ */ e("p", { className: "truncate text-base font-semibold text-charcoal", children: p }),
759
- F && /* @__PURE__ */ e("p", { className: "truncate text-sm text-[#00000055]", children: F }),
760
- a && /* @__PURE__ */ e(
761
- "span",
762
- {
763
- className: "mt-1 rounded-full text-xs font-normal w-fit",
764
- style: {
765
- padding: "4px 8px",
766
- backgroundColor: a === "Subscribed to you" ? "#DCFCE7" : "#F5F5F4",
767
- color: a === "Subscribed to you" ? "#008236" : "#78716C",
768
- lineHeight: "133.333%",
769
- letterSpacing: "0.21px"
770
- },
771
- children: a
772
- }
773
- )
774
- ] })
775
- ] }) }),
586
+ /* @__PURE__ */ e(
587
+ "div",
588
+ {
589
+ className: "flex flex-col items-center gap-3 self-stretch px-4 py-2 mt-6 rounded-lg border border-black/[0.04]",
590
+ style: { backgroundColor: "#FBFAF9" },
591
+ children: /* @__PURE__ */ d("div", { className: "flex items-center gap-3 w-full", children: [
592
+ /* @__PURE__ */ e(
593
+ Q,
594
+ {
595
+ id: z,
596
+ name: M,
597
+ image: h,
598
+ size: 88,
599
+ className: "!rounded-full"
600
+ }
601
+ ),
602
+ /* @__PURE__ */ d("div", { className: "flex flex-col min-w-0 flex-1", children: [
603
+ /* @__PURE__ */ e("p", { className: "truncate text-base font-semibold text-charcoal", children: M }),
604
+ P && /* @__PURE__ */ e("p", { className: "truncate text-sm text-[#00000055]", children: P }),
605
+ a && /* @__PURE__ */ e(
606
+ "span",
607
+ {
608
+ className: "mt-1 rounded-full text-xs font-normal w-fit",
609
+ style: {
610
+ padding: "4px 8px",
611
+ backgroundColor: a === "Subscribed to you" ? "#DCFCE7" : "#F5F5F4",
612
+ color: a === "Subscribed to you" ? "#008236" : "#78716C",
613
+ lineHeight: "133.333%",
614
+ letterSpacing: "0.21px"
615
+ },
616
+ children: a
617
+ }
618
+ )
619
+ ] })
620
+ ] })
621
+ }
622
+ ),
776
623
  /* @__PURE__ */ d("ul", { className: "flex flex-col gap-2 mt-2", children: [
777
624
  /* @__PURE__ */ e("li", { children: /* @__PURE__ */ d(
778
- ne,
625
+ K,
779
626
  {
780
- onClick: S,
781
- disabled: b,
782
- "aria-busy": b,
627
+ onClick: k,
628
+ disabled: f,
629
+ "aria-busy": f,
783
630
  children: [
784
- b ? /* @__PURE__ */ e(re, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ e(Ve, { className: "h-5 w-5" }),
785
- /* @__PURE__ */ e("span", { children: "Leave Conversation" })
631
+ f ? /* @__PURE__ */ e(ee, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ e(pe, { className: "h-5 w-5" }),
632
+ /* @__PURE__ */ e("span", { children: "Delete Conversation" })
786
633
  ]
787
634
  }
788
635
  ) }),
789
- /* @__PURE__ */ e("li", { children: u ? /* @__PURE__ */ d(
790
- ne,
636
+ /* @__PURE__ */ e("li", { children: b ? /* @__PURE__ */ d(
637
+ K,
791
638
  {
792
- onClick: E,
793
- disabled: f,
794
- "aria-busy": f,
639
+ onClick: y,
640
+ disabled: x,
641
+ "aria-busy": x,
795
642
  children: [
796
- f ? /* @__PURE__ */ e(re, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ e(fe, { className: "h-5 w-5" }),
643
+ x ? /* @__PURE__ */ e(ee, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ e(ie, { className: "h-5 w-5" }),
797
644
  /* @__PURE__ */ e("span", { children: "Unblock" })
798
645
  ]
799
646
  }
800
647
  ) : /* @__PURE__ */ d(
801
- ne,
648
+ K,
802
649
  {
803
- onClick: k,
804
- disabled: f,
805
- "aria-busy": f,
650
+ onClick: S,
651
+ disabled: x,
652
+ "aria-busy": x,
806
653
  children: [
807
- f ? /* @__PURE__ */ e(re, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ e(fe, { className: "h-5 w-5" }),
654
+ x ? /* @__PURE__ */ e(ee, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ e(ie, { className: "h-5 w-5" }),
808
655
  /* @__PURE__ */ e("span", { children: "Block" })
809
656
  ]
810
657
  }
811
658
  ) }),
812
- /* @__PURE__ */ e("li", { children: /* @__PURE__ */ d(ne, { variant: "danger", onClick: P, children: [
813
- /* @__PURE__ */ e(Xe, { className: "h-5 w-5" }),
659
+ /* @__PURE__ */ e("li", { children: /* @__PURE__ */ d(K, { variant: "danger", onClick: F, children: [
660
+ /* @__PURE__ */ e(Le, { className: "h-5 w-5" }),
814
661
  /* @__PURE__ */ e("span", { children: "Report" })
815
662
  ] }) })
816
663
  ] })
@@ -819,100 +666,100 @@ const Pe = () => /* @__PURE__ */ e("div", { className: "messaging-channel-empty-
819
666
  }
820
667
  )
821
668
  );
822
- }, ds = ({
669
+ }, ze = ({
823
670
  onBack: t,
824
671
  showBackButton: s,
825
672
  renderMessageInputActions: n,
826
- onLeaveConversation: l,
673
+ onLeaveConversation: r,
827
674
  onBlockParticipant: a,
828
- CustomChannelEmptyState: c = Pe
675
+ CustomChannelEmptyState: c = xe
829
676
  }) => {
830
- var b, h;
831
- const { channel: i } = ye(), [r, o] = I(!1), C = (((h = (b = i == null ? void 0 : i.state) == null ? void 0 : b.messages) == null ? void 0 : h.length) ?? 0) > 0, u = H.useMemo(() => Object.values(i.state.members || {}).find(
832
- (m) => {
833
- var N;
834
- return ((N = m.user) == null ? void 0 : N.id) && m.user.id !== i._client.userID;
677
+ var f, I;
678
+ const { channel: i } = me(), [l, o] = C(!1), E = (((I = (f = i == null ? void 0 : i.state) == null ? void 0 : f.messages) == null ? void 0 : I.length) ?? 0) > 0, b = q.useMemo(() => Object.values(i.state.members || {}).find(
679
+ (w) => {
680
+ var m;
681
+ return ((m = w.user) == null ? void 0 : m.id) && w.user.id !== i._client.userID;
835
682
  }
836
- ), [i._client.userID, i.state.members]), x = H.useMemo(() => {
837
- const f = i.data ?? {};
838
- if (f.followerStatus)
839
- return String(f.followerStatus);
840
- if (f.isFollower !== void 0)
841
- return f.isFollower ? "Subscribed to you" : "Not subscribed";
683
+ ), [i._client.userID, i.state.members]), u = q.useMemo(() => {
684
+ const x = i.data ?? {};
685
+ if (x.followerStatus)
686
+ return String(x.followerStatus);
687
+ if (x.isFollower !== void 0)
688
+ return x.isFollower ? "Subscribed to you" : "Not subscribed";
842
689
  }, [i.data]);
843
- return /* @__PURE__ */ d(de, { children: [
844
- /* @__PURE__ */ d(Ge, { children: [
690
+ return /* @__PURE__ */ d(le, { children: [
691
+ /* @__PURE__ */ d(Pe, { children: [
845
692
  /* @__PURE__ */ e("div", { className: "border-b border-sand bg-white px-4 py-3", children: /* @__PURE__ */ e(
846
- is,
693
+ Ve,
847
694
  {
848
695
  onBack: t,
849
696
  showBackButton: s,
850
697
  onShowInfo: () => o(!0),
851
- canShowInfo: !!u
698
+ canShowInfo: !!b
852
699
  }
853
700
  ) }),
854
701
  /* @__PURE__ */ d("div", { className: "flex-1 overflow-hidden relative", children: [
855
- /* @__PURE__ */ e(He, { hideDeletedMessages: !0, hideNewMessageSeparator: !1 }),
856
- !C && c && /* @__PURE__ */ e("div", { className: "absolute inset-0 w-full h-full bg-white", children: /* @__PURE__ */ e(c, {}) })
702
+ /* @__PURE__ */ e(De, { hideDeletedMessages: !0, hideNewMessageSeparator: !1 }),
703
+ !E && c && /* @__PURE__ */ e("div", { className: "absolute inset-0 w-full h-full bg-white", children: /* @__PURE__ */ e(c, {}) })
857
704
  ] }),
858
705
  /* @__PURE__ */ e(
859
- as,
706
+ _e,
860
707
  {
861
708
  renderActions: () => n == null ? void 0 : n(i)
862
709
  }
863
710
  )
864
711
  ] }),
865
712
  /* @__PURE__ */ e(
866
- cs,
713
+ We,
867
714
  {
868
- isOpen: r,
715
+ isOpen: l,
869
716
  onClose: () => o(!1),
870
- participant: u,
717
+ participant: b,
871
718
  channel: i,
872
- followerStatusLabel: x,
873
- onLeaveConversation: l,
719
+ followerStatusLabel: u,
720
+ onLeaveConversation: r,
874
721
  onBlockParticipant: a
875
722
  }
876
723
  )
877
724
  ] });
878
- }, us = ({
725
+ }, qe = ({
879
726
  channel: t,
880
727
  onBack: s,
881
728
  showBackButton: n = !1,
882
- renderMessageInputActions: l,
729
+ renderMessageInputActions: r,
883
730
  onLeaveConversation: a,
884
731
  onBlockParticipant: c,
885
732
  className: i,
886
- CustomChannelEmptyState: r = Pe
733
+ CustomChannelEmptyState: l = xe
887
734
  }) => /* @__PURE__ */ e(
888
735
  "div",
889
736
  {
890
- className: _(
737
+ className: T(
891
738
  "messaging-channel-view h-full flex flex-col",
892
739
  i
893
740
  ),
894
- children: /* @__PURE__ */ e(Ae, { channel: t, children: /* @__PURE__ */ e(
895
- ds,
741
+ children: /* @__PURE__ */ e(Te, { channel: t, children: /* @__PURE__ */ e(
742
+ ze,
896
743
  {
897
744
  onBack: s,
898
745
  showBackButton: n,
899
- renderMessageInputActions: l,
746
+ renderMessageInputActions: r,
900
747
  onLeaveConversation: a,
901
748
  onBlockParticipant: c,
902
- CustomChannelEmptyState: r
749
+ CustomChannelEmptyState: l
903
750
  }
904
751
  ) })
905
752
  }
906
753
  );
907
- function fs({
754
+ function Je({
908
755
  searchQuery: t,
909
756
  setSearchQuery: s,
910
757
  placeholder: n
911
758
  }) {
912
- const l = A(null);
759
+ const r = H(null);
913
760
  return /* @__PURE__ */ d("div", { className: "relative", children: [
914
761
  /* @__PURE__ */ e(
915
- Qe,
762
+ je,
916
763
  {
917
764
  className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-stone",
918
765
  weight: "bold"
@@ -921,7 +768,7 @@ function fs({
921
768
  /* @__PURE__ */ e(
922
769
  "input",
923
770
  {
924
- ref: l,
771
+ ref: r,
925
772
  type: "text",
926
773
  placeholder: n,
927
774
  value: t,
@@ -935,171 +782,171 @@ function fs({
935
782
  label: "Clear search",
936
783
  onClick: () => {
937
784
  var a;
938
- s(""), (a = l.current) == null || a.focus();
785
+ s(""), (a = r.current) == null || a.focus();
939
786
  },
940
787
  className: "absolute right-3 top-1/2 -translate-y-1/2 p-1 text-stone hover:text-charcoal",
941
- children: /* @__PURE__ */ e(Ee, { className: "h-4 w-4", weight: "bold" })
788
+ children: /* @__PURE__ */ e(he, { className: "h-4 w-4", weight: "bold" })
942
789
  }
943
790
  )
944
791
  ] });
945
792
  }
946
- const ms = ({
793
+ const Qe = ({
947
794
  participantSource: t,
948
795
  onSelectParticipant: s,
949
796
  onClose: n,
950
- existingParticipantIds: l = /* @__PURE__ */ new Set(),
797
+ existingParticipantIds: r = /* @__PURE__ */ new Set(),
951
798
  participantLabel: a = "participants",
952
799
  searchPlaceholder: c = "Search participants...",
953
800
  className: i
954
801
  }) => {
955
- const { debug: r } = le(), [o, C] = I(""), [u, x] = I([]), [b, h] = I(!1), [f, m] = I(null), [N, S] = I(
802
+ const { debug: l } = se(), [o, E] = C(""), [b, u] = C([]), [f, I] = C(!1), [x, w] = C(null), [m, k] = C(
956
803
  null
957
- ), k = A(!1);
958
- G(() => {
804
+ ), S = H(!1);
805
+ $(() => {
959
806
  if (t.loading) {
960
- r && console.log(
807
+ l && console.log(
961
808
  "[ParticipantPicker] Waiting for participant source to finish loading..."
962
809
  );
963
810
  return;
964
811
  }
965
- if (k.current) return;
812
+ if (S.current) return;
966
813
  (async () => {
967
- r && console.log("[ParticipantPicker] Loading initial participants..."), h(!0), m(null);
814
+ l && console.log("[ParticipantPicker] Loading initial participants..."), I(!0), w(null);
968
815
  try {
969
- const v = await t.loadParticipants({
816
+ const g = await t.loadParticipants({
970
817
  search: "",
971
818
  // Load all participants initially
972
819
  limit: 100
973
820
  });
974
- x(v.participants), k.current = !0, r && console.log(
821
+ u(g.participants), S.current = !0, l && console.log(
975
822
  "[ParticipantPicker] Participants loaded successfully:",
976
- v.participants.length
823
+ g.participants.length
977
824
  );
978
- } catch (v) {
979
- const y = v instanceof Error ? v.message : "Failed to load participants";
980
- m(y), console.error("[ParticipantPicker] Failed to load participants:", v);
825
+ } catch (g) {
826
+ const v = g instanceof Error ? g.message : "Failed to load participants";
827
+ w(v), console.error("[ParticipantPicker] Failed to load participants:", g);
981
828
  } finally {
982
- h(!1);
829
+ I(!1);
983
830
  }
984
831
  })();
985
- }, [t.loading, r]);
986
- const E = u.filter((g) => !l.has(g.id)).filter((g) => {
987
- var y;
832
+ }, [t.loading, l]);
833
+ const y = b.filter((h) => !r.has(h.id)).filter((h) => {
834
+ var v;
988
835
  if (!o) return !0;
989
- const v = o.toLowerCase();
990
- return g.name.toLowerCase().includes(v) || ((y = g.email) == null ? void 0 : y.toLowerCase().includes(v)) || !1;
991
- }), P = M(
992
- async (g) => {
993
- if (!N) {
994
- S(g.id);
836
+ const g = o.toLowerCase();
837
+ return h.name.toLowerCase().includes(g) || ((v = h.email) == null ? void 0 : v.toLowerCase().includes(g)) || !1;
838
+ }), F = O(
839
+ async (h) => {
840
+ if (!m) {
841
+ k(h.id);
995
842
  try {
996
- await s(g);
997
- } catch (v) {
998
- console.error("[ParticipantPicker] Failed to start chat:", v), S(null);
843
+ await s(h);
844
+ } catch (g) {
845
+ console.error("[ParticipantPicker] Failed to start chat:", g), k(null);
999
846
  }
1000
847
  }
1001
848
  },
1002
- [s, N]
1003
- ), p = (g, v) => {
1004
- (g.key === "Enter" || g.key === " ") && (g.preventDefault(), P(v));
849
+ [s, m]
850
+ ), M = (h, g) => {
851
+ (h.key === "Enter" || h.key === " ") && (h.preventDefault(), F(g));
1005
852
  };
1006
- return /* @__PURE__ */ d("div", { className: _("flex flex-col h-full", i), children: [
853
+ return /* @__PURE__ */ d("div", { className: T("flex flex-col h-full", i), children: [
1007
854
  /* @__PURE__ */ d("div", { className: "px-4 py-4 border-b border-sand bg-chalk", children: [
1008
855
  /* @__PURE__ */ d("div", { className: "flex items-center justify-between mb-3", children: [
1009
856
  /* @__PURE__ */ e("h2", { className: "text-lg font-semibold text-charcoal", children: "Start a new Conversation" }),
1010
- /* @__PURE__ */ e(Re, { onClick: n })
857
+ /* @__PURE__ */ e(ge, { onClick: n })
1011
858
  ] }),
1012
859
  /* @__PURE__ */ d("p", { className: "text-xs text-stone mb-3", children: [
1013
860
  "Select a ",
1014
861
  a.slice(0, -1),
1015
862
  " to start messaging (",
1016
- E.length,
863
+ y.length,
1017
864
  " available)",
1018
865
  t.totalCount !== void 0 && ` • ${t.totalCount} ${a} total`
1019
866
  ] }),
1020
867
  /* @__PURE__ */ e(
1021
- fs,
868
+ Je,
1022
869
  {
1023
870
  searchQuery: o,
1024
- setSearchQuery: C,
871
+ setSearchQuery: E,
1025
872
  placeholder: c
1026
873
  }
1027
874
  )
1028
875
  ] }),
1029
- f && /* @__PURE__ */ d("div", { className: "p-4 text-sm text-danger bg-danger-alt", children: [
876
+ x && /* @__PURE__ */ d("div", { className: "p-4 text-sm text-danger bg-danger-alt", children: [
1030
877
  "Error loading ",
1031
878
  a,
1032
879
  ": ",
1033
- f
880
+ x
1034
881
  ] }),
1035
- /* @__PURE__ */ e("div", { className: "flex-1 overflow-auto", children: b && E.length === 0 ? /* @__PURE__ */ e("div", { className: "h-32 flex items-center justify-center", children: /* @__PURE__ */ d("div", { className: "flex items-center space-x-2", children: [
882
+ /* @__PURE__ */ e("div", { className: "flex-1 overflow-auto", children: f && y.length === 0 ? /* @__PURE__ */ e("div", { className: "h-32 flex items-center justify-center", children: /* @__PURE__ */ d("div", { className: "flex items-center space-x-2", children: [
1036
883
  /* @__PURE__ */ e("div", { className: "w-4 h-4 animate-spin rounded-full border-2 border-primary border-t-transparent" }),
1037
884
  /* @__PURE__ */ d("span", { className: "text-sm text-stone", children: [
1038
885
  "Loading ",
1039
886
  a,
1040
887
  "..."
1041
888
  ] })
1042
- ] }) }) : E.length === 0 ? /* @__PURE__ */ d("div", { className: "p-6 text-center", children: [
1043
- /* @__PURE__ */ e("div", { className: "mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-sand", children: /* @__PURE__ */ e(me, { className: "h-8 w-8 text-charcoal" }) }),
1044
- /* @__PURE__ */ e("h3", { className: "text-sm font-semibold text-charcoal mb-2", children: o ? `No ${a} found` : u.length > 0 ? `Already chatting with all ${a}` : `No ${a} yet` }),
1045
- /* @__PURE__ */ e("p", { className: "text-xs text-stone", children: o ? "Try a different search term" : u.length > 0 ? `You have existing conversations with all your ${a}` : `${a.charAt(0).toUpperCase() + a.slice(1)} will appear here` })
889
+ ] }) }) : y.length === 0 ? /* @__PURE__ */ d("div", { className: "p-6 text-center", children: [
890
+ /* @__PURE__ */ e("div", { className: "mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-sand", children: /* @__PURE__ */ e(ce, { className: "h-8 w-8 text-charcoal" }) }),
891
+ /* @__PURE__ */ e("h3", { className: "text-sm font-semibold text-charcoal mb-2", children: o ? `No ${a} found` : b.length > 0 ? `Already chatting with all ${a}` : `No ${a} yet` }),
892
+ /* @__PURE__ */ e("p", { className: "text-xs text-stone", children: o ? "Try a different search term" : b.length > 0 ? `You have existing conversations with all your ${a}` : `${a.charAt(0).toUpperCase() + a.slice(1)} will appear here` })
1046
893
  ] }) : /* @__PURE__ */ d("ul", { className: "space-y-0", children: [
1047
- E.map((g) => {
1048
- const v = g.name || g.email || g.id, y = g.email && g.name ? g.email : g.phone;
894
+ y.map((h) => {
895
+ const g = h.name || h.email || h.id, v = h.email && h.name ? h.email : h.phone;
1049
896
  return /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
1050
897
  "button",
1051
898
  {
1052
899
  type: "button",
1053
- onClick: () => P(g),
1054
- onKeyDown: (F) => p(F, g),
900
+ onClick: () => F(h),
901
+ onKeyDown: (P) => M(P, h),
1055
902
  className: "w-full px-4 py-3 hover:bg-sand transition-colors border-b border-sand text-left focus:outline-none focus:ring-2 focus:ring-black",
1056
903
  children: /* @__PURE__ */ d("div", { className: "flex items-center justify-between", children: [
1057
904
  /* @__PURE__ */ d("div", { className: "flex items-center space-x-3 flex-1 min-w-0", children: [
1058
905
  /* @__PURE__ */ e(
1059
- se,
906
+ Q,
1060
907
  {
1061
- id: g.id,
1062
- name: v,
1063
- image: g.image,
908
+ id: h.id,
909
+ name: g,
910
+ image: h.image,
1064
911
  size: 40
1065
912
  }
1066
913
  ),
1067
914
  /* @__PURE__ */ d("div", { className: "flex-1 min-w-0", children: [
1068
- /* @__PURE__ */ e("h4", { className: "text-sm font-medium text-charcoal truncate", children: v }),
1069
- y && /* @__PURE__ */ e("p", { className: "text-xs text-stone truncate", children: y })
915
+ /* @__PURE__ */ e("h4", { className: "text-sm font-medium text-charcoal truncate", children: g }),
916
+ v && /* @__PURE__ */ e("p", { className: "text-xs text-stone truncate", children: v })
1070
917
  ] })
1071
918
  ] }),
1072
- /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: N === g.id ? /* @__PURE__ */ e(re, { className: "h-5 w-5 text-primary animate-spin" }) : /* @__PURE__ */ e(me, { className: "h-5 w-5 text-stone" }) })
919
+ /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: m === h.id ? /* @__PURE__ */ e(ee, { className: "h-5 w-5 text-primary animate-spin" }) : /* @__PURE__ */ e(ce, { className: "h-5 w-5 text-stone" }) })
1073
920
  ] })
1074
921
  }
1075
- ) }, g.id);
922
+ ) }, h.id);
1076
923
  }),
1077
- b && /* @__PURE__ */ e("li", { className: "p-4 flex justify-center", children: /* @__PURE__ */ d("div", { className: "flex items-center space-x-2", children: [
924
+ f && /* @__PURE__ */ e("li", { className: "p-4 flex justify-center", children: /* @__PURE__ */ d("div", { className: "flex items-center space-x-2", children: [
1078
925
  /* @__PURE__ */ e("div", { className: "w-4 h-4 animate-spin rounded-full border-2 border-primary border-t-transparent" }),
1079
926
  /* @__PURE__ */ e("span", { className: "text-sm text-stone", children: "Loading more..." })
1080
927
  ] }) })
1081
928
  ] }) })
1082
929
  ] });
1083
- }, hs = ({ hasChannels: t, onStartConversation: s, participantLabel: n }) => /* @__PURE__ */ e("div", { className: "messaging-empty-state flex items-center justify-center h-full p-8 text-balance", children: /* @__PURE__ */ d("div", { className: "text-center max-w-sm", children: [
930
+ }, Xe = ({ hasChannels: t, onStartConversation: s, participantLabel: n }) => /* @__PURE__ */ e("div", { className: "messaging-empty-state flex items-center justify-center h-full p-8 text-balance", children: /* @__PURE__ */ d("div", { className: "text-center max-w-sm", children: [
1084
931
  /* @__PURE__ */ e("div", { className: "w-24 h-24 bg-primary-alt/10 rounded-full flex items-center justify-center mx-auto mb-6", children: /* @__PURE__ */ e("span", { className: "text-4xl", children: "💬" }) }),
1085
932
  /* @__PURE__ */ e("h2", { className: "font-semibold text-charcoal", children: "Welcome to Messages" }),
1086
- /* @__PURE__ */ e("p", { className: "text-stone text-sm mb-6", children: t ? /* @__PURE__ */ d(de, { children: [
933
+ /* @__PURE__ */ e("p", { className: "text-stone text-sm mb-6", children: t ? /* @__PURE__ */ d(le, { children: [
1087
934
  "Choose a conversation from the list or",
1088
935
  " ",
1089
- s && /* @__PURE__ */ d(Ce, { onClick: s, children: [
936
+ s && /* @__PURE__ */ d(ue, { onClick: s, children: [
1090
937
  "start a new conversation with a ",
1091
938
  n.slice(0, -1),
1092
939
  "."
1093
940
  ] })
1094
- ] }) : s && /* @__PURE__ */ d(de, { children: [
1095
- /* @__PURE__ */ d(Ce, { onClick: s, children: [
941
+ ] }) : s && /* @__PURE__ */ d(le, { children: [
942
+ /* @__PURE__ */ d(ue, { onClick: s, children: [
1096
943
  "Start a new conversation with one of your ",
1097
944
  n
1098
945
  ] }),
1099
946
  " ",
1100
947
  "to begin messaging."
1101
948
  ] }) })
1102
- ] }) }), Ce = ({
949
+ ] }) }), ue = ({
1103
950
  onClick: t,
1104
951
  children: s
1105
952
  }) => /* @__PURE__ */ e(
@@ -1110,7 +957,7 @@ const ms = ({
1110
957
  className: "inline-flex items-center gap-1 text-sm font-medium text-primary hover:text-primary-alt focus:outline-none focus:ring-2 focus:ring-primary",
1111
958
  children: s
1112
959
  }
1113
- ), ce = ({ message: t, onBack: s }) => /* @__PURE__ */ e("div", { className: "messaging-error-state flex items-center justify-center h-full p-8", children: /* @__PURE__ */ d("div", { className: "text-center max-w-sm", children: [
960
+ ), re = ({ message: t, onBack: s }) => /* @__PURE__ */ e("div", { className: "messaging-error-state flex items-center justify-center h-full p-8", children: /* @__PURE__ */ d("div", { className: "text-center max-w-sm", children: [
1114
961
  /* @__PURE__ */ e("div", { className: "w-24 h-24 bg-danger-alt/20 rounded-full flex items-center justify-center mx-auto mb-6", children: /* @__PURE__ */ e("span", { className: "text-4xl", children: "⚠️" }) }),
1115
962
  /* @__PURE__ */ e("h2", { className: "font-semibold text-charcoal mb-2", children: "Oops!" }),
1116
963
  /* @__PURE__ */ e("p", { className: "text-stone text-sm mb-6", children: t }),
@@ -1123,10 +970,10 @@ const ms = ({
1123
970
  children: "Go Back"
1124
971
  }
1125
972
  )
1126
- ] }) }), gs = ({ className: t, message: s }) => /* @__PURE__ */ d(
973
+ ] }) }), Ye = ({ className: t, message: s }) => /* @__PURE__ */ d(
1127
974
  "div",
1128
975
  {
1129
- className: _("flex items-center justify-center h-full", t),
976
+ className: T("flex items-center justify-center h-full", t),
1130
977
  children: [
1131
978
  /* @__PURE__ */ d("svg", { viewBox: "0 0 100 100", className: "size-8 fill-pebble", stroke: "none", children: [
1132
979
  /* @__PURE__ */ e("circle", { cx: "6", cy: "50", r: "6", children: /* @__PURE__ */ e(
@@ -1166,193 +1013,207 @@ const ms = ({
1166
1013
  s && /* @__PURE__ */ e("span", { className: "text-stone", children: s })
1167
1014
  ]
1168
1015
  }
1169
- ), xs = () => /* @__PURE__ */ e("div", { className: "messaging-loading-state flex items-center justify-center h-full", children: /* @__PURE__ */ d("div", { className: "flex items-center", children: [
1170
- /* @__PURE__ */ e(gs, { className: "w-6 h-6" }),
1016
+ ), Ze = () => /* @__PURE__ */ e("div", { className: "messaging-loading-state flex items-center justify-center h-full", children: /* @__PURE__ */ d("div", { className: "flex items-center", children: [
1017
+ /* @__PURE__ */ e(Ye, { className: "w-6 h-6" }),
1171
1018
  /* @__PURE__ */ e("span", { className: "text-sm text-stone", children: "Loading messages" })
1172
- ] }) }), Ss = ({
1019
+ ] }) }), as = ({
1173
1020
  capabilities: t = {},
1174
1021
  className: s,
1175
1022
  renderMessageInputActions: n,
1176
- onChannelSelect: l,
1023
+ onChannelSelect: r,
1177
1024
  onParticipantSelect: a,
1178
1025
  initialParticipantFilter: c,
1179
1026
  initialParticipantData: i,
1180
- CustomChannelEmptyState: r,
1181
- showChannelList: o = !0
1027
+ CustomChannelEmptyState: l,
1028
+ showChannelList: o = !0,
1029
+ filters: E
1182
1030
  }) => {
1183
1031
  const {
1184
- service: C,
1032
+ service: b,
1185
1033
  client: u,
1186
- isConnected: x,
1187
- isLoading: b,
1188
- error: h,
1189
- refreshConnection: f,
1034
+ isConnected: f,
1035
+ isLoading: I,
1036
+ error: x,
1037
+ refreshConnection: w,
1190
1038
  debug: m
1191
- } = Ze(), [N, S] = I(null), [k, E] = I(!1), [P, p] = I(!1), [g, v] = I(/* @__PURE__ */ new Set()), [y, F] = I(0), [T, j] = I(!1), [$, q] = I(null), W = A(null), {
1192
- showStartConversation: J = !1,
1193
- participantSource: z,
1194
- participantLabel: V = "participants"
1195
- } = t, R = A(null), D = M(async () => {
1196
- if (!u || !x) return;
1197
- const w = u.userID;
1198
- if (w)
1039
+ } = Be(), [k, S] = C(null), [y, F] = C(!1), [M, h] = C(!1), [g, v] = C(/* @__PURE__ */ new Set()), [P, z] = C(0), [D, A] = C(!1), [J, _] = C(null), V = H(null), {
1040
+ showStartConversation: X = !1,
1041
+ participantSource: W,
1042
+ participantLabel: R = "participants"
1043
+ } = t, p = q.useMemo(() => {
1044
+ const N = u == null ? void 0 : u.userID;
1045
+ return {
1046
+ ...{
1047
+ type: "messaging",
1048
+ last_message_at: { $exists: !0 },
1049
+ ...N && {
1050
+ members: { $in: [N] },
1051
+ hidden: !1
1052
+ }
1053
+ },
1054
+ ...E
1055
+ };
1056
+ }, [E, u == null ? void 0 : u.userID]), j = H(null), B = O(async () => {
1057
+ if (!u || !f) return;
1058
+ const N = u.userID;
1059
+ if (N)
1199
1060
  try {
1200
- m && console.log("[MessagingShell] Syncing channels for user:", w);
1201
- const U = await u.queryChannels(
1061
+ m && console.log("[MessagingShell] Syncing channels for user:", N);
1062
+ const L = await u.queryChannels(
1202
1063
  {
1203
1064
  type: "messaging",
1204
- members: { $in: [w] }
1065
+ members: { $in: [N] }
1205
1066
  },
1206
1067
  {},
1207
1068
  { limit: 100 }
1208
- ), O = /* @__PURE__ */ new Set();
1209
- U.forEach((B) => {
1210
- const Fe = B.state.members;
1211
- Object.values(Fe).forEach((Me) => {
1212
- var ue;
1213
- const ie = (ue = Me.user) == null ? void 0 : ue.id;
1214
- ie && ie !== w && O.add(ie);
1069
+ ), U = /* @__PURE__ */ new Set();
1070
+ L.forEach((G) => {
1071
+ const Ee = G.state.members;
1072
+ Object.values(Ee).forEach((ye) => {
1073
+ var ae;
1074
+ const te = (ae = ye.user) == null ? void 0 : ae.id;
1075
+ te && te !== N && U.add(te);
1215
1076
  });
1216
- }), v(O), E(U.length > 0), R.current = w, m && console.log("[MessagingShell] Channels synced successfully:", {
1217
- channelCount: U.length,
1218
- memberCount: O.size
1077
+ }), v(U), F(L.length > 0), j.current = N, m && console.log("[MessagingShell] Channels synced successfully:", {
1078
+ channelCount: L.length,
1079
+ memberCount: U.size
1219
1080
  });
1220
- } catch (U) {
1221
- console.error("[MessagingShell] Failed to sync channels:", U);
1081
+ } catch (L) {
1082
+ console.error("[MessagingShell] Failed to sync channels:", L);
1222
1083
  }
1223
- }, [u, x, m]);
1224
- G(() => {
1225
- if (!u || !x) return;
1226
- const w = u.userID;
1227
- w && R.current !== w && D();
1228
- }, [u, x, D]), G(() => {
1229
- if (!c || !u || !x) return;
1084
+ }, [u, f, m]);
1085
+ $(() => {
1086
+ if (!u || !f) return;
1087
+ const N = u.userID;
1088
+ N && j.current !== N && B();
1089
+ }, [u, f, B]), $(() => {
1090
+ if (!c || !u || !f) return;
1230
1091
  (async () => {
1231
- const U = u.userID;
1232
- if (U)
1092
+ const L = u.userID;
1093
+ if (L)
1233
1094
  try {
1234
1095
  m && console.log(
1235
1096
  "[MessagingShell] Loading initial conversation with:",
1236
1097
  c
1237
1098
  );
1238
- const O = await u.queryChannels(
1099
+ const U = await u.queryChannels(
1239
1100
  {
1240
1101
  type: "messaging",
1241
- members: { $eq: [U, c] }
1102
+ members: { $eq: [L, c] }
1242
1103
  },
1243
1104
  {},
1244
1105
  { limit: 1 }
1245
1106
  );
1246
- if (O.length > 0)
1247
- S(O[0]), j(!0), q(null), l && l(O[0]), m && console.log(
1107
+ if (U.length > 0)
1108
+ S(U[0]), A(!0), _(null), r && r(U[0]), m && console.log(
1248
1109
  "[MessagingShell] Initial conversation loaded:",
1249
- O[0].id
1110
+ U[0].id
1250
1111
  );
1251
- else if (i && C) {
1112
+ else if (i && b) {
1252
1113
  m && console.log(
1253
1114
  "[MessagingShell] No conversation found, creating one for:",
1254
1115
  i
1255
1116
  );
1256
1117
  try {
1257
- const B = await C.startChannelWithParticipant({
1118
+ const G = await b.startChannelWithParticipant({
1258
1119
  id: i.id,
1259
1120
  name: i.name,
1260
1121
  email: i.email,
1261
1122
  phone: i.phone
1262
1123
  });
1263
- S(B), j(!0), q(null), l && l(B), m && console.log(
1124
+ S(G), A(!0), _(null), r && r(G), m && console.log(
1264
1125
  "[MessagingShell] Channel created and loaded:",
1265
- B.id
1126
+ G.id
1266
1127
  );
1267
- } catch (B) {
1128
+ } catch (G) {
1268
1129
  console.error(
1269
1130
  "[MessagingShell] Failed to create conversation:",
1270
- B
1271
- ), q("Failed to create conversation");
1131
+ G
1132
+ ), _("Failed to create conversation");
1272
1133
  }
1273
1134
  } else
1274
- q(
1135
+ _(
1275
1136
  "No conversation found with this account"
1276
1137
  ), m && console.log(
1277
1138
  "[MessagingShell] No conversation found for:",
1278
1139
  c
1279
1140
  );
1280
- } catch (O) {
1141
+ } catch (U) {
1281
1142
  console.error(
1282
1143
  "[MessagingShell] Failed to load initial conversation:",
1283
- O
1284
- ), q("Failed to load conversation");
1144
+ U
1145
+ ), _("Failed to load conversation");
1285
1146
  }
1286
1147
  })();
1287
1148
  }, [
1288
1149
  c,
1289
1150
  i,
1290
1151
  u,
1291
- x,
1292
- C,
1152
+ f,
1153
+ b,
1293
1154
  m,
1294
- l
1155
+ r
1295
1156
  ]);
1296
- const L = M(
1297
- (w) => {
1298
- S(w), l == null || l(w);
1157
+ const Y = O(
1158
+ (N) => {
1159
+ S(N), r == null || r(N);
1299
1160
  },
1300
- [l]
1301
- ), X = M(() => {
1302
- T || S(null);
1303
- }, [T]), Y = M(() => {
1304
- var w;
1305
- z && (F((U) => U + 1), p(!0), (w = W.current) == null || w.showModal());
1306
- }, [z]), pe = M(
1307
- async (w) => {
1308
- var U;
1309
- if (C)
1161
+ [r]
1162
+ ), Ne = O(() => {
1163
+ D || S(null);
1164
+ }, [D]), be = O(() => {
1165
+ var N;
1166
+ W && (z((L) => L + 1), h(!0), (N = V.current) == null || N.showModal());
1167
+ }, [W]), ve = O(
1168
+ async (N) => {
1169
+ var L;
1170
+ if (b)
1310
1171
  try {
1311
1172
  m && console.log(
1312
1173
  "[MessagingShell] Starting conversation with:",
1313
- w.id
1174
+ N.id
1314
1175
  );
1315
- const O = await C.startChannelWithParticipant({
1316
- id: w.id,
1317
- name: w.name,
1318
- email: w.email,
1319
- phone: w.phone
1176
+ const U = await b.startChannelWithParticipant({
1177
+ id: N.id,
1178
+ name: N.name,
1179
+ email: N.email,
1180
+ phone: N.phone
1320
1181
  });
1321
1182
  try {
1322
- await O.show();
1323
- } catch (B) {
1324
- console.warn("[MessagingShell] Failed to unhide channel:", B);
1183
+ await U.show();
1184
+ } catch (G) {
1185
+ console.warn("[MessagingShell] Failed to unhide channel:", G);
1325
1186
  }
1326
- S(O), p(!1), (U = W.current) == null || U.close(), a == null || a(w);
1327
- } catch (O) {
1328
- console.error("[MessagingShell] Failed to start conversation:", O);
1187
+ S(U), h(!1), (L = V.current) == null || L.close(), a == null || a(N);
1188
+ } catch (U) {
1189
+ console.error("[MessagingShell] Failed to start conversation:", U);
1329
1190
  }
1330
1191
  },
1331
- [C, a, m]
1332
- ), ae = M(() => {
1333
- var w;
1334
- p(!1), (w = W.current) == null || w.close();
1335
- }, []), _e = M(
1336
- async (w) => {
1337
- m && console.log("[MessagingShell] Leaving conversation:", w.id), S(null), j(!1), R.current = null, await D();
1192
+ [b, a, m]
1193
+ ), ne = O(() => {
1194
+ var N;
1195
+ h(!1), (N = V.current) == null || N.close();
1196
+ }, []), Ce = O(
1197
+ async (N) => {
1198
+ m && console.log("[MessagingShell] Leaving conversation:", N.id), S(null), A(!1), j.current = null, await B();
1338
1199
  },
1339
- [D, m]
1340
- ), De = M(
1341
- async (w) => {
1342
- m && console.log("[MessagingShell] Blocking participant:", w), S(null), j(!1), R.current = null, await D();
1200
+ [B, m]
1201
+ ), we = O(
1202
+ async (N) => {
1203
+ m && console.log("[MessagingShell] Blocking participant:", N), S(null), A(!1), j.current = null, await B();
1343
1204
  },
1344
- [D, m]
1345
- ), te = !!N;
1346
- return b ? /* @__PURE__ */ e("div", { className: _("h-full", s), children: /* @__PURE__ */ e(xs, {}) }) : h ? /* @__PURE__ */ e("div", { className: _("h-full", s), children: /* @__PURE__ */ e(ce, { message: h, onBack: f }) }) : !x || !u ? /* @__PURE__ */ e("div", { className: _("h-full", s), children: /* @__PURE__ */ e(
1347
- ce,
1205
+ [B, m]
1206
+ ), Z = !!k;
1207
+ return I ? /* @__PURE__ */ e("div", { className: T("h-full", s), children: /* @__PURE__ */ e(Ze, {}) }) : x ? /* @__PURE__ */ e("div", { className: T("h-full", s), children: /* @__PURE__ */ e(re, { message: x, onBack: w }) }) : !f || !u ? /* @__PURE__ */ e("div", { className: T("h-full", s), children: /* @__PURE__ */ e(
1208
+ re,
1348
1209
  {
1349
1210
  message: "Not connected to messaging service",
1350
- onBack: f
1211
+ onBack: w
1351
1212
  }
1352
- ) }) : $ ? /* @__PURE__ */ e("div", { className: _("h-full", s), children: /* @__PURE__ */ e(ce, { message: $ }) }) : /* @__PURE__ */ d(
1213
+ ) }) : J ? /* @__PURE__ */ e("div", { className: T("h-full", s), children: /* @__PURE__ */ e(re, { message: J }) }) : /* @__PURE__ */ d(
1353
1214
  "div",
1354
1215
  {
1355
- className: _(
1216
+ className: T(
1356
1217
  "messaging-shell h-full bg-white overflow-hidden",
1357
1218
  s
1358
1219
  ),
@@ -1361,25 +1222,23 @@ const ms = ({
1361
1222
  /* @__PURE__ */ e(
1362
1223
  "div",
1363
1224
  {
1364
- className: _(
1225
+ className: T(
1365
1226
  "messaging-channel-list-sidebar min-h-0 min-w-0 bg-white lg:bg-chalk lg:flex lg:flex-col lg:border-r lg:border-sand",
1366
1227
  {
1367
1228
  // Explicitly hidden via prop or in direct conversation mode
1368
- "!hidden": o === !1 || T,
1229
+ "!hidden": o === !1 || D,
1369
1230
  // Normal mode: hide on mobile when channel selected, show on desktop
1370
- "hidden lg:flex lg:w-80 lg:min-w-[280px] lg:max-w-[360px]": o !== !1 && !T && te,
1231
+ "hidden lg:flex lg:w-80 lg:min-w-[280px] lg:max-w-[360px]": o !== !1 && !D && Z,
1371
1232
  // Normal mode: show when no channel selected
1372
- "flex flex-col w-full lg:flex-1 lg:max-w-2xl": o !== !1 && !T && !te
1233
+ "flex flex-col w-full lg:flex-1 lg:max-w-2xl": o !== !1 && !D && !Z
1373
1234
  }
1374
1235
  ),
1375
1236
  children: /* @__PURE__ */ e(
1376
- os,
1237
+ $e,
1377
1238
  {
1378
- onChannelSelect: L,
1379
- selectedChannel: N || void 0,
1380
- showStartConversation: J && !!z,
1381
- onStartConversation: Y,
1382
- participantLabel: V
1239
+ onChannelSelect: Y,
1240
+ selectedChannel: k || void 0,
1241
+ filters: p
1383
1242
  }
1384
1243
  )
1385
1244
  }
@@ -1387,70 +1246,70 @@ const ms = ({
1387
1246
  /* @__PURE__ */ e(
1388
1247
  "div",
1389
1248
  {
1390
- className: _(
1249
+ className: T(
1391
1250
  "messaging-conversation-view flex-1 flex-col min-w-0 min-h-0",
1392
1251
  {
1393
1252
  // In direct conversation mode, always show (full width)
1394
- flex: T || te,
1253
+ flex: D || Z,
1395
1254
  // Normal mode: hide on mobile when no channel selected
1396
- "hidden lg:flex": !T && !te
1255
+ "hidden lg:flex": !D && !Z
1397
1256
  }
1398
1257
  ),
1399
- children: N ? /* @__PURE__ */ e("div", { className: "flex-1 min-h-0 flex flex-col", children: /* @__PURE__ */ e(
1400
- us,
1258
+ children: k ? /* @__PURE__ */ e("div", { className: "flex-1 min-h-0 flex flex-col", children: /* @__PURE__ */ e(
1259
+ qe,
1401
1260
  {
1402
- channel: N,
1403
- onBack: X,
1404
- showBackButton: !T,
1261
+ channel: k,
1262
+ onBack: Ne,
1263
+ showBackButton: !D,
1405
1264
  renderMessageInputActions: n,
1406
- onLeaveConversation: _e,
1407
- onBlockParticipant: De,
1408
- CustomChannelEmptyState: r
1265
+ onLeaveConversation: Ce,
1266
+ onBlockParticipant: we,
1267
+ CustomChannelEmptyState: l
1409
1268
  },
1410
- N.id
1269
+ k.id
1411
1270
  ) }) : /* @__PURE__ */ e(
1412
- hs,
1271
+ Xe,
1413
1272
  {
1414
- hasChannels: k,
1415
- onStartConversation: J ? Y : void 0,
1416
- participantLabel: V
1273
+ hasChannels: y,
1274
+ onStartConversation: X ? be : void 0,
1275
+ participantLabel: R
1417
1276
  }
1418
1277
  )
1419
1278
  }
1420
1279
  )
1421
1280
  ] }),
1422
- z && // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions
1281
+ W && // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions
1423
1282
  /* @__PURE__ */ e(
1424
1283
  "dialog",
1425
1284
  {
1426
- ref: W,
1285
+ ref: V,
1427
1286
  className: "mes-dialog",
1428
- onClick: (w) => {
1429
- w.target === W.current && ae();
1287
+ onClick: (N) => {
1288
+ N.target === V.current && ne();
1430
1289
  },
1431
- onClose: ae,
1290
+ onClose: ne,
1432
1291
  children: /* @__PURE__ */ e("div", { className: "h-full w-full bg-white shadow-max-elevation-light", children: /* @__PURE__ */ e(
1433
- ms,
1292
+ Qe,
1434
1293
  {
1435
- participantSource: z,
1436
- onSelectParticipant: pe,
1437
- onClose: ae,
1294
+ participantSource: W,
1295
+ onSelectParticipant: ve,
1296
+ onClose: ne,
1438
1297
  existingParticipantIds: g,
1439
- participantLabel: V,
1440
- searchPlaceholder: `Search ${V}...`
1298
+ participantLabel: R,
1299
+ searchPlaceholder: `Search ${R}...`
1441
1300
  },
1442
- y
1301
+ P
1443
1302
  ) })
1444
1303
  }
1445
1304
  )
1446
1305
  ]
1447
1306
  }
1448
1307
  );
1449
- }, bs = ({
1308
+ }, Ke = ({
1450
1309
  question: t,
1451
1310
  onClick: s,
1452
1311
  loading: n = !1,
1453
- className: l
1312
+ className: r
1454
1313
  }) => /* @__PURE__ */ e(
1455
1314
  "button",
1456
1315
  {
@@ -1458,29 +1317,29 @@ const ms = ({
1458
1317
  onClick: s,
1459
1318
  disabled: n,
1460
1319
  style: { backgroundColor: "#E6E5E3" },
1461
- className: _(
1320
+ className: T(
1462
1321
  "w-full text-center p-4 rounded-xl text-charcoal font-medium transition-colors",
1463
1322
  {
1464
1323
  "hover:brightness-95 active:brightness-90": !n,
1465
1324
  "opacity-50 cursor-not-allowed": n
1466
1325
  },
1467
- l
1326
+ r
1468
1327
  ),
1469
1328
  children: t
1470
1329
  }
1471
- ), ks = ({
1330
+ ), is = ({
1472
1331
  faqs: t,
1473
1332
  onFaqClick: s,
1474
1333
  loadingFaqId: n,
1475
- headerText: l,
1334
+ headerText: r,
1476
1335
  className: a,
1477
1336
  avatarImage: c,
1478
1337
  avatarName: i
1479
1338
  }) => {
1480
- const r = t.filter((o) => o.enabled).sort((o, C) => (o.order ?? 0) - (C.order ?? 0));
1481
- return r.length === 0 ? null : /* @__PURE__ */ e("div", { className: _("px-4 py-6", a), children: /* @__PURE__ */ d("div", { className: "flex gap-3 items-end", children: [
1339
+ const l = t.filter((o) => o.enabled).sort((o, E) => (o.order ?? 0) - (E.order ?? 0));
1340
+ return l.length === 0 ? null : /* @__PURE__ */ e("div", { className: T("px-4 py-6", a), children: /* @__PURE__ */ d("div", { className: "flex gap-3 items-end", children: [
1482
1341
  (c || i) && /* @__PURE__ */ e("div", { className: "flex-none", children: /* @__PURE__ */ e(
1483
- se,
1342
+ Q,
1484
1343
  {
1485
1344
  id: i || "account",
1486
1345
  name: i || "Account",
@@ -1494,9 +1353,9 @@ const ms = ({
1494
1353
  className: "flex-1 rounded-lg p-4 space-y-3",
1495
1354
  style: { backgroundColor: "#F1F0EE" },
1496
1355
  children: [
1497
- l && /* @__PURE__ */ e("p", { className: "text-md text-charcoal mb-4", children: l }),
1498
- r.map((o) => /* @__PURE__ */ e(
1499
- bs,
1356
+ r && /* @__PURE__ */ e("p", { className: "text-md text-charcoal mb-4", children: r }),
1357
+ l.map((o) => /* @__PURE__ */ e(
1358
+ Ke,
1500
1359
  {
1501
1360
  question: o.question,
1502
1361
  onClick: () => s(o.id),
@@ -1508,58 +1367,58 @@ const ms = ({
1508
1367
  }
1509
1368
  )
1510
1369
  ] }) });
1511
- }, Rs = (t, s = {}) => {
1512
- const { initialSearch: n = "", pageSize: l = 20 } = s, [a, c] = I([]), [i, r] = I(!1), [o, C] = I(null), [u, x] = I(n), [b, h] = I(!0), [f, m] = I(), N = M(async (P = !1, p) => {
1370
+ }, cs = (t, s = {}) => {
1371
+ const { initialSearch: n = "", pageSize: r = 20 } = s, [a, c] = C([]), [i, l] = C(!1), [o, E] = C(null), [b, u] = C(n), [f, I] = C(!0), [x, w] = C(), m = O(async (F = !1, M) => {
1513
1372
  if (i) return;
1514
- const g = p !== void 0 ? p : u;
1515
- r(!0), C(null);
1373
+ const h = M !== void 0 ? M : b;
1374
+ l(!0), E(null);
1516
1375
  try {
1517
- const v = await t.loadParticipants({
1518
- search: g || void 0,
1519
- limit: l,
1520
- cursor: P ? void 0 : f
1376
+ const g = await t.loadParticipants({
1377
+ search: h || void 0,
1378
+ limit: r,
1379
+ cursor: F ? void 0 : x
1521
1380
  });
1522
1381
  c(
1523
- (y) => P ? v.participants : [...y, ...v.participants]
1524
- ), h(v.hasMore), m(v.nextCursor);
1525
- } catch (v) {
1526
- const y = v instanceof Error ? v.message : "Failed to load participants";
1527
- C(y), console.error("[useParticipants] Load error:", v);
1382
+ (v) => F ? g.participants : [...v, ...g.participants]
1383
+ ), I(g.hasMore), w(g.nextCursor);
1384
+ } catch (g) {
1385
+ const v = g instanceof Error ? g.message : "Failed to load participants";
1386
+ E(v), console.error("[useParticipants] Load error:", g);
1528
1387
  } finally {
1529
- r(!1);
1388
+ l(!1);
1530
1389
  }
1531
- }, [t, u, f, l, i]), S = M(() => {
1532
- b && !i && N(!1);
1533
- }, [b, i, N]), k = M((P) => {
1534
- x(P), m(void 0), N(!0, P);
1535
- }, [N]), E = M(() => {
1536
- m(void 0), N(!0);
1537
- }, [N]);
1538
- return G(() => {
1539
- N(!0);
1390
+ }, [t, b, x, r, i]), k = O(() => {
1391
+ f && !i && m(!1);
1392
+ }, [f, i, m]), S = O((F) => {
1393
+ u(F), w(void 0), m(!0, F);
1394
+ }, [m]), y = O(() => {
1395
+ w(void 0), m(!0);
1396
+ }, [m]);
1397
+ return $(() => {
1398
+ m(!0);
1540
1399
  }, [t.loadParticipants]), {
1541
1400
  participants: a,
1542
1401
  loading: i,
1543
1402
  error: o,
1544
- searchQuery: u,
1545
- hasMore: b,
1403
+ searchQuery: b,
1404
+ hasMore: f,
1546
1405
  totalCount: t.totalCount,
1547
- loadMore: S,
1548
- search: k,
1549
- refresh: E
1406
+ loadMore: k,
1407
+ search: S,
1408
+ refresh: y
1550
1409
  };
1551
1410
  };
1552
1411
  export {
1553
- se as Avatar,
1554
- Pe as ChannelEmptyState,
1555
- os as ChannelList,
1556
- us as ChannelView,
1557
- ks as FaqList,
1558
- bs as FaqListItem,
1559
- Is as MessagingProvider,
1560
- Ss as MessagingShell,
1561
- ms as ParticipantPicker,
1562
- Ze as useMessaging,
1563
- Rs as useParticipants
1412
+ Q as Avatar,
1413
+ xe as ChannelEmptyState,
1414
+ $e as ChannelList,
1415
+ qe as ChannelView,
1416
+ is as FaqList,
1417
+ Ke as FaqListItem,
1418
+ os as MessagingProvider,
1419
+ as as MessagingShell,
1420
+ Qe as ParticipantPicker,
1421
+ Be as useMessaging,
1422
+ cs as useParticipants
1564
1423
  };
1565
1424
  //# sourceMappingURL=index.js.map