vue-intergrall-plugins 0.0.1085 → 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,36 @@
1
+ <template>
2
+ <div
3
+ class="text-footer-actions--btn"
4
+ @click="$emit('toggle-standard-messages')"
5
+ :title="dictionary.title_screen_share"
6
+ >
7
+ <fa-icon :icon="['fas', 'desktop']" />
8
+ <fa-icon :icon="['fas', 'share']" />
9
+ </div>
10
+ </template>
11
+
12
+ <style scoped>
13
+ .text-footer-actions--btn {
14
+ position: relative;
15
+ }
16
+ .text-footer-actions--btn > svg:nth-child(1) {
17
+ font-size: 19.2px;
18
+ }
19
+ .text-footer-actions--btn > svg:nth-child(2) {
20
+ font-size: 9.6px;
21
+ position: absolute;
22
+ transform: translateY(-2px);
23
+ }
24
+ </style>
25
+
26
+ <script>
27
+ export default {
28
+ props: {
29
+ dictionary: {
30
+ type: Object,
31
+ default: {},
32
+ required: false,
33
+ },
34
+ },
35
+ };
36
+ </script>
@@ -0,0 +1,17 @@
1
+ <template>
2
+ <div class="text-footer-actions--btn" @click="$emit('toggle-standard-messages')" :title="dictionary.title_msg_formatada">
3
+ <fa-icon :icon="['fas', 'comment']" />
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ props: {
10
+ dictionary: {
11
+ type: Object,
12
+ default: {},
13
+ required: false
14
+ }
15
+ }
16
+ }
17
+ </script>
@@ -40,7 +40,7 @@
40
40
  import { mixin as clickaway } from "vue-clickaway"
41
41
  import BtnEmojis from "./BtnEmojis"
42
42
  import BtnFiles from "./BtnFiles"
43
- import { returnMessageWithHexa } from "@/services/textFormatting"
43
+ import { returnMessageWithHexa } from "../../services/textFormatting"
44
44
 
