vue-wiguet-chatweb 0.1.34 → 0.1.36

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. package/README.md +68 -68
  2. package/dist/App.vue.d.ts +2 -0
  3. package/dist/components/Chat.vue.d.ts +5 -2
  4. package/dist/components/ChatMessage.vue.d.ts +12 -0
  5. package/dist/components/DangerIcon.vue.d.ts +1 -1
  6. package/dist/components/IconAttach.vue.d.ts +1 -1
  7. package/dist/components/IconChat.vue.d.ts +1 -1
  8. package/dist/components/IconClose.vue.d.ts +1 -1
  9. package/dist/components/IconSend.vue.d.ts +1 -1
  10. package/dist/components/IconTelegram.vue.d.ts +1 -1
  11. package/dist/components/IconWhatsApp.vue.d.ts +1 -1
  12. package/dist/components/Loader.vue.d.ts +1 -1
  13. package/dist/components/MessageList.vue.d.ts +3 -2
  14. package/dist/components/ODialog/IPropsDialog.d.ts +0 -1
  15. package/dist/components/ODialog/ODialog.vue.d.ts +13 -15
  16. package/dist/components/Widget.vue.d.ts +1 -2
  17. package/dist/dto/app.dto.d.ts +0 -1
  18. package/dist/index.d.ts +0 -1
  19. package/dist/main.d.ts +0 -1
  20. package/dist/store/config.d.ts +0 -1
  21. package/dist/store/index.d.ts +0 -1
  22. package/dist/style.css +1 -1
  23. package/dist/vue-wiguet-chatweb.js +792 -755
  24. package/dist/vue-wiguet-chatweb.umd.cjs +26 -26
  25. package/package.json +66 -66
  26. package/src/assets/emojis/AngryIcon.svg +4 -4
  27. package/src/assets/emojis/HappiestIcon.svg +4 -4
  28. package/src/assets/emojis/HappyIcon.svg +4 -4
  29. package/src/assets/emojis/NeutralIcon.svg +4 -4
  30. package/src/assets/emojis/SadIcon.svg +4 -4
  31. package/src/components/Chat.vue +716 -696
  32. package/src/components/ChatMessage.vue +102 -102
  33. package/src/components/DangerIcon.vue +12 -12
  34. package/src/components/IconAttach.vue +24 -24
  35. package/src/components/IconChat.vue +23 -23
  36. package/src/components/IconClose.vue +5 -5
  37. package/src/components/IconSend.vue +8 -8
  38. package/src/components/IconTelegram.vue +28 -28
  39. package/src/components/IconWhatsApp.vue +39 -39
  40. package/src/components/IconWidget.vue +45 -45
  41. package/src/components/Loader.vue +31 -31
  42. package/src/components/LoadingComponent.vue +111 -111
  43. package/src/components/MessageList.vue +357 -357
  44. package/src/components/ODialog/IPropsDialog.ts +4 -4
  45. package/src/components/ODialog/IPropsSidebar.ts +13 -13
  46. package/src/components/ODialog/ODialog.vue +107 -107
  47. package/src/components/Widget.vue +196 -196
  48. package/src/components/__tests__/Chat.spec.ts +5 -5
  49. package/src/components/__tests__/ChatMessage.spec.ts +5 -5
  50. package/src/components/__tests__/MessageList.spec.ts +47 -47
