vue-intergrall-plugins 1.1.10 → 1.1.12

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 (44) hide show
  1. package/README.md +220 -220
  2. package/dist/vue-intergrall-plugins.esm.js +54 -50
  3. package/dist/vue-intergrall-plugins.min.js +1 -1
  4. package/dist/vue-intergrall-plugins.ssr.js +126 -122
  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 +490 -490
  9. package/src/lib-components/Cards/CardCheck.vue +35 -35
  10. package/src/lib-components/Cards/CardFile.vue +163 -163
  11. package/src/lib-components/Chat/BtnDownloadAllFiles.vue +36 -36
  12. package/src/lib-components/Chat/BtnEmojis.vue +118 -118
  13. package/src/lib-components/Chat/BtnExpand.vue +17 -17
  14. package/src/lib-components/Chat/BtnFiles.vue +486 -486
  15. package/src/lib-components/Chat/BtnMic.vue +60 -60
  16. package/src/lib-components/Chat/BtnScreenShare.vue +31 -31
  17. package/src/lib-components/Chat/BtnStandardMessages.vue +17 -17
  18. package/src/lib-components/Chat/ExpandTextarea.vue +427 -427
  19. package/src/lib-components/Chat/MultipleFilePreview.vue +291 -291
  20. package/src/lib-components/Chat/Picker.vue +405 -405
  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 +252 -252
  25. package/src/lib-components/Chat/TextFooter.vue +1007 -1007
  26. package/src/lib-components/Email/EmailExpanded.vue +270 -270
  27. package/src/lib-components/Email/EmailFile.vue +192 -192
  28. package/src/lib-components/Email/EmailFrom.vue +66 -66
  29. package/src/lib-components/Email/EmailItem.vue +937 -933
  30. package/src/lib-components/Email/EmailTo.vue +57 -57
  31. package/src/lib-components/Loader/Loader.vue +78 -78
  32. package/src/lib-components/Messages/AnexoMensagem.vue +415 -415
  33. package/src/lib-components/Messages/CardAttachment.vue +61 -61
  34. package/src/lib-components/Messages/CardMessages.vue +687 -684
  35. package/src/lib-components/Messages/InteratividadeBotoes.vue +199 -199
  36. package/src/lib-components/Messages/InteratividadeContato.vue +32 -32
  37. package/src/lib-components/Messages/InteratividadeContatoItem.vue +213 -213
  38. package/src/lib-components/Messages/InteratividadeFormulario.vue +334 -334
  39. package/src/lib-components/Messages/InteratividadePopup.vue +95 -95
  40. package/src/lib-components/Messages/LinkPreview.vue +176 -176
  41. package/src/lib-components/Scroll/ScrollContent.vue +166 -166
  42. package/src/lib-components/Templates/TemplateGenerator.vue +640 -640
  43. package/src/lib-components/Templates/TemplateMessage.vue +83 -83
  44. package/src/lib-components/Templates/TemplateSingle.vue +478 -478
