vue-intergrall-plugins 0.0.275 → 0.0.280

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