@@ -122,24 +122,20 @@ export const LanguagePicker = defineComponent<LanguagePickerProps>({
122
122
if ( triggerRef . value && triggerRef . value . contains ( target ) ) return
123
123
124
124
const picker = pickerRef . value
125
- if ( ! picker ) return
125
+ const trigger = triggerRef . value
126
+ if ( ! trigger || ! picker ) return
126
127
127
- if ( picker . dataset . expanded !== 'true' ) return
128
+ if ( trigger . dataset . expanded !== 'true' ) return
128
129
129
130
if ( ! picker . contains ( target ) ) showPicker . value = false
130
131
}
131
132
132
- const host = computed ( ( ) => {
133
- if ( ! triggerRef . value ) return null
134
- return triggerRef . value . closest < HTMLElement > ( '.milkdown-code-block' )
135
- } )
136
-
137
133
onMounted ( ( ) => {
138
- host . value ? .addEventListener ( 'click' , clickHandler )
134
+ window . addEventListener ( 'click' , clickHandler )
139
135
} )
140
136
141
137
onUnmounted ( ( ) => {
142
- host . value ? .removeEventListener ( 'click' , clickHandler )
138
+ window . removeEventListener ( 'click' , clickHandler )
143
139
} )
144
140
145
141
return ( ) => {
@@ -150,19 +146,15 @@ export const LanguagePicker = defineComponent<LanguagePickerProps>({
150
146
type = "button"
151
147
ref = { triggerRef }
152
148
class = "language-button"
153
- onPointerdown = { onTogglePicker }
154
- data-expanded = { showPicker . value }
149
+ onClick = { onTogglePicker }
150
+ data-expanded = { String ( showPicker . value ) }
155
151
>
156
152
{ language . value || 'Text' }
157
153
< div class = "expand-icon" >
158
154
< Icon icon = { config . expandIcon ( ) } />
159
155
</ div >
160
156
</ button >
161
- < div
162
- ref = { pickerRef }
163
- data-expanded = { showPicker . value }
164
- class = "language-picker"
165
- >
157
+ < div ref = { pickerRef } class = "language-picker" >
166
158
{ showPicker . value ? (
167
159
< div class = "list-wrapper" >
168
160
< div class = "search-box" >
0 commit comments