fix: types & import

This commit is contained in:
Neko Ayaka
2025-04-26 16:03:38 +08:00
parent c0fc0a7db0
commit 3f9335089d
102 changed files with 218 additions and 206 deletions
@@ -3,7 +3,7 @@ import type { ChatProvider } from '@xsai-ext/shared-providers'
import { useMicVAD } from '@proj-airi/stage-ui/composables'
import { useChatStore, useConsciousnessStore, useProvidersStore, useSettings } from '@proj-airi/stage-ui/stores'
import { BasicTextarea } from '@proj-airi/ui/Form'
import { BasicTextarea } from '@proj-airi/ui'
import { invoke } from '@tauri-apps/api/core'
import { storeToRefs } from 'pinia'
import { onMounted, ref, watch } from 'vue'
@@ -2,7 +2,7 @@
import type { ccv3 } from '@proj-airi/ccc'
import { useAiriCardStore } from '@proj-airi/stage-ui/stores'
import { InputFile } from '@proj-airi/ui/Form'
import { InputFile } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -1,6 +1,6 @@
<script setup lang="ts">
import { RadioCardManySelect, RadioCardSimple } from '@proj-airi/stage-ui/components'
import { useConsciousnessStore, useProvidersStore } from '@proj-airi/stage-ui/stores'
import { RadioCardDetailManySelect, RadioCardSimple } from '@proj-airi/ui/Form'
import { storeToRefs } from 'pinia'
import { onMounted } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -134,9 +134,9 @@ function updateCustomModelName(value: string) {
</div>
</div>
<!-- Using the new RadioCardDetailManySelect component -->
<!-- Using the new RadioCardManySelect component -->
<template v-else-if="providerModels.length > 0">
<RadioCardDetailManySelect
<RadioCardManySelect
v-model="activeModel"
v-model:search-query="modelSearchQuery"
:items="providerModels"
@@ -1,17 +1,20 @@
<script setup lang="ts">
import type { SpeechProviderWithExtraOptions } from '@xsai-ext/shared-providers'
import { Skeleton, TestDummyMarker } from '@proj-airi/stage-ui/components'
import {
RadioCardManySelect,
RadioCardSimple,
Skeleton,
TestDummyMarker,
VoiceCardManySelect,
} from '@proj-airi/stage-ui/components'
import { useProvidersStore, useSpeechStore } from '@proj-airi/stage-ui/stores'
import {
FieldCheckbox,
FieldInput,
FieldRange,
RadioCardDetailManySelect,
RadioCardSimple,
Textarea,
VoiceCardManySelect,
} from '@proj-airi/ui/Form'
} from '@proj-airi/ui'
import { generateSpeech } from '@xsai/generate-speech'
import { storeToRefs } from 'pinia'
import { onMounted, onUnmounted, ref, watch } from 'vue'
@@ -255,9 +258,9 @@ function updateCustomModelName(value: string) {
</div>
</div>
<!-- Using the new RadioCardDetailManySelect component -->
<!-- Using the new RadioCardManySelect component -->
<template v-else-if="providerModels.length > 0">
<RadioCardDetailManySelect
<RadioCardManySelect
v-model="activeSpeechModel"
v-model:search-query="modelSearchQuery"
:items="providerModels"
@@ -313,7 +316,7 @@ function updateCustomModelName(value: string) {
</div>
<!-- Error state -->
<!-- Voice selection with RadioCardDetailManySelect -->
<!-- Voice selection with RadioCardManySelect -->
<div
v-else-if="availableVoices[activeSpeechProvider] && availableVoices[activeSpeechProvider].length > 0"
class="space-y-6"
@@ -7,7 +7,7 @@ import {
SpeechProviderSettings,
} from '@proj-airi/stage-ui/components'
import { useProvidersStore, useSpeechStore } from '@proj-airi/stage-ui/stores'
import { FieldRange } from '@proj-airi/ui/Form'
import { FieldRange } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, onMounted, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -7,7 +7,7 @@ import {
SpeechProviderSettings,
} from '@proj-airi/stage-ui/components'
import { useProvidersStore, useSpeechStore } from '@proj-airi/stage-ui/stores'
import { FieldCheckbox, FieldRange } from '@proj-airi/ui/Form'
import { FieldCheckbox, FieldRange } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, onMounted, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -7,7 +7,7 @@ import {
SpeechProviderSettings,
} from '@proj-airi/stage-ui/components'
import { useProvidersStore, useSpeechStore } from '@proj-airi/stage-ui/stores'
import { FieldInput, FieldRange } from '@proj-airi/ui/Form'
import { FieldInput, FieldRange } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, onMounted, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -9,7 +9,7 @@ import {
ProviderSettingsLayout,
} from '@proj-airi/stage-ui/components'
import { useProvidersStore } from '@proj-airi/stage-ui/stores'
import { FieldKeyValues } from '@proj-airi/ui/Form'
import { FieldKeyValues } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, onMounted, reactive, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -7,7 +7,7 @@ import {
SpeechProviderSettings,
} from '@proj-airi/stage-ui/components'
import { useProvidersStore, useSpeechStore } from '@proj-airi/stage-ui/stores'
import { FieldInput, FieldRange } from '@proj-airi/ui/Form'
import { FieldInput, FieldRange } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, onMounted, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
+6
View File
@@ -12,6 +12,12 @@
],
"@proj-airi/ui-transitions": [
"../../packages/ui-transitions/src/index.ts"
],
"@proj-airi/ui": [
"../../packages/ui/src/index.ts"
],
"@proj-airi/ui/*": [
"../../packages/ui/src/*"
]
},
"resolveJsonModule": true,
+1
View File
@@ -22,6 +22,7 @@ export default defineConfig({
alias: {
'@proj-airi/stage-ui': resolve(join(import.meta.dirname, '..', '..', 'packages', 'stage-ui', 'src')),
'@proj-airi/stage-ui/stores': resolve(join(import.meta.dirname, '..', '..', 'packages', 'stage-ui', 'src', 'stores')),
'@proj-airi/ui': resolve(join(import.meta.dirname, '..', '..', 'packages', 'ui', 'src')),
},
},
plugins: [
@@ -1,11 +1,10 @@
<script setup lang="ts">
import type { ChatProvider } from '@xsai-ext/shared-providers'
import { TransitionVertical } from '@proj-airi/stage-ui/components'
import { useMicVAD, useWhisper } from '@proj-airi/stage-ui/composables'
import WhisperWorker from '@proj-airi/stage-ui/libs/workers/worker?worker&url'
import { useAudioContext, useChatStore, useConsciousnessStore, useProvidersStore, useSettings } from '@proj-airi/stage-ui/stores'
import { BasicTextarea } from '@proj-airi/ui/Form'
import { BasicTextarea, TransitionVertical } from '@proj-airi/ui'
import { useDevicesList } from '@vueuse/core'
import { storeToRefs } from 'pinia'
import { ref, watch } from 'vue'
@@ -3,7 +3,7 @@ import type { ChatProvider } from '@xsai-ext/shared-providers'
import { useMicVAD } from '@proj-airi/stage-ui/composables'
import { useChatStore, useConsciousnessStore, useProvidersStore, useSettings } from '@proj-airi/stage-ui/stores'
import { BasicTextarea } from '@proj-airi/ui/Form'
import { BasicTextarea } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { onMounted, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -2,7 +2,7 @@
import type { PreTrainedModel, Processor } from '@huggingface/transformers'
import { AutoModel, AutoProcessor, env, RawImage } from '@huggingface/transformers'
import { InputFile } from '@proj-airi/ui/Form'
import { InputFile } from '@proj-airi/ui'
import { check } from 'gpuu/webgpu'
import { computed, onMounted, ref } from 'vue'
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { InputFile } from '@proj-airi/ui/Form'
import { InputFile } from '@proj-airi/ui'
import { Vibrant } from 'node-vibrant/browser'
import { ref, watch } from 'vue'
@@ -2,7 +2,7 @@
import type { ccv3 } from '@proj-airi/ccc'
import { useAiriCardStore } from '@proj-airi/stage-ui/stores'
import { InputFile } from '@proj-airi/ui/Form'
import { InputFile } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -1,6 +1,6 @@
<script setup lang="ts">
import { RadioCardManySelect, RadioCardSimple } from '@proj-airi/stage-ui/components'
import { useConsciousnessStore, useProvidersStore } from '@proj-airi/stage-ui/stores'
import { RadioCardDetailManySelect, RadioCardSimple } from '@proj-airi/ui/Form'
import { storeToRefs } from 'pinia'
import { onMounted } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -134,9 +134,9 @@ function updateCustomModelName(value: string) {
</div>
</div>
<!-- Using the new RadioCardDetailManySelect component -->
<!-- Using the new RadioCardManySelect component -->
<template v-else-if="providerModels.length > 0">
<RadioCardDetailManySelect
<RadioCardManySelect
v-model="activeModel"
v-model:search-query="modelSearchQuery"
:items="providerModels"
@@ -1,17 +1,20 @@
<script setup lang="ts">
import type { SpeechProviderWithExtraOptions } from '@xsai-ext/shared-providers'
import { Skeleton, TestDummyMarker } from '@proj-airi/stage-ui/components'
import {
RadioCardManySelect,
RadioCardSimple,
Skeleton,
TestDummyMarker,
VoiceCardManySelect,
} from '@proj-airi/stage-ui/components'
import { useProvidersStore, useSpeechStore } from '@proj-airi/stage-ui/stores'
import {
FieldCheckbox,
FieldInput,
FieldRange,
RadioCardDetailManySelect,
RadioCardSimple,
Textarea,
VoiceCardManySelect,
} from '@proj-airi/ui/Form'
} from '@proj-airi/ui'
import { generateSpeech } from '@xsai/generate-speech'
import { storeToRefs } from 'pinia'
import { onMounted, onUnmounted, ref, watch } from 'vue'
@@ -255,9 +258,9 @@ function updateCustomModelName(value: string) {
</div>
</div>
<!-- Using the new RadioCardDetailManySelect component -->
<!-- Using the new RadioCardManySelect component -->
<template v-else-if="providerModels.length > 0">
<RadioCardDetailManySelect
<RadioCardManySelect
v-model="activeSpeechModel"
v-model:search-query="modelSearchQuery"
:items="providerModels"
@@ -313,7 +316,7 @@ function updateCustomModelName(value: string) {
</div>
<!-- Error state -->
<!-- Voice selection with RadioCardDetailManySelect -->
<!-- Voice selection with RadioCardManySelect -->
<div
v-else-if="availableVoices[activeSpeechProvider] && availableVoices[activeSpeechProvider].length > 0"
class="space-y-6"
@@ -7,7 +7,7 @@ import {
SpeechProviderSettings,
} from '@proj-airi/stage-ui/components'
import { useProvidersStore, useSpeechStore } from '@proj-airi/stage-ui/stores'
import { FieldRange } from '@proj-airi/ui/Form'
import { FieldRange } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, onMounted, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -7,7 +7,7 @@ import {
SpeechProviderSettings,
} from '@proj-airi/stage-ui/components'
import { useProvidersStore, useSpeechStore } from '@proj-airi/stage-ui/stores'
import { FieldCheckbox, FieldRange } from '@proj-airi/ui/Form'
import { FieldCheckbox, FieldRange } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, onMounted, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -7,7 +7,7 @@ import {
SpeechProviderSettings,
} from '@proj-airi/stage-ui/components'
import { useProvidersStore, useSpeechStore } from '@proj-airi/stage-ui/stores'
import { FieldInput, FieldRange } from '@proj-airi/ui/Form'
import { FieldInput, FieldRange } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, onMounted, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -9,7 +9,7 @@ import {
ProviderSettingsLayout,
} from '@proj-airi/stage-ui/components'
import { useProvidersStore } from '@proj-airi/stage-ui/stores'
import { FieldKeyValues } from '@proj-airi/ui/Form'
import { FieldKeyValues } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, onMounted, reactive, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -7,7 +7,7 @@ import {
SpeechProviderSettings,
} from '@proj-airi/stage-ui/components'
import { useProvidersStore, useSpeechStore } from '@proj-airi/stage-ui/stores'
import { FieldInput, FieldRange } from '@proj-airi/ui/Form'
import { FieldInput, FieldRange } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { computed, onMounted, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { Textarea } from '@proj-airi/ui/Form'
import { Textarea } from '@proj-airi/ui'
import { ref } from 'vue'
const messageInput = ref<string>('')
@@ -1,7 +1,7 @@
<script setup lang="ts">
import { useDelayMessageQueue } from '@proj-airi/stage-ui/composables'
import { llmInferenceEndToken } from '@proj-airi/stage-ui/constants'
import { Textarea } from '@proj-airi/ui/Form'
import { Textarea } from '@proj-airi/ui'
import { ref } from 'vue'
const messageInput = ref<string>('')
@@ -4,7 +4,7 @@ import type { Emotion } from '@proj-airi/stage-ui/constants/emotions'
import { useQueue } from '@proj-airi/stage-ui/composables/queue'
import { useEmotionsMessageQueue } from '@proj-airi/stage-ui/composables/queues'
import { llmInferenceEndToken } from '@proj-airi/stage-ui/constants'
import { Textarea } from '@proj-airi/ui/Form'
import { Textarea } from '@proj-airi/ui'
import { ref } from 'vue'
const messageInput = ref<string>('')
@@ -2,7 +2,7 @@
import { useQueue } from '@proj-airi/stage-ui/composables/queue'
import { useMessageContentQueue } from '@proj-airi/stage-ui/composables/queues'
import { llmInferenceEndToken } from '@proj-airi/stage-ui/constants'
import { Textarea } from '@proj-airi/ui/Form'
import { Textarea } from '@proj-airi/ui'
import { ref } from 'vue'
const messageInput = ref<string>('')
+6
View File
@@ -14,6 +14,12 @@
],
"@proj-airi/ui-transitions": [
"../../packages/ui-transitions/src/index.ts"
],
"@proj-airi/ui": [
"../../packages/ui/src/index.ts"
],
"@proj-airi/ui/*": [
"../../packages/ui/src/*"
]
},
"resolveJsonModule": true,
+1
View File
@@ -55,6 +55,7 @@ export default defineConfig({
resolve: {
alias: {
'@proj-airi/stage-ui': resolve(join(import.meta.dirname, '..', '..', 'packages', 'stage-ui', 'src')),
'@proj-airi/ui': resolve(join(import.meta.dirname, '..', '..', 'packages', 'ui', 'src')),
'@proj-airi/ui-transitions': resolve(join(import.meta.dirname, '..', '..', 'packages', 'ui-transitions', 'src')),
'@proj-airi/stage-ui/stores': resolve(join(import.meta.dirname, '..', '..', 'packages', 'stage-ui', 'src', 'stores')),
},
-4
View File
@@ -26,10 +26,6 @@ export default defineConfig({
id: 'design-system',
title: 'Design System',
},
{
id: 'typography',
title: 'Typography',
},
{
id: 'common',
title: 'Common',
+2 -1
View File
@@ -94,6 +94,7 @@
"@vitejs/plugin-vue": "^5.2.3",
"histoire": "1.0.0-alpha.2",
"unocss": "^66.1.0-beta.12",
"vite": "^6.3.3"
"vite": "^6.3.3",
"vue-sfc-transformer": "^0.1.14"
}
}
@@ -1,8 +1,7 @@
<script setup lang="ts">
import { Checkbox } from '@proj-airi/ui'
import { ref } from 'vue'
import Checkbox from './Checkbox.vue'
const checkedValue = ref(true)
const uncheckedValue = ref(false)
const interactiveValue = ref(false)
@@ -1,8 +1,7 @@
<script setup lang="ts">
import { FieldCheckbox } from '@proj-airi/ui'
import { ref } from 'vue'
import FieldCheckbox from './FieldCheckbox.vue'
const checkedValue = ref(true)
const uncheckedValue = ref(false)
</script>
@@ -1,8 +1,7 @@
<script setup lang="ts">
import { FieldInput } from '@proj-airi/ui'
import { ref } from 'vue'
import FieldInput from './FieldInput.vue'
const textValue = ref('')
const passwordValue = ref('secret-password')
const emailValue = ref('user@example.com')
@@ -1,8 +1,7 @@
<script setup lang="ts">
import { FieldKeyValues } from '@proj-airi/ui'
import { reactive, watch } from 'vue'
import FieldKeyValues from './FieldKeyValues.vue'
const emptyHeaders = reactive<{ key: string, value: string }[]>([
{ key: '', value: '' },
])
@@ -1,8 +1,7 @@
<script setup lang="ts">
import { FieldRange } from '@proj-airi/ui'
import { ref } from 'vue'
import FieldRange from './FieldRange.vue'
const minValue = ref(0)
const midValue = ref(0.5)
const maxValue = ref(1)
@@ -1,8 +1,7 @@
<script setup lang="ts">
import { Input } from '@proj-airi/ui'
import { ref } from 'vue'
import Input from './Input.vue'
const textValue = ref('')
const filledTextValue = ref('Sample text')
const passwordValue = ref('secret-password')
@@ -1,8 +1,7 @@
<script setup lang="ts">
import { InputFile } from '@proj-airi/ui'
import { ref } from 'vue'
import InputFile from './InputFile.vue'
const files = ref<File[]>([])
</script>
@@ -1,8 +1,7 @@
<script setup lang="ts">
import { InputKeyValue } from '@proj-airi/ui'
import { ref } from 'vue'
import InputKeyValue from './InputKeyValue.vue'
const key = ref('')
const value = ref('')
</script>
@@ -1,8 +1,7 @@
<script setup lang="ts">
import { Range } from '@proj-airi/ui'
import { ref } from 'vue'
import Range from './Range.vue'
const minValue = ref(0)
const midValue = ref(50)
const maxValue = ref(100)
@@ -1,5 +1,5 @@
<script setup lang="ts">
import BasicTextarea from './Basic.vue'
import { BasicTextarea } from '@proj-airi/ui'
</script>
<template>
@@ -1,8 +1,7 @@
<script setup lang="ts">
import { Textarea } from '@proj-airi/ui'
import { ref } from 'vue'
import Textarea from './Textarea.vue'
const input = ref('')
</script>
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { FieldRange, Radio } from '@proj-airi/ui/Form'
import { FieldRange, Radio } from '@proj-airi/ui'
import { onBeforeUnmount, ref, watch } from 'vue'
import AudioSpectrum from './AudioSpectrum.vue'
@@ -0,0 +1,2 @@
export { default as Live2DCanvas } from './Canvas.vue'
export { default as Live2DModel } from './Model.vue'
@@ -9,7 +9,7 @@ const modelValue = ref('test')
<template>
<Story
title="Radio Card (detail)"
group="form"
group="menu"
:layout="{ type: 'grid', width: 500 }"
>
<template #controls>
@@ -1,9 +1,7 @@
<script setup lang="ts">
import { TransitionVertical } from '@proj-airi/stage-ui/components'
import { Input, TransitionVertical } from '@proj-airi/ui'
import { ref } from 'vue'
import Input from '../Input/Input.vue'
withDefaults(defineProps<{
id: string
name: string
@@ -1,7 +1,7 @@
<script setup lang="ts">
import { computed, ref } from 'vue'
import RadioCardDetail from './Radio/RadioCardDetail.vue'
import RadioCardDetail from './RadioCardDetail.vue'
interface Item {
id: string
@@ -9,7 +9,7 @@ const modelValue = ref('test')
<template>
<Story
title="Radio Card (simple)"
group="form"
group="menu"
:layout="{ type: 'grid', width: 500 }"
>
<template #controls>
@@ -137,7 +137,7 @@ onBeforeUnmount(() => {
<template>
<Story
title="Voice Card"
group="form"
group="menu"
:layout="{ type: 'grid', width: 400 }"
>
<template #controls>
@@ -1,7 +1,7 @@
<script setup lang="ts">
import { AudioSpectrum, AudioSpectrumVisualizer, TransitionVertical } from '@proj-airi/stage-ui/components'
import { Input, TransitionVertical } from '@proj-airi/ui'
import Input from './Input/Input.vue'
import { AudioSpectrum, AudioSpectrumVisualizer } from '../Gadgets'
interface VoiceLanguage {
name: string
@@ -56,7 +56,7 @@ function handleSearchQueryUpdate(value: string) {
<template>
<Story
title="Voice Preview Player"
group="form"
group="menu"
:layout="{ type: 'grid', width: 800 }"
>
<template #controls>
@@ -1,3 +1,8 @@
export { default as CharacterCard } from './CharacterCard.vue'
export { default as IconItem } from './IconItem.vue'
export { default as IconStatusItem } from './IconStatusItem.vue'
export { default as RadioCardDetail } from './RadioCardDetail.vue'
export { default as RadioCardManySelect } from './RadioCardManySelect.vue'
export { default as RadioCardSimple } from './RadioCardSimple.vue'
export { default as VoiceCard } from './VoiceCard.vue'
export { default as VoiceCardManySelect } from './VoiceCardManySelect.vue'
@@ -1,8 +1,7 @@
<script lang="ts" setup>
import { TransitionVertical } from '@proj-airi/ui'
import { watchEffect } from 'vue'
import TransitionVertical from './TransitionVertical.vue'
const props = defineProps<{
default?: boolean
label?: string
@@ -1 +0,0 @@
export { default as Steps } from './Steps.vue'
@@ -1,2 +1,3 @@
export { default as Collapsable } from './Collapsable.vue'
export { default as Skeleton } from './Skeleton.vue'
export * from './Steppers'
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { FieldInput } from '@proj-airi/ui/Form'
import { FieldInput } from '@proj-airi/ui'
const props = defineProps<{
placeholder?: string
@@ -1,7 +1,7 @@
<script setup lang="ts">
import { ref } from 'vue'
import Collapsable from '../Collapsable.vue'
import Collapsable from '../Misc/Collapsable.vue'
const props = defineProps<{
title?: string
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { FieldInput } from '@proj-airi/ui/Form'
import { FieldInput } from '@proj-airi/ui'
import { computed } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { FieldInput } from '@proj-airi/ui/Form'
import { FieldInput } from '@proj-airi/ui'
const props = defineProps<{
placeholder?: string
@@ -1,7 +1,7 @@
<script setup lang="ts">
import type { VoiceInfo } from '../../stores'
import { FieldCheckbox } from '@proj-airi/ui/Form'
import { FieldCheckbox } from '@proj-airi/ui'
import { onUnmounted, ref, watch } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -1,4 +1,5 @@
<script setup lang="ts">
import { TransitionVertical } from '@proj-airi/ui'
import { storeToRefs } from 'pinia'
import { ref } from 'vue'
import { useI18n } from 'vue-i18n'
@@ -7,7 +8,6 @@ import { useSettings } from '../../stores'
import Live2DCanvas from '../Live2D/Canvas.vue'
import Live2DModel from '../Live2D/Model.vue'
import Screen from '../Screen.vue'
import TransitionVertical from '../TransitionVertical.vue'
import '../../utils/live2d-zip-loader'
withDefaults(defineProps<{
@@ -1,13 +1,13 @@
<script setup lang="ts">
import { TransitionVertical } from '@proj-airi/ui'
import { OrbitControls } from '@tresjs/cientos'
import { TresCanvas } from '@tresjs/core'
import { ref } from 'vue'
import { useI18n } from 'vue-i18n'
import Collapsable from '../Collapsable.vue'
import DataGuiRange from '../DataGui/Range.vue'
import Collapsable from '../Misc/Collapsable.vue'
import Screen from '../Screen.vue'
import TransitionVertical from '../TransitionVertical.vue'
import VRMModel from '../VRM/Model.vue'
const props = defineProps<{
@@ -0,0 +1,2 @@
export { default as SceneLive2D } from './Live2D.vue'
export { default as SceneVRM } from './VRM.vue'
@@ -1,5 +1,5 @@
<script setup lang="ts">
import Collapsable from '../Collapsable.vue'
import Collapsable from '../Misc/Collapsable.vue'
withDefaults(defineProps<{
title: string
@@ -0,0 +1 @@
export { default as VRMModel } from './Model.vue'
@@ -0,0 +1 @@
export { default as WidgetStage } from './Stage.vue'
+4 -8
View File
@@ -1,17 +1,13 @@
export * from './Button'
export { default as Collapsable } from './Collapsable.vue'
export * from './Gadgets'
export * from './Graphics'
export * from './Layouts'
export { default as Live2DCanvas } from './Live2D/Canvas.vue'
export { default as Live2DModel } from './Live2D/Model.vue'
export * from './Live2D'
export * from './Menu'
export * from './Misc'
export * from './Physics'
export * from './Providers'
export { default as SceneLive2D } from './Scenes/Live2D.vue'
export { default as SceneVRM } from './Scenes/VRM.vue'
export * from './Scenes'
export * from './Section'
export { default as TransitionVertical } from './TransitionVertical.vue'
export { default as VRMModel } from './VRM/Model.vue'
export { default as WidgetStage } from './Widgets/Stage.vue'
export * from './VRM'
export * from './Widgets'
@@ -1,7 +1,7 @@
<template>
<Story
title="Mono"
group="typography"
title="Typography Mono"
group="design-system"
:layout="{ type: 'grid', width: 500 }"
>
<Variant title="Mono">
@@ -1,7 +1,7 @@
<template>
<Story
title="Sans"
group="typography"
title="Typography Sans"
group="design-system"
:layout="{ type: 'grid', width: 500 }"
>
<Variant title="Sans">
+18 -2
View File
@@ -8,6 +8,14 @@
],
"module": "ESNext",
"moduleResolution": "Bundler",
"paths": {
"@proj-airi/ui": [
"../../packages/ui/src/index.ts"
],
"@proj-airi/ui/*": [
"../../packages/ui/src/*"
]
},
"resolveJsonModule": true,
"types": [
"vitest",
@@ -32,8 +40,16 @@
},
"include": [
"env.d.ts",
"**/*.vue",
"**/*.story.vue"
"src/**/*.ts",
"src/**/*.d.ts",
"src/**/*.mts",
"src/**/*.vue",
"src/**/*.story.vue",
"stories/**/*.ts",
"stories/**/*.d.ts",
"stories/**/*.mts",
"stories/**/*.vue",
"stories/**/*.story.vue"
],
"exclude": [
"dist",
+6 -1
View File
@@ -1,4 +1,4 @@
import { join } from 'node:path'
import { join, resolve } from 'node:path'
import vue from '@vitejs/plugin-vue'
import Unocss from 'unocss/vite'
import { defineConfig } from 'vite'
@@ -10,6 +10,11 @@ export default defineConfig({
allow: [join('..', '..')],
},
},
resolve: {
alias: {
'@proj-airi/ui': resolve(join(import.meta.dirname, '..', '..', 'packages', 'ui', 'src')),
},
},
plugins: [
vue(),
Unocss(),
+10 -7
View File
@@ -2,7 +2,7 @@
"name": "@proj-airi/ui",
"type": "module",
"private": true,
"description": "A collection of UI components that used by Project Airi",
"description": "A collection of UI components that used by Project AIRI",
"author": {
"name": "Neko Ayaka",
"email": "neko@ayaka.moe",
@@ -19,9 +19,13 @@
"types": "./dist/index.d.ts",
"import": "./dist/index.mjs"
},
"./Form": {
"types": "./dist/Form/index.d.ts",
"import": "./dist/Form/index.mjs"
"./components/animations": {
"types": "./dist/components/Animations/index.d.ts",
"import": "./dist/components/Animations/index.mjs"
},
"./components/form": {
"types": "./dist/components/Form/index.d.ts",
"import": "./dist/components/Form/index.mjs"
}
},
"scripts": {
@@ -31,13 +35,12 @@
"typecheck": "vue-tsc --noEmit"
},
"dependencies": {
"@proj-airi/stage-ui": "workspace:*",
"@vueuse/core": "^13.1.0",
"reka-ui": "^2.2.0",
"vue": "^3.5.13"
},
"devDependencies": {
"@unocss/reset": "^66.1.0-beta.12",
"@vitejs/plugin-vue": "^5.2.3",
"@vue-macros/volar": "3.0.0-beta.8",
"vue-tsc": "^3.0.0-alpha.4"
}
}
-3
View File
@@ -1,3 +0,0 @@
export { default as Radio } from './Radio.vue'
export { default as RadioCardDetail } from './RadioCardDetail.vue'
export { default as RadioCardSimple } from './RadioCardSimple.vue'
-9
View File
@@ -1,9 +0,0 @@
export * from './Checkbox'
export * from './Field'
export * from './Input'
export * from './Radio'
export { default as RadioCardDetailManySelect } from './RadioCardDetailManySelect.vue'
export * from './Range'
export * from './Textarea'
export { default as VoiceCard } from './VoiceCard.vue'
export { default as VoiceCardManySelect } from './VoiceCardManySelect.vue'
@@ -0,0 +1 @@
export { default as TransitionVertical } from './TransitionVertical.vue'
@@ -0,0 +1 @@
export { default as Radio } from './Radio.vue'
+6
View File
@@ -0,0 +1,6 @@
export * from './Checkbox'
export * from './Field'
export * from './Input'
export * from './Radio'
export * from './Range'
export * from './Textarea'
+2 -1
View File
@@ -1 +1,2 @@
export * from './Form'
export * from './components/Animations'
export * from './components/Form'
+4 -4
View File
@@ -10,7 +10,6 @@
"moduleResolution": "Bundler",
"resolveJsonModule": true,
"types": [
"vitest",
"vite/client"
],
"allowJs": true,
@@ -31,9 +30,10 @@
]
},
"include": [
"env.d.ts",
"**/*.vue",
"**/*.story.vue"
"src/**/*.ts",
"src/**/*.d.ts",
"src/**/*.mts",
"src/**/*.vue"
],
"exclude": [
"dist",
-37
View File
@@ -1,37 +0,0 @@
import {
defineConfig,
presetAttributify,
presetIcons,
presetTypography,
presetWebFonts,
presetWind3,
transformerDirectives,
transformerVariantGroup,
} from 'unocss'
export default defineConfig({
presets: [
presetWind3(),
presetAttributify(),
presetTypography(),
presetWebFonts({
fonts: {
sans: 'DM Sans',
serif: 'DM Serif Display',
mono: 'DM Mono',
},
timeouts: {
warning: 5000,
failure: 10000,
},
}),
presetIcons({
scale: 1.2,
}),
],
transformers: [
transformerDirectives(),
transformerVariantGroup(),
],
safelist: 'prose prose-sm m-auto text-left'.split(' '),
})

Some files were not shown because too many files have changed in this diff Show More