Files
ui/src/theme/breadcrumb.ts
2024-10-14 10:42:26 +02:00

43 lines
1.0 KiB
TypeScript

import type { ModuleOptions } from '../module'
export default (options: Required<ModuleOptions>) => ({
slots: {
root: 'relative min-w-0',
list: 'flex items-center gap-1.5',
item: 'flex min-w-0',
link: 'group relative flex items-center gap-1.5 text-sm min-w-0 focus-visible:outline-[var(--ui-primary)]',
linkLeadingIcon: 'shrink-0 size-5',
linkLeadingAvatar: 'shrink-0',
linkLeadingAvatarSize: '2xs',
linkLabel: 'truncate',
separator: 'flex',
separatorIcon: 'shrink-0 size-5 text-[var(--ui-text-muted)]'
},
variants: {
active: {
true: {
link: 'text-[var(--ui-primary)] font-semibold'
},
false: {
link: 'text-[var(--ui-text-muted)] font-medium'
}
},
disabled: {
true: {
link: 'cursor-not-allowed opacity-75'
}
},
to: {
true: ''
}
},
compoundVariants: [{
disabled: false,
active: false,
to: true,
class: {
link: ['hover:text-[var(--ui-text)]', options.theme.transitions && 'transition-colors']
}
}]
})