vue-wiguet-chatweb 0.1.23 → 0.1.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. package/dist/App.vue.d.ts +2 -0
  2. package/dist/components/Chat.vue.d.ts +17 -6
  3. package/dist/components/ChatMessage.vue.d.ts +12 -0
  4. package/dist/components/DangerIcon.vue.d.ts +1 -1
  5. package/dist/components/IconAttach.vue.d.ts +2 -0
  6. package/dist/components/IconChat.vue.d.ts +1 -1
  7. package/dist/components/IconClose.vue.d.ts +1 -1
  8. package/dist/components/IconSend.vue.d.ts +1 -1
  9. package/dist/components/IconTelegram.vue.d.ts +1 -1
  10. package/dist/components/IconWhatsApp.vue.d.ts +1 -1
  11. package/dist/components/IconWidget.vue.d.ts +1 -1
  12. package/dist/components/Loader.vue.d.ts +1 -1
  13. package/dist/components/MessageList.vue.d.ts +14 -6
  14. package/dist/components/ODialog/IPropsDialog.d.ts +3 -0
  15. package/dist/components/ODialog/IPropsSidebar.d.ts +5 -0
  16. package/dist/components/ODialog/ODialog.vue.d.ts +22 -0
  17. package/dist/components/Widget.vue.d.ts +10 -6
  18. package/dist/dto/app.dto.d.ts +9 -1
  19. package/dist/hooks/useMobile.d.ts +3 -0
  20. package/dist/index.d.ts +1 -1
  21. package/dist/store/config.d.ts +1 -1
  22. package/dist/store/index.d.ts +1 -4
  23. package/dist/style.css +1 -1
  24. package/dist/vue-wiguet-chatweb.js +3379 -2759
  25. package/dist/vue-wiguet-chatweb.umd.cjs +17 -7
  26. package/package.json +8 -6
  27. package/src/components/Chat.vue +157 -53
  28. package/src/components/IconAttach.vue +24 -0
  29. package/src/components/IconSend.vue +1 -1
  30. package/src/components/LoadingComponent.vue +111 -0
  31. package/src/components/MessageList.vue +14 -30
  32. package/src/components/ODialog/IPropsDialog.ts +4 -0
  33. package/src/components/ODialog/IPropsSidebar.ts +13 -0
  34. package/src/components/ODialog/ODialog.vue +85 -0
  35. package/src/components/Widget.vue +19 -1
