vue-intergrall-plugins 0.0.286 → 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 +502 -398
  3. package/dist/vue-intergrall-plugins.min.js +1 -1
  4. package/dist/vue-intergrall-plugins.ssr.js +521 -433
  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,461 +1,461 @@
1
- <template>
2
- <div :class="{'card-cli' : origem === 'outros', 'card-ope' : origem === 'principal', 'msgNova' : msgNova}" v-if="origem" :id="`a${messageIndex ? messageIndex : randomizeValue}`">
3
- <transition name="fade">
4
- <span v-if="msgNova" class="novas-mensagens">
5
- Nova mensagem
6
- </span>
7
- </transition>
8
- <div class="card box-shadow">
9
- <div class="card-header">
10
- <div class="card-autor">
11
- <fa-icon :icon="iconAutor" />
12
- <p class="text-bold" v-if="autor" v-text="`${tratarTextoLongo(autor)}`" :title="autor"></p>
13
- <p v-if="origem === 'principal' && login" v-text="`| ${login}`" :title="login"></p>
14
- </div>
15
- <div class="card-right">
16
- <div class="card-datas">
17
- <div v-if="data_cri" class="card-data" :title="`${dictionary.data_criacao}: ${origem === 'outros' ? formataTimezoneData(data_cri) : returnFormataDataHora(data_cri)}`">
18
- <span v-text="origem === 'outros' ? formataTimezoneData(data_cri) : returnFormataDataHora(data_cri)"></span>
19
- </div>
20
- <div v-if="data_mod" class="card-data" :title="`${dictionary.data_mod}: ${origem === 'outros' ? formataTimezoneData(data_mod) : returnFormataDataHora(data_mod)}`">
21
- <span v-text="origem === 'outros' ? formataTimezoneData(data_mod) : returnFormataDataHora(data_mod)"></span>
22
- </div>
23
- </div>
24
- <div class="card-expand" @click="expandirCard()" v-if="hasExpand">
25
- <fa-icon :icon="['fas', 'expand-alt']" />
26
- </div>
27
- </div>
28
- </div>
29
- <div class="card-chip-container">
30
- <p
31
- class="card-chip"
32
- :class="[ticketClassCod]"
33
- v-if="ticket_id.cod && ticket_id.desc"
34
- v-text="`${ticket_id.desc} (${ticket_id.cod})`"
35
- :title="`${ticket_id.desc} (${ticket_id.cod})`"
36
- ></p>
37
- <p
38
- v-if="ticket_id.hasOwnProperty('back_doing_business')"
39
- :class="`${ticket_id.back_doing_business ? 'green' : 'red'} card-chip`"
40
- :title="`${dictionary.title_voltaria_fazer_negocio} ${
41
- ticket_id.back_doing_business
42
- ? `${dictionary.title_sim}`
43
- : `${dictionary.title_nao}`
44
- }`"
45
- v-text="
46
- `${dictionary.title_voltaria_fazer_negocio} ${
47
- ticket_id.back_doing_business
48
- ? `${dictionary.title_sim}`
49
- : `${dictionary.title_nao}`
50
- }`
51
- "
52
- ></p>
53
- <p
54
- v-if="ticket_id.hasOwnProperty('rating')"
55
- :class="`${isNumberBiggerThanSix ? 'green' : 'red'} card-chip`"
56
- :title="`${dictionary.title_avaliacao} ${ticket_id.rating}`"
57
- v-text="`${dictionary.title_avaliacao} ${ticket_id.rating}`"
58
- ></p>
59
- <p
60
- v-if="ticket_id.hasOwnProperty('resolved_issue')"
61
- :class="`${ticket_id.resolved_issue ? 'green' : 'red'} card-chip`"
62
- :title="`${dictionary.title_problema_resolvido} ${
63
- ticket_id.resolved_issue
64
- ? `${dictionary.title_sim}`
65
- : `${dictionary.title_nao}`
66
- }`"
67
- v-text="
68
- `${dictionary.title_problema_resolvido} ${
69
- ticket_id.resolved_issue
70
- ? `${dictionary.title_sim}`
71
- : `${dictionary.title_nao}`
72
- }`
73
- "
74
- ></p>
75
- </div>
76
- <p class="card-message" v-html="mensagemFormatada"></p>
77
- <div class="card-footer" v-if="anexos && anexos.length">
78
- <div class="card-anexo" v-for="(anexo, index) in anexos" :key="`${index}`">
79
- <CardAttachment :anexo="anexo" :dictionary="dictionary" :dominio="dominio" />
80
- </div>
81
- </div>
82
- </div>
83
- </div>
84
- </template>
85
-
86
- <script>
87
- import { textoLongo } from "@/mixins/formatarTexto"
88
- import { formataTimezoneData, formataDataHora } from "../../services/textFormatting"
89
- import CardAttachment from "./CardAttachment"
90
-
91
- export default {
92
- components: { CardAttachment },
93
- props: {
94
- dictionary: {
95
- type: Object,
96
- required: true
97
- },
98
- messageIndex: {
99
- type: [Number, String],
100
- required: true
101
- },
102
- dominio: {
103
- type: String,
104
- required: true
105
- },
106
- hasExpand: {
107
- type: Boolean,
108
- required: false,
109
- default: true
110
- },
111
- origem: {
112
- type: String,
113
- required: true
114
- },
115
- autor: {
116
- type: String
117
- },
118
- login: {
119
- type: String
120
- },
121
- mensagem: {
122
- type: String
123
- },
124
- anexos: {
125
- type: Array
126
- },
127
- data_cri: {
128
- type: String
129
- },
130
- data_mod: {
131
- type: String
132
- },
133
- ticket_id: {
134
- type: Object
135
- },
136
- ticket_name: {
137
- type: String
138
- },
139
- msgNova: {
140
- type: Boolean
141
- },
142
- origemExterna: {
143
- type: String
144
- }
145
- },
146
- mixins: [textoLongo],
147
- computed: {
148
- randomizeValue() {
149
- return `${(Math.floor(Math.random() * 7770))}${Date.now()}`
150
- },
151
- mensagemFormatada() {
152
- if(this.mensagem) {
153
- const regex = /(\n|&nbsp;)/g
154
- if(regex.test(this.mensagem)) return this.mensagem.replace(regex, "<br>")
155
- }
156
- return this.mensagem
157
- },
158
- iconAutor() {
159
- return this.origem === "outros" ? ['fas', 'user'] : ['fas', 'headset']
160
- },
161
- ticketClassCod() {
162
- if(!this.ticket_id || !this.ticket_id.cod) return ""
163
- const { cod } = this.ticket_id
164
- switch(cod) {
165
- case 17:
166
- case "17":
167
- case 9:
168
- case "9":
169
- case 8:
170
- case "8":
171
- return "red"
172
- case 3:
173
- case "3":
174
- case 6:
175
- case "6":
176
- return "yellow"
177
- default:
178
- return ""
179
- }
180
- },
181
- isNumberBiggerThanSix() {
182
- if (!this.ticket_id || !this.ticket_id.rating) return false;
183
- try {
184
- return parseInt(this.ticket_id.rating) > 6;
185
- } catch (err) {
186
- return false;
187
- }
188
- }
189
- },
190
- methods: {
191
- formataTimezoneData(timezoneData) {
192
- return formataTimezoneData(timezoneData)
193
- },
194
- returnFormataDataHora(dataHora) {
195
- return formataDataHora(dataHora, false, false, this.dictionary)
196
- },
197
- expandirCard() {
198
- this.$emit("expand-card", this.$props)
199
- // this.$store.dispatch("informacoesCardExpandido", this.$props)
200
- // this.$store.dispatch("toggleBlocker", { state: true, origin: "expandir-card-reclamacao"})
201
- }
202
- }
203
- }
204
- </script>
205
-
206
- <style scoped>
207
- .fade-enter-active,
208
- .fade-leave-active {
209
- transition: opacity 200ms;
210
- }
211
- .fade-enter,
212
- .fade-leave-to {
213
- opacity: 0;
214
- }
215
-
216
- .card-cli, .card-ope {
217
- display: flex;
218
- width: 95%;
219
- margin: 5px 0;
220
- position: relative;
221
- }
222
- .card-cli.msgNova, .card-ope.msgNova {
223
- margin-top: 30px;
224
- }
225
-
226
- .novas-mensagens {
227
- position: absolute;
228
- top: -30px;
229
- width: 100%;
230
- display: flex;
231
- justify-content: center;
232
- align-items: center;
233
- margin: 2.5px 0;
234
- background-color: lighten(#FFF249, 15)
235
- }
236
-
237
- .card-cli .card {
238
- border-left: 3px solid #90B823;
239
- }
240
-
241
-
242
- .card-ope {
243
- align-self: flex-end;
244
- background-color: lighten(#007535, 72);
245
- }
246
- .card-ope .card {
247
- border-right: 3px solid #007535;
248
- }
249
-
250
- .card {
251
- background-color: rgba(255, 255, 255, .9);
252
- overflow: hidden;
253
- width: 100%;
254
- padding: 2.5px 5px;
255
- }
256
- .card p {
257
- word-break: break-all;
258
- }
259
-
260
- .card-header {
261
- width: 100%;
262
- border-bottom: 1px solid #ddd;
263
- margin-bottom: 5px;
264
- display: flex;
265
- justify-content: space-between;
266
- }
267
- .card-header svg {
268
- font-size: 1rem
269
- }
270
-
271
- .card-canal {
272
- flex: 1;
273
- margin-right: 10px;
274
- }
275
-
276
- .card-datas {
277
- display: flex;
278
- flex-direction: column;
279
- margin-right: 10px;
280
- }
281
-
282
- .card-data {
283
- overflow: hidden;
284
- display: flex;
285
- align-content: center;
286
- }
287
- .card-data span {
288
- white-space: nowrap;
289
- text-overflow: ellipsis;
290
- overflow: hidden;
291
- }
292
- .card-data svg {
293
- margin-right: 5px;
294
- color: #232323;
295
- }
296
-
297
- .card-expand {
298
- display: flex;
299
- justify-content: center;
300
- align-items: center;
301
- margin: 2.5px;
302
- cursor: pointer;
303
- opacity: .8;
304
- transition: opacity 150ms;
305
- }
306
- .card-expand:hover {
307
- opacity: 1;
308
- }
309
-
310
- .card-footer {
311
- margin-top: 5px;
312
- border-top: 1px solid #ddd;
313
- display: flex;
314
- flex-wrap: wrap;
315
- }
316
-
317
- .card-chip-container {
318
- display: flex;
319
- flex-wrap: wrap;
320
- width: 100%;
321
- gap: 5px;
322
- }
323
-
324
- .card-chip {
325
- font-size: .8rem;
326
- width: fit-content;
327
- border-radius: 15px;
328
- transition: all 150ms ease-in-out;
329
- padding: 2.5px 7px;
330
- color: rgb(31, 105, 193);
331
- background-color: rgba(207, 216, 244, .6);
332
- margin-bottom: 5px;
333
- }
334
- .card-chip:hover {
335
- background-color: rgba(207, 216, 244, 1);
336
- }
337
- .card-chip.orange {
338
- color: #e14924;
339
- background-color: rgba(228, 92, 58, .15);
340
- }
341
- .card-chip.orange:hover {
342
- background-color: rgba(228, 92, 58, .2);
343
- }
344
- .card-chip.yellow {
345
- color: #f4a304;
346
- background-color: rgba(252, 191, 73, .15);
347
- }
348
- .card-chip.yellow:hover {
349
- background-color: rgba(252, 191, 73, .2);
350
- }
351
- .card-chip.red {
352
- color: rgb(231, 76, 60);
353
- background-color: rgba(231, 76, 60, .2);
354
- }
355
- .card-chip.red:hover {
356
- background-color: rgba(231, 76, 60, .25);
357
- }
358
- .card-chip.green {
359
- color: #0e3213;
360
- background-color: rgba(15,177,39,0.3);
361
- }
362
- .card-chip.green:hover {
363
- background-color: rgba(15, 177, 39, 0.4);
364
- }
365
-
366
- .card-anexo {
367
- width: 50px;
368
- height: 50px;
369
- margin-right: 5px;
370
- display: flex;
371
- justify-content: center;
372
- align-items: center;
373
- }
374
- .anexo-item {
375
- width: 100%;
376
- height: 100%;
377
- display: flex;
378
- justify-content: center;
379
- align-items: center;
380
- position: relative;
381
- }
382
- .anexo-item .transition-anexo-item {
383
- max-width: 100%;
384
- max-height: 100%;
385
- }
386
- .anexo-item .req-loader {
387
- position: absolute;
388
- top: calc(50% - 12.5px);
389
- right: calc(50% - 12.5px);
390
- }
391
- .anexo-item .transition-anexo-item img {
392
- max-width: 45px;
393
- max-height: 45px;
394
- }
395
-
396
- .anexo-icone {
397
- opacity: .9;
398
- transition: opacity 200ms;
399
- color: #222;
400
- cursor: pointer;
401
- display: flex;
402
- justify-content: center;
403
- align-items: center;
404
- }
405
- .anexo-icone:hover {
406
- opacity: 1
407
- }
408
- .anexo-icone:visited {
409
- color: inherit;
410
- }
411
- svg {
412
- font-size: 30px;
413
- z-index: 1;
414
- }
415
- .anexo-icone.pdf {
416
- position: relative;
417
- }
418
- .anexo-icone.pdf svg {
419
- color: rgb(231, 76, 60);
420
- }
421
- .anexo-icone.pdf::after {
422
- content: "";
423
- position: absolute;
424
- bottom: 2px;
425
- transform: translateY(2px);
426
- width: 20px;
427
- height: 20px;
428
- background-color: #FFF;
429
- }
430
- .anexo-icone.doc {
431
- color: #15517F;
432
- }
433
- .anexo-icone.doc::after {
434
- content: "";
435
- position: absolute;
436
- width: 20px;
437
- height: 20px;
438
- background-color: #FFF;
439
- }
440
- .anexo-img {
441
- display: flex;
442
- justify-content: center;
443
- align-items: center;
444
- width: 100%;
445
- height: 100%;
446
- overflow: hidden;
447
- background-color: rgba(0, 0, 0, .2);
448
- border-radius: 2.5px;
449
- cursor: pointer;
450
- opacity: .9;
451
- transition: opacity 150ms;
452
- }
453
-
454
- .anexo-img:hover {
455
- opacity: 1;
456
- }
457
- .anexo-img img {
458
- width: 95%;
459
- }
460
-
1
+ <template>
2
+ <div :class="{'card-cli' : origem === 'outros', 'card-ope' : origem === 'principal', 'msgNova' : msgNova}" v-if="origem" :id="`a${messageIndex ? messageIndex : randomizeValue}`">
3
+ <transition name="fade">
4
+ <span v-if="msgNova" class="novas-mensagens">
5
+ Nova mensagem
6
+ </span>
7
+ </transition>
8
+ <div class="card box-shadow">
9
+ <div class="card-header">
10
+ <div class="card-autor">
11
+ <fa-icon :icon="iconAutor" />
12
+ <p class="text-bold" v-if="autor" v-text="`${tratarTextoLongo(autor)}`" :title="autor"></p>
13
+ <p v-if="origem === 'principal' && login" v-text="`| ${login}`" :title="login"></p>
14
+ </div>
15
+ <div class="card-right">
16
+ <div class="card-datas">
17
+ <div v-if="data_cri" class="card-data" :title="`${dictionary.data_criacao}: ${origem === 'outros' ? formataTimezoneData(data_cri) : returnFormataDataHora(data_cri)}`">
18
+ <span v-text="origem === 'outros' ? formataTimezoneData(data_cri) : returnFormataDataHora(data_cri)"></span>
19
+ </div>
20
+ <div v-if="data_mod" class="card-data" :title="`${dictionary.data_mod}: ${origem === 'outros' ? formataTimezoneData(data_mod) : returnFormataDataHora(data_mod)}`">
21
+ <span v-text="origem === 'outros' ? formataTimezoneData(data_mod) : returnFormataDataHora(data_mod)"></span>
22
+ </div>
23
+ </div>
24
+ <div class="card-expand" @click="expandirCard()" v-if="hasExpand">
25
+ <fa-icon :icon="['fas', 'expand-alt']" />
26
+ </div>
27
+ </div>
28
+ </div>
29
+ <div class="card-chip-container">
30
+ <p
31
+ class="card-chip"
32
+ :class="[ticketClassCod]"
33
+ v-if="ticket_id.cod && ticket_id.desc"
34
+ v-text="`${ticket_id.desc} (${ticket_id.cod})`"
35
+ :title="`${ticket_id.desc} (${ticket_id.cod})`"
36
+ ></p>
37
+ <p
38
+ v-if="ticket_id.hasOwnProperty('back_doing_business')"
39
+ :class="`${ticket_id.back_doing_business ? 'green' : 'red'} card-chip`"
40
+ :title="`${dictionary.title_voltaria_fazer_negocio} ${
41
+ ticket_id.back_doing_business
42
+ ? `${dictionary.title_sim}`
43
+ : `${dictionary.title_nao}`
44
+ }`"
45
+ v-text="
46
+ `${dictionary.title_voltaria_fazer_negocio} ${
47
+ ticket_id.back_doing_business
48
+ ? `${dictionary.title_sim}`
49
+ : `${dictionary.title_nao}`
50
+ }`
51
+ "
52
+ ></p>
53
+ <p
54
+ v-if="ticket_id.hasOwnProperty('rating')"
55
+ :class="`${isNumberBiggerThanSix ? 'green' : 'red'} card-chip`"
56
+ :title="`${dictionary.title_avaliacao} ${ticket_id.rating}`"
57
+ v-text="`${dictionary.title_avaliacao} ${ticket_id.rating}`"
58
+ ></p>
59
+ <p
60
+ v-if="ticket_id.hasOwnProperty('resolved_issue')"
61
+ :class="`${ticket_id.resolved_issue ? 'green' : 'red'} card-chip`"
62
+ :title="`${dictionary.title_problema_resolvido} ${
63
+ ticket_id.resolved_issue
64
+ ? `${dictionary.title_sim}`
65
+ : `${dictionary.title_nao}`
66
+ }`"
67
+ v-text="
68
+ `${dictionary.title_problema_resolvido} ${
69
+ ticket_id.resolved_issue
70
+ ? `${dictionary.title_sim}`
71
+ : `${dictionary.title_nao}`
72
+ }`
73
+ "
74
+ ></p>
75
+ </div>
76
+ <p class="card-message" v-html="mensagemFormatada"></p>
77
+ <div class="card-footer" v-if="anexos && anexos.length">
78
+ <div class="card-anexo" v-for="(anexo, index) in anexos" :key="`${index}`">
79
+ <CardAttachment :anexo="anexo" :dictionary="dictionary" :dominio="dominio" />
80
+ </div>
81
+ </div>
82
+ </div>
83
+ </div>
84
+ </template>
85
+
86
+ <script>
87
+ import { textoLongo } from "@/mixins/formatarTexto"
88
+ import { formataTimezoneData, formataDataHora } from "../../services/textFormatting"
89
+ import CardAttachment from "./CardAttachment"
90
+
91
+ export default {
92
+ components: { CardAttachment },
93
+ props: {
94
+ dictionary: {
95
+ type: Object,
96
+ required: true
97
+ },
98
+ messageIndex: {
99
+ type: [Number, String],
100
+ required: true
101
+ },
102
+ dominio: {
103
+ type: String,
104
+ required: true
105
+ },
106
+ hasExpand: {
107
+ type: Boolean,
108
+ required: false,
109
+ default: true
110
+ },
111
+ origem: {
112
+ type: String,
113
+ required: true
114
+ },
115
+ autor: {
116
+ type: String
117
+ },
118
+ login: {
119
+ type: String
120
+ },
121
+ mensagem: {
122
+ type: String
123
+ },
124
+ anexos: {
125
+ type: Array
126
+ },
127
+ data_cri: {
128
+ type: String
129
+ },
130
+ data_mod: {
131
+ type: String
132
+ },
133
+ ticket_id: {
134
+ type: Object
135
+ },
136
+ ticket_name: {
137
+ type: String
138
+ },
139
+ msgNova: {
140
+ type: Boolean
141
+ },
142
+ origemExterna: {
143
+ type: String
144
+ }
145
+ },
146
+ mixins: [textoLongo],
147
+ computed: {
148
+ randomizeValue() {
149
+ return `${(Math.floor(Math.random() * 7770))}${Date.now()}`
150
+ },
151
+ mensagemFormatada() {
152
+ if(this.mensagem) {
153
+ const regex = /(\n|&nbsp;)/g
154
+ if(regex.test(this.mensagem)) return this.mensagem.replace(regex, "<br>")
155
+ }
156
+ return this.mensagem
157
+ },
158
+ iconAutor() {
159
+ return this.origem === "outros" ? ['fas', 'user'] : ['fas', 'headset']
160
+ },
161
+ ticketClassCod() {
162
+ if(!this.ticket_id || !this.ticket_id.cod) return ""
163
+ const { cod } = this.ticket_id
164
+ switch(cod) {
165
+ case 17:
166
+ case "17":
167
+ case 9:
168
+ case "9":
169
+ case 8:
170
+ case "8":
171
+ return "red"
172
+ case 3:
173
+ case "3":
174
+ case 6:
175
+ case "6":
176
+ return "yellow"
177
+ default:
178
+ return ""
179
+ }
180
+ },
181
+ isNumberBiggerThanSix() {
182
+ if (!this.ticket_id || !this.ticket_id.rating) return false;
183
+ try {
184
+ return parseInt(this.ticket_id.rating) > 6;
185
+ } catch (err) {
186
+ return false;
187
+ }
188
+ }
189
+ },
190
+ methods: {
191
+ formataTimezoneData(timezoneData) {
192
+ return formataTimezoneData(timezoneData)
193
+ },
194
+ returnFormataDataHora(dataHora) {
195
+ return formataDataHora(dataHora, false, false, this.dictionary)
196
+ },
197
+ expandirCard() {
198
+ this.$emit("expand-card", this.$props)
199
+ // this.$store.dispatch("informacoesCardExpandido", this.$props)
200
+ // this.$store.dispatch("toggleBlocker", { state: true, origin: "expandir-card-reclamacao"})
201
+ }
202
+ }
203
+ }
204
+ </script>
205
+
206
+ <style scoped>
207
+ .fade-enter-active,
208
+ .fade-leave-active {
209
+ transition: opacity 200ms;
210
+ }
211
+ .fade-enter,
212
+ .fade-leave-to {
213
+ opacity: 0;
214
+ }
215
+
216
+ .card-cli, .card-ope {
217
+ display: flex;
218
+ width: 95%;
219
+ margin: 5px 0;
220
+ position: relative;
221
+ }
222
+ .card-cli.msgNova, .card-ope.msgNova {
223
+ margin-top: 30px;
224
+ }
225
+
226
+ .novas-mensagens {
227
+ position: absolute;
228
+ top: -30px;
229
+ width: 100%;
230
+ display: flex;
231
+ justify-content: center;
232
+ align-items: center;
233
+ margin: 2.5px 0;
234
+ background-color: lighten(#FFF249, 15)
235
+ }
236
+
237
+ .card-cli .card {
238
+ border-left: 3px solid #90B823;
239
+ }
240
+
241
+
242
+ .card-ope {
243
+ align-self: flex-end;
244
+ background-color: lighten(#007535, 72);
245
+ }
246
+ .card-ope .card {
247
+ border-right: 3px solid #007535;
248
+ }
249
+
250
+ .card {
251
+ background-color: rgba(255, 255, 255, .9);
252
+ overflow: hidden;
253
+ width: 100%;
254
+ padding: 2.5px 5px;
255
+ }
256
+ .card p {
257
+ word-break: break-all;
258
+ }
259
+
260
+ .card-header {
261
+ width: 100%;
262
+ border-bottom: 1px solid #ddd;
263
+ margin-bottom: 5px;
264
+ display: flex;
265
+ justify-content: space-between;
266
+ }
267
+ .card-header svg {
268
+ font-size: 1rem
269
+ }
270
+
271
+ .card-canal {
272
+ flex: 1;
273
+ margin-right: 10px;
274
+ }
275
+
276
+ .card-datas {
277
+ display: flex;
278
+ flex-direction: column;
279
+ margin-right: 10px;
280
+ }
281
+
282
+ .card-data {
283
+ overflow: hidden;
284
+ display: flex;
285
+ align-content: center;
286
+ }
287
+ .card-data span {
288
+ white-space: nowrap;
289
+ text-overflow: ellipsis;
290
+ overflow: hidden;
291
+ }
292
+ .card-data svg {
293
+ margin-right: 5px;
294
+ color: #232323;
295
+ }
296
+
297
+ .card-expand {
298
+ display: flex;
299
+ justify-content: center;
300
+ align-items: center;
301
+ margin: 2.5px;
302
+ cursor: pointer;
303
+ opacity: .8;
304
+ transition: opacity 150ms;
305
+ }
306
+ .card-expand:hover {
307
+ opacity: 1;
308
+ }
309
+
310
+ .card-footer {
311
+ margin-top: 5px;
312
+ border-top: 1px solid #ddd;
313
+ display: flex;
314
+ flex-wrap: wrap;
315
+ }
316
+
317
+ .card-chip-container {
318
+ display: flex;
319
+ flex-wrap: wrap;
320
+ width: 100%;
321
+ gap: 5px;
322
+ }
323
+
324
+ .card-chip {
325
+ font-size: .8rem;
326
+ width: fit-content;
327
+ border-radius: 15px;
328
+ transition: all 150ms ease-in-out;
329
+ padding: 2.5px 7px;
330
+ color: rgb(31, 105, 193);
331
+ background-color: rgba(207, 216, 244, .6);
332
+ margin-bottom: 5px;
333
+ }
334
+ .card-chip:hover {
335
+ background-color: rgba(207, 216, 244, 1);
336
+ }
337
+ .card-chip.orange {
338
+ color: #e14924;
339
+ background-color: rgba(228, 92, 58, .15);
340
+ }
341
+ .card-chip.orange:hover {
342
+ background-color: rgba(228, 92, 58, .2);
343
+ }
344
+ .card-chip.yellow {
345
+ color: #f4a304;
346
+ background-color: rgba(252, 191, 73, .15);
347
+ }
348
+ .card-chip.yellow:hover {
349
+ background-color: rgba(252, 191, 73, .2);
350
+ }
351
+ .card-chip.red {
352
+ color: rgb(231, 76, 60);
353
+ background-color: rgba(231, 76, 60, .2);
354
+ }
355
+ .card-chip.red:hover {
356
+ background-color: rgba(231, 76, 60, .25);
357
+ }
358
+ .card-chip.green {
359
+ color: #0e3213;
360
+ background-color: rgba(15,177,39,0.3);
361
+ }
362
+ .card-chip.green:hover {
363
+ background-color: rgba(15, 177, 39, 0.4);
364
+ }
365
+
366
+ .card-anexo {
367
+ width: 50px;
368
+ height: 50px;
369
+ margin-right: 5px;
370
+ display: flex;
371
+ justify-content: center;
372
+ align-items: center;
373
+ }
374
+ .anexo-item {
375
+ width: 100%;
376
+ height: 100%;
377
+ display: flex;
378
+ justify-content: center;
379
+ align-items: center;
380
+ position: relative;
381
+ }
382
+ .anexo-item .transition-anexo-item {
383
+ max-width: 100%;
384
+ max-height: 100%;
385
+ }
386
+ .anexo-item .req-loader {
387
+ position: absolute;
388
+ top: calc(50% - 12.5px);
389
+ right: calc(50% - 12.5px);
390
+ }
391
+ .anexo-item .transition-anexo-item img {
392
+ max-width: 45px;
393
+ max-height: 45px;
394
+ }
395
+
396
+ .anexo-icone {
397
+ opacity: .9;
398
+ transition: opacity 200ms;
399
+ color: #222;
400
+ cursor: pointer;
401
+ display: flex;
402
+ justify-content: center;
403
+ align-items: center;
404
+ }
405
+ .anexo-icone:hover {
406
+ opacity: 1
407
+ }
408
+ .anexo-icone:visited {
409
+ color: inherit;
410
+ }
411
+ svg {
412
+ font-size: 30px;
413
+ z-index: 1;
414
+ }
415
+ .anexo-icone.pdf {
416
+ position: relative;
417
+ }
418
+ .anexo-icone.pdf svg {
419
+ color: rgb(231, 76, 60);
420
+ }
421
+ .anexo-icone.pdf::after {
422
+ content: "";
423
+ position: absolute;
424
+ bottom: 2px;
425
+ transform: translateY(2px);
426
+ width: 20px;
427
+ height: 20px;
428
+ background-color: #FFF;
429
+ }
430
+ .anexo-icone.doc {
431
+ color: #15517F;
432
+ }
433
+ .anexo-icone.doc::after {
434
+ content: "";
435
+ position: absolute;
436
+ width: 20px;
437
+ height: 20px;
438
+ background-color: #FFF;
439
+ }
440
+ .anexo-img {
441
+ display: flex;
442
+ justify-content: center;
443
+ align-items: center;
444
+ width: 100%;
445
+ height: 100%;
446
+ overflow: hidden;
447
+ background-color: rgba(0, 0, 0, .2);
448
+ border-radius: 2.5px;
449
+ cursor: pointer;
450
+ opacity: .9;
451
+ transition: opacity 150ms;
452
+ }
453
+
454
+ .anexo-img:hover {
455
+ opacity: 1;
456
+ }
457
+ .anexo-img img {
458
+ width: 95%;
459
+ }
460
+
461
461
  </style>