vue-wiguet-chatweb 0.1.28 → 0.1.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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}