@asgard-js/react 0.0.4 → 0.0.5

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 (90) hide show
  1. package/README.md +85 -4
  2. package/dist/components/chatbot/chatbot-body.d.ts +4 -0
  3. package/dist/components/chatbot/chatbot-body.d.ts.map +1 -0
  4. package/dist/components/chatbot/chatbot-footer/chatbot-footer.d.ts +4 -0
  5. package/dist/components/chatbot/chatbot-footer/chatbot-footer.d.ts.map +1 -0
  6. package/dist/components/chatbot/chatbot-footer/index.d.ts +2 -0
  7. package/dist/components/chatbot/chatbot-footer/index.d.ts.map +1 -0
  8. package/dist/components/chatbot/chatbot-footer/speech-input-button.d.ts +9 -0
  9. package/dist/components/chatbot/chatbot-footer/speech-input-button.d.ts.map +1 -0
  10. package/dist/components/chatbot/chatbot-header.d.ts +10 -0
  11. package/dist/components/chatbot/chatbot-header.d.ts.map +1 -0
  12. package/dist/components/chatbot/chatbot.d.ts +20 -0
  13. package/dist/components/chatbot/chatbot.d.ts.map +1 -0
  14. package/dist/components/chatbot/profile-icon.d.ts +8 -0
  15. package/dist/components/chatbot/profile-icon.d.ts.map +1 -0
  16. package/dist/components/conversation-message-renderer/conversation-message-renderer.d.ts +9 -0
  17. package/dist/components/conversation-message-renderer/conversation-message-renderer.d.ts.map +1 -0
  18. package/dist/components/conversation-message-renderer/index.d.ts +2 -0
  19. package/dist/components/conversation-message-renderer/index.d.ts.map +1 -0
  20. package/dist/components/index.d.ts +2 -0
  21. package/dist/components/index.d.ts.map +1 -0
  22. package/dist/components/templates/avatar/avatar.d.ts +8 -0
  23. package/dist/components/templates/avatar/avatar.d.ts.map +1 -0
  24. package/dist/components/templates/avatar/index.d.ts +2 -0
  25. package/dist/components/templates/avatar/index.d.ts.map +1 -0
  26. package/dist/components/templates/bot-typing-box/bot-typing-box.d.ts +9 -0
  27. package/dist/components/templates/bot-typing-box/bot-typing-box.d.ts.map +1 -0
  28. package/dist/components/templates/bot-typing-box/bot-typing-placeholder.d.ts +8 -0
  29. package/dist/components/templates/bot-typing-box/bot-typing-placeholder.d.ts.map +1 -0
  30. package/dist/components/templates/bot-typing-box/index.d.ts +3 -0
  31. package/dist/components/templates/bot-typing-box/index.d.ts.map +1 -0
  32. package/dist/components/templates/bot-typing-box/resize-observer-box.d.ts +9 -0
  33. package/dist/components/templates/bot-typing-box/resize-observer-box.d.ts.map +1 -0
  34. package/dist/components/templates/button-template/button-template.d.ts +9 -0
  35. package/dist/components/templates/button-template/button-template.d.ts.map +1 -0
  36. package/dist/components/templates/button-template/card.d.ts +9 -0
  37. package/dist/components/templates/button-template/card.d.ts.map +1 -0
  38. package/dist/components/templates/button-template/index.d.ts +2 -0
  39. package/dist/components/templates/button-template/index.d.ts.map +1 -0
  40. package/dist/components/templates/carousel-template/carousel-template.d.ts +9 -0
  41. package/dist/components/templates/carousel-template/carousel-template.d.ts.map +1 -0
  42. package/dist/components/templates/carousel-template/index.d.ts +2 -0
  43. package/dist/components/templates/carousel-template/index.d.ts.map +1 -0
  44. package/dist/components/templates/hint-template/hint-template.d.ts +9 -0
  45. package/dist/components/templates/hint-template/hint-template.d.ts.map +1 -0
  46. package/dist/components/templates/hint-template/index.d.ts +2 -0
  47. package/dist/components/templates/hint-template/index.d.ts.map +1 -0
  48. package/dist/components/templates/index.d.ts +8 -0
  49. package/dist/components/templates/index.d.ts.map +1 -0
  50. package/dist/components/templates/quick-replies/index.d.ts +2 -0
  51. package/dist/components/templates/quick-replies/index.d.ts.map +1 -0
  52. package/dist/components/templates/quick-replies/quick-replies.d.ts +10 -0
  53. package/dist/components/templates/quick-replies/quick-replies.d.ts.map +1 -0
  54. package/dist/components/templates/template-box/index.d.ts +3 -0
  55. package/dist/components/templates/template-box/index.d.ts.map +1 -0
  56. package/dist/components/templates/template-box/template-box-content.d.ts +12 -0
  57. package/dist/components/templates/template-box/template-box-content.d.ts.map +1 -0
  58. package/dist/components/templates/template-box/template-box.d.ts +14 -0
  59. package/dist/components/templates/template-box/template-box.d.ts.map +1 -0
  60. package/dist/components/templates/text-template/index.d.ts +2 -0
  61. package/dist/components/templates/text-template/index.d.ts.map +1 -0
  62. package/dist/components/templates/text-template/text-template.d.ts +9 -0
  63. package/dist/components/templates/text-template/text-template.d.ts.map +1 -0
  64. package/dist/components/templates/time/index.d.ts +2 -0
  65. package/dist/components/templates/time/index.d.ts.map +1 -0
  66. package/dist/components/templates/time/time.d.ts +9 -0
  67. package/dist/components/templates/time/time.d.ts.map +1 -0
  68. package/dist/context/asgard-service-context.d.ts +35 -0
  69. package/dist/context/asgard-service-context.d.ts.map +1 -0
  70. package/dist/context/asgard-theme-context.d.ts +17 -0
  71. package/dist/context/asgard-theme-context.d.ts.map +1 -0
  72. package/dist/hooks/index.d.ts +4 -0
  73. package/dist/hooks/index.d.ts.map +1 -0
  74. package/dist/hooks/use-asgard-service-client.d.ts +8 -0
  75. package/dist/hooks/use-asgard-service-client.d.ts.map +1 -0
  76. package/dist/hooks/use-channel.d.ts +21 -0
  77. package/dist/hooks/use-channel.d.ts.map +1 -0
  78. package/dist/hooks/use-debounce.d.ts +2 -0
  79. package/dist/hooks/use-debounce.d.ts.map +1 -0
  80. package/dist/index.d.ts +3 -0
  81. package/dist/index.d.ts.map +1 -0
  82. package/dist/index.js +457 -471
  83. package/dist/style.css +1 -1
  84. package/dist/utils/deep-merge.d.ts +3 -0
  85. package/dist/utils/deep-merge.d.ts.map +1 -0
  86. package/dist/utils/format-time.d.ts +2 -0
  87. package/dist/utils/format-time.d.ts.map +1 -0
  88. package/dist/utils/index.d.ts +2 -0
  89. package/dist/utils/index.d.ts.map +1 -0
  90. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,120 +1,164 @@
1
- import { jsx as o, jsxs as _ } from "react/jsx-runtime";
2
- import * as x from "react";
3
- import { useRef as z, useEffect as R, useState as N, useCallback as d, useMemo as B, createContext as ot, useContext as st, memo as ct } from "react";
4
- import { AsgardServiceClient as rt, Channel as it, Conversation as at, MessageTemplateType as j } from "@asgard-js/core";
5
- function G(e) {
6
- var t, s, n = "";
1
+ import { jsx as s, jsxs as m } from "react/jsx-runtime";
2
+ import * as u from "react";
3
+ import { createContext as tt, useMemo as y, useContext as et, useRef as q, useEffect as L, useState as N, useCallback as g, memo as lt } from "react";
4
+ import { AsgardServiceClient as _t, Conversation as ut, Channel as dt, MessageTemplateType as z } from "@asgard-js/core";
5
+ function ot(e) {
6
+ var t, o, n = "";
7
7
  if (typeof e == "string" || typeof e == "number") n += e;
8
8
  else if (typeof e == "object") if (Array.isArray(e)) {
9
- var c = e.length;
10
- for (t = 0; t < c; t++) e[t] && (s = G(e[t])) && (n && (n += " "), n += s);
11
- } else for (s in e) e[s] && (n && (n += " "), n += s);
9
+ var r = e.length;
10
+ for (t = 0; t < r; t++) e[t] && (o = ot(e[t])) && (n && (n += " "), n += o);
11
+ } else for (o in e) e[o] && (n && (n += " "), n += o);
12
12
  return n;
13
13
  }
