@like-a-startup/matildex-chat 0.52.0

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 (64) hide show
  1. package/README.md +289 -0
  2. package/dist/App.vue.d.ts +2 -0
  3. package/dist/__stories__/App.stories.d.ts +18 -0
  4. package/dist/__tests__/Input.spec.d.ts +1 -0
  5. package/dist/__tests__/api/generic.spec.d.ts +1 -0
  6. package/dist/__tests__/api/message.spec.d.ts +1 -0
  7. package/dist/__tests__/index.spec.d.ts +1 -0
  8. package/dist/__tests__/plugins/chat.spec.d.ts +1 -0
  9. package/dist/__tests__/plugins/chat.test.d.ts +1 -0
  10. package/dist/__tests__/setup.d.ts +0 -0
  11. package/dist/__tests__/utils/create.d.ts +5 -0
  12. package/dist/__tests__/utils/fetch.d.ts +13 -0
  13. package/dist/__tests__/utils/index.d.ts +3 -0
  14. package/dist/__tests__/utils/selectors.d.ts +12 -0
  15. package/dist/__tests__/utils/streaming.spec.d.ts +1 -0
  16. package/dist/__tests__/utils/streamingHandlers.spec.d.ts +1 -0
  17. package/dist/api/generic.d.ts +7 -0
  18. package/dist/api/index.d.ts +2 -0
  19. package/dist/api/message.d.ts +11 -0
  20. package/dist/chat.bundle.es.js +27900 -0
  21. package/dist/chat.bundle.umd.js +54 -0
  22. package/dist/chat.es.js +28458 -0
  23. package/dist/chat.umd.js +498 -0
  24. package/dist/components/Button.vue.d.ts +17 -0
  25. package/dist/components/Chat.vue.d.ts +2 -0
  26. package/dist/components/ChatFile.vue.d.ts +11 -0
  27. package/dist/components/ChatWindow.vue.d.ts +2 -0
  28. package/dist/components/GetStarted.vue.d.ts +2 -0
  29. package/dist/components/GetStartedFooter.vue.d.ts +2 -0
  30. package/dist/components/Input.vue.d.ts +34 -0
  31. package/dist/components/Layout.vue.d.ts +23 -0
  32. package/dist/components/Message.vue.d.ts +39 -0
  33. package/dist/components/MessageTyping.vue.d.ts +76 -0
  34. package/dist/components/MessagesList.vue.d.ts +164 -0
  35. package/dist/components/PoweredBy.vue.d.ts +2 -0
  36. package/dist/components/index.d.ts +10 -0
  37. package/dist/composables/index.d.ts +3 -0
  38. package/dist/composables/useChat.d.ts +2 -0
  39. package/dist/composables/useI18n.d.ts +4 -0
  40. package/dist/composables/useOptions.d.ts +4 -0
  41. package/dist/constants/defaults.d.ts +3 -0
  42. package/dist/constants/index.d.ts +3 -0
  43. package/dist/constants/localStorage.d.ts +2 -0
  44. package/dist/constants/symbols.d.ts +4 -0
  45. package/dist/event-buses/chatEventBus.d.ts +1 -0
  46. package/dist/event-buses/index.d.ts +1 -0
  47. package/dist/favicon.ico +0 -0
  48. package/dist/index.d.ts +2 -0
  49. package/dist/plugins/chat.d.ts +3 -0
  50. package/dist/plugins/index.d.ts +1 -0
  51. package/dist/style.css +15 -0
  52. package/dist/types/chat.d.ts +13 -0
  53. package/dist/types/index.d.ts +5 -0
  54. package/dist/types/messages.d.ts +17 -0
  55. package/dist/types/options.d.ts +33 -0
  56. package/dist/types/streaming.d.ts +18 -0
  57. package/dist/types/webhook.d.ts +19 -0
  58. package/dist/utils/event-bus.d.ts +8 -0
  59. package/dist/utils/index.d.ts +3 -0
  60. package/dist/utils/mount.d.ts +1 -0
  61. package/dist/utils/streaming.d.ts +26 -0
  62. package/dist/utils/streamingHandlers.d.ts +6 -0
  63. package/dist/utils/utils.d.ts +1 -0
  64. package/package.json +68 -0
