vue-wiguet-chatweb 0.1.28 → 0.1.29

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/components/Chat.vue.d.ts +2 -5
  3. package/dist/components/DangerIcon.vue.d.ts +1 -1
  4. package/dist/components/IconAttach.vue.d.ts +1 -1
  5. package/dist/components/IconChat.vue.d.ts +1 -1
  6. package/dist/components/IconClose.vue.d.ts +1 -1
  7. package/dist/components/IconSend.vue.d.ts +1 -1
  8. package/dist/components/IconTelegram.vue.d.ts +1 -1
  9. package/dist/components/IconWhatsApp.vue.d.ts +1 -1
  10. package/dist/components/Loader.vue.d.ts +1 -1
  11. package/dist/components/MessageList.vue.d.ts +2 -3
  12. package/dist/components/ODialog/IPropsDialog.d.ts +1 -0
  13. package/dist/components/ODialog/ODialog.vue.d.ts +15 -13
  14. package/dist/components/Widget.vue.d.ts +2 -1
  15. package/dist/dto/app.dto.d.ts +1 -0
  16. package/dist/index.d.ts +1 -0
  17. package/dist/main.d.ts +1 -0
  18. package/dist/store/config.d.ts +1 -0
  19. package/dist/store/index.d.ts +1 -0
  20. package/dist/style.css +1 -1
  21. package/dist/vue-wiguet-chatweb.js +1769 -1829
  22. package/dist/vue-wiguet-chatweb.umd.cjs +26 -26
  23. package/package.json +66 -66
  24. package/src/assets/emojis/AngryIcon.svg +4 -4
  25. package/src/assets/emojis/HappiestIcon.svg +4 -4
  26. package/src/assets/emojis/HappyIcon.svg +4 -4
  27. package/src/assets/emojis/NeutralIcon.svg +4 -4
  28. package/src/assets/emojis/SadIcon.svg +4 -4
  29. package/src/components/Chat.vue +691 -691
  30. package/src/components/ChatMessage.vue +102 -102
  31. package/src/components/DangerIcon.vue +12 -12
  32. package/src/components/IconAttach.vue +24 -24
  33. package/src/components/IconChat.vue +23 -23
  34. package/src/components/IconClose.vue +5 -5
  35. package/src/components/IconSend.vue +8 -8
  36. package/src/components/IconTelegram.vue +28 -28
  37. package/src/components/IconWhatsApp.vue +39 -39
  38. package/src/components/IconWidget.vue +45 -45
  39. package/src/components/Loader.vue +31 -31
  40. package/src/components/LoadingComponent.vue +111 -111
  41. package/src/components/MessageList.vue +357 -357
  42. package/src/components/ODialog/IPropsDialog.ts +4 -4
  43. package/src/components/ODialog/IPropsSidebar.ts +13 -13
  44. package/src/components/ODialog/ODialog.vue +106 -84
  45. package/src/components/Widget.vue +187 -205
  46. package/src/components/__tests__/Chat.spec.ts +5 -5
  47. package/src/components/__tests__/ChatMessage.spec.ts +5 -5
  48. package/src/components/__tests__/MessageList.spec.ts +47 -47
  49. package/dist/App.vue.d.ts +0 -2
  50. package/dist/components/ChatMessage.vue.d.ts +0 -12
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
+ ```
@@ -1,4 +1,5 @@
1
1
  import { PropType } from 'vue';
2
+
2
3
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
3
4
  titlePrincipal: {
4
5
  type: StringConstructor;
@@ -65,9 +66,5 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
65
66
  "onNot-viewed-total"?: ((...args: any[]) => any) | undefined;
66
67
  }>, {
67
68
  titlePrincipal: string;
68
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
69
- messageContainerRef: HTMLDivElement;
70
- textAreaRef: HTMLTextAreaElement;
71
- fileInputRef: HTMLInputElement;
72
- }, any>;
69
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
73
70
  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, {}, SVGSVGElement>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
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').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
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,5 +1,6 @@
1
1
  import { PropType } from 'vue';
2
2
  import { Message } from '../dto/app.dto';
3
+
3
4
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
5
  messages: {
5
6
  type: PropType<Message[]>;
@@ -31,7 +32,5 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
31
32
  }>, {
32
33
  messages: Message[];
33
34
  canLoadMoreMessages: boolean;
34
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
35
- target: HTMLDivElement;
36
- }, any>;
35
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
37
36
  export default _default;
@@ -1,3 +1,4 @@
1
1
  import { IPropsSidebar } from './IPropsSidebar';
2
+
2
3
  export interface IPropsDialog extends IPropsSidebar {
3
4
  }
@@ -1,20 +1,22 @@
1
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, {
2
+
3
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<IPropsDialog>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
12
4
  "update:modelValue": (...args: any[]) => void;
13
- }, string, import('vue').PublicProps, Readonly<IPropsDialog> & Readonly<{
5
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<IPropsDialog>>> & Readonly<{
14
6
  "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"]>;
7
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, {
8
+ default?(_: {}): any;
9
+ }>;
17
10
  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
+ };
18
20
  type __VLS_WithTemplateSlots<T, S> = T & {
19
21
  new (): {
20
22
  $slots: S;
@@ -1,4 +1,5 @@
1
1
  import { PropType } from 'vue';
2
+
2
3
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
3
4
  tokenAuth: {
4
5
  type: StringConstructor;
@@ -49,5 +50,5 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
49
50
  "onShow-confirm"?: ((...args: any[]) => any) | undefined;
50
51
  }>, {
51
52
  isDarkMode: boolean;
52
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
53
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
53
54
  export default _default;
@@ -1,4 +1,5 @@
1
1
  import { TypeMessageTypeCodes } from '../resources/constants/message-type.constant';
2
+
2
3
  export interface IResponse<T> {
3
4
  error: boolean;
4
5
  message: string;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { default as Widget } from './components/Widget.vue';
2
+
2
3
  export { Widget };
3
4
  interface ENV {
4
5
  VITE_BACKEND_URL: string;
package/dist/main.d.ts CHANGED
@@ -0,0 +1 @@
1
+
@@ -1,4 +1,5 @@
1
1
  import { AxiosRequestConfig } from 'axios';
2
+
2
3
  export declare const apiCall: (getOptions: AxiosRequestConfig & {
3
4
  token?: string;
4
5
  }) => Promise<any>;
@@ -1,4 +1,5 @@
1
1
  import { ListMessageBody, ChatInformation, SendMessageBody, Message } from '../dto/app.dto';
2
+
2
3
  export declare const messagesByAppAndPhone: (data?: any) => Promise<any>;
3
4
  export declare const sendMessageByAppAndPhone: (data?: any) => Promise<void>;
4
5
  export declare function getMessagesApi(data: {
package/dist/style.css CHANGED
@@ -1 +1 @@
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%}.widget .flex{display:flex;flex-wrap:wrap}.widget .flex-col{flex-direction:column}.widget .items-center{align-items:center}.widget .gap-2{gap:.5rem}.widget .mb-2{margin-bottom:8px}.widget .mt-2{margin-top:8px}.widget .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}
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-3ae4d7ec]{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-3ae4d7ec .3s forwards}.dialog-content[data-v-3ae4d7ec]{background-color:#fff;padding:15px;border-radius:8px;text-align:center;animation:slideIn-3ae4d7ec .3s ease-out forwards}@keyframes fadeIn-3ae4d7ec{to{opacity:1}}@keyframes slideIn-3ae4d7ec{0%{transform:translateY(-50px)}to{transform:translateY(0)}}.dialog-overlay.v-enter-active[data-v-3ae4d7ec],.dialog-overlay.v-leave-active[data-v-3ae4d7ec]{transition:opacity .3s}.btn-close[data-v-3ae4d7ec]{padding:0;background-color:transparent;border:none;display:flex;align-items:center;border-radius:50%}.btn-close[data-v-3ae4d7ec]:hover{background-color:#cacaca88}.btn-primary[data-v-bf9ef2ee]{padding:10px 12px}.btn-primary[data-v-bf9ef2ee]:hover{background-color:#f28b0c1a}.btn-close[data-v-bf9ef2ee]{padding:0;background-color:transparent;border:none;display:flex;align-items:center;border-radius:50%}.btn-close[data-v-bf9ef2ee]:hover{background-color:#cacaca88}.messages-container[data-v-bf9ef2ee]{position:relative}.loader[data-v-bf9ef2ee]{position:absolute;top:18px;z-index:5;left:50%;transform:translate(-50%,-50%)}.fit[data-v-bf9ef2ee]{width:100%;height:100%;position:relative}.center[data-v-bf9ef2ee]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.message-send-block[data-v-bf9ef2ee]{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%}.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-74c6ab0f]{color:currentColor;cursor:not-allowed!important;opacity:.4!important;text-decoration:none}.container-buttons-chat[data-v-74c6ab0f]{position:relative;right:-1.8rem}.button[data-v-74c6ab0f]{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-74c6ab0f]{z-index:1;opacity:1}.container-buttons-chat.active .whatsapp[data-v-74c6ab0f]{transform:translateY(-150px)}.container-buttons-chat.active .telegram[data-v-74c6ab0f]{transform:translateY(-100px)}.container-buttons-chat.active .webchat[data-v-74c6ab0f]{transform:translateY(-50px)}.widget-container[data-v-74c6ab0f]{position:relative}.new-message-badge[data-v-74c6ab0f]{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}