refactor(ui): move Button component to @proj-airi/ui (#781)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
LemonNeko
2025-12-02 02:05:57 +08:00
committed by GitHub
co-authored by autofix-ci[bot]
parent 7f4a0ecaf9
commit 48c7c1f6b9
33 changed files with 41 additions and 48 deletions
+8 -1
View File
@@ -1,5 +1,12 @@
[workspace]
members = [ "crates/tauri-plugin-ipc-audio-transcription-ort", "crates/tauri-plugin-ipc-audio-vad-ort", "crates/tauri-plugin-mcp", "crates/tauri-plugin-rdev", "crates/tauri-plugin-window-pass-through-on-hover", "crates/tauri-plugin-window-router-link" ]
members = [
"crates/tauri-plugin-ipc-audio-transcription-ort",
"crates/tauri-plugin-ipc-audio-vad-ort",
"crates/tauri-plugin-mcp",
"crates/tauri-plugin-rdev",
"crates/tauri-plugin-window-pass-through-on-hover",
"crates/tauri-plugin-window-router-link"
]
resolver = "2"
[workspace.package]
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { Button } from '@proj-airi/stage-ui/components'
import { FieldInput, FieldSelect, FieldTextArea } from '@proj-airi/ui'
import { Button, FieldInput, FieldSelect, FieldTextArea } from '@proj-airi/ui'
import { computed, reactive, ref } from 'vue'
import { widgetsAdd, widgetsClear, widgetsOpenWindow, widgetsPrepareWindow, widgetsRemove, widgetsUpdate } from '../../../shared/eventa'
@@ -1,6 +1,5 @@
<script setup lang="ts">
import { Button } from '@proj-airi/stage-ui/components'
import { TransitionVertical } from '@proj-airi/ui'
import { Button, TransitionVertical } from '@proj-airi/ui'
import { refDebounced, useDark, useMouseInElement } from '@vueuse/core'
import { computed, onBeforeUnmount, onMounted, ref } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -1,6 +1,6 @@
<script lang="ts" setup>
import { Button } from '@proj-airi/stage-ui/components'
import { useSettings } from '@proj-airi/stage-ui/stores/settings'
import { Button } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
const emits = defineEmits<{
+1 -1
View File
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { Button } from '@proj-airi/stage-ui/components'
import { Button } from '@proj-airi/ui'
import { useRouter } from 'vue-router'
const router = useRouter()
@@ -2,8 +2,7 @@
import type { PreTrainedModel, Processor } from '@huggingface/transformers'
import { AutoModel, AutoProcessor, env, RawImage } from '@huggingface/transformers'
import { Button } from '@proj-airi/stage-ui/components'
import { Checkbox, InputFile } from '@proj-airi/ui'
import { Button, Checkbox, InputFile } from '@proj-airi/ui'
import { check } from 'gpuu/webgpu'
import { computed, onMounted, ref, watch } from 'vue'
@@ -3,9 +3,8 @@ import type { ServerEvent, ServerEvents } from '@proj-airi/stage-ui/stores/provi
import vadWorkletUrl from '@proj-airi/stage-ui/workers/vad/process.worklet?worker&url'
import { Button } from '@proj-airi/stage-ui/components'
import { createAliyunNLSProvider } from '@proj-airi/stage-ui/stores/providers/aliyun/stream-transcription'
import { FieldInput, FieldSelect } from '@proj-airi/ui'
import { Button, FieldInput, FieldSelect } from '@proj-airi/ui'
import { streamTranscription } from '@xsai/stream-transcription'
import { computed, nextTick, onBeforeUnmount, reactive, ref, shallowRef, watch } from 'vue'
@@ -3,9 +3,8 @@ import type { Card } from '@proj-airi/ccc'
import kebabcase from '@stdlib/string-base-kebabcase'
import { Button } from '@proj-airi/stage-ui/components'
import { useAiriCardStore } from '@proj-airi/stage-ui/stores/modules/airi-card'
import { FieldInput, FieldValues } from '@proj-airi/ui'
import { Button, FieldInput, FieldValues } from '@proj-airi/ui'
import {
DialogContent,
DialogOverlay,
@@ -3,8 +3,8 @@ import type { AiriCard } from '@proj-airi/stage-ui/stores/modules/airi-card'
import DOMPurify from 'dompurify'
import { Button } from '@proj-airi/stage-ui/components'
import { useAiriCardStore } from '@proj-airi/stage-ui/stores/modules/airi-card'
import { Button } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import {
DialogContent,
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { Button } from '@proj-airi/stage-ui/components'
import { Button } from '@proj-airi/ui'
import {
AlertDialogAction,
AlertDialogCancel,
@@ -10,8 +10,7 @@ import {
toggleBeatSync,
updateBeatSyncParameters,
} from '@proj-airi/stage-shared/beat-sync/browser'
import { Button } from '@proj-airi/stage-ui/components'
import { FieldCheckbox, FieldRange } from '@proj-airi/ui'
import { Button, FieldCheckbox, FieldRange } from '@proj-airi/ui'
import { createTimeline } from 'animejs'
import { nanoid } from 'nanoid'
import { onMounted, onUnmounted, ref, toRaw, watch } from 'vue'
@@ -1,14 +1,14 @@
<script setup lang="ts">
import workletUrl from '@proj-airi/stage-ui/workers/vad/process.worklet?worker&url'
import { Alert, Button, ErrorContainer, LevelMeter, RadioCardManySelect, RadioCardSimple, TestDummyMarker, ThresholdMeter, TimeSeriesChart } from '@proj-airi/stage-ui/components'
import { Alert, ErrorContainer, LevelMeter, RadioCardManySelect, RadioCardSimple, TestDummyMarker, ThresholdMeter, TimeSeriesChart } from '@proj-airi/stage-ui/components'
import { useAudioAnalyzer, useAudioRecorder } from '@proj-airi/stage-ui/composables'
import { useVAD } from '@proj-airi/stage-ui/stores/ai/models/vad'
import { useAudioContext } from '@proj-airi/stage-ui/stores/audio'
import { useHearingSpeechInputPipeline, useHearingStore } from '@proj-airi/stage-ui/stores/modules/hearing'
import { useProvidersStore } from '@proj-airi/stage-ui/stores/providers'
import { useSettingsAudioDevice } from '@proj-airi/stage-ui/stores/settings'
import { FieldCheckbox, FieldRange, FieldSelect } from '@proj-airi/ui'
import { Button, FieldCheckbox, FieldRange, FieldSelect } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, onMounted, onUnmounted, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -8,7 +8,6 @@ import vadWorkletUrl from '@proj-airi/stage-ui/workers/vad/process.worklet?worke
import {
Alert,
Button,
ProviderBasicSettings,
ProviderSettingsContainer,
ProviderSettingsLayout,
@@ -16,7 +15,7 @@ import {
import { useProviderValidation } from '@proj-airi/stage-ui/composables/use-provider-validation'
import { useHearingStore } from '@proj-airi/stage-ui/stores/modules/hearing'
import { useProvidersStore } from '@proj-airi/stage-ui/stores/providers'
import { FieldInput, FieldSelect } from '@proj-airi/ui'
import { Button, FieldInput, FieldSelect } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, onBeforeUnmount, reactive, ref, shallowRef } from 'vue'
@@ -1,5 +1,5 @@
<script setup lang="ts">
import Button from './Button.vue'
import { Button } from '@proj-airi/ui'
</script>
<template>
@@ -1,5 +1,4 @@
export { default as Alert } from './Alert.vue'
export { default as Button } from './Button.vue'
export { default as Collapsable } from './Collapsable.vue'
export { default as ErrorContainer } from './ErrorContainer.vue'
export { default as Progress } from './Progress.vue'
@@ -1,11 +1,10 @@
<script setup lang="ts">
import type { StoreGeneric } from 'pinia'
import { FieldCheckbox, FieldInput } from '@proj-airi/ui'
import { Button, FieldCheckbox, FieldInput } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { useI18n } from 'vue-i18n'
import { Button } from '../../components'
import { useNumberString } from '../../composables/use-number-string'
interface GamingModuleStore extends StoreGeneric {
@@ -1,7 +1,6 @@
<script setup lang="ts">
import { Button } from '@proj-airi/stage-ui/components'
import { useDiscordStore } from '@proj-airi/stage-ui/stores/modules/discord'
import { FieldCheckbox, FieldInput } from '@proj-airi/ui'
import { Button, FieldCheckbox, FieldInput } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { useI18n } from 'vue-i18n'
@@ -1,7 +1,6 @@
<script setup lang="ts">
import { Button } from '@proj-airi/stage-ui/components'
import { useTwitterStore } from '@proj-airi/stage-ui/stores/modules/twitter'
import { FieldCheckbox, FieldInput } from '@proj-airi/ui'
import { Button, FieldCheckbox, FieldInput } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { useI18n } from 'vue-i18n'
@@ -1,13 +1,12 @@
<script setup lang="ts">
import type { DisplayModel } from '../../../../stores/display-models'
import { Button } from '@proj-airi/ui'
import { useFileDialog } from '@vueuse/core'
import { storeToRefs } from 'pinia'
import { DropdownMenuContent, DropdownMenuItem, DropdownMenuPortal, DropdownMenuRoot, DropdownMenuTrigger, EditableArea, EditableEditTrigger, EditableInput, EditablePreview, EditableRoot, EditableSubmitTrigger } from 'reka-ui'
import { ref } from 'vue'
import Button from '../../../misc/Button.vue'
import { DisplayModelFormat, useDisplayModelsStore } from '../../../../stores/display-models'
const emits = defineEmits<{ (e: 'close', value: void): void }>()
@@ -1,4 +1,5 @@
<script setup lang="ts">
import { Button } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { inject } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -7,7 +8,6 @@ import Alert from '../../../misc/Alert.vue'
import { useConsciousnessStore } from '../../../../stores/modules/consciousness'
import { RadioCardManySelect } from '../../../menu'
import { Button } from '../../../misc'
import { OnboardingContextKey } from './utils'
const { t } = useI18n()
@@ -1,11 +1,11 @@
<script setup lang="ts">
import { FieldInput } from '@proj-airi/ui'
import { Button, FieldInput } from '@proj-airi/ui'
import { computed, inject, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
import { useProvidersStore } from '../../../../stores/providers'
import { Callout } from '../../../layouts'
import { Button, ErrorContainer } from '../../../misc'
import { ErrorContainer } from '../../../misc'
import { ProviderAccountIdInput } from '../../../scenarios/providers'
import { OnboardingContextKey } from './utils'
@@ -1,9 +1,9 @@
<script setup lang="ts">
import { Button } from '@proj-airi/ui'
import { inject } from 'vue'
import { useI18n } from 'vue-i18n'
import { RadioCardDetail } from '../../../menu'
import { Button } from '../../../misc'
import { OnboardingContextKey } from './utils'
const { t } = useI18n()
@@ -1,10 +1,10 @@
<script setup lang="ts">
import { Button } from '@proj-airi/ui'
import { inject } from 'vue'
import { useI18n } from 'vue-i18n'
import onboardingLogo from '../../../../assets/onboarding.avif'
import { Button } from '../../../misc'
import { OnboardingContextKey } from './utils'
const { t } = useI18n()
@@ -1,7 +1,7 @@
<script setup lang="ts">
import type { HearingTranscriptionResult } from '@proj-airi/stage-ui/stores/modules/hearing'
import { FieldRange, FieldSelect } from '@proj-airi/ui'
import { Button, FieldRange, FieldSelect } from '@proj-airi/ui'
import { until } from '@vueuse/core'
import { computed, onUnmounted, ref, shallowRef, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -10,7 +10,6 @@ import { useAudioAnalyzer } from '../../../composables/audio/audio-analyzer'
import { useAudioRecorder } from '../../../composables/audio/audio-recorder'
import { useAudioDevice } from '../../../composables/audio/device'
import { LevelMeter, TestDummyMarker, ThresholdMeter } from '../../gadgets'
import { Button } from '../../misc'
const props = defineProps<{
// Provider-specific handlers (provided from parent)
@@ -1,7 +1,7 @@
<script setup lang="ts">
import Bar from './Bar.vue'
import { Button } from '@proj-airi/ui'
import { Button } from '../../misc'
import Bar from './Bar.vue'
defineProps<{
text: string
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { Checkbox, FieldRange } from '@proj-airi/ui'
import { Button, Checkbox, FieldRange } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { onMounted, onUnmounted, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -7,7 +7,6 @@ import { useI18n } from 'vue-i18n'
import { defaultModelParameters, useLive2d } from '../../../../stores/live2d'
import { useSettings } from '../../../../stores/settings'
import { Section } from '../../../layouts'
import { Button } from '../../../misc'
import { ColorPalette } from '../../../widgets'
defineProps<{
@@ -1,12 +1,12 @@
<script setup lang="ts">
import { useModelStore } from '@proj-airi/stage-ui-three'
import { Button } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed } from 'vue'
import { useI18n } from 'vue-i18n'
import { Container, PropertyColor, PropertyNumber, PropertyPoint } from '../../../data-pane'
import { Callout, Tabs } from '../../../layouts'
import { Button } from '../../../misc'
import { ColorPalette } from '../../../widgets'
defineProps<{
@@ -2,12 +2,12 @@
import type { DisplayModel } from '../../../../stores/display-models'
import { ThreeScene, useModelStore } from '@proj-airi/stage-ui-three'
import { Button } from '@proj-airi/ui'
import { useMouse } from '@vueuse/core'
import { storeToRefs } from 'pinia'
import { ref, watch } from 'vue'
import Callout from '../../../layouts/Callout.vue'
import Button from '../../../misc/Button.vue'
import Live2DScene from '../../../scenes/Live2D.vue'
import Live2D from './Live2D.vue'
import VRM from './VRM.vue'
@@ -1,9 +1,8 @@
<script setup lang="ts">
import { Button } from '@proj-airi/ui'
import { inject } from 'vue'
import { useI18n } from 'vue-i18n'
import Button from '../../misc/Button.vue'
import { ToasterRootInjectionKey } from './constants'
const props = defineProps<{ id?: string }>()
@@ -1,9 +1,8 @@
<script setup lang="ts">
import { Button } from '@proj-airi/ui'
import { animate, createDraggable, createSpring, utils } from 'animejs'
import { onMounted } from 'vue'
import Button from '../misc/Button.vue'
onMounted(() => {
const [$logo] = utils.$('.logo.js')
const [$button] = utils.$('button')
+1
View File
@@ -0,0 +1 @@
export { default as Button } from './Button.vue'
+1
View File
@@ -2,5 +2,6 @@ import './fallback.css'
export * from './components/Animations'
export * from './components/Form'
export * from './components/Misc'
export * from './composables/use-deferred-mount'
export * from './composables/use-theme'