* chore: add storybook * chore: unify FE codeabse * chore: update eslint rules * chore: harmonize the use of "subtle" color * chore: remove an extra sidebar rail * refactor: make panel items more consistent * chore: cleanups after merging new code from base * refactor: refine composables * fix: add lost import * chore: make icon style consistent * fix: don't show empty "supported" methods * refactor: solidify select items
36 lines
811 B
Vue
36 lines
811 B
Vue
<script setup lang="ts">
|
|
/**
|
|
* @component AppInputGroupButton
|
|
* @description A button intended for use within an input group.
|
|
*/
|
|
import { AppButton } from '@/components/base/button';
|
|
import { cn } from '@/utils';
|
|
import type { InputGroupButtonProps } from '.';
|
|
import { inputGroupButtonVariants } from '.';
|
|
|
|
/*
|
|
* Types & Interfaces.
|
|
*/
|
|
|
|
export interface AppInputGroupButtonComponentProps extends InputGroupButtonProps {}
|
|
|
|
/*
|
|
* Component Setup.
|
|
*/
|
|
|
|
const props = withDefaults(defineProps<AppInputGroupButtonComponentProps>(), {
|
|
size: 'xs',
|
|
variant: 'ghost',
|
|
});
|
|
</script>
|
|
|
|
<template>
|
|
<AppButton
|
|
:data-size="props.size"
|
|
:variant="props.variant"
|
|
:class="cn(inputGroupButtonVariants({ size: props.size }), props.class)"
|
|
>
|
|
<slot />
|
|
</AppButton>
|
|
</template>
|