fix(Button): loading on trailing

This commit is contained in:
Benjamin Canac
2024-03-12 14:58:17 +01:00
parent 4446531d04
commit c8bdb51f68
3 changed files with 19 additions and 6 deletions

View File

@@ -14,11 +14,19 @@
<UButton loading> <UButton loading>
Loading Loading
</UButton> </UButton>
<UButton loading leading-icon="i-heroicons-rocket-launch">
Loading
</UButton>
</div> </div>
<div class="flex items-center gap-2"> <div class="flex items-center gap-2">
<UButton loading trailing> <UButton loading trailing>
Loading Loading
</UButton> </UButton>
<UButton loading trailing-icon="i-heroicons-paper-airplane">
Loading
</UButton>
</div> </div>
<div class="flex items-center gap-2"> <div class="flex items-center gap-2">
<UButton truncate class="w-16"> <UButton truncate class="w-16">

View File

@@ -52,7 +52,7 @@ const slots = defineSlots<ButtonSlots>()
const appConfig = useAppConfig() const appConfig = useAppConfig()
const linkProps = useForwardProps(reactiveOmit(props, 'type', 'label', 'color', 'variant', 'size', 'icon', 'leading', 'leadingIcon', 'trailing', 'trailingIcon', 'loading', 'loadingIcon', 'square', 'block', 'disabled', 'truncate', 'class', 'ui')) const linkProps = useForwardProps(reactiveOmit(props, 'type', 'label', 'color', 'variant', 'size', 'icon', 'leading', 'leadingIcon', 'trailing', 'trailingIcon', 'loading', 'loadingIcon', 'square', 'block', 'disabled', 'truncate', 'class', 'ui'))
const isLeading = computed(() => (props.icon && props.leading) || (props.icon && !props.trailing) || (props.loading && !props.trailing) || !!props.leadingIcon) const isLeading = computed(() => (props.icon && props.leading) || (props.icon && !props.trailing) || (props.loading && !props.trailing && !props.trailingIcon) || !!props.leadingIcon)
const isTrailing = computed(() => (props.icon && props.trailing) || (props.loading && props.trailing) || !!props.trailingIcon) const isTrailing = computed(() => (props.icon && props.trailing) || (props.loading && props.trailing) || !!props.trailingIcon)
// FIXME: Cannot extend multiple times // FIXME: Cannot extend multiple times

View File

@@ -56,11 +56,6 @@ export default (config: { colors: string[] }) => ({
label: 'truncate' label: 'truncate'
} }
}, },
loading: {
true: {
leadingIcon: 'animate-spin'
}
},
block: { block: {
true: { true: {
base: 'w-full', base: 'w-full',
@@ -75,6 +70,9 @@ export default (config: { colors: string[] }) => ({
}, },
trailing: { trailing: {
true: '' true: ''
},
loading: {
true: ''
} }
}, },
compoundVariants: [...config.colors.map((color: string) => ({ compoundVariants: [...config.colors.map((color: string) => ({
@@ -149,9 +147,16 @@ export default (config: { colors: string[] }) => ({
size: 'xl', size: 'xl',
square: true, square: true,
class: 'p-2.5' class: 'p-2.5'
}, {
loading: true,
leading: true,
class: {
leadingIcon: 'animate-spin'
}
}, { }, {
loading: true, loading: true,
leading: false, leading: false,
trailing: true,
class: { class: {
trailingIcon: 'animate-spin' trailingIcon: 'animate-spin'
} }