vue-intergrall-plugins 0.0.280 → 0.0.281

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 +84 -58
  3. package/dist/vue-intergrall-plugins.min.js +1 -1
  4. package/dist/vue-intergrall-plugins.ssr.js +124 -124
  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 +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 +817 -817
  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 +384 -384
  30. package/src/lib-components/Messages/CardAttachment.vue +61 -61
  31. package/src/lib-components/Messages/CardMessages.vue +452 -393
  32. package/src/lib-components/Messages/ChatMessages.vue +573 -573
  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,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: .9rem;
75
- }
76
- .text-footer-preview-title {
77
- font-size: 1rem;
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: .9rem;
75
+ }
76
+ .text-footer-preview-title {
77
+ font-size: 1rem;
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>