package/README.md CHANGED
@@ -1,68 +1,68 @@
1
- ## Descripcion
2
-
3
- Paquete para el uso de CHAT CENTRAL mediante un widget chat,
4
-
5
- ## Instalacion
6
-
7
- Instalacion del paquete
8
- ```
9
- npm i vue-wiguet-chatweb
10
- ```
11
- ## Variables de Entorno
12
- ```env
13
- VITE_BACKEND_URL=https://...
14
- VITE_SOCKET_URI=http://...
15
- VITE_CELLPHONE_NUMBERS=591...
16
- ```
17
- ## configuracion de variables de Entorno
18
- ```typescript
19
-
20
- import widgetChatCentral from 'vue-wiguet-chatweb'
21
-
22
- const app = createApp(App);
23
-
24
- app.use(widgetChatCentral, {
25
- VITE_BACKEND_URL: import.meta.env.VITE_BACKEND_URL,
26
- VITE_SOCKET_URI: import.meta.env.VITE_SOCKET_URI,
27
- VITE_CELLPHONE_NUMBERS: import.meta.env.VITE_CELLPHONE_NUMBERS,
28
- });
29
-
30
- app.mount('#app');
31
- ```
32
- ### phoneUser: Registrado en RRHH
33
- ### tokenAuth: Auth MS-Seguridad V2
34
-
35
- ## Instalacion y Uso del Widget
36
- Configuracion de Paquete en el componente
37
- ```typescript
38
-
39
- <template>
40
- <div>
41
- <Widget
42
- titlePrincipal="titlePrincipal"
43
- :tokenAuth="token"
44
- :phoneUser="phone"
45
- @show-confirm="(e:any) => {
46
- e()
47
- }"
48
- :user="{
49
- nombreCompleto: '',
50
- ci: '',
51
- msPersonaId: 12345,
52
- }"
53
- />
54
- </div>
55
- </template>
56
-
57
-
58
- <script setup lang="ts">
59
- import Widget from './components/Widget.vue';
60
- const token = 'ciOi.....'
61
- const phone = '76177719'
62
- </script>
63
-
64
- <style scoped>
65
- @import url(/node_modules/vue-wiguet-chatweb/dist/style.css);
66
- </style>
67
-
68
- ```
1
+ ## Descripcion
2
+
3
+ Paquete para el uso de CHAT CENTRAL mediante un widget chat,
4
+
5
+ ## Instalacion
6
+
7
+ Instalacion del paquete
8
+ ```
9
+ npm i vue-wiguet-chatweb
10
+ ```
11
+ ## Variables de Entorno
12
+ ```env
13
+ VITE_BACKEND_URL=https://...
14
+ VITE_SOCKET_URI=http://...
15
+ VITE_CELLPHONE_NUMBERS=591...
16
+ ```
17
+ ## configuracion de variables de Entorno
18
+ ```typescript
19
+
20
+ import widgetChatCentral from 'vue-wiguet-chatweb'
21
+
22
+ const app = createApp(App);
23
+
24
+ app.use(widgetChatCentral, {
25
+ VITE_BACKEND_URL: import.meta.env.VITE_BACKEND_URL,
26
+ VITE_SOCKET_URI: import.meta.env.VITE_SOCKET_URI,
27
+ VITE_CELLPHONE_NUMBERS: import.meta.env.VITE_CELLPHONE_NUMBERS,
28
+ });
29
+
30
+ app.mount('#app');
31
+ ```
32
+ ### phoneUser: Registrado en RRHH
33
+ ### tokenAuth: Auth MS-Seguridad V2
34
+
35
+ ## Instalacion y Uso del Widget
36
+ Configuracion de Paquete en el componente
37
+ ```typescript
38
+
39
+ <template>
40
+ <div>
41
+ <Widget
42
+ titlePrincipal="titlePrincipal"
43
+ :tokenAuth="token"
44
+ :phoneUser="phone"
45
+ @show-confirm="(e:any) => {
46
+ e()
47
+ }"
48
+ :user="{
49
+ nombreCompleto: '',
50
+ ci: '',
51
+ msPersonaId: 12345,
52
+ }"
53
+ />
54
+ </div>
55
+ </template>
56
+
57
+
58
+ <script setup lang="ts">
59
+ import Widget from './components/Widget.vue';
60
+ const token = 'ciOi.....'
61
+ const phone = '76177719'
62
+ </script>
63
+
64
+ <style scoped>
65
+ @import url(/node_modules/vue-wiguet-chatweb/dist/style.css);
66
+ </style>
67
+
68
+ ```
@@ -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,4 @@
1
1
  import { PropType } from 'vue';
