@weni/unnnic-system 3.2.8 → 3.2.9-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Accordion/Accordion.vue.d.ts +1 -1
- package/dist/components/Alert/Alert.vue.d.ts +18 -119
- package/dist/components/Alert/Alert.vue.d.ts.map +1 -1
- package/dist/components/Alert/Version1dot1.vue.d.ts +2 -38
- package/dist/components/Alert/Version1dot1.vue.d.ts.map +1 -1
- 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/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/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 +182 -27
- package/dist/components/DatePicker/DatePicker.vue.d.ts +8 -8
- package/dist/components/Drawer/Drawer.vue.d.ts +7 -7
- package/dist/components/Dropdown/Dropdown.vue.d.ts +1 -1
- package/dist/components/Dropdown/LanguageSelect.vue.d.ts +3 -3
- package/dist/components/Flag.vue.d.ts +2 -2
- package/dist/components/FormElement/FormElement.vue.d.ts +38 -32
- package/dist/components/FormElement/FormElement.vue.d.ts.map +1 -1
- package/dist/components/Icon.vue.d.ts +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 +10 -1
- package/dist/components/Input/BaseInput.vue.d.ts.map +1 -1
- package/dist/components/Input/Input.vue.d.ts +182 -27
- package/dist/components/Input/Input.vue.d.ts.map +1 -1
- package/dist/components/Input/TextInput.vue.d.ts +31 -13
- package/dist/components/Input/TextInput.vue.d.ts.map +1 -1
- package/dist/components/InputDatePicker/InputDatePicker.vue.d.ts +192 -37
- package/dist/components/InputNext/InputNext.vue.d.ts +3 -3
- package/dist/components/Label/Label.vue.d.ts +9 -15
- package/dist/components/Label/Label.vue.d.ts.map +1 -1
- package/dist/components/Modal/Modal.vue.d.ts +2 -2
- package/dist/components/ModalDialog/ModalDialog.vue.d.ts +9 -9
- package/dist/components/ModalDialog/ModalDialog.vue.d.ts.map +1 -1
- package/dist/components/ModalNext/ModalNext.vue.d.ts +190 -35
- 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 +45 -27
- 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 +31 -13
- package/dist/components/SkeletonLoading/skeletonTheme.vue.d.ts +1 -1
- 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/TemplatePreview/TemplatePreview.vue.d.ts +9 -0
- package/dist/components/TemplatePreview/TemplatePreview.vue.d.ts.map +1 -0
- package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts +15 -0
- package/dist/components/TemplatePreview/TemplatePreviewModal.vue.d.ts.map +1 -0
- package/dist/components/TextArea/TextArea.vue.d.ts +38 -32
- package/dist/components/TextArea/TextArea.vue.d.ts.map +1 -1
- package/dist/components/Toast/Toast.vue.d.ts +16 -0
- package/dist/components/Toast/Toast.vue.d.ts.map +1 -0
- package/dist/components/Toast/ToastManager.d.ts +14 -0
- package/dist/components/Toast/ToastManager.d.ts.map +1 -0
- package/dist/components/Toast/types.d.ts +35 -0
- package/dist/components/Toast/types.d.ts.map +1 -0
- 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 +2116 -1064
- package/dist/components/index.d.ts.map +1 -1
- package/dist/{es-b3e51efa.js → es-2735a8fb.js} +1 -1
- package/dist/{index-b9e3c5e9.js → index-e012fa52.js} +8396 -8093
- package/dist/{pt-br-20887b32.js → pt-br-f38a8b9c.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/unnnic.js +126 -120
- package/dist/unnnic.umd.cjs +42 -41
- package/dist/utils/call.d.ts +2 -1
- package/dist/utils/call.d.ts.map +1 -1
- package/package.json +2 -2
- 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/assets/scss/scheme-colors.scss +131 -4
- package/src/assets/tokens/colors.json +2 -2
- package/src/components/Alert/Alert.vue +26 -135
- package/src/components/Alert/Version1dot1.vue +0 -36
- package/src/components/Button/Button.vue +60 -108
- package/src/components/Button/types.ts +0 -1
- package/src/components/FormElement/FormElement.vue +51 -91
- package/src/components/Input/BaseInput.vue +10 -12
- package/src/components/Input/Input.scss +17 -20
- package/src/components/Input/Input.vue +96 -28
- package/src/components/Input/TextInput.vue +28 -41
- package/src/components/Input/__test__/TextInput.spec.js +5 -5
- package/src/components/Input/__test__/__snapshots__/Input.spec.js.snap +12 -3
- package/src/components/Input/__test__/__snapshots__/TextInput.spec.js.snap +1 -1
- package/src/components/Label/Label.vue +52 -21
- package/src/components/Label/__tests__/Label.spec.js +1 -1
- package/src/components/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
- package/src/components/ModalDialog/ModalDialog.vue +1 -0
- package/src/components/ModalDialog/__tests__/__snapshots__/ModalDialog.spec.js.snap +1 -1
- 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/TemplatePreview/TemplatePreview.vue +252 -0
- package/src/components/TemplatePreview/TemplatePreviewModal.vue +51 -0
- package/src/components/TemplatePreview/types.d.ts +16 -0
- package/src/components/TextArea/TextArea.vue +13 -9
- package/src/components/TextArea/__test__/__snapshots__/TextArea.spec.js.snap +7 -2
- package/src/components/Toast/Toast.vue +236 -0
- package/src/components/Toast/ToastManager.ts +110 -0
- package/src/components/Toast/types.ts +57 -0
- package/src/components/index.ts +18 -4
- package/src/stories/Alert.stories.js +6 -67
- package/src/stories/Button.stories.js +2 -17
- package/src/stories/Input.stories.js +16 -3
- package/src/stories/Label.stories.js +7 -0
- package/src/stories/TemplatePreview.stories.js +94 -0
- package/src/stories/TemplatePreviewModal.stories.js +110 -0
- package/src/stories/Toast.mdx +123 -0
- package/src/stories/Toast.stories.js +126 -0
- package/src/types/scheme-colors.d.ts +120 -14
- package/src/utils/call.js +46 -18
- package/src/components/Alert/AlertBanner.vue +0 -182
- package/src/components/Alert/AlertCaller.vue +0 -49
- package/src/components/Alert/__tests__/AlertBanner.spec.js +0 -89
- package/src/components/Alert/__tests__/AlertCaller.spec.js +0 -98
|
@@ -6,13 +6,25 @@
|
|
|
6
6
|
>
|
|
7
7
|
<slot name="label" />
|
|
8
8
|
</p>
|
|
9
|
-
|
|
10
|
-
<p
|
|
9
|
+
<section
|
|
11
10
|
v-else-if="label"
|
|
12
11
|
class="unnnic-form__label"
|
|
13
12
|
>
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
<p>
|
|
14
|
+
{{ fullySanitize(label) }}
|
|
15
|
+
</p>
|
|
16
|
+
<UnnnicToolTip
|
|
17
|
+
v-if="tooltip"
|
|
18
|
+
enabled
|
|
19
|
+
:text="tooltip"
|
|
20
|
+
>
|
|
21
|
+
<UnnnicIcon
|
|
22
|
+
icon="help"
|
|
23
|
+
size="sm"
|
|
24
|
+
scheme="fg-base"
|
|
25
|
+
/>
|
|
26
|
+
</UnnnicToolTip>
|
|
27
|
+
</section>
|
|
16
28
|
|
|
17
29
|
<TextInput
|
|
18
30
|
v-bind="$attrs"
|
|
@@ -28,24 +40,41 @@
|
|
|
28
40
|
:size="size"
|
|
29
41
|
:mask="mask"
|
|
30
42
|
:nativeType="nativeType"
|
|
43
|
+
:maxlength="maxlength"
|
|
44
|
+
:disabled="disabled"
|
|
31
45
|
/>
|
|
32
46
|
|
|
33
|
-
<
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
47
|
+
<section class="unnnic-form__hints-container">
|
|
48
|
+
<section class="unnnic-form__message-container">
|
|
49
|
+
<p
|
|
50
|
+
v-if="message"
|
|
51
|
+
class="unnnic-form__message"
|
|
52
|
+
>
|
|
53
|
+
{{ fullySanitize(message) }}
|
|
54
|
+
</p>
|
|
55
|
+
<p
|
|
56
|
+
v-if="!!errors.length"
|
|
57
|
+
class="unnnic-form__message error"
|
|
58
|
+
>
|
|
59
|
+
{{ Array.isArray(errors) ? errors.join(', ') : errors }}
|
|
60
|
+
</p>
|
|
61
|
+
</section>
|
|
62
|
+
<p v-if="maxlength && showMaxlengthCounter">
|
|
63
|
+
{{ (val || '').length }} / {{ maxlength }}
|
|
64
|
+
</p>
|
|
65
|
+
</section>
|
|
39
66
|
</div>
|
|
40
67
|
</template>
|
|
41
68
|
|
|
42
69
|
<script>
|
|
43
70
|
import { fullySanitize } from '../../utils/sanitize';
|
|
44
71
|
import TextInput from './TextInput.vue';
|
|
72
|
+
import UnnnicToolTip from '../ToolTip/ToolTip.vue';
|
|
73
|
+
import UnnnicIcon from '../Icon.vue';
|
|
45
74
|
|
|
46
75
|
export default {
|
|
47
76
|
name: 'UnnnicInput',
|
|
48
|
-
components: { TextInput },
|
|
77
|
+
components: { TextInput, UnnnicToolTip, UnnnicIcon },
|
|
49
78
|
props: {
|
|
50
79
|
placeholder: {
|
|
51
80
|
type: String,
|
|
@@ -68,19 +97,23 @@ export default {
|
|
|
68
97
|
},
|
|
69
98
|
message: {
|
|
70
99
|
type: String,
|
|
71
|
-
default:
|
|
100
|
+
default: '',
|
|
101
|
+
},
|
|
102
|
+
errors: {
|
|
103
|
+
type: [String, Array],
|
|
104
|
+
default: '',
|
|
72
105
|
},
|
|
73
106
|
label: {
|
|
74
107
|
type: String,
|
|
75
|
-
default:
|
|
108
|
+
default: '',
|
|
76
109
|
},
|
|
77
110
|
iconLeft: {
|
|
78
111
|
type: String,
|
|
79
|
-
default:
|
|
112
|
+
default: '',
|
|
80
113
|
},
|
|
81
114
|
iconRight: {
|
|
82
115
|
type: String,
|
|
83
|
-
default:
|
|
116
|
+
default: '',
|
|
84
117
|
},
|
|
85
118
|
allowTogglePassword: {
|
|
86
119
|
type: Boolean,
|
|
@@ -88,11 +121,11 @@ export default {
|
|
|
88
121
|
},
|
|
89
122
|
iconLeftClickable: {
|
|
90
123
|
type: Boolean,
|
|
91
|
-
default:
|
|
124
|
+
default: false,
|
|
92
125
|
},
|
|
93
126
|
iconRightClickable: {
|
|
94
127
|
type: Boolean,
|
|
95
|
-
default:
|
|
128
|
+
default: false,
|
|
96
129
|
},
|
|
97
130
|
hasCloudyColor: {
|
|
98
131
|
type: Boolean,
|
|
@@ -106,6 +139,22 @@ export default {
|
|
|
106
139
|
type: [String, Array],
|
|
107
140
|
default: '',
|
|
108
141
|
},
|
|
142
|
+
tooltip: {
|
|
143
|
+
type: String,
|
|
144
|
+
default: '',
|
|
145
|
+
},
|
|
146
|
+
maxlength: {
|
|
147
|
+
type: [Number, null],
|
|
148
|
+
default: null,
|
|
149
|
+
},
|
|
150
|
+
showMaxlengthCounter: {
|
|
151
|
+
type: Boolean,
|
|
152
|
+
default: false,
|
|
153
|
+
},
|
|
154
|
+
disabled: {
|
|
155
|
+
type: Boolean,
|
|
156
|
+
default: false,
|
|
157
|
+
},
|
|
109
158
|
},
|
|
110
159
|
emits: ['update:modelValue'],
|
|
111
160
|
data() {
|
|
@@ -138,27 +187,46 @@ export default {
|
|
|
138
187
|
<style lang="scss" scoped>
|
|
139
188
|
@use '@/assets/scss/unnnic' as *;
|
|
140
189
|
|
|
190
|
+
* {
|
|
191
|
+
margin: 0;
|
|
192
|
+
padding: 0;
|
|
193
|
+
box-sizing: border-box;
|
|
194
|
+
}
|
|
195
|
+
|
|
141
196
|
.unnnic-form {
|
|
142
|
-
font-family: $unnnic-font-family-secondary;
|
|
143
197
|
position: relative;
|
|
144
198
|
|
|
145
199
|
&__message {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
200
|
+
&.error {
|
|
201
|
+
color: $unnnic-color-fg-critical;
|
|
202
|
+
}
|
|
149
203
|
}
|
|
150
204
|
|
|
151
205
|
&__label {
|
|
152
|
-
font
|
|
153
|
-
line-height: $unnnic-font-size-body-gt + $unnnic-line-height-medium;
|
|
154
|
-
font-size: $unnnic-font-size-body-gt;
|
|
206
|
+
font: $unnnic-font-body;
|
|
155
207
|
color: $unnnic-color-neutral-cloudy;
|
|
156
|
-
margin: $unnnic-
|
|
208
|
+
margin-bottom: $unnnic-space-1;
|
|
209
|
+
display: flex;
|
|
210
|
+
align-items: center;
|
|
211
|
+
gap: $unnnic-space-2;
|
|
212
|
+
|
|
213
|
+
:deep(.unnnic-tooltip) {
|
|
214
|
+
display: flex;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
&__hints-container {
|
|
219
|
+
display: flex;
|
|
220
|
+
justify-content: space-between;
|
|
221
|
+
margin-top: $unnnic-space-1;
|
|
222
|
+
font: $unnnic-font-caption-2;
|
|
223
|
+
color: $unnnic-color-fg-base;
|
|
157
224
|
}
|
|
158
225
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
226
|
+
&__message-container {
|
|
227
|
+
display: flex;
|
|
228
|
+
flex-direction: column;
|
|
229
|
+
gap: $unnnic-space-1;
|
|
162
230
|
}
|
|
163
231
|
}
|
|
164
232
|
</style>
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
:class="[
|
|
4
|
-
'text-input',
|
|
5
|
-
`size--${size}`,
|
|
6
|
-
`text-input--icon-right-size-${iconRightSize}`,
|
|
7
|
-
]"
|
|
8
|
-
>
|
|
2
|
+
<div :class="['text-input', `size--${size}`]">
|
|
9
3
|
<BaseInput
|
|
10
4
|
v-bind="attributes"
|
|
11
5
|
ref="base-input"
|
|
@@ -18,6 +12,7 @@
|
|
|
18
12
|
class="input-itself"
|
|
19
13
|
:hasIconLeft="!!iconLeft"
|
|
20
14
|
:hasIconRight="!!iconRight || allowTogglePassword"
|
|
15
|
+
:maxlength="maxlength"
|
|
21
16
|
@focus="onFocus"
|
|
22
17
|
@blur="onBlur"
|
|
23
18
|
/>
|
|
@@ -26,7 +21,7 @@
|
|
|
26
21
|
v-if="iconLeft"
|
|
27
22
|
:scheme="iconScheme"
|
|
28
23
|
:icon="iconLeft"
|
|
29
|
-
size="
|
|
24
|
+
size="ant"
|
|
30
25
|
:clickable="iconLeftClickable"
|
|
31
26
|
:class="['icon-left', { clickable: iconLeftClickable }]"
|
|
32
27
|
@click="onIconLeftClick"
|
|
@@ -36,7 +31,7 @@
|
|
|
36
31
|
v-if="iconRightSvg"
|
|
37
32
|
:scheme="iconScheme"
|
|
38
33
|
:icon="iconRightSvg"
|
|
39
|
-
|
|
34
|
+
size="ant"
|
|
40
35
|
:clickable="iconRightClickable || allowTogglePassword"
|
|
41
36
|
:class="[
|
|
42
37
|
'icon-right',
|
|
@@ -92,10 +87,6 @@ export default {
|
|
|
92
87
|
type: Boolean,
|
|
93
88
|
default: null,
|
|
94
89
|
},
|
|
95
|
-
iconRightSize: {
|
|
96
|
-
type: String,
|
|
97
|
-
default: 'sm',
|
|
98
|
-
},
|
|
99
90
|
allowTogglePassword: {
|
|
100
91
|
type: Boolean,
|
|
101
92
|
default: null,
|
|
@@ -108,6 +99,14 @@ export default {
|
|
|
108
99
|
type: String,
|
|
109
100
|
default: 'md',
|
|
110
101
|
},
|
|
102
|
+
maxlength: {
|
|
103
|
+
type: Number,
|
|
104
|
+
default: null,
|
|
105
|
+
},
|
|
106
|
+
disabled: {
|
|
107
|
+
type: Boolean,
|
|
108
|
+
default: false,
|
|
109
|
+
},
|
|
111
110
|
},
|
|
112
111
|
emits: ['icon-left-click', 'icon-right-click'],
|
|
113
112
|
data() {
|
|
@@ -118,7 +117,7 @@ export default {
|
|
|
118
117
|
},
|
|
119
118
|
computed: {
|
|
120
119
|
isDisabled() {
|
|
121
|
-
return this.$attrs.disabled;
|
|
120
|
+
return this.$attrs.disabled || this.disabled;
|
|
122
121
|
},
|
|
123
122
|
|
|
124
123
|
iconRightSvg() {
|
|
@@ -131,22 +130,22 @@ export default {
|
|
|
131
130
|
|
|
132
131
|
iconScheme() {
|
|
133
132
|
if (this.type === 'error') {
|
|
134
|
-
return '
|
|
133
|
+
return 'fg-critical';
|
|
135
134
|
}
|
|
136
135
|
|
|
137
136
|
if (this.isDisabled) {
|
|
138
|
-
return '
|
|
137
|
+
return 'fg-muted';
|
|
139
138
|
}
|
|
140
139
|
|
|
141
140
|
if (this.modelValue || this.isFocused) {
|
|
142
|
-
return '
|
|
141
|
+
return 'color-gray-700';
|
|
143
142
|
}
|
|
144
143
|
|
|
145
144
|
if (this.hasCloudyColor) {
|
|
146
|
-
return '
|
|
145
|
+
return 'fg-base';
|
|
147
146
|
}
|
|
148
147
|
|
|
149
|
-
return '
|
|
148
|
+
return 'fg-base';
|
|
150
149
|
},
|
|
151
150
|
|
|
152
151
|
attributes() {
|
|
@@ -183,6 +182,10 @@ export default {
|
|
|
183
182
|
<style lang="scss" scoped>
|
|
184
183
|
@use '@/assets/scss/unnnic' as *;
|
|
185
184
|
|
|
185
|
+
.text-input {
|
|
186
|
+
position: relative;
|
|
187
|
+
}
|
|
188
|
+
|
|
186
189
|
.icon {
|
|
187
190
|
&-left,
|
|
188
191
|
&-right {
|
|
@@ -193,32 +196,16 @@ export default {
|
|
|
193
196
|
|
|
194
197
|
&-left {
|
|
195
198
|
position: absolute;
|
|
196
|
-
top:
|
|
197
|
-
|
|
199
|
+
top: 50%;
|
|
200
|
+
transform: translateY(-50%);
|
|
201
|
+
left: $unnnic-space-4;
|
|
198
202
|
}
|
|
199
203
|
|
|
200
204
|
&-right {
|
|
201
205
|
position: absolute;
|
|
202
|
-
top:
|
|
203
|
-
|
|
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;
|
|
206
|
+
top: 50%;
|
|
207
|
+
transform: translateY(-50%);
|
|
208
|
+
right: $unnnic-space-4;
|
|
222
209
|
}
|
|
223
210
|
}
|
|
224
211
|
</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('fg-critical');
|
|
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('fg-base');
|
|
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('color-gray-700');
|
|
86
86
|
|
|
87
87
|
await wrapper.setData({ isFocused: true });
|
|
88
|
-
expect(wrapper.vm.iconScheme).toBe('
|
|
88
|
+
expect(wrapper.vm.iconScheme).toBe('color-gray-700');
|
|
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('fg-base');
|
|
93
93
|
});
|
|
94
94
|
|
|
95
95
|
test('attributes computed property returns combined attributes and props', () => {
|
|
@@ -2,8 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`Input.vue > matches the snapshot 1`] = `
|
|
4
4
|
"<div data-v-d890ad85="" class="unnnic-form md">
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
<section data-v-d890ad85="" class="unnnic-form__label">
|
|
6
|
+
<p data-v-d890ad85="">Sample Label</p>
|
|
7
|
+
<!--v-if-->
|
|
8
|
+
</section>
|
|
9
|
+
<div data-v-a0d36167="" data-v-d890ad85="" class="text-input size--md unnnic-form-input" mask="####-####"><input data-v-86533b41="" data-v-a0d36167="" class="unnnic-form-input input-itself input size-md normal input--has-icon-left input--has-icon-right unnnic-form-input input-itself" placeholder="Enter text" iconleft="search" iconright="clear" iconleftclickable="true" iconrightclickable="true" hascloudycolor="false" type="text" value=""><span data-v-26446d8e="" data-v-a0d36167="" class="material-symbols-rounded unnnic-icon-scheme--fg-base unnnic-icon-size--ant unnnic--clickable icon-left clickable" data-testid="material-icon" translate="no">search</span><span data-v-26446d8e="" data-v-a0d36167="" class="material-symbols-rounded unnnic-icon-scheme--fg-base unnnic-icon-size--ant unnnic--clickable icon-right clickable" data-testid="material-icon" translate="no">clear</span></div>
|
|
10
|
+
<section data-v-d890ad85="" class="unnnic-form__hints-container">
|
|
11
|
+
<section data-v-d890ad85="" class="unnnic-form__message-container">
|
|
12
|
+
<p data-v-d890ad85="" class="unnnic-form__message">Error message</p>
|
|
13
|
+
<!--v-if-->
|
|
14
|
+
</section>
|
|
15
|
+
<!--v-if-->
|
|
16
|
+
</section>
|
|
8
17
|
</div>"
|
|
9
18
|
`;
|
|
@@ -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
|
|
3
|
+
exports[`TextInput.vue > matches the snapshot 1`] = `"<div data-v-a0d36167="" class="text-input size--md"><input data-v-86533b41="" data-v-a0d36167="" placeholder="Enter text" iconleft="search" iconright="clear" iconleftclickable="true" iconrightclickable="true" allowtogglepassword="false" hascloudycolor="false" class="input-itself input size-md normal input--has-icon-left input--has-icon-right input-itself" type="text" value=""><span data-v-26446d8e="" data-v-a0d36167="" class="material-symbols-rounded unnnic-icon-scheme--fg-base unnnic-icon-size--ant unnnic--clickable icon-left clickable" data-testid="material-icon" translate="no">search</span><span data-v-26446d8e="" data-v-a0d36167="" class="material-symbols-rounded unnnic-icon-scheme--fg-base unnnic-icon-size--ant unnnic--clickable icon-right clickable" data-testid="material-icon" translate="no">clear</span></div>"`;
|
|
@@ -1,34 +1,65 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
2
|
+
<section class="unnnic-label">
|
|
3
|
+
<p class="unnnic-label__label">{{ fullySanitize(props.label) }}</p>
|
|
4
|
+
<UnnnicToolTip
|
|
5
|
+
v-if="tooltip"
|
|
6
|
+
enabled
|
|
7
|
+
:text="tooltip"
|
|
8
|
+
:enableHtml="props.useHtmlTooltip"
|
|
9
|
+
>
|
|
10
|
+
<UnnnicIcon
|
|
11
|
+
icon="help"
|
|
12
|
+
size="sm"
|
|
13
|
+
scheme="fg-base"
|
|
14
|
+
/>
|
|
15
|
+
</UnnnicToolTip>
|
|
16
|
+
</section>
|
|
3
17
|
</template>
|
|
4
18
|
|
|
5
|
-
<script>
|
|
6
|
-
import { fullySanitize } from '
|
|
7
|
-
|
|
19
|
+
<script setup lang="ts">
|
|
20
|
+
import { fullySanitize } from '@/utils/sanitize';
|
|
21
|
+
|
|
22
|
+
import UnnnicToolTip from '../ToolTip/ToolTip.vue';
|
|
23
|
+
import UnnnicIcon from '../Icon.vue';
|
|
24
|
+
|
|
25
|
+
defineOptions({
|
|
8
26
|
name: 'UnnnicLabel',
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
interface Props {
|
|
30
|
+
label?: string;
|
|
31
|
+
tooltip?: string;
|
|
32
|
+
useHtmlTooltip?: boolean;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
36
|
+
label: '',
|
|
37
|
+
tooltip: '',
|
|
38
|
+
useHtmlTooltip: false,
|
|
39
|
+
});
|
|
19
40
|
</script>
|
|
20
41
|
|
|
21
|
-
<style lang="scss">
|
|
42
|
+
<style lang="scss" scoped>
|
|
22
43
|
@use '@/assets/scss/unnnic' as *;
|
|
23
44
|
|
|
45
|
+
* {
|
|
46
|
+
box-sizing: border-box;
|
|
47
|
+
padding: $unnnic-space-0;
|
|
48
|
+
margin: $unnnic-space-0;
|
|
49
|
+
}
|
|
50
|
+
|
|
24
51
|
.unnnic-label {
|
|
52
|
+
display: flex;
|
|
53
|
+
align-items: center;
|
|
54
|
+
gap: $unnnic-space-2;
|
|
55
|
+
color: $unnnic-color-fg-base;
|
|
56
|
+
|
|
25
57
|
&__label {
|
|
26
|
-
font
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
margin: $unnnic-spacing-stack-xs 0;
|
|
58
|
+
font: $unnnic-font-body;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
:deep(.unnnic-tooltip) {
|
|
62
|
+
display: flex;
|
|
32
63
|
}
|
|
33
64
|
}
|
|
34
65
|
</style>
|
|
@@ -24,7 +24,7 @@ describe('Label', () => {
|
|
|
24
24
|
});
|
|
25
25
|
|
|
26
26
|
it('applies the correct classes and styles', () => {
|
|
27
|
-
const label = wrapper.
|
|
27
|
+
const label = wrapper.find('.unnnic-label__label');
|
|
28
28
|
expect(label.html()).toMatchSnapshot();
|
|
29
29
|
});
|
|
30
30
|
});
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
-
exports[`Label > applies the correct classes and styles 1`] = `"<p class="unnnic-label__label">Label Test</p>"`;
|
|
3
|
+
exports[`Label > applies the correct classes and styles 1`] = `"<p data-v-7f222291="" class="unnnic-label__label">Label Test</p>"`;
|
|
@@ -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-cloudy" 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">
|
|
@@ -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--><svg data-v-26446d8e="" data-v-ceff2a60="" width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" class="unnnic-icon unnnic-icon__size--
|
|
45
|
+
<!--v-if--><svg data-v-26446d8e="" data-v-ceff2a60="" width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" class="unnnic-icon unnnic-icon__size--ant unnnic-icon-scheme--neutral-clean" data-testid="icon-center" style="visibility: visible;">
|
|
46
46
|
<path d="M26.8368 35.0005C26.5868 35.0005 26.3506 34.903 26.1743 34.7255L12.7743 21.3255C12.4206 20.9717 12.2256 20.5017 12.2256 20.0017C12.2256 19.5017 12.4193 19.0305 12.7731 18.6767L26.1743 5.27549C26.3506 5.09799 26.5868 5.00049 26.8368 5.00049C27.0868 5.00049 27.3231 5.09799 27.4993 5.27549C27.6768 5.45174 27.7743 5.68799 27.7743 5.93799C27.7743 6.18799 27.6768 6.42424 27.4993 6.60049L14.0993 20.0005L27.4993 33.4005C27.6768 33.578 27.7743 33.813 27.7743 34.063C27.7743 34.313 27.6768 34.5492 27.4993 34.7255C27.3218 34.9017 27.0868 35.0005 26.8368 35.0005Z" fill="#3B414D" class="primary"></path>
|
|
47
47
|
</svg><span data-v-ceff2a60="" class="unnnic-button__label" style="visibility: visible;" data-testid="button-label"> </span>
|
|
48
48
|
<!--v-if-->
|
|
@@ -53,7 +53,7 @@ exports[`TableNext.vue > matches the snapshot 1`] = `
|
|
|
53
53
|
<!--v-if-->
|
|
54
54
|
</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">
|
|
55
55
|
<!--v-if-->
|
|
56
|
-
<!--v-if--><svg data-v-26446d8e="" data-v-ceff2a60="" width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" class="unnnic-icon unnnic-icon__size--
|
|
56
|
+
<!--v-if--><svg data-v-26446d8e="" data-v-ceff2a60="" width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" class="unnnic-icon unnnic-icon__size--ant unnnic-icon-scheme--neutral-clean" data-testid="icon-center" style="visibility: visible;">
|
|
57
57
|
<path d="M13.1635 35.0005C12.9135 35.0005 12.6772 34.903 12.501 34.7255C12.136 34.3605 12.136 33.7655 12.501 33.3992L25.901 20.0005L12.501 6.60049C12.3235 6.42424 12.226 6.18799 12.226 5.93799C12.226 5.68799 12.3235 5.45174 12.501 5.27549C12.6772 5.09799 12.9135 5.00049 13.1635 5.00049C13.4135 5.00049 13.6497 5.09799 13.826 5.27549L27.226 18.6755C27.956 19.4055 27.9572 20.5942 27.2272 21.3242L13.826 34.7255C13.6497 34.903 13.4135 35.0005 13.1635 35.0005Z" fill="#3B414D" class="primary"></path>
|
|
58
58
|
</svg><span data-v-ceff2a60="" class="unnnic-button__label" style="visibility: visible;" data-testid="button-label"> </span>
|
|
59
59
|
<!--v-if-->
|
|
@@ -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--><svg data-v-26446d8e="" data-v-ceff2a60="" width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" class="unnnic-icon unnnic-icon__size--
|
|
8
|
+
<!--v-if--><svg data-v-26446d8e="" data-v-ceff2a60="" width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" class="unnnic-icon unnnic-icon__size--ant unnnic-icon-scheme--neutral-clean" data-testid="icon-center" style="visibility: visible;">
|
|
9
9
|
<path d="M26.8368 35.0005C26.5868 35.0005 26.3506 34.903 26.1743 34.7255L12.7743 21.3255C12.4206 20.9717 12.2256 20.5017 12.2256 20.0017C12.2256 19.5017 12.4193 19.0305 12.7731 18.6767L26.1743 5.27549C26.3506 5.09799 26.5868 5.00049 26.8368 5.00049C27.0868 5.00049 27.3231 5.09799 27.4993 5.27549C27.6768 5.45174 27.7743 5.68799 27.7743 5.93799C27.7743 6.18799 27.6768 6.42424 27.4993 6.60049L14.0993 20.0005L27.4993 33.4005C27.6768 33.578 27.7743 33.813 27.7743 34.063C27.7743 34.313 27.6768 34.5492 27.4993 34.7255C27.3218 34.9017 27.0868 35.0005 26.8368 35.0005Z" fill="#3B414D" class="primary"></path>
|
|
10
10
|
</svg><span data-v-ceff2a60="" class="unnnic-button__label" style="visibility: visible;" data-testid="button-label"> </span>
|
|
11
11
|
<!--v-if-->
|
|
@@ -36,7 +36,7 @@ exports[`TablePagination.vue > matches the snapshot 1`] = `
|
|
|
36
36
|
<!--v-if-->
|
|
37
37
|
</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">
|
|
38
38
|
<!--v-if-->
|
|
39
|
-
<!--v-if--><svg data-v-26446d8e="" data-v-ceff2a60="" width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" class="unnnic-icon unnnic-icon__size--
|
|
39
|
+
<!--v-if--><svg data-v-26446d8e="" data-v-ceff2a60="" width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg" class="unnnic-icon unnnic-icon__size--ant unnnic-icon-scheme--neutral-dark" data-testid="icon-center" style="visibility: visible;">
|
|
40
40
|
<path d="M13.1635 35.0005C12.9135 35.0005 12.6772 34.903 12.501 34.7255C12.136 34.3605 12.136 33.7655 12.501 33.3992L25.901 20.0005L12.501 6.60049C12.3235 6.42424 12.226 6.18799 12.226 5.93799C12.226 5.68799 12.3235 5.45174 12.501 5.27549C12.6772 5.09799 12.9135 5.00049 13.1635 5.00049C13.4135 5.00049 13.6497 5.09799 13.826 5.27549L27.226 18.6755C27.956 19.4055 27.9572 20.5942 27.2272 21.3242L13.826 34.7255C13.6497 34.903 13.4135 35.0005 13.1635 35.0005Z" fill="#3B414D" class="primary"></path>
|
|
41
41
|
</svg><span data-v-ceff2a60="" class="unnnic-button__label" style="visibility: visible;" data-testid="button-label"> </span>
|
|
42
42
|
<!--v-if-->
|