@@ -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;
@@ -1,5 +1,5 @@
1
- import { PropType } from "vue";
2
- declare const _default: import("vue").DefineComponent<{
1
+ import { PropType } from 'vue';
2
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
3
3
  titlePrincipal: {
4
4
  type: StringConstructor;
5
5
  default: string;
@@ -24,7 +24,14 @@ declare const _default: import("vue").DefineComponent<{
24
24
  type: BooleanConstructor;
25
25
  required: true;
26
26
  };
27
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("onQualifying" | "show-toast" | "show-confirm" | "new-message" | "clear-new-messages" | "not-viewed-total")[], "onQualifying" | "show-toast" | "show-confirm" | "new-message" | "clear-new-messages" | "not-viewed-total", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
27
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
28
+ onQualifying: (...args: any[]) => void;
29
+ "show-toast": (...args: any[]) => void;
30
+ "show-confirm": (...args: any[]) => void;
31
+ "new-message": (...args: any[]) => void;
32
+ "clear-new-messages": (...args: any[]) => void;
33
+ "not-viewed-total": (...args: any[]) => void;
34
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
28
35
  titlePrincipal: {
29
36
  type: StringConstructor;
30
37
  default: string;
@@ -49,14 +56,18 @@ declare const _default: import("vue").DefineComponent<{
49
56
  type: BooleanConstructor;
50
57
  required: true;
51
58
  };
52
- }>> & {
59
+ }>> & Readonly<{
53
60
  onOnQualifying?: ((...args: any[]) => any) | undefined;
54
61
  "onShow-toast"?: ((...args: any[]) => any) | undefined;
55
62
  "onShow-confirm"?: ((...args: any[]) => any) | undefined;
56
63
  "onNew-message"?: ((...args: any[]) => any) | undefined;
57
64
  "onClear-new-messages"?: ((...args: any[]) => any) | undefined;
58
65
  "onNot-viewed-total"?: ((...args: any[]) => any) | undefined;
59
- }, {
66
+ }>, {
60
67
  titlePrincipal: string;
61
- }, {}>;
68
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
69
+ messageContainerRef: HTMLDivElement;
70
+ textAreaRef: HTMLTextAreaElement;
71
+ fileInputRef: HTMLInputElement;
72
+ }, any>;
62
73
  export default _default;
@@ -0,0 +1,12 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
+ message: {
3
+ type: ObjectConstructor;
4
+ required: true;
5
+ };
6
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
7
+ message: {
8
+ type: ObjectConstructor;
9
+ required: true;
10
+ };
11
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
12
+ export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
2
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, {}, SVGSVGElement>;
2
+ export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
2
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
2
2
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import { PropType } from 'vue';
2
- import { type Message } from "../dto/app.dto";
3
- declare const _default: import("vue").DefineComponent<{
2
+ import { Message } from '../dto/app.dto';
3
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
4
  messages: {
5
5
  type: PropType<Message[]>;
6
6
  default: () => never[];
@@ -9,7 +9,12 @@ declare const _default: import("vue").DefineComponent<{
9
9
  type: BooleanConstructor;
10
10
  default: boolean;
11
11
  };
12
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("loadMore" | "retry" | "onQualifying")[], "loadMore" | "retry" | "onQualifying", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
12
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ loadMore: (...args: any[]) => void;
14
+ retry: (...args: any[]) => void;
15
+ onQualifying: (...args: any[]) => void;
16
+ see: (...args: any[]) => void;
17
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
13
18
  messages: {
14
19
  type: PropType<Message[]>;
15
20
  default: () => never[];
@@ -18,12 +23,15 @@ declare const _default: import("vue").DefineComponent<{
18
23
  type: BooleanConstructor;
19
24
  default: boolean;
20
25
  };
21
- }>> & {
26
+ }>> & Readonly<{
22
27
  onLoadMore?: ((...args: any[]) => any) | undefined;
23
28
  onRetry?: ((...args: any[]) => any) | undefined;
24
29
  onOnQualifying?: ((...args: any[]) => any) | undefined;
25
- }, {
30
+ onSee?: ((...args: any[]) => any) | undefined;
31
+ }>, {
26
32
  messages: Message[];
27
33
  canLoadMoreMessages: boolean;
28
- }, {}>;
34
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
35
+ target: HTMLDivElement;
36
+ }, any>;
29
37
  export default _default;
@@ -0,0 +1,3 @@
1
+ import { IPropsSidebar } from './IPropsSidebar';
2
+ export interface IPropsDialog extends IPropsSidebar {
3
+ }
@@ -0,0 +1,5 @@
1
+ export interface IPropsSidebar {
2
+ modelValue?: boolean;
3
+ title?: string;
4
+ 'onUpdate:modelValue'?: (args: IPropsSidebar['modelValue']) => void;
5
+ }
@@ -0,0 +1,22 @@
1
+ import { IPropsDialog } from './IPropsDialog';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: {
5
+ default?(_: {}): any;
6
+ };
7
+ refs: {};
8
+ rootEl: any;
9
+ };
10
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
+ declare const __VLS_component: import('vue').DefineComponent<IPropsDialog, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
+ "update:modelValue": (...args: any[]) => void;
13
+ }, string, import('vue').PublicProps, Readonly<IPropsDialog> & Readonly<{
14
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
15
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
17
+ export default _default;
18
+ type __VLS_WithTemplateSlots<T, S> = T & {
19
+ new (): {
20
+ $slots: S;
21
+ };
22
+ };
@@ -1,5 +1,5 @@
1
- import { PropType } from "vue";
2
- declare const _default: import("vue").DefineComponent<{
1
+ import { PropType } from 'vue';
2
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
3
3
  tokenAuth: {
4
4
  type: StringConstructor;
5
5
  required: true;
@@ -19,7 +19,11 @@ declare const _default: import("vue").DefineComponent<{
19
19
  type: BooleanConstructor;
20
20
  default: boolean;
21
21
  };
22
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("onQualifying" | "show-toast" | "show-confirm")[], "onQualifying" | "show-toast" | "show-confirm", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
22
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
23
+ onQualifying: (...args: any[]) => void;
24
+ "show-toast": (...args: any[]) => void;
25
+ "show-confirm": (...args: any[]) => void;
26
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
23
27
  tokenAuth: {
24
28
  type: StringConstructor;
25
29
  required: true;
@@ -39,11 +43,11 @@ declare const _default: import("vue").DefineComponent<{
39
43
  type: BooleanConstructor;
40
44
  default: boolean;
41
45
  };
42
- }>> & {
46
+ }>> & Readonly<{
43
47
  onOnQualifying?: ((...args: any[]) => any) | undefined;
44
48
  "onShow-toast"?: ((...args: any[]) => any) | undefined;
45
49
  "onShow-confirm"?: ((...args: any[]) => any) | undefined;
46
- }, {
50
+ }>, {
47
51
  isDarkMode: boolean;
48
- }, {}>;
52
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
49
53
  export default _default;
@@ -1,3 +1,4 @@
1
+ import { TypeMessageTypeCodes } from '../resources/constants/message-type.constant';
1
2
  export interface IResponse<T> {
2
3
  error: boolean;
3
4
  message: string;
@@ -48,7 +49,9 @@ export interface SendMessageBody {
48
49
  message: string;
49
50
  esCliente: boolean;
50
51
  appChatId: string;
52
+ codigoTipoMensaje?: TypeMessageTypeCodes;
51
53
  mensajeARespondeId?: string;
54
+ files?: File[];
52
55
  }
53
56
  export interface ListMessageBody {
54
57
  appChatId: string;
@@ -72,11 +75,16 @@ export interface Message {
72
75
  };
73
76
  response?: Message | string;
74
77
  messageType?: MessageType;
78
+ urlFile?: string;
79
+ thumbnailFile?: string;
80
+ file?: File & {
81
+ objectURL: string;
82
+ };
75
83
  }
76
84
  export interface MessageType {
77
85
  id?: number;
78
86
  code: number;
79
- nombre: string;
87
+ nombre?: string;
80
88
  }
81
89
  export interface Sender {
82
90
  nombreCompleto: string;
@@ -0,0 +1,3 @@
1
+ export declare function useMobile(): {
2
+ isMobile: import('vue').ComputedRef<boolean>;
3
+ };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import Widget from "./components/Widget.vue";
1
+ import { default as Widget } from './components/Widget.vue';
2
2
  export { Widget };
3
3
  interface ENV {
4
4
  VITE_BACKEND_URL: string;
@@ -1,4 +1,4 @@
1
- import { AxiosRequestConfig } from "axios";
1
+ import { AxiosRequestConfig } from 'axios';
2
2
  export declare const apiCall: (getOptions: AxiosRequestConfig & {
3
3
  token?: string;
4
4
  }) => Promise<any>;
@@ -1,7 +1,4 @@
1
- import { ListMessageBody } from "../dto/app.dto";
2
- import { ChatInformation } from "../dto/app.dto";
3
- import { SendMessageBody } from "../dto/app.dto";
4
- import { Message } from "../dto/app.dto";
1
+ import { ListMessageBody, ChatInformation, SendMessageBody, Message } from '../dto/app.dto';
5
2
  export declare const messagesByAppAndPhone: (data?: any) => Promise<any>;
6
3
  export declare const sendMessageByAppAndPhone: (data?: any) => Promise<void>;
7
4
  export declare function getMessagesApi(data: {
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .bubble[data-v-6a7c2080]{--r: 25px;--t: 30px;padding:calc(2 * var(--r) / 3);-webkit-mask:radial-gradient(var(--t) at var(--_d) 0,#0000 98%,#000 102%) var(--_d) 100% / calc(100% - var(--r)) var(--t) no-repeat,conic-gradient(at var(--r) var(--r),#000 75%,#0000 0) calc(var(--r) / -2) calc(var(--r) / -2) padding-box,radial-gradient(50% 50%,#000 98%,#0000 101%) 0 0 / var(--r) var(--r) space padding-box;mask:radial-gradient(var(--t) at var(--_d) 0,#0000 98%,#000 102%) var(--_d) 100% / calc(100% - var(--r)) var(--t) no-repeat,conic-gradient(at var(--r) var(--r),#000 75%,#0000 0) calc(var(--r) / -2) calc(var(--r) / -2) padding-box,radial-gradient(50% 50%,#000 98%,#0000 101%) 0 0 / var(--r) var(--r) space padding-box;color:#fff;height:100%}.left[data-v-6a7c2080]{--_d: 0%;border-left:var(--t) solid #0000;margin-right:0;background-color:#fcd7ae;color:#4d4d4d}.bubble>.content-left[data-v-6a7c2080]{margin-right:10px;margin-bottom:1px}.right[data-v-6a7c2080]{--_d: 100%;border-right:var(--t) solid #0000;margin-right:0;background-color:#fdeedb;color:#4d4d4d}.bubble>.content-right[data-v-6a7c2080]{margin-bottom:1px;margin-right:10px}.message-text[data-v-6a7c2080]{margin-bottom:10px;overflow-wrap:break-word}.detail-message[data-v-6a7c2080]{font-size:10px;color:gray;display:flex;justify-content:space-between}.chat-message[data-v-6a7c2080]{display:flex;flex-direction:column;justify-content:center}.message[data-v-6a7c2080]{width:100%;display:flex}.message-left[data-v-6a7c2080]{justify-content:start}.message-right[data-v-6a7c2080]{justify-content:end}.target[data-v-6a7c2080]{padding:.5rem 0;width:100%}.btn-danger[data-v-6a7c2080]{background-color:transparent;border:0;border-radius:50%;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.btn-danger[data-v-6a7c2080] svg[data-v-6a7c2080]{width:24px;height:24px}.btn-danger[data-v-6a7c2080][data-v-6a7c2080]:hover{background-color:#ff00003a}.btn-container-widget[data-v-6a7c2080]{display:flex;align-items:center;position:absolute;left:-40px;top:50%;transform:translateY(-50%)}.message-container[data-v-6a7c2080]{min-width:80%;max-width:80%;position:relative;margin-bottom:.5rem}.messages-container-list[data-v-6a7c2080]{width:100%}.icon[data-v-6a7c2080]{width:2rem}.btn-icon[data-v-6a7c2080]{text-decoration:none;border:none;color:#9ca3af}.btn-icon[data-v-6a7c2080]:hover:not(.content-disabled){color:#1f2937}.btn-icon span[data-v-6a7c2080]{text-wrap:nowrap}.btn-icon .icon[data-v-6a7c2080]{font-size:2rem}.flex[data-v-6a7c2080]{display:flex;flex-wrap:wrap}.flex-col[data-v-6a7c2080]{flex-direction:column}.items-center[data-v-6a7c2080]{align-items:center}.gap-2[data-v-6a7c2080]{gap:.5rem}.mb-2[data-v-6a7c2080]{margin-bottom:8px}.mt-2[data-v-6a7c2080]{margin-top:8px}.content-disabled[data-v-6a7c2080]{-webkit-filter:grayscale(1);filter:grayscale(1);opacity:.5}.justify-between[data-v-6a7c2080]{justify-content:space-between}.spinner_ajPY[data-v-d9a6b2b7]{fill:#fe6d00;transform-origin:center;animation:spinner_AtaB-d9a6b2b7 .75s infinite linear}@keyframes spinner_AtaB-d9a6b2b7{to{transform:rotate(360deg)}}.btn-primary[data-v-b7371fd9]{padding:10px 12px}.btn-primary[data-v-b7371fd9][data-v-b7371fd9]:hover{background-color:#f28b0c1a}.btn-close[data-v-b7371fd9]{padding:0;background-color:transparent;border:none;display:flex;align-items:center;border-radius:50%}.btn-close[data-v-b7371fd9][data-v-b7371fd9]:hover{background-color:#cacaca88}.messages-container[data-v-b7371fd9]{position:relative}.loader[data-v-b7371fd9]{position:absolute;top:18px;z-index:5;left:50%;transform:translate(-50%,-50%)}.fit[data-v-b7371fd9]{width:100%;height:100%;position:relative}.center[data-v-b7371fd9]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.message-send-block[data-v-b7371fd9]{display:block;margin:1.5rem;text-align:center}.header-widget{height:5%;display:flex;justify-content:space-between;align-items:center}.jl2-input-chat{height:20px;width:95%;border:none;resize:none;margin-left:8px;margin-top:8px;margin-bottom:8px;overflow:hidden;max-height:10rem}.jl2-input-chat:focus-visible{outline:none}.jl-inputgroup-chat{width:100%;border:1px solid;border-color:#f28b0c;background:var(--surface-a);color:var(--surface-500);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:13px;display:flex;justify-content:space-around;align-items:center}.jl-inputgroup-chat>input{border:none;background:none}.jl-inputgroup-chat>input:hover{outline:none}.form-message{display:flex;justify-content:space-between}.form-message button,.jl-inputgroup-chat>button{border:none!important;background:none}.form-message button,.jl-inputgroup-chat>button:focus{box-shadow:none}.form-message button,.jl-inputgroup-chat>button:active{box-shadow:none}.widget{margin:auto;height:100%;display:flex;width:100%;flex-direction:column;justify-content:space-evenly}.messages-container{height:80%;overflow-y:scroll;border:1px solid lightgray;border-radius:.5rem;scrollbar-color:red transparent;scrollbar-width:thin;scrollbar-color:#F28B0C transparent;scrollbar-track-color:transparent;scrollbar-face-color:#F28B0C;scrollbar-thumb-color:#F28B0C}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background-color:transparent}.messages-container::-webkit-scrollbar-thumb{background-color:#f28b0c;border-radius:8px}.input-message{border-left:1px solid var(--fge-gray-lines-color);border-right:1px solid var(--fge-gray-lines-color)}.message-send{padding-top:20px;width:90%;margin:auto}#chat-circle{margin:auto;position:fixed;bottom:50px;right:50px;color:#fff;cursor:pointer}.title-chat{font-size:1rem;font-weight:700;color:var(--chat-text-color);margin:0}.chat-box{display:flex;justify-content:center;align-items:center;border:2px solid #d9d9d9;border-radius:25px;padding:5px 15px 30px;background:#fff;position:fixed;right:30px;bottom:50px;width:450px;height:70vh;max-width:85vw;max-height:80vh;box-shadow:0 5px 35px 9px #ccc}.pointer{cursor:pointer}.disabled[data-v-c7da0c7e]{color:currentColor;cursor:not-allowed!important;opacity:.4!important;text-decoration:none}.container-buttons-chat[data-v-c7da0c7e]{position:relative;right:-1.8rem}.button[data-v-c7da0c7e]{position:absolute;width:2.5rem;height:2.5rem;opacity:0;box-shadow:0 1px 3px 1px silver;border-radius:100%;border:1px solid white;background-color:#fff;overflow:hidden;cursor:pointer;transition:transform .5s ease,opacity .3s ease;z-index:-1}.container-buttons-chat.active>a[data-v-c7da0c7e]{z-index:1;opacity:1}.container-buttons-chat.active .whatsapp[data-v-c7da0c7e]{transform:translateY(-150px)}.container-buttons-chat.active .telegram[data-v-c7da0c7e]{transform:translateY(-100px)}.container-buttons-chat.active .webchat[data-v-c7da0c7e]{transform:translateY(-50px)}.widget-container[data-v-c7da0c7e]{position:relative}.new-message-badge[data-v-c7da0c7e]{position:absolute;background-color:red;width:30px;height:30px;display:flex;font-family:Roboto,sans-serif;align-items:center;font-weight:500;justify-content:center;border-radius:50%;right:-2px;top:-4px;z-index:2}
1
+ .bubble[data-v-586d8c26]{--r: 25px;--t: 30px;padding:calc(2 * var(--r) / 3);-webkit-mask:radial-gradient(var(--t) at var(--_d) 0,#0000 98%,#000 102%) var(--_d) 100% / calc(100% - var(--r)) var(--t) no-repeat,conic-gradient(at var(--r) var(--r),#000 75%,#0000 0) calc(var(--r) / -2) calc(var(--r) / -2) padding-box,radial-gradient(50% 50%,#000 98%,#0000 101%) 0 0 / var(--r) var(--r) space padding-box;mask:radial-gradient(var(--t) at var(--_d) 0,#0000 98%,#000 102%) var(--_d) 100% / calc(100% - var(--r)) var(--t) no-repeat,conic-gradient(at var(--r) var(--r),#000 75%,#0000 0) calc(var(--r) / -2) calc(var(--r) / -2) padding-box,radial-gradient(50% 50%,#000 98%,#0000 101%) 0 0 / var(--r) var(--r) space padding-box;color:#fff;height:100%}.left[data-v-586d8c26]{--_d: 0%;border-left:var(--t) solid #0000;margin-right:0;background-color:#fcd7ae;color:#4d4d4d}.bubble>.content-left[data-v-586d8c26]{margin-right:10px;margin-bottom:1px}.right[data-v-586d8c26]{--_d: 100%;border-right:var(--t) solid #0000;margin-right:0;background-color:#fdeedb;color:#4d4d4d}.bubble>.content-right[data-v-586d8c26]{margin-bottom:1px;margin-right:10px}.message-text[data-v-586d8c26]{margin-bottom:10px;overflow-wrap:break-word}.detail-message[data-v-586d8c26]{font-size:10px;color:gray;display:flex;justify-content:space-between}.chat-message[data-v-586d8c26]{display:flex;flex-direction:column;justify-content:center}.message[data-v-586d8c26]{width:100%;display:flex}.message-left[data-v-586d8c26]{justify-content:start}.message-right[data-v-586d8c26]{justify-content:end}.target[data-v-586d8c26]{padding:.5rem 0;width:100%}.btn-danger[data-v-586d8c26]{background-color:transparent;border:0;border-radius:50%;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.btn-danger svg[data-v-586d8c26]{width:24px;height:24px}.btn-danger[data-v-586d8c26]:hover{background-color:#ff00003a}.btn-container-widget[data-v-586d8c26]{display:flex;align-items:center;position:absolute;left:-40px;top:50%;transform:translateY(-50%)}.message-container[data-v-586d8c26]{min-width:80%;max-width:80%;position:relative;margin-bottom:.5rem}.messages-container-list[data-v-586d8c26]{width:100%}.icon[data-v-586d8c26]{width:2rem}.btn-icon[data-v-586d8c26]{text-decoration:none;border:none;color:#9ca3af}.btn-icon[data-v-586d8c26]:hover:not(.content-disabled){color:#1f2937}.btn-icon span[data-v-586d8c26]{text-wrap:nowrap}.btn-icon .icon[data-v-586d8c26]{font-size:2rem}.content-disabled[data-v-586d8c26]{-webkit-filter:grayscale(1);filter:grayscale(1);opacity:.5}.spinner_ajPY[data-v-d9a6b2b7]{fill:#fe6d00;transform-origin:center;animation:spinner_AtaB-d9a6b2b7 .75s infinite linear}@keyframes spinner_AtaB-d9a6b2b7{to{transform:rotate(360deg)}}.dialog-overlay[data-v-464062bd]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;opacity:0;animation:fadeIn-464062bd .3s forwards}.dialog-content[data-v-464062bd]{background-color:#fff;padding:15px;border-radius:8px;text-align:center;animation:slideIn-464062bd .3s ease-out forwards}@keyframes fadeIn-464062bd{to{opacity:1}}@keyframes slideIn-464062bd{0%{transform:translateY(-50px)}to{transform:translateY(0)}}.dialog-overlay.v-enter-active[data-v-464062bd],.dialog-overlay.v-leave-active[data-v-464062bd]{transition:opacity .3s}.btn-close[data-v-464062bd]{padding:0;background-color:transparent;border:none;display:flex;align-items:center;border-radius:50%}.btn-close[data-v-464062bd]:hover{background-color:#cacaca88}.btn-primary[data-v-09b77879]{padding:10px 12px}.btn-primary[data-v-09b77879]:hover{background-color:#f28b0c1a}.btn-close[data-v-09b77879]{padding:0;background-color:transparent;border:none;display:flex;align-items:center;border-radius:50%}.btn-close[data-v-09b77879]:hover{background-color:#cacaca88}.messages-container[data-v-09b77879]{position:relative}.loader[data-v-09b77879]{position:absolute;top:18px;z-index:5;left:50%;transform:translate(-50%,-50%)}.fit[data-v-09b77879]{width:100%;height:100%;position:relative}.center[data-v-09b77879]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.message-send-block[data-v-09b77879]{display:block;margin:1.5rem;text-align:center}.header-widget{height:5%;display:flex;justify-content:space-between;align-items:center}.jl2-input-chat{height:20px;width:95%;border:none;resize:none;margin-left:8px;margin-top:8px;margin-bottom:8px;overflow:hidden;max-height:10rem}.jl2-input-chat:focus-visible{outline:none}.jl-inputgroup-chat{width:100%;border:1px solid;border-color:#f28b0c;background:var(--surface-a);color:var(--surface-500);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:13px;display:flex;justify-content:space-around;align-items:center}.jl-inputgroup-chat>input{border:none;background:none}.jl-inputgroup-chat>input:hover{outline:none}.form-message{display:flex;justify-content:space-between}.form-message button,.jl-inputgroup-chat>button{border:none!important;background:none}.form-message button,.jl-inputgroup-chat>button:focus{box-shadow:none}.form-message button,.jl-inputgroup-chat>button:active{box-shadow:none}.widget{margin:auto;height:100%;display:flex;width:100%;flex-direction:column;justify-content:space-evenly}.messages-container{height:80%;overflow-y:scroll;border:1px solid lightgray;border-radius:.5rem;scrollbar-color:red transparent;scrollbar-width:thin;scrollbar-color:#F28B0C transparent;scrollbar-track-color:transparent;scrollbar-face-color:#F28B0C;scrollbar-thumb-color:#F28B0C}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background-color:transparent}.messages-container::-webkit-scrollbar-thumb{background-color:#f28b0c;border-radius:8px}.input-message{border-left:1px solid var(--fge-gray-lines-color);border-right:1px solid var(--fge-gray-lines-color)}.message-send{padding-top:20px;width:90%;margin:auto}#chat-circle{margin:auto;position:fixed;bottom:50px;right:50px;color:#fff;cursor:pointer}.title-chat{font-size:1rem;font-weight:700;color:var(--chat-text-color);margin:0}.chat-box{display:flex;justify-content:center;align-items:center;border:2px solid #d9d9d9;border-radius:25px;padding:5px 15px 30px;background:#fff;position:fixed;right:30px;bottom:50px;width:450px;height:70vh;max-width:85vw;max-height:80vh;box-shadow:0 5px 35px 9px #ccc}.pointer{cursor:pointer}.w-full{width:100%}.flex{display:flex;flex-wrap:wrap}.flex-col{flex-direction:column}.items-center{align-items:center}.gap-2{gap:.5rem}.mb-2{margin-bottom:8px}.mt-2{margin-top:8px}.justify-between{justify-content:space-between}.disabled[data-v-513a6cb7]{color:currentColor;cursor:not-allowed!important;opacity:.4!important;text-decoration:none}.container-buttons-chat[data-v-513a6cb7]{position:relative;right:-1.8rem}.button[data-v-513a6cb7]{position:absolute;width:2.5rem;height:2.5rem;opacity:0;box-shadow:0 1px 3px 1px silver;border-radius:100%;border:1px solid white;background-color:#fff;overflow:hidden;cursor:pointer;transition:transform .5s ease,opacity .3s ease;z-index:-1}.container-buttons-chat.active>a[data-v-513a6cb7]{z-index:1;opacity:1}.container-buttons-chat.active .whatsapp[data-v-513a6cb7]{transform:translateY(-150px)}.container-buttons-chat.active .telegram[data-v-513a6cb7]{transform:translateY(-100px)}.container-buttons-chat.active .webchat[data-v-513a6cb7]{transform:translateY(-50px)}.widget-container[data-v-513a6cb7]{position:relative}.new-message-badge[data-v-513a6cb7]{position:absolute;background-color:red;width:30px;height:30px;display:flex;font-family:Roboto,sans-serif;align-items:center;font-weight:500;justify-content:center;border-radius:50%;right:-2px;top:-4px;z-index:2}