mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-27 09:45:13 +00:00
## Summary Setup the variants and migrate existing uses of TextButton/TextIconButton/IconButton to a single Button component. Still a work in progress. ## Changes - **What**: Add a new Button - **What**: Migrate old buttons - **What**: Delete old buttons - **Dependencies**: CVA, upgrade Storybook ## Review Focus <!-- Critical design decisions or edge cases that need attention --> <!-- If this PR fixes an issue, uncomment and update the line below --> <!-- Fixes #ISSUE_NUMBER --> ## Screenshots (if applicable) <!-- Add screenshots or video recording to help explain your changes --> ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-7537-WIP-Component-Button-migration-2cb6d73d36508156a81bfc7bbddb36e9) by [Unito](https://www.unito.io) --------- Co-authored-by: GitHub Action <action@github.com>
41 lines
1.0 KiB
Vue
41 lines
1.0 KiB
Vue
<template>
|
|
<section class="w-full flex gap-2 justify-end px-2 pb-2">
|
|
<Button :disabled variant="textonly" autofocus @click="$emit('cancel')">
|
|
{{ cancelTextX }}
|
|
</Button>
|
|
<Button
|
|
:disabled
|
|
variant="textonly"
|
|
:class="confirmClass"
|
|
@click="$emit('confirm')"
|
|
>
|
|
{{ confirmTextX }}
|
|
</Button>
|
|
</section>
|
|
</template>
|
|
<script setup lang="ts">
|
|
import { computed, toValue } from 'vue'
|
|
import type { MaybeRefOrGetter } from 'vue'
|
|
import { useI18n } from 'vue-i18n'
|
|
|
|
import Button from '@/components/ui/button/Button.vue'
|
|
|
|
const { t } = useI18n()
|
|
|
|
const { cancelText, confirmText, confirmClass, optionsDisabled } = defineProps<{
|
|
cancelText?: string
|
|
confirmText?: string
|
|
confirmClass?: string
|
|
optionsDisabled?: MaybeRefOrGetter<boolean>
|
|
}>()
|
|
|
|
defineEmits<{
|
|
cancel: []
|
|
confirm: []
|
|
}>()
|
|
|
|
const confirmTextX = computed(() => confirmText || t('g.confirm'))
|
|
const cancelTextX = computed(() => cancelText || t('g.cancel'))
|
|
const disabled = computed(() => toValue(optionsDisabled))
|
|
</script>
|