@bikdotai/bik-component-library 0.0.839-beta.2 → 0.0.839-beta.3

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 (80) hide show
  1. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
  2. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  3. package/dist/cjs/components/WhatsAppTextEditor/WhatsAppTextEditor.js +23 -23
  4. package/dist/cjs/components/WhatsAppTextEditor/WhatsAppTextEditor.js.map +1 -1
  5. package/dist/cjs/components/agent-builder/components/AiTextArea.js +1 -1
  6. package/dist/cjs/components/agent-builder/components/AiTextArea.js.map +1 -1
  7. package/dist/cjs/components/agent-builder/components/ToolInstructionsField.js +2 -2
  8. package/dist/cjs/components/agent-builder/components/ToolInstructionsField.js.map +1 -1
  9. package/dist/cjs/components/bik-chatbot/components/ChatWindow.js +20 -20
  10. package/dist/cjs/components/bik-chatbot/components/ChatWindow.js.map +1 -1
  11. package/dist/cjs/components/button/themes.js +11 -11
  12. package/dist/cjs/components/button/themes.js.map +1 -1
  13. package/dist/cjs/components/input/ChipInput.js +1 -1
  14. package/dist/cjs/components/input/ChipInput.js.map +1 -1
  15. package/dist/cjs/components/input/Input-helper.js +1 -1
  16. package/dist/cjs/components/input/Input-helper.js.map +1 -1
  17. package/dist/cjs/components/input/Input.js +1 -1
  18. package/dist/cjs/components/input/Input.js.map +1 -1
  19. package/dist/cjs/components/plans/SubscriptionPlanSelector.js +5 -5
  20. package/dist/cjs/components/plans/SubscriptionPlanSelector.js.map +1 -1
  21. package/dist/cjs/editor/BikEditor.js +1 -1
  22. package/dist/cjs/editor/BikEditor.js.map +1 -1
  23. package/dist/cjs/editor/BikEditor.utils.js +3 -3
  24. package/dist/cjs/editor/BikEditor.utils.js.map +1 -1
  25. package/dist/cjs/editor/extensions/buildExtensions.js +2 -2
  26. package/dist/cjs/editor/extensions/buildExtensions.js.map +1 -1
  27. package/dist/cjs/icons/index.js +1 -1
  28. package/dist/cjs/index.js +1 -1
  29. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +66 -61
  30. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  31. package/dist/esm/components/WhatsAppTextEditor/WhatsAppTextEditor.js +143 -144
  32. package/dist/esm/components/WhatsAppTextEditor/WhatsAppTextEditor.js.map +1 -1
  33. package/dist/esm/components/agent-builder/components/AiTextArea.js +23 -24
  34. package/dist/esm/components/agent-builder/components/AiTextArea.js.map +1 -1
  35. package/dist/esm/components/agent-builder/components/ToolInstructionsField.js +30 -31
  36. package/dist/esm/components/agent-builder/components/ToolInstructionsField.js.map +1 -1
  37. package/dist/esm/components/bik-chatbot/components/ChatWindow.js +53 -54
  38. package/dist/esm/components/bik-chatbot/components/ChatWindow.js.map +1 -1
  39. package/dist/esm/components/button/themes.d.ts +1 -0
  40. package/dist/esm/components/button/themes.js +61 -51
  41. package/dist/esm/components/button/themes.js.map +1 -1
  42. package/dist/esm/components/input/ChipInput.js +40 -41
  43. package/dist/esm/components/input/ChipInput.js.map +1 -1
  44. package/dist/esm/components/input/Input-helper.d.ts +0 -7
  45. package/dist/esm/components/input/Input-helper.js +25 -16
  46. package/dist/esm/components/input/Input-helper.js.map +1 -1
  47. package/dist/esm/components/input/Input.js +58 -60
  48. package/dist/esm/components/input/Input.js.map +1 -1
  49. package/dist/esm/components/input/Input.model.d.ts +0 -1
  50. package/dist/esm/components/plans/SubscriptionPlanSelector.js +40 -42
  51. package/dist/esm/components/plans/SubscriptionPlanSelector.js.map +1 -1
  52. package/dist/esm/editor/BikEditor.js +118 -122
  53. package/dist/esm/editor/BikEditor.js.map +1 -1
  54. package/dist/esm/editor/BikEditor.utils.d.ts +1 -1
  55. package/dist/esm/editor/BikEditor.utils.js +140 -141
  56. package/dist/esm/editor/BikEditor.utils.js.map +1 -1
  57. package/dist/esm/editor/extensions/buildExtensions.js +39 -49
  58. package/dist/esm/editor/extensions/buildExtensions.js.map +1 -1
  59. package/dist/esm/helpers/index.d.ts +0 -1
  60. package/dist/esm/icons/Media/Visual/index.d.ts +0 -1
  61. package/dist/esm/icons/index.d.ts +25 -25
  62. package/dist/esm/icons/index.js +416 -418
  63. package/dist/esm/icons/index.js.map +1 -1
  64. package/dist/esm/index.js +114 -124
  65. package/dist/esm/index.js.map +1 -1
  66. package/package.json +1 -2
  67. package/dist/cjs/editor/extensions/htmlTagStrip/HtmlTagStripExtension.js +0 -2
  68. package/dist/cjs/editor/extensions/htmlTagStrip/HtmlTagStripExtension.js.map +0 -1
  69. package/dist/cjs/helpers/sanitize.js +0 -2
  70. package/dist/cjs/helpers/sanitize.js.map +0 -1
  71. package/dist/cjs/icons/Media/Visual/FormkitSad.js +0 -2
  72. package/dist/cjs/icons/Media/Visual/FormkitSad.js.map +0 -1
  73. package/dist/esm/editor/extensions/htmlTagStrip/HtmlTagStripExtension.d.ts +0 -13
  74. package/dist/esm/editor/extensions/htmlTagStrip/HtmlTagStripExtension.js +0 -64
  75. package/dist/esm/editor/extensions/htmlTagStrip/HtmlTagStripExtension.js.map +0 -1
  76. package/dist/esm/helpers/sanitize.d.ts +0 -32
  77. package/dist/esm/helpers/sanitize.js +0 -204
  78. package/dist/esm/helpers/sanitize.js.map +0 -1
  79. package/dist/esm/icons/Media/Visual/FormkitSad.js +0 -61
  80. package/dist/esm/icons/Media/Visual/FormkitSad.js.map +0 -1
@@ -1,12 +1,11 @@
1
1
  import { jsxs as o, jsx as t } from "react/jsx-runtime";
2
2
  import L from "../../../assets/icons/Ai_event_generating.svg.js";
3
- import { stripHtmlTags as V } from "../../../helpers/sanitize.js";
4
- import { useState as f, useRef as S, useEffect as W } from "react";
3
+ import { useState as f, useRef as S, useEffect as V } from "react";
5
4
  import n from "styled-components";
6
- import { BodySecondary as E, BodyCaption as K } from "../../TypographyStyle.js";
7
- import { renderMarkdownLite as R } from "../utils/markdown.js";
8
- import P from "./ThinkingIndicator.js";
9
- const _ = n.div`
5
+ import { BodySecondary as W, BodyCaption as E } from "../../TypographyStyle.js";
6
+ import { renderMarkdownLite as K } from "../utils/markdown.js";
7
+ import R from "./ThinkingIndicator.js";
8
+ const P = n.div`
10
9
  display: flex;
11
10
  flex-direction: column;
12
11
  width: 100%;
@@ -35,7 +34,7 @@ const _ = n.div`
35
34
  `;
36
35
  }
37
36
  }}
38
- `, N = n.div`
37
+ `, _ = n.div`
39
38
  padding: 16px;
40
39
  border-bottom: 1px solid #e5e7eb;
41
40
  display: flex;
@@ -49,13 +48,13 @@ const _ = n.div`
49
48
  font-weight: 500;
50
49
  color: #374151;
51
50
  }
52
- `, q = n.div`
51
+ `, N = n.div`
53
52
  flex: 1;
54
53
  display: flex;
55
54
  flex-direction: column;
56
55
  overflow: hidden;
57
56
  min-height: 0;
58
- `, J = n.div`
57
+ `, q = n.div`
59
58
  flex: 1;
60
59
  overflow-y: auto;
61
60
  padding: 16px;
@@ -84,13 +83,13 @@ const _ = n.div`
84
83
  &::-webkit-scrollbar-thumb:hover {
85
84
  background: #a8a8a8;
86
85
  }
87
- `, O = n.div`
86
+ `, J = n.div`
88
87
  background: white;
89
88
  border-radius: 12px;
90
89
  padding: 16px;
91
90
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
92
91
  border: 1px solid #e5e7eb;
93
- `, Q = n.div`
92
+ `, O = n.div`
94
93
  width: 100%;
95
94
  height: 180px;
96
95
  background: #f3f4f6;
@@ -100,7 +99,7 @@ const _ = n.div`
100
99
  justify-content: center;
101
100
  position: relative;
102
101
  margin-bottom: 12px;
103
- `, U = n.div`
102
+ `, Q = n.div`
104
103
  width: 48px;
105
104
  height: 48px;
106
105
  background: rgba(0, 0, 0, 0.7);
@@ -122,11 +121,11 @@ const _ = n.div`
122
121
  fill: white;
123
122
  margin-left: 2px;
124
123
  }
125
- `, X = n.div`
124
+ `, U = n.div`
126
125
  font-size: 14px;
127
126
  color: #374151;
128
127
  line-height: 1.5;
129
- `, Y = n.div`
128
+ `, X = n.div`
130
129
  padding: 12px 16px;
131
130
  border-radius: 16px;
132
131
  font-size: 14px;
@@ -162,15 +161,15 @@ const _ = n.div`
162
161
  border-bottom-left-radius: 4px;
163
162
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
164
163
  `}
165
- `, Z = n.div`
164
+ `, Y = n.div`
166
165
  padding: 16px;
167
166
  flex-shrink: 0;
168
- `, ee = n.div`
167
+ `, Z = n.div`
169
168
  display: flex;
170
169
  flex-direction: column;
171
170
  gap: 8px;
172
171
  align-items: flex-end;
173
- `, te = n.button`
172
+ `, ee = n.button`
174
173
  border: 1px dotted #febad2;
