vue-intergrall-plugins 0.0.1075 → 1.0.0

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 (37) hide show
  1. package/README.md +13 -5
  2. package/dist/vue-intergrall-plugins.min.js +1 -1
  3. package/package.json +70 -62
  4. package/src/lib-components/Buttons/IconButton.vue +27 -0
  5. package/src/lib-components/Buttons/SimpleButton.vue +140 -0
  6. package/src/lib-components/Cards/Card.vue +429 -0
  7. package/src/lib-components/Cards/CardCheck.vue +35 -0
  8. package/src/lib-components/Cards/CardFile.vue +157 -0
  9. package/src/lib-components/Chat/AudioSpeedControl.vue +60 -0
  10. package/src/lib-components/Chat/BtnDownloadAllFiles.vue +36 -0
  11. package/src/lib-components/Chat/BtnEmojis.vue +51 -45
  12. package/src/lib-components/Chat/BtnFiles.vue +408 -131
  13. package/src/lib-components/Chat/BtnScreenShare.vue +36 -0
  14. package/src/lib-components/Chat/BtnStandardMessages.vue +17 -0
  15. package/src/lib-components/Chat/ExpandTextarea.vue +5 -6
  16. package/src/lib-components/Chat/MultipleFilePreview.vue +40 -22
  17. package/src/lib-components/Chat/Picker.vue +185 -149
  18. package/src/lib-components/Chat/SingleFilePreview.vue +28 -7
  19. package/src/lib-components/Chat/StandardMessages.vue +245 -0
  20. package/src/lib-components/Chat/TextFooter.vue +791 -451
  21. package/src/lib-components/Email/EmailFile.vue +126 -0
  22. package/src/lib-components/Email/EmailItem.vue +186 -0
  23. package/src/lib-components/Loader/Loader.vue +6 -1
  24. package/src/lib-components/Messages/AnexoMensagem.vue +442 -0
  25. package/src/lib-components/Messages/CardAttachment.vue +61 -0
  26. package/src/lib-components/Messages/CardMessages.vue +666 -0
  27. package/src/lib-components/Messages/ChatMessages.vue +1082 -0
  28. package/src/lib-components/Messages/InteratividadeBotoes.vue +165 -0
  29. package/src/lib-components/Messages/InteratividadeFormulario.vue +392 -0
  30. package/src/lib-components/Messages/InteratividadePopup.vue +89 -0
  31. package/src/lib-components/Messages/LinkPreview.vue +189 -0
  32. package/src/lib-components/Scroll/ScrollContent.vue +166 -0
  33. package/src/lib-components/Templates/TemplateGenerator.vue +187 -50
  34. package/src/lib-components/Templates/TemplateMessage.vue +12 -1
  35. package/src/lib-components/Templates/TemplateSingle.vue +232 -13
  36. package/dist/vue-intergrall-plugins.esm.js +0 -5693
  37. package/dist/vue-intergrall-plugins.ssr.js +0 -5033
