ui-lib(button): size variants
This commit is contained in:
1 parent
edae4c6915
commit
401f13f7e3
3 files changed
+51
-20
No files matched your search
@@ -25,6 +25,7 @@ const props = withDefaults(
|
||||
circle?: boolean;
|
||||
href?: string;
|
||||
to?: RouteLocationRaw;
|
||||
size?: 'small' | 'medium' | 'large';
|
||||
}>(),
|
||||
{
|
||||
type: 'default',
|
||||
@@ -34,9 +35,10 @@ const props = withDefaults(
|
||||
circle: false,
|
||||
href: undefined,
|
||||
to: undefined,
|
||||
size: 'medium',
|
||||
},
|
||||
);
|
||||
const { variant, disabled, round, circle, href, type, to } = toRefs(props);
|
||||
const { variant, disabled, round, circle, href, type, to, size: sizeName } = toRefs(props);
|
||||
|
||||
const emits = defineEmits(['click']);
|
||||
|
||||
@@ -58,18 +60,20 @@ const tag = computed(() => {
|
||||
return 'button';
|
||||
});
|
||||
const appTheme = useAppTheme();
|
||||
|
||||
const size = computed(() => theme.value.size[sizeName.value]);
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.c-button {
|
||||
line-height: 1;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
font-size: v-bind('size.fontSize');
|
||||
border: none;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
height: 34px;
|
||||
height: v-bind('size.width');
|
||||
font-weight: 400;
|
||||
color: v-bind('variantTheme.textColor');
|
||||
padding: 0 14px;
|
||||
@@ -89,8 +93,9 @@ const appTheme = useAppTheme();
|
||||
}
|
||||
|
||||
&.circle {
|
||||
border-radius: 40px;
|
||||
width: 34px;
|
||||
border-radius: v-bind('size.width');
|
||||
width: v-bind('size.width');
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
&:not(.disabled) {
|
||||
|
||||
Reference in new issue
Block a user