@weni/unnnic-system 3.2.7-alpha.0 → 3.2.8

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 (190) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/components/Accordion/Accordion.vue.d.ts +1 -1
  3. package/dist/components/Alert/Alert.vue.d.ts +5 -5
  4. package/dist/components/Alert/Version1dot1.vue.d.ts +2 -2
  5. package/dist/components/AudioRecorder/AudioHandler.vue.d.ts +2 -2
  6. package/dist/components/AudioRecorder/AudioPlayer.vue.d.ts +1 -1
  7. package/dist/components/AudioRecorder/AudioRecorder.vue.d.ts +5 -5
  8. package/dist/components/AvatarIcon/AvatarIcon.vue.d.ts +2 -2
  9. package/dist/components/Banner/Banner.vue.d.ts +1 -1
  10. package/dist/components/Banner/InfoBanner.vue.d.ts +1 -1
  11. package/dist/components/Breadcrumb/Breadcrumb.vue.d.ts +1 -1
  12. package/dist/components/Button/Button.vue.d.ts +2 -2
  13. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  14. package/dist/components/Button/ButtonIcon.vue.d.ts +1 -1
  15. package/dist/components/Button/types.d.ts +1 -1
  16. package/dist/components/Button/types.d.ts.map +1 -1
  17. package/dist/components/Card/AccountCard.vue.d.ts +3 -3
  18. package/dist/components/Card/BlankCard.vue.d.ts +1 -1
  19. package/dist/components/Card/Card.vue.d.ts +21 -21
  20. package/dist/components/Card/CardCompany.vue.d.ts +8 -8
  21. package/dist/components/Card/CardData.vue.d.ts +1 -1
  22. package/dist/components/Card/CardStatusesContainer.vue.d.ts +4 -4
  23. package/dist/components/Card/ContentCard.vue.d.ts +2 -2
  24. package/dist/components/Card/DashCard.vue.d.ts +4 -4
  25. package/dist/components/Card/DefaultCard.vue.d.ts +1 -1
  26. package/dist/components/Card/MarketplaceCard.vue.d.ts +2 -2
  27. package/dist/components/Card/SimpleCard.vue.d.ts +3 -3
  28. package/dist/components/Card/StatusCard.vue.d.ts +2 -2
  29. package/dist/components/Card/TitleCard.vue.d.ts +2 -2
  30. package/dist/components/CardImage/CardImage.vue.d.ts +8 -8
  31. package/dist/components/CardInformation/CardInformation.vue.d.ts +4 -4
  32. package/dist/components/CardProject/CardProject.vue.d.ts +3 -3
  33. package/dist/components/Carousel/Carousel.vue.d.ts +11 -11
  34. package/dist/components/Carousel/TagCarousel.vue.d.ts +9 -9
  35. package/dist/components/ChartBar/ChartBar.vue.d.ts +8 -8
  36. package/dist/components/ChartLine/ChartLine.vue.d.ts +1 -1
  37. package/dist/components/ChatText/ChatText.vue.d.ts +2 -2
  38. package/dist/components/ChatsContact/ChatsContact.vue.d.ts +15 -15
  39. package/dist/components/ChatsDashboardTagLive/ChatsDashboardTagLive.vue.d.ts +1 -1
  40. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts +1 -1
  41. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts.map +1 -1
  42. package/dist/components/ChatsMessage/ChatsMessage.vue.d.ts +5 -5
  43. package/dist/components/ChatsMessage/ChatsMessageStatusBackdrop.vue.d.ts +2 -2
  44. package/dist/components/ChatsMessage/ChatsMessageText.vue.d.ts.map +1 -1
  45. package/dist/components/ChatsNavbar/ChatsNavbar.vue.d.ts +1 -1
  46. package/dist/components/ChatsUserAvatar/ChatsUserAvatar.vue.d.ts +2 -2
  47. package/dist/components/Checkbox/Checkbox.vue.d.ts +3 -3
  48. package/dist/components/Chip/Chip.vue.d.ts.map +1 -1
  49. package/dist/components/Comment/Comment.vue.d.ts +1 -1
  50. package/dist/components/DataArea/DataArea.vue.d.ts +2 -2
  51. package/dist/components/DataTable/index.vue.d.ts +1 -1
  52. package/dist/components/DataTable/index.vue.d.ts.map +1 -1
  53. package/dist/components/DateFilter/DateFilter.vue.d.ts +27 -182
  54. package/dist/components/DatePicker/DatePicker.vue.d.ts +8 -8
  55. package/dist/components/DatePicker/DatePicker.vue.d.ts.map +1 -1
  56. package/dist/components/Drawer/Drawer.vue.d.ts +7 -7
  57. package/dist/components/Drawer/Drawer.vue.d.ts.map +1 -1
  58. package/dist/components/Dropdown/Dropdown.vue.d.ts +1 -1
  59. package/dist/components/Dropdown/LanguageSelect.vue.d.ts +3 -3
  60. package/dist/components/EmojiPicker/EmojiPicker.vue.d.ts.map +1 -1
  61. package/dist/components/Flag.vue.d.ts +2 -2
  62. package/dist/components/FormElement/FormElement.vue.d.ts +32 -38
  63. package/dist/components/FormElement/FormElement.vue.d.ts.map +1 -1
  64. package/dist/components/Icon.vue.d.ts +1 -1
  65. package/dist/components/Icon.vue.d.ts.map +1 -1
  66. package/dist/components/IconLoading/IconLoading.vue.d.ts +1 -1
  67. package/dist/components/ImportCard/ImportCard.vue.d.ts +7 -7
  68. package/dist/components/Input/BaseInput.vue.d.ts +1 -10
  69. package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
  70. package/dist/components/Input/Input.vue.d.ts +27 -182
  71. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  72. package/dist/components/Input/TextInput.vue.d.ts +13 -31
  73. package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +37 -192
  74. package/dist/components/InputNext/InputNext.vue.d.ts +3 -3
  75. package/dist/components/Modal/Modal.vue.d.ts +2 -2
  76. package/dist/components/ModalDialog/ModalDialog.vue.d.ts +10 -10
  77. package/dist/components/ModalDialog/ModalDialog.vue.d.ts.map +1 -1
  78. package/dist/components/ModalNext/ModalNext.vue.d.ts +34 -189
  79. package/dist/components/ModalUpload/ModalUpload.vue.d.ts +14 -14
  80. package/dist/components/MoodRating/MoodRating.vue.d.ts +1 -1
  81. package/dist/components/MultiSelect/MultiSelect.vue.d.ts +7 -7
  82. package/dist/components/Pagination/Pagination.vue.d.ts +6 -6
  83. package/dist/components/ProgressBar/ProgressBar.vue.d.ts +1 -1
  84. package/dist/components/Radio/Radio.vue.d.ts +2 -2
  85. package/dist/components/SelectSmart/SelectSmart.vue.d.ts +27 -45
  86. package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +8 -8
  87. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +4 -4
  88. package/dist/components/SelectTime/index.vue.d.ts +13 -31
  89. package/dist/components/Slider/Slider.vue.d.ts +2 -2
  90. package/dist/components/StarRating/StarRating.vue.d.ts +1 -1
  91. package/dist/components/Switch/Switch.vue.d.ts +2 -2
  92. package/dist/components/Tab/Tab.vue.d.ts +2 -2
  93. package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
  94. package/dist/components/TableNext/TablePagination.vue.d.ts +6 -6
  95. package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +1 -1
  96. package/dist/components/Tag/BrandTag.vue.d.ts +2 -2
  97. package/dist/components/Tag/DefaultTag.vue.d.ts +2 -2
  98. package/dist/components/Tag/IndicatorTag.vue.d.ts +2 -2
  99. package/dist/components/Tag/Tag.vue.d.ts +8 -8
  100. package/dist/components/Tag/TagNext.vue.d.ts.map +1 -1
  101. package/dist/components/TextArea/TextArea.vue.d.ts +32 -38
  102. package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
  103. package/dist/components/ToolTip/ToolTip.vue.d.ts +1 -1
  104. package/dist/components/Tour/Tour.vue.d.ts +6 -6
  105. package/dist/components/Tour/TourPopover.vue.d.ts +6 -6
  106. package/dist/components/UploadArea/UploadArea.vue.d.ts +7 -7
  107. package/dist/components/index.d.ts +890 -2158
  108. package/dist/components/index.d.ts.map +1 -1
  109. package/dist/{es-a147ef18.mjs → es-b3e51efa.js} +1 -1
  110. package/dist/{index-802ab669.mjs → index-b9e3c5e9.js} +7649 -7812
  111. package/dist/{pt-br-cdc64aa4.mjs → pt-br-20887b32.js} +1 -1
  112. package/dist/style.css +1 -1
  113. package/dist/unnnic.js +182 -0
  114. package/dist/{unnnic.umd.js → unnnic.umd.cjs} +41 -42
  115. package/package.json +10 -9
  116. package/src/assets/icons/script-to-convert-svg-to-vue.js +4 -7
  117. package/src/components/AudioRecorder/AudioRecorder.vue +3 -2
  118. package/src/components/Button/Button.vue +109 -58
  119. package/src/components/Button/__tests__/Button.spec.js +2 -2
  120. package/src/components/Button/types.ts +2 -1
  121. package/src/components/Card/Card.vue +4 -1
  122. package/src/components/ChartMultiLine/Line/Line.vue +2 -1
  123. package/src/components/ChatsContact/ChatsContact.vue +1 -1
  124. package/src/components/ChatsHeader/ChatsHeader.vue +4 -2
  125. package/src/components/ChatsMessage/ChatsMessageText.vue +5 -5
  126. package/src/components/Chip/Chip.vue +62 -57
  127. package/src/components/Chip/__tests__/Chip.spec.js +18 -18
  128. package/src/components/DataTable/index.vue +8 -5
  129. package/src/components/DatePicker/DatePicker.vue +29 -16
  130. package/src/components/Drawer/Drawer.vue +4 -1
  131. package/src/components/Drawer/__tests__/Drawer.spec.js +9 -3
  132. package/src/components/DropArea/DropArea.vue +1 -1
  133. package/src/components/Dropdown/__tests__/Dropdown.spec.js +17 -17
  134. package/src/components/EmojiPicker/EmojiPicker.vue +57 -48
  135. package/src/components/EmojiPicker/__tests__/EmojiPicker.spec.js +84 -23
  136. package/src/components/Flag.vue +0 -1
  137. package/src/components/FormElement/FormElement.vue +91 -51
  138. package/src/components/Icon/types.ts +2 -2
  139. package/src/components/Icon.vue +3 -1
  140. package/src/components/Input/BaseInput.vue +12 -10
  141. package/src/components/Input/Input.scss +20 -17
  142. package/src/components/Input/Input.vue +28 -86
  143. package/src/components/Input/TextInput.vue +35 -27
  144. package/src/components/Input/__test__/TextInput.spec.js +5 -5
  145. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +3 -12
  146. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +1 -1
  147. package/src/components/InputDatePicker/InputDatePicker.vue +1 -1
  148. package/src/components/Label/Label.vue +2 -2
  149. package/src/components/ModalDialog/ModalDialog.vue +29 -27
  150. package/src/components/ModalDialog/__tests__/__snapshots__/ModalDialog.spec.js.snap +1 -1
  151. package/src/components/ModalNext/ModalNext.vue +2 -2
  152. package/src/components/SelectSmart/SelectSmart.vue +15 -4
  153. package/src/components/SelectSmart/__tests__/SelectSmart.spec.js +2 -2
  154. package/src/components/Switch/__tests__/Switch.spec.js +6 -2
  155. package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +2 -2
  156. package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +2 -2
  157. package/src/components/Tag/TagNext.vue +2 -8
  158. package/src/components/TextArea/TextArea.vue +9 -14
  159. package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +2 -7
  160. package/src/components/Tour/TourPopover.vue +1 -1
  161. package/src/components/__tests__/Icon.spec.js +2 -2
  162. package/src/components/index.ts +88 -96
  163. package/src/index.ts +1 -1
  164. package/src/main.ts +1 -1
  165. package/src/stories/Button.stories.js +11 -2
  166. package/src/stories/ChatsHeader.stories.js +1 -1
  167. package/src/stories/ChatsMessage.stories.js +0 -1
  168. package/src/stories/Chip.stories.js +7 -4
  169. package/src/stories/Input.stories.js +3 -17
  170. package/src/stories/SelectSmart.stories.js +1 -1
  171. package/src/stories/TableNext.stories.js +1 -1
  172. package/src/types/index.d.ts +2 -2
  173. package/src/types/scheme-colors.d.ts +1 -2
  174. package/src/types/unnnic-utils.d.ts +87 -87
  175. package/src/types/vue-shims.d.ts +1 -1
  176. package/src/types/vueuse-overrides.d.ts +2 -2
  177. package/src/utils/plugins/i18n.js +0 -1
  178. package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts +0 -9
  179. package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts.map +0 -1
  180. package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts +0 -15
  181. package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts.map +0 -1
  182. package/dist/unnnic.mjs +0 -186
  183. package/src/assets/img/previews/doc-preview.png +0 -0
  184. package/src/assets/img/previews/image-preview.png +0 -0
  185. package/src/assets/img/previews/video-preview.png +0 -0
  186. package/src/components/TemplatePreview/TemplatePreview.vue +0 -249
  187. package/src/components/TemplatePreview/TemplatePreviewModal.vue +0 -51
  188. package/src/components/TemplatePreview/types.d.ts +0 -16
  189. package/src/stories/TemplatePreview.stories.js +0 -94
  190. package/src/stories/TemplatePreviewModal.stories.js +0 -110