@@ -0,0 +1,17 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: HTMLButtonElement;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLButtonElement>;
11
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
+ export default _default;
13
+ type __VLS_WithTemplateSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLElement>;
2
+ export default _default;
@@ -0,0 +1,11 @@
1
+ type __VLS_Props = {
2
+ file: File;
3
+ isRemovable: boolean;
4
+ isPreviewable?: boolean;
5
+ };
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
+ remove: (value: File) => any;
8
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ onRemove?: ((value: File) => any) | undefined;
10
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
11
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
2
+ export default _default;
@@ -0,0 +1,34 @@
1
+ export interface ChatInputProps {
2
+ placeholder?: string;
3
+ }
4
+ export interface ArrowKeyDownPayload {
5
+ key: 'ArrowUp' | 'ArrowDown';
6
+ currentInputValue: string;
7
+ }
8
+ declare function __VLS_template(): {
9
+ attrs: Partial<{}>;
10
+ slots: {
11
+ leftPanel?(_: {}): any;
12
+ };
13
+ refs: {
14
+ chatTextArea: HTMLTextAreaElement;
15
+ };
16
+ rootEl: HTMLDivElement;
17
+ };
18
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
19
+ declare const __VLS_component: import('vue').DefineComponent<ChatInputProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
20
+ arrowKeyDown: (value: ArrowKeyDownPayload) => any;
21
+ }, string, import('vue').PublicProps, Readonly<ChatInputProps> & Readonly<{
22
+ onArrowKeyDown?: ((value: ArrowKeyDownPayload) => any) | undefined;
23
+ }>, {
24
+ placeholder: string;
25
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
26
+ chatTextArea: HTMLTextAreaElement;
27
+ }, HTMLDivElement>;
28
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
29
+ export default _default;
30
+ type __VLS_WithTemplateSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -0,0 +1,23 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ header?(_: {}): any;
5
+ default?(_: {}): any;
6
+ footer?(_: {}): any;
7
+ };
8
+ refs: {
9
+ chatBodyRef: HTMLDivElement;
10
+ };
11
+ rootEl: HTMLElement;
12
+ };
13
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
14
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
15
+ chatBodyRef: HTMLDivElement;
16
+ }, HTMLElement>;
17
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
18
+ export default _default;
19
+ type __VLS_WithTemplateSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -0,0 +1,39 @@
1
+ import { ChatMessage } from '../types';
2
+ type __VLS_Props = {
3
+ message: ChatMessage;
4
+ };
5
+ declare function __VLS_template(): {
6
+ attrs: Partial<{}>;
7
+ slots: Readonly<{
8
+ beforeMessage(props: {
9
+ message: ChatMessage;
10
+ }): ChatMessage;
11
+ default: {
12
+ message: ChatMessage;
13
+ };
14
+ }> & {
15
+ beforeMessage(props: {
16
+ message: ChatMessage;
17
+ }): ChatMessage;
18
+ default: {
19
+ message: ChatMessage;
20
+ };
21
+ };
22
+ refs: {
23
+ messageContainer: HTMLDivElement;
24
+ };
25
+ rootEl: HTMLDivElement;
26
+ };
27
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
28
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
29
+ scrollToView: () => void;
30
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
31
+ messageContainer: HTMLDivElement;
32
+ }, HTMLDivElement>;
33
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
34
+ export default _default;
35
+ type __VLS_WithTemplateSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };
@@ -0,0 +1,76 @@
1
+ import { ChatMessage } from '../types';
2
+ type __VLS_Props = {
3
+ animation?: 'bouncing' | 'scaling';
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
6
+ animation: "bouncing" | "scaling";
7
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
8
+ messageContainer: ({
9
+ $: import('vue').ComponentInternalInstance;
10
+ $data: {};
11
+ $props: {
12
+ readonly message: ChatMessage;
13
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
14
+ $attrs: {
15
+ [x: string]: unknown;
16
+ };
17
+ $refs: {
18
+ [x: string]: unknown;
19
+ } & {
20
+ messageContainer: HTMLDivElement;
21
+ };
22
+ $slots: Readonly<{
23
+ [name: string]: import('vue').Slot<any> | undefined;
24
+ }>;
25
+ $root: import('vue').ComponentPublicInstance | null;
26
+ $parent: import('vue').ComponentPublicInstance | null;
27
+ $host: Element | null;
28
+ $emit: (event: string, ...args: any[]) => void;
29
+ $el: HTMLDivElement;
30
+ $options: import('vue').ComponentOptionsBase<Readonly<{
31
+ message: ChatMessage;
32
+ }> & Readonly<{}>, {
33
+ scrollToView: () => void;
34
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
35
+ beforeCreate?: (() => void) | (() => void)[];
36
+ created?: (() => void) | (() => void)[];
37
+ beforeMount?: (() => void) | (() => void)[];
38
+ mounted?: (() => void) | (() => void)[];
39
+ beforeUpdate?: (() => void) | (() => void)[];
40
+ updated?: (() => void) | (() => void)[];
41
+ activated?: (() => void) | (() => void)[];
42
+ deactivated?: (() => void) | (() => void)[];
43
+ beforeDestroy?: (() => void) | (() => void)[];
44
+ beforeUnmount?: (() => void) | (() => void)[];
45
+ destroyed?: (() => void) | (() => void)[];
46
+ unmounted?: (() => void) | (() => void)[];
47
+ renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
48
+ renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
49
+ errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
50
+ };
51
+ $forceUpdate: () => void;
52
+ $nextTick: typeof import('vue').nextTick;
53
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
54
+ } & Readonly<{}> & Omit<Readonly<{
55
+ message: ChatMessage;
56
+ }> & Readonly<{}>, "scrollToView"> & import('vue').ShallowUnwrapRef<{
57
+ scrollToView: () => void;
58
+ }> & {} & import('vue').ComponentCustomProperties & {} & {
59
+ $slots: Readonly<{
60
+ beforeMessage(props: {
61
+ message: ChatMessage;
62
+ }): ChatMessage;
63
+ default: {
64
+ message: ChatMessage;
65
+ };
66
+ }> & {
67
+ beforeMessage(props: {
68
+ message: ChatMessage;
69
+ }): ChatMessage;
70
+ default: {
71
+ message: ChatMessage;
72
+ };
73
+ };
74
+ }) | null;
75
+ }, HTMLDivElement>;
76
+ export default _default;
@@ -0,0 +1,164 @@
1
+ import { ChatMessage } from '../types';
2
+ type __VLS_Props = {
3
+ messages: ChatMessage[];
4
+ emptyText?: string;
5
+ };
6
+ declare function __VLS_template(): {
7
+ attrs: Partial<{}>;
8
+ slots: Readonly<{
9
+ beforeMessage(props: {
10
+ message: ChatMessage;
11
+ }): ChatMessage;
12
+ }> & {
13
+ beforeMessage(props: {
14
+ message: ChatMessage;
15
+ }): ChatMessage;
16
+ };
17
+ refs: {
18
+ messageComponents: (({
19
+ $: import('vue').ComponentInternalInstance;
20
+ $data: {};
21
+ $props: {
22
+ readonly message: ChatMessage;
23
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
24
+ $attrs: {
25
+ [x: string]: unknown;
26
+ };
27
+ $refs: {
28
+ [x: string]: unknown;
29
+ } & {
30
+ messageContainer: HTMLDivElement;
31
+ };
32
+ $slots: Readonly<{
33
+ [name: string]: import('vue').Slot<any> | undefined;
34
+ }>;
35
+ $root: import('vue').ComponentPublicInstance | null;
36
+ $parent: import('vue').ComponentPublicInstance | null;
37
+ $host: Element | null;
38
+ $emit: (event: string, ...args: any[]) => void;
39
+ $el: HTMLDivElement;
40
+ $options: import('vue').ComponentOptionsBase<Readonly<{
41
+ message: ChatMessage;
42
+ }> & Readonly<{}>, {
43
+ scrollToView: () => void;
44
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
45
+ beforeCreate?: (() => void) | (() => void)[];
46
+ created?: (() => void) | (() => void)[];
47
+ beforeMount?: (() => void) | (() => void)[];
48
+ mounted?: (() => void) | (() => void)[];
49
+ beforeUpdate?: (() => void) | (() => void)[];
50
+ updated?: (() => void) | (() => void)[];
51
+ activated?: (() => void) | (() => void)[];
52
+ deactivated?: (() => void) | (() => void)[];
53
+ beforeDestroy?: (() => void) | (() => void)[];
54
+ beforeUnmount?: (() => void) | (() => void)[];
55
+ destroyed?: (() => void) | (() => void)[];
56
+ unmounted?: (() => void) | (() => void)[];
57
+ renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
58
+ renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
59
+ errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
60
+ };
61
+ $forceUpdate: () => void;
62
+ $nextTick: typeof import('vue').nextTick;
63
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
64
+ } & Readonly<{}> & Omit<Readonly<{
65
+ message: ChatMessage;
66
+ }> & Readonly<{}>, "scrollToView"> & import('vue').ShallowUnwrapRef<{
67
+ scrollToView: () => void;
68
+ }> & {} & import('vue').ComponentCustomProperties & {} & {
69
+ $slots: Readonly<{
70
+ beforeMessage(props: {
71
+ message: ChatMessage;
72
+ }): ChatMessage;
73
+ default: {
74
+ message: ChatMessage;
75
+ };
76
+ }> & {
77
+ beforeMessage(props: {
78
+ message: ChatMessage;
79
+ }): ChatMessage;
80
+ default: {
81
+ message: ChatMessage;
82
+ };
83
+ };
84
+ }) | null)[];
85
+ };
86
+ rootEl: any;
87
+ };
88
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
89
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
90
+ messageComponents: (({
91
+ $: import('vue').ComponentInternalInstance;
92
+ $data: {};
93
+ $props: {
94
+ readonly message: ChatMessage;
95
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
96
+ $attrs: {
97
+ [x: string]: unknown;
98
+ };
99
+ $refs: {
100
+ [x: string]: unknown;
101
+ } & {
102
+ messageContainer: HTMLDivElement;
103
+ };
104
+ $slots: Readonly<{
105
+ [name: string]: import('vue').Slot<any> | undefined;
106
+ }>;
107
+ $root: import('vue').ComponentPublicInstance | null;
108
+ $parent: import('vue').ComponentPublicInstance | null;
109
+ $host: Element | null;
110
+ $emit: (event: string, ...args: any[]) => void;
111
+ $el: HTMLDivElement;
112
+ $options: import('vue').ComponentOptionsBase<Readonly<{
113
+ message: ChatMessage;
114
+ }> & Readonly<{}>, {
115
+ scrollToView: () => void;
116
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
117
+ beforeCreate?: (() => void) | (() => void)[];
118
+ created?: (() => void) | (() => void)[];
119
+ beforeMount?: (() => void) | (() => void)[];
120
+ mounted?: (() => void) | (() => void)[];
121
+ beforeUpdate?: (() => void) | (() => void)[];
122
+ updated?: (() => void) | (() => void)[];
123
+ activated?: (() => void) | (() => void)[];
124
+ deactivated?: (() => void) | (() => void)[];
125
+ beforeDestroy?: (() => void) | (() => void)[];
126
+ beforeUnmount?: (() => void) | (() => void)[];
127
+ destroyed?: (() => void) | (() => void)[];
128
+ unmounted?: (() => void) | (() => void)[];
129
+ renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
130
+ renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[];
131
+ errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
132
+ };
133
+ $forceUpdate: () => void;
134
+ $nextTick: typeof import('vue').nextTick;
135
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
136
+ } & Readonly<{}> & Omit<Readonly<{
137
+ message: ChatMessage;
138
+ }> & Readonly<{}>, "scrollToView"> & import('vue').ShallowUnwrapRef<{
139
+ scrollToView: () => void;
140
+ }> & {} & import('vue').ComponentCustomProperties & {} & {
141
+ $slots: Readonly<{
142
+ beforeMessage(props: {
143
+ message: ChatMessage;
144
+ }): ChatMessage;
145
+ default: {
146
+ message: ChatMessage;
147
+ };
148
+ }> & {
149
+ beforeMessage(props: {
150
+ message: ChatMessage;
151
+ }): ChatMessage;
152
+ default: {
153
+ message: ChatMessage;
154
+ };
155
+ };
156
+ }) | null)[];
157
+ }, any>;
158
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
159
+ export default _default;
160
+ type __VLS_WithTemplateSlots<T, S> = T & {
161
+ new (): {
162
+ $slots: S;
163
+ };
164
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
2
+ export default _default;
@@ -0,0 +1,10 @@
1
+ export { default as Button } from './Button.vue';
2
+ export { default as Chat } from './Chat.vue';
3
+ export { default as ChatWindow } from './ChatWindow.vue';
4
+ export { default as GetStarted } from './GetStarted.vue';
5
+ export { default as GetStartedFooter } from './GetStartedFooter.vue';
6
+ export { default as Input } from './Input.vue';
7
+ export { default as Layout } from './Layout.vue';
8
+ export { default as Message } from './Message.vue';
9
+ export { default as MessagesList } from './MessagesList.vue';
10
+ export { default as PoweredBy } from './PoweredBy.vue';
@@ -0,0 +1,3 @@
1
+ export * from './useChat';
2
+ export * from './useI18n';
3
+ export * from './useOptions';
@@ -0,0 +1,2 @@
1
+ import { Chat } from '../types';
2
+ export declare function useChat(): Chat;
@@ -0,0 +1,4 @@
1
+ export declare function useI18n(): {
2
+ t: (key: string) => string;
3
+ te: (key: string) => boolean;
4
+ };
@@ -0,0 +1,4 @@
1
+ import { ChatOptions } from '../types';
2
+ export declare function useOptions(): {
3
+ options: ChatOptions;
4
+ };
@@ -0,0 +1,3 @@
1
+ import { ChatOptions } from '../types';
2
+ export declare const defaultOptions: ChatOptions;
3
+ export declare const defaultMountingTarget = "#n8n-chat";
@@ -0,0 +1,3 @@
1
+ export * from './defaults';
2
+ export * from './localStorage';
3
+ export * from './symbols';
@@ -0,0 +1,2 @@
1
+ export declare const localStorageNamespace = "n8n-chat";
2
+ export declare const localStorageSessionIdKey = "n8n-chat/sessionId";
@@ -0,0 +1,4 @@
1
+ import { InjectionKey } from 'vue';
2
+ import { Chat, ChatOptions } from '../types';
3
+ export declare const ChatSymbol: InjectionKey<Chat>;
4
+ export declare const ChatOptionsSymbol: InjectionKey<ChatOptions>;
@@ -0,0 +1 @@
1
+ export declare const chatEventBus: import('../utils').EventBus;
@@ -0,0 +1 @@
1
+ export * from './chatEventBus';
Binary file
@@ -0,0 +1,2 @@
1
+ import { ChatOptions } from './types';
2
+ export declare function createChat(options?: Partial<ChatOptions>): import('vue').App<Element>;
@@ -0,0 +1,3 @@
1
+ import { Plugin } from 'vue';
2
+ import { ChatOptions } from '../types';
3
+ export declare const ChatPlugin: Plugin<ChatOptions>;
@@ -0,0 +1 @@
1
+ export * from './chat';
package/dist/style.css ADDED
@@ -0,0 +1,15 @@
1
+ /*! Package version @n8n/chat@0.52.0 */
2
+ /*! Package version @n8n/chat@0.52.0 */
3
+ /*! Package version @n8n/chat@0.52.0 */
4
+ /*! Package version @n8n/chat@0.52.0 */
5
+ /*! Package version @n8n/chat@0.52.0 */
6
+ @charset "UTF-8";:root{--chat--color-primary: #e74266;--chat--color-primary-shade-50: #db4061;--chat--color-primary-shade-100: #cf3c5c;--chat--color-secondary: #20b69e;--chat--color-secondary-shade-50: #1ca08a;--chat--color-white: #fff;--chat--color-light: #f2f4f8;--chat--color-light-shade-50: #e6e9f1;--chat--color-light-shade-100: #c2c5cc;--chat--color-medium: #d2d4d9;--chat--color-dark: #101330;--chat--color-disabled: #777980;--chat--color-typing: #404040;--chat--spacing: 1rem;--chat--border-radius: .25rem;--chat--transition-duration: .15s;--chat--font-family: ( -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif );--chat--window--width: 400px;--chat--window--height: 600px;--chat--window--bottom: var(--chat--spacing);--chat--window--right: var(--chat--spacing);--chat--window--z-index: 9999;--chat--window--border: 1px solid var(--chat--color-light-shade-50);--chat--window--border-radius: var(--chat--border-radius);--chat--window--margin-bottom: var(--chat--spacing);--chat--header-height: auto;--chat--header--padding: var(--chat--spacing);--chat--header--background: var(--chat--color-dark);--chat--header--color: var(--chat--color-light);--chat--header--border-top: none;--chat--header--border-bottom: none;--chat--header--border-left: none;--chat--header--border-right: none;--chat--heading--font-size: 2em;--chat--subtitle--font-size: inherit;--chat--subtitle--line-height: 1.8;--chat--message--font-size: 1rem;--chat--message--padding: var(--chat--spacing);--chat--message--border-radius: var(--chat--border-radius);--chat--message-line-height: 1.5;--chat--message--margin-bottom: calc(var(--chat--spacing) * 1);--chat--message--bot--background: var(--chat--color-white);--chat--message--bot--color: var(--chat--color-dark);--chat--message--bot--border: none;--chat--message--user--background: var(--chat--color-secondary);--chat--message--user--color: var(--chat--color-white);--chat--message--user--border: none;--chat--message--pre--background: rgba(0, 0, 0, .05);--chat--messages-list--padding: var(--chat--spacing);--chat--toggle--size: 64px;--chat--toggle--width: var(--chat--toggle--size);--chat--toggle--height: var(--chat--toggle--size);--chat--toggle--border-radius: 50%;--chat--toggle--background: var(--chat--color-primary);--chat--toggle--hover--background: var(--chat--color-primary-shade-50);--chat--toggle--active--background: var(--chat--color-primary-shade-100);--chat--toggle--color: var(--chat--color-white);--chat--textarea--height: 50px;--chat--textarea--max-height: 30rem;--chat--input--font-size: inherit;--chat--input--border: 0;--chat--input--border-radius: 0;--chat--input--padding: .8rem;--chat--input--background: var(--chat--color-white);--chat--input--text-color: initial;--chat--input--line-height: 1.5;--chat--input--placeholder--font-size: var(--chat--input--font-size);--chat--input--border-active: 0;--chat--input--left--panel--width: 2rem;--chat--button--color: var(--chat--color-light);--chat--button--background: var(--chat--color-primary);--chat--button--padding: calc(var(--chat--spacing) * 1 / 2) var(--chat--spacing);--chat--button--border-radius: var(--chat--border-radius);--chat--button--hover--color: var(--chat--color-light);--chat--button--hover--background: var(--chat--color-primary-shade-50);--chat--close--button--color-hover: var(--chat--color-primary);--chat--input--send--button--background: var(--chat--color-white);--chat--input--send--button--color: var(--chat--color-light);--chat--input--send--button--background-hover: var(--chat--color-primary-shade-50);--chat--input--send--button--color-hover: var(--chat--color-secondary-shade-50);--chat--input--file--button--background: var(--chat--color-white);--chat--input--file--button--color: var(--chat--color-secondary);--chat--input--file--button--background-hover: var(--chat--input--file--button--background);--chat--input--file--button--color-hover: var(--chat--color-secondary-shade-50);--chat--files-spacing: .25rem;--chat--body--background: var(--chat--color-light);--chat--footer--background: var(--chat--color-light);--chat--footer--color: var(--chat--color-dark)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
7
+ Theme: GitHub
8
+ Description: Light theme as seen on github.com
9
+ Author: github.com
10
+ Maintainer: @Hirse
11
+ Updated: 2021-05-15
12
+
13
+ Outdated base version: https://github.com/primer/github-syntax-light
14
+ Current colors taken from GitHub's CSS
15
+ */.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}body[data-theme=dark] pre code.hljs{display:block;overflow-x:auto;padding:1em}body[data-theme=dark] code.hljs{padding:3px 5px}body[data-theme=dark] .hljs{color:#adbac7;background:#22272e}body[data-theme=dark] .hljs-doctag,body[data-theme=dark] .hljs-keyword,body[data-theme=dark] .hljs-meta .hljs-keyword,body[data-theme=dark] .hljs-template-tag,body[data-theme=dark] .hljs-template-variable,body[data-theme=dark] .hljs-type,body[data-theme=dark] .hljs-variable.language_{color:#f47067}body[data-theme=dark] .hljs-title,body[data-theme=dark] .hljs-title.class_,body[data-theme=dark] .hljs-title.class_.inherited__,body[data-theme=dark] .hljs-title.function_{color:#dcbdfb}body[data-theme=dark] .hljs-attr,body[data-theme=dark] .hljs-attribute,body[data-theme=dark] .hljs-literal,body[data-theme=dark] .hljs-meta,body[data-theme=dark] .hljs-number,body[data-theme=dark] .hljs-operator,body[data-theme=dark] .hljs-variable,body[data-theme=dark] .hljs-selector-attr,body[data-theme=dark] .hljs-selector-class,body[data-theme=dark] .hljs-selector-id{color:#6cb6ff}body[data-theme=dark] .hljs-regexp,body[data-theme=dark] .hljs-string,body[data-theme=dark] .hljs-meta .hljs-string{color:#96d0ff}body[data-theme=dark] .hljs-built_in,body[data-theme=dark] .hljs-symbol{color:#f69d50}body[data-theme=dark] .hljs-comment,body[data-theme=dark] .hljs-code,body[data-theme=dark] .hljs-formula{color:#768390}body[data-theme=dark] .hljs-name,body[data-theme=dark] .hljs-quote,body[data-theme=dark] .hljs-selector-tag,body[data-theme=dark] .hljs-selector-pseudo{color:#8ddb8c}body[data-theme=dark] .hljs-subst{color:#adbac7}body[data-theme=dark] .hljs-section{color:#316dca;font-weight:700}body[data-theme=dark] .hljs-bullet{color:#eac55f}body[data-theme=dark] .hljs-emphasis{color:#adbac7;font-style:italic}body[data-theme=dark] .hljs-strong{color:#adbac7;font-weight:700}body[data-theme=dark] .hljs-addition{color:#b4f1b4;background-color:#1b4721}body[data-theme=dark] .hljs-deletion{color:#ffd8d3;background-color:#78191b}@media (prefers-color-scheme: dark){body pre code.hljs{display:block;overflow-x:auto;padding:1em}body code.hljs{padding:3px 5px}body .hljs{color:#adbac7;background:#22272e}body .hljs-doctag,body .hljs-keyword,body .hljs-meta .hljs-keyword,body .hljs-template-tag,body .hljs-template-variable,body .hljs-type,body .hljs-variable.language_{color:#f47067}body .hljs-title,body .hljs-title.class_,body .hljs-title.class_.inherited__,body .hljs-title.function_{color:#dcbdfb}body .hljs-attr,body .hljs-attribute,body .hljs-literal,body .hljs-meta,body .hljs-number,body .hljs-operator,body .hljs-variable,body .hljs-selector-attr,body .hljs-selector-class,body .hljs-selector-id{color:#6cb6ff}body .hljs-regexp,body .hljs-string,body .hljs-meta .hljs-string{color:#96d0ff}body .hljs-built_in,body .hljs-symbol{color:#f69d50}body .hljs-comment,body .hljs-code,body .hljs-formula{color:#768390}body .hljs-name,body .hljs-quote,body .hljs-selector-tag,body .hljs-selector-pseudo{color:#8ddb8c}body .hljs-subst{color:#adbac7}body .hljs-section{color:#316dca;font-weight:700}body .hljs-bullet{color:#eac55f}body .hljs-emphasis{color:#adbac7;font-style:italic}body .hljs-strong{color:#adbac7;font-weight:700}body .hljs-addition{color:#b4f1b4;background-color:#1b4721}body .hljs-deletion{color:#ffd8d3;background-color:#78191b}}.chat-message-markdown{line-height:1.4;-webkit-text-size-adjust:100%;word-break:break-word}.chat-message-markdown *,.chat-message-markdown :before,.chat-message-markdown :after{box-sizing:border-box}.chat-message-markdown :before,.chat-message-markdown :after{text-decoration:inherit;vertical-align:inherit}.chat-message-markdown body,.chat-message-markdown dl dl,.chat-message-markdown dl ol,.chat-message-markdown dl ul,.chat-message-markdown ol dl,.chat-message-markdown ul dl,.chat-message-markdown ol ol,.chat-message-markdown ol ul,.chat-message-markdown ul ol,.chat-message-markdown ul ul,.chat-message-markdown button,.chat-message-markdown input,.chat-message-markdown select,.chat-message-markdown textarea{margin:0}.chat-message-markdown hr{overflow:visible;height:0}.chat-message-markdown main,.chat-message-markdown details{display:block}.chat-message-markdown summary{display:list-item}.chat-message-markdown nav ol,.chat-message-markdown nav ul{list-style:none;padding:0}.chat-message-markdown pre,.chat-message-markdown code,.chat-message-markdown kbd,.chat-message-markdown samp{font-family:var(--font-family-monospace),"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1em}.chat-message-markdown abbr[title]{cursor:help;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.chat-message-markdown b,.chat-message-markdown strong{font-weight:var(--font-weight-bold)}.chat-message-markdown small{font-size:80%;opacity:.8}.chat-message-markdown audio,.chat-message-markdown canvas,.chat-message-markdown iframe,.chat-message-markdown img,.chat-message-markdown svg,.chat-message-markdown video{vertical-align:middle}.chat-message-markdown iframe{border-style:none}.chat-message-markdown svg:not([fill]){fill:currentColor}.chat-message-markdown svg:not(:root){overflow:hidden}.chat-message-markdown button,.chat-message-markdown input{overflow:visible}.chat-message-markdown button,.chat-message-markdown select{text-transform:none}.chat-message-markdown button,.chat-message-markdown [type=button],.chat-message-markdown [type=reset],.chat-message-markdown [type=submit]{-webkit-appearance:button}.chat-message-markdown fieldset{border:1px solid #666;padding:.35em .75em .625em}.chat-message-markdown legend{color:inherit;display:table;max-width:100%;white-space:normal}.chat-message-markdown progress{display:inline-block;vertical-align:baseline}.chat-message-markdown textarea{overflow:auto;resize:vertical}.chat-message-markdown [type=search]{outline-offset:-2px;-webkit-appearance:textfield}.chat-message-markdown ::-webkit-inner-spin-button,.chat-message-markdown ::-webkit-outer-spin-button{height:auto}.chat-message-markdown ::-webkit-input-placeholder{color:inherit;opacity:.54}.chat-message-markdown ::-webkit-search-decoration{-webkit-appearance:none}.chat-message-markdown ::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}.chat-message-markdown ::-moz-focus-inner{border-style:none;padding:0}.chat-message-markdown :-moz-focusring{outline:1px dotted ButtonText}.chat-message-markdown :-moz-ui-invalid{box-shadow:none}.chat-message-markdown [aria-busy=true]{cursor:progress}.chat-message-markdown [aria-controls]{cursor:pointer}.chat-message-markdown [aria-disabled=true],.chat-message-markdown [disabled]{cursor:not-allowed}.chat-message-markdown [aria-hidden=false][hidden]{display:inline;display:initial}.chat-message-markdown [aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);position:absolute}@media print{.chat-message-markdown a[href^=http]:after{content:" (" attr(href) ")"}}.chat-message-markdown :root{--background-main: #fefefe;--background-element: #eee;--background-inverted: #282a36;--text-main: #1f1f1f;--text-alt: #333;--text-inverted: #fefefe;--border-element: #282a36;--theme: #7a283a;--theme-light: hsl(0, 25%, 65%);--theme-dark: hsl(0, 25%, 45%)}.chat-message-markdown body{margin:auto;max-width:36rem;min-height:100%;overflow-x:hidden;background:var(--background-main);color:var(--text-main)}.chat-message-markdown h1,.chat-message-markdown h2,.chat-message-markdown h3,.chat-message-markdown h4,.chat-message-markdown h5,.chat-message-markdown h6{margin:2rem 0 .8em}.chat-message-markdown h1{font-size:2.441rem;line-height:1.1}.chat-message-markdown h2{font-size:1.953rem;line-height:1.15}.chat-message-markdown h3{font-size:1.563rem;line-height:1.2}.chat-message-markdown h4{font-size:1.25rem;line-height:1.3}.chat-message-markdown h5,.chat-message-markdown h6{font-size:1rem;line-height:1.4}.chat-message-markdown p,.chat-message-markdown ul,.chat-message-markdown ol,.chat-message-markdown figure{margin:.6rem 0 1.2rem}.chat-message-markdown h1 span,.chat-message-markdown h2 span,.chat-message-markdown h3 span,.chat-message-markdown h4 span,.chat-message-markdown h5 span,.chat-message-markdown h6 span{display:block;font-size:1em;font-style:italic;font-weight:var(--font-weight-regular);line-height:1.3;margin-top:.3em}.chat-message-markdown h1 span{font-size:.6em}.chat-message-markdown h2 span{font-size:.7em}.chat-message-markdown h3 span{font-size:.8em}.chat-message-markdown h4 span{font-size:.9em}.chat-message-markdown mark{background:pink;padding:.1em .15em}.chat-message-markdown pre{-moz-tab-size:4;-o-tab-size:4;tab-size:4}.chat-message-markdown ins{text-decoration:none;font-weight:var(--font-weight-bold)}.chat-message-markdown blockquote{border-left:.3rem solid #7a283a;border-left:.3rem solid var(--theme);margin:.6rem 0 1.2rem;padding-left:2rem}.chat-message-markdown blockquote p{font-size:1.2em;font-style:italic}.chat-message-markdown figure{margin:0}.chat-message-markdown a{color:#7a283a;color:var(--theme);text-decoration:underline}.chat-message-markdown a:hover{color:#bc8f8f;color:var(--theme-light)}.chat-message-markdown a:active{color:#8f5656;color:var(--theme-dark)}.chat-message-markdown :focus{outline:3px solid hsl(0,25%,65%);outline:3px solid var(--theme-light);outline-offset:3px}.chat-message-markdown input{background:#eee;background:var(--background-element);padding:.5rem .65rem;border-radius:.5rem;border:2px solid #282a36;border:2px solid var(--border-element);font-size:1rem}.chat-message-markdown kbd,.chat-message-markdown code{padding:.1em .25em;border-radius:.2rem;-webkit-box-decoration-break:clone;box-decoration-break:clone}.chat-message-markdown kbd>kbd{padding-left:0;padding-right:0}.chat-message-markdown pre code{display:block;padding:0 0 .5rem .5rem;word-break:normal;overflow-x:auto}.chat-message-markdown [tabindex="-1"]:focus{outline:none}.chat-message-markdown [hidden]{display:none}.chat-message-markdown [aria-disabled],.chat-message-markdown [disabled]{cursor:not-allowed!important;pointer-events:none!important}.chat-message-markdown a[href^="#"]:after{content:""}.chat-message-markdown body>a:first-child{background:#7a283a;background:var(--theme);border-radius:.2rem;color:#fefefe;color:var(--text-inverted);padding:.3em .5em;position:absolute;top:-10rem}.chat-message-markdown body>a:first-child:focus{top:1rem}.chat-message-markdown ul,.chat-message-markdown ol{padding-left:1.5rem;margin-bottom:1rem}.chat-message-markdown ul li,.chat-message-markdown ol li{margin-bottom:.5rem}.n8n-chat pre code.hljs{display:block;overflow-x:auto;padding:1em}.n8n-chat code.hljs{padding:3px 5px}.n8n-chat .hljs{color:#24292e;background:#fff}.n8n-chat .hljs-doctag,.n8n-chat .hljs-keyword,.n8n-chat .hljs-meta .hljs-keyword,.n8n-chat .hljs-template-tag,.n8n-chat .hljs-template-variable,.n8n-chat .hljs-type,.n8n-chat .hljs-variable.language_{color:#d73a49}.n8n-chat .hljs-title,.n8n-chat .hljs-title.class_,.n8n-chat .hljs-title.class_.inherited__,.n8n-chat .hljs-title.function_{color:#6f42c1}.n8n-chat .hljs-attr,.n8n-chat .hljs-attribute,.n8n-chat .hljs-literal,.n8n-chat .hljs-meta,.n8n-chat .hljs-number,.n8n-chat .hljs-operator,.n8n-chat .hljs-variable,.n8n-chat .hljs-selector-attr,.n8n-chat .hljs-selector-class,.n8n-chat .hljs-selector-id{color:#005cc5}.n8n-chat .hljs-regexp,.n8n-chat .hljs-string,.n8n-chat .hljs-meta .hljs-string{color:#032f62}.n8n-chat .hljs-built_in,.n8n-chat .hljs-symbol{color:#e36209}.n8n-chat .hljs-comment,.n8n-chat .hljs-code,.n8n-chat .hljs-formula{color:#6a737d}.n8n-chat .hljs-name,.n8n-chat .hljs-quote,.n8n-chat .hljs-selector-tag,.n8n-chat .hljs-selector-pseudo{color:#22863a}.n8n-chat .hljs-subst{color:#24292e}.n8n-chat .hljs-section{color:#005cc5;font-weight:700}.n8n-chat .hljs-bullet{color:#735c0f}.n8n-chat .hljs-emphasis{color:#24292e;font-style:italic}.n8n-chat .hljs-strong{color:#24292e;font-weight:700}.n8n-chat .hljs-addition{color:#22863a;background-color:#f0fff4}.n8n-chat .hljs-deletion{color:#b31d28;background-color:#ffeef0}.chat-button{display:inline-flex;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;color:var(--chat--button--color);background-color:var(--chat--button--background);border:1px solid transparent;padding:var(--chat--button--padding);font-size:1rem;line-height:1.5;border-radius:var(--chat--button--border-radius);transition:color var(--chat--transition-duration) ease-in-out,background-color var(--chat--transition-duration) ease-in-out,border-color var(--chat--transition-duration) ease-in-out,box-shadow var(--chat--transition-duration) ease-in-out;cursor:pointer}.chat-button:hover{color:var(--chat--button--hover--color);background-color:var(--chat--button--hover--background);text-decoration:none}.chat-button:focus{outline:0;box-shadow:0 0 0 .2rem #007bff40}.chat-button:disabled{opacity:.65}.chat-get-started{padding-top:var(--chat--spacing);padding-bottom:var(--chat--spacing);display:flex;justify-content:center;align-items:center;height:100%}.chat-powered-by{text-align:center}.chat-powered-by a{color:var(--chat--color-primary);text-decoration:none}.chat-get-started-footer{padding:var(--chat--spacing)}.chat-file[data-v-e0d57af7]{display:flex;align-items:center;flex-wrap:nowrap;width:fit-content;max-width:15rem;padding:.5rem;border-radius:.25rem;gap:.25rem;font-size:.75rem;background:#fff;color:var(--chat--color-dark);border:1px solid var(--chat--color-dark);cursor:pointer}.chat-file-name-tooltip[data-v-e0d57af7]{overflow:hidden}.chat-file-name[data-v-e0d57af7]{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;margin:0}.chat-file-delete[data-v-e0d57af7],.chat-file-preview[data-v-e0d57af7]{background:none;border:none;display:block;cursor:pointer;flex-shrink:0}.chat-file-delete[data-v-e0d57af7]{position:relative}.chat-file-delete[data-v-e0d57af7]:hover{color:red}.chat-file-delete[data-v-e0d57af7]:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.chat-input[data-v-de5e7961]{display:flex;justify-content:center;align-items:center;width:100%;flex-direction:column;position:relative}.chat-input[data-v-de5e7961] *{box-sizing:border-box}.chat-inputs[data-v-de5e7961]{width:100%;display:flex;justify-content:center;align-items:flex-end}.chat-inputs textarea[data-v-de5e7961]{font-family:inherit;font-size:var(--chat--input--font-size);width:100%;border:var(--chat--input--border, 0);border-radius:var(--chat--input--border-radius);padding:var(--chat--input--padding);min-height:var(--chat--textarea--height, 2.5rem);max-height:var(--chat--textarea--max-height);height:var(--chat--textarea--height, 2.5rem);resize:none;overflow-y:auto;background:var(--chat--input--background, white);color:var(--chat--input--text-color, initial);outline:none;line-height:var(--chat--input--line-height, 1.5)}.chat-inputs textarea[data-v-de5e7961]::placeholder{font-size:var(--chat--input--placeholder--font-size, var(--chat--input--font-size))}.chat-inputs textarea[data-v-de5e7961]:focus,.chat-inputs textarea[data-v-de5e7961]:hover{border-color:var(--chat--input--border-active, 0)}.chat-inputs-controls[data-v-de5e7961]{display:flex}.chat-input-send-button[data-v-de5e7961],.chat-input-file-button[data-v-de5e7961]{height:var(--chat--textarea--height);width:var(--chat--textarea--height);background:var(--chat--input--send--button--background, white);cursor:pointer;color:var(--chat--input--send--button--color, var(--chat--color-secondary));border:0;font-size:24px;display:inline-flex;align-items:center;justify-content:center;transition:color var(--chat--transition-duration) ease}.chat-input-send-button svg[data-v-de5e7961],.chat-input-file-button svg[data-v-de5e7961]{min-width:fit-content}.chat-input-send-button[disabled][data-v-de5e7961],.chat-input-file-button[disabled][data-v-de5e7961]{cursor:no-drop;color:var(--chat--color-disabled)}.chat-input-send-button .chat-input-send-button[data-v-de5e7961]:hover,.chat-input-send-button .chat-input-send-button[data-v-de5e7961]:focus,.chat-input-file-button .chat-input-send-button[data-v-de5e7961]:hover,.chat-input-file-button .chat-input-send-button[data-v-de5e7961]:focus{background:var(--chat--input--send--button--background-hover, var(--chat--input--send--button--background));color:var(--chat--input--send--button--color-hover)}.chat-input-file-button[data-v-de5e7961]{background:var(--chat--input--file--button--background, white);color:var(--chat--input--file--button--color)}.chat-input-file-button[data-v-de5e7961]:hover{background:var(--chat--input--file--button--background-hover);color:var(--chat--input--file--button--color-hover)}.chat-files[data-v-de5e7961]{display:flex;overflow-x:hidden;overflow-y:auto;width:100%;flex-direction:row;flex-wrap:wrap;gap:.5rem;padding:var(--chat--files-spacing)}.chat-input-left-panel[data-v-de5e7961]{width:var(--chat--input--left--panel--width);margin-left:.4rem}.chat-layout{width:100%;height:100%;display:flex;overflow-y:auto;flex-direction:column;font-family:var(--chat--font-family)}.chat-layout .chat-header{display:flex;flex-direction:column;justify-content:center;gap:1em;height:var(--chat--header-height);padding:var(--chat--header--padding);background:var(--chat--header--background);color:var(--chat--header--color);border-top:var(--chat--header--border-top);border-bottom:var(--chat--header--border-bottom);border-left:var(--chat--header--border-left);border-right:var(--chat--header--border-right)}.chat-layout .chat-header h1{font-size:var(--chat--heading--font-size);color:var(--chat--header--color)}.chat-layout .chat-header p{font-size:var(--chat--subtitle--font-size);line-height:var(--chat--subtitle--line-height)}.chat-layout .chat-body{background:var(--chat--body--background);flex:1;display:flex;flex-direction:column;overflow-y:auto;position:relative;min-height:100px}.chat-layout .chat-footer{border-top:1px solid var(--chat--color-light-shade-100);background:var(--chat--footer--background);color:var(--chat--footer--color)}._strokeWidth_fqxq5_1 rect,._strokeWidth_fqxq5_1 path{stroke-width:var(--n8n-icon-stroke-width)}._spin_fqxq5_6{animation:_spin_fqxq5_6 1s linear infinite}@keyframes _spin_fqxq5_6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lds-ring{display:inline-block;position:relative;width:48px;height:48px}.lds-ring div{box-sizing:border-box;display:block;position:absolute;width:48px;height:48px;border:4px solid var(--color-foreground-xlight);border-radius:50%;animation:lds-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border-color:var(--color-primary) transparent transparent transparent}.lds-ring div:nth-child(1){animation-delay:-.45s}.lds-ring div:nth-child(2){animation-delay:-.3s}.lds-ring div:nth-child(3){animation-delay:-.15s}@keyframes lds-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;border:var(--border-width-base) var(--button-border-color, var(--color-button-primary-border)) var(--border-style-base)!important;color:var(--button-font-color, var(--color-button-primary-font))!important;background-color:var(--button-background-color, var(--color-button-primary-background))!important;font-weight:var(--font-weight-medium)!important;border-radius:var(--button-border-radius, 4px)!important;padding:var(--button-padding-vertical, var(--spacing-xs)) var(--button-padding-horizontal, var(--spacing-m))!important;font-size:var(--button-font-size, var(--font-size-s))!important;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:none;margin:0;transition:all .3s,padding 0s,width 0s,height 0s;gap:var(--spacing-3xs);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;--button-padding-vertical: var(--spacing-2xs);--button-padding-horizontal: var(--spacing-xs);--button-font-size: var(--font-size-2xs)}.el-button a{color:var(--button-font-color, var(--color-button-primary-font))!important}.el-button:hover{color:var(--button-hover-font-color, var(--color-button-primary-font))!important;border-color:var(--button-hover-border-color, var(--color-button-primary-hover-active-border))!important;background-color:var(--button-hover-background-color, var(--color-button-primary-hover-active-focus-background))!important}.el-button:hover a{color:var(--button-hover-font-color, var(--color-button-primary-font))!important}.el-button:active,.el-button.active{color:var(--button-active-font-color, var(--color-button-primary-font))!important;border-color:var(--button-active-border-color, var(--color-button-primary-hover-active-border))!important;background-color:var(--button-active-background-color, var(--color-button-primary-hover-active-focus-background))!important;outline:none}.el-button:active a,.el-button.active a{color:var(--button-active-font-color, var(--color-button-primary-font))!important}.el-button:focus-visible:not(:active,.active){color:var(--button-focus-font-color, var(--color-button-primary-font))!important;border-color:var(--button-focus-border-color, var(--color-button-primary-border))!important;background-color:var(--button-focus-background-color, var(--color-button-primary-hover-active-focus-background))!important;outline:3px solid var(--button-focus-outline-color, var(--color-button-primary-focus-outline))!important}.el-button:focus-visible:not(:active,.active) a{color:var(--button-focus-font-color, var(--color-button-primary-font))!important}.el-button.disabled,.el-button.disabled:hover,.el-button.disabled:active,.el-button.disabled:focus-visible{color:var(--button-disabled-font-color, var(--color-button-primary-disabled-font));border-color:var(--button-disabled-border-color, var(--color-button-primary-disabled-border));background-color:var(--button-disabled-background-color, var(--color-button-primary-disabled-background))}.el-button.disabled a,.el-button.disabled:hover a,.el-button.disabled:active a,.el-button.disabled:focus-visible a{color:var(--button-disabled-font-color, var(--color-button-primary-disabled-font))}.el-button .loading,.el-button .loading:hover,.el-button .loading:active,.el-button .loading:focus-visible{color:var(--button-loading-font-color, var(--color-button-primary-font));border-color:var(--button-loading-border-color, var(--color-button-primary-border));background-color:var(--button-loading-background-color, var(--color-button-primary-background))}.el-button .loading a,.el-button .loading:hover a,.el-button .loading:active a,.el-button .loading:focus-visible a{color:var(--button-loading-font-color, var(--color-button-primary-font))}.el-button::-moz-focus-inner{border:0}.el-button>i{display:none}.el-button>span{display:flex;justify-content:center;align-items:center}.el-button+.el-button{margin-left:var(--spacing-2xs)}.el-button.btn--cancel,.el-button.el-color-dropdown__link-btn{--button-font-color: var(--color-button-secondary-font);--button-border-color: var(--color-button-secondary-border);--button-background-color: var(--color-button-secondary-background);--button-hover-font-color: var(--color-button-secondary-hover-active-focus-font);--button-hover-border-color: var(--color-button-secondary-hover-active-focus-border);--button-hover-background-color: var(--color-button-secondary-hover-background);--button-active-font-color: var(--color-button-secondary-hover-active-focus-font);--button-active-border-color: var(--color-button-secondary-hover-active-focus-border);--button-active-background-color: var(--color-button-secondary-active-focus-background);--button-focus-font-color: var(--color-button-secondary-hover-active-focus-font);--button-focus-border-color: var(--color-button-secondary-hover-active-focus-border);--button-focus-background-color: var(--color-button-secondary-active-focus-background);--button-focus-outline-color: var(--color-button-secondary-focus-outline);--button-disabled-font-color: var(--color-button-secondary-disabled-font);--button-disabled-border-color: var(--color-button-secondary-disabled-border);--button-disabled-background-color: var(--color-button-secondary-background);--button-loading-font-color: var(--color-button-secondary-loading-font);--button-loading-border-color: var(--color-button-secondary-loading-border);--button-loading-background-color: var(--color-button-secondary-loading-background)}._button_slkfq_115{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;border:var(--border-width-base) var(--button-border-color, var(--color-button-primary-border)) var(--border-style-base);color:var(--button-font-color, var(--color-button-primary-font));background-color:var(--button-background-color, var(--color-button-primary-background));font-weight:var(--font-weight-medium);border-radius:var(--button-border-radius, 4px);padding:var(--button-padding-vertical, var(--spacing-xs)) var(--button-padding-horizontal, var(--spacing-m));font-size:var(--button-font-size, var(--font-size-s));-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:none;margin:0;transition:all .3s,padding 0s,width 0s,height 0s;gap:var(--spacing-3xs);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}._button_slkfq_115 a{color:var(--button-font-color, var(--color-button-primary-font))}._button_slkfq_115:hover{color:var(--button-hover-font-color, var(--color-button-primary-font));border-color:var(--button-hover-border-color, var(--color-button-primary-hover-active-border));background-color:var(--button-hover-background-color, var(--color-button-primary-hover-active-focus-background))}._button_slkfq_115:hover a{color:var(--button-hover-font-color, var(--color-button-primary-font))}._button_slkfq_115:active,._button_slkfq_115._active_slkfq_149{color:var(--button-active-font-color, var(--color-button-primary-font));border-color:var(--button-active-border-color, var(--color-button-primary-hover-active-border));background-color:var(--button-active-background-color, var(--color-button-primary-hover-active-focus-background));outline:none}._button_slkfq_115:active a,._button_slkfq_115._active_slkfq_149 a{color:var(--button-active-font-color, var(--color-button-primary-font))}._button_slkfq_115:focus-visible:not(:active,._active_slkfq_149){color:var(--button-focus-font-color, var(--color-button-primary-font));border-color:var(--button-focus-border-color, var(--color-button-primary-border));background-color:var(--button-focus-background-color, var(--color-button-primary-hover-active-focus-background));outline:3px solid var(--button-focus-outline-color, var(--color-button-primary-focus-outline))}._button_slkfq_115:focus-visible:not(:active,._active_slkfq_149) a{color:var(--button-focus-font-color, var(--color-button-primary-font))}._button_slkfq_115._disabled_slkfq_167,._button_slkfq_115._disabled_slkfq_167:hover,._button_slkfq_115._disabled_slkfq_167:active,._button_slkfq_115._disabled_slkfq_167:focus-visible{color:var(--button-disabled-font-color, var(--color-button-primary-disabled-font));border-color:var(--button-disabled-border-color, var(--color-button-primary-disabled-border));background-color:var(--button-disabled-background-color, var(--color-button-primary-disabled-background))}._button_slkfq_115._disabled_slkfq_167 a,._button_slkfq_115._disabled_slkfq_167:hover a,._button_slkfq_115._disabled_slkfq_167:active a,._button_slkfq_115._disabled_slkfq_167:focus-visible a{color:var(--button-disabled-font-color, var(--color-button-primary-disabled-font))}._button_slkfq_115 ._loading_slkfq_175,._button_slkfq_115 ._loading_slkfq_175:hover,._button_slkfq_115 ._loading_slkfq_175:active,._button_slkfq_115 ._loading_slkfq_175:focus-visible{color:var(--button-loading-font-color, var(--color-button-primary-font));border-color:var(--button-loading-border-color, var(--color-button-primary-border));background-color:var(--button-loading-background-color, var(--color-button-primary-background))}._button_slkfq_115 ._loading_slkfq_175 a,._button_slkfq_115 ._loading_slkfq_175:hover a,._button_slkfq_115 ._loading_slkfq_175:active a,._button_slkfq_115 ._loading_slkfq_175:focus-visible a{color:var(--button-loading-font-color, var(--color-button-primary-font))}._button_slkfq_115::-moz-focus-inner{border:0}._button_slkfq_115>i{display:none}._button_slkfq_115>span{display:flex;justify-content:center;align-items:center}._secondary_slkfq_198{--button-font-color: var(--color-button-secondary-font);--button-border-color: var(--color-button-secondary-border);--button-background-color: var(--color-button-secondary-background);--button-hover-font-color: var(--color-button-secondary-hover-active-focus-font);--button-hover-border-color: var(--color-button-secondary-hover-active-focus-border);--button-hover-background-color: var(--color-button-secondary-hover-background);--button-active-font-color: var(--color-button-secondary-hover-active-focus-font);--button-active-border-color: var(--color-button-secondary-hover-active-focus-border);--button-active-background-color: var(--color-button-secondary-active-focus-background);--button-focus-font-color: var(--color-button-secondary-hover-active-focus-font);--button-focus-border-color: var(--color-button-secondary-hover-active-focus-border);--button-focus-background-color: var(--color-button-secondary-active-focus-background);--button-focus-outline-color: var(--color-button-secondary-focus-outline);--button-disabled-font-color: var(--color-button-secondary-disabled-font);--button-disabled-border-color: var(--color-button-secondary-disabled-border);--button-disabled-background-color: var(--color-button-secondary-background);--button-loading-font-color: var(--color-button-secondary-loading-font);--button-loading-border-color: var(--color-button-secondary-loading-border);--button-loading-background-color: var(--color-button-secondary-loading-background)}._highlight_slkfq_220{--button-font-color: var(--color-button-highlight-font);--button-border-color: var(--color-button-highlight-border);--button-background-color: var(--color-button-highlight-background);--button-hover-font-color: var(--color-button-highlight-hover-active-focus-font);--button-hover-border-color: var(--color-button-highlight-hover-active-focus-border);--button-hover-background-color: var(--color-button-highlight-hover-background);--button-active-font-color: var(--color-button-highlight-hover-active-focus-font);--button-active-border-color: var(--color-button-highlight-hover-active-focus-border);--button-active-background-color: var(--color-button-highlight-active-focus-background);--button-focus-font-color: var(--color-button-highlight-hover-active-focus-font);--button-focus-border-color: var(--color-button-highlight-hover-active-focus-border);--button-focus-background-color: var(--color-button-highlight-active-focus-background);--button-focus-outline-color: var(--color-button-highlight-focus-outline);--button-disabled-font-color: var(--color-button-highlight-disabled-font);--button-disabled-border-color: var(--color-button-highlight-disabled-border);--button-disabled-background-color: var(--color-button-highlight-disabled-background);--button-loading-font-color: var(--color-button-highlight-loading-font);--button-loading-border-color: var(--color-button-highlight-loading-border);--button-loading-background-color: var(--color-button-highlight-loading-background)}._tertiary_slkfq_242{--button-font-color: var(--color-button-secondary-font);--button-border-color: var(--color-button-secondary-border);--button-background-color: var(--color-button-secondary-background);--button-hover-font-color: var(--color-button-secondary-hover-active-focus-font);--button-hover-border-color: var(--color-button-secondary-hover-active-focus-border);--button-hover-background-color: var(--color-button-secondary-hover-background);--button-active-font-color: var(--color-button-secondary-hover-active-focus-font);--button-active-border-color: var(--color-button-secondary-hover-active-focus-border);--button-active-background-color: var(--color-button-secondary-active-focus-background);--button-focus-font-color: var(--color-button-secondary-hover-active-focus-font);--button-focus-border-color: var(--color-button-secondary-hover-active-focus-border);--button-focus-background-color: var(--color-button-secondary-active-focus-background);--button-focus-outline-color: var(--color-button-secondary-focus-outline);--button-disabled-font-color: var(--color-button-secondary-disabled-font);--button-disabled-border-color: var(--color-button-secondary-disabled-border);--button-disabled-background-color: var(--color-button-secondary-background);--button-loading-font-color: var(--color-button-secondary-loading-font);--button-loading-border-color: var(--color-button-secondary-loading-border);--button-loading-background-color: var(--color-button-secondary-loading-background)}._success_slkfq_264{--button-font-color: var(--color-button-success-font);--button-border-color: var(--color-success);--button-background-color: var(--color-success);--button-hover-font-color: var(--color-button-success-font);--button-hover-border-color: var(--color-success-shade-1);--button-hover-background-color: var(--color-success-shade-1);--button-active-font-color: var(--color-button-success-font);--button-active-border-color: var(--color-success-shade-1);--button-active-background-color: var(--color-success-shade-1);--button-focus-font-color: var(--color-button-success-font);--button-focus-border-color: var(--color-success);--button-focus-background-color: var(--color-success);--button-focus-outline-color: var(--color-success-light);--button-disabled-font-color: var(--color-button-success-disabled-font);--button-disabled-border-color: var(--color-success-tint-1);--button-disabled-background-color: var(--color-success-tint-1);--button-loading-font-color: var(--color-button-success-font);--button-loading-border-color: var(--color-success);--button-loading-background-color: var(--color-success)}._warning_slkfq_286{--button-font-color: var(--color-button-warning-font);--button-border-color: var(--color-warning);--button-background-color: var(--color-warning);--button-hover-font-color: var(--color-button-warning-font);--button-hover-border-color: var(--color-warning-shade-1);--button-hover-background-color: var(--color-warning-shade-1);--button-active-font-color: var(--color-button-warning-font);--button-active-border-color: var(--color-warning-shade-1);--button-active-background-color: var(--color-warning-shade-1);--button-focus-font-color: var(--color-button-warning-font);--button-focus-border-color: var(--color-warning);--button-focus-background-color: var(--color-warning);--button-focus-outline-color: var(--color-warning-tint-1);--button-disabled-font-color: var(--color-button-warning-disabled-font);--button-disabled-border-color: var(--color-warning-tint-1);--button-disabled-background-color: var(--color-warning-tint-1);--button-loading-font-color: var(--color-button-warning-font);--button-loading-border-color: var(--color-warning);--button-loading-background-color: var(--color-warning)}._danger_slkfq_308{--button-font-color: var(--color-button-danger-font);--button-border-color: var(--color-button-danger-border);--button-background-color: var(--color-danger);--button-hover-font-color: var(--color-button-danger-font);--button-hover-border-color: var(--color-danger-shade-1);--button-hover-background-color: var(--color-danger-shade-1);--button-active-font-color: var(--color-button-danger-font);--button-active-border-color: var(--color-danger-shade-1);--button-active-background-color: var(--color-danger-shade-1);--button-focus-font-color: var(--color-button-danger-font);--button-focus-border-color: var(--color-danger);--button-focus-background-color: var(--color-danger);--button-focus-outline-color: var(--color-button-danger-focus-outline);--button-disabled-font-color: var(--color-button-danger-disabled-font);--button-disabled-border-color: var(--color-button-danger-disabled-border);--button-disabled-background-color: var(--color-button-danger-disabled-background);--button-loading-font-color: var(--color-button-danger-font);--button-loading-border-color: var(--color-danger);--button-loading-background-color: var(--color-danger)}._xmini_slkfq_333{--button-padding-vertical: var(--spacing-4xs);--button-padding-horizontal: var(--spacing-3xs);--button-font-size: var(--font-size-3xs)}._xmini_slkfq_333._square_slkfq_338{height:22px;width:22px}._mini_slkfq_343{--button-padding-vertical: var(--spacing-4xs);--button-padding-horizontal: var(--spacing-2xs);--button-font-size: var(--font-size-2xs)}._mini_slkfq_343._square_slkfq_338{height:22px;width:22px}._small_slkfq_353{--button-padding-vertical: var(--spacing-3xs);--button-padding-horizontal: var(--spacing-xs);--button-font-size: var(--font-size-2xs)}._small_slkfq_353._square_slkfq_338{height:26px;width:26px}._medium_slkfq_363{--button-padding-vertical: var(--spacing-2xs);--button-padding-horizontal: var(--spacing-xs);--button-font-size: var(--font-size-2xs)}._medium_slkfq_363._square_slkfq_338{height:30px;width:30px}._large_slkfq_373._square_slkfq_338{height:42px;width:42px}._xlarge_slkfq_378{--button-padding-vertical: var(--spacing-xs);--button-padding-horizontal: var(--spacing-s);--button-font-size: var(--font-size-m)}._xlarge_slkfq_378._square_slkfq_338{height:46px;width:46px}._outline_slkfq_391{--button-background-color: transparent;--button-disabled-background-color: transparent}._outline_slkfq_391._primary_slkfq_395{--button-font-color: var(--color-primary);--button-disabled-font-color: var(--color-primary-tint-1);--button-disabled-border-color: var(--color-primary-tint-1);--button-disabled-background-color: transparent}._outline_slkfq_391._success_slkfq_264{--button-font-color: var(--color-success);--button-border-color: var(--color-success);--button-hover-border-color: var(--color-success);--button-hover-background-color: var(--color-success);--button-active-background-color: var(--color-success);--button-disabled-font-color: var(--color-success-light);--button-disabled-border-color: var(--color-success-light);--button-disabled-background-color: transparent}._outline_slkfq_391._warning_slkfq_286{--button-font-color: var(--color-warning);--button-border-color: var(--color-warning);--button-hover-border-color: var(--color-warning);--button-hover-background-color: var(--color-warning);--button-active-background-color: var(--color-warning);--button-disabled-font-color: var(--color-warning-tint-1);--button-disabled-border-color: var(--color-warning-tint-1);--button-disabled-background-color: transparent}._outline_slkfq_391._danger_slkfq_308{--button-font-color: var(--color-danger);--button-border-color: var(--color-danger);--button-hover-border-color: var(--color-danger);--button-hover-background-color: var(--color-danger);--button-active-background-color: var(--color-danger);--button-disabled-font-color: var(--color-danger-tint-1);--button-disabled-border-color: var(--color-danger-tint-1);--button-disabled-background-color: transparent}._text_slkfq_432{--button-font-color: var(--color-text-button-secondary-font);--button-border-color: transparent;--button-background-color: transparent;--button-hover-border-color: transparent;--button-hover-background-color: transparent;--button-active-border-color: transparent;--button-active-background-color: transparent;--button-focus-border-color: transparent;--button-focus-background-color: transparent;--button-disabled-border-color: transparent;--button-disabled-background-color: transparent}._text_slkfq_432:focus{outline:0}._text_slkfq_432._primary_slkfq_395{--button-font-color: var(--color-primary);--button-hover-font-color: var(--color-primary-shade-1);--button-active-font-color: var(--color-primary-shade-1);--button-focus-font-color: var(--color-primary);--button-disabled-font-color: var(--color-primary-tint-1)}._text_slkfq_432._success_slkfq_264{--button-font-color: var(--color-success);--button-hover-font-color: var(--color-success-shade-1);--button-active-font-color: var(--color-success-shade-1);--button-focus-font-color: var(--color-success);--button-disabled-font-color: var(--color-success-light)}._text_slkfq_432._warning_slkfq_286{--button-font-color: var(--color-warning);--button-hover-font-color: var(--color-warning-shade-1);--button-active-font-color: var(--color-warning-shade-1);--button-focus-font-color: var(--color-warning);--button-disabled-font-color: var(--color-warning-tint-1)}._text_slkfq_432._danger_slkfq_308{--button-font-color: var(--color-danger);--button-hover-font-color: var(--color-danger-shade-1);--button-active-font-color: var(--color-danger-shade-1);--button-focus-font-color: var(--color-danger);--button-disabled-font-color: var(--color-danger-tint-1)}._text_slkfq_432:hover{text-decoration:underline}._loading_slkfq_175{position:relative;pointer-events:none}._loading_slkfq_175:before{pointer-events:none;content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit}._disabled_slkfq_167,._disabled_slkfq_167:hover,._disabled_slkfq_167:active,._disabled_slkfq_167:focus{cursor:not-allowed;background-image:none}._transparent_slkfq_500{--button-background-color: transparent;--button-active-background-color: transparent}._withIcon_slkfq_505,._icon_slkfq_511{display:inline-flex;justify-content:center;align-items:center}._icon_slkfq_511 svg{display:block}._block_slkfq_520{width:100%}._float-left_slkfq_524{float:left}._float-right_slkfq_528{float:right}._bold_ushv1_1{font-weight:var(--font-weight-medium)}._regular_ushv1_5{font-weight:var(--font-weight-regular)}._size-xlarge_ushv1_9{font-size:var(--font-size-xl);line-height:var(--font-line-height-xloose)}._size-large_ushv1_14{font-size:var(--font-size-m);line-height:var(--font-line-height-xloose)}._size-medium_ushv1_19{font-size:var(--font-size-s);line-height:var(--font-line-height-loose)}._size-small_ushv1_24{font-size:var(--font-size-2xs);line-height:var(--font-line-height-loose)}._size-xsmall_ushv1_29{font-size:var(--font-size-3xs);line-height:var(--font-line-height-compact)}._compact_ushv1_34{line-height:1}._primary_ushv1_38{color:var(--color-primary)}._secondary_ushv1_42{color:var(--color-secondary)}._text-dark_ushv1_46{color:var(--color-text-dark)}._text-base_ushv1_50{color:var(--color-text-base)}._text-light_ushv1_54{color:var(--color-text-light)}._text-xlight_ushv1_58{color:var(--color-text-xlight)}._danger_ushv1_62{color:var(--color-text-danger)}._success_ushv1_66{color:var(--color-success)}._warning_ushv1_70{color:var(--color-warning)}._foreground-dark_ushv1_74{color:var(--color-foreground-dark)}._foreground-xdark_ushv1_78{color:var(--color-foreground-xdark)}._align-left_ushv1_82{text-align:left}._align-right_ushv1_86{text-align:right}._align-center_ushv1_90{text-align:center}.n8n-loading-custom.el-skeleton,.n8n-loading-custom.el-skeleton .el-skeleton__item{width:100%;height:100%}._xlarge_ddtui_1{--input-font-size: var(--font-size-m)}._xlarge_ddtui_1 input{height:48px}.recycle-scroller-wrapper{height:100%;width:100%;overflow:auto;flex:1 1 auto}.recycle-scroller{width:100%;display:block;position:relative}.recycle-scroller-items-wrapper{position:absolute;width:100%}.recycle-scroller-item{display:flex;position:relative;width:100%}.sticky-textarea{height:calc(100% - var(--spacing-l));padding:var(--spacing-2xs) var(--spacing-2xs) 0 var(--spacing-2xs);cursor:default}.sticky-textarea .el-textarea{height:100%}.sticky-textarea .el-textarea .el-textarea__inner{height:100%;resize:unset}.full-height{height:calc(100% - var(--spacing-2xs))}ul.user-stack-list{border:none;display:flex;flex-direction:column;gap:var(--spacing-s);padding-bottom:var(--spacing-2xs)}ul.user-stack-list .el-dropdown-menu__item{line-height:var(--font-line-height-regular)}ul.user-stack-list li:hover{color:currentColor!important}.user-stack-popper{border:1px solid var(--border-color-light);border-radius:var(--border-radius-base);padding:var(--spacing-5xs) 0;box-shadow:0 2px 8px #441c171a;background-color:var(--color-background-xlight)}.chat-message{display:block;position:relative;max-width:fit-content;font-size:var(--chat--message--font-size);padding:var(--chat--message--padding);border-radius:var(--chat--message--border-radius);scroll-margin:3rem}.chat-message .chat-message-actions{position:absolute;bottom:calc(100% - .5rem);left:0;opacity:0;transform:translateY(-.25rem);display:flex;gap:1rem}.chat-message.chat-message-from-user .chat-message-actions{left:auto;right:0}.chat-message:hover .chat-message-actions{opacity:1}.chat-message p{line-height:var(--chat--message-line-height);word-wrap:break-word}.chat-message+.chat-message{margin-top:var(--chat--message--margin-bottom)}.chat-message.chat-message-from-user+.chat-message.chat-message-from-bot,.chat-message.chat-message-from-bot+.chat-message.chat-message-from-user{margin-top:var(--chat--spacing)}.chat-message.chat-message-from-bot{color:var(--chat--message--bot--color);border-bottom-left-radius:0}.chat-message.chat-message-from-bot:not(.chat-message-transparent){background-color:var(--chat--message--bot--background);border:var(--chat--message--bot--border)}.chat-message.chat-message-from-user{color:var(--chat--message--user--color);margin-left:auto;border-bottom-right-radius:0}.chat-message.chat-message-from-user:not(.chat-message-transparent){background-color:var(--chat--message--user--background);border:var(--chat--message--user--border)}.chat-message>.chat-message-markdown{display:block;box-sizing:border-box;font-size:inherit}.chat-message>.chat-message-markdown>*:first-child{margin-top:0}.chat-message>.chat-message-markdown>*:last-child{margin-bottom:0}.chat-message>.chat-message-markdown pre{font-family:inherit;font-size:inherit;margin:0;white-space:pre-wrap;box-sizing:border-box;padding:var(--chat--spacing);background:var(--chat--message--pre--background);border-radius:var(--chat--border-radius)}.chat-message .chat-message-files{display:flex;flex-wrap:wrap;gap:.25rem;padding-top:.5rem}.chat-window-wrapper{position:fixed;display:flex;flex-direction:column;bottom:var(--chat--window--bottom);right:var(--chat--window--right);z-index:var(--chat--window--z-index);max-width:calc(100% - var(--chat--window--right, var(--chat--spacing)) * 2);max-height:calc(100% - var(--chat--window--bottom, var(--chat--spacing)) * 2)}.chat-window-wrapper .chat-window{display:flex;width:var(--chat--window--width);height:var(--chat--window--height);max-width:100%;max-height:100%;border:var(--chat--window--border, 1px solid var(--chat--color-light-shade-100));border-radius:var(--chat--window--border-radius, var(--chat--border-radius));margin-bottom:var(--chat--window--margin-bottom, var(--chat--spacing));overflow:hidden;transform-origin:bottom right}.chat-window-wrapper .chat-window .chat-layout{width:auto;height:auto;flex:1}.chat-window-wrapper .chat-window-toggle{flex:0 0 auto;background:var(--chat--toggle--background);color:var(--chat--toggle--color);cursor:pointer;width:var(--chat--toggle--width);height:var(--chat--toggle--height);border-radius:var(--chat--toggle--border-radius, 50%);display:inline-flex;align-items:center;justify-content:center;margin-left:auto;transition:transform var(--chat--transition-duration) ease,background var(--chat--transition-duration) ease}.chat-window-wrapper .chat-window-toggle:hover,.chat-window-wrapper .chat-window-toggle:focus{transform:scale(1.05);background:var(--chat--toggle--hover--background)}.chat-window-wrapper .chat-window-toggle:active{transform:scale(.95);background:var(--chat--toggle--active--background)}.chat-window-transition-enter-active,.chat-window-transition-leave-active{transition:transform var(--chat--transition-duration) ease,opacity var(--chat--transition-duration) ease}.chat-window-transition-enter-from,.chat-window-transition-leave-to{transform:scale(0);opacity:0}.chat-window-toggle-transition-enter-active,.chat-window-toggle-transition-leave-active{transition:opacity var(--chat--transition-duration) ease}.chat-window-toggle-transition-enter-from,.chat-window-toggle-transition-leave-to{opacity:0}.chat-message-typing{max-width:80px}.chat-message-typing.chat-message-typing-animation-scaling .chat-message-typing-circle{animation:chat-message-typing-animation-scaling .8s ease-in-out infinite;animation-delay:3.6s}.chat-message-typing.chat-message-typing-animation-bouncing .chat-message-typing-circle{animation:chat-message-typing-animation-bouncing .8s ease-in-out infinite;animation-delay:3.6s}.chat-message-typing .chat-message-typing-body{display:flex;justify-content:center;align-items:center}.chat-message-typing .chat-message-typing-circle{display:block;height:10px;width:10px;border-radius:50%;background-color:var(--chat--color-typing);margin:3px}.chat-message-typing .chat-message-typing-circle:nth-child(1){animation-delay:0ms}.chat-message-typing .chat-message-typing-circle:nth-child(2){animation-delay:333ms}.chat-message-typing .chat-message-typing-circle:nth-child(3){animation-delay:666ms}@keyframes chat-message-typing-animation-scaling{0%{transform:scale(1)}33%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}@keyframes chat-message-typing-animation-bouncing{0%{transform:translateY(0)}33%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.chat-messages-list{margin-top:auto;display:block;padding:var(--chat--messages-list--padding)}.empty-container{container-type:size;display:flex;align-items:center;justify-content:center}.empty-container p{max-width:16em;margin:0}.empty{text-align:center;color:var(--color-text-base);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);padding-inline:var(--spacing-m);padding-bottom:var(--spacing-l);overflow:hidden}.emptyIcon{zoom:2.5;color:var(--color-button-secondary-border)}@container (height < 150px){.empty{flex-direction:row;text-align:left}.emptyIcon{zoom:1.5}}.chat-heading{display:flex;justify-content:space-between;align-items:center}.chat-close-button{display:flex;border:none;background:none;cursor:pointer}.chat-close-button:hover{color:var(--chat--close--button--color-hover, var(--chat--color-primary))}
@@ -0,0 +1,13 @@
1
+ import { Ref } from 'vue';
2
+ import { ChatMessage } from './messages';
3
+ import { SendMessageResponse } from './webhook';
4
+ export interface Chat {
5
+ initialMessages: Ref<ChatMessage[]>;
6
+ messages: Ref<ChatMessage[]>;
7
+ currentSessionId: Ref<string | null>;
8
+ waitingForResponse: Ref<boolean>;
9
+ loadPreviousSession?: () => Promise<string | undefined>;
10
+ startNewSession?: () => Promise<void>;
11
+ sendMessage: (text: string, files?: File[]) => Promise<SendMessageResponse | null>;
12
+ ws?: WebSocket | null;
13
+ }
@@ -0,0 +1,5 @@
1
+ export * from './chat';
2
+ export * from './messages';
3
+ export * from './options';
4
+ export * from './webhook';
5
+ export * from './streaming';