76
76
<ScrollContainer
77
77
v-if =" showReasoning"
78
78
ref =" scrollContainerRef"
79
- containerClass =" overscroll-auto"
80
- :class =" ['wrap-anywhere pl-6 border-[#AEB5BD] overflow-auto', showClampedReasoning ? 'h-[3.3em] leading-[1.5em]' : '']"
79
+ :containerClass =" classNames('overscroll-auto overflow-auto transition-height duration-200 [interpolate-size:allow-keywords] wrap-anywhere pl-6', showClampedReasoning ? 'h-[3.3em] leading-[1.5em]' : 'h-auto')"
81
80
:arrivalShadow =" {
82
81
top: { color: '#F5F6FB', size: 12, offset: 8 },
83
82
bottom: { color: '#F5F6FB', size: 12, offset: 8 }
@@ -137,6 +136,7 @@ import ScrollContainer from '@/components/ScrollContainer.vue'
137
136
import Text from ' @/components/ui/Text.vue'
138
137
import { AgentMessageV1 , AssistantMessageV1 } from ' @/types/chat'
139
138
import { getUserConfig } from ' @/utils/user-config'
139
+ import { classNames } from ' @/utils/vue/utils'
140
140
const props = defineProps <{
141
141
message: AssistantMessageV1 | AgentMessageV1
142
142
}>()
@@ -153,7 +153,7 @@ const { t } = useI18n()
153
153
const userConfig = await getUserConfig ()
154
154
const thinkingVisibility = userConfig .chat .thinkingVisibility .toRef ()
155
155
const expanded = ref (false )
156
- const scrollContainerRef = ref ()
156
+ const scrollContainerRef = ref < InstanceType < typeof ScrollContainer >> ()
157
157
158
158
// Helper computed properties for cleaner logic
159
159
const isThinking = computed (() => ! message .value .content && ! message .value .done )
0 commit comments