@weni/unnnic-system 3.2.9-alpha.9 → 3.3.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 (209) hide show
  1. package/CHANGELOG.md +4 -10
  2. package/dist/components/Accordion/Accordion.vue.d.ts +1 -1
  3. package/dist/components/Alert/Alert.vue.d.ts +119 -18
  4. package/dist/components/Alert/Alert.vue.d.ts.map +1 -1
  5. package/dist/components/Alert/Version1dot1.vue.d.ts +38 -2
  6. package/dist/components/Alert/Version1dot1.vue.d.ts.map +1 -1
  7. package/dist/components/AudioRecorder/AudioHandler.vue.d.ts +2 -2
  8. package/dist/components/AudioRecorder/AudioPlayer.vue.d.ts +1 -1
  9. package/dist/components/AudioRecorder/AudioRecorder.vue.d.ts +5 -5
  10. package/dist/components/AvatarIcon/AvatarIcon.vue.d.ts +2 -2
  11. package/dist/components/Banner/Banner.vue.d.ts +1 -1
  12. package/dist/components/Banner/InfoBanner.vue.d.ts +1 -1
  13. package/dist/components/Breadcrumb/Breadcrumb.vue.d.ts +1 -1
  14. package/dist/components/Button/Button.vue.d.ts +2 -2
  15. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  16. package/dist/components/Button/ButtonIcon.vue.d.ts +1 -1
  17. package/dist/components/Button/types.d.ts +1 -1
  18. package/dist/components/Button/types.d.ts.map +1 -1
  19. package/dist/components/Card/AccountCard.vue.d.ts +3 -3
  20. package/dist/components/Card/BlankCard.vue.d.ts +1 -1
  21. package/dist/components/Card/Card.vue.d.ts +21 -21
  22. package/dist/components/Card/CardCompany.vue.d.ts +8 -8
  23. package/dist/components/Card/CardData.vue.d.ts +1 -1
  24. package/dist/components/Card/CardStatusesContainer.vue.d.ts +4 -4
  25. package/dist/components/Card/ContentCard.vue.d.ts +2 -2
  26. package/dist/components/Card/DashCard.vue.d.ts +4 -4
  27. package/dist/components/Card/DefaultCard.vue.d.ts +1 -1
  28. package/dist/components/Card/MarketplaceCard.vue.d.ts +2 -2
  29. package/dist/components/Card/SimpleCard.vue.d.ts +3 -3
  30. package/dist/components/Card/StatusCard.vue.d.ts +2 -2
  31. package/dist/components/Card/TitleCard.vue.d.ts +2 -2
  32. package/dist/components/CardImage/CardImage.vue.d.ts +8 -8
  33. package/dist/components/CardInformation/CardInformation.vue.d.ts +4 -4
  34. package/dist/components/CardProject/CardProject.vue.d.ts +3 -3
  35. package/dist/components/Carousel/Carousel.vue.d.ts +11 -11
  36. package/dist/components/Carousel/TagCarousel.vue.d.ts +9 -9
  37. package/dist/components/ChartBar/ChartBar.vue.d.ts +8 -8
  38. package/dist/components/ChartFunnel/DefaultFunnel/ChartDefaultFunnelBase.vue.d.ts.map +1 -1
  39. package/dist/components/ChartFunnel/SvgFunnel/ChartFunnelTwoRows.vue.d.ts +43 -0
  40. package/dist/components/ChartFunnel/SvgFunnel/ChartFunnelTwoRows.vue.d.ts.map +1 -0
  41. package/dist/components/ChartLine/ChartLine.vue.d.ts +1 -1
  42. package/dist/components/ChatText/ChatText.vue.d.ts +2 -2
  43. package/dist/components/ChatsContact/ChatsContact.vue.d.ts +15 -15
  44. package/dist/components/ChatsDashboardTagLive/ChatsDashboardTagLive.vue.d.ts +1 -1
  45. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts +1 -1
  46. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts.map +1 -1
  47. package/dist/components/ChatsMessage/ChatsMessage.vue.d.ts +5 -5
  48. package/dist/components/ChatsMessage/ChatsMessageStatusBackdrop.vue.d.ts +2 -2
  49. package/dist/components/ChatsNavbar/ChatsNavbar.vue.d.ts +1 -1
  50. package/dist/components/ChatsUserAvatar/ChatsUserAvatar.vue.d.ts +2 -2
  51. package/dist/components/Checkbox/Checkbox.vue.d.ts +3 -3
  52. package/dist/components/Comment/Comment.vue.d.ts +1 -1
  53. package/dist/components/DataArea/DataArea.vue.d.ts +2 -2
  54. package/dist/components/DataTable/index.vue.d.ts +1 -8
  55. package/dist/components/DataTable/index.vue.d.ts.map +1 -1
  56. package/dist/components/DateFilter/DateFilter.vue.d.ts +27 -149
  57. package/dist/components/DatePicker/DatePicker.vue.d.ts +8 -8
  58. package/dist/components/Drawer/Drawer.vue.d.ts +7 -7
  59. package/dist/components/Dropdown/Dropdown.vue.d.ts +1 -1
  60. package/dist/components/Dropdown/LanguageSelect.vue.d.ts +3 -3
  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/IconLoading/IconLoading.vue.d.ts +1 -1
  66. package/dist/components/ImportCard/ImportCard.vue.d.ts +7 -7
  67. package/dist/components/Input/BaseInput.vue.d.ts +1 -28
  68. package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
  69. package/dist/components/Input/Input.vue.d.ts +27 -149
  70. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  71. package/dist/components/Input/TextInput.vue.d.ts +13 -67
  72. package/dist/components/Input/TextInput.vue.d.ts.map +1 -1
  73. package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +37 -159
  74. package/dist/components/InputNext/InputNext.vue.d.ts +4 -4
  75. package/dist/components/Label/Label.vue.d.ts +15 -9
  76. package/dist/components/Label/Label.vue.d.ts.map +1 -1
  77. package/dist/components/Modal/Modal.vue.d.ts +2 -2
  78. package/dist/components/ModalDialog/ModalDialog.vue.d.ts +9 -9
  79. package/dist/components/ModalDialog/ModalDialog.vue.d.ts.map +1 -1
  80. package/dist/components/ModalNext/ModalNext.vue.d.ts +35 -157
  81. package/dist/components/ModalUpload/ModalUpload.vue.d.ts +14 -14
  82. package/dist/components/MoodRating/MoodRating.vue.d.ts +1 -1
  83. package/dist/components/MultiSelect/MultiSelect.vue.d.ts +7 -7
  84. package/dist/components/Pagination/Pagination.vue.d.ts +6 -6
  85. package/dist/components/ProgressBar/ProgressBar.vue.d.ts +1 -1
  86. package/dist/components/Radio/Radio.vue.d.ts +2 -2
  87. package/dist/components/SelectSmart/SelectSmart.vue.d.ts +27 -81
  88. package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +8 -8
  89. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +4 -4
  90. package/dist/components/SelectTime/index.vue.d.ts +13 -67
  91. package/dist/components/SkeletonLoading/skeletonTheme.vue.d.ts +1 -1
  92. package/dist/components/Slider/Slider.vue.d.ts +2 -2
  93. package/dist/components/StarRating/StarRating.vue.d.ts +1 -1
  94. package/dist/components/Switch/Switch.vue.d.ts +2 -2
  95. package/dist/components/Tab/Tab.vue.d.ts +2 -13
  96. package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
  97. package/dist/components/TableNext/TablePagination.vue.d.ts +6 -6
  98. package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +1 -1
  99. package/dist/components/Tag/BrandTag.vue.d.ts +2 -2
  100. package/dist/components/Tag/DefaultTag.vue.d.ts +2 -2
  101. package/dist/components/Tag/IndicatorTag.vue.d.ts +2 -2
  102. package/dist/components/Tag/Tag.vue.d.ts +8 -8
  103. package/dist/components/TextArea/TextArea.vue.d.ts +32 -38
  104. package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
  105. package/dist/components/ToolTip/ToolTip.vue.d.ts +1 -1
  106. package/dist/components/Tour/Tour.vue.d.ts +6 -6
  107. package/dist/components/Tour/TourPopover.vue.d.ts +6 -6
  108. package/dist/components/UploadArea/UploadArea.vue.d.ts +7 -7
  109. package/dist/components/index.d.ts +1079 -1889
  110. package/dist/components/index.d.ts.map +1 -1
  111. package/dist/{es-d6005598.js → es-db7a2f44.mjs} +1 -1
  112. package/dist/{index-35640dc9.js → index-08caf833.mjs} +8434 -8712
  113. package/dist/locales/en.json.d.ts +1 -2
  114. package/dist/locales/es.json.d.ts +1 -2
  115. package/dist/locales/pt_br.json.d.ts +1 -2
  116. package/dist/{pt-br-89c2c09d.js → pt-br-88538a51.mjs} +1 -1
  117. package/dist/style.css +1 -1
  118. package/dist/unnnic.mjs +182 -0
  119. package/dist/unnnic.umd.js +109 -0
  120. package/dist/utils/call.d.ts +1 -2
  121. package/dist/utils/call.d.ts.map +1 -1
  122. package/package.json +4 -4
  123. package/src/assets/scss/scheme-colors.scss +4 -131
  124. package/src/assets/tokens/colors.json +2 -2
  125. package/src/components/Alert/Alert.vue +135 -26
  126. package/src/components/Alert/AlertBanner.vue +182 -0
  127. package/src/components/Alert/AlertCaller.vue +49 -0
  128. package/src/components/Alert/Version1dot1.vue +36 -0
  129. package/src/components/Alert/__tests__/AlertBanner.spec.js +89 -0
  130. package/src/components/Alert/__tests__/AlertCaller.spec.js +98 -0
  131. package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +7 -11
  132. package/src/components/Alert/__tests__/__snapshots__/Version1dot1.spec.js.snap +2 -2
  133. package/src/components/Button/Button.vue +108 -60
  134. package/src/components/Button/types.ts +1 -0
  135. package/src/components/ChartFunnel/ChartFunnel.vue +4 -0
  136. package/src/components/ChartFunnel/DefaultFunnel/ChartDefaultFunnelBase.vue +8 -2
  137. package/src/components/ChartFunnel/SvgFunnel/ChartFunnelBaseRow.vue +1 -1
  138. package/src/components/ChartFunnel/SvgFunnel/ChartFunnelTwoRows.vue +64 -0
  139. package/src/components/DataTable/index.vue +10 -25
  140. package/src/components/FormElement/FormElement.vue +91 -51
  141. package/src/components/Input/BaseInput.vue +14 -22
  142. package/src/components/Input/Input.scss +21 -19
  143. package/src/components/Input/Input.vue +29 -85
  144. package/src/components/Input/TextInput.vue +42 -39
  145. package/src/components/Input/__test__/TextInput.spec.js +5 -5
  146. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +3 -12
  147. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +1 -1
  148. package/src/components/Label/Label.vue +21 -52
  149. package/src/components/Label/__tests__/Label.spec.js +1 -1
  150. package/src/components/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  151. package/src/components/ModalDialog/ModalDialog.vue +0 -1
  152. package/src/components/ModalDialog/__tests__/__snapshots__/ModalDialog.spec.js.snap +1 -1
  153. package/src/components/Tab/Tab.vue +23 -37
  154. package/src/components/Tab/__test__/__snapshots__/Tab.spec.js.snap +1 -1
  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/TextArea/TextArea.vue +9 -13
  158. package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +2 -7
  159. package/src/components/index.ts +4 -18
  160. package/src/locales/en.json +1 -2
  161. package/src/locales/es.json +1 -2
  162. package/src/locales/pt_br.json +1 -2
  163. package/src/stories/Alert.stories.js +67 -6
  164. package/src/stories/Button.stories.js +17 -2
  165. package/src/stories/ChartFunnel.stories.js +19 -0
  166. package/src/stories/DataTable.stories.js +0 -60
  167. package/src/stories/Input.stories.js +3 -16
  168. package/src/stories/Label.stories.js +0 -7
  169. package/src/stories/Tab.stories.js +4 -11
  170. package/src/types/scheme-colors.d.ts +14 -120
  171. package/src/utils/call.js +18 -46
  172. package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts +0 -9
  173. package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts.map +0 -1
  174. package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts +0 -15
  175. package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts.map +0 -1
  176. package/dist/components/Toast/Toast.vue.d.ts +0 -16
  177. package/dist/components/Toast/Toast.vue.d.ts.map +0 -1
  178. package/dist/components/Toast/ToastManager.d.ts +0 -14
  179. package/dist/components/Toast/ToastManager.d.ts.map +0 -1
  180. package/dist/components/Toast/types.d.ts +0 -35
  181. package/dist/components/Toast/types.d.ts.map +0 -1
  182. package/dist/unnnic.js +0 -188
  183. package/dist/unnnic.umd.cjs +0 -110
  184. package/src/assets/img/previews/doc-preview.png +0 -0
  185. package/src/assets/img/previews/image-preview.png +0 -0
  186. package/src/assets/img/previews/video-preview.png +0 -0
  187. package/src/components/Popover/__tests__/Popover.spec.js +0 -147
  188. package/src/components/Popover/__tests__/__snapshots__/Popover.spec.js.snap +0 -8
  189. package/src/components/Popover/index.vue +0 -146
  190. package/src/components/Select/SelectOption.vue +0 -65
  191. package/src/components/Select/__tests__/Select.spec.js +0 -412
  192. package/src/components/Select/__tests__/SelectItem.spec.js +0 -330
  193. package/src/components/Select/__tests__/SelectOption.spec.js +0 -174
  194. package/src/components/Select/__tests__/__snapshots__/Select.spec.js.snap +0 -93
  195. package/src/components/Select/__tests__/__snapshots__/SelectItem.spec.js.snap +0 -15
  196. package/src/components/Select/__tests__/__snapshots__/SelectOption.spec.js.snap +0 -25
  197. package/src/components/Select/index.vue +0 -243
  198. package/src/components/TemplatePreview/TemplatePreview.vue +0 -252
  199. package/src/components/TemplatePreview/TemplatePreviewModal.vue +0 -51
  200. package/src/components/TemplatePreview/types.d.ts +0 -16
  201. package/src/components/Toast/Toast.vue +0 -236
  202. package/src/components/Toast/ToastManager.ts +0 -110
  203. package/src/components/Toast/types.ts +0 -57
  204. package/src/stories/Popover.stories.js +0 -39
  205. package/src/stories/Select.stories.js +0 -91
  206. package/src/stories/TemplatePreview.stories.js +0 -94
  207. package/src/stories/TemplatePreviewModal.stories.js +0 -110
  208. package/src/stories/Toast.mdx +0 -123
  209. package/src/stories/Toast.stories.js +0 -126
