@weni/unnnic-system 3.7.1-alpha.2 → 3.7.1

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 (259) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/dist/components/Accordion/Accordion.vue.d.ts +1 -1
  3. package/dist/components/Alert/Alert.vue.d.ts +116 -17
  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 +3 -3
  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 +1 -1
  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 +5 -5
  20. package/dist/components/Card/BlankCard.vue.d.ts +1 -1
  21. package/dist/components/Card/Card.vue.d.ts +27 -27
  22. package/dist/components/Card/CardCompany.vue.d.ts +5 -5
  23. package/dist/components/Card/CardData.vue.d.ts +1 -1
  24. package/dist/components/Card/CardStatusesContainer.vue.d.ts +5 -5
  25. package/dist/components/Card/ContentCard.vue.d.ts +3 -3
  26. package/dist/components/Card/DashCard.vue.d.ts +5 -5
  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 +3 -3
  32. package/dist/components/CardImage/CardImage.vue.d.ts +31 -24
  33. package/dist/components/CardInformation/CardInformation.vue.d.ts +5 -5
  34. package/dist/components/CardProject/CardProject.vue.d.ts +3 -3
  35. package/dist/components/Carousel/Carousel.vue.d.ts +7 -7
  36. package/dist/components/Carousel/TagCarousel.vue.d.ts +6 -6
  37. package/dist/components/ChartBar/ChartBar.vue.d.ts +5 -5
  38. package/dist/components/ChartLine/ChartLine.vue.d.ts +1 -1
  39. package/dist/components/ChatText/ChatText.vue.d.ts +2 -2
  40. package/dist/components/ChatsContact/ChatsContact.vue.d.ts +34 -27
  41. package/dist/components/ChatsDashboardTagLive/ChatsDashboardTagLive.vue.d.ts +1 -1
  42. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts +1 -1
  43. package/dist/components/ChatsHeader/ChatsHeader.vue.d.ts.map +1 -1
  44. package/dist/components/ChatsMessage/ChatsMessage.vue.d.ts +5 -5
  45. package/dist/components/ChatsMessage/ChatsMessageStatusBackdrop.vue.d.ts +2 -2
  46. package/dist/components/ChatsNavbar/ChatsNavbar.vue.d.ts +1 -1
  47. package/dist/components/ChatsUserAvatar/ChatsUserAvatar.vue.d.ts +2 -2
  48. package/dist/components/Checkbox/Checkbox.vue.d.ts +26 -19
  49. package/dist/components/Checkbox/Checkbox.vue.d.ts.map +1 -1
  50. package/dist/components/Comment/Comment.vue.d.ts +1 -1
  51. package/dist/components/DataArea/DataArea.vue.d.ts +2 -2
  52. package/dist/components/DataTable/index.vue.d.ts +1 -1
  53. package/dist/components/DataTable/index.vue.d.ts.map +1 -1
  54. package/dist/components/DateFilter/DateFilter.vue.d.ts +41 -251
  55. package/dist/components/DatePicker/DatePicker.vue.d.ts +4 -4
  56. package/dist/components/Drawer/Drawer.vue.d.ts +4 -4
  57. package/dist/components/Dropdown/Dropdown.vue.d.ts +1 -1
  58. package/dist/components/Dropdown/LanguageSelect.vue.d.ts +3 -3
  59. package/dist/components/Flag.vue.d.ts +2 -2
  60. package/dist/components/FormElement/FormElement.vue.d.ts +28 -51
  61. package/dist/components/FormElement/FormElement.vue.d.ts.map +1 -1
  62. package/dist/components/Icon.vue.d.ts +1 -1
  63. package/dist/components/Icon.vue.d.ts.map +1 -1
  64. package/dist/components/IconLoading/IconLoading.vue.d.ts +1 -1
  65. package/dist/components/ImportCard/ImportCard.vue.d.ts +4 -4
  66. package/dist/components/Input/BaseInput.vue.d.ts +2 -33
  67. package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
  68. package/dist/components/Input/Input.vue.d.ts +41 -251
  69. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  70. package/dist/components/Input/TextInput.vue.d.ts +25 -85
  71. package/dist/components/Input/TextInput.vue.d.ts.map +1 -1
  72. package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +47 -257
  73. package/dist/components/InputNext/InputNext.vue.d.ts +5 -5
  74. package/dist/components/Label/Label.vue.d.ts +15 -9
  75. package/dist/components/Label/Label.vue.d.ts.map +1 -1
  76. package/dist/components/Modal/Modal.vue.d.ts +2 -2
  77. package/dist/components/ModalDialog/ModalDialog.vue.d.ts +34 -199
  78. package/dist/components/ModalDialog/ModalDialog.vue.d.ts.map +1 -1
  79. package/dist/components/ModalNext/ModalNext.vue.d.ts +46 -256
  80. package/dist/components/ModalUpload/ModalUpload.vue.d.ts +8 -8
  81. package/dist/components/MoodRating/MoodRating.vue.d.ts +1 -1
  82. package/dist/components/MultiSelect/MultiSelect.vue.d.ts +14 -20
  83. package/dist/components/Pagination/Pagination.vue.d.ts +3 -3
  84. package/dist/components/ProgressBar/ProgressBar.vue.d.ts +1 -1
  85. package/dist/components/Radio/Radio.vue.d.ts +6 -8
  86. package/dist/components/Radio/Radio.vue.d.ts.map +1 -1
  87. package/dist/components/SelectSmart/SelectSmart.vue.d.ts +60 -113
  88. package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +5 -5
  89. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +28 -21
  90. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts.map +1 -1
  91. package/dist/components/SelectTime/index.vue.d.ts +25 -85
  92. package/dist/components/SkeletonLoading/skeletonTheme.vue.d.ts +1 -1
  93. package/dist/components/Slider/Slider.vue.d.ts +2 -2
  94. package/dist/components/StarRating/StarRating.vue.d.ts +1 -1
  95. package/dist/components/Switch/Switch.vue.d.ts +21 -55
  96. package/dist/components/Switch/Switch.vue.d.ts.map +1 -1
  97. package/dist/components/Tab/Tab.vue.d.ts +2 -13
  98. package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
  99. package/dist/components/TableNext/TablePagination.vue.d.ts +3 -3
  100. package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +1 -1
  101. package/dist/components/Tag/BrandTag.vue.d.ts +1 -1
  102. package/dist/components/Tag/DefaultTag.vue.d.ts +1 -1
  103. package/dist/components/Tag/IndicatorTag.vue.d.ts +2 -2
  104. package/dist/components/Tag/Tag.vue.d.ts +5 -5
  105. package/dist/components/TextArea/TextArea.vue.d.ts +30 -66
  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 +3 -3
  109. package/dist/components/Tour/TourPopover.vue.d.ts +3 -3
  110. package/dist/components/UploadArea/UploadArea.vue.d.ts +4 -4
  111. package/dist/components/index.d.ts +1363 -4078
  112. package/dist/components/index.d.ts.map +1 -1
  113. package/dist/{es-5807a261.mjs → es-484b4c46.mjs} +1 -1
  114. package/dist/{index-5d6e1c42.mjs → index-dc007393.mjs} +11927 -18885
  115. package/dist/locales/en.json.d.ts +1 -2
  116. package/dist/locales/es.json.d.ts +1 -2
  117. package/dist/locales/pt_br.json.d.ts +1 -2
  118. package/dist/{pt-br-61671668.mjs → pt-br-f73c4b3a.mjs} +1 -1
  119. package/dist/style.css +1 -1
  120. package/dist/unnnic.mjs +172 -195
  121. package/dist/unnnic.umd.js +50 -56
  122. package/dist/utils/call.d.ts +1 -2
  123. package/dist/utils/call.d.ts.map +1 -1
  124. package/package.json +2 -3
  125. package/src/assets/scss/tailwind.scss +0 -8
  126. package/src/components/Alert/Alert.vue +135 -26
  127. package/src/components/Alert/AlertBanner.vue +182 -0
  128. package/src/components/Alert/AlertCaller.vue +49 -0
  129. package/src/components/Alert/Version1dot1.vue +36 -0
  130. package/src/components/Alert/__tests__/Alert.spec.js +45 -2
  131. package/src/components/Alert/__tests__/AlertBanner.spec.js +89 -0
  132. package/src/components/Alert/__tests__/AlertCaller.spec.js +98 -0
  133. package/src/components/Alert/__tests__/Version1dot1.spec.js +21 -0
  134. package/src/components/Alert/__tests__/__snapshots__/Alert.spec.js.snap +7 -11
  135. package/src/components/Alert/__tests__/__snapshots__/Version1dot1.spec.js.snap +2 -2
  136. package/src/components/Button/Button.vue +117 -68
  137. package/src/components/Button/types.ts +1 -0
  138. package/src/components/Checkbox/Checkbox.vue +64 -98
  139. package/src/components/Checkbox/__tests__/Checkbox.spec.js +21 -6
  140. package/src/components/FormElement/FormElement.vue +93 -63
  141. package/src/components/Icon.vue +0 -3
  142. package/src/components/Input/BaseInput.vue +14 -33
  143. package/src/components/Input/Input.scss +21 -20
  144. package/src/components/Input/Input.vue +56 -77
  145. package/src/components/Input/TextInput.vue +68 -80
  146. package/src/components/Input/__test__/TextInput.spec.js +8 -6
  147. package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +5 -14
  148. package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +1 -1
  149. package/src/components/Label/Label.vue +21 -52
  150. package/src/components/Label/__tests__/Label.spec.js +1 -1
  151. package/src/components/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  152. package/src/components/ModalDialog/ModalDialog.vue +146 -60
  153. package/src/components/ModalDialog/__tests__/__snapshots__/ModalDialog.spec.js.snap +22 -1
  154. package/src/components/Radio/Radio.vue +67 -80
  155. package/src/components/Radio/__test__/Radio.spec.js +20 -14
  156. package/src/components/Radio/__test__/__snapshots__/Radio.spec.js.snap +3 -3
  157. package/src/components/SelectSmart/SelectSmart.vue +3 -4
  158. package/src/components/Switch/Switch.vue +96 -123
  159. package/src/components/Switch/__tests__/Switch.spec.js +75 -8
  160. package/src/components/Switch/__tests__/__snapshots__/Switch.spec.js.snap +6 -5
  161. package/src/components/Tab/Tab.vue +23 -37
  162. package/src/components/Tab/__test__/__snapshots__/Tab.spec.js.snap +1 -1
  163. package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +2 -2
  164. package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +2 -2
  165. package/src/components/TextArea/TextArea.vue +11 -34
  166. package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +3 -11
  167. package/src/components/index.ts +9 -58
  168. package/src/locales/en.json +1 -2
  169. package/src/locales/es.json +1 -2
  170. package/src/locales/pt_br.json +1 -2
  171. package/src/stories/Alert.stories.js +67 -6
  172. package/src/stories/Button.stories.js +39 -29
  173. package/src/stories/Checkbox.stories.js +4 -11
  174. package/src/stories/Input.stories.js +76 -71
  175. package/src/stories/Label.stories.js +0 -7
  176. package/src/stories/ModalDialog.mdx +0 -3
  177. package/src/stories/ModalDialog.stories.js +1 -1
  178. package/src/stories/Switch.stories.js +5 -10
  179. package/src/stories/Tab.stories.js +4 -11
  180. package/src/stories/TextArea.stories.js +2 -13
  181. package/src/types/scheme-colors.d.ts +0 -1
  182. package/src/utils/call.js +18 -46
  183. package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts +0 -28
  184. package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts.map +0 -1
  185. package/dist/components/Toast/Toast.vue.d.ts +0 -16
  186. package/dist/components/Toast/Toast.vue.d.ts.map +0 -1
  187. package/dist/components/Toast/ToastManager.d.ts +0 -14
  188. package/dist/components/Toast/ToastManager.d.ts.map +0 -1
  189. package/dist/components/Toast/types.d.ts +0 -35
  190. package/dist/components/Toast/types.d.ts.map +0 -1
  191. package/dist/components/ui/dialog/Dialog.vue.d.ts +0 -23
  192. package/dist/components/ui/dialog/Dialog.vue.d.ts.map +0 -1
  193. package/dist/components/ui/dialog/DialogClose.vue.d.ts +0 -19
  194. package/dist/components/ui/dialog/DialogClose.vue.d.ts.map +0 -1
  195. package/dist/components/ui/dialog/DialogContent.vue.d.ts +0 -40
  196. package/dist/components/ui/dialog/DialogContent.vue.d.ts.map +0 -1
  197. package/dist/components/ui/dialog/DialogFooter.vue.d.ts +0 -25
  198. package/dist/components/ui/dialog/DialogFooter.vue.d.ts.map +0 -1
  199. package/dist/components/ui/dialog/DialogHeader.vue.d.ts +0 -29
  200. package/dist/components/ui/dialog/DialogHeader.vue.d.ts.map +0 -1
  201. package/dist/components/ui/dialog/DialogTitle.vue.d.ts +0 -23
  202. package/dist/components/ui/dialog/DialogTitle.vue.d.ts.map +0 -1
  203. package/dist/components/ui/dialog/DialogTrigger.vue.d.ts +0 -19
  204. package/dist/components/ui/dialog/DialogTrigger.vue.d.ts.map +0 -1
  205. package/dist/components/ui/dialog/index.d.ts +0 -8
  206. package/dist/components/ui/dialog/index.d.ts.map +0 -1
  207. package/dist/components/ui/popover/Popover.vue.d.ts +0 -23
  208. package/dist/components/ui/popover/Popover.vue.d.ts.map +0 -1
  209. package/dist/components/ui/popover/PopoverContent.vue.d.ts +0 -43
  210. package/dist/components/ui/popover/PopoverContent.vue.d.ts.map +0 -1
  211. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts +0 -19
  212. package/dist/components/ui/popover/PopoverTrigger.vue.d.ts.map +0 -1
  213. package/dist/components/ui/popover/index.d.ts +0 -5
  214. package/dist/components/ui/popover/index.d.ts.map +0 -1
  215. package/src/assets/icons/checkbox-checked-disabled.svg +0 -3
  216. package/src/assets/icons/checkbox-checked.svg +0 -3
  217. package/src/assets/icons/checkbox-less-disabled.svg +0 -3
  218. package/src/assets/icons/checkbox-less.svg +0 -3
  219. package/src/assets/icons/radio-checked.svg +0 -3
  220. package/src/assets/icons/switch-checked-disabled.svg +0 -3
  221. package/src/assets/icons/switch-checked.svg +0 -3
  222. package/src/components/Alert/SIMPLE_MIGRATION_GUIDE.md +0 -152
  223. package/src/components/CheckboxGroup/CheckboxGroup.vue +0 -96
  224. package/src/components/Popover/__tests__/Popover.spec.js +0 -147
  225. package/src/components/Popover/__tests__/__snapshots__/Popover.spec.js.snap +0 -8
  226. package/src/components/Popover/index.vue +0 -146
  227. package/src/components/RadioGroup/RadioGroup.vue +0 -142
  228. package/src/components/Select/SelectOption.vue +0 -65
  229. package/src/components/Select/__tests__/Select.spec.js +0 -412
  230. package/src/components/Select/__tests__/SelectItem.spec.js +0 -330
  231. package/src/components/Select/__tests__/SelectOption.spec.js +0 -174
  232. package/src/components/Select/__tests__/__snapshots__/Select.spec.js.snap +0 -97
  233. package/src/components/Select/__tests__/__snapshots__/SelectItem.spec.js.snap +0 -15
  234. package/src/components/Select/__tests__/__snapshots__/SelectOption.spec.js.snap +0 -25
  235. package/src/components/Select/index.vue +0 -245
  236. package/src/components/Toast/Toast.vue +0 -246
  237. package/src/components/Toast/ToastManager.ts +0 -110
  238. package/src/components/Toast/__tests__/Toast.spec.js +0 -284
  239. package/src/components/Toast/__tests__/ToastManager.spec.js +0 -294
  240. package/src/components/Toast/types.ts +0 -57
  241. package/src/components/ui/dialog/Dialog.vue +0 -15
  242. package/src/components/ui/dialog/DialogClose.vue +0 -25
  243. package/src/components/ui/dialog/DialogContent.vue +0 -114
  244. package/src/components/ui/dialog/DialogFooter.vue +0 -46
  245. package/src/components/ui/dialog/DialogHeader.vue +0 -78
  246. package/src/components/ui/dialog/DialogTitle.vue +0 -34
  247. package/src/components/ui/dialog/DialogTrigger.vue +0 -12
  248. package/src/components/ui/dialog/index.ts +0 -7
  249. package/src/components/ui/popover/Popover.vue +0 -19
  250. package/src/components/ui/popover/PopoverContent.vue +0 -98
  251. package/src/components/ui/popover/PopoverTrigger.vue +0 -23
  252. package/src/components/ui/popover/index.ts +0 -4
  253. package/src/stories/CheckboxGroup.stories.js +0 -105
  254. package/src/stories/Dialog.stories.js +0 -832
  255. package/src/stories/Popover.stories.js +0 -306
  256. package/src/stories/RadioGroup.stories.js +0 -144
  257. package/src/stories/Select.stories.js +0 -158
  258. package/src/stories/Toast.mdx +0 -123
  259. package/src/stories/Toast.stories.js +0 -126
