vue-intergrall-plugins 0.0.288 → 0.0.290

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 +59 -58
  3. package/dist/vue-intergrall-plugins.min.js +1 -1
  4. package/dist/vue-intergrall-plugins.ssr.js +128 -127
  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 -458
  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,266 +1,266 @@
1
- <template>
2
- <div class="multiple-file-preview">
3
- <fa-icon :icon="['fas', 'times-circle']" class="close-icon" @click="$emit('close')" />
4
- <transition-group name="fade">
5
- <Loader v-if="loading" key="mfp-loader" />
6
- <template v-else-if="fileFormatError">
7
- <span @click="deleteFile" :title="dictionary.msg_cancelar_anexo" class="text-footer-exclude-file" key="mfp-exlude-file">
8
- <fa-icon :icon="['fas', 'times-circle']" />
9
- </span>
10
- <div class="text-footer-invalid-format" v-if="fileFormatError" key="mfp-invalid-format">
11
- <h3 v-text="dictionary.titulo_msg_formato_invalido"></h3>
12
- <h4 v-html="validFileFormats" :title="validFileFormats"></h4>
13
- </div>
14
- </template>
15
- <template v-else>
16
- <div class="file-preview" v-for="(singleFile, index) in file" :key="index">
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}">
18
- <fa-icon :icon="icon(singleFile.imgOrDoc)" />
19
- {{ !singleFile.invalid ? singleFile.name : `${dictionary.titulo_msg_formato_invalido ? dictionary.titulo_msg_formato_invalido : "Arquivo invalido"} - ${singleFile.name}` }}
20
- </p>
21
- <div class="small-img">
22
- <span class="img-container" v-if="singleFile.imgOrDoc === 'img' && !isPdf(singleFile.type)">
23
- <img
24
- :title="dictionary.titulo_visualizar_img"
25
- :src="singleFile.src"
26
- :alt="dictionary.alt_previa_img"
27
- @click="openImage(singleFile.src)"
28
- />
29
- </span>
30
- <span class="pdf" v-else-if="isPdf(singleFile.type)">
31
- <fa-icon :icon="['fas', 'file-pdf']" />
32
- </span>
33
- <span class="doc" v-else>
34
- <fa-icon :icon="['fas', 'file-alt']" />
35
- </span>
36
- </div>
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']" />
39
- </span>
40
- </div>
41
- </template>
42
- </transition-group>
43
- </div>
44
- </template>
45
-
46
- <script>
47
- import Loader from "../Loader/Loader"
48
-
49
- export default {
50
- components: { Loader },
51
- data() {
52
- return {
53
- loading: true,
54
- loadingTimeout: 0,
55
- ignoreNextUpdate: false
56
- }
57
- },
58
- mounted() {
59
- setTimeout(() => { this.loading = false;}, 500);
60
- },
61
- watch: {
62
- file() {
63
- if(!this.ignoreNextUpdate) {
64
- if(this.loadingTimeout) clearTimeout(this.loadingTimeout);
65
- this.loading = true;
66
- this.loadingTimeout = setTimeout(() => { this.loading = false; }, 500);
67
- this.ignoreNextUpdate = true
68
- }
69
- this.ignoreNextUpdate = false;
70
- }
71
- },
72
- props: {
73
- dictionary: { type: Object, required: true },
74
- file: { type: Array, required: true },
75
- fileFormatError: { type: Boolean, required: false },
76
- validFileFormats: { type: String, required: false, default: "" }
77
- },
78
- methods: {
79
- deleteFile() {
80
- this.$emit("delete-file");
81
- },
82
- deleteSpecificFile(fileName, index) {
83
- this.ignoreNextUpdate = true;
84
- this.$emit("delete-specific-file", { fileName, index });
85
- },
86
- openImage(image) {
87
- this.$emit("open-image", image);
88
- },
89
- icon(imgOrDoc) {
90
- if(!imgOrDoc) return ['fas', 'times-circle'];
91
- return imgOrDoc == 'doc' ? ['fas', 'file-alt'] : ['fas', 'image'];
92
- },
93
- isPdf(type) {
94
- return type === "application/pdf" ? true : false
95
- }
96
- }
97
- }
98
- </script>
99
-
100
- <style>
101
- .multiple-file-preview {
102
- position: relative;
103
- display: flex;
104
- flex-direction: column;
105
- width: 100%;
106
- height: 100%;
107
- max-height: 100%;
108
- overflow-y: auto;
109
- overflow-x: hidden;
110
- border-top-left-radius: 2.5px;
111
- border-top-right-radius: 2.5px;
112
- transition: background-color 150ms;
113
- scrollbar-color: #888 rgba(0, 0, 0, 0.2);
114
- scrollbar-width: 4px;
115
- }
116
- .multiple-file-preview::-webkit-scrollbar{
117
- width: 4px;
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
-
130
- .multiple-file-preview::-webkit-scrollbar-track{
131
- background-color: rgba(0, 0, 0, 0.2);
132
- }
133
-
134
- .multiple-file-preview::-webkit-scrollbar-thumb{
135
- transition-duration: .5s;
136
- background-color: #222
137
- }
138
-
139
- .multiple-file-preview::-webkit-scrollbar-thumb:hover{
140
- background-color: #555
141
- }
142
-
143
- .text-footer-invalid-format {
144
- color: #222;
145
- padding: 10px;
146
- }
147
- .text-footer-invalid-format h3 {
148
- text-overflow: ellipsis;
149
- overflow: hidden;
150
- font-weight: 500;
151
- }
152
- .text-footer-invalid-format h4 {
153
- text-overflow: ellipsis;
154
- overflow: hidden;
155
- font-size: .9rem;
156
- }
157
-
158
- .text-footer-exclude-file {
159
- position: absolute;
160
- top: 5px;
161
- right: 5px;
162
- cursor: pointer;
163
- display: flex;
164
- justify-content: center;
165
- align-items: center;
166
- min-width: 1rem;
167
- min-height: 1rem;
168
- background-color: #FFF;
169
- border-radius: 50%;
170
- }
171
- .text-footer-exclude-file svg {
172
- transition: color 200ms;
173
- color: #e9594a;
174
- }
175
- .text-footer-exclude-file svg:hover {
176
- color: #E74C3C;
177
- }
178
-
179
- .file-preview {
180
- display: flex;
181
- width: 100%;
182
- align-items: center;
183
- padding: 5px 10px;
184
- transition: background-color 150ms;
185
- }
186
- .file-preview:hover {
187
- background-color: rgba(0, 0, 0, .1)
188
- }
189
-
190
- .file-title {
191
- color: #222;
192
- display: flex;
193
- align-items: center;
194
- white-space: nowrap;
195
- text-overflow: ellipsis;
196
- overflow: hidden;
197
- padding: 4px 10px;
198
- background-color: #FFF;
199
- border-radius: 30px;
200
- display: inline-block;
201
- }
202
- .file-title.red {
203
- color: #E74C3C;
204
- margin-right: 5px;
205
- }
206
- .file-title > svg {
207
- margin-right: 5px;
208
- color: #333;
209
- }
210
-
211
- .small-img {
212
- flex: 1;
213
- margin: 0 15px;
214
- display: flex;
215
- justify-content: center;
216
- align-items: center;
217
- position: relative;
218
- }
219
- .small-img img {
220
- height: 40px;
221
- cursor: pointer;
222
- }
223
- .small-img .pdf, .small-img .doc {
224
- display: flex;
225
- justify-content: center;
226
- align-items: center;
227
- font-size: 30px;
228
- }
229
- .small-img .pdf {
230
- color: #E74C3C;
231
- }
232
- .small-img .doc {
233
- color: #006bc9;
234
- }
235
- .small-img .pdf svg, .small-img .doc svg{
236
- z-index: 1;
237
- }
238
- .small-img .pdf::after, .small-img .doc::after {
239
- content: "";
240
- position: absolute;
241
- bottom: 2px;
242
- transform: translateY(2px);
243
- width: 20px;
244
- height: 20px;
245
- background-color: #FFF;
246
- }
247
- .img-container {
248
- padding: 5px;
249
- border-radius: 2.5px;
250
- background-color: rgba(0, 0, 0, .15);
251
- display: flex;
252
- justify-content: center;
253
- align-items: center;
254
- }
255
-
256
- .delete-file {
257
- display: flex;
258
- justify-content: center;
259
- align-items: center;
260
- cursor: pointer;
261
- }
262
- .delete-file > svg {
263
- font-size: 1rem;
264
- color: #E74C3C;
265
- }
266
- </style>
1
+ <template>
2
+ <div class="multiple-file-preview">
3
+ <fa-icon :icon="['fas', 'times-circle']" class="close-icon" @click="$emit('close')" />
4
+ <transition-group name="fade">
5
+ <Loader v-if="loading" key="mfp-loader" />
6
+ <template v-else-if="fileFormatError">
7
+ <span @click="deleteFile" :title="dictionary.msg_cancelar_anexo" class="text-footer-exclude-file" key="mfp-exlude-file">
8
+ <fa-icon :icon="['fas', 'times-circle']" />
9
+ </span>
10
+ <div class="text-footer-invalid-format" v-if="fileFormatError" key="mfp-invalid-format">
11
+ <h3 v-text="dictionary.titulo_msg_formato_invalido"></h3>
12
+ <h4 v-html="validFileFormats" :title="validFileFormats"></h4>
13
+ </div>
14
+ </template>
15
+ <template v-else>
16
+ <div class="file-preview" v-for="(singleFile, index) in file" :key="index">
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}">
18
+ <fa-icon :icon="icon(singleFile.imgOrDoc)" />
19
+ {{ !singleFile.invalid ? singleFile.name : `${dictionary.titulo_msg_formato_invalido ? dictionary.titulo_msg_formato_invalido : "Arquivo invalido"} - ${singleFile.name}` }}
20
+ </p>
21
+ <div class="small-img">
22
+ <span class="img-container" v-if="singleFile.imgOrDoc === 'img' && !isPdf(singleFile.type)">
23
+ <img
24
+ :title="dictionary.titulo_visualizar_img"
25
+ :src="singleFile.src"
26
+ :alt="dictionary.alt_previa_img"
27
+ @click="openImage(singleFile.src)"
28
+ />
29
+ </span>
30
+ <span class="pdf" v-else-if="isPdf(singleFile.type)">
31
+ <fa-icon :icon="['fas', 'file-pdf']" />
32
+ </span>
33
+ <span class="doc" v-else>
34
+ <fa-icon :icon="['fas', 'file-alt']" />
35
+ </span>
36
+ </div>
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']" />
39
+ </span>
40
+ </div>
41
+ </template>
42
+ </transition-group>
43
+ </div>
44
+ </template>
45
+
46
+ <script>
47
+ import Loader from "../Loader/Loader"
48
+
49
+ export default {
50
+ components: { Loader },
51
+ data() {
52
+ return {
53
+ loading: true,
54
+ loadingTimeout: 0,
55
+ ignoreNextUpdate: false
56
+ }
57
+ },
58
+ mounted() {
59
+ setTimeout(() => { this.loading = false;}, 500);
60
+ },
61
+ watch: {
62
+ file() {
63
+ if(!this.ignoreNextUpdate) {
64
+ if(this.loadingTimeout) clearTimeout(this.loadingTimeout);
65
+ this.loading = true;
66
+ this.loadingTimeout = setTimeout(() => { this.loading = false; }, 500);
67
+ this.ignoreNextUpdate = true
68
+ }
69
+ this.ignoreNextUpdate = false;
70
+ }
71
+ },
72
+ props: {
73
+ dictionary: { type: Object, required: true },
74
+ file: { type: Array, required: true },
75
+ fileFormatError: { type: Boolean, required: false },
76
+ validFileFormats: { type: String, required: false, default: "" }
77
+ },
78
+ methods: {
79
+ deleteFile() {
80
+ this.$emit("delete-file");
81
+ },
82
+ deleteSpecificFile(fileName, index) {
83
+ this.ignoreNextUpdate = true;
84
+ this.$emit("delete-specific-file", { fileName, index });
85
+ },
86
+ openImage(image) {
87
+ this.$emit("open-image", image);
88
+ },
89
+ icon(imgOrDoc) {
90
+ if(!imgOrDoc) return ['fas', 'times-circle'];
91
+ return imgOrDoc == 'doc' ? ['fas', 'file-alt'] : ['fas', 'image'];
92
+ },
93
+ isPdf(type) {
94
+ return type === "application/pdf" ? true : false
95
+ }
96
+ }
97
+ }
98
+ </script>
99
+
100
+ <style>
101
+ .multiple-file-preview {
102
+ position: relative;
103
+ display: flex;
104
+ flex-direction: column;
105
+ width: 100%;
106
+ height: 100%;
107
+ max-height: 100%;
108
+ overflow-y: auto;
109
+ overflow-x: hidden;
110
+ border-top-left-radius: 2.5px;
111
+ border-top-right-radius: 2.5px;
112
+ transition: background-color 150ms;
113
+ scrollbar-color: #888 rgba(0, 0, 0, 0.2);
114
+ scrollbar-width: 4px;
115
+ }
116
+ .multiple-file-preview::-webkit-scrollbar{
117
+ width: 4px;
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
+
130
+ .multiple-file-preview::-webkit-scrollbar-track{
131
+ background-color: rgba(0, 0, 0, 0.2);
132
+ }
133
+
134
+ .multiple-file-preview::-webkit-scrollbar-thumb{
135
+ transition-duration: .5s;
136
+ background-color: #222
137
+ }
138
+
139
+ .multiple-file-preview::-webkit-scrollbar-thumb:hover{
140
+ background-color: #555
141
+ }
142
+
143
+ .text-footer-invalid-format {
144
+ color: #222;
145
+ padding: 10px;
146
+ }
147
+ .text-footer-invalid-format h3 {
148
+ text-overflow: ellipsis;
149
+ overflow: hidden;
150
+ font-weight: 500;
151
+ }
152
+ .text-footer-invalid-format h4 {
153
+ text-overflow: ellipsis;
154
+ overflow: hidden;
155
+ font-size: .9rem;
156
+ }
157
+
158
+ .text-footer-exclude-file {
159
+ position: absolute;
160
+ top: 5px;
161
+ right: 5px;
162
+ cursor: pointer;
163
+ display: flex;
164
+ justify-content: center;
165
+ align-items: center;
166
+ min-width: 1rem;
167
+ min-height: 1rem;
168
+ background-color: #FFF;
169
+ border-radius: 50%;
170
+ }
171
+ .text-footer-exclude-file svg {
172
+ transition: color 200ms;
173
+ color: #e9594a;
174
+ }
175
+ .text-footer-exclude-file svg:hover {
176
+ color: #E74C3C;
177
+ }
178
+
179
+ .file-preview {
180
+ display: flex;
181
+ width: 100%;
182
+ align-items: center;
183
+ padding: 5px 10px;
184
+ transition: background-color 150ms;
185
+ }
186
+ .file-preview:hover {
187
+ background-color: rgba(0, 0, 0, .1)
188
+ }
189
+
190
+ .file-title {
191
+ color: #222;
192
+ display: flex;
193
+ align-items: center;
194
+ white-space: nowrap;
195
+ text-overflow: ellipsis;
196
+ overflow: hidden;
197
+ padding: 4px 10px;
198
+ background-color: #FFF;
199
+ border-radius: 30px;
200
+ display: inline-block;
201
+ }
202
+ .file-title.red {
203
+ color: #E74C3C;
204
+ margin-right: 5px;
205
+ }
206
+ .file-title > svg {
207
+ margin-right: 5px;
208
+ color: #333;
209
+ }
210
+
211
+ .small-img {
212
+ flex: 1;
213
+ margin: 0 15px;
214
+ display: flex;
215
+ justify-content: center;
216
+ align-items: center;
217
+ position: relative;
218
+ }
219
+ .small-img img {
220
+ height: 40px;
221
+ cursor: pointer;
222
+ }
223
+ .small-img .pdf, .small-img .doc {
224
+ display: flex;
225
+ justify-content: center;
226
+ align-items: center;
227
+ font-size: 30px;
228
+ }
229
+ .small-img .pdf {
230
+ color: #E74C3C;
231
+ }
232
+ .small-img .doc {
233
+ color: #006bc9;
234
+ }
235
+ .small-img .pdf svg, .small-img .doc svg{
236
+ z-index: 1;
237
+ }
238
+ .small-img .pdf::after, .small-img .doc::after {
239
+ content: "";
240
+ position: absolute;
241
+ bottom: 2px;
242
+ transform: translateY(2px);
243
+ width: 20px;
244
+ height: 20px;
245
+ background-color: #FFF;
246
+ }
247
+ .img-container {
248
+ padding: 5px;
249
+ border-radius: 2.5px;
250
+ background-color: rgba(0, 0, 0, .15);
251
+ display: flex;
252
+ justify-content: center;
253
+ align-items: center;
254
+ }
255
+
256
+ .delete-file {
257
+ display: flex;
258
+ justify-content: center;
259
+ align-items: center;
260
+ cursor: pointer;
261
+ }
262
+ .delete-file > svg {
263
+ font-size: 1rem;
264
+ color: #E74C3C;
265
+ }
266
+ </style>