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