@@ -35,7 +35,7 @@ export interface ContentSearchItem extends Omit<LinkProps, 'custom'>, CommandPal
3535 icon? : IconProps [' name' ]
3636}
3737
38- export interface ContentSearchProps <T extends ContentSearchLink = ContentSearchLink > extends /* @vue-ignore */ Pick <ModalProps , ' title' | ' description' | ' overlay' | ' transition' | ' content' | ' dismissible' | ' fullscreen' | ' modal' | ' portal' > {
38+ export interface ContentSearchProps <T extends ContentSearchLink = ContentSearchLink > extends Pick <ModalProps , ' title' | ' description' | ' overlay' | ' transition' | ' content' | ' dismissible' | ' fullscreen' | ' modal' | ' portal' > {
3939 /**
4040 * The icon displayed in the input.
4141 * @defaultValue appConfig.ui.icons.search
@@ -120,7 +120,8 @@ import UCommandPalette from '../CommandPalette.vue'
120120const props = withDefaults (defineProps <ContentSearchProps <T >>(), {
121121 shortcut: ' meta_k' ,
122122 colorMode: true ,
123- close: true
123+ close: true ,
124+ fullscreen: false
124125})
125126const slots = defineSlots <ContentSearchSlots >()
126127
@@ -133,6 +134,7 @@ const colorMode = useColorMode()
133134const appConfig = useAppConfig () as ContentSearch [' AppConfig' ]
134135
135136const commandPaletteProps = useForwardProps (reactivePick (props , ' icon' , ' placeholder' , ' autofocus' , ' loading' , ' loadingIcon' , ' close' , ' closeIcon' ))
137+ const modalProps = useForwardProps (reactivePick (props , ' overlay' , ' transition' , ' content' , ' dismissible' , ' fullscreen' , ' modal' , ' portal' ))
136138
137139const getProxySlots = () => omit (slots , [' content' ])
138140
@@ -142,8 +144,9 @@ const fuse = computed(() => defu({}, props.fuse, {
142144 }
143145}))
144146
145- // eslint-disable-next-line vue/no-dupe-keys
146- const ui = computed (() => tv ({ extend: tv (theme ), ... (appConfig .ui ?.contentSearch || {}) })())
147+ const ui = computed (() => tv ({ extend: tv (theme ), ... (appConfig .ui ?.contentSearch || {}) })({
148+ fullscreen: props .fullscreen
149+ }))
147150
148151function mapLinksItems(links : T []): ContentSearchItem [] {
149152 return links .flatMap (link => [{
@@ -267,8 +270,9 @@ defineExpose({
267270<template >
268271 <UModal
269272 v-model:open =" open"
270- :title =" t('contentSearch.title')"
271- :description =" t('contentSearch.description')"
273+ :title =" title || t('contentSearch.title')"
274+ :description =" description || t('contentSearch.description')"
275+ v-bind =" modalProps"
272276 :class =" ui.modal({ class: [props.ui?.modal, props.class] })"
273277 >
274278 <template #content >
0 commit comments