vue-intergrall-plugins 0.0.280 → 0.0.281

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 +84 -58
  3. package/dist/vue-intergrall-plugins.min.js +1 -1
  4. package/dist/vue-intergrall-plugins.ssr.js +124 -124
  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 +384 -384
  30. package/src/lib-components/Messages/CardAttachment.vue +61 -61
  31. package/src/lib-components/Messages/CardMessages.vue +452 -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,453 @@
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
+ <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
+ },
182
+ methods: {
183
+ formataTimezoneData(timezoneData) {
184
+ return formataTimezoneData(timezoneData)
185
+ },
186
+ returnFormataDataHora(dataHora) {
187
+ return formataDataHora(dataHora, false, false, this.dictionary)
188
+ },
189
+ expandirCard() {
190
+ this.$emit("expand-card", this.$props)
191
+ // this.$store.dispatch("informacoesCardExpandido", this.$props)
192
+ // this.$store.dispatch("toggleBlocker", { state: true, origin: "expandir-card-reclamacao"})
193
+ }
194
+ }
195
+ }
196
+ </script>
197
+
198
+ <style scoped>
199
+ .fade-enter-active,
200
+ .fade-leave-active {
201
+ transition: opacity 200ms;
202
+ }
203
+ .fade-enter,
204
+ .fade-leave-to {
205
+ opacity: 0;
206
+ }
207
+
208
+ .card-cli, .card-ope {
209
+ display: flex;
210
+ width: 95%;
211
+ margin: 5px 0;
212
+ position: relative;
213
+ }
214
+ .card-cli.msgNova, .card-ope.msgNova {
215
+ margin-top: 30px;
216
+ }
217
+
218
+ .novas-mensagens {
219
+ position: absolute;
220
+ top: -30px;
221
+ width: 100%;
222
+ display: flex;
223
+ justify-content: center;
224
+ align-items: center;
225
+ margin: 2.5px 0;
226
+ background-color: lighten(#FFF249, 15)
227
+ }
228
+
229
+ .card-cli .card {
230
+ border-left: 3px solid #90B823;
231
+ }
232
+
233
+
234
+ .card-ope {
235
+ align-self: flex-end;
236
+ background-color: lighten(#007535, 72);
237
+ }
238
+ .card-ope .card {
239
+ border-right: 3px solid #007535;
240
+ }
241
+
242
+ .card {
243
+ background-color: rgba(255, 255, 255, .9);
244
+ overflow: hidden;
245
+ width: 100%;
246
+ padding: 2.5px 5px;
247
+ }
248
+ .card p {
249
+ word-break: break-all;
250
+ }
251
+
252
+ .card-header {
253
+ width: 100%;
254
+ border-bottom: 1px solid #ddd;
255
+ margin-bottom: 5px;
256
+ display: flex;
257
+ justify-content: space-between;
258
+ }
259
+ .card-header svg {
260
+ font-size: 1rem
261
+ }
262
+
263
+ .card-canal {
264
+ flex: 1;
265
+ margin-right: 10px;
266
+ }
267
+
268
+ .card-datas {
269
+ display: flex;
270
+ flex-direction: column;
271
+ margin-right: 10px;
272
+ }
273
+
274
+ .card-data {
275
+ overflow: hidden;
276
+ display: flex;
277
+ align-content: center;
278
+ }
279
+ .card-data span {
280
+ white-space: nowrap;
281
+ text-overflow: ellipsis;
282
+ overflow: hidden;
283
+ }
284
+ .card-data svg {
285
+ margin-right: 5px;
286
+ color: #232323;
287
+ }
288
+
289
+ .card-expand {
290
+ display: flex;
291
+ justify-content: center;
292
+ align-items: center;
293
+ margin: 2.5px;
294
+ cursor: pointer;
295
+ opacity: .8;
296
+ transition: opacity 150ms;
297
+ }
298
+ .card-expand:hover {
299
+ opacity: 1;
300
+ }
301
+
302
+ .card-footer {
303
+ margin-top: 5px;
304
+ border-top: 1px solid #ddd;
305
+ display: flex;
306
+ flex-wrap: wrap;
307
+ }
308
+
309
+ .card-chip-container {
310
+ display: flex;
311
+ flex-wrap: wrap;
312
+ width: 100%;
313
+ gap: 5px;
314
+ }
315
+
316
+ .card-chip {
317
+ font-size: .8rem;
318
+ width: fit-content;
319
+ border-radius: 15px;
320
+ transition: all 150ms ease-in-out;
321
+ padding: 2.5px 7px;
322
+ color: rgb(31, 105, 193);
323
+ background-color: rgba(207, 216, 244, .6);
324
+ margin-bottom: 5px;
325
+ }
326
+ .card-chip:hover {
327
+ background-color: rgba(207, 216, 244, 1);
328
+ }
329
+ .card-chip.orange {
330
+ color: #e14924;
331
+ background-color: rgba(228, 92, 58, .15);
332
+ }
333
+ .card-chip.orange:hover {
334
+ background-color: rgba(228, 92, 58, .2);
335
+ }
336
+ .card-chip.yellow {
337
+ color: #f4a304;
338
+ background-color: rgba(252, 191, 73, .15);
339
+ }
340
+ .card-chip.yellow:hover {
341
+ background-color: rgba(252, 191, 73, .2);
342
+ }
343
+ .card-chip.red {
344
+ color: rgb(231, 76, 60);
345
+ background-color: rgba(231, 76, 60, .2);
346
+ }
347
+ .card-chip.red:hover {
348
+ background-color: rgba(231, 76, 60, .25);
349
+ }
350
+ .card-chip.green {
351
+ color: #0e3213;
352
+ background-color: rgba(15,177,39,0.3);
353
+ }
354
+ .card-chip.green:hover {
355
+ background-color: rgba(15, 177, 39, 0.4);
356
+ }
357
+
358
+ .card-anexo {
359
+ width: 50px;
360
+ height: 50px;
361
+ margin-right: 5px;
362
+ display: flex;
363
+ justify-content: center;
364
+ align-items: center;
365
+ }
366
+ .anexo-item {
367
+ width: 100%;
368
+ height: 100%;
369
+ display: flex;
370
+ justify-content: center;
371
+ align-items: center;
372
+ position: relative;
373
+ }
374
+ .anexo-item .transition-anexo-item {
375
+ max-width: 100%;
376
+ max-height: 100%;
377
+ }
378
+ .anexo-item .req-loader {
379
+ position: absolute;
380
+ top: calc(50% - 12.5px);
381
+ right: calc(50% - 12.5px);
382
+ }
383
+ .anexo-item .transition-anexo-item img {
384
+ max-width: 45px;
385
+ max-height: 45px;
386
+ }
387
+
388
+ .anexo-icone {
389
+ opacity: .9;
390
+ transition: opacity 200ms;
391
+ color: #222;
392
+ cursor: pointer;
393
+ display: flex;
394
+ justify-content: center;
395
+ align-items: center;
396
+ }
397
+ .anexo-icone:hover {
398
+ opacity: 1
399
+ }
400
+ .anexo-icone:visited {
401
+ color: inherit;
402
+ }
403
+ svg {
404
+ font-size: 30px;
405
+ z-index: 1;
406
+ }
407
+ .anexo-icone.pdf {
408
+ position: relative;
409
+ }
410
+ .anexo-icone.pdf svg {
411
+ color: rgb(231, 76, 60);
412
+ }
413
+ .anexo-icone.pdf::after {
414
+ content: "";
415
+ position: absolute;
416
+ bottom: 2px;
417
+ transform: translateY(2px);
418
+ width: 20px;
419
+ height: 20px;
420
+ background-color: #FFF;
421
+ }
422
+ .anexo-icone.doc {
423
+ color: #15517F;
424
+ }
425
+ .anexo-icone.doc::after {
426
+ content: "";
427
+ position: absolute;
428
+ width: 20px;
429
+ height: 20px;
430
+ background-color: #FFF;
431
+ }
432
+ .anexo-img {
433
+ display: flex;
434
+ justify-content: center;
435
+ align-items: center;
436
+ width: 100%;
437
+ height: 100%;
438
+ overflow: hidden;
439
+ background-color: rgba(0, 0, 0, .2);
440
+ border-radius: 2.5px;
441
+ cursor: pointer;
442
+ opacity: .9;
443
+ transition: opacity 150ms;
444
+ }
445
+
446
+ .anexo-img:hover {
447
+ opacity: 1;
448
+ }
449
+ .anexo-img img {
450
+ width: 95%;
451
+ }
452
+
394
453
  </style>