@@ -6,18 +6,13 @@
6
6
  >
7
7
  <slot name="label" />
8
8
  </p>
9
- <section
9
+
10
+ <p
10
11
  v-else-if="label"
11
12
  class="unnnic-form__label"
12
13
  >
13
- <p>
14
- {{ fullySanitize(label) }}
15
- </p>
16
- <UnnnicToolTip v-if="tooltip" enabled :text="tooltip">
17
- <UnnnicIcon icon="help" size="sm" scheme="fg-base" />
18
- </UnnnicToolTip>
19
- </section>
20
-
14
+ {{ fullySanitize(label) }}
15
+ </p>
21
16
 
22
17
  <TextInput
23
18
  v-bind="$attrs"
@@ -33,38 +28,24 @@
33
28
  :size="size"
34
29
  :mask="mask"
35
30
  :nativeType="nativeType"
36
- :maxlength="maxlength"
37
- :disabled="disabled"
38
31
  />
39
32
 
40
- <section class="unnnic-form__hints-container">
41
- <section class="unnnic-form__message-container">
42
- <p
43
- v-if="message"
44
- class="unnnic-form__message"
45
- >
46
- {{ fullySanitize(message) }}
47
- </p>
48
- <p v-if="!!errors.length" class="unnnic-form__message error">
49
- {{ Array.isArray(errors) ? errors.join(', ') : errors }}
50
- </p>
51
- </section>
52
- <p v-if="maxlength && showMaxlengthCounter">
53
- {{ (val || '').length }} / {{ maxlength }}
54
- </p>
55
- </section>
33
+ <p
34
+ v-if="message"
35
+ class="unnnic-form__message"
36
+ >
37
+ {{ fullySanitize(message) }}
38
+ </p>
56
39
  </div>