45
45
  export default {
46
46
  components: { BtnEmojis, BtnFiles },
@@ -244,9 +244,8 @@ export default {
244
244
  },
245
245
  insertEmoji(emoji) {
246
246
  try {
247
+ if(!emoji) return
247
248
  const textarea = this.$refs[`${this.identifier}`]
248
- console.log("emoji: ", emoji)
249
- console.log(textarea)
250
249
  if (document.activeElement === textarea) {
251
250
  const cursorStart = textarea.selectionStart
252
251
  const cursorEnd = textarea.selectionEnd
@@ -282,7 +281,7 @@ export default {
282
281
  border-radius: 50%;
283
282
  z-index: 1;
284
283
  color: #E74C3C;
285
- font-size: 1.3rem;
284
+ font-size: 20.8px;
286
285
  }
287
286
  .sc-icone-fechar.sc-icone-fechar--externo {
288
287
  top: -10px;
@@ -315,7 +314,7 @@ export default {
315
314
  display: flex;
316
315
  align-items: center;
317
316
  width: 100%;
318
- font-size: 1.3rem;
317
+ font-size: 20.8px;
319
318
  background-color: #222;
320
319
  color: #FFF;
321
320
  }
@@ -357,7 +356,7 @@ export default {
357
356
  display: flex;
358
357
  justify-content: center;
359
358
  align-items: center;
360
- font-size: 1.3rem;
359
+ font-size: 20.8px;
361
360
  cursor: pointer;
362
361
  opacity: .9;
363
362
  transition: all 300ms;
@@ -1,5 +1,6 @@
1
1
  <template>
2
2
  <div class="multiple-file-preview">
3
+ <fa-icon :icon="['fas', 'times-circle']" class="close-icon" @click="$emit('close')" />
3
4
  <transition-group name="fade">
4
5
  <Loader v-if="loading" key="mfp-loader" />
5
6
  <template v-else-if="fileFormatError">
@@ -8,20 +9,17 @@
8
9
  </span>
9
10
  <div class="text-footer-invalid-format" v-if="fileFormatError" key="mfp-invalid-format">
10
11
  <h3 v-text="dictionary.titulo_msg_formato_invalido"></h3>
11
- <h4 v-html="validFileFormats"></h4>
12
+ <h4 v-html="validFileFormats" :title="validFileFormats"></h4>
12
13
  </div>
13
14
  </template>
14
15
  <template v-else>
15
16
  <div class="file-preview" v-for="(singleFile, index) in file" :key="index">
16
- <p class="file-title">
17
+ <p class="file-title" :title="!singleFile.invalid ? singleFile.name : `${dictionary.titulo_msg_formato_invalido ? dictionary.titulo_msg_formato_invalido : 'Arquivo invalido'} - ${singleFile.name}`" :class="{'red' : singleFile.invalid}">
17
18
  <fa-icon :icon="icon(singleFile.imgOrDoc)" />
18
- {{ singleFile.name }}
19
- </p>
20
- <p v-if="singleFile.invalid" class="file-title red">
21
- {{ dictionary.titulo_msg_formato_invalido ? dictionary.titulo_msg_formato_invalido : "Arquivo invalido" }}
19
+ {{ !singleFile.invalid ? singleFile.name : `${dictionary.titulo_msg_formato_invalido ? dictionary.titulo_msg_formato_invalido : "Arquivo invalido"} - ${singleFile.name}` }}
22
20
  </p>
23
21
  <div class="small-img">
24
- <span class="img-container" v-if="singleFile.imgOrDoc === 'img'">
22
+ <span class="img-container" v-if="singleFile.imgOrDoc === 'img' && !isPdf(singleFile.type)">
25
23
  <img
26
24
  :title="dictionary.titulo_visualizar_img"
27
25
  :src="singleFile.src"
@@ -32,9 +30,12 @@
32
30
  <span class="pdf" v-else-if="isPdf(singleFile.type)">
33
31
  <fa-icon :icon="['fas', 'file-pdf']" />
34
32
  </span>
33
+ <span class="doc" v-else>
34
+ <fa-icon :icon="['fas', 'file-alt']" />
35
+ </span>
35
36
  </div>
36
- <span @click="deleteSpecificFile(singleFile.name, index)" :title="dictionary.msg_excluir_anexo" class="delete-file">
37
- <fa-icon :icon="['fas', 'times-circle']" />
37
+ <span @click="deleteSpecificFile(singleFile.name, index)" v-tippy="{placement: 'left'}" :content="dictionary.msg_excluir_anexo" :title="dictionary.msg_excluir_anexo" class="delete-file">
38
+ <fa-icon :icon="['fas', 'trash-alt']" />
38
39
  </span>
39
40
  </div>
40
41
  </template>
@@ -116,6 +117,16 @@ export default {
116
117
  width: 4px;
117
118
  }
118
119
 
120
+ .multiple-file-preview .close-icon {
121
+ color: #E74C3C;
122
+ cursor: pointer;
123
+ opacity: .9;
124
+ transition: opacity 300ms;
125
+ }
126
+ .multiple-file-preview .close-icon:hover {
127
+ opacity: 1;
128
+ }
129
+
119
130
  .multiple-file-preview::-webkit-scrollbar-track{
120
131
  background-color: rgba(0, 0, 0, 0.2);
121
132
  }
@@ -134,10 +145,14 @@ export default {
134
145
  padding: 10px;
135
146
  }
136
147
  .text-footer-invalid-format h3 {
148
+ text-overflow: ellipsis;
149
+ overflow: hidden;
137
150
  font-weight: 500;
138
151
  }
139
152
  .text-footer-invalid-format h4 {
140
- font-size: .9rem;
153
+ text-overflow: ellipsis;
154
+ overflow: hidden;
155
+ font-size: 14.4px;
141
156
  }
142
157
 
143
158
  .text-footer-exclude-file {
@@ -148,8 +163,8 @@ export default {
148
163
  display: flex;
149
164
  justify-content: center;
150
165
  align-items: center;
151
- min-width: 1rem;
152
- min-height: 1rem;
166
+ min-width: 16px;
167
+ min-height: 16px;
153
168
  background-color: #FFF;
154
169
  border-radius: 50%;
155
170
  }
@@ -182,13 +197,15 @@ export default {
182
197
  padding: 4px 10px;
183
198
  background-color: #FFF;
184
199
  border-radius: 30px;
200
+ display: inline-block;
185
201
  }
186
202
  .file-title.red {
187
203
  color: #E74C3C;
188
- margin-left:5px;
204
+ margin-right: 5px;
189
205
  }
190
206
  .file-title > svg {
191
- margin-right: 5px
207
+ margin-right: 5px;
208
+ color: #333;
192
209
  }
193
210
 
194
211
  .small-img {
@@ -203,17 +220,22 @@ export default {
203
220
  height: 40px;
204
221
  cursor: pointer;
205
222
  }
206
- .small-img .pdf {
223
+ .small-img .pdf, .small-img .doc {
207
224
  display: flex;
208
225
  justify-content: center;
209
226
  align-items: center;
210
227
  font-size: 30px;
228
+ }
229
+ .small-img .pdf {
211
230
  color: #E74C3C;
212
231
  }
213
- .small-img .pdf svg{
232
+ .small-img .doc {
233
+ color: #006bc9;
234
+ }
235
+ .small-img .pdf svg, .small-img .doc svg{
214
236
  z-index: 1;
215
237
  }
216
- .small-img .pdf::after {
238
+ .small-img .pdf::after, .small-img .doc::after {
217
239
  content: "";
218
240
  position: absolute;
219
241
  bottom: 2px;
@@ -235,14 +257,10 @@ export default {
235
257
  display: flex;
236
258
  justify-content: center;
237
259
  align-items: center;
238
- border-radius: 50%;
239
- background-color: #FFF;
240
- min-width: 1rem;
241
- min-height: 1rem;
242
260
  cursor: pointer;
243
261
  }
244
262
  .delete-file > svg {
245
- font-size: 1rem;
263
+ font-size: 16px;
246
264
  color: #E74C3C;
247
265
  }
248
266
  </style>