@weni/unnnic-system 3.2.2 → 3.2.3

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 (115) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/components/Accordion/Accordion.vue.d.ts +13 -72
  3. package/dist/components/Alert/Alert.vue.d.ts +28 -146
  4. package/dist/components/Alert/Version1dot1.vue.d.ts +14 -73
  5. package/dist/components/AudioRecorder/AudioHandler.vue.d.ts +13 -72
  6. package/dist/components/AudioRecorder/AudioPlayer.vue.d.ts +13 -72
  7. package/dist/components/AudioRecorder/AudioRecorder.vue.d.ts +39 -216
  8. package/dist/components/AvatarIcon/AvatarIcon.vue.d.ts +13 -72
  9. package/dist/components/Banner/Banner.vue.d.ts +13 -72
  10. package/dist/components/Banner/InfoBanner.vue.d.ts +13 -72
  11. package/dist/components/Breadcrumb/Breadcrumb.vue.d.ts +13 -72
  12. package/dist/components/Button/Button.vue.d.ts +21 -180
  13. package/dist/components/Button/Button.vue.d.ts.map +1 -1
  14. package/dist/components/Button/ButtonIcon.vue.d.ts +13 -72
  15. package/dist/components/Button/types.d.ts +16 -0
  16. package/dist/components/Button/types.d.ts.map +1 -0
  17. package/dist/components/Card/AccountCard.vue.d.ts +13 -72
  18. package/dist/components/Card/BlankCard.vue.d.ts +13 -72
  19. package/dist/components/Card/Card.vue.d.ts +107 -579
  20. package/dist/components/Card/CardCompany.vue.d.ts +40 -217
  21. package/dist/components/Card/CardData.vue.d.ts +13 -72
  22. package/dist/components/Card/CardStatusesContainer.vue.d.ts +26 -144
  23. package/dist/components/Card/ContentCard.vue.d.ts +13 -72
  24. package/dist/components/Card/DashCard.vue.d.ts +26 -144
  25. package/dist/components/Card/MarketplaceCard.vue.d.ts +13 -72
  26. package/dist/components/Card/SimpleCard.vue.d.ts +13 -72
  27. package/dist/components/Card/StatusCard.vue.d.ts +13 -72
  28. package/dist/components/Card/TitleCard.vue.d.ts +14 -73
  29. package/dist/components/CardImage/CardImage.vue.d.ts +39 -216
  30. package/dist/components/CardInformation/CardInformation.vue.d.ts +26 -144
  31. package/dist/components/CardProject/CardProject.vue.d.ts +14 -73
  32. package/dist/components/Carousel/Carousel.vue.d.ts +55 -291
  33. package/dist/components/Carousel/TagCarousel.vue.d.ts +53 -289
  34. package/dist/components/ChartBar/ChartBar.vue.d.ts +57 -252
  35. package/dist/components/ChatText/ChatText.vue.d.ts +13 -72
  36. package/dist/components/ChatsContact/ChatsContact.vue.d.ts +79 -433
  37. package/dist/components/ChatsDashboardTagLive/ChatsDashboardTagLive.vue.d.ts +13 -72
  38. package/dist/components/ChatsMessage/ChatsMessage.vue.d.ts +52 -288
  39. package/dist/components/ChatsMessage/ChatsMessageStatusBackdrop.vue.d.ts +26 -144
  40. package/dist/components/ChatsNavbar/ChatsNavbar.vue.d.ts +13 -72
  41. package/dist/components/ChatsUserAvatar/ChatsUserAvatar.vue.d.ts +13 -72
  42. package/dist/components/Checkbox/Checkbox.vue.d.ts +13 -72
  43. package/dist/components/DateFilter/DateFilter.vue.d.ts +17 -76
  44. package/dist/components/DatePicker/DatePicker.vue.d.ts +45 -181
  45. package/dist/components/Disclaimer/Disclaimer.vue.d.ts +5 -110
  46. package/dist/components/Disclaimer/Disclaimer.vue.d.ts.map +1 -1
  47. package/dist/components/Disclaimer/types.d.ts +7 -0
  48. package/dist/components/Disclaimer/types.d.ts.map +1 -0
  49. package/dist/components/Drawer/Drawer.vue.d.ts +57 -252
  50. package/dist/components/Dropdown/LanguageSelect.vue.d.ts +26 -144
  51. package/dist/components/Flag.vue.d.ts +13 -72
  52. package/dist/components/FormElement/FormElement.vue.d.ts +13 -72
  53. package/dist/components/FormElement/FormElement.vue.d.ts.map +1 -1
  54. package/dist/components/Icon/types.d.ts +13 -0
  55. package/dist/components/Icon/types.d.ts.map +1 -0
  56. package/dist/components/Icon.vue.d.ts +15 -72
  57. package/dist/components/Icon.vue.d.ts.map +1 -1
  58. package/dist/components/IconLoading/IconLoading.vue.d.ts +13 -72
  59. package/dist/components/ImportCard/ImportCard.vue.d.ts +57 -252
  60. package/dist/components/Input/BaseInput.vue.d.ts +1 -1
  61. package/dist/components/Input/Input.vue.d.ts +17 -76
  62. package/dist/components/Input/Input.vue.d.ts.map +1 -1
  63. package/dist/components/Input/TextInput.vue.d.ts +16 -75
  64. package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +63 -258
  65. package/dist/components/InputNext/InputNext.vue.d.ts +14 -73
  66. package/dist/components/Modal/Modal.vue.d.ts +13 -72
  67. package/dist/components/ModalDialog/ModalDialog.vue.d.ts +58 -253
  68. package/dist/components/ModalNext/ModalNext.vue.d.ts +74 -328
  69. package/dist/components/ModalUpload/ModalUpload.vue.d.ts +114 -504
  70. package/dist/components/MultiSelect/MultiSelect.vue.d.ts +13 -72
  71. package/dist/components/Pagination/Pagination.vue.d.ts +44 -180
  72. package/dist/components/ProgressBar/ProgressBar.vue.d.ts +13 -72
  73. package/dist/components/SelectSmart/SelectSmart.vue.d.ts +83 -437
  74. package/dist/components/SelectSmart/SelectSmartMultipleHeader.vue.d.ts +40 -217
  75. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts +13 -72
  76. package/dist/components/SelectSmart/SelectSmartOption.vue.d.ts.map +1 -1
  77. package/dist/components/SelectTime/index.vue.d.ts +16 -75
  78. package/dist/components/Slider/Slider.vue.d.ts +13 -72
  79. package/dist/components/StarRating/StarRating.vue.d.ts +13 -72
  80. package/dist/components/Switch/Switch.vue.d.ts +15 -74
  81. package/dist/components/Tab/Tab.vue.d.ts +13 -72
  82. package/dist/components/TableNext/TableBodyCell.vue.d.ts +2 -2
  83. package/dist/components/TableNext/TablePagination.vue.d.ts +44 -180
  84. package/dist/components/TabsExpanded/TabsExpanded.vue.d.ts +13 -72
  85. package/dist/components/Tag/BrandTag.vue.d.ts +13 -72
  86. package/dist/components/Tag/DefaultTag.vue.d.ts +13 -72
  87. package/dist/components/Tag/IndicatorTag.vue.d.ts +13 -72
  88. package/dist/components/Tag/Tag.vue.d.ts +40 -217
  89. package/dist/components/TextArea/TextArea.vue.d.ts +14 -73
  90. package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
  91. package/dist/components/Tour/Tour.vue.d.ts +44 -180
  92. package/dist/components/Tour/TourPopover.vue.d.ts +44 -180
  93. package/dist/components/UploadArea/UploadArea.vue.d.ts +57 -252
  94. package/dist/components/index.d.ts +13836 -7970
  95. package/dist/components/index.d.ts.map +1 -1
  96. package/dist/{es-b22a2af8.mjs → es-cc886436.mjs} +1 -1
  97. package/dist/{index-3e3537cb.mjs → index-d36790a8.mjs} +5864 -5904
  98. package/dist/{pt-br-7a4de77d.mjs → pt-br-5f433748.mjs} +1 -1
  99. package/dist/style.css +1 -1
  100. package/dist/unnnic.mjs +177 -90
  101. package/dist/unnnic.umd.js +40 -40
  102. package/package.json +1 -1
  103. package/src/components/Button/Button.vue +99 -128
  104. package/src/components/Button/types.ts +23 -0
  105. package/src/components/Checkbox/__tests__/Checkbox.spec.js +3 -3
  106. package/src/components/Disclaimer/Disclaimer.vue +27 -25
  107. package/src/components/Disclaimer/__tests__/Disclaimer.spec.js +24 -10
  108. package/src/components/Disclaimer/types.ts +7 -0
  109. package/src/components/Icon/types.ts +114 -0
  110. package/src/components/Icon.vue +44 -76
  111. package/src/components/Switch/__tests__/Switch.spec.js +9 -9
  112. package/src/components/TableNext/__test__/__snapshots__/TableNext.spec.js.snap +5 -5
  113. package/src/components/TableNext/__test__/__snapshots__/TablePagination.spec.js.snap +9 -9
  114. package/src/components/__tests__/Icon.spec.js +32 -18
  115. package/src/components/index.ts +93 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@weni/unnnic-system",
