vue-intergrall-plugins 0.0.285 → 0.0.287

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 (41) hide show
  1. package/README.md +185 -185
  2. package/dist/vue-intergrall-plugins.esm.js +503 -399
  3. package/dist/vue-intergrall-plugins.min.js +1 -1
  4. package/dist/vue-intergrall-plugins.ssr.js +522 -434
  5. package/package.json +65 -65
  6. package/src/lib-components/Buttons/IconButton.vue +27 -27
  7. package/src/lib-components/Buttons/SimpleButton.vue +140 -140
  8. package/src/lib-components/Cards/Card.vue +412 -412
  9. package/src/lib-components/Cards/CardCheck.vue +35 -35
  10. package/src/lib-components/Cards/CardFile.vue +157 -157
  11. package/src/lib-components/Chat/AudioSpeedControl.vue +60 -0
  12. package/src/lib-components/Chat/BtnDownloadAllFiles.vue +32 -32
  13. package/src/lib-components/Chat/BtnEmojis.vue +124 -124
  14. package/src/lib-components/Chat/BtnExpand.vue +17 -17
  15. package/src/lib-components/Chat/BtnFiles.vue +415 -415
  16. package/src/lib-components/Chat/BtnMic.vue +60 -60
  17. package/src/lib-components/Chat/BtnScreenShare.vue +32 -32
  18. package/src/lib-components/Chat/BtnStandardMessages.vue +17 -17
  19. package/src/lib-components/Chat/ExpandTextarea.vue +410 -410
  20. package/src/lib-components/Chat/MultipleFilePreview.vue +266 -266
  21. package/src/lib-components/Chat/Picker.vue +368 -368
  22. package/src/lib-components/Chat/RemainingCharacters.vue +28 -28
  23. package/src/lib-components/Chat/SingleFilePreview.vue +94 -94
  24. package/src/lib-components/Chat/SkeletonPicker.vue +110 -110
  25. package/src/lib-components/Chat/StandardMessages.vue +245 -245
  26. package/src/lib-components/Chat/TextFooter.vue +1075 -817
  27. package/src/lib-components/Email/EmailFile.vue +125 -125
  28. package/src/lib-components/Email/EmailItem.vue +185 -185
  29. package/src/lib-components/Loader/Loader.vue +78 -78
  30. package/src/lib-components/Messages/AnexoMensagem.vue +459 -385
  31. package/src/lib-components/Messages/CardAttachment.vue +61 -61
  32. package/src/lib-components/Messages/CardMessages.vue +460 -460
  33. package/src/lib-components/Messages/ChatMessages.vue +715 -715
  34. package/src/lib-components/Messages/InteratividadeBotoes.vue +165 -165
  35. package/src/lib-components/Messages/InteratividadeFormulario.vue +392 -392
  36. package/src/lib-components/Messages/InteratividadePopup.vue +88 -88
  37. package/src/lib-components/Messages/LinkPreview.vue +163 -163
  38. package/src/lib-components/Scroll/ScrollContent.vue +150 -150
  39. package/src/lib-components/Templates/TemplateGenerator.vue +576 -576
  40. package/src/lib-components/Templates/TemplateMessage.vue +83 -83
  41. package/src/lib-components/Templates/TemplateSingle.vue +481 -481
