@antify/ui 2.5.7 → 3.1.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/AntAccordion.vue +5 -6
- package/dist/components/AntAccordionItem.vue +5 -7
- package/dist/components/AntAlert.vue +53 -54
- package/dist/components/AntButton.vue +60 -62
- package/dist/components/AntCard.vue +10 -11
- package/dist/components/AntIcon.vue +8 -8
- package/dist/components/AntKeycap.vue +15 -15
- package/dist/components/AntListGroup.vue +10 -10
- package/dist/components/AntModal.vue +5 -5
- package/dist/components/AntPagination.vue +38 -40
- package/dist/components/AntSkeleton.vue +5 -25
- package/dist/components/AntToast.vue +6 -6
- package/dist/components/AntToaster.vue +42 -15
- package/dist/components/__stories/AntListGroup.stories.js +6 -9
- package/dist/components/__stories/AntListGroup.stories.mjs +6 -9
- package/dist/components/__stories/AntListGroupItem.stories.js +1 -1
- package/dist/components/__stories/AntListGroupItem.stories.mjs +1 -1
- package/dist/components/__stories/AntToaster.stories.js +2 -2
- package/dist/components/__stories/AntToaster.stories.mjs +2 -2
- package/dist/components/inputs/AntCheckbox.vue +8 -9
- package/dist/components/inputs/AntColorInput/AntColorInput.vue +5 -10
- package/dist/components/inputs/AntImageInput.vue +34 -36
- package/dist/components/inputs/AntRadio.vue +8 -9
- package/dist/components/inputs/AntSelect.vue +64 -63
- package/dist/components/inputs/AntSwitch.vue +26 -27
- package/dist/components/inputs/AntSwitcher.vue +12 -11
- package/dist/components/inputs/AntTagInput.vue +6 -10
- package/dist/components/inputs/AntTextarea.vue +5 -9
- package/dist/components/inputs/Elements/AntBaseInput.vue +60 -60
- package/dist/components/inputs/__stories/AntCheckbox.stories.js +41 -14
- package/dist/components/inputs/__stories/AntCheckbox.stories.mjs +41 -14
- package/dist/components/table/AntTable.vue +11 -7
- package/dist/components/table/AntTableSkeleton.vue +5 -1
- package/dist/components/tabs/AntTabItem.vue +5 -7
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.js +11 -0
- package/dist/composables/index.mjs +1 -0
- package/dist/composables/useFlickerProtection.d.ts +22 -0
- package/dist/composables/useFlickerProtection.js +48 -0
- package/dist/composables/useFlickerProtection.mjs +48 -0
- package/dist/composables/useToaster.d.ts +1 -0
- package/dist/composables/useToaster.js +7 -4
- package/dist/composables/useToaster.mjs +7 -4
- package/package.json +1 -1
|
@@ -21,6 +21,24 @@ const props = withDefaults(defineProps<{
|
|
|
21
21
|
position: CornerPosition.bottomLeft,
|
|
22
22
|
});
|
|
23
23
|
|
|
24
|
+
const _toasts = computed(() => {
|
|
25
|
+
if(props.position === CornerPosition.topLeft || props.position === CornerPosition.topRight) {
|
|
26
|
+
return props.toasts;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return [
|
|
30
|
+
...props.toasts,
|
|
31
|
+
].reverse();
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
const transitionName = computed(() => {
|
|
35
|
+
if(props.position === CornerPosition.topLeft || props.position === CornerPosition.topRight) {
|
|
36
|
+
return 'list-top';
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return 'list-bottom';
|
|
40
|
+
});
|
|
41
|
+
|
|
24
42
|
const classes = computed(() => ({
|
|
25
43
|
'left-0 top-0 items-start': props.position === CornerPosition.topLeft,
|
|
26
44
|
'right-0 top-0 items-end': props.position === CornerPosition.topRight,
|
|
@@ -35,9 +53,9 @@ const classes = computed(() => ({
|
|
|
35
53
|
:class="classes"
|
|
36
54
|
data-e2e="toaster"
|
|
37
55
|
>
|
|
38
|
-
<TransitionGroup name="
|
|
56
|
+
<TransitionGroup :name="transitionName">
|
|
39
57
|
<AntToast
|
|
40
|
-
v-for="toast of
|
|
58
|
+
v-for="toast of _toasts"
|
|
41
59
|
:key="`ant-toast-${toast.id}`"
|
|
42
60
|
:title="toast.title"
|
|
43
61
|
:state="toast.type"
|
|
@@ -56,24 +74,33 @@ const classes = computed(() => ({
|
|
|
56
74
|
</template>
|
|
57
75
|
|
|
58
76
|
<style>
|
|
59
|
-
.list-move {
|
|
60
|
-
transition:
|
|
77
|
+
.list-top-move, .list-bottom-move {
|
|
78
|
+
transition: transform 0.3s ease, opacity 0.3s ease;
|
|
79
|
+
}
|
|
80
|
+
.list-top-enter-active,
|
|
81
|
+
.list-top-leave-active,
|
|
82
|
+
.list-bottom-enter-active,
|
|
83
|
+
.list-bottom-leave-active {
|
|
84
|
+
transition: opacity 0.3s, transform 0.3s;
|
|
61
85
|
}
|
|
62
86
|
|
|
63
|
-
.list-enter-
|
|
64
|
-
|
|
87
|
+
.list-top-enter-from,
|
|
88
|
+
.list-top-leave-to {
|
|
89
|
+
opacity: 0;
|
|
90
|
+
transform: scale(0.8) translateY(-20px);
|
|
65
91
|
}
|
|
66
92
|
|
|
67
|
-
.list-
|
|
68
|
-
|
|
93
|
+
.list-bottom-enter-from,
|
|
94
|
+
.list-bottom-leave-to {
|
|
95
|
+
opacity: 0;
|
|
96
|
+
transform: scale(0.8) translateY(20px);
|
|
69
97
|
}
|
|
70
98
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
99
|
+
.list-top-enter-to,
|
|
100
|
+
.list-top-leave-from,
|
|
101
|
+
.list-bottom-enter-to,
|
|
102
|
+
.list-bottom-leave-from {
|
|
103
|
+
opacity: 1;
|
|
104
|
+
transform: scale(1) translateY(0);
|
|
78
105
|
}
|
|
79
106
|
</style>
|
|
@@ -35,15 +35,12 @@ const Docs = exports.Docs = {
|
|
|
35
35
|
};
|
|
36
36
|
},
|
|
37
37
|
template: `
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
</AntListGroup>
|
|
45
|
-
</div>
|
|
46
|
-
`
|
|
38
|
+
<AntListGroup v-bind="args">
|
|
39
|
+
<AntListGroupItem to="/example" :icon-left="faUser">Profile</AntListGroupItem>
|
|
40
|
+
<AntListGroupItem to="/example" :icon-left="faDownload">Downloads</AntListGroupItem>
|
|
41
|
+
<AntListGroupItem to="/example" :icon-left="faMessage">Messages</AntListGroupItem>
|
|
42
|
+
<AntListGroupItem to="/example" :icon-left="faCog">Settings</AntListGroupItem>
|
|
43
|
+
</AntListGroup>`
|
|
47
44
|
}),
|
|
48
45
|
args: {}
|
|
49
46
|
};
|
|
@@ -33,15 +33,12 @@ export const Docs = {
|
|
|
33
33
|
};
|
|
34
34
|
},
|
|
35
35
|
template: `
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
</AntListGroup>
|
|
43
|
-
</div>
|
|
44
|
-
`
|
|
36
|
+
<AntListGroup v-bind="args">
|
|
37
|
+
<AntListGroupItem to="/example" :icon-left="faUser">Profile</AntListGroupItem>
|
|
38
|
+
<AntListGroupItem to="/example" :icon-left="faDownload">Downloads</AntListGroupItem>
|
|
39
|
+
<AntListGroupItem to="/example" :icon-left="faMessage">Messages</AntListGroupItem>
|
|
40
|
+
<AntListGroupItem to="/example" :icon-left="faCog">Settings</AntListGroupItem>
|
|
41
|
+
</AntListGroup>`
|
|
45
42
|
}),
|
|
46
43
|
args: {}
|
|
47
44
|
};
|
|
@@ -48,7 +48,7 @@ const Docs = exports.Docs = {
|
|
|
48
48
|
args
|
|
49
49
|
};
|
|
50
50
|
},
|
|
51
|
-
template: '<div class="
|
|
51
|
+
template: '<div class="dashed"><AntListGroupItem v-bind="args">Item</AntListGroupItem></div>'
|
|
52
52
|
}),
|
|
53
53
|
args: {}
|
|
54
54
|
};
|
|
@@ -46,7 +46,7 @@ export const Docs = {
|
|
|
46
46
|
args
|
|
47
47
|
};
|
|
48
48
|
},
|
|
49
|
-
template: '<div class="
|
|
49
|
+
template: '<div class="dashed"><AntListGroupItem v-bind="args">Item</AntListGroupItem></div>'
|
|
50
50
|
}),
|
|
51
51
|
args: {}
|
|
52
52
|
};
|
|
@@ -60,7 +60,7 @@ const Docs = exports.Docs = {
|
|
|
60
60
|
},
|
|
61
61
|
template: `
|
|
62
62
|
<div class="dashed h-60 relative">
|
|
63
|
-
<AntToaster v-bind="args"/>
|
|
63
|
+
<AntToaster v-bind="args" />
|
|
64
64
|
</div>
|
|
65
65
|
`
|
|
66
66
|
}),
|
|
@@ -122,7 +122,7 @@ const UseToaster = exports.UseToaster = {
|
|
|
122
122
|
</AntButton>
|
|
123
123
|
</AntFormGroup>
|
|
124
124
|
|
|
125
|
-
<AntToaster v-bind="args" :toasts="toaster.getToasts()"/>
|
|
125
|
+
<AntToaster v-bind="args" :toasts="toaster.getToasts()" />
|
|
126
126
|
`
|
|
127
127
|
})
|
|
128
128
|
};
|
|
@@ -60,7 +60,7 @@ export const Docs = {
|
|
|
60
60
|
},
|
|
61
61
|
template: `
|
|
62
62
|
<div class="dashed h-60 relative">
|
|
63
|
-
<AntToaster v-bind="args"/>
|
|
63
|
+
<AntToaster v-bind="args" />
|
|
64
64
|
</div>
|
|
65
65
|
`
|
|
66
66
|
}),
|
|
@@ -130,7 +130,7 @@ export const UseToaster = {
|
|
|
130
130
|
</AntButton>
|
|
131
131
|
</AntFormGroup>
|
|
132
132
|
|
|
133
|
-
<AntToaster v-bind="args" :toasts="toaster.getToasts()"/>
|
|
133
|
+
<AntToaster v-bind="args" :toasts="toaster.getToasts()" />
|
|
134
134
|
`
|
|
135
135
|
})
|
|
136
136
|
};
|
|
@@ -197,25 +197,24 @@ onMounted(() => {
|
|
|
197
197
|
</div>
|
|
198
198
|
|
|
199
199
|
<AntSkeleton
|
|
200
|
-
|
|
200
|
+
:visible="skeleton"
|
|
201
201
|
absolute
|
|
202
202
|
rounded
|
|
203
203
|
/>
|
|
204
204
|
</div>
|
|
205
205
|
|
|
206
206
|
<div
|
|
207
|
-
class="
|
|
207
|
+
class="flex items-center"
|
|
208
208
|
:class="props.size === Size.md ? 'h-5' : 'h-4'"
|
|
209
209
|
>
|
|
210
|
-
<span :class="contentClasses">
|
|
211
|
-
<slot />
|
|
212
|
-
</span>
|
|
213
|
-
|
|
214
210
|
<AntSkeleton
|
|
215
|
-
|
|
216
|
-
absolute
|
|
211
|
+
:visible="skeleton"
|
|
217
212
|
rounded
|
|
218
|
-
|
|
213
|
+
>
|
|
214
|
+
<span :class="contentClasses">
|
|
215
|
+
<slot />
|
|
216
|
+
</span>
|
|
217
|
+
</AntSkeleton>
|
|
219
218
|
</div>
|
|
220
219
|
</div>
|
|
221
220
|
</AntField>
|
|
@@ -181,8 +181,10 @@ onMounted(() => {
|
|
|
181
181
|
<div
|
|
182
182
|
:class="containerClasses"
|
|
183
183
|
>
|
|
184
|
-
<
|
|
185
|
-
|
|
184
|
+
<AntSkeleton
|
|
185
|
+
:visible="skeleton"
|
|
186
|
+
:grouped="hasRemoveButton ? Grouped.left : Grouped.none"
|
|
187
|
+
rounded
|
|
186
188
|
>
|
|
187
189
|
<div
|
|
188
190
|
ref="itemRef"
|
|
@@ -198,14 +200,7 @@ onMounted(() => {
|
|
|
198
200
|
readonly
|
|
199
201
|
/>
|
|
200
202
|
</div>
|
|
201
|
-
|
|
202
|
-
<AntSkeleton
|
|
203
|
-
v-if="skeleton"
|
|
204
|
-
absolute
|
|
205
|
-
:grouped="hasRemoveButton ? Grouped.left : Grouped.none"
|
|
206
|
-
rounded
|
|
207
|
-
/>
|
|
208
|
-
</div>
|
|
203
|
+
</AntSkeleton>
|
|
209
204
|
|
|
210
205
|
<AntButton
|
|
211
206
|
v-if="hasRemoveButton"
|
|
@@ -160,36 +160,35 @@ onBeforeUnmount(() => {
|
|
|
160
160
|
:class="{'cursor-pointer': !disabled && !skeleton}"
|
|
161
161
|
>
|
|
162
162
|
<div>
|
|
163
|
-
<
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
:size="IconSize.xl3"
|
|
175
|
-
:icon="faImage"
|
|
176
|
-
/>
|
|
163
|
+
<AntSkeleton
|
|
164
|
+
:visible="skeleton"
|
|
165
|
+
rounded-full
|
|
166
|
+
>
|
|
167
|
+
<div class="h-[70px] w-[70px] bg-gray-100 rounded-full overflow-hidden flex items-center justify-center">
|
|
168
|
+
<img
|
|
169
|
+
v-if="src"
|
|
170
|
+
:src="src"
|
|
171
|
+
alt="Image"
|
|
172
|
+
class="h-full w-full object-cover"
|
|
173
|
+
>
|
|
177
174
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
:state="State.primary"
|
|
175
|
+
<AntIcon
|
|
176
|
+
v-else
|
|
177
|
+
class="text-base-300"
|
|
178
|
+
:size="IconSize.xl3"
|
|
179
|
+
:icon="faImage"
|
|
184
180
|
/>
|
|
185
|
-
</div>
|
|
186
181
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
182
|
+
<div
|
|
183
|
+
v-if="loading"
|
|
184
|
+
class="absolute flex items-center justify-center inset-0 bg-base-600/50 rounded-full"
|
|
185
|
+
>
|
|
186
|
+
<AntSpinner
|
|
187
|
+
:state="State.primary"
|
|
188
|
+
/>
|
|
189
|
+
</div>
|
|
190
|
+
</div>
|
|
191
|
+
</AntSkeleton>
|
|
193
192
|
</div>
|
|
194
193
|
|
|
195
194
|
<div class="flex flex-col gap-2.5 w-full">
|
|
@@ -204,15 +203,14 @@ onBeforeUnmount(() => {
|
|
|
204
203
|
@change="handleFileChange"
|
|
205
204
|
>
|
|
206
205
|
|
|
207
|
-
<
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
</span>
|
|
206
|
+
<AntSkeleton
|
|
207
|
+
:visible="skeleton"
|
|
208
|
+
rounded
|
|
209
|
+
>
|
|
210
|
+
<span class="text-sm text-for-white-bg-font">
|
|
211
|
+
Upload Image
|
|
212
|
+
</span>
|
|
213
|
+
</AntSkeleton>
|
|
216
214
|
|
|
217
215
|
<div
|
|
218
216
|
class="absolute top-0 left-0 w-full h-full border bg-transparent"
|
|
@@ -201,25 +201,24 @@ onMounted(() => {
|
|
|
201
201
|
>
|
|
202
202
|
|
|
203
203
|
<AntSkeleton
|
|
204
|
-
|
|
204
|
+
:visible="skeleton"
|
|
205
205
|
absolute
|
|
206
206
|
rounded-full
|
|
207
207
|
/>
|
|
208
208
|
</div>
|
|
209
209
|
|
|
210
210
|
<div
|
|
211
|
-
class="
|
|
211
|
+
class="flex items-center"
|
|
212
212
|
:class="valueSize"
|
|
213
213
|
>
|
|
214
|
-
<span :class="valueClass">
|
|
215
|
-
{{ value.label }}
|
|
216
|
-
</span>
|
|
217
|
-
|
|
218
214
|
<AntSkeleton
|
|
219
|
-
|
|
220
|
-
absolute
|
|
215
|
+
:visible="skeleton"
|
|
221
216
|
rounded
|
|
222
|
-
|
|
217
|
+
>
|
|
218
|
+
<span :class="valueClass">
|
|
219
|
+
{{ value.label }}
|
|
220
|
+
</span>
|
|
221
|
+
</AntSkeleton>
|
|
223
222
|
</div>
|
|
224
223
|
</div>
|
|
225
224
|
</AntField>
|
|
@@ -260,13 +260,6 @@ function onClickRemoveButton() {
|
|
|
260
260
|
class="relative w-full"
|
|
261
261
|
:class="{'cursor-pointer': !skeleton && !readonly}"
|
|
262
262
|
>
|
|
263
|
-
<AntSkeleton
|
|
264
|
-
v-if="skeleton"
|
|
265
|
-
absolute
|
|
266
|
-
rounded
|
|
267
|
-
:grouped="skeletonGrouped"
|
|
268
|
-
/>
|
|
269
|
-
|
|
270
263
|
<input
|
|
271
264
|
v-model="_modelValue"
|
|
272
265
|
type="hidden"
|
|
@@ -297,70 +290,78 @@ function onClickRemoveButton() {
|
|
|
297
290
|
v-bind="{...props}"
|
|
298
291
|
/>
|
|
299
292
|
</template>
|
|
300
|
-
|
|
301
|
-
<
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
:
|
|
305
|
-
|
|
306
|
-
@mousedown="onClickSelectInput"
|
|
307
|
-
@click="() => inputRef?.focus()"
|
|
308
|
-
@blur="onBlur"
|
|
293
|
+
|
|
294
|
+
<AntSkeleton
|
|
295
|
+
:visible="skeleton"
|
|
296
|
+
rounded
|
|
297
|
+
:grouped="skeletonGrouped"
|
|
298
|
+
class="w-full"
|
|
309
299
|
>
|
|
300
|
+
<!-- Input -->
|
|
310
301
|
<div
|
|
311
|
-
|
|
312
|
-
:class="
|
|
302
|
+
ref="inputRef"
|
|
303
|
+
:class="inputClasses"
|
|
304
|
+
:tabindex="disabled || readonly ? -1 : 0"
|
|
305
|
+
v-bind="$attrs"
|
|
306
|
+
@mousedown="onClickSelectInput"
|
|
307
|
+
@click="() => inputRef?.focus()"
|
|
308
|
+
@blur="onBlur"
|
|
313
309
|
>
|
|
314
|
-
|
|
315
|
-
|
|
310
|
+
<div
|
|
311
|
+
v-if="_modelValue === null && placeholder !== undefined"
|
|
312
|
+
:class="placeholderClasses"
|
|
313
|
+
>
|
|
314
|
+
{{ placeholder }}
|
|
315
|
+
</div>
|
|
316
316
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
317
|
+
<div
|
|
318
|
+
v-else-if="_modelValue === null && label !== undefined"
|
|
319
|
+
:class="placeholderClasses"
|
|
320
|
+
>
|
|
321
|
+
{{ label }}
|
|
322
|
+
</div>
|
|
323
323
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
324
|
+
<div
|
|
325
|
+
v-else
|
|
326
|
+
class="flex items-center select-none overflow-hidden w-full"
|
|
327
|
+
:class="{
|
|
328
|
+
'gap-1': size === Size.xs2,
|
|
329
|
+
'gap1.5': size === Size.xs,
|
|
330
|
+
'gap-1.5': size === Size.sm,
|
|
331
|
+
'gap-2': size === Size.md,
|
|
332
|
+
'gap-2.5': size === Size.lg,
|
|
333
|
+
}"
|
|
334
|
+
>
|
|
335
|
+
<slot
|
|
336
|
+
v-if="selectedOption !== null"
|
|
337
|
+
name="contentLeft"
|
|
338
|
+
v-bind="selectedOption"
|
|
339
|
+
/>
|
|
340
|
+
<div class="text-ellipsis overflow-hidden whitespace-nowrap w-full text-black">
|
|
341
|
+
{{ valueLabel }}
|
|
342
|
+
</div>
|
|
343
|
+
<slot
|
|
344
|
+
v-if="selectedOption !== null"
|
|
345
|
+
name="contentRight"
|
|
346
|
+
v-bind="selectedOption"
|
|
347
|
+
/>
|
|
342
348
|
</div>
|
|
343
|
-
<slot
|
|
344
|
-
v-if="selectedOption !== null"
|
|
345
|
-
name="contentRight"
|
|
346
|
-
v-bind="selectedOption"
|
|
347
|
-
/>
|
|
348
|
-
</div>
|
|
349
349
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
350
|
+
<AntIcon
|
|
351
|
+
v-if="isOpen"
|
|
352
|
+
:icon="faChevronUp"
|
|
353
|
+
:size="iconSize"
|
|
354
|
+
:class="arrowClasses"
|
|
355
|
+
/>
|
|
356
356
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
357
|
+
<AntIcon
|
|
358
|
+
v-else
|
|
359
|
+
:icon="faChevronDown"
|
|
360
|
+
:size="iconSize"
|
|
361
|
+
:class="arrowClasses"
|
|
362
|
+
/>
|
|
363
|
+
</div>
|
|
364
|
+
</AntSkeleton>
|
|
364
365
|
</AntSelectMenu>
|
|
365
366
|
</div>
|
|
366
367
|
|
|
@@ -157,33 +157,32 @@ function onBlur(e: FocusEvent) {
|
|
|
157
157
|
:messages="messages"
|
|
158
158
|
:expanded="false"
|
|
159
159
|
>
|
|
160
|
-
<div class="
|
|
161
|
-
<
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
160
|
+
<div class="w-fit flex items-center gap-1.5">
|
|
161
|
+
<AntSkeleton
|
|
162
|
+
:visible="skeleton"
|
|
163
|
+
rounded-full
|
|
164
|
+
>
|
|
165
|
+
<div class="relative w-fit flex items-center">
|
|
166
|
+
<button
|
|
167
|
+
v-bind="$attrs"
|
|
168
|
+
type="button"
|
|
169
|
+
:class="buttonClasses"
|
|
170
|
+
role="switch"
|
|
171
|
+
:aria-checked="!!_value"
|
|
172
|
+
:disabled="disabled"
|
|
173
|
+
:tabindex="hasInputState ? -1 : 0"
|
|
174
|
+
@click="changeValue"
|
|
175
|
+
@blur="onBlur"
|
|
176
176
|
>
|
|
177
|
-
<
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
</div>
|
|
177
|
+
<span
|
|
178
|
+
aria-hidden="true"
|
|
179
|
+
:class="ballClasses"
|
|
180
|
+
>
|
|
181
|
+
<slot name="icon" />
|
|
182
|
+
</span>
|
|
183
|
+
</button>
|
|
184
|
+
</div>
|
|
185
|
+
</AntSkeleton>
|
|
187
186
|
|
|
188
187
|
<div
|
|
189
188
|
v-if="hasSlotContent($slots['default'])"
|
|
@@ -195,7 +194,7 @@ function onBlur(e: FocusEvent) {
|
|
|
195
194
|
</span>
|
|
196
195
|
|
|
197
196
|
<AntSkeleton
|
|
198
|
-
|
|
197
|
+
:visible="skeleton"
|
|
199
198
|
absolute
|
|
200
199
|
rounded
|
|
201
200
|
class="l-1.5"
|
|
@@ -181,18 +181,19 @@ onMounted(() => {
|
|
|
181
181
|
@click="prevOption"
|
|
182
182
|
@blur="onBlur"
|
|
183
183
|
/>
|
|
184
|
-
<div class="grow relative">
|
|
185
|
-
<div :class="itemClasses">
|
|
186
|
-
{{ typeof _value === 'string' ? _value : _value.label }}
|
|
187
|
-
</div>
|
|
188
184
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
185
|
+
<AntSkeleton
|
|
186
|
+
:visible="skeleton"
|
|
187
|
+
:grouped="Grouped.center"
|
|
188
|
+
rounded
|
|
189
|
+
class="grow"
|
|
190
|
+
>
|
|
191
|
+
<div class="grow">
|
|
192
|
+
<div :class="itemClasses">
|
|
193
|
+
{{ typeof _value === 'string' ? _value : _value.label }}
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
196
|
+
</AntSkeleton>
|
|
196
197
|
|
|
197
198
|
<AntButton
|
|
198
199
|
:icon-left="faChevronRight"
|
|
@@ -272,16 +272,12 @@ onMounted(() => {
|
|
|
272
272
|
:expanded="expanded"
|
|
273
273
|
:messages="messages"
|
|
274
274
|
>
|
|
275
|
-
<
|
|
276
|
-
|
|
275
|
+
<AntSkeleton
|
|
276
|
+
:visible="skeleton"
|
|
277
|
+
rounded
|
|
278
|
+
:grouped="skeletonGrouped"
|
|
279
|
+
class="w-full"
|
|
277
280
|
>
|
|
278
|
-
<AntSkeleton
|
|
279
|
-
v-if="skeleton"
|
|
280
|
-
absolute
|
|
281
|
-
rounded
|
|
282
|
-
:grouped="skeletonGrouped"
|
|
283
|
-
/>
|
|
284
|
-
|
|
285
281
|
<div
|
|
286
282
|
v-on-click-outside="onClickOutside"
|
|
287
283
|
:class="inputContainerClasses"
|
|
@@ -347,7 +343,7 @@ onMounted(() => {
|
|
|
347
343
|
</span>
|
|
348
344
|
</template>
|
|
349
345
|
</AntSelectMenu>
|
|
350
|
-
</
|
|
346
|
+
</AntSkeleton>
|
|
351
347
|
</AntField>
|
|
352
348
|
</div>
|
|
353
349
|
</template>
|