migrate on nuxt3

This commit is contained in:
2025-06-17 17:46:03 +04:00
parent 7634a3d616
commit 727fa976bd
123 changed files with 20963 additions and 1815 deletions

View File

@ -0,0 +1,45 @@
<template>
<component
:is="tag"
class="px-14 py-4 rounded-[20px] text-[30px] cursor-pointer shadow-[0px_16px_50px_-16px_rgba(229,30,125,1)]"
:class="[baseStyle, size]"
data-ui="ui-button"
>
<slot />
</component>
</template>
<script setup lang="ts">
import { toRefs, computed } from 'vue'
import { colorVariants } from './UiButton.params.js'
const props = defineProps({
tag: {
type: String,
default: 'button',
},
variants: {
type: String as () => 'primary' | 'secondary',
default: 'primary',
validator: (value) => {
return ['primary', 'secondary'].includes(value as string)
},
},
size: {
type: String,
default: 'font-bold',
},
})
const { tag, variants, size } = toRefs(props)
const colorClasses: Record<'primary' | 'secondary', string[]> = {
primary: colorVariants.primary,
secondary: colorVariants.secondary,
}
const baseStyle = computed(() => {
const variant = variants.value as 'primary' | 'secondary'
return colorClasses[variant]?.join(' ') || ''
})
</script>