@weni/unnnic-system 3.2.5-alpha.1 → 3.2.6

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 (166) hide show
  1. package/CHANGELOG.md +47 -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 +16 -7
  31. package/dist/components/CardInformation/CardInformation.vue.d.ts +4 -4
  32. package/dist/components/CardProject/CardProject.vue.d.ts +11 -2
  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/ChatsNavbar/ChatsNavbar.vue.d.ts +1 -1
  45. package/dist/components/ChatsUserAvatar/ChatsUserAvatar.vue.d.ts +2 -2
  46. package/dist/components/Checkbox/Checkbox.vue.d.ts +3 -3
  47. package/dist/components/Chip/Chip.vue.d.ts +8 -0
  48. package/dist/components/Chip/Chip.vue.d.ts.map +1 -0
  49. package/dist/components/Chip/types.d.ts +9 -0
  50. package/dist/components/Chip/types.d.ts.map +1 -0
  51. package/dist/components/Comment/Comment.vue.d.ts +1 -1
  52. package/dist/components/DataArea/DataArea.vue.d.ts +2 -2
  53. package/dist/components/DataTable/index.vue.d.ts +1 -1
  54. package/dist/components/DataTable/index.vue.d.ts.map +1 -1
  55. package/dist/components/DateFilter/DateFilter.vue.d.ts +27 -182
  56. package/dist/components/DatePicker/DatePicker.vue.d.ts +8 -8
  57. package/dist/components/Disclaimer/types.d.ts +1 -1
  58. package/dist/components/Disclaimer/types.d.ts.map +1 -1
  59. package/dist/components/Drawer/Drawer.vue.d.ts +7 -7
  60. package/dist/components/DropArea/DropArea.vue.d.ts +0 -2
  61. package/dist/components/DropArea/DropArea.vue.d.ts.map +1 -1
  62. package/dist/components/Dropdown/Dropdown.vue.d.ts +9 -0
  63. package/dist/components/Dropdown/LanguageSelect.vue.d.ts +3 -3
  64. package/dist/components/Flag.vue.d.ts +2 -2
  65. package/dist/components/FormElement/FormElement.vue.d.ts +32 -38
  66. package/dist/components/FormElement/FormElement.vue.d.ts.map +1 -1
  67. package/dist/components/Icon/types.d.ts +2 -1
  68. package/dist/components/Icon/types.d.ts.map +1 -1
  69. package/dist/components/Icon.vue.d.ts +3 -2
  70. package/dist/components/Icon.vue.d.ts.map +1 -1
  71. package/dist/components/IconLoading/IconLoading.vue.d.ts +1 -1
  72. package/dist/components/ImportCard/ImportCard.vue.d.ts +7 -7
  73. package/dist/components/Input/BaseInput.vue.d.ts +1 -10
  74. package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
  75. package/dist/components/Input/Input.vue.d.ts +27 -182
  76. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  77. package/dist/components/Input/TextInput.vue.d.ts +13 -31
  78. package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +37 -192
  79. package/dist/components/InputNext/InputNext.vue.d.ts +3 -3
  80. package/dist/components/Modal/Modal.vue.d.ts +2 -2
  81. package/dist/components/ModalDialog/ModalDialog.vue.d.ts +10 -10
  82. package/dist/components/ModalDialog/ModalDialog.vue.d.ts.map +1 -1
  83. package/dist/components/ModalNext/ModalNext.vue.d.ts +34 -189
  84. package/dist/components/ModalUpload/ModalUpload.vue.d.ts +14 -20
  85. package/dist/components/MoodRating/MoodRating.vue.d.ts +1 -1
  86. package/dist/components/MultiSelect/MultiSelect.vue.d.ts +7 -7
  87. package/dist/components/Pagination/Pagination.vue.d.ts +6 -6
  88. package/dist/components/ProgressBar/ProgressBar.vue.d.ts +1 -1
  89. package/dist/components/Radio/Radio.vue.d.ts +2 -2
  90. package/dist/components/SelectSmart/SelectSmart.vue.d.ts +28 -45
  91. package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +8 -8
  92. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +4 -4
  93. package/dist/components/SelectTime/index.vue.d.ts +13 -31
  94. package/dist/components/Slider/Slider.vue.d.ts +2 -2
  95. package/dist/components/StarRating/StarRating.vue.d.ts +1 -1
  96. package/dist/components/Switch/Switch.vue.d.ts +2 -2
  97. package/dist/components/Tab/Tab.vue.d.ts +2 -2
  98. package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
  99. package/dist/components/TableNext/TablePagination.vue.d.ts +6 -6
  100. package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +1 -1
  101. package/dist/components/Tag/BrandTag.vue.d.ts +2 -2
  102. package/dist/components/Tag/DefaultTag.vue.d.ts +2 -2
  103. package/dist/components/Tag/IndicatorTag.vue.d.ts +2 -2
  104. package/dist/components/Tag/Tag.vue.d.ts +8 -8
  105. package/dist/components/TextArea/TextArea.vue.d.ts +32 -38
  106. package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
  107. package/dist/components/ToolTip/ToolTip.vue.d.ts +1 -1
  108. package/dist/components/Tour/Tour.vue.d.ts +6 -6
  109. package/dist/components/Tour/TourPopover.vue.d.ts +6 -6
  110. package/dist/components/UploadArea/UploadArea.vue.d.ts +7 -13
  111. package/dist/components/index.d.ts +899 -2193
  112. package/dist/components/index.d.ts.map +1 -1
  113. package/dist/{es-dc7f4ae0.mjs → es-abc8e9a2.mjs} +1 -1
  114. package/dist/{index-93c6d4e1.mjs → index-22520f9b.mjs} +7776 -7910
  115. package/dist/{pt-br-6c72f1f4.mjs → pt-br-a1f8d5de.mjs} +1 -1
  116. package/dist/style.css +1 -1
  117. package/dist/unnnic.mjs +116 -118
  118. package/dist/unnnic.umd.js +41 -42
  119. package/package.json +2 -2
  120. package/src/assets/scss/scheme-colors.scss +132 -0
  121. package/src/assets/scss/unnnic.scss +2 -0
  122. package/src/components/Button/Button.vue +109 -58
  123. package/src/components/Button/types.ts +1 -0
  124. package/src/components/Card/Card.vue +12 -21
  125. package/src/components/Chip/Chip.vue +124 -0
  126. package/src/components/Chip/__tests__/Chip.spec.js +164 -0
  127. package/src/components/Chip/types.ts +8 -0
  128. package/src/components/Disclaimer/types.ts +1 -1
  129. package/src/components/DropArea/DropArea.vue +2 -26
  130. package/src/components/Dropdown/Dropdown.vue +6 -0
  131. package/src/components/Dropdown/__tests__/Dropdown.spec.js +57 -0
  132. package/src/components/FormElement/FormElement.vue +90 -50
  133. package/src/components/Icon/types.ts +4 -95
  134. package/src/components/Icon.vue +3 -98
  135. package/src/components/Input/BaseInput.vue +12 -10
  136. package/src/components/Input/Input.scss +20 -17
  137. package/src/components/Input/Input.vue +28 -86
  138. package/src/components/Input/TextInput.vue +35 -27
  139. package/src/components/Input/__test__/TextInput.spec.js +5 -5
  140. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +3 -12
  141. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +1 -1
  142. package/src/components/ModalDialog/ModalDialog.vue +29 -27
  143. package/src/components/ModalDialog/__tests__/__snapshots__/ModalDialog.spec.js.snap +1 -1
  144. package/src/components/SelectSmart/SelectSmart.vue +3 -1
  145. package/src/components/SelectSmart/__tests__/SelectSmart.spec.js +45 -0
  146. package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +2 -2
  147. package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +2 -2
  148. package/src/components/TextArea/TextArea.vue +9 -14
  149. package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +2 -7
  150. package/src/components/index.ts +7 -12
  151. package/src/stories/Button.stories.js +10 -1
  152. package/src/stories/Chip.stories.js +173 -0
  153. package/src/stories/Input.stories.js +3 -17
  154. package/src/types/scheme-colors.d.ts +102 -0
  155. package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts +0 -9
  156. package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts.map +0 -1
  157. package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts +0 -15
  158. package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts.map +0 -1
  159. package/src/assets/img/previews/doc-preview.png +0 -0
  160. package/src/assets/img/previews/image-preview.png +0 -0
  161. package/src/assets/img/previews/video-preview.png +0 -0
  162. package/src/components/TemplatePreview/TemplatePreview.vue +0 -249
  163. package/src/components/TemplatePreview/TemplatePreviewModal.vue +0 -51
  164. package/src/components/TemplatePreview/types.d.ts +0 -16
  165. package/src/stories/TemplatePreview.stories.js +0 -94
  166. package/src/stories/TemplatePreviewModal.stories.js +0 -110
