mirror of
https://github.com/ChrispyBacon-dev/DockFlare.git
synced 2026-04-28 11:49:34 +00:00
65 lines
No EOL
2.5 KiB
JavaScript
65 lines
No EOL
2.5 KiB
JavaScript
/// <reference types="../../../node_modules/.vue-global-types/vue_3.5_0_0_0.d.ts" />
|
|
import { computed } from 'vue';
|
|
const props = defineProps({
|
|
variant: { type: String, default: 'default' },
|
|
size: { type: String, default: 'default' },
|
|
class: { type: String, default: '' },
|
|
disabled: { type: Boolean, default: false }
|
|
});
|
|
const baseClass = "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50";
|
|
const variants = {
|
|
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
|
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
link: "text-primary underline-offset-4 hover:underline",
|
|
};
|
|
const sizes = {
|
|
default: "h-10 px-4 py-2",
|
|
sm: "h-9 rounded-md px-3",
|
|
lg: "h-11 rounded-md px-8",
|
|
icon: "h-10 w-10",
|
|
};
|
|
const computedClass = computed(() => {
|
|
return `${baseClass} ${variants[props.variant] || variants.default} ${sizes[props.size] || sizes.default} ${props.class}`;
|
|
});
|
|
debugger; /* PartiallyEnd: #3632/scriptSetup.vue */
|
|
const __VLS_ctx = {};
|
|
let __VLS_components;
|
|
let __VLS_directives;
|
|
__VLS_asFunctionalElement(__VLS_intrinsicElements.button, __VLS_intrinsicElements.button)({
|
|
...{ class: (__VLS_ctx.computedClass) },
|
|
disabled: (__VLS_ctx.disabled),
|
|
});
|
|
var __VLS_0 = {};
|
|
// @ts-ignore
|
|
var __VLS_1 = __VLS_0;
|
|
var __VLS_dollars;
|
|
const __VLS_self = (await import('vue')).defineComponent({
|
|
setup() {
|
|
return {
|
|
computedClass: computedClass,
|
|
};
|
|
},
|
|
props: {
|
|
variant: { type: String, default: 'default' },
|
|
size: { type: String, default: 'default' },
|
|
class: { type: String, default: '' },
|
|
disabled: { type: Boolean, default: false }
|
|
},
|
|
});
|
|
const __VLS_component = (await import('vue')).defineComponent({
|
|
setup() {
|
|
return {};
|
|
},
|
|
props: {
|
|
variant: { type: String, default: 'default' },
|
|
size: { type: String, default: 'default' },
|
|
class: { type: String, default: '' },
|
|
disabled: { type: Boolean, default: false }
|
|
},
|
|
});
|
|
export default {};
|
|
; /* PartiallyEnd: #4569/main.vue */
|
|
//# sourceMappingURL=Button.vue.js.map
|