@bikdotai/bik-component-library 0.0.718-beta.4 → 0.0.718-beta.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 (137) hide show
  1. package/dist/cjs/assets/icons/Ai_event_generating.svg.js +1 -0
  2. package/dist/cjs/components/SearchFilter/components/DatePickerButton.js +1 -1
  3. package/dist/cjs/components/SearchFilter/components/DateRangeOnlyButton.js +1 -1
  4. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsDropdown.d.ts +1 -3
  5. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsDropdown.js +1 -1
  6. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsTrend.d.ts +1 -0
  7. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsTrend.js +1 -1
  8. package/dist/cjs/components/analytics-chips-and-dropdowns/CommonStyles.js +1 -1
  9. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.d.ts +1 -0
  10. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.js +1 -1
  11. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapStyled.d.ts +26 -0
  12. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapStyled.js +1 -1
  13. package/dist/cjs/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapVertical.js +1 -1
  14. package/dist/cjs/components/bik-chatbot/components/AIChat.d.ts +5 -0
  15. package/dist/cjs/components/bik-chatbot/components/AIChat.js +1 -0
  16. package/dist/cjs/components/bik-chatbot/components/BIKChatbot.d.ts +36 -0
  17. package/dist/cjs/components/bik-chatbot/components/BIKChatbot.js +1 -0
  18. package/dist/cjs/components/bik-chatbot/components/ChatLoadingState.d.ts +7 -0
  19. package/dist/cjs/components/bik-chatbot/components/ChatLoadingState.js +177 -0
  20. package/dist/cjs/components/bik-chatbot/components/ChatWindow.d.ts +12 -0
  21. package/dist/cjs/components/bik-chatbot/components/ChatWindow.js +252 -0
  22. package/dist/cjs/components/bik-chatbot/components/ThinkingIndicator.d.ts +3 -0
  23. package/dist/cjs/components/bik-chatbot/components/ThinkingIndicator.js +188 -0
  24. package/dist/cjs/components/bik-chatbot/contexts/AIContext.d.ts +4 -0
  25. package/dist/cjs/components/bik-chatbot/contexts/AIContext.js +1 -0
  26. package/dist/cjs/components/bik-chatbot/index.d.ts +137 -0
  27. package/dist/cjs/components/bik-chatbot/services/aiService.d.ts +30 -0
  28. package/dist/cjs/components/bik-chatbot/services/aiService.js +1 -0
  29. package/dist/cjs/components/bik-chatbot/services/callToChatbot.d.ts +6 -0
  30. package/dist/cjs/components/bik-chatbot/services/callToChatbot.js +1 -0
  31. package/dist/cjs/components/bik-chatbot/services/db.d.ts +6 -0
  32. package/dist/cjs/components/bik-chatbot/services/db.js +1 -0
  33. package/dist/cjs/components/bik-chatbot/services/useAIChat.d.ts +7 -0
  34. package/dist/cjs/components/bik-chatbot/services/useAIChat.js +1 -0
  35. package/dist/cjs/components/bik-chatbot/types/ai.d.ts +158 -0
  36. package/dist/cjs/components/bik-chatbot/types/ai.js +1 -0
  37. package/dist/cjs/components/bik-chatbot/types/chat.d.ts +34 -0
  38. package/dist/cjs/components/bik-chatbot/types/chat.js +1 -0
  39. package/dist/cjs/components/bik-chatbot/types/components.d.ts +130 -0
  40. package/dist/cjs/components/bik-chatbot/types/index.d.ts +6 -0
  41. package/dist/cjs/components/bik-chatbot/utils/guardrails.d.ts +6 -0
  42. package/dist/cjs/components/bik-chatbot/utils/guardrails.js +1 -0
  43. package/dist/cjs/components/bik-chatbot/utils/markdown.d.ts +1 -0
  44. package/dist/cjs/components/bik-chatbot/utils/markdown.js +1 -0
  45. package/dist/cjs/components/bik-chatbot-examples/AnalyticsAdvisor.d.ts +8 -0
  46. package/dist/cjs/components/bik-chatbot-examples/ContentIdeasDemo.d.ts +12 -0
  47. package/dist/cjs/components/bik-chatbot-examples/SilentModeDemo.d.ts +17 -0
  48. package/dist/cjs/components/bik-chatbot-examples/SimpleChatbotDemo.d.ts +17 -0
  49. package/dist/cjs/components/bik-chatbot-examples/SimpleJsonChatDemo.d.ts +16 -0
  50. package/dist/cjs/components/bik-chatbot-examples/services/MockRequestExecutor.d.ts +17 -0
  51. package/dist/cjs/components/bik-chatbot-examples/types.ts/examples.d.ts +61 -0
  52. package/dist/cjs/components/bik-layout/MockMenus.d.ts +0 -1
  53. package/dist/cjs/components/custom-date-time/DateSelector/DateSelector.js +1 -1
  54. package/dist/cjs/components/datePicker/DatePicker.d.ts +0 -2
  55. package/dist/cjs/components/datePicker/DatePicker.js +1 -1
  56. package/dist/cjs/components/datePicker/DatePicker.styled.d.ts +0 -12
  57. package/dist/cjs/components/datePicker/DatePicker.styled.js +1 -1
  58. package/dist/cjs/components/datePicker/index.d.ts +0 -1
  59. package/dist/cjs/components/dropdown/ChipDropdown.d.ts +1 -0
  60. package/dist/cjs/components/dropdown/ChipDropdown.js +4 -3
  61. package/dist/cjs/components/dropdown/Dropdown.d.ts +1 -0
  62. package/dist/cjs/components/floating-action-button/FloatingActionButton.styles.js +1 -1
  63. package/dist/cjs/components/tabs/Tabs.js +1 -1
  64. package/dist/cjs/components/tabs/Tabs.model.d.ts +2 -0
  65. package/dist/cjs/index.d.ts +1 -0
  66. package/dist/cjs/index.js +1 -1
  67. package/dist/esm/assets/icons/Ai_event_generating.svg.js +1 -0
  68. package/dist/esm/components/SearchFilter/components/DatePickerButton.js +1 -1
  69. package/dist/esm/components/SearchFilter/components/DateRangeOnlyButton.js +1 -1
  70. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsDropdown.d.ts +1 -3
  71. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsDropdown.js +1 -1
  72. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsTrend.d.ts +1 -0
  73. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsTrend.js +1 -1
  74. package/dist/esm/components/analytics-chips-and-dropdowns/CommonStyles.js +1 -1
  75. package/dist/esm/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.d.ts +1 -0
  76. package/dist/esm/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMap.js +1 -1
  77. package/dist/esm/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapStyled.d.ts +26 -0
  78. package/dist/esm/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapStyled.js +1 -1
  79. package/dist/esm/components/analytics-chips-and-dropdowns/chart/heatmap/HeatMapVertical.js +1 -1
  80. package/dist/esm/components/bik-chatbot/components/AIChat.d.ts +5 -0
  81. package/dist/esm/components/bik-chatbot/components/AIChat.js +1 -0
  82. package/dist/esm/components/bik-chatbot/components/BIKChatbot.d.ts +36 -0
  83. package/dist/esm/components/bik-chatbot/components/BIKChatbot.js +1 -0
  84. package/dist/esm/components/bik-chatbot/components/ChatLoadingState.d.ts +7 -0
  85. package/dist/esm/components/bik-chatbot/components/ChatLoadingState.js +177 -0
  86. package/dist/esm/components/bik-chatbot/components/ChatWindow.d.ts +12 -0
  87. package/dist/esm/components/bik-chatbot/components/ChatWindow.js +252 -0
  88. package/dist/esm/components/bik-chatbot/components/ThinkingIndicator.d.ts +3 -0
  89. package/dist/esm/components/bik-chatbot/components/ThinkingIndicator.js +188 -0
  90. package/dist/esm/components/bik-chatbot/contexts/AIContext.d.ts +4 -0
  91. package/dist/esm/components/bik-chatbot/contexts/AIContext.js +1 -0
  92. package/dist/esm/components/bik-chatbot/index.d.ts +137 -0
  93. package/dist/esm/components/bik-chatbot/services/aiService.d.ts +30 -0
  94. package/dist/esm/components/bik-chatbot/services/aiService.js +1 -0
  95. package/dist/esm/components/bik-chatbot/services/callToChatbot.d.ts +6 -0
  96. package/dist/esm/components/bik-chatbot/services/callToChatbot.js +1 -0
  97. package/dist/esm/components/bik-chatbot/services/db.d.ts +6 -0
  98. package/dist/esm/components/bik-chatbot/services/db.js +1 -0
  99. package/dist/esm/components/bik-chatbot/services/useAIChat.d.ts +7 -0
  100. package/dist/esm/components/bik-chatbot/services/useAIChat.js +1 -0
  101. package/dist/esm/components/bik-chatbot/types/ai.d.ts +158 -0
  102. package/dist/esm/components/bik-chatbot/types/ai.js +1 -0
  103. package/dist/esm/components/bik-chatbot/types/chat.d.ts +34 -0
  104. package/dist/esm/components/bik-chatbot/types/chat.js +1 -0
  105. package/dist/esm/components/bik-chatbot/types/components.d.ts +130 -0
  106. package/dist/esm/components/bik-chatbot/types/index.d.ts +6 -0
  107. package/dist/esm/components/bik-chatbot/utils/guardrails.d.ts +6 -0
  108. package/dist/esm/components/bik-chatbot/utils/guardrails.js +1 -0
  109. package/dist/esm/components/bik-chatbot/utils/markdown.d.ts +1 -0
  110. package/dist/esm/components/bik-chatbot/utils/markdown.js +1 -0
  111. package/dist/esm/components/bik-chatbot-examples/AnalyticsAdvisor.d.ts +8 -0
  112. package/dist/esm/components/bik-chatbot-examples/ContentIdeasDemo.d.ts +12 -0
  113. package/dist/esm/components/bik-chatbot-examples/SilentModeDemo.d.ts +17 -0
  114. package/dist/esm/components/bik-chatbot-examples/SimpleChatbotDemo.d.ts +17 -0
  115. package/dist/esm/components/bik-chatbot-examples/SimpleJsonChatDemo.d.ts +16 -0
  116. package/dist/esm/components/bik-chatbot-examples/services/MockRequestExecutor.d.ts +17 -0
  117. package/dist/esm/components/bik-chatbot-examples/types.ts/examples.d.ts +61 -0
  118. package/dist/esm/components/bik-layout/MockMenus.d.ts +0 -1
  119. package/dist/esm/components/custom-date-time/DateSelector/DateSelector.js +1 -1
  120. package/dist/esm/components/datePicker/DatePicker.d.ts +0 -2
  121. package/dist/esm/components/datePicker/DatePicker.js +1 -1
  122. package/dist/esm/components/datePicker/DatePicker.styled.d.ts +0 -12
  123. package/dist/esm/components/datePicker/DatePicker.styled.js +1 -1
  124. package/dist/esm/components/datePicker/index.d.ts +0 -1
  125. package/dist/esm/components/dropdown/ChipDropdown.d.ts +1 -0
  126. package/dist/esm/components/dropdown/ChipDropdown.js +6 -5
  127. package/dist/esm/components/dropdown/Dropdown.d.ts +1 -0
  128. package/dist/esm/components/floating-action-button/FloatingActionButton.styles.js +17 -17
  129. package/dist/esm/components/tabs/Tabs.js +1 -1
  130. package/dist/esm/components/tabs/Tabs.model.d.ts +2 -0
  131. package/dist/esm/index.d.ts +1 -0
  132. package/dist/esm/index.js +1 -1
  133. package/package.json +2 -1
  134. package/dist/cjs/components/datePicker/TimePicker.d.ts +0 -9
  135. package/dist/cjs/components/datePicker/TimePicker.js +0 -1
  136. package/dist/esm/components/datePicker/TimePicker.d.ts +0 -9
  137. package/dist/esm/components/datePicker/TimePicker.js +0 -1