@@ -40,7 +40,8 @@
40
40
  import { computed } from 'vue';
41
41
  import icons from '../utils/icons';
42
42
  import OldIconsMap from './Icon/OldIconsMap.json';
43
- import type { IconProps, IconSize, LineHeight, SchemeColor } from './Icon/types';
43
+ import type { IconProps, IconSize, LineHeight } from './Icon/types';
44
+ import type { SchemeColor } from '@/types/scheme-colors';
44
45
 
45
46
  defineOptions({
46
47
  name: 'UnnnicIcon',
@@ -95,102 +96,6 @@ const onClick = (event: Event) => {
95
96
  <style lang="scss">
96
97
  @use '@/assets/scss/unnnic' as *;
97
98
 
98
- $scheme-colors:
99
- 'background-solo' $unnnic-color-background-solo,
100
- 'background-sky' $unnnic-color-background-sky,
101
- 'background-grass' $unnnic-color-background-grass,
102
- 'background-carpet' $unnnic-color-background-carpet,
103
- 'background-snow' $unnnic-color-background-snow,
104
- 'background-lightest' $unnnic-color-background-lightest,
105
- 'background-white' $unnnic-color-background-white,
106
- 'neutral-black' $unnnic-color-neutral-black,
107
- 'neutral-darkest' $unnnic-color-neutral-darkest,
108
- 'neutral-dark' $unnnic-color-neutral-dark,
109
- 'neutral-cloudy' $unnnic-color-neutral-cloudy,
110
- 'neutral-cleanest' $unnnic-color-neutral-cleanest,
111
- 'neutral-clean' $unnnic-color-neutral-clean,
112
- 'neutral-soft' $unnnic-color-neutral-soft,
113
- 'neutral-lightest' $unnnic-color-neutral-lightest,
114
- 'neutral-light' $unnnic-color-neutral-light,
115
- 'neutral-white' $unnnic-color-neutral-white,
116
- 'neutral-snow' $unnnic-color-neutral-snow,
117
- 'feedback-red' $unnnic-color-feedback-red,
118
- 'feedback-green' $unnnic-color-feedback-green,
119
- 'feedback-yellow' $unnnic-color-feedback-yellow,
120
- 'feedback-blue' $unnnic-color-feedback-blue,
121
- 'feedback-grey' $unnnic-color-feedback-grey,
122
- 'aux-blue' $unnnic-color-aux-blue,
123
- 'aux-purple' $unnnic-color-aux-purple,
124
- 'aux-orange' $unnnic-color-aux-orange,
125
- 'aux-lemon' $unnnic-color-aux-lemon,
126
- 'aux-pink' $unnnic-color-aux-pink,
127
- 'aux-baby-blue' $unnnic-color-aux-baby-blue,
128
- 'aux-baby-yellow' $unnnic-color-aux-baby-yellow,
129
- 'aux-baby-red' $unnnic-color-aux-baby-red,
130
- 'aux-baby-green' $unnnic-color-aux-baby-green,
131
- 'aux-baby-pink' $unnnic-color-aux-baby-pink,
132
- 'aux-green-100' $unnnic-color-aux-green-100,
133
- 'aux-green-300' $unnnic-color-aux-green-300,
134
- 'aux-green-500' $unnnic-color-aux-green-500,
135
- 'aux-green-700' $unnnic-color-aux-green-700,
136
- 'aux-green-900' $unnnic-color-aux-green-900,
137
- 'aux-blue-100' $unnnic-color-aux-blue-100,
138
- 'aux-blue-300' $unnnic-color-aux-blue-300,
139
- 'aux-blue-500' $unnnic-color-aux-blue-500,
140
- 'aux-blue-700' $unnnic-color-aux-blue-700,
141
- 'aux-blue-900' $unnnic-color-aux-blue-900,
142
- 'aux-purple-100' $unnnic-color-aux-purple-100,
143
- 'aux-purple-300' $unnnic-color-aux-purple-300,
144
- 'aux-purple-500' $unnnic-color-aux-purple-500,
145
- 'aux-purple-700' $unnnic-color-aux-purple-700,
146
- 'aux-purple-900' $unnnic-color-aux-purple-900,
147
- 'aux-red-100' $unnnic-color-aux-red-100,
148
- 'aux-red-300' $unnnic-color-aux-red-300,
149
- 'aux-red-500' $unnnic-color-aux-red-500,
150
- 'aux-red-700' $unnnic-color-aux-red-700,
151
- 'aux-red-900' $unnnic-color-aux-red-900,
152
- 'aux-orange-100' $unnnic-color-aux-orange-100,
153
- 'aux-orange-300' $unnnic-color-aux-orange-300,
154
- 'aux-orange-500' $unnnic-color-aux-orange-500,
155
- 'aux-orange-700' $unnnic-color-aux-orange-700,
156
- 'aux-orange-900' $unnnic-color-aux-orange-900,
157
- 'aux-yellow-100' $unnnic-color-aux-yellow-100,
158
- 'aux-yellow-300' $unnnic-color-aux-yellow-300,
159
- 'aux-yellow-500' $unnnic-color-aux-yellow-500,
160
- 'aux-yellow-700' $unnnic-color-aux-yellow-700,
161
- 'aux-yellow-900' $unnnic-color-aux-yellow-900,
162
- 'fg-base' $unnnic-color-fg-base,
163
- 'fg-emphasized' $unnnic-color-fg-emphasized,
164
- 'fg-muted' $unnnic-color-fg-muted,
165
- 'fg-critical' $unnnic-color-fg-critical,
166
- 'fg-success' $unnnic-color-fg-success,
167
- 'fg-warning' $unnnic-color-fg-warning,
168
- 'fg-info' $unnnic-color-fg-info,
169
- 'floweditor-blue' $unnnic-color-floweditor-blue,
170
- 'floweditor-purple' $unnnic-color-floweditor-purple,
171
- 'floweditor-wine' $unnnic-color-floweditor-wine,
172
- 'floweditor-orange' $unnnic-color-floweditor-orange,
173
- 'floweditor-pink' $unnnic-color-floweditor-pink,
174
- 'floweditor-turquoise' $unnnic-color-floweditor-turquoise,
175
- 'floweditor-green' $unnnic-color-floweditor-green,
176
- 'weni-50' $unnnic-color-weni-50,
177
- 'weni-100' $unnnic-color-weni-100,
178
- 'weni-200' $unnnic-color-weni-200,
179
- 'weni-300' $unnnic-color-weni-300,
180
- 'weni-400' $unnnic-color-weni-400,
181
- 'weni-500' $unnnic-color-weni-500,
182
- 'weni-600' $unnnic-color-weni-600,
183
- 'weni-700' $unnnic-color-weni-700,
184
- 'weni-800' $unnnic-color-weni-800,
185
- 'weni-900' $unnnic-color-weni-900,
186
- 'weni-950' $unnnic-color-weni-950,
187
- 'brand-weni' $unnnic-color-brand-weni,
188
- 'brand-weni-dark' $unnnic-color-brand-weni-dark,
189
- 'brand-weni-soft' $unnnic-color-brand-weni-soft,
190
- 'brand-sec-dark' $unnnic-color-brand-sec-dark,
191
- 'brand-sec-soft' $unnnic-color-brand-sec-soft,
192
- 'brand-sec' $unnnic-color-brand-sec;
193
-
194
99
  $icon-sizes:
195
100
  'xl' $unnnic-icon-size-xl,
196
101
  'lg' $unnnic-icon-size-lg,
@@ -240,7 +145,7 @@ $icon-sizes:
240
145
  font-family: 'Material Symbols Rounded Filled';
241
146
  }
242
147
 
243
- @each $name, $color in $scheme-colors {
148
+ @each $name, $color in $unnnic-scheme-colors {
244
149
  &.unnnic-icon-scheme--#{$name} {
245
150
  color: $color;
246
151
  }
@@ -7,13 +7,13 @@
7
7
  :class="classes"
8
8
  :type="nativeType"
9
9
  />
10
+
10
11
  <input
11
12
  v-else
12
13
  v-bind="attributes"
13
14
  :value="fullySanitize(modelValue)"
14
15
  :class="classes"
15
16
  :type="nativeType"
16
- :maxlength="maxlength"
17
17
  />
18
18
  </template>
19
19
 
@@ -49,10 +49,6 @@ export default {
49
49
  },
50
50
  hasIconLeft: Boolean,
51
51
  hasIconRight: Boolean,
52
- maxlength: {
53
- type: Number,
54
- default: null,
55
- },
56
52
  },
57
53
  emits: ['update:modelValue'],
58
54
  data() {
@@ -100,21 +96,27 @@ export default {
100
96
  &.size {
101
97
  &-md {
102
98
  @include input-md-font;
103
- padding: $unnnic-space-3 $unnnic-space-4;
99
+
100
+ padding: ($unnnic-spacing-ant - $unnnic-border-width-thinner)
101
+ ($unnnic-spacing-sm - $unnnic-border-width-thinner);
104
102
  }
105
103
 
106
104
  &-sm {
107
105
  @include input-sm-font;
108
- padding: $unnnic-space-2 $unnnic-space-4;
106
+
107
+ padding: $unnnic-spacing-xs
108
+ ($unnnic-spacing-sm - $unnnic-border-width-thinner);
109
109
  }
110
110
  }
111
111
 
112
112
  &.input--has-icon-left {
113
- padding-left: $unnnic-space-10;
113
+ padding-left: $unnnic-spacing-sm + $unnnic-icon-size-sm + $unnnic-spacing-xs -
114
+ $unnnic-border-width-thinner;
114
115
  }
115
116
 
116
117
  &.input--has-icon-right {
117
- padding-right: $unnnic-space-10;
118
+ padding-right: $unnnic-spacing-sm + $unnnic-icon-size-sm +
119
+ $unnnic-spacing-xs - $unnnic-border-width-thinner;
118
120
  }
119
121
 
120
122
  &.error {
@@ -124,7 +126,7 @@ export default {
124
126
  &:-ms-input-placeholder,
125
127
  &::-ms-input-placeholder {
126
128
  /* Internet Explorer 10-11 */
127
- color: $unnnic-color-fg-muted;
129
+ color: $unnnic-color-brand-sec;
128
130
  }
129
131
  }
130
132
  </style>
@@ -1,40 +1,43 @@
1
1
  @use '@/assets/scss/unnnic' as *;
2
2
 
3
3
  @mixin input-base {
4
- background: $unnnic-color-white;
5
- border: $unnnic-border-width-thinner solid $unnnic-color-border-base;
4
+ background: $unnnic-color-neutral-white;
5
+ border: $unnnic-border-width-thinner solid $unnnic-color-neutral-clean;
6
6
  outline: none;
7
- border-radius: $unnnic-radius-2;
8
- color: $unnnic-color-fg-emphasized;
9
- caret-color: $unnnic-color-fg-muted;
10
- font: $unnnic-font-body;
7
+ border-radius: $unnnic-border-radius-sm;
8
+ color: $unnnic-color-neutral-darkest;
9
+ caret-color: $unnnic-color-neutral-clean;
10
+ font-weight: $unnnic-font-weight-regular;
11
+ font-family: $unnnic-font-family-secondary;
11
12
 
12
13
  &:focus {
13
- border-color: $unnnic-color-border-active;
14
+ border-color: $unnnic-color-weni-600;
14
15
  }
15
16
 
16
17
  &::placeholder {
17
- color: $unnnic-color-fg-muted;
18
- opacity: 1;
19
- /* Firefox */
18
+ color: $unnnic-color-neutral-cleanest;
19
+ opacity: 1; /* Firefox */
20
20
  }
21
21
 
22
22
  &:disabled {
23
- border-color: $unnnic-color-border-muted;
24
- background-color: $unnnic-color-bg-muted;
23
+ border-color: $unnnic-color-neutral-cleanest;
24
+ background-color: $unnnic-color-neutral-lightest;
25
25
  cursor: not-allowed;
26
- color: $unnnic-color-fg-muted;
26
+ color: $unnnic-color-neutral-cleanest;
27
27
  }
28
28
  }
29
29
 
30
30
  @mixin input-sm-font {
31
- font: $unnnic-font-body;
31
+ font-size: $unnnic-font-size-body-md;
32
+ line-height: $unnnic-font-size-body-md + $unnnic-line-height-medium;
32
33
  }
33
34
 
34
35
  @mixin input-md-font {
35
- font: $unnnic-font-body;
36
+ font-size: $unnnic-font-size-body-gt;
37
+ line-height: $unnnic-font-size-body-gt + $unnnic-line-height-medium;
36
38
  }
37
39
 
38
40
  @mixin input-error {
39
- border-color: $unnnic-color-border-critical;
40
- }
41
+ border-color: $unnnic-color-aux-red-500;
42
+ color: $unnnic-color-aux-red-500;
43
+ }
@@ -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>"`;