2
-
3
2
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
3
  titlePrincipal: {
5
4
  type: StringConstructor;
@@ -66,5 +65,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
66
65
  "onNot-viewed-total"?: ((...args: any[]) => any) | undefined;
67
66
  }>, {
68
67
  titlePrincipal: string;
69
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
68
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
69
+ messageContainerRef: HTMLDivElement;
70
+ textAreaRef: HTMLTextAreaElement;
71
+ fileInputRef: HTMLInputElement;
72
+ }, any>;
70
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
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,5 @@
1
1
  import { PropType } from 'vue';
2
2
  import { Message } from '../dto/app.dto';
3
-
4
3
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
5
4
  messages: {
6
5
  type: PropType<Message[]>;
@@ -32,5 +31,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
32
31
  }>, {
33
32
  messages: Message[];
34
33
  canLoadMoreMessages: boolean;
35
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
34
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
35
+ target: HTMLDivElement;
36
+ }, any>;
36
37
  export default _default;
@@ -1,4 +1,3 @@
1
1
  import { IPropsSidebar } from './IPropsSidebar';
2
-
3
2
  export interface IPropsDialog extends IPropsSidebar {
4
3
  }
@@ -1,22 +1,20 @@
1
1
  import { IPropsDialog } from './IPropsDialog';