@@ -1,55 +1,49 @@
1
1
  <template>
2
- <section class="unnnic-switch-wrapper">
3
- <UnnnicLabel
4
- v-if="label"
5
- :label="label"
6
- :tooltip="labelTooltip"
7
- :useHtmlTooltip="labelUseHtmlTooltip"
8
- class="unnnic-switch__label"
2
+ <div class="unnnic-switch">
3
+ <div
4
+ v-if="textLeft"
5
+ data-test-id="switch-text-left"
6
+ :class="[
7
+ 'unnnic-switch__label',
8
+ 'unnnic-switch__label__left',
9
+ `unnnic-switch__label__${size}`,
10
+ ]"
11
+ >
12
+ {{ textLeft }}
13
+ </div>
14
+
15
+ <UnnnicIcon
16
+ :class="{ 'unnnic-switch__icon': true, active: isActive }"
17
+ :icon="currentIcon"
18
+ :size="iconSize"
19
+ :scheme="iconScheme"
20
+ :lineHeight="iconLineHeight"
21
+ :disabled="disabled"
22
+ :clickable="!disabled"
23
+ data-test-id="switch-icon"
24
+ @click="toggleState"
9
25
  />
10
26
 
11
- <label>
12
- <input
13
- class="unnnic-switch"
14
- type="checkbox"
15
- :disabled="disabled"
16
- :checked="modelValue"
17
- @change="toggleState"
18
- v-bind="pick($attrs, ['id', 'name'])"
19
- />
20
-
21
- <p
22
- v-if="option || textLeft || textRight"
23
- :class="[
24
- 'unnnic-switch__option',
25
- { 'unnnic-switch__option--disabled': disabled },
26
- ]"
27
- data-testid="switch-option"
28
- >
29
- {{ option }}
30
- {{ textLeft }}
31
- {{ textRight }}
32
- </p>
33
- </label>
34
-
35
- <p
36
- v-if="helper"
37
- class="unnnic-switch__helper"
27
+ <div
28
+ v-if="textRight"
29
+ data-test-id="switch-text-right"
30
+ :class="[
31
+ 'unnnic-switch__label',
32
+ 'unnnic-switch__label__right',
33
+ `unnnic-switch__label__${size}`,
34
+ ]"
38
35
  >