@@ -1,28 +1,28 @@
1
- <template>
2
- <span
3
- class="max-characters no-width"
4
- v-if="maxCharacters"
5
- v-text="`(${this.remainingCharacters})`"
6
- ></span>
7
- </template>
8
-
9
- <script>
10
- export default {
11
- props: {
12
- message: {
13
- type: String,
14
- required: true
15
- },
16
- maxCharacters: {
17
- type: Number,
18
- required: false
19
- },
20
- },
21
- computed: {
22
- remainingCharacters() {
23
- if(this.message.length) return this.maxCharacters - this.message.length
24
- return this.maxCharacters
25
- }
26
- }
27
- }
28
- </script>
1
+ <template>
2
+ <span
3
+ class="max-characters no-width"
4
+ v-if="maxCharacters"
5
+ v-text="`(${this.remainingCharacters})`"
6
+ ></span>
7
+ </template>
8
+
9
+ <script>
10
+ export default {
11
+ props: {
12
+ message: {
13
+ type: String,
14
+ required: true
15
+ },
16
+ maxCharacters: {
17
+ type: Number,
18
+ required: false
19
+ },
20
+ },
21
+ computed: {
22
+ remainingCharacters() {
23
+ if(this.message.length) return this.maxCharacters - this.message.length
24
+ return this.maxCharacters
25
+ }
26
+ }
27
+ }
28
+ </script>
@@ -1,95 +1,95 @@
1
- <template>
2
- <div v-if="textId" class="single-file-preview" :ref="`sfp-${textId}`">
3
- <fa-icon :icon="['fas', 'times-circle']" class="close-icon" @click="$emit('close')" />
4
- <span @click="deleteFile" :title="dictionary.msg_cancelar_anexo" class="text-footer-exclude-file">
5
- <fa-icon :icon="['fas', 'trash-alt']" />
6
- </span>
7
- <div class="text-footer-invalid-format" v-if="fileFormatError">
8
- <h3 v-text="dictionary.titulo_msg_formato_invalido"></h3>
9
- <h4 v-text="validFileFormats" :title="validFileFormats"></h4>
10
- </div>
11
- <template v-else>
12
- <h3 v-if="file.name" class="text-footer-preview-title" :title="file.name">
13
- <fa-icon :icon="['fas', 'file-alt']" v-if="isDoc" />
14
- <fa-icon :icon="['fas', 'image']" v-else />
15
- {{ file.name }}
16
- </h3>
17
- <div class="text-footer-image-preview" v-if="imagePreview">
18
- <img :src="imagePreview" :alt="dictionary.alt_previa_img" @click="openImage">
19
- </div>
20
- </template>
21
- </div>
22
- </template>
23
-
24
- <script>
25
- export default {
26
- props: {
27
- textId: { type: String, required: true },
28
- dictionary: { type: Object, required: true },
29
- file: { type: File, required: false },
30
- isDoc: { type: Boolean, required: false },
31
- fileFormatError: { type: Boolean, required: false },
32
- validFileFormats: { type: String, required: false, default: "" },
33
- imagePreview: { type: String, required: false }
34
- },
35
- mounted() {
36
- this.setPosition()
37
- },
38
- methods: {
39
- deleteFile() {
40
- this.$emit("delete-file")
41
- },
42
- openImage() {
43
- this.$emit("open-image")
44
- },
45
- setPosition() {
46
- try {
47
- this.$refs[`sfp-${this.textId}`].parentElement.style.bottom = `${this.$root.$refs[`tf-${this.textId}`].$el.offsetHeight}px`
48
- }catch(e) {
49
- console.error("Erro ao setar a posicao do single file preview: ", e)
50
- }
51
- }
52
- }
53
- }
54
- </script>
55
-
56
- <style>
57
- .single-file-preview .close-icon {
58
- color: #E74C3C;
59
- cursor: pointer;
60
- opacity: .9;
61
- transition: opacity 300ms;
62
- }
63
- .single-file-preview .close-icon:hover {
64
- opacity: 1;
65
- }
66
- .text-footer-invalid-format {
67
- color: #222;
68
- padding: 10px;
69
- }
70
- .text-footer-invalid-format h3 {
71
- font-weight: 500;
72
- }
73
- .text-footer-invalid-format h4 {
74
- font-size: 14.4px;
75
- }
76
- .text-footer-preview-title {
77
- font-size: 16px;
78
- padding: 10px 0 0 10px;
79
- white-space: nowrap;
80
- overflow: hidden;
81
- text-overflow: ellipsis;
82
- }
83
- .text-footer-image-preview {
84
- display: flex;
85
- justify-content: center;
86
- align-items: center;
87
- width: 100%;
88
- }
89
- .text-footer-image-preview img {
90
- cursor: pointer;
91
- max-width: 98%;
92
- max-height: 98%;
93
- padding: 2%;
94
- }
1
+ <template>
2
+ <div v-if="textId" class="single-file-preview" :ref="`sfp-${textId}`">
3
+ <fa-icon :icon="['fas', 'times-circle']" class="close-icon" @click="$emit('close')" />
4
+ <span @click="deleteFile" :title="dictionary.msg_cancelar_anexo" class="text-footer-exclude-file">
5
+ <fa-icon :icon="['fas', 'trash-alt']" />
6
+ </span>
7
+ <div class="text-footer-invalid-format" v-if="fileFormatError">
8
+ <h3 v-text="dictionary.titulo_msg_formato_invalido"></h3>
9
+ <h4 v-text="validFileFormats" :title="validFileFormats"></h4>
10
+ </div>
11
+ <template v-else>
12
+ <h3 v-if="file.name" class="text-footer-preview-title" :title="file.name">
13
+ <fa-icon :icon="['fas', 'file-alt']" v-if="isDoc" />
14
+ <fa-icon :icon="['fas', 'image']" v-else />
15
+ {{ file.name }}
16
+ </h3>
17
+ <div class="text-footer-image-preview" v-if="imagePreview">
18
+ <img :src="imagePreview" :alt="dictionary.alt_previa_img" @click="openImage">
19
+ </div>
20
+ </template>
21
+ </div>
22
+ </template>
23
+
24
+ <script>
25
+ export default {
26
+ props: {
27
+ textId: { type: String, required: true },
28
+ dictionary: { type: Object, required: true },
29
+ file: { type: File, required: false },
30
+ isDoc: { type: Boolean, required: false },
31
+ fileFormatError: { type: Boolean, required: false },
32
+ validFileFormats: { type: String, required: false, default: "" },
33
+ imagePreview: { type: String, required: false }
34
+ },
35
+ mounted() {
36
+ this.setPosition()
37
+ },
38
+ methods: {
39
+ deleteFile() {
40
+ this.$emit("delete-file")
41
+ },
42
+ openImage() {
43
+ this.$emit("open-image")
44
+ },
45
+ setPosition() {
46
+ try {
47
+ this.$refs[`sfp-${this.textId}`].parentElement.style.bottom = `${this.$root.$refs[`tf-${this.textId}`].$el.offsetHeight}px`
48
+ }catch(e) {
49
+ console.error("Erro ao setar a posicao do single file preview: ", e)
50
+ }
51
+ }
52
+ }
53
+ }
54
+ </script>
55
+
56
+ <style>
57
+ .single-file-preview .close-icon {
58
+ color: #E74C3C;
59
+ cursor: pointer;
60
+ opacity: .9;
61
+ transition: opacity 300ms;
62
+ }
63
+ .single-file-preview .close-icon:hover {
64
+ opacity: 1;
65
+ }
66
+ .text-footer-invalid-format {
67
+ color: #222;
68
+ padding: 10px;
69
+ }
70
+ .text-footer-invalid-format h3 {
71
+ font-weight: 500;
72
+ }
73
+ .text-footer-invalid-format h4 {
74
+ font-size: 14.4px;
75
+ }
76
+ .text-footer-preview-title {
77
+ font-size: 16px;
78
+ padding: 10px 0 0 10px;
79
+ white-space: nowrap;
80
+ overflow: hidden;
81
+ text-overflow: ellipsis;
82
+ }
83
+ .text-footer-image-preview {
84
+ display: flex;
85
+ justify-content: center;
86
+ align-items: center;
87
+ width: 100%;
88
+ }
89
+ .text-footer-image-preview img {
90
+ cursor: pointer;
91
+ max-width: 98%;
92
+ max-height: 98%;
93
+ padding: 2%;
94
+ }
95
95
  </style>
