Skip to content

Commit d49e3e8

Browse files
authored
fix: loading and spinner style fixed and improved (#5588)
1 parent 579b1b4 commit d49e3e8

File tree

3 files changed

+46
-12
lines changed

3 files changed

+46
-12
lines changed

packages/@core/ui-kit/shadcn-ui/src/components/spinner/loading.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ function onTransitionEnd() {
8888
</span>
8989
</slot>
9090

91-
<div v-if="text" class="mt-4 text-xs">{{ text }}</div>
91+
<div v-if="text" class="text-primary mt-4 text-xs">{{ text }}</div>
9292
<slot></slot>
9393
</div>
9494
</template>

packages/effects/common-ui/src/components/loading/loading.vue

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,36 @@
11
<script lang="ts" setup>
22
import { VbenLoading } from '@vben-core/shadcn-ui';
3+
import { cn } from '@vben-core/shared/utils';
34
4-
defineOptions({ name: 'Loading' });
5-
defineProps<{
6-
spinning: boolean;
5+
interface LoadingProps {
6+
class?: string;
7+
/**
8+
* @zh_CN 最小加载时间
9+
* @en_US Minimum loading time
10+
*/
11+
minLoadingTime?: number;
12+
13+
/**
14+
* @zh_CN loading状态开启
15+
*/
16+
spinning?: boolean;
17+
/**
18+
* @zh_CN 文字
19+
*/
720
text?: string;
8-
}>();
21+
}
22+
23+
defineOptions({ name: 'Loading' });
24+
const props = defineProps<LoadingProps>();
925
</script>
1026
<template>
11-
<div class="relative min-h-20">
27+
<div :class="cn('relative min-h-20', props.class)">
1228
<slot></slot>
13-
<VbenLoading :spinning="spinning" :text="text">
29+
<VbenLoading
30+
:min-loading-time="props.minLoadingTime"
31+
:spinning="props.spinning"
32+
:text="props.text"
33+
>
1434
<template v-if="$slots.icon" #icon>
1535
<slot name="icon"></slot>
1636
</template>
Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,28 @@
11
<script lang="ts" setup>
22
import { VbenSpinner } from '@vben-core/shadcn-ui';
3+
import { cn } from '@vben-core/shared/utils';
34
5+
interface SpinnerProps {
6+
class?: string;
7+
/**
8+
* @zh_CN 最小加载时间
9+
* @en_US Minimum loading time
10+
*/
11+
minLoadingTime?: number;
12+
/**
13+
* @zh_CN loading状态开启
14+
*/
15+
spinning?: boolean;
16+
}
417
defineOptions({ name: 'Spinner' });
5-
defineProps({
6-
spinning: Boolean,
7-
});
18+
const props = defineProps<SpinnerProps>();
819
</script>
920
<template>
10-
<div class="relative min-h-20">
21+
<div :class="cn('relative min-h-20', props.class)">
1122
<slot></slot>
12-
<VbenSpinner :spinning="spinning" />
23+
<VbenSpinner
24+
:min-loading-time="props.minLoadingTime"
25+
:spinning="props.spinning"
26+
/>
1327
</div>
1428
</template>

0 commit comments

Comments
 (0)