@@ -0,0 +1,177 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../node_modules/react/jsx-runtime.js"),t=require("react"),a=require("styled-components");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=i(a);const n=["Preparing to assist you...","Getting ready to brainstorm..."],s=[{symbol:"✨",text:"Get AI-powered ideas"},{symbol:"💬",text:"Ask me anything"}],o=a.keyframes`
2
+ from {
3
+ opacity: 0;
4
+ transform: translateY(12px);
5
+ }
6
+ to {
7
+ opacity: 1;
8
+ transform: translateY(0);
9
+ }
10
+ `,d=a.keyframes`
11
+ 0%, 100% {
12
+ transform: scale(1);
13
+ opacity: 0.3;
14
+ }
15
+ 50% {
16
+ transform: scale(1.4);
17
+ opacity: 1;
18
+ }
19
+ `,l=a.keyframes`
20
+ from {
21
+ opacity: 0;
22
+ transform: translateX(-18px);
23
+ }
24
+ to {
25
+ opacity: 1;
26
+ transform: translateX(0);
27
+ }
28
+ `,p=r.default.div`
29
+ flex: 1;
30
+ display: flex;
31
+ align-items: center;
32
+ justify-content: center;
33
+ padding: 24px;
34
+ min-height: 240px;
35
+ `,x=r.default.div`
36
+ text-align: center;
37
+ display: flex;
38
+ flex-direction: column;
39
+ align-items: center;
40
+ gap: 24px;
41
+ max-width: 280px;
42
+ width: 100%;
43
+ `,f=r.default.div`
44
+ width: 76px;
45
+ height: 76px;
46
+ border-radius: 50%;
47
+ background: linear-gradient(
48
+ 135deg,
49
+ rgba(255, 22, 106, 0.28) 0%,
50
+ rgba(123, 104, 238, 0.32) 100%
51
+ );
52
+ display: flex;
53
+ align-items: center;
54
+ justify-content: center;
55
+ box-shadow: 0 22px 44px rgba(123, 104, 238, 0.22);
56
+ padding: 12px;
57
+ position: relative;
58
+ overflow: hidden;
59
+
60
+ &::after {
61
+ content: '';
62
+ position: absolute;
63
+ inset: 6px;
64
+ border-radius: 50%;
65
+ background: radial-gradient(
66
+ circle at 30% 30%,
67
+ rgba(255, 255, 255, 0.6),
68
+ transparent 70%
69
+ );
70
+ mix-blend-mode: screen;
71
+ }
72
+ `,c=a.keyframes`
73
+ 0% {
74
+ transform: scale(1);
75
+ filter: drop-shadow(0 6px 18px rgba(236, 72, 153, 0.22));
76
+ }
77
+ 35% {
78
+ transform: scale(1.04);
79
+ filter: drop-shadow(0 10px 24px rgba(236, 72, 153, 0.32));
80
+ }
81
+ 70% {
82
+ transform: scale(0.98);
83
+ filter: drop-shadow(0 4px 12px rgba(148, 163, 184, 0.18));
84
+ }
85
+ 100% {
86
+ transform: scale(1);
87
+ filter: drop-shadow(0 6px 18px rgba(236, 72, 153, 0.22));
88
+ }
89
+ `,m=a.keyframes`
90
+ 0% {
91
+ transform: translateX(-120%);
92
+ opacity: 0;
93
+ }
94
+ 30% {
95
+ opacity: 0.4;
96
+ }
97
+ 60% {
98
+ transform: translateX(120%);
99
+ opacity: 0;
100
+ }
101
+ 100% {
102
+ transform: translateX(120%);
103
+ opacity: 0;
104
+ }
105
+ `,g=r.default.div`
106
+ font-size: 14px;
107
+ color: #52586c;
108
+ line-height: 1.5;
109
+ min-height: 21px;
110
+ animation: ${o} 0.4s ease forwards;
111
+ `,u=r.default.div`
112
+ display: flex;
113
+ justify-content: center;
114
+ gap: 6px;
115
+ `,b=r.default.span`
116
+ width: 8px;
117
+ height: 8px;
118
+ border-radius: 50%;
119
+ background: linear-gradient(135deg, #f29cc9 0%, #b8a5f6 100%);
120
+ animation: ${d} 1.4s ease-in-out infinite;
121
+ animation-delay: ${e=>e.delay}s;
122
+ `,y=r.default.div`
123
+ display: flex;
124
+ flex-direction: column;
125
+ gap: 10px;
126
+ margin-top: 8px;
127
+ width: 100%;
128
+ `,h=r.default.div`
129
+ display: flex;
130
+ align-items: center;
131
+ gap: 12px;
132
+ background: linear-gradient(
133
+ 135deg,
134
+ rgba(255, 255, 255, 0.92) 0%,
135
+ rgba(248, 246, 255, 0.96) 100%
136
+ );
137
+ border-radius: 12px;
138
+ padding: 12px;
139
+ box-shadow: inset 0 0 0 1px rgba(199, 210, 254, 0.3);
140
+ animation: ${l} 0.5s ease forwards;
141
+ animation-delay: ${e=>e.delay}s;
142
+ opacity: 0;
143
+ `,j=r.default.div`
144
+ width: 36px;
145
+ height: 36px;
146
+ border-radius: 10px;
147
+ background: linear-gradient(140deg, #ffffff 0%, #f7f3ff 100%);
148
+ display: flex;
149
+ align-items: center;
150
+ justify-content: center;
151
+ box-shadow: 0 10px 20px rgba(197, 181, 255, 0.24);
152
+ font-size: 18px;
153
+ `,w=r.default.span`
154
+ font-size: 12px;
155
+ color: #5f6781;
156
+ text-align: left;
157
+ `,v=r.default.img`
158
+ width: 100%;
159
+ height: 100%;
160
+ object-fit: contain;
161
+ filter: drop-shadow(0 6px 18px rgba(236, 72, 153, 0.22));
162
+ animation: ${c} 2.6s ease-in-out infinite;
163
+ position: relative;
164
+ z-index: 1;
165
+ `,k=r.default.div`
166
+ position: absolute;
167
+ inset: 12px;
168
+ border-radius: 999px;
169
+ background: linear-gradient(
170
+ 140deg,
171
+ rgba(255, 255, 255, 0.65),
172
+ rgba(255, 255, 255, 0)
173
+ );
174
+ animation: ${m} 2.6s ease-in-out infinite;
175
+ pointer-events: none;
176
+ z-index: 0;
177
+ `;exports.default=a=>{let{className:i,style:r}=a;const[o,d]=t.useState(0);return t.useEffect((()=>{const e=window.setInterval((()=>{d((e=>(e+1)%n.length))}),2e3);return()=>window.clearInterval(e)}),[]),e.jsxRuntimeExports.jsx(p,Object.assign({className:i,style:r},{children:e.jsxRuntimeExports.jsxs(x,{children:[e.jsxRuntimeExports.jsxs(f,{children:[e.jsxRuntimeExports.jsx(k,{}),e.jsxRuntimeExports.jsx(v,{src:"https://firebasestorage.googleapis.com/v0/b/bikayi-chat.appspot.com/o/images-uid%2Fcdf9c32d-6cf6-427f-b5c1-53cd424bfd5d?alt=media&token=740083c2-08ad-4295-a169-77c7d8ddaea9",alt:"AI thinking"})]}),e.jsxRuntimeExports.jsx(g,{children:n[o]},o),e.jsxRuntimeExports.jsx(u,{children:[0,1,2].map((t=>e.jsxRuntimeExports.jsx(b,{delay:.22*t},t)))}),e.jsxRuntimeExports.jsx(y,{children:s.map(((t,a)=>e.jsxRuntimeExports.jsxs(h,Object.assign({delay:.4+.2*a},{children:[e.jsxRuntimeExports.jsx(j,{children:t.symbol}),e.jsxRuntimeExports.jsx(w,{children:t.text})]}),t.text)))})]})}))};
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { ChatWindowProps } from '../types';
3
+ export declare const CustomGradientText: import("styled-components").StyledComponent<"span", any, {
4
+ colors?: string | undefined;
5
+ angle?: number | undefined;
6
+ }, never>;
7
+ export type { ChatState } from '../types';
8
+ interface ChatWindowWithHeightProps extends ChatWindowProps {
9
+ chatWindowHeight?: string | number;
10
+ }
11
+ declare const ChatWindow: React.FC<ChatWindowWithHeightProps>;
12
+ export default ChatWindow;
@@ -0,0 +1,252 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../node_modules/react/jsx-runtime.js"),t=require("../../../assets/icons/Ai_event_generating.svg.js"),i=require("react"),r=require("styled-components"),n=require("../../TypographyStyle.js"),s=require("../utils/markdown.js"),a=require("./ThinkingIndicator.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=o(r);const l=d.default.div`
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ min-width: 0;
6
+ min-height: 0;
7
+ height: 100%;
8
+ max-height: 100%;
9
+ background: white;
10
+ border-left: 1px solid #e5e7eb;
11
+ position: relative;
12
+
13
+ /* State-based styling */
14
+ ${e=>{switch(e.chatState){case"conversation-starter":return"\n background: linear-gradient(180deg, #FFF6F9 0%, #FFFFFF 100%);\n ";case"thinking":return"\n background: linear-gradient(180deg, #F8F9FA 0%, #FFFFFF 100%);\n ";default:return"\n background: white;\n "}}}
15
+ `,x=d.default.div`
16
+ padding: 16px;
17
+ border-bottom: 1px solid #e5e7eb;
18
+ display: flex;
19
+ align-items: center;
20
+ gap: 8px;
21
+ background: white;
22
+ flex-shrink: 0;
23
+
24
+ .header-text {
25
+ font-size: 14px;
26
+ font-weight: 500;
27
+ color: #374151;
28
+ }
29
+ `,c=d.default.div`
30
+ flex: 1;
31
+ display: flex;
32
+ flex-direction: column;
33
+ overflow: hidden;
34
+ min-height: 0;
35
+ `,p=d.default.div`
36
+ flex: 1;
37
+ overflow-y: auto;
38
+ padding: 16px;
39
+ display: flex;
40
+ flex-direction: column;
41
+ gap: 16px;
42
+ background: #fafafa;
43
+ scroll-behavior: smooth;
44
+ min-height: 0;
45
+
46
+ /* Custom scrollbar */
47
+ &::-webkit-scrollbar {
48
+ width: 6px;
49
+ }
50
+
51
+ &::-webkit-scrollbar-track {
52
+ background: #f1f1f1;
53
+ border-radius: 3px;
54
+ }
55
+
56
+ &::-webkit-scrollbar-thumb {
57
+ background: #c1c1c1;
58
+ border-radius: 3px;
59
+ }
60
+
61
+ &::-webkit-scrollbar-thumb:hover {
62
+ background: #a8a8a8;
63
+ }
64
+ `,u=d.default.div`
65
+ background: white;
66
+ border-radius: 12px;
67
+ padding: 16px;
68
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
69
+ border: 1px solid #e5e7eb;
70
+ `,h=d.default.div`
71
+ width: 100%;
72
+ height: 180px;
73
+ background: #f3f4f6;
74
+ border-radius: 8px;
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ position: relative;
79
+ margin-bottom: 12px;
80
+ `,g=d.default.div`
81
+ width: 48px;
82
+ height: 48px;
83
+ background: rgba(0, 0, 0, 0.7);
84
+ border-radius: 50%;
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: center;
88
+ cursor: pointer;
89
+ transition: all 0.2s ease;
90
+
91
+ &:hover {
92
+ background: rgba(0, 0, 0, 0.8);
93
+ transform: scale(1.05);
94
+ }
95
+
96
+ svg {
97
+ width: 16px;
98
+ height: 16px;
99
+ fill: white;
100
+ margin-left: 2px;
101
+ }
102
+ `,b=d.default.div`
103
+ font-size: 14px;
104
+ color: #374151;
105
+ line-height: 1.5;
106
+ `,f=d.default.div`
107
+ padding: 12px 16px;
108
+ border-radius: 16px;
109
+ font-size: 14px;
110
+ max-width: 80%;
111
+ white-space: pre-line;
112
+ word-wrap: break-word;
113
+
114
+ ${e=>"user"===e.role?"\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 ":"system"===e.role?"\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 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 "}
115
+ `,m=d.default.div`
116
+ padding: 16px;
117
+ flex-shrink: 0;
118
+ `,j=d.default.div`
119
+ display: flex;
120
+ flex-direction: column;
121
+ gap: 8px;
122
+ align-items: flex-end;
123
+ `,k=d.default.button`
124
+ border: 1px dotted #febad2;
125
+ background: linear-gradient(
126
+ 92.69deg,
127
+ rgba(255, 230, 238, 0.5) 0.37%,
128
+ rgba(255, 240, 231, 0.5) 100%
129
+ );
130
+ padding: 8px 16px;
131
+ border-radius: 8px;
132
+ font-size: 13px;
133
+ cursor: pointer;
134
+ transition: all 0.2s ease;
135
+ text-align: left;
136
+ max-width: 280px;
137
+ align-self: flex-end;
138
+
139
+ &:hover {
140
+ background: linear-gradient(
141
+ 92.69deg,
142
+ rgba(255, 230, 238, 0.7) 0.37%,
143
+ rgba(255, 240, 231, 0.7) 100%
144
+ );
145
+ border-color: #f472b6;
146
+ }
147
+
148
+ &:active {
149
+ transform: scale(0.98);
150
+ }
151
+ `,v=d.default.div`
152
+ padding: 16px;
153
+ background: white;
154
+ `,w=d.default.div`
155
+ display: flex;
156
+ flex-direction: column;
157
+ gap: 8px;
158
+ `,y=d.default.button`
159
+ background: #fef2f2;
160
+ color: #dc2626;
161
+ padding: 12px 16px;
162
+ border-radius: 8px;
163
+ font-size: 13px;
164
+ border: 1px solid #fecaca;
165
+ cursor: pointer;
166
+ transition: all 0.2s ease;
167
+ text-align: left;
168
+
169
+ &:hover {
170
+ background: #fee2e2;
171
+ border-color: #fca5a5;
172
+ }
173
+
174
+ &:active {
175
+ transform: scale(0.98);
176
+ }
177
+ `,E=d.default.div`
178
+ padding: 16px;
179
+ flex-shrink: 0;
180
+ `,R=d.default.div`
181
+ position: relative;
182
+ display: flex;
183
+ width: 100%;
184
+ `,F=d.default.textarea`
185
+ flex: 1;
186
+ border: 1px solid ${e=>e.hasText?"#3b82f6":"#d1d5db"};
187
+ border-radius: 12px;
188
+ padding: 12px;
189
+ padding-right: 48px;
190
+ font-size: 14px;
191
+ outline: none;
192
+ color: #374151;
193
+ background: white;
194
+ box-shadow: 0px 2px 8px 0px #0000001f;
195
+ transition: all 0.2s ease;
196
+ resize: none;
197
+ min-height: 44px;
198
+ max-height: 120px;
199
+ font-family: inherit;
200
+ width: 100%;
201
+
202
+ &:focus {
203
+ border-color: #3b82f6;
204
+ background: white;
205
+ box-shadow: 0px 2px 8px 0px #0000001f, 0 0 0 3px rgba(59, 130, 246, 0.1);
206
+ }
207
+
208
+ &::placeholder {
209
+ color: #9ca3af;
210
+ }
211
+ `,S=d.default.button`
212
+ position: absolute;
213
+ bottom: 10px;
214
+ right: 10px;
215
+ width: 36px;
216
+ height: 36px;
217
+ border-radius: 50%;
218
+ background: ${e=>e.hasText?"linear-gradient(135deg, #FF166A 0%, #FB5F08 100%)":"#e5e7eb"};
219
+ border: none;
220
+ display: flex;
221
+ align-items: center;
222
+ justify-content: center;
223
+ cursor: ${e=>e.disabled?"not-allowed":"pointer"};
224
+ transition: all 0.2s ease;
225
+ box-shadow: 0 2px 8px 0px #fa709a1c;
226
+ z-index: 2;
227
+
228
+ &:hover:not(:disabled) {
229
+ background: ${e=>e.hasText&&!e.disabled?"linear-gradient(135deg, #F857A6 0%, #FF5858 100%)":"#e5e7eb"};
230
+ transform: scale(1.05);
231
+ }
232
+
233
+ &:active:not(:disabled) {
234
+ transform: scale(0.95);
235
+ }
236
+
237
+ svg {
238
+ width: 16px;
239
+ height: 16px;
240
+ fill: white;
241
+ font-weight: bold;
242
+ }
243
+ `,T=d.default.span`
244
+ background: linear-gradient(
245
+ ${e=>e.angle||92.69}deg,
246
+ ${e=>e.colors||"#ff166a 0.37%, #fb5f08 100%"}
247
+ );
248
+ -webkit-background-clip: text;
249
+ -webkit-text-fill-color: transparent;
250
+ background-clip: text;
251
+ display: inline-block;
252
+ `;exports.CustomGradientText=T,exports.default=r=>{let{messages:o,onSend:d,header:O="Create with AI",placeholder:C="Discover the right event & launch campaigns for better conversions...",suggestions:z=["Top festivals for marketing","Top events this week?","Top August festivals near you"],iceBreakers:B,videoStarter:$,disabled:q=!1,isThinking:A=!1,onIceBreakerClick:M,chatState:_,chatWindowHeight:I,inputDisabled:D=!1}=r;const[L,H]=i.useState(""),[W,K]=i.useState(!1),[P,G]=i.useState(!1),N=i.useRef(null),V=i.useRef(null),J=W||A,Q=q||D,U=_||(W||A?"thinking":P&&L.trim().length>0?"typing":0===o.length?"conversation-starter":o.length>0?"conversation":"default"),X=()=>{!L.trim()||Q||J||(d(L),H(""),K(!0),setTimeout((()=>K(!1)),1500))},Y=L.trim().length>0,Z=Q||J||!Y;i.useEffect((()=>{var e;null===(e=N.current)||void 0===e||e.scrollIntoView({behavior:"smooth"})}),[o,W,A]);const ee=I||"100%";return e.jsxRuntimeExports.jsxs(l,Object.assign({chatState:U,style:{height:ee}},{children:[e.jsxRuntimeExports.jsxs(x,{children:[e.jsxRuntimeExports.jsx(t.default,{height:24,width:24}),e.jsxRuntimeExports.jsx("div",Object.assign({className:"header-text"},{children:O}))]}),e.jsxRuntimeExports.jsxs(c,{children:[e.jsxRuntimeExports.jsxs(p,{children:["conversation-starter"===U&&$&&e.jsxRuntimeExports.jsxs(u,{children:[e.jsxRuntimeExports.jsx(h,{children:e.jsxRuntimeExports.jsx(g,Object.assign({onClick:$.onPlay},{children:e.jsxRuntimeExports.jsx("svg",Object.assign({viewBox:"0 0 24 24",fill:"currentColor"},{children:e.jsxRuntimeExports.jsx("path",{d:"M8 5v14l11-7z"})}))}))}),e.jsxRuntimeExports.jsxs(b,{children:[e.jsxRuntimeExports.jsx(n.BodySecondary,Object.assign({style:{fontWeight:500,marginBottom:"4px"}},{children:$.title})),e.jsxRuntimeExports.jsx(n.BodyCaption,{children:$.description})]})]}),o.map((t=>e.jsxRuntimeExports.jsx(f,Object.assign({role:t.role},{children:"assistant"===t.role?e.jsxRuntimeExports.jsx("div",{dangerouslySetInnerHTML:{__html:s.renderMarkdownLite(t.content)}}):e.jsxRuntimeExports.jsx("div",Object.assign({style:{whiteSpace:"pre-wrap"}},{children:t.content}))}),t.id))),(W||A)&&e.jsxRuntimeExports.jsx(a.default,{}),e.jsxRuntimeExports.jsx("div",{ref:N})]}),B&&"conversation-starter"===U&&e.jsxRuntimeExports.jsx(m,{children:e.jsxRuntimeExports.jsx(j,{children:B.map((t=>e.jsxRuntimeExports.jsx(k,Object.assign({onClick:()=>{q||(null==M||M(t),d(t.text))}},{children:e.jsxRuntimeExports.jsx(T,{children:t.text})}),t.id)))})}),!B&&z.length>0&&"default"===U&&e.jsxRuntimeExports.jsx(v,{children:e.jsxRuntimeExports.jsx(w,{children:z.map((t=>e.jsxRuntimeExports.jsx(y,Object.assign({onClick:()=>!q&&d(t)},{children:t}),t)))})}),e.jsxRuntimeExports.jsx(E,{children:e.jsxRuntimeExports.jsxs(R,{children:[e.jsxRuntimeExports.jsx(F,{ref:V,value:L,onChange:e=>{if(Q)return;const t=e.target.value;H(t),G(t.trim().length>0);const i=V.current;i&&(i.style.height="auto",i.style.height=`${Math.min(i.scrollHeight,117)}px`)},placeholder:C,onKeyDown:e=>{Q||"Enter"!==e.key||e.shiftKey||(e.preventDefault(),!J&&L.trim()&&X())},disabled:Q,hasText:Y,chatState:U}),e.jsxRuntimeExports.jsx(S,Object.assign({onClick:X,disabled:Z,hasText:Y,"aria-label":"Send"},{children:e.jsxRuntimeExports.jsxs("svg",Object.assign({viewBox:"0 0 24 24",width:"20",height:"20",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},{children:[e.jsxRuntimeExports.jsx("path",{d:"M6 12h12"}),e.jsxRuntimeExports.jsx("path",{d:"M12 6l6 6-6 6"})]}))}))]})})]})]}))};
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const ThinkingIndicator: React.FC;
3
+ export default ThinkingIndicator;
@@ -0,0 +1,188 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../node_modules/react/jsx-runtime.js"),t=require("react");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}const i=a(require("styled-components")).default.div`
2
+ background: #ffffff;
3
+ border: 1px solid ${e=>`${e.accent}33`};
4
+ padding: 16px 18px 20px;
5
+ border-radius: 16px;
6
+ border-bottom-left-radius: 6px;
7
+ width: clamp(260px, 70vw, 340px);
8
+ min-height: 140px;
9
+ margin-right: auto;
10
+ font-size: 14px;
11
+ color: #1f2937;
12
+ box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
13
+ display: flex;
14
+ align-items: flex-start;
15
+ gap: 14px;
16
+ position: relative;
17
+ overflow: hidden;
18
+ flex-shrink: 0;
19
+
20
+ &::after {
21
+ content: '';
22
+ position: absolute;
23
+ left: 18px;
24
+ right: 18px;
25
+ bottom: 10px;
26
+ height: 4px;
27
+ border-radius: 999px;
28
+ background: ${e=>e.gradient};
29
+ opacity: 0.35;
30
+ animation: glowPulse 2.4s ease-in-out infinite;
31
+ pointer-events: none;
32
+ }
33
+
34
+ .icon-wrapper {
35
+ position: relative;
36
+ width: 44px;
37
+ height: 44px;
38
+ border-radius: 12px;
39
+ background: ${e=>e.gradient};
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ box-shadow: 0 10px 25px ${e=>`${e.accent}26`};
44
+ animation: iconPulse 2.4s ease-in-out infinite;
45
+ flex-shrink: 0;
46
+ overflow: hidden;
47
+ }
48
+
49
+ .icon-wrapper::after {
50
+ content: '';
51
+ position: absolute;
52
+ inset: 0;
53
+ border-radius: 12px;
54
+ background: radial-gradient(
55
+ circle at top left,
56
+ rgba(255, 255, 255, 0.7),
57
+ transparent 65%
58
+ );
59
+ mix-blend-mode: screen;
60
+ }
61
+
62
+ .icon-letter {
63
+ font-size: 18px;
64
+ font-weight: 700;
65
+ color: #ffffff;
66
+ letter-spacing: 0.02em;
67
+ }
68
+
69
+ .bubble-content {
70
+ display: flex;
71
+ flex-direction: column;
72
+ gap: 12px;
73
+ width: 100%;
74
+ }
75
+
76
+ .status-text {
77
+ font-weight: 500;
78
+ color: #1f2937;
79
+ line-height: 1.45;
80
+ animation: textFade 0.35s ease forwards;
81
+ min-height: 20px;
82
+ }
83
+
84
+ .dots {
85
+ display: flex;
86
+ gap: 6px;
87
+ }
88
+
89
+ .dot {
90
+ width: 6px;
91
+ height: 6px;
92
+ border-radius: 50%;
93
+ background: ${e=>e.accent};
94
+ box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25);
95
+ animation: dotBounce 1.3s ease-in-out infinite;
96
+ }
97
+
98
+ .shimmer-group {
99
+ display: flex;
100
+ flex-direction: column;
101
+ gap: 6px;
102
+ }
103
+
104
+ .shimmer-line {
105
+ height: 6px;
106
+ border-radius: 999px;
107
+ background: rgba(148, 163, 184, 0.18);
108
+ position: relative;
109
+ overflow: hidden;
110
+ animation: shimmerAppear 0.4s ease forwards;
111
+ }
112
+
113
+ .shimmer-highlight {
114
+ position: absolute;
115
+ inset: 0;
116
+ background: linear-gradient(
117
+ 90deg,
118
+ rgba(255, 255, 255, 0) 0%,
119
+ rgba(255, 255, 255, 0.75) 50%,
120
+ rgba(255, 255, 255, 0) 100%
121
+ );
122
+ transform: translateX(-100%);
123
+ animation: shimmerMove 1.8s linear infinite;
124
+ }
125
+
126
+ @keyframes iconPulse {
127
+ 0%,
128
+ 100% {
129
+ transform: scale(0.95) rotate(-3deg);
130
+ }
131
+ 50% {
132
+ transform: scale(1.05) rotate(3deg);
133
+ }
134
+ }
135
+
136
+ @keyframes dotBounce {
137
+ 0%,
138
+ 100% {
139
+ transform: translateY(0) scale(1);
140
+ opacity: 0.35;
141
+ }
142
+ 50% {
143
+ transform: translateY(-6px) scale(1.2);
144
+ opacity: 1;
145
+ }
146
+ }
147
+
148
+ @keyframes shimmerMove {
149
+ 0% {
150
+ transform: translateX(-120%);
151
+ }
152
+ 100% {
153
+ transform: translateX(140%);
154
+ }
155
+ }
156
+
157
+ @keyframes shimmerAppear {
158
+ from {
159
+ opacity: 0;
160
+ transform: translateY(2px);
161
+ }
162
+ to {
163
+ opacity: 1;
164
+ transform: translateY(0);
165
+ }
166
+ }
167
+
168
+ @keyframes glowPulse {
169
+ 0%,
170
+ 100% {
171
+ opacity: 0.2;
172
+ }
173
+ 50% {
174
+ opacity: 0.55;
175
+ }
176
+ }
177
+
178
+ @keyframes textFade {
179
+ from {
180
+ opacity: 0;
181
+ transform: translateY(4px);
182
+ }
183
+ to {
184
+ opacity: 1;
185
+ transform: translateY(0);
186
+ }
187
+ }
188
+ `,s=[{label:"A",text:"Analyzing your question...",gradient:"linear-gradient(135deg, #a855f7 0%, #7c3aed 100%)",accent:"#7c3aed"},{label:"C",text:"Crafting the perfect response...",gradient:"linear-gradient(135deg, #f97316 0%, #fb5f08 100%)",accent:"#fb5f08"},{label:"G",text:"Gathering insights...",gradient:"linear-gradient(135deg, #3b82f6 0%, #2563eb 100%)",accent:"#2563eb"}];exports.default=()=>{const[a,r]=t.useState(0);t.useEffect((()=>{const e=window.setInterval((()=>{r((e=>(e+1)%s.length))}),1800);return()=>window.clearInterval(e)}),[]);const n=s[a];return e.jsxRuntimeExports.jsxs(i,Object.assign({gradient:n.gradient,accent:n.accent,role:"status","aria-live":"polite"},{children:[e.jsxRuntimeExports.jsx("div",Object.assign({className:"icon-wrapper"},{children:e.jsxRuntimeExports.jsx("span",Object.assign({className:"icon-letter"},{children:n.label}))})),e.jsxRuntimeExports.jsxs("div",Object.assign({className:"bubble-content"},{children:[e.jsxRuntimeExports.jsx("div",Object.assign({className:"status-text"},{children:n.text})),e.jsxRuntimeExports.jsx("div",Object.assign({className:"dots"},{children:[0,1,2,3,4].map((t=>e.jsxRuntimeExports.jsx("span",{className:"dot",style:{animationDelay:.15*t+"s"}},t)))})),e.jsxRuntimeExports.jsx("div",Object.assign({className:"shimmer-group"},{children:[60,80,45].map(((t,a)=>e.jsxRuntimeExports.jsx("div",Object.assign({className:"shimmer-line",style:{width:`${t}%`,animationDelay:.25+.12*a+"s"}},{children:e.jsxRuntimeExports.jsx("span",{className:"shimmer-highlight"})}),t)))}))]}))]}))};
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { AIContextState, AIProviderProps } from '../types';
3
+ export declare const AIProvider: React.FC<AIProviderProps>;
4
+ export declare const useAIContext: () => AIContextState;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("../../../node_modules/react/jsx-runtime.js"),t=require("react"),o=require("../services/useAIChat.js"),r=require("../types/ai.js"),n=require("../services/callToChatbot.js");const i=t.createContext(null);exports.AIProvider=a=>{let{children:u,systemPrompt:l,systemId:d,functions:c,tools:m,functionHandler:p,onMessageReceived:v,displayInUI:f,maxToolCalls:x,maxTokens:A,requestExecutor:E,baseUrl:g,endpointPath:I,responseFormat:y,conversationId:h="default-session",customModel:C,onSystemReady:L}=a;const[q,j]=t.useState(null),[P,_]=t.useState(!0),[b,M]=t.useState(null),w=t.useRef(null);t.useEffect((()=>l?E&&g?void M(null):(M("Chatbot authentication not configured: RequestExecutor and baseUrl are required"),void _(!1)):(M("systemPrompt is required for generic mode"),void _(!1))),[l,E,g]);const D=t.useCallback((()=>e.__awaiter(void 0,void 0,void 0,(function*(){try{_(!0),M(null);const e=C||r.DEFAULT_MODEL;if(!r.ALLOWED_MODELS.includes(e))throw new Error(`Unsupported model: ${C||"default"}. Allowed models are: ${r.ALLOWED_MODELS.join(", ")}`);j({id:d||"generic",name:d?`${d} `:"Generic AI Assistant",model:e,systemPrompt:l,functions:c,tools:m})}catch(e){const s=(null==e?void 0:e.message)||"Failed to create AI system";M(s)}finally{_(!1)}}))),[C,l,d,c]);t.useEffect((()=>{l&&D()}),[D]),t.useEffect((()=>{q&&L&&q.id!==w.current&&(w.current=q.id,L(q)),q||(w.current=null)}),[q]);const{messages:O,conversation:R,sendMessage:T,isApiCallInProgress:U}=o.useAIChat({system:q||{id:"loading",name:"Loading...",model:r.DEFAULT_MODEL,systemPrompt:"Loading...",functions:[]},conversationId:h,skipInitialization:!q,customFunctions:c,functionHandler:p,responseFormat:y,onMessageReceived:v,displayInUI:f,maxToolCalls:x,maxTokens:A,apiAdapter:E&&g?n.createExecutorApiAdapter(E,g,I||void 0):()=>{throw new Error("Chatbot authentication not configured: RequestExecutor is required")}}),F={isReady:!!q&&!P,isLoading:P,isApiCallInProgress:U,system:q,messages:O,conversation:R,sendMessage:T,error:b};return s.jsxRuntimeExports.jsx(i.Provider,Object.assign({value:F},{children:u}))},exports.useAIContext=()=>{const e=t.useContext(i);if(!e)throw new Error("useAIContext must be used within an AIProvider");return e};