@@ -7,18 +7,17 @@
7
7
  <slot name="label" />
8
8
  </p>
9
9
 
10
- <UnnnicLabel
10
+ <p
11
11
  v-else-if="label"
12
12
  class="unnnic-form__label"
13
- :label="label"
14
- :tooltip="tooltip"
15
- />
13
+ >
14
+ {{ fullySanitize(label) }}
15
+ </p>
16
16
 
17
17
  <TextInput
18
18
  v-bind="$attrs"
19
19
  v-model="val"
20
20
  class="unnnic-form-input"
21
- :forceActiveStatus="forceActiveStatus"
22
21
  :placeholder="placeholder"
23
22
  :iconLeft="iconLeft"
24
23
  :iconRight="iconRight"
@@ -29,41 +28,24 @@
29
28
  :size="size"
30
29
  :mask="mask"
31
30
  :nativeType="nativeType"
32
- :maxlength="maxlength"
33
- :disabled="disabled"
34
- :readonly="readonly"
35
31
  />
36
32
 
37
- <section class="unnnic-form__hints-container">
38
- <section class="unnnic-form__message-container">
39
- <p
40
- v-if="message"
41
- class="unnnic-form__message"
42
- >
43
- {{ fullySanitize(message) }}
44
- </p>
45
- <p
46
- v-if="!!errors.length"
47
- class="unnnic-form__message error"
48
- >
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 UnnnicLabel from '../Label/Label.vue';
63
45
 