175
174
  background: linear-gradient(
176
175
  92.69deg,
@@ -199,14 +198,14 @@ const _ = n.div`
199
198
  &:active:not(:disabled) {
200
199
  transform: scale(0.98);
201
200
  }
202
- `, ie = n.div`
201
+ `, te = n.div`
203
202
  padding: 16px;
204
203
  background: white;
205
- `, ne = n.div`
204
+ `, ie = n.div`
206
205
  display: flex;
207
206
  flex-direction: column;
208
207
  gap: 8px;
209
- `, re = n.button`
208
+ `, ne = n.button`
210
209
  background: #fef2f2;
211
210
  color: #dc2626;
212
211
  padding: 12px 16px;
@@ -226,14 +225,14 @@ const _ = n.div`
226
225
  &:active:not(:disabled) {
227
226
  transform: scale(0.98);
228
227
  }
229
- `, oe = n.div`
228
+ `, re = n.div`
230
229
  padding: 16px;
231
230
  flex-shrink: 0;
232
- `, ae = n.div`
231
+ `, oe = n.div`
233
232
  position: relative;
234
233
  display: flex;
235
234
  width: 100%;
236
- `, de = n.textarea`
235
+ `, ae = n.textarea`
237
236
  flex: 1;
238
237
  border: 1px solid ${(e) => e.hasText ? "#3b82f6" : "#d1d5db"};
239
238
  border-radius: 12px;
@@ -260,7 +259,7 @@ const _ = n.div`
260
259
  &::placeholder {
261
260
  color: #9ca3af;
262
261
  }
263
- `, le = n.button`
262
+ `, de = n.button`
264
263
  position: absolute;
265
264
  bottom: 10px;
266
265
  right: 10px;
@@ -292,7 +291,7 @@ const _ = n.div`
292
291
  fill: white;
293
292
  font-weight: bold;
294
293
  }