@@ -0,0 +1,165 @@
1
+ <template>
2
+ <div class="interatividade">
3
+ <transition name="show-x">
4
+ <InteratividadePopup v-if="listaEstaAberta" :lista="listaExpandida" :titulo="objItens.list.title" @close="listaEstaAberta = false" />
5
+ </transition>
6
+ <template v-if="arrBotoes.length">
7
+ <div v-for="(btn, index) in arrBotoes" :key="index" :title="btn.titulo" class="interatividade-btn">
8
+ <p v-html="btn.titulo" class="interatividade-titulo"></p>
9
+ </div>
10
+ </template>
11
+ <template v-else-if="Object.keys(objItens).length">
12
+ <div class="interatividade-lista" :class="tipoBotoes == 'listItem' ? 'bg-none' : ''">
13
+ <div class="interatividade-lista-conteudo" :class="tipoBotoes == 'listItem' ? 'border-bottom-none padding-none' : ''">
14
+ <p v-if="objItens.header && objItens.header.text" v-html="objItens.header.text" class="interatividade-lista-titulo"></p>
15
+ <p v-if="objItens.body && objItens.body.text" v-html="objItens.body.text" class="interatividade-lista-corpo"></p>
16
+ <p v-if="objItens.footer && objItens.footer.text" v-html="objItens.footer.text" class="interatividade-lista-rodape"></p>
17
+ </div>
18
+ <p v-if="objItens.list && objItens.list.title" v-html="objItens.list.title" @click="expandirLista" :class="tipoBotoes == 'listItem' ? 'bg-white border-radius-5 mt-5' : ''" class="interatividade-lista-link"></p>
19
+ </div>
20
+ </template>
21
+ </div>
22
+ </template>
23
+
24
+ <script>
25
+ import InteratividadePopup from './InteratividadePopup'
26
+
27
+ export default {
28
+ components: {InteratividadePopup},
29
+ data() {
30
+ return {
31
+ listaEstaAberta: false
32
+ }
33
+ },
34
+ props: {
35
+ interatividade: {
36
+ type: Object,
37
+ required: true
38
+ }
39
+ },
40
+ computed: {
41
+ tipoBotoes() {
42
+ return this.interatividade.tipo
43
+ },
44
+ arrBotoes() {
45
+ const { botoes } = this.interatividade
46
+ return botoes ? botoes : []
47
+ },
48
+ objItens() {
49
+ const { itens } = this.interatividade
50
+ return itens ? itens : {}
51
+ },
52
+ listaExpandida() {
53
+ try {
54
+ const { list } = this.objItens
55
+ const { sections } = list
56
+ return sections ? sections : []
57
+ }catch(e) {
58
+ console.error("Erro ao definir a lista a ser expandida")
59
+ console.error(e)
60
+ return []
61
+ }
62
+ }
63
+ },
64
+ methods: {
65
+ expandirLista() {
66
+ this.listaEstaAberta = !this.listaEstaAberta
67
+ }
68
+ }
69
+ }
70
+ </script>
71
+
72
+ <style>
73
+ .show-x-enter-active,
74
+ .show-x-leave-enter {
75
+ opacity: 1;
76
+ transform: translateX(0);
77
+ transition: all 200ms linear;
78
+ }
79
+ .show-x-enter,
80
+ .show-x-leave-to {
81
+ opacity: 0;
82
+ transform: translateX(5%);
83
+ }
84
+
85
+ .bg-none {
86
+ background-color: transparent!important;
87
+ }
88
+
89
+ .bg-white {
90
+ background-color: #FFF;
91
+ }
92
+
93
+ .border-radius-5 {
94
+ border-radius: 5px
95
+ }
96
+
97
+ .mt-5 {
98
+ margin-top: 5px;
99
+ }
100
+
101
+ .interatividade-btn {
102
+ width: 100%;
103
+ display: flex;
104
+ justify-content: center;
105
+ align-items: center;
106
+ background-color: #FFF;
107
+ color: #111B21;
108
+ padding: 10px 12px;
109
+ border-radius: 5px;
110
+ margin-bottom: 10px;
111
+ }
112
+ .interatividade-btn:nth-child(1) {
113
+ margin-top: 10px
114
+ }
115
+ .interatividade-titulo {
116
+ white-space: nowrap;
117
+ text-overflow: ellipsis;
118
+ overflow: hidden;
119
+ max-width: 100%;
120
+ margin: 0;
121
+ padding: 0;
122
+ }
123
+
124
+ .interatividade-lista {
125
+ width: 100%;
126
+ min-width: 200px;
127
+ border-radius: 15px;
128
+ background-color: #FFF;
129
+ color: #333;
130
+ margin: 10px 0;
131
+ }
132
+
133
+ .border-bottom-none {
134
+ border-bottom: none!important;
135
+ }
136
+ .padding-none {
137
+ padding: unset!important;
138
+ }
139
+
140
+ .interatividade-lista-conteudo {
141
+ padding: 10px;
142
+ border-bottom: 1px solid #D7D7D7;
143
+ }
144
+ .interatividade-lista-titulo {
145
+ font-weight: bold;
146
+ font-size: 1.2em;
147
+ margin-bottom: 10px;
148
+ }
149
+ .interatividade-lista-rodape {
150
+ color: #818181;
151
+ margin-top: 5px;
152
+ }
153
+ .interatividade-lista-link {
154
+ width: 100%;
155
+ text-align: center;
156
+ padding: 10px;
157
+ color: rgb(0, 110, 255);
158
+ cursor: pointer;
159
+ transition: color 200ms ease-in-out;
160
+ }
161
+ .interatividade-lista-link:hover {
162
+ color: rgb(0, 98, 143);
163
+ }
164
+
165
+ </style>
@@ -0,0 +1,392 @@
1
+ <template>
2
+ <div class="interatividade">
3
+ <div v-if="Object.keys(infoCanal).length > 0">
4
+ <!-- CHIPS -->
5
+ <div class="d-flex overflow-hidden mt-10 w-100 d-flex flex-wrap">
6
+ <div
7
+ v-if="situation || deadline.text"
8
+ class="d-flex-center flex-column w-100 border-radius-10 border-1 bg-dark-white-2 border-color-gray p-10 mb-10"
9
+ :style="`${situation && situation.cor ? `border: 1px solid ${situation.cor}` : ''}`"
10
+ >
11
+ <div class="d-flex w-100 mb-5">
12
+ <strong v-if="situation" class="text-ellipsis text-left fs-_85" v-text="`${dictionary.chip_situacao}:`"></strong>
13
+ <span v-if="situation" :style="`color: ${situation.cor}`" class="ml-5 text-left fs-_85 text-shadow" v-text="verificaInfos(situation)"></span>
14
+ </div>
15
+ <div class="d-flex w-100" v-if="deadline.text">
16
+ <strong v-text="`${deadline.title}:`" class="text-ellipsis text-left fs-_75"></strong>
17
+ <span class="ml-5 text-nowrap text-left fs-_75" v-text="deadline.text"></span>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ </div>
22
+ <!-- TABELA INTERATIVIDADE HO -->
23
+ <template v-if="informacao.length">
24
+ <div class="interatividade-form-header d-flex justify-content-between">
25
+ {{dictionary.msg_abertura_reclamacao}}
26
+ <span class="d-flex-center">
27
+ <fa-icon :icon="['fas', 'calendar']" class="mr-5" />
28
+ {{formataDataHora(infoCanal.DATA_ABERTURA)}}
29
+ </span>
30
+ </div>
31
+ <div class="interatividade-form-body">
32
+ <div v-for="(form) in informacao" :key="form.TIPO_TEXTO" class="interatividade-info-form">
33
+ <p v-if="form.TIPO_TEXTO < 1000" v-text="form.DESC_TIPO_TEXTO" class="interatividade-titulo-form"></p>
34
+ <p v-if="form.TIPO_TEXTO < 1000" v-text="form.TEXTO" class="interatividade-description-form"></p>
35
+ </div>
36
+ <div v-if="informacaoAdicional.length" class="interatividade-form-header">
37
+ {{dictionary.msg_info_adicional}}
38
+ </div>
39
+ <div class="interatividade-form-body">
40
+ <div v-for="(form) in informacaoAdicional" :key="form.TIPO_TEXTO" class="interatividade-add-info-form">
41
+ <div class="divisor-form-info-aditional">
42
+ <div class="info-aditional">
43
+ <p v-if="form.TIPO_TEXTO > 999" v-text="form.DESC_TIPO_TEXTO+': '" class="interatividade-titulo-form"></p>
44
+ </div>
45
+ <div class="info-aditional">
46
+ <p v-if="form.TIPO_TEXTO > 999" v-text="form.TEXTO" class="interatividade-description-form"></p>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ <h3 class="m-5 text-bold" v-text="`Anexos`"></h3>
52
+ <div class="d-flex flex-wrap align-items-center">
53
+ <div v-for="({ name, type, mkuDownload, mku }, fileIndex) in anexos" :key="`file-${fileIndex}`" class="mb-5 mx-5 d-flex">
54
+ <img class="box-shadow max-w-75px max-h-75px cursor-pointer" @click="openFile(mku, type)" v-if="!type" :src="`${dominio}/callcenter/docs.php?mku=${mku}`" :alt="name" :title="name" />
55
+ <fa-icon v-else :icon="returnCurrentIcon(type)" @click="openFile(mku, type)" :class="returnCurrentClass(type)" :title="name" />
56
+ <a class="d-flex align-items-end ml-3 text-dark" :href="`${dominio}/callcenter/docs.php?mku=${mkuDownload}`" :download="`${name}`" target="_blank" rel="noreferrer noopener" :title="`Download ${name}`">
57
+ <fa-icon :icon="['fas', 'download']" />
58
+ </a>
59
+ </div>
60
+ </div>
61
+ <p v-if="!anexos.length" class="text-center mb-5" v-text="`Sem anexos`"></p>
62
+ </div>
63
+ </template>
64
+ </div>
65
+ </template>
66
+ <script>
67
+ import InteratividadePopup from './InteratividadePopup'
68
+ import { formataData, formataDataHora } from '../../services/textFormatting';
69
+
70
+ export default {
71
+ components: {InteratividadePopup},
72
+ data() {
73
+ return {
74
+ informacaoAdicional: [],
75
+ informacao: []
76
+ }
77
+ },
78
+ props: {
79
+ interatividade: {
80
+ type: Object,
81
+ required: true
82
+ },
83
+ infoCanal: {
84
+ type: [Object, Array],
85
+ required: false,
86
+ default: {}
87
+ },
88
+ dominio: {
89
+ type: String,
90
+ required: true
91
+ },
92
+ dictionary: {
93
+ type: Object,
94
+ required: true
95
+ },
96
+ anexos: {
97
+ type: Array,
98
+ required: false
99
+ }
100
+ },
101
+ computed: {
102
+ situation() {
103
+ try {
104
+ const { SITUACAO } = this.infoCanal
105
+ return SITUACAO ? SITUACAO : null
106
+ }catch(e) {
107
+ console.error("Erro ao gerar a situacao do atendimento")
108
+ console.error(e)
109
+ }
110
+ },
111
+ deadline() {
112
+ try {
113
+ const { PRAZO, NOME_CAMPO_PRAZO } = this.infoCanal
114
+ return { text: PRAZO ? formataData(PRAZO) : "---", title: NOME_CAMPO_PRAZO ? NOME_CAMPO_PRAZO : this.dictionary.tit_prazo }
115
+ }catch(e) {
116
+ console.error("Erro ao gerar o prazo do atendimento")
117
+ console.error(e)
118
+ return {}
119
+ }
120
+ },
121
+ },
122
+ mounted(){
123
+ if(this.validateInterativity()){
124
+ this.verifyInfoAditional();
125
+ }
126
+ },
127
+ methods: {
128
+ returnCurrentClass(isDoc) {
129
+ return `fs-2 cursor-pointer ${typeof isDoc == 'string' && isDoc.indexOf('pdf') > -1 ? 'text-red' : 'text-blue'}`
130
+ },
131
+ returnCurrentIcon(isDoc) {
132
+ return typeof isDoc == 'string' && isDoc.indexOf('pdf') > -1 ? ['fas', 'file-pdf'] : ['fas', 'file-alt']
133
+ },
134
+ openFile(url, isImg) {
135
+ const width = window.innerWidth
136
+ const height = window.innerHeight
137
+ const options = !isImg ? `width=${width},height=${height}` : "width=auto,height=auto"
138
+ window.open(`${this.dominio}/callcenter/docs.php?mku=${url}`, "card-file", options)
139
+ },
140
+ validateInterativity(){
141
+ try {
142
+ if(this.interatividade.formulario && this.interatividade.formulario.length){
143
+ return true;
144
+ }
145
+ } catch (error) {
146
+ return false;
147
+ }
148
+ },
149
+ verifyInfoAditional() {
150
+ try {
151
+ let { formulario } = this.interatividade
152
+ formulario = formulario ? formulario : [];
153
+ if(!formulario.length) return
154
+ const foundInfosAdd = formulario.filter(f => f.TIPO_TEXTO > 999);
155
+ const foundInfos = formulario.filter(f => f.TIPO_TEXTO < 1000);
156
+ if(foundInfos){
157
+ this.informacao = foundInfos.map(info => {
158
+ if(info.TIPO_TEXTO == 1){
159
+ info.TEXTO = info.TEXTO == 'S' ? this.dictionary.msg_sim : this.dictionary.msg_nao
160
+ }
161
+ return info
162
+ })
163
+ }
164
+ if(foundInfosAdd) this.informacaoAdicional = foundInfosAdd;
165
+ } catch (e) {
166
+ console.error("Erro ao pegar o objeto interatividade formulario")
167
+ console.error(e)
168
+ }
169
+ },
170
+ verificaInfos(text){
171
+ if(typeof text === 'string'){
172
+ return text;
173
+ }
174
+ if(typeof text === 'object'){
175
+ return text.desc;
176
+ }
177
+ },
178
+ formataDataHora(date){
179
+ return formataDataHora(date);
180
+ }
181
+ }
182
+ }
183
+ </script>
184
+
185
+ <style scoped>
186
+ .show-x-enter-active,
187
+ .show-x-leave-enter {
188
+ opacity: 1;
189
+ transform: translateX(0);
190
+ transition: all 200ms linear;
191
+ }
192
+ .show-x-enter,
193
+ .show-x-leave-to {
194
+ opacity: 0;
195
+ transform: translateX(5%);
196
+ }
197
+ .divisor-form-info-aditional {
198
+ display: flex;
199
+ align-items: center;
200
+ justify-content: space-around;
201
+ }
202
+ .info-aditional {
203
+ border-bottom: 1px solid #ccc;
204
+ width: 49%;
205
+ }
206
+ .interatividade-form-header {
207
+ background-color: #efefef;
208
+ margin-top: 5px;
209
+ border-top-right-radius: 10px;
210
+ border-top-left-radius: 10px;
211
+ padding-left: 10px;
212
+ padding-right: 10px;
213
+ padding-top: 5px;
214
+ padding-bottom: 5px;
215
+ justify-content: space-between;
216
+ display: flex;
217
+ color: #333;
218
+ font-weight: 700;
219
+ font-size: 14.4px;
220
+ }
221
+ .interatividade-form-body{
222
+ padding: 0px 10px;
223
+ background: white;
224
+ border-right: 1px solid rgb(239, 239, 239);
225
+ border-left: 1px solid rgb(239, 239, 239);
226
+ border-bottom-left-radius: 10px;
227
+ border-bottom-right-radius: 10px;
228
+ padding-bottom: 10px;
229
+ }
230
+ .interatividade {
231
+ margin: 10px 0;
232
+ }
233
+ .interatividade-titulo-form {
234
+ white-space: nowrap;
235
+ text-overflow: ellipsis;
236
+ font-weight: bold;
237
+ overflow: hidden;
238
+ max-width: 100%;
239
+ margin: 0;
240
+ padding: 0;
241
+ padding-top: 5px;
242
+ }
243
+ .interatividade-description-form {
244
+ overflow: hidden;
245
+ max-width: 100%;
246
+ margin: 0;
247
+ padding: 0;
248
+ }
249
+
250
+ .interatividade-lista {
251
+ width: 100%;
252
+ min-width: 200px;
253
+ border-radius: 15px;
254
+ background-color: #FFF;
255
+ color: #333;
256
+ margin: 10px 0;
257
+ }
258
+ .interatividade-lista-conteudo {
259
+ padding: 10px;
260
+ border-bottom: 1px solid #D7D7D7;
261
+ }
262
+ .interatividade-lista-titulo {
263
+ font-weight: bold;
264
+ font-size: 1.2em;
265
+ margin-bottom: 10px;
266
+ }
267
+ .interatividade-lista-rodape {
268
+ color: #818181;
269
+ margin-top: 5px;
270
+ }
271
+ .interatividade-lista-link {
272
+ width: 100%;
273
+ text-align: center;
274
+ padding: 10px;
275
+ color: rgb(0, 110, 255);
276
+ cursor: pointer;
277
+ transition: color 200ms ease-in-out;
278
+ }
279
+ .interatividade-lista-link:hover {
280
+ color: rgb(0, 98, 143);
281
+ }
282
+ .text-blue {
283
+ color: #294ED3;
284
+ }
285
+ .text-red {
286
+ color: #E74C3C
287
+ }
288
+ .text-dark {
289
+ color: #333;
290
+ }
291
+ .ml-3 {
292
+ margin-left: 3px;
293
+ }
294
+ .fs-2 {
295
+ font-size: 32px;
296
+ }
297
+ .flex-wrap {
298
+ flex-wrap: wrap;
299
+ }
300
+ .align-items-center {
301
+ align-items: center;
302
+ }
303
+ .d-flex {
304
+ display: flex;
305
+ }
306
+ .align-items-end {
307
+ align-items: flex-end;
308
+ }
309
+ .flex-column {
310
+ flex-direction: column;
311
+ }
312
+ .text-bold {
313
+ font-weight: bold;
314
+ }
315
+ .m-5 {
316
+ margin: 5px;
317
+ }
318
+ .mb-5 {
319
+ margin-bottom: 5px;
320
+ }
321
+ .mx-5 {
322
+ margin-left: 5px;
323
+ margin-right: 5px;
324
+ }
325
+ .cursor-pointer {
326
+ cursor: pointer;
327
+ }
328
+ .bg-dark-white-2 {
329
+ background-color: #f7f7f7;
330
+ }
331
+ .border-radius-10 {
332
+ border-radius: 10px;
333
+ }
334
+ .w-100 {
335
+ width: 100%;
336
+ }
337
+ .overflow-hidden {
338
+ overflow: hidden;
339
+ }
340
+ .mt-10 {
341
+ margin-top: 10px;
342
+ }
343
+ .flex-wrap {
344
+ flex-wrap: wrap;
345
+ }
346
+ .d-flex {
347
+ display: flex;
348
+ }
349
+ .p-10 {
350
+ padding: 10px;
351
+ }
352
+ .mb-5 {
353
+ margin-bottom: 5px;
354
+ }
355
+ .mb-10 {
356
+ margin-bottom: 10px;
357
+ }
358
+ .mx-10 {
359
+ margin-left: 10px;
360
+ margin-right: 10px;
361
+ }
362
+ .d-flex-center {
363
+ display: flex;
364
+ justify-content: center;
365
+ align-items: center;
366
+ }
367
+ .fs-_85 {
368
+ font-size: 13.6px;
369
+ }
370
+ .text-ellipsis {
371
+ text-overflow: ellipsis;
372
+ }
373
+ .text-left {
374
+ text-align: left;
375
+ }
376
+ .text-ellipsis {
377
+ white-space: nowrap;
378
+ overflow: hidden;
379
+ }
380
+ .ml-5 {
381
+ margin-left: 5px;
382
+ }
383
+ .text-shadow {
384
+ text-shadow: 0 0 #000;
385
+ }
386
+ .justify-content-between{
387
+ justify-content: space-between;
388
+ }
389
+ .mr-5 {
390
+ margin-right: 5px;
391
+ }
392
+ </style>
@@ -0,0 +1,89 @@
1
+ <template>
2
+ <div class="interatividade-popup box-shadow" v-on-clickaway="away">
3
+ <div class="interatividade-popup-titulo" v-if="titulo">
4
+ <h1>
5
+ <span v-html="titulo"></span>
6
+ <fa-icon :icon="['fas', 'times-circle']" @click="away" />
7
+ </h1>
8
+ </div>
9
+ <div class="interatividade-popup-conteudo" v-for="(objItem, index) in lista" :key="index">
10
+ <template v-if="objItem.items && objItem.items.length">
11
+ <div class="interatividade-popup-item" v-for="(item, indexItem) in objItem.items" :key="`${index}${indexItem}`">
12
+ <p v-if="item.title" v-html="item.title" class="interatividade-popup-item-titulo"></p>
13
+ <p v-if="item.description" v-html="item.description" class="interatividade-popup-item-desc"></p>
14
+ </div>
15
+ </template>
16
+ </div>
17
+ </div>
18
+ </template>
19
+
20
+ <script>
21
+ import { mixin as clickaway } from 'vue-clickaway'
22
+
23
+ export default {
24
+ mixins: [ clickaway ],
25
+ props: {
26
+ lista: {
27
+ type: [Array, Object],
28
+ required: true
29
+ },
30
+ titulo: {
31
+ type: String,
32
+ required: false
33
+ }
34
+ },
35
+ methods: {
36
+ away() {
37
+ this.$emit("close")
38
+ }
39
+ }
40
+ }
41
+ </script>
42
+
43
+ <style>
44
+ .box-shadow {
45
+ -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);
46
+ -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);
47
+ 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);
48
+ }
49
+
50
+ .interatividade-popup {
51
+ position: absolute;
52
+ top: 15px;
53
+ right: 0;
54
+ width: 250px;
55
+ height: auto;
56
+ max-height: 300px;
57
+ overflow-y: auto;
58
+ overflow-x: hidden;
59
+ background-color: #FFF;
60
+ border-radius: 15px;
61
+ color: #333;
62
+ font-size: 14px;
63
+ }
64
+
65
+ .interatividade-popup-titulo h1 {
66
+ padding: 4px 10px;
67
+ background-color: #333;
68
+ color: #FFF;
69
+ font-size: 1.2em;
70
+ display: flex;
71
+ justify-content: space-between;
72
+ align-items: center;
73
+ }
74
+ .interatividade-popup-titulo h1 svg{
75
+ color: #E74C3C;
76
+ cursor: pointer;
77
+ font-size: .9em;
78
+ }
79
+
80
+ .interatividade-popup-item {
81
+ padding: 10px;
82
+ border-bottom: 1px solid #D7D7D7;
83
+ }
84
+
85
+ .interatividade-popup-item-desc {
86
+ font-size: .9em;
87
+ color: #767676;
88
+ }
89
+ </style>