64
46
  export default {
65
47
  name: 'UnnnicInput',
66
- components: { TextInput, UnnnicLabel },
48
+ components: { TextInput },
67
49
  props: {
68
50
  placeholder: {
69
51
  type: String,
@@ -86,23 +68,19 @@ export default {
86
68
  },
87
69
  message: {
88
70
  type: String,
89
- default: '',
90
- },
91
- errors: {
92
- type: [String, Array],
93
- default: '',
71
+ default: null,
94
72
  },
95
73
  label: {
96
74
  type: String,
97
- default: '',
75
+ default: null,
98
76
  },
99
77
  iconLeft: {
100
78
  type: String,
101
- default: '',
79
+ default: null,
102
80
  },
103
81
  iconRight: {
104
82
  type: String,
105
- default: '',
83
+ default: null,
106
84
  },
107
85
  allowTogglePassword: {
108
86
  type: Boolean,
@@ -110,11 +88,11 @@ export default {
110
88
  },
111
89
  iconLeftClickable: {
112
90
  type: Boolean,
113
- default: false,
91
+ default: null,
114
92
  },
115
93
  iconRightClickable: {
116
94
  type: Boolean,
117
- default: false,
95
+ default: null,
118
96
  },
119
97
  hasCloudyColor: {
120
98
  type: Boolean,
@@ -128,30 +106,6 @@ export default {
128
106
  type: [String, Array],
129
107
  default: '',
130
108
  },
131
- tooltip: {
132
- type: String,
133
- default: '',
134
- },
135
- maxlength: {
136
- type: [Number, null],
137
- default: null,
138
- },
139
- showMaxlengthCounter: {
140
- type: Boolean,
141
- default: false,
142
- },
143
- disabled: {
144
- type: Boolean,
145
- default: false,
146
- },
147
- readonly: {
148
- type: Boolean,
149
- default: false,
150
- },
151
- forceActiveStatus: {
152
- type: Boolean,
153
- default: false,
154
- },
155
109
  },
156
110
  emits: ['update:modelValue'],
157
111
  data() {
@@ -184,37 +138,27 @@ export default {
184
138
  <style lang="scss" scoped>
185
139
  @use '@/assets/scss/unnnic' as *;
186
140
 
187
- * {
188
- margin: 0;
189
- padding: 0;
190
- box-sizing: border-box;
191
- }
192
-
193
141
  .unnnic-form {
142
+ font-family: $unnnic-font-family-secondary;
194
143
  position: relative;
195
144
 
196
145
  &__message {
197
- &.error {
198
- color: $unnnic-color-fg-critical;
199
- }
146
+ font-size: $unnnic-font-size-body-md;
147
+ margin: $unnnic-spacing-stack-nano 0;
148
+ color: $unnnic-color-feedback-red;
200
149
  }
201
150
 
202
151
  &__label {
203
- margin-bottom: $unnnic-space-1;
204
- }
205
-
206
- &__hints-container {
207
- display: flex;
208
- justify-content: space-between;
209
- margin-top: $unnnic-space-1;
210
- font: $unnnic-font-caption-2;
211
- color: $unnnic-color-fg-base;
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;
155
+ color: $unnnic-color-neutral-cloudy;
156
+ margin: $unnnic-spacing-stack-xs 0;
212
157
  }
213
158
 
214
- &__message-container {
215
- display: flex;
216
- flex-direction: column;
217
- 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;
218
162
  }
219
163
  }
220
164
  </style>
@@ -1,5 +1,11 @@
1
1
  <template>
2
- <div :class="['text-input', `size--${size}`]">
2
+ <div
3
+ :class="[
4
+ 'text-input',
5
+ `size--${size}`,
6
+ `text-input--icon-right-size-${iconRightSize}`,
7
+ ]"
8
+ >
3
9
  <BaseInput
4
10
  v-bind="attributes"
5
11
  ref="base-input"
@@ -12,9 +18,6 @@
12
18
  class="input-itself"
13
19
  :hasIconLeft="!!iconLeft"
14
20
  :hasIconRight="!!iconRight || allowTogglePassword"
15
- :maxlength="maxlength"
16
- :readonly="readonly"
17
- :forceActiveStatus="forceActiveStatus"
18
21
  @focus="onFocus"
19
22
  @blur="onBlur"
20
23
  />
@@ -23,7 +26,7 @@
23
26
  v-if="iconLeft"
24
27
  :scheme="iconScheme"
25
28
  :icon="iconLeft"
26
- size="ant"
29
+ size="sm"
27
30
  :clickable="iconLeftClickable"
28
31
  :class="['icon-left', { clickable: iconLeftClickable }]"
29
32
  @click="onIconLeftClick"
@@ -33,7 +36,7 @@
33
36
  v-if="iconRightSvg"
34
37
  :scheme="iconScheme"
35
38
  :icon="iconRightSvg"
36
- size="ant"
39
+ :size="iconRightSize"
37
40
  :clickable="iconRightClickable || allowTogglePassword"
38
41
  :class="[
39
42
  'icon-right',
@@ -89,6 +92,10 @@ export default {
89
92
  type: Boolean,
90
93
  default: null,
91
94
  },
95
+ iconRightSize: {
96
+ type: String,
97
+ default: 'sm',
98
+ },
92
99
  allowTogglePassword: {
93
100
  type: Boolean,
94
101
  default: null,
@@ -101,22 +108,6 @@ export default {
101
108
  type: String,
102
109
  default: 'md',
103
110
  },
104
- maxlength: {
105
- type: Number,
106
- default: null,
107
- },
108
- disabled: {
109
- type: Boolean,
110
- default: false,
111
- },
112
- readonly: {
113
- type: Boolean,
114
- default: false,
115
- },
116
- forceActiveStatus: {
117
- type: Boolean,
118
- default: false,
119
- },
120
111
  },
121
112
  emits: ['icon-left-click', 'icon-right-click'],
122
113
  data() {
@@ -127,7 +118,7 @@ export default {
127
118
  },
128
119
  computed: {
129
120
  isDisabled() {
130
- return this.$attrs.disabled || this.disabled;
121
+ return this.$attrs.disabled;
131
122
  },
132
123
 
133
124
  iconRightSvg() {
@@ -140,22 +131,22 @@ export default {
140
131
 
141
132
  iconScheme() {
142
133
  if (this.type === 'error') {
143
- return 'fg-critical';
134
+ return 'aux-red-500';
144
135
  }
145
136
 
146
137
  if (this.isDisabled) {
147
- return 'fg-muted';
138
+ return 'neutral-cleanest';
148
139
  }
149
140
 
150
- if (this.modelValue || this.isFocused || this.forceActiveStatus) {
151
- return 'color-gray-700';
141
+ if (this.modelValue || this.isFocused) {
142
+ return 'neutral-dark';
152
143
  }
153
144
 
154
145
  if (this.hasCloudyColor) {
155
- return 'fg-base';
146
+ return 'neutral-cloudy';
156
147
  }
157
148
 
158
- return 'fg-base';
149
+ return 'neutral-cloudy';
159
150
  },
160
151
 
161
152
  attributes() {
@@ -192,10 +183,6 @@ export default {
192
183
  <style lang="scss" scoped>
193
184
  @use '@/assets/scss/unnnic' as *;
194
185
 
195
- .text-input {
196
- position: relative;
197
- }
198
-
199
186
  .icon {
200
187
  &-left,
201
188
  &-right {
@@ -206,16 +193,32 @@ export default {
206
193
 
207
194
  &-left {
208
195
  position: absolute;
209
- top: 50%;
210
- transform: translateY(-50%);
211
- left: $unnnic-space-4;
196
+ top: $unnnic-spacing-ant + 0.1875 * $unnnic-font-size;
197
+ left: $unnnic-inline-sm - $unnnic-border-width-thinner;
212
198
  }
213
199
 
214
200
  &-right {
215
201
  position: absolute;
216
- top: 50%;
217
- transform: translateY(-50%);
218
- 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;
219
222
  }
220
223
  }
221
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-7f222291="" data-v-d890ad85="" class="unnnic-label unnnic-form__label">
6
- <p data-v-7f222291="" class="unnnic-label__label">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>"`;
@@ -1,65 +1,34 @@
1
1
  <template>
2
- <section class="unnnic-label">
3
- <p class="unnnic-label__label">{{ fullySanitize(props.label) }}</p>
4
- <UnnnicToolTip
5
- v-if="tooltip"
6
- enabled
7
- :text="tooltip"
8
- :enableHtml="props.useHtmlTooltip"
9
- >
10
- <UnnnicIcon
11
- icon="help"
12
- size="sm"
13
- scheme="fg-base"
14
- />
15
- </UnnnicToolTip>
16
- </section>
2
+ <p class="unnnic-label__label">{{ fullySanitize(label) }}</p>
17
3
  </template>
18
4
 
19
- <script setup lang="ts">
20
- import { fullySanitize } from '@/utils/sanitize';
21
-
22
- import UnnnicToolTip from '../ToolTip/ToolTip.vue';
23
- import UnnnicIcon from '../Icon.vue';
24
-
25
- defineOptions({
5
+ <script>
6
+ import { fullySanitize } from '../../utils/sanitize';
7
+ export default {
26
8
  name: 'UnnnicLabel',
27
- });
28
-
29
- export interface LabelProps {
30
- label?: string;
31
- tooltip?: string;
32
- useHtmlTooltip?: boolean;
33
- }
34
-
35
- const props = withDefaults(defineProps<LabelProps>(), {
36
- label: '',
37
- tooltip: '',
38
- useHtmlTooltip: false,
39
- });
9
+ props: {
10
+ label: {
11
+ type: String,
12
+ default: null,
13
+ },
14
+ },
15
+ methods: {
16
+ fullySanitize,
17
+ },
18
+ };
40
19
  </script>
41
20
 
42
- <style lang="scss" scoped>
21
+ <style lang="scss">
43
22
  @use '@/assets/scss/unnnic' as *;
44
23
 
45
- * {
46
- box-sizing: border-box;
47
- padding: $unnnic-space-0;
48
- margin: $unnnic-space-0;
49
- }
50
-
51
24
  .unnnic-label {
52
- display: flex;
53
- align-items: center;
54
- gap: $unnnic-space-2;
55
- color: $unnnic-color-fg-base;
56
-
57
25
  &__label {
58
- font: $unnnic-font-body;
59
- }
60
-
61
- :deep(.unnnic-tooltip) {
62
- display: flex;
26
+ font-family: $unnnic-font-family-secondary;
27
+ font-weight: $unnnic-font-weight-regular;
28
+ line-height: $unnnic-font-size-body-gt + $unnnic-line-height-medium;
29
+ font-size: $unnnic-font-size-body-gt;
30
+ color: $unnnic-color-neutral-cloudy;
31
+ margin: $unnnic-spacing-stack-xs 0;
63
32
  }
64
33
  }
65
34
  </style>
@@ -24,7 +24,7 @@ describe('Label', () => {
24
24
  });
25
25
 
26
26
  it('applies the correct classes and styles', () => {
27
- const label = wrapper.find('.unnnic-label__label');
27
+ const label = wrapper.findComponent('.unnnic-label__label');
28
28
  expect(label.html()).toMatchSnapshot();
29
29
  });
30
30
  });
@@ -1,3 +1,3 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
- exports[`Label > applies the correct classes and styles 1`] = `"<p data-v-7f222291="" class="unnnic-label__label">Label Test</p>"`;
3
+ exports[`Label > applies the correct classes and styles 1`] = `"<p class="unnnic-label__label">Label Test</p>"`;
@@ -49,7 +49,6 @@
49
49
  data-testid="close-icon"
50
50
  icon="close"
51
51
  clickable
52
- scheme="neutral-cloudy"
53
52
  @click="close()"
54
53
  />
55
54
  </header>
@@ -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">
@@ -9,7 +9,6 @@
9
9
  class="tab-head"
10
10
  :class="{
11
11
  'tab-head--active': localValue === tab,
12
- 'tab-head--disabled': disabledTabs?.includes(tab),
13
12
  }"
14
13
  @click="change(tab)"
15
14
  >
@@ -21,9 +20,10 @@
21
20
  side="bottom"
22
21
  >
23
22
  <UnnnicIcon
24
- icon="help"
23
+ icon="info"
25
24
  :size="size === 'sm' ? 'xs' : 'sm'"
26
- scheme="fg-base"
25
+ filled
26
+ scheme="neutral-cleanest"
27
27
  />
28
28
  </UnnnicToolTip>
29
29
  </li>
@@ -65,13 +65,6 @@ export default {
65
65
  tabs: {
66
66
  type: Array,
67
67
  default: null,
68
- validator: (tabs) => {
69
- return tabs.every((tab) => typeof tab === 'string') && tabs.length <= 5;
70
- },
71
- },
72
- disabledTabs: {
73
- type: Array,
74
- default: null,
75
68
  },
76
69
  },
77
70
  emits: ['change'],
@@ -112,10 +105,6 @@ export default {
112
105
  return '';
113
106
  },
114
107
  change(value) {
115
- if (this.disabledTabs?.includes(value)) {
116
- return;
117
- }
118
-
119
108
  this.localValue = value;
120
109
  this.$emit('change', this.localValue);
121
110
  },
@@ -130,15 +119,18 @@ export default {
130
119
  display: flex;
131
120
  align-items: flex-start;
132
121
  justify-content: space-between;
133
- color: $unnnic-color-fg-base;
134
- font: $unnnic-font-action;
135
- margin-bottom: $unnnic-space-4;
136
- border-bottom: $unnnic-border-width-thinner solid $unnnic-color-border-base;
122
+ color: $unnnic-color-neutral-cloudy;
123
+ font-family: $unnnic-font-family-secondary;
124
+ font-weight: $unnnic-font-weight-bold;
125
+ font-size: $unnnic-font-size-body-lg;
126
+ line-height: ($unnnic-font-size-body-lg + $unnnic-line-height-medium);
127
+ margin-bottom: $unnnic-inset-sm;
128
+ border-bottom: $unnnic-border-width-thinner solid $unnnic-color-neutral-soft;
137
129
  }
138
130
 
139
131
  .tab-content {
140
132
  display: flex;
141
- gap: $unnnic-space-6;
133
+ gap: $unnnic-spacing-sm;
142
134
 
143
135
  margin: 0;
144
136
  padding: 0;
@@ -147,24 +139,27 @@ export default {
147
139
 
148
140
  .tab-head {
149
141
  display: flex;
150
- gap: $unnnic-space-2;
142
+ gap: $unnnic-spacing-xs;
151
143
  align-items: center;
152
144
 
153
145
  cursor: pointer;
154
- padding: $unnnic-space-2 $unnnic-space-4;
146
+ margin: $unnnic-spacing-xs $unnnic-spacing-sm;
155
147
 
156
148
  .unnnic-tooltip {
157
149
  display: flex;
158
150
  }
159
151
 
160
152
  &:hover {
161
- color: $unnnic-color-fg-emphasized;
153
+ color: $unnnic-color-neutral-black;
162
154
  }
163
155
  }
164
156
 
165
157
  .tab-head--active {
166
- color: $unnnic-color-fg-emphasized;
167
- font: $unnnic-font-action;
158
+ font-family: $unnnic-font-family-secondary;
159
+ font-weight: $unnnic-font-weight-bold;
160
+ color: $unnnic-color-neutral-black;
161
+ font-size: $unnnic-font-size-body-lg;
162
+ line-height: ($unnnic-font-size-body-lg + $unnnic-line-height-medium);
168
163
  transition: 0.4s;
169
164
 
170
165
  position: relative;
@@ -173,23 +168,14 @@ export default {
173
168
  content: '';
174
169
 
175
170
  position: absolute;
176
- bottom: 0;
177
- left: 0;
171
+ bottom: -$unnnic-spacing-xs;
172
+ left: -$unnnic-spacing-sm;
178
173
 
179
174
  display: block;
180
175
 
181
- width: 100%;
176
+ width: calc(100% + (#{$unnnic-spacing-sm} * 2));
182
177
 
183
- border-bottom: $unnnic-border-width-thin solid $unnnic-color-border-active;
184
- }
185
- }
186
-
187
- .tab-head--disabled {
188
- color: $unnnic-color-fg-muted;
189
- cursor: default;
190
-
191
- &:hover {
192
- color: $unnnic-color-fg-muted;
178
+ border-bottom: $unnnic-border-width-thin solid $unnnic-color-weni-600;
193
179
  }
194
180
  }
195
181
 
@@ -4,7 +4,7 @@ exports[`Tab.vue > matches the snapshot 1`] = `
4
4
  "<div data-v-b4e39fac="" class="tab size-md">
5
5
  <header data-v-b4e39fac="" class="tab-header">
6
6
  <ul data-v-b4e39fac="" class="tab-content">
7
- <li data-v-b4e39fac="" class="tab-head">tab1<div data-v-bf0cf546="" data-v-b4e39fac="" class="unnnic-tooltip"><span data-v-26446d8e="" data-v-b4e39fac="" class="material-symbols-rounded unnnic-icon-scheme--fg-base unnnic-icon-size--sm" data-testid="material-icon" translate="no">help</span><span data-v-bf0cf546="" class="unnnic-tooltip-label unnnic-tooltip-label-bottom" data-testid="tooltip-label" style="left: 0px; top: 8px;">Tooltip text <br data-v-bf0cf546=""><!--v-if--></span></div>
7
+ <li data-v-b4e39fac="" class="tab-head">tab1<div data-v-bf0cf546="" data-v-b4e39fac="" class="unnnic-tooltip"><span data-v-26446d8e="" data-v-b4e39fac="" class="material-symbols-rounded unnnic-icon-scheme--neutral-cleanest unnnic-icon-size--sm material-symbols-rounded--filled" data-testid="material-icon" translate="no">info</span><span data-v-bf0cf546="" class="unnnic-tooltip-label unnnic-tooltip-label-bottom" data-testid="tooltip-label" style="left: 0px; top: 8px;">Tooltip text <br data-v-bf0cf546=""><!--v-if--></span></div>
8
8
  </li>
9
9
  <li data-v-b4e39fac="" class="tab-head tab-head--active">tab2
10
10
  <!--v-if-->