2
-
3
- declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<IPropsDialog>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
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, {
4
12
  "update:modelValue": (...args: any[]) => void;
5
- }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<IPropsDialog>>> & Readonly<{
13
+ }, string, import('vue').PublicProps, Readonly<IPropsDialog> & Readonly<{
6
14
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
7
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, {
8
- default?(_: {}): any;
9
- }>;
15
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
10
17
  export default _default;
11
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
12
- type __VLS_TypePropsToRuntimeProps<T> = {
13
- [K in keyof T]-?: {} extends Pick<T, K> ? {
14
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
15
- } : {
16
- type: import('vue').PropType<T[K]>;
17
- required: true;
18
- };
19
- };
20
18
  type __VLS_WithTemplateSlots<T, S> = T & {
21
19
  new (): {
22
20
  $slots: S;
@@ -1,5 +1,4 @@
1
1
  import { PropType } from 'vue';
2
-
3
2
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
3
  tokenAuth: {
5
4
  type: StringConstructor;
@@ -50,5 +49,5 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
50
49
  "onShow-confirm"?: ((...args: any[]) => any) | undefined;
51
50
  }>, {
52
51
  isDarkMode: boolean;
53
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
52
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
54
53
  export default _default;
@@ -1,5 +1,4 @@
1
1
  import { TypeMessageTypeCodes } from '../resources/constants/message-type.constant';
2
-
3
2
  export interface IResponse<T> {
4
3
  error: boolean;
5
4
  message: string;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { default as Widget } from './components/Widget.vue';
2
-
3
2
  export { Widget };
4
3
  interface ENV {
5
4
  VITE_BACKEND_URL: string;
package/dist/main.d.ts CHANGED
@@ -1 +0,0 @@
1
-
@@ -1,5 +1,4 @@
1
1
  import { AxiosRequestConfig } from 'axios';
2
-
3
2
  export declare const apiCall: (getOptions: AxiosRequestConfig & {
4
3
  token?: string;
5
4
  }) => Promise<any>;
@@ -1,5 +1,4 @@
1
1
  import { ListMessageBody, ChatInformation, SendMessageBody, Message } from '../dto/app.dto';
2
-
3
2
  export declare const messagesByAppAndPhone: (data?: any) => Promise<any>;
4
3
  export declare const sendMessageByAppAndPhone: (data?: any) => Promise<void>;
5
4
  export declare function getMessagesApi(data: {
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .bubble[data-v-174338df]{--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-174338df]{--_d: 0%;border-left:var(--t) solid #0000;margin-right:0;background-color:#fcd7ae;color:#4d4d4d}.bubble>.content-left[data-v-174338df]{margin-right:10px;margin-bottom:1px}.right[data-v-174338df]{--_d: 100%;border-right:var(--t) solid #0000;margin-right:0;background-color:#fdeedb;color:#4d4d4d}.bubble>.content-right[data-v-174338df]{margin-bottom:1px;margin-right:10px}.message-text[data-v-174338df]{margin-bottom:10px;overflow-wrap:break-word}.detail-message[data-v-174338df]{font-size:10px;color:gray;display:flex;justify-content:space-between}.chat-message[data-v-174338df]{display:flex;flex-direction:column;justify-content:center}.message[data-v-174338df]{width:100%;display:flex}.message-left[data-v-174338df]{justify-content:start}.message-right[data-v-174338df]{justify-content:end}.target[data-v-174338df]{padding:.5rem 0;width:100%}.btn-danger[data-v-174338df]{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-174338df]{width:24px;height:24px}.btn-danger[data-v-174338df]:hover{background-color:#ff00003a}.btn-container-widget[data-v-174338df]{display:flex;align-items:center;position:absolute;left:-40px;top:50%;transform:translateY(-50%)}.message-container[data-v-174338df]{min-width:80%;max-width:80%;position:relative;margin-bottom:.5rem}.messages-container-list[data-v-174338df]{width:100%}.icon[data-v-174338df]{width:2rem}.btn-icon[data-v-174338df]{text-decoration:none;border:none;color:#9ca3af}.btn-icon[data-v-174338df]:hover:not(.content-disabled){color:#1f2937}.btn-icon span[data-v-174338df]{text-wrap:nowrap}.btn-icon .icon[data-v-174338df]{font-size:2rem}.content-disabled[data-v-174338df]{-webkit-filter:grayscale(1);filter:grayscale(1);opacity:.5}.spinner_ajPY[data-v-fbd4d28f]{fill:#fe6d00;transform-origin:center;animation:spinner_AtaB-fbd4d28f .75s infinite linear}@keyframes spinner_AtaB-fbd4d28f{to{transform:rotate(360deg)}}.dialog-overlay[data-v-2da20f36]{z-index:10001;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-2da20f36 .3s forwards}.dialog-content[data-v-2da20f36]{background-color:#fff;padding:15px;border-radius:8px;text-align:center;animation:slideIn-2da20f36 .3s ease-out forwards}@keyframes fadeIn-2da20f36{to{opacity:1}}@keyframes slideIn-2da20f36{0%{transform:translateY(-50px)}to{transform:translateY(0)}}.dialog-overlay.v-enter-active[data-v-2da20f36],.dialog-overlay.v-leave-active[data-v-2da20f36]{transition:opacity .3s}.btn-close[data-v-2da20f36]{padding:0;background-color:transparent;border:none;display:flex;align-items:center;border-radius:50%}.btn-close[data-v-2da20f36]:hover{background-color:#cacaca88}.btn-primary[data-v-b967b64a]{padding:10px 12px;color:var(--primary-color)}.btn-primary[data-v-b967b64a]:hover{background-color:#0000001a}.btn-close[data-v-b967b64a]{padding:0;background-color:transparent;border:none;display:flex;align-items:center;border-radius:50%}.btn-close[data-v-b967b64a]:hover{background-color:#cacaca88}.messages-container[data-v-b967b64a]{position:relative}.loader[data-v-b967b64a]{position:absolute;top:18px;z-index:5;left:50%;transform:translate(-50%,-50%)}.fit[data-v-b967b64a]{width:100%;height:100%;position:relative}.center[data-v-b967b64a]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.message-send-block[data-v-b967b64a]{display:block;margin:1.5rem;text-align:center}:root{--primary-color: var(--primary-color-500, #513c86)}.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:var(--primary-color);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:var(--primary-color) transparent;scrollbar-track-color:transparent;scrollbar-face-color:var(--primary-color);scrollbar-thumb-color:var(--primary-color)}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background-color:transparent}.messages-container::-webkit-scrollbar-thumb{background-color:var(--primary-color);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%}.widget-component .flex{display:flex;flex-wrap:wrap}.widget-component .flex-col{flex-direction:column}.widget-component .items-center{align-items:center}.widget-component .gap-2{gap:.5rem}.widget-component .mb-2{margin-bottom:8px}.widget-component .mt-2{margin-top:8px}.widget-component .justify-between{justify-content:space-between}.disabled[data-v-06656e8a]{color:currentColor;cursor:not-allowed!important;opacity:.4!important;text-decoration:none}.container-buttons-chat[data-v-06656e8a]{position:relative;right:-1.8rem}.button[data-v-06656e8a]{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-06656e8a]{z-index:1;opacity:1}.container-buttons-chat.active .whatsapp[data-v-06656e8a]{transform:translateY(-150px)}.container-buttons-chat.active .telegram[data-v-06656e8a]{transform:translateY(-100px)}.container-buttons-chat.active .webchat[data-v-06656e8a]{transform:translateY(-50px)}.widget-container[data-v-06656e8a]{position:relative}.new-message-badge[data-v-06656e8a]{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}.btn-primary[data-v-06656e8a]{color:var(--primary-color)}.btn-primary[data-v-06656e8a]:hover{opacity:.7}
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-532e0111]{z-index:10001;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-532e0111 .3s forwards}.dialog-content[data-v-532e0111]{background-color:#fff;padding:15px;border-radius:8px;text-align:center;animation:slideIn-532e0111 .3s ease-out forwards}@keyframes fadeIn-532e0111{to{opacity:1}}@keyframes slideIn-532e0111{0%{transform:translateY(-50px)}to{transform:translateY(0)}}.dialog-overlay.v-enter-active[data-v-532e0111],.dialog-overlay.v-leave-active[data-v-532e0111]{transition:opacity .3s}.btn-close[data-v-532e0111]{padding:0;background-color:transparent;border:none;display:flex;align-items:center;border-radius:50%}.btn-close[data-v-532e0111]:hover{background-color:#cacaca88}.btn-primary[data-v-21cc9c5d]{padding:10px 12px;color:var(--primary-color)}.btn-primary[data-v-21cc9c5d]:hover{background-color:#0000001a}.btn-close[data-v-21cc9c5d]{padding:0;background-color:transparent;border:none;display:flex;align-items:center;border-radius:50%}.btn-close[data-v-21cc9c5d]:hover{background-color:#cacaca88}.messages-container[data-v-21cc9c5d]{position:relative}.loader[data-v-21cc9c5d]{position:absolute;top:18px;z-index:5;left:50%;transform:translate(-50%,-50%)}.fit[data-v-21cc9c5d]{width:100%;height:100%;position:relative}.center[data-v-21cc9c5d]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.message-send-block[data-v-21cc9c5d]{display:block;margin:1.5rem;text-align:center}:root{--primary-color: var(--primary-color-500, #513c86)}.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:var(--primary-color);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:var(--primary-color) transparent;scrollbar-track-color:transparent;scrollbar-face-color:var(--primary-color);scrollbar-thumb-color:var(--primary-color)}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background-color:transparent}.messages-container::-webkit-scrollbar-thumb{background-color:var(--primary-color);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%}.widget-component .flex{display:flex;flex-wrap:wrap}.widget-component .flex-col{flex-direction:column}.widget-component .items-center{align-items:center}.widget-component .gap-2{gap:.5rem}.widget-component .mb-2{margin-bottom:8px}.widget-component .mt-2{margin-top:8px}.widget-component .justify-between{justify-content:space-between}.disabled[data-v-b1fda095]{color:currentColor;cursor:not-allowed!important;opacity:.4!important;text-decoration:none}.container-buttons-chat[data-v-b1fda095]{position:relative;right:-1.8rem}.button[data-v-b1fda095]{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-b1fda095]{z-index:1;opacity:1}.container-buttons-chat.active .whatsapp[data-v-b1fda095]{transform:translateY(-150px)}.container-buttons-chat.active .telegram[data-v-b1fda095]{transform:translateY(-100px)}.container-buttons-chat.active .webchat[data-v-b1fda095]{transform:translateY(-50px)}.widget-container[data-v-b1fda095]{position:relative}.new-message-badge[data-v-b1fda095]{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}.btn-primary[data-v-b1fda095]{color:var(--primary-color)}.btn-primary[data-v-b1fda095]:hover{opacity:.7}