@chatwidgetai/chat-widget 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-chat-widget.umd.js +305 -330
- package/dist/ai-chat-widget.umd.js.map +1 -1
- package/dist/components/ChatWidget.d.ts.map +1 -1
- package/dist/components/ChatWindow.d.ts +6 -0
- package/dist/components/ChatWindow.d.ts.map +1 -1
- package/dist/hooks/useChat.d.ts +11 -0
- package/dist/hooks/useChat.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +305 -329
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +305 -329
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +5 -121
- package/dist/types/index.d.ts.map +1 -1
- package/dist/umd.d.ts +0 -1
- package/dist/umd.d.ts.map +1 -1
- package/dist/utils/applyAppearanceStyles.d.ts +3 -3
- package/dist/utils/applyAppearanceStyles.d.ts.map +1 -1
- package/dist/utils/autoThemeDetector.d.ts.map +1 -1
- package/dist/utils/storage.d.ts +31 -3
- package/dist/utils/storage.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -1,132 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Widget Types
|
|
3
|
-
*
|
|
3
|
+
* Simplified appearance configuration
|
|
4
4
|
*/
|
|
5
|
-
export type WidgetTheme = 'light' | 'dark' | 'auto';
|
|
6
5
|
export type WidgetPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
|
|
7
6
|
export type WidgetSize = 'small' | 'medium' | 'large';
|
|
8
|
-
export type ShadowSize = 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
9
|
-
export interface ButtonAppearance {
|
|
10
|
-
color: string;
|
|
11
|
-
opacity: number;
|
|
12
|
-
size: number;
|
|
13
|
-
icon?: string;
|
|
14
|
-
iconColor?: string;
|
|
15
|
-
text?: string;
|
|
16
|
-
borderRadius: number;
|
|
17
|
-
borderWidth: number;
|
|
18
|
-
borderColor: string;
|
|
19
|
-
borderOpacity: number;
|
|
20
|
-
backdropBlur: number;
|
|
21
|
-
shadow: ShadowSize;
|
|
22
|
-
}
|
|
23
|
-
export interface CardAppearance {
|
|
24
|
-
backgroundColor: string;
|
|
25
|
-
opacity: number;
|
|
26
|
-
borderRadius: number;
|
|
27
|
-
borderWidth: number;
|
|
28
|
-
borderColor: string;
|
|
29
|
-
borderOpacity: number;
|
|
30
|
-
backdropBlur: number;
|
|
31
|
-
shadow: ShadowSize;
|
|
32
|
-
}
|
|
33
|
-
export interface HeaderAppearance {
|
|
34
|
-
backgroundColor: string;
|
|
35
|
-
opacity: number;
|
|
36
|
-
textColor: string;
|
|
37
|
-
title?: string;
|
|
38
|
-
borderBottomWidth: number;
|
|
39
|
-
borderBottomColor: string;
|
|
40
|
-
borderBottomOpacity: number;
|
|
41
|
-
}
|
|
42
|
-
export interface ChatAppearance {
|
|
43
|
-
backgroundColor: string;
|
|
44
|
-
opacity: number;
|
|
45
|
-
welcomeTitle: string;
|
|
46
|
-
welcomeMessage: string;
|
|
47
|
-
welcomeColor: string;
|
|
48
|
-
enableBubbles: boolean;
|
|
49
|
-
bubbleUserColor: string;
|
|
50
|
-
bubbleUserOpacity: number;
|
|
51
|
-
bubbleAssistantColor: string;
|
|
52
|
-
bubbleAssistantOpacity: number;
|
|
53
|
-
bubbleBorderWidth: number;
|
|
54
|
-
bubbleBorderColor: string;
|
|
55
|
-
bubbleBorderOpacity: number;
|
|
56
|
-
textColor: string;
|
|
57
|
-
}
|
|
58
|
-
export interface FooterAppearance {
|
|
59
|
-
separateFromChat: boolean;
|
|
60
|
-
backgroundColor: string;
|
|
61
|
-
opacity: number;
|
|
62
|
-
borderTopWidth: number;
|
|
63
|
-
borderTopColor: string;
|
|
64
|
-
borderTopOpacity: number;
|
|
65
|
-
backdropBlur: number;
|
|
66
|
-
inputBackgroundColor: string;
|
|
67
|
-
inputBackgroundOpacity: number;
|
|
68
|
-
inputBorderRadius: number;
|
|
69
|
-
inputBorderWidth: number;
|
|
70
|
-
inputBorderColor: string;
|
|
71
|
-
inputBorderOpacity: number;
|
|
72
|
-
inputShadow: ShadowSize;
|
|
73
|
-
inputPlaceholder: string;
|
|
74
|
-
separateInputButton: boolean;
|
|
75
|
-
buttonBackgroundColor: string;
|
|
76
|
-
buttonOpacity: number;
|
|
77
|
-
buttonBorderRadius: number;
|
|
78
|
-
buttonBorderWidth: number;
|
|
79
|
-
buttonBorderColor: string;
|
|
80
|
-
buttonBorderOpacity: number;
|
|
81
|
-
}
|
|
82
|
-
export interface HoverStates {
|
|
83
|
-
buttonScale: number;
|
|
84
|
-
buttonOpacity: number;
|
|
85
|
-
inputBorderColor: string;
|
|
86
|
-
sendButtonOpacity: number;
|
|
87
|
-
closeButtonOpacity: number;
|
|
88
|
-
}
|
|
89
|
-
export interface ActiveStates {
|
|
90
|
-
inputBorderColor: string;
|
|
91
|
-
inputShadow: string;
|
|
92
|
-
}
|
|
93
|
-
export interface ThemeAppearanceConfig {
|
|
94
|
-
button: ButtonAppearance;
|
|
95
|
-
card: CardAppearance;
|
|
96
|
-
header: HeaderAppearance;
|
|
97
|
-
chat: ChatAppearance;
|
|
98
|
-
footer: FooterAppearance;
|
|
99
|
-
hover: HoverStates;
|
|
100
|
-
active: ActiveStates;
|
|
101
|
-
}
|
|
102
7
|
export interface WidgetAppearance {
|
|
103
|
-
|
|
8
|
+
primaryColor: string;
|
|
104
9
|
position: WidgetPosition;
|
|
105
10
|
size: WidgetSize;
|
|
106
|
-
fontFamily?: string;
|
|
107
|
-
customCSS?: string;
|
|
108
|
-
darkModeEnabled?: boolean;
|
|
109
|
-
closeOnOutsideClick?: boolean;
|
|
110
|
-
closeOnEscape?: boolean;
|
|
111
|
-
enableOpenCloseAnimation?: boolean;
|
|
112
|
-
lightMode?: ThemeAppearanceConfig;
|
|
113
|
-
darkMode?: ThemeAppearanceConfig;
|
|
114
|
-
primaryColor?: string;
|
|
115
|
-
borderRadius?: number;
|
|
116
11
|
logo?: string;
|
|
117
|
-
|
|
118
|
-
welcomeMessage
|
|
119
|
-
placeholder
|
|
120
|
-
buttonIcon?: string;
|
|
121
|
-
buttonText?: string;
|
|
122
|
-
buttonSize?: number;
|
|
123
|
-
button?: ButtonAppearance;
|
|
124
|
-
card?: CardAppearance;
|
|
125
|
-
header?: HeaderAppearance;
|
|
126
|
-
chat?: ChatAppearance;
|
|
127
|
-
footer?: FooterAppearance;
|
|
128
|
-
hover?: HoverStates;
|
|
129
|
-
active?: ActiveStates;
|
|
12
|
+
headerTitle: string;
|
|
13
|
+
welcomeMessage: string;
|
|
14
|
+
placeholder: string;
|
|
130
15
|
}
|
|
131
16
|
export type SourceDisplayMode = 'none' | 'minimal' | 'with-score' | 'with-content' | 'full';
|
|
132
17
|
export interface WidgetBehavior {
|
|
@@ -230,7 +115,6 @@ export interface WidgetProps {
|
|
|
230
115
|
widgetId: string;
|
|
231
116
|
apiUrl?: string;
|
|
232
117
|
position?: WidgetPosition;
|
|
233
|
-
theme?: WidgetTheme;
|
|
234
118
|
primaryColor?: string;
|
|
235
119
|
onOpen?: () => void;
|
|
236
120
|
onClose?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/umd.d.ts
CHANGED
package/dist/umd.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"umd.d.ts","sourceRoot":"","sources":["../src/umd.ts"],"names":[],"mappings":"AASA,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;IACrE,
|
|
1
|
+
{"version":3,"file":"umd.d.ts","sourceRoot":"","sources":["../src/umd.ts"],"names":[],"mappings":"AASA,KAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC,CAAC;AAgBF,iBAAS,KAAK,CAAC,OAAO,EAAE,YAAY;;EA0BnC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,YAAY,EAAE;YAAE,KAAK,EAAE,OAAO,KAAK,CAAA;SAAE,CAAC;KACvC;CACF;AAOD,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { WidgetAppearance } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Apply appearance configuration as CSS custom properties
|
|
4
|
-
*
|
|
4
|
+
* Simplified to only handle flat appearance schema
|
|
5
5
|
*
|
|
6
6
|
* @param appearance - Widget appearance configuration
|
|
7
|
-
* @param theme - Current theme ('light' or 'dark')
|
|
7
|
+
* @param theme - Current theme ('light' or 'dark') - kept for compatibility but not used for theme selection
|
|
8
8
|
*/
|
|
9
|
-
export declare function applyAppearanceStyles(appearance: WidgetAppearance
|
|
9
|
+
export declare function applyAppearanceStyles(appearance: WidgetAppearance): React.CSSProperties & Record<string, string>;
|
|
10
10
|
//# sourceMappingURL=applyAppearanceStyles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyAppearanceStyles.d.ts","sourceRoot":"","sources":["../../src/utils/applyAppearanceStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"applyAppearanceStyles.d.ts","sourceRoot":"","sources":["../../src/utils/applyAppearanceStyles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,gBAAgB,GAC3B,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAa9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoThemeDetector.d.ts","sourceRoot":"","sources":["../../src/utils/autoThemeDetector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAgDlE;AAoBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,CAGlE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,GAAG,MAAM,CAG3D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,GAC1C,gBAAgB,
|
|
1
|
+
{"version":3,"file":"autoThemeDetector.d.ts","sourceRoot":"","sources":["../../src/utils/autoThemeDetector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CAgDlE;AAoBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,GAAG,MAAM,CAGlE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,OAAO,GAAG,MAAM,CAG3D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,GAC1C,gBAAgB,CAwBlB"}
|
package/dist/utils/storage.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Local Storage Utilities
|
|
3
3
|
* Handles conversation persistence in browser localStorage
|
|
4
|
+
* Supports multiple conversations per widget with history
|
|
4
5
|
*/
|
|
5
6
|
import { ConversationMessage } from '../types';
|
|
6
7
|
export interface StoredConversation {
|
|
@@ -9,18 +10,45 @@ export interface StoredConversation {
|
|
|
9
10
|
messages: ConversationMessage[];
|
|
10
11
|
lastUpdated: string;
|
|
11
12
|
}
|
|
13
|
+
export interface ConversationHistoryEntry {
|
|
14
|
+
id: string;
|
|
15
|
+
preview: string;
|
|
16
|
+
lastUpdated: string;
|
|
17
|
+
messageCount: number;
|
|
18
|
+
}
|
|
19
|
+
export interface WidgetStorage {
|
|
20
|
+
activeConversationId: string | null;
|
|
21
|
+
conversations: Record<string, StoredConversation>;
|
|
22
|
+
history: ConversationHistoryEntry[];
|
|
23
|
+
}
|
|
12
24
|
/**
|
|
13
|
-
* Save conversation to localStorage
|
|
25
|
+
* Save conversation to localStorage (updates both conversation and history)
|
|
14
26
|
*/
|
|
15
27
|
export declare function saveConversation(widgetId: string, conversationId: string, messages: ConversationMessage[]): void;
|
|
16
28
|
/**
|
|
17
|
-
* Load conversation from localStorage
|
|
29
|
+
* Load active conversation from localStorage (legacy compatibility)
|
|
18
30
|
*/
|
|
19
31
|
export declare function loadConversation(widgetId: string): StoredConversation | null;
|
|
20
32
|
/**
|
|
21
|
-
*
|
|
33
|
+
* Load a specific conversation by ID
|
|
34
|
+
*/
|
|
35
|
+
export declare function loadConversationById(widgetId: string, conversationId: string): StoredConversation | null;
|
|
36
|
+
/**
|
|
37
|
+
* Get conversation history list
|
|
38
|
+
*/
|
|
39
|
+
export declare function getConversationHistory(widgetId: string): ConversationHistoryEntry[];
|
|
40
|
+
/**
|
|
41
|
+
* Set active conversation
|
|
42
|
+
*/
|
|
43
|
+
export declare function setActiveConversation(widgetId: string, conversationId: string | null): void;
|
|
44
|
+
/**
|
|
45
|
+
* Clear current conversation (start fresh, but keep history)
|
|
22
46
|
*/
|
|
23
47
|
export declare function clearConversation(widgetId: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Clear all conversations for a widget
|
|
50
|
+
*/
|
|
51
|
+
export declare function clearAllConversations(widgetId: string): void;
|
|
24
52
|
/**
|
|
25
53
|
* Check if localStorage is available
|
|
26
54
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/utils/storage.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/utils/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAK/C,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAClD,OAAO,EAAE,wBAAwB,EAAE,CAAC;CACrC;AAoED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,mBAAmB,EAAE,GAC9B,IAAI,CAgDN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAW5E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAQxG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB,EAAE,CAQnF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAQ3F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQxD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAO5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAS5C"}
|