3
- "version": "3.2.2",
3
+ "version": "3.2.3",
4
4
  "type": "commonjs",
5
5
  "files": [
6
6
  "dist",
@@ -30,7 +30,7 @@
30
30
  :size="iconSize"
31
31
  :filled="iconsFilled"
32
32
  :class="{ 'unnnic-button__icon-left': hasText }"
33
- :style="{ visibility: loading ? 'hidden' : null }"
33
+ :style="{ visibility: loading ? 'hidden' : 'visible' }"
34
34
  :next="next"
35
35
  data-testid="icon-left"
36
36
  />
@@ -39,7 +39,7 @@
39
39
  v-if="iconCenter"
40
40
  :icon="iconCenter"
41
41
  :scheme="iconScheme"
42
- :style="{ visibility: loading ? 'hidden' : null }"
42
+ :style="{ visibility: loading ? 'hidden' : 'visible' }"
43
43
  :size="iconSize"
44
44
  :filled="iconsFilled"
45
45
  :next="next"
@@ -49,7 +49,7 @@
49
49
  <span
50
50
  v-if="!float"
51
51
  class="unnnic-button__label"
52
- :style="{ visibility: loading ? 'hidden' : null }"
52
+ :style="{ visibility: loading ? 'hidden' : 'visible' }"
53
53
  data-testid="button-label"
54
54
  >
55
55
  <slot /> {{ text }}
@@ -62,145 +62,116 @@
62
62
  :size="iconSize"
63
63
  :filled="iconsFilled"
64
64
  :class="{ 'unnnic-button__icon-right': hasText }"
65
- :style="{ visibility: loading ? 'hidden' : null }"
65
+ :style="{ visibility: loading ? 'hidden' : 'visible' }"
66
66
  :next="next"
67
67
  data-testid="icon-right"
68
68
  />
69
69
  </button>
70
70
  </template>
71
71
 
72
- <script>
72
+ <script setup lang="ts">
73
+ import { computed, watch, useSlots } from 'vue';
73
74
  import UnnnicIcon from '../Icon.vue';
75
+ import type { ButtonProps, ButtonSize, ButtonType } from './types';
76
+ import type { SchemeColor } from '../Icon/types';
74
77
 
75
- export default {
78
+ defineOptions({
76
79
  name: 'UnnnicButton',
77
- components: {
78
- UnnnicIcon,
79
- },
80
- props: {
81
- size: {
82
- type: String,
83
- default: 'large',
84
- },
85
- text: {
86
- type: String,
87
- default: '',
88
- },
89
- type: {
90
- type: String,
91
- default: 'primary',
92
- },
93
- float: {
94
- type: Boolean,
95
- default: false,
96
- },
97
- iconLeft: {
98
- type: String,
99
- default: '',
100
- },
101
- iconRight: {
102
- type: String,
103
- default: '',
104
- },
105
- iconCenter: {
106
- type: String,
107
- default: '',
108
- },
109
- iconsFilled: {
110
- type: Boolean,
111
- default: false,
112
- },
113
- next: {
114
- type: Boolean,
115
- default: false,
116
- },
117
-
118
- disabled: {
119
- type: Boolean,
120
- default: false,
121
- },
122
-
123
- loading: {
124
- type: Boolean,
125
- default: false,
126
- },
127
- },
128
- computed: {
129
- buttonDisabled() {
130
- return this.disabled || this.loading;
131
- },
132
-
133
- iconSize() {
134
- if (this.size === 'small') return 'sm';
135
- return 'md';
136
- },
137
- hasText() {
138
- if (this.$slots.default) return true;
139
- return this.text && this.text.length > 0;
140
- },
141
- iconScheme() {
142
- if (this.buttonDisabled) {
143
- return 'neutral-clean';
144
- }
80
+ });
81
+
82
+ export type { ButtonProps, ButtonSize, ButtonType };
83
+
84
+ const props = withDefaults(defineProps<ButtonProps>(), {
85
+ size: 'large',
86
+ text: '',
87
+ type: 'primary',
88
+ float: false,
89
+ iconLeft: '',
90
+ iconRight: '',
91
+ iconCenter: '',
92
+ iconsFilled: false,
93
+ next: false,
94
+ disabled: false,
95
+ loading: false,
96
+ });
97
+
98
+ const slots = useSlots();
99
+
100
+ const buttonDisabled = computed(() => {
101
+ return props.disabled || props.loading;
102
+ });
103
+
104
+ const iconSize = computed(() => {
105
+ if (props.size === 'small') return 'sm';
106
+ return 'md';
107
+ });
108
+
109
+ const hasText = computed(() => {
110
+ if (slots.default) return true;
111
+ return props.text && props.text.length > 0;
112
+ });
113
+
114
+ const iconScheme = computed((): SchemeColor => {
115
+ if (buttonDisabled.value) {
116
+ return 'neutral-clean';
117
+ }
145
118
 
146
- const typeToSchemeMap = {
147
- primary: 'neutral-white',
148
- secondary: 'neutral-dark',
149
- tertiary: 'neutral-dark',
150
- warning: 'neutral-white',
151
- attention: 'neutral-white',
152
- };
153
-
154
- return typeToSchemeMap[this.type] || '';
155
- },
156
-
157
- isSizePropValid() {
158
- return (
159
- this.size === 'large' ||
160
- (!this.float && this.size === 'small') ||
161
- (this.float && this.size === 'extra-large')
162
- );
163
- },
164
- isTypePropValid() {
165
- const validTypes = [
166
- 'primary',
167
- 'secondary',
168
- 'tertiary',
169
- 'alternative',
170
- 'warning',
171
- 'attention',
172
- ];
173
- return validTypes.includes(this.type);
174
- },
175
- },
176
- watch: {
177
- $props: {
178
- deep: true,
179
- immediate: true,
180
- handler() {
181
- this.validateProps();
182
- },
183
- },
184
- },
185
- methods: {
186
- validateProps() {
187
- if (!this.isSizePropValid || !this.isTypePropValid) {
188
- let errorMessage = 'TypeError:';
119
+ const typeToSchemeMap: Record<ButtonType, SchemeColor> = {
120
+ primary: 'neutral-white',
121
+ secondary: 'neutral-dark',
122
+ tertiary: 'neutral-dark',
123
+ alternative: 'neutral-white',
124
+ warning: 'neutral-white',
125
+ attention: 'neutral-white',
126
+ };
127
+
128
+ return typeToSchemeMap[props.type] || 'neutral-white';
129
+ });
130
+
131
+ const isSizePropValid = computed(() => {
132
+ return (
133
+ props.size === 'large' ||
134
+ (!props.float && props.size === 'small') ||
135
+ (props.float && props.size === 'extra-large')
136
+ );
137
+ });
138
+
139
+ const isTypePropValid = computed(() => {
140
+ const validTypes: ButtonType[] = [
141
+ 'primary',
142
+ 'secondary',
143
+ 'tertiary',
144
+ 'alternative',
145
+ 'warning',
146
+ 'attention',
147
+ ];
148
+ return validTypes.includes(props.type);
149
+ });
150
+
151
+ const validateProps = () => {
152
+ if (!isSizePropValid.value || !isTypePropValid.value) {
153
+ let errorMessage = 'TypeError:';
154
+
155
+ if (!isSizePropValid.value) {
156
+ errorMessage += ' Invalid size prop.';
157
+ errorMessage += ` Please provide 'large', 'small' (only if float prop is false), or 'extra-large' (only if float prop is true).`;
158
+ }
189
159
 
190
- if (!this.isSizePropValid) {
191
- errorMessage += ' Invalid size prop.';
192
- errorMessage += ` Please provide 'large', 'small' (only if float prop is false), or 'extra-large' (only if float prop is true).`;
193
- }
160
+ if (!isTypePropValid.value) {
161
+ errorMessage += ' Invalid type prop.';
162
+ }
194
163
 
195
- if (!this.isTypePropValid) {
196
- errorMessage += ' Invalid type prop.';
197
- }
164
+ throw new Error(errorMessage);
165
+ }
166
+ };
198
167
 
199
- throw new Error(errorMessage);
200
- }
201
- },
168
+ watch(
169
+ () => props,
170
+ () => {
171
+ validateProps();
202
172
  },
203
- };
173
+ { deep: true, immediate: true }
174
+ );
204
175
  </script>
205
176
 
206
177
  <style lang="scss" scoped>
@@ -0,0 +1,23 @@
1
+ export type ButtonSize = 'small' | 'large' | 'extra-large';
2
+
3
+ export type ButtonType =
4
+ | 'primary'
5
+ | 'secondary'
6
+ | 'tertiary'
7
+ | 'alternative'
8
+ | 'warning'
9
+ | 'attention';
10
+
11
+ export interface ButtonProps {
12
+ size?: ButtonSize;
13
+ text?: string;
14
+ type?: ButtonType;
15
+ float?: boolean;
16
+ iconLeft?: string;
17
+ iconRight?: string;
18
+ iconCenter?: string;
19
+ iconsFilled?: boolean;
20
+ next?: boolean;
21
+ disabled?: boolean;
22
+ loading?: boolean;
23
+ }
@@ -24,7 +24,7 @@ describe('Checkbox', () => {
24
24
 
25
25
  it('should checkbox emit change events', async () => {
26
26
  wrapper = createWrapper();
27
- const checkbox = wrapper.findComponent({ name: 'Icon' });
27
+ const checkbox = wrapper.findComponent({ name: 'UnnnicIcon' });
28
28
 
29
29
  // click false to true
30
30
  await checkbox.trigger('click');
@@ -44,14 +44,14 @@ describe('Checkbox', () => {
44
44
 
45
45
  it('should checkbox disabled', async () => {
46
46
  wrapper = createWrapper({ disabled: true });
47
- const checkbox = wrapper.findComponent({ name: 'Icon' });
47
+ const checkbox = wrapper.findComponent({ name: 'UnnnicIcon' });
48
48
  await checkbox.trigger('click');
49
49
  expect(wrapper.emitted('change')).eq(undefined);
50
50
  });
51
51
 
52
52
  it('should define sizes', async () => {
53
53
  wrapper = createWrapper({ size: 'sm', textRight: 'Label' });
54
- const checkbox = wrapper.findComponent({ name: 'Icon' });
54
+ const checkbox = wrapper.findComponent({ name: 'UnnnicIcon' });
55
55
  const label = wrapper.find('.unnnic-checkbox__label');
56
56
 
57
57
  // sm
@@ -15,36 +15,38 @@
15
15
  </section>
16
16
  </template>
17
17
 
18
- <script>
18
+ <script setup lang="ts">
19
19
  import icons from '../../utils/iconList';
20
20
  import colors from '../../utils/colorsList';
21
+ import UnnnicIcon from '../Icon.vue';
22
+ import type { DisclaimerProps } from './types';
21
23
 
22
- import unnnicIcon from '../Icon.vue';
23
-
24
- export default {
24
+ defineOptions({
25
25
  name: 'UnnnicDisclaimer',
26
- components: { unnnicIcon },
27
- props: {
28
- text: {
29
- type: String,
30
- required: true,
31
- },
32
- icon: {
33
- type: String,
34
- default: 'alert-circle-1-1',
35
- validator(value) {
36
- return icons.includes(value);
37
- },
38
- },
39
- iconColor: {
40
- type: String,
41
- default: 'neutral-darkest',
42
- validator(value) {
43
- return colors.includes(value);
44
- },
45
- },
46
- },
26
+ });
27
+
28
+ export type { DisclaimerProps };
29
+
30
+ const props = withDefaults(defineProps<DisclaimerProps>(), {
31
+ icon: 'alert-circle-1-1',
32
+ iconColor: 'neutral-darkest',
33
+ });
34
+
35
+ const validateIcon = (value: string): boolean => {
36
+ return icons.includes(value);
37
+ };
38
+
39
+ const validateIconColor = (value: string): boolean => {
40
+ return colors.includes(value);
47
41
  };
42
+
43
+ if (!validateIcon(props.icon as string)) {
44
+ console.warn(`Invalid icon prop: ${props.icon}`);
45
+ }
46
+
47
+ if (!validateIconColor(props.iconColor as string)) {
48
+ console.warn(`Invalid iconColor prop: ${props.iconColor}`);
49
+ }
48
50
  </script>
49
51
 
50
52
  <style lang="scss" scoped>
@@ -38,21 +38,35 @@ describe('Disclaimer', () => {
38
38
  const iconComponent = wrapper.findComponent(
39
39
  '[data-testid="disclaimer-icon"]',
40
40
  );
41
- expect(iconComponent.props('icon')).toBe(Disclaimer.props.icon.default);
42
- expect(iconComponent.props('scheme')).toBe(
43
- Disclaimer.props.iconColor.default,
44
- );
41
+ expect(iconComponent.props('icon')).toBe('alert-circle-1-1');
42
+ expect(iconComponent.props('scheme')).toBe('neutral-darkest');
45
43
  });
46
44
 
47
45
  it('validates the icon prop correctly', () => {
48
- const validator = Disclaimer.props.icon.validator;
49
- expect(validator('alert-circle-1-1')).toBe(true);
50
- expect(validator('invalid-icon')).toBe(false);
46
+ const wrapperValid = mount(Disclaimer, {
47
+ props: { text: 'Test', icon: 'alert-circle-1-1' },
48
+ global: { components: { UnnnicIcon: Icon } },
49
+ });
50
+ expect(wrapperValid.exists()).toBe(true);
51
+
52
+ const wrapperInvalid = mount(Disclaimer, {
53
+ props: { text: 'Test', icon: 'invalid-icon' },
54
+ global: { components: { UnnnicIcon: Icon } },
55
+ });
56
+ expect(wrapperInvalid.exists()).toBe(true);
51
57
  });
52
58
 
53
59
  it('validates the iconColor prop correctly', () => {
54
- const validator = Disclaimer.props.iconColor.validator;
55
- expect(validator('neutral-darkest')).toBe(true);
56
- expect(validator('invalid-color')).toBe(false);
60
+ const wrapperValid = mount(Disclaimer, {
61
+ props: { text: 'Test', iconColor: 'neutral-darkest' },
62
+ global: { components: { UnnnicIcon: Icon } },
63
+ });
64
+ expect(wrapperValid.exists()).toBe(true);
65
+
66
+ const wrapperInvalid = mount(Disclaimer, {
67
+ props: { text: 'Test', iconColor: 'invalid-color' },
68
+ global: { components: { UnnnicIcon: Icon } },
69
+ });
70
+ expect(wrapperInvalid.exists()).toBe(true);
57
71
  });
58
72
  });
@@ -0,0 +1,7 @@
1
+ import type { SchemeColor } from '../Icon/types';
2
+
3
+ export interface DisclaimerProps {
4
+ text: string;
5
+ icon?: string;
6
+ iconColor?: SchemeColor;
7
+ }
@@ -0,0 +1,114 @@
1
+ export type SchemeColor =
2
+ | 'background-solo'
3
+ | 'background-sky'
4
+ | 'background-grass'
5
+ | 'background-carpet'
6
+ | 'background-snow'
7
+ | 'background-lightest'
8
+ | 'background-white'
9
+ | 'neutral-black'
10
+ | 'neutral-darkest'
11
+ | 'neutral-dark'
12
+ | 'neutral-cloudy'
13
+ | 'neutral-cleanest'
14
+ | 'neutral-clean'
15
+ | 'neutral-soft'
16
+ | 'neutral-lightest'
17
+ | 'neutral-light'
18
+ | 'neutral-white'
19
+ | 'neutral-snow'
20
+ | 'feedback-red'
21
+ | 'feedback-green'
22
+ | 'feedback-yellow'
23
+ | 'feedback-blue'
24
+ | 'feedback-grey'
25
+ | 'aux-blue'
26
+ | 'aux-purple'
27
+ | 'aux-orange'
28
+ | 'aux-lemon'
29
+ | 'aux-pink'
30
+ | 'aux-baby-blue'
31
+ | 'aux-baby-yellow'
32
+ | 'aux-baby-red'
33
+ | 'aux-baby-green'
34
+ | 'aux-baby-pink'
35
+ | 'aux-green-100'
36
+ | 'aux-green-300'
37
+ | 'aux-green-500'
38
+ | 'aux-green-700'
39
+ | 'aux-green-900'
40
+ | 'aux-blue-100'
41
+ | 'aux-blue-300'
42
+ | 'aux-blue-500'
43
+ | 'aux-blue-700'
44
+ | 'aux-blue-900'
45
+ | 'aux-purple-100'
46
+ | 'aux-purple-300'
47
+ | 'aux-purple-500'
48
+ | 'aux-purple-700'
49
+ | 'aux-purple-900'
50
+ | 'aux-red-100'
51
+ | 'aux-red-300'
52
+ | 'aux-red-500'
53
+ | 'aux-red-700'
54
+ | 'aux-red-900'
55
+ | 'aux-orange-100'
56
+ | 'aux-orange-300'
57
+ | 'aux-orange-500'
58
+ | 'aux-orange-700'
59
+ | 'aux-orange-900'
60
+ | 'aux-yellow-100'
61
+ | 'aux-yellow-300'
62
+ | 'aux-yellow-500'
63
+ | 'aux-yellow-700'
64
+ | 'aux-yellow-900'
65
+ | 'floweditor-blue'
66
+ | 'floweditor-purple'
67
+ | 'floweditor-wine'
68
+ | 'floweditor-orange'
69
+ | 'floweditor-pink'
70
+ | 'floweditor-turquoise'
71
+ | 'floweditor-green'
72
+ | 'weni-50'
73
+ | 'weni-100'
74
+ | 'weni-200'
75
+ | 'weni-300'
76
+ | 'weni-400'
77
+ | 'weni-500'
78
+ | 'weni-600'
79
+ | 'weni-700'
80
+ | 'weni-800'
81
+ | 'weni-900'
82
+ | 'weni-950'
83
+ | 'brand-weni'
84
+ | 'brand-weni-dark'
85
+ | 'brand-weni-soft'
86
+ | 'brand-sec-dark'
87
+ | 'brand-sec-soft'
88
+ | 'brand-sec';
89
+
90
+ export type IconSize =
91
+ | 'nano'
92
+ | 'xs'
93
+ | 'sm'
94
+ | 'ant'
95
+ | 'md'
96
+ | 'lg'
97
+ | 'xl'
98
+ | 'avatar-lg'
99
+ | 'avatar-md'
100
+ | 'avatar-sm'
101
+ | 'avatar-xs'
102
+ | 'avatar-nano';
103
+
104
+ export type LineHeight = 'sm' | 'md' | 'lg';
105
+
106
+ export interface IconProps {
107
+ filled?: boolean;
108
+ next?: boolean;
109
+ icon?: string | null;
110
+ clickable?: boolean;
111
+ size?: IconSize;
112
+ lineHeight?: LineHeight | null;
113
+ scheme?: SchemeColor;
114
+ }