39
- {{ helper }}
40
- </p>
41
- </section>
36
+ {{ textRight }}
37
+ </div>
38
+ </div>
42
39
  </template>
43
40
 
44
41
  <script>
45
- import { pick } from 'lodash';
46
- import UnnnicLabel from '../Label/Label.vue';
42
+ import UnnnicIcon from '../Icon.vue';
47
43
 
48
44
  export default {
49
45
  name: 'UnnnicSwitch',
50
- components: {
51
- UnnnicLabel,
52
- },
46
+ components: { UnnnicIcon },
53
47
  props: {
54
48
  size: {
55
49
  type: String,
@@ -58,32 +52,6 @@ export default {
58
52
  return ['small', 'medium'].indexOf(value) !== -1;
59
53
  },
60
54
  },
61
-
62
- label: {
63
- type: String,
64
- default: '',
65
- },
66
-
67
- labelTooltip: {
68
- type: String,
69
- default: '',
70
- },
71
-
72
- labelUseHtmlTooltip: {
73
- type: Boolean,
74
- default: false,
75
- },
76
-
77
- option: {
78
- type: String,
79
- default: '',
80
- },
81
-
82
- helper: {
83
- type: String,
84
- default: '',
85
- },
86
-
87
55
  textLeft: {
88
56
  type: String,
89
57
  default: '',
@@ -110,6 +78,33 @@ export default {
110
78
  isActive: false,
111
79
  };
112
80
  },
81
+ computed: {
82
+ currentIcon() {
83
+ if (this.disabled) {
84
+ return this.isActive
85
+ ? 'switch-selected-disabled'
86
+ : 'switch-default-disabled';
87
+ }
88
+
89
+ return 'switch-default';
90
+ },
91
+
92
+ iconSize() {
93
+ return this.size === 'small' ? 'sm' : 'md';
94
+ },
95
+
96
+ iconScheme() {
97
+ if (this.disabled) {
98
+ return 'neutral-soft';
99
+ }
100
+
101
+ return this.isActive === false ? 'neutral-soft' : 'brand-weni';
102
+ },
103
+
104
+ iconLineHeight() {
105
+ return this.size === 'small' ? 'sm' : '';
106
+ },
107
+ },
113
108
 
114
109
  watch: {
115
110
  modelValue: {
@@ -121,8 +116,6 @@ export default {
121
116
  },
122
117
 
123
118
  methods: {
124
- pick,
125
-
126
119
  toggleState() {
127
120
  if (!this.disabled) {
128
121
  if (this.useVModel) {
@@ -140,71 +133,51 @@ export default {
140
133
  <style lang="scss" scoped>
141
134
  @use '@/assets/scss/unnnic' as *;
142
135
 
143
- $switch-width: 38px;
144
- $switch-height: 20px;
145
-
146
- .unnnic-switch-wrapper {
136
+ .unnnic-switch {
147
137
  display: flex;
148
- flex-direction: column;
138
+ flex-direction: row;
149
139
 
150
- label {
151
- display: flex;
152
- align-items: center;
153
- column-gap: $unnnic-space-2;
154
- }
155
- }
140
+ &__label {
141
+ font-family: $unnnic-font-family-secondary;
142
+ font-weight: $unnnic-font-weight-regular;
143
+ color: $unnnic-color-neutral-dark;
156
144
 
157
- .unnnic-switch {
158
- appearance: none;
159
- width: $switch-width;
160
- height: $switch-height;
161
- margin: 0;
162
- background-color: $unnnic-color-bg-muted;
163
- border-radius: $unnnic-radius-3;
164
- box-sizing: border-box;
165
- outline: none;
166
-
167
- background-image: url('@/assets/icons/switch-checked.svg');
168
- background-repeat: no-repeat;
169
- background-position: 4px center;
170
-
171
- transition:
172
- 120ms linear background-position,
173
- 120ms linear background-color;
174
-
175
- cursor: pointer;
176
-
177
- &:checked {
178
- background-color: $unnnic-color-bg-active;
179
- background-position: 20px center;
180
- }
145
+ margin: $unnnic-spacing-stack-nano 0;
146
+ margin-right: $unnnic-inline-nano;
181
147
 
182
- &:disabled {
183
- background-color: $unnnic-color-bg-muted;
184
- background-image: url('@/assets/icons/switch-checked-disabled.svg');
148
+ &__small {
149
+ font-size: $unnnic-font-size-body-md;
150
+ line-height: $unnnic-font-size-body-md + $unnnic-line-height-md;
151
+ }
185
152
 
186
- cursor: not-allowed;
153
+ &__medium {
154
+ font-size: $unnnic-font-size-body-gt;
155
+ line-height: $unnnic-font-size-body-gt + $unnnic-line-height-md;
156
+ }
187
157
  }
188
158
 
189
- &__label {
190
- margin-bottom: $unnnic-space-3;
191
- }
159
+ &__icon {
160
+ align-self: center;
161
+ margin: $unnnic-spacing-stack-nano $unnnic-inline-nano;
192
162
 
193
- &__option {
194
- margin: 0;
195
- font: $unnnic-font-body;
196
- color: $unnnic-color-fg-emphasized;
163
+ :deep(#default-circle) {
164
+ transition: 0.2s linear transform;
165
+ }
197
166
 
198
- &--disabled {
199
- color: $unnnic-color-fg-muted;
167
+ &.active {
168
+ :deep(#default-circle) {
169
+ transform: translateX(45%);
170
+ }
200
171
  }
201
172
  }
173
+ }
202
174
 
203
- &__helper {
204
- margin: 0;
205
- margin-left: $switch-width + $unnnic-space-2;
206
- font: $unnnic-font-caption-2;
207
- color: $unnnic-color-fg-base;
175
+ .unnnic-icon__size {
176
+ &--md {
177
+ width: 3 * $unnnic-font-size;
178
+ }
179
+ &--sm {
180
+ width: 2 * $unnnic-font-size;
208
181
  }
209
182
  }
210
183
  </style>
@@ -12,26 +12,93 @@ describe('Switch', () => {
12
12
  beforeEach(() => {
13
13
  wrapper = createWrapper({ modelValue: false });
14
14
  });
15
+ it('should render the component correctly with default props', () => {
16
+ expect(wrapper.exists()).toBe(true);
17
+ expect(wrapper.findComponent({ name: 'UnnnicIcon' }).exists()).toBe(true);
18
+ expect(wrapper.text()).toBe('');
19
+ });
20
+
21
+ it('should render the left text (textLeft) when provided', async () => {
22
+ await wrapper.setProps({ textLeft: 'Left Text' });
23
+
24
+ // This check ensures that the icon is placed before the switch text
25
+ const switchChildren = wrapper.findComponent(Switch).element.children;
26
+ expect(switchChildren[0].getAttribute('data-test-id')).toBe(
27
+ 'switch-text-left',
28
+ );
29
+ expect(switchChildren[1].getAttribute('data-test-id')).toBe('switch-icon');
30
+ });
31
+
32
+ it('should render the right text (textRight) when provided', async () => {
33
+ await wrapper.setProps({ textRight: 'Right Text' });
34
+
35
+ // This check ensures that the icon is placed after the switch text
36
+ const switchChildren = wrapper.findComponent(Switch).element.children;
37
+ expect(switchChildren[0].getAttribute('data-test-id')).toBe('switch-icon');
38
+ expect(switchChildren[1].getAttribute('data-test-id')).toBe(
39
+ 'switch-text-right',
40
+ );
41
+ });
42
+
43
+ it('should render the correct icon when the switch is disabled/enabled', async () => {
44
+ await wrapper.setProps({ disabled: true });
45
+ const disabledIconComponent = wrapper.findComponent({ name: 'UnnnicIcon' });
46
+ expect(disabledIconComponent.props('icon')).toBe('switch-default-disabled');
15
47
 
16
- it('should render the option when provided', async () => {
17
- await wrapper.setProps({ option: 'Option Text' });
48
+ await wrapper.setProps({ modelValue: true });
49
+ const enabledIconComponent = wrapper.findComponent({ name: 'UnnnicIcon' });
50
+ expect(enabledIconComponent.props('icon')).toBe('switch-selected-disabled');
51
+ });
18
52
 
19
- const switchOption = wrapper.find('[data-testid="switch-option"]');
20
- expect(switchOption.text()).toBe('Option Text');
53
+ it('should render the correct icon based on the isActive state', async () => {
54
+ expect(wrapper.vm.isActive).toBe(false);
55
+ await wrapper.setProps({ modelValue: true });
56
+ expect(wrapper.vm.isActive).toBe(true);
57
+ expect(wrapper.findComponent({ name: 'UnnnicIcon' }).props('icon')).toBe(
58
+ 'switch-default',
59
+ );
60
+ });
61
+
62
+ it('should render the correct icon size based on the size prop', async () => {
63
+ await wrapper.setProps({ size: 'small' });
64
+ expect(wrapper.findComponent({ name: 'UnnnicIcon' }).props('size')).toBe(
65
+ 'sm',
66
+ );
67
+
68
+ await wrapper.setProps({ size: 'medium' });
69
+ expect(wrapper.findComponent({ name: 'UnnnicIcon' }).props('size')).toBe(
70
+ 'md',
71
+ );
72
+ });
73
+
74
+ it('should change the icon color based on the state', async () => {
75
+ expect(wrapper.findComponent({ name: 'UnnnicIcon' }).props('scheme')).toBe(
76
+ 'neutral-soft',
77
+ );
78
+
79
+ await wrapper.setProps({ modelValue: true });
80
+ expect(wrapper.findComponent({ name: 'UnnnicIcon' }).props('scheme')).toBe(
81
+ 'brand-weni',
82
+ );
83
+
84
+ await wrapper.setProps({ disabled: true });
85
+ expect(wrapper.findComponent({ name: 'UnnnicIcon' }).props('scheme')).toBe(
86
+ 'neutral-soft',
87
+ );
21
88
  });
22
89
 
23
90
  it('should toggle isActive state and emit the correct event when toggleState is called', async () => {
24
91
  const initialIsActive = wrapper.vm.isActive;
25
- const switchInput = wrapper.find('input[type="checkbox"]');
26
- await switchInput.trigger('change');
92
+ const switchIcon = wrapper.findComponent('[ data-test-id="switch-icon"]');
93
+ await switchIcon.trigger('click');
27
94
  expect(wrapper.emitted('update:model-value')).toBeTruthy();
28
95
  expect(wrapper.vm.isActive).toBe(!initialIsActive);
29
96
  });
30
97
 
31
98
  it('should not change state when disabled is true', async () => {
32
99
  await wrapper.setProps({ disabled: true });
33
- const switchInput = wrapper.find('input[type="checkbox"]');
34
- await switchInput.trigger('change');
100
+ const switchIcon = wrapper.findComponent('[ data-test-id="switch-icon"]');
101
+ await switchIcon.trigger('click');
35
102
  expect(wrapper.emitted('update:model-value')).toBeFalsy();
36
103
  expect(wrapper.vm.isActive).toBe(false);
37
104
  });
@@ -1,10 +1,11 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
3
  exports[`Switch > should match the snapshot 1`] = `
4
- "<section data-v-e4356c9d="" class="unnnic-switch-wrapper">
5
- <!--v-if--><label data-v-e4356c9d=""><input data-v-e4356c9d="" class="unnnic-switch" type="checkbox">
6
- <!--v-if-->
7
- </label>
4
+ "<div data-v-e4356c9d="" class="unnnic-switch">
5
+ <!--v-if--><svg data-v-3d58a7dd="" data-v-26446d8e="" data-v-e4356c9d="" id="default" width="80" height="40" viewBox="0 0 80 40" xmlns="http://www.w3.org/2000/svg" class="unnnic-icon unnnic-icon--size-svg-md unnnic-icon__size--md unnnic--clickable unnnic-icon-scheme--neutral-soft unnnic-switch__icon" data-testid="custom-icon" lineHeight="" disabled="false" data-test-id="switch-icon">
6
+ <rect data-v-3d58a7dd="" x="4.20013" y="2.10046" width="71.6" height="35.8" rx="17.9" class="primary"></rect>
7
+ <circle data-v-3d58a7dd="" id="default-circle" cx="22.5" cy="20.0005" r="12.5" fill="white"></circle>
8
+ </svg>
8
9
  <!--v-if-->
9
- </section>"
10
+ </div>"
10
11
  `;
@@ -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="unnnic-icon material-symbols-rounded unnnic-icon-scheme--fg-base unnnic-icon-size--sm 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="unnnic-icon material-symbols-rounded unnnic-icon-scheme--neutral-cleanest unnnic-icon-size--sm 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-->
@@ -42,7 +42,7 @@ exports[`TableNext.vue > matches the snapshot 1`] = `
42
42
  <p data-v-e29458bb="" class="table-pagination__count" data-testid="count">1 - 1 of 1</p>
43
43
  <div data-v-0eeff8cb="" data-v-e29458bb="" class="pagination"><button data-v-ceff2a60="" data-v-0eeff8cb="" data-test="previous-button" disabled="" class="unnnic-button unnnic-button--size-small unnnic-button--tertiary unnnic-button--icon-on-center">
44
44
  <!--v-if-->
45
- <!--v-if--><span data-v-26446d8e="" data-v-ceff2a60="" class="unnnic-icon material-symbols-rounded unnnic-icon-scheme--neutral-clean unnnic-icon-size--ant unnnic-icon__size--ant" data-testid="icon-center" translate="no" style="visibility: visible;">chevron_left</span><span data-v-ceff2a60="" class="unnnic-button__label" style="visibility: visible;" data-testid="button-label"> </span>
45
+ <!--v-if--><span data-v-26446d8e="" data-v-ceff2a60="" class="unnnic-icon material-symbols-rounded unnnic-icon-scheme--neutral-clean unnnic-icon-size--sm unnnic-icon__size--sm" data-testid="icon-center" translate="no" style="visibility: visible;">chevron_left</span><span data-v-ceff2a60="" class="unnnic-button__label" style="visibility: visible;" data-testid="button-label"> </span>
46
46
  <!--v-if-->
47
47
  </button><button data-v-ceff2a60="" data-v-0eeff8cb="" data-test="page-button" class="unnnic-button unnnic-button--size-small unnnic-button--secondary">
48
48
  <!--v-if-->
@@ -51,7 +51,7 @@ exports[`TableNext.vue > matches the snapshot 1`] = `
51
51
  <!--v-if-->
52
52
  </button><button data-v-ceff2a60="" data-v-0eeff8cb="" data-test="next-button" disabled="" class="unnnic-button unnnic-button--size-small unnnic-button--tertiary unnnic-button--icon-on-center">
53
53
  <!--v-if-->
54
- <!--v-if--><span data-v-26446d8e="" data-v-ceff2a60="" class="unnnic-icon material-symbols-rounded unnnic-icon-scheme--neutral-clean unnnic-icon-size--ant unnnic-icon__size--ant" data-testid="icon-center" translate="no" style="visibility: visible;">chevron_right</span><span data-v-ceff2a60="" class="unnnic-button__label" style="visibility: visible;" data-testid="button-label"> </span>
54
+ <!--v-if--><span data-v-26446d8e="" data-v-ceff2a60="" class="unnnic-icon material-symbols-rounded unnnic-icon-scheme--neutral-clean unnnic-icon-size--sm unnnic-icon__size--sm" data-testid="icon-center" translate="no" style="visibility: visible;">chevron_right</span><span data-v-ceff2a60="" class="unnnic-button__label" style="visibility: visible;" data-testid="button-label"> </span>
55
55
  <!--v-if-->
56
56
  </button></div>
57
57
  </section>
@@ -5,7 +5,7 @@ exports[`TablePagination.vue > matches the snapshot 1`] = `
5
5
  <p data-v-e29458bb="" class="table-pagination__count" data-testid="count">1 - 10 of 100</p>
6
6
  <div data-v-0eeff8cb="" data-v-e29458bb="" class="pagination"><button data-v-ceff2a60="" data-v-0eeff8cb="" data-test="previous-button" disabled="" class="unnnic-button unnnic-button--size-small unnnic-button--tertiary unnnic-button--icon-on-center">
7
7
  <!--v-if-->
8
- <!--v-if--><span data-v-26446d8e="" data-v-ceff2a60="" class="unnnic-icon material-symbols-rounded unnnic-icon-scheme--neutral-clean unnnic-icon-size--ant unnnic-icon__size--ant" data-testid="icon-center" translate="no" style="visibility: visible;">chevron_left</span><span data-v-ceff2a60="" class="unnnic-button__label" style="visibility: visible;" data-testid="button-label"> </span>
8
+ <!--v-if--><span data-v-26446d8e="" data-v-ceff2a60="" class="unnnic-icon material-symbols-rounded unnnic-icon-scheme--neutral-clean unnnic-icon-size--sm unnnic-icon__size--sm" data-testid="icon-center" translate="no" style="visibility: visible;">chevron_left</span><span data-v-ceff2a60="" class="unnnic-button__label" style="visibility: visible;" data-testid="button-label"> </span>
9
9
  <!--v-if-->
10
10
  </button><button data-v-ceff2a60="" data-v-0eeff8cb="" data-test="page-button" class="unnnic-button unnnic-button--size-small unnnic-button--secondary">
11
11
  <!--v-if-->
@@ -34,7 +34,7 @@ exports[`TablePagination.vue > matches the snapshot 1`] = `
34
34
  <!--v-if-->
35
35
  </button><button data-v-ceff2a60="" data-v-0eeff8cb="" data-test="next-button" class="unnnic-button unnnic-button--size-small unnnic-button--tertiary unnnic-button--icon-on-center">
36
36
  <!--v-if-->
37
- <!--v-if--><span data-v-26446d8e="" data-v-ceff2a60="" class="unnnic-icon material-symbols-rounded unnnic-icon-scheme--neutral-dark unnnic-icon-size--ant unnnic-icon__size--ant" data-testid="icon-center" translate="no" style="visibility: visible;">chevron_right</span><span data-v-ceff2a60="" class="unnnic-button__label" style="visibility: visible;" data-testid="button-label"> </span>
37
+ <!--v-if--><span data-v-26446d8e="" data-v-ceff2a60="" class="unnnic-icon material-symbols-rounded unnnic-icon-scheme--neutral-dark unnnic-icon-size--sm unnnic-icon__size--sm" data-testid="icon-center" translate="no" style="visibility: visible;">chevron_right</span><span data-v-ceff2a60="" class="unnnic-button__label" style="visibility: visible;" data-testid="button-label"> </span>
38
38
  <!--v-if-->
39
39
  </button></div>
40
40
  </section>"
@@ -4,7 +4,7 @@
4
4
  :size="size"
5
5
  :disabled="disabled"
6
6
  :message="message"
7
- :error="computedError"
7
+ :error="errors.join(', ') || type === 'error'"
8
8
  >
9
9
  <textarea
10
10
  ref="textarea"
@@ -18,14 +18,13 @@
18
18
  :disabled="disabled"
19
19
  :value="modelValue"
20
20
  @input="$emit('update:modelValue', fullySanitize($event.target.value))"
21
- />
21
+ ></textarea>
22
22
 
23
23
  <template
24
24
  v-if="maxLength"
25
25
  #rightMessage
26
+ >{{ modelValue.length }}/{{ maxLength }}</template
26
27
  >
27
- {{ modelValue.length }}/{{ maxLength }}
28
- </template>
29
28
  </UnnnicFormElement>
30
29
  </template>
31
30
 
@@ -44,14 +43,6 @@ export default {
44
43
  default: 'md',
45
44
  },
46
45
 
47
- resize: {
48
- type: String,
49
- default: 'vertical',
50
- validator(value) {
51
- return ['none', 'vertical'].indexOf(value) !== -1;
52
- },
53
- },
54
-
55
46
  label: {
56
47
  type: String,
57
48
  },
@@ -92,16 +83,6 @@ export default {
92
83
  },
93
84
  emits: ['update:modelValue'],
94
85
 
95
- computed: {
96
- computedError() {
97
- if (Array.isArray(this.errors)) {
98
- return this.errors.join(', ') || this.type === 'error';
99
- }
100
-
101
- return this.errors || this.type === 'error';
102
- },
103
- },
104
-
105
86
  methods: {
106
87
  fullySanitize,
107
88
  focus() {
@@ -115,35 +96,31 @@ export default {
115
96
  @use '@/assets/scss/unnnic' as *;
116
97
  @use '@/components/Input/Input' as *;
117
98
 
118
- * {
119
- margin: 0;
120
- padding: 0;
121
- box-sizing: border-box;
122
- }
123
-
124
99
  .unnnic-text-area {
125
100
  &__textarea {
126
101
  @include input-base;
127
102
 
128
103
  display: block;
129
104
  width: 100%;
130
-
131
- resize: v-bind(resize);
105
+ resize: vertical;
106
+ box-sizing: border-box;
132
107
 
133
108
  scrollbar-width: thin;
134
109
 
135
- padding: $unnnic-space-3 $unnnic-space-4;
136
-
137
110
  &--size-md {
138
111
  @include input-md-font;
139
112
 
140
- min-height: 90px;
113
+ min-height: 6.25 * $unnnic-font-size;
114
+ padding: ($unnnic-spacing-ant - $unnnic-border-width-thinner)
115
+ ($unnnic-spacing-sm - $unnnic-border-width-thinner);
141
116
  }
142
117
 
143
118
  &--size-sm {
144
119
  @include input-sm-font;
145
120
 
146
- min-height: $unnnic-space-20;
121
+ min-height: 5 * $unnnic-font-size;
122
+ padding: ($unnnic-spacing-xs)
123
+ ($unnnic-spacing-sm - $unnnic-border-width-thinner);
147
124
  }
148
125
 
149
126
  &.unnnic-text-area__textarea--type-error {