vue-intergrall-plugins 1.1.90 → 1.2.18
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.
- package/README.md +220 -220
- package/dist/dist/vue-intergrall-plugins.css +1 -1
- package/dist/vue-intergrall-plugins.esm.js +223 -89
- package/dist/vue-intergrall-plugins.min.js +11 -11
- package/dist/vue-intergrall-plugins.ssr.js +276 -147
- package/package.json +1 -1
- package/src/lib-components/Buttons/IconButton.vue +27 -27
- package/src/lib-components/Buttons/SimpleButton.vue +140 -140
- package/src/lib-components/Cards/Card.vue +490 -490
- package/src/lib-components/Cards/CardCheck.vue +35 -35
- package/src/lib-components/Cards/CardFile.vue +163 -163
- package/src/lib-components/Chat/BtnDownloadAllFiles.vue +36 -36
- package/src/lib-components/Chat/BtnEmojis.vue +118 -118
- package/src/lib-components/Chat/BtnExpand.vue +17 -17
- package/src/lib-components/Chat/BtnFiles.vue +486 -486
- package/src/lib-components/Chat/BtnMic.vue +60 -60
- package/src/lib-components/Chat/BtnScreenShare.vue +31 -31
- package/src/lib-components/Chat/BtnStandardMessages.vue +17 -17
- package/src/lib-components/Chat/ExpandTextarea.vue +427 -427
- package/src/lib-components/Chat/MultipleFilePreview.vue +291 -291
- package/src/lib-components/Chat/Picker.vue +525 -525
- package/src/lib-components/Chat/RemainingCharacters.vue +28 -28
- package/src/lib-components/Chat/SingleFilePreview.vue +94 -94
- package/src/lib-components/Chat/SkeletonPicker.vue +110 -110
- package/src/lib-components/Chat/StandardMessages.vue +252 -252
- package/src/lib-components/Chat/TextFooter.vue +1007 -1007
- package/src/lib-components/Email/EmailExpanded.vue +270 -270
- package/src/lib-components/Email/EmailFile.vue +192 -192
- package/src/lib-components/Email/EmailFrom.vue +66 -66
- package/src/lib-components/Email/EmailItem.vue +867 -850
- package/src/lib-components/Email/EmailTo.vue +64 -64
- package/src/lib-components/Loader/Loader.vue +78 -78
- package/src/lib-components/Messages/AnexoMensagem.vue +625 -497
- package/src/lib-components/Messages/CardAttachment.vue +61 -61
- package/src/lib-components/Messages/CardMessages.vue +687 -687
- package/src/lib-components/Messages/ChatMessages.vue +259 -78
- package/src/lib-components/Messages/InteratividadeBotoes.vue +197 -197
- package/src/lib-components/Messages/InteratividadeContato.vue +32 -32
- package/src/lib-components/Messages/InteratividadeContatoItem.vue +235 -235
- package/src/lib-components/Messages/InteratividadeFormulario.vue +334 -334
- package/src/lib-components/Messages/InteratividadePopup.vue +95 -95
- package/src/lib-components/Messages/LinkPreview.vue +176 -176
- package/src/lib-components/Scroll/ScrollContent.vue +166 -166
- package/src/lib-components/Templates/TemplateGenerator.vue +640 -640
- package/src/lib-components/Templates/TemplateMessage.vue +83 -83
- package/src/lib-components/Templates/TemplateSingle.vue +478 -478
package/README.md
CHANGED
|
@@ -1,220 +1,220 @@
|
|
|
1
|
-
# :earth_americas: Vue IntergrAll Plugins
|
|
2
|
-
|
|
3
|
-
Biblioteca de plugins feitos em Vue para serem utilizados em qualquer lugar dentro das necessidades do Sistema IntergrAll.
|
|
4
|
-
|
|
5
|
-