@@ -1,385 +1,459 @@
1
- <template>
2
- <div class="mensagem-div-anexo">
3
- <div class="anexo-mensagem">
4
- <img v-if="imageURL" @click="showImage(imageURL)" :src="imageURL" :alt="dictionary.alt_msg_img">
5
- <audio v-else-if="audio" controls="controls">
6
- <source :src="docURL" :type="fileType" />
7
- Sem suporte para o elemento audio
8
- </audio>
9
- <video v-else-if="video" controls="controls">
10
- <source :src="docURL" :type="fileType" />
11
- Sem suporte para o elemento video
12
- </video>
13
- <span v-else-if="docURL" @click="openWindowFromURL(docURL)" class="default-doc">
14
- <fa-icon :class="[iconClass]" :icon="icon" />
15
- <p v-text="filename" :title="filename"></p>
16
- </span>
17
- <span v-else class="default-doc">
18
- <fa-icon :class="[iconClass ? iconClass : '']" :icon="['fas', 'file-alt']" />
19
- <p v-text="filename" :title="filename"></p>
20
- </span>
21
- <!-- Acoes -->
22
- <div v-if="showControlFiles" class="file-actions">
23
- <span v-if="imageURL" class="file-action-button" @click="showImage(imageURL)">
24
- <fa-icon :icon="['fas', 'search-plus']" v-tippy :content="`${dictionary.titulo_visualizar_img}`" />
25
- </span>
26
- <span v-if="docURL" @click="openWindowFromURL(docURL)" v-tippy :content="`Visualizar anexo`"
27
- class="file-action-button">
28
- <fa-icon :icon="['fas', 'search-plus']" />
29
- </span>
30
- <a v-if="imageURL || docURL" :href="imageURL ? imageURL : docURL" :download="`${filename}`" target="_blank"
31
- rel="noreferrer noopener" v-tippy :content="`Fazer o download do anexo`" class="file-action-button">
32
- <fa-icon :icon="['fas', 'download']" />
33
- </a>
34
- <template v-if="imageURL || docURL">
35
- <tippy interactive theme="light" trigger="click">
36
- <template v-slot:trigger>
37
- <span class="file-action-button" ref="download-multiple-trigger" v-tippy
38
- :content="`Fazer o download de todos anexos da conversa`">
39
- <fa-icon :icon="['fas', 'download']" />
40
- <fa-icon :icon="['fas', 'download']" />
41
- <fa-icon :icon="['fas', 'download']" />
42
- </span>
43
- </template>
44
-
45
- <div class="tippy-confirmation">
46
- <p> Deseja fazer download de todos anexos da tela? </p>
47
- <button class="cancel box-shadow" @click="closeTippy"> Cancelar </button>
48
- <button class="confirm box-shadow" @click="downloadAllFilesHandler(referenceSelector)"> Confirmar </button>
49
- </div>
50
-
51
- </tippy>
52
- </template>
53
- </div>
54
- </div>
55
- </div>
56
- </template>
57
-
58
- <style>
59
- .tippy-tooltip.light-theme .tippy-backdrop {
60
- background-color: #FFF;
61
- }
62
-
63
- .tippy-tooltip.light-theme {
64
- /* .tippy-box[data-theme~='light'] { */
65
- background-color: #FFF;
66
- border: 1px solid #CCC;
67
- color: #333;
68
- -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
69
- -moz-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
70
- box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
71
- }
72
-
73
- .tippy-confirmation p {
74
- margin-bottom: 3px;
75
- }
76
-
77
- .tippy-confirmation button {
78
- border: unset;
79
- background-color: #F1F1F1;
80
- border-radius: 3px;
81
- padding: 5px 8px;
82
- cursor: pointer;
83
- font-size: .75rem;
84
- }
85
-
86
- .tippy-confirmation button.cancel {
87
- border-bottom: 2px solid red;
88
- margin-right: 15px;
89
- }
90
-
91
- .tippy-confirmation button.confirm {
92
- border-bottom: 2px solid green;
93
- }
94
- </style>
95
-
96
- <script>
97
- import { fileHandler } from "../../mixins/fileHandler"
98
- import Loader from "../Loader/Loader"
99
-
100
- export default {
101
- mixins: [fileHandler],
102
- components: { Loader },
103
- props: {
104
- anexo: {
105
- type: Object,
106
- required: true
107
- },
108
- dominio: {
109
- type: String,
110
- required: true
111
- },
112
- dictionary: {
113
- type: Object,
114
- required: true
115
- },
116
- origemExterna: {
117
- type: Boolean,
118
- required: false
119
- },
120
- referenceSelector: {
121
- type: String,
122
- required: true
123
- },
124
- showControlFiles: { type: Boolean }
125
- },
126
- data() {
127
- return {
128
- imgErro: false,
129
- imgMsgErro: ''
130
- }
131
- },
132
- mounted() {
133
- if (this.validarAnexo()) {
134
- this.setFileVars(this.anexo, { dominio: this.dominio })
135
- }
136
- },
137
- methods: {
138
- validarAnexo() {
139
- let status = true
140
- //caso for audio ou documento ignorar
141
- if (this.anexo.docURL || this.anexo.audio) return true
142
- if (!this.anexo.name) {
143
- this.imgMsgErro = this.dictionary.img_com_erro_nome
144
- status = false
145
- }
146
- if (!this.anexo.nomeGravacao) {
147
- this.imgMsgErro = this.dictionary.img_com_erro_nome_gravacao
148
- status = false
149
- }
150
- if (!this.anexo.type) {
151
- this.imgMsgErro = this.dictionary.img_com_erro_tipo
152
- status = false
153
- }
154
- if (status == false) {
155
- this.imgErro = true
156
- this.isLoading = false
157
- }
158
- return status
159
- },
160
- closeTippy() {
161
- this.$refs["download-multiple-trigger"] && this.$refs["download-multiple-trigger"].click()
162
- }
163
- }
164
- }
165
- </script>
166
-
167
- <style scoped>
168
- .mensagem__principal .default-doc {
169
- background-color: var(--files-bg);
170
- }
171
-
172
- .mensagem__principal .default-doc:hover {
173
- background-color: var(--files-bg-hover);
174
- }
175
-
176
- .mensagem__outros .default-doc {
177
- background-color: rgba(100, 100, 100, 0.1);
178
- }
179
-
180
- .mensagem__outros .default-doc:hover {
181
- background-color: rgba(100, 100, 100, 0.3);
182
- }
183
-
184
- .default-doc:hover p {
185
- text-decoration: underline;
186
- }
187
-
188
- .default-doc {
189
- display: flex;
190
- align-items: center;
191
- padding: 10px;
192
- border-radius: 5px;
193
- width: 100%;
194
- max-width: 100%;
195
- cursor: pointer;
196
- transition: background-color 150ms ease-in-out;
197
- }
198
-
199
- .default-doc svg {
200
- font-size: 1.2rem;
201
- margin-right: 5px;
202
- }
203
-
204
- .default-doc p {
205
- overflow: hidden;
206
- text-overflow: ellipsis;
207
- white-space: nowrap;
208
- }
209
-
210
- .file-actions {
211
- display: flex;
212
- justify-content: flex-end;
213
- width: 100%;
214
- padding: 5px;
215
- }
216
-
217
- .file-actions a {
218
- margin-right: 0;
219
- }
220
-
221
- .mensagem__principal .file-action-button {
222
- background-color: var(--files-bg);
223
- }
224
-
225
- .mensagem__outros .file-action-button {
226
- background-color: rgba(100, 100, 100, 0.1);
227
- }
228
-
229
- .mensagem__principal .file-action-button:hover {
230
- background-color: var(--files-bg-hover);
231
- }
232
-
233
- .mensagem__outros .file-action-button:hover {
234
- background-color: rgba(100, 100, 100, 0.3);
235
- }
236
-
237
- .file-action-button {
238
- display: flex;
239
- justify-content: center;
240
- align-items: center;
241
- margin-left: 12px;
242
- cursor: pointer;
243
- padding: 5px;
244
- border-radius: 5px;
245
- transition: background-color 150ms ease-in-out;
246
- }
247
-
248
- .file-action-button a {
249
- margin: 0
250
- }
251
-
252
- .fade-enter-active,
253
- .fade-leave-active {
254
- transition: opacity .5s;
255
- }
256
-
257
- .fade-enter,
258
- .fade-leave-to {
259
- opacity: 0;
260
- }
261
-
262
- .mensagem-div-anexo {
263
- width: 100%;
264
- display: flex;
265
- justify-content: center;
266
- align-items: center;
267
- flex-direction: column;
268
- overflow: hidden;
269
- }
270
-
271
- .anexo-container {
272
- width: 100%;
273
- margin-top: 5px;
274
- overflow: hidden;
275
- display: flex;
276
- max-height: 300px;
277
- }
278
-
279
- .anexo-container a,
280
- .anexo-container .arquivo-erro {
281
- padding: 10px 15px 15px 15px;
282
- display: flex;
283
- justify-content: center;
284
- align-items: center;
285
- }
286
-
287
- .anexo-container p {
288
- text-overflow: ellipsis;
289
- overflow: hidden;
290
- }
291
-
292
- .anexo-container p,
293
- .anexo-container .arquivo-erro {
294
- margin: 0;
295
- margin-left: 15px;
296
- font-size: .9rem
297
- }
298
-
299
- .anexo-container svg {
300
- font-size: 2rem;
301
- }
302
-
303
- .anexo-mensagem audio {
304
- outline: none;
305
- width: 100%;
306
- margin-bottom: 5px;
307
- }
308
-
309
- .anexo-mensagem video {
310
- flex: 1;
311
- width: 100%;
312
- max-width: 350px;
313
- cursor: pointer;
314
- margin-bottom: 5px;
315
- }
316
-
317
- .anexos-links-container {
318
- width: 100%;
319
- display: flex;
320
- justify-content: center;
321
- align-items: center;
322
- }
323
-
324
- .anexos-links-container a {
325
- white-space: nowrap;
326
- text-overflow: ellipsis;
327
- overflow: hidden;
328
- margin-right: 5px;
329
- font-weight: 550;
330
- color: inherit;
331
- text-decoration: none;
332
- }
333
-
334
- .anexos-links-container svg {
335
- cursor: pointer;
336
- }
337
-
338
- .mensagem-div-anexo img {
339
- cursor: pointer;
340
- margin: 10px 0;
341
- min-width: 35px;
342
- width: 100%;
343
- max-width: 250px;
344
- }
345
-
346
- .anexo-transition {
347
- width: 100%;
348
- height: 100%;
349
- }
350
-
351
- .anexo-mensagem {
352
- display: flex;
353
- justify-content: center;
354
- align-items: center;
355
- flex-direction: column;
356
- width: 100%;
357
- }
358
-
359
- .alert-danger {
360
- color: #721c24;
361
- background-color: #f8d7da;
362
- border-color: #f5c6cb;
363
- }
364
-
365
- .alert {
366
- position: relative;
367
- padding: 0.65rem 1.2rem;
368
- margin: 5px 0;
369
- border: 1px solid transparent;
370
- border-radius: 0.25rem;
371
- text-align: center;
372
- }
373
-
374
- .alert svg {
375
- font-size: 1.025em;
376
- margin-right: 2px;
377
- }
378
-
379
- .pdf {
380
- color: #E74C3C;
381
- }
382
-
383
- .doc {
384
- color: #006bc9
385
- }</style>
1
+ <template>
2
+ <div class="mensagem-div-anexo">
3
+ <div class="anexo-mensagem">
4
+ <img
5
+ v-if="imageURL"
6
+ @click="showImage(imageURL)"
7
+ :src="imageURL"
8
+ :alt="dictionary.alt_msg_img"
9
+ />
10
+ <div class="testeAudio" v-else-if="audio">
11
+ <audio ref="audioPlayer" class="audioStyle" controls="controls">
12
+ <source :src="docURL" :type="fileType" />
13
+ Sem suporte para o elemento audio
14
+ </audio>
15
+ <audio-speed-control
16
+ class="teste"
17
+ @change-speed="changeAudioSpeed"
18
+ ></audio-speed-control>
19
+ </div>
20
+
21
+ <video v-else-if="video" controls="controls">
22
+ <source :src="docURL" :type="fileType" />
23
+ Sem suporte para o elemento video
24
+ </video>
25
+ <span
26
+ v-else-if="docURL"
27
+ @click="openWindowFromURL(docURL)"
28
+ class="default-doc"
29
+ >
30
+ <fa-icon :class="[iconClass]" :icon="icon" />
31
+ <p v-text="filename" :title="filename"></p>
32
+ </span>
33
+ <span v-else class="default-doc">
34
+ <fa-icon
35
+ :class="[iconClass ? iconClass : '']"
36
+ :icon="['fas', 'file-alt']"
37
+ />
38
+ <p v-text="filename" :title="filename"></p>
39
+ </span>
40
+ <!-- Acoes -->
41
+ <div v-if="showControlFiles" class="file-actions">
42
+ <span
43
+ v-if="imageURL"
44
+ class="file-action-button"
45
+ @click="showImage(imageURL)"
46
+ >
47
+ <fa-icon
48
+ :icon="['fas', 'search-plus']"
49
+ v-tippy
50
+ :content="`${dictionary.titulo_visualizar_img}`"
51
+ />
52
+ </span>
53
+ <span
54
+ v-if="docURL"
55
+ @click="openWindowFromURL(docURL)"
56
+ v-tippy
57
+ :content="`Visualizar anexo`"
58
+ class="file-action-button"
59
+ >
60
+ <fa-icon :icon="['fas', 'search-plus']" />
61
+ </span>
62
+ <a
63
+ v-if="imageURL || docURL"
64
+ :href="imageURL ? imageURL : docURL"
65
+ :download="`${filename}`"
66
+ target="_blank"
67
+ rel="noreferrer noopener"
68
+ v-tippy
69
+ :content="`Fazer o download do anexo`"
70
+ class="file-action-button"
71
+ >
72
+ <fa-icon :icon="['fas', 'download']" />
73
+ </a>
74
+ <template v-if="imageURL || docURL">
75
+ <tippy interactive theme="light" trigger="click">
76
+ <template v-slot:trigger>
77
+ <span
78
+ class="file-action-button"
79
+ ref="download-multiple-trigger"
80
+ v-tippy
81
+ :content="`Fazer o download de todos anexos da conversa`"
82
+ >
83
+ <fa-icon :icon="['fas', 'download']" />
84
+ <fa-icon :icon="['fas', 'download']" />
85
+ <fa-icon :icon="['fas', 'download']" />
86
+ </span>
87
+ </template>
88
+
89
+ <div class="tippy-confirmation">
90
+ <p>Deseja fazer download de todos anexos da tela?</p>
91
+ <button class="cancel box-shadow" @click="closeTippy">
92
+ Cancelar
93
+ </button>
94
+ <button
95
+ class="confirm box-shadow"
96
+ @click="downloadAllFilesHandler(referenceSelector)"
97
+ >
98
+ Confirmar
99
+ </button>
100
+ </div>
101
+ </tippy>
102
+ </template>
103
+ </div>
104
+ </div>
105
+ </div>
106
+ </template>
107
+
108
+ <style>
109
+ .tippy-tooltip.light-theme .tippy-backdrop {
110
+ background-color: #fff;
111
+ }
112
+
113
+ .tippy-tooltip.light-theme {
114
+ /* .tippy-box[data-theme~='light'] { */
115
+ background-color: #fff;
116
+ border: 1px solid #ccc;
117
+ color: #333;
118
+ -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2),
119
+ 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
120
+ -moz-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2),
121
+ 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
122
+ box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2),
123
+ 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
124
+ }
125
+
126
+ .tippy-confirmation p {
127
+ margin-bottom: 3px;
128
+ }
129
+
130
+ .tippy-confirmation button {
131
+ border: unset;
132
+ background-color: #f1f1f1;
133
+ border-radius: 3px;
134
+ padding: 5px 8px;
135
+ cursor: pointer;
136
+ font-size: 0.75rem;
137
+ }
138
+
139
+ .tippy-confirmation button.cancel {
140
+ border-bottom: 2px solid red;
141
+ margin-right: 15px;
142
+ }
143
+
144
+ .tippy-confirmation button.confirm {
145
+ border-bottom: 2px solid green;
146
+ }
147
+ </style>
148
+
149
+ <script>
150
+ import { fileHandler } from "../../mixins/fileHandler";
151
+ import Loader from "../Loader/Loader";
152
+ import AudioSpeedControl from "../Chat/AudioSpeedControl.vue";
153
+
154
+ export default {
155
+ mixins: [fileHandler],
156
+ components: { Loader, AudioSpeedControl },
157
+ props: {
158
+ anexo: {
159
+ type: Object,
160
+ required: true,
161
+ },
162
+ dominio: {
163
+ type: String,
164
+ required: true,
165
+ },
166
+ dictionary: {
167
+ type: Object,
168
+ required: true,
169
+ },
170
+ origemExterna: {
171
+ type: Boolean,
172
+ required: false,
173
+ },
174
+ referenceSelector: {
175
+ type: String,
176
+ required: true,
177
+ },
178
+ showControlFiles: { type: Boolean },
179
+ },
180
+ data() {
181
+ return {
182
+ imgErro: false,
183
+ imgMsgErro: "",
184
+ };
185
+ },
186
+ mounted() {
187
+ if (this.validarAnexo()) {
188
+ this.setFileVars(this.anexo, { dominio: this.dominio });
189
+ }
190
+ },
191
+ methods: {
192
+ changeAudioSpeed(newSpeed) {
193
+ // Aplique a velocidade ao elemento de áudio
194
+ this.$refs.audioPlayer.playbackRate = newSpeed;
195
+ },
196
+ validarAnexo() {
197
+ let status = true;
198
+ //caso for audio ou documento ignorar
199
+ if (this.anexo.docURL || this.anexo.audio) return true;
200
+ if (!this.anexo.name) {
201
+ this.imgMsgErro = this.dictionary.img_com_erro_nome;
202
+ status = false;
203
+ }
204
+ if (!this.anexo.nomeGravacao) {
205
+ this.imgMsgErro = this.dictionary.img_com_erro_nome_gravacao;
206
+ status = false;
207
+ }
208
+ if (!this.anexo.type) {
209
+ this.imgMsgErro = this.dictionary.img_com_erro_tipo;
210
+ status = false;
211
+ }
212
+ if (status == false) {
213
+ this.imgErro = true;
214
+ this.isLoading = false;
215
+ }
216
+ return status;
217
+ },
218
+ closeTippy() {
219
+ this.$refs["download-multiple-trigger"] &&
220
+ this.$refs["download-multiple-trigger"].click();
221
+ },
222
+ },
223
+ };
224
+ </script>
225
+
226
+ <style scoped>
227
+ .mensagem__principal .default-doc {
228
+ background-color: var(--files-bg);
229
+ }
230
+
231
+ .mensagem__principal .default-doc:hover {
232
+ background-color: var(--files-bg-hover);
233
+ }
234
+
235
+ .mensagem__outros .default-doc {
236
+ background-color: rgba(100, 100, 100, 0.1);
237
+ }
238
+
239
+ .mensagem__outros .default-doc:hover {
240
+ background-color: rgba(100, 100, 100, 0.3);
241
+ }
242
+
243
+ .default-doc:hover p {
244
+ text-decoration: underline;
245
+ }
246
+
247
+ .default-doc {
248
+ display: flex;
249
+ align-items: center;
250
+ padding: 10px;
251
+ border-radius: 5px;
252
+ width: 100%;
253
+ max-width: 100%;
254
+ cursor: pointer;
255
+ transition: background-color 150ms ease-in-out;
256
+ }
257
+
258
+ .default-doc svg {
259
+ font-size: 1.2rem;
260
+ margin-right: 5px;
261
+ }
262
+
263
+ .default-doc p {
264
+ overflow: hidden;
265
+ text-overflow: ellipsis;
266
+ white-space: nowrap;
267
+ }
268
+
269
+ .file-actions {
270
+ display: flex;
271
+ justify-content: flex-end;
272
+ width: 100%;
273
+ padding: 5px;
274
+ }
275
+
276
+ .file-actions a {
277
+ margin-right: 0;
278
+ }
279
+
280
+ .mensagem__principal .file-action-button {
281
+ background-color: var(--files-bg);
282
+ }
283
+
284
+ .mensagem__outros .file-action-button {
285
+ background-color: rgba(100, 100, 100, 0.1);
286
+ }
287
+
288
+ .mensagem__principal .file-action-button:hover {
289
+ background-color: var(--files-bg-hover);
290
+ }
291
+
292
+ .mensagem__outros .file-action-button:hover {
293
+ background-color: rgba(100, 100, 100, 0.3);
294
+ }
295
+
296
+ .file-action-button {
297
+ display: flex;
298
+ justify-content: center;
299
+ align-items: center;
300
+ margin-left: 12px;
301
+ cursor: pointer;
302
+ padding: 5px;
303
+ border-radius: 5px;
304
+ transition: background-color 150ms ease-in-out;
305
+ }
306
+
307
+ .file-action-button a {
308
+ margin: 0;
309
+ }
310
+
311
+ .fade-enter-active,
312
+ .fade-leave-active {
313
+ transition: opacity 0.5s;
314
+ }
315
+
316
+ .fade-enter,
317
+ .fade-leave-to {
318
+ opacity: 0;
319
+ }
320
+
321
+ .mensagem-div-anexo {
322
+ width: 100%;
323
+ display: flex;
324
+ justify-content: center;
325
+ align-items: center;
326
+ flex-direction: column;
327
+ overflow: hidden;
328
+ }
329
+
330
+ .anexo-container {
331
+ width: 100%;
332
+ margin-top: 5px;
333
+ overflow: hidden;
334
+ display: flex;
335
+ max-height: 300px;
336
+ }
337
+
338
+ .anexo-container a,
339
+ .anexo-container .arquivo-erro {
340
+ padding: 10px 15px 15px 15px;
341
+ display: flex;
342
+ justify-content: center;
343
+ align-items: center;
344
+ }
345
+
346
+ .anexo-container p {
347
+ text-overflow: ellipsis;
348
+ overflow: hidden;
349
+ }
350
+
351
+ .anexo-container p,
352
+ .anexo-container .arquivo-erro {
353
+ margin: 0;
354
+ margin-left: 15px;
355
+ font-size: 0.9rem;
356
+ }
357
+
358
+ .anexo-container svg {
359
+ font-size: 2rem;
360
+ }
361
+
362
+ .anexo-mensagem audio .testeAudio {
363
+ outline: none;
364
+ width: 100%;
365
+ margin-bottom: 5px;
366
+
367
+ }
368
+ .audioStyle {
369
+ width: 370px;
370
+ }
371
+
372
+ .testeAudio {
373
+ display: flex;
374
+ /* justify-content: space-between; */
375
+ background-color: #f1f3f4;
376
+ border-radius: 50%;
377
+ width: 433px;
378
+ border-bottom-right-radius: 26px;
379
+ border-top-right-radius: 26px;
380
+ }
381
+
382
+ .anexo-mensagem video {
383
+ flex: 1;
384
+ width: 100%;
385
+ max-width: 350px;
386
+ cursor: pointer;
387
+ margin-bottom: 5px;
388
+ }
389
+
390
+ .anexos-links-container {
391
+ width: 100%;
392
+ display: flex;
393
+ justify-content: center;
394
+ align-items: center;
395
+ }
396
+
397
+ .anexos-links-container a {
398
+ white-space: nowrap;
399
+ text-overflow: ellipsis;
400
+ overflow: hidden;
401
+ margin-right: 5px;
402
+ font-weight: 550;
403
+ color: inherit;
404
+ text-decoration: none;
405
+ }
406
+
407
+ .anexos-links-container svg {
408
+ cursor: pointer;
409
+ }
410
+
411
+ .mensagem-div-anexo img {
412
+ cursor: pointer;
413
+ margin: 10px 0;
414
+ min-width: 35px;
415
+ width: 100%;
416
+ max-width: 250px;
417
+ }
418
+
419
+ .anexo-transition {
420
+ width: 100%;
421
+ height: 100%;
422
+ }
423
+
424
+ .anexo-mensagem {
425
+ display: flex;
426
+ justify-content: center;
427
+ align-items: center;
428
+ flex-direction: column;
429
+ width: 100%;
430
+ }
431
+
432
+ .alert-danger {
433
+ color: #721c24;
434
+ background-color: #f8d7da;
435
+ border-color: #f5c6cb;
436
+ }
437
+
438
+ .alert {
439
+ position: relative;
440
+ padding: 0.65rem 1.2rem;
441
+ margin: 5px 0;
442
+ border: 1px solid transparent;
443
+ border-radius: 0.25rem;
444
+ text-align: center;
445
+ }
446
+
447
+ .alert svg {
448
+ font-size: 1.025em;
449
+ margin-right: 2px;
450
+ }
451
+
452
+ .pdf {
453
+ color: #e74c3c;
454
+ }
455
+
456
+ .doc {
457
+ color: #006bc9;
458
+ }
459
+ </style>