@@ -4,9 +4,12 @@ import React from 'react';
44
55import { MAX_QUERY_SIZE } from './constants' ;
66import type { DocSearchProps } from './DocSearch' ;
7+ import type { FooterTranslations } from './Footer' ;
78import { Footer } from './Footer' ;
89import { Hit } from './Hit' ;
10+ import type { ScreenStateTranslations } from './ScreenState' ;
911import { ScreenState } from './ScreenState' ;
12+ import type { SearchBoxTranslations } from './SearchBox' ;
1013import { SearchBox } from './SearchBox' ;
1114import { createStoredSearches } from './stored-searches' ;
1215import type {
@@ -19,10 +22,17 @@ import { useTouchEvents } from './useTouchEvents';
1922import { useTrapFocus } from './useTrapFocus' ;
2023import { groupBy , identity , noop , removeHighlightTags } from './utils' ;
2124
22- export interface DocSearchModalProps extends DocSearchProps {
25+ export type ModalTranslations = Partial < {
26+ searchBox : SearchBoxTranslations ;
27+ footer : FooterTranslations ;
28+ } > &
29+ ScreenStateTranslations ;
30+
31+ export type DocSearchModalProps = DocSearchProps & {
2332 initialScrollY : number ;
2433 onClose ?: ( ) => void ;
25- }
34+ translations ?: ModalTranslations ;
35+ } ;
2636
2737export function DocSearchModal ( {
2838 appId = 'BH4D9OD16A' ,
@@ -39,7 +49,13 @@ export function DocSearchModal({
3949 transformSearchClient = identity ,
4050 disableUserPersonalization = false ,
4151 initialQuery : initialQueryFromProp = '' ,
52+ translations = { } ,
4253} : DocSearchModalProps ) {
54+ const {
55+ footer : footerTranslations ,
56+ searchBox : searchBoxTranslations ,
57+ ...screenStateTranslations
58+ } = translations ;
4359 const [ state , setState ] = React . useState <
4460 AutocompleteState < InternalDocSearchHit >
4561 > ( {
@@ -127,7 +143,6 @@ export function DocSearchModal({
127143 onStateChange ( props ) {
128144 setState ( props . state ) ;
129145 } ,
130-
131146 getSources ( { query, state : sourcesState , setContext, setStatus } ) {
132147 if ( ! query ) {
133148 if ( disableUserPersonalization ) {
@@ -397,6 +412,7 @@ export function DocSearchModal({
397412 Boolean ( initialQuery ) &&
398413 initialQuery === initialQueryFromSelection
399414 }
415+ translations = { searchBoxTranslations }
400416 onClose = { onClose }
401417 />
402418 </ header >
@@ -412,6 +428,7 @@ export function DocSearchModal({
412428 recentSearches = { recentSearches }
413429 favoriteSearches = { favoriteSearches }
414430 inputRef = { inputRef }
431+ translations = { screenStateTranslations }
415432 onItemClick = { ( item ) => {
416433 saveRecentSearch ( item ) ;
417434 onClose ( ) ;
@@ -420,7 +437,7 @@ export function DocSearchModal({
420437 </ div >
421438
422439 < footer className = "DocSearch-Footer" >
423- < Footer />
440+ < Footer translations = { footerTranslations } />
424441 </ footer >
425442 </ div >
426443 </ div >
0 commit comments