295
- `, se = n.span`
294
+ `, le = n.span`
296
295
  background: linear-gradient(
297
296
  ${(e) => e.angle || 92.69}deg,
298
297
  ${(e) => e.colors || "#ff166a 0.37%, #fb5f08 100%"}
@@ -301,11 +300,11 @@ const _ = n.div`
301
300
  -webkit-text-fill-color: transparent;
302
301
  background-clip: text;
303
302
  display: inline-block;
304
- `, ke = ({
303
+ `, me = ({
305
304
  messages: e,
306
305
  onSend: p,
307
- header: T = "Create with AI",
308
- placeholder: I = "Discover the right event & launch campaigns for better conversions...",
306
+ header: I = "Create with AI",
307
+ placeholder: T = "Discover the right event & launch campaigns for better conversions...",
309
308
  suggestions: u = [
310
309
  "Top festivals for marketing",
311
310
  "Top events this week?",
@@ -326,51 +325,51 @@ const _ = n.div`
326
325
  r || i.key === "Enter" && !i.shiftKey && (i.preventDefault(), !b && a.trim() && F());
327
326
  }, H = (i) => {
328
327
  if (r) return;
329
- const C = V(i.target.value);
328
+ const C = i.target.value;
330
329
  w(C), j(C.trim().length > 0);
331
330
  const h = y.current;
332
331
  h && (h.style.height = "auto", h.style.height = `${Math.min(h.scrollHeight, 117)}px`);
333
332
  }, x = a.trim().length > 0, G = r || b || !x;
334
- return W(() => {
333
+ return V(() => {
335
334
  v.current?.scrollIntoView({ behavior: "smooth" });
336
- }, [e, c, s]), /* @__PURE__ */ o(_, { chatState: d, style: { height: B || "100%" }, children: [
337
- /* @__PURE__ */ o(N, { children: [
335
+ }, [e, c, s]), /* @__PURE__ */ o(P, { chatState: d, style: { height: B || "100%" }, children: [
336
+ /* @__PURE__ */ o(_, { children: [
338
337
  /* @__PURE__ */ t(L, { height: 24, width: 24 }),
339
- /* @__PURE__ */ t("div", { className: "header-text", children: T })
338
+ /* @__PURE__ */ t("div", { className: "header-text", children: I })
340
339
  ] }),
341
- /* @__PURE__ */ o(q, { children: [
342
- /* @__PURE__ */ o(J, { children: [
343
- d === "conversation-starter" && l && /* @__PURE__ */ o(O, { children: [
344
- /* @__PURE__ */ t(Q, { children: /* @__PURE__ */ t(U, { onClick: l.onPlay, children: /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ t("path", { d: "M8 5v14l11-7z" }) }) }) }),
345
- /* @__PURE__ */ o(X, { children: [
346
- /* @__PURE__ */ t(E, { style: { fontWeight: 500, marginBottom: "4px" }, children: l.title }),
347
- /* @__PURE__ */ t(K, { children: l.description })
340
+ /* @__PURE__ */ o(N, { children: [
341
+ /* @__PURE__ */ o(q, { children: [
342
+ d === "conversation-starter" && l && /* @__PURE__ */ o(J, { children: [
343
+ /* @__PURE__ */ t(O, { children: /* @__PURE__ */ t(Q, { onClick: l.onPlay, children: /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ t("path", { d: "M8 5v14l11-7z" }) }) }) }),
344
+ /* @__PURE__ */ o(U, { children: [
345
+ /* @__PURE__ */ t(W, { style: { fontWeight: 500, marginBottom: "4px" }, children: l.title }),
346
+ /* @__PURE__ */ t(E, { children: l.description })
348
347
  ] })
349
348
  ] }),
350
- e.map((i) => /* @__PURE__ */ t(Y, { role: i.role, children: i.role === "assistant" ? /* @__PURE__ */ t(
349
+ e.map((i) => /* @__PURE__ */ t(X, { role: i.role, children: i.role === "assistant" ? /* @__PURE__ */ t(
351
350
  "div",
352
351
  {
353
352
  dangerouslySetInnerHTML: {
354
- __html: R(i.content)
353
+ __html: K(i.content)
355
354
  }
356
355
  }
357
356
  ) : /* @__PURE__ */ t("div", { style: { whiteSpace: "pre-wrap" }, children: i.content }) }, i.id)),
358
- (c || s) && /* @__PURE__ */ t(P, {}),
357
+ (c || s) && /* @__PURE__ */ t(R, {}),
359
358
  /* @__PURE__ */ t("div", { ref: v })
360
359
  ] }),
361
- g && d === "conversation-starter" && /* @__PURE__ */ t(Z, { children: /* @__PURE__ */ t(ee, { children: g.map((i) => /* @__PURE__ */ t(
362
- te,
360
+ g && d === "conversation-starter" && /* @__PURE__ */ t(Y, { children: /* @__PURE__ */ t(Z, { children: g.map((i) => /* @__PURE__ */ t(
361
+ ee,
363
362
  {
364
363
  disabled: r,
365
364
  onClick: () => {
366
365
  r || (z?.(i), p(i.text));
367
366
  },
368
- children: /* @__PURE__ */ t(se, { children: i.text })
367
+ children: /* @__PURE__ */ t(le, { children: i.text })
369
368
  },
370
369
  i.id
371
370
  )) }) }),
372
- !g && u.length > 0 && d === "default" && /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t(ne, { children: u.map((i) => /* @__PURE__ */ t(
373
- re,
371
+ !g && u.length > 0 && d === "default" && /* @__PURE__ */ t(te, { children: /* @__PURE__ */ t(ie, { children: u.map((i) => /* @__PURE__ */ t(
372
+ ne,
374
373
  {
375
374
  disabled: r,
376
375
  onClick: () => !r && p(i),
@@ -378,14 +377,14 @@ const _ = n.div`
378
377
  },
379
378
  i
380
379
  )) }) }),
381
- /* @__PURE__ */ t(oe, { children: /* @__PURE__ */ o(ae, { children: [
380
+ /* @__PURE__ */ t(re, { children: /* @__PURE__ */ o(oe, { children: [
382
381
  /* @__PURE__ */ t(
383
- de,
382
+ ae,
384
383
  {
385
384
  ref: y,
386
385
  value: a,
387
386
  onChange: H,
388
- placeholder: I,
387
+ placeholder: T,
389
388
  onKeyDown: D,
390
389
  disabled: r,
391
390
  hasText: x,
@@ -393,7 +392,7 @@ const _ = n.div`
393
392
  }
394
393
  ),
395
394
  /* @__PURE__ */ t(
396
- le,
395
+ de,
397
396
  {
398
397
  onClick: F,
399
398
  disabled: G,
@@ -423,7 +422,7 @@ const _ = n.div`
423
422
  ] });
424
423
  };
425
424
  export {
426
- se as CustomGradientText,
427
- ke as default
425
+ le as CustomGradientText,
426
+ me as default
428
427
  };
429
428
  //# sourceMappingURL=ChatWindow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatWindow.js","sources":["../../../../../src/components/bik-chatbot/components/ChatWindow.tsx"],"sourcesContent":["import AiIcon from '@src/assets/icons/Ai_event_generating.svg';\nimport { stripHtmlTags } from '@src/helpers/sanitize';\nimport React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { BodyCaption, BodySecondary } from '@src/components/TypographyStyle';\nimport { ChatState, ChatWindowProps } from '../types';\nimport { renderMarkdownLite } from '../utils/markdown';\nimport ThinkingIndicator from './ThinkingIndicator';\n\n// Single-column layout container\nconst ChatContainer = styled.div<{ chatState: ChatState }>`\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tmin-width: 0;\n\tmin-height: 0;\n\theight: 100%;\n\tmax-height: 100%;\n\tbackground: white;\n\tborder-left: 1px solid #e5e7eb;\n\tposition: relative;\n\n\t/* State-based styling */\n\t${(props) => {\n\t\tswitch (props.chatState) {\n\t\t\tcase 'conversation-starter':\n\t\t\t\treturn `\n background: linear-gradient(180deg, #FFF6F9 0%, #FFFFFF 100%);\n `;\n\t\t\tcase 'thinking':\n\t\t\t\treturn `\n background: linear-gradient(180deg, #F8F9FA 0%, #FFFFFF 100%);\n `;\n\t\t\tdefault:\n\t\t\t\treturn `\n background: white;\n `;\n\t\t}\n\t}}\n`;\n\nconst Header = styled.div`\n\tpadding: 16px;\n\tborder-bottom: 1px solid #e5e7eb;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tbackground: white;\n\tflex-shrink: 0;\n\n\t.header-text {\n\t\tfont-size: 14px;\n\t\tfont-weight: 500;\n\t\tcolor: #374151;\n\t}\n`;\n\n// Main content area - single column\nconst MainContent = styled.div`\n\tflex: 1;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\tmin-height: 0;\n`;\n\nconst MessagesWrapper = styled.div`\n\tflex: 1;\n\toverflow-y: auto;\n\tpadding: 16px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 16px;\n\tbackground: #fafafa;\n\tscroll-behavior: smooth;\n\tmin-height: 0;\n\n\t/* Custom scrollbar */\n\t&::-webkit-scrollbar {\n\t\twidth: 6px;\n\t}\n\n\t&::-webkit-scrollbar-track {\n\t\tbackground: #f1f1f1;\n\t\tborder-radius: 3px;\n\t}\n\n\t&::-webkit-scrollbar-thumb {\n\t\tbackground: #c1c1c1;\n\t\tborder-radius: 3px;\n\t}\n\n\t&::-webkit-scrollbar-thumb:hover {\n\t\tbackground: #a8a8a8;\n\t}\n`;\n\nconst VideoCard = styled.div`\n\tbackground: white;\n\tborder-radius: 12px;\n\tpadding: 16px;\n\tbox-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n\tborder: 1px solid #e5e7eb;\n`;\n\nconst VideoContainer = styled.div`\n\twidth: 100%;\n\theight: 180px;\n\tbackground: #f3f4f6;\n\tborder-radius: 8px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: relative;\n\tmargin-bottom: 12px;\n`;\n\nconst PlayButton = styled.div`\n\twidth: 48px;\n\theight: 48px;\n\tbackground: rgba(0, 0, 0, 0.7);\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: pointer;\n\ttransition: all 0.2s ease;\n\n\t&:hover {\n\t\tbackground: rgba(0, 0, 0, 0.8);\n\t\ttransform: scale(1.05);\n\t}\n\n\tsvg {\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tfill: white;\n\t\tmargin-left: 2px;\n\t}\n`;\n\nconst VideoText = styled.div`\n\tfont-size: 14px;\n\tcolor: #374151;\n\tline-height: 1.5;\n`;\n\nconst Bubble = styled.div<{ role: 'user' | 'assistant' | 'system' }>`\n\tpadding: 12px 16px;\n\tborder-radius: 16px;\n\tfont-size: 14px;\n\tmax-width: 80%;\n\twhite-space: pre-line;\n\tword-wrap: break-word;\n\n\t${(props) =>\n\t\tprops.role === 'user'\n\t\t\t? `\n background: linear-gradient(92.69deg, rgba(255, 230, 238, 0.5) 0.37%, rgba(255, 240, 231, 0.5) 100%);\n margin-left: auto;\n border-bottom-right-radius: 4px;\n \n & > div {\n background: linear-gradient(92.69deg, #FF166A 0.37%, #FB5F08 100%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n background-clip: text;\n display: inline-block;\n }\n `\n\t\t\t: props.role === 'system'\n\t\t\t? `\n background: #f3f4f6;\n color: #6b7280;\n font-size: 12px;\n font-style: italic;\n text-align: center;\n margin: 0 auto;\n max-width: 90%;\n `\n\t\t\t: `\n background: white;\n color: #111827;\n border: 1px solid #e5e7eb;\n margin-right: auto;\n border-bottom-left-radius: 4px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n `}\n`;\n\n// Ice breakers section - at the bottom before input\nconst IceBreakersSection = styled.div`\n\tpadding: 16px;\n\tflex-shrink: 0;\n`;\n\nconst IceBreakersGrid = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n\talign-items: flex-end;\n`;\n\nconst IceBreakerChip = styled.button<{ disabled?: boolean }>`\n\tborder: 1px dotted #febad2;\n\tbackground: linear-gradient(\n\t\t92.69deg,\n\t\trgba(255, 230, 238, 0.5) 0.37%,\n\t\trgba(255, 240, 231, 0.5) 100%\n\t);\n\tpadding: 8px 16px;\n\tborder-radius: 8px;\n\tfont-size: 13px;\n\tcursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n\ttransition: all 0.2s ease;\n\ttext-align: left;\n\tmax-width: 280px;\n\talign-self: flex-end;\n\topacity: ${(props) => (props.disabled ? 0.5 : 1)};\n\n\t&:hover:not(:disabled) {\n\t\tbackground: linear-gradient(\n\t\t\t92.69deg,\n\t\t\trgba(255, 230, 238, 0.7) 0.37%,\n\t\t\trgba(255, 240, 231, 0.7) 100%\n\t\t);\n\t\tborder-color: #f472b6;\n\t}\n\n\t&:active:not(:disabled) {\n\t\ttransform: scale(0.98);\n\t}\n`;\n\n// Suggestions section - styled like ice breakers but for regular suggestions\nconst SuggestionsSection = styled.div`\n\tpadding: 16px;\n\tbackground: white;\n`;\n\nconst SuggestionsGrid = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n`;\n\nconst SuggestionChip = styled.button<{ disabled?: boolean }>`\n\tbackground: #fef2f2;\n\tcolor: #dc2626;\n\tpadding: 12px 16px;\n\tborder-radius: 8px;\n\tfont-size: 13px;\n\tborder: 1px solid #fecaca;\n\tcursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n\ttransition: all 0.2s ease;\n\ttext-align: left;\n\topacity: ${(props) => (props.disabled ? 0.5 : 1)};\n\n\t&:hover:not(:disabled) {\n\t\tbackground: #fee2e2;\n\t\tborder-color: #fca5a5;\n\t}\n\n\t&:active:not(:disabled) {\n\t\ttransform: scale(0.98);\n\t}\n`;\n\nconst InputContainer = styled.div`\n\tpadding: 16px;\n\tflex-shrink: 0;\n`;\n\nconst InputBubble = styled.div`\n\tposition: relative;\n\tdisplay: flex;\n\twidth: 100%;\n`;\n\nconst TextInput = styled.textarea<{ hasText: boolean; chatState: ChatState }>`\n\tflex: 1;\n\tborder: 1px solid ${(props) => (props.hasText ? '#3b82f6' : '#d1d5db')};\n\tborder-radius: 12px;\n\tpadding: 12px;\n\tpadding-right: 48px;\n\tfont-size: 14px;\n\toutline: none;\n\tcolor: #374151;\n\tbackground: white;\n\tbox-shadow: 0px 2px 8px 0px #0000001f;\n\ttransition: all 0.2s ease;\n\tresize: none;\n\tmin-height: 44px;\n\tmax-height: 120px;\n\tfont-family: inherit;\n\twidth: 100%;\n\n\t&:focus {\n\t\tborder-color: #3b82f6;\n\t\tbackground: white;\n\t\tbox-shadow: 0px 2px 8px 0px #0000001f, 0 0 0 3px rgba(59, 130, 246, 0.1);\n\t}\n\n\t&::placeholder {\n\t\tcolor: #9ca3af;\n\t}\n`;\n\nconst SendButton = styled.button<{ disabled?: boolean; hasText: boolean }>`\n\tposition: absolute;\n\tbottom: 10px;\n\tright: 10px;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tbackground: ${(props) =>\n\t\tprops.hasText\n\t\t\t? 'linear-gradient(135deg, #FF166A 0%, #FB5F08 100%)'\n\t\t\t: '#e5e7eb'};\n\tborder: none;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n\ttransition: all 0.2s ease;\n\tbox-shadow: 0 2px 8px 0px #fa709a1c;\n\tz-index: 2;\n\n\t&:hover:not(:disabled) {\n\t\tbackground: ${(props) =>\n\t\t\tprops.hasText && !props.disabled\n\t\t\t\t? 'linear-gradient(135deg, #F857A6 0%, #FF5858 100%)'\n\t\t\t\t: '#e5e7eb'};\n\t\ttransform: scale(1.05);\n\t}\n\n\t&:active:not(:disabled) {\n\t\ttransform: scale(0.95);\n\t}\n\n\tsvg {\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tfill: white;\n\t\tfont-weight: bold;\n\t}\n`;\n\n// Customizable gradient text component\nexport const CustomGradientText = styled.span<{\n\tcolors?: string;\n\tangle?: number;\n}>`\n\tbackground: linear-gradient(\n\t\t${(props) => props.angle || 92.69}deg,\n\t\t${(props) => props.colors || '#ff166a 0.37%, #fb5f08 100%'}\n\t);\n\t-webkit-background-clip: text;\n\t-webkit-text-fill-color: transparent;\n\tbackground-clip: text;\n\tdisplay: inline-block;\n`;\n\n// Export ChatState type for backward compatibility\nexport type { ChatState } from '../types';\n\ninterface ChatWindowWithHeightProps extends ChatWindowProps {\n\tchatWindowHeight?: string | number;\n}\n\nconst ChatWindow: React.FC<ChatWindowWithHeightProps> = ({\n\tmessages,\n\tonSend,\n\theader = 'Create with AI',\n\tplaceholder = 'Discover the right event & launch campaigns for better conversions...',\n\tsuggestions = [\n\t\t'Top festivals for marketing',\n\t\t'Top events this week?',\n\t\t'Top August festivals near you',\n\t],\n\ticeBreakers,\n\tvideoStarter,\n\tdisabled = false,\n\tisThinking = false,\n\tonIceBreakerClick,\n\tchatState,\n\tchatWindowHeight,\n\tinputDisabled = false,\n}) => {\n\tconst [input, setInput] = useState('');\n\tconst [thinking, setThinking] = useState(false);\n\tconst [isTyping, setIsTyping] = useState(false);\n\tconst bottomRef = useRef<HTMLDivElement>(null);\n\tconst textareaRef = useRef<HTMLTextAreaElement>(null);\n\tconst isThinkingState = thinking || isThinking;\n\tconst isInputDisabledState = disabled || inputDisabled;\n\n\t// Determine current chat state\n\tconst getCurrentChatState = (): ChatState => {\n\t\tif (chatState) return chatState; // Explicit state override\n\t\tif (thinking || isThinking) return 'thinking';\n\t\tif (isTyping && input.trim().length > 0) return 'typing';\n\t\tif (messages.length === 0) return 'conversation-starter';\n\t\tif (messages.length > 0) return 'conversation';\n\t\treturn 'default';\n\t};\n\n\tconst currentState = getCurrentChatState();\n\n\t// markdown renderer moved to ../utils/markdown\n\n\tconst handleSend = () => {\n\t\tif (!input.trim() || isInputDisabledState || isThinkingState) return;\n\t\tonSend(input);\n\t\tsetInput('');\n\t\tsetThinking(true);\n\t\tsetTimeout(() => setThinking(false), 1500);\n\t};\n\n\tconst handleKeyDown = (e: React.KeyboardEvent) => {\n\t\tif (isInputDisabledState) return;\n\t\tif (e.key === 'Enter' && !e.shiftKey) {\n\t\t\te.preventDefault();\n\t\t\tif (!isThinkingState && input.trim()) {\n\t\t\t\thandleSend();\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleInputChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n\t\tif (isInputDisabledState) return;\n\t\tconst value = stripHtmlTags(e.target.value);\n\t\tsetInput(value);\n\t\tsetIsTyping(value.trim().length > 0);\n\n\t\t// Auto-resize textarea\n\t\tconst textarea = textareaRef.current;\n\t\tif (textarea) {\n\t\t\ttextarea.style.height = 'auto';\n\t\t\ttextarea.style.height = `${Math.min(textarea.scrollHeight, 117)}px`;\n\t\t}\n\t};\n\n\tconst hasText = input.trim().length > 0;\n\tconst isSendDisabled = isInputDisabledState || isThinkingState || !hasText;\n\n\tuseEffect(() => {\n\t\tbottomRef.current?.scrollIntoView({ behavior: 'smooth' });\n\t}, [messages, thinking, isThinking]);\n\n\t// Use chatWindowHeight if provided, otherwise use 100% if fullHeight is active\n\tconst containerHeight = chatWindowHeight || '100%';\n\n\treturn (\n\t\t<ChatContainer chatState={currentState} style={{ height: containerHeight }}>\n\t\t\t{/* Header */}\n\t\t\t<Header>\n\t\t\t\t<AiIcon height={24} width={24} />\n\t\t\t\t<div className=\"header-text\">{header}</div>\n\t\t\t</Header>\n\n\t\t\t{/* Main Content - Single Column Layout */}\n\t\t\t<MainContent>\n\t\t\t\t{/* Messages Section */}\n\t\t\t\t<MessagesWrapper>\n\t\t\t\t\t{/* Video starter card - only when no messages and videoStarter provided */}\n\t\t\t\t\t{currentState === 'conversation-starter' && videoStarter && (\n\t\t\t\t\t\t<VideoCard>\n\t\t\t\t\t\t\t<VideoContainer>\n\t\t\t\t\t\t\t\t<PlayButton onClick={videoStarter.onPlay}>\n\t\t\t\t\t\t\t\t\t<svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n\t\t\t\t\t\t\t\t\t\t<path d=\"M8 5v14l11-7z\" />\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</PlayButton>\n\t\t\t\t\t\t\t</VideoContainer>\n\t\t\t\t\t\t\t<VideoText>\n\t\t\t\t\t\t\t\t<BodySecondary style={{ fontWeight: 500, marginBottom: '4px' }}>\n\t\t\t\t\t\t\t\t\t{videoStarter.title}\n\t\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t\t\t<BodyCaption>{videoStarter.description}</BodyCaption>\n\t\t\t\t\t\t\t</VideoText>\n\t\t\t\t\t\t</VideoCard>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Render messages (assistant supports lite Markdown) */}\n\t\t\t\t\t{messages.map((m) => (\n\t\t\t\t\t\t<Bubble key={m.id} role={m.role}>\n\t\t\t\t\t\t\t{m.role === 'assistant' ? (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t\t\t\t__html: renderMarkdownLite(m.content),\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div style={{ whiteSpace: 'pre-wrap' }}>{m.content}</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Bubble>\n\t\t\t\t\t))}\n\n\t\t\t\t\t{/* Thinking bubble */}\n\t\t\t\t\t{(thinking || isThinking) && <ThinkingIndicator />}\n\n\t\t\t\t\t<div ref={bottomRef} />\n\t\t\t\t</MessagesWrapper>\n\n\t\t\t\t{/* Ice Breakers Section - At bottom when no messages and ice breakers provided */}\n\t\t\t\t{iceBreakers && currentState === 'conversation-starter' && (\n\t\t\t\t\t<IceBreakersSection>\n\t\t\t\t\t\t<IceBreakersGrid>\n\t\t\t\t\t\t\t{iceBreakers.map((iceBreaker) => (\n\t\t\t\t\t\t\t\t<IceBreakerChip\n\t\t\t\t\t\t\t\t\tkey={iceBreaker.id}\n\t\t\t\t\t\t\t\t\tdisabled={isInputDisabledState}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tif (!isInputDisabledState) {\n\t\t\t\t\t\t\t\t\t\t\tonIceBreakerClick?.(iceBreaker);\n\t\t\t\t\t\t\t\t\t\t\tonSend(iceBreaker.text);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<CustomGradientText>{iceBreaker.text}</CustomGradientText>\n\t\t\t\t\t\t\t\t</IceBreakerChip>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</IceBreakersGrid>\n\t\t\t\t\t</IceBreakersSection>\n\t\t\t\t)}\n\n\t\t\t\t{/* Regular Suggestions - Show when no ice breakers are provided */}\n\t\t\t\t{!iceBreakers &&\n\t\t\t\t\tsuggestions.length > 0 &&\n\t\t\t\t\tcurrentState === 'default' && (\n\t\t\t\t\t\t<SuggestionsSection>\n\t\t\t\t\t\t\t<SuggestionsGrid>\n\t\t\t\t\t\t\t\t{suggestions.map((s) => (\n\t\t\t\t\t\t\t\t\t<SuggestionChip\n\t\t\t\t\t\t\t\t\t\tkey={s}\n\t\t\t\t\t\t\t\t\t\tdisabled={isInputDisabledState}\n\t\t\t\t\t\t\t\t\t\tonClick={() => !isInputDisabledState && onSend(s)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{s}\n\t\t\t\t\t\t\t\t\t</SuggestionChip>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</SuggestionsGrid>\n\t\t\t\t\t\t</SuggestionsSection>\n\t\t\t\t\t)}\n\n\t\t\t\t{/* Input Container - Always at bottom */}\n\t\t\t\t<InputContainer>\n\t\t\t\t\t<InputBubble>\n\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\tref={textareaRef}\n\t\t\t\t\t\t\tvalue={input}\n\t\t\t\t\t\t\tonChange={handleInputChange}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\t\t\tdisabled={isInputDisabledState}\n\t\t\t\t\t\t\thasText={hasText}\n\t\t\t\t\t\t\tchatState={currentState}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SendButton\n\t\t\t\t\t\t\tonClick={handleSend}\n\t\t\t\t\t\t\tdisabled={isSendDisabled}\n\t\t\t\t\t\t\thasText={hasText}\n\t\t\t\t\t\t\taria-label=\"Send\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\tstroke=\"white\"\n\t\t\t\t\t\t\t\tstrokeWidth=\"2\"\n\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<path d=\"M6 12h12\" />\n\t\t\t\t\t\t\t\t<path d=\"M12 6l6 6-6 6\" />\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</SendButton>\n\t\t\t\t\t</InputBubble>\n\t\t\t\t</InputContainer>\n\t\t\t</MainContent>\n\t\t</ChatContainer>\n\t);\n};\n\nexport default ChatWindow;\n"],"names":["ChatContainer","styled","props","Header","MainContent","MessagesWrapper","VideoCard","VideoContainer","PlayButton","VideoText","Bubble","IceBreakersSection","IceBreakersGrid","IceBreakerChip","SuggestionsSection","SuggestionsGrid","SuggestionChip","InputContainer","InputBubble","TextInput","SendButton","CustomGradientText","ChatWindow","messages","onSend","header","placeholder","suggestions","iceBreakers","videoStarter","disabled","isThinking","onIceBreakerClick","chatState","chatWindowHeight","inputDisabled","input","setInput","useState","thinking","setThinking","isTyping","setIsTyping","bottomRef","useRef","textareaRef","isThinkingState","isInputDisabledState","currentState","handleSend","handleKeyDown","e","handleInputChange","value","stripHtmlTags","textarea","hasText","isSendDisabled","useEffect","jsxs","jsx","AiIcon","BodySecondary","BodyCaption","m","renderMarkdownLite","ThinkingIndicator","iceBreaker","s"],"mappings":";;;;;;;;AAUA,MAAMA,IAAgBC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAa1B,CAACC,MAAU;AACZ,UAAQA,EAAM,WAAA;AAAA,IACb,KAAK;AACJ,aAAO;AAAA;AAAA;AAAA,IAGR,KAAK;AACJ,aAAO;AAAA;AAAA;AAAA,IAGR;AACC,aAAO;AAAA;AAAA;AAAA,EAAA;AAIV,CAAC;AAAA,GAGIC,IAASF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAiBhBG,IAAcH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQrBI,IAAkBJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA+BzBK,IAAYL,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQnBM,IAAiBN,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYxBO,IAAaP,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAwBpBQ,IAAYR,EAAO;AAAA;AAAA;AAAA;AAAA,GAMnBS,IAAST,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQnB,CAACC,MACFA,EAAM,SAAS,SACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAaAA,EAAM,SAAS,WACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAOE;AAAA,GAIDS,IAAqBV,EAAO;AAAA;AAAA;AAAA,GAK5BW,KAAkBX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,GAOzBY,KAAiBZ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAUnB,CAACC,MAAWA,EAAM,WAAW,gBAAgB,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA,YAKtD,CAACA,MAAWA,EAAM,WAAW,MAAM,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAiB3CY,KAAqBb,EAAO;AAAA;AAAA;AAAA,GAK5Bc,KAAkBd,EAAO;AAAA;AAAA;AAAA;AAAA,GAMzBe,KAAiBf,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAOnB,CAACC,MAAWA,EAAM,WAAW,gBAAgB,SAAU;AAAA;AAAA;AAAA,YAGtD,CAACA,MAAWA,EAAM,WAAW,MAAM,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAY3Ce,KAAiBhB,EAAO;AAAA;AAAA;AAAA,GAKxBiB,KAAcjB,EAAO;AAAA;AAAA;AAAA;AAAA,GAMrBkB,KAAYlB,EAAO;AAAA;AAAA,qBAEJ,CAACC,MAAWA,EAAM,UAAU,YAAY,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA2BjEkB,KAAanB,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAOX,CAACC,MACdA,EAAM,UACH,sDACA,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,WAKH,CAACA,MAAWA,EAAM,WAAW,gBAAgB,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAMlD,CAACA,MACdA,EAAM,WAAW,CAACA,EAAM,WACrB,sDACA,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAiBFmB,KAAqBpB,EAAO;AAAA;AAAA,IAKrC,CAACC,MAAUA,EAAM,SAAS,KAAK;AAAA,IAC/B,CAACA,MAAUA,EAAM,UAAU,6BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAetDoB,KAAkD,CAAC;AAAA,EACxD,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,aAAAC,IAAc;AAAA,EACd,aAAAC,IAAc;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAAA,EAED,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,YAAAC,IAAa;AAAA,EACb,mBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,eAAAC,IAAgB;AACjB,MAAM;AACL,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAS,EAAE,GAC/B,CAACC,GAAUC,CAAW,IAAIF,EAAS,EAAK,GACxC,CAACG,GAAUC,CAAW,IAAIJ,EAAS,EAAK,GACxCK,IAAYC,EAAuB,IAAI,GACvCC,IAAcD,EAA4B,IAAI,GAC9CE,IAAkBP,KAAYR,GAC9BgB,IAAuBjB,KAAYK,GAYnCa,IARDf,MACAM,KAAYR,IAAmB,aAC/BU,KAAYL,EAAM,KAAA,EAAO,SAAS,IAAU,WAC5Cb,EAAS,WAAW,IAAU,yBAC9BA,EAAS,SAAS,IAAU,iBACzB,YAOF0B,IAAa,MAAM;AACxB,IAAI,CAACb,EAAM,UAAUW,KAAwBD,MAC7CtB,EAAOY,CAAK,GACZC,EAAS,EAAE,GACXG,EAAY,EAAI,GAChB,WAAW,MAAMA,EAAY,EAAK,GAAG,IAAI;AAAA,EAC1C,GAEMU,IAAgB,CAACC,MAA2B;AACjD,IAAIJ,KACAI,EAAE,QAAQ,WAAW,CAACA,EAAE,aAC3BA,EAAE,eAAA,GACE,CAACL,KAAmBV,EAAM,UAC7Ba,EAAA;AAAA,EAGH,GAEMG,IAAoB,CAACD,MAA8C;AACxE,QAAIJ,EAAsB;AAC1B,UAAMM,IAAQC,EAAcH,EAAE,OAAO,KAAK;AAC1C,IAAAd,EAASgB,CAAK,GACdX,EAAYW,EAAM,OAAO,SAAS,CAAC;AAGnC,UAAME,IAAWV,EAAY;AAC7B,IAAIU,MACHA,EAAS,MAAM,SAAS,QACxBA,EAAS,MAAM,SAAS,GAAG,KAAK,IAAIA,EAAS,cAAc,GAAG,CAAC;AAAA,EAEjE,GAEMC,IAAUpB,EAAM,KAAA,EAAO,SAAS,GAChCqB,IAAiBV,KAAwBD,KAAmB,CAACU;AAEnE,SAAAE,EAAU,MAAM;AACf,IAAAf,EAAU,SAAS,eAAe,EAAE,UAAU,UAAU;AAAA,EACzD,GAAG,CAACpB,GAAUgB,GAAUR,CAAU,CAAC,GAMlC,gBAAA4B,EAAC3D,KAAc,WAAWgD,GAAc,OAAO,EAAE,QAH1Bd,KAAoB,UAK1C,UAAA;AAAA,IAAA,gBAAAyB,EAACxD,GAAA,EACA,UAAA;AAAA,MAAA,gBAAAyD,EAACC,GAAA,EAAO,QAAQ,IAAI,OAAO,IAAI;AAAA,MAC/B,gBAAAD,EAAC,OAAA,EAAI,WAAU,eAAe,UAAAnC,EAAA,CAAO;AAAA,IAAA,GACtC;AAAA,sBAGCrB,GAAA,EAEA,UAAA;AAAA,MAAA,gBAAAuD,EAACtD,GAAA,EAEC,UAAA;AAAA,QAAA2C,MAAiB,0BAA0BnB,KAC3C,gBAAA8B,EAACrD,GAAA,EACA,UAAA;AAAA,UAAA,gBAAAsD,EAACrD,KACA,UAAA,gBAAAqD,EAACpD,GAAA,EAAW,SAASqB,EAAa,QACjC,4BAAC,OAAA,EAAI,SAAQ,aAAY,MAAK,gBAC7B,UAAA,gBAAA+B,EAAC,QAAA,EAAK,GAAE,gBAAA,CAAgB,GACzB,GACD,EAAA,CACD;AAAA,4BACCnD,GAAA,EACA,UAAA;AAAA,YAAA,gBAAAmD,EAACE,GAAA,EAAc,OAAO,EAAE,YAAY,KAAK,cAAc,MAAA,GACrD,UAAAjC,EAAa,MAAA,CACf;AAAA,YACA,gBAAA+B,EAACG,GAAA,EAAa,UAAAlC,EAAa,YAAA,CAAY;AAAA,UAAA,EAAA,CACxC;AAAA,QAAA,GACD;AAAA,QAIAN,EAAS,IAAI,CAACyC,MACd,gBAAAJ,EAAClD,GAAA,EAAkB,MAAMsD,EAAE,MACzB,UAAAA,EAAE,SAAS,cACX,gBAAAJ;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,yBAAyB;AAAA,cACxB,QAAQK,EAAmBD,EAAE,OAAO;AAAA,YAAA;AAAA,UACrC;AAAA,QAAA,IAGD,gBAAAJ,EAAC,OAAA,EAAI,OAAO,EAAE,YAAY,WAAA,GAAe,UAAAI,EAAE,QAAA,CAAQ,EAAA,GARxCA,EAAE,EAUf,CACA;AAAA,SAGCzB,KAAYR,MAAe,gBAAA6B,EAACM,GAAA,CAAA,CAAkB;AAAA,QAEhD,gBAAAN,EAAC,OAAA,EAAI,KAAKjB,EAAA,CAAW;AAAA,MAAA,GACtB;AAAA,MAGCf,KAAeoB,MAAiB,0BAChC,gBAAAY,EAACjD,GAAA,EACA,4BAACC,IAAA,EACC,UAAAgB,EAAY,IAAI,CAACuC,MACjB,gBAAAP;AAAA,QAAC/C;AAAA,QAAA;AAAA,UAEA,UAAUkC;AAAA,UACV,SAAS,MAAM;AACd,YAAKA,MACJf,IAAoBmC,CAAU,GAC9B3C,EAAO2C,EAAW,IAAI;AAAA,UAExB;AAAA,UAEA,UAAA,gBAAAP,EAACvC,IAAA,EAAoB,UAAA8C,EAAW,KAAA,CAAK;AAAA,QAAA;AAAA,QAThCA,EAAW;AAAA,MAAA,CAWjB,GACF,EAAA,CACD;AAAA,MAIA,CAACvC,KACDD,EAAY,SAAS,KACrBqB,MAAiB,aAChB,gBAAAY,EAAC9C,IAAA,EACA,UAAA,gBAAA8C,EAAC7C,IAAA,EACC,UAAAY,EAAY,IAAI,CAACyC,MACjB,gBAAAR;AAAA,QAAC5C;AAAA,QAAA;AAAA,UAEA,UAAU+B;AAAA,UACV,SAAS,MAAM,CAACA,KAAwBvB,EAAO4C,CAAC;AAAA,UAE/C,UAAAA;AAAA,QAAA;AAAA,QAJIA;AAAA,MAAA,CAMN,GACF,EAAA,CACD;AAAA,MAIF,gBAAAR,EAAC3C,IAAA,EACA,UAAA,gBAAA0C,EAACzC,IAAA,EACA,UAAA;AAAA,QAAA,gBAAA0C;AAAA,UAACzC;AAAA,UAAA;AAAA,YACA,KAAK0B;AAAA,YACL,OAAOT;AAAA,YACP,UAAUgB;AAAA,YACV,aAAA1B;AAAA,YACA,WAAWwB;AAAA,YACX,UAAUH;AAAA,YACV,SAAAS;AAAA,YACA,WAAWR;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZ,gBAAAY;AAAA,UAACxC;AAAA,UAAA;AAAA,YACA,SAAS6B;AAAA,YACT,UAAUQ;AAAA,YACV,SAAAD;AAAA,YACA,cAAW;AAAA,YAEX,UAAA,gBAAAG;AAAA,cAAC;AAAA,cAAA;AAAA,gBACA,SAAQ;AAAA,gBACR,OAAM;AAAA,gBACN,QAAO;AAAA,gBACP,QAAO;AAAA,gBACP,aAAY;AAAA,gBACZ,MAAK;AAAA,gBACL,eAAc;AAAA,gBACd,gBAAe;AAAA,gBAEf,UAAA;AAAA,kBAAA,gBAAAC,EAAC,QAAA,EAAK,GAAE,WAAA,CAAW;AAAA,kBACnB,gBAAAA,EAAC,QAAA,EAAK,GAAE,gBAAA,CAAgB;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UACzB;AAAA,QAAA;AAAA,MACD,EAAA,CACD,EAAA,CACD;AAAA,IAAA,EAAA,CACD;AAAA,EAAA,GACD;AAEF;"}
1
+ {"version":3,"file":"ChatWindow.js","sources":["../../../../../src/components/bik-chatbot/components/ChatWindow.tsx"],"sourcesContent":["import AiIcon from '@src/assets/icons/Ai_event_generating.svg';\nimport React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { BodyCaption, BodySecondary } from '@src/components/TypographyStyle';\nimport { ChatState, ChatWindowProps } from '../types';\nimport { renderMarkdownLite } from '../utils/markdown';\nimport ThinkingIndicator from './ThinkingIndicator';\n\n// Single-column layout container\nconst ChatContainer = styled.div<{ chatState: ChatState }>`\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 100%;\n\tmin-width: 0;\n\tmin-height: 0;\n\theight: 100%;\n\tmax-height: 100%;\n\tbackground: white;\n\tborder-left: 1px solid #e5e7eb;\n\tposition: relative;\n\n\t/* State-based styling */\n\t${(props) => {\n\t\tswitch (props.chatState) {\n\t\t\tcase 'conversation-starter':\n\t\t\t\treturn `\n background: linear-gradient(180deg, #FFF6F9 0%, #FFFFFF 100%);\n `;\n\t\t\tcase 'thinking':\n\t\t\t\treturn `\n background: linear-gradient(180deg, #F8F9FA 0%, #FFFFFF 100%);\n `;\n\t\t\tdefault:\n\t\t\t\treturn `\n background: white;\n `;\n\t\t}\n\t}}\n`;\n\nconst Header = styled.div`\n\tpadding: 16px;\n\tborder-bottom: 1px solid #e5e7eb;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 8px;\n\tbackground: white;\n\tflex-shrink: 0;\n\n\t.header-text {\n\t\tfont-size: 14px;\n\t\tfont-weight: 500;\n\t\tcolor: #374151;\n\t}\n`;\n\n// Main content area - single column\nconst MainContent = styled.div`\n\tflex: 1;\n\tdisplay: flex;\n\tflex-direction: column;\n\toverflow: hidden;\n\tmin-height: 0;\n`;\n\nconst MessagesWrapper = styled.div`\n\tflex: 1;\n\toverflow-y: auto;\n\tpadding: 16px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 16px;\n\tbackground: #fafafa;\n\tscroll-behavior: smooth;\n\tmin-height: 0;\n\n\t/* Custom scrollbar */\n\t&::-webkit-scrollbar {\n\t\twidth: 6px;\n\t}\n\n\t&::-webkit-scrollbar-track {\n\t\tbackground: #f1f1f1;\n\t\tborder-radius: 3px;\n\t}\n\n\t&::-webkit-scrollbar-thumb {\n\t\tbackground: #c1c1c1;\n\t\tborder-radius: 3px;\n\t}\n\n\t&::-webkit-scrollbar-thumb:hover {\n\t\tbackground: #a8a8a8;\n\t}\n`;\n\nconst VideoCard = styled.div`\n\tbackground: white;\n\tborder-radius: 12px;\n\tpadding: 16px;\n\tbox-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n\tborder: 1px solid #e5e7eb;\n`;\n\nconst VideoContainer = styled.div`\n\twidth: 100%;\n\theight: 180px;\n\tbackground: #f3f4f6;\n\tborder-radius: 8px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: relative;\n\tmargin-bottom: 12px;\n`;\n\nconst PlayButton = styled.div`\n\twidth: 48px;\n\theight: 48px;\n\tbackground: rgba(0, 0, 0, 0.7);\n\tborder-radius: 50%;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: pointer;\n\ttransition: all 0.2s ease;\n\n\t&:hover {\n\t\tbackground: rgba(0, 0, 0, 0.8);\n\t\ttransform: scale(1.05);\n\t}\n\n\tsvg {\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tfill: white;\n\t\tmargin-left: 2px;\n\t}\n`;\n\nconst VideoText = styled.div`\n\tfont-size: 14px;\n\tcolor: #374151;\n\tline-height: 1.5;\n`;\n\nconst Bubble = styled.div<{ role: 'user' | 'assistant' | 'system' }>`\n\tpadding: 12px 16px;\n\tborder-radius: 16px;\n\tfont-size: 14px;\n\tmax-width: 80%;\n\twhite-space: pre-line;\n\tword-wrap: break-word;\n\n\t${(props) =>\n\t\tprops.role === 'user'\n\t\t\t? `\n background: linear-gradient(92.69deg, rgba(255, 230, 238, 0.5) 0.37%, rgba(255, 240, 231, 0.5) 100%);\n margin-left: auto;\n border-bottom-right-radius: 4px;\n \n & > div {\n background: linear-gradient(92.69deg, #FF166A 0.37%, #FB5F08 100%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n background-clip: text;\n display: inline-block;\n }\n `\n\t\t\t: props.role === 'system'\n\t\t\t? `\n background: #f3f4f6;\n color: #6b7280;\n font-size: 12px;\n font-style: italic;\n text-align: center;\n margin: 0 auto;\n max-width: 90%;\n `\n\t\t\t: `\n background: white;\n color: #111827;\n border: 1px solid #e5e7eb;\n margin-right: auto;\n border-bottom-left-radius: 4px;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n `}\n`;\n\n// Ice breakers section - at the bottom before input\nconst IceBreakersSection = styled.div`\n\tpadding: 16px;\n\tflex-shrink: 0;\n`;\n\nconst IceBreakersGrid = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n\talign-items: flex-end;\n`;\n\nconst IceBreakerChip = styled.button<{ disabled?: boolean }>`\n\tborder: 1px dotted #febad2;\n\tbackground: linear-gradient(\n\t\t92.69deg,\n\t\trgba(255, 230, 238, 0.5) 0.37%,\n\t\trgba(255, 240, 231, 0.5) 100%\n\t);\n\tpadding: 8px 16px;\n\tborder-radius: 8px;\n\tfont-size: 13px;\n\tcursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n\ttransition: all 0.2s ease;\n\ttext-align: left;\n\tmax-width: 280px;\n\talign-self: flex-end;\n\topacity: ${(props) => (props.disabled ? 0.5 : 1)};\n\n\t&:hover:not(:disabled) {\n\t\tbackground: linear-gradient(\n\t\t\t92.69deg,\n\t\t\trgba(255, 230, 238, 0.7) 0.37%,\n\t\t\trgba(255, 240, 231, 0.7) 100%\n\t\t);\n\t\tborder-color: #f472b6;\n\t}\n\n\t&:active:not(:disabled) {\n\t\ttransform: scale(0.98);\n\t}\n`;\n\n// Suggestions section - styled like ice breakers but for regular suggestions\nconst SuggestionsSection = styled.div`\n\tpadding: 16px;\n\tbackground: white;\n`;\n\nconst SuggestionsGrid = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px;\n`;\n\nconst SuggestionChip = styled.button<{ disabled?: boolean }>`\n\tbackground: #fef2f2;\n\tcolor: #dc2626;\n\tpadding: 12px 16px;\n\tborder-radius: 8px;\n\tfont-size: 13px;\n\tborder: 1px solid #fecaca;\n\tcursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n\ttransition: all 0.2s ease;\n\ttext-align: left;\n\topacity: ${(props) => (props.disabled ? 0.5 : 1)};\n\n\t&:hover:not(:disabled) {\n\t\tbackground: #fee2e2;\n\t\tborder-color: #fca5a5;\n\t}\n\n\t&:active:not(:disabled) {\n\t\ttransform: scale(0.98);\n\t}\n`;\n\nconst InputContainer = styled.div`\n\tpadding: 16px;\n\tflex-shrink: 0;\n`;\n\nconst InputBubble = styled.div`\n\tposition: relative;\n\tdisplay: flex;\n\twidth: 100%;\n`;\n\nconst TextInput = styled.textarea<{ hasText: boolean; chatState: ChatState }>`\n\tflex: 1;\n\tborder: 1px solid ${(props) => (props.hasText ? '#3b82f6' : '#d1d5db')};\n\tborder-radius: 12px;\n\tpadding: 12px;\n\tpadding-right: 48px;\n\tfont-size: 14px;\n\toutline: none;\n\tcolor: #374151;\n\tbackground: white;\n\tbox-shadow: 0px 2px 8px 0px #0000001f;\n\ttransition: all 0.2s ease;\n\tresize: none;\n\tmin-height: 44px;\n\tmax-height: 120px;\n\tfont-family: inherit;\n\twidth: 100%;\n\n\t&:focus {\n\t\tborder-color: #3b82f6;\n\t\tbackground: white;\n\t\tbox-shadow: 0px 2px 8px 0px #0000001f, 0 0 0 3px rgba(59, 130, 246, 0.1);\n\t}\n\n\t&::placeholder {\n\t\tcolor: #9ca3af;\n\t}\n`;\n\nconst SendButton = styled.button<{ disabled?: boolean; hasText: boolean }>`\n\tposition: absolute;\n\tbottom: 10px;\n\tright: 10px;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tbackground: ${(props) =>\n\t\tprops.hasText\n\t\t\t? 'linear-gradient(135deg, #FF166A 0%, #FB5F08 100%)'\n\t\t\t: '#e5e7eb'};\n\tborder: none;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n\ttransition: all 0.2s ease;\n\tbox-shadow: 0 2px 8px 0px #fa709a1c;\n\tz-index: 2;\n\n\t&:hover:not(:disabled) {\n\t\tbackground: ${(props) =>\n\t\t\tprops.hasText && !props.disabled\n\t\t\t\t? 'linear-gradient(135deg, #F857A6 0%, #FF5858 100%)'\n\t\t\t\t: '#e5e7eb'};\n\t\ttransform: scale(1.05);\n\t}\n\n\t&:active:not(:disabled) {\n\t\ttransform: scale(0.95);\n\t}\n\n\tsvg {\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tfill: white;\n\t\tfont-weight: bold;\n\t}\n`;\n\n// Customizable gradient text component\nexport const CustomGradientText = styled.span<{\n\tcolors?: string;\n\tangle?: number;\n}>`\n\tbackground: linear-gradient(\n\t\t${(props) => props.angle || 92.69}deg,\n\t\t${(props) => props.colors || '#ff166a 0.37%, #fb5f08 100%'}\n\t);\n\t-webkit-background-clip: text;\n\t-webkit-text-fill-color: transparent;\n\tbackground-clip: text;\n\tdisplay: inline-block;\n`;\n\n// Export ChatState type for backward compatibility\nexport type { ChatState } from '../types';\n\ninterface ChatWindowWithHeightProps extends ChatWindowProps {\n\tchatWindowHeight?: string | number;\n}\n\nconst ChatWindow: React.FC<ChatWindowWithHeightProps> = ({\n\tmessages,\n\tonSend,\n\theader = 'Create with AI',\n\tplaceholder = 'Discover the right event & launch campaigns for better conversions...',\n\tsuggestions = [\n\t\t'Top festivals for marketing',\n\t\t'Top events this week?',\n\t\t'Top August festivals near you',\n\t],\n\ticeBreakers,\n\tvideoStarter,\n\tdisabled = false,\n\tisThinking = false,\n\tonIceBreakerClick,\n\tchatState,\n\tchatWindowHeight,\n\tinputDisabled = false,\n}) => {\n\tconst [input, setInput] = useState('');\n\tconst [thinking, setThinking] = useState(false);\n\tconst [isTyping, setIsTyping] = useState(false);\n\tconst bottomRef = useRef<HTMLDivElement>(null);\n\tconst textareaRef = useRef<HTMLTextAreaElement>(null);\n\tconst isThinkingState = thinking || isThinking;\n\tconst isInputDisabledState = disabled || inputDisabled;\n\n\t// Determine current chat state\n\tconst getCurrentChatState = (): ChatState => {\n\t\tif (chatState) return chatState; // Explicit state override\n\t\tif (thinking || isThinking) return 'thinking';\n\t\tif (isTyping && input.trim().length > 0) return 'typing';\n\t\tif (messages.length === 0) return 'conversation-starter';\n\t\tif (messages.length > 0) return 'conversation';\n\t\treturn 'default';\n\t};\n\n\tconst currentState = getCurrentChatState();\n\n\t// markdown renderer moved to ../utils/markdown\n\n\tconst handleSend = () => {\n\t\tif (!input.trim() || isInputDisabledState || isThinkingState) return;\n\t\tonSend(input);\n\t\tsetInput('');\n\t\tsetThinking(true);\n\t\tsetTimeout(() => setThinking(false), 1500);\n\t};\n\n\tconst handleKeyDown = (e: React.KeyboardEvent) => {\n\t\tif (isInputDisabledState) return;\n\t\tif (e.key === 'Enter' && !e.shiftKey) {\n\t\t\te.preventDefault();\n\t\t\tif (!isThinkingState && input.trim()) {\n\t\t\t\thandleSend();\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleInputChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n\t\tif (isInputDisabledState) return;\n\t\tconst value = e.target.value;\n\t\tsetInput(value);\n\t\tsetIsTyping(value.trim().length > 0);\n\n\t\t// Auto-resize textarea\n\t\tconst textarea = textareaRef.current;\n\t\tif (textarea) {\n\t\t\ttextarea.style.height = 'auto';\n\t\t\ttextarea.style.height = `${Math.min(textarea.scrollHeight, 117)}px`;\n\t\t}\n\t};\n\n\tconst hasText = input.trim().length > 0;\n\tconst isSendDisabled = isInputDisabledState || isThinkingState || !hasText;\n\n\tuseEffect(() => {\n\t\tbottomRef.current?.scrollIntoView({ behavior: 'smooth' });\n\t}, [messages, thinking, isThinking]);\n\n\t// Use chatWindowHeight if provided, otherwise use 100% if fullHeight is active\n\tconst containerHeight = chatWindowHeight || '100%';\n\n\treturn (\n\t\t<ChatContainer chatState={currentState} style={{ height: containerHeight }}>\n\t\t\t{/* Header */}\n\t\t\t<Header>\n\t\t\t\t<AiIcon height={24} width={24} />\n\t\t\t\t<div className=\"header-text\">{header}</div>\n\t\t\t</Header>\n\n\t\t\t{/* Main Content - Single Column Layout */}\n\t\t\t<MainContent>\n\t\t\t\t{/* Messages Section */}\n\t\t\t\t<MessagesWrapper>\n\t\t\t\t\t{/* Video starter card - only when no messages and videoStarter provided */}\n\t\t\t\t\t{currentState === 'conversation-starter' && videoStarter && (\n\t\t\t\t\t\t<VideoCard>\n\t\t\t\t\t\t\t<VideoContainer>\n\t\t\t\t\t\t\t\t<PlayButton onClick={videoStarter.onPlay}>\n\t\t\t\t\t\t\t\t\t<svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n\t\t\t\t\t\t\t\t\t\t<path d=\"M8 5v14l11-7z\" />\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</PlayButton>\n\t\t\t\t\t\t\t</VideoContainer>\n\t\t\t\t\t\t\t<VideoText>\n\t\t\t\t\t\t\t\t<BodySecondary style={{ fontWeight: 500, marginBottom: '4px' }}>\n\t\t\t\t\t\t\t\t\t{videoStarter.title}\n\t\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t\t\t<BodyCaption>{videoStarter.description}</BodyCaption>\n\t\t\t\t\t\t\t</VideoText>\n\t\t\t\t\t\t</VideoCard>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Render messages (assistant supports lite Markdown) */}\n\t\t\t\t\t{messages.map((m) => (\n\t\t\t\t\t\t<Bubble key={m.id} role={m.role}>\n\t\t\t\t\t\t\t{m.role === 'assistant' ? (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t\t\t\t__html: renderMarkdownLite(m.content),\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<div style={{ whiteSpace: 'pre-wrap' }}>{m.content}</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Bubble>\n\t\t\t\t\t))}\n\n\t\t\t\t\t{/* Thinking bubble */}\n\t\t\t\t\t{(thinking || isThinking) && <ThinkingIndicator />}\n\n\t\t\t\t\t<div ref={bottomRef} />\n\t\t\t\t</MessagesWrapper>\n\n\t\t\t\t{/* Ice Breakers Section - At bottom when no messages and ice breakers provided */}\n\t\t\t\t{iceBreakers && currentState === 'conversation-starter' && (\n\t\t\t\t\t<IceBreakersSection>\n\t\t\t\t\t\t<IceBreakersGrid>\n\t\t\t\t\t\t\t{iceBreakers.map((iceBreaker) => (\n\t\t\t\t\t\t\t\t<IceBreakerChip\n\t\t\t\t\t\t\t\t\tkey={iceBreaker.id}\n\t\t\t\t\t\t\t\t\tdisabled={isInputDisabledState}\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\tif (!isInputDisabledState) {\n\t\t\t\t\t\t\t\t\t\t\tonIceBreakerClick?.(iceBreaker);\n\t\t\t\t\t\t\t\t\t\t\tonSend(iceBreaker.text);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<CustomGradientText>{iceBreaker.text}</CustomGradientText>\n\t\t\t\t\t\t\t\t</IceBreakerChip>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</IceBreakersGrid>\n\t\t\t\t\t</IceBreakersSection>\n\t\t\t\t)}\n\n\t\t\t\t{/* Regular Suggestions - Show when no ice breakers are provided */}\n\t\t\t\t{!iceBreakers &&\n\t\t\t\t\tsuggestions.length > 0 &&\n\t\t\t\t\tcurrentState === 'default' && (\n\t\t\t\t\t\t<SuggestionsSection>\n\t\t\t\t\t\t\t<SuggestionsGrid>\n\t\t\t\t\t\t\t\t{suggestions.map((s) => (\n\t\t\t\t\t\t\t\t\t<SuggestionChip\n\t\t\t\t\t\t\t\t\t\tkey={s}\n\t\t\t\t\t\t\t\t\t\tdisabled={isInputDisabledState}\n\t\t\t\t\t\t\t\t\t\tonClick={() => !isInputDisabledState && onSend(s)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{s}\n\t\t\t\t\t\t\t\t\t</SuggestionChip>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</SuggestionsGrid>\n\t\t\t\t\t\t</SuggestionsSection>\n\t\t\t\t\t)}\n\n\t\t\t\t{/* Input Container - Always at bottom */}\n\t\t\t\t<InputContainer>\n\t\t\t\t\t<InputBubble>\n\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\tref={textareaRef}\n\t\t\t\t\t\t\tvalue={input}\n\t\t\t\t\t\t\tonChange={handleInputChange}\n\t\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\t\t\tdisabled={isInputDisabledState}\n\t\t\t\t\t\t\thasText={hasText}\n\t\t\t\t\t\t\tchatState={currentState}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SendButton\n\t\t\t\t\t\t\tonClick={handleSend}\n\t\t\t\t\t\t\tdisabled={isSendDisabled}\n\t\t\t\t\t\t\thasText={hasText}\n\t\t\t\t\t\t\taria-label=\"Send\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\twidth=\"20\"\n\t\t\t\t\t\t\t\theight=\"20\"\n\t\t\t\t\t\t\t\tstroke=\"white\"\n\t\t\t\t\t\t\t\tstrokeWidth=\"2\"\n\t\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\t\tstrokeLinecap=\"round\"\n\t\t\t\t\t\t\t\tstrokeLinejoin=\"round\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<path d=\"M6 12h12\" />\n\t\t\t\t\t\t\t\t<path d=\"M12 6l6 6-6 6\" />\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</SendButton>\n\t\t\t\t\t</InputBubble>\n\t\t\t\t</InputContainer>\n\t\t\t</MainContent>\n\t\t</ChatContainer>\n\t);\n};\n\nexport default ChatWindow;\n"],"names":["ChatContainer","styled","props","Header","MainContent","MessagesWrapper","VideoCard","VideoContainer","PlayButton","VideoText","Bubble","IceBreakersSection","IceBreakersGrid","IceBreakerChip","SuggestionsSection","SuggestionsGrid","SuggestionChip","InputContainer","InputBubble","TextInput","SendButton","CustomGradientText","ChatWindow","messages","onSend","header","placeholder","suggestions","iceBreakers","videoStarter","disabled","isThinking","onIceBreakerClick","chatState","chatWindowHeight","inputDisabled","input","setInput","useState","thinking","setThinking","isTyping","setIsTyping","bottomRef","useRef","textareaRef","isThinkingState","isInputDisabledState","currentState","handleSend","handleKeyDown","e","handleInputChange","value","textarea","hasText","isSendDisabled","useEffect","jsxs","jsx","AiIcon","BodySecondary","BodyCaption","m","renderMarkdownLite","ThinkingIndicator","iceBreaker","s"],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare const GetButtonTextComponent: (size: Size, type: Type, disabled?:
8
8
  color?: string | undefined;
9
9
  }, never>;
10
10
  export declare const getBorderColor: (type: Type, inverse?: boolean, error?: boolean) => string;
11
+ export declare const strokeStyle: (size: Size, color: string, width?: number) => string;
11
12
  export declare const getBorder: (version: '1.0' | '2.0' | '3.0', type: Type, size: Size, inverse?: boolean, error?: boolean) => string;
12
13
  export declare const getLinearGradientValue: (size: Size) => string;
13
14
  /**
@@ -1,13 +1,13 @@
1
1
  import { COLORS as r } from "../../constants/Theme.js";
2
- import { ButtonRegularAI as d, ButtonLargeAI as g, BodySecondary as l, BodyCaption as f, ButtonRegular as b, ButtonLarge as p } from "../TypographyStyle.js";
3
- const m = (t, n, e, a, o) => {
2
+ import { ButtonRegularAI as g, ButtonLargeAI as f, BodySecondary as l, BodyCaption as b, ButtonRegular as p, ButtonLarge as h } from "../TypographyStyle.js";
3
+ const y = (t, n, e, a, i) => {
4
4
  if (t === "special") return r.background.brandVeryLight;
5
5
  if (t === "secondaryGray") return "transparent";
6
6
  if (n === "chip")
7
7
  return t === "text" ? "transparent" : a ? r.surface.hovered : r.surface.subdued;
8
8
  switch (t) {
9
9
  case "primary":
10
- return o || (e ? r.background.warning.vibrant : r.background.inverseLight);
10
+ return i || (e ? r.background.warning.vibrant : r.background.inverseLight);
11
11
  case "destructive":
12
12
  return r.background.negative.vibrant;
13
13
  case "tertiary":
@@ -36,7 +36,7 @@ const m = (t, n, e, a, o) => {
36
36
  default:
37
37
  return e ? r.content.primaryInverse : r.stroke.brand;
38
38
  }
39
- }, y = (t) => t ? "rgba(255, 255, 255, 0.5)" : r.content.inactive, v = (t, n) => {
39
+ }, v = (t) => t ? "rgba(255, 255, 255, 0.5)" : r.content.inactive, B = (t, n) => {
40
40
  if (t === "text")
41
41
  return "0px";
42
42
  if (n === "xs")
@@ -70,27 +70,30 @@ const m = (t, n, e, a, o) => {
70
70
  default:
71
71
  return "14px 12px";
72
72
  }
73
- }, B = (t, n, e) => !e && n === "ai" ? t === "small" ? d : g : n === "dashRegular" ? l : t === "chip" || t === "xs" ? f : t === "small" ? b : p, s = (t, n, e) => e ? r.stroke.negative.vibrant : n ? r.surface.standard : t == "secondary" ? r.stroke.brand : r.content.placeholder, L = (t, n, e, a, o) => n == "text" ? "border: none;" : n === "special" ? `border: 1px solid ${r.stroke.brandLightAlt};` : n === "secondaryGray" ? `border: 1px solid ${r.stroke.primary};` : e === "chip" ? `border: ${t === "2.0" ? 0.5 : 1}px solid ${r.stroke.primary};` : a ? n === "secondary" ? `border: ${t === "2.0" ? 0.5 : 1}px solid ${s(
74
- n,
75
- a,
76
- o
77
- )};` : "border: none;" : n === "secondary" ? `border: ${t === "2.0" ? 0.5 : 1}px solid ${s(
78
- n,
79
- !1,
80
- o
81
- )};` : "border: none;", c = (t) => t === "medium" ? `5px,
73
+ }, L = (t, n, e) => !e && n === "ai" ? t === "small" ? g : f : n === "dashRegular" ? l : t === "chip" || t === "xs" ? b : t === "small" ? p : h, d = (t, n, e) => e ? r.stroke.negative.vibrant : n ? r.surface.standard : t == "secondary" ? r.stroke.brand : r.content.placeholder, o = (t, n, e = 1) => t === "xs" ? `box-shadow: inset 0 0 0 ${e}px ${n}; border: none;` : `border: ${e}px solid ${n};`, G = (t, n, e, a, i) => n == "text" ? "border: none;" : n === "special" ? o(e, r.stroke.brandLightAlt) : n === "secondaryGray" ? o(e, r.stroke.primary) : e === "chip" ? `border: ${t === "2.0" ? 0.5 : 1}px solid ${r.stroke.primary};` : a ? n === "secondary" ? o(
74
+ e,
75
+ d(n, a, i),
76
+ t === "2.0" ? 0.5 : 1
77
+ ) : "border: none;" : n === "secondary" ? o(
78
+ e,
79
+ d(n, !1, i),
80
+ t === "2.0" ? 0.5 : 1
81
+ ) : "border: none;", u = (t) => t === "medium" ? `5px,
82
82
  transparent 5px,
83
83
  transparent 10px` : `6px,
84
84
  transparent 6px,
85
- transparent 12px`, G = (t, n) => {
86
- const e = parseInt(t.replace("#", ""), 16), a = Math.round(2.55 * n), o = (e >> 16) - a, i = (e >> 8 & 255) - a, u = (e & 255) - a;
87
- return `#${(16777216 + (Math.max(o, 0) << 16) + (Math.max(i, 0) << 8) + Math.max(u, 0)).toString(16).slice(1)}`;
88
- }, x = (t, n) => {
89
- const e = parseInt(t.replace("#", ""), 16), a = Math.round(2.55 * n), o = (e >> 16) + a, i = (e >> 8 & 255) + a, u = (e & 255) + a;
90
- return `#${(16777216 + (Math.min(o, 255) << 16) + (Math.min(i, 255) << 8) + Math.min(u, 255)).toString(16).slice(1)}`;
91
- }, w = (t, n) => t === "ai" ? `background: ${r.surface.aiLight};` : t === "text" ? "background-color:transparent;" : t === "special" || t === "secondaryGray" ? "" : !n && t !== "primary" ? `background-color: #000000;
92
- opacity: 0.03;` : "", I = (t, n) => n ? "" : `text-decoration-line: underline;
93
- text-decoration-color: ${r.content.brand};`, M = (t, n) => n ? "" : t === "primary" ? `background-color: ${r.stroke.warning.lightAlt};` : "background-color: rgba(255, 255, 255, 0.1)", A = (t, n, e) => t === "special" ? `background-color: ${r.background.base}; border: 1px solid ${r.stroke.primary};` : t === "secondaryGray" ? `border: 1px solid ${r.stroke.primary};` : n === "chip" ? "background-color: transparent;" : t === "primary" || t === "destructive" ? e ? "background-color: rgba(255,255,255,0.3);" : `background-color: ${r.background.inactive};` : t === "secondary" ? e ? "border: 1px solid rgba(255, 255, 255, 0.5);" : `border: 1px solid ${r.stroke.primary};` : "", S = (t, n, e = s(t, !1)) => `
85
+ transparent 12px`, w = (t, n) => {
86
+ const e = parseInt(t.replace("#", ""), 16), a = Math.round(2.55 * n), i = (e >> 16) - a, c = (e >> 8 & 255) - a, s = (e & 255) - a;
87
+ return `#${(16777216 + (Math.max(i, 0) << 16) + (Math.max(c, 0) << 8) + Math.max(s, 0)).toString(16).slice(1)}`;
88
+ }, k = (t, n) => {
89
+ const e = parseInt(t.replace("#", ""), 16), a = Math.round(2.55 * n), i = (e >> 16) + a, c = (e >> 8 & 255) + a, s = (e & 255) + a;
90
+ return `#${(16777216 + (Math.min(i, 255) << 16) + (Math.min(c, 255) << 8) + Math.min(s, 255)).toString(16).slice(1)}`;
91
+ }, I = (t, n) => t === "ai" ? `background: ${r.surface.aiLight};` : t === "text" ? "background-color:transparent;" : t === "special" || t === "secondaryGray" ? "" : !n && t !== "primary" ? `background-color: #000000;
92
+ opacity: 0.03;` : "", M = (t, n) => n ? "" : `text-decoration-line: underline;
93
+ text-decoration-color: ${r.content.brand};`, S = (t, n) => n ? "" : t === "primary" ? `background-color: ${r.stroke.warning.lightAlt};` : "background-color: rgba(255, 255, 255, 0.1)", A = (t, n, e) => t === "special" ? `background-color: ${r.background.base}; ${o(
94
+ n,
95
+ r.stroke.primary
96
+ )}` : t === "secondaryGray" ? o(n, r.stroke.primary) : n === "chip" ? "background-color: transparent;" : t === "primary" || t === "destructive" ? e ? "background-color: rgba(255,255,255,0.3);" : `background-color: ${r.background.inactive};` : t === "secondary" ? e ? o(n, "rgba(255, 255, 255, 0.5)") : o(n, r.stroke.primary) : "", R = (t, n, e = d(t, !1)) => `
94
97
  .line-top {
95
98
  position: absolute;
96
99
  left: 0;
@@ -101,7 +104,7 @@ const m = (t, n, e, a, o) => {
101
104
  to right,
102
105
  ${e},
103
106
  ${e}
104
- ${c(n)}
107
+ ${u(n)}
105
108
  );
106
109
  }
107
110
  .line-right {
@@ -114,7 +117,7 @@ const m = (t, n, e, a, o) => {
114
117
  to bottom,
115
118
  ${e},
116
119
  ${e}
117
- ${c(n)}
120
+ ${u(n)}
118
121
  );
119
122
  }
120
123
  .line-bottom {
@@ -127,7 +130,7 @@ const m = (t, n, e, a, o) => {
127
130
  to right,
128
131
  ${e},
129
132
  ${e}
130
- ${c(n)}
133
+ ${u(n)}
131
134
  );
132
135
  }
133
136
  .line-left {
@@ -140,18 +143,24 @@ const m = (t, n, e, a, o) => {
140
143
  to bottom,
141
144
  ${e},
142
145
  ${e}
143
- ${c(n)}
146
+ ${u(n)}
144
147
  );
145
148
  }
146
- `, R = (t, n, e) => {
149
+ `, D = (t, n, e) => {
147
150
  if (t === "text")
148
151
  return `background-color: ${r.background.brandLight};
149
152
  text-decoration-line: underline;
150
153
  text-decoration-color: ${r.content.brand};`;
151
154
  if (t === "special")
152
- return `background-color: ${r.background.brandLight}; border: 1px solid ${r.stroke.brandLightAlt};`;
155
+ return `background-color: ${r.background.brandLight}; ${o(
156
+ n,
157
+ r.stroke.brandLightAlt
158
+ )}`;
153
159
  if (t === "secondaryGray")
154
- return `background-color: ${r.surface.hovered}; border: 1px solid ${r.stroke.primary};`;
160
+ return `background-color: ${r.surface.hovered}; ${o(
161
+ n,
162
+ r.stroke.primary
163
+ )}`;
155
164
  if (n === "chip")
156
165
  return `border: 1px solid ${r.stroke.brandLightAlt};
157
166
  background-color: ${r.background.brandLight};`;
@@ -161,13 +170,13 @@ const m = (t, n, e, a, o) => {
161
170
  ` : "box-shadow: inset 0px 4px 12px rgba(0, 0, 0, 0.35);";
162
171
  if (t === "secondary" || t === "tertiary" || t === "tertiaryGray" || t.startsWith("dash"))
163
172
  return e ? `background-color: ${r.background.inverseLight} !important;` : `background-color: ${r.background.brandLight};`;
164
- }, D = (t, n, e, a) => t === "special" ? `background-color: ${r.background.brandVeryLight};` : t === "secondaryGray" ? `background-color: ${r.surface.subdued};` : n === "chip" ? `background-color: ${r.background.base};` : t === "primary" ? a ? `background-color: ${x(
173
+ }, H = (t, n, e, a) => t === "special" ? `background-color: ${r.background.brandVeryLight};` : t === "secondaryGray" ? `background-color: ${r.surface.subdued};` : n === "chip" ? `background-color: ${r.background.base};` : t === "primary" ? a ? `background-color: ${k(
165
174
  a,
166
175
  50
167
- )};` : `background-color: ${e ? r.background.warning.vibrant : r.background.brandLight};` : t === "destructive" ? `background-color: ${r.background.negative.light};` : "background-color: transparent;", H = (t, n, e) => t === "special" ? `border: 1px solid ${r.stroke.brandLightAlt};` : t === "secondaryGray" ? `border: 1px solid ${r.stroke.primary};` : n === "chip" ? "border: none;" : t === "secondary" ? e ? `border: 1px solid ${r.content.secondary};` : `border: 1px solid ${r.stroke.brandLightAlt};` : "", C = (t, n) => t === "secondaryGray" ? r.content.secondary : n ? t === "primary" ? r.content.primary : r.content.primaryInverse : t === "destructive" ? r.content.negative : r.content.brand, T = (t, n, e, a, o, i) => {
176
+ )};` : `background-color: ${e ? r.background.warning.vibrant : r.background.brandLight};` : t === "destructive" ? `background-color: ${r.background.negative.light};` : "background-color: transparent;", C = (t, n, e) => t === "special" ? o(n, r.stroke.brandLightAlt) : t === "secondaryGray" ? o(n, r.stroke.primary) : n === "chip" ? "border: none;" : t === "secondary" ? e ? o(n, r.content.secondary) : o(n, r.stroke.brandLightAlt) : "", T = (t, n) => t === "secondaryGray" ? r.content.secondary : n ? t === "primary" ? r.content.primary : r.content.primaryInverse : t === "destructive" ? r.content.negative : r.content.brand, V = (t, n, e, a, i, c) => {
168
177
  if (t === "chip")
169
- return a ? r.content.inactive : i ? r.content.primary : r.content.secondary;
170
- if (o)
178
+ return a ? r.content.inactive : c ? r.content.primary : r.content.secondary;
179
+ if (i)
171
180
  return "transparent";
172
181
  if (n === "special")
173
182
  return a ? r.content.inactive : r.background.inverseLight;
@@ -183,25 +192,26 @@ const m = (t, n, e, a, o) => {
183
192
  return a ? r.content.inactive : r.content.secondary;
184
193
  };
185
194
  export {
186
- B as GetButtonTextComponent,
187
- C as SpinnerColorMap,
195
+ L as GetButtonTextComponent,
196
+ T as SpinnerColorMap,
188
197
  A as generateDisabledStyling,
189
- M as generateInverseHoverBackground,
190
- m as getBackgroundColor,
191
- L as getBorder,
192
- s as getBorderColor,
193
- T as getButtonIconColor,
194
- R as getClickEffect,
198
+ S as generateInverseHoverBackground,
199
+ y as getBackgroundColor,
200
+ G as getBorder,
201
+ d as getBorderColor,
202
+ V as getButtonIconColor,
203
+ D as getClickEffect,
195
204
  $ as getColor,
196
- S as getDashedBorderStyling,
197
- y as getDisabledTextColor,
198
- w as getHoverButtonBackground,
199
- G as getHoverButtonBackgroundCustom,
200
- I as getHoverButtonTextDecorationStyle,
201
- c as getLinearGradientValue,
202
- D as getLoadingBackground,
203
- H as getLoadingBorder,
204
- x as getLoadingButtonBackgroundCustom,
205
- v as getPadding
205
+ R as getDashedBorderStyling,
206
+ v as getDisabledTextColor,
207
+ I as getHoverButtonBackground,
208
+ w as getHoverButtonBackgroundCustom,
209
+ M as getHoverButtonTextDecorationStyle,
210
+ u as getLinearGradientValue,
211
+ H as getLoadingBackground,
212
+ C as getLoadingBorder,
213
+ k as getLoadingButtonBackgroundCustom,
214
+ B as getPadding,
215
+ o as strokeStyle
206
216
  };
207
217
  //# sourceMappingURL=themes.js.map