|
|
6
|
-
|
|
7
|
-
## Template Generator:
|
|
8
|
-
|
|
9
|
-
### Props:
|
|
10
|
-
|
|
11
|
-
**templates:**
|
|
12
|
-
|
|
13
|
-
- type: Object
|
|
14
|
-
- required: true
|
|
15
|
-
- desc: Objeto dos templates a serem exibidos.
|
|
16
|
-
|
|
17
|
-
**identifier:**
|
|
18
|
-
|
|
19
|
-
- type: String
|
|
20
|
-
- required: true
|
|
21
|
-
- desc: Identificador único para o componente. Útil para caso seja necessário disparar uma função de dentro do componente.
|
|
22
|
-
|
|
23
|
-
**dictionary:**
|
|
24
|
-
|
|
25
|
-
- type: Object
|
|
26
|
-
- required: true
|
|
27
|
-
- desc: Dicionário de palavras a ser utilizado no componente.
|
|
28
|
-
|
|
29
|
-
**hasButton:**
|
|
30
|
-
|
|
31
|
-
- type: Boolean
|
|
32
|
-
- required: false
|
|
33
|
-
- default: true
|
|
34
|
-
- desc: Exibir botão de envio. Faz a emissão do evento @click-trigger.
|
|
35
|
-
|
|
36
|
-
**iconButton:**
|
|
37
|
-
|
|
38
|
-
- type: Boolean
|
|
39
|
-
- required: false
|
|
40
|
-
- desc: Estiliza o botão para ser apenas um ícone 'fas fa-paperplane'. Para funcionar a opção hasButton deve ser true (default).
|
|
41
|
-
|
|
42
|
-
**columnSelect:**
|
|
43
|
-
|
|
44
|
-
- type: Boolean
|
|
45
|
-
- required: false
|
|
46
|
-
- desc: Torna o container do select de templates em coluna, onde encima ficará o título, "Template:" e embaixo o select. O padrão é o título e o select na mesma linha.
|
|
47
|
-
|
|
48
|
-
**resizeParentOnSelect:**
|
|
49
|
-
|
|
50
|
-
- type: Boolean
|
|
51
|
-
- required: false
|
|
52
|
-
- desc: Indica ao selecionar um template que o componente pai deve ter seu tamanho corrigido caso não faça isso naturalmente. Faz a emissão do evento @resize-parent.
|
|
53
|
-
|
|
54
|
-
**placement:**
|
|
55
|
-
|
|
56
|
-
- type: String
|
|
57
|
-
- required: false
|
|
58
|
-
- default: "bottom"
|
|
59
|
-
- desc: Indica se as opções do select devem abrir para cima('top'), ou para baixo('bottom', default).
|
|
60
|
-
|
|
61
|
-
**allVariables:**
|
|
62
|
-
|
|
63
|
-
- type: Boolean
|
|
64
|
-
- required: false
|
|
65
|
-
- default: true
|
|
66
|
-
- desc: Indica se todas variáveis devem ser exibidas quando houver o clique sobre o input para digitar o valor das variáveis.
|
|
67
|
-
|
|
68
|
-
### Emitters:
|
|
69
|
-
|
|
70
|
-
**@click-trigger:**
|
|
71
|
-
|
|
72
|
-
- desc: Emitido ao clicar no botão.
|
|
73
|
-
|
|
74
|
-
**@selected-template:**
|
|
75
|
-
|
|
76
|
-
- desc: Emitido ao selecionar alguma opção do template.
|
|
77
|
-
- sent_data: String - código do template ou 'envio_msg', que indica que o template é uma mensagem a ser digitada pelo usuário.
|
|
78
|
-
|
|
79
|
-
**@resize-parent:**
|
|
80
|
-
|
|
81
|
-
- desc: Emitido ao selecionar algum template.
|
|
82
|
-
|
|
83
|
-
**@template-data:**
|
|
84
|
-
|
|
85
|
-
- desc: Emitido quando é selecionado um template sem variáveis ou conforme o preenchimento da(s) variável(eis).
|
|
86
|
-
- sent_data: Object - envia os dados do template com os valores a serem atribuidos a variável na posição 'currentText'.
|
|
87
|
-
|
|
88
|
-
**@static-message:**
|
|
89
|
-
|
|
90
|
-
- desc: Emitido conforme o preenchimento do campo de texto.
|
|
91
|
-
- sent_data: String - valor da mensagem
|
|
92
|
-
|
|
93
|
-
## Text Footer:
|
|
94
|
-
|
|
95
|
-
### Props:
|
|
96
|
-
|
|
97
|
-
**textId:**
|
|
98
|
-
|
|
99
|
-
- type: String
|
|
100
|
-
- required: true
|
|
101
|
-
- desc: Identificador único para o componente. Útil para caso seja necessário disparar uma função de dentro do componente.
|
|
102
|
-
|
|
103
|
-
**dictionary:**
|
|
104
|
-
|
|
105
|
-
- type: Object
|
|
106
|
-
- required: true
|
|
107
|
-
- desc: Dicionário de palavras a ser utilizado no componente.
|
|
108
|
-
|
|
109
|
-
**buttons:**
|
|
110
|
-
|
|
111
|
-
- type: Object
|
|
112
|
-
- required: false
|
|
113
|
-
- default: { hasEmojis: false, hasSendButton: false, hasFiles: false, hasAudio: false }
|
|
114
|
-
- desc: Objeto responsável por habilitar os possíveis botões do componente. Sendo eles, emojis, enviar, arquivos e áudio, todos aceitam Boolean, true ou false.
|
|
115
|
-
|
|
116
|
-
**cssStyle:**
|
|
117
|
-
|
|
118
|
-
- type: Object
|
|
119
|
-
- required: false
|
|
120
|
-
- default: { width: "full", backgroundColor: "#FFF", outsideButtons: false }
|
|
121
|
-
- desc: Objeto de estilização, onde:
|
|
122
|
-
- width: Largura do componente. Aceita a String "full" (100%), "almostFull" (95%) ou "medium" (75%).
|
|
123
|
-
- backgroundColor: Cor de fundo do compoennte. Aceita String com qualquer código de cor CSS válido.
|
|
124
|
-
- outsideButtons: Coloca os botões flutuando na parte superior direita do componente. Aceita Boolean, true ou false.
|
|
125
|
-
|
|
126
|
-
**textareaSettings:**
|
|
127
|
-
|
|
128
|
-
- type: Object
|
|
129
|
-
- required: false
|
|
130
|
-
- default: { placeholderMessage: "", maxCharacters: 0, sendOnEnter: false, disabled: false }
|
|
131
|
-
- desc: Configurações do campo de texto, onde:
|
|
132
|
-
- placeholderMessage: Placeholder do campo de texto. Aceita qualquer String.
|
|
133
|
-
- maxCharacters: Máximo de caracteres aceitos no campo de texto. Aceita qualquer número positivo.
|
|
134
|
-
- sendOnEnter: Faz a emissão do evento que dispara a mensagem. Aceita Boolean, true ou false.
|
|
135
|
-
- disabled: Desabilita o campo de texto. Aceita Boolean, true ou false.
|
|
136
|
-
|
|
137
|
-
**emojiSettings:**
|
|
138
|
-
|
|
139
|
-
- type: Object
|
|
140
|
-
- required: false
|
|
141
|
-
- default: { openEmojisFrom: "top", smallEmojis: false }
|
|
142
|
-
- desc: Configurações dos emojis, onde:
|
|
143
|
-
- openEmojisFrom: Direção que a caixa de seleção de emojis vai abrir. Aceita String "top" ou "bottom".
|
|
144
|
-
- smallEmojis: Diminui o tamanho dos emojis renderizados na caixa de seleção. Aceita Boolean, true ou false.
|
|
145
|
-
|
|
146
|
-
**formattedMessageSettings:**
|
|
147
|
-
|
|
148
|
-
- type: Object
|
|
149
|
-
- required: false
|
|
150
|
-
- default: { hasStandardMessages: false, msgType: 0, token_cliente: "" }
|
|
151
|
-
- desc: Configurações das mensagens formatadas, onde:
|
|
152
|
-
- hasStandardMessages: Faz a aparição do botão de mensagem formatada caso verdadeiro. Aceita Boolean, true ou false.
|
|
153
|
-
- msgType: Tipo da mensagem formatada. Aceita os números 0 (sem mensagem), 1 (tipo mensagem 1) ou 2 (tipo mensagem 2).
|
|
154
|
-
- token_cliente: Para que a requisição de obter as mensagens formatadas funcione, é necessário passar o token_cliente.
|
|
155
|
-
|
|
156
|
-
**fileSettings:**
|
|
157
|
-
|
|
158
|
-
- type: Object
|
|
159
|
-
- required: false
|
|
160
|
-
- default: { docsExtensions: "", imagesExtensions: "", multiple: false, systemButton: false, max: 3 }
|
|
161
|
-
- desc: Configurações dos arquivos, onde:
|
|
162
|
-
- docsExtensions, imagesExtensions aceitam uma regex contendo as possíveis extensões a serem enviadas: Faz a aparição do botão de mensagem formatada caso verdadeiro. Aceita Boolean, true ou false.
|
|
163
|
-
- multiple: Caso aceite múltiplos arquivos para serem enviados.
|
|
164
|
-
- systemButton: Caso necessite de um botão extra. Emite o evento "@open-file-system".
|
|
165
|
-
- max: Máximo de arquivos que podem ser selecionados.
|
|
166
|
-
|
|
167
|
-
**isSending:**
|
|
168
|
-
|
|
169
|
-
- type: Boolean
|
|
170
|
-
- required: false
|
|
171
|
-
- default: false
|
|
172
|
-
- desc: Variável de controle que, quando marcada como true, coloca um loader no campo de texto para que não sejam realizadas múltiplas requisições enquanto uma já está em andamento.
|
|
173
|
-
|
|
174
|
-
**isMainChat:**
|
|
175
|
-
|
|
176
|
-
- type: Boolean
|
|
177
|
-
- required: false
|
|
178
|
-
- default: false
|
|
179
|
-
- desc: Controle de verificação para saber se o chat em questão é o principal da tela (tende a ser excluído nas próximas implementações)
|
|
180
|
-
|
|
181
|
-
### Emitters:
|
|
182
|
-
|
|
183
|
-
**@final-message:**
|
|
184
|
-
|
|
185
|
-
- desc: Emitido conforme o preenchimento do campo de texto.
|
|
186
|
-
- sent_data: String - valor da mensagem. **Obs:** Para os emojis, é enviado o seu respectivo código em HTML.
|
|
187
|
-
|
|
188
|
-
**@send-message:**
|
|
189
|
-
|
|
190
|
-
- desc: Emitido ao disparar mensagem pelo botão, tecla enter ou shift + enter, dependendo das props recebidas.
|
|
191
|
-
- sent_data: String - valor da mensagem. **Obs:** Para os emojis, é enviado o seu respectivo código em HTML.
|
|
192
|
-
|
|
193
|
-
**@obj-message:**
|
|
194
|
-
|
|
195
|
-
- desc: Emitido ao disparar mensagem pelo botão, tecla enter ou shift + enter, dependendo das props recebidas.
|
|
196
|
-
- sent_data: Object - Contém os seguintes valores referentes a mensagem:
|
|
197
|
-
- message: String, valor da mensagem;
|
|
198
|
-
- attachment: File, arquivo enviado;
|
|
199
|
-
- isDoc: Boolean, sinaliza se a mensagem é um documento;
|
|
200
|
-
- image: File, imagem enviada;
|
|
201
|
-
- isAudio: Boolean, sinaliza se a mensagem é do tipo áudio;
|
|
202
|
-
- audioAttachment: File, arquivo de áudio enviado.
|
|
203
|
-
|
|
204
|
-
**@open-file-system**
|
|
205
|
-
|
|
206
|
-
- desc: Emitido ao clicar no botão de arquivos do sistema.
|
|
207
|
-
|
|
208
|
-
## Dependências:
|
|
209
|
-
|
|
210
|
-
1. 
|
|
211
|
-
2. 
|
|
212
|
-
3. 
|
|
213
|
-
4. 
|
|
214
|
-
5. 
|
|
215
|
-
6. 
|
|
216
|
-
7. 
|
|
217
|
-
8. 
|
|
218
|
-
9. 
|
|
219
|
-
|
|
220
|
-
> Desenvolvido por **_Konecta Brasil_**
|
|
1
|
+
# :earth_americas: Vue IntergrAll Plugins
|
|
2
|
+
|
|
3
|
+
Biblioteca de plugins feitos em Vue para serem utilizados em qualquer lugar dentro das necessidades do Sistema IntergrAll.
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
## Template Generator:
|
|
8
|
+
|
|
9
|
+
### Props:
|
|
10
|
+
|
|
11
|
+
**templates:**
|
|
12
|
+
|
|
13
|
+
- type: Object
|
|
14
|
+
- required: true
|
|
15
|
+
- desc: Objeto dos templates a serem exibidos.
|
|
16
|
+
|
|
17
|
+
**identifier:**
|
|
18
|
+
|
|
19
|
+
- type: String
|
|
20
|
+
- required: true
|
|
21
|
+
- desc: Identificador único para o componente. Útil para caso seja necessário disparar uma função de dentro do componente.
|
|
22
|
+
|
|
23
|
+
**dictionary:**
|
|
24
|
+
|
|
25
|
+
- type: Object
|
|
26
|
+
- required: true
|
|
27
|
+
- desc: Dicionário de palavras a ser utilizado no componente.
|
|
28
|
+
|
|
29
|
+
**hasButton:**
|
|
30
|
+
|
|
31
|
+
- type: Boolean
|
|
32
|
+
- required: false
|
|
33
|
+
- default: true
|
|
34
|
+
- desc: Exibir botão de envio. Faz a emissão do evento @click-trigger.
|
|
35
|
+
|
|
36
|
+
**iconButton:**
|
|
37
|
+
|
|
38
|
+
- type: Boolean
|
|
39
|
+
- required: false
|
|
40
|
+
- desc: Estiliza o botão para ser apenas um ícone 'fas fa-paperplane'. Para funcionar a opção hasButton deve ser true (default).
|
|
41
|
+
|
|
42
|
+
**columnSelect:**
|
|
43
|
+
|
|
44
|
+
- type: Boolean
|
|
45
|
+
- required: false
|
|
46
|
+
- desc: Torna o container do select de templates em coluna, onde encima ficará o título, "Template:" e embaixo o select. O padrão é o título e o select na mesma linha.
|
|
47
|
+
|
|
48
|
+
**resizeParentOnSelect:**
|
|
49
|
+
|
|
50
|
+
- type: Boolean
|
|
51
|
+
- required: false
|
|
52
|
+
- desc: Indica ao selecionar um template que o componente pai deve ter seu tamanho corrigido caso não faça isso naturalmente. Faz a emissão do evento @resize-parent.
|
|
53
|
+
|
|
54
|
+
**placement:**
|
|
55
|
+
|
|
56
|
+
- type: String
|
|
57
|
+
- required: false
|
|
58
|
+
- default: "bottom"
|
|
59
|
+
- desc: Indica se as opções do select devem abrir para cima('top'), ou para baixo('bottom', default).
|
|
60
|
+
|
|
61
|
+
**allVariables:**
|
|
62
|
+
|
|
63
|
+
- type: Boolean
|
|
64
|
+
- required: false
|
|
65
|
+
- default: true
|
|
66
|
+
- desc: Indica se todas variáveis devem ser exibidas quando houver o clique sobre o input para digitar o valor das variáveis.
|
|
67
|
+
|
|
68
|
+
### Emitters:
|
|
69
|
+
|
|
70
|
+
**@click-trigger:**
|
|
71
|
+
|
|
72
|
+
- desc: Emitido ao clicar no botão.
|
|
73
|
+
|
|
74
|
+
**@selected-template:**
|
|
75
|
+
|
|
76
|
+
- desc: Emitido ao selecionar alguma opção do template.
|
|
77
|
+
- sent_data: String - código do template ou 'envio_msg', que indica que o template é uma mensagem a ser digitada pelo usuário.
|
|
78
|
+
|
|
79
|
+
**@resize-parent:**
|
|
80
|
+
|
|
81
|
+
- desc: Emitido ao selecionar algum template.
|
|
82
|
+
|
|
83
|
+
**@template-data:**
|
|
84
|
+
|
|
85
|
+
- desc: Emitido quando é selecionado um template sem variáveis ou conforme o preenchimento da(s) variável(eis).
|
|
86
|
+
- sent_data: Object - envia os dados do template com os valores a serem atribuidos a variável na posição 'currentText'.
|
|
87
|
+
|
|
88
|
+
**@static-message:**
|
|
89
|
+
|
|
90
|
+
- desc: Emitido conforme o preenchimento do campo de texto.
|
|
91
|
+
- sent_data: String - valor da mensagem
|
|
92
|
+
|
|
93
|
+
## Text Footer:
|
|
94
|
+
|
|
95
|
+
### Props:
|
|
96
|
+
|
|
97
|
+
**textId:**
|
|
98
|
+
|
|
99
|
+
- type: String
|
|
100
|
+
- required: true
|
|
101
|
+
- desc: Identificador único para o componente. Útil para caso seja necessário disparar uma função de dentro do componente.
|
|
102
|
+
|
|
103
|
+
**dictionary:**
|
|
104
|
+
|
|
105
|
+
- type: Object
|
|
106
|
+
- required: true
|
|
107
|
+
- desc: Dicionário de palavras a ser utilizado no componente.
|
|
108
|
+
|
|
109
|
+
**buttons:**
|
|
110
|
+
|
|
111
|
+
- type: Object
|
|
112
|
+
- required: false
|
|
113
|
+
- default: { hasEmojis: false, hasSendButton: false, hasFiles: false, hasAudio: false }
|
|
114
|
+
- desc: Objeto responsável por habilitar os possíveis botões do componente. Sendo eles, emojis, enviar, arquivos e áudio, todos aceitam Boolean, true ou false.
|
|
115
|
+
|
|
116
|
+
**cssStyle:**
|
|
117
|
+
|
|
118
|
+
- type: Object
|
|
119
|
+
- required: false
|
|
120
|
+
- default: { width: "full", backgroundColor: "#FFF", outsideButtons: false }
|
|
121
|
+
- desc: Objeto de estilização, onde:
|
|
122
|
+
- width: Largura do componente. Aceita a String "full" (100%), "almostFull" (95%) ou "medium" (75%).
|
|
123
|
+
- backgroundColor: Cor de fundo do compoennte. Aceita String com qualquer código de cor CSS válido.
|
|
124
|
+
- outsideButtons: Coloca os botões flutuando na parte superior direita do componente. Aceita Boolean, true ou false.
|
|
125
|
+
|
|
126
|
+
**textareaSettings:**
|
|
127
|
+
|
|
128
|
+
- type: Object
|
|
129
|
+
- required: false
|
|
130
|
+
- default: { placeholderMessage: "", maxCharacters: 0, sendOnEnter: false, disabled: false }
|
|
131
|
+
- desc: Configurações do campo de texto, onde:
|
|
132
|
+
- placeholderMessage: Placeholder do campo de texto. Aceita qualquer String.
|
|
133
|
+
- maxCharacters: Máximo de caracteres aceitos no campo de texto. Aceita qualquer número positivo.
|
|
134
|
+
- sendOnEnter: Faz a emissão do evento que dispara a mensagem. Aceita Boolean, true ou false.
|
|
135
|
+
- disabled: Desabilita o campo de texto. Aceita Boolean, true ou false.
|
|
136
|
+
|
|
137
|
+
**emojiSettings:**
|
|
138
|
+
|
|
139
|
+
- type: Object
|
|
140
|
+
- required: false
|
|
141
|
+
- default: { openEmojisFrom: "top", smallEmojis: false }
|
|
142
|
+
- desc: Configurações dos emojis, onde:
|
|
143
|
+
- openEmojisFrom: Direção que a caixa de seleção de emojis vai abrir. Aceita String "top" ou "bottom".
|
|
144
|
+
- smallEmojis: Diminui o tamanho dos emojis renderizados na caixa de seleção. Aceita Boolean, true ou false.
|
|
145
|
+
|
|
146
|
+
**formattedMessageSettings:**
|
|
147
|
+
|
|
148
|
+
- type: Object
|
|
149
|
+
- required: false
|
|
150
|
+
- default: { hasStandardMessages: false, msgType: 0, token_cliente: "" }
|
|
151
|
+
- desc: Configurações das mensagens formatadas, onde:
|
|
152
|
+
- hasStandardMessages: Faz a aparição do botão de mensagem formatada caso verdadeiro. Aceita Boolean, true ou false.
|
|
153
|
+
- msgType: Tipo da mensagem formatada. Aceita os números 0 (sem mensagem), 1 (tipo mensagem 1) ou 2 (tipo mensagem 2).
|
|
154
|
+
- token_cliente: Para que a requisição de obter as mensagens formatadas funcione, é necessário passar o token_cliente.
|
|
155
|
+
|
|
156
|
+
**fileSettings:**
|
|
157
|
+
|
|
158
|
+
- type: Object
|
|
159
|
+
- required: false
|
|
160
|
+
- default: { docsExtensions: "", imagesExtensions: "", multiple: false, systemButton: false, max: 3 }
|
|
161
|
+
- desc: Configurações dos arquivos, onde:
|
|
162
|
+
- docsExtensions, imagesExtensions aceitam uma regex contendo as possíveis extensões a serem enviadas: Faz a aparição do botão de mensagem formatada caso verdadeiro. Aceita Boolean, true ou false.
|
|
163
|
+
- multiple: Caso aceite múltiplos arquivos para serem enviados.
|
|
164
|
+
- systemButton: Caso necessite de um botão extra. Emite o evento "@open-file-system".
|
|
165
|
+
- max: Máximo de arquivos que podem ser selecionados.
|
|
166
|
+
|
|
167
|
+
**isSending:**
|
|
168
|
+
|
|
169
|
+
- type: Boolean
|
|
170
|
+
- required: false
|
|
171
|
+
- default: false
|
|
172
|
+
- desc: Variável de controle que, quando marcada como true, coloca um loader no campo de texto para que não sejam realizadas múltiplas requisições enquanto uma já está em andamento.
|
|
173
|
+
|
|
174
|
+
**isMainChat:**
|
|
175
|
+
|
|
176
|
+
- type: Boolean
|
|
177
|
+
- required: false
|
|
178
|
+
- default: false
|
|
179
|
+
- desc: Controle de verificação para saber se o chat em questão é o principal da tela (tende a ser excluído nas próximas implementações)
|
|
180
|
+
|
|
181
|
+
### Emitters:
|
|
182
|
+
|
|
183
|
+
**@final-message:**
|
|
184
|
+
|
|
185
|
+
- desc: Emitido conforme o preenchimento do campo de texto.
|
|
186
|
+
- sent_data: String - valor da mensagem. **Obs:** Para os emojis, é enviado o seu respectivo código em HTML.
|
|
187
|
+
|
|
188
|
+
**@send-message:**
|
|
189
|
+
|
|
190
|
+
- desc: Emitido ao disparar mensagem pelo botão, tecla enter ou shift + enter, dependendo das props recebidas.
|
|
191
|
+
- sent_data: String - valor da mensagem. **Obs:** Para os emojis, é enviado o seu respectivo código em HTML.
|
|
192
|
+
|
|
193
|
+
**@obj-message:**
|
|
194
|
+
|
|
195
|
+
- desc: Emitido ao disparar mensagem pelo botão, tecla enter ou shift + enter, dependendo das props recebidas.
|
|
196
|
+
- sent_data: Object - Contém os seguintes valores referentes a mensagem:
|
|
197
|
+
- message: String, valor da mensagem;
|
|
198
|
+
- attachment: File, arquivo enviado;
|
|
199
|
+
- isDoc: Boolean, sinaliza se a mensagem é um documento;
|
|
200
|
+
- image: File, imagem enviada;
|
|
201
|
+
- isAudio: Boolean, sinaliza se a mensagem é do tipo áudio;
|
|
202
|
+
- audioAttachment: File, arquivo de áudio enviado.
|
|
203
|
+
|
|
204
|
+
**@open-file-system**
|
|
205
|
+
|
|
206
|
+
- desc: Emitido ao clicar no botão de arquivos do sistema.
|
|
207
|
+
|
|
208
|
+
## Dependências:
|
|
209
|
+
|
|
210
|
+
1. 
|
|
211
|
+
2. 
|
|
212
|
+
3. 
|
|
213
|
+
4. 
|
|
214
|
+
5. 
|
|
215
|
+
6. 
|
|
216
|
+
7. 
|
|
217
|
+
8. 
|
|
218
|
+
9. 
|
|
219
|
+
|
|
220
|
+
> Desenvolvido por **_Konecta Brasil_**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--message-color:#373737;--text-color:#fff;--files-bg:hsla(0,0%,100%,.1);--files-bg-hover:hsla(0,0%,100%,.1);--light:80;--threshold:60}.fade-enter-active,.fade-leave-active{transition:opacity .5s}.fade-enter,.fade-leave-to{opacity:0}.mensagem-reply{border-radius:5px;color:#666;font-size:12px;margin:5px 0;max-width:100%;overflow:hidden;padding:5px 10px;transition:background-color .15s ease-in-out}.mensagem-reply p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-reply-principal{background-color:hsla(0,0%,39%,.1);border-left:3px solid transparent}.message-reply-principal:hover{background-color:hsla(0,0%,39%,.2)}.message-reply-outros{background-color:#f5f5f5;border-left:3px solid var(--message-color)}.message-reply-outros:hover{background-color:#ebebeb}.mensagem-reply-vazia{align-items:center;display:flex}.mensagem-reply-vazia svg{color:#ba181b;margin-right:5px}.mensagem{border-radius:5px;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);font-size:12px;margin-bottom:10px;max-width:80%;min-height:60px;min-width:150px;padding:20px 7px 14px;position:relative;width:fit-content;word-break:break-word}.mensagem.max-w-60{max-width:60%}.mensagem.mapa{width:100%}.mensagem.hist-msg{animation:show 1s}.mensagem a{color:inherit;font-weight:550;margin-right:5px;text-decoration:none}.mensagem a:hover{text-decoration:underline}.message p{white-space:pre-wrap}.mensagem-anexo a,.mensagem-div-mapa a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply{align-items:center;background-color:#fff;border-radius:50%;bottom:5px;color:#67a332;cursor:pointer;display:flex;font-size:9.6px;height:14.4px;justify-content:center;position:absolute;right:53px;width:14.4px}.reply svg{margin-right:-1px;margin-top:-1px}.reply-with-2-icons{right:30px}.check{bottom:2px;cursor:pointer;font-size:11.2px;position:absolute;right:10px}.check.visualizado,.check.visualizado svg{color:#006daa}.check.verde,.check.verde svg{color:#4f772d}.check.vermelho,.check.vermelho svg{color:#ba181b}.check.cinza,.check.cinza svg{color:#999}.check.preto,.check.preto svg{color:#666}.star{bottom:2px;cursor:pointer;font-size:6.4px;position:absolute;right:30px;width:11.2px}.default-stick-size{height:auto;width:180px}.horario-envio{bottom:2px;font-size:11.2px;left:10px;margin-right:15px;position:absolute}.autor-mensagem{font-size:9.6px;font-weight:700;max-width:90%;overflow:hidden;position:absolute;text-overflow:ellipsis;top:2px;white-space:nowrap}.menu-primario{display:flex;font-size:11.2px;gap:5px;height:20px;padding:2px 4px;position:absolute;top:2px;transition:opacity .15s ease-in-out}.menu-primario.principal{background-color:var(--message-color);color:var(--text-color);left:2px}.menu-primario.outros{background-color:#fff;color:var(--text-color);right:2px}.menu-primario.outros>span:first-child{order:10}.menu-flutuante{background-color:#fff;border-radius:10px;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);display:flex;flex-direction:column;height:50px;margin:0;max-height:50px;min-height:50px;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;top:20px;width:120px;z-index:1}.menu-flutuante.principal{left:3px}.menu-flutuante.outros{right:3px}.menu-flutuante li{align-items:center;cursor:pointer;display:flex;padding:5px 10px;transition:background-color .3s ease-in-out;width:100%}.menu-flutuante li:hover{background-color:#e9e9e9}.mensagem__principal{display:flex;justify-content:flex-end;width:100%}.mensagem__principal>.mensagem:after{border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--message-color);bottom:5px;content:"";height:0;position:absolute;right:-10px;transform:rotate(-90deg);width:0}.mensagem__principal>.mensagem{background-color:var(--message-color);color:var(--text-color)}.mensagem__principal>.mensagem .horario-envio{color:var(--text-color)}.mensagem__principal>.mensagem .autor-mensagem{color:var(--text-color);right:5px}.mensagem__outros{display:flex;width:100%}.mensagem__outros>.mensagem{background-color:#fff;color:#333}.mensagem__outros>.mensagem:after{border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #fff;bottom:5px;content:"";height:0;left:-10px;position:absolute;transform:rotate(90deg);width:0}.mensagem__outros>.autor-mensagem{color:#333;left:5px}.mensagem-div-mapa{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-bottom:5px;width:100%}.msg-mapa{box-sizing:initial;height:100%;min-height:225px;width:100%}.msg-mapa img{max-width:none!important}.info-mapa{list-style-type:none}.info-mapa li.address,.info-mapa li.title,.info-mapa li.url{font-size:13.6px}.tooltip-list{align-items:flex-start;display:flex;flex-direction:column;justify-content:center;margin:0;padding:0}.emoji-message-container{height:250px;position:absolute;top:0;width:306px;z-index:1}.emoji-message-container .sm-emoji-picker{height:250px;width:306px}.emoji-message-container .sm-emoji-picker .sm-emoji-header{overflow-x:auto;overflow-y:hidden}.reaction{align-items:center;background-color:hsla(0,0%,39%,.4);border-radius:50%;bottom:0;display:flex;font-size:20.8px;justify-content:center;max-height:28.8px;max-width:28.8px;min-height:28.8px;min-width:28.8px;padding:10px;position:absolute}.reaction>span{display:block;transform:translateY(1px)}.mensagem__outros .reaction{right:-42px}.mensagem__principal .reaction{left:-42px}.show-y-top-enter-active,.show-y-top-leave-enter{opacity:1;transform:translateY(0);transition:all .2s linear}.show-y-top-enter,.show-y-top-leave-to{opacity:0;transform:translateY(-2%)}.visibility-hidden{visibility:hidden}.box-shadow-active{box-shadow:0 0 4px 2px rgba(0,0,0,.25)}.bg-dark-white-2{background-color:#f7f7f7}.bg-white{background-color:#fff}.cursor-pointer{cursor:pointer}.email-overlay{background-color:transparent;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.email-item{--konecta-gray-3:#515050;--konecta-light:#f8f9fa;--blue-silver-4:#dae0e5;--email-principal:#faa732;--email-outros:#86b7fe;border-radius:5px;color:#222;container-name:email-item;container-type:inline-size;display:flex;flex:1;flex-wrap:wrap;font-family:Roboto,sans-serif;margin:0 0 10px;max-width:100%;min-height:60px;overflow:hidden;padding:10px;position:relative;transition:all .15s ease-in-out;width:100%}.divBtnReplyEmail{align-items:center;background-color:#f0adad;border-radius:6px;display:flex;gap:8px;margin:5px 0;padding:7px 9px}.reply-email-open{width:calc(100% - 55px)}.btnReplyEmail{background-color:#faa732;border:1px solid #da8205;border-radius:3px;color:#000;cursor:pointer;display:block;font-size:14.4px;font-weight:700;margin:8px 0 8px 5px;padding:5px 10px}.ja-marcado-spam{align-items:center;background:#fffbe6;border:1px solid #ffe58f;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;gap:16px;justify-content:space-between;margin:9px 0 5px;padding:5px 30px;width:100%}.ja-marcado-spam>span{align-items:center;align-self:center;color:#614500;font-size:14px;font-weight:500;margin-bottom:0}.ja-marcado-spam-buttons{align-items:flex-end;display:flex;flex-direction:column;gap:6px}.ja-marcado-spam button{background:#ffe58f;border:none;border-radius:5px;color:#333;cursor:pointer;font-size:13.4px;min-width:110px;padding:4px 10px}.ja-marcado-spam-buttons .btn-nao-spam{background:#36b87b;border:1px solid var(--konecta-success-hover,#309264);color:var(--white);font-weight:700}.ja-marcado-spam-buttons .btn-nao-spam:hover{background:#309264}.ja-marcado-spam-buttons .btn-e-spam{background:#e74c3c;border:1px solid var(--konecta-danger-hover,#c92e1e);color:var(--white);font-weight:700}.ja-marcado-spam-buttons .btn-e-spam:hover{background:#c92e1e}.icon-btn-encerrar-spam{margin-right:2px}.btn-loader{left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.strongMsg{flex:1;font-size:13px}.email-custom-action-buttons{align-items:center;cursor:default;display:flex;flex-wrap:wrap;gap:7px;max-width:100%}.email-custom-action-button{align-items:center;background-color:var(--konecta-light)!important;border:1px solid var(--blue-silver-4)!important;border-radius:5px;color:var(--konecta-dark)!important;cursor:pointer;display:flex;flex:1;gap:5px;justify-content:center;margin-top:10px;max-width:100%;min-width:100px;overflow:hidden;padding:5px;text-overflow:ellipsis;transition:all .1s ease-in-out;white-space:nowrap}.email-custom-action-button:hover{background-color:#e9ecef!important}.email-custom-action-button:disabled{background-color:var(--konecta-gray-3)!important;border:1px solid #25282b!important;cursor:not-allowed!important}.email-item.outros{border-left:3px solid var(--email-outros)}.email-author-name{margin:0 5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-author.outros{color:var(--email-outros)}.email-author.outros>svg:first-child{transform:rotate(180deg)}.email-author.principal{color:var(--email-principal)}.email-author.main{font-size:16.4px}.email-item.principal{border-left:3px solid var(--email-principal)}.email-item.info-open{overflow:visible}.email-header{border-top-left-radius:5px;border-top-right-radius:5px;cursor:pointer;display:flex;flex-direction:column;overflow:visible;position:relative;width:100%}.header-container{display:flex;overflow:hidden;position:relative}.email-header-content{align-items:center;display:flex;flex:1;min-width:250px}.email-header-infos{display:flex;flex:1;flex-direction:column}.email-subject{cursor:pointer;font-size:16.4px;margin:5px 0 0}.email-date{--width:245px;font-size:12.8px;gap:3px;justify-content:flex-end;max-width:var(--width);min-width:var(--width);overflow:hidden;position:absolute;right:0;text-overflow:ellipsis;top:0;white-space:nowrap;width:var(--width)}.email-content,.email-date{align-items:center;display:flex}.email-content{background-color:#fff;flex-direction:column;justify-content:flex-start;max-width:100%;position:relative;width:100%}.email-actions{align-items:center;align-self:flex-end;background-color:#ddd;border-radius:10px;cursor:pointer;display:flex;gap:3px;justify-content:center;padding:5px 7px;position:absolute;right:0;top:30px;z-index:1}.email-actions.main{top:10px}.email-actions.active{background-color:#dfdfdf}.email-actions>span{background-color:#222;border-radius:50%;height:4px;max-height:4px;max-width:4px;min-height:4px;min-width:4px;width:4px}.email-actions-list{border-radius:5px;list-style-type:none;margin:0;padding:0;position:absolute;right:45px;top:5px;width:250px;z-index:1}.email-action{background-color:#dfdfdf;cursor:pointer;font-size:14.4px;padding:5px 10px;transition:background-color .15s ease-in-out;-webkit-user-select:none;-ms-user-select:none;user-select:none}.email-action:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.email-action:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.email-action:hover{background-color:#ccc}.email-html{border:none;min-width:300px;overflow:auto}.email-html,.email-raw{max-width:100%;width:100%}.email-raw{color:#222;font-size:14.4px;padding:15px}.email-files{display:flex;flex-wrap:wrap;gap:10px;margin-top:5px;width:100%}.email-header-content,.email-header-infos{max-width:100%;overflow:hidden}.email-cc-container,.email-to-from-container{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:5px;margin-bottom:5px;max-width:100%;min-width:250px;overflow:hidden}.email-to-btn{color:#666;cursor:pointer;font-size:14.4px;padding:0 5px}.email-to-infos{background-color:#fff;border:1px solid #ccc;bottom:-325px;cursor:default;display:flex;flex-direction:column;gap:5px;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:10px;position:absolute;width:300px;z-index:2}.email-info{font-size:12.8px;width:100%}.email-info>span{color:gray;font-size:12px;margin-right:3px}.email-author{align-items:center;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:5px;transform:translateY(-2px);width:80%}@container email-item (max-width: 280px){.email-author{width:70%}}@container email-item (max-width: 170px){.email-author{width:40%}}.email-subject-secondary{margin-top:-5px}.email-subject-span{color:gray;font-size:11.2px}.email-to-svg{font-size:13.6px}.email-custom-buttons{display:flex;font-size:12.8px;gap:7px;position:absolute;right:5px;top:3px;z-index:1}.menu-mensagem{cursor:pointer;opacity:.7;padding:1px;transition:opacity .1s ease-in-out}.menu-mensagem:active,.menu-mensagem:focus,.menu-mensagem:hover{opacity:1}.email-error-content{align-items:center;display:flex;flex-direction:column;gap:5px;justify-content:center;padding:10px}.email-error-content p{color:#e74c3c;margin:0}.email-error-content button{background-color:#fff;border:1px solid #ccc;border-radius:3px;cursor:pointer;padding:5px 10px;transition:background-color .15s ease-in-out}.email-error-content button:hover{background-color:#eee}.btnReplyEmail:active,.btnReplyEmail:hover{background-color:#da8205;color:#000}.email-attachments-clip{cursor:pointer;display:flex;margin-top:5px}.clip-icon{color:#999;font-size:22px;position:relative;transform:rotate(-15deg)}.clip-badge{align-items:center;background:linear-gradient(135deg,#999 40%,#515050);border:1px solid #fff;border-radius:50%;box-sizing:border-box;color:#fff;display:flex;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18));font-size:12.4px;height:22px;justify-content:center;min-width:22px;padding:0 4px;position:absolute;right:-15px;text-align:center;top:0;transform:rotate(15deg)}.clip-icon:hover{color:#777}.clip-icon:hover .clip-badge{background:linear-gradient(135deg,#999 20%,#515050 70%);filter:drop-shadow(0 2px 4px rgba(0,0,0,.28))}.sc-icone-fechar{border-radius:50%;cursor:pointer;font-size:20.8px;position:absolute;right:0;top:0;z-index:1}.emoji-message-container .sc-icone-fechar.sc-icone-fechar--externo{--konecta-danger:#dc3545;color:var(--konecta-danger);top:-10px}.mensagem__outros .emoji-message-container .sc-icone-fechar.sc-icone-fechar--externo{right:-10px}.mensagem__outros .emoji-message-container,.mensagem__principal .emoji-message-container{z-index:2!important}.mensagem__outros .emoji-message-container{margin-left:50%}.mensagem__principal .emoji-message-container{transform:translateX(-50%)}.mensagem__principal .emoji-message-container .sc-icone-fechar.sc-icone-fechar--externo{left:-10px}.pdf-content{padding:0 20px}.email-pdf-download{align-items:center;color:#d54242d5;display:flex;font-size:15px;justify-content:center;transition:opacity .1s}.email-pdf-download:hover{opacity:.7}.pdf-title{word-wrap:break-word;border-bottom:2px solid #e2e6ea;color:#d54286;font-size:20px;margin:0 0 15px;overflow-wrap:break-word;padding-bottom:10px;page-break-after:avoid;page-break-inside:avoid}.pdf-info-table{border-collapse:collapse;margin:0 0 20px;page-break-inside:avoid;table-layout:fixed;width:100%}.pdf-info-table th{background-color:#f8f9fa;font-weight:700;text-align:left;vertical-align:top;width:100px}.pdf-info-table td,.pdf-info-table th{border:1px solid #e2e6ea;font-size:14px;padding:10px}.pdf-info-table td{word-wrap:break-word;line-height:1.5;max-width:100%;overflow-wrap:break-word;word-break:break-word}.pdf-info-table tr{page-break-after:auto;page-break-inside:avoid}.pdf-content blockquote,.pdf-content ol,.pdf-content pre,.pdf-content table,.pdf-content ul,.pdf-info-table,.pdf-info-table tr{break-inside:avoid!important;page-break-inside:avoid!important}.email-status-badge{align-items:center;cursor:help;display:flex;font-size:16px;justify-content:center;line-height:1}.email-status-nao-enviado{background-color:#ff4e3a;color:#fff;font-size:10px;letter-spacing:.3px;padding:4px 8px;text-transform:uppercase}.email-status-enviado,.email-status-nao-enviado{border-radius:50px;cursor:pointer;font-weight:600}.email-status-enviado{align-items:center;color:#4f4f4f;display:flex;font-size:13px;justify-content:center}
|
|
1
|
+
:root{--message-color:#373737;--text-color:#fff;--files-bg:hsla(0,0%,100%,.1);--files-bg-hover:hsla(0,0%,100%,.1);--light:80;--threshold:60}.fade-enter-active,.fade-leave-active{transition:opacity .5s}.fade-enter,.fade-leave-to{opacity:0}.mensagem-reply{border-radius:5px;color:#666;font-size:12px;margin:5px 0;max-width:100%;overflow:hidden;padding:5px 10px;transition:background-color .15s ease-in-out}.mensagem-reply p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-reply-principal{background-color:hsla(0,0%,39%,.1);border-left:3px solid transparent}.message-reply-principal:hover{background-color:hsla(0,0%,39%,.2)}.message-reply-outros{background-color:#f5f5f5;border-left:3px solid var(--message-color)}.message-reply-outros:hover{background-color:#ebebeb}.mensagem-reply-vazia{align-items:center;display:flex}.mensagem-reply-vazia svg{color:#ba181b;margin-right:5px}.mensagem{border-radius:5px;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);font-size:12px;margin-bottom:10px;max-width:80%;min-height:60px;min-width:150px;padding:20px 7px 14px;position:relative;width:fit-content;word-break:break-word}.mensagem.max-w-60{max-width:60%}.mensagem.mapa{width:100%}.mensagem.hist-msg{animation:show 1s}.mensagem a{color:inherit;font-weight:550;margin-right:5px;text-decoration:none}.mensagem a:hover{text-decoration:underline}.message p{white-space:pre-wrap}.mensagem-anexo a,.mensagem-div-mapa a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply{align-items:center;background-color:#fff;border-radius:50%;bottom:5px;color:#67a332;cursor:pointer;display:flex;font-size:9.6px;height:14.4px;justify-content:center;position:absolute;right:53px;width:14.4px}.reply svg{margin-right:-1px;margin-top:-1px}.reply-with-2-icons{right:30px}.check{bottom:2px;cursor:pointer;font-size:11.2px;position:absolute;right:10px}.check.visualizado,.check.visualizado svg{color:#006daa}.check.verde,.check.verde svg{color:#4f772d}.check.vermelho,.check.vermelho svg{color:#ba181b}.check.cinza,.check.cinza svg{color:#999}.check.preto,.check.preto svg{color:#666}.star{bottom:2px;cursor:pointer;font-size:6.4px;position:absolute;right:30px;width:11.2px}.default-stick-size{height:auto;width:180px}.horario-envio{bottom:2px;font-size:11.2px;left:10px;margin-right:15px;position:absolute}.autor-mensagem{font-size:9.6px;font-weight:700;max-width:90%;overflow:hidden;position:absolute;text-overflow:ellipsis;top:2px;white-space:nowrap}.menu-primario{display:flex;font-size:11.2px;gap:5px;height:20px;padding:2px 4px;position:absolute;top:2px;transition:opacity .15s ease-in-out}.menu-primario.principal{background-color:var(--message-color);color:var(--text-color);left:2px}.menu-primario.outros{background-color:#fff;color:var(--text-color);right:2px}.menu-primario.outros>span:first-child{order:10}.menu-flutuante{background-color:#fff;border-radius:10px;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);display:flex;flex-direction:column;height:50px;margin:0;max-height:50px;min-height:50px;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;top:20px;width:120px;z-index:1}.menu-flutuante.principal{left:3px}.menu-flutuante.outros{right:3px}.menu-flutuante li{align-items:center;cursor:pointer;display:flex;padding:5px 10px;transition:background-color .3s ease-in-out;width:100%}.menu-flutuante li:hover{background-color:#e9e9e9}.mensagem__principal{display:flex;justify-content:flex-end;width:100%}.mensagem__principal>.mensagem:after{border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--message-color);bottom:5px;content:"";height:0;position:absolute;right:-10px;transform:rotate(-90deg);width:0}.mensagem__principal>.mensagem{background-color:var(--message-color);color:var(--text-color)}.mensagem__principal>.mensagem .horario-envio{color:var(--text-color)}.mensagem__principal>.mensagem .autor-mensagem{color:var(--text-color);right:5px}.mensagem__outros{display:flex;width:100%}.mensagem__outros>.mensagem{background-color:#fff;color:#333}.mensagem__outros>.mensagem:after{border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid #fff;bottom:5px;content:"";height:0;left:-10px;position:absolute;transform:rotate(90deg);width:0}.mensagem__outros>.autor-mensagem{color:#333;left:5px}.mensagem-div-mapa{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-bottom:5px;width:100%}.msg-mapa{box-sizing:initial;height:100%;min-height:225px;width:100%}.msg-mapa img{max-width:none!important}.info-mapa{list-style-type:none}.info-mapa li.address,.info-mapa li.title,.info-mapa li.url{font-size:13.6px}.tooltip-list{align-items:flex-start;display:flex;flex-direction:column;justify-content:center;margin:0;padding:0}.emoji-message-container{height:250px;position:absolute;top:0;width:306px;z-index:1}.emoji-message-container .sm-emoji-picker{height:250px;width:306px}.emoji-message-container .sm-emoji-picker .sm-emoji-header{overflow-x:auto;overflow-y:hidden}.reaction{align-items:center;background-color:hsla(0,0%,39%,.4);border-radius:50%;bottom:0;display:flex;font-size:20.8px;justify-content:center;max-height:28.8px;max-width:28.8px;min-height:28.8px;min-width:28.8px;padding:10px;position:absolute}.reaction>span{display:block;transform:translateY(1px)}.mensagem__outros .reaction{right:-42px}.mensagem__principal .reaction{left:-42px}.show-y-top-enter-active,.show-y-top-leave-enter{opacity:1;transform:translateY(0);transition:all .2s linear}.show-y-top-enter,.show-y-top-leave-to{opacity:0;transform:translateY(-2%)}.visibility-hidden{visibility:hidden}.box-shadow-active{box-shadow:0 0 4px 2px rgba(0,0,0,.25)}.bg-dark-white-2{background-color:#f7f7f7}.bg-white{background-color:#fff}.cursor-pointer{cursor:pointer}.email-overlay{background-color:transparent;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.email-item{--konecta-gray-3:#515050;--konecta-light:#f8f9fa;--blue-silver-4:#dae0e5;--email-principal:#faa732;--email-outros:#86b7fe;border-radius:5px;color:#222;display:flex;flex:1;flex-wrap:wrap;font-family:Roboto,sans-serif;margin:0 0 10px;max-width:100%;min-height:60px;overflow:hidden;padding:10px;position:relative;transition:all .15s ease-in-out;width:100%}.divBtnReplyEmail{align-items:center;background-color:#f0adad;border-radius:6px;display:flex;gap:8px;margin:5px 0;padding:7px 9px}.reply-email-open{width:calc(100% - 55px)}.btnReplyEmail{background-color:#faa732;border:1px solid #da8205;border-radius:3px;color:#000;cursor:pointer;display:block;font-size:14.4px;font-weight:700;margin:8px 0 8px 5px;padding:5px 10px}.ja-marcado-spam{align-items:center;background:#fffbe6;border:1px solid #ffe58f;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;gap:16px;justify-content:space-between;margin:9px 0 5px;padding:5px 30px;width:100%}.ja-marcado-spam>span{align-items:center;align-self:center;color:#614500;font-size:14px;font-weight:500;margin-bottom:0}.ja-marcado-spam-buttons{align-items:flex-end;display:flex;flex-direction:column;gap:6px}.ja-marcado-spam button{background:#ffe58f;border:none;border-radius:5px;color:#333;cursor:pointer;font-size:13.4px;min-width:110px;padding:4px 10px}.ja-marcado-spam-buttons .btn-nao-spam{background:#36b87b;border:1px solid var(--konecta-success-hover,#309264);color:var(--white);font-weight:700}.ja-marcado-spam-buttons .btn-nao-spam:hover{background:#309264}.ja-marcado-spam-buttons .btn-e-spam{background:#e74c3c;border:1px solid var(--konecta-danger-hover,#c92e1e);color:var(--white);font-weight:700}.ja-marcado-spam-buttons .btn-e-spam:hover{background:#c92e1e}.icon-btn-encerrar-spam{margin-right:2px}.btn-loader{left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.strongMsg{flex:1;font-size:13px}.email-custom-action-buttons{align-items:center;cursor:default;display:flex;flex-wrap:wrap;gap:7px;max-width:100%}.email-custom-action-button{align-items:center;background-color:var(--konecta-light)!important;border:1px solid var(--blue-silver-4)!important;border-radius:5px;color:var(--konecta-dark)!important;cursor:pointer;display:flex;flex:1;gap:5px;justify-content:center;margin-top:10px;max-width:100%;min-width:100px;overflow:hidden;padding:5px;text-overflow:ellipsis;transition:all .1s ease-in-out;white-space:nowrap}.email-custom-action-button:hover{background-color:#e9ecef!important}.email-custom-action-button:disabled{background-color:var(--konecta-gray-3)!important;border:1px solid #25282b!important;cursor:not-allowed!important}.email-item.outros{border-left:3px solid var(--email-outros)}.email-author-name{margin:0 5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-author.outros{color:var(--email-outros)}.email-author.outros>svg:first-child{transform:rotate(180deg)}.email-author.principal{color:var(--email-principal)}.email-author.main{font-size:16.4px}.email-item.principal{border-left:3px solid var(--email-principal)}.email-item.info-open{overflow:visible}.email-header{border-top-left-radius:5px;border-top-right-radius:5px;cursor:pointer;display:flex;flex-direction:column;overflow:visible;position:relative;width:100%}.header-container{display:flex;overflow:hidden;position:relative}.email-header-content{align-items:center;display:flex;flex:1;min-width:250px}.email-header-infos{display:flex;flex:1;flex-direction:column}.email-subject{cursor:pointer;font-size:16.4px;margin:5px 0 0}.email-date{--width:245px;font-size:12.8px;gap:3px;justify-content:flex-end;max-width:var(--width);min-width:var(--width);overflow:hidden;position:absolute;right:0;text-overflow:ellipsis;top:0;white-space:nowrap;width:var(--width)}.email-content,.email-date{align-items:center;display:flex}.email-content{background-color:#fff;flex-direction:column;justify-content:flex-start;max-width:100%;position:relative;width:100%}.email-actions{align-items:center;align-self:flex-end;background-color:#ddd;border-radius:10px;cursor:pointer;display:flex;gap:3px;justify-content:center;padding:5px 7px;position:absolute;right:0;top:30px;z-index:1}.email-actions.main{top:10px}.email-actions.active{background-color:#dfdfdf}.email-actions>span{background-color:#222;border-radius:50%;height:4px;max-height:4px;max-width:4px;min-height:4px;min-width:4px;width:4px}.email-actions-list{border-radius:5px;list-style-type:none;margin:0;padding:0;position:absolute;right:45px;top:5px;width:250px;z-index:1}.email-action{background-color:#dfdfdf;cursor:pointer;font-size:14.4px;padding:5px 10px;transition:background-color .15s ease-in-out;-webkit-user-select:none;-ms-user-select:none;user-select:none}.email-action:first-child{border-top-left-radius:5px;border-top-right-radius:5px}.email-action:last-child{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.email-action:hover{background-color:#ccc}.email-html{border:none;min-width:300px;overflow:auto}.email-html,.email-raw{max-width:100%;width:100%}.email-raw{color:#222;font-size:14.4px;padding:15px}.email-files{display:flex;flex-wrap:wrap;gap:10px;margin-top:5px;width:100%}.email-header-content,.email-header-infos{max-width:100%;overflow:hidden}.email-cc-container,.email-to-from-container{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:5px;margin-bottom:5px;max-width:100%;min-width:250px;overflow:hidden}.email-to-btn{color:#666;cursor:pointer;font-size:14.4px;padding:0 5px}.email-to-infos{background-color:#fff;border:1px solid #ccc;bottom:-325px;cursor:default;display:flex;flex-direction:column;gap:5px;margin:0;max-height:300px;overflow-x:hidden;overflow-y:auto;padding:10px;position:absolute;width:300px;z-index:2}.email-info{font-size:12.8px;width:100%}.email-info>span{color:gray;font-size:12px;margin-right:3px}.email-author{align-items:center;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:5px;transform:translateY(-2px);width:80%}.email-subject-secondary{margin-top:-5px}.email-subject-span{color:gray;font-size:11.2px}.email-to-svg{font-size:13.6px}.email-custom-buttons{display:flex;font-size:12.8px;gap:7px;position:absolute;right:5px;top:3px}.menu-mensagem{cursor:pointer;opacity:.7;padding:1px;transition:opacity .1s ease-in-out}.menu-mensagem:active,.menu-mensagem:focus,.menu-mensagem:hover{opacity:1}.email-error-content{align-items:center;display:flex;flex-direction:column;gap:5px;justify-content:center;padding:10px}.email-error-content p{color:#e74c3c;margin:0}.email-error-content button{background-color:#fff;border:1px solid #ccc;border-radius:3px;cursor:pointer;padding:5px 10px;transition:background-color .15s ease-in-out}.email-error-content button:hover{background-color:#eee}.btnReplyEmail:active,.btnReplyEmail:hover{background-color:#da8205;color:#000}.email-attachments-clip{cursor:pointer;display:flex;margin-top:5px}.clip-icon{color:#999;font-size:22px;position:relative;transform:rotate(-15deg)}.clip-badge{align-items:center;background:linear-gradient(135deg,#999 40%,#515050);border:1px solid #fff;border-radius:50%;box-sizing:border-box;color:#fff;display:flex;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18));font-size:12.4px;height:22px;justify-content:center;min-width:22px;padding:0 4px;position:absolute;right:-15px;text-align:center;top:0;transform:rotate(15deg)}.clip-icon:hover{color:#777}.clip-icon:hover .clip-badge{background:linear-gradient(135deg,#999 20%,#515050 70%);filter:drop-shadow(0 2px 4px rgba(0,0,0,.28))}.sc-icone-fechar{border-radius:50%;cursor:pointer;font-size:20.8px;position:absolute;right:0;top:0;z-index:1}.emoji-message-container .sc-icone-fechar.sc-icone-fechar--externo{--konecta-danger:#dc3545;color:var(--konecta-danger);top:-10px}.mensagem__outros .emoji-message-container .sc-icone-fechar.sc-icone-fechar--externo{right:-10px}.mensagem__outros .emoji-message-container,.mensagem__principal .emoji-message-container{z-index:2!important}.mensagem__outros .emoji-message-container{margin-left:50%}.mensagem__principal .emoji-message-container{transform:translateX(-50%)}.mensagem__principal .emoji-message-container .sc-icone-fechar.sc-icone-fechar--externo{left:-10px}.pdf-content{padding:0 20px}.email-pdf-download{align-items:center;color:#d54242d5;display:flex;font-size:15px;justify-content:center;transition:opacity .1s}.email-pdf-download:hover{opacity:.7}.pdf-title{word-wrap:break-word;border-bottom:2px solid #e2e6ea;color:#d54286;font-size:20px;margin:0 0 15px;overflow-wrap:break-word;padding-bottom:10px;page-break-after:avoid;page-break-inside:avoid}.pdf-info-table{border-collapse:collapse;margin:0 0 20px;page-break-inside:avoid;table-layout:fixed;width:100%}.pdf-info-table th{background-color:#f8f9fa;font-weight:700;text-align:left;vertical-align:top;width:100px}.pdf-info-table td,.pdf-info-table th{border:1px solid #e2e6ea;font-size:14px;padding:10px}.pdf-info-table td{word-wrap:break-word;line-height:1.5;max-width:100%;overflow-wrap:break-word;word-break:break-word}.pdf-info-table tr{page-break-after:auto;page-break-inside:avoid}.pdf-content blockquote,.pdf-content ol,.pdf-content pre,.pdf-content table,.pdf-content ul,.pdf-info-table,.pdf-info-table tr{break-inside:avoid!important;page-break-inside:avoid!important}
|