vue-intergrall-plugins 1.1.89 → 1.2.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 (45) hide show
  1. package/README.md +220 -220
  2. package/dist/dist/vue-intergrall-plugins.css +1 -1
  3. package/dist/vue-intergrall-plugins.esm.js +193 -78
  4. package/dist/vue-intergrall-plugins.min.js +7 -7
  5. package/dist/vue-intergrall-plugins.ssr.js +245 -136
  6. package/package.json +61 -61
  7. package/src/lib-components/Buttons/IconButton.vue +27 -27
  8. package/src/lib-components/Buttons/SimpleButton.vue +140 -140
  9. package/src/lib-components/Cards/Card.vue +490 -490
  10. package/src/lib-components/Cards/CardCheck.vue +35 -35
  11. package/src/lib-components/Cards/CardFile.vue +163 -163
  12. package/src/lib-components/Chat/BtnDownloadAllFiles.vue +36 -36
  13. package/src/lib-components/Chat/BtnEmojis.vue +118 -118
  14. package/src/lib-components/Chat/BtnExpand.vue +17 -17
  15. package/src/lib-components/Chat/BtnFiles.vue +486 -486
  16. package/src/lib-components/Chat/BtnMic.vue +60 -60
  17. package/src/lib-components/Chat/BtnScreenShare.vue +31 -31
  18. package/src/lib-components/Chat/BtnStandardMessages.vue +17 -17
  19. package/src/lib-components/Chat/ExpandTextarea.vue +427 -427
  20. package/src/lib-components/Chat/MultipleFilePreview.vue +291 -291
  21. package/src/lib-components/Chat/Picker.vue +525 -525
  22. package/src/lib-components/Chat/RemainingCharacters.vue +28 -28
  23. package/src/lib-components/Chat/SingleFilePreview.vue +94 -94
  24. package/src/lib-components/Chat/SkeletonPicker.vue +110 -110
  25. package/src/lib-components/Chat/StandardMessages.vue +252 -252
  26. package/src/lib-components/Chat/TextFooter.vue +1007 -1007
  27. package/src/lib-components/Email/EmailExpanded.vue +270 -270
  28. package/src/lib-components/Email/EmailFile.vue +192 -192
  29. package/src/lib-components/Email/EmailFrom.vue +66 -66
  30. package/src/lib-components/Email/EmailItem.vue +867 -850
  31. package/src/lib-components/Email/EmailTo.vue +64 -64
  32. package/src/lib-components/Loader/Loader.vue +78 -78
  33. package/src/lib-components/Messages/AnexoMensagem.vue +534 -497
  34. package/src/lib-components/Messages/CardAttachment.vue +61 -61
  35. package/src/lib-components/Messages/CardMessages.vue +687 -687
  36. package/src/lib-components/Messages/InteratividadeBotoes.vue +197 -197
  37. package/src/lib-components/Messages/InteratividadeContato.vue +32 -32
  38. package/src/lib-components/Messages/InteratividadeContatoItem.vue +235 -235
  39. package/src/lib-components/Messages/InteratividadeFormulario.vue +334 -334
  40. package/src/lib-components/Messages/InteratividadePopup.vue +95 -95
  41. package/src/lib-components/Messages/LinkPreview.vue +176 -176
  42. package/src/lib-components/Scroll/ScrollContent.vue +166 -166
  43. package/src/lib-components/Templates/TemplateGenerator.vue +640 -640
  44. package/src/lib-components/Templates/TemplateMessage.vue +83 -83
  45. 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>