57
40
  </template>
58
41
 
59
42
  <script>
60
43
  import { fullySanitize } from '../../utils/sanitize';
61
44
  import TextInput from './TextInput.vue';
62
- import UnnnicToolTip from '../ToolTip/ToolTip.vue';
63
- import UnnnicIcon from '../Icon.vue';
64
45
 
65
46
  export default {
66
47
  name: 'UnnnicInput',
67
- components: { TextInput, UnnnicToolTip, UnnnicIcon },
48
+ components: { TextInput },
68
49
  props: {
69
50
  placeholder: {
70
51
  type: String,
@@ -87,23 +68,19 @@ export default {
87
68
  },
88
69
  message: {
89
70
  type: String,
90
- default: '',
91
- },
92
- errors: {
93
- type: [String, Array],
94
- default: '',
71
+ default: null,
95
72
  },
96
73
  label: {
97
74
  type: String,
98
- default: '',
75
+ default: null,
99
76
  },
100
77
  iconLeft: {
101
78
  type: String,
102
- default: '',
79
+ default: null,
103
80
  },
104
81
  iconRight: {
105
82
  type: String,
106
- default: '',
83
+ default: null,
107
84
  },
108
85
  allowTogglePassword: {
109
86
  type: Boolean,
@@ -111,11 +88,11 @@ export default {
111
88
  },
112
89
  iconLeftClickable: {
113
90
  type: Boolean,
114
- default: false,
91
+ default: null,
115
92
  },
116
93
  iconRightClickable: {
117
94
  type: Boolean,
118
- default: false,
95
+ default: null,
119
96
  },
120
97
  hasCloudyColor: {
121
98
  type: Boolean,
@@ -129,22 +106,6 @@ export default {
129
106
  type: [String, Array],
130
107
  default: '',
131
108
  },
132
- tooltip: {
133
- type: String,
134
- default: '',
135
- },
136
- maxlength: {
137
- type: [Number, null],
138
- default: null,
139
- },
140
- showMaxlengthCounter: {
141
- type: Boolean,
142
- default: false,
143
- },
144
- disabled: {
145
- type: Boolean,
146
- default: false,
147
- },
148
109
  },
149
110
  emits: ['update:modelValue'],
150
111
  data() {
@@ -177,46 +138,27 @@ export default {
177
138
  <style lang="scss" scoped>
178
139
  @use '@/assets/scss/unnnic' as *;
179
140
 
180
- * {
181
- margin: 0;
182
- padding: 0;
183
- box-sizing: border-box;
184
- }
185
-
186
141
  .unnnic-form {
142
+ font-family: $unnnic-font-family-secondary;
187
143
  position: relative;
188
144
 
189
145
  &__message {
190
- &.error {
191
- color: $unnnic-color-fg-critical;
192
- }
146
+ font-size: $unnnic-font-size-body-md;
147
+ margin: $unnnic-spacing-stack-nano 0;
148
+ color: $unnnic-color-feedback-red;
193
149
  }
194
150
 
195
151
  &__label {
196
- font: $unnnic-font-body;
152
+ font-weight: $unnnic-font-weight-regular;
153
+ line-height: $unnnic-font-size-body-gt + $unnnic-line-height-medium;
154
+ font-size: $unnnic-font-size-body-gt;
197
155
  color: $unnnic-color-neutral-cloudy;
198
- margin-bottom: $unnnic-space-1;
199
- display: flex;
200
- align-items: center;
201
- gap: $unnnic-space-2;
202
-
203
- :deep(.unnnic-tooltip) {
204
- display: flex;
205
- }
206
- }
207
-
208
- &__hints-container {
209
- display: flex;
210
- justify-content: space-between;
211
- margin-top: $unnnic-space-1;
212
- font: $unnnic-font-caption-2;
213
- color: $unnnic-color-fg-base;
156
+ margin: $unnnic-spacing-stack-xs 0;
214
157
  }
215
158
 
216
- &__message-container {
217
- display: flex;
218
- flex-direction: column;
219
- gap: $unnnic-space-1;
159
+ &.sm &__label {
160
+ font-size: $unnnic-font-size-body-md;
161
+ line-height: $unnnic-font-size-body-md + $unnnic-line-height-medium;
220
162
  }
221
163
  }
222
164
  </style>
@@ -3,6 +3,7 @@
3
3
  :class="[
4
4
  'text-input',
5
5
  `size--${size}`,
6
+ `text-input--icon-right-size-${iconRightSize}`,
6
7
  ]"
7
8
  >
8
9
  <BaseInput
@@ -17,7 +18,6 @@
17
18
  class="input-itself"
18
19
  :hasIconLeft="!!iconLeft"
19
20
  :hasIconRight="!!iconRight || allowTogglePassword"
20
- :maxlength="maxlength"
21
21
  @focus="onFocus"
22
22
  @blur="onBlur"
23
23
  />
@@ -26,7 +26,7 @@
26
26
  v-if="iconLeft"
27
27
  :scheme="iconScheme"
28
28
  :icon="iconLeft"
29
- size="ant"
29
+ size="sm"
30
30
  :clickable="iconLeftClickable"
31
31
  :class="['icon-left', { clickable: iconLeftClickable }]"
32
32
  @click="onIconLeftClick"
@@ -36,7 +36,7 @@
36
36
  v-if="iconRightSvg"
37
37
  :scheme="iconScheme"
38
38
  :icon="iconRightSvg"
39
- size="ant"
39
+ :size="iconRightSize"
40
40
  :clickable="iconRightClickable || allowTogglePassword"
41
41
  :class="[
42
42
  'icon-right',
@@ -92,6 +92,10 @@ export default {
92
92
  type: Boolean,
93
93
  default: null,
94
94
  },
95
+ iconRightSize: {
96
+ type: String,
97
+ default: 'sm',
98
+ },
95
99
  allowTogglePassword: {
96
100
  type: Boolean,
97
101
  default: null,
@@ -104,14 +108,6 @@ export default {
104
108
  type: String,
105
109
  default: 'md',
106
110
  },
107
- maxlength: {
108
- type: Number,
109
- default: null,
110
- },
111
- disabled: {
112
- type: Boolean,
113
- default: false,
114
- },
115
111
  },
116
112
  emits: ['icon-left-click', 'icon-right-click'],
117
113
  data() {
@@ -122,7 +118,7 @@ export default {
122
118
  },
123
119
  computed: {
124
120
  isDisabled() {
125
- return this.$attrs.disabled || this.disabled;
121
+ return this.$attrs.disabled;
126
122
  },
127
123
 
128
124
  iconRightSvg() {
@@ -135,22 +131,22 @@ export default {
135
131
 
136
132
  iconScheme() {
137
133
  if (this.type === 'error') {
138
- return 'fg-critical';
134
+ return 'aux-red-500';
139
135
  }
140
136
 
141
137
  if (this.isDisabled) {
142
- return 'fg-muted';
138
+ return 'neutral-cleanest';
143
139
  }
144
140
 
145
141
  if (this.modelValue || this.isFocused) {
146
- return 'color-gray-700';
142
+ return 'neutral-dark';
147
143
  }
148
144
 
149
145
  if (this.hasCloudyColor) {
150
- return 'fg-base';
146
+ return 'neutral-cloudy';
151
147
  }
152
148
 
153
- return 'fg-base';
149
+ return 'neutral-cloudy';
154
150
  },
155
151
 
156
152
  attributes() {
@@ -187,10 +183,6 @@ export default {
187
183
  <style lang="scss" scoped>
188
184
  @use '@/assets/scss/unnnic' as *;
189
185
 
190
- .text-input {
191
- position: relative;
192
- }
193
-
194
186
  .icon {
195
187
  &-left,
196
188
  &-right {
@@ -201,16 +193,32 @@ export default {
201
193
 
202
194
  &-left {
203
195
  position: absolute;
204
- top: 50%;
205
- transform: translateY(-50%);
206
- left: $unnnic-space-4;
196
+ top: $unnnic-spacing-ant + 0.1875 * $unnnic-font-size;
197
+ left: $unnnic-inline-sm - $unnnic-border-width-thinner;
207
198
  }
208
199
 
209
200
  &-right {
210
201
  position: absolute;
211
- top: 50%;
212
- transform: translateY(-50%);
213
- right: $unnnic-space-4;
202
+ top: $unnnic-spacing-ant + 0.1875 * $unnnic-font-size;
203
+ right: $unnnic-inline-sm - $unnnic-border-width-thinner;
204
+ }
205
+ }
206
+ .text-input {
207
+ position: relative;
208
+
209
+ &.size--sm {
210
+ .icon-left,
211
+ .icon-right {
212
+ top: $unnnic-spacing-xs + 0.125 * $unnnic-font-size;
213
+ }
214
+ }
215
+
216
+ &.size--sm.text-input--icon-right-size-ant .icon-right {
217
+ top: 0.5625 * $unnnic-font-size;
218
+ }
219
+
220
+ &.size--md.text-input--icon-right-size-ant .icon-right {
221
+ top: 0.8125 * $unnnic-font-size;
214
222
  }
215
223
  }
216
224
  </style>
@@ -74,22 +74,22 @@ describe('TextInput.vue', () => {
74
74
 
75
75
  test('computes the correct iconScheme based on various states', async () => {
76
76
  await wrapper.setProps({ type: 'error' });
77
- expect(wrapper.vm.iconScheme).toBe('fg-critical');
77
+ expect(wrapper.vm.iconScheme).toBe('aux-red-500');
78
78
 
79
79
  await wrapper.setProps({ type: 'normal' });
80
80
  await wrapper.setData({ isDisabled: true });
81
- expect(wrapper.vm.iconScheme).toBe('fg-base');
81
+ expect(wrapper.vm.iconScheme).toBe('neutral-cloudy');
82
82
 
83
83
  await wrapper.setData({ isDisabled: false });
84
84
  await wrapper.setProps({ modelValue: 'text' });
85
- expect(wrapper.vm.iconScheme).toBe('color-gray-700');
85
+ expect(wrapper.vm.iconScheme).toBe('neutral-dark');
86
86
 
87
87
  await wrapper.setData({ isFocused: true });
88
- expect(wrapper.vm.iconScheme).toBe('color-gray-700');
88
+ expect(wrapper.vm.iconScheme).toBe('neutral-dark');
89
89
 
90
90
  await wrapper.setProps({ hasCloudyColor: true, modelValue: '' });
91
91
  await wrapper.setData({ isFocused: false });
92
- expect(wrapper.vm.iconScheme).toBe('fg-base');
92
+ expect(wrapper.vm.iconScheme).toBe('neutral-cloudy');
93
93
  });
94
94
 
95
95
  test('attributes computed property returns combined attributes and props', () => {
@@ -2,17 +2,8 @@
2
2
 
3
3
  exports[`Input.vue > matches the snapshot 1`] = `
4
4
  "<div data-v-d890ad85="" class="unnnic-form md">
5
- <section data-v-d890ad85="" class="unnnic-form__label">
6
- <p data-v-d890ad85="">Sample Label</p>
7
- <!--v-if-->
8
- </section>
9
- <div data-v-a0d36167="" data-v-d890ad85="" class="text-input size--md unnnic-form-input" mask="####-####"><input data-v-86533b41="" data-v-a0d36167="" class="unnnic-form-input input-itself input size-md normal input--has-icon-left input--has-icon-right unnnic-form-input input-itself" placeholder="Enter text" iconleft="search" iconright="clear" iconleftclickable="true" iconrightclickable="true" hascloudycolor="false" type="text" value=""><span data-v-26446d8e="" data-v-a0d36167="" class="material-symbols-rounded unnnic-icon-scheme--fg-base unnnic-icon-size--ant unnnic--clickable icon-left clickable" data-testid="material-icon" translate="no">search</span><span data-v-26446d8e="" data-v-a0d36167="" class="material-symbols-rounded unnnic-icon-scheme--fg-base unnnic-icon-size--ant unnnic--clickable icon-right clickable" data-testid="material-icon" translate="no">clear</span></div>
10
- <section data-v-d890ad85="" class="unnnic-form__hints-container">
11
- <section data-v-d890ad85="" class="unnnic-form__message-container">
12
- <p data-v-d890ad85="" class="unnnic-form__message">Error message</p>
13
- <!--v-if-->
14
- </section>
15
- <!--v-if-->
16
- </section>
5
+ <p data-v-d890ad85="" class="unnnic-form__label">Sample Label</p>
6
+ <div data-v-a0d36167="" data-v-d890ad85="" class="text-input size--md text-input--icon-right-size-sm unnnic-form-input" mask="####-####"><input data-v-86533b41="" data-v-a0d36167="" class="unnnic-form-input input-itself input size-md normal input--has-icon-left input--has-icon-right unnnic-form-input input-itself" placeholder="Enter text" iconleft="search" iconright="clear" iconleftclickable="true" iconrightclickable="true" iconrightsize="sm" hascloudycolor="false" type="text" value=""><span data-v-26446d8e="" data-v-a0d36167="" class="material-symbols-rounded unnnic-icon-scheme--neutral-cloudy unnnic-icon-size--sm unnnic--clickable icon-left clickable" data-testid="material-icon" translate="no">search</span><span data-v-26446d8e="" data-v-a0d36167="" class="material-symbols-rounded unnnic-icon-scheme--neutral-cloudy unnnic-icon-size--sm unnnic--clickable icon-right clickable" data-testid="material-icon" translate="no">clear</span></div>
7
+ <p data-v-d890ad85="" class="unnnic-form__message">Error message</p>
17
8
  </div>"
18
9
  `;
@@ -1,3 +1,3 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
- exports[`TextInput.vue > matches the snapshot 1`] = `"<div data-v-a0d36167="" class="text-input size--md"><input data-v-86533b41="" data-v-a0d36167="" placeholder="Enter text" iconleft="search" iconright="clear" iconleftclickable="true" iconrightclickable="true" allowtogglepassword="false" hascloudycolor="false" class="input-itself input size-md normal input--has-icon-left input--has-icon-right input-itself" type="text" value=""><span data-v-26446d8e="" data-v-a0d36167="" class="material-symbols-rounded unnnic-icon-scheme--fg-base unnnic-icon-size--ant unnnic--clickable icon-left clickable" data-testid="material-icon" translate="no">search</span><span data-v-26446d8e="" data-v-a0d36167="" class="material-symbols-rounded unnnic-icon-scheme--fg-base unnnic-icon-size--ant unnnic--clickable icon-right clickable" data-testid="material-icon" translate="no">clear</span></div>"`;
3
+ exports[`TextInput.vue > matches the snapshot 1`] = `"<div data-v-a0d36167="" class="text-input size--md text-input--icon-right-size-sm"><input data-v-86533b41="" data-v-a0d36167="" placeholder="Enter text" iconleft="search" iconright="clear" iconleftclickable="true" iconrightclickable="true" iconrightsize="sm" allowtogglepassword="false" hascloudycolor="false" class="input-itself input size-md normal input--has-icon-left input--has-icon-right input-itself" type="text" value=""><span data-v-26446d8e="" data-v-a0d36167="" class="material-symbols-rounded unnnic-icon-scheme--neutral-cloudy unnnic-icon-size--sm unnnic--clickable icon-left clickable" data-testid="material-icon" translate="no">search</span><span data-v-26446d8e="" data-v-a0d36167="" class="material-symbols-rounded unnnic-icon-scheme--neutral-cloudy unnnic-icon-size--sm unnnic--clickable icon-right clickable" data-testid="material-icon" translate="no">clear</span></div>"`;
@@ -20,6 +20,7 @@
20
20
  >
21
21
  <UnnnicDatePicker
22
22
  v-if="showCalendarFilter"
23
+ v-model:equivalentOption="overwrittenValue"
23
24
  :type="type"
24
25
  :clearLabel="clearText"
25
26
  :actionLabel="actionText"
@@ -31,7 +32,6 @@
31
32
  :minDate="minDate"
32
33
  :maxDate="maxDate"
33
34
  :disableClear="disableClear"
34
- v-model:equivalentOption="overwrittenValue"
35
35
  @change="emitSelectDate"
36
36
  @submit="changeDate"
37
37
  />
@@ -13,8 +13,8 @@ export default {
13
13
  },
14
14
  },
15
15
  methods: {
16
- fullySanitize
17
- }
16
+ fullySanitize,
17
+ },
18
18
  };
19
19
  </script>
20
20
 
@@ -24,7 +24,10 @@
24
24
  </section>
25
25
 
26
26
  <section class="unnnic-modal-dialog__container__body">
27
- <header v-if="title" class="unnnic-modal-dialog__container__header">
27
+ <header
28
+ v-if="title"
29
+ class="unnnic-modal-dialog__container__header"
30
+ >
28
31
  <section class="unnnic-modal-dialog__container__title-container">
29
32
  <UnnnicIcon
30
33
  v-if="icon || type"
@@ -46,7 +49,6 @@
46
49
  data-testid="close-icon"
47
50
  icon="close"
48
51
  clickable
49
- scheme="neutral-cloudy"
50
52
  @click="close()"
51
53
  />
52
54
  </header>
@@ -96,12 +98,12 @@
96
98
  </template>
97
99
 
98
100
  <script>
99
- import UnnnicIcon from "../Icon.vue";
100
- import UnnnicButton from "../Button/Button.vue";
101
- import UnnnicI18n from "../../mixins/i18n";
101
+ import UnnnicIcon from '../Icon.vue';
102
+ import UnnnicButton from '../Button/Button.vue';
103
+ import UnnnicI18n from '../../mixins/i18n';
102
104
 
103
105
  export default {
104
- name: "UnnnicModalDialog",
106
+ name: 'UnnnicModalDialog',
105
107
  components: {
106
108
  UnnnicIcon,
107
109
  UnnnicButton,
@@ -118,29 +120,29 @@ export default {
118
120
  },
119
121
  type: {
120
122
  type: String,
121
- default: "",
123
+ default: '',
122
124
  validate(type) {
123
- return ["success", "warning", "attention"].includes(type);
125
+ return ['success', 'warning', 'attention'].includes(type);
124
126
  },
125
127
  },
126
128
  size: {
127
129
  type: String,
128
- default: "md",
130
+ default: 'md',
129
131
  validate(size) {
130
- return ["sm", "md", "lg"].includes(size);
132
+ return ['sm', 'md', 'lg'].includes(size);
131
133
  },
132
134
  },
133
135
  title: {
134
136
  type: String,
135
- default: "",
137
+ default: '',
136
138
  },
137
139
  icon: {
138
140
  type: String,
139
- default: "",
141
+ default: '',
140
142
  },
141
143
  iconScheme: {
142
144
  type: String,
143
- default: "",
145
+ default: '',
144
146
  },
145
147
  showCloseIcon: {
146
148
  type: Boolean,
@@ -163,26 +165,26 @@ export default {
163
165
  default: () => ({}),
164
166
  },
165
167
  },
166
- emits: ["primaryButtonClick", "secondaryButtonClick", "update:modelValue"],
168
+ emits: ['primaryButtonClick', 'secondaryButtonClick', 'update:modelValue'],
167
169
 
168
170
  data() {
169
171
  return {
170
172
  defaultTranslations: {
171
173
  cancel: {
172
- "pt-br": "Cancelar",
173
- en: "Cancel",
174
- es: "Cancelar",
174
+ 'pt-br': 'Cancelar',
175
+ en: 'Cancel',
176
+ es: 'Cancelar',
175
177
  },
176
178
  },
177
179
  iconsMapper: {
178
- success: { icon: "check_circle", scheme: "aux-green-500" },
179
- warning: { icon: "warning", scheme: "aux-red-500" },
180
- attention: { icon: "error", scheme: "aux-yellow-500" },
180
+ success: { icon: 'check_circle', scheme: 'aux-green-500' },
181
+ warning: { icon: 'warning', scheme: 'aux-red-500' },
182
+ attention: { icon: 'error', scheme: 'aux-yellow-500' },
181
183
  },
182
184
  primaryButtonTypeMapper: {
183
- success: "primary",
184
- warning: "warning",
185
- attention: "attention",
185
+ success: 'primary',
186
+ warning: 'warning',
187
+ attention: 'attention',
186
188
  },
187
189
  };
188
190
  },
@@ -193,17 +195,17 @@ export default {
193
195
  },
194
196
  methods: {
195
197
  close() {
196
- this.$emit("update:modelValue", false);
198
+ this.$emit('update:modelValue', false);
197
199
  },
198
200
  updateBodyOverflow(isHidden) {
199
- document.body.style.overflow = isHidden ? "hidden" : "";
201
+ document.body.style.overflow = isHidden ? 'hidden' : '';
200
202
  },
201
203
  },
202
204
  };
203
205
  </script>
204
206
 
205
207
  <style lang="scss" scoped>
206
- @use "@/assets/scss/unnnic" as *;
208
+ @use '@/assets/scss/unnnic' as *;
207
209
  * {
208
210
  margin: 0;
209
211
  padding: 0;
@@ -310,7 +312,7 @@ export default {
310
312
  &__actions {
311
313
  display: grid;
312
314
  grid-template-columns: 1fr 1fr;
313
- grid-template-areas: "secondary-button primary-button";
315
+ grid-template-areas: 'secondary-button primary-button';
314
316
  gap: $unnnic-spacing-sm;
315
317
  padding: $unnnic-spacing-md;
316
318
  flex-shrink: 0;
@@ -11,7 +11,7 @@ exports[`ModalDialog.vue > Elements rendering > matches the snapshot 1`] = `
11
11
  <unnnic-icon-stub data-v-68ebadeb="" filled="false" next="false" icon="test-icon" clickable="false" size="md" scheme="neutral-darkest" data-testid="title-icon" class="unnnic-modal-dialog__container__title-icon"></unnnic-icon-stub>
12
12
  <h1 data-v-68ebadeb="" class="unnnic-modal-dialog__container__title-text" data-testid="title-text">Test Title</h1>
13
13
  </section>
14
- <unnnic-icon-stub data-v-68ebadeb="" filled="false" next="false" icon="close" clickable="true" size="md" scheme="neutral-cloudy" data-testid="close-icon"></unnnic-icon-stub>
14
+ <unnnic-icon-stub data-v-68ebadeb="" filled="false" next="false" icon="close" clickable="true" size="md" scheme="neutral-darkest" data-testid="close-icon"></unnnic-icon-stub>
15
15
  </header>
16
16
  <section data-v-68ebadeb="" class="unnnic-modal-dialog__container__content"></section>
17
17
  <section data-v-68ebadeb="" data-testid="actions-section" class="unnnic-modal-dialog__container__actions">
@@ -90,7 +90,7 @@
90
90
  v-if="$slots.description?.().length"
91
91
  name="description"
92
92
  >
93
- </slot>
93
+ </slot>
94
94
 
95
95
  <template v-else>{{ description }}</template>
96
96
  </div>
@@ -158,7 +158,7 @@ import UnnnicInput from '../Input/Input.vue';
158
158
  import UnnnicButton from '../Button/Button.vue';
159
159
 
160
160
  export default {
161
- name: "UnnnicModalNext",
161
+ name: 'UnnnicModalNext',
162
162
  components: {
163
163
  UnnnicIcon,
164
164
  UnnnicInput,
@@ -214,7 +214,12 @@ export default {
214
214
  },
215
215
  },
216
216
 
217
- emits: ['update:searchValue', 'onChange', 'update:modelValue', 'onActiveChange'],
217
+ emits: [
218
+ 'update:searchValue',
219
+ 'onChange',
220
+ 'update:modelValue',
221
+ 'onActiveChange',
222
+ ],
218
223
 
219
224
  data() {
220
225
  return {
@@ -383,11 +388,18 @@ export default {
383
388
  return;
384
389
  }
385
390
 
386
- if(this.multiple && option.disableRemove && this.optionIsSelected(option)) {
391
+ if (
392
+ this.multiple &&
393
+ option.disableRemove &&
394
+ this.optionIsSelected(option)
395
+ ) {
387
396
  return;
388
397
  }
389
398
 
390
- if (this.multipleLimit && this.modelValue.length >= this.multipleLimit) {
399
+ if (
400
+ this.multipleLimit &&
401
+ this.modelValue.length >= this.multipleLimit
402
+ ) {
391
403
  return;
392
404
  }
393
405
 
@@ -561,7 +573,6 @@ export default {
561
573
  const focusedOptionIndex = this.getOptionIndex('focused');
562
574
  let newIndex;
563
575
 
564
- // eslint-disable-next-line default-case
565
576
  switch (key) {
566
577
  case 'Escape':
567
578
  this.active = false;
@@ -260,14 +260,14 @@ describe('SelectSmart.vue', () => {
260
260
  it('should emit onActiveChange when toggling dropdown visibility', async () => {
261
261
  // Open dropdown
262
262
  await input().trigger('click');
263
-
263
+
264
264
  // Close dropdown
265
265
  await input().trigger('click');
266
266
 
267
267
  const emittedEvents = wrapper.emitted('onActiveChange');
268
268
  expect(emittedEvents).toBeTruthy();
269
269
  expect(emittedEvents.length).toBe(2);
270
- expect(emittedEvents[0][0]).toBe(true); // opened
270
+ expect(emittedEvents[0][0]).toBe(true); // opened
271
271
  expect(emittedEvents[1][0]).toBe(false); // closed
272
272
  });
273
273
 
@@ -61,10 +61,14 @@ describe('Switch', () => {
61
61
 
62
62
  it('should render the correct icon size based on the size prop', async () => {
63
63
  await wrapper.setProps({ size: 'small' });
64
- expect(wrapper.findComponent({ name: 'UnnnicIcon' }).props('size')).toBe('sm');
64
+ expect(wrapper.findComponent({ name: 'UnnnicIcon' }).props('size')).toBe(
65
+ 'sm',
66
+ );
65
67
 
66
68
  await wrapper.setProps({ size: 'medium' });
67
- expect(wrapper.findComponent({ name: 'UnnnicIcon' }).props('size')).toBe('md');
69
+ expect(wrapper.findComponent({ name: 'UnnnicIcon' }).props('size')).toBe(
70
+ 'md',
71
+ );
68
72
  });
69
73
 
70
74
  it('should change the icon color based on the state', async () => {