14
- function T() {
15
- for (var e, t, s = 0, n = "", c = arguments.length; s < c; s++) (e = arguments[s]) && (t = G(e)) && (n && (n += " "), n += t);
14
+ function R() {
15
+ for (var e, t, o = 0, n = "", r = arguments.length; o < r; o++) (e = arguments[o]) && (t = ot(e)) && (n && (n += " "), n += t);
16
16
  return n;
17
17
  }
18
- function lt(e) {
19
- const { config: t } = e, s = z(null);
20
- return s.current || (s.current = new rt(t)), R(() => () => {
21
- s.current && (s.current.close(), s.current = null);
22
- }, [t]), s.current;
18
+ function F(e) {
19
+ return e !== null && typeof e == "object" && !Array.isArray(e);
23
20
  }
24
- function _t(e) {
21
+ function P(e, t) {
22
+ const o = { ...e };
23
+ if (!t) return o;
24
+ for (const [n, r] of Object.entries(t)) {
25
+ if (!F(r)) {
26
+ o[n] = r;
27
+ continue;
28
+ }
29
+ o[n] = P(F(o[n]) ? o[n] : {}, r);
30
+ }
31
+ return o;
32
+ }
33
+ const nt = {
34
+ chatbot: {
35
+ width: "375px",
36
+ height: "640px",
37
+ backgroundColor: "var(--asg-color-bg)",
38
+ borderColor: "var(--asg-color-border)",
39
+ borderRadius: "var(--asg-radius-md)",
40
+ contentMaxWidth: "1200px"
41
+ },
42
+ botMessage: {
43
+ color: "var(--asg-color-text)",
44
+ backgroundColor: "var(--asg-color-secondary)"
45
+ },
46
+ userMessage: {
47
+ color: "var(--asg-color-text)",
48
+ backgroundColor: "var(--asg-color-primary)"
49
+ }
50
+ }, st = tt(
51
+ nt
52
+ );
53
+ function ht(e) {
54
+ const { children: t, fullScreen: o, theme: n = {} } = e, r = y(
55
+ () => P(
56
+ nt,
57
+ o ? P(n, {
58
+ chatbot: {
59
+ width: "100vw",
60
+ height: "100vh",
61
+ borderRadius: "var(--asg-radius-none)"
62
+ }
63
+ }) : n
64
+ ),
65
+ [o, n]
66
+ );
67
+ return /* @__PURE__ */ s(st.Provider, { value: r, children: t });
68
+ }
69
+ function Z() {
70
+ return et(st);
71
+ }
72
+ function mt(e) {
73
+ const { config: t } = e, o = q(null);
74
+ return o.current || (o.current = new _t(t)), L(() => () => {
75
+ o.current && (o.current.close(), o.current = null);
76
+ }, [t]), o.current;
77
+ }
78
+ function gt(e) {
25
79
  const {
26
80
  client: t,
27
- customChannelId: s,
81
+ customChannelId: o,
28
82
  customMessageId: n,
29
- initMessages: c,
30
- showDebugMessage: r
83
+ initMessages: r,
84
+ showDebugMessage: c
31
85
  } = e;
32
86
  if (!t)
33
87
  throw new Error("Client instance is required");
34
- if (!s)
88
+ if (!o)
35
89
  throw new Error("Custom channel id is required");
36
- const [i, a] = N(null), [u, p] = N(!0), [m, b] = N(!1), [l, h] = N(!1), [f, v] = N(null), C = z(null), L = d(() => {
37
- b(!0), t == null || t.resetChannel(
38
- { customChannelId: s, customMessageId: n },
90
+ const [i, a] = N(null), [_, b] = N(!0), [v, f] = N(!1), [l, d] = N(!1), [h, p] = N(null), C = g(async () => {
91
+ const x = new ut({
92
+ showDebugMessage: c,
93
+ messages: new Map(
94
+ r == null ? void 0 : r.map((T) => [T.messageId, T])
95
+ )
96
+ });
97
+ f(!0), d(!0), p(x);
98
+ const $ = await dt.reset(
39
99
  {
40
- onSseCompleted: () => {
41
- b(!1), a(() => {
42
- const g = new it({
43
- client: t,
44
- customChannelId: s,
45
- conversation: new at({
46
- showDebugMessage: r,
47
- messages: new Map(
48
- c == null ? void 0 : c.map((w) => [w.messageId, w])
49
- )
50
- })
51
- });
52
- return p(!0), h(g.isConnecting$.value), v(g.conversation$.value), g;
53
- });
100
+ client: t,
101
+ customChannelId: o,
102
+ customMessageId: n,
103
+ conversation: x,
104
+ statesObserver: (T) => {
105
+ d(T.isConnecting), p(T.conversation);
106
+ }
107
+ },
108
+ {
109
+ onSseCompleted() {
110
+ f(!1);
54
111
  }
55
112
  }
56
113
  );
114
+ a($);
57
115
  }, [
58
116
  t,
59
- s,
117
+ o,
60
118
  n,
61
- c,
62
- r
63
- ]), M = d(() => {
64
- var g;
65
- a((w) => (w == null || w.close(), null)), p(!1), b(!1), h(!1), v(null), (g = C.current) == null || g.forEach(
66
- (w) => w.unsubscribe()
67
- );
68
- }, []), $ = d(
69
- (g) => {
70
- i == null || i.sendMessage({ text: g });
119
+ r,
120
+ c
121
+ ]), M = g(() => {
122
+ a((x) => (x == null || x.close(), null)), b(!1), f(!1), d(!1), p(null);
123
+ }, []), k = g(
124
+ (x) => {
125
+ i == null || i.sendMessage({ text: x });
71
126
  },
72
127
  [i]
73
128
  );
74
- return R(() => {
75
- if (i)
76
- return C.current = [
77
- i == null ? void 0 : i.isConnecting$.subscribe(h),
78
- i == null ? void 0 : i.conversation$.subscribe(v)
79
- ], () => {
80
- var g;
81
- (g = C.current) == null || g.forEach(
82
- (w) => w.unsubscribe()
83
- );
84
- };
85
- }, [i]), R(() => {
86
- !i && u && L();
87
- }, [i, u, L]), R(() => () => M(), [M]), B(
129
+ return L(() => {
130
+ !i && _ && C();
131
+ }, [i, _, C]), L(() => () => M(), [M]), y(
88
132
  () => ({
89
- isOpen: u,
90
- isResetting: m,
133
+ isOpen: _,
134
+ isResetting: v,
91
135
  isConnecting: l,
92
- conversation: f,
93
- sendMessage: $,
94
- resetChannel: L,
136
+ conversation: h,
137
+ sendMessage: k,
138
+ resetChannel: C,
95
139
  closeChannel: M
96
140
  }),
97
141
  [
98
- u,
99
- m,
142
+ _,
143
+ v,
100
144
  l,
101
- f,
102
- $,
103
- L,
145
+ h,
146
+ k,
147
+ C,
104
148
  M
105
149
  ]
106
150
  );
107
151
  }
108
- function ut(e, t) {
109
- const [s, n] = N(e);
110
- return R(() => {
111
- const c = window.setTimeout(() => {
152
+ function bt(e, t) {
153
+ const [o, n] = N(e);
154
+ return L(() => {
155
+ const r = window.setTimeout(() => {
112
156
  n(e);
113
157
  }, t ?? 300);
114
- return () => clearTimeout(c);
115
- }, [e, t]), s;
158
+ return () => clearTimeout(r);
159
+ }, [e, t]), o;
116
160
  }
117
- const Y = ot({
161
+ const rt = tt({
118
162
  avatar: void 0,
119
163
  client: null,
120
164
  isOpen: !1,
@@ -124,72 +168,72 @@ const Y = ot({
124
168
  messageBoxBottomRef: { current: null },
125
169
  botTypingPlaceholder: void 0
126
170
  });
127
- function dt(e) {
171
+ function ft(e) {
128
172
  const {
129
173
  avatar: t,
130
- children: s,
174
+ children: o,
131
175
  config: n,
132
- botTypingPlaceholder: c,
133
- customChannelId: r,
176
+ botTypingPlaceholder: r,
177
+ customChannelId: c,
134
178
  customMessageId: i,
135
179
  delayTime: a,
136
- initMessages: u,
137
- options: p,
138
- ...m
139
- } = e, b = z(null), l = lt({ config: n }), {
140
- isOpen: h,
141
- isResetting: f,
142
- isConnecting: v,
180
+ initMessages: _,
181
+ options: b,
182
+ ...v
183
+ } = e, f = q(null), l = mt({ config: n }), {
184
+ isOpen: d,
185
+ isResetting: h,
186
+ isConnecting: p,
143
187
  conversation: C,
144
- sendMessage: L,
145
- resetChannel: M,
146
- closeChannel: $
147
- } = _t({
188
+ sendMessage: M,
189
+ resetChannel: k,
190
+ closeChannel: x
191
+ } = gt({
148
192
  client: l,
149
- customChannelId: r,
150
- initMessages: u,
151
- showDebugMessage: p == null ? void 0 : p.showDebugMessage
152
- }), g = B(
193
+ customChannelId: c,
194
+ initMessages: _,
195
+ showDebugMessage: b == null ? void 0 : b.showDebugMessage
196
+ }), $ = y(
153
197
  () => ({
154
198
  avatar: t,
155
199
  client: l,
156
- isOpen: h,
157
- isResetting: f,
158
- isConnecting: v,
200
+ isOpen: d,
201
+ isResetting: h,
202
+ isConnecting: p,
159
203
  messages: (C == null ? void 0 : C.messages) ?? null,
160
- sendMessage: L,
161
- resetChannel: M,
162
- closeChannel: $,
163
- botTypingPlaceholder: c,
164
- messageBoxBottomRef: b
204
+ sendMessage: M,
205
+ resetChannel: k,
206
+ closeChannel: x,
207
+ botTypingPlaceholder: r,
208
+ messageBoxBottomRef: f
165
209
  }),
166
210
  [
167
211
  t,
168
212
  l,
213
+ d,
169
214
  h,
170
- f,
171
- v,
215
+ p,
172
216
  C == null ? void 0 : C.messages,
173
- L,
174
217
  M,
175
- $,
176
- c
218
+ k,
219
+ x,
220
+ r
177
221
  ]
178
- );
179
- return /* @__PURE__ */ o(Y.Provider, { value: g, children: /* @__PURE__ */ o("div", { ...m, children: s }) });
222
+ ), T = Z();
223
+ return /* @__PURE__ */ s(rt.Provider, { value: $, children: /* @__PURE__ */ s("div", { style: T == null ? void 0 : T.chatbot, ...v, children: o }) });
180
224
  }
181
- function y() {
182
- return st(Y);
225
+ function w() {
226
+ return et(rt);
183
227
  }
184
- const ht = "_chatbot_header_f3p4c_1", mt = "_chatbot_header__content_f3p4c_1", bt = "_chatbot_header__title_f3p4c_9", gt = "_chatbot_header__extra_f3p4c_20", I = {
185
- chatbot_header: ht,
186
- chatbot_header__content: mt,
187
- chatbot_header__title: bt,
188
- chatbot_header__extra: gt
189
- };
190
- function pt(e) {
228
+ const pt = "_chatbot_header_cqlve_1", Ct = "_chatbot_header__content_cqlve_1", vt = "_chatbot_header__title_cqlve_9", xt = "_chatbot_header__extra_cqlve_20", A = {
229
+ chatbot_header: pt,
230
+ chatbot_header__content: Ct,
231
+ chatbot_header__title: vt,
232
+ chatbot_header__extra: xt
233
+ }, yt = (e) => /* @__PURE__ */ u.createElement("svg", { width: 33, height: 32, viewBox: "0 0 33 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ u.createElement("g", { clipPath: "url(#clip0_3084_29383)" }, /* @__PURE__ */ u.createElement("path", { d: "M0.410645 16C0.410645 7.16344 7.57409 0 16.4106 0C25.2472 0 32.4106 7.16344 32.4106 16C32.4106 24.8366 25.2472 32 16.4106 32C7.57409 32 0.410645 24.8366 0.410645 16Z", fill: "#333333" }), /* @__PURE__ */ u.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M16.5788 6.33398C19.8925 6.33398 22.5788 9.02028 22.5788 12.334C22.5788 14.2211 21.7075 15.9048 20.3453 17.0047C23.6487 18.3735 26.0607 21.6974 26.4106 25.6673H24.4569C24.0206 21.6274 20.9742 18.4911 17.2591 18.3397L16.9776 18.334H16.5788H15.8437C12.0019 18.334 8.81164 21.5258 8.36437 25.6673H6.41064C6.76857 21.607 9.28344 18.2225 12.7029 16.9143C11.4036 15.8137 10.5788 14.1701 10.5788 12.334C10.5788 9.02028 13.265 6.33398 16.5788 6.33398ZM16.5788 16.334C18.7879 16.334 20.5788 14.5431 20.5788 12.334C20.5788 10.1248 18.7879 8.33398 16.5788 8.33398C14.3696 8.33398 12.5788 10.1248 12.5788 12.334C12.5788 14.5431 14.3696 16.334 16.5788 16.334Z", fill: "#8C8C8C" })), /* @__PURE__ */ u.createElement("defs", null, /* @__PURE__ */ u.createElement("clipPath", { id: "clip0_3084_29383" }, /* @__PURE__ */ u.createElement("path", { d: "M0.410645 16C0.410645 7.16344 7.57409 0 16.4106 0C25.2472 0 32.4106 7.16344 32.4106 16C32.4106 24.8366 25.2472 32 16.4106 32C7.57409 32 0.410645 24.8366 0.410645 16Z", fill: "white" }))));
234
+ function wt(e) {
191
235
  const { avatar: t } = e;
192
- return t ? /* @__PURE__ */ o(
236
+ return t ? /* @__PURE__ */ s(
193
237
  "img",
194
238
  {
195
239
  src: t,
@@ -200,125 +244,89 @@ function pt(e) {
200
244
  borderRadius: "50%"
201
245
  }
202
246
  }
203
- ) : /* @__PURE__ */ _(
204
- "svg",
205
- {
206
- width: "33",
207
- height: "32",
208
- viewBox: "0 0 33 32",
209
- fill: "none",
210
- xmlns: "http://www.w3.org/2000/svg",
211
- children: [
212
- /* @__PURE__ */ _("g", { "clip-path": "url(#clip0_3084_29383)", children: [
213
- /* @__PURE__ */ o(
214
- "path",
215
- {
216
- d: "M0.410645 16C0.410645 7.16344 7.57409 0 16.4106 0C25.2472 0 32.4106 7.16344 32.4106 16C32.4106 24.8366 25.2472 32 16.4106 32C7.57409 32 0.410645 24.8366 0.410645 16Z",
217
- fill: "#333333"
218
- }
219
- ),
220
- /* @__PURE__ */ o(
221
- "path",
222
- {
223
- "fill-rule": "evenodd",
224
- "clip-rule": "evenodd",
225
- d: "M16.5788 6.33398C19.8925 6.33398 22.5788 9.02028 22.5788 12.334C22.5788 14.2211 21.7075 15.9048 20.3453 17.0047C23.6487 18.3735 26.0607 21.6974 26.4106 25.6673H24.4569C24.0206 21.6274 20.9742 18.4911 17.2591 18.3397L16.9776 18.334H16.5788H15.8437C12.0019 18.334 8.81164 21.5258 8.36437 25.6673H6.41064C6.76857 21.607 9.28344 18.2225 12.7029 16.9143C11.4036 15.8137 10.5788 14.1701 10.5788 12.334C10.5788 9.02028 13.265 6.33398 16.5788 6.33398ZM16.5788 16.334C18.7879 16.334 20.5788 14.5431 20.5788 12.334C20.5788 10.1248 18.7879 8.33398 16.5788 8.33398C14.3696 8.33398 12.5788 10.1248 12.5788 12.334C12.5788 14.5431 14.3696 16.334 16.5788 16.334Z",
226
- fill: "#8C8C8C"
227
- }
228
- )
229
- ] }),
230
- /* @__PURE__ */ o("defs", { children: /* @__PURE__ */ o("clipPath", { id: "clip0_3084_29383", children: /* @__PURE__ */ o(
231
- "path",
232
- {
233
- d: "M0.410645 16C0.410645 7.16344 7.57409 0 16.4106 0C25.2472 0 32.4106 7.16344 32.4106 16C32.4106 24.8366 25.2472 32 16.4106 32C7.57409 32 0.410645 24.8366 0.410645 16Z",
234
- fill: "white"
235
- }
236
- ) }) })
237
- ]
238
- }
239
- );
247
+ ) : /* @__PURE__ */ s(yt, {});
240
248
  }
241
- const ft = (e) => /* @__PURE__ */ x.createElement("svg", { width: 16, height: 16, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ x.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M3.49453 2.3352C6.44049 -0.226723 10.9105 -0.106316 13.7142 2.69633C16.6428 5.62613 16.6428 10.3739 13.7144 13.3035C10.7846 16.2322 6.03581 16.2322 3.1073 13.3036C2.30873 12.505 1.71132 11.5536 1.34188 10.5109L1.78892 10.3525L1.34171 10.5106L1.22791 10.162C1.01752 9.46018 0.910643 8.73159 0.910643 7.9997H2.4542L2.46382 8.33865C2.49584 8.9024 2.60763 9.46037 2.79674 9.99539L2.7968 9.99536L2.90116 10.2683C3.19714 10.9887 3.63414 11.6475 4.19876 12.2121C6.52451 14.5379 10.2961 14.5379 12.6229 12.212C14.9486 9.88539 14.9486 6.11464 12.6227 3.78781C10.3306 1.49653 6.63579 1.46263 4.30292 3.68622L6.68087 3.68698V5.22954H3.49394H1.95141V3.68698V0.5H3.49394L3.49453 2.3352Z", fill: "#8C8C8C" })), Ct = (e) => /* @__PURE__ */ x.createElement("svg", { width: 15, height: 14, viewBox: "0 0 15 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ x.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M13.3496 0L7.41062 5.938L1.47162 0L0.411621 1.06L6.34962 6.999L0.411621 12.938L1.47162 13.999L7.41062 8.059L13.3496 13.999L14.4096 12.938L8.47162 6.999L14.4096 1.06L13.3496 0Z", fill: "#8C8C8C" }));
242
- function vt(e) {
243
- const { title: t } = e, { avatar: s, isOpen: n, isResetting: c, resetChannel: r, closeChannel: i } = y(), a = d(
244
- (m) => {
245
- !n && !c && (m.stopPropagation(), r == null || r());
246
- },
247
- [n, c, r]
248
- ), u = d(
249
- (m) => {
250
- n && !c && (m.stopPropagation(), r == null || r());
249
+ const Tt = (e) => /* @__PURE__ */ u.createElement("svg", { width: 16, height: 16, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ u.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M3.49453 2.3352C6.44049 -0.226723 10.9105 -0.106316 13.7142 2.69633C16.6428 5.62613 16.6428 10.3739 13.7144 13.3035C10.7846 16.2322 6.03581 16.2322 3.1073 13.3036C2.30873 12.505 1.71132 11.5536 1.34188 10.5109L1.78892 10.3525L1.34171 10.5106L1.22791 10.162C1.01752 9.46018 0.910643 8.73159 0.910643 7.9997H2.4542L2.46382 8.33865C2.49584 8.9024 2.60763 9.46037 2.79674 9.99539L2.7968 9.99536L2.90116 10.2683C3.19714 10.9887 3.63414 11.6475 4.19876 12.2121C6.52451 14.5379 10.2961 14.5379 12.6229 12.212C14.9486 9.88539 14.9486 6.11464 12.6227 3.78781C10.3306 1.49653 6.63579 1.46263 4.30292 3.68622L6.68087 3.68698V5.22954H3.49394H1.95141V3.68698V0.5H3.49394L3.49453 2.3352Z", fill: "#8C8C8C" })), Nt = (e) => /* @__PURE__ */ u.createElement("svg", { width: 15, height: 14, viewBox: "0 0 15 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ u.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M13.3496 0L7.41062 5.938L1.47162 0L0.411621 1.06L6.34962 6.999L0.411621 12.938L1.47162 13.999L7.41062 8.059L13.3496 13.999L14.4096 12.938L8.47162 6.999L14.4096 1.06L13.3496 0Z", fill: "#8C8C8C" }));
250
+ function Rt(e) {
251
+ const { title: t, onReset: o, onClose: n } = e, { chatbot: r } = Z(), { avatar: c, isResetting: i, resetChannel: a, closeChannel: _ } = w(), b = y(
252
+ () => ({
253
+ maxWidth: (r == null ? void 0 : r.contentMaxWidth) ?? "1200px"
254
+ }),
255
+ [r]
256
+ ), v = g(
257
+ (l) => {
258
+ i || (l.stopPropagation(), o == null || o(), a == null || a());
251
259
  },
252
- [n, c, r]
253
- ), p = d(
254
- (m) => {
255
- c || (m.stopPropagation(), i == null || i());
260
+ [i, o, a]
261
+ ), f = g(
262
+ (l) => {
263
+ i || (l.stopPropagation(), n == null || n(), _ == null || _());
256
264
  },
257
- [c, i]
265
+ [i, n, _]
258
266
  );
259
- return /* @__PURE__ */ o("div", { className: I.chatbot_header, onClick: a, children: /* @__PURE__ */ _("div", { className: I.chatbot_header__content, children: [
260
- /* @__PURE__ */ _("div", { className: I.chatbot_header__title, children: [
261
- /* @__PURE__ */ o(pt, { avatar: s }),
262
- /* @__PURE__ */ o("h4", { children: t })
267
+ return /* @__PURE__ */ s("div", { className: A.chatbot_header, children: /* @__PURE__ */ m("div", { className: A.chatbot_header__content, style: b, children: [
268
+ /* @__PURE__ */ m("div", { className: A.chatbot_header__title, children: [
269
+ /* @__PURE__ */ s(wt, { avatar: c }),
270
+ /* @__PURE__ */ s("h4", { children: t })
263
271
  ] }),
264
- /* @__PURE__ */ _("div", { className: I.chatbot_header__extra, children: [
265
- /* @__PURE__ */ o("div", { onClick: u, children: /* @__PURE__ */ o(ft, {}) }),
266
- /* @__PURE__ */ o("div", { onClick: p, children: /* @__PURE__ */ o(Ct, {}) })
272
+ /* @__PURE__ */ m("div", { className: A.chatbot_header__extra, children: [
273
+ /* @__PURE__ */ s("div", { onClick: v, children: /* @__PURE__ */ s(Tt, {}) }),
274
+ /* @__PURE__ */ s("div", { onClick: f, children: /* @__PURE__ */ s(Nt, {}) })
267
275
  ] })
268
276
  ] }) });
269
277
  }
270
- const xt = "_chatbot_body_1f0gq_1", yt = "_chatbot_body__content_1f0gq_7", P = {
271
- chatbot_body: xt,
272
- chatbot_body__content: yt
273
- }, wt = "_template_box_1ozig_1", k = {
274
- template_box: wt,
278
+ const Mt = "_chatbot_body_1f0gq_1", St = "_chatbot_body__content_1f0gq_7", W = {
279
+ chatbot_body: Mt,
280
+ chatbot_body__content: St
281
+ }, Lt = "_template_box_1ozig_1", E = {
282
+ template_box: Lt,
275
283
  "template_box--bot": "_template_box--bot_1ozig_7",
276
284
  "template_box--horizontal": "_template_box--horizontal_1ozig_7",
277
285
  "template_box--vertical": "_template_box--vertical_1ozig_10",
278
286
  "template_box--user": "_template_box--user_1ozig_14"
279
287
  };
280
- function E(e) {
281
- const { type: t, direction: s = "horizontal", children: n } = e, c = B(() => {
288
+ function V(e) {
289
+ const { type: t, direction: o = "horizontal", children: n } = e, r = y(() => {
282
290
  switch (t) {
283
291
  case "user":
284
- return T(k.template_box, k["template_box--user"]);
292
+ return R(E.template_box, E["template_box--user"]);
285
293
  case "bot":
286
294
  default:
287
- return T(
288
- k.template_box,
289
- k["template_box--bot"],
290
- s === "horizontal" ? k["template_box--horizontal"] : k["template_box--vertical"]
295
+ return R(
296
+ E.template_box,
297
+ E["template_box--bot"],
298
+ o === "horizontal" ? E["template_box--horizontal"] : E["template_box--vertical"]
291
299
  );
292
300
  }
293
- }, [s, t]);
294
- return /* @__PURE__ */ o("div", { className: c, children: n });
301
+ }, [o, t]);
302
+ return /* @__PURE__ */ s("div", { className: r, children: n });
295
303
  }
296
- const Nt = "_template_box_content_12ojl_1", Tt = "_content_12ojl_7", F = {
297
- template_box_content: Nt,
298
- content: Tt
299
- }, Rt = "_quick_replies_box_zoq7y_1", Lt = "_quick_reply_zoq7y_7", U = {
300
- quick_replies_box: Rt,
301
- quick_reply: Lt
304
+ const Et = "_template_box_content_12ojl_1", Bt = "_content_12ojl_7", U = {
305
+ template_box_content: Et,
306
+ content: Bt
307
+ }, kt = "_quick_replies_box_zoq7y_1", Ht = "_quick_reply_zoq7y_7", J = {
308
+ quick_replies_box: kt,
309
+ quick_reply: Ht
302
310
  };
303
- function Mt(e) {
304
- const { quickReplies: t } = e, { sendMessage: s, isConnecting: n } = y(), c = d(
305
- (r) => {
306
- s == null || s(r);
311
+ function zt(e) {
312
+ const { quickReplies: t } = e, { sendMessage: o, isConnecting: n } = w(), r = g(
313
+ (c) => {
314
+ o == null || o(c);
307
315
  },
308
- [s]
316
+ [o]
309
317
  );
310
- return t != null && t.length ? /* @__PURE__ */ o("div", { className: U.quick_replies_box, children: t.map((r) => /* @__PURE__ */ o(
318
+ return t != null && t.length ? /* @__PURE__ */ s("div", { className: J.quick_replies_box, children: t.map((c) => /* @__PURE__ */ s(
311
319
  "button",
312
320
  {
313
- className: U.quick_reply,
321
+ className: J.quick_reply,
314
322
  disabled: n,
315
- onClick: () => c(r.text),
316
- children: r.text
323
+ onClick: () => r(c.text),
324
+ children: c.text
317
325
  },
318
- r.text
326
+ c.text
319
327
  )) }) : null;
320
328
  }
321
- function tt(e) {
329
+ function ct(e) {
322
330
  return e.toLocaleTimeString("zh-TW", {
323
331
  timeZone: "Asia/Taipei",
324
332
  hour: "2-digit",
@@ -326,109 +334,84 @@ function tt(e) {
326
334
  hour12: !1
327
335
  });
328
336
  }
329
- const St = "_time_rgg92_1", Bt = {
330
- time: St
337
+ const Vt = "_time_rgg92_1", qt = {
338
+ time: Vt
331
339
  };
332
340
  function D(e) {
333
- const { time: t, className: s } = e;
334
- return t ? /* @__PURE__ */ o("div", { className: T(Bt.time, s), children: tt(t) }) : null;
341
+ const { time: t, className: o } = e;
342
+ return t ? /* @__PURE__ */ s("div", { className: R(qt.time, o), children: ct(t) }) : null;
335
343
  }
336
344
  function O(e) {
337
- const { quickReplies: t, time: s, children: n } = e;
338
- return /* @__PURE__ */ _("div", { className: F.template_box_content, children: [
339
- /* @__PURE__ */ _("div", { className: F.content, children: [
345
+ const { quickReplies: t, time: o, children: n } = e;
346
+ return /* @__PURE__ */ m("div", { className: U.template_box_content, children: [
347
+ /* @__PURE__ */ m("div", { className: U.content, children: [
340
348
  n,
341
- /* @__PURE__ */ o(D, { time: s })
349
+ /* @__PURE__ */ s(D, { time: o })
342
350
  ] }),
343
- !!(t != null && t.length) && /* @__PURE__ */ o(Mt, { quickReplies: t })
351
+ !!(t != null && t.length) && /* @__PURE__ */ s(zt, { quickReplies: t })
344
352
  ] });
345
353
  }
346
- const kt = "_bot_avatar_xrs9x_1", J = {
347
- bot_avatar: kt
348
- }, A = ct((e) => {
354
+ const At = "_bot_avatar_xrs9x_1", K = {
355
+ bot_avatar: At
356
+ }, It = (e) => /* @__PURE__ */ u.createElement("svg", { viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ u.createElement("path", { d: "M0.40625 12C0.40625 5.37258 5.77883 0 12.4062 0C19.0337 0 24.4062 5.37258 24.4062 12C24.4062 18.6274 19.0337 24 12.4062 24C5.77883 24 0.40625 18.6274 0.40625 12Z", fill: "#585858" }), /* @__PURE__ */ u.createElement("path", { d: "M6.40625 18.75V15C6.40625 14.5875 6.55313 14.2344 6.84688 13.9406C7.14063 13.6469 7.49375 13.5 7.90625 13.5H16.9062C17.3188 13.5 17.6719 13.6469 17.9656 13.9406C18.2594 14.2344 18.4062 14.5875 18.4062 15V18.75H6.40625ZM10.1562 12.75C9.11875 12.75 8.23438 12.3844 7.50312 11.6531C6.77187 10.9219 6.40625 10.0375 6.40625 9C6.40625 7.9625 6.77187 7.07812 7.50312 6.34687C8.23438 5.61562 9.11875 5.25 10.1562 5.25H14.6562C15.6938 5.25 16.5781 5.61562 17.3094 6.34687C18.0406 7.07812 18.4062 7.9625 18.4062 9C18.4062 10.0375 18.0406 10.9219 17.3094 11.6531C16.5781 12.3844 15.6938 12.75 14.6562 12.75H10.1562ZM7.90625 17.25H16.9062V15H7.90625V17.25ZM10.1562 11.25H14.6562C15.2812 11.25 15.8125 11.0312 16.25 10.5938C16.6875 10.1562 16.9062 9.625 16.9062 9C16.9062 8.375 16.6875 7.84375 16.25 7.40625C15.8125 6.96875 15.2812 6.75 14.6562 6.75H10.1562C9.53125 6.75 9 6.96875 8.5625 7.40625C8.125 7.84375 7.90625 8.375 7.90625 9C7.90625 9.625 8.125 10.1562 8.5625 10.5938C9 11.0312 9.53125 11.25 10.1562 11.25ZM10.1562 9.75C10.3688 9.75 10.5469 9.67812 10.6906 9.53438C10.8344 9.39062 10.9062 9.2125 10.9062 9C10.9062 8.7875 10.8344 8.60938 10.6906 8.46562C10.5469 8.32187 10.3688 8.25 10.1562 8.25C9.94375 8.25 9.76562 8.32187 9.62187 8.46562C9.47812 8.60938 9.40625 8.7875 9.40625 9C9.40625 9.2125 9.47812 9.39062 9.62187 9.53438C9.76562 9.67812 9.94375 9.75 10.1562 9.75ZM14.6562 9.75C14.8687 9.75 15.0469 9.67812 15.1906 9.53438C15.3344 9.39062 15.4062 9.2125 15.4062 9C15.4062 8.7875 15.3344 8.60938 15.1906 8.46562C15.0469 8.32187 14.8687 8.25 14.6562 8.25C14.4438 8.25 14.2656 8.32187 14.1219 8.46562C13.9781 8.60938 13.9062 8.7875 13.9062 9C13.9062 9.2125 13.9781 9.39062 14.1219 9.53438C14.2656 9.67812 14.4438 9.75 14.6562 9.75Z", fill: "white" })), j = lt((e) => {
349
357
  const { avatar: t } = e;
350
- return t ? /* @__PURE__ */ o("img", { src: t, alt: "Bot Avatar", className: J.bot_avatar }) : /* @__PURE__ */ o("div", { className: J.bot_avatar, children: /* @__PURE__ */ _(
351
- "svg",
352
- {
353
- style: { width: "100%", height: "100%" },
354
- viewBox: "0 0 25 24",
355
- fill: "none",
356
- xmlns: "http://www.w3.org/2000/svg",
357
- children: [
358
- /* @__PURE__ */ o(
359
- "path",
360
- {
361
- d: "M0.40625 12C0.40625 5.37258 5.77883 0 12.4062 0C19.0337 0 24.4062 5.37258 24.4062 12C24.4062 18.6274 19.0337 24 12.4062 24C5.77883 24 0.40625 18.6274 0.40625 12Z",
362
- fill: "#585858"
363
- }
364
- ),
365
- /* @__PURE__ */ o(
366
- "path",
367
- {
368
- d: "M6.40625 18.75V15C6.40625 14.5875 6.55313 14.2344 6.84688 13.9406C7.14063 13.6469 7.49375 13.5 7.90625 13.5H16.9062C17.3188 13.5 17.6719 13.6469 17.9656 13.9406C18.2594 14.2344 18.4062 14.5875 18.4062 15V18.75H6.40625ZM10.1562 12.75C9.11875 12.75 8.23438 12.3844 7.50312 11.6531C6.77187 10.9219 6.40625 10.0375 6.40625 9C6.40625 7.9625 6.77187 7.07812 7.50312 6.34687C8.23438 5.61562 9.11875 5.25 10.1562 5.25H14.6562C15.6938 5.25 16.5781 5.61562 17.3094 6.34687C18.0406 7.07812 18.4062 7.9625 18.4062 9C18.4062 10.0375 18.0406 10.9219 17.3094 11.6531C16.5781 12.3844 15.6938 12.75 14.6562 12.75H10.1562ZM7.90625 17.25H16.9062V15H7.90625V17.25ZM10.1562 11.25H14.6562C15.2812 11.25 15.8125 11.0312 16.25 10.5938C16.6875 10.1562 16.9062 9.625 16.9062 9C16.9062 8.375 16.6875 7.84375 16.25 7.40625C15.8125 6.96875 15.2812 6.75 14.6562 6.75H10.1562C9.53125 6.75 9 6.96875 8.5625 7.40625C8.125 7.84375 7.90625 8.375 7.90625 9C7.90625 9.625 8.125 10.1562 8.5625 10.5938C9 11.0312 9.53125 11.25 10.1562 11.25ZM10.1562 9.75C10.3688 9.75 10.5469 9.67812 10.6906 9.53438C10.8344 9.39062 10.9062 9.2125 10.9062 9C10.9062 8.7875 10.8344 8.60938 10.6906 8.46562C10.5469 8.32187 10.3688 8.25 10.1562 8.25C9.94375 8.25 9.76562 8.32187 9.62187 8.46562C9.47812 8.60938 9.40625 8.7875 9.40625 9C9.40625 9.2125 9.47812 9.39062 9.62187 9.53438C9.76562 9.67812 9.94375 9.75 10.1562 9.75ZM14.6562 9.75C14.8687 9.75 15.0469 9.67812 15.1906 9.53438C15.3344 9.39062 15.4062 9.2125 15.4062 9C15.4062 8.7875 15.3344 8.60938 15.1906 8.46562C15.0469 8.32187 14.8687 8.25 14.6562 8.25C14.4438 8.25 14.2656 8.32187 14.1219 8.46562C13.9781 8.60938 13.9062 8.7875 13.9062 9C13.9062 9.2125 13.9781 9.39062 14.1219 9.53438C14.2656 9.67812 14.4438 9.75 14.6562 9.75Z",
369
- fill: "white"
370
- }
371
- )
372
- ]
373
- }
374
- ) });
375
- }), Ht = "_text_1djgp_1", zt = "_dot_1djgp_18", $t = "_blink_1djgp_1", H = {
376
- text: Ht,
358
+ return t ? /* @__PURE__ */ s("img", { src: t, alt: "Bot Avatar", className: K.bot_avatar }) : /* @__PURE__ */ s("div", { className: K.bot_avatar, children: /* @__PURE__ */ s(It, {}) });
359
+ }), Zt = "_text_1djgp_1", jt = "_dot_1djgp_18", B = {
360
+ text: Zt,
377
361
  "text--bot": "_text--bot_1djgp_7",
378
362
  "typing-indicator": "_typing-indicator_1djgp_13",
379
- dot: zt,
380
- blink: $t
363
+ dot: jt
381
364
  };
382
- function Vt(e) {
383
- const { children: t, onResize: s } = e, n = z(null);
384
- return R(() => {
385
- const c = new ResizeObserver((r) => {
386
- for (const i of r) {
387
- const { width: a, height: u } = i.contentRect;
388
- s(a, u);
365
+ function $t(e) {
366
+ const { children: t, onResize: o } = e, n = q(null);
367
+ return L(() => {
368
+ const r = new ResizeObserver((c) => {
369
+ for (const i of c) {
370
+ const { width: a, height: _ } = i.contentRect;
371
+ o(a, _);
389
372
  }
390
373
  });
391
- return n.current && c.observe(n.current), () => {
392
- c.disconnect();
374
+ return n.current && r.observe(n.current), () => {
375
+ r.disconnect();
393
376
  };
394
- }, [n, s]), /* @__PURE__ */ o("div", { ref: n, children: t });
377
+ }, [n, o]), /* @__PURE__ */ s("div", { ref: n, children: t });
395
378
  }
396
- function et(e) {
397
- const { isTyping: t, typingText: s } = e, { messageBoxBottomRef: n, avatar: c } = y(), r = d(() => {
379
+ function it(e) {
380
+ const { isTyping: t, typingText: o } = e, { messageBoxBottomRef: n, avatar: r } = w(), c = g(() => {
398
381
  var a;
399
382
  (a = n.current) == null || a.scrollIntoView({ behavior: "smooth" });
400
- }, [n]), i = ut(t, 500);
401
- return i ? /* @__PURE__ */ _(E, { type: "bot", direction: "horizontal", children: [
402
- /* @__PURE__ */ o(A, { avatar: c }),
403
- /* @__PURE__ */ o(O, { time: /* @__PURE__ */ new Date(), children: /* @__PURE__ */ o("div", { className: T(H.text, H["text--bot"]), children: /* @__PURE__ */ _(Vt, { onResize: r, children: [
404
- /* @__PURE__ */ o("span", { children: s ?? "" }),
405
- i && /* @__PURE__ */ _("span", { className: H["typing-indicator"], children: [
406
- /* @__PURE__ */ o("div", { className: H.dot }),
407
- /* @__PURE__ */ o("div", { className: H.dot }),
408
- /* @__PURE__ */ o("div", { className: H.dot })
383
+ }, [n]), i = bt(t, 500);
384
+ return i ? /* @__PURE__ */ m(V, { type: "bot", direction: "horizontal", children: [
385
+ /* @__PURE__ */ s(j, { avatar: r }),
386
+ /* @__PURE__ */ s(O, { time: /* @__PURE__ */ new Date(), children: /* @__PURE__ */ s("div", { className: R(B.text, B["text--bot"]), children: /* @__PURE__ */ m($t, { onResize: c, children: [
387
+ /* @__PURE__ */ s("span", { children: o ?? "" }),
388
+ i && /* @__PURE__ */ m("span", { className: B["typing-indicator"], children: [
389
+ /* @__PURE__ */ s("div", { className: B.dot }),
390
+ /* @__PURE__ */ s("div", { className: B.dot }),
391
+ /* @__PURE__ */ s("div", { className: B.dot })
409
392
  ] })
410
393
  ] }) }) })
411
394
  ] }) : null;
412
395
  }
413
- function jt(e) {
414
- const { placeholder: t } = e, { isConnecting: s, messages: n } = y(), c = B(
396
+ function Pt(e) {
397
+ const { placeholder: t } = e, { isConnecting: o, messages: n } = w(), r = y(
415
398
  () => Array.from((n == null ? void 0 : n.values()) ?? []).some(
416
- (r) => r.type === "bot" && r.isTyping
399
+ (c) => c.type === "bot" && c.isTyping
417
400
  ),
418
401
  [n]
419
402
  );
420
- return s && !c ? /* @__PURE__ */ o(et, { isTyping: !0, typingText: t }) : null;
403
+ return o && !r ? /* @__PURE__ */ s(it, { isTyping: !0, typingText: t }) : null;
421
404
  }
422
- const Et = "_card_root_1ygom_1", It = "_card_content_1ygom_10", Zt = "_card_title_1ygom_17", qt = "_card_description_1ygom_23", At = "_card_actions_1ygom_37", V = {
423
- card_root: Et,
424
- card_content: It,
425
- card_title: Zt,
426
- card_description: qt,
427
- card_actions: At
405
+ const Dt = "_card_root_1ygom_1", Ot = "_card_content_1ygom_10", Ft = "_card_title_1ygom_17", Wt = "_card_description_1ygom_23", Ut = "_card_actions_1ygom_37", H = {
406
+ card_root: Dt,
407
+ card_content: Ot,
408
+ card_title: Ft,
409
+ card_description: Wt,
410
+ card_actions: Ut
428
411
  };
429
- function nt(e) {
412
+ function at(e) {
430
413
  var i;
431
- const { template: t } = e, { sendMessage: s } = y(), n = B(() => (t == null ? void 0 : t.thumbnailImageUrl.replace(/^http:/, "").replace(/^https:/, "")) || "https://via.assets.so/img.jpg?w=200&h=270&tc=white&bg=#eeeeee", [t]), c = B(() => {
414
+ const { template: t } = e, { sendMessage: o } = w(), n = y(() => (t == null ? void 0 : t.thumbnailImageUrl.replace(/^http:/, "").replace(/^https:/, "")) || "https://via.assets.so/img.jpg?w=200&h=270&tc=white&bg=#eeeeee", [t]), r = y(() => {
432
415
  switch (t == null ? void 0 : t.imageAspectRatio) {
433
416
  case "square":
434
417
  return "1 / 1";
@@ -436,21 +419,21 @@ function nt(e) {
436
419
  default:
437
420
  return "1.51 / 1";
438
421
  }
439
- }, [t]), r = d(
422
+ }, [t]), c = g(
440
423
  (a) => function() {
441
424
  switch (a.type) {
442
425
  case "message":
443
- s(a.text);
426
+ o == null || o(a.text);
444
427
  return;
445
428
  case "uri":
446
429
  window.open(a.uri, "_blank");
447
430
  return;
448
431
  }
449
432
  },
450
- [s]
433
+ [o]
451
434
  );
452
- return /* @__PURE__ */ _("div", { className: V.card_root, children: [
453
- (t == null ? void 0 : t.thumbnailImageUrl) && /* @__PURE__ */ o(
435
+ return /* @__PURE__ */ m("div", { className: H.card_root, children: [
436
+ (t == null ? void 0 : t.thumbnailImageUrl) && /* @__PURE__ */ s(
454
437
  "img",
455
438
  {
456
439
  alt: t == null ? void 0 : t.title,
@@ -458,248 +441,260 @@ function nt(e) {
458
441
  style: {
459
442
  display: "block",
460
443
  width: "100%",
444
+ maxHeight: "170px",
461
445
  objectFit: t == null ? void 0 : t.imageSize,
462
- aspectRatio: c
446
+ aspectRatio: r
463
447
  }
464
448
  }
465
449
  ),
466
- /* @__PURE__ */ _("div", { className: V.card_content, children: [
467
- /* @__PURE__ */ o("h5", { className: V.card_title, children: t == null ? void 0 : t.title }),
468
- /* @__PURE__ */ o("div", { className: V.card_description, children: t == null ? void 0 : t.text }),
469
- /* @__PURE__ */ o("div", { className: V.card_actions, children: (i = t == null ? void 0 : t.buttons) == null ? void 0 : i.map((a, u) => /* @__PURE__ */ o("button", { onClick: r(a.action), children: a.label }, u)) })
450
+ /* @__PURE__ */ m("div", { className: H.card_content, children: [
451
+ /* @__PURE__ */ s("h5", { className: H.card_title, children: t == null ? void 0 : t.title }),
452
+ /* @__PURE__ */ s("div", { className: H.card_description, children: t == null ? void 0 : t.text }),
453
+ /* @__PURE__ */ s("div", { className: H.card_actions, children: (i = t == null ? void 0 : t.buttons) == null ? void 0 : i.map((a, _) => /* @__PURE__ */ s("button", { onClick: c(a.action), children: a.label }, _)) })
470
454
  ] })
471
455
  ] });
472
456
  }
473
- function Dt(e) {
474
- const { message: t } = e, { avatar: s } = y(), n = t.message.template;
475
- return /* @__PURE__ */ _(E, { type: "bot", direction: "horizontal", children: [
476
- /* @__PURE__ */ o(A, { avatar: s }),
477
- /* @__PURE__ */ o(
457
+ function Jt(e) {
458
+ const { message: t } = e, { avatar: o } = w(), n = t.message.template;
459
+ return /* @__PURE__ */ m(V, { type: "bot", direction: "horizontal", children: [
460
+ /* @__PURE__ */ s(j, { avatar: o }),
461
+ /* @__PURE__ */ s(
478
462
  O,
479
463
  {
480
464
  time: t.time,
481
465
  quickReplies: n == null ? void 0 : n.quickReplies,
482
- children: /* @__PURE__ */ o(nt, { template: n })
466
+ children: /* @__PURE__ */ s(at, { template: n })
483
467
  }
484
468
  )
485
469
  ] });
486
470
  }
487
- const Ot = "_text_sbjtw_1", Pt = "_content_sbjtw_19", Z = {
488
- text: Ot,
471
+ const Kt = "_text_sbjtw_1", I = {
472
+ text: Kt,
489
473
  "text--user": "_text--user_sbjtw_7",
490
- "text--bot": "_text--bot_sbjtw_13",
491
- content: Pt
474
+ "text--bot": "_text--bot_sbjtw_13"
492
475
  };
493
- function W(e) {
476
+ function Q(e) {
494
477
  var n;
495
- const { message: t } = e, { avatar: s } = y();
496
- return t.type === "user" ? /* @__PURE__ */ _(E, { type: "user", direction: "horizontal", children: [
497
- /* @__PURE__ */ o("div", { className: T(Z.text, Z["text--user"]), children: t.text }),
498
- /* @__PURE__ */ o(D, { time: t.time })
499
- ] }) : /* @__PURE__ */ _(E, { type: "bot", direction: "horizontal", children: [
500
- /* @__PURE__ */ o(A, { avatar: s }),
501
- /* @__PURE__ */ o(
478
+ const { message: t } = e, { avatar: o } = w();
479
+ return t.type === "user" ? /* @__PURE__ */ m(V, { type: "user", direction: "horizontal", children: [
480
+ /* @__PURE__ */ s("div", { className: R(I.text, I["text--user"]), children: t.text }),
481
+ /* @__PURE__ */ s(D, { time: t.time })
482
+ ] }) : /* @__PURE__ */ m(V, { type: "bot", direction: "horizontal", children: [
483
+ /* @__PURE__ */ s(j, { avatar: o }),
484
+ /* @__PURE__ */ s(
502
485
  O,
503
486
  {
504
487
  time: t.time,
505
488
  quickReplies: (n = t.message.template) == null ? void 0 : n.quickReplies,
506
- children: /* @__PURE__ */ o("div", { className: T(Z.text, Z["text--bot"]), children: t.message.text })
489
+ children: /* @__PURE__ */ s("div", { className: R(I.text, I["text--bot"]), children: t.message.text })
507
490
  }
508
491
  )
509
492
  ] });
510
493
  }
511
- const Ft = "_carousel_root_sv1hc_1", Ut = "_carousel_time_sv1hc_12", K = {
512
- carousel_root: Ft,
513
- carousel_time: Ut
494
+ const Qt = "_carousel_root_sv1hc_1", Xt = "_carousel_time_sv1hc_12", X = {
495
+ carousel_root: Qt,
496
+ carousel_time: Xt
514
497
  };
515
- function Jt(e) {
516
- var c;
517
- const { message: t } = e, { avatar: s } = y(), n = t.message.template;
518
- return /* @__PURE__ */ _(E, { type: "bot", direction: "vertical", children: [
519
- /* @__PURE__ */ o(A, { avatar: s }),
520
- /* @__PURE__ */ o("div", { className: K.carousel_root, children: (c = n.columns) == null ? void 0 : c.map((r, i) => /* @__PURE__ */ o(nt, { template: r }, i)) }),
521
- /* @__PURE__ */ o(D, { className: K.carousel_time, time: t.time })
498
+ function Gt(e) {
499
+ var r;
500
+ const { message: t } = e, { avatar: o } = w(), n = t.message.template;
501
+ return /* @__PURE__ */ m(V, { type: "bot", direction: "vertical", children: [
502
+ /* @__PURE__ */ s(j, { avatar: o }),
503
+ /* @__PURE__ */ s("div", { className: X.carousel_root, children: (r = n.columns) == null ? void 0 : r.map((c, i) => /* @__PURE__ */ s(at, { template: c }, i)) }),
504
+ /* @__PURE__ */ s(D, { className: X.carousel_time, time: t.time })
522
505
  ] });
523
506
  }
524
- const Wt = "_hint_root_g119q_1", Kt = "_time_g119q_14", Q = {
525
- hint_root: Wt,
526
- time: Kt
507
+ const Yt = "_hint_root_g119q_1", te = "_time_g119q_14", G = {
508
+ hint_root: Yt,
509
+ time: te
527
510
  };
528
- function Qt(e) {
511
+ function ee(e) {
529
512
  const { message: t } = e;
530
513
  if (t.type === "user") return null;
531
- const s = t.message.template;
532
- return s.type !== j.HINT ? null : /* @__PURE__ */ _("div", { className: Q.hint_root, children: [
533
- /* @__PURE__ */ o("div", { className: Q.time, children: tt(t.time) }),
534
- s.text
514
+ const o = t.message.template;
515
+ return o.type !== z.HINT ? null : /* @__PURE__ */ m("div", { className: G.hint_root, children: [
516
+ /* @__PURE__ */ s("div", { className: G.time, children: ct(t.time) }),
517
+ o.text
535
518
  ] });
536
519
  }
537
- function Xt(e) {
538
- var s;
520
+ function oe(e) {
521
+ var o;
539
522
  const { message: t } = e;
540
523
  if (t.type === "user")
541
- return /* @__PURE__ */ o(W, { message: t });
524
+ return /* @__PURE__ */ s(Q, { message: t });
542
525
  if (t.isTyping)
543
- return /* @__PURE__ */ o(
544
- et,
526
+ return /* @__PURE__ */ s(
527
+ it,
545
528
  {
546
529
  isTyping: t.isTyping,
547
530
  typingText: t.typingText
548
531
  }
549
532
  );
550
- switch ((s = t.message.template) == null ? void 0 : s.type) {
551
- case j.TEXT:
552
- return /* @__PURE__ */ o(W, { message: t });
553
- case j.HINT:
554
- return /* @__PURE__ */ o(Qt, { message: t });
555
- case j.BUTTON:
556
- return /* @__PURE__ */ o(Dt, { message: t });
557
- case j.CAROUSEL:
558
- return /* @__PURE__ */ o(Jt, { message: t });
533
+ switch ((o = t.message.template) == null ? void 0 : o.type) {
534
+ case z.TEXT:
535
+ return /* @__PURE__ */ s(Q, { message: t });
536
+ case z.HINT:
537
+ return /* @__PURE__ */ s(ee, { message: t });
538
+ case z.BUTTON:
539
+ return /* @__PURE__ */ s(Jt, { message: t });
540
+ case z.CAROUSEL:
541
+ return /* @__PURE__ */ s(Gt, { message: t });
559
542
  default:
560
- return /* @__PURE__ */ o("div", {});
543
+ return /* @__PURE__ */ s("div", {});
561
544
  }
562
545
  }
563
- function Gt() {
564
- const { messages: e, messageBoxBottomRef: t, botTypingPlaceholder: s } = y();
565
- return R(() => {
566
- var n;
567
- (n = t.current) == null || n.scrollIntoView({ behavior: "smooth" });
568
- }, [e, t]), /* @__PURE__ */ o("div", { className: P.chatbot_body, children: /* @__PURE__ */ _("div", { className: P.chatbot_body__content, children: [
569
- Array.from((e == null ? void 0 : e.values()) ?? []).map((n) => /* @__PURE__ */ o(
570
- Xt,
546
+ function ne() {
547
+ const { chatbot: e } = Z(), { messages: t, messageBoxBottomRef: o, botTypingPlaceholder: n } = w();
548
+ L(() => {
549
+ var c;
550
+ (c = o.current) == null || c.scrollIntoView({ behavior: "smooth" });
551
+ }, [t, o]);
552
+ const r = y(
553
+ () => ({
554
+ maxWidth: (e == null ? void 0 : e.contentMaxWidth) ?? "1200px"
555
+ }),
556
+ [e]
557
+ );
558
+ return /* @__PURE__ */ s("div", { className: W.chatbot_body, children: /* @__PURE__ */ m("div", { className: W.chatbot_body__content, style: r, children: [
559
+ Array.from((t == null ? void 0 : t.values()) ?? []).map((c) => /* @__PURE__ */ s(
560
+ oe,
571
561
  {
572
- message: n
562
+ message: c
573
563
  },
574
- n.messageId
564
+ c.messageId
575
565
  )),
576
- /* @__PURE__ */ o(
577
- jt,
566
+ /* @__PURE__ */ s(
567
+ Pt,
578
568
  {
579
- placeholder: s ?? "正在輸入訊息"
569
+ placeholder: n ?? "正在輸入訊息"
580
570
  }
581
571
  ),
582
- /* @__PURE__ */ o("div", { ref: t })
572
+ /* @__PURE__ */ s("div", { ref: o })
583
573
  ] }) });
584
574
  }
585
- const Yt = "_chatbot_footer_aa5it_1", te = "_chatbot_footer__content_aa5it_1", ee = "_chatbot_textarea_aa5it_12", ne = "_chatbot_submit_button_aa5it_27", oe = "_chatbot_submit_button__disabled_aa5it_52", S = {
586
- chatbot_footer: Yt,
587
- chatbot_footer__content: te,
588
- chatbot_textarea: ee,
589
- chatbot_submit_button: ne,
590
- chatbot_submit_button__disabled: oe
591
- }, se = (e) => /* @__PURE__ */ x.createElement("svg", { width: 15, height: 12, viewBox: "0 0 15 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ x.createElement("path", { d: "M0.823242 11.6953V0.945312L14.3328 6.32031L0.823242 11.6953ZM1.90658 10.0911L11.3649 6.32031L1.90658 2.54948V4.98052L5.92574 6.32031L1.90658 7.6601V10.0911Z", fill: "white" })), ce = (e) => /* @__PURE__ */ x.createElement("svg", { width: 11, height: 16, viewBox: "0 0 11 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ x.createElement("path", { d: "M5.40658 9.90397C4.82435 9.90397 4.33158 9.7023 3.92824 9.29897C3.52491 8.89564 3.32324 8.40286 3.32324 7.82064V2.82064C3.32324 2.23842 3.52491 1.74564 3.92824 1.3423C4.33158 0.938971 4.82435 0.737305 5.40658 0.737305C5.9888 0.737305 6.48158 0.938971 6.88491 1.3423C7.28824 1.74564 7.48991 2.23842 7.48991 2.82064V7.82064C7.48991 8.40286 7.28824 8.89564 6.88491 9.29897C6.48158 9.7023 5.9888 9.90397 5.40658 9.90397ZM4.86491 15.1123V12.8654C3.56213 12.7208 2.47949 12.1724 1.61699 11.2202C0.754492 10.2679 0.323242 9.13467 0.323242 7.82064H1.40658C1.40658 8.92731 1.79706 9.87064 2.57803 10.6506C3.35887 11.4306 4.30331 11.8206 5.41137 11.8206C6.51928 11.8206 7.46213 11.4306 8.23991 10.6506C9.01769 9.87064 9.40658 8.92731 9.40658 7.82064H10.4899C10.4899 9.13467 10.0587 10.2679 9.19616 11.2202C8.33366 12.1724 7.25102 12.7208 5.94824 12.8654V15.1123H4.86491ZM5.40658 8.82064C5.68991 8.82064 5.92741 8.7248 6.11908 8.53314C6.31074 8.34147 6.40658 8.10397 6.40658 7.82064V2.82064C6.40658 2.5373 6.31074 2.2998 6.11908 2.10814C5.92741 1.91647 5.68991 1.82064 5.40658 1.82064C5.12324 1.82064 4.88574 1.91647 4.69408 2.10814C4.50241 2.2998 4.40658 2.5373 4.40658 2.82064V7.82064C4.40658 8.10397 4.50241 8.34147 4.69408 8.53314C4.88574 8.7248 5.12324 8.82064 5.40658 8.82064Z", fill: "white" })), re = (e) => /* @__PURE__ */ x.createElement("svg", { width: 40, height: 40, viewBox: "0 0 40 40", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ x.createElement("circle", { cx: 20, cy: 20, r: 18, fill: "#D04444" }), /* @__PURE__ */ x.createElement("rect", { x: 12, y: 12, width: 16, height: 16, fill: "#FFFFFF", rx: 2, ry: 2 }));
592
- function ie(e) {
593
- const { setValue: t, className: s } = e, [n, c] = N(!1), r = z(null);
594
- R(() => {
575
+ const se = "_chatbot_footer_1uvgs_1", re = "_chatbot_footer__content_1uvgs_1", ce = "_chatbot_textarea_1uvgs_11", ie = "_chatbot_submit_button_1uvgs_26", ae = "_chatbot_submit_button__disabled_1uvgs_51", S = {
576
+ chatbot_footer: se,
577
+ chatbot_footer__content: re,
578
+ chatbot_textarea: ce,
579
+ chatbot_submit_button: ie,
580
+ chatbot_submit_button__disabled: ae
581
+ }, le = (e) => /* @__PURE__ */ u.createElement("svg", { width: 15, height: 12, viewBox: "0 0 15 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ u.createElement("path", { d: "M0.823242 11.6953V0.945312L14.3328 6.32031L0.823242 11.6953ZM1.90658 10.0911L11.3649 6.32031L1.90658 2.54948V4.98052L5.92574 6.32031L1.90658 7.6601V10.0911Z", fill: "white" })), _e = (e) => /* @__PURE__ */ u.createElement("svg", { width: 11, height: 16, viewBox: "0 0 11 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ u.createElement("path", { d: "M5.40658 9.90397C4.82435 9.90397 4.33158 9.7023 3.92824 9.29897C3.52491 8.89564 3.32324 8.40286 3.32324 7.82064V2.82064C3.32324 2.23842 3.52491 1.74564 3.92824 1.3423C4.33158 0.938971 4.82435 0.737305 5.40658 0.737305C5.9888 0.737305 6.48158 0.938971 6.88491 1.3423C7.28824 1.74564 7.48991 2.23842 7.48991 2.82064V7.82064C7.48991 8.40286 7.28824 8.89564 6.88491 9.29897C6.48158 9.7023 5.9888 9.90397 5.40658 9.90397ZM4.86491 15.1123V12.8654C3.56213 12.7208 2.47949 12.1724 1.61699 11.2202C0.754492 10.2679 0.323242 9.13467 0.323242 7.82064H1.40658C1.40658 8.92731 1.79706 9.87064 2.57803 10.6506C3.35887 11.4306 4.30331 11.8206 5.41137 11.8206C6.51928 11.8206 7.46213 11.4306 8.23991 10.6506C9.01769 9.87064 9.40658 8.92731 9.40658 7.82064H10.4899C10.4899 9.13467 10.0587 10.2679 9.19616 11.2202C8.33366 12.1724 7.25102 12.7208 5.94824 12.8654V15.1123H4.86491ZM5.40658 8.82064C5.68991 8.82064 5.92741 8.7248 6.11908 8.53314C6.31074 8.34147 6.40658 8.10397 6.40658 7.82064V2.82064C6.40658 2.5373 6.31074 2.2998 6.11908 2.10814C5.92741 1.91647 5.68991 1.82064 5.40658 1.82064C5.12324 1.82064 4.88574 1.91647 4.69408 2.10814C4.50241 2.2998 4.40658 2.5373 4.40658 2.82064V7.82064C4.40658 8.10397 4.50241 8.34147 4.69408 8.53314C4.88574 8.7248 5.12324 8.82064 5.40658 8.82064Z", fill: "white" })), ue = (e) => /* @__PURE__ */ u.createElement("svg", { width: 40, height: 40, viewBox: "0 0 40 40", xmlns: "http://www.w3.org/2000/svg", ...e }, /* @__PURE__ */ u.createElement("circle", { cx: 20, cy: 20, r: 18, fill: "#D04444" }), /* @__PURE__ */ u.createElement("rect", { x: 12, y: 12, width: 16, height: 16, fill: "#FFFFFF", rx: 2, ry: 2 }));
582
+ function de(e) {
583
+ const { setValue: t, className: o } = e, [n, r] = N(!1), c = q(null);
584
+ L(() => {
595
585
  const l = window.SpeechRecognition || window.webkitSpeechRecognition;
596
586
  if (!l) return;
597
- const h = new l();
598
- h.lang = "zh-TW", h.continuous = !0, h.interimResults = !0, h.onresult = (f) => {
599
- for (let v = f.resultIndex; v < f.results.length; v++)
600
- f.results[v].isFinal && t((C) => C + f.results[v][0].transcript);
601
- }, h.onerror = (f) => {
602
- alert(`語音識別錯誤: ${JSON.stringify(f.error)}`);
603
- }, h.onend = () => {
604
- c(!1);
605
- }, r.current = h;
587
+ const d = new l();
588
+ d.lang = "zh-TW", d.continuous = !0, d.interimResults = !0, d.onresult = (h) => {
589
+ for (let p = h.resultIndex; p < h.results.length; p++)
590
+ h.results[p].isFinal && t((C) => C + h.results[p][0].transcript);
591
+ }, d.onerror = (h) => {
592
+ alert(`語音識別錯誤: ${JSON.stringify(h.error)}`);
593
+ }, d.onend = () => {
594
+ r(!1);
595
+ }, c.current = d;
606
596
  }, [t]);
607
- const i = d(() => {
608
- if (!r.current) {
597
+ const i = g(() => {
598
+ if (!c.current) {
609
599
  alert("無法開始辨識: 語音識別器未初始化,請檢查是否有授權使用麥克風");
610
600
  return;
611
601
  }
612
602
  try {
613
- r.current.start(), c(!0);
603
+ c.current.start(), r(!0);
614
604
  } catch (l) {
615
605
  alert(`無法開始辨識: ${JSON.stringify(l)}`);
616
606
  }
617
- }, []), a = d(() => {
618
- r.current && (r.current.stop(), c(!1));
619
- }, []), u = d(
607
+ }, []), a = g(() => {
608
+ c.current && (c.current.stop(), r(!1));
609
+ }, []), _ = g(
620
610
  (l) => {
621
611
  n || (l.preventDefault(), i());
622
612
  },
623
613
  [n, i]
624
- ), p = d(
614
+ ), b = g(
625
615
  (l) => {
626
616
  n && (l.preventDefault(), a());
627
617
  },
628
618
  [n, a]
629
- ), m = d(
619
+ ), v = g(
630
620
  (l) => {
631
621
  n || (l.preventDefault(), i());
632
622
  },
633
623
  [n, i]
634
- ), b = d(
624
+ ), f = g(
635
625
  (l) => {
636
626
  n && (l.preventDefault(), a());
637
627
  },
638
628
  [n, a]
639
629
  );
640
- return /* @__PURE__ */ o(
630
+ return /* @__PURE__ */ s(
641
631
  "div",
642
632
  {
643
- className: s,
644
- onMouseDown: u,
645
- onMouseUp: p,
646
- onTouchStart: m,
647
- onTouchEnd: b,
648
- children: n ? /* @__PURE__ */ o(re, {}) : /* @__PURE__ */ o(ce, {})
633
+ className: o,
634
+ onMouseDown: _,
635
+ onMouseUp: b,
636
+ onTouchStart: v,
637
+ onTouchEnd: f,
638
+ children: n ? /* @__PURE__ */ s(ue, {}) : /* @__PURE__ */ s(_e, {})
649
639
  }
650
640
  );
651
641
  }
652
- function ae() {
653
- const { sendMessage: e, isConnecting: t } = y(), [s, n] = N(""), [c, r] = N(!1), i = z(null), a = B(() => t || !s, [t, s]), u = d(
654
- (b) => {
655
- const l = b.target, h = l.value;
656
- l.style.height = "20px", h && (l.style.height = `${l.scrollHeight - 16}px`), n(b.target.value);
642
+ function he() {
643
+ const { sendMessage: e, isConnecting: t } = w(), { chatbot: o } = Z(), [n, r] = N(""), [c, i] = N(!1), a = q(null), _ = y(() => t || !n, [t, n]), b = y(
644
+ () => ({
645
+ maxWidth: (o == null ? void 0 : o.contentMaxWidth) ?? "1200px"
646
+ }),
647
+ [o]
648
+ ), v = g(
649
+ (d) => {
650
+ const h = d.target, p = h.value;
651
+ h.style.height = "36px", p && (h.style.height = `${h.scrollHeight}px`), r(d.target.value);
657
652
  },
658
653
  []
659
- ), p = d(() => {
660
- !c && !t && (e == null || e(s), n(""), i.current && (i.current.style.height = "20px"));
661
- }, [c, t, e, s]), m = d(
662
- (b) => {
663
- if (b.key === "Enter" && !c && !t) {
664
- e == null || e(s), n("");
665
- const l = b.target;
666
- l.style.height = "20px";
654
+ ), f = g(() => {
655
+ !c && !t && (e == null || e(n), r(""), a.current && (a.current.style.height = "36px"));
656
+ }, [c, t, e, n]), l = g(
657
+ (d) => {
658
+ if (d.key === "Enter" && !c && !t) {
659
+ e == null || e(n), r("");
660
+ const h = d.target;
661
+ h.style.height = "36px";
667
662
  }
668
663
  },
669
- [c, t, e, s]
664
+ [c, t, e, n]
670
665
  );
671
- return /* @__PURE__ */ o("div", { className: S.chatbot_footer, children: /* @__PURE__ */ _("div", { className: S.chatbot_footer__content, children: [
672
- /* @__PURE__ */ o(
666
+ return /* @__PURE__ */ s("div", { className: S.chatbot_footer, children: /* @__PURE__ */ m("div", { className: S.chatbot_footer__content, style: b, children: [
667
+ /* @__PURE__ */ s(
673
668
  "textarea",
674
669
  {
675
- ref: i,
670
+ ref: a,
676
671
  className: S.chatbot_textarea,
677
672
  disabled: t,
678
673
  cols: 40,
679
- value: s,
674
+ value: n,
680
675
  placeholder: "Enter message",
681
- onChange: u,
682
- onKeyDown: m,
683
- onCompositionStart: () => r(!0),
684
- onCompositionEnd: () => r(!1)
676
+ onChange: v,
677
+ onKeyDown: l,
678
+ onCompositionStart: () => i(!0),
679
+ onCompositionEnd: () => i(!1)
685
680
  }
686
681
  ),
687
- s ? /* @__PURE__ */ o(
682
+ n ? /* @__PURE__ */ s(
688
683
  "button",
689
684
  {
690
- className: T(
685
+ className: R(
691
686
  S.chatbot_submit_button,
692
- a && S.chatbot_submit_button__disabled
687
+ _ && S.chatbot_submit_button__disabled
693
688
  ),
694
- disabled: a,
695
- onClick: p,
696
- children: /* @__PURE__ */ o(se, {})
689
+ disabled: _,
690
+ onClick: f,
691
+ children: /* @__PURE__ */ s(le, {})
697
692
  }
698
- ) : /* @__PURE__ */ o(
699
- ie,
693
+ ) : /* @__PURE__ */ s(
694
+ de,
700
695
  {
701
- setValue: n,
702
- className: T(
696
+ setValue: r,
697
+ className: R(
703
698
  S.chatbot_submit_button,
704
699
  t && S.chatbot_submit_button__disabled
705
700
  )
@@ -707,57 +702,48 @@ function ae() {
707
702
  )
708
703
  ] }) });
709
704
  }
710
- const le = "_chatbot_root_18brc_1", _e = "_chatbot_root__fullScreen_18brc_13", X = {
711
- chatbot_root: le,
712
- chatbot_root__fullScreen: _e
713
- }, ue = "_loading_16ajc_1", de = "_spinner_16ajc_14", he = "_spinner_svg_16ajc_19", me = "_rotate_16ajc_1", be = "_spinner_circle_16ajc_25", ge = "_dash_16ajc_1", q = {
714
- loading: ue,
715
- spinner: de,
716
- spinner_svg: he,
717
- rotate: me,
718
- spinner_circle: be,
719
- dash: ge
705
+ const me = "_chatbot_root_od4qx_1", ge = "_chatbot_root__fullScreen_od4qx_126", Y = {
706
+ chatbot_root: me,
707
+ chatbot_root__fullScreen: ge
720
708
  };
721
- function pe() {
722
- const { isResetting: e } = y();
723
- return e ? /* @__PURE__ */ o("div", { className: q.loading, children: /* @__PURE__ */ o("div", { className: q.spinner, children: /* @__PURE__ */ o("svg", { className: q.spinner_svg, viewBox: "0 0 50 50", children: /* @__PURE__ */ o("circle", { className: q.spinner_circle, cx: "25", cy: "25", r: "20" }) }) }) }) : null;
724
- }
725
- function xe(e) {
709
+ function Ce(e) {
726
710
  const {
727
711
  title: t,
728
- config: s,
729
- customChannelId: n,
712
+ theme: o,
713
+ config: n,
714
+ customChannelId: r,
730
715
  initMessages: c,
731
- fullScreen: r = !1,
732
- avatar: i,
733
- options: a,
734
- botTypingPlaceholder: u
716
+ debugMode: i = !1,
717
+ fullScreen: a = !1,
718
+ avatar: _,
719
+ botTypingPlaceholder: b,
720
+ onReset: v,
721
+ onClose: f
735
722
  } = e;
736
- return /* @__PURE__ */ _(
737
- dt,
723
+ return /* @__PURE__ */ s(ht, { fullScreen: a, theme: o, children: /* @__PURE__ */ m(
724
+ ft,
738
725
  {
739
- className: T(
740
- X.chatbot_root,
741
- r && X.chatbot_root__fullScreen
726
+ className: R(
727
+ Y.chatbot_root,
728
+ a && Y.chatbot_root__fullScreen
742
729
  ),
743
- avatar: i,
744
- config: s,
745
- customChannelId: n,
730
+ avatar: _,
731
+ config: n,
732
+ customChannelId: r,
746
733
  initMessages: c,
747
- botTypingPlaceholder: u,
748
- options: a,
734
+ botTypingPlaceholder: b,
735
+ options: { showDebugMessage: i },
749
736
  children: [
750
- /* @__PURE__ */ o(pe, {}),
751
- /* @__PURE__ */ o(vt, { title: t }),
752
- /* @__PURE__ */ o(Gt, {}),
753
- /* @__PURE__ */ o(ae, {})
737
+ /* @__PURE__ */ s(Rt, { title: t, onReset: v, onClose: f }),
738
+ /* @__PURE__ */ s(ne, {}),
739
+ /* @__PURE__ */ s(he, {})
754
740
  ]
755
741
  }
756
- );
742
+ ) });
757
743
  }
758
744
  export {
759
- xe as Chatbot,
760
- lt as useAsgardServiceClient,
761
- _t as useChannel,
762
- ut as useDebounce
745
+ Ce as Chatbot,
746
+ mt as useAsgardServiceClient,
747
+ gt as useChannel,
748
+ bt as useDebounce
763
749
  };