vue-intergrall-plugins 0.0.287 → 0.0.289

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 +60 -60
  3. package/dist/vue-intergrall-plugins.min.js +1 -1
  4. package/dist/vue-intergrall-plugins.ssr.js +128 -128
  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/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 +1075 -1075
  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 +458 -459
  30. package/src/lib-components/Messages/CardAttachment.vue +61 -61
  31. package/src/lib-components/Messages/CardMessages.vue +460 -460
  32. package/src/lib-components/Messages/ChatMessages.vue +716 -715
  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,392 +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: .9rem;
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: 2rem;
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: .85rem;
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>
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: .9rem;
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: 2rem;
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: .85rem;
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>