@@ -1,111 +1,111 @@
1
- <template>
2
- <div class="skeleton-picker">
3
- <div class="skeleton-options">
4
- <div class="opt box-shadow ov__skeleton--animation"></div>
5
- <div class="opt box-shadow ov__skeleton--animation"></div>
6
- <div class="opt box-shadow ov__skeleton--animation"></div>
7
- <div class="opt box-shadow ov__skeleton--animation"></div>
8
- <div class="opt box-shadow ov__skeleton--animation"></div>
9
- <div class="opt box-shadow ov__skeleton--animation"></div>
10
- <div class="opt box-shadow ov__skeleton--animation"></div>
11
- <div class="opt box-shadow ov__skeleton--animation"></div>
12
- <div class="opt box-shadow ov__skeleton--animation"></div>
13
- </div>
14
- <div class="skeleton-input box-shadow ov__skeleton--animation"></div>
15
- <div class="skeleton-label box-shadow ov__skeleton--animation"></div>
16
- <div class="skeleton-list">
17
- <div class="opt box-shadow ov__skeleton--animation"></div>
18
- <div class="opt box-shadow ov__skeleton--animation"></div>
19
- <div class="opt box-shadow ov__skeleton--animation"></div>
20
- <div class="opt box-shadow ov__skeleton--animation"></div>
21
- <div class="opt box-shadow ov__skeleton--animation"></div>
22
- <div class="opt box-shadow ov__skeleton--animation"></div>
23
- <div class="opt box-shadow ov__skeleton--animation"></div>
24
- <div class="opt box-shadow ov__skeleton--animation"></div>
25
- <div class="opt box-shadow ov__skeleton--animation"></div>
26
- <div class="opt box-shadow ov__skeleton--animation"></div>
27
- <div class="opt box-shadow ov__skeleton--animation"></div>
28
- <div class="opt box-shadow ov__skeleton--animation"></div>
29
- </div>
30
- </div>
31
- </template>
32
-
33
- <script>
34
- export default {
35
-
36
- }
37
- </script>
38
-
39
- <style>
40
- .box-shadow {
41
- -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);
42
- -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);
43
- 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);
44
- }
45
-
46
- .ov__skeleton--animation {
47
- animation: skeleton-loading 1s linear infinite alternate;
48
- }
49
- @keyframes skeleton-loading {
50
- 0% {
51
- background-color: #F7F7F7;
52
- }
53
- 70% {
54
- background-color: #EDEDED;
55
- }
56
- 100% {
57
- background-color: #EDEDED;
58
- }
59
- }
60
-
61
- .skeleton-picker {
62
- position: absolute;
63
- width: 100%;
64
- height: 100%;
65
- z-index: 91;
66
- border-radius: 5px;
67
- background-color: #FFF;
68
- border: 1px solid #CCC;
69
- }
70
-
71
- .skeleton-options {
72
- width: 100%;
73
- height: 48px;
74
- display: flex;
75
- justify-content: space-between;
76
- align-items: center;
77
- padding: 0 15px;
78
- border-bottom: 1px solid #CCC;
79
- }
80
- .skeleton-options .opt {
81
- width: 25px;
82
- height: 50%;
83
- }
84
-
85
- .skeleton-input {
86
- width: calc(100% - 30px);
87
- height: 25px;
88
- margin: 7px 15px;
89
- border-radius: 2.5px;
90
- }
91
-
92
- .skeleton-label {
93
- margin: 15px 0;
94
- width: 100%;
95
- height: 30px;
96
- }
97
-
98
- .skeleton-list {
99
- width: 100%;
100
- padding-left: 7.5px;
101
- display: flex;
102
- align-items: center;
103
- flex-wrap: wrap;
104
- }
105
-
106
- .skeleton-list .opt {
107
- margin: 0 5px 15px 6px;
108
- width: 25px;
109
- height: 25px;
110
- }
1
+ <template>
2
+ <div class="skeleton-picker">
3
+ <div class="skeleton-options">
4
+ <div class="opt box-shadow ov__skeleton--animation"></div>
5
+ <div class="opt box-shadow ov__skeleton--animation"></div>
6
+ <div class="opt box-shadow ov__skeleton--animation"></div>
7
+ <div class="opt box-shadow ov__skeleton--animation"></div>
8
+ <div class="opt box-shadow ov__skeleton--animation"></div>
9
+ <div class="opt box-shadow ov__skeleton--animation"></div>
10
+ <div class="opt box-shadow ov__skeleton--animation"></div>
11
+ <div class="opt box-shadow ov__skeleton--animation"></div>
12
+ <div class="opt box-shadow ov__skeleton--animation"></div>
13
+ </div>
14
+ <div class="skeleton-input box-shadow ov__skeleton--animation"></div>
15
+ <div class="skeleton-label box-shadow ov__skeleton--animation"></div>
16
+ <div class="skeleton-list">
17
+ <div class="opt box-shadow ov__skeleton--animation"></div>
18
+ <div class="opt box-shadow ov__skeleton--animation"></div>
19
+ <div class="opt box-shadow ov__skeleton--animation"></div>
20
+ <div class="opt box-shadow ov__skeleton--animation"></div>
21
+ <div class="opt box-shadow ov__skeleton--animation"></div>
22
+ <div class="opt box-shadow ov__skeleton--animation"></div>
23
+ <div class="opt box-shadow ov__skeleton--animation"></div>
24
+ <div class="opt box-shadow ov__skeleton--animation"></div>
25
+ <div class="opt box-shadow ov__skeleton--animation"></div>
26
+ <div class="opt box-shadow ov__skeleton--animation"></div>
27
+ <div class="opt box-shadow ov__skeleton--animation"></div>
28
+ <div class="opt box-shadow ov__skeleton--animation"></div>
29
+ </div>
30
+ </div>
31
+ </template>
32
+
33
+ <script>
34
+ export default {
35
+
36
+ }
37
+ </script>
38
+
39
+ <style>
40
+ .box-shadow {
41
+ -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);
42
+ -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);
43
+ 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);
44
+ }
45
+
46
+ .ov__skeleton--animation {
47
+ animation: skeleton-loading 1s linear infinite alternate;
48
+ }
49
+ @keyframes skeleton-loading {
50
+ 0% {
51
+ background-color: #F7F7F7;
52
+ }
53
+ 70% {
54
+ background-color: #EDEDED;
55
+ }
56
+ 100% {
57
+ background-color: #EDEDED;
58
+ }
59
+ }
60
+
61
+ .skeleton-picker {
62
+ position: absolute;
63
+ width: 100%;
64
+ height: 100%;
65
+ z-index: 91;
66
+ border-radius: 5px;
67
+ background-color: #FFF;
68
+ border: 1px solid #CCC;
69
+ }
70
+
71
+ .skeleton-options {
72
+ width: 100%;
73
+ height: 48px;
74
+ display: flex;
75
+ justify-content: space-between;
76
+ align-items: center;
77
+ padding: 0 15px;
78
+ border-bottom: 1px solid #CCC;
79
+ }
80
+ .skeleton-options .opt {
81
+ width: 25px;
82
+ height: 50%;
83
+ }
84
+
85
+ .skeleton-input {
86
+ width: calc(100% - 30px);
87
+ height: 25px;
88
+ margin: 7px 15px;
89
+ border-radius: 2.5px;
90
+ }
91
+
92
+ .skeleton-label {
93
+ margin: 15px 0;
94
+ width: 100%;
95
+ height: 30px;
96
+ }
97
+
98
+ .skeleton-list {
99
+ width: 100%;
100
+ padding-left: 7.5px;
101
+ display: flex;
102
+ align-items: center;
103
+ flex-wrap: wrap;
104
+ }
105
+
106
+ .skeleton-list .opt {
107
+ margin: 0 5px 15px 6px;
108
+ width: 25px;
109
+ height: 25px;
110
+ }
111
111
  </style>