mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-29 11:20:36 +01:00
fix(Button): loading on trailing
This commit is contained in:
@@ -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">
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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'
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user