@linktr.ee/messaging-react 1.26.0 → 1.26.1-rc-1776055454

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/Preview-DqAv16NS.js +87 -0
  2. package/dist/Preview-DqAv16NS.js.map +1 -0
  3. package/dist/dash.all.min-Duv4lvGS.js +18858 -0
  4. package/dist/dash.all.min-Duv4lvGS.js.map +1 -0
  5. package/dist/hls-Bogc7CBn.js +21710 -0
  6. package/dist/hls-Bogc7CBn.js.map +1 -0
  7. package/dist/index-Da-xN4Yq.js +16142 -0
  8. package/dist/index-Da-xN4Yq.js.map +1 -0
  9. package/dist/index-Dj9rqWcU.js +69 -0
  10. package/dist/index-Dj9rqWcU.js.map +1 -0
  11. package/dist/index.d.ts +60 -9
  12. package/dist/index.js +1766 -1181
  13. package/dist/index.js.map +1 -1
  14. package/dist/mixin-B6jYfIcp.js +808 -0
  15. package/dist/mixin-B6jYfIcp.js.map +1 -0
  16. package/dist/react-BxlQMOfz.js +419 -0
  17. package/dist/react-BxlQMOfz.js.map +1 -0
  18. package/dist/react-COAP-MIW.js +377 -0
  19. package/dist/react-COAP-MIW.js.map +1 -0
  20. package/dist/react-Cn4WlMcl.js +3108 -0
  21. package/dist/react-Cn4WlMcl.js.map +1 -0
  22. package/dist/react-CwTJArKY.js +459 -0
  23. package/dist/react-CwTJArKY.js.map +1 -0
  24. package/dist/react-DkfS_atT.js +373 -0
  25. package/dist/react-DkfS_atT.js.map +1 -0
  26. package/dist/react-Pea5fum1.js +286 -0
  27. package/dist/react-Pea5fum1.js.map +1 -0
  28. package/dist/react-RiBbsUDd.js +534 -0
  29. package/dist/react-RiBbsUDd.js.map +1 -0
  30. package/dist/react-dS1WBxxz.js +238 -0
  31. package/dist/react-dS1WBxxz.js.map +1 -0
  32. package/package.json +2 -1
  33. package/src/components/ChannelView.test.tsx +50 -1
  34. package/src/components/ChannelView.tsx +13 -3
  35. package/src/components/CustomMessage/CustomMessage.stories.tsx +61 -2
  36. package/src/components/CustomMessage/MessageTag.tsx +5 -0
  37. package/src/components/CustomMessage/index.tsx +46 -4
  38. package/src/components/LockedAttachmentCard/LockedAttachmentCard.stories.tsx +351 -0
  39. package/src/components/LockedAttachmentCard/index.tsx +378 -0
  40. package/src/components/LockedAttachmentCard/mimeType.test.ts +97 -0
  41. package/src/components/LockedAttachmentCard/mimeType.ts +35 -0
  42. package/src/index.ts +4 -0
  43. package/src/stream-custom-data.ts +10 -3
  44. package/src/types.ts +15 -0
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
- import { jsx as e, jsxs as i, Fragment as de } from "react/jsx-runtime";
2
- import D from "classnames";
3
- import G, { createContext as ct, useContext as dt, useCallback as A, useState as k, useRef as X, useEffect as K, useMemo as Se } from "react";
4
- import { StreamChatService as mt } from "@linktr.ee/messaging-core";
5
- import { Chat as ut, ChannelList as ht, DateSeparator as ft, useChannelStateContext as Te, useChatContext as je, areMessageUIPropsEqual as gt, useMessageReminder as xt, useComponentContext as bt, Attachment as Ct, EditMessageModal as Nt, MessageBlocked as vt, MessageBouncePrompt as pt, MessageDeleted as yt, MessageIsThreadReplyInChannelButtonIndicator as wt, MessageRepliesCountButton as _t, ReminderNotification as Et, StreamedMessageText as St, messageHasAttachments as It, messageHasReactions as Mt, isDateSeparatorMessage as kt, isMessageBlocked as Tt, isMessageBounced as Dt, MessageBounceModal as Rt, Poll as Lt, MessageText as At, MessageErrorIcon as Pt, useMessageContext as ze, useMessageComposer as Ft, useStateStore as Ot, MessageInput as Ut, useMessageInputContext as Bt, useMessageComposerHasSendableData as Gt, SimpleAttachmentSelector as $t, QuotedMessagePreview as jt, AttachmentPreviewList as zt, TextareaComposer as Ht, MessageTimestamp as we, Channel as Vt, WithComponents as Yt, Window as Wt, MessageList as qt } from "stream-chat-react";
6
- import { StarIcon as Ie, GiftIcon as Zt, XIcon as De, SpinnerGapIcon as xe, SignOutIcon as Jt, ProhibitInsetIcon as Pe, FlagIcon as Xt, ArrowUpIcon as Kt, SparkleIcon as Qt, ProhibitIcon as es, ArrowLeftIcon as Fe, DotsThreeIcon as Oe, MagnifyingGlassIcon as ts, ChatCircleDotsIcon as Ue } from "@phosphor-icons/react";
7
- import { LinkPreviewsManager as Be } from "stream-chat";
8
- const He = ct({
1
+ import { jsx as t, jsxs as i, Fragment as oe } from "react/jsx-runtime";
2
+ import F from "classnames";
3
+ import L, { createContext as Nt, useContext as Ct, useCallback as U, useState as k, useRef as W, useEffect as V, useMemo as ze, lazy as ae, Suspense as _t } from "react";
4
+ import { StreamChatService as Et } from "@linktr.ee/messaging-core";
5
+ import { Chat as It, ChannelList as St, DateSeparator as kt, useChannelStateContext as Te, useChatContext as rt, areMessageUIPropsEqual as Mt, useMessageReminder as Pt, useComponentContext as Tt, Attachment as Rt, EditMessageModal as Dt, MessageBlocked as At, MessageBouncePrompt as Lt, MessageDeleted as Ot, MessageIsThreadReplyInChannelButtonIndicator as Ut, MessageRepliesCountButton as Ft, ReminderNotification as $t, StreamedMessageText as zt, messageHasAttachments as jt, messageHasReactions as Bt, isDateSeparatorMessage as Ht, isMessageBlocked as Gt, isMessageBounced as Vt, MessageBounceModal as Yt, MessageText as qe, Poll as Wt, MessageErrorIcon as qt, useMessageContext as lt, useMessageComposer as Xt, useStateStore as Zt, MessageInput as Kt, useMessageInputContext as Jt, useMessageComposerHasSendableData as Qt, SimpleAttachmentSelector as es, QuotedMessagePreview as ts, AttachmentPreviewList as ss, TextareaComposer as ns, MessageTimestamp as Ue, Channel as as, WithComponents as rs, Window as ls, MessageList as os } from "stream-chat-react";
6
+ import { StarIcon as je, GiftIcon as is, XIcon as Ve, SpinnerGapIcon as ke, SignOutIcon as cs, ProhibitInsetIcon as Xe, FlagIcon as ds, LockSimpleOpenIcon as us, LockSimpleIcon as ms, CheckCircleIcon as hs, DownloadSimpleIcon as fs, FileIcon as ot, ImageIcon as gs, SpeakerHighIcon as bs, VideoCameraIcon as xs, FileMdIcon as ys, FileTextIcon as ps, FileZipIcon as vs, FilePptIcon as ws, FileCsvIcon as Ns, FileXlsIcon as Cs, FileDocIcon as _s, FilePdfIcon as Es, CircleNotchIcon as Is, PauseIcon as Ss, PlayIcon as ks, ArrowUpIcon as Ms, SparkleIcon as Ps, ProhibitIcon as Ts, ArrowLeftIcon as Ze, DotsThreeIcon as Ke, MagnifyingGlassIcon as Rs, ChatCircleDotsIcon as Je } from "@phosphor-icons/react";
7
+ import { LinkPreviewsManager as Qe } from "stream-chat";
8
+ const it = Nt({
9
9
  service: null,
10
10
  client: null,
11
11
  isConnected: !1,
@@ -15,257 +15,257 @@ const He = ct({
15
15
  refreshConnection: async () => {
16
16
  },
17
17
  debug: !1
18
- }), Ne = () => dt(He), Qs = ({
19
- children: t,
18
+ }), Re = () => Ct(it), ta = ({
19
+ children: e,
20
20
  user: s,
21
21
  serviceConfig: n,
22
- apiKey: o,
22
+ apiKey: r,
23
23
  capabilities: l = {},
24
- debug: d = !1
24
+ debug: c = !1
25
25
  }) => {
26
- const r = A(
27
- (u, ...C) => {
28
- d && console.log(`🔥 [MessagingProvider] ${u}`, ...C);
26
+ const a = U(
27
+ (h, ...g) => {
28
+ c && console.log(`🔥 [MessagingProvider] ${h}`, ...g);
29
29
  },
30
- [d]
30
+ [c]
31
31
  );
32
- r("🔄 RENDER START", {
32
+ a("🔄 RENDER START", {
33
33
  userId: s == null ? void 0 : s.id,
34
- apiKey: (o == null ? void 0 : o.substring(0, 8)) + "...",
34
+ apiKey: (r == null ? void 0 : r.substring(0, 8)) + "...",
35
35
  serviceConfig: !!n,
36
36
  capabilities: Object.keys(l)
37
37
  });
38
- const [c, f] = k(null), [h, x] = k(null), [g, p] = k(!1), [a, w] = k(!1), [_, b] = k(null), M = X(!1), E = X({
38
+ const [d, b] = k(null), [f, x] = k(null), [m, y] = k(!1), [u, _] = k(!1), [o, N] = k(null), P = W(!1), C = W({
39
39
  userId: s == null ? void 0 : s.id,
40
- apiKey: o,
40
+ apiKey: r,
41
41
  serviceConfig: n,
42
42
  capabilities: l
43
- }), y = X(0);
44
- y.current++, r("📊 RENDER INFO", {
45
- renderCount: y.current,
46
- currentProps: { userId: s == null ? void 0 : s.id, apiKey: (o == null ? void 0 : o.substring(0, 8)) + "..." },
43
+ }), S = W(0);
44
+ S.current++, a("📊 RENDER INFO", {
45
+ renderCount: S.current,
46
+ currentProps: { userId: s == null ? void 0 : s.id, apiKey: (r == null ? void 0 : r.substring(0, 8)) + "..." },
47
47
  propChanges: {
48
- userChanged: E.current.userId !== (s == null ? void 0 : s.id),
49
- apiKeyChanged: E.current.apiKey !== o,
50
- serviceConfigChanged: E.current.serviceConfig !== n,
51
- capabilitiesChanged: E.current.capabilities !== l
48
+ userChanged: C.current.userId !== (s == null ? void 0 : s.id),
49
+ apiKeyChanged: C.current.apiKey !== r,
50
+ serviceConfigChanged: C.current.serviceConfig !== n,
51
+ capabilitiesChanged: C.current.capabilities !== l
52
52
  }
53
- }), E.current = {
53
+ }), C.current = {
54
54
  userId: s == null ? void 0 : s.id,
55
- apiKey: o,
55
+ apiKey: r,
56
56
  serviceConfig: n,
57
57
  capabilities: l
58
- }, K(() => {
59
- const u = y.current;
60
- if (r("🔧 SERVICE INIT EFFECT TRIGGERED", {
61
- renderCount: u,
62
- apiKey: !!o,
58
+ }, V(() => {
59
+ const h = S.current;
60
+ if (a("🔧 SERVICE INIT EFFECT TRIGGERED", {
61
+ renderCount: h,
62
+ apiKey: !!r,
63
63
  serviceConfig: !!n,
64
64
  dependencies: {
65
- apiKey: (o == null ? void 0 : o.substring(0, 8)) + "...",
65
+ apiKey: (r == null ? void 0 : r.substring(0, 8)) + "...",
66
66
  serviceConfigRef: n,
67
- serviceConfigStable: E.current.serviceConfig === n,
68
- apiKeyStable: E.current.apiKey === o
67
+ serviceConfigStable: C.current.serviceConfig === n,
68
+ apiKeyStable: C.current.apiKey === r
69
69
  }
70
- }), !o || !n) {
71
- r("⚠️ SERVICE INIT SKIPPED", {
72
- renderCount: u,
70
+ }), !r || !n) {
71
+ a("⚠️ SERVICE INIT SKIPPED", {
72
+ renderCount: h,
73
73
  reason: "Missing apiKey or serviceConfig"
74
74
  });
75
75
  return;
76
76
  }
77
- r("🚀 CREATING NEW SERVICE", {
78
- renderCount: u,
79
- apiKey: (o == null ? void 0 : o.substring(0, 8)) + "...",
80
- serviceConfigChanged: E.current.serviceConfig !== n
77
+ a("🚀 CREATING NEW SERVICE", {
78
+ renderCount: h,
79
+ apiKey: (r == null ? void 0 : r.substring(0, 8)) + "...",
80
+ serviceConfigChanged: C.current.serviceConfig !== n
81
81
  });
82
- const C = new mt({
82
+ const g = new Et({
83
83
  ...n,
84
- apiKey: o,
85
- debug: d
84
+ apiKey: r,
85
+ debug: c
86
86
  });
87
- return f(C), r("✅ SERVICE SET", {
88
- renderCount: u,
89
- serviceInstance: !!C
87
+ return b(g), a("✅ SERVICE SET", {
88
+ renderCount: h,
89
+ serviceInstance: !!g
90
90
  }), () => {
91
- r("🧹 SERVICE CLEANUP", {
92
- renderCount: u,
91
+ a("🧹 SERVICE CLEANUP", {
92
+ renderCount: h,
93
93
  reason: "Effect cleanup"
94
- }), C.disconnectUser().catch(console.error);
94
+ }), g.disconnectUser().catch(console.error);
95
95
  };
96
- }, [o, n, d, r]);
97
- const S = X(null);
98
- K(() => {
99
- var C, T;
100
- if (r("🔗 USER CONNECTION EFFECT TRIGGERED", {
101
- hasService: !!c,
96
+ }, [r, n, c, a]);
97
+ const M = W(null);
98
+ V(() => {
99
+ var g, I;
100
+ if (a("🔗 USER CONNECTION EFFECT TRIGGERED", {
101
+ hasService: !!d,
102
102
  hasUser: !!s,
103
103
  userId: s == null ? void 0 : s.id,
104
- isConnecting: M.current,
105
- isConnected: g,
106
- dependencies: { service: !!c, userId: s == null ? void 0 : s.id }
107
- }), !c || !s) {
108
- r("⚠️ USER CONNECTION SKIPPED", "Missing service or user");
104
+ isConnecting: P.current,
105
+ isConnected: m,
106
+ dependencies: { service: !!d, userId: s == null ? void 0 : s.id }
107
+ }), !d || !s) {
108
+ a("⚠️ USER CONNECTION SKIPPED", "Missing service or user");
109
109
  return;
110
110
  }
111
- if (M.current) {
112
- r("⚠️ USER CONNECTION SKIPPED", "Already connecting");
111
+ if (P.current) {
112
+ a("⚠️ USER CONNECTION SKIPPED", "Already connecting");
113
113
  return;
114
114
  }
115
- if (((C = S.current) == null ? void 0 : C.serviceId) === c && ((T = S.current) == null ? void 0 : T.userId) === s.id) {
116
- r(
115
+ if (((g = M.current) == null ? void 0 : g.serviceId) === d && ((I = M.current) == null ? void 0 : I.userId) === s.id) {
116
+ a(
117
117
  "⚠️ USER CONNECTION SKIPPED",
118
118
  "Already connected this user with this service"
119
119
  );
120
120
  return;
121
121
  }
122
122
  (async () => {
123
- r("🚀 STARTING USER CONNECTION", { userId: s.id }), M.current = !0, w(!0), b(null);
123
+ a("🚀 STARTING USER CONNECTION", { userId: s.id }), P.current = !0, _(!0), N(null);
124
124
  try {
125
- r("📞 CALLING SERVICE.CONNECTUSER", { userId: s.id });
126
- const v = await c.connectUser(s);
127
- x(v), p(!0), S.current = { serviceId: c, userId: s.id }, r("✅ USER CONNECTION SUCCESS", {
125
+ a("📞 CALLING SERVICE.CONNECTUSER", { userId: s.id });
126
+ const v = await d.connectUser(s);
127
+ x(v), y(!0), M.current = { serviceId: d, userId: s.id }, a("✅ USER CONNECTION SUCCESS", {
128
128
  userId: s.id,
129
129
  clientId: v.userID
130
130
  });
131
131
  } catch (v) {
132
- const N = v instanceof Error ? v.message : "Connection failed";
133
- b(N), r("❌ USER CONNECTION ERROR", {
132
+ const w = v instanceof Error ? v.message : "Connection failed";
133
+ N(w), a("❌ USER CONNECTION ERROR", {
134
134
  userId: s.id,
135
- error: N
135
+ error: w
136
136
  });
137
137
  } finally {
138
- w(!1), M.current = !1, r("🔄 USER CONNECTION FINISHED", {
138
+ _(!1), P.current = !1, a("🔄 USER CONNECTION FINISHED", {
139
139
  userId: s.id,
140
- isConnected: g
140
+ isConnected: m
141
141
  });
142
142
  }
143
143
  })();
144
- }, [c, s, r, g]), K(() => (r("🔌 CLEANUP EFFECT REGISTERED", {
145
- hasService: !!c,
146
- isConnected: g
144
+ }, [d, s, a, m]), V(() => (a("🔌 CLEANUP EFFECT REGISTERED", {
145
+ hasService: !!d,
146
+ isConnected: m
147
147
  }), () => {
148
- c && g ? (r(
148
+ d && m ? (a(
149
149
  "🧹 CLEANUP EFFECT TRIGGERED",
150
150
  "Cleaning up connection on unmount"
151
- ), S.current = null, c.disconnectUser().catch(console.error)) : r("🔇 CLEANUP EFFECT SKIPPED", {
152
- hasService: !!c,
153
- isConnected: g
151
+ ), M.current = null, d.disconnectUser().catch(console.error)) : a("🔇 CLEANUP EFFECT SKIPPED", {
152
+ hasService: !!d,
153
+ isConnected: m
154
154
  });
155
- }), [c, g, r]);
156
- const R = A(async () => {
157
- if (r("🔄 REFRESH CONNECTION CALLED", {
158
- hasService: !!c,
155
+ }), [d, m, a]);
156
+ const R = U(async () => {
157
+ if (a("🔄 REFRESH CONNECTION CALLED", {
158
+ hasService: !!d,
159
159
  hasUser: !!s
160
- }), !c || !s) {
161
- r("⚠️ REFRESH CONNECTION SKIPPED", "Missing service or user");
160
+ }), !d || !s) {
161
+ a("⚠️ REFRESH CONNECTION SKIPPED", "Missing service or user");
162
162
  return;
163
163
  }
164
- r("🚀 STARTING CONNECTION REFRESH", { userId: s.id }), w(!0);
164
+ a("🚀 STARTING CONNECTION REFRESH", { userId: s.id }), _(!0);
165
165
  try {
166
- r("🔌 DISCONNECTING FOR REFRESH"), await c.disconnectUser(), r("📞 RECONNECTING FOR REFRESH");
167
- const u = await c.connectUser(s);
168
- x(u), p(!0), b(null), r("✅ CONNECTION REFRESH SUCCESS", { userId: s.id });
169
- } catch (u) {
170
- const C = u instanceof Error ? u.message : "Refresh failed";
171
- b(C), r("❌ CONNECTION REFRESH ERROR", {
166
+ a("🔌 DISCONNECTING FOR REFRESH"), await d.disconnectUser(), a("📞 RECONNECTING FOR REFRESH");
167
+ const h = await d.connectUser(s);
168
+ x(h), y(!0), N(null), a("✅ CONNECTION REFRESH SUCCESS", { userId: s.id });
169
+ } catch (h) {
170
+ const g = h instanceof Error ? h.message : "Refresh failed";
171
+ N(g), a("❌ CONNECTION REFRESH ERROR", {
172
172
  userId: s.id,
173
- error: C
173
+ error: g
174
174
  });
175
175
  } finally {
176
- w(!1), r("🔄 CONNECTION REFRESH FINISHED", { userId: s.id });
176
+ _(!1), a("🔄 CONNECTION REFRESH FINISHED", { userId: s.id });
177
177
  }
178
- }, [c, s, r]), m = G.useMemo(() => (r("💫 CONTEXT VALUE MEMOIZATION", {
179
- hasService: !!c,
180
- hasClient: !!h,
181
- isConnected: g,
182
- isLoading: a,
183
- hasError: !!_,
178
+ }, [d, s, a]), p = L.useMemo(() => (a("💫 CONTEXT VALUE MEMOIZATION", {
179
+ hasService: !!d,
180
+ hasClient: !!f,
181
+ isConnected: m,
182
+ isLoading: u,
183
+ hasError: !!o,
184
184
  capabilitiesKeys: Object.keys(l)
185
185
  }), {
186
- service: c,
187
- client: h,
188
- isConnected: g,
189
- isLoading: a,
190
- error: _,
186
+ service: d,
187
+ client: f,
188
+ isConnected: m,
189
+ isLoading: u,
190
+ error: o,
191
191
  capabilities: l,
192
192
  refreshConnection: R,
193
- debug: d
193
+ debug: c
194
194
  }), [
195
- c,
196
- h,
197
- g,
198
- a,
199
- _,
195
+ d,
196
+ f,
197
+ m,
198
+ u,
199
+ o,
200
200
  l,
201
201
  R,
202
- d,
203
- r
202
+ c,
203
+ a
204
204
  ]);
205
- return r("🔄 RENDER END", {
206
- renderCount: y.current,
207
- willRenderChat: !!(h && g),
208
- contextValueReady: !!m
209
- }), /* @__PURE__ */ e(He.Provider, { value: m, children: h && g ? /* @__PURE__ */ e(
210
- ut,
205
+ return a("🔄 RENDER END", {
206
+ renderCount: S.current,
207
+ willRenderChat: !!(f && m),
208
+ contextValueReady: !!p
209
+ }), /* @__PURE__ */ t(it.Provider, { value: p, children: f && m ? /* @__PURE__ */ t(
210
+ It,
211
211
  {
212
- client: h,
212
+ client: f,
213
213
  customClasses: {
214
214
  channelList: "str-chat__channel-list str-chat__channel-list-react bg-transparent lg:border-r-2 border-r-0 border-[#0000000A]"
215
215
  },
216
- children: t
216
+ children: e
217
217
  }
218
- ) : t });
219
- }, ss = () => Ne(), Ve = G.createContext({
218
+ ) : e });
219
+ }, Ds = () => Re(), ct = L.createContext({
220
220
  selectedChannel: void 0,
221
221
  onChannelSelect: () => {
222
222
  },
223
223
  debug: !1,
224
224
  renderMessagePreview: void 0
225
- }), ns = Ve.Provider, as = () => G.useContext(Ve), Ye = (t) => {
226
- var o, l;
225
+ }), As = ct.Provider, Ls = () => L.useContext(ct), dt = (e) => {
226
+ var r, l;
227
227
  const [s, n] = k(
228
- !!((l = (o = t == null ? void 0 : t.state) == null ? void 0 : o.membership) != null && l.pinned_at)
228
+ !!((l = (r = e == null ? void 0 : e.state) == null ? void 0 : r.membership) != null && l.pinned_at)
229
229
  );
230
- return K(() => {
231
- var r;
232
- if (!t) {
230
+ return V(() => {
231
+ var a;
232
+ if (!e) {
233
233
  n(!1);
234
234
  return;
235
235
  }
236
- n(!!((r = t.state.membership) != null && r.pinned_at));
237
- const d = (c) => {
238
- var f;
236
+ n(!!((a = e.state.membership) != null && a.pinned_at));
237
+ const c = (d) => {
238
+ var b;
239
239
  n(
240
- c != null && c.member ? !!c.member.pinned_at : !!((f = t.state.membership) != null && f.pinned_at)
240
+ d != null && d.member ? !!d.member.pinned_at : !!((b = e.state.membership) != null && b.pinned_at)
241
241
  );
242
242
  };
243
- return t.on("member.updated", d), () => {
244
- t.off("member.updated", d);
243
+ return e.on("member.updated", c), () => {
244
+ e.off("member.updated", c);
245
245
  };
246
- }, [t]), s;
247
- }, rs = (t, s) => {
246
+ }, [e]), s;
247
+ }, Os = (e, s) => {
248
248
  const n = new Date(
249
- Date.UTC(t.getUTCFullYear(), t.getUTCMonth(), t.getUTCDate())
249
+ Date.UTC(e.getUTCFullYear(), e.getUTCMonth(), e.getUTCDate())
250
250
  ), l = new Date(
251
251
  Date.UTC(s.getUTCFullYear(), s.getUTCMonth(), s.getUTCDate())
252
252
  ).getTime() - n.getTime();
253
253
  return Math.floor(l / (1e3 * 60 * 60 * 24));
254
- }, os = (t) => {
254
+ }, Us = (e) => {
255
255
  const s = /* @__PURE__ */ new Date();
256
- if (Math.floor((s.getTime() - t.getTime()) / 1e3) < 60)
256
+ if (Math.floor((s.getTime() - e.getTime()) / 1e3) < 60)
257
257
  return "Just now";
258
- const o = rs(t, s);
259
- return o === 0 ? t.toLocaleTimeString([], {
258
+ const r = Os(e, s);
259
+ return r === 0 ? e.toLocaleTimeString([], {
260
260
  hour: "numeric",
261
261
  minute: "2-digit",
262
262
  hour12: !0
263
- }) : o === 1 ? "Yesterday" : o < 7 ? `${o}d` : o < 28 ? `${Math.floor(o / 7)}w` : t.toLocaleDateString("en-US", {
263
+ }) : r === 1 ? "Yesterday" : r < 7 ? `${r}d` : r < 28 ? `${Math.floor(r / 7)}w` : e.toLocaleDateString("en-US", {
264
264
  month: "numeric",
265
265
  day: "numeric",
266
266
  year: "2-digit"
267
267
  });
268
- }, Ge = [
268
+ }, et = [
269
269
  "🍎",
270
270
  // Apple
271
271
  "🍌",
@@ -293,77 +293,77 @@ const He = ct({
293
293
  "🍈"
294
294
  // Melon
295
295
  ];
296
- function ls(t) {
296
+ function Fs(e) {
297
297
  let s = 0;
298
- for (let n = 0; n < t.length; n++) {
299
- const o = t.charCodeAt(n);
300
- s = (s << 5) - s + o, s = s & s;
298
+ for (let n = 0; n < e.length; n++) {
299
+ const r = e.charCodeAt(n);
300
+ s = (s << 5) - s + r, s = s & s;
301
301
  }
302
302
  return Math.abs(s);
303
303
  }
304
- function is(t) {
305
- const n = ls(t) % Ge.length;
306
- return Ge[n];
304
+ function $s(e) {
305
+ const n = Fs(e) % et.length;
306
+ return et[n];
307
307
  }
308
- const ae = ({
309
- id: t,
308
+ const me = ({
309
+ id: e,
310
310
  image: s,
311
311
  size: n = 40,
312
- className: o,
312
+ className: r,
313
313
  starred: l = !1,
314
- shape: d = "squircle"
314
+ shape: c = "squircle"
315
315
  }) => {
316
- const r = is(t), f = n < 32 ? "text-xs" : n < 56 ? "text-sm" : n < 120 ? "text-lg" : "text-4xl", h = d === "circle" ? { borderRadius: "50%" } : {
316
+ const a = $s(e), b = n < 32 ? "text-xs" : n < 56 ? "text-sm" : n < 120 ? "text-lg" : "text-4xl", f = c === "circle" ? { borderRadius: "50%" } : {
317
317
  borderRadius: "33%",
318
318
  "corner-shape": "superellipse(1.3)"
319
319
  };
320
320
  return /* @__PURE__ */ i(
321
321
  "div",
322
322
  {
323
- className: D("relative flex-shrink-0", o),
323
+ className: F("relative flex-shrink-0", r),
324
324
  style: {
325
325
  width: `${n}px`,
326
326
  height: `${n}px`
327
327
  },
328
328
  children: [
329
- l && /* @__PURE__ */ e(
329
+ l && /* @__PURE__ */ t(
330
330
  "div",
331
331
  {
332
332
  "aria-hidden": "true",
333
333
  className: "absolute -left-1.5 -top-1.5 z-10 flex size-5 items-center justify-center rounded-full bg-white shadow-[0_0_0_1px_rgba(0,0,0,0.04),0_4px_8px_rgba(0,0,0,0.06)]",
334
- children: /* @__PURE__ */ e(Ie, { className: "size-3 text-yellow-600", weight: "duotone" })
334
+ children: /* @__PURE__ */ t(je, { className: "size-3 text-yellow-600", weight: "duotone" })
335
335
  }
336
336
  ),
337
- /* @__PURE__ */ e("div", { className: "h-full w-full overflow-hidden", style: h, children: s ? /* @__PURE__ */ e(
337
+ /* @__PURE__ */ t("div", { className: "h-full w-full overflow-hidden", style: f, children: s ? /* @__PURE__ */ t(
338
338
  "img",
339
339
  {
340
340
  src: s,
341
341
  alt: "",
342
342
  className: "aspect-square h-full w-full object-cover"
343
343
  }
344
- ) : /* @__PURE__ */ e(
344
+ ) : /* @__PURE__ */ t(
345
345
  "div",
346
346
  {
347
347
  "aria-hidden": "true",
348
- className: D(
348
+ className: F(
349
349
  "avatar-fallback flex h-full w-full items-center justify-center bg-[#E6E5E3] font-semibold select-none transition-colors",
350
- f
350
+ b
351
351
  ),
352
- children: r
352
+ children: a
353
353
  }
354
354
  ) })
355
355
  ]
356
356
  }
357
357
  );
358
- }, cs = ({ size: t = 15 }) => /* @__PURE__ */ e(
358
+ }, zs = ({ size: e = 15 }) => /* @__PURE__ */ t(
359
359
  "svg",
360
360
  {
361
- width: t,
362
- height: t,
361
+ width: e,
362
+ height: e,
363
363
  viewBox: "0 0 15 15",
364
364
  fill: "none",
365
365
  "aria-hidden": "true",
366
- children: /* @__PURE__ */ e(
366
+ children: /* @__PURE__ */ t(
367
367
  "path",
368
368
  {
369
369
  d: "M12.003 9a.985.985 0 0 1-.652.934l-3.223 1.191-1.188 3.226a.995.995 0 0 1-1.867 0l-1.195-3.226L.65 9.937a.995.995 0 0 1 0-1.867l3.227-1.195 1.187-3.226a.995.995 0 0 1 1.868 0l1.195 3.226 3.226 1.187a.99.99 0 0 1 .649.938m3-5.83a.52.52 0 0 1-.344.492l-1.702.63-.627 1.703a.525.525 0 0 1-.986 0l-.63-1.704-1.704-.627a.525.525 0 0 1 0-.986l1.703-.63.627-1.704a.526.526 0 0 1 .986 0l.631 1.703 1.704.627a.52.52 0 0 1 .342.495",
@@ -372,105 +372,108 @@ const ae = ({
372
372
  }
373
373
  )
374
374
  }
375
- ), ds = (t) => {
375
+ ), js = (e) => {
376
376
  var s;
377
- return ((s = t.metadata) == null ? void 0 : s.custom_type) === "MESSAGE_TIP";
378
- }, ms = (t) => {
377
+ return ((s = e.metadata) == null ? void 0 : s.custom_type) === "MESSAGE_TIP";
378
+ }, Bs = (e) => {
379
379
  var s;
380
- return ((s = t.metadata) == null ? void 0 : s.custom_type) === "MESSAGE_PAID";
381
- }, Re = (t) => {
380
+ return ((s = e.metadata) == null ? void 0 : s.custom_type) === "MESSAGE_PAID";
381
+ }, Ye = (e) => {
382
382
  var s;
383
- return ((s = t.metadata) == null ? void 0 : s.custom_type) === "MESSAGE_CHATBOT";
384
- }, We = (t) => ds(t) || ms(t), us = (t) => {
383
+ return ((s = e.metadata) == null ? void 0 : s.custom_type) === "MESSAGE_CHATBOT";
384
+ }, Hs = (e) => {
385
385
  var s;
386
- return We(t) && !((s = t.text) != null && s.trim());
387
- }, _e = ({
388
- message: t,
386
+ return ((s = e.metadata) == null ? void 0 : s.custom_type) === "MESSAGE_ATTACHMENT";
387
+ }, ut = (e) => js(e) || Bs(e), Gs = (e) => {
388
+ var s;
389
+ return ut(e) && !((s = e.text) != null && s.trim());
390
+ }, Fe = ({
391
+ message: e,
389
392
  standalone: s = !1,
390
393
  isMyMessage: n = !1,
391
- hasAttachment: o = !1
394
+ hasAttachment: r = !1
392
395
  }) => {
393
- var g;
394
- const l = We(t), d = Re(t);
395
- if (!l && !d)
396
+ var m;
397
+ const l = ut(e), c = Ye(e);
398
+ if (!l && !c)
396
399
  return null;
397
400
  if (l) {
398
- const p = (g = t.metadata) == null ? void 0 : g.amount_text;
399
- if (!p) return null;
400
- const a = s ? "message-tip-standalone" : "message-tag message-tag--tip", w = s ? `${p} tip` : `Delivered with ${p} tip`;
401
- return /* @__PURE__ */ i("div", { className: a, children: [
402
- /* @__PURE__ */ e(Zt, { size: s ? 14 : 12 }),
403
- /* @__PURE__ */ e("span", { children: w })
401
+ const y = (m = e.metadata) == null ? void 0 : m.amount_text;
402
+ if (!y) return null;
403
+ const u = s ? "message-tip-standalone" : "message-tag message-tag--tip", _ = s ? `${y} tip` : `Delivered with ${y} tip`;
404
+ return /* @__PURE__ */ i("div", { className: u, children: [
405
+ /* @__PURE__ */ t(is, { size: s ? 14 : 12 }),
406
+ /* @__PURE__ */ t("span", { children: _ })
404
407
  ] });
405
408
  }
406
- const r = n && o, c = r ? "Sent with AI" : "Sent with DM Agent", f = [
409
+ const a = n && r, d = a ? "Sent with AI" : "Sent with DM Agent", b = [
407
410
  "message-chatbot-indicator",
408
411
  n ? "message-chatbot-indicator--sender" : "message-chatbot-indicator--receiver",
409
- r ? "message-chatbot-indicator--attachment" : "message-chatbot-indicator--text"
410
- ].join(" "), h = /* @__PURE__ */ e("span", { className: "message-chatbot-indicator__label", children: c }), x = /* @__PURE__ */ e("span", { className: "message-chatbot-indicator__icon", children: /* @__PURE__ */ e(cs, { size: r ? 12 : 15 }) });
411
- return /* @__PURE__ */ e("div", { className: f, "data-testid": "message-chatbot-indicator", children: n && !r ? /* @__PURE__ */ i(de, { children: [
412
- h,
412
+ a ? "message-chatbot-indicator--attachment" : "message-chatbot-indicator--text"
413
+ ].join(" "), f = /* @__PURE__ */ t("span", { className: "message-chatbot-indicator__label", children: d }), x = /* @__PURE__ */ t("span", { className: "message-chatbot-indicator__icon", children: /* @__PURE__ */ t(zs, { size: a ? 12 : 15 }) });
414
+ return /* @__PURE__ */ t("div", { className: b, "data-testid": "message-chatbot-indicator", children: n && !a ? /* @__PURE__ */ i(oe, { children: [
415
+ f,
413
416
  x
414
- ] }) : /* @__PURE__ */ i(de, { children: [
417
+ ] }) : /* @__PURE__ */ i(oe, { children: [
415
418
  x,
416
- h
419
+ f
417
420
  ] }) });
418
- }, qe = G.memo(
419
- ({ channel: t, unread: s }) => {
420
- var R, m, u, C;
421
- const { selectedChannel: n, onChannelSelect: o, debug: l, renderMessagePreview: d } = as(), r = (n == null ? void 0 : n.id) === (t == null ? void 0 : t.id), c = () => {
422
- t && o(t);
423
- }, f = (T) => {
424
- const v = T.key === "Enter" || T.key === " ", N = T.repeat;
425
- !v || N || (T.preventDefault(), c());
426
- }, x = Object.values(((R = t == null ? void 0 : t.state) == null ? void 0 : R.members) || {}).find(
427
- (T) => {
428
- var v, N;
429
- return ((v = T.user) == null ? void 0 : v.id) && T.user.id !== ((N = t == null ? void 0 : t._client) == null ? void 0 : N.userID);
421
+ }, mt = L.memo(
422
+ ({ channel: e, unread: s }) => {
423
+ var R, p, h, g;
424
+ const { selectedChannel: n, onChannelSelect: r, debug: l, renderMessagePreview: c } = Ls(), a = (n == null ? void 0 : n.id) === (e == null ? void 0 : e.id), d = () => {
425
+ e && r(e);
426
+ }, b = (I) => {
427
+ const v = I.key === "Enter" || I.key === " ", w = I.repeat;
428
+ !v || w || (I.preventDefault(), d());
429
+ }, x = Object.values(((R = e == null ? void 0 : e.state) == null ? void 0 : R.members) || {}).find(
430
+ (I) => {
431
+ var v, w;
432
+ return ((v = I.user) == null ? void 0 : v.id) && I.user.id !== ((w = e == null ? void 0 : e._client) == null ? void 0 : w.userID);
430
433
  }
431
- ), g = ((m = x == null ? void 0 : x.user) == null ? void 0 : m.name) || "Conversation", p = (u = x == null ? void 0 : x.user) == null ? void 0 : u.image, a = (() => {
434
+ ), m = ((p = x == null ? void 0 : x.user) == null ? void 0 : p.name) || "Conversation", y = (h = x == null ? void 0 : x.user) == null ? void 0 : h.image, u = (() => {
432
435
  var v;
433
- const T = (v = t == null ? void 0 : t.state) == null ? void 0 : v.messages;
434
- if (T != null && T.length) {
435
- for (let N = T.length - 1; N >= 0; N--)
436
- if (T[N].type !== "system") return T[N];
436
+ const I = (v = e == null ? void 0 : e.state) == null ? void 0 : v.messages;
437
+ if (I != null && I.length) {
438
+ for (let w = I.length - 1; w >= 0; w--)
439
+ if (I[w].type !== "system") return I[w];
437
440
  }
438
- })(), _ = (() => {
439
- var N, F;
440
- if (a != null && a.text) return a.text;
441
- if (((N = a == null ? void 0 : a.metadata) == null ? void 0 : N.custom_type) === "MESSAGE_TIP") return "💵 Sent a tip";
442
- const v = (F = a == null ? void 0 : a.attachments) == null ? void 0 : F[0];
441
+ })(), o = (() => {
442
+ var w, A;
443
+ if (u != null && u.text) return u.text;
444
+ if (((w = u == null ? void 0 : u.metadata) == null ? void 0 : w.custom_type) === "MESSAGE_TIP") return "💵 Sent a tip";
445
+ const v = (A = u == null ? void 0 : u.attachments) == null ? void 0 : A[0];
443
446
  return v ? v.og_scrape_url ? v.og_scrape_url : v.type === "image" ? "📷 Sent an image" : v.type === "video" ? "🎥 Sent a video" : v.type === "audio" ? "🎵 Sent audio" : v.type === "file" ? "📎 Sent a file" : "📎 Sent an attachment" : "No messages yet";
444
- })(), b = a != null && a.created_at ? os(new Date(a.created_at)) : "", M = a ? Re(a) : !1, E = d ? d(a, _) : `${M ? "✨ " : ""}${_}`, y = Ye(t), S = s ?? 0;
447
+ })(), N = u != null && u.created_at ? Us(new Date(u.created_at)) : "", P = u ? Ye(u) : !1, C = c ? c(u, o) : `${P ? "✨ " : ""}${o}`, S = dt(e), M = s ?? 0;
445
448
  return l && console.log("📺 [ChannelList] 📋 CHANNEL PREVIEW RENDER", {
446
- channelId: t == null ? void 0 : t.id,
447
- isSelected: r,
448
- participantName: g,
449
- unreadCount: S,
450
- hasTimestamp: !!b
451
- }), /* @__PURE__ */ e(
449
+ channelId: e == null ? void 0 : e.id,
450
+ isSelected: a,
451
+ participantName: m,
452
+ unreadCount: M,
453
+ hasTimestamp: !!N
454
+ }), /* @__PURE__ */ t(
452
455
  "div",
453
456
  {
454
457
  role: "button",
455
458
  tabIndex: 0,
456
- onClick: c,
457
- onKeyDown: f,
458
- className: D(
459
+ onClick: d,
460
+ onKeyDown: b,
461
+ className: F(
459
462
  "group w-full px-4 py-3 transition-colors text-left max-w-full overflow-hidden focus-ring",
460
463
  {
461
- "bg-primary-alt/10 border-l-4 border-l-primary": r,
462
- "hover:bg-sand": !r
464
+ "bg-primary-alt/10 border-l-4 border-l-primary": a,
465
+ "hover:bg-sand": !a
463
466
  }
464
467
  ),
465
468
  children: /* @__PURE__ */ i("div", { className: "flex items-start gap-3", children: [
466
- /* @__PURE__ */ e(
467
- ae,
469
+ /* @__PURE__ */ t(
470
+ me,
468
471
  {
469
- id: ((C = x == null ? void 0 : x.user) == null ? void 0 : C.id) || t.id || "unknown",
470
- name: g,
471
- image: p,
472
+ id: ((g = x == null ? void 0 : x.user) == null ? void 0 : g.id) || e.id || "unknown",
473
+ name: m,
474
+ image: y,
472
475
  size: 44,
473
- starred: y,
476
+ starred: S,
474
477
  className: "[&_.avatar-fallback]:group-hover:bg-[#eeeeee]"
475
478
  }
476
479
  ),
@@ -479,21 +482,21 @@ const ae = ({
479
482
  /* @__PURE__ */ i(
480
483
  "h3",
481
484
  {
482
- className: D(
485
+ className: F(
483
486
  "text-sm font-medium truncate",
484
- r ? "text-primary" : "text-charcoal"
487
+ a ? "text-primary" : "text-charcoal"
485
488
  ),
486
489
  children: [
487
- y && /* @__PURE__ */ e("span", { className: "sr-only", children: "Starred conversation. " }),
488
- g
490
+ S && /* @__PURE__ */ t("span", { className: "sr-only", children: "Starred conversation. " }),
491
+ m
489
492
  ]
490
493
  }
491
494
  ),
492
- b && /* @__PURE__ */ e("span", { className: "text-xs text-stone flex-shrink-0", children: b })
495
+ N && /* @__PURE__ */ t("span", { className: "text-xs text-stone flex-shrink-0", children: N })
493
496
  ] }),
494
497
  /* @__PURE__ */ i("div", { className: "flex items-center justify-between gap-2 min-w-0", children: [
495
- /* @__PURE__ */ e("p", { className: "text-xs text-stone flex-1 line-clamp-1", children: E }),
496
- S > 0 && /* @__PURE__ */ e("span", { className: "bg-[#7f22fe] text-white text-xs px-2 py-0.5 rounded-full min-w-[20px] text-center flex-shrink-0", children: S > 99 ? "99+" : S })
498
+ /* @__PURE__ */ t("p", { className: "text-xs text-stone flex-1 line-clamp-1", children: C }),
499
+ M > 0 && /* @__PURE__ */ t("span", { className: "bg-[#7f22fe] text-white text-xs px-2 py-0.5 rounded-full min-w-[20px] text-center flex-shrink-0", children: M > 99 ? "99+" : M })
497
500
  ] })
498
501
  ] })
499
502
  ] })
@@ -501,182 +504,182 @@ const ae = ({
501
504
  );
502
505
  }
503
506
  );
504
- qe.displayName = "CustomChannelPreview";
505
- const hs = { last_message_at: -1 }, Ze = G.memo(
507
+ mt.displayName = "CustomChannelPreview";
508
+ const Vs = { last_message_at: -1 }, ht = L.memo(
506
509
  ({
507
- onChannelSelect: t,
510
+ onChannelSelect: e,
508
511
  selectedChannel: s,
509
512
  filters: n,
510
- allowNewMessagesFromUnfilteredChannels: o = !1,
513
+ allowNewMessagesFromUnfilteredChannels: r = !1,
511
514
  onMessageNew: l,
512
- onAddedToChannel: d,
513
- channelRenderFilterFn: r,
514
- sort: c = hs,
515
- className: f,
516
- customEmptyStateIndicator: h,
515
+ onAddedToChannel: c,
516
+ channelRenderFilterFn: a,
517
+ sort: d = Vs,
518
+ className: b,
519
+ customEmptyStateIndicator: f,
517
520
  renderMessagePreview: x
518
521
  }) => {
519
- const g = G.useRef(0);
520
- g.current++;
521
- const { debug: p = !1 } = Ne();
522
- p && console.log("📺 [ChannelList] 🔄 RENDER START", {
523
- renderCount: g.current,
522
+ const m = L.useRef(0);
523
+ m.current++;
524
+ const { debug: y = !1 } = Re();
525
+ y && console.log("📺 [ChannelList] 🔄 RENDER START", {
526
+ renderCount: m.current,
524
527
  selectedChannelId: s == null ? void 0 : s.id,
525
528
  filters: n
526
529
  });
527
- const a = G.useMemo(
530
+ const u = L.useMemo(
528
531
  () => ({
529
532
  selectedChannel: s,
530
- onChannelSelect: t,
531
- debug: p,
533
+ onChannelSelect: e,
534
+ debug: y,
532
535
  renderMessagePreview: x
533
536
  }),
534
- [s, t, p, x]
537
+ [s, e, y, x]
535
538
  );
536
- return /* @__PURE__ */ e(
539
+ return /* @__PURE__ */ t(
537
540
  "div",
538
541
  {
539
- className: D(
542
+ className: F(
540
543
  "messaging-channel-list h-full flex flex-col min-w-0 overflow-hidden",
541
- f
544
+ b
542
545
  ),
543
- children: /* @__PURE__ */ e("div", { className: "flex-1 overflow-hidden min-w-0", children: /* @__PURE__ */ e(ns, { value: a, children: /* @__PURE__ */ e(
544
- ht,
546
+ children: /* @__PURE__ */ t("div", { className: "flex-1 overflow-hidden min-w-0", children: /* @__PURE__ */ t(As, { value: u, children: /* @__PURE__ */ t(
547
+ St,
545
548
  {
546
549
  filters: n,
547
- sort: c,
550
+ sort: d,
548
551
  options: { limit: 30 },
549
- allowNewMessagesFromUnfilteredChannels: o,
552
+ allowNewMessagesFromUnfilteredChannels: r,
550
553
  onMessageNew: l,
551
- onAddedToChannel: d,
552
- channelRenderFilterFn: r,
553
- Preview: qe,
554
- EmptyStateIndicator: h
554
+ onAddedToChannel: c,
555
+ channelRenderFilterFn: a,
556
+ Preview: mt,
557
+ EmptyStateIndicator: f
555
558
  },
556
- `${JSON.stringify(n)}:${JSON.stringify(c)}`
559
+ `${JSON.stringify(n)}:${JSON.stringify(d)}`
557
560
  ) }) })
558
561
  }
559
562
  );
560
563
  }
561
564
  );
562
- Ze.displayName = "ChannelList";
563
- const ge = ({
564
- variant: t = "default",
565
+ ht.displayName = "ChannelList";
566
+ const Se = ({
567
+ variant: e = "default",
565
568
  className: s,
566
569
  children: n,
567
- ...o
568
- }) => /* @__PURE__ */ e(
570
+ ...r
571
+ }) => /* @__PURE__ */ t(
569
572
  "button",
570
573
  {
571
574
  type: "button",
572
- className: D(
575
+ className: F(
573
576
  "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",
574
- t === "danger" ? "text-danger hover:bg-danger/50" : "text-charcoal hover:bg-sand",
577
+ e === "danger" ? "text-danger hover:bg-danger/50" : "text-charcoal hover:bg-sand",
575
578
  s
576
579
  ),
577
- ...o,
580
+ ...r,
578
581
  children: n
579
582
  }
580
583
  );
581
- function Je({ label: t, className: s, children: n, ...o }) {
584
+ function ft({ label: e, className: s, children: n, ...r }) {
582
585
  return /* @__PURE__ */ i(
583
586
  "button",
584
587
  {
585
588
  type: "button",
586
- className: D(
589
+ className: F(
587
590
  "rounded-full p-2 transition-colors focus-ring",
588
591
  {
589
- "cursor-not-allowed opacity-50": o.disabled,
590
- "hover:bg-sand": !o.disabled
592
+ "cursor-not-allowed opacity-50": r.disabled,
593
+ "hover:bg-sand": !r.disabled
591
594
  },
592
595
  s
593
596
  ),
594
- ...o,
597
+ ...r,
595
598
  children: [
596
- /* @__PURE__ */ e("span", { className: "sr-only", children: t }),
599
+ /* @__PURE__ */ t("span", { className: "sr-only", children: e }),
597
600
  n
598
601
  ]
599
602
  }
600
603
  );
601
604
  }
602
- function Xe({ onClick: t }) {
603
- return /* @__PURE__ */ e(Je, { label: "Close", onClick: t, className: "p-1", children: /* @__PURE__ */ e(De, { className: "h-5 w-5 text-stone", weight: "bold" }) });
605
+ function gt({ onClick: e }) {
606
+ return /* @__PURE__ */ t(ft, { label: "Close", onClick: e, className: "p-1", children: /* @__PURE__ */ t(Ve, { className: "h-5 w-5 text-stone", weight: "bold" }) });
604
607
  }
605
- const fs = ({
606
- dialogRef: t,
608
+ const Ys = ({
609
+ dialogRef: e,
607
610
  onClose: s,
608
611
  participant: n,
609
- channel: o,
612
+ channel: r,
610
613
  followerStatusLabel: l,
611
- onLeaveConversation: d,
612
- onBlockParticipant: r,
613
- showDeleteConversation: c = !0,
614
- onDeleteConversationClick: f,
615
- onBlockParticipantClick: h,
614
+ onLeaveConversation: c,
615
+ onBlockParticipant: a,
616
+ showDeleteConversation: d = !0,
617
+ onDeleteConversationClick: b,
618
+ onBlockParticipantClick: f,
616
619
  onReportParticipantClick: x,
617
- customProfileContent: g,
618
- customChannelActions: p
620
+ customProfileContent: m,
621
+ customChannelActions: y
619
622
  }) => {
620
- var L, W, j, re, z, te, se;
621
- const { service: a, debug: w } = Ne(), [_, b] = k(!1), [M, E] = k(!1), [y, S] = k(!1), R = A(async () => {
622
- var O;
623
- if (!(!a || !((O = n == null ? void 0 : n.user) != null && O.id)))
623
+ var D, z, Y, ie, E, O, q;
624
+ const { service: u, debug: _ } = Re(), [o, N] = k(!1), [P, C] = k(!1), [S, M] = k(!1), R = U(async () => {
625
+ var j;
626
+ if (!(!u || !((j = n == null ? void 0 : n.user) != null && j.id)))
624
627
  try {
625
- const B = (await a.getBlockedUsers()).some(
626
- (H) => {
627
- var oe;
628
- return H.blocked_user_id === ((oe = n == null ? void 0 : n.user) == null ? void 0 : oe.id);
628
+ const ee = (await u.getBlockedUsers()).some(
629
+ (re) => {
630
+ var K;
631
+ return re.blocked_user_id === ((K = n == null ? void 0 : n.user) == null ? void 0 : K.id);
629
632
  }
630
633
  );
631
- b(B);
632
- } catch (P) {
634
+ N(ee);
635
+ } catch (B) {
633
636
  console.error(
634
637
  "[ChannelInfoDialog] Failed to check blocked status:",
635
- P
638
+ B
636
639
  );
637
640
  }
638
- }, [a, (L = n == null ? void 0 : n.user) == null ? void 0 : L.id]);
639
- K(() => {
641
+ }, [u, (D = n == null ? void 0 : n.user) == null ? void 0 : D.id]);
642
+ V(() => {
640
643
  R();
641
644
  }, [R]);
642
- const m = async () => {
643
- var O;
644
- if (!M) {
645
- f == null || f(), w && console.log("[ChannelInfoDialog] Leave conversation", o.cid), E(!0);
645
+ const p = async () => {
646
+ var j;
647
+ if (!P) {
648
+ b == null || b(), _ && console.log("[ChannelInfoDialog] Leave conversation", r.cid), C(!0);
646
649
  try {
647
- const P = ((O = o._client) == null ? void 0 : O.userID) ?? null;
648
- await o.hide(P, !1), d && await d(o), s();
649
- } catch (P) {
650
- console.error("[ChannelInfoDialog] Failed to leave conversation", P);
650
+ const B = ((j = r._client) == null ? void 0 : j.userID) ?? null;
651
+ await r.hide(B, !1), c && await c(r), s();
652
+ } catch (B) {
653
+ console.error("[ChannelInfoDialog] Failed to leave conversation", B);
651
654
  } finally {
652
- E(!1);
655
+ C(!1);
653
656
  }
654
657
  }
655
- }, u = async () => {
656
- var O, P, B;
657
- if (!(y || !a)) {
658
- h == null || h(), w && console.log("[ChannelInfoDialog] Block member", (O = n == null ? void 0 : n.user) == null ? void 0 : O.id), S(!0);
658
+ }, h = async () => {
659
+ var j, B, ee;
660
+ if (!(S || !u)) {
661
+ f == null || f(), _ && console.log("[ChannelInfoDialog] Block member", (j = n == null ? void 0 : n.user) == null ? void 0 : j.id), M(!0);
659
662
  try {
660
- await a.blockUser((P = n == null ? void 0 : n.user) == null ? void 0 : P.id), r && await r((B = n == null ? void 0 : n.user) == null ? void 0 : B.id), s();
661
- } catch (H) {
662
- console.error("[ChannelInfoDialog] Failed to block member", H);
663
+ await u.blockUser((B = n == null ? void 0 : n.user) == null ? void 0 : B.id), a && await a((ee = n == null ? void 0 : n.user) == null ? void 0 : ee.id), s();
664
+ } catch (re) {
665
+ console.error("[ChannelInfoDialog] Failed to block member", re);
663
666
  } finally {
664
- S(!1);
667
+ M(!1);
665
668
  }
666
669
  }
667
- }, C = async () => {
668
- var O, P, B;
669
- if (!(y || !a)) {
670
- h == null || h(), w && console.log("[ChannelInfoDialog] Unblock member", (O = n == null ? void 0 : n.user) == null ? void 0 : O.id), S(!0);
670
+ }, g = async () => {
671
+ var j, B, ee;
672
+ if (!(S || !u)) {
673
+ f == null || f(), _ && console.log("[ChannelInfoDialog] Unblock member", (j = n == null ? void 0 : n.user) == null ? void 0 : j.id), M(!0);
671
674
  try {
672
- await a.unBlockUser((P = n == null ? void 0 : n.user) == null ? void 0 : P.id), r && await r((B = n == null ? void 0 : n.user) == null ? void 0 : B.id), s();
673
- } catch (H) {
674
- console.error("[ChannelInfoDialog] Failed to unblock member", H);
675
+ await u.unBlockUser((B = n == null ? void 0 : n.user) == null ? void 0 : B.id), a && await a((ee = n == null ? void 0 : n.user) == null ? void 0 : ee.id), s();
676
+ } catch (re) {
677
+ console.error("[ChannelInfoDialog] Failed to unblock member", re);
675
678
  } finally {
676
- S(!1);
679
+ M(!1);
677
680
  }
678
681
  }
679
- }, T = () => {
682
+ }, I = () => {
680
683
  x == null || x(), s(), window.open(
681
684
  "https://linktr.ee/s/about/trust-center/report",
682
685
  "_blank",
@@ -684,44 +687,44 @@ const fs = ({
684
687
  );
685
688
  };
686
689
  if (!n) return null;
687
- const v = ((W = n.user) == null ? void 0 : W.name) || ((j = n.user) == null ? void 0 : j.id) || "Unknown member", N = (re = n.user) == null ? void 0 : re.image, F = (z = n.user) == null ? void 0 : z.email, Q = (te = n.user) == null ? void 0 : te.username, Y = F || (Q ? `linktr.ee/${Q}` : void 0), Z = ((se = n.user) == null ? void 0 : se.id) || "unknown";
690
+ const v = ((z = n.user) == null ? void 0 : z.name) || ((Y = n.user) == null ? void 0 : Y.id) || "Unknown member", w = (ie = n.user) == null ? void 0 : ie.image, A = (E = n.user) == null ? void 0 : E.email, G = (O = n.user) == null ? void 0 : O.username, $ = A || (G ? `linktr.ee/${G}` : void 0), Z = ((q = n.user) == null ? void 0 : q.id) || "unknown";
688
691
  return (
689
692
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions
690
- /* @__PURE__ */ e(
693
+ /* @__PURE__ */ t(
691
694
  "dialog",
692
695
  {
693
- ref: t,
696
+ ref: e,
694
697
  className: "mes-dialog group",
695
698
  onClose: s,
696
- onClick: (O) => {
697
- O.target === t.current && s();
699
+ onClick: (j) => {
700
+ j.target === e.current && s();
698
701
  },
699
702
  children: /* @__PURE__ */ i("div", { className: "ml-auto flex h-full w-full flex-col bg-white shadow-none transition-shadow duration-200 group-open:shadow-max-elevation-light", children: [
700
703
  /* @__PURE__ */ i("div", { className: "flex items-center justify-between border-b border-sand px-4 py-3", children: [
701
- /* @__PURE__ */ e("h2", { className: "text-base font-semibold text-charcoal", children: "Chat info" }),
702
- /* @__PURE__ */ e(Xe, { onClick: s })
704
+ /* @__PURE__ */ t("h2", { className: "text-base font-semibold text-charcoal", children: "Chat info" }),
705
+ /* @__PURE__ */ t(gt, { onClick: s })
703
706
  ] }),
704
707
  /* @__PURE__ */ i("div", { className: "flex-1 px-2 overflow-y-auto w-full", children: [
705
- /* @__PURE__ */ e(
708
+ /* @__PURE__ */ t(
706
709
  "div",
707
710
  {
708
711
  className: "flex flex-col items-center gap-3 self-stretch px-4 py-2 mt-6 rounded-lg border border-black/[0.04]",
709
712
  style: { backgroundColor: "#FBFAF9" },
710
713
  children: /* @__PURE__ */ i("div", { className: "flex items-center gap-3 w-full", children: [
711
- /* @__PURE__ */ e(
712
- ae,
714
+ /* @__PURE__ */ t(
715
+ me,
713
716
  {
714
717
  id: Z,
715
718
  name: v,
716
- image: N,
719
+ image: w,
717
720
  size: 88,
718
721
  shape: "circle"
719
722
  }
720
723
  ),
721
724
  /* @__PURE__ */ i("div", { className: "flex flex-col min-w-0 flex-1", children: [
722
- /* @__PURE__ */ e("p", { className: "truncate text-base font-semibold text-charcoal", children: v }),
723
- Y && /* @__PURE__ */ e("p", { className: "truncate text-sm text-[#00000055]", children: Y }),
724
- l && !g && /* @__PURE__ */ e(
725
+ /* @__PURE__ */ t("p", { className: "truncate text-base font-semibold text-charcoal", children: v }),
726
+ $ && /* @__PURE__ */ t("p", { className: "truncate text-sm text-[#00000055]", children: $ }),
727
+ l && !m && /* @__PURE__ */ t(
725
728
  "span",
726
729
  {
727
730
  className: "mt-1 rounded-full text-xs font-normal w-fit",
@@ -735,90 +738,635 @@ const fs = ({
735
738
  children: l
736
739
  }
737
740
  ),
738
- g
741
+ m
739
742
  ] })
740
743
  ] })
741
744
  }
742
745
  ),
743
746
  /* @__PURE__ */ i("ul", { className: "flex flex-col gap-2 mt-2", children: [
744
- c && /* @__PURE__ */ e("li", { children: /* @__PURE__ */ i(
745
- ge,
747
+ d && /* @__PURE__ */ t("li", { children: /* @__PURE__ */ i(
748
+ Se,
746
749
  {
747
- onClick: m,
748
- disabled: M,
749
- "aria-busy": M,
750
+ onClick: p,
751
+ disabled: P,
752
+ "aria-busy": P,
750
753
  children: [
751
- M ? /* @__PURE__ */ e(xe, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ e(Jt, { className: "h-5 w-5" }),
752
- /* @__PURE__ */ e("span", { children: "Delete Conversation" })
754
+ P ? /* @__PURE__ */ t(ke, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ t(cs, { className: "h-5 w-5" }),
755
+ /* @__PURE__ */ t("span", { children: "Delete Conversation" })
753
756
  ]
754
757
  }
755
758
  ) }),
756
- /* @__PURE__ */ e("li", { children: _ ? /* @__PURE__ */ i(
757
- ge,
759
+ /* @__PURE__ */ t("li", { children: o ? /* @__PURE__ */ i(
760
+ Se,
758
761
  {
759
- onClick: C,
760
- disabled: y,
761
- "aria-busy": y,
762
+ onClick: g,
763
+ disabled: S,
764
+ "aria-busy": S,
762
765
  children: [
763
- y ? /* @__PURE__ */ e(xe, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ e(Pe, { className: "h-5 w-5" }),
764
- /* @__PURE__ */ e("span", { children: "Unblock" })
766
+ S ? /* @__PURE__ */ t(ke, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ t(Xe, { className: "h-5 w-5" }),
767
+ /* @__PURE__ */ t("span", { children: "Unblock" })
765
768
  ]
766
769
  }
767
770
  ) : /* @__PURE__ */ i(
768
- ge,
771
+ Se,
769
772
  {
770
- onClick: u,
771
- disabled: y,
772
- "aria-busy": y,
773
+ onClick: h,
774
+ disabled: S,
775
+ "aria-busy": S,
773
776
  children: [
774
- y ? /* @__PURE__ */ e(xe, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ e(Pe, { className: "h-5 w-5" }),
775
- /* @__PURE__ */ e("span", { children: "Block" })
777
+ S ? /* @__PURE__ */ t(ke, { className: "h-5 w-5 animate-spin" }) : /* @__PURE__ */ t(Xe, { className: "h-5 w-5" }),
778
+ /* @__PURE__ */ t("span", { children: "Block" })
776
779
  ]
777
780
  }
778
781
  ) }),
779
- /* @__PURE__ */ e("li", { children: /* @__PURE__ */ i(ge, { variant: "danger", onClick: T, children: [
780
- /* @__PURE__ */ e(Xt, { className: "h-5 w-5" }),
781
- /* @__PURE__ */ e("span", { children: "Report" })
782
+ /* @__PURE__ */ t("li", { children: /* @__PURE__ */ i(Se, { variant: "danger", onClick: I, children: [
783
+ /* @__PURE__ */ t(ds, { className: "h-5 w-5" }),
784
+ /* @__PURE__ */ t("span", { children: "Report" })
782
785
  ] }) }),
783
- p
786
+ y
784
787
  ] })
785
788
  ] })
786
789
  ] })
787
790
  }
788
791
  )
789
792
  );
790
- }, gs = (t) => /* @__PURE__ */ e(ft, { ...t, position: "center" }), Me = "vote_up", ke = "vote_down";
791
- function xs(t) {
792
- return t != null && t.length ? t.some((s) => s.type === ke) ? "down" : t.some((s) => s.type === Me) ? "up" : null : null;
793
+ }, Ws = (e) => /* @__PURE__ */ t(kt, { ...e, position: "center" }), Be = "vote_up", He = "vote_down";
794
+ function qs(e) {
795
+ return e != null && e.length ? e.some((s) => s.type === He) ? "down" : e.some((s) => s.type === Be) ? "up" : null : null;
793
796
  }
794
- function bs(t) {
795
- const { channel: s } = Te(), { client: n } = je("useMessageVote"), o = Se(
796
- () => xs(t.own_reactions),
797
- [t.own_reactions]
798
- ), l = A(async () => {
797
+ function Xs(e) {
798
+ const { channel: s } = Te(), { client: n } = rt("useMessageVote"), r = ze(
799
+ () => qs(e.own_reactions),
800
+ [e.own_reactions]
801
+ ), l = U(async () => {
799
802
  if (n != null && n.userID)
800
803
  try {
801
- o === "up" ? await s.deleteReaction(t.id, Me) : await s.sendReaction(
802
- t.id,
803
- { type: Me },
804
+ r === "up" ? await s.deleteReaction(e.id, Be) : await s.sendReaction(
805
+ e.id,
806
+ { type: Be },
804
807
  { enforce_unique: !0, skip_push: !0 }
805
808
  );
806
809
  } catch {
807
810
  }
808
- }, [s, n == null ? void 0 : n.userID, t.id, o]), d = A(async () => {
811
+ }, [s, n == null ? void 0 : n.userID, e.id, r]), c = U(async () => {
809
812
  if (n != null && n.userID)
810
813
  try {
811
- o === "down" ? await s.deleteReaction(t.id, ke) : await s.sendReaction(
812
- t.id,
813
- { type: ke },
814
+ r === "down" ? await s.deleteReaction(e.id, He) : await s.sendReaction(
815
+ e.id,
816
+ { type: He },
814
817
  { enforce_unique: !0, skip_push: !0 }
815
818
  );
816
819
  } catch {
817
820
  }
818
- }, [s, n == null ? void 0 : n.userID, t.id, o]);
819
- return { selected: o, voteUp: l, voteDown: d };
821
+ }, [s, n == null ? void 0 : n.userID, e.id, r]);
822
+ return { selected: r, voteUp: l, voteDown: c };
820
823
  }
821
- const Cs = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ e(
824
+ const bt = /\.(m4a|m4b|mp4a|mpga|mp2|mp2a|mp3|m2a|m3a|wav|weba|aac|oga|spx)($|\?)/i, tt = /\.(mp4|og[gv]|webm|mov|m4v)(#t=[,\d+]+)?($|\?)/i, st = /\.(m3u8)($|\?)/i, Zs = /\.(mpd)($|\?)/i, Ks = /stream\.mux\.com\/(?!\w+\.m3u8)(\w+)/, Js = /(?:youtu\.be\/|youtube(?:-nocookie|education)?\.com\/(?:embed\/|v\/|watch\/|watch\?v=|watch\?.+&v=|shorts\/|live\/))((\w|-){11})|youtube\.com\/playlist\?list=|youtube\.com\/user\//, Qs = /vimeo\.com\/(?!progressive_redirect).+/, en = /(?:wistia\.(?:com|net)|wi\.st)\/(?:medias|embed)\/(?:iframe\/)?([^?]+)/, tn = /open\.spotify\.com\/(\w+)\/(\w+)/i, sn = /(?:www\.|go\.)?twitch\.tv\/([a-zA-Z0-9_]+|(videos?\/|\?video=)\d+)($|\?)/, nn = /tiktok\.com\/(?:player\/v1\/|share\/video\/|@[^/]+\/video\/)([0-9]+)/, pe = (e, s) => {
825
+ if (Array.isArray(e)) {
826
+ for (const n of e)
827
+ if (typeof n == "string" && pe(n, s) || pe(n.src, s))
828
+ return !0;
829
+ return !1;
830
+ }
831
+ return s(e);
832
+ }, ne = {
833
+ html: (e) => pe(e, (s) => bt.test(s) || tt.test(s)),
834
+ hls: (e) => pe(e, (s) => st.test(s)),
835
+ dash: (e) => pe(e, (s) => Zs.test(s)),
836
+ mux: (e) => Ks.test(e),
837
+ youtube: (e) => Js.test(e),
838
+ vimeo: (e) => Qs.test(e) && !tt.test(e) && !st.test(e),
839
+ wistia: (e) => en.test(e),
840
+ spotify: (e) => tn.test(e),
841
+ twitch: (e) => sn.test(e),
842
+ tiktok: (e) => nn.test(e)
843
+ }, an = L.forwardRef((e, s) => {
844
+ const n = bt.test(`${e.src}`) ? "audio" : "video";
845
+ return /* @__PURE__ */ L.createElement(n, { ...e, ref: s }, e.children);
846
+ });
847
+ var rn = an;
848
+ const ln = [
849
+ {
850
+ key: "hls",
851
+ name: "hls.js",
852
+ canPlay: ne.hls,
853
+ canEnablePIP: () => !0,
854
+ player: ae(
855
+ () => import(
856
+ /* webpackChunkName: 'reactPlayerHls' */
857
+ "./react-Pea5fum1.js"
858
+ )
859
+ )
860
+ },
861
+ {
862
+ key: "dash",
863
+ name: "dash.js",
864
+ canPlay: ne.dash,
865
+ canEnablePIP: () => !0,
866
+ player: ae(
867
+ () => import(
868
+ /* webpackChunkName: 'reactPlayerDash' */
869
+ "./react-dS1WBxxz.js"
870
+ )
871
+ )
872
+ },
873
+ {
874
+ key: "mux",
875
+ name: "Mux",
876
+ canPlay: ne.mux,
877
+ canEnablePIP: () => !0,
878
+ player: ae(
879
+ () => import(
880
+ /* webpackChunkName: 'reactPlayerMux' */
881
+ "./index-Da-xN4Yq.js"
882
+ )
883
+ )
884
+ },
885
+ {
886
+ key: "youtube",
887
+ name: "YouTube",
888
+ canPlay: ne.youtube,
889
+ player: ae(
890
+ () => import(
891
+ /* webpackChunkName: 'reactPlayerYouTube' */
892
+ "./react-RiBbsUDd.js"
893
+ )
894
+ )
895
+ },
896
+ {
897
+ key: "vimeo",
898
+ name: "Vimeo",
899
+ canPlay: ne.vimeo,
900
+ player: ae(
901
+ () => import(
902
+ /* webpackChunkName: 'reactPlayerVimeo' */
903
+ "./react-Cn4WlMcl.js"
904
+ )
905
+ )
906
+ },
907
+ {
908
+ key: "wistia",
909
+ name: "Wistia",
910
+ canPlay: ne.wistia,
911
+ canEnablePIP: () => !0,
912
+ player: ae(
913
+ () => import(
914
+ /* webpackChunkName: 'reactPlayerWistia' */
915
+ "./react-CwTJArKY.js"
916
+ )
917
+ )
918
+ },
919
+ {
920
+ key: "spotify",
921
+ name: "Spotify",
922
+ canPlay: ne.spotify,
923
+ canEnablePIP: () => !1,
924
+ player: ae(
925
+ () => import(
926
+ /* webpackChunkName: 'reactPlayerSpotify' */
927
+ "./react-COAP-MIW.js"
928
+ )
929
+ )
930
+ },
931
+ {
932
+ key: "twitch",
933
+ name: "Twitch",
934
+ canPlay: ne.twitch,
935
+ canEnablePIP: () => !1,
936
+ player: ae(
937
+ () => import(
938
+ /* webpackChunkName: 'reactPlayerTwitch' */
939
+ "./react-BxlQMOfz.js"
940
+ )
941
+ )
942
+ },
943
+ {
944
+ key: "tiktok",
945
+ name: "TikTok",
946
+ canPlay: ne.tiktok,
947
+ canEnablePIP: () => !1,
948
+ player: ae(
949
+ () => import(
950
+ /* webpackChunkName: 'reactPlayerTiktok' */
951
+ "./react-DkfS_atT.js"
952
+ )
953
+ )
954
+ },
955
+ {
956
+ key: "html",
957
+ name: "html",
958
+ canPlay: ne.html,
959
+ canEnablePIP: () => !0,
960
+ player: rn
961
+ }
962
+ ];
963
+ var Ge = ln;
964
+ const on = {
965
+ // Falsy values don't need to be defined
966
+ //
967
+ // native video attrs
968
+ // src: undefined,
969
+ // preload: undefined,
970
+ // crossOrigin: undefined,
971
+ // autoPlay: false,
972
+ // muted: false,
973
+ // loop: false,
974
+ // controls: false,
975
+ // playsInline: false,
976
+ // disableRemotePlayback: false,
977
+ width: "320px",
978
+ height: "180px",
979
+ // native video props
980
+ volume: 1,
981
+ playbackRate: 1,
982
+ // custom props
983
+ // playing: undefined,
984
+ // pip: false,
985
+ // light: false,
986
+ // fallback: null,
987
+ previewTabIndex: 0,
988
+ previewAriaLabel: "",
989
+ oEmbedUrl: "https://noembed.com/embed?url={url}"
990
+ }, xt = L.forwardRef((e, s) => {
991
+ const { playing: n, pip: r } = e, l = e.activePlayer, c = W(null), a = W(!0);
992
+ V(() => {
993
+ var m, y;
994
+ c.current && (c.current.paused && n === !0 && c.current.play(), !c.current.paused && n === !1 && c.current.pause(), c.current.playbackRate = (m = e.playbackRate) != null ? m : 1, c.current.volume = (y = e.volume) != null ? y : 1);
995
+ }), V(() => {
996
+ var m, y, u, _, o;
997
+ if (!(!c.current || !globalThis.document)) {
998
+ if (r && !document.pictureInPictureElement)
999
+ try {
1000
+ (y = (m = c.current).requestPictureInPicture) == null || y.call(m);
1001
+ } catch {
1002
+ }
1003
+ if (!r && document.pictureInPictureElement)
1004
+ try {
1005
+ (_ = (u = c.current).exitPictureInPicture) == null || _.call(u), (o = document.exitPictureInPicture) == null || o.call(document);
1006
+ } catch {
1007
+ }
1008
+ }
1009
+ }, [r]);
1010
+ const d = (m) => {
1011
+ var y, u;
1012
+ a.current = !0, (y = e.onReady) == null || y.call(e), (u = e.onLoadStart) == null || u.call(e, m);
1013
+ }, b = (m) => {
1014
+ var y, u;
1015
+ a.current && (a.current = !1, (y = e.onStart) == null || y.call(e, m)), (u = e.onPlay) == null || u.call(e, m);
1016
+ };
1017
+ if (!l)
1018
+ return null;
1019
+ const f = {}, x = ["onReady", "onStart"];
1020
+ for (const m in e)
1021
+ m.startsWith("on") && !x.includes(m) && (f[m] = e[m]);
1022
+ return /* @__PURE__ */ L.createElement(
1023
+ l,
1024
+ {
1025
+ ...f,
1026
+ style: e.style,
1027
+ className: e.className,
1028
+ slot: e.slot,
1029
+ ref: U(
1030
+ (m) => {
1031
+ c.current = m, typeof s == "function" ? s(m) : s !== null && (s.current = m);
1032
+ },
1033
+ [s]
1034
+ ),
1035
+ src: e.src,
1036
+ crossOrigin: e.crossOrigin,
1037
+ preload: e.preload,
1038
+ controls: e.controls,
1039
+ muted: e.muted,
1040
+ autoPlay: e.autoPlay,
1041
+ loop: e.loop,
1042
+ playsInline: e.playsInline,
1043
+ disableRemotePlayback: e.disableRemotePlayback,
1044
+ config: e.config,
1045
+ onLoadStart: d,
1046
+ onPlay: b
1047
+ },
1048
+ e.children
1049
+ );
1050
+ });
1051
+ xt.displayName = "Player";
1052
+ var cn = xt;
1053
+ const dn = ae(() => import(
1054
+ /* webpackChunkName: 'reactPlayerPreview' */
1055
+ "./Preview-DqAv16NS.js"
1056
+ )), ye = [], un = (e, s) => {
1057
+ const n = (l) => {
1058
+ for (const c of [...ye, ...e])
1059
+ if (l && c.canPlay(l))
1060
+ return c;
1061
+ return s || null;
1062
+ }, r = L.forwardRef((l, c) => {
1063
+ const a = { ...on, ...l }, { src: d, slot: b, className: f, style: x, width: m, height: y, fallback: u, wrapper: _ } = a, [o, N] = k(!!a.light);
1064
+ V(() => {
1065
+ a.light ? N(!0) : N(!1);
1066
+ }, [a.light]);
1067
+ const P = (p) => {
1068
+ var h;
1069
+ N(!1), (h = a.onClickPreview) == null || h.call(a, p);
1070
+ }, C = (p) => {
1071
+ if (!p) return null;
1072
+ const { light: h, playIcon: g, previewTabIndex: I, oEmbedUrl: v, previewAriaLabel: w } = a;
1073
+ return /* @__PURE__ */ L.createElement(
1074
+ dn,
1075
+ {
1076
+ src: p,
1077
+ light: h,
1078
+ playIcon: g,
1079
+ previewTabIndex: I,
1080
+ previewAriaLabel: w,
1081
+ oEmbedUrl: v,
1082
+ onClickPreview: P
1083
+ }
1084
+ );
1085
+ }, S = (p) => {
1086
+ var h, g;
1087
+ const I = n(p);
1088
+ if (!I) return null;
1089
+ const { style: v, width: w, height: A, wrapper: G } = a, $ = (h = a.config) == null ? void 0 : h[I.key];
1090
+ return /* @__PURE__ */ L.createElement(
1091
+ cn,
1092
+ {
1093
+ ...a,
1094
+ ref: c,
1095
+ activePlayer: (g = I.player) != null ? g : I,
1096
+ slot: G ? void 0 : b,
1097
+ className: G ? void 0 : f,
1098
+ style: G ? { display: "block", width: "100%", height: "100%" } : { display: "block", width: w, height: A, ...v },
1099
+ config: $
1100
+ }
1101
+ );
1102
+ }, M = _ ?? nt, R = u === !1 ? nt : _t;
1103
+ return /* @__PURE__ */ L.createElement(M, { slot: b, className: f, style: { width: m, height: y, ...x } }, /* @__PURE__ */ L.createElement(R, { fallback: u }, o ? C(d) : S(d)));
1104
+ });
1105
+ return r.displayName = "ReactPlayer", r.addCustomPlayer = (l) => {
1106
+ ye.push(l);
1107
+ }, r.removeCustomPlayers = () => {
1108
+ ye.length = 0;
1109
+ }, r.canPlay = (l) => {
1110
+ if (l) {
1111
+ for (const c of [...ye, ...e])
1112
+ if (c.canPlay(l))
1113
+ return !0;
1114
+ }
1115
+ return !1;
1116
+ }, r.canEnablePIP = (l) => {
1117
+ var c;
1118
+ if (l) {
1119
+ for (const a of [...ye, ...e])
1120
+ if (a.canPlay(l) && ((c = a.canEnablePIP) != null && c.call(a)))
1121
+ return !0;
1122
+ }
1123
+ return !1;
1124
+ }, r;
1125
+ }, nt = ({ children: e }) => e, mn = Ge[Ge.length - 1];
1126
+ var hn = un(Ge, mn);
1127
+ const fn = [
1128
+ [/pdf/, "pdf"],
1129
+ [/wordprocessingml|msword|\.doc/, "doc"],
1130
+ [/spreadsheetml|ms-excel|\.xls/, "xls"],
1131
+ [/csv/, "csv"],
1132
+ [/presentationml|ms-powerpoint|\.ppt/, "ppt"],
1133
+ [/zip|x-rar|x-7z|x-tar|x-gzip/, "zip"],
1134
+ [/plain|rtf/, "text"],
1135
+ [/markdown/, "markdown"]
1136
+ ];
1137
+ function yt(e) {
1138
+ return e.startsWith("video/") ? "video" : e.startsWith("audio/") ? "audio" : e.startsWith("image/") ? "image" : "document";
1139
+ }
1140
+ function gn(e) {
1141
+ const s = fn.find(([n]) => n.test(e));
1142
+ return s ? s[1] : "generic";
1143
+ }
1144
+ const bn = {
1145
+ video: xs,
1146
+ audio: bs,
1147
+ image: gs,
1148
+ document: ot
1149
+ }, xn = {
1150
+ pdf: Es,
1151
+ doc: _s,
1152
+ xls: Cs,
1153
+ csv: Ns,
1154
+ ppt: ws,
1155
+ zip: vs,
1156
+ text: ps,
1157
+ markdown: ys,
1158
+ generic: ot
1159
+ };
1160
+ function yn(e) {
1161
+ const s = yt(e);
1162
+ return s !== "document" ? bn[s] : xn[gn(e)];
1163
+ }
1164
+ const pn = ({
1165
+ title: e,
1166
+ amountText: s,
1167
+ thumbnail: n,
1168
+ source: r,
1169
+ mimeType: l,
1170
+ detail: c,
1171
+ onUnlock: a,
1172
+ onDownload: d,
1173
+ loading: b = !1,
1174
+ isPurchased: f = !1
1175
+ }) => {
1176
+ const x = r === void 0, m = f ? us : ms, y = yt(l), u = yn(l), [_, o] = k(!1), [N, P] = k(0), [C, S] = k(!1), [M, R] = k(!1), [p, h] = k(!1), [g, I] = k(null), [v, w] = k(!1), A = W(null), G = W(null), $ = W(null), Z = U(() => {
1177
+ const E = A.current;
1178
+ E && E.duration && !C && P(E.currentTime / E.duration), $.current = requestAnimationFrame(Z);
1179
+ }, [C]);
1180
+ V(() => (_ ? $.current = requestAnimationFrame(Z) : $.current !== null && cancelAnimationFrame($.current), () => {
1181
+ $.current !== null && cancelAnimationFrame($.current);
1182
+ }), [_, Z]), V(() => {
1183
+ const E = A.current;
1184
+ E && (_ ? E.play().catch(() => {
1185
+ }) : E.pause());
1186
+ }, [_]);
1187
+ const D = (E) => {
1188
+ const O = G.current;
1189
+ if (!O) return 0;
1190
+ const q = O.getBoundingClientRect();
1191
+ return Math.max(0, Math.min(1, (E.clientX - q.left) / q.width));
1192
+ }, z = (E) => {
1193
+ const O = A.current;
1194
+ O && O.duration && (O.currentTime = E * O.duration);
1195
+ }, Y = (E) => {
1196
+ E.stopPropagation(), S(!0);
1197
+ const O = D(E);
1198
+ P(O), z(O);
1199
+ };
1200
+ V(() => {
1201
+ if (!C) return;
1202
+ const E = (q) => P(D(q)), O = (q) => {
1203
+ S(!1), z(D(q));
1204
+ };
1205
+ return window.addEventListener("mousemove", E), window.addEventListener("mouseup", O), () => {
1206
+ window.removeEventListener("mousemove", E), window.removeEventListener("mouseup", O);
1207
+ };
1208
+ }, [C]);
1209
+ const ie = /* @__PURE__ */ i(
1210
+ "div",
1211
+ {
1212
+ role: "button",
1213
+ tabIndex: 0,
1214
+ className: `relative cursor-pointer overflow-hidden ${y === "audio" && !n ? "bg-black/5" : "bg-black"}${n ? "" : " aspect-video"}`,
1215
+ style: !n && g ? { aspectRatio: String(g) } : void 0,
1216
+ onClick: () => o((E) => !E),
1217
+ onKeyDown: (E) => {
1218
+ (E.key === "Enter" || E.key === " ") && o((O) => !O);
1219
+ },
1220
+ children: [
1221
+ n && /* @__PURE__ */ t("img", { src: n, alt: "", className: "block w-full" }),
1222
+ !n && /* @__PURE__ */ t("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ t(u, { className: "size-12 text-black/20", weight: "regular" }) }),
1223
+ /* @__PURE__ */ t("div", { className: "absolute inset-0", children: /* @__PURE__ */ t(
1224
+ hn,
1225
+ {
1226
+ ref: A,
1227
+ src: r,
1228
+ poster: n,
1229
+ width: "100%",
1230
+ height: "100%",
1231
+ onLoadStart: () => w(!0),
1232
+ onCanPlay: () => w(!1),
1233
+ onWaiting: () => w(!0),
1234
+ onLoadedMetadata: () => {
1235
+ const E = A.current;
1236
+ E && E.videoWidth && E.videoHeight && I(E.videoWidth / E.videoHeight);
1237
+ },
1238
+ onEnded: () => {
1239
+ o(!1), P(0);
1240
+ }
1241
+ }
1242
+ ) }),
1243
+ v && /* @__PURE__ */ t("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ t(Is, { className: "size-8 animate-spin text-white/80", weight: "bold" }) }),
1244
+ /* @__PURE__ */ i("div", { className: "absolute inset-x-0 bottom-0 flex items-center gap-2 bg-gradient-to-t from-black/60 to-transparent px-3 pb-2.5 pt-6", children: [
1245
+ /* @__PURE__ */ t(
1246
+ "button",
1247
+ {
1248
+ type: "button",
1249
+ onClick: (E) => {
1250
+ E.stopPropagation(), o((O) => !O);
1251
+ },
1252
+ className: "shrink-0 text-white",
1253
+ "aria-label": _ ? "Pause" : "Play",
1254
+ children: _ ? /* @__PURE__ */ t(Ss, { className: "size-5", weight: "fill" }) : /* @__PURE__ */ t(ks, { className: "size-5 translate-x-px", weight: "fill" })
1255
+ }
1256
+ ),
1257
+ /* @__PURE__ */ i(
1258
+ "div",
1259
+ {
1260
+ role: "slider",
1261
+ "aria-label": "Playback position",
1262
+ "aria-valuenow": Math.round(N * 100),
1263
+ "aria-valuemin": 0,
1264
+ "aria-valuemax": 100,
1265
+ tabIndex: 0,
1266
+ ref: G,
1267
+ className: "relative flex h-4 w-full cursor-pointer items-center",
1268
+ onMouseDown: Y,
1269
+ onClick: (E) => E.stopPropagation(),
1270
+ onMouseEnter: () => R(!0),
1271
+ onMouseLeave: () => R(!1),
1272
+ onKeyDown: (E) => {
1273
+ E.key === "ArrowRight" && z(Math.min(1, N + 0.05)), E.key === "ArrowLeft" && z(Math.max(0, N - 0.05));
1274
+ },
1275
+ children: [
1276
+ /* @__PURE__ */ t("div", { className: `w-full overflow-hidden rounded-full bg-white/30 transition-all duration-200 ${M || C ? "h-1.5" : "h-1"}`, children: /* @__PURE__ */ t("div", { className: "h-full rounded-full bg-white", style: { width: `${N * 100}%` } }) }),
1277
+ /* @__PURE__ */ t(
1278
+ "div",
1279
+ {
1280
+ className: `absolute size-3 -translate-x-1/2 rounded-full bg-white shadow transition-[opacity,transform] duration-200 ${M || C ? "scale-100 opacity-100" : "scale-0 opacity-0"}`,
1281
+ style: { left: `${N * 100}%` }
1282
+ }
1283
+ )
1284
+ ]
1285
+ }
1286
+ )
1287
+ ] })
1288
+ ]
1289
+ }
1290
+ );
1291
+ return /* @__PURE__ */ i("div", { className: "w-[280px] overflow-hidden rounded-3xl bg-white shadow-[0px_0px_0px_1px_rgba(0,0,0,0.04),0px_1px_2px_0px_rgba(0,0,0,0.04),0px_8px_32px_0px_rgba(0,0,0,0.1)]", children: [
1292
+ y === "image" || y === "document" ? /* @__PURE__ */ i("div", { className: `relative overflow-hidden bg-black/5${!n && (x || y === "document") ? " aspect-video" : ""}`, children: [
1293
+ n && /* @__PURE__ */ t(
1294
+ "img",
1295
+ {
1296
+ src: n,
1297
+ alt: "",
1298
+ className: "block w-full"
1299
+ }
1300
+ ),
1301
+ !n && !x && /* @__PURE__ */ t("div", { className: "absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ t(u, { className: "size-12 text-black/20", weight: "regular" }) }),
1302
+ !n && !x && y === "image" && /* @__PURE__ */ t(
1303
+ "img",
1304
+ {
1305
+ src: r,
1306
+ alt: e,
1307
+ className: "relative block w-full"
1308
+ }
1309
+ ),
1310
+ x ? /* @__PURE__ */ t("div", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ t("div", { className: "flex size-12 items-center justify-center rounded-full bg-black/60", children: /* @__PURE__ */ t(m, { className: "size-6 text-white", weight: "regular" }) }) }) : n && y === "image" && /* @__PURE__ */ t(
1311
+ "img",
1312
+ {
1313
+ src: r,
1314
+ alt: e,
1315
+ className: `absolute inset-0 h-full w-full object-cover transition-opacity duration-300 ${p ? "opacity-100" : "opacity-0"}`,
1316
+ onLoad: () => h(!0)
1317
+ }
1318
+ )
1319
+ ] }) : x ? /* @__PURE__ */ i("div", { className: `relative overflow-hidden bg-black/5${n ? "" : " aspect-video"}`, children: [
1320
+ n && /* @__PURE__ */ t("img", { src: n, alt: "", className: "block w-full" }),
1321
+ /* @__PURE__ */ t("div", { className: "absolute inset-0 flex items-center justify-center bg-black/30", children: /* @__PURE__ */ t("div", { className: "flex size-12 items-center justify-center rounded-full bg-black/60", children: /* @__PURE__ */ t(m, { className: "size-6 text-white", weight: "regular" }) }) })
1322
+ ] }) : ie,
1323
+ /* @__PURE__ */ i("div", { className: "px-4 pb-3 pt-3", children: [
1324
+ /* @__PURE__ */ t("p", { className: "mb-1.5 truncate text-base font-medium text-black", children: e }),
1325
+ /* @__PURE__ */ i("div", { className: "flex items-center gap-1", children: [
1326
+ /* @__PURE__ */ t(u, { className: "size-5 shrink-0 text-black/55", weight: "regular" }),
1327
+ c && /* @__PURE__ */ t("span", { className: "text-xs font-medium text-black/55", children: c }),
1328
+ f || r ? /* @__PURE__ */ i(oe, { children: [
1329
+ /* @__PURE__ */ t("span", { className: "text-xs font-medium text-black/55", children: "•" }),
1330
+ /* @__PURE__ */ t("span", { className: "text-xs font-medium text-[#008236]", children: "Purchased" }),
1331
+ /* @__PURE__ */ t(hs, { className: "size-4 text-[#008236]", weight: "bold" })
1332
+ ] }) : s && /* @__PURE__ */ i(oe, { children: [
1333
+ /* @__PURE__ */ t("span", { className: "text-xs font-medium text-black/55", children: "•" }),
1334
+ /* @__PURE__ */ t("span", { className: "text-xs font-medium text-black/55", children: s })
1335
+ ] })
1336
+ ] }),
1337
+ x ? (a || b) && /* @__PURE__ */ t(
1338
+ "button",
1339
+ {
1340
+ type: "button",
1341
+ onClick: a,
1342
+ disabled: b,
1343
+ className: "mt-3 inline-flex h-10 w-full items-center justify-center gap-2 rounded-full bg-[#121110] px-4 text-sm font-medium leading-none text-white disabled:opacity-70",
1344
+ children: b ? /* @__PURE__ */ i("span", { className: "flex items-center gap-1", children: [
1345
+ /* @__PURE__ */ t("span", { className: "size-1 rounded-full bg-white animate-bounce [animation-delay:-0.3s]" }),
1346
+ /* @__PURE__ */ t("span", { className: "size-1 rounded-full bg-white animate-bounce [animation-delay:-0.15s]" }),
1347
+ /* @__PURE__ */ t("span", { className: "size-1 rounded-full bg-white animate-bounce" })
1348
+ ] }) : /* @__PURE__ */ i(oe, { children: [
1349
+ /* @__PURE__ */ t(m, { className: "size-4", weight: "fill" }),
1350
+ f ? "Open" : "Unlock"
1351
+ ] })
1352
+ }
1353
+ ) : d && r && /* @__PURE__ */ i(
1354
+ "a",
1355
+ {
1356
+ href: `${r}${r.includes("?") ? "&" : "?"}d=true`,
1357
+ target: "_blank",
1358
+ rel: "noopener noreferrer",
1359
+ onClick: d,
1360
+ className: "mt-3 inline-flex h-10 w-full items-center justify-center gap-2 rounded-full bg-[#121110] px-4 text-sm font-medium leading-none !text-white",
1361
+ children: [
1362
+ /* @__PURE__ */ t(fs, { className: "size-4", weight: "bold" }),
1363
+ "Download"
1364
+ ]
1365
+ }
1366
+ )
1367
+ ] })
1368
+ ] });
1369
+ }, vn = ({ filled: e }) => /* @__PURE__ */ t("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ t(
822
1370
  "path",
823
1371
  {
824
1372
  d: "M4.667 7.333l2.666-6A1.333 1.333 0 018.667 2v2.667a.667.667 0 00.666.666h3.764a1.334 1.334 0 011.192 1.93l-2.333 4.666a1.333 1.333 0 01-1.193.738H4.667m0-5.334v5.334m0-5.334H2.667a1.333 1.333 0 00-1.334 1.334v2.666a1.333 1.333 0 001.334 1.334h2",
@@ -826,9 +1374,9 @@ const Cs = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
826
1374
  strokeWidth: "1.33",
827
1375
  strokeLinecap: "round",
828
1376
  strokeLinejoin: "round",
829
- fill: t ? "currentColor" : "none"
1377
+ fill: e ? "currentColor" : "none"
830
1378
  }
831
- ) }), Ns = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ e(
1379
+ ) }), wn = ({ filled: e }) => /* @__PURE__ */ t("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ t(
832
1380
  "path",
833
1381
  {
834
1382
  d: "M11.333 8.667l-2.666 6A1.333 1.333 0 017.333 14v-2.667a.667.667 0 00-.666-.666H2.903a1.334 1.334 0 01-1.192-1.93l2.333-4.666a1.333 1.333 0 011.193-.738h6.096m0 5.334V3.333m0 5.334h2a1.333 1.333 0 001.334-1.334V4.667a1.333 1.333 0 00-1.334-1.334h-2",
@@ -836,216 +1384,243 @@ const Cs = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
836
1384
  strokeWidth: "1.33",
837
1385
  strokeLinecap: "round",
838
1386
  strokeLinejoin: "round",
839
- fill: t ? "currentColor" : "none"
1387
+ fill: e ? "currentColor" : "none"
840
1388
  }
841
- ) }), vs = ({
842
- selected: t,
1389
+ ) }), Nn = ({
1390
+ selected: e,
843
1391
  onVoteUp: s,
844
1392
  onVoteDown: n
845
1393
  }) => /* @__PURE__ */ i("div", { className: "message-vote-buttons", children: [
846
- /* @__PURE__ */ e(
1394
+ /* @__PURE__ */ t(
847
1395
  "button",
848
1396
  {
849
1397
  type: "button",
850
- className: `message-vote-button${t === "up" ? " message-vote-button--selected" : ""} focus-ring`,
1398
+ className: `message-vote-button${e === "up" ? " message-vote-button--selected" : ""} focus-ring`,
851
1399
  onClick: s,
852
1400
  "aria-label": "Helpful",
853
- "aria-pressed": t === "up",
854
- children: /* @__PURE__ */ e(Cs, { filled: t === "up" })
1401
+ "aria-pressed": e === "up",
1402
+ children: /* @__PURE__ */ t(vn, { filled: e === "up" })
855
1403
  }
856
1404
  ),
857
- /* @__PURE__ */ e(
1405
+ /* @__PURE__ */ t(
858
1406
  "button",
859
1407
  {
860
1408
  type: "button",
861
- className: `message-vote-button${t === "down" ? " message-vote-button--selected" : ""} focus-ring`,
1409
+ className: `message-vote-button${e === "down" ? " message-vote-button--selected" : ""} focus-ring`,
862
1410
  onClick: n,
863
1411
  "aria-label": "Not helpful",
864
- "aria-pressed": t === "down",
865
- children: /* @__PURE__ */ e(Ns, { filled: t === "down" })
1412
+ "aria-pressed": e === "down",
1413
+ children: /* @__PURE__ */ t(wn, { filled: e === "down" })
866
1414
  }
867
1415
  )
868
- ] }), ps = (t) => {
869
- var ne, me;
1416
+ ] }), Cn = (e) => {
1417
+ var Ne, Ce, de, _e, Ee, Ie, ue, T;
870
1418
  const {
871
1419
  additionalMessageInputProps: s,
872
1420
  chatbotVotingEnabled: n,
873
- editing: o,
874
- endOfGroup: l,
1421
+ onAttachmentUnlock: r,
1422
+ onAttachmentDownload: l,
1423
+ editing: c,
1424
+ endOfGroup: a,
875
1425
  firstOfGroup: d,
876
- groupedByUser: r,
877
- handleAction: c,
878
- handleOpenThread: f,
879
- handleRetry: h,
880
- highlighted: x,
881
- isMessageAIGenerated: g,
882
- isMyMessage: p,
883
- message: a,
884
- renderText: w,
885
- threadList: _
886
- } = t, { client: b } = je("CustomMessage"), [M, E] = k(!1), y = xt(a.id), { selected: S, voteUp: R, voteDown: m } = bs(a), {
887
- Attachment: u = Ct,
888
- EditMessageModal: C = Nt,
889
- MessageBlocked: T = vt,
890
- MessageBouncePrompt: v = pt,
891
- MessageDeleted: N = yt,
892
- MessageIsThreadReplyInChannelButtonIndicator: F = wt,
893
- MessageRepliesCountButton: Q = _t,
894
- ReminderNotification: Y = Et,
895
- StreamedMessageText: Z = St,
896
- PinIndicator: L
897
- } = bt("CustomMessage"), W = It(a), j = Mt(a), re = Se(
898
- () => g == null ? void 0 : g(a),
899
- [g, a]
900
- ), z = Se(
901
- () => !a.shared_location && !a.attachments ? [] : a.shared_location ? [a.shared_location, ...a.attachments ?? []] : a.attachments,
902
- [a]
1426
+ groupedByUser: b,
1427
+ handleAction: f,
1428
+ handleOpenThread: x,
1429
+ handleRetry: m,
1430
+ highlighted: y,
1431
+ isMessageAIGenerated: u,
1432
+ isMyMessage: _,
1433
+ message: o,
1434
+ renderText: N,
1435
+ threadList: P
1436
+ } = e, { client: C } = rt("CustomMessage"), { channel: S } = Te("CustomMessage"), [M, R] = k(!1), [p, h] = k(!1), [g, I] = k(void 0), v = Pt(o.id), { selected: w, voteUp: A, voteDown: G } = Xs(o), {
1437
+ Attachment: $ = Rt,
1438
+ EditMessageModal: Z = Dt,
1439
+ MessageBlocked: D = At,
1440
+ MessageBouncePrompt: z = Lt,
1441
+ MessageDeleted: Y = Ot,
1442
+ MessageIsThreadReplyInChannelButtonIndicator: ie = Ut,
1443
+ MessageRepliesCountButton: E = Ft,
1444
+ ReminderNotification: O = $t,
1445
+ StreamedMessageText: q = zt,
1446
+ PinIndicator: j
1447
+ } = Tt("CustomMessage"), B = jt(o), ee = Bt(o), re = ze(
1448
+ () => u == null ? void 0 : u(o),
1449
+ [u, o]
1450
+ ), K = ze(
1451
+ () => !o.shared_location && !o.attachments ? [] : o.shared_location ? [o.shared_location, ...o.attachments ?? []] : o.attachments,
1452
+ [o]
903
1453
  );
904
- if (kt(a))
1454
+ if (Ht(o))
905
1455
  return null;
906
- if (a.deleted_at || a.type === "deleted")
907
- return /* @__PURE__ */ e(N, { message: a });
908
- if (Tt(a))
909
- return /* @__PURE__ */ e(T, {});
910
- const te = !_ && !!a.reply_count, se = !_ && a.show_in_channel && a.parent_id, O = a.status === "failed" && ((ne = a.error) == null ? void 0 : ne.status) !== 403, P = Dt(a);
911
- let B;
912
- O ? B = () => h(a) : P && (B = () => E(!0));
913
- const H = p(), oe = D(
1456
+ if (o.deleted_at || o.type === "deleted")
1457
+ return /* @__PURE__ */ t(Y, { message: o });
1458
+ if (Gt(o))
1459
+ return /* @__PURE__ */ t(D, {});
1460
+ const De = !P && !!o.reply_count, te = !P && o.show_in_channel && o.parent_id, ce = o.status === "failed" && ((Ne = o.error) == null ? void 0 : Ne.status) !== 403, be = Vt(o);
1461
+ let J;
1462
+ ce ? J = () => m(o) : be && (J = () => R(!0));
1463
+ const le = _(), ve = F(
914
1464
  "str-chat__message str-chat__message-simple",
915
- `str-chat__message--${a.type}`,
916
- `str-chat__message--${a.status}`,
917
- H ? "str-chat__message--me str-chat__message-simple--me" : "str-chat__message--other",
918
- a.text ? "str-chat__message--has-text" : "has-no-text",
1465
+ `str-chat__message--${o.type}`,
1466
+ `str-chat__message--${o.status}`,
1467
+ le ? "str-chat__message--me str-chat__message-simple--me" : "str-chat__message--other",
1468
+ o.text ? "str-chat__message--has-text" : "has-no-text",
919
1469
  {
920
- "str-chat__message--has-attachment": W,
921
- "str-chat__message--highlighted": x,
922
- "str-chat__message--pinned pinned-message": a.pinned,
923
- "str-chat__message--with-reactions": j,
924
- "str-chat__message-send-can-be-retried": (a == null ? void 0 : a.status) === "failed" && ((me = a == null ? void 0 : a.error) == null ? void 0 : me.status) !== 403,
925
- "str-chat__message-with-thread-link": te || se,
926
- "str-chat__virtual-message__wrapper--end": l,
1470
+ "str-chat__message--has-attachment": B,
1471
+ "str-chat__message--highlighted": y,
1472
+ "str-chat__message--pinned pinned-message": o.pinned,
1473
+ "str-chat__message--with-reactions": ee,
1474
+ "str-chat__message-send-can-be-retried": (o == null ? void 0 : o.status) === "failed" && ((Ce = o == null ? void 0 : o.error) == null ? void 0 : Ce.status) !== 403,
1475
+ "str-chat__message-with-thread-link": De || te,
1476
+ "str-chat__virtual-message__wrapper--end": a,
927
1477
  "str-chat__virtual-message__wrapper--first": d,
928
- "str-chat__virtual-message__wrapper--group": r
1478
+ "str-chat__virtual-message__wrapper--group": b
929
1479
  }
930
- ), ve = a.poll_id && b.polls.fromState(a.poll_id), q = us(a), J = Re(a), le = !!(z != null && z.length && !a.quoted_message), ee = J && H && le;
931
- return /* @__PURE__ */ i(de, { children: [
932
- o && /* @__PURE__ */ e(
933
- C,
1480
+ ), xe = o.poll_id && C.polls.fromState(o.poll_id), Ae = Gs(o), he = Ye(o), fe = Hs(o), se = !!(K != null && K.length && !o.quoted_message), we = he && le && se;
1481
+ return /* @__PURE__ */ i(oe, { children: [
1482
+ c && /* @__PURE__ */ t(
1483
+ Z,
934
1484
  {
935
1485
  additionalMessageInputProps: s
936
1486
  }
937
1487
  ),
938
- M && /* @__PURE__ */ e(
939
- Rt,
1488
+ M && /* @__PURE__ */ t(
1489
+ Yt,
940
1490
  {
941
- MessageBouncePrompt: v,
942
- onClose: () => E(!1),
1491
+ MessageBouncePrompt: z,
1492
+ onClose: () => R(!1),
943
1493
  open: M
944
1494
  }
945
1495
  ),
946
- /* @__PURE__ */ i("div", { className: oe, children: [
947
- L && /* @__PURE__ */ e(L, {}),
948
- !!y && /* @__PURE__ */ e(Y, { reminder: y }),
949
- a.user && /* @__PURE__ */ e(
950
- ae,
1496
+ /* @__PURE__ */ i("div", { className: ve, children: [
1497
+ j && /* @__PURE__ */ t(j, {}),
1498
+ !!v && /* @__PURE__ */ t(O, { reminder: v }),
1499
+ o.user && /* @__PURE__ */ t(
1500
+ me,
951
1501
  {
952
1502
  className: "str-chat__avatar str-chat__message-sender-avatar",
953
- id: a.user.id,
954
- image: a.user.image,
955
- name: a.user.name || a.user.id
1503
+ id: o.user.id,
1504
+ image: o.user.image,
1505
+ name: o.user.name || o.user.id
956
1506
  }
957
1507
  ),
958
- /* @__PURE__ */ e(
1508
+ /* @__PURE__ */ t(
959
1509
  "div",
960
1510
  {
961
- className: D("str-chat__message-inner", {
962
- "str-chat__simple-message--error-failed": O || P
1511
+ className: F("str-chat__message-inner", {
1512
+ "str-chat__simple-message--error-failed": ce || be
963
1513
  }),
964
1514
  "data-testid": "message-inner",
965
- onClick: B,
966
- onKeyDown: B,
967
- role: B ? "button" : void 0,
968
- tabIndex: B ? 0 : void 0,
1515
+ onClick: J,
1516
+ onKeyDown: J,
1517
+ role: J ? "button" : void 0,
1518
+ tabIndex: J ? 0 : void 0,
969
1519
  style: {
970
1520
  // Force margins to 0 to prevent hover layout shift
971
1521
  // Stream Chat CSS sets margin-inline-end/start to 78px, then 0 on hover
972
1522
  marginInlineEnd: 0,
973
1523
  marginInlineStart: 0
974
1524
  },
975
- children: q ? (
1525
+ children: fe ? /* @__PURE__ */ i("div", { className: "flex flex-col gap-1", children: [
1526
+ /* @__PURE__ */ t(
1527
+ pn,
1528
+ {
1529
+ title: ((de = o.metadata) == null ? void 0 : de.attachment_title) ?? "",
1530
+ mimeType: ((_e = o.metadata) == null ? void 0 : _e.attachment_mime_type) ?? "application/octet-stream",
1531
+ thumbnail: (Ee = o.metadata) == null ? void 0 : Ee.attachment_thumbnail,
1532
+ amountText: (Ie = o.metadata) == null ? void 0 : Ie.amount_text,
1533
+ detail: (ue = o.metadata) == null ? void 0 : ue.attachment_detail,
1534
+ source: g,
1535
+ isPurchased: ((T = o.metadata) == null ? void 0 : T.payment_status) === "paid",
1536
+ loading: p,
1537
+ onUnlock: r ? async () => {
1538
+ h(!0);
1539
+ try {
1540
+ I(await r(o, S));
1541
+ } catch {
1542
+ } finally {
1543
+ h(!1);
1544
+ }
1545
+ } : void 0,
1546
+ onDownload: g && l ? () => l(o, S) : void 0
1547
+ }
1548
+ ),
1549
+ o.text && /* @__PURE__ */ t("div", { className: "str-chat__message-bubble-wrapper", children: /* @__PURE__ */ t("div", { className: "str-chat__message-bubble", children: /* @__PURE__ */ t(qe, { message: o, renderText: N }) }) })
1550
+ ] }) : Ae ? (
976
1551
  /* Tip-only messages render as a standalone bubble */
977
- /* @__PURE__ */ e(_e, { message: a, standalone: !0 })
1552
+ /* @__PURE__ */ t(Fe, { message: o, standalone: !0 })
978
1553
  ) : /* @__PURE__ */ i("div", { className: "str-chat__message-bubble-wrapper", children: [
979
1554
  /* @__PURE__ */ i("div", { className: "str-chat__message-bubble", children: [
980
- J && !ee && /* @__PURE__ */ e(
981
- _e,
1555
+ he && !we && /* @__PURE__ */ t(
1556
+ Fe,
982
1557
  {
983
- message: a,
984
- hasAttachment: le,
985
- isMyMessage: H
1558
+ message: o,
1559
+ hasAttachment: se,
1560
+ isMyMessage: le
986
1561
  }
987
1562
  ),
988
- ve && /* @__PURE__ */ e(Lt, { poll: ve }),
989
- z != null && z.length && !a.quoted_message ? /* @__PURE__ */ e(
990
- u,
1563
+ xe && /* @__PURE__ */ t(Wt, { poll: xe }),
1564
+ K != null && K.length && !o.quoted_message ? /* @__PURE__ */ t(
1565
+ $,
991
1566
  {
992
- actionHandler: c,
993
- attachments: z
1567
+ actionHandler: f,
1568
+ attachments: K
994
1569
  }
995
1570
  ) : null,
996
- re ? /* @__PURE__ */ e(
997
- Z,
1571
+ re ? /* @__PURE__ */ t(
1572
+ q,
998
1573
  {
999
- message: a,
1000
- renderText: w
1574
+ message: o,
1575
+ renderText: N
1001
1576
  }
1002
- ) : /* @__PURE__ */ e(At, { message: a, renderText: w }),
1003
- /* @__PURE__ */ e(Pt, {})
1577
+ ) : /* @__PURE__ */ t(qe, { message: o, renderText: N }),
1578
+ /* @__PURE__ */ t(qt, {})
1004
1579
  ] }),
1005
- (!J || ee) && /* @__PURE__ */ e(
1006
- _e,
1580
+ (!he || we) && /* @__PURE__ */ t(
1581
+ Fe,
1007
1582
  {
1008
- message: a,
1009
- hasAttachment: le,
1010
- isMyMessage: H
1583
+ message: o,
1584
+ hasAttachment: se,
1585
+ isMyMessage: le
1011
1586
  }
1012
1587
  ),
1013
- n && J && /* @__PURE__ */ e(
1014
- vs,
1588
+ n && he && /* @__PURE__ */ t(
1589
+ Nn,
1015
1590
  {
1016
- selected: S,
1017
- onVoteUp: R,
1018
- onVoteDown: m
1591
+ selected: w,
1592
+ onVoteUp: A,
1593
+ onVoteDown: G
1019
1594
  }
1020
1595
  )
1021
1596
  ] })
1022
1597
  }
1023
1598
  ),
1024
- te && /* @__PURE__ */ e(
1025
- Q,
1599
+ De && /* @__PURE__ */ t(
1600
+ E,
1026
1601
  {
1027
- onClick: f,
1028
- reply_count: a.reply_count
1602
+ onClick: x,
1603
+ reply_count: o.reply_count
1029
1604
  }
1030
1605
  ),
1031
- se && /* @__PURE__ */ e(F, {})
1032
- ] }, a.id)
1606
+ te && /* @__PURE__ */ t(ie, {})
1607
+ ] }, o.id)
1033
1608
  ] });
1034
- }, ys = G.memo(
1035
- ps,
1036
- gt
1037
- ), ws = (t) => {
1038
- const s = ze("CustomMessage");
1039
- return /* @__PURE__ */ e(ys, { ...s, ...t });
1040
- }, _s = (t) => ({
1041
- linkPreviews: Array.from(t.previews.values()).filter(
1042
- (s) => Be.previewIsLoaded(s) || Be.previewIsLoading(s)
1609
+ }, _n = L.memo(
1610
+ Cn,
1611
+ (e, s) => e.chatbotVotingEnabled !== s.chatbotVotingEnabled || e.onAttachmentUnlock !== s.onAttachmentUnlock || e.onAttachmentDownload !== s.onAttachmentDownload ? !1 : Mt(e, s)
1612
+ ), En = (e) => {
1613
+ const s = lt("CustomMessage");
1614
+ return /* @__PURE__ */ t(_n, { ...s, ...e });
1615
+ }, In = (e) => ({
1616
+ linkPreviews: Array.from(e.previews.values()).filter(
1617
+ (s) => Qe.previewIsLoaded(s) || Qe.previewIsLoading(s)
1043
1618
  )
1044
- }), Es = ({
1045
- link: t,
1619
+ }), Sn = ({
1620
+ link: e,
1046
1621
  onDismiss: s
1047
1622
  }) => {
1048
- const { og_scrape_url: n, title: o, image_url: l } = t;
1623
+ const { og_scrape_url: n, title: r, image_url: l } = e;
1049
1624
  return /* @__PURE__ */ i(
1050
1625
  "a",
1051
1626
  {
@@ -1054,140 +1629,140 @@ const Cs = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
1054
1629
  rel: "noopener noreferrer",
1055
1630
  className: "relative w-full block rounded-[24px] bg-[#121110] p-2 no-underline transition-opacity hover:opacity-90",
1056
1631
  children: [
1057
- l && /* @__PURE__ */ e(
1632
+ l && /* @__PURE__ */ t(
1058
1633
  "img",
1059
1634
  {
1060
1635
  src: l,
1061
- alt: o || "",
1636
+ alt: r || "",
1062
1637
  className: "h-[148px] w-full rounded-[20px] object-cover"
1063
1638
  }
1064
1639
  ),
1065
- /* @__PURE__ */ e(
1640
+ /* @__PURE__ */ t(
1066
1641
  "button",
1067
1642
  {
1068
1643
  type: "button",
1069
- onClick: (r) => {
1070
- r.preventDefault(), s(n);
1644
+ onClick: (a) => {
1645
+ a.preventDefault(), s(n);
1071
1646
  },
1072
1647
  className: "absolute right-4 top-4 flex size-6 items-center justify-center rounded-full border border-white/40 bg-white/70 backdrop-blur-2xl focus-ring",
1073
1648
  "aria-label": "Close link preview",
1074
- children: /* @__PURE__ */ e(De, { className: "size-4 text-black/90" })
1649
+ children: /* @__PURE__ */ t(Ve, { className: "size-4 text-black/90" })
1075
1650
  }
1076
1651
  ),
1077
1652
  /* @__PURE__ */ i("div", { className: "p-2", children: [
1078
- o && /* @__PURE__ */ e("div", { className: "text-[14px] font-medium leading-5 text-white", children: o }),
1079
- /* @__PURE__ */ e("div", { className: "text-[12px] leading-4 text-white/55", children: n })
1653
+ r && /* @__PURE__ */ t("div", { className: "text-[14px] font-medium leading-5 text-white", children: r }),
1654
+ /* @__PURE__ */ t("div", { className: "text-[12px] leading-4 text-white/55", children: n })
1080
1655
  ] })
1081
1656
  ]
1082
1657
  }
1083
1658
  );
1084
- }, Ss = () => {
1085
- const { linkPreviewsManager: t } = Ft(), { linkPreviews: s } = Ot(
1086
- t.state,
1087
- _s
1659
+ }, kn = () => {
1660
+ const { linkPreviewsManager: e } = Xt(), { linkPreviews: s } = Zt(
1661
+ e.state,
1662
+ In
1088
1663
  ), n = (l) => {
1089
- t.dismissPreview(l);
1664
+ e.dismissPreview(l);
1090
1665
  };
1091
- return s.length > 0 ? /* @__PURE__ */ e("div", { className: "flex flex-col items-center w-full gap-2 mb-4", children: s.map((l) => /* @__PURE__ */ e(
1092
- Es,
1666
+ return s.length > 0 ? /* @__PURE__ */ t("div", { className: "flex flex-col items-center w-full gap-2 mb-4", children: s.map((l) => /* @__PURE__ */ t(
1667
+ Sn,
1093
1668
  {
1094
1669
  link: l,
1095
1670
  onDismiss: n
1096
1671
  },
1097
1672
  l.og_scrape_url
1098
1673
  )) }) : null;
1099
- }, Is = () => {
1100
- const { handleSubmit: t } = Bt(), s = Gt();
1101
- return /* @__PURE__ */ i(de, { children: [
1102
- /* @__PURE__ */ e("div", { className: "left-container", children: /* @__PURE__ */ e($t, {}) }),
1674
+ }, Mn = () => {
1675
+ const { handleSubmit: e } = Jt(), s = Qt();
1676
+ return /* @__PURE__ */ i(oe, { children: [
1677
+ /* @__PURE__ */ t("div", { className: "left-container", children: /* @__PURE__ */ t(es, {}) }),
1103
1678
  /* @__PURE__ */ i("div", { className: "central-container min-w-0 w-full p-2 bg-white rounded-[1.5rem] shadow-[0_4px_16px_0_rgba(0,0,0,0.08),0_1px_2px_0_rgba(0,0,0,0.04),0_0_0_1px_rgba(0,0,0,0.04)]", children: [
1104
- /* @__PURE__ */ e(jt, {}),
1105
- /* @__PURE__ */ e(Ss, {}),
1106
- /* @__PURE__ */ e(zt, {}),
1679
+ /* @__PURE__ */ t(ts, {}),
1680
+ /* @__PURE__ */ t(kn, {}),
1681
+ /* @__PURE__ */ t(ss, {}),
1107
1682
  /* @__PURE__ */ i("div", { className: "flex", children: [
1108
- /* @__PURE__ */ e("div", { className: "w-full ml-2 mr-4 self-center leading-[0]", children: /* @__PURE__ */ e(
1109
- Ht,
1683
+ /* @__PURE__ */ t("div", { className: "w-full ml-2 mr-4 self-center leading-[0]", children: /* @__PURE__ */ t(
1684
+ ns,
1110
1685
  {
1111
1686
  className: "w-full resize-none outline-none leading-6",
1112
1687
  autoFocus: !0,
1113
1688
  maxRows: 4
1114
1689
  }
1115
1690
  ) }),
1116
- /* @__PURE__ */ e(
1691
+ /* @__PURE__ */ t(
1117
1692
  "button",
1118
1693
  {
1119
1694
  "aria-label": "Send",
1120
1695
  className: "str-chat__send-button mt-auto flex justify-center items-center flex-shrink-0 rounded-full size-8 bg-[#121110] disabled:bg-[#F1F0EE] disabled:text-black/20 text-white focus-ring",
1121
1696
  "data-testid": "send-button",
1122
1697
  disabled: !s,
1123
- onClick: t,
1698
+ onClick: e,
1124
1699
  type: "button",
1125
- children: /* @__PURE__ */ e(Kt, { className: "size-4" })
1700
+ children: /* @__PURE__ */ t(Ms, { className: "size-4" })
1126
1701
  }
1127
1702
  )
1128
1703
  ] })
1129
1704
  ] })
1130
1705
  ] });
1131
- }, Ms = ({
1132
- renderActions: t
1706
+ }, Pn = ({
1707
+ renderActions: e
1133
1708
  }) => /* @__PURE__ */ i("div", { className: "message-input flex items-center gap-2 p-4", children: [
1134
- t && (t == null ? void 0 : t()),
1135
- /* @__PURE__ */ e(Ut, { Input: Is })
1136
- ] }), ks = [
1709
+ e && (e == null ? void 0 : e()),
1710
+ /* @__PURE__ */ t(Kt, { Input: Mn })
1711
+ ] }), Tn = [
1137
1712
  "SYSTEM_DM_AGENT_PAUSED",
1138
1713
  "SYSTEM_DM_AGENT_RESUMED"
1139
- ], Ts = {
1714
+ ], Rn = {
1140
1715
  SYSTEM_DM_AGENT_PAUSED: "DM Agent has left the conversation",
1141
1716
  SYSTEM_DM_AGENT_RESUMED: "DM Agent has rejoined the conversation"
1142
- }, Ds = [
1717
+ }, Dn = [
1143
1718
  "SYSTEM_AGE_SAFETY_BLOCKED"
1144
- ], Rs = {
1719
+ ], An = {
1145
1720
  SYSTEM_AGE_SAFETY_BLOCKED: "This user isn’t able to reply because they don’t meet our age safety guidelines."
1146
- }, Ee = "age safety guidelines.", Ls = "https://linktr.ee/s/about/contact", $e = (t) => ks.includes(t), As = (t) => Ds.includes(t), Ps = (t) => {
1147
- var o;
1148
- const s = (o = t.metadata) == null ? void 0 : o.custom_type;
1149
- if ($e(s))
1721
+ }, $e = "age safety guidelines.", Ln = "https://linktr.ee/s/about/contact", at = (e) => Tn.includes(e), On = (e) => Dn.includes(e), Un = (e) => {
1722
+ var r;
1723
+ const s = (r = e.metadata) == null ? void 0 : r.custom_type;
1724
+ if (at(s))
1150
1725
  return {
1151
1726
  kind: "dm-agent",
1152
1727
  type: s
1153
1728
  };
1154
- if (As(s))
1729
+ if (On(s))
1155
1730
  return {
1156
1731
  kind: "age-safety",
1157
1732
  type: s
1158
1733
  };
1159
- const n = t.dm_agent_system_type;
1160
- if ($e(n))
1734
+ const n = e.dm_agent_system_type;
1735
+ if (at(n))
1161
1736
  return {
1162
1737
  kind: "dm-agent",
1163
1738
  type: n
1164
1739
  };
1165
- }, Fs = (t) => {
1166
- const s = t.indexOf(Ee);
1740
+ }, Fn = (e) => {
1741
+ const s = e.indexOf($e);
1167
1742
  if (s === -1)
1168
- return t;
1169
- const n = s + Ee.length;
1170
- return /* @__PURE__ */ i(de, { children: [
1171
- t.slice(0, s),
1172
- /* @__PURE__ */ e(
1743
+ return e;
1744
+ const n = s + $e.length;
1745
+ return /* @__PURE__ */ i(oe, { children: [
1746
+ e.slice(0, s),
1747
+ /* @__PURE__ */ t(
1173
1748
  "a",
1174
1749
  {
1175
- href: Ls,
1750
+ href: Ln,
1176
1751
  target: "_blank",
1177
1752
  rel: "noopener noreferrer",
1178
1753
  className: "mes-age-safety-system-message__emphasis font-medium text-inherit underline",
1179
- children: Ee
1754
+ children: $e
1180
1755
  }
1181
1756
  ),
1182
- t.slice(n)
1757
+ e.slice(n)
1183
1758
  ] });
1184
- }, Os = (t) => {
1185
- var o, l;
1186
- const s = t.message.hide_date === !0, n = Ps(
1187
- t.message
1759
+ }, $n = (e) => {
1760
+ var r, l;
1761
+ const s = e.message.hide_date === !0, n = Un(
1762
+ e.message
1188
1763
  );
1189
1764
  if ((n == null ? void 0 : n.kind) === "dm-agent") {
1190
- const d = ((o = t.message.text) == null ? void 0 : o.trim()) || Ts[n.type];
1765
+ const c = ((r = e.message.text) == null ? void 0 : r.trim()) || Rn[n.type];
1191
1766
  return /* @__PURE__ */ i("div", { className: "str-chat__message--system", "data-testid": "message-system", children: [
1192
1767
  /* @__PURE__ */ i(
1193
1768
  "div",
@@ -1196,8 +1771,8 @@ const Cs = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
1196
1771
  "data-testid": "dm-agent-system-message",
1197
1772
  "data-dm-agent-system-type": n.type,
1198
1773
  children: [
1199
- /* @__PURE__ */ e(
1200
- Qt,
1774
+ /* @__PURE__ */ t(
1775
+ Ps,
1201
1776
  {
1202
1777
  size: 16,
1203
1778
  weight: "regular",
@@ -1205,15 +1780,15 @@ const Cs = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
1205
1780
  className: "mes-dm-agent-system-message__sparkle shrink-0"
1206
1781
  }
1207
1782
  ),
1208
- /* @__PURE__ */ e("p", { className: "mes-dm-agent-system-message__text m-0 text-center text-[14px] font-normal leading-5 tracking-[0.21px]", children: d })
1783
+ /* @__PURE__ */ t("p", { className: "mes-dm-agent-system-message__text m-0 text-center text-[14px] font-normal leading-5 tracking-[0.21px]", children: c })
1209
1784
  ]
1210
1785
  }
1211
1786
  ),
1212
- !s && /* @__PURE__ */ e(we, { message: t.message })
1787
+ !s && /* @__PURE__ */ t(Ue, { message: e.message })
1213
1788
  ] });
1214
1789
  }
1215
1790
  if ((n == null ? void 0 : n.kind) === "age-safety") {
1216
- const d = ((l = t.message.text) == null ? void 0 : l.trim()) || Rs[n.type];
1791
+ const c = ((l = e.message.text) == null ? void 0 : l.trim()) || An[n.type];
1217
1792
  return /* @__PURE__ */ i("div", { className: "str-chat__message--system", "data-testid": "message-system", children: [
1218
1793
  /* @__PURE__ */ i(
1219
1794
  "div",
@@ -1222,8 +1797,8 @@ const Cs = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
1222
1797
  "data-testid": "age-safety-system-message",
1223
1798
  "data-age-safety-system-type": n.type,
1224
1799
  children: [
1225
- /* @__PURE__ */ e(
1226
- es,
1800
+ /* @__PURE__ */ t(
1801
+ Ts,
1227
1802
  {
1228
1803
  size: 24,
1229
1804
  weight: "duotone",
@@ -1232,28 +1807,28 @@ const Cs = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
1232
1807
  "data-testid": "age-safety-system-message-icon"
1233
1808
  }
1234
1809
  ),
1235
- /* @__PURE__ */ e("div", { className: "mes-age-safety-system-message__content min-w-0 flex-[1_0_0]", children: /* @__PURE__ */ e("p", { className: "m-0 text-balance text-left text-[12px] font-normal leading-4 tracking-[0.21px] text-[color:var(--text-warning-on-warning,#894b00)]", children: Fs(d) }) })
1810
+ /* @__PURE__ */ t("div", { className: "mes-age-safety-system-message__content min-w-0 flex-[1_0_0]", children: /* @__PURE__ */ t("p", { className: "m-0 text-balance text-left text-[12px] font-normal leading-4 tracking-[0.21px] text-[color:var(--text-warning-on-warning,#894b00)]", children: Fn(c) }) })
1236
1811
  ]
1237
1812
  }
1238
1813
  ),
1239
- !s && /* @__PURE__ */ e(we, { message: t.message })
1814
+ !s && /* @__PURE__ */ t(Ue, { message: e.message })
1240
1815
  ] });
1241
1816
  }
1242
1817
  return /* @__PURE__ */ i("div", { className: "str-chat__message--system", "data-testid": "message-system", children: [
1243
1818
  /* @__PURE__ */ i("div", { className: "str-chat__message--system__text", children: [
1244
- /* @__PURE__ */ e("div", { className: "str-chat__message--system__line" }),
1245
- /* @__PURE__ */ e("p", { children: t.message.text }),
1246
- /* @__PURE__ */ e("div", { className: "str-chat__message--system__line" })
1819
+ /* @__PURE__ */ t("div", { className: "str-chat__message--system__line" }),
1820
+ /* @__PURE__ */ t("p", { children: e.message.text }),
1821
+ /* @__PURE__ */ t("div", { className: "str-chat__message--system__line" })
1247
1822
  ] }),
1248
- !s && /* @__PURE__ */ e(we, { message: t.message })
1823
+ !s && /* @__PURE__ */ t(Ue, { message: e.message })
1249
1824
  ] });
1250
- }, Us = () => null, Bs = ({ className: t, message: s }) => /* @__PURE__ */ i(
1825
+ }, zn = () => null, jn = ({ className: e, message: s }) => /* @__PURE__ */ i(
1251
1826
  "div",
1252
1827
  {
1253
- className: D("flex items-center justify-center h-full", t),
1828
+ className: F("flex items-center justify-center h-full", e),
1254
1829
  children: [
1255
1830
  /* @__PURE__ */ i("svg", { viewBox: "0 0 100 100", className: "size-8 fill-pebble", stroke: "none", children: [
1256
- /* @__PURE__ */ e("circle", { cx: "6", cy: "50", r: "6", children: /* @__PURE__ */ e(
1831
+ /* @__PURE__ */ t("circle", { cx: "6", cy: "50", r: "6", children: /* @__PURE__ */ t(
1257
1832
  "animateTransform",
1258
1833
  {
1259
1834
  attributeName: "transform",
@@ -1264,7 +1839,7 @@ const Cs = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
1264
1839
  begin: "0.1"
1265
1840
  }
1266
1841
  ) }),
1267
- /* @__PURE__ */ e("circle", { cx: "30", cy: "50", r: "6", children: /* @__PURE__ */ e(
1842
+ /* @__PURE__ */ t("circle", { cx: "30", cy: "50", r: "6", children: /* @__PURE__ */ t(
1268
1843
  "animateTransform",
1269
1844
  {
1270
1845
  attributeName: "transform",
@@ -1275,7 +1850,7 @@ const Cs = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
1275
1850
  begin: "0.2"
1276
1851
  }
1277
1852
  ) }),
1278
- /* @__PURE__ */ e("circle", { cx: "54", cy: "50", r: "6", children: /* @__PURE__ */ e(
1853
+ /* @__PURE__ */ t("circle", { cx: "54", cy: "50", r: "6", children: /* @__PURE__ */ t(
1279
1854
  "animateTransform",
1280
1855
  {
1281
1856
  attributeName: "transform",
@@ -1287,334 +1862,342 @@ const Cs = ({ filled: t }) => /* @__PURE__ */ e("svg", { width: "16", height: "1
1287
1862
  }
1288
1863
  ) })
1289
1864
  ] }),
1290
- s && /* @__PURE__ */ e("span", { className: "text-stone", children: s })
1865
+ s && /* @__PURE__ */ t("span", { className: "text-stone", children: s })
1291
1866
  ]
1292
1867
  }
1293
- ), Ce = G.memo(() => /* @__PURE__ */ e("div", { className: "messaging-loading-state flex items-center justify-center h-full", children: /* @__PURE__ */ i("div", { className: "flex items-center", children: [
1294
- /* @__PURE__ */ e(Bs, { className: "w-6 h-6" }),
1295
- /* @__PURE__ */ e("span", { className: "text-sm text-stone", children: "Loading messages" })
1868
+ ), Pe = L.memo(() => /* @__PURE__ */ t("div", { className: "messaging-loading-state flex items-center justify-center h-full", children: /* @__PURE__ */ i("div", { className: "flex items-center", children: [
1869
+ /* @__PURE__ */ t(jn, { className: "w-6 h-6" }),
1870
+ /* @__PURE__ */ t("span", { className: "text-sm text-stone", children: "Loading messages" })
1296
1871
  ] }) }));
1297
- Ce.displayName = "LoadingState";
1298
- const ce = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-center justify-center transition-colors duration-150 focus-ring", Gs = ({
1299
- onBack: t,
1872
+ Pe.displayName = "LoadingState";
1873
+ const ge = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-center justify-center transition-colors duration-150 focus-ring", Bn = ({
1874
+ onBack: e,
1300
1875
  showBackButton: s,
1301
1876
  onShowInfo: n,
1302
- canShowInfo: o,
1877
+ canShowInfo: r,
1303
1878
  showStarButton: l = !1
1304
1879
  }) => {
1305
- var g, p, a, w, _;
1306
- const { channel: d } = Te(), r = G.useMemo(() => Object.values(d.state.members || {}).find(
1307
- (M) => {
1308
- var E;
1309
- return ((E = M.user) == null ? void 0 : E.id) && M.user.id !== d._client.userID;
1880
+ var m, y, u, _, o;
1881
+ const { channel: c } = Te(), a = L.useMemo(() => Object.values(c.state.members || {}).find(
1882
+ (P) => {
1883
+ var C;
1884
+ return ((C = P.user) == null ? void 0 : C.id) && P.user.id !== c._client.userID;
1310
1885
  }
1311
- ), [d._client.userID, d.state.members]), c = ((g = r == null ? void 0 : r.user) == null ? void 0 : g.name) || ((p = r == null ? void 0 : r.user) == null ? void 0 : p.id) || "Unknown member", f = (a = r == null ? void 0 : r.user) == null ? void 0 : a.image, h = Ye(d), x = async () => {
1886
+ ), [c._client.userID, c.state.members]), d = ((m = a == null ? void 0 : a.user) == null ? void 0 : m.name) || ((y = a == null ? void 0 : a.user) == null ? void 0 : y.id) || "Unknown member", b = (u = a == null ? void 0 : a.user) == null ? void 0 : u.image, f = dt(c), x = async () => {
1312
1887
  try {
1313
- h ? await d.unpin() : await d.pin();
1314
- } catch (b) {
1888
+ f ? await c.unpin() : await c.pin();
1889
+ } catch (N) {
1315
1890
  console.error(
1316
1891
  "[CustomChannelHeader] Failed to update pinned status:",
1317
- b
1892
+ N
1318
1893
  );
1319
1894
  }
1320
1895
  };
1321
1896
  return /* @__PURE__ */ i("div", { className: "@container", children: [
1322
1897
  /* @__PURE__ */ i("div", { className: "grid grid-cols-[1fr_auto_1fr] w-full items-center @lg:hidden", children: [
1323
- /* @__PURE__ */ e("div", { className: "flex items-center gap-2", children: s && /* @__PURE__ */ e(
1898
+ /* @__PURE__ */ t("div", { className: "flex items-center gap-2", children: s && /* @__PURE__ */ t(
1324
1899
  "button",
1325
1900
  {
1326
- className: ce,
1327
- onClick: t || (() => {
1901
+ className: ge,
1902
+ onClick: e || (() => {
1328
1903
  }),
1329
1904
  type: "button",
1330
1905
  "aria-label": "Back to conversations",
1331
- children: /* @__PURE__ */ e(Fe, { className: "size-5 text-black/90" })
1906
+ children: /* @__PURE__ */ t(Ze, { className: "size-5 text-black/90" })
1332
1907
  }
1333
1908
  ) }),
1334
1909
  /* @__PURE__ */ i("div", { className: "flex flex-col gap-1 items-center", children: [
1335
- /* @__PURE__ */ e(
1336
- ae,
1910
+ /* @__PURE__ */ t(
1911
+ me,
1337
1912
  {
1338
- id: ((w = r == null ? void 0 : r.user) == null ? void 0 : w.id) || d.id || "unknown",
1339
- name: c,
1340
- image: f,
1341
- starred: h,
1913
+ id: ((_ = a == null ? void 0 : a.user) == null ? void 0 : _.id) || c.id || "unknown",
1914
+ name: d,
1915
+ image: b,
1916
+ starred: l && f,
1342
1917
  size: 40
1343
1918
  }
1344
1919
  ),
1345
- /* @__PURE__ */ e("h1", { className: "text-xs font-medium text-black/90", children: c })
1920
+ /* @__PURE__ */ t("h1", { className: "text-xs font-medium text-black/90", children: d })
1346
1921
  ] }),
1347
1922
  /* @__PURE__ */ i("div", { className: "flex justify-end items-center gap-2", children: [
1348
- l && /* @__PURE__ */ e(
1923
+ l && /* @__PURE__ */ t(
1349
1924
  "button",
1350
1925
  {
1351
- className: ce,
1926
+ className: ge,
1352
1927
  onClick: x,
1353
1928
  type: "button",
1354
- "aria-label": h ? "Unstar conversation" : "Star conversation",
1355
- children: /* @__PURE__ */ e(
1356
- Ie,
1929
+ "aria-label": f ? "Unstar conversation" : "Star conversation",
1930
+ children: /* @__PURE__ */ t(
1931
+ je,
1357
1932
  {
1358
- className: D("size-5", {
1359
- "text-yellow-600": h,
1360
- "text-black/90": !h
1933
+ className: F("size-5", {
1934
+ "text-yellow-600": f,
1935
+ "text-black/90": !f
1361
1936
  }),
1362
- weight: h ? "duotone" : "regular"
1937
+ weight: f ? "duotone" : "regular"
1363
1938
  }
1364
1939
  )
1365
1940
  }
1366
1941
  ),
1367
- /* @__PURE__ */ e(
1942
+ /* @__PURE__ */ t(
1368
1943
  "button",
1369
1944
  {
1370
- className: ce,
1945
+ className: ge,
1371
1946
  onClick: n,
1372
1947
  type: "button",
1373
1948
  "aria-label": "Show info",
1374
- children: /* @__PURE__ */ e(Oe, { className: "size-5 text-black/90" })
1949
+ children: /* @__PURE__ */ t(Ke, { className: "size-5 text-black/90" })
1375
1950
  }
1376
1951
  )
1377
1952
  ] })
1378
1953
  ] }),
1379
1954
  /* @__PURE__ */ i("div", { className: "hidden @lg:flex items-center justify-between gap-3 min-h-12", children: [
1380
1955
  /* @__PURE__ */ i("div", { className: "flex items-center gap-4 min-w-0", children: [
1381
- s && t && /* @__PURE__ */ e(
1956
+ s && e && /* @__PURE__ */ t(
1382
1957
  "button",
1383
1958
  {
1384
1959
  type: "button",
1385
- onClick: t,
1386
- className: ce,
1960
+ onClick: e,
1961
+ className: ge,
1387
1962
  "aria-label": "Back to conversations",
1388
- children: /* @__PURE__ */ e(Fe, { className: "size-5 text-black/90" })
1963
+ children: /* @__PURE__ */ t(Ze, { className: "size-5 text-black/90" })
1389
1964
  }
1390
1965
  ),
1391
- /* @__PURE__ */ e(
1392
- ae,
1966
+ /* @__PURE__ */ t(
1967
+ me,
1393
1968
  {
1394
- id: ((_ = r == null ? void 0 : r.user) == null ? void 0 : _.id) || d.id || "unknown",
1395
- name: c,
1396
- image: f,
1397
- starred: h,
1969
+ id: ((o = a == null ? void 0 : a.user) == null ? void 0 : o.id) || c.id || "unknown",
1970
+ name: d,
1971
+ image: b,
1972
+ starred: l && f,
1398
1973
  size: 40
1399
1974
  }
1400
1975
  ),
1401
- /* @__PURE__ */ e("div", { className: "min-w-0", children: /* @__PURE__ */ e("h1", { className: "font-medium text-black/90 truncate", children: c }) })
1976
+ /* @__PURE__ */ t("div", { className: "min-w-0", children: /* @__PURE__ */ t("h1", { className: "font-medium text-black/90 truncate", children: d }) })
1402
1977
  ] }),
1403
1978
  /* @__PURE__ */ i("div", { className: "flex items-center gap-2", children: [
1404
- l && /* @__PURE__ */ e(
1979
+ l && /* @__PURE__ */ t(
1405
1980
  "button",
1406
1981
  {
1407
- className: ce,
1982
+ className: ge,
1408
1983
  onClick: x,
1409
1984
  type: "button",
1410
- "aria-label": h ? "Unstar conversation" : "Star conversation",
1411
- children: /* @__PURE__ */ e(
1412
- Ie,
1985
+ "aria-label": f ? "Unstar conversation" : "Star conversation",
1986
+ children: /* @__PURE__ */ t(
1987
+ je,
1413
1988
  {
1414
- className: D("size-5", {
1415
- "text-yellow-600": h,
1416
- "text-black/90": !h
1989
+ className: F("size-5", {
1990
+ "text-yellow-600": f,
1991
+ "text-black/90": !f
1417
1992
  }),
1418
- weight: h ? "duotone" : "regular"
1993
+ weight: f ? "duotone" : "regular"
1419
1994
  }
1420
1995
  )
1421
1996
  }
1422
1997
  ),
1423
- o && n && /* @__PURE__ */ e(
1998
+ r && n && /* @__PURE__ */ t(
1424
1999
  "button",
1425
2000
  {
1426
- className: ce,
2001
+ className: ge,
1427
2002
  onClick: n,
1428
2003
  type: "button",
1429
2004
  "aria-label": "Show info",
1430
- children: /* @__PURE__ */ e(Oe, { className: "size-5 text-black/90" })
2005
+ children: /* @__PURE__ */ t(Ke, { className: "size-5 text-black/90" })
1431
2006
  }
1432
2007
  )
1433
2008
  ] })
1434
2009
  ] })
1435
2010
  ] });
1436
- }, $s = ({
1437
- onBack: t,
2011
+ }, Hn = ({
2012
+ onBack: e,
1438
2013
  showBackButton: s,
1439
2014
  renderMessageInputActions: n,
1440
- renderConversationFooter: o,
2015
+ renderConversationFooter: r,
1441
2016
  onLeaveConversation: l,
1442
- onBlockParticipant: d,
1443
- showDeleteConversation: r = !0,
1444
- onDeleteConversationClick: c,
1445
- onBlockParticipantClick: f,
1446
- onReportParticipantClick: h,
2017
+ onBlockParticipant: c,
2018
+ showDeleteConversation: a = !0,
2019
+ onDeleteConversationClick: d,
2020
+ onBlockParticipantClick: b,
2021
+ onReportParticipantClick: f,
1447
2022
  showStarButton: x = !1,
1448
- chatbotVotingEnabled: g = !1,
1449
- renderChannelBanner: p,
1450
- customProfileContent: a,
1451
- customChannelActions: w,
1452
- renderMessage: _
2023
+ chatbotVotingEnabled: m = !1,
2024
+ onAttachmentUnlock: y,
2025
+ onAttachmentDownload: u,
2026
+ renderChannelBanner: _,
2027
+ customProfileContent: o,
2028
+ customChannelActions: N,
2029
+ renderMessage: P
1453
2030
  }) => {
1454
- const { channel: b } = Te(), M = X(null), E = G.useMemo(() => Object.values(b.state.members || {}).find(
1455
- (u) => {
1456
- var C;
1457
- return ((C = u.user) == null ? void 0 : C.id) && u.user.id !== b._client.userID;
2031
+ const { channel: C } = Te(), S = W(null), M = L.useMemo(() => Object.values(C.state.members || {}).find(
2032
+ (I) => {
2033
+ var v;
2034
+ return ((v = I.user) == null ? void 0 : v.id) && I.user.id !== C._client.userID;
1458
2035
  }
1459
- ), [b._client.userID, b.state.members]), y = G.useMemo(() => {
1460
- const m = b.data ?? {};
1461
- if (m.followerStatus)
1462
- return String(m.followerStatus);
1463
- if (m.isFollower !== void 0)
1464
- return m.isFollower ? "Subscribed to you" : "Not subscribed";
1465
- }, [b.data]), S = A(() => {
1466
- var m;
1467
- (m = M.current) == null || m.showModal();
1468
- }, []), R = A(() => {
1469
- var m;
1470
- (m = M.current) == null || m.close();
2036
+ ), [C._client.userID, C.state.members]), R = L.useMemo(() => {
2037
+ const g = C.data ?? {};
2038
+ if (g.followerStatus)
2039
+ return String(g.followerStatus);
2040
+ if (g.isFollower !== void 0)
2041
+ return g.isFollower ? "Subscribed to you" : "Not subscribed";
2042
+ }, [C.data]), p = U(() => {
2043
+ var g;
2044
+ (g = S.current) == null || g.showModal();
2045
+ }, []), h = U(() => {
2046
+ var g;
2047
+ (g = S.current) == null || g.close();
1471
2048
  }, []);
1472
- return /* @__PURE__ */ i(de, { children: [
1473
- /* @__PURE__ */ e(
1474
- Yt,
2049
+ return /* @__PURE__ */ i(oe, { children: [
2050
+ /* @__PURE__ */ t(
2051
+ rs,
1475
2052
  {
1476
2053
  overrides: {
1477
- Message: (m) => {
1478
- const { message: u } = ze("ChannelView"), C = /* @__PURE__ */ e(
1479
- ws,
2054
+ Message: (g) => {
2055
+ const { message: I } = lt("ChannelView"), v = /* @__PURE__ */ t(
2056
+ En,
1480
2057
  {
1481
- ...m,
1482
- chatbotVotingEnabled: g
2058
+ ...g,
2059
+ chatbotVotingEnabled: m,
2060
+ onAttachmentUnlock: y,
2061
+ onAttachmentDownload: u
1483
2062
  }
1484
2063
  );
1485
- return !_ || !u ? C : _(C, u);
2064
+ return !P || !I ? v : P(v, I);
1486
2065
  }
1487
2066
  },
1488
- children: /* @__PURE__ */ i(Wt, { children: [
1489
- /* @__PURE__ */ e("div", { className: "p-4", children: /* @__PURE__ */ e(
1490
- Gs,
2067
+ children: /* @__PURE__ */ i(ls, { children: [
2068
+ /* @__PURE__ */ t("div", { className: "p-4", children: /* @__PURE__ */ t(
2069
+ Bn,
1491
2070
  {
1492
- onBack: t,
2071
+ onBack: e,
1493
2072
  showBackButton: s,
1494
- onShowInfo: S,
1495
- canShowInfo: !!E,
2073
+ onShowInfo: p,
2074
+ canShowInfo: !!M,
1496
2075
  showStarButton: x
1497
2076
  }
1498
2077
  ) }),
1499
- p == null ? void 0 : p(),
1500
- /* @__PURE__ */ e("div", { className: "flex-1 overflow-hidden relative", children: /* @__PURE__ */ e(
1501
- qt,
2078
+ _ == null ? void 0 : _(),
2079
+ /* @__PURE__ */ t("div", { className: "flex-1 overflow-hidden relative", children: /* @__PURE__ */ t(
2080
+ os,
1502
2081
  {
1503
2082
  hideDeletedMessages: !0,
1504
2083
  hideNewMessageSeparator: !1,
1505
2084
  messageActions: void 0
1506
2085
  }
1507
2086
  ) }),
1508
- o == null ? void 0 : o(b),
1509
- /* @__PURE__ */ e(
1510
- Ms,
2087
+ r == null ? void 0 : r(C),
2088
+ /* @__PURE__ */ t(
2089
+ Pn,
1511
2090
  {
1512
- renderActions: () => n == null ? void 0 : n(b)
2091
+ renderActions: () => n == null ? void 0 : n(C)
1513
2092
  }
1514
2093
  )
1515
2094
  ] })
1516
2095
  }
1517
2096
  ),
1518
- /* @__PURE__ */ e(
1519
- fs,
2097
+ /* @__PURE__ */ t(
2098
+ Ys,
1520
2099
  {
1521
- dialogRef: M,
1522
- onClose: R,
1523
- participant: E,
1524
- channel: b,
1525
- followerStatusLabel: y,
2100
+ dialogRef: S,
2101
+ onClose: h,
2102
+ participant: M,
2103
+ channel: C,
2104
+ followerStatusLabel: R,
1526
2105
  onLeaveConversation: l,
1527
- onBlockParticipant: d,
1528
- showDeleteConversation: r,
1529
- onDeleteConversationClick: c,
1530
- onBlockParticipantClick: f,
1531
- onReportParticipantClick: h,
1532
- customProfileContent: a,
1533
- customChannelActions: w
2106
+ onBlockParticipant: c,
2107
+ showDeleteConversation: a,
2108
+ onDeleteConversationClick: d,
2109
+ onBlockParticipantClick: b,
2110
+ onReportParticipantClick: f,
2111
+ customProfileContent: o,
2112
+ customChannelActions: N
1534
2113
  }
1535
2114
  )
1536
2115
  ] });
1537
- }, Ke = G.memo(
2116
+ }, pt = L.memo(
1538
2117
  ({
1539
- channel: t,
2118
+ channel: e,
1540
2119
  onBack: s,
1541
2120
  showBackButton: n = !1,
1542
- renderMessageInputActions: o,
2121
+ renderMessageInputActions: r,
1543
2122
  renderConversationFooter: l,
1544
- onLeaveConversation: d,
1545
- onBlockParticipant: r,
1546
- className: c,
1547
- CustomChannelEmptyState: f = Us,
1548
- showDeleteConversation: h = !0,
2123
+ onLeaveConversation: c,
2124
+ onBlockParticipant: a,
2125
+ className: d,
2126
+ CustomChannelEmptyState: b = zn,
2127
+ showDeleteConversation: f = !0,
1549
2128
  onDeleteConversationClick: x,
1550
- onBlockParticipantClick: g,
1551
- onReportParticipantClick: p,
1552
- dmAgentEnabled: a,
1553
- messageMetadata: w,
1554
- onMessageSent: _,
1555
- showStarButton: b = !1,
1556
- chatbotVotingEnabled: M = !1,
1557
- renderChannelBanner: E,
1558
- customProfileContent: y,
1559
- customChannelActions: S,
1560
- renderMessage: R
2129
+ onBlockParticipantClick: m,
2130
+ onReportParticipantClick: y,
2131
+ dmAgentEnabled: u,
2132
+ messageMetadata: _,
2133
+ onMessageSent: o,
2134
+ showStarButton: N = !1,
2135
+ chatbotVotingEnabled: P = !1,
2136
+ onAttachmentUnlock: C,
2137
+ onAttachmentDownload: S,
2138
+ renderChannelBanner: M,
2139
+ customProfileContent: R,
2140
+ customChannelActions: p,
2141
+ renderMessage: h
1561
2142
  }) => {
1562
- const m = A(
1563
- async (u, C, T) => {
1564
- var Z;
1565
- const v = ((Z = t.data) == null ? void 0 : Z.chatbot_paused) === !0, N = a && !v, F = {
1566
- ...C,
1567
- ...N && { silent: !0 },
1568
- ...w && {
2143
+ const g = U(
2144
+ async (I, v, w) => {
2145
+ var z;
2146
+ const A = ((z = e.data) == null ? void 0 : z.chatbot_paused) === !0, G = u && !A, $ = {
2147
+ ...v,
2148
+ ...G && { silent: !0 },
2149
+ ..._ && {
1569
2150
  metadata: {
1570
- ...C.metadata ?? {},
1571
- ...w
2151
+ ...v.metadata ?? {},
2152
+ ..._
1572
2153
  }
1573
2154
  }
1574
- }, Q = {
1575
- ...T,
1576
- ...N && { skip_push: !0 }
1577
- }, Y = await t.sendMessage(F, Q);
1578
- return _ == null || _(Y), Y;
2155
+ }, Z = {
2156
+ ...w,
2157
+ ...G && { skip_push: !0 }
2158
+ }, D = await e.sendMessage($, Z);
2159
+ return o == null || o(D), D;
1579
2160
  },
1580
- [t, a, w, _]
2161
+ [e, u, _, o]
1581
2162
  );
1582
- return /* @__PURE__ */ e(
2163
+ return /* @__PURE__ */ t(
1583
2164
  "div",
1584
2165
  {
1585
- className: D(
2166
+ className: F(
1586
2167
  "messaging-channel-view h-full flex flex-col",
1587
- c
2168
+ d
1588
2169
  ),
1589
- children: /* @__PURE__ */ e(
1590
- Vt,
2170
+ children: /* @__PURE__ */ t(
2171
+ as,
1591
2172
  {
1592
- channel: t,
1593
- MessageSystem: Os,
1594
- EmptyStateIndicator: f,
1595
- LoadingIndicator: Ce,
1596
- DateSeparator: gs,
1597
- doSendMessageRequest: m,
1598
- children: /* @__PURE__ */ e(
1599
- $s,
2173
+ channel: e,
2174
+ MessageSystem: $n,
2175
+ EmptyStateIndicator: b,
2176
+ LoadingIndicator: Pe,
2177
+ DateSeparator: Ws,
2178
+ doSendMessageRequest: g,
2179
+ children: /* @__PURE__ */ t(
2180
+ Hn,
1600
2181
  {
1601
2182
  onBack: s,
1602
2183
  showBackButton: n,
1603
- renderMessageInputActions: o,
2184
+ renderMessageInputActions: r,
1604
2185
  renderConversationFooter: l,
1605
- onLeaveConversation: d,
1606
- onBlockParticipant: r,
1607
- CustomChannelEmptyState: f,
1608
- showDeleteConversation: h,
2186
+ onLeaveConversation: c,
2187
+ onBlockParticipant: a,
2188
+ CustomChannelEmptyState: b,
2189
+ showDeleteConversation: f,
1609
2190
  onDeleteConversationClick: x,
1610
- onBlockParticipantClick: g,
1611
- onReportParticipantClick: p,
1612
- showStarButton: b,
1613
- chatbotVotingEnabled: M,
1614
- renderChannelBanner: E,
1615
- customProfileContent: y,
1616
- customChannelActions: S,
1617
- renderMessage: R
2191
+ onBlockParticipantClick: m,
2192
+ onReportParticipantClick: y,
2193
+ showStarButton: N,
2194
+ chatbotVotingEnabled: P,
2195
+ onAttachmentUnlock: C,
2196
+ onAttachmentDownload: S,
2197
+ renderChannelBanner: M,
2198
+ customProfileContent: R,
2199
+ customChannelActions: p,
2200
+ renderMessage: h
1618
2201
  }
1619
2202
  )
1620
2203
  }
@@ -1623,184 +2206,184 @@ const ce = "size-10 rounded-full bg-[#F1F0EE] hover:bg-[#E5E4E1] flex items-cent
1623
2206
  );
1624
2207
  }
1625
2208
  );
1626
- Ke.displayName = "ChannelView";
1627
- function js({
1628
- searchQuery: t,
2209
+ pt.displayName = "ChannelView";
2210
+ function Gn({
2211
+ searchQuery: e,
1629
2212
  setSearchQuery: s,
1630
2213
  placeholder: n
1631
2214
  }) {
1632
- const o = X(null);
2215
+ const r = W(null);
1633
2216
  return /* @__PURE__ */ i("div", { className: "relative", children: [
1634
- /* @__PURE__ */ e(
1635
- ts,
2217
+ /* @__PURE__ */ t(
2218
+ Rs,
1636
2219
  {
1637
2220
  className: "pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-stone",
1638
2221
  weight: "bold"
1639
2222
  }
1640
2223
  ),
1641
- /* @__PURE__ */ e(
2224
+ /* @__PURE__ */ t(
1642
2225
  "input",
1643
2226
  {
1644
- ref: o,
2227
+ ref: r,
1645
2228
  type: "text",
1646
2229
  placeholder: n,
1647
- value: t,
2230
+ value: e,
1648
2231
  onChange: (l) => s(l.target.value),
1649
2232
  className: "w-full pl-10 pr-10 py-3 text-sm border border-sand rounded-xl focus:outline-none focus:ring-2 focus:ring-black focus:border-transparent"
1650
2233
  }
1651
2234
  ),
1652
- t && /* @__PURE__ */ e(
1653
- Je,
2235
+ e && /* @__PURE__ */ t(
2236
+ ft,
1654
2237
  {
1655
2238
  label: "Clear search",
1656
2239
  onClick: () => {
1657
2240
  var l;
1658
- s(""), (l = o.current) == null || l.focus();
2241
+ s(""), (l = r.current) == null || l.focus();
1659
2242
  },
1660
2243
  className: "absolute right-3 top-1/2 -translate-y-1/2 p-1 text-stone hover:text-charcoal",
1661
- children: /* @__PURE__ */ e(De, { className: "h-4 w-4", weight: "bold" })
2244
+ children: /* @__PURE__ */ t(Ve, { className: "h-4 w-4", weight: "bold" })
1662
2245
  }
1663
2246
  )
1664
2247
  ] });
1665
2248
  }
1666
- const zs = ({
1667
- participantSource: t,
2249
+ const Vn = ({
2250
+ participantSource: e,
1668
2251
  onSelectParticipant: s,
1669
2252
  onClose: n,
1670
- existingParticipantIds: o = /* @__PURE__ */ new Set(),
2253
+ existingParticipantIds: r = /* @__PURE__ */ new Set(),
1671
2254
  participantLabel: l = "participants",
1672
- searchPlaceholder: d = "Search participants...",
1673
- className: r
2255
+ searchPlaceholder: c = "Search participants...",
2256
+ className: a
1674
2257
  }) => {
1675
- const { debug: c } = Ne(), [f, h] = k(""), [x, g] = k([]), [p, a] = k(!1), [w, _] = k(null), [b, M] = k(
2258
+ const { debug: d } = Re(), [b, f] = k(""), [x, m] = k([]), [y, u] = k(!1), [_, o] = k(null), [N, P] = k(
1676
2259
  null
1677
- ), E = X(!1);
1678
- K(() => {
1679
- if (t.loading) {
1680
- c && console.log(
2260
+ ), C = W(!1);
2261
+ V(() => {
2262
+ if (e.loading) {
2263
+ d && console.log(
1681
2264
  "[ParticipantPicker] Waiting for participant source to finish loading..."
1682
2265
  );
1683
2266
  return;
1684
2267
  }
1685
- if (E.current) return;
2268
+ if (C.current) return;
1686
2269
  (async () => {
1687
- c && console.log("[ParticipantPicker] Loading initial participants..."), a(!0), _(null);
2270
+ d && console.log("[ParticipantPicker] Loading initial participants..."), u(!0), o(null);
1688
2271
  try {
1689
- const u = await t.loadParticipants({
2272
+ const h = await e.loadParticipants({
1690
2273
  search: "",
1691
2274
  // Load all participants initially
1692
2275
  limit: 100
1693
2276
  });
1694
- g(u.participants), E.current = !0, c && console.log(
2277
+ m(h.participants), C.current = !0, d && console.log(
1695
2278
  "[ParticipantPicker] Participants loaded successfully:",
1696
- u.participants.length
2279
+ h.participants.length
1697
2280
  );
1698
- } catch (u) {
1699
- const C = u instanceof Error ? u.message : "Failed to load participants";
1700
- _(C), console.error("[ParticipantPicker] Failed to load participants:", u);
2281
+ } catch (h) {
2282
+ const g = h instanceof Error ? h.message : "Failed to load participants";
2283
+ o(g), console.error("[ParticipantPicker] Failed to load participants:", h);
1701
2284
  } finally {
1702
- a(!1);
2285
+ u(!1);
1703
2286
  }
1704
2287
  })();
1705
- }, [t.loading, c]);
1706
- const y = x.filter((m) => !o.has(m.id)).filter((m) => {
1707
- var C;
1708
- if (!f) return !0;
1709
- const u = f.toLowerCase();
1710
- return m.name.toLowerCase().includes(u) || ((C = m.email) == null ? void 0 : C.toLowerCase().includes(u)) || !1;
1711
- }), S = A(
1712
- async (m) => {
1713
- if (!b) {
1714
- M(m.id);
2288
+ }, [e.loading, d]);
2289
+ const S = x.filter((p) => !r.has(p.id)).filter((p) => {
2290
+ var g;
2291
+ if (!b) return !0;
2292
+ const h = b.toLowerCase();
2293
+ return p.name.toLowerCase().includes(h) || ((g = p.email) == null ? void 0 : g.toLowerCase().includes(h)) || !1;
2294
+ }), M = U(
2295
+ async (p) => {
2296
+ if (!N) {
2297
+ P(p.id);
1715
2298
  try {
1716
- await s(m);
1717
- } catch (u) {
1718
- console.error("[ParticipantPicker] Failed to start chat:", u), M(null);
2299
+ await s(p);
2300
+ } catch (h) {
2301
+ console.error("[ParticipantPicker] Failed to start chat:", h), P(null);
1719
2302
  }
1720
2303
  }
1721
2304
  },
1722
- [s, b]
1723
- ), R = (m, u) => {
1724
- (m.key === "Enter" || m.key === " ") && (m.preventDefault(), S(u));
2305
+ [s, N]
2306
+ ), R = (p, h) => {
2307
+ (p.key === "Enter" || p.key === " ") && (p.preventDefault(), M(h));
1725
2308
  };
1726
- return /* @__PURE__ */ i("div", { className: D("flex flex-col h-full", r), children: [
2309
+ return /* @__PURE__ */ i("div", { className: F("flex flex-col h-full", a), children: [
1727
2310
  /* @__PURE__ */ i("div", { className: "px-4 py-4 border-b border-sand bg-chalk", children: [
1728
2311
  /* @__PURE__ */ i("div", { className: "flex items-center justify-between mb-3", children: [
1729
- /* @__PURE__ */ e("h2", { className: "text-lg font-semibold text-charcoal", children: "Start a new Conversation" }),
1730
- /* @__PURE__ */ e(Xe, { onClick: n })
2312
+ /* @__PURE__ */ t("h2", { className: "text-lg font-semibold text-charcoal", children: "Start a new Conversation" }),
2313
+ /* @__PURE__ */ t(gt, { onClick: n })
1731
2314
  ] }),
1732
2315
  /* @__PURE__ */ i("p", { className: "text-xs text-stone mb-3", children: [
1733
2316
  "Select a ",
1734
2317
  l.slice(0, -1),
1735
2318
  " to start messaging (",
1736
- y.length,
2319
+ S.length,
1737
2320
  " available)",
1738
- t.totalCount !== void 0 && ` • ${t.totalCount} ${l} total`
2321
+ e.totalCount !== void 0 && ` • ${e.totalCount} ${l} total`
1739
2322
  ] }),
1740
- /* @__PURE__ */ e(
1741
- js,
2323
+ /* @__PURE__ */ t(
2324
+ Gn,
1742
2325
  {
1743
- searchQuery: f,
1744
- setSearchQuery: h,
1745
- placeholder: d
2326
+ searchQuery: b,
2327
+ setSearchQuery: f,
2328
+ placeholder: c
1746
2329
  }
1747
2330
  )
1748
2331
  ] }),
1749
- w && /* @__PURE__ */ i("div", { className: "p-4 text-sm text-danger bg-danger-alt", children: [
2332
+ _ && /* @__PURE__ */ i("div", { className: "p-4 text-sm text-danger bg-danger-alt", children: [
1750
2333
  "Error loading ",
1751
2334
  l,
1752
2335
  ": ",
1753
- w
2336
+ _
1754
2337
  ] }),
1755
- /* @__PURE__ */ e("div", { className: "flex-1 overflow-auto", children: p && y.length === 0 ? /* @__PURE__ */ e("div", { className: "h-32 flex items-center justify-center", children: /* @__PURE__ */ i("div", { className: "flex items-center space-x-2", children: [
1756
- /* @__PURE__ */ e("div", { className: "w-4 h-4 animate-spin rounded-full border-2 border-primary border-t-transparent" }),
2338
+ /* @__PURE__ */ t("div", { className: "flex-1 overflow-auto", children: y && S.length === 0 ? /* @__PURE__ */ t("div", { className: "h-32 flex items-center justify-center", children: /* @__PURE__ */ i("div", { className: "flex items-center space-x-2", children: [
2339
+ /* @__PURE__ */ t("div", { className: "w-4 h-4 animate-spin rounded-full border-2 border-primary border-t-transparent" }),
1757
2340
  /* @__PURE__ */ i("span", { className: "text-sm text-stone", children: [
1758
2341
  "Loading ",
1759
2342
  l,
1760
2343
  "..."
1761
2344
  ] })
1762
- ] }) }) : y.length === 0 ? /* @__PURE__ */ i("div", { className: "p-6 text-center", children: [
1763
- /* @__PURE__ */ e("div", { className: "mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-sand", children: /* @__PURE__ */ e(Ue, { className: "h-8 w-8 text-charcoal" }) }),
1764
- /* @__PURE__ */ e("h3", { className: "text-sm font-semibold text-charcoal mb-2", children: f ? `No ${l} found` : x.length > 0 ? `Already chatting with all ${l}` : `No ${l} yet` }),
1765
- /* @__PURE__ */ e("p", { className: "text-xs text-stone", children: f ? "Try a different search term" : x.length > 0 ? `You have existing conversations with all your ${l}` : `${l.charAt(0).toUpperCase() + l.slice(1)} will appear here` })
2345
+ ] }) }) : S.length === 0 ? /* @__PURE__ */ i("div", { className: "p-6 text-center", children: [
2346
+ /* @__PURE__ */ t("div", { className: "mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-sand", children: /* @__PURE__ */ t(Je, { className: "h-8 w-8 text-charcoal" }) }),
2347
+ /* @__PURE__ */ t("h3", { className: "text-sm font-semibold text-charcoal mb-2", children: b ? `No ${l} found` : x.length > 0 ? `Already chatting with all ${l}` : `No ${l} yet` }),
2348
+ /* @__PURE__ */ t("p", { className: "text-xs text-stone", children: b ? "Try a different search term" : x.length > 0 ? `You have existing conversations with all your ${l}` : `${l.charAt(0).toUpperCase() + l.slice(1)} will appear here` })
1766
2349
  ] }) : /* @__PURE__ */ i("ul", { className: "space-y-0", children: [
1767
- y.map((m) => {
1768
- const u = m.name || m.email || m.id, C = m.email && m.name ? m.email : m.phone;
1769
- return /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
2350
+ S.map((p) => {
2351
+ const h = p.name || p.email || p.id, g = p.email && p.name ? p.email : p.phone;
2352
+ return /* @__PURE__ */ t("li", { children: /* @__PURE__ */ t(
1770
2353
  "button",
1771
2354
  {
1772
2355
  type: "button",
1773
- onClick: () => S(m),
1774
- onKeyDown: (T) => R(T, m),
2356
+ onClick: () => M(p),
2357
+ onKeyDown: (I) => R(I, p),
1775
2358
  className: "w-full px-4 py-3 hover:bg-sand transition-colors border-b border-sand text-left focus-ring",
1776
2359
  children: /* @__PURE__ */ i("div", { className: "flex items-center justify-between", children: [
1777
2360
  /* @__PURE__ */ i("div", { className: "flex items-center space-x-3 flex-1 min-w-0", children: [
1778
- /* @__PURE__ */ e(
1779
- ae,
2361
+ /* @__PURE__ */ t(
2362
+ me,
1780
2363
  {
1781
- id: m.id,
1782
- name: u,
1783
- image: m.image,
2364
+ id: p.id,
2365
+ name: h,
2366
+ image: p.image,
1784
2367
  size: 40
1785
2368
  }
1786
2369
  ),
1787
2370
  /* @__PURE__ */ i("div", { className: "flex-1 min-w-0", children: [
1788
- /* @__PURE__ */ e("h4", { className: "text-sm font-medium text-charcoal truncate", children: u }),
1789
- C && /* @__PURE__ */ e("p", { className: "text-xs text-stone truncate", children: C })
2371
+ /* @__PURE__ */ t("h4", { className: "text-sm font-medium text-charcoal truncate", children: h }),
2372
+ g && /* @__PURE__ */ t("p", { className: "text-xs text-stone truncate", children: g })
1790
2373
  ] })
1791
2374
  ] }),
1792
- /* @__PURE__ */ e("div", { className: "flex-shrink-0", children: b === m.id ? /* @__PURE__ */ e(xe, { className: "h-5 w-5 text-primary animate-spin" }) : /* @__PURE__ */ e(Ue, { className: "h-5 w-5 text-stone" }) })
2375
+ /* @__PURE__ */ t("div", { className: "flex-shrink-0", children: N === p.id ? /* @__PURE__ */ t(ke, { className: "h-5 w-5 text-primary animate-spin" }) : /* @__PURE__ */ t(Je, { className: "h-5 w-5 text-stone" }) })
1793
2376
  ] })
1794
2377
  }
1795
- ) }, m.id);
2378
+ ) }, p.id);
1796
2379
  }),
1797
- p && /* @__PURE__ */ e("li", { className: "p-4 flex justify-center", children: /* @__PURE__ */ i("div", { className: "flex items-center space-x-2", children: [
1798
- /* @__PURE__ */ e("div", { className: "w-4 h-4 animate-spin rounded-full border-2 border-primary border-t-transparent" }),
1799
- /* @__PURE__ */ e("span", { className: "text-sm text-stone", children: "Loading more..." })
2380
+ y && /* @__PURE__ */ t("li", { className: "p-4 flex justify-center", children: /* @__PURE__ */ i("div", { className: "flex items-center space-x-2", children: [
2381
+ /* @__PURE__ */ t("div", { className: "w-4 h-4 animate-spin rounded-full border-2 border-primary border-t-transparent" }),
2382
+ /* @__PURE__ */ t("span", { className: "text-sm text-stone", children: "Loading more..." })
1800
2383
  ] }) })
1801
2384
  ] }) })
1802
2385
  ] });
1803
- }, Hs = ({ className: t }) => /* @__PURE__ */ i(
2386
+ }, Yn = ({ className: e }) => /* @__PURE__ */ i(
1804
2387
  "svg",
1805
2388
  {
1806
2389
  width: "140",
@@ -1808,31 +2391,31 @@ const zs = ({
1808
2391
  viewBox: "44 -2 144 126",
1809
2392
  fill: "none",
1810
2393
  xmlns: "http://www.w3.org/2000/svg",
1811
- className: t,
2394
+ className: e,
1812
2395
  children: [
1813
2396
  /* @__PURE__ */ i("g", { clipPath: "url(#clip0_empty_state)", children: [
1814
- /* @__PURE__ */ e(
2397
+ /* @__PURE__ */ t(
1815
2398
  "path",
1816
2399
  {
1817
2400
  d: "M123.68 82.1932C123.383 103.675 105.839 121 84.2417 121C77.4724 121 71.0986 119.297 65.5327 116.299L52.5873 119.687L53.8036 106.673C48.1776 99.8701 44.7994 91.1453 44.7994 81.6356C44.7994 59.8965 62.4554 42.2754 84.2374 42.2754C89.1328 42.2754 93.8175 43.1633 98.1413 44.789",
1818
2401
  fill: "#D7D4CE"
1819
2402
  }
1820
2403
  ),
1821
- /* @__PURE__ */ e(
2404
+ /* @__PURE__ */ t(
1822
2405
  "path",
1823
2406
  {
1824
2407
  d: "M84.2458 86.0364C82.2851 86.0364 80.6957 84.4501 80.6957 82.4933C80.6957 80.5365 82.2851 78.9502 84.2458 78.9502C86.2065 78.9502 87.7959 80.5365 87.7959 82.4933C87.7959 84.4501 86.2065 86.0364 84.2458 86.0364Z",
1825
2408
  fill: "white"
1826
2409
  }
1827
2410
  ),
1828
- /* @__PURE__ */ e(
2411
+ /* @__PURE__ */ t(
1829
2412
  "path",
1830
2413
  {
1831
2414
  d: "M68.3044 86.0364C66.3437 86.0364 64.7543 84.4501 64.7543 82.4933C64.7543 80.5365 66.3437 78.9502 68.3044 78.9502C70.2651 78.9502 71.8545 80.5365 71.8545 82.4933C71.8545 84.4501 70.2651 86.0364 68.3044 86.0364Z",
1832
2415
  fill: "white"
1833
2416
  }
1834
2417
  ),
1835
- /* @__PURE__ */ e(
2418
+ /* @__PURE__ */ t(
1836
2419
  "path",
1837
2420
  {
1838
2421
  d: "M100.183 86.0364C98.2226 86.0364 96.6332 84.4501 96.6332 82.4933C96.6332 80.5365 98.2226 78.9502 100.183 78.9502C102.144 78.9502 103.733 80.5365 103.733 82.4933C103.733 84.4501 102.144 86.0364 100.183 86.0364Z",
@@ -1840,14 +2423,14 @@ const zs = ({
1840
2423
  }
1841
2424
  ),
1842
2425
  /* @__PURE__ */ i("g", { filter: "url(#filter0_empty_state)", children: [
1843
- /* @__PURE__ */ e(
2426
+ /* @__PURE__ */ t(
1844
2427
  "path",
1845
2428
  {
1846
2429
  d: "M171.522 68.7154C177.443 61.4539 181 52.1488 181 42C181 18.8027 162.421 0 139.5 0C116.579 0 98 18.8027 98 42C98 65.1973 116.579 84 139.5 84C146.622 84 153.328 82.1857 159.184 78.9829L172.801 82.5993L171.522 68.7154Z",
1847
2430
  fill: "white"
1848
2431
  }
1849
2432
  ),
1850
- /* @__PURE__ */ e(
2433
+ /* @__PURE__ */ t(
1851
2434
  "path",
1852
2435
  {
1853
2436
  d: "M171.522 68.7154C177.443 61.4539 181 52.1488 181 42C181 18.8027 162.421 0 139.5 0C116.579 0 98 18.8027 98 42C98 65.1973 116.579 84 139.5 84C146.622 84 153.328 82.1857 159.184 78.9829L172.801 82.5993L171.522 68.7154Z",
@@ -1857,21 +2440,21 @@ const zs = ({
1857
2440
  }
1858
2441
  )
1859
2442
  ] }),
1860
- /* @__PURE__ */ e(
2443
+ /* @__PURE__ */ t(
1861
2444
  "path",
1862
2445
  {
1863
2446
  d: "M139.502 45.5431C137.541 45.5431 135.952 43.9568 135.952 42C135.952 40.0432 137.541 38.4569 139.502 38.4569C141.462 38.4569 143.052 40.0432 143.052 42C143.052 43.9568 141.462 45.5431 139.502 45.5431Z",
1864
2447
  fill: "#D7D4CE"
1865
2448
  }
1866
2449
  ),
1867
- /* @__PURE__ */ e(
2450
+ /* @__PURE__ */ t(
1868
2451
  "path",
1869
2452
  {
1870
2453
  d: "M123.561 45.5431C121.601 45.5431 120.011 43.9568 120.011 42C120.011 40.0432 121.601 38.4569 123.561 38.4569C125.522 38.4569 127.111 40.0432 127.111 42C127.111 43.9568 125.522 45.5431 123.561 45.5431Z",
1871
2454
  fill: "#D7D4CE"
1872
2455
  }
1873
2456
  ),
1874
- /* @__PURE__ */ e(
2457
+ /* @__PURE__ */ t(
1875
2458
  "path",
1876
2459
  {
1877
2460
  d: "M155.439 45.5431C153.478 45.5431 151.889 43.9568 151.889 42C151.889 40.0432 153.478 38.4569 155.439 38.4569C157.4 38.4569 158.989 40.0432 158.989 42C158.989 43.9568 157.4 45.5431 155.439 45.5431Z",
@@ -1891,8 +2474,8 @@ const zs = ({
1891
2474
  filterUnits: "userSpaceOnUse",
1892
2475
  colorInterpolationFilters: "sRGB",
1893
2476
  children: [
1894
- /* @__PURE__ */ e("feFlood", { floodOpacity: "0", result: "BackgroundImageFix" }),
1895
- /* @__PURE__ */ e(
2477
+ /* @__PURE__ */ t("feFlood", { floodOpacity: "0", result: "BackgroundImageFix" }),
2478
+ /* @__PURE__ */ t(
1896
2479
  "feColorMatrix",
1897
2480
  {
1898
2481
  in: "SourceAlpha",
@@ -1901,16 +2484,16 @@ const zs = ({
1901
2484
  result: "hardAlpha"
1902
2485
  }
1903
2486
  ),
1904
- /* @__PURE__ */ e("feOffset", { dx: "4", dy: "4" }),
1905
- /* @__PURE__ */ e("feComposite", { in2: "hardAlpha", operator: "out" }),
1906
- /* @__PURE__ */ e(
2487
+ /* @__PURE__ */ t("feOffset", { dx: "4", dy: "4" }),
2488
+ /* @__PURE__ */ t("feComposite", { in2: "hardAlpha", operator: "out" }),
2489
+ /* @__PURE__ */ t(
1907
2490
  "feColorMatrix",
1908
2491
  {
1909
2492
  type: "matrix",
1910
2493
  values: "0 0 0 0 0.8428 0 0 0 0 0.830064 0 0 0 0 0.8095 0 0 0 1 0"
1911
2494
  }
1912
2495
  ),
1913
- /* @__PURE__ */ e(
2496
+ /* @__PURE__ */ t(
1914
2497
  "feBlend",
1915
2498
  {
1916
2499
  mode: "normal",
@@ -1918,7 +2501,7 @@ const zs = ({
1918
2501
  result: "effect1_dropShadow"
1919
2502
  }
1920
2503
  ),
1921
- /* @__PURE__ */ e(
2504
+ /* @__PURE__ */ t(
1922
2505
  "feBlend",
1923
2506
  {
1924
2507
  mode: "normal",
@@ -1930,25 +2513,25 @@ const zs = ({
1930
2513
  ]
1931
2514
  }
1932
2515
  ),
1933
- /* @__PURE__ */ e("clipPath", { id: "clip0_empty_state", children: /* @__PURE__ */ e("rect", { width: "233", height: "233", fill: "white" }) })
2516
+ /* @__PURE__ */ t("clipPath", { id: "clip0_empty_state", children: /* @__PURE__ */ t("rect", { width: "233", height: "233", fill: "white" }) })
1934
2517
  ] })
1935
2518
  ]
1936
2519
  }
1937
- ), Qe = G.memo(
1938
- ({ hasChannels: t, channelsLoaded: s }) => /* @__PURE__ */ e("div", { className: "messaging-empty-state flex items-center justify-center h-full p-8 text-balance", children: /* @__PURE__ */ i("div", { className: "flex flex-col items-center max-w-sm text-center", children: [
1939
- /* @__PURE__ */ e(Hs, {}),
1940
- s && !t && /* @__PURE__ */ i("div", { className: "mt-8", children: [
1941
- /* @__PURE__ */ e("h2", { className: "font-medium text-black text-[18px] mb-2", children: "Your inbox is empty" }),
1942
- /* @__PURE__ */ e("p", { className: "text-[#676B5F] text-sm mb-6", children: "Share with your followers to start receiving messages" })
2520
+ ), vt = L.memo(
2521
+ ({ hasChannels: e, channelsLoaded: s }) => /* @__PURE__ */ t("div", { className: "messaging-empty-state flex items-center justify-center h-full p-8 text-balance", children: /* @__PURE__ */ i("div", { className: "flex flex-col items-center max-w-sm text-center", children: [
2522
+ /* @__PURE__ */ t(Yn, {}),
2523
+ s && !e && /* @__PURE__ */ i("div", { className: "mt-8", children: [
2524
+ /* @__PURE__ */ t("h2", { className: "font-medium text-black text-[18px] mb-2", children: "Your inbox is empty" }),
2525
+ /* @__PURE__ */ t("p", { className: "text-[#676B5F] text-sm mb-6", children: "Share with your followers to start receiving messages" })
1943
2526
  ] })
1944
2527
  ] }) })
1945
2528
  );
1946
- Qe.displayName = "EmptyState";
1947
- const be = G.memo(({ message: t, onBack: s }) => /* @__PURE__ */ e("div", { className: "messaging-error-state flex items-center justify-center h-full p-8", children: /* @__PURE__ */ i("div", { className: "text-center max-w-sm", children: [
1948
- /* @__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: "⚠️" }) }),
1949
- /* @__PURE__ */ e("h2", { className: "font-semibold text-charcoal mb-2", children: "Oops!" }),
1950
- /* @__PURE__ */ e("p", { className: "text-stone text-sm mb-6", children: t }),
1951
- s && /* @__PURE__ */ e(
2529
+ vt.displayName = "EmptyState";
2530
+ const Me = L.memo(({ message: e, onBack: s }) => /* @__PURE__ */ t("div", { className: "messaging-error-state flex items-center justify-center h-full p-8", children: /* @__PURE__ */ i("div", { className: "text-center max-w-sm", children: [
2531
+ /* @__PURE__ */ t("div", { className: "w-24 h-24 bg-danger-alt/20 rounded-full flex items-center justify-center mx-auto mb-6", children: /* @__PURE__ */ t("span", { className: "text-4xl", children: "⚠️" }) }),
2532
+ /* @__PURE__ */ t("h2", { className: "font-semibold text-charcoal mb-2", children: "Oops!" }),
2533
+ /* @__PURE__ */ t("p", { className: "text-stone text-sm mb-6", children: e }),
2534
+ s && /* @__PURE__ */ t(
1952
2535
  "button",
1953
2536
  {
1954
2537
  type: "button",
@@ -1958,369 +2541,369 @@ const be = G.memo(({ message: t, onBack: s }) => /* @__PURE__ */ e("div", { clas
1958
2541
  }
1959
2542
  )
1960
2543
  ] }) }));
1961
- be.displayName = "ErrorState";
1962
- const en = ({
1963
- capabilities: t = {},
2544
+ Me.displayName = "ErrorState";
2545
+ const sa = ({
2546
+ capabilities: e = {},
1964
2547
  className: s,
1965
2548
  renderMessageInputActions: n,
1966
- renderConversationFooter: o,
2549
+ renderConversationFooter: r,
1967
2550
  onChannelSelect: l,
1968
- onParticipantSelect: d,
1969
- initialParticipantFilter: r,
1970
- initialParticipantData: c,
1971
- CustomChannelEmptyState: f,
1972
- showChannelList: h = !0,
2551
+ onParticipantSelect: c,
2552
+ initialParticipantFilter: a,
2553
+ initialParticipantData: d,
2554
+ CustomChannelEmptyState: b,
2555
+ showChannelList: f = !0,
1973
2556
  filters: x,
1974
- channelRenderFilterFn: g,
1975
- channelListCustomEmptyStateIndicator: p,
1976
- onDeleteConversationClick: a,
1977
- onBlockParticipantClick: w,
1978
- onReportParticipantClick: _,
1979
- dmAgentEnabled: b,
1980
- messageMetadata: M,
1981
- onMessageSent: E,
1982
- showStarButton: y = !1,
1983
- chatbotVotingEnabled: S = !1,
2557
+ channelRenderFilterFn: m,
2558
+ channelListCustomEmptyStateIndicator: y,
2559
+ onDeleteConversationClick: u,
2560
+ onBlockParticipantClick: _,
2561
+ onReportParticipantClick: o,
2562
+ dmAgentEnabled: N,
2563
+ messageMetadata: P,
2564
+ onMessageSent: C,
2565
+ showStarButton: S = !1,
2566
+ chatbotVotingEnabled: M = !1,
1984
2567
  renderMessagePreview: R,
1985
- renderChannelBanner: m,
1986
- customProfileContent: u,
1987
- customChannelActions: C,
1988
- renderMessage: T
2568
+ renderChannelBanner: p,
2569
+ customProfileContent: h,
2570
+ customChannelActions: g,
2571
+ renderMessage: I
1989
2572
  }) => {
1990
2573
  const {
1991
2574
  service: v,
1992
- client: N,
1993
- isConnected: F,
1994
- isLoading: Q,
1995
- error: Y,
2575
+ client: w,
2576
+ isConnected: A,
2577
+ isLoading: G,
2578
+ error: $,
1996
2579
  refreshConnection: Z,
1997
- debug: L
1998
- } = ss(), [W, j] = k(null), [re, z] = k(!1), [te, se] = k(!1), [O, P] = k(!1), [B, H] = k(/* @__PURE__ */ new Set()), [oe, ve] = k(0), [q, J] = k(!1), [le, ee] = k(null), ne = X(null), {
1999
- participantSource: me,
2000
- participantLabel: Le = "participants",
2001
- showDeleteConversation: et = !0
2002
- } = t, tt = G.useMemo(() => {
2003
- const I = N == null ? void 0 : N.userID;
2580
+ debug: D
2581
+ } = Ds(), [z, Y] = k(null), [ie, E] = k(!1), [O, q] = k(!1), [j, B] = k(!1), [ee, re] = k(/* @__PURE__ */ new Set()), [K, De] = k(0), [te, ce] = k(!1), [be, J] = k(null), le = W(null), {
2582
+ participantSource: ve,
2583
+ participantLabel: xe = "participants",
2584
+ showDeleteConversation: Ae = !0
2585
+ } = e, he = L.useMemo(() => {
2586
+ const T = w == null ? void 0 : w.userID;
2004
2587
  return {
2005
2588
  ...{
2006
2589
  type: "messaging",
2007
2590
  last_message_at: { $exists: !0 },
2008
- ...I && {
2009
- members: { $in: [I] },
2591
+ ...T && {
2592
+ members: { $in: [T] },
2010
2593
  hidden: !1
2011
2594
  }
2012
2595
  },
2013
2596
  ...x
2014
2597
  };
2015
- }, [x, N == null ? void 0 : N.userID]), ue = X(null), ie = A(async () => {
2016
- if (!N || !F) return;
2017
- const I = N.userID;
2018
- if (I)
2598
+ }, [x, w == null ? void 0 : w.userID]), fe = W(null), se = U(async () => {
2599
+ if (!w || !A) return;
2600
+ const T = w.userID;
2601
+ if (T)
2019
2602
  try {
2020
- L && console.log("[MessagingShell] Syncing channels for user:", I);
2021
- const V = await N.queryChannels(
2603
+ D && console.log("[MessagingShell] Syncing channels for user:", T);
2604
+ const Q = await w.queryChannels(
2022
2605
  {
2023
2606
  type: "messaging",
2024
- members: { $in: [I] }
2607
+ members: { $in: [T] }
2025
2608
  },
2026
2609
  {},
2027
2610
  { limit: 100 }
2028
- ), U = /* @__PURE__ */ new Set();
2029
- V.forEach(($) => {
2030
- const pe = $.state.members;
2031
- Object.values(pe).forEach((it) => {
2032
- var Ae;
2033
- const ye = (Ae = it.user) == null ? void 0 : Ae.id;
2034
- ye && ye !== I && U.add(ye);
2611
+ ), H = /* @__PURE__ */ new Set();
2612
+ Q.forEach((X) => {
2613
+ const Le = X.state.members;
2614
+ Object.values(Le).forEach((wt) => {
2615
+ var We;
2616
+ const Oe = (We = wt.user) == null ? void 0 : We.id;
2617
+ Oe && Oe !== T && H.add(Oe);
2035
2618
  });
2036
- }), H(($) => $.size === U.size && [...$].every((pe) => U.has(pe)) ? $ : U), z(V.length > 0), se(!0), ue.current = I, L && console.log("[MessagingShell] Channels synced successfully:", {
2037
- channelCount: V.length,
2038
- memberCount: U.size
2619
+ }), re((X) => X.size === H.size && [...X].every((Le) => H.has(Le)) ? X : H), E(Q.length > 0), q(!0), fe.current = T, D && console.log("[MessagingShell] Channels synced successfully:", {
2620
+ channelCount: Q.length,
2621
+ memberCount: H.size
2039
2622
  });
2040
- } catch (V) {
2041
- console.error("[MessagingShell] Failed to sync channels:", V);
2623
+ } catch (Q) {
2624
+ console.error("[MessagingShell] Failed to sync channels:", Q);
2042
2625
  }
2043
- }, [N, F, L]);
2044
- K(() => {
2045
- if (!N || !F) return;
2046
- const I = N.userID;
2047
- I && ue.current !== I && ie();
2048
- }, [N, F, ie]), K(() => {
2049
- if (!r || !N || !F) return;
2626
+ }, [w, A, D]);
2627
+ V(() => {
2628
+ if (!w || !A) return;
2629
+ const T = w.userID;
2630
+ T && fe.current !== T && se();
2631
+ }, [w, A, se]), V(() => {
2632
+ if (!a || !w || !A) return;
2050
2633
  (async () => {
2051
- const V = N.userID;
2052
- if (V)
2634
+ const Q = w.userID;
2635
+ if (Q)
2053
2636
  try {
2054
- L && console.log(
2637
+ D && console.log(
2055
2638
  "[MessagingShell] Loading initial conversation with:",
2056
- r
2639
+ a
2057
2640
  );
2058
- const U = await N.queryChannels(
2641
+ const H = await w.queryChannels(
2059
2642
  {
2060
2643
  type: "messaging",
2061
- members: { $eq: [V, r] }
2644
+ members: { $eq: [Q, a] }
2062
2645
  },
2063
2646
  {},
2064
2647
  { limit: 1 }
2065
2648
  );
2066
- if (U.length > 0)
2067
- j(U[0]), J(!0), ee(null), l && l(U[0]), L && console.log(
2649
+ if (H.length > 0)
2650
+ Y(H[0]), ce(!0), J(null), l && l(H[0]), D && console.log(
2068
2651
  "[MessagingShell] Initial conversation loaded:",
2069
- U[0].id
2652
+ H[0].id
2070
2653
  );
2071
- else if (c && v) {
2072
- L && console.log(
2654
+ else if (d && v) {
2655
+ D && console.log(
2073
2656
  "[MessagingShell] No conversation found, creating one for:",
2074
- c
2657
+ d
2075
2658
  );
2076
2659
  try {
2077
- const $ = await v.startChannelWithParticipant({
2078
- id: c.id,
2079
- name: c.name,
2080
- email: c.email,
2081
- phone: c.phone
2660
+ const X = await v.startChannelWithParticipant({
2661
+ id: d.id,
2662
+ name: d.name,
2663
+ email: d.email,
2664
+ phone: d.phone
2082
2665
  });
2083
- j($), J(!0), ee(null), l && l($), L && console.log(
2666
+ Y(X), ce(!0), J(null), l && l(X), D && console.log(
2084
2667
  "[MessagingShell] Channel created and loaded:",
2085
- $.id
2668
+ X.id
2086
2669
  );
2087
- } catch ($) {
2670
+ } catch (X) {
2088
2671
  console.error(
2089
2672
  "[MessagingShell] Failed to create conversation:",
2090
- $
2091
- ), ee("Failed to create conversation");
2673
+ X
2674
+ ), J("Failed to create conversation");
2092
2675
  }
2093
2676
  } else
2094
- ee(
2677
+ J(
2095
2678
  "No conversation found with this account"
2096
- ), L && console.log(
2679
+ ), D && console.log(
2097
2680
  "[MessagingShell] No conversation found for:",
2098
- r
2681
+ a
2099
2682
  );
2100
- } catch (U) {
2683
+ } catch (H) {
2101
2684
  console.error(
2102
2685
  "[MessagingShell] Failed to load initial conversation:",
2103
- U
2104
- ), ee("Failed to load conversation");
2686
+ H
2687
+ ), J("Failed to load conversation");
2105
2688
  }
2106
2689
  })();
2107
2690
  }, [
2108
- r,
2109
- c,
2110
- N,
2111
- F,
2691
+ a,
2692
+ d,
2693
+ w,
2694
+ A,
2112
2695
  v,
2113
- L,
2696
+ D,
2114
2697
  l
2115
2698
  ]);
2116
- const st = A(
2117
- (I) => {
2118
- j(I), l == null || l(I);
2699
+ const we = U(
2700
+ (T) => {
2701
+ Y(T), l == null || l(T);
2119
2702
  },
2120
2703
  [l]
2121
- ), nt = A(() => {
2122
- q || j(null);
2123
- }, [q]), at = A(
2124
- async (I) => {
2125
- var V;
2704
+ ), Ne = U(() => {
2705
+ te || Y(null);
2706
+ }, [te]), Ce = U(
2707
+ async (T) => {
2708
+ var Q;
2126
2709
  if (v)
2127
2710
  try {
2128
- L && console.log(
2711
+ D && console.log(
2129
2712
  "[MessagingShell] Starting conversation with:",
2130
- I.id
2713
+ T.id
2131
2714
  );
2132
- const U = await v.startChannelWithParticipant({
2133
- id: I.id,
2134
- name: I.name,
2135
- email: I.email,
2136
- phone: I.phone
2715
+ const H = await v.startChannelWithParticipant({
2716
+ id: T.id,
2717
+ name: T.name,
2718
+ email: T.email,
2719
+ phone: T.phone
2137
2720
  });
2138
2721
  try {
2139
- await U.show();
2140
- } catch ($) {
2141
- console.warn("[MessagingShell] Failed to unhide channel:", $);
2722
+ await H.show();
2723
+ } catch (X) {
2724
+ console.warn("[MessagingShell] Failed to unhide channel:", X);
2142
2725
  }
2143
- j(U), P(!1), (V = ne.current) == null || V.close(), d == null || d(I);
2144
- } catch (U) {
2145
- console.error("[MessagingShell] Failed to start conversation:", U);
2726
+ Y(H), B(!1), (Q = le.current) == null || Q.close(), c == null || c(T);
2727
+ } catch (H) {
2728
+ console.error("[MessagingShell] Failed to start conversation:", H);
2146
2729
  }
2147
2730
  },
2148
- [v, d, L]
2149
- ), he = A(() => {
2150
- var I;
2151
- P(!1), (I = ne.current) == null || I.close();
2152
- }, []), rt = A(
2153
- (I) => {
2154
- I.target === ne.current && he();
2731
+ [v, c, D]
2732
+ ), de = U(() => {
2733
+ var T;
2734
+ B(!1), (T = le.current) == null || T.close();
2735
+ }, []), _e = U(
2736
+ (T) => {
2737
+ T.target === le.current && de();
2155
2738
  },
2156
- [he]
2157
- ), ot = A(
2158
- async (I) => {
2159
- L && console.log("[MessagingShell] Leaving conversation:", I.id), j(null), J(!1), ue.current = null, await ie();
2739
+ [de]
2740
+ ), Ee = U(
2741
+ async (T) => {
2742
+ D && console.log("[MessagingShell] Leaving conversation:", T.id), Y(null), ce(!1), fe.current = null, await se();
2160
2743
  },
2161
- [ie, L]
2162
- ), lt = A(
2163
- async (I) => {
2164
- L && console.log("[MessagingShell] Blocking participant:", I), j(null), J(!1), ue.current = null, await ie();
2744
+ [se, D]
2745
+ ), Ie = U(
2746
+ async (T) => {
2747
+ D && console.log("[MessagingShell] Blocking participant:", T), Y(null), ce(!1), fe.current = null, await se();
2165
2748
  },
2166
- [ie, L]
2167
- ), fe = !!W;
2168
- return Q ? /* @__PURE__ */ e("div", { className: D("h-full", s), children: /* @__PURE__ */ e(Ce, {}) }) : Y ? /* @__PURE__ */ e("div", { className: D("h-full", s), children: /* @__PURE__ */ e(be, { message: Y, onBack: Z }) }) : !F || !N ? /* @__PURE__ */ e("div", { className: D("h-full", s), children: /* @__PURE__ */ e(
2169
- be,
2749
+ [se, D]
2750
+ ), ue = !!z;
2751
+ return G ? /* @__PURE__ */ t("div", { className: F("h-full", s), children: /* @__PURE__ */ t(Pe, {}) }) : $ ? /* @__PURE__ */ t("div", { className: F("h-full", s), children: /* @__PURE__ */ t(Me, { message: $, onBack: Z }) }) : !A || !w ? /* @__PURE__ */ t("div", { className: F("h-full", s), children: /* @__PURE__ */ t(
2752
+ Me,
2170
2753
  {
2171
2754
  message: "Not connected to messaging service",
2172
2755
  onBack: Z
2173
2756
  }
2174
- ) }) : le ? /* @__PURE__ */ e("div", { className: D("h-full", s), children: /* @__PURE__ */ e(be, { message: le }) }) : /* @__PURE__ */ i(
2757
+ ) }) : be ? /* @__PURE__ */ t("div", { className: F("h-full", s), children: /* @__PURE__ */ t(Me, { message: be }) }) : /* @__PURE__ */ i(
2175
2758
  "div",
2176
2759
  {
2177
- className: D(
2760
+ className: F(
2178
2761
  "messaging-shell h-full bg-background-primary overflow-hidden",
2179
2762
  s
2180
2763
  ),
2181
2764
  children: [
2182
2765
  /* @__PURE__ */ i("div", { className: "flex h-full min-h-0", children: [
2183
- /* @__PURE__ */ e(
2766
+ /* @__PURE__ */ t(
2184
2767
  "div",
2185
2768
  {
2186
- className: D(
2769
+ className: F(
2187
2770
  "messaging-channel-list-sidebar min-h-0 min-w-0 lg:flex lg:flex-col",
2188
2771
  {
2189
- "!hidden": h === !1 || q,
2772
+ "!hidden": f === !1 || te,
2190
2773
  // Hide on mobile when channel selected, show on desktop with consistent wide width
2191
- "hidden lg:flex lg:flex-1 lg:max-w-2xl": h !== !1 && !q && fe,
2774
+ "hidden lg:flex lg:flex-1 lg:max-w-2xl": f !== !1 && !te && ue,
2192
2775
  // Show on mobile when no channel selected, use same wide width on desktop
2193
- "flex flex-col w-full lg:flex-1 lg:max-w-2xl": h !== !1 && !q && !fe
2776
+ "flex flex-col w-full lg:flex-1 lg:max-w-2xl": f !== !1 && !te && !ue
2194
2777
  }
2195
2778
  ),
2196
- children: /* @__PURE__ */ e(
2197
- Ze,
2779
+ children: /* @__PURE__ */ t(
2780
+ ht,
2198
2781
  {
2199
- onChannelSelect: st,
2200
- selectedChannel: W || void 0,
2201
- filters: tt,
2202
- channelRenderFilterFn: g,
2203
- customEmptyStateIndicator: p,
2782
+ onChannelSelect: we,
2783
+ selectedChannel: z || void 0,
2784
+ filters: he,
2785
+ channelRenderFilterFn: m,
2786
+ customEmptyStateIndicator: y,
2204
2787
  renderMessagePreview: R
2205
2788
  }
2206
2789
  )
2207
2790
  }
2208
2791
  ),
2209
- /* @__PURE__ */ e(
2792
+ /* @__PURE__ */ t(
2210
2793
  "div",
2211
2794
  {
2212
- className: D(
2795
+ className: F(
2213
2796
  "messaging-conversation-view flex-1 flex-col min-w-0 min-h-0",
2214
2797
  {
2215
2798
  // In direct conversation mode (or waiting for it), always show (full width)
2216
- flex: q || fe || r,
2799
+ flex: te || ue || a,
2217
2800
  // Normal mode: hide on mobile when no channel selected
2218
- "hidden lg:flex": !q && !fe && !r
2801
+ "hidden lg:flex": !te && !ue && !a
2219
2802
  }
2220
2803
  ),
2221
- children: W ? /* @__PURE__ */ e("div", { className: "flex-1 min-h-0 flex flex-col", children: /* @__PURE__ */ e(
2222
- Ke,
2804
+ children: z ? /* @__PURE__ */ t("div", { className: "flex-1 min-h-0 flex flex-col", children: /* @__PURE__ */ t(
2805
+ pt,
2223
2806
  {
2224
- channel: W,
2225
- onBack: nt,
2226
- showBackButton: !q,
2807
+ channel: z,
2808
+ onBack: Ne,
2809
+ showBackButton: !te,
2227
2810
  renderMessageInputActions: n,
2228
- renderConversationFooter: o,
2229
- renderChannelBanner: m,
2230
- onLeaveConversation: ot,
2231
- onBlockParticipant: lt,
2232
- CustomChannelEmptyState: f,
2233
- showDeleteConversation: et,
2234
- onDeleteConversationClick: a,
2235
- onBlockParticipantClick: w,
2236
- onReportParticipantClick: _,
2237
- dmAgentEnabled: b,
2238
- messageMetadata: M,
2239
- onMessageSent: E,
2240
- showStarButton: y,
2241
- chatbotVotingEnabled: S,
2242
- customProfileContent: u,
2243
- customChannelActions: C,
2244
- renderMessage: T
2811
+ renderConversationFooter: r,
2812
+ renderChannelBanner: p,
2813
+ onLeaveConversation: Ee,
2814
+ onBlockParticipant: Ie,
2815
+ CustomChannelEmptyState: b,
2816
+ showDeleteConversation: Ae,
2817
+ onDeleteConversationClick: u,
2818
+ onBlockParticipantClick: _,
2819
+ onReportParticipantClick: o,
2820
+ dmAgentEnabled: N,
2821
+ messageMetadata: P,
2822
+ onMessageSent: C,
2823
+ showStarButton: S,
2824
+ chatbotVotingEnabled: M,
2825
+ customProfileContent: h,
2826
+ customChannelActions: g,
2827
+ renderMessage: I
2245
2828
  },
2246
- W.id
2247
- ) }) : r ? (
2829
+ z.id
2830
+ ) }) : a ? (
2248
2831
  // Show loading while creating/loading direct conversation channel
2249
- /* @__PURE__ */ e(Ce, {})
2250
- ) : /* @__PURE__ */ e(
2251
- Qe,
2832
+ /* @__PURE__ */ t(Pe, {})
2833
+ ) : /* @__PURE__ */ t(
2834
+ vt,
2252
2835
  {
2253
- hasChannels: re,
2254
- channelsLoaded: te
2836
+ hasChannels: ie,
2837
+ channelsLoaded: O
2255
2838
  }
2256
2839
  )
2257
2840
  }
2258
2841
  )
2259
2842
  ] }),
2260
- me && // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions
2261
- /* @__PURE__ */ e(
2843
+ ve && // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions
2844
+ /* @__PURE__ */ t(
2262
2845
  "dialog",
2263
2846
  {
2264
- ref: ne,
2847
+ ref: le,
2265
2848
  className: "mes-dialog",
2266
- onClick: rt,
2267
- onClose: he,
2268
- children: /* @__PURE__ */ e("div", { className: "h-full w-full bg-white shadow-max-elevation-light", children: /* @__PURE__ */ e(
2269
- zs,
2849
+ onClick: _e,
2850
+ onClose: de,
2851
+ children: /* @__PURE__ */ t("div", { className: "h-full w-full bg-white shadow-max-elevation-light", children: /* @__PURE__ */ t(
2852
+ Vn,
2270
2853
  {
2271
- participantSource: me,
2272
- onSelectParticipant: at,
2273
- onClose: he,
2274
- existingParticipantIds: B,
2275
- participantLabel: Le,
2276
- searchPlaceholder: `Search ${Le}...`
2854
+ participantSource: ve,
2855
+ onSelectParticipant: Ce,
2856
+ onClose: de,
2857
+ existingParticipantIds: ee,
2858
+ participantLabel: xe,
2859
+ searchPlaceholder: `Search ${xe}...`
2277
2860
  },
2278
- oe
2861
+ K
2279
2862
  ) })
2280
2863
  }
2281
2864
  )
2282
2865
  ]
2283
2866
  }
2284
2867
  );
2285
- }, Vs = ({
2286
- question: t,
2868
+ }, Wn = ({
2869
+ question: e,
2287
2870
  onClick: s,
2288
2871
  loading: n = !1,
2289
- className: o
2290
- }) => /* @__PURE__ */ e(
2872
+ className: r
2873
+ }) => /* @__PURE__ */ t(
2291
2874
  "button",
2292
2875
  {
2293
2876
  type: "button",
2294
2877
  onClick: s,
2295
2878
  disabled: n,
2296
2879
  style: { backgroundColor: "#E6E5E3" },
2297
- className: D(
2880
+ className: F(
2298
2881
  "w-full text-center p-4 rounded-xl text-charcoal font-medium transition-colors focus-ring",
2299
2882
  {
2300
2883
  "hover:brightness-95 active:brightness-90": !n,
2301
2884
  "opacity-50 cursor-not-allowed": n
2302
2885
  },
2303
- o
2886
+ r
2304
2887
  ),
2305
- children: t
2888
+ children: e
2306
2889
  }
2307
- ), tn = ({
2308
- faqs: t,
2890
+ ), na = ({
2891
+ faqs: e,
2309
2892
  onFaqClick: s,
2310
2893
  loadingFaqId: n,
2311
- headerText: o,
2894
+ headerText: r,
2312
2895
  className: l,
2313
- avatarImage: d,
2314
- avatarName: r
2896
+ avatarImage: c,
2897
+ avatarName: a
2315
2898
  }) => {
2316
- const c = t.filter((f) => f.enabled).sort((f, h) => (f.order ?? 0) - (h.order ?? 0));
2317
- return c.length === 0 ? null : /* @__PURE__ */ e("div", { className: l, children: /* @__PURE__ */ i("div", { className: "flex gap-3 items-end", children: [
2318
- (d || r) && /* @__PURE__ */ e("div", { className: "flex-none", children: /* @__PURE__ */ e(
2319
- ae,
2899
+ const d = e.filter((b) => b.enabled).sort((b, f) => (b.order ?? 0) - (f.order ?? 0));
2900
+ return d.length === 0 ? null : /* @__PURE__ */ t("div", { className: l, children: /* @__PURE__ */ i("div", { className: "flex gap-3 items-end", children: [
2901
+ (c || a) && /* @__PURE__ */ t("div", { className: "flex-none", children: /* @__PURE__ */ t(
2902
+ me,
2320
2903
  {
2321
- id: r || "account",
2322
- name: r || "Account",
2323
- image: d,
2904
+ id: a || "account",
2905
+ name: a || "Account",
2906
+ image: c,
2324
2907
  size: 24,
2325
2908
  shape: "circle"
2326
2909
  }
@@ -2331,76 +2914,78 @@ const en = ({
2331
2914
  className: "flex-1 flex flex-col gap-3 rounded-lg p-4",
2332
2915
  style: { backgroundColor: "#F1F0EE" },
2333
2916
  children: [
2334
- o && /* @__PURE__ */ e("p", { className: "text-md text-charcoal mb-4", children: o }),
2335
- c.map((f) => /* @__PURE__ */ e(
2336
- Vs,
2917
+ r && /* @__PURE__ */ t("p", { className: "text-md text-charcoal mb-4", children: r }),
2918
+ d.map((b) => /* @__PURE__ */ t(
2919
+ Wn,
2337
2920
  {
2338
- question: f.question,
2339
- onClick: () => s(f.id),
2340
- loading: n === f.id
2921
+ question: b.question,
2922
+ onClick: () => s(b.id),
2923
+ loading: n === b.id
2341
2924
  },
2342
- f.id
2925
+ b.id
2343
2926
  ))
2344
2927
  ]
2345
2928
  }
2346
2929
  )
2347
2930
  ] }) });
2348
- }, sn = (t, s = {}) => {
2349
- const { initialSearch: n = "", pageSize: o = 20 } = s, [l, d] = k([]), [r, c] = k(!1), [f, h] = k(null), [x, g] = k(n), [p, a] = k(!0), [w, _] = k(), b = A(async (S = !1, R) => {
2350
- if (r) return;
2351
- const m = R !== void 0 ? R : x;
2352
- c(!0), h(null);
2931
+ }, aa = (e, s = {}) => {
2932
+ const { initialSearch: n = "", pageSize: r = 20 } = s, [l, c] = k([]), [a, d] = k(!1), [b, f] = k(null), [x, m] = k(n), [y, u] = k(!0), [_, o] = k(), N = U(async (M = !1, R) => {
2933
+ if (a) return;
2934
+ const p = R !== void 0 ? R : x;
2935
+ d(!0), f(null);
2353
2936
  try {
2354
- const u = await t.loadParticipants({
2355
- search: m || void 0,
2356
- limit: o,
2357
- cursor: S ? void 0 : w
2937
+ const h = await e.loadParticipants({
2938
+ search: p || void 0,
2939
+ limit: r,
2940
+ cursor: M ? void 0 : _
2358
2941
  });
2359
- d(
2360
- (C) => S ? u.participants : [...C, ...u.participants]
2361
- ), a(u.hasMore), _(u.nextCursor);
2362
- } catch (u) {
2363
- const C = u instanceof Error ? u.message : "Failed to load participants";
2364
- h(C), console.error("[useParticipants] Load error:", u);
2942
+ c(
2943
+ (g) => M ? h.participants : [...g, ...h.participants]
2944
+ ), u(h.hasMore), o(h.nextCursor);
2945
+ } catch (h) {
2946
+ const g = h instanceof Error ? h.message : "Failed to load participants";
2947
+ f(g), console.error("[useParticipants] Load error:", h);
2365
2948
  } finally {
2366
- c(!1);
2949
+ d(!1);
2367
2950
  }
2368
- }, [t, x, w, o, r]), M = A(() => {
2369
- p && !r && b(!1);
2370
- }, [p, r, b]), E = A((S) => {
2371
- g(S), _(void 0), b(!0, S);
2372
- }, [b]), y = A(() => {
2373
- _(void 0), b(!0);
2374
- }, [b]);
2375
- return K(() => {
2376
- b(!0);
2377
- }, [t.loadParticipants]), {
2951
+ }, [e, x, _, r, a]), P = U(() => {
2952
+ y && !a && N(!1);
2953
+ }, [y, a, N]), C = U((M) => {
2954
+ m(M), o(void 0), N(!0, M);
2955
+ }, [N]), S = U(() => {
2956
+ o(void 0), N(!0);
2957
+ }, [N]);
2958
+ return V(() => {
2959
+ N(!0);
2960
+ }, [e.loadParticipants]), {
2378
2961
  participants: l,
2379
- loading: r,
2380
- error: f,
2962
+ loading: a,
2963
+ error: b,
2381
2964
  searchQuery: x,
2382
- hasMore: p,
2383
- totalCount: t.totalCount,
2384
- loadMore: M,
2385
- search: E,
2386
- refresh: y
2965
+ hasMore: y,
2966
+ totalCount: e.totalCount,
2967
+ loadMore: P,
2968
+ search: C,
2969
+ refresh: S
2387
2970
  };
2388
2971
  };
2389
2972
  export {
2390
- ge as ActionButton,
2391
- ae as Avatar,
2392
- Us as ChannelEmptyState,
2393
- Ze as ChannelList,
2394
- Ke as ChannelView,
2395
- tn as FaqList,
2396
- Vs as FaqListItem,
2397
- vs as MessageVoteButtons,
2398
- Qs as MessagingProvider,
2399
- en as MessagingShell,
2400
- zs as ParticipantPicker,
2401
- os as formatRelativeTime,
2402
- bs as useMessageVote,
2403
- ss as useMessaging,
2404
- sn as useParticipants
2973
+ Se as ActionButton,
2974
+ me as Avatar,
2975
+ zn as ChannelEmptyState,
2976
+ ht as ChannelList,
2977
+ pt as ChannelView,
2978
+ na as FaqList,
2979
+ Wn as FaqListItem,
2980
+ pn as LockedAttachmentCard,
2981
+ Nn as MessageVoteButtons,
2982
+ ta as MessagingProvider,
2983
+ sa as MessagingShell,
2984
+ Vn as ParticipantPicker,
2985
+ Us as formatRelativeTime,
2986
+ Hs as isAttachmentMessage,
2987
+ Xs as useMessageVote,
2988
+ Ds as useMessaging,
2989
+ aa as useParticipants
2405
2990
  };
2406
2991
  //# sourceMappingURL=index.js.map